@colijnit/sharedcomponents 258.1.3 → 258.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +50 -11
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.metadata.json +1 -1
  4. package/esm2015/lib/components/activity-list/activity-list.component.js +18 -2
  5. package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js +23 -3
  6. package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +44 -6
  7. package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +5 -2
  8. package/esm2015/lib/components/stock/stock.component.js +4 -1
  9. package/esm2015/lib/res/dictionary/dictionaries.js +5 -5
  10. package/fesm2015/colijnit-sharedcomponents.js +93 -13
  11. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  12. package/lib/components/activity-list/activity-list.component.d.ts +3 -0
  13. package/lib/components/activity-list/style/_layout.scss +18 -5
  14. package/lib/components/activity-overview-component/component-activity-overview.component.d.ts +3 -0
  15. package/lib/components/activity-overview-component/style/_layout.scss +41 -2
  16. package/lib/components/stock/components/order-tab/order-tab.component.d.ts +3 -0
  17. package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +1 -0
  18. package/lib/components/stock/stock.component.d.ts +1 -0
  19. package/lib/components/stock/style/_layout.scss +37 -1
  20. package/lib/res/dictionary/dictionaries.d.ts +67 -0
  21. package/package.json +1 -1
  22. package/358.645812766f7a400d0d38.js +0 -1
  23. package/3rdpartylicenses.txt +0 -2222
  24. package/863.171601b3075f2e971ba6.js +0 -1
  25. package/977.bd6291f9ee6f6ddf91f1.js +0 -1
  26. package/favicon.ico +0 -0
  27. package/index.html +0 -12
  28. package/main.40213c24ad994dd29dc7.js +0 -1
  29. package/polyfills.907fe9d1887c5de17993.js +0 -1
  30. package/runtime.f3719d23058f5b07c143.js +0 -1
  31. package/styles.9e6f1ab393c5fc104896.css +0 -1
@@ -20,6 +20,7 @@ export class ActivityListComponent {
20
20
  this.workIcon = Icon.PersonDiggingRegular;
21
21
  this.statusIcon = Icon.DiagramProjectRegular;
22
22
  this.taskIcon = Icon.Task;
23
+ this.activityColorMap = new Map();
23
24
  }
24
25
  showClass() {
25
26
  return true;
@@ -108,6 +109,18 @@ export class ActivityListComponent {
108
109
  this.showActivityPopup = true;
109
110
  this.currentActivityDocuments = activity.documents;
110
111
  }
112
+ getRandomColor() {
113
+ const r = Math.floor(180 + Math.random() * 75); // 180–255
114
+ const g = Math.floor(180 + Math.random() * 75);
115
+ const b = Math.floor(180 + Math.random() * 75);
116
+ return `rgb(${r},${g},${b})`;
117
+ }
118
+ getColorForActivity(activity) {
119
+ if (!this.activityColorMap.has(activity)) {
120
+ this.activityColorMap.set(activity, this.getRandomColor());
121
+ }
122
+ return this.activityColorMap.get(activity);
123
+ }
111
124
  }
112
125
  ActivityListComponent.decorators = [
113
126
  { type: Component, args: [{
@@ -119,10 +132,13 @@ ActivityListComponent.decorators = [
119
132
  <div class="activity-display-title">
120
133
  <span>{{activity.author && (activity.author.initials || activity.author.familyName) ? (activity.author.initials || '') + ' ' + (activity.author.familyName || '') : ''}}</span>
121
134
  <span>{{getDateString(activity.lastActionDateTime)}}</span>
122
- <co-icon [iconData]="iconCacheService.getIcon(getActivityIcon(activity))"></co-icon>
123
135
  </div>
124
136
  <div class="activity-display-content" [class.customer-reply-content]="(getRelationKind(activity.author) === RelationKind.Customer)">
125
137
  <div class="activity-display-body">
138
+ <div class="activity-icon" [ngStyle]="{'background-color': getColorForActivity(activity)}">
139
+ <co-icon [iconData]="iconCacheService.getIcon(getActivityIcon(activity))"></co-icon>
140
+ </div>
141
+
126
142
  <span *ngIf="activity.activityType !== ActivityType.StateChange">{{activity.subDescription}}</span>
127
143
  <span *ngIf="activity.activityType === ActivityType.StateChange">{{activity.activityTitle}}</span>
128
144
  </div>
@@ -173,4 +189,4 @@ ActivityListComponent.propDecorators = {
173
189
  taskIcon: [{ type: Input }],
174
190
  hidden: [{ type: HostBinding, args: ['class.co-shared-hidden',] }]
175
191
  };
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0L2FjdGl2aXR5LWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFVBQVUsRUFDckIsV0FBVyxFQUNYLEtBQUssRUFFTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUVoRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUduRSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUN6RyxPQUFPLEVBQ0wsOENBQThDLEVBRS9DLE1BQU0sOEJBQThCLENBQUM7QUFtRHRDLE1BQU0sT0FBTyxxQkFBcUI7SUFrRGhDLFlBQW1CLGdCQUFrQyxFQUNqQyxrQkFBcUQ7UUFEdEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1DO1FBbER6RCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQW9CL0IsZUFBVSxHQUFTLElBQUksQ0FBQyxjQUFj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SUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZFLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDakM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxRQUFrQjtRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQ3JELENBQUM7OztZQXZMRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLDhDQUE4Qzt3QkFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztxQkFDckQ7aUJBQ0Y7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTNETyxnQkFBZ0I7WUFLaEIsaUNBQWlDOzs7d0JBNkR0QyxXQUFXLFNBQUMsd0JBQXdCO3lCQUtwQyxLQUFLO3lCQVlMLEtBQUs7dUJBR0wsS0FBSzt5QkFHTCxLQUFLO3VCQUdMLEtBQUs7cUJBSUwsV0FBVyxTQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LCBmb3J3YXJkUmVmLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uS2luZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2VudW0vcmVsYXRpb24ta2luZC5lbnVtXCI7XHJcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS5ib1wiO1xyXG5pbXBvcnQge0FjdGl2aXR5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vYWN0aXZpdHktdHlwZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0FMTF9NT05USFN9IGZyb20gXCIuLi8uLi9tb2RlbC9jb25zdGFudC9hbGwtbW9udGhzXCI7XHJcbmltcG9ydCB7VGltZVV0aWxzfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvdXRpbHMvdGltZS11dGlsc1wiO1xyXG5pbXBvcnQge1JlbGF0aW9uU21hbGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1zbWFsbC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICBTY3JlZW5Db25maWdBZGFwdGVyQ29tcG9uZW50XHJcbn0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWFjdGl2aXR5LWxpc3RcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWxpc3Qtd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktd3JhcHBlclwiIFtjbGFzcy5jdXN0b21lci1yZXBseS13cmFwcGVyXT1cIihnZXRSZWxhdGlvbktpbmQoYWN0aXZpdHkuYXV0aG9yKSA9PT0gUmVsYXRpb25LaW5kLkN1c3RvbWVyKVwiICpuZ0Zvcj1cImxldCBhY3Rpdml0eSBvZiBhY3Rpdml0aWVzXCIgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1kaXNwbGF5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktZGlzcGxheS10aXRsZVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57e2FjdGl2aXR5LmF1dGhvciAmJiAoYWN0aXZpdHkuYXV0aG9yLmluaXRpYWxzIHx8IGFjdGl2aXR5LmF1dGhvci5mYW1pbHlOYW1lKSA/IChhY3Rpdml0eS5hdXRob3IuaW5pdGlhbHMgfHwgJycpICsgJyAnICsgKGFjdGl2aXR5LmF1dGhvci5mYW1pbHlOYW1lIHx8ICcnKSA6ICcnfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7Z2V0RGF0ZVN0cmluZyhhY3Rpdml0eS5sYXN0QWN0aW9uRGF0ZVRpbWUpfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oZ2V0QWN0aXZpdHlJY29uKGFjdGl2aXR5KSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1kaXNwbGF5LWNvbnRlbnRcIiBbY2xhc3MuY3VzdG9tZXItcmVwbHktY29udGVudF09XCIoZ2V0UmVsYXRpb25LaW5kKGFjdGl2aXR5LmF1dGhvcikgPT09IFJlbGF0aW9uS2luZC5DdXN0b21lcilcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXktYm9keVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aXZpdHkuYWN0aXZpdHlUeXBlICE9PSBBY3Rpdml0eVR5cGUuU3RhdGVDaGFuZ2VcIj57e2FjdGl2aXR5LnN1YkRlc2NyaXB0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPT09IEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZVwiPnt7YWN0aXZpdHkuYWN0aXZpdHlUaXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXktZm9vdGVyXCIgW2NsYXNzLmV4dHJhLWhlaWdodF09XCJzaG93VHJpZ2dlcnMoYWN0aXZpdHkpIHx8IHNob3dBdHRhY2htZW50cyhhY3Rpdml0eSkgfHwgc2hvd1dvcmtlZFRpbWUoYWN0aXZpdHkpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWZpcmVkLXRyaWdnZXJzXCIgKm5nSWY9XCJzaG93VHJpZ2dlcnMoYWN0aXZpdHkpXCIgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWZpcmVkLXRyaWdnZXJcIiAqbmdGb3I9XCJsZXQgdHJpZ2dlck5hbWUgb2YgYWN0aXZpdHkuc3RhdGVDaGFuZ2U/LmZpcmVkVHJpZ2dlck5hbWVzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7dHJpZ2dlck5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWluZGljYXRvcnNcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0F0dGFjaG1lbnRzKGFjdGl2aXR5KVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oSWNvbi5QYXBlcmNsaXBSZWd1bGFyKVwiIChjbGljayk9XCJvcGVuQWN0aXZpdHlQb3B1cChhY3Rpdml0eSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInNob3dFbWFpbEhpc3RvcnkoYWN0aXZpdHkpXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihJY29uLkVtYWlsUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dBdHRhY2htZW50cyhhY3Rpdml0eSlcIj57e2FjdGl2aXR5LmRvY3VtZW50cy5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd1dvcmtlZFRpbWUoYWN0aXZpdHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oSWNvbi5DbG9ja1JlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93V29ya2VkVGltZShhY3Rpdml0eSlcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAge3tUaW1lVXRpbHMuQ29udmVydFRvRHVyYXRpb24oZ2V0V29ya2VkVGltZShhY3Rpdml0eSkpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd0FjdGl2aXR5UG9wdXBcIiAoY2xvc2VDbGljayk9XCJzaG93QWN0aXZpdHlQb3B1cCA9IGZhbHNlXCI+XHJcbiAgICAgIDxjby1maWxlcy11cGxvYWQgW2NhbkFkZF09XCJmYWxzZVwiICBbZG9jdW1lbnRzXT1cImN1cnJlbnRBY3Rpdml0eURvY3VtZW50c1wiPlxyXG4gICAgICA8L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFjdGl2aXR5TGlzdENvbXBvbmVudClcclxuICAgIH1cclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgU2NyZWVuQ29uZmlnQWRhcHRlckNvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQ7XHJcbiAgcHVibGljIHJlYWRvbmx5IEFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgVGltZVV0aWxzID0gVGltZVV0aWxzO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1hY3Rpdml0eS1saXN0XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFjdGl2aXRpZXModmFsdWU6IEFjdGl2aXR5W10pIHtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHZhbHVlLnNvcnQoKGE6IEFjdGl2aXR5LCBiOiBBY3Rpdml0eSkgPT4gYS5sYXN0QWN0aW9uRGF0ZVRpbWUgPCBiLmxhc3RBY3Rpb25EYXRlVGltZSA/IDE6IC0xKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2FjdGl2aXRpZXMgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWN0aXZpdGllcygpOiBBY3Rpdml0eVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0aWVzO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVtYXJrSWNvbjogSWNvbiA9IEljb24uQ29tbWVudFJlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdvcmtJY29uOiBJY29uID0gSWNvbi5QZXJzb25EaWdnaW5nUmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhdHVzSWNvbjogSWNvbiA9IEljb24uRGlhZ3JhbVByb2plY3RSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YXNrSWNvbjogSWNvbiA9IEljb24uVGFzaztcclxuXHJcbiAgcHVibGljIG9iamVjdENvbmZpZ05hbWU6IHN0cmluZztcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNoYXJlZC1oaWRkZW4nKVxyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcclxuICBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXI7XHJcbiAgcHVibGljIGRlY2ltYWxzOiBudW1iZXI7XHJcbiAgcHVibGljIHJlZEVycm9yQmFja2dyb3VuZDogYm9vbGVhbjtcclxuXHJcbiAgcHVibGljIHNob3dBY3Rpdml0eVBvcHVwOiBCb29sZWFuO1xyXG4gIHB1YmxpYyBjdXJyZW50QWN0aXZpdHlEb2N1bWVudHM6IENvRG9jdW1lbnRbXTtcclxuXHJcbiAgcHJpdmF0ZSBfYWN0aXZpdGllczogQWN0aXZpdHlbXVxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogU2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UmVsYXRpb25LaW5kKGF1dGhvcjogUmVsYXRpb25TbWFsbE9iamVjdCk6IFJlbGF0aW9uS2luZCB7XHJcbiAgICBpZiAoYXV0aG9yKSB7XHJcbiAgICAgIHJldHVybiBhdXRob3IucmVsYXRpb25UeXBlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXREYXRlU3RyaW5nKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChBTExfTU9OVEhTW2RhdGUuZ2V0TW9udGgoKV0pO1xyXG4gICAgY29uc3QgaG91cnMgPSBkYXRlLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gICAgY29uc3QgbWludXRlcyA9IGRhdGUuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIHJldHVybiBgJHtkYXl9ICR7bW9udGh9ICR7aG91cnN9OiR7bWludXRlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFjdGl2aXR5SWNvbihhY3Rpdml0eTogQWN0aXZpdHkpOiBJY29uIHtcclxuICAgIHN3aXRjaCAoYWN0aXZpdHkuYWN0aXZpdHlUeXBlKSB7XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlJlbWFyazpcclxuICAgICAgICByZXR1cm4gdGhpcy5yZW1hcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1N0YXR1czpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29yazpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29ya2Zsb3dUYXNrOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Gb3JtOlxyXG4gICAgICAgIHJldHVybiB0aGlzLndvcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZTpcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0dXNJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5UYXNrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tJY29uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dUcmlnZ2VycyhhY3Rpdml0eTogQWN0aXZpdHkpOiBib29sZWFuIHtcclxuICAgIGlmIChhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPT09IEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZSAmJiBhY3Rpdml0eS5zdGF0ZUNoYW5nZS5maXJlZFRyaWdnZXJOYW1lcyAmJlxyXG4gICAgICAgICAgICAgICAgICBhY3Rpdml0eS5zdGF0ZUNoYW5nZS5maXJlZFRyaWdnZXJOYW1lcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0F0dGFjaG1lbnRzKGFjdGl2aXR5OiBBY3Rpdml0eSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGFjdGl2aXR5LmRvY3VtZW50cyAmJiBhY3Rpdml0eS5kb2N1bWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dFbWFpbEhpc3RvcnkoYWN0aXZpdHk6IEFjdGl2aXR5KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoKGFjdGl2aXR5LnJlbWFyayAmJiBhY3Rpdml0eS5yZW1hcmsuZW1haWxIaXN0b3J5ICYmIGFjdGl2aXR5LnJlbWFyay5lbWFpbEhpc3RvcnkubGVuZ3RoID4gMCkgfHxcclxuICAgICAgICAoYWN0aXZpdHkud29yayAmJiBhY3Rpdml0eS53b3JrLmVtYWlsSGlzdG9yeSAmJiBhY3Rpdml0eS53b3JrLmVtYWlsSGlzdG9yeS5sZW5ndGggPiAwKSB8fFxyXG4gICAgICAgIChhY3Rpdml0eS50YXNrICYmIGFjdGl2aXR5LnRhc2suZW1haWxIaXN0b3J5ICYmIGFjdGl2aXR5LnRhc2suZW1haWxIaXN0b3J5Lmxlbmd0aCA+IDApKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1dvcmtlZFRpbWUoYWN0aXZpdHk6IEFjdGl2aXR5KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoKGFjdGl2aXR5LklzV29yayAmJiBhY3Rpdml0eS53b3JrICYmIGFjdGl2aXR5Lndvcmsud29ya2VkVGltZSkgfHxcclxuICAgICAgKGFjdGl2aXR5LklzVGFzayAmJiBhY3Rpdml0eS50YXNrICYmIGFjdGl2aXR5LnRhc2sud29ya2VkVGltZSkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0V29ya2VkVGltZShhY3Rpdml0eTogQWN0aXZpdHkpOiBudW1iZXIge1xyXG4gICAgaWYgKGFjdGl2aXR5LklzV29yayAmJiBhY3Rpdml0eS53b3JrICYmIGFjdGl2aXR5Lndvcmsud29ya2VkVGltZSkge1xyXG4gICAgICByZXR1cm4gYWN0aXZpdHkud29yay53b3JrZWRUaW1lO1xyXG4gICAgfSBlbHNlIGlmIChhY3Rpdml0eS5Jc1Rhc2sgJiYgYWN0aXZpdHkudGFzayAmJiBhY3Rpdml0eS50YXNrLndvcmtlZFRpbWUpIHtcclxuICAgICAgcmV0dXJuIGFjdGl2aXR5LnRhc2sud29ya2VkVGltZTtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5BY3Rpdml0eVBvcHVwKGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93QWN0aXZpdHlQb3B1cCA9IHRydWU7XHJcbiAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eURvY3VtZW50cyA9IGFjdGl2aXR5LmRvY3VtZW50cztcclxuICB9XHJcbn1cclxuIl19
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0L2FjdGl2aXR5LWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFVBQVUsRUFDckIsV0FBVyxFQUNYLEtBQUssRUFFTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUVoRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUduRSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUN6RyxPQUFPLEVBQ0wsOENBQThDLEVBRS9DLE1BQU0sOEJBQThCLENBQUM7QUFzRHRDLE1BQU0sT0FBTyxxQkFBcUI7SUFtRGhDLFlBQW1CLGdCQUFrQyxFQUNqQyxrQkFBcUQ7UUFEdEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1DO1FBbkR6RCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQW9CL0IsZUFBVSxHQUFTLElBQUksQ0FBQyxjQUFj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QUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNUO2dCQUNELFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsOENBQThDO3dCQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO3FCQUNyRDtpQkFDRjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBOURPLGdCQUFnQjtZQUtoQixpQ0FBaUM7Ozt3QkFnRXRDLFdBQVcsU0FBQyx3QkFBd0I7eUJBS3BDLEtBQUs7eUJBWUwsS0FBSzt1QkFHTCxLQUFLO3lCQUdMLEtBQUs7dUJBR0wsS0FBSztxQkFJTCxXQUFXLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW1cIjtcclxuaW1wb3J0IHtBY3Rpdml0eX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9hY3Rpdml0eS10eXBlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QUxMX01PTlRIU30gZnJvbSBcIi4uLy4uL21vZGVsL2NvbnN0YW50L2FsbC1tb250aHNcIjtcclxuaW1wb3J0IHtUaW1lVXRpbHN9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC91dGlscy90aW1lLXV0aWxzXCI7XHJcbmltcG9ydCB7UmVsYXRpb25TbWFsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXNtYWxsLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnRcclxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tYWN0aXZpdHktbGlzdFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktbGlzdC13cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS13cmFwcGVyXCIgW2NsYXNzLmN1c3RvbWVyLXJlcGx5LXdyYXBwZXJdPVwiKGdldFJlbGF0aW9uS2luZChhY3Rpdml0eS5hdXRob3IpID09PSBSZWxhdGlvbktpbmQuQ3VzdG9tZXIpXCIgKm5nRm9yPVwibGV0IGFjdGl2aXR5IG9mIGFjdGl2aXRpZXNcIiA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1kaXNwbGF5LXRpdGxlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7YWN0aXZpdHkuYXV0aG9yICYmIChhY3Rpdml0eS5hdXRob3IuaW5pdGlhbHMgfHwgYWN0aXZpdHkuYXV0aG9yLmZhbWlseU5hbWUpID8gKGFjdGl2aXR5LmF1dGhvci5pbml0aWFscyB8fCAnJykgKyAnICcgKyAoYWN0aXZpdHkuYXV0aG9yLmZhbWlseU5hbWUgfHwgJycpIDogJyd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3tnZXREYXRlU3RyaW5nKGFjdGl2aXR5Lmxhc3RBY3Rpb25EYXRlVGltZSl9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXktY29udGVudFwiIFtjbGFzcy5jdXN0b21lci1yZXBseS1jb250ZW50XT1cIihnZXRSZWxhdGlvbktpbmQoYWN0aXZpdHkuYXV0aG9yKSA9PT0gUmVsYXRpb25LaW5kLkN1c3RvbWVyKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktZGlzcGxheS1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWljb25cIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBnZXRDb2xvckZvckFjdGl2aXR5KGFjdGl2aXR5KX1cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oZ2V0QWN0aXZpdHlJY29uKGFjdGl2aXR5KSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aXZpdHkuYWN0aXZpdHlUeXBlICE9PSBBY3Rpdml0eVR5cGUuU3RhdGVDaGFuZ2VcIj57e2FjdGl2aXR5LnN1YkRlc2NyaXB0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPT09IEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZVwiPnt7YWN0aXZpdHkuYWN0aXZpdHlUaXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXktZm9vdGVyXCIgW2NsYXNzLmV4dHJhLWhlaWdodF09XCJzaG93VHJpZ2dlcnMoYWN0aXZpdHkpIHx8IHNob3dBdHRhY2htZW50cyhhY3Rpdml0eSkgfHwgc2hvd1dvcmtlZFRpbWUoYWN0aXZpdHkpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWZpcmVkLXRyaWdnZXJzXCIgKm5nSWY9XCJzaG93VHJpZ2dlcnMoYWN0aXZpdHkpXCIgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWZpcmVkLXRyaWdnZXJcIiAqbmdGb3I9XCJsZXQgdHJpZ2dlck5hbWUgb2YgYWN0aXZpdHkuc3RhdGVDaGFuZ2U/LmZpcmVkVHJpZ2dlck5hbWVzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7dHJpZ2dlck5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWluZGljYXRvcnNcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0F0dGFjaG1lbnRzKGFjdGl2aXR5KVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oSWNvbi5QYXBlcmNsaXBSZWd1bGFyKVwiIChjbGljayk9XCJvcGVuQWN0aXZpdHlQb3B1cChhY3Rpdml0eSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInNob3dFbWFpbEhpc3RvcnkoYWN0aXZpdHkpXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihJY29uLkVtYWlsUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dBdHRhY2htZW50cyhhY3Rpdml0eSlcIj57e2FjdGl2aXR5LmRvY3VtZW50cy5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd1dvcmtlZFRpbWUoYWN0aXZpdHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oSWNvbi5DbG9ja1JlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93V29ya2VkVGltZShhY3Rpdml0eSlcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAge3tUaW1lVXRpbHMuQ29udmVydFRvRHVyYXRpb24oZ2V0V29ya2VkVGltZShhY3Rpdml0eSkpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd0FjdGl2aXR5UG9wdXBcIiAoY2xvc2VDbGljayk9XCJzaG93QWN0aXZpdHlQb3B1cCA9IGZhbHNlXCI+XHJcbiAgICAgIDxjby1maWxlcy11cGxvYWQgW2NhbkFkZF09XCJmYWxzZVwiICBbZG9jdW1lbnRzXT1cImN1cnJlbnRBY3Rpdml0eURvY3VtZW50c1wiPlxyXG4gICAgICA8L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFjdGl2aXR5TGlzdENvbXBvbmVudClcclxuICAgIH1cclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgU2NyZWVuQ29uZmlnQWRhcHRlckNvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQ7XHJcbiAgcHVibGljIHJlYWRvbmx5IEFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgVGltZVV0aWxzID0gVGltZVV0aWxzO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1hY3Rpdml0eS1saXN0XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFjdGl2aXRpZXModmFsdWU6IEFjdGl2aXR5W10pIHtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHZhbHVlLnNvcnQoKGE6IEFjdGl2aXR5LCBiOiBBY3Rpdml0eSkgPT4gYS5sYXN0QWN0aW9uRGF0ZVRpbWUgPCBiLmxhc3RBY3Rpb25EYXRlVGltZSA/IDE6IC0xKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2FjdGl2aXRpZXMgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWN0aXZpdGllcygpOiBBY3Rpdml0eVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0aWVzO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVtYXJrSWNvbjogSWNvbiA9IEljb24uQ29tbWVudFJlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdvcmtJY29uOiBJY29uID0gSWNvbi5QZXJzb25EaWdnaW5nUmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhdHVzSWNvbjogSWNvbiA9IEljb24uRGlhZ3JhbVByb2plY3RSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YXNrSWNvbjogSWNvbiA9IEljb24uVGFzaztcclxuXHJcbiAgcHVibGljIG9iamVjdENvbmZpZ05hbWU6IHN0cmluZztcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNoYXJlZC1oaWRkZW4nKVxyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcclxuICBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXI7XHJcbiAgcHVibGljIGRlY2ltYWxzOiBudW1iZXI7XHJcbiAgcHVibGljIHJlZEVycm9yQmFja2dyb3VuZDogYm9vbGVhbjtcclxuXHJcbiAgcHVibGljIHNob3dBY3Rpdml0eVBvcHVwOiBCb29sZWFuO1xyXG4gIHB1YmxpYyBjdXJyZW50QWN0aXZpdHlEb2N1bWVudHM6IENvRG9jdW1lbnRbXTtcclxuXHJcbiAgcHJpdmF0ZSBfYWN0aXZpdGllczogQWN0aXZpdHlbXVxyXG4gIHByaXZhdGUgYWN0aXZpdHlDb2xvck1hcDogTWFwPEFjdGl2aXR5LCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogU2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UmVsYXRpb25LaW5kKGF1dGhvcjogUmVsYXRpb25TbWFsbE9iamVjdCk6IFJlbGF0aW9uS2luZCB7XHJcbiAgICBpZiAoYXV0aG9yKSB7XHJcbiAgICAgIHJldHVybiBhdXRob3IucmVsYXRpb25UeXBlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXREYXRlU3RyaW5nKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChBTExfTU9OVEhTW2RhdGUuZ2V0TW9udGgoKV0pO1xyXG4gICAgY29uc3QgaG91cnMgPSBkYXRlLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gICAgY29uc3QgbWludXRlcyA9IGRhdGUuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIHJldHVybiBgJHtkYXl9ICR7bW9udGh9ICR7aG91cnN9OiR7bWludXRlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFjdGl2aXR5SWNvbihhY3Rpdml0eTogQWN0aXZpdHkpOiBJY29uIHtcclxuICAgIHN3aXRjaCAoYWN0aXZpdHkuYWN0aXZpdHlUeXBlKSB7XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlJlbWFyazpcclxuICAgICAgICByZXR1cm4gdGhpcy5yZW1hcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1N0YXR1czpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29yazpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29ya2Zsb3dUYXNrOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Gb3JtOlxyXG4gICAgICAgIHJldHVybiB0aGlzLndvcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZTpcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0dXNJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5UYXNrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tJY29uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dUcmlnZ2VycyhhY3Rpdml0eTogQWN0aXZpdHkpOiBib29sZWFuIHtcclxuICAgIGlmIChhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPT09IEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZSAmJiBhY3Rpdml0eS5zdGF0ZUNoYW5nZS5maXJlZFRyaWdnZXJOYW1lcyAmJlxyXG4gICAgICAgICAgICAgICAgICBhY3Rpdml0eS5zdGF0ZUNoYW5nZS5maXJlZFRyaWdnZXJOYW1lcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0F0dGFjaG1lbnRzKGFjdGl2aXR5OiBBY3Rpdml0eSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGFjdGl2aXR5LmRvY3VtZW50cyAmJiBhY3Rpdml0eS5kb2N1bWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dFbWFpbEhpc3RvcnkoYWN0aXZpdHk6IEFjdGl2aXR5KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoKGFjdGl2aXR5LnJlbWFyayAmJiBhY3Rpdml0eS5yZW1hcmsuZW1haWxIaXN0b3J5ICYmIGFjdGl2aXR5LnJlbWFyay5lbWFpbEhpc3RvcnkubGVuZ3RoID4gMCkgfHxcclxuICAgICAgICAoYWN0aXZpdHkud29yayAmJiBhY3Rpdml0eS53b3JrLmVtYWlsSGlzdG9yeSAmJiBhY3Rpdml0eS53b3JrLmVtYWlsSGlzdG9yeS5sZW5ndGggPiAwKSB8fFxyXG4gICAgICAgIChhY3Rpdml0eS50YXNrICYmIGFjdGl2aXR5LnRhc2suZW1haWxIaXN0b3J5ICYmIGFjdGl2aXR5LnRhc2suZW1haWxIaXN0b3J5Lmxlbmd0aCA+IDApKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1dvcmtlZFRpbWUoYWN0aXZpdHk6IEFjdGl2aXR5KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoKGFjdGl2aXR5LklzV29yayAmJiBhY3Rpdml0eS53b3JrICYmIGFjdGl2aXR5Lndvcmsud29ya2VkVGltZSkgfHxcclxuICAgICAgKGFjdGl2aXR5LklzVGFzayAmJiBhY3Rpdml0eS50YXNrICYmIGFjdGl2aXR5LnRhc2sud29ya2VkVGltZSkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0V29ya2VkVGltZShhY3Rpdml0eTogQWN0aXZpdHkpOiBudW1iZXIge1xyXG4gICAgaWYgKGFjdGl2aXR5LklzV29yayAmJiBhY3Rpdml0eS53b3JrICYmIGFjdGl2aXR5Lndvcmsud29ya2VkVGltZSkge1xyXG4gICAgICByZXR1cm4gYWN0aXZpdHkud29yay53b3JrZWRUaW1lO1xyXG4gICAgfSBlbHNlIGlmIChhY3Rpdml0eS5Jc1Rhc2sgJiYgYWN0aXZpdHkudGFzayAmJiBhY3Rpdml0eS50YXNrLndvcmtlZFRpbWUpIHtcclxuICAgICAgcmV0dXJuIGFjdGl2aXR5LnRhc2sud29ya2VkVGltZTtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5BY3Rpdml0eVBvcHVwKGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93QWN0aXZpdHlQb3B1cCA9IHRydWU7XHJcbiAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eURvY3VtZW50cyA9IGFjdGl2aXR5LmRvY3VtZW50cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRSYW5kb21Db2xvcigpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgciA9IE1hdGguZmxvb3IoMTgwICsgTWF0aC5yYW5kb20oKSAqIDc1KTsgLy8gMTgw4oCTMjU1XHJcbiAgICBjb25zdCBnID0gTWF0aC5mbG9vcigxODAgKyBNYXRoLnJhbmRvbSgpICogNzUpO1xyXG4gICAgY29uc3QgYiA9IE1hdGguZmxvb3IoMTgwICsgTWF0aC5yYW5kb20oKSAqIDc1KTtcclxuICAgIHJldHVybiBgcmdiKCR7cn0sJHtnfSwke2J9KWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q29sb3JGb3JBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLmFjdGl2aXR5Q29sb3JNYXAuaGFzKGFjdGl2aXR5KSkge1xyXG4gICAgICB0aGlzLmFjdGl2aXR5Q29sb3JNYXAuc2V0KGFjdGl2aXR5LCB0aGlzLmdldFJhbmRvbUNvbG9yKCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlDb2xvck1hcC5nZXQoYWN0aXZpdHkpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -20,6 +20,7 @@ export class ComponentActivityOverviewComponent extends BaseActivityOverviewComp
20
20
  this.workIcon = Icon.PersonDiggingRegular;
21
21
  this.statusIcon = Icon.DiagramProjectRegular;
22
22
  this.taskIcon = Icon.ListUlRegular;
23
+ this.activityColorMap = new Map();
23
24
  }
24
25
  showClass() {
25
26
  return true;
@@ -40,6 +41,18 @@ export class ComponentActivityOverviewComponent extends BaseActivityOverviewComp
40
41
  return this.taskIcon;
41
42
  }
42
43
  }
44
+ getRandomColor() {
45
+ const r = Math.floor(180 + Math.random() * 75); // 180–255
46
+ const g = Math.floor(180 + Math.random() * 75);
47
+ const b = Math.floor(180 + Math.random() * 75);
48
+ return `rgb(${r},${g},${b})`;
49
+ }
50
+ getColorForActivity(activity) {
51
+ if (!this.activityColorMap.has(activity)) {
52
+ this.activityColorMap.set(activity, this.getRandomColor());
53
+ }
54
+ return this.activityColorMap.get(activity);
55
+ }
43
56
  }
44
57
  ComponentActivityOverviewComponent.decorators = [
45
58
  { type: Component, args: [{
@@ -49,9 +62,15 @@ ComponentActivityOverviewComponent.decorators = [
49
62
  <div class="overview-wrapper" *ngIf="!isTask">
50
63
  <div class="overview-current">
51
64
  <div class="overview-wrapper-icons">
65
+ <div class="activity-icon" [ngStyle]="{'background-color': getColorForActivity(activity)}">
66
+ <co-icon [iconData]="iconCacheService.getIcon(getActivityIcon(activity))"></co-icon>
67
+ </div>
68
+ <!-- dunno if this needs to be saved, but according to the latest designs not anymore
52
69
  <co-icon *ngIf="userIsSupervisor && (!isTask || firstTriggerToCloseWF === undefined)" icon="supervisor"
53
70
  class="supervisor-icon big dark"
54
71
  [title]="'MY_TASKS_SUPERVISOR' | sharedLocalize"></co-icon>
72
+
73
+ -->
55
74
  </div>
56
75
  <div class="overview-wrapper-labels">
57
76
  <div class="activity-label">
@@ -74,7 +93,6 @@ ComponentActivityOverviewComponent.decorators = [
74
93
  <div class="date-divider" [textContent]="'-'"></div>
75
94
  </ng-container>
76
95
  <div class="date" [textContent]="deadlineDate | date:'dd-MM-YYYY'"></div>
77
- <co-icon class="activity-type-icon"[iconData]="iconCacheService.getIcon(getActivityIcon(activity))"></co-icon>
78
96
  </div>
79
97
  </div>
80
98
  </div>
@@ -109,6 +127,9 @@ ComponentActivityOverviewComponent.decorators = [
109
127
  </div>
110
128
  </div>
111
129
  <div class="overview-task-wrapper" *ngIf="isTask" (click)="handleOpenLink($event)">
130
+ <div class="activity-icon" [ngStyle]="{'background-color': getColorForActivity(activity)}">
131
+ <co-icon [iconData]="iconCacheService.getIcon(icon.ListUlRegular)"></co-icon>
132
+ </div>
112
133
  <div class="task-box">
113
134
  <div class="task-current-state">
114
135
  <div class="activity-title" [textContent]="activityTitle"></div>
@@ -122,7 +143,6 @@ ComponentActivityOverviewComponent.decorators = [
122
143
  <div class="date-divider" [textContent]="'-'"></div>
123
144
  </ng-container>
124
145
  <div class="date" [textContent]="deadlineDate | date:'dd-MM-YYYY'"></div>
125
- <co-icon class="activity-type-icon"[iconData]="iconCacheService.getIcon(icon.ListUlRegular)"></co-icon>
126
146
  </div>
127
147
  </div>
128
148
  <ng-container *ngIf="isTask && firstTriggerToCloseWF !== undefined">
@@ -192,4 +212,4 @@ ComponentActivityOverviewComponent.propDecorators = {
192
212
  taskIcon: [{ type: Input }],
193
213
  showClass: [{ type: HostBinding, args: ["class.co-component-activity-overview",] }]
194
214
  };
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LW92ZXJ2aWV3LWNvbXBvbmVudC9jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsOENBQThDLEVBQy9DLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRTNELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQTJJekcsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLDZCQUE2QjtJQW1CbkYsWUFBbUIsZ0JBQWtDLEVBQ2xDLGFBQWdDLEVBQ2hDLGlCQUFvRCxFQUNqRCxhQUE0QjtJQUN0Qyx5QkFBeUI7UUFDbkMsS0FBSyxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLENBQUEsVUFBVSxDQUFD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cmRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBDb3JlRGlhbG9nU2VydmljZSxcclxuICBGb3JtTWFzdGVyU2VydmljZSxcclxuICBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FXHJcbn0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7QmFzZUFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYmFzZS1hY3Rpdml0eS1vdmVydmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXR5cGVcIjtcclxuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXdcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS10YXNrLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctd3JhcHBlclwiICpuZ0lmPVwiIWlzVGFza1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LWN1cnJlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXdyYXBwZXItaWNvbnNcIj5cclxuICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInVzZXJJc1N1cGVydmlzb3IgJiYgKCFpc1Rhc2sgfHwgZmlyc3RUcmlnZ2VyVG9DbG9zZVdGID09PSB1bmRlZmluZWQpXCIgaWNvbj1cInN1cGVydmlzb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VwZXJ2aXNvci1pY29uIGJpZyBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ01ZX1RBU0tTX1NVUEVSVklTT1InIHwgc2hhcmVkTG9jYWxpemVcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctd3JhcHBlci1sYWJlbHNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0NVUlJFTlRfU1RBVEUnIHwgc2hhcmVkTG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LXRpdGxlXCIgW3RleHRDb250ZW50XT1cImFjdGl2aXR5VGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tc2VlbXMgdW5lc3NlY2FyeSBmb3IgY3VycmVudCB1c2VjYXNlcywgYnV0IGxlZnQgaW4gY2FzZSB0aGlzIG5lZWRzIGFuIGlucHV0IHRvIHN3aXRjaCBvbiBvciBvZmYtLT5cclxuICAgICAgICAgICAgICA8IS0tPGRpdiBjbGFzcz1cImFjdGl2aXR5LWNvbnRleHQtdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiYWN0aXZpdHlDb250ZXh0VGl0bGVcIj48L2Rpdj4tLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy1tYWluXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1kYXRlLWFjdGl2aXR5XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidORVhUX1NUQVRFJyB8IHNoYXJlZExvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy13cmFwcGVyLWRhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXdyYXBwZXJcIiBbY2xhc3Mub3ZlcmR1ZV09XCJvdmVyRHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2FtZURhdGVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIiBbdGV4dENvbnRlbnRdPVwidGFyZ2V0RGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtZGl2aWRlclwiIFt0ZXh0Q29udGVudF09XCInLSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCIgW3RleHRDb250ZW50XT1cImRlYWRsaW5lRGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYWN0aXZpdHktdHlwZS1pY29uXCJbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGdldEFjdGl2aXR5SWNvbihhY3Rpdml0eSkpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwhLS1UT0RPIHJlaW5zdGF0ZSB0aGlzIHdoZW4gd2UgZmlndXJlIG91dCBob3cgdG8gdHJpZ2dlciBhIHNjcmVlbiBjaGFuZ2UuIC0tPlxyXG4gICAgICAgICAgICAgIDwhLS08bmctY29udGFpbmVyICpuZ0lmPVwidXJscyAmJiB1cmxzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbi1jb2xpam4gKm5nRm9yPVwibGV0IHVybCBvZiB1cmxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBidXR0b24tdHJpZ2dlci1pY29uIGFjdGlvbi1ob3ZlciBuby1tYXJnaW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uLkRldGFpbFZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ09QRU5fTElOSycgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImN1c3RvbSBzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPcGVuTGluaygkZXZlbnQsIHVybClcIj48L2J1dHRvbi1jb2xpam4+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+LS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1idXR0b25zXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1Rhc2sgJiYgaGFzVHJpZ2dlcnNcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiAgICAgY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBhY3Rpb24taG92ZXIgYnV0dG9uLXRyaWdnZXIgbm8tbWFyZ2luXCIgKm5nRm9yPVwibGV0IHRyaWdnZXIgb2Ygd29ya0Zsb3cubWFudWFsR2VuZXJpY1RyaWdnZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJ1dHRvbi10cmlnZ2VyLWljb25dPVwidHJpZ2dlci5pc1Rhc2tUcmlnZ2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInRyaWdnZXIudHJpZ2dlckJ1dHRvbk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwidHJpZ2dlci5pc1Rhc2tUcmlnZ2VyID8gaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uQWNjb3VudCk6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJjdXN0b20gc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlR2VuZXJpY1RyaWdnZXJDbGljayh0cmlnZ2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiAgICAgY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBhY3Rpb24taG92ZXIgYnV0dG9uLXRyaWdnZXIgbm8tbWFyZ2luXCIgKm5nRm9yPVwibGV0IHRyaWdnZXIgb2Ygd29ya0Zsb3cubWFudWFsVHJpZ2dlcnNXaXRob3V0VGFza1RyaWdnZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmhpZ2gtcHJpb109XCJ0cmlnZ2VyLm92ZXJEdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYnV0dG9uLXRyaWdnZXItaWNvbl09XCJ0cmlnZ2VyLmlzVGFza1RyaWdnZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHJpZ2dlci50cmlnZ2VyQnV0dG9uTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJ0cmlnZ2VyLmlzVGFza1RyaWdnZXIgPyBpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5EZXRhaWxWaWV3KTogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImN1c3RvbSBzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVUcmlnZ2VyQ2xpY2sodHJpZ2dlcilcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXRhc2std3JhcHBlclwiICpuZ0lmPVwiaXNUYXNrXCIgKGNsaWNrKT1cImhhbmRsZU9wZW5MaW5rKCRldmVudClcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YXNrLWJveFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFzay1jdXJyZW50LXN0YXRlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LXRpdGxlXCIgW3RleHRDb250ZW50XT1cImFjdGl2aXR5VGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tc2VlbXMgdW5lc3NlY2FyeSBmb3IgY3VycmVudCB1c2VjYXNlcywgYnV0IGxlZnQgaW4gY2FzZSB0aGlzIG5lZWRzIGFuIGlucHV0IHRvIHN3aXRjaCBvbiBvciBvZmYtLT5cclxuICAgICAgICAgICAgICA8IS0tPGRpdiBjbGFzcz1cImFjdGl2aXR5LWNvbnRleHQtdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiYWN0aXZpdHlDb250ZXh0VGl0bGVcIj48L2Rpdj4tLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy13cmFwcGVyLWRhdGVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS13cmFwcGVyXCIgW2NsYXNzLm92ZXJkdWVdPVwib3ZlckR1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzYW1lRGF0ZXNcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIiBbdGV4dENvbnRlbnRdPVwidGFyZ2V0RGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWRpdmlkZXJcIiBbdGV4dENvbnRlbnRdPVwiJy0nXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCIgW3RleHRDb250ZW50XT1cImRlYWRsaW5lRGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImFjdGl2aXR5LXR5cGUtaWNvblwiW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkxpc3RVbFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGFzayAmJiBmaXJzdFRyaWdnZXJUb0Nsb3NlV0YgIT09IHVuZGVmaW5lZFwiPlxyXG4gICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBidXR0b24tdHJpZ2dlciBuby1tYXJnaW5cIiBbbGFiZWxdPVwiZmlyc3RUcmlnZ2VyVG9DbG9zZVdGLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVCdXR0b25FbmRDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8IS0tbmctY29udGFpbmVyICpuZ0lmPVwib3BlbkJ1dHRvbkxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInRyYW5zLWdyZWVuIGRlZmF1bHQtYmcgY3VzdG9tLXRleHQgYnV0dG9uLXRyaWdnZXItaWNvbiBhY3Rpb24taG92ZXIgbm8tbWFyZ2luXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImN1c3RvbSBzbWFsbFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5EZXRhaWxWaWV3KVwiIFtsYWJlbF09XCJvcGVuQnV0dG9uTGFiZWwgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlT3BlbkxpbmsoJGV2ZW50KVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lci0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tVE9ETyByZWluc3RhdGUgdGhpcyB3aGVuIHdlIGZpZ3VyZSBvdXQgaG93IHRvIHRyaWdnZXIgYSBzY3JlZW4gY2hhbmdlLiAtLT5cclxuICAgICAgICA8IS0tIDxmb3JtYnVpbGRlci11c2VyLWZvcm0gKm5nSWY9XCJzaG93Q3JlYXRlRm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93UG9wdXBdPVwic2hvd0NyZWF0ZUZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFibGVdPVwidGFibGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5XT1cImtleVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuY2VsRm9ybSk9XCJkb0NhbmNlbEZvcm0oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzYXZlRm9ybSk9XCJkb1NhdmVGb3JtKCRldmVudClcIlxyXG4gICAgICAgID48L2Zvcm1idWlsZGVyLXVzZXItZm9ybT4tLT5cclxuICAgICAgICA8Y28tdGFzay1tb2RpZmllclxyXG4gICAgICAgICAgICAgICAgW3VzZXJHcm91cElkXT1cInVzZXJHcm91cElkXCJcclxuICAgICAgICAgICAgICAgIFtyZWxhdGlvbklkXT1cInVzZXJSZWxhdGlvbklkXCJcclxuICAgICAgICAgICAgICAgIChlZGl0aW5nQ29tcGxldGUpPVwib25TYXZlQWN0aXZpdHkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoYWN0aXZpdHlEZWxldGVkKT1cIm9uRGVsZXRlQWN0aXZpdHkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoc2hvd1dvcmtMb2cpPVwic2hvd1Rhc2tGb3JtQW5kV29ya0xvZygpXCJcclxuICAgICAgICAgICAgICAgICh0cmlnZ2VyRmlyZWQpPVwiaGFuZGxlRm9ybVRyaWdnZXJGaXJlZCgpXCJcclxuICAgICAgICA+PC9jby10YXNrLW1vZGlmaWVyPlxyXG5cclxuICAgIGAsXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcihcImZhZGVJbk91dFwiLCBbXHJcbiAgICAgICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe29wYWNpdHk6IDB9KSksXHJcbiAgICAgICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe29wYWNpdHk6IDF9KSksXHJcbiAgICAgICAgICB0cmFuc2l0aW9uKFwiOmVudGVyLCA6bGVhdmVcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKSxcclxuICAgICAgICBdKSxcclxuICAgICAgICB0cmlnZ2VyKFwic2hvd0hpZGVFeHRlbmRlZFwiLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7XCJ0cmFuc2Zvcm0tb3JpZ2luXCI6IFwidG9wIGNlbnRlclwiLCB0cmFuc2Zvcm06IFwic2NhbGVZKDApXCJ9KSksXHJcbiAgICAgICAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7XCJ0cmFuc2Zvcm0tb3JpZ2luXCI6IFwidG9wIGNlbnRlclwiLCB0cmFuc2Zvcm06IFwic2NhbGVZKDEpXCJ9KSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXIsIDpsZWF2ZVwiLCBbXHJcbiAgICAgICAgICAgICAgICBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIilcclxuICAgICAgICAgICAgXSlcclxuICAgICAgICBdKVxyXG4gICAgXSwgcHJvdmlkZXJzOiBbXHJcbiAgICBGb3JtTWFzdGVyU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50QWN0aXZpdHlPdmVydmlld0NvbXBvbmVudClcclxuICAgIH1cclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50QWN0aXZpdHlPdmVydmlld0NvbXBvbmVudCBleHRlbmRzIEJhc2VBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgSWNvbjogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZW1hcmtJY29uOiBJY29uID0gSWNvbi5Db21tZW50UmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgd29ya0ljb246IEljb24gPSBJY29uLlBlcnNvbkRpZ2dpbmdSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdGF0dXNJY29uOiBJY29uID0gSWNvbi5EaWFncmFtUHJvamVjdFJlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRhc2tJY29uOiBJY29uID0gSWNvbi5MaXN0VWxSZWd1bGFyO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXdcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBkaWFsb2dTZXJ2aWNlOiBDb3JlRGlhbG9nU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGljdGlvbmFyeVNlcnZpY2U6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICAgICAgICAgICAgIC8qcHVibGljIHJvdXRlcjogUm91dGVyKi8pIHtcclxuICAgIHN1cGVyKGRpYWxvZ1NlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCBzaGFyZWRTZXJ2aWNlLypyb3V0ZXIqLyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWN0aXZpdHlJY29uKGFjdGl2aXR5OiBBY3Rpdml0eSk6IEljb24ge1xyXG4gICAgc3dpdGNoIChhY3Rpdml0eS5hY3Rpdml0eVR5cGUpIHtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuUmVtYXJrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnJlbWFya0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLldvcmtmbG93U3RhdHVzOlxyXG4gICAgICAgIHJldHVybiB0aGlzLndvcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLndvcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Gb3JtOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1Rhc2s6XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlN0YXRlQ2hhbmdlOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1c0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlRhc2s6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0ljb247XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LW92ZXJ2aWV3LWNvbXBvbmVudC9jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsOENBQThDLEVBQy9DLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRTNELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQWtKekcsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLDZCQUE2QjtJQXNCbkYsWUFBbUIsZ0JBQWtDLEVBQ2xDLGFBQWdDLEVBQ2hDLGlCQUFvRCxFQUNqRCxhQUE0QjtJQUN0Qyx5QkFBeUI7UUFDbkMsS0FBSyxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLENBQUEsVUFBVSxDQUFDLENBQUM7UUFMaEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQztRQUNqRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXhCbEMsU0FBSSxHQUFnQixJQUFJLENBQUM7UUFHbEMsZUFBVSxHQUFTLElBQUksQ0FBQyxjQUFjLENBQUM7UUFHdkMsYUFBUSxHQUFTLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUczQyxlQUFVLEdBQVMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBRzlDLGFBQVEsR0FBUyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBT25DLHFCQUFnQixHQUEwQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBUTVELENBQUM7SUFaTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBWU0sZUFBZSxDQUFDLFFBQWtCO1FBQ3ZDLFFBQVEsUUFBUSxDQUFDLFlBQVksRUFBRTtZQUM3QixLQUFLLFlBQVksQ0FBQyxNQUFNO2dCQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDekIsS0FBSyxZQUFZLENBQUMsY0FBYztnQkFDOUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3ZCLEtBQUssWUFBWSxDQUFDLElBQUk7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN2QixLQUFLLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDdkIsS0FBSyxZQUFZLENBQUMsWUFBWSxDQUFDO1lBQy9CLEtBQUssWUFBWSxDQUFDLFdBQVc7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN6QixLQUFLLFlBQVksQ0FBQyxJQUFJO2dCQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU0sY0FBYztRQUNuQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVO1FBQzFELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0MsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDL0IsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFFBQWtCO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1NBQzVEO1FBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OztZQTFNRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztnQkFDMUMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXVIVDtnQkFDRCxVQUFVLEVBQUU7b0JBQ1IsT0FBTyxDQUFDLFdBQVcsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDbEMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDL0IsVUFBVSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3FCQUMzRCxDQUFDO29CQUNGLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTt3QkFDeEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7d0JBQ2hGLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUM3RSxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7NEJBQ3pCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDL0IsQ0FBQztxQkFDTCxDQUFDO2lCQUNMLEVBQUUsU0FBUyxFQUFFO29CQUNkLGlCQUFpQjtvQkFDakI7d0JBQ0UsT0FBTyxFQUFFLDhDQUE4Qzt3QkFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztxQkFDbEU7aUJBQ0Y7YUFDRjs7O1lBckpPLGdCQUFnQjtZQVB0QixpQkFBaUI7WUFXWCxpQ0FBaUM7WUFIakMsYUFBYTs7O3lCQXdKbEIsS0FBSzt1QkFHTCxLQUFLO3lCQUdMLEtBQUs7dUJBR0wsS0FBSzt3QkFHTCxXQUFXLFNBQUMsc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBDb3JlRGlhbG9nU2VydmljZSxcclxuICBGb3JtTWFzdGVyU2VydmljZSxcclxuICBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FXHJcbn0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7QmFzZUFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYmFzZS1hY3Rpdml0eS1vdmVydmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXR5cGVcIjtcclxuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXdcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS10YXNrLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctd3JhcHBlclwiICpuZ0lmPVwiIWlzVGFza1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LWN1cnJlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXdyYXBwZXItaWNvbnNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktaWNvblwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGdldENvbG9yRm9yQWN0aXZpdHkoYWN0aXZpdHkpfVwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihnZXRBY3Rpdml0eUljb24oYWN0aXZpdHkpKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tIGR1bm5vIGlmIHRoaXMgbmVlZHMgdG8gYmUgc2F2ZWQsIGJ1dCBhY2NvcmRpbmcgdG8gdGhlIGxhdGVzdCBkZXNpZ25zIG5vdCBhbnltb3JlXHJcbiAgICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJ1c2VySXNTdXBlcnZpc29yICYmICghaXNUYXNrIHx8IGZpcnN0VHJpZ2dlclRvQ2xvc2VXRiA9PT0gdW5kZWZpbmVkKVwiIGljb249XCJzdXBlcnZpc29yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cGVydmlzb3ItaWNvbiBiaWcgZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidNWV9UQVNLU19TVVBFUlZJU09SJyB8IHNoYXJlZExvY2FsaXplXCI+PC9jby1pY29uPlxyXG5cclxuICAgICAgICAgICAgICAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy13cmFwcGVyLWxhYmVsc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFt0ZXh0Q29udGVudF09XCInQ1VSUkVOVF9TVEFURScgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiYWN0aXZpdHlUaXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwhLS1zZWVtcyB1bmVzc2VjYXJ5IGZvciBjdXJyZW50IHVzZWNhc2VzLCBidXQgbGVmdCBpbiBjYXNlIHRoaXMgbmVlZHMgYW4gaW5wdXQgdG8gc3dpdGNoIG9uIG9yIG9mZi0tPlxyXG4gICAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPVwiYWN0aXZpdHktY29udGV4dC10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJhY3Rpdml0eUNvbnRleHRUaXRsZVwiPjwvZGl2Pi0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LW1haW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLWRhdGUtYWN0aXZpdHlcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ05FWFRfU1RBVEUnIHwgc2hhcmVkTG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXdyYXBwZXItZGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtd3JhcHBlclwiIFtjbGFzcy5vdmVyZHVlXT1cIm92ZXJEdWVcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzYW1lRGF0ZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiIFt0ZXh0Q29udGVudF09XCJ0YXJnZXREYXRlIHwgZGF0ZTonZGQtTU0tWVlZWSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1kaXZpZGVyXCIgW3RleHRDb250ZW50XT1cIictJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIiBbdGV4dENvbnRlbnRdPVwiZGVhZGxpbmVEYXRlIHwgZGF0ZTonZGQtTU0tWVlZWSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tVE9ETyByZWluc3RhdGUgdGhpcyB3aGVuIHdlIGZpZ3VyZSBvdXQgaG93IHRvIHRyaWdnZXIgYSBzY3JlZW4gY2hhbmdlLiAtLT5cclxuICAgICAgICAgICAgICA8IS0tPG5nLWNvbnRhaW5lciAqbmdJZj1cInVybHMgJiYgdXJscy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b24tY29saWpuICpuZ0Zvcj1cImxldCB1cmwgb2YgdXJsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJhbnMtZ3JlZW4gY3VzdG9tLXRleHQgYnV0dG9uLXRyaWdnZXItaWNvbiBhY3Rpb24taG92ZXIgbm8tbWFyZ2luXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbi5EZXRhaWxWaWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidPUEVOX0xJTksnIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJjdXN0b20gc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlT3BlbkxpbmsoJGV2ZW50LCB1cmwpXCI+PC9idXR0b24tY29saWpuPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPi0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktYnV0dG9uc1wiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUYXNrICYmIGhhc1RyaWdnZXJzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gICAgIGNsYXNzPVwidHJhbnMtZ3JlZW4gY3VzdG9tLXRleHQgYWN0aW9uLWhvdmVyIGJ1dHRvbi10cmlnZ2VyIG5vLW1hcmdpblwiICpuZ0Zvcj1cImxldCB0cmlnZ2VyIG9mIHdvcmtGbG93Lm1hbnVhbEdlbmVyaWNUcmlnZ2Vyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5idXR0b24tdHJpZ2dlci1pY29uXT1cInRyaWdnZXIuaXNUYXNrVHJpZ2dlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0cmlnZ2VyLnRyaWdnZXJCdXR0b25OYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cInRyaWdnZXIuaXNUYXNrVHJpZ2dlciA/IGljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkFjY291bnQpOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbkNsYXNzPVwiY3VzdG9tIHNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUdlbmVyaWNUcmlnZ2VyQ2xpY2sodHJpZ2dlcilcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gICAgIGNsYXNzPVwidHJhbnMtZ3JlZW4gY3VzdG9tLXRleHQgYWN0aW9uLWhvdmVyIGJ1dHRvbi10cmlnZ2VyIG5vLW1hcmdpblwiICpuZ0Zvcj1cImxldCB0cmlnZ2VyIG9mIHdvcmtGbG93Lm1hbnVhbFRyaWdnZXJzV2l0aG91dFRhc2tUcmlnZ2Vyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWdoLXByaW9dPVwidHJpZ2dlci5vdmVyRHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJ1dHRvbi10cmlnZ2VyLWljb25dPVwidHJpZ2dlci5pc1Rhc2tUcmlnZ2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInRyaWdnZXIudHJpZ2dlckJ1dHRvbk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwidHJpZ2dlci5pc1Rhc2tUcmlnZ2VyID8gaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uRGV0YWlsVmlldyk6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJjdXN0b20gc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlVHJpZ2dlckNsaWNrKHRyaWdnZXIpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy10YXNrLXdyYXBwZXJcIiAqbmdJZj1cImlzVGFza1wiIChjbGljayk9XCJoYW5kbGVPcGVuTGluaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktaWNvblwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGdldENvbG9yRm9yQWN0aXZpdHkoYWN0aXZpdHkpfVwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uTGlzdFVsUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YXNrLWJveFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFzay1jdXJyZW50LXN0YXRlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LXRpdGxlXCIgW3RleHRDb250ZW50XT1cImFjdGl2aXR5VGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tc2VlbXMgdW5lc3NlY2FyeSBmb3IgY3VycmVudCB1c2VjYXNlcywgYnV0IGxlZnQgaW4gY2FzZSB0aGlzIG5lZWRzIGFuIGlucHV0IHRvIHN3aXRjaCBvbiBvciBvZmYtLT5cclxuICAgICAgICAgICAgICA8IS0tPGRpdiBjbGFzcz1cImFjdGl2aXR5LWNvbnRleHQtdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiYWN0aXZpdHlDb250ZXh0VGl0bGVcIj48L2Rpdj4tLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy13cmFwcGVyLWRhdGVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS13cmFwcGVyXCIgW2NsYXNzLm92ZXJkdWVdPVwib3ZlckR1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzYW1lRGF0ZXNcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIiBbdGV4dENvbnRlbnRdPVwidGFyZ2V0RGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWRpdmlkZXJcIiBbdGV4dENvbnRlbnRdPVwiJy0nXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCIgW3RleHRDb250ZW50XT1cImRlYWRsaW5lRGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUYXNrICYmIGZpcnN0VHJpZ2dlclRvQ2xvc2VXRiAhPT0gdW5kZWZpbmVkXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInRyYW5zLWdyZWVuIGN1c3RvbS10ZXh0IGJ1dHRvbi10cmlnZ2VyIG5vLW1hcmdpblwiIFtsYWJlbF09XCJmaXJzdFRyaWdnZXJUb0Nsb3NlV0YuZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkVuZENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwhLS1uZy1jb250YWluZXIgKm5nSWY9XCJvcGVuQnV0dG9uTGFiZWxcIj5cclxuICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwidHJhbnMtZ3JlZW4gZGVmYXVsdC1iZyBjdXN0b20tdGV4dCBidXR0b24tdHJpZ2dlci1pY29uIGFjdGlvbi1ob3ZlciBuby1tYXJnaW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgaWNvbkNsYXNzPVwiY3VzdG9tIHNtYWxsXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkRldGFpbFZpZXcpXCIgW2xhYmVsXT1cIm9wZW5CdXR0b25MYWJlbCB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPcGVuTGluaygkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyLS0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS1UT0RPIHJlaW5zdGF0ZSB0aGlzIHdoZW4gd2UgZmlndXJlIG91dCBob3cgdG8gdHJpZ2dlciBhIHNjcmVlbiBjaGFuZ2UuIC0tPlxyXG4gICAgICAgIDwhLS0gPGZvcm1idWlsZGVyLXVzZXItZm9ybSAqbmdJZj1cInNob3dDcmVhdGVGb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dQb3B1cF09XCJzaG93Q3JlYXRlRm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJsZV09XCJ0YWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtrZXldPVwia2V5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYW5jZWxGb3JtKT1cImRvQ2FuY2VsRm9ybSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNhdmVGb3JtKT1cImRvU2F2ZUZvcm0oJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvZm9ybWJ1aWxkZXItdXNlci1mb3JtPi0tPlxyXG4gICAgICAgIDxjby10YXNrLW1vZGlmaWVyXHJcbiAgICAgICAgICAgICAgICBbdXNlckdyb3VwSWRdPVwidXNlckdyb3VwSWRcIlxyXG4gICAgICAgICAgICAgICAgW3JlbGF0aW9uSWRdPVwidXNlclJlbGF0aW9uSWRcIlxyXG4gICAgICAgICAgICAgICAgKGVkaXRpbmdDb21wbGV0ZSk9XCJvblNhdmVBY3Rpdml0eSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChhY3Rpdml0eURlbGV0ZWQpPVwib25EZWxldGVBY3Rpdml0eSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChzaG93V29ya0xvZyk9XCJzaG93VGFza0Zvcm1BbmRXb3JrTG9nKClcIlxyXG4gICAgICAgICAgICAgICAgKHRyaWdnZXJGaXJlZCk9XCJoYW5kbGVGb3JtVHJpZ2dlckZpcmVkKClcIlxyXG4gICAgICAgID48L2NvLXRhc2stbW9kaWZpZXI+XHJcblxyXG4gICAgYCxcclxuICAgIGFuaW1hdGlvbnM6IFtcclxuICAgICAgICB0cmlnZ2VyKFwiZmFkZUluT3V0XCIsIFtcclxuICAgICAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7b3BhY2l0eTogMH0pKSxcclxuICAgICAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7b3BhY2l0eTogMX0pKSxcclxuICAgICAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXIsIDpsZWF2ZVwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIHRyaWdnZXIoXCJzaG93SGlkZUV4dGVuZGVkXCIsIFtcclxuICAgICAgICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtcInRyYW5zZm9ybS1vcmlnaW5cIjogXCJ0b3AgY2VudGVyXCIsIHRyYW5zZm9ybTogXCJzY2FsZVkoMClcIn0pKSxcclxuICAgICAgICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtcInRyYW5zZm9ybS1vcmlnaW5cIjogXCJ0b3AgY2VudGVyXCIsIHRyYW5zZm9ybTogXCJzY2FsZVkoMSlcIn0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbihcIjplbnRlciwgOmxlYXZlXCIsIFtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKVxyXG4gICAgICAgICAgICBdKVxyXG4gICAgICAgIF0pXHJcbiAgICBdLCBwcm92aWRlcnM6IFtcclxuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50KVxyXG4gICAgfVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBJY29uOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlbWFya0ljb246IEljb24gPSBJY29uLkNvbW1lbnRSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3b3JrSWNvbjogSWNvbiA9IEljb24uUGVyc29uRGlnZ2luZ1JlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0YXR1c0ljb246IEljb24gPSBJY29uLkRpYWdyYW1Qcm9qZWN0UmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFza0ljb246IEljb24gPSBJY29uLkxpc3RVbFJlZ3VsYXI7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlld1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWN0aXZpdHlDb2xvck1hcDogTWFwPEFjdGl2aXR5LCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIGRpY3Rpb25hcnlTZXJ2aWNlOiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICAgICAgICAgICAgICAvKnB1YmxpYyByb3V0ZXI6IFJvdXRlciovKSB7XHJcbiAgICBzdXBlcihkaWFsb2dTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgc2hhcmVkU2VydmljZS8qcm91dGVyKi8pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFjdGl2aXR5SWNvbihhY3Rpdml0eTogQWN0aXZpdHkpOiBJY29uIHtcclxuICAgIHN3aXRjaCAoYWN0aXZpdHkuYWN0aXZpdHlUeXBlKSB7XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlJlbWFyazpcclxuICAgICAgICByZXR1cm4gdGhpcy5yZW1hcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1N0YXR1czpcclxuICAgICAgICByZXR1cm4gdGhpcy53b3JrSWNvbjtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29yazpcclxuICAgICAgICByZXR1cm4gdGhpcy53b3JrSWNvbjtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuRm9ybTpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29ya2Zsb3dUYXNrOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZTpcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0dXNJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5UYXNrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tJY29uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFJhbmRvbUNvbG9yKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCByID0gTWF0aC5mbG9vcigxODAgKyBNYXRoLnJhbmRvbSgpICogNzUpOyAvLyAxODDigJMyNTVcclxuICAgIGNvbnN0IGcgPSBNYXRoLmZsb29yKDE4MCArIE1hdGgucmFuZG9tKCkgKiA3NSk7XHJcbiAgICBjb25zdCBiID0gTWF0aC5mbG9vcigxODAgKyBNYXRoLnJhbmRvbSgpICogNzUpO1xyXG4gICAgcmV0dXJuIGByZ2IoJHtyfSwke2d9LCR7Yn0pYDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDb2xvckZvckFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuYWN0aXZpdHlDb2xvck1hcC5oYXMoYWN0aXZpdHkpKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZpdHlDb2xvck1hcC5zZXQoYWN0aXZpdHksIHRoaXMuZ2V0UmFuZG9tQ29sb3IoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eUNvbG9yTWFwLmdldChhY3Rpdml0eSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -18,6 +18,7 @@ export class OrderTabComponent extends BaseStockComponent {
18
18
  this.sendMethodDialogClicked = new EventEmitter();
19
19
  this.handleStickerClicked = new EventEmitter();
20
20
  this.showStockTransferChange = new EventEmitter();
21
+ this.handleTransactionClick = new EventEmitter();
21
22
  this.data = [];
22
23
  this.selectedRow = null;
23
24
  this.showSendMethodDialog = false;
@@ -47,6 +48,13 @@ export class OrderTabComponent extends BaseStockComponent {
47
48
  });
48
49
  });
49
50
  }
51
+ handleTransactionNavigationClick(event, transNr) {
52
+ event.stopPropagation();
53
+ this.handleTransactionNavigation(transNr);
54
+ }
55
+ handleTransactionNavigation(transNr) {
56
+ this.handleTransactionClick.emit(transNr);
57
+ }
50
58
  }
51
59
  OrderTabComponent.decorators = [
52
60
  { type: Component, args: [{
@@ -75,18 +83,47 @@ OrderTabComponent.decorators = [
75
83
  [rowsPerPage]="20"
76
84
  [showAdd]="false"
77
85
  [inlineEdit]="false"
86
+ [showGridSettings]="false"
87
+ [showColumnSort]="true"
78
88
  [showToolbar]="true"
79
89
  (selectRow)="onRowSelected($event)">
80
- <co-simple-grid-column [headerText]="'IN_ORDER' | sharedLocalize" [field]="'transactionNr'"></co-simple-grid-column>
90
+ <co-simple-grid-column [headerText]="'ORDER' | sharedLocalize" [field]="'transactionNr'">
91
+ <ng-template #template let-row="row">
92
+ <div class="double-data link">
93
+ <co-icon
94
+ [iconData]="iconCacheService.getIcon(icons.DetailView)"
95
+ (click)="handleTransactionNavigationClick($event, row.transactionNr.toString())"
96
+ ></co-icon>
97
+ <span
98
+ [textContent]="row.transactionNr"
99
+ (click)="handleTransactionNavigationClick($event, row.transactionNr.toString())">
100
+ </span>
101
+ </div>
102
+ </ng-template>
103
+ </co-simple-grid-column>
81
104
  <co-simple-grid-column [headerText]="'CUSTOMER' | sharedLocalize" [field]="'customerName'"></co-simple-grid-column>
82
- <co-simple-grid-column [headerText]="'DATE' | sharedLocalize">
105
+ <co-simple-grid-column [headerText]="'ORDER_DATE' | sharedLocalize" [field]="'transactionDate'">
83
106
  <ng-template #template let-row="row">
84
107
  <span [textContent]="row.transactionDate | date:'dd-MM-yyyy'"></span>
85
108
  </ng-template>
86
109
  </co-simple-grid-column>
110
+ <co-simple-grid-column [headerText]="'DELIVERY_DATE' | sharedLocalize" [field]="'deliveryDate'">
111
+ <ng-template #template let-row="row">
112
+ <span [textContent]="row.deliveryDate | date:'dd-MM-yyyy'"></span>
113
+ </ng-template>
114
+ </co-simple-grid-column>
115
+ <co-simple-grid-column [headerText]="'SERIAL_NO' | sharedLocalize" [field]="'serialNo'"></co-simple-grid-column>
116
+ <co-simple-grid-column [headerText]="'BATCH_NO' | sharedLocalize" [field]="'batchNo'"></co-simple-grid-column>
87
117
  <co-simple-grid-column [headerText]="'AMOUNT' | sharedLocalize" [field]="'amountInOrder'"></co-simple-grid-column>
88
- <co-simple-grid-column [headerText]="'WAREHOUSE' | sharedLocalize" [field]="'warehouseNumber'"></co-simple-grid-column>
89
- <co-simple-grid-column [headerText]="'DESCRIPTION' | sharedLocalize" [field]="'warehouseDescription'"></co-simple-grid-column>
118
+ <co-simple-grid-column [headerText]="'ALLOCATED' | sharedLocalize" [field]="'reserved'"></co-simple-grid-column>
119
+ <co-simple-grid-column [headerText]="'WAREHOUSE' | sharedLocalize" [field]="'warehouseNumber'">
120
+ <ng-template #template let-row="row">
121
+ <div class="double-data">
122
+ <span [textContent]="row.warehouseNumber"></span>
123
+ <span [textContent]="row.warehouseDescription"></span>
124
+ </div>
125
+ </ng-template>
126
+ </co-simple-grid-column>
90
127
  </co-simple-grid>
91
128
  <co-send-method-dialog *ngIf="showSendMethodDialog"
92
129
  (closeClick)="showSendMethodDialog = false">
@@ -108,6 +145,7 @@ OrderTabComponent.propDecorators = {
108
145
  transferIconClicked: [{ type: Output }],
109
146
  sendMethodDialogClicked: [{ type: Output }],
110
147
  handleStickerClicked: [{ type: Output }],
111
- showStockTransferChange: [{ type: Output }]
148
+ showStockTransferChange: [{ type: Output }],
149
+ handleTransactionClick: [{ type: Output }]
112
150
  };
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvb3JkZXItdGFiL29yZGVyLXRhYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUcvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQW1EeEYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQWtDdkQsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFIRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBbkNyQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUVuQyxtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFNckMsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFNMUIsb0JBQWUsR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFHMUUsd0JBQW1CLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdkUsNEJBQXVCLEdBQXFDLElBQUksWUFBWSxFQUFFLENBQUM7UUFHeEYseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUQsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUV6RCxTQUFJLEdBQTJCLEVBQUUsQ0FBQztRQUVsQyxnQkFBVyxHQUE0QixJQUFJLENBQUM7UUFFNUMseUJBQW9CLEdBQVksS0FBSyxDQUFDO0lBTzdDLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxJQUFJO1FBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDakMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sd0JBQXdCLENBQUMsS0FBdUI7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRU0sYUFBYSxDQUFDLEdBQXFCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxJQUFhO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ2UsT0FBTzs7WUFDckIsTUFBTSxXQUFXLEdBQXVCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUNqRSxXQUFXLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUN2QixXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xFLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBOzs7WUFoSEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF4RE8sZ0JBQWdCO1lBRWhCLFlBQVk7OztnQ0E0RGpCLEtBQUs7NEJBR0wsS0FBSzswQkFHTCxLQUFLOzhCQUdMLE1BQU07a0NBR04sTUFBTTtzQ0FHTixNQUFNO21DQUdOLE1BQU07c0NBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9jayBhcyBBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb24gYXMgQXJ0aWNsZVRyYW5zYWN0aW9uQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uLmJvXCI7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1wcmljZS1zdGlja2Vycy5ib1wiO1xyXG5pbXBvcnQge0Jhc2VTdG9ja0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vYmFzZS9iYXNlLXN0b2NrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QXJ0aWNsZVRyYW5zYWN0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uJztcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZUZsYXR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZsYXQuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLW9yZGVyLXRhYlwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic3RvY2stdHJhbnNmZXItd3JhcHBlclwiPlxyXG4gICAgICA8Y28tc3RvY2stdHJhbnNmZXIgKm5nSWY9XCJzaG93U3RvY2tUcmFuc2ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWRpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVRvVHJhbnNmZXJdPVwiYXJ0aWNsZURldGFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGhhbmRsZVN0aWNrZXJDbGlja2VkKT1cImhhbmRsZVN0aWNrZXJDbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsV2FyZWhvdXNlc109XCJhbGxXYXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzdG9ja0xvY2F0aW9uc109XCJzdG9ja0xvY2F0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZUZsYXRdPVwiYXJ0aWNsZUZsYXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTdG9ja1RyYW5zZmVyXT1cInNob3dTdG9ja1RyYW5zZmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChzaG93U3RvY2tUcmFuc2ZlckNoYW5nZSk9XCJvblNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgPC9jby1zdG9jay10cmFuc2Zlcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWFkZFwiPlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cInNlbGVjdGVkUm93XCIgY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UmlnaHRBcnJvd0xlZnRSZWd1bGFyKVwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soc2VsZWN0ZWRSb3cpXCI+PC9jby1pY29uPlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cInNlbGVjdGVkUm93XCIgY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNvbGlkQmFyY29kZVJlYWRUYWcpXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZW5kTWV0aG9kRGlhbG9nKHNlbGVjdGVkUm93KVwiPjwvY28taWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLXNpbXBsZS1ncmlkIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dBZGRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbmxpbmVFZGl0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd1Rvb2xiYXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFJvdyk9XCJvblJvd1NlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInSU5fT1JERVInIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ3RyYW5zYWN0aW9uTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0NVU1RPTUVSJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidjdXN0b21lck5hbWUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RBVEUnIHwgc2hhcmVkTG9jYWxpemVcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cudHJhbnNhY3Rpb25EYXRlIHwgZGF0ZTonZGQtTU0teXl5eSdcIj48L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FNT1VOVCcgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInYW1vdW50SW5PcmRlcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VOdW1iZXInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RFU0NSSVBUSU9OJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VEZXNjcmlwdGlvbidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgIDwvY28tc2ltcGxlLWdyaWQ+XHJcbiAgICA8Y28tc2VuZC1tZXRob2QtZGlhbG9nICpuZ0lmPVwic2hvd1NlbmRNZXRob2REaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlXCI+XHJcblxyXG4gICAgPC9jby1zZW5kLW1ldGhvZC1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmRlclRhYkNvbXBvbmVudCBleHRlbmRzIEJhc2VTdG9ja0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIHB1YmxpYyBzdG9ja0xvY2F0aW9uczogU3RvY2tMb2NhdGlvbltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dTdG9ja1RyYW5zZmVyOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxXYXJlaG91c2VzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlRmxhdDogQXJ0aWNsZUZsYXQ7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsb2NhdGlvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlU3RvY2tCbz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVTdG9ja0JvPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNmZXJJY29uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFydGljbGVTdG9ja0JvPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHNlbmRNZXRob2REaWFsb2dDbGlja2VkOiBFdmVudEVtaXR0ZXI8UHJpbnRQcmljZVN0aWNrZXJzPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZVN0aWNrZXJDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIHNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBwdWJsaWMgZGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uQm9bXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRSb3c6IEFydGljbGVEZXRhaWxzQm8gfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHM6IEFydGljbGVEZXRhaWxzQm87XHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblNlbmRNZXRob2REaWFsb2coZGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IHRydWU7XHJcbiAgICB0aGlzLnNlbmRNZXRob2REaWFsb2dDbGlja2VkLmVtaXQoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKGV2ZW50OiBBcnRpY2xlRGV0YWlsc0JvKTogdm9pZCB7XHJcbiAgICB0aGlzLmFydGljbGVEZXRhaWxzID0gZXZlbnQ7XHJcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblJvd1NlbGVjdGVkKHJvdzogQXJ0aWNsZURldGFpbHNCbyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFJvdyA9IHJvdztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlKHNob3c6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIgPSBzaG93O1xyXG4gICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlckNoYW5nZS5lbWl0KHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIpO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0RGF0YSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGluT3JkZXJEYXRhOiBBcnRpY2xlVHJhbnNhY3Rpb24gPSBuZXcgQXJ0aWNsZVRyYW5zYWN0aW9uKCk7XHJcbiAgICBpbk9yZGVyRGF0YS50eXBlID0gXCJWXCI7XHJcbiAgICBpbk9yZGVyRGF0YS5nb29kSWQgPSB0aGlzLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVUcmFuc2FjdGlvbihpbk9yZGVyRGF0YSkudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLmRhdGEgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvb3JkZXItdGFiL29yZGVyLXRhYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUcvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQWdGeEYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQXFDdkQsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFIRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBdENyQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUVuQyxtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFNckMsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFNMUIsb0JBQWUsR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFHMUUsd0JBQW1CLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdkUsNEJBQXVCLEdBQXFDLElBQUksWUFBWSxFQUFFLENBQUM7UUFHeEYseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUQsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUd6RCwyQkFBc0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvRCxTQUFJLEdBQTJCLEVBQUUsQ0FBQztRQUVsQyxnQkFBVyxHQUE0QixJQUFJLENBQUM7UUFFNUMseUJBQW9CLEdBQVksS0FBSyxDQUFDO0lBTzdDLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxJQUFJO1FBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDakMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sd0JBQXdCLENBQUMsS0FBdUI7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRU0sYUFBYSxDQUFDLEdBQXFCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxJQUFhO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ2UsT0FBTzs7WUFDckIsTUFBTSxXQUFXLEdBQXVCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUNqRSxXQUFXLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUN2QixXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xFLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBQ00sZ0NBQWdDLENBQUMsS0FBWSxFQUFFLE9BQWU7UUFDbkUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sMkJBQTJCLENBQUMsT0FBZTtRQUNoRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7OztZQXhKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNFVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBckZPLGdCQUFnQjtZQUVoQixZQUFZOzs7Z0NBeUZqQixLQUFLOzRCQUdMLEtBQUs7MEJBR0wsS0FBSzs4QkFHTCxNQUFNO2tDQUdOLE1BQU07c0NBR04sTUFBTTttQ0FHTixNQUFNO3NDQUdOLE1BQU07cUNBRU4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9jayBhcyBBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb24gYXMgQXJ0aWNsZVRyYW5zYWN0aW9uQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uLmJvXCI7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1wcmljZS1zdGlja2Vycy5ib1wiO1xyXG5pbXBvcnQge0Jhc2VTdG9ja0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vYmFzZS9iYXNlLXN0b2NrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QXJ0aWNsZVRyYW5zYWN0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uJztcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZUZsYXR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZsYXQuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLW9yZGVyLXRhYlwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic3RvY2stdHJhbnNmZXItd3JhcHBlclwiPlxyXG4gICAgICA8Y28tc3RvY2stdHJhbnNmZXIgKm5nSWY9XCJzaG93U3RvY2tUcmFuc2ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWRpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVRvVHJhbnNmZXJdPVwiYXJ0aWNsZURldGFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGhhbmRsZVN0aWNrZXJDbGlja2VkKT1cImhhbmRsZVN0aWNrZXJDbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsV2FyZWhvdXNlc109XCJhbGxXYXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzdG9ja0xvY2F0aW9uc109XCJzdG9ja0xvY2F0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZUZsYXRdPVwiYXJ0aWNsZUZsYXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTdG9ja1RyYW5zZmVyXT1cInNob3dTdG9ja1RyYW5zZmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChzaG93U3RvY2tUcmFuc2ZlckNoYW5nZSk9XCJvblNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgPC9jby1zdG9jay10cmFuc2Zlcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWFkZFwiPlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cInNlbGVjdGVkUm93XCIgY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UmlnaHRBcnJvd0xlZnRSZWd1bGFyKVwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soc2VsZWN0ZWRSb3cpXCI+PC9jby1pY29uPlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cInNlbGVjdGVkUm93XCIgY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNvbGlkQmFyY29kZVJlYWRUYWcpXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZW5kTWV0aG9kRGlhbG9nKHNlbGVjdGVkUm93KVwiPjwvY28taWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLXNpbXBsZS1ncmlkIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dBZGRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbmxpbmVFZGl0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd0dyaWRTZXR0aW5nc109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dDb2x1bW5Tb3J0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93VG9vbGJhcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0Um93KT1cIm9uUm93U2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidPUkRFUicgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCIndHJhbnNhY3Rpb25OcidcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb3VibGUtZGF0YSBsaW5rXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uXHJcbiAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5EZXRhaWxWaWV3KVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRyYW5zYWN0aW9uTmF2aWdhdGlvbkNsaWNrKCRldmVudCwgcm93LnRyYW5zYWN0aW9uTnIudG9TdHJpbmcoKSlcIlxyXG4gICAgICAgICAgICA+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJyb3cudHJhbnNhY3Rpb25OclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRyYW5zYWN0aW9uTmF2aWdhdGlvbkNsaWNrKCRldmVudCwgcm93LnRyYW5zYWN0aW9uTnIudG9TdHJpbmcoKSlcIj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0NVU1RPTUVSJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidjdXN0b21lck5hbWUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ09SREVSX0RBVEUnIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ3RyYW5zYWN0aW9uRGF0ZSdcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cudHJhbnNhY3Rpb25EYXRlIHwgZGF0ZTonZGQtTU0teXl5eSdcIj48L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RFTElWRVJZX0RBVEUnIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ2RlbGl2ZXJ5RGF0ZSdcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cuZGVsaXZlcnlEYXRlIHwgZGF0ZTonZGQtTU0teXl5eSdcIj48L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NFUklBTF9OTycgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInc2VyaWFsTm8nXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0JBVENIX05PJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidiYXRjaE5vJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBTU9VTlQnIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ2Ftb3VudEluT3JkZXInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FMTE9DQVRFRCcgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCIncmVzZXJ2ZWQnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1dBUkVIT1VTRScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInd2FyZWhvdXNlTnVtYmVyJ1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvdWJsZS1kYXRhXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cud2FyZWhvdXNlTnVtYmVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwicm93LndhcmVob3VzZURlc2NyaXB0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG4gICAgPGNvLXNlbmQtbWV0aG9kLWRpYWxvZyAqbmdJZj1cInNob3dTZW5kTWV0aG9kRGlhbG9nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZVwiPlxyXG5cclxuICAgIDwvY28tc2VuZC1tZXRob2QtZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3JkZXJUYWJDb21wb25lbnQgZXh0ZW5kcyBCYXNlU3RvY2tDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBwdWJsaWMgc3RvY2tMb2NhdGlvbnM6IFN0b2NrTG9jYXRpb25bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93U3RvY2tUcmFuc2ZlcjogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsV2FyZWhvdXNlczogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZUZsYXQ6IEFydGljbGVGbGF0O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbG9jYXRpb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZVN0b2NrQm8+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlU3RvY2tCbz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVySWNvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlU3RvY2tCbz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBzZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZDogRXZlbnRFbWl0dGVyPFByaW50UHJpY2VTdGlja2Vycz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBoYW5kbGVTdGlja2VyQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBzaG93U3RvY2tUcmFuc2ZlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZVRyYW5zYWN0aW9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgZGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uQm9bXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRSb3c6IEFydGljbGVEZXRhaWxzQm8gfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHM6IEFydGljbGVEZXRhaWxzQm87XHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuU2VuZE1ldGhvZERpYWxvZyhkYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQuZW1pdChkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soZXZlbnQ6IEFydGljbGVEZXRhaWxzQm8pOiB2b2lkIHtcclxuICAgIHRoaXMuYXJ0aWNsZURldGFpbHMgPSBldmVudDtcclxuICAgIHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUm93U2VsZWN0ZWQocm93OiBBcnRpY2xlRGV0YWlsc0JvKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUm93ID0gcm93O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2hvd1N0b2NrVHJhbnNmZXJDaGFuZ2Uoc2hvdzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlciA9IHNob3c7XHJcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlLmVtaXQodGhpcy5zaG93U3RvY2tUcmFuc2Zlcik7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBhc3luYyBnZXREYXRhKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgaW5PcmRlckRhdGE6IEFydGljbGVUcmFuc2FjdGlvbiA9IG5ldyBBcnRpY2xlVHJhbnNhY3Rpb24oKTtcclxuICAgIGluT3JkZXJEYXRhLnR5cGUgPSBcIlZcIjtcclxuICAgIGluT3JkZXJEYXRhLmdvb2RJZCA9IHRoaXMuZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZVRyYW5zYWN0aW9uKGluT3JkZXJEYXRhKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IHJlc3VsdDtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgaGFuZGxlVHJhbnNhY3Rpb25OYXZpZ2F0aW9uQ2xpY2soZXZlbnQ6IEV2ZW50LCB0cmFuc05yOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5oYW5kbGVUcmFuc2FjdGlvbk5hdmlnYXRpb24odHJhbnNOcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVHJhbnNhY3Rpb25OYXZpZ2F0aW9uKHRyYW5zTnI6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5oYW5kbGVUcmFuc2FjdGlvbkNsaWNrLmVtaXQodHJhbnNOcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -14,6 +14,7 @@ export class StockTabsComponent {
14
14
  this.warehouses = [];
15
15
  this.transferIconClicked = new EventEmitter();
16
16
  this.sendMethodDialogClicked = new EventEmitter();
17
+ this.handleTransactionClick = new EventEmitter();
17
18
  this.selectedWarehouse = new StockManagementWarehouses();
18
19
  this.tabs = [];
19
20
  this.historyTabs = [];
@@ -112,6 +113,7 @@ StockTabsComponent.decorators = [
112
113
  [goodId]="article.goodId"
113
114
  (transferIconClicked)="transferIconClicked.emit($event)"
114
115
  (sendMethodDialogClicked)="sendMethodDialogClicked.emit($event)"
116
+ (handleTransactionClick)="handleTransactionClick.emit($event)"
115
117
  ></co-order-tab>
116
118
 
117
119
  <co-order-stock-tab *ngIf="tabs[4].active"
@@ -154,6 +156,7 @@ StockTabsComponent.propDecorators = {
154
156
  showStockTransfer: [{ type: Input }],
155
157
  warehouses: [{ type: Input }],
156
158
  transferIconClicked: [{ type: Output }],
157
- sendMethodDialogClicked: [{ type: Output }]
159
+ sendMethodDialogClicked: [{ type: Output }],
160
+ handleTransactionClick: [{ type: Output }]
158
161
  };
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay10YWJzL3N0b2NrLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTdDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUkxRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUF3RTVHLE1BQU0sT0FBTyxrQkFBa0I7SUE0QjdCLFlBQ1UsYUFBMkIsRUFDM0Isa0JBQXFELEVBQ3JELGVBQWtDO1FBRmxDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUM7UUFDckQsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBOUI1QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBWXhDLGVBQVUsR0FBZ0MsRUFBRSxDQUFDO1FBR3BDLHdCQUFtQixHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3ZFLDRCQUF1QixHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhGLHNCQUFpQixHQUE4QixJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFDL0UsU0FBSSxHQUFVLEVBQUUsQ0FB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QUF1QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLHVCQUF1QixDQUFDLEtBQWdDO1FBQzdELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUFvQztRQUN0RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7OztZQWpLRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpRVQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTlFTyxZQUFZO1lBT1osaUNBQWlDO1lBVmpDLGlCQUFpQjs7OytCQXFGdEIsS0FBSztzQkFHTCxLQUFLOzBCQUdMLEtBQUs7Z0NBR0wsS0FBSzt5QkFHTCxLQUFLO2tDQUdMLE1BQU07c0NBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvJztcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZSc7XHJcbmltcG9ydCB7VGFifSBmcm9tICcuLi8uLi90YWItYmFyL3RhYi5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ibyc7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tICdAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXByaWNlLXN0aWNrZXJzLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0FydGljbGVGbGF0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZsYXQuYm8nO1xyXG5pbXBvcnQge1NoYXJlZENmZ05hbWV9IGZyb20gJy4uLy4uLy4uL2VudW0vc2hhcmVkLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLXRhYnNcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXRhYi1iYXIgW3dhcmVIb3VzZUxhYmVsXT1cIidDSE9JQ0VTJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgIFt3YXJlSG91c2VTZWFyY2hMYWJlbF09XCInU0VBUkNIJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgIFt0YWJzXT1cInRhYnNcIlxyXG4gICAgICAgICAgICAgICAgW2RhdGFXYXJlSG91c2VDb2RlXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkV2FyZWhvdXNlXT1cInNlbGVjdGVkV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgIFtzZWNvbmRhcnlUYWJzXT1cImhpc3RvcnlUYWJzXCJcclxuICAgICAgICAgICAgICAgIFtBY3RpdmF0ZVNlY29uZGFyeVRhYnNdPVwidGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgW3Nob3dXYXJlaG91c2VTZWxlY3Rpb25dPVwidGFic1sxXS5hY3RpdmUgfHwgdGFic1syXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgKHdhcmVob3VzZVNlbGVjdGVkKT1cImhhbmRsZVdhcmVob3VzZVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgPjwvY28tdGFiLWJhcj5cclxuXHJcbiAgICA8Y28tc3RvY2stdGFiICpuZ0lmPVwidGFic1swXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb25dPVwic3RvY2tJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgIChsb2NhdGlvbkNsaWNrZWQpPVwiaGFuZGxlTG9jYXRpb25DbGlja2VkKCRldmVudClcIlxyXG4gICAgPjwvY28tc3RvY2stdGFiPlxyXG5cclxuICAgIDxjby1zdG9jay1wcm9nbm9zZSAqbmdJZj1cInRhYnNbMV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2FyZWhvdXNlTm9dPVwic2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm9cIlxyXG4gICAgPjwvY28tc3RvY2stcHJvZ25vc2U+XHJcblxyXG4gICAgPGNvLXN0b2NrLWxvY2F0aW9uICpuZ0lmPVwidGFic1syXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tJbmZvcm1hdGlvbl09XCJzdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2FyZWhvdXNlTm9dPVwic2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlRmxhdF09XCJhcnRpY2xlRmxhdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFXYXJlSG91c2VDb2RlXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzaG93U3RvY2tUcmFuc2Zlcl09XCJzaG93U3RvY2tUcmFuc2ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkV2FyZWhvdXNlXT1cInNlbGVjdGVkV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAodHJhbnNmZXJJY29uQ2xpY2tlZCk9XCJ0cmFuc2Zlckljb25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNlbmRNZXRob2REaWFsb2dDbGlja2VkKT1cInNlbmRNZXRob2REaWFsb2dDbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlKT1cIm9uU2hvd1N0b2NrVHJhbnNmZXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICA+PC9jby1zdG9jay1sb2NhdGlvbj5cclxuXHJcbiAgICA8Y28tb3JkZXItdGFiICpuZ0lmPVwidGFic1szXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgICAgICAgICAgICAgICAgKHRyYW5zZmVySWNvbkNsaWNrZWQpPVwidHJhbnNmZXJJY29uQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAoc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQpPVwic2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgID48L2NvLW9yZGVyLXRhYj5cclxuXHJcbiAgICA8Y28tb3JkZXItc3RvY2stdGFiICpuZ0lmPVwidGFic1s0XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgID48L2NvLW9yZGVyLXN0b2NrLXRhYj5cclxuXHJcbiAgICA8Y28tc3RvY2staGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzBdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgID48L2NvLXN0b2NrLWhpc3Rvcnk+XHJcblxyXG4gICAgPGNvLW9yZGVyLXN1cHBseS1zdG9jay1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbMV0uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgID48L2NvLW9yZGVyLXN1cHBseS1zdG9jay1oaXN0b3J5PlxyXG5cclxuICAgIDxjby1vcmRlci1zdG9jay1jb21taXNzaW9uLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1syXS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgID48L2NvLW9yZGVyLXN0b2NrLWNvbW1pc3Npb24taGlzdG9yeT5cclxuXHJcbiAgICA8Y28tb3JkZXItc3RvY2staGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzNdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgID48L2NvLW9yZGVyLXN0b2NrLWhpc3Rvcnk+XHJcblxyXG4gICAgPGNvLWFsbG9jYXRpb24tc3RvY2staGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzRdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgPjwvY28tYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5PlxyXG5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0b2NrSW5mb3JtYXRpb246IEFydGljbGVTdG9ja0JvW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlRmxhdDogQXJ0aWNsZUZsYXQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dTdG9ja1RyYW5zZmVyOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3YXJlaG91c2VzOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVySWNvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlU3RvY2tCbz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBzZW5kTWV0aG9kRGlhbG9nQ2xpY2tlZDogRXZlbnRFbWl0dGVyPFByaW50UHJpY2VTdGlja2Vycz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZFdhcmVob3VzZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyA9IG5ldyBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCk7XHJcbiAgcHVibGljIHRhYnM6IFRhYltdID0gW107XHJcbiAgcHVibGljIGhpc3RvcnlUYWJzOiBUYWJbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeVNlcnZpY2U6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRhYnMgPSBbXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdPVkVSVklFVycpLCBhY3RpdmU6IHRydWUsIGNmZzogU2hhcmVkQ2ZnTmFtZS5PdmVydmlld30sXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdTVE9DS19GT1JFQ0FTVCcpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSW52ZW50b3J5Rm9yZWNhc3R9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnU1RPQ0tfREVUQUlMUycpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSW52ZW50b3J5RGV0YWlsc30sXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdBTFJFQURZX0lOX09SREVSJyksIGFjdGl2ZTogZmFsc2UsIGNmZzogU2hhcmVkQ2ZnTmFtZS5PdmVydmlld0RldGFpbHN9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnSU5fT1JERVInKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkluT3JkZXJ9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnSElTVE9SWScpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSGlzdG9yeX0sXHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMuaGlzdG9yeVRhYnMgPSBbXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdTVE9DSycpLCBhY3RpdmU6IHRydWUsIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5U3RvY2t9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnT1JERVJfU1RPQ0snKSxcclxuICAgICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5T3JkZXJTdG9ja1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnT1JERVJfQ09NTUlTU0lPTicpLFxyXG4gICAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgY2ZnOiBTaGFyZWRDZmdOYW1lLkhpc3RvcnlPcmRlckNvbW1pc3Npb25cclxuICAgICAgfSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ09SREVSJyksIGFjdGl2ZTogZmFsc2UsIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5T3JkZXJ9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQUxMT0NBVElPTicpLFxyXG4gICAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgY2ZnOiBTaGFyZWRDZmdOYW1lLkhpc3RvcnlBc3NpZ25cclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TaG93U3RvY2tUcmFuc2ZlckNoYW5nZShzaG93OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyID0gc2hvdztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMb2NhdGlvbkNsaWNrZWQoZGF0YTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYnNbMF0uYWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLnRhYnNbMl0uYWN0aXZlID0gdHJ1ZTtcclxuICAgIGxldCB3YXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMgPSB0aGlzLndhcmVIb3VzZUZvckNvZGUocGFyc2VJbnQoZGF0YSkpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9IHdhcmVob3VzZTtcclxuICAgIHRoaXMuaGFuZGxlV2FyZWhvdXNlU2VsZWN0ZWQodGhpcy5zZWxlY3RlZFdhcmVob3VzZSk7XHJcbiAgICB0aGlzLmdldFN0b2NrRGF0YSh0aGlzLnNlbGVjdGVkV2FyZWhvdXNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVXYXJlaG91c2VTZWxlY3RlZChldmVudDogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9IGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0b2NrRGF0YSh3YXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuaGFuZGxlV2FyZWhvdXNlU2VsZWN0ZWQod2FyZWhvdXNlKTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdhcmVIb3VzZUZvckNvZGUoY29kZTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy53YXJlaG91c2VzLmZpbmQod2FyZWhvdXNlID0+IHdhcmVob3VzZS53YXJlaG91c2VObyA9PT0gY29kZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay10YWJzL3N0b2NrLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTdDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUkxRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUF5RTVHLE1BQU0sT0FBTyxrQkFBa0I7SUErQjdCLFlBQ1UsYUFBMkIsRUFDM0Isa0JBQXFELEVBQ3JELGVBQWtDO1FBRmxDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUM7UUFDckQsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBakM1QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBWXhDLGVBQVUsR0FBZ0MsRUFBRSxDQUFDO1FBR3BDLHdCQUFtQixHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3ZFLDRCQUF1QixHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3hGLDJCQUFzQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9ELHNCQUFpQixHQUE4QixJQUFJLHlC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QkFBaUIsR0FBRyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLHVCQUF1QixDQUFDLEtBQWdDO1FBQzdELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUFvQztRQUN0RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7OztZQXJLRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0VUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUEvRU8sWUFBWTtZQU9aLGlDQUFpQztZQVZqQyxpQkFBaUI7OzsrQkFzRnRCLEtBQUs7c0JBR0wsS0FBSzswQkFHTCxLQUFLO2dDQUdMLEtBQUs7eUJBR0wsS0FBSztrQ0FHTCxNQUFNO3NDQUdOLE1BQU07cUNBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvJztcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZSc7XHJcbmltcG9ydCB7VGFifSBmcm9tICcuLi8uLi90YWItYmFyL3RhYi5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ibyc7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tICdAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXByaWNlLXN0aWNrZXJzLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0FydGljbGVGbGF0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZsYXQuYm8nO1xyXG5pbXBvcnQge1NoYXJlZENmZ05hbWV9IGZyb20gJy4uLy4uLy4uL2VudW0vc2hhcmVkLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXN0b2NrLXRhYnNcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXRhYi1iYXIgW3dhcmVIb3VzZUxhYmVsXT1cIidDSE9JQ0VTJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgIFt3YXJlSG91c2VTZWFyY2hMYWJlbF09XCInU0VBUkNIJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgIFt0YWJzXT1cInRhYnNcIlxyXG4gICAgICAgICAgICAgICAgW2RhdGFXYXJlSG91c2VDb2RlXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkV2FyZWhvdXNlXT1cInNlbGVjdGVkV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgIFtzZWNvbmRhcnlUYWJzXT1cImhpc3RvcnlUYWJzXCJcclxuICAgICAgICAgICAgICAgIFtBY3RpdmF0ZVNlY29uZGFyeVRhYnNdPVwidGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgW3Nob3dXYXJlaG91c2VTZWxlY3Rpb25dPVwidGFic1sxXS5hY3RpdmUgfHwgdGFic1syXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgKHdhcmVob3VzZVNlbGVjdGVkKT1cImhhbmRsZVdhcmVob3VzZVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgPjwvY28tdGFiLWJhcj5cclxuXHJcbiAgICA8Y28tc3RvY2stdGFiICpuZ0lmPVwidGFic1swXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb25dPVwic3RvY2tJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgIChsb2NhdGlvbkNsaWNrZWQpPVwiaGFuZGxlTG9jYXRpb25DbGlja2VkKCRldmVudClcIlxyXG4gICAgPjwvY28tc3RvY2stdGFiPlxyXG5cclxuICAgIDxjby1zdG9jay1wcm9nbm9zZSAqbmdJZj1cInRhYnNbMV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2FyZWhvdXNlTm9dPVwic2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm9cIlxyXG4gICAgPjwvY28tc3RvY2stcHJvZ25vc2U+XHJcblxyXG4gICAgPGNvLXN0b2NrLWxvY2F0aW9uICpuZ0lmPVwidGFic1syXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlU3RvY2tJbmZvcm1hdGlvbl09XCJzdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2FyZWhvdXNlTm9dPVwic2VsZWN0ZWRXYXJlaG91c2Uud2FyZWhvdXNlTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlRmxhdF09XCJhcnRpY2xlRmxhdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFXYXJlSG91c2VDb2RlXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzaG93U3RvY2tUcmFuc2Zlcl09XCJzaG93U3RvY2tUcmFuc2ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkV2FyZWhvdXNlXT1cInNlbGVjdGVkV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAodHJhbnNmZXJJY29uQ2xpY2tlZCk9XCJ0cmFuc2Zlckljb25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNlbmRNZXRob2REaWFsb2dDbGlja2VkKT1cInNlbmRNZXRob2REaWFsb2dDbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlKT1cIm9uU2hvd1N0b2NrVHJhbnNmZXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICA+PC9jby1zdG9jay1sb2NhdGlvbj5cclxuXHJcbiAgICA8Y28tb3JkZXItdGFiICpuZ0lmPVwidGFic1szXS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICBbZ29vZElkXT1cImFydGljbGUuZ29vZElkXCJcclxuICAgICAgICAgICAgICAgICAgKHRyYW5zZmVySWNvbkNsaWNrZWQpPVwidHJhbnNmZXJJY29uQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAoc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQpPVwic2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgKGhhbmRsZVRyYW5zYWN0aW9uQ2xpY2spPVwiaGFuZGxlVHJhbnNhY3Rpb25DbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgPjwvY28tb3JkZXItdGFiPlxyXG5cclxuICAgIDxjby1vcmRlci1zdG9jay10YWIgKm5nSWY9XCJ0YWJzWzRdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgPjwvY28tb3JkZXItc3RvY2stdGFiPlxyXG5cclxuICAgIDxjby1zdG9jay1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbMF0uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgPjwvY28tc3RvY2staGlzdG9yeT5cclxuXHJcbiAgICA8Y28tb3JkZXItc3VwcGx5LXN0b2NrLWhpc3RvcnkgKm5nSWY9XCJoaXN0b3J5VGFic1sxXS5hY3RpdmUgJiYgdGFic1s1XS5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgPjwvY28tb3JkZXItc3VwcGx5LXN0b2NrLWhpc3Rvcnk+XHJcblxyXG4gICAgPGNvLW9yZGVyLXN0b2NrLWNvbW1pc3Npb24taGlzdG9yeSAqbmdJZj1cImhpc3RvcnlUYWJzWzJdLmFjdGl2ZSAmJiB0YWJzWzVdLmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgPjwvY28tb3JkZXItc3RvY2stY29tbWlzc2lvbi1oaXN0b3J5PlxyXG5cclxuICAgIDxjby1vcmRlci1zdG9jay1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbM10uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnb29kSWRdPVwiYXJ0aWNsZS5nb29kSWRcIlxyXG4gICAgPjwvY28tb3JkZXItc3RvY2staGlzdG9yeT5cclxuXHJcbiAgICA8Y28tYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5ICpuZ0lmPVwiaGlzdG9yeVRhYnNbNF0uYWN0aXZlICYmIHRhYnNbNV0uYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dvb2RJZF09XCJhcnRpY2xlLmdvb2RJZFwiXHJcbiAgICA+PC9jby1hbGxvY2F0aW9uLXN0b2NrLWhpc3Rvcnk+XHJcblxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RvY2tJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrQm9bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVGbGF0OiBBcnRpY2xlRmxhdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1N0b2NrVHJhbnNmZXI6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdhcmVob3VzZXM6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNmZXJJY29uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFydGljbGVTdG9ja0JvPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHNlbmRNZXRob2REaWFsb2dDbGlja2VkOiBFdmVudEVtaXR0ZXI8UHJpbnRQcmljZVN0aWNrZXJzPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZVRyYW5zYWN0aW9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRXYXJlaG91c2U6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMgPSBuZXcgU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpO1xyXG4gIHB1YmxpYyB0YWJzOiBUYWJbXSA9IFtdO1xyXG4gIHB1YmxpYyBoaXN0b3J5VGFiczogVGFiW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50YWJzID0gW1xyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnT1ZFUlZJRVcnKSwgYWN0aXZlOiB0cnVlLCBjZmc6IFNoYXJlZENmZ05hbWUuT3ZlcnZpZXd9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnU1RPQ0tfRk9SRUNBU1QnKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkludmVudG9yeUZvcmVjYXN0fSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1NUT0NLX0RFVEFJTFMnKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkludmVudG9yeURldGFpbHN9LFxyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQUxSRUFEWV9JTl9PUkRFUicpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuT3ZlcnZpZXdEZXRhaWxzfSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ0lOX09SREVSJyksIGFjdGl2ZTogZmFsc2UsIGNmZzogU2hhcmVkQ2ZnTmFtZS5Jbk9yZGVyfSxcclxuICAgICAge3RpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ0hJU1RPUlknKSwgYWN0aXZlOiBmYWxzZSwgY2ZnOiBTaGFyZWRDZmdOYW1lLkhpc3Rvcnl9LFxyXG4gICAgXTtcclxuXHJcbiAgICB0aGlzLmhpc3RvcnlUYWJzID0gW1xyXG4gICAgICB7dGl0bGU6IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldCgnU1RPQ0snKSwgYWN0aXZlOiB0cnVlLCBjZmc6IFNoYXJlZENmZ05hbWUuSGlzdG9yeVN0b2NrfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ09SREVSX1NUT0NLJyksXHJcbiAgICAgICAgYWN0aXZlOiBmYWxzZSxcclxuICAgICAgICBjZmc6IFNoYXJlZENmZ05hbWUuSGlzdG9yeU9yZGVyU3RvY2tcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ09SREVSX0NPTU1JU1NJT04nKSxcclxuICAgICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5T3JkZXJDb21taXNzaW9uXHJcbiAgICAgIH0sXHJcbiAgICAgIHt0aXRsZTogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdPUkRFUicpLCBhY3RpdmU6IGZhbHNlLCBjZmc6IFNoYXJlZENmZ05hbWUuSGlzdG9yeU9yZGVyfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ0FMTE9DQVRJT04nKSxcclxuICAgICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGNmZzogU2hhcmVkQ2ZnTmFtZS5IaXN0b3J5QXNzaWduXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2hvd1N0b2NrVHJhbnNmZXJDaGFuZ2Uoc2hvdzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlciA9IHNob3c7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTG9jYXRpb25DbGlja2VkKGRhdGE6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50YWJzWzBdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy50YWJzWzJdLmFjdGl2ZSA9IHRydWU7XHJcbiAgICBsZXQgd2FyZWhvdXNlOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzID0gdGhpcy53YXJlSG91c2VGb3JDb2RlKHBhcnNlSW50KGRhdGEpKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UgPSB3YXJlaG91c2U7XHJcbiAgICB0aGlzLmhhbmRsZVdhcmVob3VzZVNlbGVjdGVkKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UpO1xyXG4gICAgdGhpcy5nZXRTdG9ja0RhdGEodGhpcy5zZWxlY3RlZFdhcmVob3VzZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlV2FyZWhvdXNlU2VsZWN0ZWQoZXZlbnQ6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UgPSBldmVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja0RhdGEod2FyZWhvdXNlOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmhhbmRsZVdhcmVob3VzZVNlbGVjdGVkKHdhcmVob3VzZSk7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3YXJlSG91c2VGb3JDb2RlKGNvZGU6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMud2FyZWhvdXNlcy5maW5kKHdhcmVob3VzZSA9PiB3YXJlaG91c2Uud2FyZWhvdXNlTm8gPT09IGNvZGUpO1xyXG4gIH1cclxufVxyXG4iXX0=