@eo-sdk/client 10.6.17 → 10.6.18

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.
@@ -40,12 +40,10 @@ export declare class ProcessStateComponent implements OnInit, OnDestroy, Pending
40
40
  startTimeFCN: any;
41
41
  };
42
42
  sortParams: {
43
- startTime: string;
44
- modelName: string;
43
+ starttime: string;
45
44
  };
46
45
  defaultSortParams: {
47
- startTime: string;
48
- modelName: string;
46
+ starttime: string;
49
47
  };
50
48
  sortFields: ColDef[];
51
49
  settings: {};
@@ -64,7 +62,7 @@ export declare class ProcessStateComponent implements OnInit, OnDestroy, Pending
64
62
  refreshList(): void;
65
63
  initGrid(): void;
66
64
  resetFilters(): void;
67
- sort(field: any, direction: any): void;
65
+ sort(evt: CustomEvent): void;
68
66
  onPageChanged(page?: number): void;
69
67
  private fetchRowData;
70
68
  private getProcesses;
@@ -1 +1 @@
1
- {"version":3,"file":"process-state.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-client/process-state/process-state.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAY,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,kBAAkB,EAAE,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAC,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAA4B,gBAAgB,EAAQ,MAAM,cAAc,CAAC;AAGrI,OAAO,EAAC,UAAU,EAAC,MAAM,2DAA2D,CAAC;AACrF,OAAO,EAAC,iBAAiB,EAAC,MAAM,yDAAyD,CAAC;AAC1F,OAAO,EAAC,uBAAuB,EAAC,MAAM,6EAA6E,CAAC;AACpH,OAAO,EAAC,qBAAqB,EAAC,MAAM,iEAAiE,CAAC;AACtG,OAAO,EAAC,gBAAgB,EAAC,MAAM,qDAAqD,CAAC;AACrF,OAAO,EAAC,gBAAgB,EAAC,MAAM,kDAAkD,CAAC;AAClF,OAAO,EAAC,aAAa,EAAC,MAAM,wCAAwC,CAAC;;AAGrE,qBAKa,qBACX,YAAW,MAAM,EAAE,SAAS,EAAE,uBAAuB;IAiD5C,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,gBAAgB;IAClC,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IAxDxB,WAAW,EAAE,WAAW,CAAC;IACzB,kBAAkB,SAAa;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,UAAU,CAAyC;IAChE,WAAW,EAAE,UAAU,CAAyC;IAChE,cAAc,SAA4B;IAC1C,YAAY,SAA0B;IACtC,uBAAuB,SAAM;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,sBAAsB;;;;;;;;;MASpB;IACF,UAAU;;;MAGR;IACF,iBAAiB;;;MAGf;IACF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,KAAM;IACd,OAAO,EAAE,MAAM,EAAE,CAOf;IACF,uBAAuB;;;;;;MAMrB;IAEmB,MAAM,EAAE,aAAa,CAAC;gBAGlC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAC1B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,kBAAkB,EACtB,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,qBAAqB;IA4B/C,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,UAAU;IAyBlB,WAAW;IAIX,QAAQ;IAkBR,YAAY;IAOZ,IAAI,CAAC,KAAK,KAAA,EAAE,SAAS,KAAA;IAMrB,aAAa,CAAC,IAAI,GAAE,MAAU;IAW9B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,kBAAkB;IAgB1B,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE;IAe/B,YAAY,CAAC,MAAM,KAAA;IA6CnB,QAAQ;IAIR,WAAW;IAIX,UAAU,CAAC,EAAE,KAAA,EAAE,EAAE,KAAA,GAAG,OAAO;IAI3B,iBAAiB;yCA/UN,qBAAqB;2CAArB,qBAAqB;CAkVjC"}
1
+ {"version":3,"file":"process-state.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-client/process-state/process-state.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAY,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,kBAAkB,EAAE,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAC,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAA4B,gBAAgB,EAAQ,MAAM,cAAc,CAAC;AAGrI,OAAO,EAAC,UAAU,EAAC,MAAM,2DAA2D,CAAC;AACrF,OAAO,EAAC,iBAAiB,EAAC,MAAM,yDAAyD,CAAC;AAC1F,OAAO,EAAC,uBAAuB,EAAC,MAAM,6EAA6E,CAAC;AACpH,OAAO,EAAC,qBAAqB,EAAC,MAAM,iEAAiE,CAAC;AACtG,OAAO,EAAC,gBAAgB,EAAC,MAAM,qDAAqD,CAAC;AACrF,OAAO,EAAC,gBAAgB,EAAC,MAAM,kDAAkD,CAAC;AAClF,OAAO,EAAC,aAAa,EAAC,MAAM,wCAAwC,CAAC;;AAGrE,qBAKa,qBACX,YAAW,MAAM,EAAE,SAAS,EAAE,uBAAuB;IA+C5C,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,gBAAgB;IAClC,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IAtDxB,WAAW,EAAE,WAAW,CAAC;IACzB,kBAAkB,SAAa;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,UAAU,CAAyC;IAChE,WAAW,EAAE,UAAU,CAAyC;IAChE,cAAc,SAA4B;IAC1C,YAAY,SAA0B;IACtC,uBAAuB,SAAM;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,sBAAsB;;;;;;;;;MASpB;IACF,UAAU;;MAER;IACF,iBAAiB;;MAEf;IACF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,KAAM;IACd,OAAO,EAAE,MAAM,EAAE,CAOf;IACF,uBAAuB;;;;;;MAMrB;IAEmB,MAAM,EAAE,aAAa,CAAC;gBAGlC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAC1B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,kBAAkB,EACtB,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,qBAAqB;IA4B/C,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,UAAU;IAyBlB,WAAW;IAIX,QAAQ;IAiBR,YAAY;IAOZ,IAAI,CAAC,GAAG,EAAE,WAAW;IAMrB,aAAa,CAAC,IAAI,GAAE,MAAU;IAW9B,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,kBAAkB;IAgB1B,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE;IAe/B,YAAY,CAAC,MAAM,KAAA;IA6CnB,QAAQ;IAIR,WAAW;IAIX,UAAU,CAAC,EAAE,KAAA,EAAE,EAAE,KAAA,GAAG,OAAO;IAI3B,iBAAiB;yCA1UN,qBAAqB;2CAArB,qBAAqB;CA6UjC"}
@@ -1,5 +1,5 @@
1
1
  import { OnInit } from '@angular/core';
2
- import { UntypedFormGroup, UntypedFormControl, ControlValueAccessor, Validator, UntypedFormBuilder } from '@angular/forms';
2
+ import { FormGroup, UntypedFormControl, ControlValueAccessor, Validator, UntypedFormBuilder } from '@angular/forms';
3
3
  import { RangeValue, TranslateService } from '@eo-sdk/core';
4
4
  import { LocaleDatePipe } from '../../../eo-framework-core/pipes/locale-date.pipe';
5
5
  import * as i0 from "@angular/core";
@@ -10,7 +10,7 @@ export declare class DatetimeRangeComponent implements OnInit, ControlValueAcces
10
10
  pickerTitle: string;
11
11
  operator: string;
12
12
  swapInputs: boolean;
13
- rangeForm: UntypedFormGroup;
13
+ rangeForm: FormGroup;
14
14
  value: RangeValue;
15
15
  private isValid;
16
16
  availableSearchOptions: {
@@ -22,14 +22,13 @@ export declare class DatetimeRangeComponent implements OnInit, ControlValueAcces
22
22
  previousDateValue: any;
23
23
  previousDateValueFrom: any;
24
24
  constructor(fb: UntypedFormBuilder, translate: TranslateService);
25
- createForm(): void;
26
- onFormValueChange(): void;
27
25
  propagateChange: (_: any) => void;
28
26
  validationChange: () => void;
29
27
  writeValue(value: RangeValue): void;
30
28
  registerOnChange(fn: any): void;
31
29
  registerOnValidatorChange?(fn: () => void): void;
32
30
  registerOnTouched(fn: any): void;
31
+ reset(): void;
33
32
  onValueChange(searchOption?: string): void;
34
33
  private _setValue;
35
34
  formatDate(value: Date): string;
@@ -1 +1 @@
1
- {"version":3,"file":"datetime-range.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/eo-framework/form-elements/datetime-range/datetime-range.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAA0B,MAAM,eAAe,CAAC;AAChF,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,kBAAkB,EAGnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,UAAU,EAAgB,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,mDAAmD,CAAC;;AAEjF,qBAoBa,sBAAuB,YAAW,MAAM,EAAE,oBAAoB,EAAE,SAAS;IAyBxE,OAAO,CAAC,EAAE;IAA6B,SAAS,EAAE,gBAAgB;IAvBrE,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,SAAQ;IAEE,UAAU,EAAE,OAAO,CAAS;IAEvD,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,OAAO,CAAQ;IAGhB,sBAAsB;;;QAK3B;IAEK,YAAY,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,iBAAiB,MAAQ;IACzB,qBAAqB,MAAQ;gBAET,EAAE,EAAE,kBAAkB,EAAS,SAAS,EAAE,gBAAgB;IAI9E,UAAU;IAOV,iBAAiB;IAIjB,eAAe,MAAO,GAAG,UAAQ;IACjC,gBAAgB,aAAa;IAE7B,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAInC,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAI/B,yBAAyB,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAIhD,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAGhC,aAAa,CAAC,YAAY,SAAoB;IA0C9C,OAAO,CAAC,SAAS;IAiCjB,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAMxB,QAAQ,CAAC,CAAC,EAAE,kBAAkB;IAmBrC,QAAQ;yCA9JG,sBAAsB;2CAAtB,sBAAsB;CAmKlC"}
1
+ {"version":3,"file":"datetime-range.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/eo-framework/form-elements/datetime-range/datetime-range.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAA0B,MAAM,eAAe,CAAC;AAChF,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,kBAAkB,EAGnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,UAAU,EAAgB,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,mDAAmD,CAAC;;AAGjF,qBAqBa,sBAAuB,YAAW,MAAM,EAAE,oBAAoB,EAAE,SAAS;IA4BxE,OAAO,CAAC,EAAE;IAA6B,SAAS,EAAE,gBAAgB;IA1BrE,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,SAAQ;IAEE,UAAU,EAAE,OAAO,CAAS;IAEvD,SAAS,EAAE,SAAS,CAGjB;IACH,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,OAAO,CAAQ;IAGhB,sBAAsB;;;QAK3B;IAEK,YAAY,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,iBAAiB,MAAQ;IACzB,qBAAqB,MAAQ;gBAET,EAAE,EAAE,kBAAkB,EAAS,SAAS,EAAE,gBAAgB;IAO9E,eAAe,MAAO,GAAG,UAAQ;IACjC,gBAAgB,aAAa;IAE7B,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAInC,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAI/B,yBAAyB,CAAC,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAIhD,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAGhC,KAAK;IAOL,aAAa,CAAC,YAAY,SAAoB;IA0C9C,OAAO,CAAC,SAAS;IAiCjB,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAMxB,QAAQ,CAAC,CAAC,EAAE,kBAAkB;IAmBrC,QAAQ;yCAhKG,sBAAsB;2CAAtB,sBAAsB;CAmKlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"media.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-framework/media/media.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-framework/media/media.component.ts"],"names":[],"mappings":"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"}
@@ -879,6 +879,7 @@
879
879
  "eo.workspace.widget.configuration.notOk" : "Konfigurieren Sie zuerst das Widget.",
880
880
  "eo.widget.hitlist.tooltip.refresh": "Aktualisieren",
881
881
  "eo.recyclebin.filter.title": "Papierkorb filtern",
882
+ "eo.recyclebin.sort.title": "Papierkorb sortieren",
882
883
  "eo.recyclebin.list.empty": "Der Papierkorb ist leer.",
883
884
  "eo.view.navigation.title": "Navigation",
884
885
  "eo.recyclebin.details.restore": "Wiederherstellen",
@@ -885,6 +885,7 @@
885
885
  "eo.workspace.widget.configuration.notOk": "You need to first configure the widget.",
886
886
  "eo.widget.hitlist.tooltip.refresh": "Refresh",
887
887
  "eo.recyclebin.filter.title": "Filter recycle bin",
888
+ "eo.recyclebin.sort.title": "Sort recycle bin",
888
889
  "eo.recyclebin.list.empty": "The recycle bin is empty.",
889
890
  "eo.view.navigation.title": "Navigation",
890
891
  "eo.recyclebin.details.restore": "Restore",
@@ -8,10 +8,10 @@ export class AboutStateComponent {
8
8
  this.backend = backend;
9
9
  this.userService = userService;
10
10
  this.config = config;
11
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/common", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/core", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/forms", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/router", "version": "15.2.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.8.1", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "10.6.17", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "15.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "14.0.0", "license": "MIT" }, { "name": "@yuuvis/components", "version": "1.0.6", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "1.0.2", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.29.4", "license": "MIT" }, { "name": "ngx-toastr", "version": "16.0.2", "license": "MIT" }, { "name": "rxjs", "version": "7.5.7", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.11.8", "license": "MIT" }];
11
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/common", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/core", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/forms", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/router", "version": "15.2.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.8.1", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "10.6.18", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "15.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "14.0.0", "license": "MIT" }, { "name": "@yuuvis/components", "version": "1.0.6", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "1.0.2", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.29.4", "license": "MIT" }, { "name": "ngx-toastr", "version": "16.0.2", "license": "MIT" }, { "name": "rxjs", "version": "7.5.7", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.11.8", "license": "MIT" }];
12
12
  this.ctrl = {
13
13
  componentName: 'yuuvis® RAD client',
14
- componentVersion: '10.6.17',
14
+ componentVersion: '10.6.18',
15
15
  productName: '',
16
16
  productVersion: ''
17
17
  };
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
78
78
  type: Component,
79
79
  args: [{ selector: 'eo-about-state', template: "<div class=\"eo-about-state\">\n\n <div class=\"about\">\n <div class=\"header\" [style.background-image]=\"backgroundImage\">\n <img [src]=\"headerLogo\"/>\n </div>\n\n <div class=\"body\">\n <div class=\"claim\" translate>eo.help.about.claim</div>\n\n <div class=\"wrap\">\n <table>\n <tbody>\n <tr>\n <th translate>eo.help.about.component.label</th>\n <td>{{ctrl.componentName}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.component.version.label</th>\n <td>{{ctrl.componentVersion}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.label</th>\n <td>{{ ctrl.productName }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.version.label</th>\n <td>{{ ctrl.productVersion }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.producer.label</th>\n <td translate>eo.help.about.producer.text</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n\n <h2 translate>eo.help.license.title</h2>\n <p translate>eo.help.license.intro</p>\n <div class=\"showLic\" (click)=\"licenseShow = !licenseShow\">\n <span class=\"toggle\"><span translate>eo.help.license.title</span><span class=\"toggle-indicator\">{{licenseShow ? '-' : '+'}}</span></span></div>\n <div class=\"licenses\" *ngIf=\"licenseShow\">\n <div class=\"lib\" *ngFor=\"let lib of __libraries__; trackBy: trackByFn\">\n <div class=\"name\">{{lib.name}}</div>\n <div class=\"lic\" *ngIf=\"licenses[lib.license]\">\n <a href=\"{{licenses[lib.license].url}}\" target=\"_blank\" *ngIf=\"licenses[lib.license].url\">{{licenses[lib.license].label}}</a>\n <span *ngIf=\"!licenses[lib.license].url\">{{licenses[lib.license].label}}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</div>\n", styles: [":host{--about-header-height: 300px;position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center;overflow-y:auto}.eo-about-state{box-sizing:border-box;width:800px;display:flex;flex-flow:column}@media screen and (max-width: 832px){.eo-about-state{margin:0;min-width:inherit;width:100%}}.eo-about-state .about{box-shadow:0 2px 5px #0003;background:var(--panel-background);margin:var(--app-pane-padding)}.eo-about-state .about .header{position:relative;height:var(--about-header-height);background-size:cover}.eo-about-state .about .header:after{content:\"\";position:absolute;inset:0;background-color:rgba(var(--color-accent-rgb),.8)}.eo-about-state .about .header img{right:8%;bottom:18%;position:absolute;z-index:20;width:40%}.eo-about-state .about .body{padding:var(--app-pane-padding)}.eo-about-state .about .body .claim{padding:var(--app-pane-padding) 0}.eo-about-state .about .body h2{margin:1.5em 0 0;color:var(--text-color-caption);font-weight:var(--font-weight-light);font-size:var(--font-title)}.eo-about-state .about .body .wrap{display:flex;flex-flow:row wrap}.eo-about-state .about .body ul.links{color:var(--color-accent);list-style-type:none}.eo-about-state .about .body ul.links li{padding:2px 0}.eo-about-state .about .body ul.links a{text-decoration:none;color:var(--color-accent)}.eo-about-state .about .body ul.links a:hover{text-decoration:underline}.eo-about-state .about .body table{margin:var(--app-pane-padding);padding:calc(var(--app-pane-padding) / 4) 0;background-color:rgba(var(--color-black-rgb),.06);border-radius:2px}.eo-about-state .about .body table th{display:flex;flex-flow:column;align-items:flex-start;justify-content:center;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body table th,.eo-about-state .about .body table td{padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 2)}.eo-about-state .about .body .showLic span.toggle{color:var(--color-accent);display:inline-block;padding:0 4px 2px;border-radius:4px;border:1px solid var(--color-accent);cursor:pointer}.eo-about-state .about .body .showLic .toggle-indicator{padding:0 4px}.eo-about-state .about .body .licenses{padding-top:var(--app-pane-padding)}.eo-about-state .about .body .licenses .lib{display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding) / 4);border-top:1px solid var(--list-item-border-color)}.eo-about-state .about .body .licenses .lib .name{flex:1 1 auto}.eo-about-state .about .body .licenses .lib .lic{flex:0 0 auto;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body .licenses .lib .lic a{text-decoration:none;border-radius:2px;border:1px solid var(--color-accent);color:var(--color-accent);display:inline-block;padding:2px 4px;background-color:rgba(var(--color-black-rgb),.06);line-height:1em}\n"] }]
80
80
  }], ctorParameters: function () { return [{ type: i1.BackendService }, { type: i1.UserService }, { type: i1.Config }]; } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEMsTUFBTSxPQUFPLG1CQUFtQjtJQXNEOUIsWUFBb0IsT0FBdUIsRUFBVSxXQUF3QixFQUFVLE1BQWM7UUFBakYsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqRHJHLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHdCQUF3QixFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFD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QUMsSUFBSSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXO2FBQ2IsS0FBSzthQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Z0hBNUVVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHNEQ1JoQyxvK0RBdURBOzJGRC9DYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnLCBCYWNrZW5kU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWJvdXQtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0U3RhdGVDb21wb25lbnQge1xuXG4gIGJhY2tncm91bmRJbWFnZTogc3RyaW5nO1xuICBoZWFkZXJMb2dvOiBzdHJpbmc7XG4gIGxpY2Vuc2VTaG93OiBib29sZWFuO1xuICBfX2xpYnJhcmllc19fID0gW3tcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY29yZVwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2Nzdi1leHBvcnRcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2Nka1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29tbW9uXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21waWxlclwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29yZVwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvZm9ybXNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pY1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcm91dGVyXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAY2FyYm9uL2NoYXJ0cy1hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIxLjguMVwiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJAZW8tc2RrL2NvcmVcIixcInZlcnNpb25cIjpcIjEwLjYuMTdcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAbmduZWF0L3VudGlsLWRlc3Ryb3lcIixcInZlcnNpb25cIjpcIjEwLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjE1LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjE0LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvY29tcG9uZW50c1wiLFwidmVyc2lvblwiOlwiMS4wLjZcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAeXV1dmlzL3dpZGdldC1ncmlkXCIsXCJ2ZXJzaW9uXCI6XCIxLjAuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImNvcmUtanNcIixcInZlcnNpb25cIjpcIjIuNi4xMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwibG9kYXNoLWVzXCIsXCJ2ZXJzaW9uXCI6XCI0LjE3LjIxXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9tZW50XCIsXCJ2ZXJzaW9uXCI6XCIyLjI5LjRcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJuZ3gtdG9hc3RyXCIsXCJ2ZXJzaW9uXCI6XCIxNi4wLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJyeGpzXCIsXCJ2ZXJzaW9uXCI6XCI3LjUuN1wiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJ0c2xpYlwiLFwidmVyc2lvblwiOlwiMi42LjJcIixcImxpY2Vuc2VcIjpcIjBCU0RcIn0se1wibmFtZVwiOlwiem9uZS5qc1wiLFwidmVyc2lvblwiOlwiMC4xMS44XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn1dO1xuICB1c2VyTGFuZzogc3RyaW5nO1xuXG4gIGN0cmwgPSB7XG4gICAgY29tcG9uZW50TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNvbXBvbmVudFZlcnNpb246ICcxMC42LjE3JyxcbiAgICBwcm9kdWN0TmFtZTogJycsXG4gICAgcHJvZHVjdFZlcnNpb246ICcnXG4gIH07XG5cbiAgbGljZW5zZXMgPSB7XG4gICAgJ01JVCc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ0FwYWNoZS0yLjAnOiB7XG4gICAgICAnbGFiZWwnOiAnQXBhY2hlIDIuMCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCdcbiAgICB9LFxuICAgICdCU0QtMy1DbGF1c2UtQ2xlYXInOiB7XG4gICAgICAnbGFiZWwnOiAnQlNEIDMtQ2xhdXNlJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZSdcbiAgICB9LFxuICAgICdDQzAtMS4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0NDMCAxLjAnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLydcbiAgICB9LFxuICAgICcoT0ZMLTEuMSBBTkQgTUlUKSc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ1NJTE9GTC0xLjEnOiB7XG4gICAgICAnbGFiZWwnOiAnU0lMIE9wZW4gRm9udCBMaWNlbnNlIDEuMScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMX3dlYidcbiAgICB9LFxuICAgICdDb21tZXJjaWFsJzoge1xuICAgICAgJ2xhYmVsJzogJ0NvbW1lcmNpYWwnXG4gICAgfSxcbiAgICAnYWctZ3JpZCc6IHtcbiAgICAgICdsYWJlbCc6ICdhZy1HcmlkLUVudGVycHJpc2UgU29mdHdhcmUgTGljZW5jZSBBZ3JlZW1lbnQgVmVyc2lvbiAxLjcnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2dpdGh1Yi5jb20vY2VvbHRlci9hZy1ncmlkLWVudGVycHJpc2UvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZCdcbiAgICB9LFxuICAgICcwQlNEJzoge1xuICAgICAgJ2xhYmVsJzogJ1plcm8tQ2xhdXNlIEJTRCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy8wQlNEJ1xuICAgIH1cbiAgfTtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG5cbiAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbignL3N5c3RlbS9pbmZvJykuc3Vic2NyaWJlKGluZm8gPT4ge1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3ROYW1lID0gaW5mby5wcm9kdWN0Lm5hbWU7XG4gICAgICB0aGlzLmN0cmwucHJvZHVjdFZlcnNpb24gPSBpbmZvLnByb2R1Y3QucHJvZHVjdHZlcnNpb247XG4gICAgfSk7XG4gIH1cblxuICBnZXRVc2VyTGFuZygpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB0aGlzLnVzZXJMYW5nID0gZGF0YS51c2VyU2V0dGluZ3MuY2xpZW50bG9jYWxlKTtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tYWJvdXQtc3RhdGVcIj5cblxuICA8ZGl2IGNsYXNzPVwiYWJvdXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiYmFja2dyb3VuZEltYWdlXCI+XG4gICAgICA8aW1nIFtzcmNdPVwiaGVhZGVyTG9nb1wiLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xhaW1cIiB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jbGFpbTwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcFwiPlxuICAgICAgICA8dGFibGU+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7Y3RybC5jb21wb25lbnROYW1lfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LmNvbXBvbmVudC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50VmVyc2lvbn19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3ROYW1lIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LnZlcnNpb24ubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7IGN0cmwucHJvZHVjdFZlcnNpb24gfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LnByb2R1Y2VyLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci50ZXh0PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgICA8aDIgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvaDI+XG4gICAgICA8cCB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLmludHJvPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cInNob3dMaWNcIiAoY2xpY2spPVwibGljZW5zZVNob3cgPSAhbGljZW5zZVNob3dcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGVcIj48c3BhbiB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLnRpdGxlPC9zcGFuPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWluZGljYXRvclwiPnt7bGljZW5zZVNob3cgPyAnLScgOiAnKyd9fTwvc3Bhbj48L3NwYW4+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGljZW5zZXNcIiAqbmdJZj1cImxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWJcIiAqbmdGb3I9XCJsZXQgbGliIG9mIF9fbGlicmFyaWVzX187IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3tsaWIubmFtZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpY1wiICpuZ0lmPVwibGljZW5zZXNbbGliLmxpY2Vuc2VdXCI+XG4gICAgICAgICAgICA8YSBocmVmPVwie3tsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIiAqbmdJZj1cImxpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmxcIj57e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS5sYWJlbH19PC9hPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybFwiPnt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLmxhYmVsfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEMsTUFBTSxPQUFPLG1CQUFtQjtJQXNEOUIsWUFBb0IsT0FBdUIsRUFBVSxXQUF3QixFQUFVLE1BQWM7UUFBakYsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqRHJHLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHdCQUF3QixFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFD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QUMsSUFBSSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXO2FBQ2IsS0FBSzthQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Z0hBNUVVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHNEQ1JoQyxvK0RBdURBOzJGRC9DYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnLCBCYWNrZW5kU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWJvdXQtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0U3RhdGVDb21wb25lbnQge1xuXG4gIGJhY2tncm91bmRJbWFnZTogc3RyaW5nO1xuICBoZWFkZXJMb2dvOiBzdHJpbmc7XG4gIGxpY2Vuc2VTaG93OiBib29sZWFuO1xuICBfX2xpYnJhcmllc19fID0gW3tcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY29yZVwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2Nzdi1leHBvcnRcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2Nka1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29tbW9uXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21waWxlclwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29yZVwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvZm9ybXNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pY1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcm91dGVyXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAY2FyYm9uL2NoYXJ0cy1hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIxLjguMVwiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJAZW8tc2RrL2NvcmVcIixcInZlcnNpb25cIjpcIjEwLjYuMThcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAbmduZWF0L3VudGlsLWRlc3Ryb3lcIixcInZlcnNpb25cIjpcIjEwLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjE1LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjE0LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvY29tcG9uZW50c1wiLFwidmVyc2lvblwiOlwiMS4wLjZcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAeXV1dmlzL3dpZGdldC1ncmlkXCIsXCJ2ZXJzaW9uXCI6XCIxLjAuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImNvcmUtanNcIixcInZlcnNpb25cIjpcIjIuNi4xMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwibG9kYXNoLWVzXCIsXCJ2ZXJzaW9uXCI6XCI0LjE3LjIxXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9tZW50XCIsXCJ2ZXJzaW9uXCI6XCIyLjI5LjRcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJuZ3gtdG9hc3RyXCIsXCJ2ZXJzaW9uXCI6XCIxNi4wLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJyeGpzXCIsXCJ2ZXJzaW9uXCI6XCI3LjUuN1wiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJ0c2xpYlwiLFwidmVyc2lvblwiOlwiMi42LjJcIixcImxpY2Vuc2VcIjpcIjBCU0RcIn0se1wibmFtZVwiOlwiem9uZS5qc1wiLFwidmVyc2lvblwiOlwiMC4xMS44XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn1dO1xuICB1c2VyTGFuZzogc3RyaW5nO1xuXG4gIGN0cmwgPSB7XG4gICAgY29tcG9uZW50TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNvbXBvbmVudFZlcnNpb246ICcxMC42LjE4JyxcbiAgICBwcm9kdWN0TmFtZTogJycsXG4gICAgcHJvZHVjdFZlcnNpb246ICcnXG4gIH07XG5cbiAgbGljZW5zZXMgPSB7XG4gICAgJ01JVCc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ0FwYWNoZS0yLjAnOiB7XG4gICAgICAnbGFiZWwnOiAnQXBhY2hlIDIuMCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCdcbiAgICB9LFxuICAgICdCU0QtMy1DbGF1c2UtQ2xlYXInOiB7XG4gICAgICAnbGFiZWwnOiAnQlNEIDMtQ2xhdXNlJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZSdcbiAgICB9LFxuICAgICdDQzAtMS4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0NDMCAxLjAnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLydcbiAgICB9LFxuICAgICcoT0ZMLTEuMSBBTkQgTUlUKSc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ1NJTE9GTC0xLjEnOiB7XG4gICAgICAnbGFiZWwnOiAnU0lMIE9wZW4gRm9udCBMaWNlbnNlIDEuMScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMX3dlYidcbiAgICB9LFxuICAgICdDb21tZXJjaWFsJzoge1xuICAgICAgJ2xhYmVsJzogJ0NvbW1lcmNpYWwnXG4gICAgfSxcbiAgICAnYWctZ3JpZCc6IHtcbiAgICAgICdsYWJlbCc6ICdhZy1HcmlkLUVudGVycHJpc2UgU29mdHdhcmUgTGljZW5jZSBBZ3JlZW1lbnQgVmVyc2lvbiAxLjcnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2dpdGh1Yi5jb20vY2VvbHRlci9hZy1ncmlkLWVudGVycHJpc2UvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZCdcbiAgICB9LFxuICAgICcwQlNEJzoge1xuICAgICAgJ2xhYmVsJzogJ1plcm8tQ2xhdXNlIEJTRCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy8wQlNEJ1xuICAgIH1cbiAgfTtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG5cbiAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbignL3N5c3RlbS9pbmZvJykuc3Vic2NyaWJlKGluZm8gPT4ge1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3ROYW1lID0gaW5mby5wcm9kdWN0Lm5hbWU7XG4gICAgICB0aGlzLmN0cmwucHJvZHVjdFZlcnNpb24gPSBpbmZvLnByb2R1Y3QucHJvZHVjdHZlcnNpb247XG4gICAgfSk7XG4gIH1cblxuICBnZXRVc2VyTGFuZygpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB0aGlzLnVzZXJMYW5nID0gZGF0YS51c2VyU2V0dGluZ3MuY2xpZW50bG9jYWxlKTtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tYWJvdXQtc3RhdGVcIj5cblxuICA8ZGl2IGNsYXNzPVwiYWJvdXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiYmFja2dyb3VuZEltYWdlXCI+XG4gICAgICA8aW1nIFtzcmNdPVwiaGVhZGVyTG9nb1wiLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xhaW1cIiB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jbGFpbTwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcFwiPlxuICAgICAgICA8dGFibGU+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7Y3RybC5jb21wb25lbnROYW1lfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LmNvbXBvbmVudC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50VmVyc2lvbn19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3ROYW1lIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LnZlcnNpb24ubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7IGN0cmwucHJvZHVjdFZlcnNpb24gfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LnByb2R1Y2VyLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci50ZXh0PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgICA8aDIgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvaDI+XG4gICAgICA8cCB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLmludHJvPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cInNob3dMaWNcIiAoY2xpY2spPVwibGljZW5zZVNob3cgPSAhbGljZW5zZVNob3dcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGVcIj48c3BhbiB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLnRpdGxlPC9zcGFuPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWluZGljYXRvclwiPnt7bGljZW5zZVNob3cgPyAnLScgOiAnKyd9fTwvc3Bhbj48L3NwYW4+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGljZW5zZXNcIiAqbmdJZj1cImxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWJcIiAqbmdGb3I9XCJsZXQgbGliIG9mIF9fbGlicmFyaWVzX187IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3tsaWIubmFtZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpY1wiICpuZ0lmPVwibGljZW5zZXNbbGliLmxpY2Vuc2VdXCI+XG4gICAgICAgICAgICA8YSBocmVmPVwie3tsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIiAqbmdJZj1cImxpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmxcIj57e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS5sYWJlbH19PC9hPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybFwiPnt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLmxhYmVsfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
@@ -57,12 +57,10 @@ export class ProcessStateComponent {
57
57
  startTimeFCN: null
58
58
  };
59
59
  this.sortParams = {
60
- startTime: '',
61
- modelName: ''
60
+ starttime: ''
62
61
  };
63
62
  this.defaultSortParams = {
64
- startTime: "",
65
- modelName: ""
63
+ starttime: ''
66
64
  };
67
65
  this.settings = {};
68
66
  this.colDefs = [
@@ -125,7 +123,6 @@ export class ProcessStateComponent {
125
123
  this.settings = { total: 0, size: this.VIRTUAL_LIST_CHUNK_SIZE };
126
124
  this.sortFields = [
127
125
  { field: 'starttime', headerName: this.translate.instant('eo.grid.sort.date'), sort: '' },
128
- { field: 'modelname', headerName: this.translate.instant('eo.process.sort.type'), sort: '' }
129
126
  ];
130
127
  const sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
131
128
  this.gridOptions = {
@@ -143,8 +140,8 @@ export class ProcessStateComponent {
143
140
  this.onPageChanged();
144
141
  }
145
142
  }
146
- sort(field, direction) {
147
- this.sortParams[field] = direction;
143
+ sort(evt) {
144
+ this.sortParams.starttime = evt.detail[0]?.sort ? evt.detail[0].sort : '';
148
145
  this.appCache.setItem(this.sortCacheKey, this.sortParams).subscribe();
149
146
  this.onPageChanged();
150
147
  }
@@ -160,7 +157,8 @@ export class ProcessStateComponent {
160
157
  }
161
158
  fetchRowData(params) {
162
159
  const page = Math.floor(params.startRow / this.VIRTUAL_LIST_CHUNK_SIZE);
163
- this.getProcesses({ size: this.VIRTUAL_LIST_CHUNK_SIZE, page }).subscribe((processes) => {
160
+ const sort = this.sortParams.starttime;
161
+ this.getProcesses({ size: this.VIRTUAL_LIST_CHUNK_SIZE, page, sort }).subscribe((processes) => {
164
162
  if (params.startRow === 0) {
165
163
  this.emptyState1 = this.empty.getEmptyState(processes.content ? processes.content.length : -1, undefined, 'ic_no-file.svg');
166
164
  this.emptyState2 = this.empty.getEmptyState(processes.content ? processes.content.length : -1, undefined, 'ic_no-file.svg');
@@ -227,11 +225,8 @@ export class ProcessStateComponent {
227
225
  return url;
228
226
  }
229
227
  addSortParamsToUrl(url) {
230
- if (this.sortParams.startTime) {
231
- url += "&sort=starttime," + this.sortParams.startTime;
232
- }
233
- if (this.sortParams.modelName) {
234
- url += "&sort=name," + this.sortParams.modelName;
228
+ if (this.sortParams.starttime) {
229
+ url += '&sort=starttime,' + this.sortParams.starttime;
235
230
  }
236
231
  return url;
237
232
  }
@@ -321,12 +316,12 @@ export class ProcessStateComponent {
321
316
  }
322
317
  }
323
318
  ProcessStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProcessStateComponent, deps: [{ token: i1.TranslateService }, { token: i1.BpmService }, { token: i2.SelectionService }, { token: i3.EmptyStateService }, { token: i1.BackendService }, { token: i4.UntypedFormBuilder }, { token: i5.PageTitleService }, { token: i1.AppCacheService }, { token: i6.PendingChangesService }], target: i0.ɵɵFactoryTarget.Component });
324
- ProcessStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ProcessStateComponent, selector: "eo-process-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\"\n [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <div class=\"filter-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <eo-custom-sort #cSort [id]=\"'process.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\"\n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\"\n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i11.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i12.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["plugins", "reference", "searchTerm", "enableCompare", "recyclebinTabs", "versionComponentTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i13.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i16.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i17.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i18.PaginationComponent, selector: "eo-pagination", inputs: ["settings"], outputs: ["pageChanged"] }, { kind: "component", type: i19.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i20.DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: i21.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i22.DynamicListComponent, selector: "eo-dynamic-list", inputs: ["situation", "multiselect", "pickerTitle", "readonly", "filterFunction", "listObject"] }, { kind: "component", type: i23.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i24.ProcessDetailsComponent, selector: "eo-process-details", inputs: ["plugins", "emptyState", "applySelection", "item"], outputs: ["onDmsItemSelected"] }, { kind: "component", type: i25.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i25.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i26.PluginPipe, name: "plugins" }] });
319
+ ProcessStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ProcessStateComponent, selector: "eo-process-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\"\n [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <div class=\"filter-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <eo-custom-sort [id]=\"'process.sort'\" (change)=\"sort($event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\"\n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\"\n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i11.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i12.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["plugins", "reference", "searchTerm", "enableCompare", "recyclebinTabs", "versionComponentTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i13.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i16.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i17.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i18.PaginationComponent, selector: "eo-pagination", inputs: ["settings"], outputs: ["pageChanged"] }, { kind: "component", type: i19.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i20.DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: i21.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i22.DynamicListComponent, selector: "eo-dynamic-list", inputs: ["situation", "multiselect", "pickerTitle", "readonly", "filterFunction", "listObject"] }, { kind: "component", type: i23.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i24.ProcessDetailsComponent, selector: "eo-process-details", inputs: ["plugins", "emptyState", "applySelection", "item"], outputs: ["onDmsItemSelected"] }, { kind: "component", type: i25.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i25.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i26.PluginPipe, name: "plugins" }] });
325
320
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProcessStateComponent, decorators: [{
326
321
  type: Component,
327
- args: [{ selector: "eo-process-state", template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\"\n [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <div class=\"filter-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <eo-custom-sort #cSort [id]=\"'process.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\"\n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\"\n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"] }]
322
+ args: [{ selector: "eo-process-state", template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\"\n [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <div class=\"filter-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <eo-custom-sort [id]=\"'process.sort'\" (change)=\"sort($event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\"\n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\"\n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"] }]
328
323
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i1.BpmService }, { type: i2.SelectionService }, { type: i3.EmptyStateService }, { type: i1.BackendService }, { type: i4.UntypedFormBuilder }, { type: i5.PageTitleService }, { type: i1.AppCacheService }, { type: i6.PendingChangesService }]; }, propDecorators: { eoGrid: [{
329
324
  type: ViewChild,
330
325
  args: ["eoGrid"]
331
326
  }] } });
332
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9wcm9jZXNzLXN0YXRlL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcHJvY2Vzcy1zdGF0ZS9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQThDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFvQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckksT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUW5DLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZELE1BQU0sT0FBTyxxQkFBcUI7SUFpRGhDLFlBQ1MsU0FBMkIsRUFDM0IsVUFBc0IsRUFDdEIsU0FBMkIsRUFDMUIsS0FBd0IsRUFDeEIsT0FBdUIsRUFDdkIsRUFBc0IsRUFDdEIsWUFBOEIsRUFDOUIsUUFBeUIsRUFDekIsY0FBcUM7UUFSdEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBdkQvQyx1QkFBa0Is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QUFjLEVBQUUsQ0FBQztJQUM5QyxDQUFDOztrSEFqVlUscUJBQXFCO3NHQUFyQixxQkFBcUIsMEpDcEJsQywwOUxBMEdBOzJGRHRGYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCOzhWQW1EUCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0FwcENhY2hlU2VydmljZSwgQmFja2VuZFNlcnZpY2UsIEJwbVNlcnZpY2UsIFByb2Nlc3MsIFJhbmdlVmFsdWUsIFNlYXJjaEZpbHRlciwgVHJhbnNsYXRlU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RW1wdHlTdGF0ZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7RW1wdHlTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQge0N1c3RvbVNvcnRDb21wb25lbnR9IGZyb20gXCIuLi8uLi9lby1mcmFtZXdvcmtcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImVvLXByb2Nlc3Mtc3RhdGVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NTdGF0ZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudCB7XG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgcHJvY2Vzc1NlbGVjdGlvbklkID0gXCJwcm9jZXNzXCI7XG4gIHByb2Nlc3NTZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2U7XG4gIGVtcHR5U3RhdGUxOiBFbXB0eVN0YXRlID0geyBpY29uOiBcIlwiLCB0ZXh0OiBcIlwiLCBjbGFzc05hbWU6IFwiXCIgfTtcbiAgZW1wdHlTdGF0ZTI6IEVtcHR5U3RhdGUgPSB7IGljb246IFwiXCIsIHRleHQ6IFwiXCIsIGNsYXNzTmFtZTogXCJcIiB9O1xuICBmaWx0ZXJDYWNoZUtleSA9IFwiZW8ucHJvY2Vzcy5saXN0LmZpbHRlclwiO1xuICBzb3J0Q2FjaGVLZXkgPSBcImVvLnByb2Nlc3MubGlzdC5zb3J0XCI7XG4gIFZJUlRVQUxfTElTVF9DSFVOS19TSVpFID0gNTA7XG4gIGZpbHRlckZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUgPSB7XG4gICAgbW9kZWxGQ046IG51bGwsXG4gICAgcnVubmluZ0ZDTjogdHJ1ZSxcbiAgICBwYXVzZWRGQ046IHRydWUsXG4gICAgY3JlYXRlZEZDTjogdHJ1ZSxcbiAgICBjYW5jZWxlZEZDTjogdHJ1ZSxcbiAgICBmYWlsZWRGQ046IHRydWUsXG4gICAgY29tcGxldGVkRkNOOiB0cnVlLFxuICAgIHN0YXJ0VGltZUZDTjogbnVsbFxuICB9O1xuICBzb3J0UGFyYW1zID0ge1xuICAgIHN0YXJ0VGltZTogJycsXG4gICAgbW9kZWxOYW1lOiAnJ1xuICB9O1xuICBkZWZhdWx0U29ydFBhcmFtcyA9IHtcbiAgICBzdGFydFRpbWU6IFwiXCIsXG4gICAgbW9kZWxOYW1lOiBcIlwiXG4gIH07XG4gIHNvcnRGaWVsZHM6IENvbERlZltdO1xuICBzZXR0aW5ncyA9IHt9O1xuICBjb2xEZWZzOiBDb2xEZWZbXSA9IFtcbiAgICB7XG4gICAgICBoZWFkZXJOYW1lOiBcIlwiLFxuICAgICAgZmllbGQ6IFwiX19jdXN0b21cIixcbiAgICAgIGNlbGxSZW5kZXJlcjogdGhpcy5jZWxsUmVuZGVyZXIsXG4gICAgICBmaWx0ZXI6IGZhbHNlXG4gICAgfVxuICBdO1xuICBwcm9jZXNzTW9kZWxzTGlzdE9iamVjdCA9IHtcbiAgICBlbnRyaWVzOiBbXSxcbiAgICBjb25maWc6IHtcbiAgICAgIHZhbHVlRmllbGQ6IFwibmFtZVwiLFxuICAgICAgc3ViRW50cmllc0ZpZWxkOiBcIm1vZGVsc1wiXG4gICAgfVxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoXCJlb0dyaWRcIikgZW9HcmlkOiBHcmlkQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHVibGljIHNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIGFwcENhY2hlOiBBcHBDYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdGF0ZS5wcm9jZXNzJykpO1xuXG4gICAgLy9zZWNvbmRhcnkgc2VsZWN0aW9uIGluc3RhbmNlIGZvciBpbmJveCBpdGVtc1xuICAgIHRoaXMucHJvY2Vzc1NlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uLmNyZWF0ZU5ldyh0aGlzLnByb2Nlc3NTZWxlY3Rpb25JZCk7XG5cbiAgICB0aGlzLmZldGNoUHJvY2Vzc01vZGVscygpLnN1YnNjcmliZShwcm9jZXNzTW9kZWxzID0+IHtcbiAgICAgIHRoaXMucHJvY2Vzc01vZGVsc0xpc3RPYmplY3QuZW50cmllcyA9IHByb2Nlc3NNb2RlbHM7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcENhY2hlXG4gICAgICAuZ2V0SXRlbSh0aGlzLmZpbHRlckNhY2hlS2V5KVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgZmlsdGVyVmFsdWUgPT5cbiAgICAgICAgICB0aGlzLmluaXRGaWx0ZXIoXG4gICAgICAgICAgICBmaWx0ZXJWYWx1ZSA/IGZpbHRlclZhbHVlIDogdGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlXG4gICAgICAgICAgKSxcbiAgICAgICAgKCkgPT4gdGhpcy5pbml0RmlsdGVyKHRoaXMuZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSlcbiAgICAgICk7XG5cbiAgICB0aGlzLmFwcENhY2hlLmdldEl0ZW0odGhpcy5zb3J0Q2FjaGVLZXkpLnN1YnNjcmliZShzb3J0UGFyYW1zID0+IHtcbiAgICAgIGlmIChzb3J0UGFyYW1zKSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtcyA9IHNvcnRQYXJhbXM7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoUHJvY2Vzc01vZGVscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0KFwiL2JwbS9tYW5hZ2VtZW50L3Byb2plY3Q/aW5jbHVkZU1vZGVscz10cnVlXCIpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RmlsdGVyKGZpbHRlclZhbHVlKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBtb2RlbEZDTjogW2ZpbHRlclZhbHVlLm1vZGVsRkNOXSxcbiAgICAgIHJ1bm5pbmdGQ046IFtmaWx0ZXJWYWx1ZS5ydW5uaW5nRkNOXSxcbiAgICAgIHBhdXNlZEZDTjogW2ZpbHRlclZhbHVlLnBhdXNlZEZDTl0sXG4gICAgICBjcmVhdGVkRkNOOiBbZmlsdGVyVmFsdWUuY3JlYXRlZEZDTl0sXG4gICAgICBjYW5jZWxlZEZDTjogW2ZpbHRlclZhbHVlLmNhbmNlbGVkRkNOXSxcbiAgICAgIGZhaWxlZEZDTjogW2ZpbHRlclZhbHVlLmZhaWxlZEZDTl0sXG4gICAgICBjb21wbGV0ZWRGQ046IFtmaWx0ZXJWYWx1ZS5jb21wbGV0ZWRGQ05dLFxuICAgICAgc3RhcnRUaW1lRkNOOiBbXG4gICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTiA/XG4gICAgICAgIG5ldyBSYW5nZVZhbHVlKFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5vcGVyYXRvcixcbiAgICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04uZmlyc3RWYWx1ZSxcbiAgICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04uc2Vjb25kVmFsdWVcbiAgICAgICAgKSA6IG51bGxcbiAgICAgIF1cbiAgICB9KTtcbiAgICB0aGlzLmZpbHRlckZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmFwcENhY2hlLnNldEl0ZW0odGhpcy5maWx0ZXJDYWNoZUtleSwgdGhpcy5maWx0ZXJGb3JtLnZhbHVlKS5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vblBhZ2VDaGFuZ2VkKCksIDEwMCk7XG4gIH1cblxuICByZWZyZXNoTGlzdCgpIHtcbiAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgfVxuXG4gIGluaXRHcmlkKCkge1xuICAgIHRoaXMuc2V0dGluZ3MgPSB7dG90YWw6IDAsIHNpemU6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkV9O1xuICAgIHRoaXMuc29ydEZpZWxkcyA9IFtcbiAgICAgIHtmaWVsZDogJ3N0YXJ0dGltZScsIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmdyaWQuc29ydC5kYXRlJyksIHNvcnQ6ICcnfSxcbiAgICAgIHtmaWVsZDogJ21vZGVsbmFtZScsIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3Muc29ydC50eXBlJyksIHNvcnQ6ICcnfVxuICAgIF07XG5cbiAgICBjb25zdCBzb3J0Q29sRGVmcyA9IEN1c3RvbVNvcnRDb21wb25lbnQuc29ydENvbERlZnModGhpcy5zb3J0RmllbGRzKTtcbiAgICB0aGlzLmdyaWRPcHRpb25zID0ge1xuICAgICAgY29udGV4dDogeyBjb3VudDogMCB9LFxuICAgICAgY29sdW1uRGVmczogdGhpcy5jb2xEZWZzLmNvbmNhdChzb3J0Q29sRGVmcyksXG4gICAgICByb3dCdWZmZXI6IDIwLFxuICAgICAgcm93SGVpZ2h0OiA4MCxcbiAgICAgIHJvd1NlbGVjdGlvbjogJ3NpbmdsZScsXG4gICAgICByb3dEYXRhOiBbXVxuICAgIH07XG4gIH1cblxuICByZXNldEZpbHRlcnMoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybSkge1xuICAgICAgdGhpcy5maWx0ZXJGb3JtLnNldFZhbHVlKHRoaXMuZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSk7XG4gICAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgICB9XG4gIH1cblxuICBzb3J0KGZpZWxkLCBkaXJlY3Rpb24pIHtcbiAgICB0aGlzLnNvcnRQYXJhbXNbZmllbGRdID0gZGlyZWN0aW9uO1xuICAgIHRoaXMuYXBwQ2FjaGUuc2V0SXRlbSh0aGlzLnNvcnRDYWNoZUtleSwgdGhpcy5zb3J0UGFyYW1zKS5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZWQocGFnZTogbnVtYmVyID0gMSkge1xuICAgIHRoaXMuZmV0Y2hSb3dEYXRhKHtcbiAgICAgIHN0YXJ0Um93OiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFICogKHBhZ2UgLSAxKSxcbiAgICAgIHN1Y2Nlc3NDYWxsYmFjazogKHJvd3MsIHRvdGFsKSA9PiB7XG4gICAgICAgIHRoaXMuZW9HcmlkLmFwaS5zZXRSb3dEYXRhKHJvd3MpO1xuICAgICAgICB0aGlzLnNldHRpbmdzID0ge3RvdGFsLCBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCBwYWdlfTtcbiAgICAgICAgdGhpcy5lb0dyaWQuc2VsZWN0Um93KDApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFJvd0RhdGEocGFyYW1zKSB7XG4gICAgY29uc3QgcGFnZSA9IE1hdGguZmxvb3IocGFyYW1zLnN0YXJ0Um93IC8gdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSk7XG4gICAgdGhpcy5nZXRQcm9jZXNzZXMoeyBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCBwYWdlIH0pLnN1YnNjcmliZSgocHJvY2Vzc2VzKSA9PiB7XG4gICAgICBpZiAocGFyYW1zLnN0YXJ0Um93ID09PSAwKSB7XG4gICAgICAgIHRoaXMuZW1wdHlTdGF0ZTEgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUocHJvY2Vzc2VzLmNvbnRlbnQgPyBwcm9jZXNzZXMuY29udGVudC5sZW5ndGggOiAtMSwgdW5kZWZpbmVkLCAnaWNfbm8tZmlsZS5zdmcnKTtcbiAgICAgICAgdGhpcy5lbXB0eVN0YXRlMiA9IHRoaXMuZW1wdHkuZ2V0RW1wdHlTdGF0ZShwcm9jZXNzZXMuY29udGVudCA/IHByb2Nlc3Nlcy5jb250ZW50Lmxlbmd0aCA6IC0xLCB1bmRlZmluZWQsICdpY19uby1maWxlLnN2ZycpO1xuICAgICAgfVxuICAgICAgdGhpcy5lb0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5yb3dDb3VudCA9IHByb2Nlc3Nlcy50b3RhbEVsZW1lbnRzO1xuICAgICAgdGhpcy5lb0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9IHByb2Nlc3Nlcy50b3RhbEVsZW1lbnRzO1xuICAgICAgcGFyYW1zLnN1Y2Nlc3NDYWxsYmFjayhwcm9jZXNzZXMucHJvY2Vzc2VzLCBwcm9jZXNzZXMudG90YWxFbGVtZW50cyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFByb2Nlc3NlcyhvcHRpb25zKSB7XG4gICAgbGV0IHVybCA9IFV0aWxzLmJ1aWxkVXJpKGAvcHJvY2Vzc2VzYCwgb3B0aW9ucyB8fCB7fSk7XG4gICAgdXJsID0gdGhpcy5hZGRGaWx0ZXJQYXJhbXNUb1VybCh1cmwpO1xuICAgIHVybCA9IHRoaXMuYWRkU29ydFBhcmFtc1RvVXJsKHVybCk7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24odXJsLCB0aGlzLmJhY2tlbmQuZ2V0QnBtQmFzZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgbGV0IHByb2Nlc3NlcyA9IHJlc3BvbnNlLmNvbnRlbnQubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvY2VzcyA9IG5ldyBQcm9jZXNzKGl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuIHByb2Nlc3M7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmVzcG9uc2UucHJvY2Vzc2VzID0gdGhpcy5hZGRJY29uVXJsKHByb2Nlc3Nlcyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRmlsdGVyUGFyYW1zVG9VcmwodXJsKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVyRm9ybSB8fCAhdGhpcy5maWx0ZXJGb3JtLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdXJsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY3JlYXRlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5ydW5uaW5nRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9MjBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5jb21wbGV0ZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT0zMFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLnBhdXNlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTQwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY2FuY2VsZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT01MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmZhaWxlZEZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTYwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUubW9kZWxGQ04pIHtcbiAgICAgIHVybCArPVxuICAgICAgICBcIiZtb2RlbGlkPVwiICsgdGhpcy5nZXRNb2RlbElkRnJvbU5hbWUodGhpcy5maWx0ZXJGb3JtLnZhbHVlLm1vZGVsRkNOKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ04gJiYgdGhpcy5maWx0ZXJGb3JtLnZhbHVlLnN0YXJ0VGltZUZDTi5maXJzdFZhbHVlKSB7XG5cbiAgICAgIGNvbnN0IHtvcGVyYXRvciwgZmlyc3RWYWx1ZSwgc2Vjb25kVmFsdWV9ID0gdGhpcy5maWx0ZXJGb3JtLnZhbHVlLnN0YXJ0VGltZUZDTjtcbiAgICAgIGNvbnN0IHF1ZXJ5OiBhbnkgPSBuZXcgU2VhcmNoRmlsdGVyKCdzdGFydHRpbWUnLCBvcGVyYXRvciwgZmlyc3RWYWx1ZSwgc2Vjb25kVmFsdWUsIHt0aW1lOiB0cnVlLCB0aW1lem9uZTogdHJ1ZX0pLnRvRGF0ZVRpbWVRdWVyeSgpO1xuXG4gICAgICBpZiAocXVlcnkubyA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMKSB7XG4gICAgICAgIHVybCArPSAnJnN0YXJ0dGltZV9lcT0nICsgcXVlcnkudjE7XG4gICAgICB9XG4gICAgICBpZiAocXVlcnkuby5tYXRjaChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuR1JFQVRFUl9PUl9FUVVBTCkpIHtcbiAgICAgICAgdXJsICs9IFwiJnN0YXJ0dGltZV9ndGU9XCIgKyBxdWVyeS52MTtcbiAgICAgIH1cbiAgICAgIGlmIChxdWVyeS5vLm1hdGNoKFNlYXJjaEZpbHRlci5PUEVSQVRPUi5MRVNTX09SX0VRVUFMKSkge1xuICAgICAgICB1cmwgKz0gXCImc3RhcnR0aW1lX2x0ZT1cIiArIChxdWVyeS5vID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIID8gcXVlcnkudjIgOiBxdWVyeS52MSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGFkZFNvcnRQYXJhbXNUb1VybCh1cmwpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNvcnRQYXJhbXMuc3RhcnRUaW1lKSB7XG4gICAgICB1cmwgKz0gXCImc29ydD1zdGFydHRpbWUsXCIgKyB0aGlzLnNvcnRQYXJhbXMuc3RhcnRUaW1lO1xuICAgIH1cbiAgICBpZiAodGhpcy5zb3J0UGFyYW1zLm1vZGVsTmFtZSkge1xuICAgICAgdXJsICs9IFwiJnNvcnQ9bmFtZSxcIiArIHRoaXMuc29ydFBhcmFtcy5tb2RlbE5hbWU7XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZGVsSWRGcm9tTmFtZShtb2RlbE5hbWUpOiBzdHJpbmcge1xuICAgIGxldCBpZCA9IFwiXCI7XG4gICAgdGhpcy5wcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzLmZvckVhY2gobW9kZWwgPT4ge1xuICAgICAgaWYgKG1vZGVsLm5hbWUgPT09IG1vZGVsTmFtZSkge1xuICAgICAgICBpZCA9IG1vZGVsLmlkO1xuICAgICAgfSBlbHNlIGlmIChtb2RlbC5tb2RlbHMpIHtcbiAgICAgICAgbW9kZWwubW9kZWxzLmZvckVhY2goc3VibW9kZWwgPT4ge1xuICAgICAgICAgIGlmIChzdWJtb2RlbC5uYW1lID09PSBtb2RlbE5hbWUpIHtcbiAgICAgICAgICAgIGlkID0gc3VibW9kZWwuaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICBhZGRJY29uVXJsKHByb2Nlc3NlczogUHJvY2Vzc1tdKSB7XG4gICAgcHJvY2Vzc2VzLmZvckVhY2goKHByb2Nlc3M6IFByb2Nlc3MpID0+IHtcbiAgICAgIGlmICghcHJvY2Vzcy5pY29uaWQpIHtcbiAgICAgICAgaWYgKHByb2Nlc3Muc3RhdGUgPT09ICdFUlJPUlNVU1BFTkRFRCcpIHtcbiAgICAgICAgICBwcm9jZXNzLmljb251cmwgPSAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG1fd2FybmluZy5zdmcnO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3Muc3RhdGUgPT09ICdDT01QTEVURUQnKSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtX2RvbmUuc3ZnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9jZXNzLmljb251cmwgPSBcImFzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtLnN2Z1wiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHByb2Nlc3NlcztcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcihwYXJhbXMpIHtcbiAgICBpZiAocGFyYW1zLmRhdGEpIHtcbiAgICAgIGxldCBpY29uID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKFwiaWNvblwiLCBwYXJhbXMsIHtcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICB1cmw6IHBhcmFtcy5kYXRhLmljb25pZCA/IFwiXCIgOiBwYXJhbXMuZGF0YS5pY29udXJsLFxuICAgICAgICAgIGljb25JZDogIXBhcmFtcy5kYXRhLmljb25pZCA/IFwiXCIgOiBwYXJhbXMuZGF0YS5pY29uaWQsXG4gICAgICAgICAgbGFiZWw6IHBhcmFtcy5kYXRhLm1vZGVsbmFtZVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywgeyB2YWx1ZTogcGFyYW1zLmRhdGEuc3RhcnR0aW1lLCBwYXR0ZXJuOiAnZW9TaG9ydERhdGUnIH0pO1xuICAgICAgY29uc3QgZW5kVGltZSA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignZGF0ZVRpbWUnLCBwYXJhbXMsIHsgdmFsdWU6IHBhcmFtcy5kYXRhLmVuZHRpbWUsIHBhdHRlcm46ICdlb1Nob3J0RGF0ZScgfSk7XG4gICAgICBjb25zdCBoYXNFcnJvciA9IHBhcmFtcy5kYXRhLnN0YXRlID09PSAnRVJST1JTVVNQRU5ERUQnID8gJ2Vycm9yJyA6ICcnO1xuICAgICAgY29uc3QgaGFzTm90WWV0QmVlblN0YXJ0ZWQgPSBwYXJhbXMuZGF0YS5zdGF0ZSA9PT0gMCA/ICdub3RzdGFydGVkJyA6ICcnO1xuICAgICAgY29uc3QgZW5kVGltZU1hcmt1cDogc3RyaW5nID0gKGVuZFRpbWUubGVuZ3RoKSA/IGA8ZGl2IGNsYXNzPVwiZGF0ZSBlbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke3BhcmFtcy5jb250ZXh0LnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wcm9jZXNzLmVuZC50aW1lLmxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+ICR7ZW5kVGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6IFwiXCI7XG4gICAgICBjb25zdCBzdGFydFRpbWVNYXJrdXA6IHN0cmluZyA9IHN0YXJ0VGltZS5sZW5ndGhcbiAgICAgICAgPyBgPGRpdiBjbGFzcz1cImRhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke3BhcmFtcy5jb250ZXh0LnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlby5wcm9jZXNzLnN0YXJ0LnRpbWUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+ICR7c3RhcnRUaW1lfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgIDogXCJcIjtcblxuICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtICR7aGFzRXJyb3J9ICR7aGFzTm90WWV0QmVlblN0YXJ0ZWR9XCIgdW5zZWxlY3RhYmxlPlxuICAgICAgICAgICAgJHtpY29ufVxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudCc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RpdGxlJz4ke3BhcmFtcy5kYXRhLnRpdGxlIHx8IFwiLi4uXCJ9PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2Rlc2NyaXB0aW9uJz4ke3BhcmFtcy5kYXRhLm1vZGVsbmFtZSB8fCBcIi4uLlwifTwvZGl2PlxuICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVsYWJlbFwiPlxuICAgICAgICAgICAgICAgICR7c3RhcnRUaW1lTWFya3VwfVxuICAgICAgICAgICAgICAgICR7ZW5kVGltZU1hcmt1cH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgICBgO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdEdyaWQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gIH1cblxuICBoYXNDaGFuZ2VkKG9WLCBuVik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvVikgIT09IEpTT04uc3RyaW5naWZ5KG5WKTtcbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cbn1cbiIsIjx5dmMtc3BsaXQtdmlldyBbbGF5b3V0U2V0dGluZ3NJRF09XCInaW5ib3guc3RhdGUnXCI+XG4gIDwhLS0gbGlzdCAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1saXN0LWNvbnRhaW5lciAjZW9MaXN0IFthcHBseVNlbGVjdGlvbl09XCJ7b3V0OiBwcm9jZXNzU2VsZWN0aW9uSWR9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgICAgIDxlby1pY29uIGNsYXNzPVwiZW8taGVhZGVyLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG0uc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5wcm9jZXNzPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiByZWZyZXNoLWJ1dHRvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlZnJlc2hMaXN0KClcIlxuICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2ZpbHRlci5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIidlby5saXN0LmZpbHRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiaGFzQ2hhbmdlZChkZWZhdWx0RmlsdGVyRm9ybVZhbHVlLCBmaWx0ZXJGb3JtPy52YWx1ZSlcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tZmlsdGVyICNjRmlsdGVyIChjaGFuZ2UpPVwiY0ZpbHRlci51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWRTdWJqZWN0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXRpdGxlXCIgdHJhbnNsYXRlPmVvLmZpbHRlci5ieTwvZGl2PlxuICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiAqbmdJZj0nZmlsdGVyRm9ybSc+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLm1vZGVsJyB8IHRyYW5zbGF0ZSlcIiAqbmdJZj1cInByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0LmVudHJpZXMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tZHluYW1pYy1saXN0IGZvcm1Db250cm9sTmFtZT1cIm1vZGVsRkNOXCIgW3BpY2tlclRpdGxlXT1cIidNb2RlbHMnXCIgW2xpc3RPYmplY3RdPVwicHJvY2Vzc01vZGVsc0xpc3RPYmplY3RcIj48L2VvLWR5bmFtaWMtbGlzdD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnJ1bm5pbmcnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInJ1bm5pbmdGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMucGF1c2VkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJwYXVzZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY3JlYXRlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY3JlYXRlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5jYW5jZWxlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY2FuY2VsZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuZmFpbGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJmYWlsZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY29tcGxldGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjb21wbGV0ZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuc3RhcnR0aW1lJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1kYXRldGltZS1yYW5nZSBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFRpbWVGQ05cIiBbd2l0aFRpbWVdPVwiZmFsc2VcIj48L2VvLWRhdGV0aW1lLXJhbmdlPlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicmVzZXQtZmlsdGVyXCIgKGNsaWNrKT1cInJlc2V0RmlsdGVycygpXCIgKm5nSWY9XCJoYXNDaGFuZ2VkKGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUsIGZpbHRlckZvcm0/LnZhbHVlKVwiPlJlc2V0IGZpbHRlcjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9lby1jdXN0b20tZmlsdGVyPlxuICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvU29ydFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwib3ZlcmxheS1zb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zb3J0LnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiaGFzQ2hhbmdlZChkZWZhdWx0U29ydFBhcmFtcywgc29ydFBhcmFtcylcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tc29ydCAjY1NvcnQgW2lkXT1cIidwcm9jZXNzLnNvcnQnXCIgKGNoYW5nZSk9XCJjU29ydC51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib1NvcnQub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIiBbc29ydEZpZWxkc109XCJzb3J0RmllbGRzXCI+PC9lby1jdXN0b20tc29ydD5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWRcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgW3NlbGVjdEZpcnN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQpPVwiZW9MaXN0Lm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICAgIDxlby1wYWdpbmF0aW9uIFtzZXR0aW5nc109XCJzZXR0aW5nc1wiIChwYWdlQ2hhbmdlZCk9XCJvblBhZ2VDaGFuZ2VkKCRldmVudClcIj48L2VvLXBhZ2luYXRpb24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgIDxlby1lcnJvci1tZXNzYWdlIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfYnBtLnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLnByb2Nlc3MubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9lby1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIHByb2Nlc3MgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1wcm9jZXNzLWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cIntpbjogcHJvY2Vzc1NlbGVjdGlvbklkfVwiIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUxXCJcbiAgICBbcGx1Z2luc109XCIncHJvY2Vzcy1kZXRhaWxzLXRhYi5wcm9jZXNzJyB8IHBsdWdpbnNcIj5cbiAgICA8L2VvLXByb2Nlc3MtZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIG9iamVjdCBkZXRhaWxzIC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjQwXCI+XG4gICAgPGVvLW9iamVjdC1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVMYXlvdXRdPVwiJ3Byb2Nlc3Muc3RhdGUub2JqZWN0LWRldGFpbHMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbHVnaW5zXT1cIidvYmplY3QtZGV0YWlscy10YWIucHJvY2VzcycgfCBwbHVnaW5zXCI+XG4gICAgICAgIDwvZW8tb2JqZWN0LWRldGFpbHM+XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy1zcGxpdC12aWV3PlxuIl19
327
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9wcm9jZXNzLXN0YXRlL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcHJvY2Vzcy1zdGF0ZS9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQThDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFvQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckksT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUW5DLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZELE1BQU0sT0FBTyxxQkFBcUI7SUErQ2hDLFlBQ1MsU0FBMkIsRUFDM0IsVUFBc0IsRUFDdEIsU0FBMkIsRUFDMUIsS0FBd0IsRUFDeEIsT0FBdUIsRUFDdkIsRUFBc0IsRUFDdEIsWUFBOEIsRUFDOUIsUUFBeUIsRUFDekIsY0FBcUM7UUFSdEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBckQvQyx1QkFBa0Is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QVM7K0JBQ0Usa0JBQWtCOzhWQWlEUCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0FwcENhY2hlU2VydmljZSwgQmFja2VuZFNlcnZpY2UsIEJwbVNlcnZpY2UsIFByb2Nlc3MsIFJhbmdlVmFsdWUsIFNlYXJjaEZpbHRlciwgVHJhbnNsYXRlU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RW1wdHlTdGF0ZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7RW1wdHlTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQge0N1c3RvbVNvcnRDb21wb25lbnR9IGZyb20gXCIuLi8uLi9lby1mcmFtZXdvcmtcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImVvLXByb2Nlc3Mtc3RhdGVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NTdGF0ZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudCB7XG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgcHJvY2Vzc1NlbGVjdGlvbklkID0gXCJwcm9jZXNzXCI7XG4gIHByb2Nlc3NTZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2U7XG4gIGVtcHR5U3RhdGUxOiBFbXB0eVN0YXRlID0geyBpY29uOiBcIlwiLCB0ZXh0OiBcIlwiLCBjbGFzc05hbWU6IFwiXCIgfTtcbiAgZW1wdHlTdGF0ZTI6IEVtcHR5U3RhdGUgPSB7IGljb246IFwiXCIsIHRleHQ6IFwiXCIsIGNsYXNzTmFtZTogXCJcIiB9O1xuICBmaWx0ZXJDYWNoZUtleSA9IFwiZW8ucHJvY2Vzcy5saXN0LmZpbHRlclwiO1xuICBzb3J0Q2FjaGVLZXkgPSBcImVvLnByb2Nlc3MubGlzdC5zb3J0XCI7XG4gIFZJUlRVQUxfTElTVF9DSFVOS19TSVpFID0gNTA7XG4gIGZpbHRlckZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUgPSB7XG4gICAgbW9kZWxGQ046IG51bGwsXG4gICAgcnVubmluZ0ZDTjogdHJ1ZSxcbiAgICBwYXVzZWRGQ046IHRydWUsXG4gICAgY3JlYXRlZEZDTjogdHJ1ZSxcbiAgICBjYW5jZWxlZEZDTjogdHJ1ZSxcbiAgICBmYWlsZWRGQ046IHRydWUsXG4gICAgY29tcGxldGVkRkNOOiB0cnVlLFxuICAgIHN0YXJ0VGltZUZDTjogbnVsbFxuICB9O1xuICBzb3J0UGFyYW1zID0ge1xuICAgIHN0YXJ0dGltZTogJydcbiAgfTtcbiAgZGVmYXVsdFNvcnRQYXJhbXMgPSB7XG4gICAgc3RhcnR0aW1lOiAnJ1xuICB9O1xuICBzb3J0RmllbGRzOiBDb2xEZWZbXTtcbiAgc2V0dGluZ3MgPSB7fTtcbiAgY29sRGVmczogQ29sRGVmW10gPSBbXG4gICAge1xuICAgICAgaGVhZGVyTmFtZTogXCJcIixcbiAgICAgIGZpZWxkOiBcIl9fY3VzdG9tXCIsXG4gICAgICBjZWxsUmVuZGVyZXI6IHRoaXMuY2VsbFJlbmRlcmVyLFxuICAgICAgZmlsdGVyOiBmYWxzZVxuICAgIH1cbiAgXTtcbiAgcHJvY2Vzc01vZGVsc0xpc3RPYmplY3QgPSB7XG4gICAgZW50cmllczogW10sXG4gICAgY29uZmlnOiB7XG4gICAgICB2YWx1ZUZpZWxkOiBcIm5hbWVcIixcbiAgICAgIHN1YkVudHJpZXNGaWVsZDogXCJtb2RlbHNcIlxuICAgIH1cbiAgfTtcblxuICBAVmlld0NoaWxkKFwiZW9HcmlkXCIpIGVvR3JpZDogR3JpZENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBicG1TZXJ2aWNlOiBCcG1TZXJ2aWNlLFxuICAgIHB1YmxpYyBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbXB0eTogRW1wdHlTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBDYWNoZTogQXBwQ2FjaGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZVxuICApIHtcbiAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRCYXNlVGl0bGUodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3RhdGUucHJvY2VzcycpKTtcblxuICAgIC8vc2Vjb25kYXJ5IHNlbGVjdGlvbiBpbnN0YW5jZSBmb3IgaW5ib3ggaXRlbXNcbiAgICB0aGlzLnByb2Nlc3NTZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvbi5jcmVhdGVOZXcodGhpcy5wcm9jZXNzU2VsZWN0aW9uSWQpO1xuXG4gICAgdGhpcy5mZXRjaFByb2Nlc3NNb2RlbHMoKS5zdWJzY3JpYmUocHJvY2Vzc01vZGVscyA9PiB7XG4gICAgICB0aGlzLnByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0LmVudHJpZXMgPSBwcm9jZXNzTW9kZWxzO1xuICAgIH0pO1xuXG4gICAgdGhpcy5hcHBDYWNoZVxuICAgICAgLmdldEl0ZW0odGhpcy5maWx0ZXJDYWNoZUtleSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIGZpbHRlclZhbHVlID0+XG4gICAgICAgICAgdGhpcy5pbml0RmlsdGVyKFxuICAgICAgICAgICAgZmlsdGVyVmFsdWUgPyBmaWx0ZXJWYWx1ZSA6IHRoaXMuZGVmYXVsdEZpbHRlckZvcm1WYWx1ZVxuICAgICAgICAgICksXG4gICAgICAgICgpID0+IHRoaXMuaW5pdEZpbHRlcih0aGlzLmRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUpXG4gICAgICApO1xuXG4gICAgdGhpcy5hcHBDYWNoZS5nZXRJdGVtKHRoaXMuc29ydENhY2hlS2V5KS5zdWJzY3JpYmUoc29ydFBhcmFtcyA9PiB7XG4gICAgICBpZiAoc29ydFBhcmFtcykge1xuICAgICAgICB0aGlzLnNvcnRQYXJhbXMgPSBzb3J0UGFyYW1zO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFByb2Nlc3NNb2RlbHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldChcIi9icG0vbWFuYWdlbWVudC9wcm9qZWN0P2luY2x1ZGVNb2RlbHM9dHJ1ZVwiKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZpbHRlcihmaWx0ZXJWYWx1ZSkge1xuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbW9kZWxGQ046IFtmaWx0ZXJWYWx1ZS5tb2RlbEZDTl0sXG4gICAgICBydW5uaW5nRkNOOiBbZmlsdGVyVmFsdWUucnVubmluZ0ZDTl0sXG4gICAgICBwYXVzZWRGQ046IFtmaWx0ZXJWYWx1ZS5wYXVzZWRGQ05dLFxuICAgICAgY3JlYXRlZEZDTjogW2ZpbHRlclZhbHVlLmNyZWF0ZWRGQ05dLFxuICAgICAgY2FuY2VsZWRGQ046IFtmaWx0ZXJWYWx1ZS5jYW5jZWxlZEZDTl0sXG4gICAgICBmYWlsZWRGQ046IFtmaWx0ZXJWYWx1ZS5mYWlsZWRGQ05dLFxuICAgICAgY29tcGxldGVkRkNOOiBbZmlsdGVyVmFsdWUuY29tcGxldGVkRkNOXSxcbiAgICAgIHN0YXJ0VGltZUZDTjogW1xuICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04gP1xuICAgICAgICBuZXcgUmFuZ2VWYWx1ZShcbiAgICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04ub3BlcmF0b3IsXG4gICAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOLmZpcnN0VmFsdWUsXG4gICAgICAgICAgZmlsdGVyVmFsdWUuc3RhcnRUaW1lRkNOLnNlY29uZFZhbHVlXG4gICAgICAgICkgOiBudWxsXG4gICAgICBdXG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5hcHBDYWNoZS5zZXRJdGVtKHRoaXMuZmlsdGVyQ2FjaGVLZXksIHRoaXMuZmlsdGVyRm9ybS52YWx1ZSkuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub25QYWdlQ2hhbmdlZCgpLCAxMDApO1xuICB9XG5cbiAgcmVmcmVzaExpc3QoKSB7XG4gICAgdGhpcy5vblBhZ2VDaGFuZ2VkKCk7XG4gIH1cblxuICBpbml0R3JpZCgpIHtcbiAgICB0aGlzLnNldHRpbmdzID0ge3RvdGFsOiAwLCBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFfTtcbiAgICB0aGlzLnNvcnRGaWVsZHMgPSBbXG4gICAgICB7ZmllbGQ6ICdzdGFydHRpbWUnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5ncmlkLnNvcnQuZGF0ZScpLCBzb3J0OiAnJ30sXG4gICAgXTtcblxuICAgIGNvbnN0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICBjb250ZXh0OiB7IGNvdW50OiAwIH0sXG4gICAgICBjb2x1bW5EZWZzOiB0aGlzLmNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwLFxuICAgICAgcm93U2VsZWN0aW9uOiAnc2luZ2xlJyxcbiAgICAgIHJvd0RhdGE6IFtdXG4gICAgfTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtKSB7XG4gICAgICB0aGlzLmZpbHRlckZvcm0uc2V0VmFsdWUodGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlKTtcbiAgICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHNvcnQoZXZ0OiBDdXN0b21FdmVudCkge1xuICAgIHRoaXMuc29ydFBhcmFtcy5zdGFydHRpbWUgPSBldnQuZGV0YWlsWzBdPy5zb3J0ID8gZXZ0LmRldGFpbFswXS5zb3J0IDogJyc7XG4gICAgdGhpcy5hcHBDYWNoZS5zZXRJdGVtKHRoaXMuc29ydENhY2hlS2V5LCB0aGlzLnNvcnRQYXJhbXMpLnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlZChwYWdlOiBudW1iZXIgPSAxKSB7XG4gICAgdGhpcy5mZXRjaFJvd0RhdGEoe1xuICAgICAgc3RhcnRSb3c6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUgKiAocGFnZSAtIDEpLFxuICAgICAgc3VjY2Vzc0NhbGxiYWNrOiAocm93cywgdG90YWwpID0+IHtcbiAgICAgICAgdGhpcy5lb0dyaWQuYXBpLnNldFJvd0RhdGEocm93cyk7XG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSB7dG90YWwsIHNpemU6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUsIHBhZ2V9O1xuICAgICAgICB0aGlzLmVvR3JpZC5zZWxlY3RSb3coMCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoUm93RGF0YShwYXJhbXMpIHtcbiAgICBjb25zdCBwYWdlID0gTWF0aC5mbG9vcihwYXJhbXMuc3RhcnRSb3cgLyB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFKTtcbiAgICBjb25zdCBzb3J0ID0gdGhpcy5zb3J0UGFyYW1zLnN0YXJ0dGltZTtcbiAgICB0aGlzLmdldFByb2Nlc3Nlcyh7IHNpemU6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUsIHBhZ2UsIHNvcnR9KS5zdWJzY3JpYmUoKHByb2Nlc3NlcykgPT4ge1xuICAgICAgaWYgKHBhcmFtcy5zdGFydFJvdyA9PT0gMCkge1xuICAgICAgICB0aGlzLmVtcHR5U3RhdGUxID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKHByb2Nlc3Nlcy5jb250ZW50ID8gcHJvY2Vzc2VzLmNvbnRlbnQubGVuZ3RoIDogLTEsIHVuZGVmaW5lZCwgJ2ljX25vLWZpbGUuc3ZnJyk7XG4gICAgICAgIHRoaXMuZW1wdHlTdGF0ZTIgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUocHJvY2Vzc2VzLmNvbnRlbnQgPyBwcm9jZXNzZXMuY29udGVudC5sZW5ndGggOiAtMSwgdW5kZWZpbmVkLCAnaWNfbm8tZmlsZS5zdmcnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmNvbnRleHQucm93Q291bnQgPSBwcm9jZXNzZXMudG90YWxFbGVtZW50cztcbiAgICAgIHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSBwcm9jZXNzZXMudG90YWxFbGVtZW50cztcbiAgICAgIHBhcmFtcy5zdWNjZXNzQ2FsbGJhY2socHJvY2Vzc2VzLnByb2Nlc3NlcywgcHJvY2Vzc2VzLnRvdGFsRWxlbWVudHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcm9jZXNzZXMob3B0aW9ucykge1xuICAgIGxldCB1cmwgPSBVdGlscy5idWlsZFVyaShgL3Byb2Nlc3Nlc2AsIG9wdGlvbnMgfHwge30pO1xuICAgIHVybCA9IHRoaXMuYWRkRmlsdGVyUGFyYW1zVG9VcmwodXJsKTtcbiAgICB1cmwgPSB0aGlzLmFkZFNvcnRQYXJhbXNUb1VybCh1cmwpO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKHVybCwgdGhpcy5iYWNrZW5kLmdldEJwbUJhc2UoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIGxldCBwcm9jZXNzZXMgPSByZXNwb25zZS5jb250ZW50Lm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3MgPSBuZXcgUHJvY2VzcyhpdGVtKTtcbiAgICAgICAgICAgIHJldHVybiBwcm9jZXNzO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJlc3BvbnNlLnByb2Nlc3NlcyA9IHRoaXMuYWRkSWNvblVybChwcm9jZXNzZXMpO1xuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZEZpbHRlclBhcmFtc1RvVXJsKHVybCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmZpbHRlckZvcm0gfHwgIXRoaXMuZmlsdGVyRm9ybS52YWx1ZSkge1xuICAgICAgcmV0dXJuIHVybDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmNyZWF0ZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT0wXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUucnVubmluZ0ZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTIwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY29tcGxldGVkRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9MzBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5wYXVzZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT00MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmNhbmNlbGVkRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9NTBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5mYWlsZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT02MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLm1vZGVsRkNOKSB7XG4gICAgICB1cmwgKz1cbiAgICAgICAgXCImbW9kZWxpZD1cIiArIHRoaXMuZ2V0TW9kZWxJZEZyb21OYW1lKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5tb2RlbEZDTik7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuc3RhcnRUaW1lRkNOICYmIHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ04uZmlyc3RWYWx1ZSkge1xuXG4gICAgICBjb25zdCB7b3BlcmF0b3IsIGZpcnN0VmFsdWUsIHNlY29uZFZhbHVlfSA9IHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ047XG4gICAgICBjb25zdCBxdWVyeTogYW55ID0gbmV3IFNlYXJjaEZpbHRlcignc3RhcnR0aW1lJywgb3BlcmF0b3IsIGZpcnN0VmFsdWUsIHNlY29uZFZhbHVlLCB7dGltZTogdHJ1ZSwgdGltZXpvbmU6IHRydWV9KS50b0RhdGVUaW1lUXVlcnkoKTtcblxuICAgICAgaWYgKHF1ZXJ5Lm8gPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTCkge1xuICAgICAgICB1cmwgKz0gJyZzdGFydHRpbWVfZXE9JyArIHF1ZXJ5LnYxO1xuICAgICAgfVxuICAgICAgaWYgKHF1ZXJ5Lm8ubWF0Y2goU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkdSRUFURVJfT1JfRVFVQUwpKSB7XG4gICAgICAgIHVybCArPSBcIiZzdGFydHRpbWVfZ3RlPVwiICsgcXVlcnkudjE7XG4gICAgICB9XG4gICAgICBpZiAocXVlcnkuby5tYXRjaChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuTEVTU19PUl9FUVVBTCkpIHtcbiAgICAgICAgdXJsICs9IFwiJnN0YXJ0dGltZV9sdGU9XCIgKyAocXVlcnkubyA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOVEVSVkFMX0lOQ0xVREVfQk9USCA/IHF1ZXJ5LnYyIDogcXVlcnkudjEpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRTb3J0UGFyYW1zVG9VcmwodXJsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zb3J0UGFyYW1zLnN0YXJ0dGltZSkge1xuICAgICAgdXJsICs9ICcmc29ydD1zdGFydHRpbWUsJyArIHRoaXMuc29ydFBhcmFtcy5zdGFydHRpbWU7XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZGVsSWRGcm9tTmFtZShtb2RlbE5hbWUpOiBzdHJpbmcge1xuICAgIGxldCBpZCA9IFwiXCI7XG4gICAgdGhpcy5wcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzLmZvckVhY2gobW9kZWwgPT4ge1xuICAgICAgaWYgKG1vZGVsLm5hbWUgPT09IG1vZGVsTmFtZSkge1xuICAgICAgICBpZCA9IG1vZGVsLmlkO1xuICAgICAgfSBlbHNlIGlmIChtb2RlbC5tb2RlbHMpIHtcbiAgICAgICAgbW9kZWwubW9kZWxzLmZvckVhY2goc3VibW9kZWwgPT4ge1xuICAgICAgICAgIGlmIChzdWJtb2RlbC5uYW1lID09PSBtb2RlbE5hbWUpIHtcbiAgICAgICAgICAgIGlkID0gc3VibW9kZWwuaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICBhZGRJY29uVXJsKHByb2Nlc3NlczogUHJvY2Vzc1tdKSB7XG4gICAgcHJvY2Vzc2VzLmZvckVhY2goKHByb2Nlc3M6IFByb2Nlc3MpID0+IHtcbiAgICAgIGlmICghcHJvY2Vzcy5pY29uaWQpIHtcbiAgICAgICAgaWYgKHByb2Nlc3Muc3RhdGUgPT09ICdFUlJPUlNVU1BFTkRFRCcpIHtcbiAgICAgICAgICBwcm9jZXNzLmljb251cmwgPSAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG1fd2FybmluZy5zdmcnO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3Muc3RhdGUgPT09ICdDT01QTEVURUQnKSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtX2RvbmUuc3ZnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcm9jZXNzLmljb251cmwgPSBcImFzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtLnN2Z1wiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHByb2Nlc3NlcztcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcihwYXJhbXMpIHtcbiAgICBpZiAocGFyYW1zLmRhdGEpIHtcbiAgICAgIGxldCBpY29uID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKFwiaWNvblwiLCBwYXJhbXMsIHtcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICB1cmw6IHBhcmFtcy5kYXRhLmljb25pZCA/IFwiXCIgOiBwYXJhbXMuZGF0YS5pY29udXJsLFxuICAgICAgICAgIGljb25JZDogIXBhcmFtcy5kYXRhLmljb25pZCA/IFwiXCIgOiBwYXJhbXMuZGF0YS5pY29uaWQsXG4gICAgICAgICAgbGFiZWw6IHBhcmFtcy5kYXRhLm1vZGVsbmFtZVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywgeyB2YWx1ZTogcGFyYW1zLmRhdGEuc3RhcnR0aW1lLCBwYXR0ZXJuOiAnZW9TaG9ydERhdGUnIH0pO1xuICAgICAgY29uc3QgZW5kVGltZSA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignZGF0ZVRpbWUnLCBwYXJhbXMsIHsgdmFsdWU6IHBhcmFtcy5kYXRhLmVuZHRpbWUsIHBhdHRlcm46ICdlb1Nob3J0RGF0ZScgfSk7XG4gICAgICBjb25zdCBoYXNFcnJvciA9IHBhcmFtcy5kYXRhLnN0YXRlID09PSAnRVJST1JTVVNQRU5ERUQnID8gJ2Vycm9yJyA6ICcnO1xuICAgICAgY29uc3QgaGFzTm90WWV0QmVlblN0YXJ0ZWQgPSBwYXJhbXMuZGF0YS5zdGF0ZSA9PT0gMCA/ICdub3RzdGFydGVkJyA6ICcnO1xuICAgICAgY29uc3QgZW5kVGltZU1hcmt1cDogc3RyaW5nID0gKGVuZFRpbWUubGVuZ3RoKSA/IGA8ZGl2IGNsYXNzPVwiZGF0ZSBlbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke3BhcmFtcy5jb250ZXh0LnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wcm9jZXNzLmVuZC50aW1lLmxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+ICR7ZW5kVGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6IFwiXCI7XG4gICAgICBjb25zdCBzdGFydFRpbWVNYXJrdXA6IHN0cmluZyA9IHN0YXJ0VGltZS5sZW5ndGhcbiAgICAgICAgPyBgPGRpdiBjbGFzcz1cImRhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke3BhcmFtcy5jb250ZXh0LnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlby5wcm9jZXNzLnN0YXJ0LnRpbWUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+ICR7c3RhcnRUaW1lfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgIDogXCJcIjtcblxuICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtICR7aGFzRXJyb3J9ICR7aGFzTm90WWV0QmVlblN0YXJ0ZWR9XCIgdW5zZWxlY3RhYmxlPlxuICAgICAgICAgICAgJHtpY29ufVxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudCc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J3RpdGxlJz4ke3BhcmFtcy5kYXRhLnRpdGxlIHx8IFwiLi4uXCJ9PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2Rlc2NyaXB0aW9uJz4ke3BhcmFtcy5kYXRhLm1vZGVsbmFtZSB8fCBcIi4uLlwifTwvZGl2PlxuICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVsYWJlbFwiPlxuICAgICAgICAgICAgICAgICR7c3RhcnRUaW1lTWFya3VwfVxuICAgICAgICAgICAgICAgICR7ZW5kVGltZU1hcmt1cH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgICBgO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdEdyaWQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gIH1cblxuICBoYXNDaGFuZ2VkKG9WLCBuVik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvVikgIT09IEpTT04uc3RyaW5naWZ5KG5WKTtcbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cbn1cbiIsIjx5dmMtc3BsaXQtdmlldyBbbGF5b3V0U2V0dGluZ3NJRF09XCInaW5ib3guc3RhdGUnXCI+XG4gIDwhLS0gbGlzdCAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1saXN0LWNvbnRhaW5lciAjZW9MaXN0IFthcHBseVNlbGVjdGlvbl09XCJ7b3V0OiBwcm9jZXNzU2VsZWN0aW9uSWR9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgICAgIDxlby1pY29uIGNsYXNzPVwiZW8taGVhZGVyLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG0uc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5wcm9jZXNzPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiByZWZyZXNoLWJ1dHRvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlZnJlc2hMaXN0KClcIlxuICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2ZpbHRlci5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIidlby5saXN0LmZpbHRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiaGFzQ2hhbmdlZChkZWZhdWx0RmlsdGVyRm9ybVZhbHVlLCBmaWx0ZXJGb3JtPy52YWx1ZSlcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tZmlsdGVyICNjRmlsdGVyIChjaGFuZ2UpPVwiY0ZpbHRlci51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWRTdWJqZWN0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXRpdGxlXCIgdHJhbnNsYXRlPmVvLmZpbHRlci5ieTwvZGl2PlxuICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiAqbmdJZj0nZmlsdGVyRm9ybSc+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLm1vZGVsJyB8IHRyYW5zbGF0ZSlcIiAqbmdJZj1cInByb2Nlc3NNb2RlbHNMaXN0T2JqZWN0LmVudHJpZXMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tZHluYW1pYy1saXN0IGZvcm1Db250cm9sTmFtZT1cIm1vZGVsRkNOXCIgW3BpY2tlclRpdGxlXT1cIidNb2RlbHMnXCIgW2xpc3RPYmplY3RdPVwicHJvY2Vzc01vZGVsc0xpc3RPYmplY3RcIj48L2VvLWR5bmFtaWMtbGlzdD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnJ1bm5pbmcnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInJ1bm5pbmdGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMucGF1c2VkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJwYXVzZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY3JlYXRlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY3JlYXRlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5jYW5jZWxlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiY2FuY2VsZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuZmFpbGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJmYWlsZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY29tcGxldGVkJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjb21wbGV0ZWRGQ05cIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuc3RhcnR0aW1lJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1kYXRldGltZS1yYW5nZSBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFRpbWVGQ05cIiBbd2l0aFRpbWVdPVwiZmFsc2VcIj48L2VvLWRhdGV0aW1lLXJhbmdlPlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicmVzZXQtZmlsdGVyXCIgKGNsaWNrKT1cInJlc2V0RmlsdGVycygpXCIgKm5nSWY9XCJoYXNDaGFuZ2VkKGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUsIGZpbHRlckZvcm0/LnZhbHVlKVwiPlJlc2V0IGZpbHRlcjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9lby1jdXN0b20tZmlsdGVyPlxuICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvU29ydFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwib3ZlcmxheS1zb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zb3J0LnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiaGFzQ2hhbmdlZChkZWZhdWx0U29ydFBhcmFtcywgc29ydFBhcmFtcylcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tc29ydCBbaWRdPVwiJ3Byb2Nlc3Muc29ydCdcIiAoY2hhbmdlKT1cInNvcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2ZSk9XCJvU29ydC5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiIFtzb3J0RmllbGRzXT1cInNvcnRGaWVsZHNcIj48L2VvLWN1c3RvbS1zb3J0PlxuICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWJvZHlcIj5cbiAgICAgICAgPGVvLWdyaWQgI2VvR3JpZFxuICAgICAgICAgICAgICAgICAqbmdJZj1cImdyaWRPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgW2dyaWRPcHRpb25zXT1cImdyaWRPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgW2Z1bGxXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgIFtzaG93Rm9vdGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbc2VsZWN0Rmlyc3RdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgIChlb0dyaWRDb3VudENoYW5nZWQpPVwiZW9MaXN0Lm9uQ291bnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAoZW9HcmlkU2VsZWN0aW9uQ2hhbmdlZCk9XCJlb0xpc3Qub25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAoZW9HcmlkRm9jdXNDaGFuZ2VkKT1cImVvTGlzdC5vbkZvY3VzQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICAgICAgICAgICAgPGVvLXRvdGFsLWNvdW50IFtncmlkQ291bnRdPVwiZW9MaXN0LmdyaWRDb3VudFwiIFtvdXRzaWRlR3JpZF09XCJmYWxzZVwiIGNsYXNzPVwiZmxleC1yb3dcIj48L2VvLXRvdGFsLWNvdW50PlxuICAgICAgICAgICAgPGVvLXBhZ2luYXRpb24gW3NldHRpbmdzXT1cInNldHRpbmdzXCIgKHBhZ2VDaGFuZ2VkKT1cIm9uUGFnZUNoYW5nZWQoJGV2ZW50KVwiPjwvZW8tcGFnaW5hdGlvbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICAgICAgPGVvLWVycm9yLW1lc3NhZ2UgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19icG0uc3ZnJywgdGV4dDogb0ZpbHRlci5hY3RpdmUgPyAnZW8ubm8uZmlsdGVyLnJlc3VsdCcgOiAnZW8ucHJvY2Vzcy5saXN0LmVtcHR5J31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgICA8ZW8tcmVzZXQtZmlsdGVyIFtpc0ZpbHRlckFjdGl2ZV09XCJvRmlsdGVyLmFjdGl2ZVwiIChjbGljayk9XCJyZXNldEZpbHRlcnMoKVwiPjwvZW8tcmVzZXQtZmlsdGVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2VvLWdyaWQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2VvLWxpc3QtY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gcHJvY2VzcyBkZXRhaWxzIC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjMwXCI+XG4gICAgPGVvLXByb2Nlc3MtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie2luOiBwcm9jZXNzU2VsZWN0aW9uSWR9XCIgW2VtcHR5U3RhdGVdPVwiZW1wdHlTdGF0ZTFcIlxuICAgIFtwbHVnaW5zXT1cIidwcm9jZXNzLWRldGFpbHMtdGFiLnByb2Nlc3MnIHwgcGx1Z2luc1wiPlxuICAgIDwvZW8tcHJvY2Vzcy1kZXRhaWxzPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gb2JqZWN0IGRldGFpbHMgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiNDBcIj5cbiAgICA8ZW8tb2JqZWN0LWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cInt9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWNoZUxheW91dF09XCIncHJvY2Vzcy5zdGF0ZS5vYmplY3QtZGV0YWlscydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwiZW1wdHlTdGF0ZTJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNdPVwiJ29iamVjdC1kZXRhaWxzLXRhYi5wcm9jZXNzJyB8IHBsdWdpbnNcIj5cbiAgICAgICAgPC9lby1vYmplY3QtZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwveXZjLXNwbGl0LXZpZXc+XG4iXX0=