@c8y/ngx-components 1021.36.0 → 1021.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/alarms/alarms-view.service.d.ts.map +1 -1
  2. package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
  3. package/core/common/forOf.directive.d.ts.map +1 -1
  4. package/core/file-picker/file-picker.component.d.ts +4 -2
  5. package/core/file-picker/file-picker.component.d.ts.map +1 -1
  6. package/core/forms/validation-pattern.d.ts +8 -0
  7. package/core/forms/validation-pattern.d.ts.map +1 -1
  8. package/core/i18n/datahub.pattern-messages.data.d.ts +30 -0
  9. package/core/i18n/datahub.pattern-messages.data.d.ts.map +1 -0
  10. package/core/i18n/i18n.module.d.ts.map +1 -1
  11. package/esm2022/alarms/alarms-view.service.mjs +3 -1
  12. package/esm2022/alarms/alarms.component.mjs +2 -2
  13. package/esm2022/assets-navigator/asset-selector/asset-selector.component.mjs +3 -3
  14. package/esm2022/context-dashboard/context-dashboard.component.mjs +8 -2
  15. package/esm2022/core/common/forOf.directive.mjs +5 -1
  16. package/esm2022/core/file-picker/file-picker.component.mjs +7 -5
  17. package/esm2022/core/forms/validation-pattern.mjs +9 -1
  18. package/esm2022/core/i18n/datahub.pattern-messages.data.mjs +31 -0
  19. package/esm2022/core/i18n/i18n.module.mjs +3 -1
  20. package/esm2022/core/navigator/navigator-bottom/navigator-bottom.component.mjs +3 -3
  21. package/esm2022/operations/operations-list/operations-list-item.component.mjs +14 -6
  22. package/esm2022/operations/operations-list/operations-list.component.mjs +13 -5
  23. package/esm2022/repository/configuration/list/configuration-detail.component.mjs +5 -4
  24. package/esm2022/repository/firmware/list/add-firmware-modal.component.mjs +5 -4
  25. package/esm2022/repository/software/list/add-software-modal.component.mjs +5 -4
  26. package/fesm2022/c8y-ngx-components-alarms.mjs +3 -1
  27. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  28. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +2 -2
  29. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  30. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +6 -0
  31. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  32. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +25 -9
  33. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
  34. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +10 -9
  35. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  36. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +4 -3
  37. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  38. package/fesm2022/c8y-ngx-components-repository-software.mjs +4 -3
  39. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  40. package/fesm2022/c8y-ngx-components.mjs +115 -71
  41. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  42. package/locales/de.po +22 -4
  43. package/locales/es.po +22 -4
  44. package/locales/fr.po +22 -4
  45. package/locales/ja_JP.po +22 -5
  46. package/locales/ko.po +22 -5
  47. package/locales/locales.pot +20 -2
  48. package/locales/nl.po +22 -4
  49. package/locales/pl.po +22 -4
  50. package/locales/pt_BR.po +22 -4
  51. package/locales/zh_CN.po +22 -5
  52. package/locales/zh_TW.po +22 -5
  53. package/operations/operations-list/operations-list-item.component.d.ts +3 -1
  54. package/operations/operations-list/operations-list-item.component.d.ts.map +1 -1
  55. package/operations/operations-list/operations-list.component.d.ts +1 -0
  56. package/operations/operations-list/operations-list.component.d.ts.map +1 -1
  57. package/package.json +1 -1
  58. package/repository/configuration/list/configuration-detail.component.d.ts +2 -1
  59. package/repository/configuration/list/configuration-detail.component.d.ts.map +1 -1
  60. package/repository/firmware/list/add-firmware-modal.component.d.ts +2 -1
  61. package/repository/firmware/list/add-firmware-modal.component.d.ts.map +1 -1
  62. package/repository/software/list/add-software-modal.component.d.ts +2 -1
  63. package/repository/software/list/add-software-modal.component.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"alarms-view.service.d.ts","sourceRoot":"","sources":["../../alarms/alarms-view.service.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAChB,YAAY,EAGZ,MAAM,EACN,WAAW,EAEX,cAAc,EACd,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAmB,UAAU,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;;AAE1E;;;;;;;;GAQG;AACH,qBAGa,iBAAiB;IAa1B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;IAbxB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,kBAAkB,CAAuB;IAChF,QAAQ,CAAC,sBAAsB,SAAU;IACzC,QAAQ,CAAC,4BAA4B,cAAc;IACnD,QAAQ,CAAC,uBAAuB,WAA2C;IAC3E,QAAQ,CAAC,8BAA8B,4CAAsD;IAE7F,kBAAkB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACxC,iBAAiB,gBAAuB;IAExC,OAAO,CAAC,kBAAkB,CAA2B;gBAG3C,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc;IAQxC;;OAEG;IACH,eAAe,IAAI,IAAI;IAIvB;;;;;;;;;OASG;IACH,sBAAsB,CACpB,UAAU,EAAE,YAAY,EAAE,EAC1B,WAAW,UAAQ,EACnB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAC5B,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAkB/B,oBAAoB,CAAC,KAAK,EAAE,eAAe;IAS3C;;;OAGG;IACH,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIzC;;;;;;;;;OASG;IACG,wBAAwB,CAC5B,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC;IAYlB;;;;;OAKG;IACH,iBAAiB,IAAI,OAAO;IAK5B;;;;;;OAMG;IACH,wBAAwB,CAAC,eAAe,EAAE,cAAc,GAAG,YAAY,EAAE;IAMzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,oBAAoB,CACxB,kBAAkB,EAAE,YAAY,EAAE,EAClC,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,OAAO,CAAC;QAAE,mBAAmB,EAAE,OAAO,CAAA;KAAE,CAAC;IAwB5C;;;;;OAKG;IACH,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAmBhE;;;;;OAKG;IACH,wBAAwB,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAI7E;;;;OAIG;IACH,4BAA4B,CAAC,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,eAAe;IAWpF;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;yCAzQpB,iBAAiB;6CAAjB,iBAAiB;CAgR7B"}
1
+ {"version":3,"file":"alarms-view.service.d.ts","sourceRoot":"","sources":["../../alarms/alarms-view.service.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAChB,YAAY,EAGZ,MAAM,EACN,WAAW,EAEX,cAAc,EACd,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAmB,UAAU,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;;AAE1E;;;;;;;;GAQG;AACH,qBAGa,iBAAiB;IAa1B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;IAbxB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,kBAAkB,CAAuB;IAChF,QAAQ,CAAC,sBAAsB,SAAU;IACzC,QAAQ,CAAC,4BAA4B,cAAc;IACnD,QAAQ,CAAC,uBAAuB,WAA2C;IAC3E,QAAQ,CAAC,8BAA8B,4CAAsD;IAE7F,kBAAkB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACxC,iBAAiB,gBAAuB;IAExC,OAAO,CAAC,kBAAkB,CAA2B;gBAG3C,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc;IAQxC;;OAEG;IACH,eAAe,IAAI,IAAI;IAIvB;;;;;;;;;OASG;IACH,sBAAsB,CACpB,UAAU,EAAE,YAAY,EAAE,EAC1B,WAAW,UAAQ,EACnB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAC5B,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAkB/B,oBAAoB,CAAC,KAAK,EAAE,eAAe;IAS3C;;;OAGG;IACH,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIzC;;;;;;;;;OASG;IACG,wBAAwB,CAC5B,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC;IAYlB;;;;;OAKG;IACH,iBAAiB,IAAI,OAAO;IAK5B;;;;;;OAMG;IACH,wBAAwB,CAAC,eAAe,EAAE,cAAc,GAAG,YAAY,EAAE;IAMzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,oBAAoB,CACxB,kBAAkB,EAAE,YAAY,EAAE,EAClC,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,OAAO,CAAC;QAAE,mBAAmB,EAAE,OAAO,CAAA;KAAE,CAAC;IAwB5C;;;;;OAKG;IACH,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAqBhE;;;;;OAKG;IACH,wBAAwB,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAI7E;;;;OAIG;IACH,4BAA4B,CAAC,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,eAAe;IAWpF;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;yCA3QpB,iBAAiB;6CAAjB,iBAAiB;CAkR7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-dashboard.component.d.ts","sourceRoot":"","sources":["../../context-dashboard/context-dashboard.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-dashboard.component.d.ts","sourceRoot":"","sources":["../../context-dashboard/context-dashboard.component.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"forOf.directive.d.ts","sourceRoot":"","sources":["../../../core/common/forOf.directive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forOf.directive.d.ts","sourceRoot":"","sources":["../../../core/common/forOf.directive.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
- import { DroppedFile, DropAreaComponent } from '../drop-area/drop-area.component';
3
- import { PickedFiles } from './file-picker.model';
2
+ import { DropAreaComponent, DroppedFile } from '../drop-area/drop-area.component';
3
+ import { ValidationPattern } from '../forms/validation-pattern';
4
4
  import { FilePickerConfig } from './file-picker-config.model';
5
+ import { PickedFiles } from './file-picker.model';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
7
8
  * User can upload a binary directly or use an URL.
@@ -31,6 +32,7 @@ export declare class FilePickerComponent implements OnInit {
31
32
  * Additional string to be displayed in a popover.
32
33
  */
33
34
  fileUrlPopover: string;
35
+ ValidationPattern: typeof ValidationPattern;
34
36
  droppedFiles: DroppedFile[];
35
37
  private fileToSave;
36
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"file-picker.component.d.ts","sourceRoot":"","sources":["../../../core/file-picker/file-picker.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAa,MAAM,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;;AAE9D;;;;;;;;;;;GAWG;AAEH,qBAIa,mBAAoB,YAAW,MAAM;IACA,QAAQ,EAAE,iBAAiB,CAAC;IAClE,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC,CAAsB;IAC/D,eAAe,SAAY;IAC3B,YAAY,EAAE,cAAc,GAAG,WAAW,CAAkB;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAuB;IACxD;;OAEG;IACM,eAAe,EAAE,MAAM,CAAC;IACjC;;OAEG;IACM,cAAc,EAAE,MAAM,CAAC;IAEhC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,OAAO,CAAC,UAAU,CAAc;IAEhC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAMhB;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAMhD;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAQzB;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAQ1B;;OAEG;IACH,eAAe,CAAC,MAAM,KAAA,GAAG,IAAI;IAO7B;;OAEG;IACH,aAAa;yCAzEF,mBAAmB;2CAAnB,mBAAmB;CA4E/B"}
1
+ {"version":3,"file":"file-picker.component.d.ts","sourceRoot":"","sources":["../../../core/file-picker/file-picker.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAS,MAAM,EAAqB,MAAM,eAAe,CAAC;AAE1F,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;;AAElD;;;;;;;;;;;GAWG;AAEH,qBAIa,mBAAoB,YAAW,MAAM;IACA,QAAQ,EAAE,iBAAiB,CAAC;IAClE,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC,CAAsB;IAC/D,eAAe,SAAY;IAC3B,YAAY,EAAE,cAAc,GAAG,WAAW,CAAkB;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAuB;IACxD;;OAEG;IACM,eAAe,EAAE,MAAM,CAAC;IACjC;;OAEG;IACM,cAAc,EAAE,MAAM,CAAC;IAEhC,iBAAiB,2BAAqB;IACtC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,OAAO,CAAC,UAAU,CAAc;IAEhC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAMhB;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAMhD;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAQzB;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAQ1B;;OAEG;IACH,eAAe,CAAC,MAAM,KAAA,GAAG,IAAI;IAO7B;;OAEG;IACH,aAAa;yCA1EF,mBAAmB;2CAAnB,mBAAmB;CA6E/B"}
@@ -43,6 +43,8 @@ export declare class ValidationPattern {
43
43
  readonly user: "Username must not contain spaces nor slashes (\"/\", \"\\\") nor (\"+\"), (\":\"), (\"$\") signs.";
44
44
  readonly httpUrl: "Must be a valid HTTP(S) URL.";
45
45
  readonly colonedHexNumber: "Must be a valid hexadecimal number. Must contain only the following characters: 0-9, a-f, A-F, :.";
46
+ readonly noWhiteSpaceOnly: "This field must not contain only whitespaces";
47
+ readonly noWhiteSpaceAtBeginning: "Name must not contain white spaces at the beginning or ending.";
46
48
  readonly noDots: "Dots not allowed.";
47
49
  readonly integer: "Invalid type, expected integer.";
48
50
  readonly simpleJsonPath: "Must be a valid JSON path";
@@ -87,6 +89,12 @@ export declare class ValidationPattern {
87
89
  loginAlias: {
88
90
  pattern: RegExp;
89
91
  };
92
+ noWhiteSpaceOnly: {
93
+ pattern: RegExp;
94
+ };
95
+ noWhiteSpaceAtBeginning: {
96
+ pattern: RegExp;
97
+ };
90
98
  noDots: {
91
99
  pattern: RegExp;
92
100
  };
@@ -1 +1 @@
1
- {"version":3,"file":"validation-pattern.d.ts","sourceRoot":"","sources":["../../../core/forms/validation-pattern.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oBAAY,gCAAgC;IAC1C,WAAW,aAAa;IACxB,OAAO,YAAY;IACnB,qBAAqB,WAAW;IAChC,iBAAiB,sBAAsB;IACvC,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;IAC3C,gBAAgB,mBAAmB;IACnC,gBAAgB,mBAAmB;CACpC;AAGD,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+Db;IAEX,MAAM,CAAC,QAAQ,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgDnB;IAEF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAEF,eAAe;CAEpC"}
1
+ {"version":3,"file":"validation-pattern.d.ts","sourceRoot":"","sources":["../../../core/forms/validation-pattern.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oBAAY,gCAAgC;IAC1C,WAAW,aAAa;IACxB,OAAO,YAAY;IACnB,qBAAqB,WAAW;IAChC,iBAAiB,sBAAsB;IACvC,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;IAC3C,gBAAgB,mBAAmB;IACnC,gBAAgB,mBAAmB;CACpC;AAGD,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmEb;IAEX,MAAM,CAAC,QAAQ,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsDnB;IAEF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAEF,eAAe;CAEpC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Messages required to translate texts of events sent by the datahub microservice.
3
+ */
4
+ export declare const MESSAGES_DATAHUB_I18N: {
5
+ '^Offloading task "(.+?)" finished successfully.$': {
6
+ gettext: "Offloading task \"{{ taskName }}\" finished successfully.";
7
+ placeholders: {
8
+ taskName: string;
9
+ };
10
+ };
11
+ '^Offloading task "(.+?)" finished erroneously.$': {
12
+ gettext: "Offloading task \"{{ taskName }}\" finished erroneously.";
13
+ placeholders: {
14
+ taskName: string;
15
+ };
16
+ };
17
+ '^Compaction task "(.+?)" finished successfully.$': {
18
+ gettext: "Compaction task \"{{ taskName }}\" finished successfully.";
19
+ placeholders: {
20
+ taskName: string;
21
+ };
22
+ };
23
+ '^Compaction task "(.+?)" finished erroneously.$': {
24
+ gettext: "Compaction task \"{{ taskName }}\" finished erroneously.";
25
+ placeholders: {
26
+ taskName: string;
27
+ };
28
+ };
29
+ };
30
+ //# sourceMappingURL=datahub.pattern-messages.data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datahub.pattern-messages.data.d.ts","sourceRoot":"","sources":["../../../core/i18n/datahub.pattern-messages.data.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;CAyBjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.module.d.ts","sourceRoot":"","sources":["../../../core/i18n/i18n.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,mBAAmB,EAAY,QAAQ,EAAE,MAAM,eAAe,CAAC;AAcnF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;;;;AA4B7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,UAExD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,oCAEvD;AAED,wBAAgB,QAAQ,CAAC,eAAe,EAAE,eAAe;;;;EAYxD;AAED,wBAAgB,+BAA+B,CAAC,QAAQ,SAAO,GAAG,MAAM,CAMvE;AAED;;;GAGG;AACH,qBAIa,UAAU;IACrB,MAAM,CAAC,SAAS,IAAI,QAAQ,EAAE;IAwB9B,MAAM,CAAC,OAAO,IAAI,mBAAmB,CAAC,UAAU,CAAC;yCAzBtC,UAAU;0CAAV,UAAU;0CAAV,UAAU;CA+BtB"}
1
+ {"version":3,"file":"i18n.module.d.ts","sourceRoot":"","sources":["../../../core/i18n/i18n.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,mBAAmB,EAAY,QAAQ,EAAE,MAAM,eAAe,CAAC;AAcnF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;;;;AA6B7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,UAExD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,oCAEvD;AAED,wBAAgB,QAAQ,CAAC,eAAe,EAAE,eAAe;;;;EAYxD;AAED,wBAAgB,+BAA+B,CAAC,QAAQ,SAAO,GAAG,MAAM,CAMvE;AAED;;;GAGG;AACH,qBAIa,UAAU;IACrB,MAAM,CAAC,SAAS,IAAI,QAAQ,EAAE;IAyB9B,MAAM,CAAC,OAAO,IAAI,mBAAmB,CAAC,UAAU,CAAC;yCA1BtC,UAAU;0CAAV,UAAU;0CAAV,UAAU;CAgCtB"}
@@ -187,6 +187,8 @@ export class AlarmsViewService {
187
187
  return `/device/${contextData.contextData.id}${detailUrl}`;
188
188
  case ViewContext.Group:
189
189
  return `/group/${contextData.contextData.id}${detailUrl}`;
190
+ case ViewContext.Simulators:
191
+ return `/simulators/${contextData.contextData.id}${detailUrl}`;
190
192
  default:
191
193
  return detailUrl;
192
194
  }
@@ -256,4 +258,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
256
258
  providedIn: 'root'
257
259
  }]
258
260
  }], ctorParameters: () => [{ type: i1.AlarmService }, { type: i2.OptionsService }] });
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm1zLXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FsYXJtcy9hbGFybXMtdmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLG1CQUFtQixFQUVuQixZQUFZLEVBQ1osV0FBVyxFQUlYLFFBQVEsRUFHVCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBSUwsY0FBYyxFQUNkLFdBQVcsRUFDWCxPQUFPLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHakU7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBWTVCLFlBQ1UsWUFBMEIsRUFDMUIsY0FBOEI7UUFEOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBYi9CLDJCQUFzQixHQUE2QixtQkFBbUIsQ0FBQztRQUN2RSwyQkFBc0IsR0FBRyxNQUFNLENBQUM7UUFDaEMsaUNBQTRCLEdBQUcsVUFBVSxDQUFDO1FBQzFDLDRCQUF1QixHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xFLG1DQUE4QixHQUFHLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBRzdGLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFRdEMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztZQUM3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TUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNLLHlCQUF5QixDQUFDLFVBQTBCO1FBQzFELElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZELE9BQU87UUFDVCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssdUJBQXVCLENBQUMsV0FBb0I7UUFDbEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBc0IsQ0FBQztRQUN2RSxNQUFNLGdCQUFnQixHQUFHLFdBQVc7WUFDbEMsQ0FBQyxDQUFDLFFBQVE7WUFDVixDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQztRQUNwRCxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDOzhHQS9RVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQUxBUk1fU1RBVFVTX0xBQkVMUyxcbiAgQWxhcm1RdWVyeUZpbHRlcixcbiAgQWxhcm1TZXJ2aWNlLFxuICBBbGFybVN0YXR1cyxcbiAgQWxhcm1TdGF0dXNUeXBlLFxuICBJQWxhcm0sXG4gIElSZXN1bHRMaXN0LFxuICBTZXZlcml0eSxcbiAgU2V2ZXJpdHlGaWx0ZXIsXG4gIFNldmVyaXR5VHlwZVxufSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbk9wdGlvbnMsXG4gIENvbnRleHREYXRhLFxuICBEYXRlVGltZUNvbnRleHQsXG4gIE9wdGlvbnNTZXJ2aWNlLFxuICBWaWV3Q29udGV4dCxcbiAgZ2V0dGV4dFxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQUxBUk1TX1BBVEgsIElOVEVSVkFMU19FWFRFTkRFRCB9IGZyb20gJy4vYWxhcm1zLm1vZGVsJztcbmltcG9ydCB7IEFsYXJtRmlsdGVySW50ZXJ2YWwgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2ludGVydmFsLXBpY2tlcic7XG5cbi8qKlxuICogU2VydmljZSBmb3IgbWFuYWdpbmcgYW5kIHJldHJpZXZpbmcgYWxhcm1zIGRhdGEgd2l0aGluIHRoZSBhbGFybXMgdmlldy5cbiAqXG4gKiBUaGUgYEFsYXJtc1ZpZXdTZXJ2aWNlYCBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIGludGVyYWN0IHdpdGggYWxhcm1zLFxuICogaW5jbHVkaW5nIGZpbHRlcmluZywgY291bnRpbmcsIGFuZCB0cmFuc2xhdGlvbi1yZWxhdGVkIG9wZXJhdGlvbnMgaW4gYW4gYWxhcm1zIHZpZXcuXG4gKlxuICogVGhpcyBzZXJ2aWNlIHJlbGllcyBvbiB0aGUgYEFsYXJtU2VydmljZWAgZm9yIGZldGNoaW5nIGFsYXJtIGRhdGEgYW5kIHRoZSBgT3B0aW9uc1NlcnZpY2VgXG4gKiBmb3IgY29uZmlndXJpbmcgYWxhcm1zIHZpZXcgb3B0aW9ucy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWxhcm1zVmlld1NlcnZpY2Uge1xuICByZWFkb25seSBBTEFSTV9SRUZSRVNIX1RZUEVfS0VZOiBrZXlvZiBBcHBsaWNhdGlvbk9wdGlvbnMgPSAnYWxhcm1zUmVmcmVzaFR5cGUnO1xuICByZWFkb25seSBERUZBVUxUX0lOVEVSVkFMX1ZBTFVFID0gMzBfMDAwO1xuICByZWFkb25seSBERUZBVUxUX1JFRlJFU0hfT1BUSU9OX1ZBTFVFID0gJ2ludGVydmFsJztcbiAgcmVhZG9ubHkgREVGQVVMVF9JTlRFUlZBTF9WQUxVRVMgPSBbNV8wMDAsIDEwXzAwMCwgMTVfMDAwLCAzMF8wMDAsIDYwXzAwMF07XG4gIHJlYWRvbmx5IFJFQUxUSU1FX1VQREFURV9BTEFSTVNfTUVTU0FHRSA9IGdldHRleHQoJ1RoZSBsaXN0IHdhcyB1cGRhdGVkLCBjbGljayB0byByZWZyZXNoLicpO1xuXG4gIGlzSW50ZXJ2YWxFbmFibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcmVsb2FkQWxhcm1zTGlzdCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2lzSW50ZXJ2YWxFbmFibGVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbGFybVNlcnZpY2U6IEFsYXJtU2VydmljZSxcbiAgICBwcml2YXRlIG9wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZVxuICApIHtcbiAgICBpZiAodGhpcy5pc0ludGVydmFsUmVmcmVzaCgpKSB7XG4gICAgICB0aGlzLl9pc0ludGVydmFsRW5hYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgICB0aGlzLmlzSW50ZXJ2YWxFbmFibGVkJCA9IHRoaXMuX2lzSW50ZXJ2YWxFbmFibGVkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIHN1YmplY3QgdG8gaW5pdGlhbGl6ZSB0aGUgYWxhcm1zIHJlbG9hZGluZy5cbiAgICovXG4gIHVwZGF0ZUFsYXJtTGlzdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbG9hZEFsYXJtc0xpc3QkLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIGFsYXJtcyBmaWx0ZXJlZCBieSBzcGVjaWZpZWQgc2V2ZXJpdGllcyBhbmQgb3RoZXIgb3B0aW9uYWwgcXVlcnkgZmlsdGVycy5cbiAgICpcbiAgICogQHBhcmFtIHNldmVyaXRpZXMgYW4gYXJyYXkgb2Ygc2V2ZXJpdGllcyB0byBmaWx0ZXIgdGhlIGFsYXJtcy5cbiAgICogQHBhcmFtIHNob3dDbGVhcmVkIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRvIHNob3cgY2xlYXJlZCBhbGFybXMuIERlZmF1bHRzIHRvIGZhbHNlLlxuICAgKiBAcGFyYW0gc2VsZWN0ZWREYXRlcyBhbiBhcnJheSBvZiB0d28gZGF0ZXMgdG8gZmlsdGVyIGFsYXJtcyBieSBjcmVhdGlvbiBhbmQgbGFzdCB1cGRhdGUgZGF0ZXMuXG4gICAqIEBwYXJhbSBmaWx0ZXIgYWRkaXRpb25hbCBxdWVyeSBmaWx0ZXJzIGZvciByZXRyaWV2aW5nIGFsYXJtcy5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBsaXN0IG9mIGFsYXJtcyBzYXRpc2Z5aW5nIHRoZSBzcGVjaWZpZWQgZmlsdGVycy5cbiAgICovXG4gIHJldHJpZXZlRmlsdGVyZWRBbGFybXMoXG4gICAgc2V2ZXJpdGllczogU2V2ZXJpdHlUeXBlW10sXG4gICAgc2hvd0NsZWFyZWQgPSBmYWxzZSxcbiAgICBzZWxlY3RlZERhdGVzPzogW0RhdGUsIERhdGVdLFxuICAgIGZpbHRlcj86IEFsYXJtUXVlcnlGaWx0ZXJcbiAgKTogUHJvbWlzZTxJUmVzdWx0TGlzdDxJQWxhcm0+PiB7XG4gICAgY29uc3Qgc2V2ZXJpdGllc1F1ZXJ5ID0gdGhpcy5nZXRTZXZlcml0eVF1ZXJ5UGFyYW1ldGVyKHNldmVyaXRpZXMpO1xuICAgIGNvbnN0IHN0YXR1c2VzUXVlcnkgPSB0aGlzLmdldFN0YXR1c1F1ZXJ5UGFyYW1ldGVyKHNob3dDbGVhcmVkKTtcblxuICAgIGNvbnN0IF9maWx0ZXI6IEFsYXJtUXVlcnlGaWx0ZXIgPSB7XG4gICAgICBwYWdlU2l6ZTogNTAsXG4gICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZSxcbiAgICAgIC4uLihzZXZlcml0aWVzUXVlcnkgJiYgeyBzZXZlcml0eTogc2V2ZXJpdGllc1F1ZXJ5IH0pLFxuICAgICAgLi4uKHN0YXR1c2VzUXVlcnkgJiYgeyBzdGF0dXM6IHN0YXR1c2VzUXVlcnkgfSksXG4gICAgICAuLi4oc2VsZWN0ZWREYXRlcyAmJiB7XG4gICAgICAgIGxhc3RVcGRhdGVkRnJvbTogc2VsZWN0ZWREYXRlc1swXS50b0lTT1N0cmluZygpLFxuICAgICAgICBjcmVhdGVkVG86IHNlbGVjdGVkRGF0ZXNbMV0udG9JU09TdHJpbmcoKVxuICAgICAgfSksXG4gICAgICAuLi5maWx0ZXJcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmFsYXJtU2VydmljZS5saXN0KF9maWx0ZXIpO1xuICB9XG5cbiAgcmV0cmlldmVBbGFybXNCeURhdGUoZGF0ZXM6IERhdGVUaW1lQ29udGV4dCkge1xuICAgIHJldHVybiB0aGlzLmFsYXJtU2VydmljZS5saXN0KHtcbiAgICAgIGxhc3RVcGRhdGVkRnJvbTogZGF0ZXNbMF0udG9JU09TdHJpbmcoKSxcbiAgICAgIGNyZWF0ZWRUbzogZGF0ZXNbMV0udG9JU09TdHJpbmcoKSxcbiAgICAgIHBhZ2VTaXplOiA1MCxcbiAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgc3RhdGUgdG8gZW5hYmxlIG9yIGRpc2FibGUgaW50ZXJ2YWxzLlxuICAgKiBAcGFyYW0gdmFsdWUgLSBBIGJvb2xlYW4gdmFsdWUgdG8gaW5kaWNhdGUgd2hldGhlciB0byBlbmFibGUgaW50ZXJ2YWxzLlxuICAgKi9cbiAgdXBkYXRlSW50ZXJ2YWxTdGF0ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2lzSW50ZXJ2YWxFbmFibGVkPy5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIHRoZSBjb3VudCBvZiBhbGFybXMgZmlsdGVyZWQgYnkgc2V2ZXJpdHkgYW5kIGNsZWFyYW5jZSBzdGF0dXMuXG4gICAqXG4gICAqIEBwYXJhbSBzZXZlcml0eSAtIFRoZSBzZXZlcml0eSBsZXZlbCB0byBmaWx0ZXIgYnkgKGUuZy4sIENSSVRJQ0FMLCBNQUpPUiwgZXRjLikuXG4gICAqIEBwYXJhbSBzaG93Q2xlYXJlZCAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgY2xlYXJlZCBhbGFybXMgaW4gdGhlIGNvdW50LlxuICAgKiBAcGFyYW0gZmlsdGVyIC0gQWRkaXRpb25hbCBmaWx0ZXIgY3JpdGVyaWEgZm9yIGFsYXJtcy5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIG51bWJlciBvZiBhbGFybXMgdGhhdCBtYXRjaCB0aGUgZmlsdGVyIGNyaXRlcmlhLlxuICAgKlxuICAgKi9cbiAgYXN5bmMgZ2V0QWxhcm1zQ291bnRCeVNldmVyaXR5KFxuICAgIHNldmVyaXR5OiBTZXZlcml0eVR5cGUsXG4gICAgc2hvd0NsZWFyZWQ6IGJvb2xlYW4sXG4gICAgZmlsdGVyPzogQWxhcm1RdWVyeUZpbHRlclxuICApOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IHN0YXR1c2VzUXVlcnkgPSB0aGlzLmdldFN0YXR1c1F1ZXJ5UGFyYW1ldGVyKHNob3dDbGVhcmVkKTtcbiAgICBjb25zdCBfZmlsdGVyOiBBbGFybVF1ZXJ5RmlsdGVyID0ge1xuICAgICAgLi4uKHNldmVyaXR5ICYmIHsgc2V2ZXJpdHk6IHNldmVyaXR5IH0pLFxuICAgICAgLi4uKHN0YXR1c2VzUXVlcnkgJiYgeyBzdGF0dXM6IHN0YXR1c2VzUXVlcnkgfSksXG4gICAgICAuLi5maWx0ZXJcbiAgICB9O1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5hbGFybVNlcnZpY2UuY291bnQoX2ZpbHRlcik7XG5cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgYWxhcm1zIHJlZnJlc2ggdHlwZSBmcm9tIHRoZSBPcHRpb25zU2VydmljZVxuICAgKiBhbmQgZGV0ZXJtaW5lcyB3aGV0aGVyIGl0IGlzIHNldCB0byBcImludGVydmFsXCIuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgYWxhcm1zIHJlZnJlc2ggdHlwZSBpcyBcImludGVydmFsLFwiIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgaXNJbnRlcnZhbFJlZnJlc2goKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldCh0aGlzLkFMQVJNX1JFRlJFU0hfVFlQRV9LRVksICdpbnRlcnZhbCcpO1xuICAgIHJldHVybiB2YWx1ZSA9PT0gJ2ludGVydmFsJztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBsaXN0IG9mIHNlbGVjdGVkIHNldmVyaXRpZXMgYmFzZWQgb24gdGhlIG5ldyBzZXZlcml0eSBmaWx0ZXIuXG4gICAqXG4gICAqIEBwYXJhbSBzZXZlcml0eVVwZGF0ZXMgLSBUaGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgdXBkYXRlcyB0byBlYWNoIHNldmVyaXR5LlxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSByZXByZXNlbnRpbmcgdGhlIHVwZGF0ZWQgc2VsZWN0ZWQgc2V2ZXJpdGllcy5cbiAgICovXG4gIHVwZGF0ZVNlbGVjdGVkU2V2ZXJpdGllcyhzZXZlcml0eVVwZGF0ZXM6IFNldmVyaXR5RmlsdGVyKTogU2V2ZXJpdHlUeXBlW10ge1xuICAgIHJldHVybiAoT2JqZWN0LmtleXMoc2V2ZXJpdHlVcGRhdGVzKSBhcyBTZXZlcml0eVR5cGVbXSlcbiAgICAgIC5maWx0ZXIoa2V5ID0+IHNldmVyaXR5VXBkYXRlc1trZXldKVxuICAgICAgLm1hcChrZXkgPT4ga2V5LnRvVXBwZXJDYXNlKCkgYXMgU2V2ZXJpdHlUeXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgYWxsIGFjdGl2ZSBhbGFybXMgb2YgdGhlIHNlbGVjdGVkIHNldmVyaXRpZXMuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGNsZWFycyBhbGwgYWN0aXZlIGFsYXJtcyBmb3IgdGhlIGdpdmVuIGxpc3Qgb2Ygc2V2ZXJpdGllcyBieSBtYWtpbmcgYnVsayB1cGRhdGUgY2FsbHMuIElmIG5vIHNldmVyaXRpZXMgYXJlIHNlbGVjdGVkLCBpdCBkZWZhdWx0cyB0byB1c2luZyBhbGwgYXZhaWxhYmxlIHNldmVyaXRpZXMuXG4gICAqIEl0IHdvcmtzIGJ5IHNlbmRpbmcgYSBzZXJpZXMgb2YgdXBkYXRlIHJlcXVlc3RzIGZvciBlYWNoIHNldmVyaXR5IGFuZCByZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYW4gb2JqZWN0IGluZGljYXRpbmcgaWYgYWxsIGFsYXJtcyB3ZXJlIHJlc29sdmVkIGltbWVkaWF0ZWx5LlxuICAgKlxuICAgKiBAcGFyYW0gc2VsZWN0ZWRTZXZlcml0aWVzIEFuIGFycmF5IG9mIHNldmVyaXRpZXMgdG8gYmUgY2xlYXJlZC4gSWYgbm90IHByb3ZpZGVkLCBhbGwgc2V2ZXJpdGllcyB3aWxsIGJlIGNsZWFyZWQuXG4gICAqIEBwYXJhbSBzb3VyY2VJZCAtIElkZW50aWZpZXIgZm9yIHRoZSBzb3VyY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBhbGFybXMgdG8gYmUgY2xlYXJlZC5cbiAgICpcbiAgICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBvYmplY3Qgd2l0aCBhIGZsYWcgYHJlc29sdmVkSW1tZWRpYXRlbHlgLiBUaGUgZmxhZyBpcyB0cnVlIGlmIGFsbCBhbGFybXMgZm9yIGFsbCBzZWxlY3RlZCBzZXZlcml0aWVzIHdlcmUgY2xlYXJlZCBzdWNjZXNzZnVsbHk7IG90aGVyd2lzZSBmYWxzZS5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBzZXZlcml0aWVzVG9DbGVhcjogU2V2ZXJpdHlUeXBlW10gPSBbU2V2ZXJpdHkuTUFKT1IsIFNldmVyaXR5Lk1JTk9SXTtcbiAgICpcbiAgICogY2xlYXJBbGxBY3RpdmVBbGFybXMoc2V2ZXJpdGllc1RvQ2xlYXIpLnRoZW4oKHsgcmVzb2x2ZWRJbW1lZGlhdGVseSB9KSA9PiB7XG4gICAqICAgaWYgKHJlc29sdmVkSW1tZWRpYXRlbHkpIHtcbiAgICogICAgIGNvbnNvbGUubG9nKCdBbGwgc2VsZWN0ZWQgYWxhcm1zIHdlcmUgY2xlYXJlZCBzdWNjZXNzZnVsbHkuJyk7XG4gICAqICAgfSBlbHNlIHtcbiAgICogICAgIGNvbnNvbGUubG9nKCdTb21lIGFsYXJtcyBjb3VsZCBub3QgYmUgY2xlYXJlZC4nKTtcbiAgICogICB9XG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICpcbiAgICogKipOb3RlKipcbiAgICogLSBUaGUgbWV0aG9kIHVzZXMgdGhlIGBhbGFybVNlcnZpY2UudXBkYXRlQnVsa2AgZm9yIGVhY2ggc2V2ZXJpdHkgdG8gY2xlYXIgdGhlIGFjdGl2ZSBhbGFybXMuXG4gICAqIC0gSXQgbWF5IGZldGNoIHRoZSBgc291cmNlSWRgIGJhc2VkIG9uIHRoZSB2aWV3IChpZiBhcHBsaWNhYmxlKSBhbmQgaW5jbHVkZSBpdCBhcyBhIHF1ZXJ5IHBhcmFtZXRlciBpbiB0aGUgdXBkYXRlIGNhbGxzLlxuICAgKiAtIFRoZSBtZXRob2QgcmV0dXJucyBpbW1lZGlhdGVseSBidXQgdGhlIHJldHVybmVkIFByb21pc2UgbmVlZHMgdG8gaGF2ZSBhIGB0aGVuYCBvciBgY2F0Y2hgIG1ldGhvZCBjYWxsIHRvIGhhbmRsZSB0aGUgcmVzdWx0IG9yIGVycm9yIHJlc3BlY3RpdmVseS5cbiAgICogLSBVc2VzIGBQcm9taXNlLmFsbGAgdG8gd2FpdCBmb3IgYWxsIHVwZGF0ZSByZXF1ZXN0cyB0byBjb21wbGV0ZSBiZWZvcmUgcmVzb2x2aW5nIHRoZSBmaW5hbCByZXN1bHQuXG4gICAqL1xuICBhc3luYyBjbGVhckFsbEFjdGl2ZUFsYXJtcyhcbiAgICBzZWxlY3RlZFNldmVyaXRpZXM6IFNldmVyaXR5VHlwZVtdLFxuICAgIHNvdXJjZUlkOiBzdHJpbmcgfCBudW1iZXJcbiAgKTogUHJvbWlzZTx7IHJlc29sdmVkSW1tZWRpYXRlbHk6IGJvb2xlYW4gfT4ge1xuICAgIGNvbnN0IHNldmVyaXRpZXNUb1VwZGF0ZSA9IHNlbGVjdGVkU2V2ZXJpdGllcyB8fCBTZXZlcml0eTtcblxuICAgIGNvbnN0IHByb21pc2VzID0gT2JqZWN0LnZhbHVlcyhzZXZlcml0aWVzVG9VcGRhdGUpLm1hcCgoc2V2ZXJpdHk6IFNldmVyaXR5VHlwZSkgPT4ge1xuICAgICAgY29uc3QgY29tbW9uUGFyYW1zID0geyByZXNvbHZlZDogZmFsc2UsIHNldmVyaXR5IH07XG5cbiAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBzb3VyY2VJZFxuICAgICAgICA/IHtcbiAgICAgICAgICAgIC4uLmNvbW1vblBhcmFtcyxcbiAgICAgICAgICAgIHNvdXJjZTogc291cmNlSWQsXG4gICAgICAgICAgICB3aXRoU291cmNlQXNzZXRzOiB0cnVlLFxuICAgICAgICAgICAgd2l0aFNvdXJjZURldmljZXM6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIDogY29tbW9uUGFyYW1zO1xuXG4gICAgICByZXR1cm4gdGhpcy5hbGFybVNlcnZpY2UudXBkYXRlQnVsayh7IHN0YXR1czogQWxhcm1TdGF0dXMuQ0xFQVJFRCB9LCBwYXJhbWV0ZXJzKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc3BvbnNlcyA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzb2x2ZWRJbW1lZGlhdGVseTogcmVzcG9uc2VzLmV2ZXJ5KHJlcyA9PiByZXMpXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb3JyZWN0IGxpbmsgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGNvbnRleHQgZGF0YS5cbiAgICogQHBhcmFtIGNvbnRleHREYXRhIFRoZSBjb250ZXh0IHRoZSBuYXZpZ2F0aW9uIHdhcyB0cmlnZ2VyZWQgZnJvbS5cbiAgICogQHBhcmFtIGFsYXJtIFRoZSBhbGFybSB0byBuYXZpZ2F0ZSB0by5cbiAgICogQHJldHVybnMgQSBsaW5rIHRvIGJlIHVzZWQgYXMgYW4gdXJsIG5hdmlnYXRpb24uXG4gICAqL1xuICBnZXRSb3V0ZXJMaW5rKGNvbnRleHREYXRhPzogQ29udGV4dERhdGEsIGFsYXJtPzogSUFsYXJtKTogc3RyaW5nIHtcbiAgICBsZXQgZGV0YWlsVXJsID0gYC8ke0FMQVJNU19QQVRIfWA7XG4gICAgaWYgKGFsYXJtKSB7XG4gICAgICBkZXRhaWxVcmwgPSBgLyR7QUxBUk1TX1BBVEh9LyR7YWxhcm0uaWR9YDtcbiAgICB9XG4gICAgaWYgKCFjb250ZXh0RGF0YSkge1xuICAgICAgcmV0dXJuIGRldGFpbFVybDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGNvbnRleHREYXRhLmNvbnRleHQpIHtcbiAgICAgIGNhc2UgVmlld0NvbnRleHQuRGV2aWNlOlxuICAgICAgICByZXR1cm4gYC9kZXZpY2UvJHtjb250ZXh0RGF0YS5jb250ZXh0RGF0YS5pZH0ke2RldGFpbFVybH1gO1xuICAgICAgY2FzZSBWaWV3Q29udGV4dC5Hcm91cDpcbiAgICAgICAgcmV0dXJuIGAvZ3JvdXAvJHtjb250ZXh0RGF0YS5jb250ZXh0RGF0YS5pZH0ke2RldGFpbFVybH1gO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGRldGFpbFVybDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY29ycmVjdCBhcnJheSBuYXZpZ2F0aW9uLlxuICAgKiBAcGFyYW0gY29udGV4dERhdGEgVGhlIGNvbnRleHQgdGhlIG5hdmlnYXRpb24gd2FzIHRyaWdnZXJlZCBmcm9tLlxuICAgKiBAcGFyYW0gYWxhcm0gVGhlIGFsYXJtIHRvIG5hdmlnYXRlIHRvLlxuICAgKiBAcmV0dXJucyBBIGxpbmsgdG8gYmUgdXNlZCBhcyBhIHJvdXRlci5uYXZpZ2F0aW9uLlxuICAgKi9cbiAgZ2V0Um91dGVyTmF2aWdhdGlvbkFycmF5KGNvbnRleHREYXRhPzogQ29udGV4dERhdGEsIGFsYXJtPzogSUFsYXJtKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmdldFJvdXRlckxpbmsoY29udGV4dERhdGEsIGFsYXJtKS5zcGxpdCgnLycpLmZpbHRlcihCb29sZWFuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb3JyZWN0IGZyb20gYW5kIHRvIGRhdGVzIGJhc2VkIG9uIHRoZSBzZWxlY3RlZCBpbnRlcnZhbFxuICAgKiBAcGFyYW0gaW50ZXJ2YWxJZCB0aGUgc2VsZWN0ZWQgaW50ZXJ2YWwuIEUuZy4gJ25vbmUnLCAnaG91cnMnLCAnY3VzdG9tJyAuLi5cbiAgICogQHJldHVybnMgVGhlIGNhbGN1bGF0ZWQgZGF0ZSBjb250ZXh0IGJhc2VkIG9uIHRoZSBzZWxlY3RlZCBpbnRlcnZhbC5cbiAgICovXG4gIGdldERhdGVUaW1lQ29udGV4dEJ5SW50ZXJ2YWwoaW50ZXJ2YWxJZDogQWxhcm1GaWx0ZXJJbnRlcnZhbFsnaWQnXSk6IERhdGVUaW1lQ29udGV4dCB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBJTlRFUlZBTFNfRVhURU5ERUQuZmluZCgoeyBpZCB9KSA9PiBpZCA9PT0gaW50ZXJ2YWxJZCk7XG4gICAgaWYgKGludGVydmFsLmlkID09PSAnbm9uZScpIHtcbiAgICAgIHJldHVybiBbbmV3IERhdGUoMCksIG5ldyBEYXRlKCldO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGVUbyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZGF0ZUZyb20gPSBuZXcgRGF0ZShkYXRlVG8udmFsdWVPZigpIC0gaW50ZXJ2YWwudGltZXNwYW5Jbk1zKTtcbiAgICByZXR1cm4gW2RhdGVGcm9tLCBkYXRlVG9dO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB2YWx1ZSBmb3IgcXVlcnkgcGFyYW1ldGVyIGZvciBmaWx0ZXJpbmcgYWxhcm1zIGJ5IHNldmVyaXR5IGJhc2VkIG9uIGFycmF5IG9mIHNlbGVjdGVkIHNldmVyaXRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSBzZXZlcml0aWVzIC0gQW4gYXJyYXkgb2YgYWxhcm0gc2V2ZXJpdHkgdHlwZXMgdG8gaW5jbHVkZSBpbiB0aGUgZmlsdGVyLlxuICAgKiBJZiB0aGUgYXJyYXkgaXMgZW1wdHkgb3IgdW5kZWZpbmVkLCBubyBzZXZlcml0eSBmaWx0ZXIgd2lsbCBiZSBhcHBsaWVkLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmcgb2Ygc2VsZWN0ZWQgYWxhcm0gc2V2ZXJpdGllcyxcbiAgICogb3IgbnVsbCBpZiBubyBzZXZlcml0aWVzIGFyZSBwcm92aWRlZC5cbiAgICovXG4gIHByaXZhdGUgZ2V0U2V2ZXJpdHlRdWVyeVBhcmFtZXRlcihzZXZlcml0aWVzOiBTZXZlcml0eVR5cGVbXSk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghc2V2ZXJpdGllcyB8fCBzZXZlcml0aWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoc2V2ZXJpdGllcy5sZW5ndGggPT09IE9iamVjdC5rZXlzKFNldmVyaXR5KS5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gc2V2ZXJpdGllcy5qb2luKCcsJyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHZhbHVlIGZvciBxdWVyeSBwYXJhbWV0ZXIgZm9yIGZpbHRlcmluZyBhbGFybXMgYnkgc3RhdHVzZXMgYmFzZWQgb24gc2hvd0NsZWFyZWQgb3B0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gc2hvd0NsZWFyZWQgLSBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRvIGluY2x1ZGUgY2xlYXJlZCBzdGF0dXNlcy5cbiAgICogSWYgdHJ1ZSwgYWxsIHN0YXR1c2VzLCBpbmNsdWRpbmcgJ0NMRUFSRUQnLCB3aWxsIGJlIGluY2x1ZGVkOyBpZiBmYWxzZSwgJ0NMRUFSRUQnIHdpbGwgYmUgZXhjbHVkZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgY29tbWEtc2VwYXJhdGVkIHN0cmluZyBvZiBhbGFybSBzdGF0dXNlcy5cbiAgICovXG4gIHByaXZhdGUgZ2V0U3RhdHVzUXVlcnlQYXJhbWV0ZXIoc2hvd0NsZWFyZWQ6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0YXR1c2VzID0gT2JqZWN0LmtleXMoQUxBUk1fU1RBVFVTX0xBQkVMUykgYXMgQWxhcm1TdGF0dXNUeXBlW107XG4gICAgY29uc3QgZmlsdGVyZWRTdGF0dXNlcyA9IHNob3dDbGVhcmVkXG4gICAgICA/IHN0YXR1c2VzXG4gICAgICA6IHN0YXR1c2VzLmZpbHRlcihzdGF0dXMgPT4gc3RhdHVzICE9PSAnQ0xFQVJFRCcpO1xuICAgIHJldHVybiBmaWx0ZXJlZFN0YXR1c2VzLmpvaW4oJywnKTtcbiAgfVxufVxuIl19
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm1zLXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FsYXJtcy9hbGFybXMtdmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLG1CQUFtQixFQUVuQixZQUFZLEVBQ1osV0FBVyxFQUlYLFFBQVEsRUFHVCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBSUwsY0FBYyxFQUNkLFdBQVcsRUFDWCxPQUFPLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHakU7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBWTVCLFlBQ1UsWUFBMEIsRUFDMUIsY0FBOEI7UUFEOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBYi9CLDJCQUFzQixHQUE2QixtQkFBbUIsQ0FBQztRQUN2RSwyQkFBc0IsR0FBRyxNQUFNLENBQUM7UUFDaEMsaUNBQTRCLEdBQUcsVUFBVSxDQUFDO1FBQzFDLDRCQUF1QixHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xFLG1DQUE4QixHQUFHLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBRzdGLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFRdEMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztZQUM3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ICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFMQVJNX1NUQVRVU19MQUJFTFMsXG4gIEFsYXJtUXVlcnlGaWx0ZXIsXG4gIEFsYXJtU2VydmljZSxcbiAgQWxhcm1TdGF0dXMsXG4gIEFsYXJtU3RhdHVzVHlwZSxcbiAgSUFsYXJtLFxuICBJUmVzdWx0TGlzdCxcbiAgU2V2ZXJpdHksXG4gIFNldmVyaXR5RmlsdGVyLFxuICBTZXZlcml0eVR5cGVcbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25PcHRpb25zLFxuICBDb250ZXh0RGF0YSxcbiAgRGF0ZVRpbWVDb250ZXh0LFxuICBPcHRpb25zU2VydmljZSxcbiAgVmlld0NvbnRleHQsXG4gIGdldHRleHRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFMQVJNU19QQVRILCBJTlRFUlZBTFNfRVhURU5ERUQgfSBmcm9tICcuL2FsYXJtcy5tb2RlbCc7XG5pbXBvcnQgeyBBbGFybUZpbHRlckludGVydmFsIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9pbnRlcnZhbC1waWNrZXInO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIG1hbmFnaW5nIGFuZCByZXRyaWV2aW5nIGFsYXJtcyBkYXRhIHdpdGhpbiB0aGUgYWxhcm1zIHZpZXcuXG4gKlxuICogVGhlIGBBbGFybXNWaWV3U2VydmljZWAgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSB0byBpbnRlcmFjdCB3aXRoIGFsYXJtcyxcbiAqIGluY2x1ZGluZyBmaWx0ZXJpbmcsIGNvdW50aW5nLCBhbmQgdHJhbnNsYXRpb24tcmVsYXRlZCBvcGVyYXRpb25zIGluIGFuIGFsYXJtcyB2aWV3LlxuICpcbiAqIFRoaXMgc2VydmljZSByZWxpZXMgb24gdGhlIGBBbGFybVNlcnZpY2VgIGZvciBmZXRjaGluZyBhbGFybSBkYXRhIGFuZCB0aGUgYE9wdGlvbnNTZXJ2aWNlYFxuICogZm9yIGNvbmZpZ3VyaW5nIGFsYXJtcyB2aWV3IG9wdGlvbnMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFsYXJtc1ZpZXdTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgQUxBUk1fUkVGUkVTSF9UWVBFX0tFWToga2V5b2YgQXBwbGljYXRpb25PcHRpb25zID0gJ2FsYXJtc1JlZnJlc2hUeXBlJztcbiAgcmVhZG9ubHkgREVGQVVMVF9JTlRFUlZBTF9WQUxVRSA9IDMwXzAwMDtcbiAgcmVhZG9ubHkgREVGQVVMVF9SRUZSRVNIX09QVElPTl9WQUxVRSA9ICdpbnRlcnZhbCc7XG4gIHJlYWRvbmx5IERFRkFVTFRfSU5URVJWQUxfVkFMVUVTID0gWzVfMDAwLCAxMF8wMDAsIDE1XzAwMCwgMzBfMDAwLCA2MF8wMDBdO1xuICByZWFkb25seSBSRUFMVElNRV9VUERBVEVfQUxBUk1TX01FU1NBR0UgPSBnZXR0ZXh0KCdUaGUgbGlzdCB3YXMgdXBkYXRlZCwgY2xpY2sgdG8gcmVmcmVzaC4nKTtcblxuICBpc0ludGVydmFsRW5hYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHJlbG9hZEFsYXJtc0xpc3QkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9pc0ludGVydmFsRW5hYmxlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWxhcm1TZXJ2aWNlOiBBbGFybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2VcbiAgKSB7XG4gICAgaWYgKHRoaXMuaXNJbnRlcnZhbFJlZnJlc2goKSkge1xuICAgICAgdGhpcy5faXNJbnRlcnZhbEVuYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAgICAgdGhpcy5pc0ludGVydmFsRW5hYmxlZCQgPSB0aGlzLl9pc0ludGVydmFsRW5hYmxlZC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSBzdWJqZWN0IHRvIGluaXRpYWxpemUgdGhlIGFsYXJtcyByZWxvYWRpbmcuXG4gICAqL1xuICB1cGRhdGVBbGFybUxpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5yZWxvYWRBbGFybXNMaXN0JC5uZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBhbGFybXMgZmlsdGVyZWQgYnkgc3BlY2lmaWVkIHNldmVyaXRpZXMgYW5kIG90aGVyIG9wdGlvbmFsIHF1ZXJ5IGZpbHRlcnMuXG4gICAqXG4gICAqIEBwYXJhbSBzZXZlcml0aWVzIGFuIGFycmF5IG9mIHNldmVyaXRpZXMgdG8gZmlsdGVyIHRoZSBhbGFybXMuXG4gICAqIEBwYXJhbSBzaG93Q2xlYXJlZCBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0byBzaG93IGNsZWFyZWQgYWxhcm1zLiBEZWZhdWx0cyB0byBmYWxzZS5cbiAgICogQHBhcmFtIHNlbGVjdGVkRGF0ZXMgYW4gYXJyYXkgb2YgdHdvIGRhdGVzIHRvIGZpbHRlciBhbGFybXMgYnkgY3JlYXRpb24gYW5kIGxhc3QgdXBkYXRlIGRhdGVzLlxuICAgKiBAcGFyYW0gZmlsdGVyIGFkZGl0aW9uYWwgcXVlcnkgZmlsdGVycyBmb3IgcmV0cmlldmluZyBhbGFybXMuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgbGlzdCBvZiBhbGFybXMgc2F0aXNmeWluZyB0aGUgc3BlY2lmaWVkIGZpbHRlcnMuXG4gICAqL1xuICByZXRyaWV2ZUZpbHRlcmVkQWxhcm1zKFxuICAgIHNldmVyaXRpZXM6IFNldmVyaXR5VHlwZVtdLFxuICAgIHNob3dDbGVhcmVkID0gZmFsc2UsXG4gICAgc2VsZWN0ZWREYXRlcz86IFtEYXRlLCBEYXRlXSxcbiAgICBmaWx0ZXI/OiBBbGFybVF1ZXJ5RmlsdGVyXG4gICk6IFByb21pc2U8SVJlc3VsdExpc3Q8SUFsYXJtPj4ge1xuICAgIGNvbnN0IHNldmVyaXRpZXNRdWVyeSA9IHRoaXMuZ2V0U2V2ZXJpdHlRdWVyeVBhcmFtZXRlcihzZXZlcml0aWVzKTtcbiAgICBjb25zdCBzdGF0dXNlc1F1ZXJ5ID0gdGhpcy5nZXRTdGF0dXNRdWVyeVBhcmFtZXRlcihzaG93Q2xlYXJlZCk7XG5cbiAgICBjb25zdCBfZmlsdGVyOiBBbGFybVF1ZXJ5RmlsdGVyID0ge1xuICAgICAgcGFnZVNpemU6IDUwLFxuICAgICAgd2l0aFRvdGFsUGFnZXM6IHRydWUsXG4gICAgICAuLi4oc2V2ZXJpdGllc1F1ZXJ5ICYmIHsgc2V2ZXJpdHk6IHNldmVyaXRpZXNRdWVyeSB9KSxcbiAgICAgIC4uLihzdGF0dXNlc1F1ZXJ5ICYmIHsgc3RhdHVzOiBzdGF0dXNlc1F1ZXJ5IH0pLFxuICAgICAgLi4uKHNlbGVjdGVkRGF0ZXMgJiYge1xuICAgICAgICBsYXN0VXBkYXRlZEZyb206IHNlbGVjdGVkRGF0ZXNbMF0udG9JU09TdHJpbmcoKSxcbiAgICAgICAgY3JlYXRlZFRvOiBzZWxlY3RlZERhdGVzWzFdLnRvSVNPU3RyaW5nKClcbiAgICAgIH0pLFxuICAgICAgLi4uZmlsdGVyXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5hbGFybVNlcnZpY2UubGlzdChfZmlsdGVyKTtcbiAgfVxuXG4gIHJldHJpZXZlQWxhcm1zQnlEYXRlKGRhdGVzOiBEYXRlVGltZUNvbnRleHQpIHtcbiAgICByZXR1cm4gdGhpcy5hbGFybVNlcnZpY2UubGlzdCh7XG4gICAgICBsYXN0VXBkYXRlZEZyb206IGRhdGVzWzBdLnRvSVNPU3RyaW5nKCksXG4gICAgICBjcmVhdGVkVG86IGRhdGVzWzFdLnRvSVNPU3RyaW5nKCksXG4gICAgICBwYWdlU2l6ZTogNTAsXG4gICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHN0YXRlIHRvIGVuYWJsZSBvciBkaXNhYmxlIGludGVydmFscy5cbiAgICogQHBhcmFtIHZhbHVlIC0gQSBib29sZWFuIHZhbHVlIHRvIGluZGljYXRlIHdoZXRoZXIgdG8gZW5hYmxlIGludGVydmFscy5cbiAgICovXG4gIHVwZGF0ZUludGVydmFsU3RhdGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9pc0ludGVydmFsRW5hYmxlZD8ubmV4dCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyB0aGUgY291bnQgb2YgYWxhcm1zIGZpbHRlcmVkIGJ5IHNldmVyaXR5IGFuZCBjbGVhcmFuY2Ugc3RhdHVzLlxuICAgKlxuICAgKiBAcGFyYW0gc2V2ZXJpdHkgLSBUaGUgc2V2ZXJpdHkgbGV2ZWwgdG8gZmlsdGVyIGJ5IChlLmcuLCBDUklUSUNBTCwgTUFKT1IsIGV0Yy4pLlxuICAgKiBAcGFyYW0gc2hvd0NsZWFyZWQgLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGNsZWFyZWQgYWxhcm1zIGluIHRoZSBjb3VudC5cbiAgICogQHBhcmFtIGZpbHRlciAtIEFkZGl0aW9uYWwgZmlsdGVyIGNyaXRlcmlhIGZvciBhbGFybXMuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBudW1iZXIgb2YgYWxhcm1zIHRoYXQgbWF0Y2ggdGhlIGZpbHRlciBjcml0ZXJpYS5cbiAgICpcbiAgICovXG4gIGFzeW5jIGdldEFsYXJtc0NvdW50QnlTZXZlcml0eShcbiAgICBzZXZlcml0eTogU2V2ZXJpdHlUeXBlLFxuICAgIHNob3dDbGVhcmVkOiBib29sZWFuLFxuICAgIGZpbHRlcj86IEFsYXJtUXVlcnlGaWx0ZXJcbiAgKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCBzdGF0dXNlc1F1ZXJ5ID0gdGhpcy5nZXRTdGF0dXNRdWVyeVBhcmFtZXRlcihzaG93Q2xlYXJlZCk7XG4gICAgY29uc3QgX2ZpbHRlcjogQWxhcm1RdWVyeUZpbHRlciA9IHtcbiAgICAgIC4uLihzZXZlcml0eSAmJiB7IHNldmVyaXR5OiBzZXZlcml0eSB9KSxcbiAgICAgIC4uLihzdGF0dXNlc1F1ZXJ5ICYmIHsgc3RhdHVzOiBzdGF0dXNlc1F1ZXJ5IH0pLFxuICAgICAgLi4uZmlsdGVyXG4gICAgfTtcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMuYWxhcm1TZXJ2aWNlLmNvdW50KF9maWx0ZXIpO1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IGFsYXJtcyByZWZyZXNoIHR5cGUgZnJvbSB0aGUgT3B0aW9uc1NlcnZpY2VcbiAgICogYW5kIGRldGVybWluZXMgd2hldGhlciBpdCBpcyBzZXQgdG8gXCJpbnRlcnZhbFwiLlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGFsYXJtcyByZWZyZXNoIHR5cGUgaXMgXCJpbnRlcnZhbCxcIiBvdGhlcndpc2UgYGZhbHNlYC5cbiAgICovXG4gIGlzSW50ZXJ2YWxSZWZyZXNoKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5vcHRpb25zU2VydmljZS5nZXQodGhpcy5BTEFSTV9SRUZSRVNIX1RZUEVfS0VZLCAnaW50ZXJ2YWwnKTtcbiAgICByZXR1cm4gdmFsdWUgPT09ICdpbnRlcnZhbCc7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgbGlzdCBvZiBzZWxlY3RlZCBzZXZlcml0aWVzIGJhc2VkIG9uIHRoZSBuZXcgc2V2ZXJpdHkgZmlsdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gc2V2ZXJpdHlVcGRhdGVzIC0gVGhlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHVwZGF0ZXMgdG8gZWFjaCBzZXZlcml0eS5cbiAgICpcbiAgICogQHJldHVybnMgQW4gYXJyYXkgcmVwcmVzZW50aW5nIHRoZSB1cGRhdGVkIHNlbGVjdGVkIHNldmVyaXRpZXMuXG4gICAqL1xuICB1cGRhdGVTZWxlY3RlZFNldmVyaXRpZXMoc2V2ZXJpdHlVcGRhdGVzOiBTZXZlcml0eUZpbHRlcik6IFNldmVyaXR5VHlwZVtdIHtcbiAgICByZXR1cm4gKE9iamVjdC5rZXlzKHNldmVyaXR5VXBkYXRlcykgYXMgU2V2ZXJpdHlUeXBlW10pXG4gICAgICAuZmlsdGVyKGtleSA9PiBzZXZlcml0eVVwZGF0ZXNba2V5XSlcbiAgICAgIC5tYXAoa2V5ID0+IGtleS50b1VwcGVyQ2FzZSgpIGFzIFNldmVyaXR5VHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIGFsbCBhY3RpdmUgYWxhcm1zIG9mIHRoZSBzZWxlY3RlZCBzZXZlcml0aWVzLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBjbGVhcnMgYWxsIGFjdGl2ZSBhbGFybXMgZm9yIHRoZSBnaXZlbiBsaXN0IG9mIHNldmVyaXRpZXMgYnkgbWFraW5nIGJ1bGsgdXBkYXRlIGNhbGxzLiBJZiBubyBzZXZlcml0aWVzIGFyZSBzZWxlY3RlZCwgaXQgZGVmYXVsdHMgdG8gdXNpbmcgYWxsIGF2YWlsYWJsZSBzZXZlcml0aWVzLlxuICAgKiBJdCB3b3JrcyBieSBzZW5kaW5nIGEgc2VyaWVzIG9mIHVwZGF0ZSByZXF1ZXN0cyBmb3IgZWFjaCBzZXZlcml0eSBhbmQgcmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGFuIG9iamVjdCBpbmRpY2F0aW5nIGlmIGFsbCBhbGFybXMgd2VyZSByZXNvbHZlZCBpbW1lZGlhdGVseS5cbiAgICpcbiAgICogQHBhcmFtIHNlbGVjdGVkU2V2ZXJpdGllcyBBbiBhcnJheSBvZiBzZXZlcml0aWVzIHRvIGJlIGNsZWFyZWQuIElmIG5vdCBwcm92aWRlZCwgYWxsIHNldmVyaXRpZXMgd2lsbCBiZSBjbGVhcmVkLlxuICAgKiBAcGFyYW0gc291cmNlSWQgLSBJZGVudGlmaWVyIGZvciB0aGUgc291cmNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYWxhcm1zIHRvIGJlIGNsZWFyZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYW4gb2JqZWN0IHdpdGggYSBmbGFnIGByZXNvbHZlZEltbWVkaWF0ZWx5YC4gVGhlIGZsYWcgaXMgdHJ1ZSBpZiBhbGwgYWxhcm1zIGZvciBhbGwgc2VsZWN0ZWQgc2V2ZXJpdGllcyB3ZXJlIGNsZWFyZWQgc3VjY2Vzc2Z1bGx5OyBvdGhlcndpc2UgZmFsc2UuXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3Qgc2V2ZXJpdGllc1RvQ2xlYXI6IFNldmVyaXR5VHlwZVtdID0gW1NldmVyaXR5Lk1BSk9SLCBTZXZlcml0eS5NSU5PUl07XG4gICAqXG4gICAqIGNsZWFyQWxsQWN0aXZlQWxhcm1zKHNldmVyaXRpZXNUb0NsZWFyKS50aGVuKCh7IHJlc29sdmVkSW1tZWRpYXRlbHkgfSkgPT4ge1xuICAgKiAgIGlmIChyZXNvbHZlZEltbWVkaWF0ZWx5KSB7XG4gICAqICAgICBjb25zb2xlLmxvZygnQWxsIHNlbGVjdGVkIGFsYXJtcyB3ZXJlIGNsZWFyZWQgc3VjY2Vzc2Z1bGx5LicpO1xuICAgKiAgIH0gZWxzZSB7XG4gICAqICAgICBjb25zb2xlLmxvZygnU29tZSBhbGFybXMgY291bGQgbm90IGJlIGNsZWFyZWQuJyk7XG4gICAqICAgfVxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqXG4gICAqICoqTm90ZSoqXG4gICAqIC0gVGhlIG1ldGhvZCB1c2VzIHRoZSBgYWxhcm1TZXJ2aWNlLnVwZGF0ZUJ1bGtgIGZvciBlYWNoIHNldmVyaXR5IHRvIGNsZWFyIHRoZSBhY3RpdmUgYWxhcm1zLlxuICAgKiAtIEl0IG1heSBmZXRjaCB0aGUgYHNvdXJjZUlkYCBiYXNlZCBvbiB0aGUgdmlldyAoaWYgYXBwbGljYWJsZSkgYW5kIGluY2x1ZGUgaXQgYXMgYSBxdWVyeSBwYXJhbWV0ZXIgaW4gdGhlIHVwZGF0ZSBjYWxscy5cbiAgICogLSBUaGUgbWV0aG9kIHJldHVybnMgaW1tZWRpYXRlbHkgYnV0IHRoZSByZXR1cm5lZCBQcm9taXNlIG5lZWRzIHRvIGhhdmUgYSBgdGhlbmAgb3IgYGNhdGNoYCBtZXRob2QgY2FsbCB0byBoYW5kbGUgdGhlIHJlc3VsdCBvciBlcnJvciByZXNwZWN0aXZlbHkuXG4gICAqIC0gVXNlcyBgUHJvbWlzZS5hbGxgIHRvIHdhaXQgZm9yIGFsbCB1cGRhdGUgcmVxdWVzdHMgdG8gY29tcGxldGUgYmVmb3JlIHJlc29sdmluZyB0aGUgZmluYWwgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgY2xlYXJBbGxBY3RpdmVBbGFybXMoXG4gICAgc2VsZWN0ZWRTZXZlcml0aWVzOiBTZXZlcml0eVR5cGVbXSxcbiAgICBzb3VyY2VJZDogc3RyaW5nIHwgbnVtYmVyXG4gICk6IFByb21pc2U8eyByZXNvbHZlZEltbWVkaWF0ZWx5OiBib29sZWFuIH0+IHtcbiAgICBjb25zdCBzZXZlcml0aWVzVG9VcGRhdGUgPSBzZWxlY3RlZFNldmVyaXRpZXMgfHwgU2V2ZXJpdHk7XG5cbiAgICBjb25zdCBwcm9taXNlcyA9IE9iamVjdC52YWx1ZXMoc2V2ZXJpdGllc1RvVXBkYXRlKS5tYXAoKHNldmVyaXR5OiBTZXZlcml0eVR5cGUpID0+IHtcbiAgICAgIGNvbnN0IGNvbW1vblBhcmFtcyA9IHsgcmVzb2x2ZWQ6IGZhbHNlLCBzZXZlcml0eSB9O1xuXG4gICAgICBjb25zdCBwYXJhbWV0ZXJzID0gc291cmNlSWRcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAuLi5jb21tb25QYXJhbXMsXG4gICAgICAgICAgICBzb3VyY2U6IHNvdXJjZUlkLFxuICAgICAgICAgICAgd2l0aFNvdXJjZUFzc2V0czogdHJ1ZSxcbiAgICAgICAgICAgIHdpdGhTb3VyY2VEZXZpY2VzOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICA6IGNvbW1vblBhcmFtcztcblxuICAgICAgcmV0dXJuIHRoaXMuYWxhcm1TZXJ2aWNlLnVwZGF0ZUJ1bGsoeyBzdGF0dXM6IEFsYXJtU3RhdHVzLkNMRUFSRUQgfSwgcGFyYW1ldGVycyk7XG4gICAgfSk7XG5cbiAgICBjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc29sdmVkSW1tZWRpYXRlbHk6IHJlc3BvbnNlcy5ldmVyeShyZXMgPT4gcmVzKVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY29ycmVjdCBsaW5rIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjb250ZXh0IGRhdGEuXG4gICAqIEBwYXJhbSBjb250ZXh0RGF0YSBUaGUgY29udGV4dCB0aGUgbmF2aWdhdGlvbiB3YXMgdHJpZ2dlcmVkIGZyb20uXG4gICAqIEBwYXJhbSBhbGFybSBUaGUgYWxhcm0gdG8gbmF2aWdhdGUgdG8uXG4gICAqIEByZXR1cm5zIEEgbGluayB0byBiZSB1c2VkIGFzIGFuIHVybCBuYXZpZ2F0aW9uLlxuICAgKi9cbiAgZ2V0Um91dGVyTGluayhjb250ZXh0RGF0YT86IENvbnRleHREYXRhLCBhbGFybT86IElBbGFybSk6IHN0cmluZyB7XG4gICAgbGV0IGRldGFpbFVybCA9IGAvJHtBTEFSTVNfUEFUSH1gO1xuICAgIGlmIChhbGFybSkge1xuICAgICAgZGV0YWlsVXJsID0gYC8ke0FMQVJNU19QQVRIfS8ke2FsYXJtLmlkfWA7XG4gICAgfVxuICAgIGlmICghY29udGV4dERhdGEpIHtcbiAgICAgIHJldHVybiBkZXRhaWxVcmw7XG4gICAgfVxuXG4gICAgc3dpdGNoIChjb250ZXh0RGF0YS5jb250ZXh0KSB7XG4gICAgICBjYXNlIFZpZXdDb250ZXh0LkRldmljZTpcbiAgICAgICAgcmV0dXJuIGAvZGV2aWNlLyR7Y29udGV4dERhdGEuY29udGV4dERhdGEuaWR9JHtkZXRhaWxVcmx9YDtcbiAgICAgIGNhc2UgVmlld0NvbnRleHQuR3JvdXA6XG4gICAgICAgIHJldHVybiBgL2dyb3VwLyR7Y29udGV4dERhdGEuY29udGV4dERhdGEuaWR9JHtkZXRhaWxVcmx9YDtcbiAgICAgIGNhc2UgVmlld0NvbnRleHQuU2ltdWxhdG9yczpcbiAgICAgICAgcmV0dXJuIGAvc2ltdWxhdG9ycy8ke2NvbnRleHREYXRhLmNvbnRleHREYXRhLmlkfSR7ZGV0YWlsVXJsfWA7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZGV0YWlsVXJsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb3JyZWN0IGFycmF5IG5hdmlnYXRpb24uXG4gICAqIEBwYXJhbSBjb250ZXh0RGF0YSBUaGUgY29udGV4dCB0aGUgbmF2aWdhdGlvbiB3YXMgdHJpZ2dlcmVkIGZyb20uXG4gICAqIEBwYXJhbSBhbGFybSBUaGUgYWxhcm0gdG8gbmF2aWdhdGUgdG8uXG4gICAqIEByZXR1cm5zIEEgbGluayB0byBiZSB1c2VkIGFzIGEgcm91dGVyLm5hdmlnYXRpb24uXG4gICAqL1xuICBnZXRSb3V0ZXJOYXZpZ2F0aW9uQXJyYXkoY29udGV4dERhdGE/OiBDb250ZXh0RGF0YSwgYWxhcm0/OiBJQWxhcm0pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Um91dGVyTGluayhjb250ZXh0RGF0YSwgYWxhcm0pLnNwbGl0KCcvJykuZmlsdGVyKEJvb2xlYW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNvcnJlY3QgZnJvbSBhbmQgdG8gZGF0ZXMgYmFzZWQgb24gdGhlIHNlbGVjdGVkIGludGVydmFsXG4gICAqIEBwYXJhbSBpbnRlcnZhbElkIHRoZSBzZWxlY3RlZCBpbnRlcnZhbC4gRS5nLiAnbm9uZScsICdob3VycycsICdjdXN0b20nIC4uLlxuICAgKiBAcmV0dXJucyBUaGUgY2FsY3VsYXRlZCBkYXRlIGNvbnRleHQgYmFzZWQgb24gdGhlIHNlbGVjdGVkIGludGVydmFsLlxuICAgKi9cbiAgZ2V0RGF0ZVRpbWVDb250ZXh0QnlJbnRlcnZhbChpbnRlcnZhbElkOiBBbGFybUZpbHRlckludGVydmFsWydpZCddKTogRGF0ZVRpbWVDb250ZXh0IHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IElOVEVSVkFMU19FWFRFTkRFRC5maW5kKCh7IGlkIH0pID0+IGlkID09PSBpbnRlcnZhbElkKTtcbiAgICBpZiAoaW50ZXJ2YWwuaWQgPT09ICdub25lJykge1xuICAgICAgcmV0dXJuIFtuZXcgRGF0ZSgwKSwgbmV3IERhdGUoKV07XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZVRvID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBkYXRlRnJvbSA9IG5ldyBEYXRlKGRhdGVUby52YWx1ZU9mKCkgLSBpbnRlcnZhbC50aW1lc3BhbkluTXMpO1xuICAgIHJldHVybiBbZGF0ZUZyb20sIGRhdGVUb107XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHZhbHVlIGZvciBxdWVyeSBwYXJhbWV0ZXIgZm9yIGZpbHRlcmluZyBhbGFybXMgYnkgc2V2ZXJpdHkgYmFzZWQgb24gYXJyYXkgb2Ygc2VsZWN0ZWQgc2V2ZXJpdGllcy5cbiAgICpcbiAgICogQHBhcmFtIHNldmVyaXRpZXMgLSBBbiBhcnJheSBvZiBhbGFybSBzZXZlcml0eSB0eXBlcyB0byBpbmNsdWRlIGluIHRoZSBmaWx0ZXIuXG4gICAqIElmIHRoZSBhcnJheSBpcyBlbXB0eSBvciB1bmRlZmluZWQsIG5vIHNldmVyaXR5IGZpbHRlciB3aWxsIGJlIGFwcGxpZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgY29tbWEtc2VwYXJhdGVkIHN0cmluZyBvZiBzZWxlY3RlZCBhbGFybSBzZXZlcml0aWVzLFxuICAgKiBvciBudWxsIGlmIG5vIHNldmVyaXRpZXMgYXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRTZXZlcml0eVF1ZXJ5UGFyYW1ldGVyKHNldmVyaXRpZXM6IFNldmVyaXR5VHlwZVtdKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKCFzZXZlcml0aWVzIHx8IHNldmVyaXRpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChzZXZlcml0aWVzLmxlbmd0aCA9PT0gT2JqZWN0LmtleXMoU2V2ZXJpdHkpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiBzZXZlcml0aWVzLmpvaW4oJywnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgdmFsdWUgZm9yIHF1ZXJ5IHBhcmFtZXRlciBmb3IgZmlsdGVyaW5nIGFsYXJtcyBieSBzdGF0dXNlcyBiYXNlZCBvbiBzaG93Q2xlYXJlZCBvcHRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBzaG93Q2xlYXJlZCAtIEEgZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gaW5jbHVkZSBjbGVhcmVkIHN0YXR1c2VzLlxuICAgKiBJZiB0cnVlLCBhbGwgc3RhdHVzZXMsIGluY2x1ZGluZyAnQ0xFQVJFRCcsIHdpbGwgYmUgaW5jbHVkZWQ7IGlmIGZhbHNlLCAnQ0xFQVJFRCcgd2lsbCBiZSBleGNsdWRlZC5cbiAgICpcbiAgICogQHJldHVybnMgQSBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nIG9mIGFsYXJtIHN0YXR1c2VzLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRTdGF0dXNRdWVyeVBhcmFtZXRlcihzaG93Q2xlYXJlZDogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RhdHVzZXMgPSBPYmplY3Qua2V5cyhBTEFSTV9TVEFUVVNfTEFCRUxTKSBhcyBBbGFybVN0YXR1c1R5cGVbXTtcbiAgICBjb25zdCBmaWx0ZXJlZFN0YXR1c2VzID0gc2hvd0NsZWFyZWRcbiAgICAgID8gc3RhdHVzZXNcbiAgICAgIDogc3RhdHVzZXMuZmlsdGVyKHN0YXR1cyA9PiBzdGF0dXMgIT09ICdDTEVBUkVEJyk7XG4gICAgcmV0dXJuIGZpbHRlcmVkU3RhdHVzZXMuam9pbignLCcpO1xuICB9XG59XG4iXX0=
@@ -180,7 +180,7 @@ export class AlarmsComponent {
180
180
  return;
181
181
  }
182
182
  const { context, contextData } = routeContext;
183
- if ([ViewContext.Device, ViewContext.Group].includes(context)) {
183
+ if ([ViewContext.Device, ViewContext.Group, ViewContext.Simulators].includes(context)) {
184
184
  this.contextSourceId = contextData?.id;
185
185
  }
186
186
  }
@@ -194,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
194
194
  type: ViewChild,
195
195
  args: [AlarmsIntervalRefreshComponent]
196
196
  }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FsYXJtcy9hbGFybXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vYWxhcm1zL2FsYXJtcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBSUwsZUFBZSxFQUdoQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLFlBQVksRUFDWixtQkFBbUIsRUFFbkIsWUFBWSxFQUNaLFdBQVcsRUFDWCxPQUFPLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUMxQixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBT3hCLE1BQU0sT0FBTyxlQUFlO0lBMEIxQixZQUNTLGNBQThCLEVBQzdCLGlCQUFvQyxFQUNwQyxnQ0FBa0UsRUFDbEUsWUFBMEIsRUFDMUIsbUJBQXdDLEVBQ3hDLFlBQTBCLEVBQzFCLGdCQUFrQyxFQUNsQyxNQUFjO1FBUGYsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLHNCQUFp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YyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxZQUFZLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzlELElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQzs4R0F2TlUsZUFBZTtrR0FBZixlQUFlLHFDQUZmLENBQUMsZ0NBQWdDLENBQUMseUZBT2xDLDhCQUE4QixnREN6QzNDLG1uSEErSEE7OzJGRDNGYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVksYUFFWCxDQUFDLGdDQUFnQyxDQUFDOzhTQVE3Qyw2QkFBNkI7c0JBRDVCLFNBQVM7dUJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEFsYXJtUXVlcnlGaWx0ZXIsXG4gIElBbGFybSxcbiAgSVJlc3VsdExpc3QsXG4gIFNFVkVSSVRZX0xBQkVMUyxcbiAgU2V2ZXJpdHlGaWx0ZXIsXG4gIFNldmVyaXR5VHlwZVxufSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQge1xuICBBbGFybVdpdGhDaGlsZHJlblJlYWx0aW1lU2VydmljZSxcbiAgQWxlcnRTZXJ2aWNlLFxuICBDb250ZXh0Um91dGVTZXJ2aWNlLFxuICBEYXRlVGltZUNvbnRleHQsXG4gIE1vZGFsU2VydmljZSxcbiAgVmlld0NvbnRleHQsXG4gIGdldHRleHRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbGFybURldGFpbHMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2FsYXJtLWV2ZW50LXNlbGVjdG9yJztcbmltcG9ydCB7IEFsYXJtc0ludGVydmFsUmVmcmVzaENvbXBvbmVudCB9IGZyb20gJy4vYWxhcm1zLWludGVydmFsLXJlZnJlc2guY29tcG9uZW50JztcbmltcG9ydCB7IEFsYXJtc1ZpZXdTZXJ2aWNlIH0gZnJvbSAnLi9hbGFybXMtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFsYXJtTGlzdEZvcm1GaWx0ZXJzLFxuICBERUZBVUxUX1NFVkVSSVRZX1ZBTFVFUyxcbiAgVEhST1RUTEVfUkVBTFRJTUVfUkVGUkVTSFxufSBmcm9tICcuL2FsYXJtcy5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1hbGFybXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxhcm1zLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbQWxhcm1XaXRoQ2hpbGRyZW5SZWFsdGltZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEFsYXJtc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgTkVXX1JFQUxUSU1FX0FMQVJNX01FU1NBR0UgPSB0aGlzLmFsYXJtc1ZpZXdTZXJ2aWNlLlJFQUxUSU1FX1VQREFURV9BTEFSTVNfTUVTU0FHRTtcbiAgcmVhZG9ubHkgVElUTEUgPSBnZXR0ZXh0KCdBbGFybXMnKTtcbiAgcmVhZG9ubHkgUkVGUkVTSF9MQUJFTCA9IGdldHRleHQoJ1JlZnJlc2gnKTtcblxuICBAVmlld0NoaWxkKEFsYXJtc0ludGVydmFsUmVmcmVzaENvbXBvbmVudClcbiAgYWxhcm1JbnRlcnZhbFJlZnJlc2hDb21wb25lbnQ6IEFsYXJtc0ludGVydmFsUmVmcmVzaENvbXBvbmVudDtcbiAgYWxhcm1zJDogQmVoYXZpb3JTdWJqZWN0PElSZXN1bHRMaXN0PElBbGFybT4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJUmVzdWx0TGlzdDxJQWxhcm0+PihudWxsKTtcbiAgY29udGV4dFNvdXJjZUlkOiBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xuICAvKiogcmVzcG9uc2libGUgZm9yIHNob3dpbmcgZWl0aGVyIHJlYWx0aW1lIGJ1dHRvbiBvciBpbnRlcnZhbHMsIGJhc2VkIG9uICdyZWZyZXNoVHlwZScga2V5IGluIE9wdGlvbnNTZXJ2aWNlICovXG4gIGlzSW50ZXJ2YWxSZWZyZXNoOiBib29sZWFuO1xuICBpc0xvYWRpbmckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaXNSZWFsdGltZUFjdGl2ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFsdGltZUljb25UaXRsZTogc3RyaW5nO1xuICBzaG91bGRTaG93SW50ZXJ2YWxUb2dnbGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgaXNSZWFsdGltZVRvZ2dsZU9uID0gdHJ1ZTtcbiAgdHlwZUZpbHRlcnM6IEFsYXJtRGV0YWlsc1tdID0gW107XG4gIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBzZWxlY3RlZFNldmVyaXRpZXMgPSBPYmplY3Qua2V5cyhTRVZFUklUWV9MQUJFTFMpIGFzIFNldmVyaXR5VHlwZVtdO1xuICBwcml2YXRlIHNldmVyaXR5T3B0aW9uczogU2V2ZXJpdHlGaWx0ZXIgPSBERUZBVUxUX1NFVkVSSVRZX1ZBTFVFUztcbiAgcHJpdmF0ZSBzaG93Q2xlYXJlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IFdBSVRfVElNRV9BVk9JRF9NVUxUSVBMRV9SRVFVRVNUX0JZX1BBUkFNX0NIQU5HRSA9IDEwMDtcbiAgcHJpdmF0ZSBzZWxlY3RlZERhdGVzOiBEYXRlVGltZUNvbnRleHQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGFsYXJtc1ZpZXdTZXJ2aWNlOiBBbGFybXNWaWV3U2VydmljZSxcbiAgICBwcml2YXRlIGFsYXJtV2l0aENoaWxkcmVuUmVhbHRpbWVTZXJ2aWNlOiBBbGFybVdpdGhDaGlsZHJlblJlYWx0aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFJvdXRlU2VydmljZTogQ29udGV4dFJvdXRlU2VydmljZSxcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHRoaXMuaXNJbnRlcnZhbFJlZnJlc2ggPSB0aGlzLmFsYXJtc1ZpZXdTZXJ2aWNlLmlzSW50ZXJ2YWxSZWZyZXNoKCk7XG4gICAgdGhpcy5pbml0aWFsaXplQ29udGV4dFNvdXJjZUlkKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBpc0luRGV0YWlsVmlldyA9ICEhdGhpcy5hY3RpdmF0ZWRSb3V0ZS5jaGlsZHJlblswXT8uc25hcHNob3QucGFyYW1zLmlkO1xuICAgIGlmIChpc0luRGV0YWlsVmlldykge1xuICAgICAgdGhpcy5jaGFuZ2VJbnRlcnZhbChmYWxzZSk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzSW50ZXJ2YWxSZWZyZXNoKSB7XG4gICAgICB0aGlzLmhhbmRsZUxlZ2FjeVJlYWx0aW1lKCk7XG4gICAgfVxuXG4gICAgdGhpcy5hbGFybXNWaWV3U2VydmljZS5yZWxvYWRBbGFybXNMaXN0JFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLldBSVRfVElNRV9BVk9JRF9NVUxUSVBMRV9SRVFVRVNUX0JZX1BBUkFNX0NIQU5HRSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlQWxhcm1zKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGFwcGx5VHlwZUZpbHRlcnModHlwZUZpbHRlcnM6IEFsYXJtRGV0YWlsc1tdKTogdm9pZCB7XG4gICAgdGhpcy50eXBlRmlsdGVycyA9IHR5cGVGaWx0ZXJzO1xuICAgIHRoaXMuYWxhcm1zVmlld1NlcnZpY2UucmVsb2FkQWxhcm1zTGlzdCQubmV4dCgpO1xuICAgIHRoaXMuaXNSZWFsdGltZUFjdGl2ZS5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIGFwcGx5Rm9ybUZpbHRlcnMoeyBzZXZlcml0eU9wdGlvbnMsIHNob3dDbGVhcmVkLCBzZWxlY3RlZERhdGVzIH06IEFsYXJtTGlzdEZvcm1GaWx0ZXJzKTogdm9pZCB7XG4gICAgdGhpcy5zZXZlcml0eU9wdGlvbnMgPSBzZXZlcml0eU9wdGlvbnM7XG4gICAgdGhpcy5zaG93Q2xlYXJlZCA9IHNob3dDbGVhcmVkO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlcyA9IHNlbGVjdGVkRGF0ZXM7XG4gICAgdGhpcy5zZWxlY3RlZFNldmVyaXRpZXMgPSB0aGlzLmFsYXJtc1ZpZXdTZXJ2aWNlLnVwZGF0ZVNlbGVjdGVkU2V2ZXJpdGllcyh0aGlzLnNldmVyaXR5T3B0aW9ucyk7XG4gICAgdGhpcy5hbGFybXNWaWV3U2VydmljZS5yZWxvYWRBbGFybXNMaXN0JC5uZXh0KCk7XG4gICAgdGhpcy5pc1JlYWx0aW1lQWN0aXZlLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgYXN5bmMgYXBwbHlEYXRlRmlsdGVyKHNlbGVjdGVkRGF0ZXM6IFtEYXRlLCBEYXRlXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYWxhcm1zJC5uZXh0KGF3YWl0IHRoaXMuYWxhcm1zVmlld1NlcnZpY2UucmV0cmlldmVBbGFybXNCeURhdGUoc2VsZWN0ZWREYXRlcykpO1xuICAgIHRoaXMuaXNSZWFsdGltZUFjdGl2ZS5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIGFzeW5jIGNsZWFyQWxsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0cmFuc2xhdGVkQm9keSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICBnZXR0ZXh0KCdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY2xlYXIgYWxsIGFsYXJtcyBvZiBzZWxlY3RlZCBzZXZlcml0aWVzPycpXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5tb2RhbFNlcnZpY2UuY29uZmlybShcbiAgICAgICAgZ2V0dGV4dCgnQ29uZmlybSBjbGVhcmluZyBhbGFybXM/JyksXG4gICAgICAgIHRyYW5zbGF0ZWRCb2R5LFxuICAgICAgICAnZGFuZ2VyJyxcbiAgICAgICAge1xuICAgICAgICAgIG9rOiBnZXR0ZXh0KCdDb25maXJtJyksXG4gICAgICAgICAgY2FuY2VsOiBnZXR0ZXh0KCdDYW5jZWwnKVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gbW9kYWwgY2FuY2VsZWRcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLmNsZWFyQWxhcm1zKCk7XG4gIH1cblxuICByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWxhcm1zKCk7XG4gICAgdGhpcy5pc1JlYWx0aW1lQWN0aXZlLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgY2hhbmdlSW50ZXJ2YWwodmFsdWUgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5zaG91bGRTaG93SW50ZXJ2YWxUb2dnbGUkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgdG9nZ2xlUmVhbHRpbWVTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzUmVhbHRpbWVUb2dnbGVPbiA9ICF0aGlzLmlzUmVhbHRpbWVUb2dnbGVPbjtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTGVnYWN5UmVhbHRpbWUoKSB7XG4gICAgdGhpcy5yZWFsdGltZUljb25UaXRsZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ1JlYWx0aW1lIGFjdGl2ZScpKTtcbiAgICB0aGlzLnN1YnNjcmliZVRvUmVhbHRpbWVVcGRhdGVzKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNsZWFyQWxhcm1zKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmFsYXJtc1ZpZXdTZXJ2aWNlLmNsZWFyQWxsQWN0aXZlQWxhcm1zKFxuICAgICAgICB0aGlzLnNlbGVjdGVkU2V2ZXJpdGllcyxcbiAgICAgICAgdGhpcy5jb250ZXh0U291cmNlSWRcbiAgICAgICk7XG5cbiAgICAgIGlmIChyZXN1bHQucmVzb2x2ZWRJbW1lZGlhdGVseSkge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ0FsYXJtcyBjbGVhcmVkLicpKSk7XG4gICAgICAgIHRoaXMuYmFja1RvUm9vdFJvdXRlKCk7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcyhcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChnZXR0ZXh0KCdBbGFybXMgYXJlIGJlaW5nIGNsZWFyZWQgaW4gYmFja2dyb3VuZC4nKSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBiYWNrVG9Sb290Um91dGUoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGV4dERhdGEgPSB0aGlzLmNvbnRleHRSb3V0ZVNlcnZpY2UuZ2V0Q29udGV4dERhdGEodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUodGhpcy5hbGFybXNWaWV3U2VydmljZS5nZXRSb3V0ZXJOYXZpZ2F0aW9uQXJyYXkoY29udGV4dERhdGEpLCB7XG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEFsYXJtcygpOiBQcm9taXNlPElSZXN1bHRMaXN0PElBbGFybT4+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5pc0xvYWRpbmckLm5leHQodHJ1ZSk7XG5cbiAgICAgIGNvbnN0IGFkZGl0aW9uYWxGaWx0ZXI6IFBhcnRpYWw8QWxhcm1RdWVyeUZpbHRlcj4gPSB7fTtcblxuICAgICAgaWYgKHRoaXMuY29udGV4dFNvdXJjZUlkKSB7XG4gICAgICAgIChhZGRpdGlvbmFsRmlsdGVyLnNvdXJjZSA9IHRoaXMuY29udGV4dFNvdXJjZUlkKSxcbiAgICAgICAgICAoYWRkaXRpb25hbEZpbHRlci53aXRoU291cmNlQXNzZXRzID0gdHJ1ZSksXG4gICAgICAgICAgKGFkZGl0aW9uYWxGaWx0ZXIud2l0aFNvdXJjZURldmljZXMgPSB0cnVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudHlwZUZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBhZGRpdGlvbmFsRmlsdGVyLnR5cGUgPSB0aGlzLnR5cGVGaWx0ZXJzLm1hcCgoeyBmaWx0ZXJzIH0pID0+IGZpbHRlcnMudHlwZSkuam9pbignLCcpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5hbGFybXNWaWV3U2VydmljZS5yZXRyaWV2ZUZpbHRlcmVkQWxhcm1zKFxuICAgICAgICB0aGlzLnNlbGVjdGVkU2V2ZXJpdGllcyxcbiAgICAgICAgdGhpcy5zaG93Q2xlYXJlZCxcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVzLFxuICAgICAgICBhZGRpdGlvbmFsRmlsdGVyXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3I/LnJlcz8uc3RhdHVzID09PSA0MDMpIHtcbiAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShlcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZUFsYXJtcygpIHtcbiAgICB0aGlzLmFsYXJtcyQubmV4dChhd2FpdCB0aGlzLmdldEFsYXJtcygpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9SZWFsdGltZVVwZGF0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5hbGFybVdpdGhDaGlsZHJlblJlYWx0aW1lU2VydmljZVxuICAgICAgLm9uQWxsJCh0aGlzLmNvbnRleHRTb3VyY2VJZClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIHRocm90dGxlVGltZShUSFJPVFRMRV9SRUFMVElNRV9SRUZSRVNILCB1bmRlZmluZWQsIHsgdHJhaWxpbmc6IHRydWUgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc1JlYWx0aW1lVG9nZ2xlT24pIHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmlzUmVhbHRpbWVBY3RpdmUubmV4dCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDb250ZXh0U291cmNlSWQoKTogdm9pZCB7XG4gICAgY29uc3Qgcm91dGVDb250ZXh0ID0gdGhpcy5jb250ZXh0Um91dGVTZXJ2aWNlLmdldENvbnRleHREYXRhKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xuICAgIGlmICghcm91dGVDb250ZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHsgY29udGV4dCwgY29udGV4dERhdGEgfSA9IHJvdXRlQ29udGV4dDtcbiAgICBpZiAoW1ZpZXdDb250ZXh0LkRldmljZSwgVmlld0NvbnRleHQuR3JvdXBdLmluY2x1ZGVzKGNvbnRleHQpKSB7XG4gICAgICB0aGlzLmNvbnRleHRTb3VyY2VJZCA9IGNvbnRleHREYXRhPy5pZDtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIoYWN0aXZhdGVkUm91dGUuZGF0YSB8IGFzeW5jKT8udGl0bGVcIj5cbiAgPGM4eS10aXRsZT57eyBUSVRMRSB8IHRyYW5zbGF0ZSB9fTwvYzh5LXRpdGxlPlxuPC9uZy1jb250YWluZXI+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtXG4gIFtwbGFjZW1lbnRdPVwiJ2xlZnQnXCJcbiAgaXRlbUNsYXNzPVwibmF2YmFyLWZvcm0gbWluLXdpZHRoLWZpdFwiXG4+XG4gIDxjOHktYWxhcm1zLWZpbHRlclxuICAgIGNsYXNzPVwiZC1ibG9jayBmaXQtd1wiXG4gICAgW2NvbnRleHRTb3VyY2VJZF09XCJjb250ZXh0U291cmNlSWRcIlxuICAgIChvbkZpbHRlckFwcGxpZWQpPVwiYXBwbHlGb3JtRmlsdGVycygkZXZlbnQpXCJcbiAgPjwvYzh5LWFsYXJtcy1maWx0ZXI+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtXG4gIFtwbGFjZW1lbnRdPVwiJ2xlZnQnXCJcbiAgaXRlbUNsYXNzPVwibmF2YmFyLWZvcm0gbWluLXdpZHRoLWZpdFwiXG4+XG4gIDxjOHktYWxhcm1zLWRhdGUtZmlsdGVyIChkYXRlRmlsdGVyQ2hhbmdlKT1cImFwcGx5Rm9ybUZpbHRlcnMoJGV2ZW50KVwiPjwvYzh5LWFsYXJtcy1kYXRlLWZpbHRlcj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW1cbiAgW3BsYWNlbWVudF09XCInbGVmdCdcIlxuICBpdGVtQ2xhc3M9XCJuYXZiYXItZm9ybVwiXG4+XG4gIDxjOHktYWxhcm1zLXR5cGUtZmlsdGVyXG4gICAgY2xhc3M9XCJkLWJsb2NrIGZpdC13XCJcbiAgICBbYWxhcm1zXT1cImFsYXJtcyQgfCBhc3luY1wiXG4gICAgKG9uRmlsdGVyQ2hhbmdlZCk9XCJhcHBseVR5cGVGaWx0ZXJzKCRldmVudClcIlxuICA+PC9jOHktYWxhcm1zLXR5cGUtZmlsdGVyPlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48Yzh5LWFjdGlvbi1iYXItaXRlbVxuICBbcGxhY2VtZW50XT1cIidyaWdodCdcIlxuICBbcHJpb3JpdHldPVwiMFwiXG4+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0biBidG4tbGlua1wiXG4gICAgW3RpdGxlXT1cIidDbGVhciBhbGwgYWxhcm1zJyB8IHRyYW5zbGF0ZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cImNsZWFyQWxsKClcIlxuICAgIGRhdGEtY3k9XCJjOHktYWxhcm1zLXZpZXctLWNsZWFyLWFsbC1idXR0b25cIlxuICA+XG4gICAgPGkgYzh5SWNvbj1cImM4eS1hbGVydC1pZGxlXCI+PC9pPlxuICAgIHt7ICdDbGVhciBhbGxgYWxhcm1zYCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjwhLS1SZWFsdGltZSBidXR0b24tLT5cbjxuZy10ZW1wbGF0ZSAjcmVhbHRpbWVSZWZyZXNoPlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXNtXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1JlZnJlc2gnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFt0b29sdGlwXT1cIlxuICAgICAgICAoaXNSZWFsdGltZUFjdGl2ZSB8IGFzeW5jKVxuICAgICAgICAgID8gKE5FV19SRUFMVElNRV9BTEFSTV9NRVNTQUdFIHwgdHJhbnNsYXRlKVxuICAgICAgICAgIDogKFJFRlJFU0hfTEFCRUwgfCB0cmFuc2xhdGUpXG4gICAgICBcIlxuICAgICAgcGxhY2VtZW50PVwibGVmdFwiXG4gICAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2FkYXB0aXZlUG9zaXRpb25dPVwiZmFsc2VcIlxuICAgICAgW2RlbGF5XT1cIjUwMFwiXG4gICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nJCB8IGFzeW5jXCJcbiAgICAgIChjbGljayk9XCJyZWZyZXNoKClcIlxuICAgID5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwidGFnIHRhZy0taW5mbyBtLXItOFwiXG4gICAgICAgICpuZ0lmPVwiaXNSZWFsdGltZUFjdGl2ZSB8IGFzeW5jXCJcbiAgICAgID5cbiAgICAgICAge3sgJ05ldyBhbGFybXMnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8aVxuICAgICAgICBjOHlJY29uPVwicmVmcmVzaFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ljb24tc3Bpbic6IGlzTG9hZGluZyQgfCBhc3luYyB9XCJcbiAgICAgID48L2k+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJjOHktcmVhbHRpbWUgYnRuIGJ0bi1kZWZhdWx0IGJ0bi1zbVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlYWx0aW1lSWNvblRpdGxlXCJcbiAgICAgIFt0b29sdGlwXT1cInJlYWx0aW1lSWNvblRpdGxlXCJcbiAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGRhdGEtY3k9XCJjOHktYWxhcm1zLS1yZWFsdGltZS1idXR0b25cIlxuICAgICAgW2NvbnRhaW5lcl09XCInYm9keSdcIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZVJlYWx0aW1lU3RhdGUoKVwiXG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJjOHktcHVsc2UgbS0wXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgIGFjdGl2ZTogaXNSZWFsdGltZVRvZ2dsZU9uLFxuICAgICAgICAgIGluYWN0aXZlOiAhaXNSZWFsdGltZVRvZ2dsZU9uXG4gICAgICAgIH1cIlxuICAgICAgPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48Yzh5LWhlbHBcbiAgc3JjPVwiL2RvY3MvZGV2aWNlLW1hbmFnZW1lbnQtYXBwbGljYXRpb24vbW9uaXRvcmluZy1hbmQtY29udHJvbGxpbmctZGV2aWNlcy8jd29ya2luZy13aXRoLWFsYXJtc1wiXG4+PC9jOHktaGVscD5cblxuPGRpdiBjbGFzcz1cImNhcmQgY29udGVudC1mdWxscGFnZSBzcGxpdC12aWV3LS01LTcgZ3JpZF9fcm93LS0xXCI+XG4gIDxjOHktYWxhcm1zLWxpc3RcbiAgICBjbGFzcz1cImQtY29udGVudHNcIlxuICAgIFtpc0luaXRpYWxMb2FkaW5nXT1cImlzTG9hZGluZyQgfCBhc3luY1wiXG4gICAgW2FsYXJtc109XCJhbGFybXMkIHwgYXN5bmNcIlxuICAgIFt0eXBlRmlsdGVyc109XCJ0eXBlRmlsdGVyc1wiXG4gICAgKG9uU2Nyb2xsaW5nU3RhdGVDaGFuZ2UpPVwiY2hhbmdlSW50ZXJ2YWwoISRldmVudClcIlxuICAgIChvblNlbGVjdGVkQWxhcm0pPVwiY2hhbmdlSW50ZXJ2YWwoZmFsc2UpXCJcbiAgICBbc3BsaXRWaWV3XT1cInRydWVcIlxuICAgIFtoYXNQZXJtaXNzaW9uc109XCIhaXNEaXNhYmxlZFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNJbnRlcnZhbFJlZnJlc2g7IGVsc2UgcmVhbHRpbWVSZWZyZXNoXCI+XG4gICAgICA8Yzh5LWFsYXJtcy1pbnRlcnZhbC1yZWZyZXNoXG4gICAgICAgIFthbGFybXNMaXN0TG9hZGluZyRdPVwiaXNMb2FkaW5nJFwiXG4gICAgICAgIFtpc0ludGVydmFsVG9nZ2xlRW5hYmxlZF09XCJzaG91bGRTaG93SW50ZXJ2YWxUb2dnbGUkIHwgYXN5bmNcIlxuICAgICAgICAob25Db3VudGRvd25FbmRlZCk9XCJyZWZyZXNoKClcIlxuICAgICAgICBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgID48L2M4eS1hbGFybXMtaW50ZXJ2YWwtcmVmcmVzaD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9jOHktYWxhcm1zLWxpc3Q+XG5cbiAgPHJvdXRlci1vdXRsZXQgY2xhc3M9XCJkLWNvbnRlbnRzXCI+PC9yb3V0ZXItb3V0bGV0PlxuPC9kaXY+XG4iXX0=
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FsYXJtcy9hbGFybXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vYWxhcm1zL2FsYXJtcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBSUwsZUFBZSxFQUdoQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLFlBQVksRUFDWixtQkFBbUIsRUFFbkIsWUFBWSxFQUNaLFdBQVcsRUFDWCxPQUFPLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUMxQixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBT3hCLE1BQU0sT0FBTyxlQUFlO0lBMEIxQixZQUNTLGNBQThCLEVBQzdCLGlCQUFvQyxFQUNwQyxnQ0FBa0UsRUFDbEUsWUFBMEIsRUFDMUIsbUJBQXdDLEVBQ3hDLFlBQTBCLEVBQzFCLGdCQUFrQyxFQUNsQyxNQUFjO1FBUGYsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLHNCQUFp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YyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxZQUFZLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDdEYsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOzhHQXZOVSxlQUFlO2tHQUFmLGVBQWUscUNBRmYsQ0FBQyxnQ0FBZ0MsQ0FBQyx5RkFPbEMsOEJBQThCLGdEQ3pDM0MsbW5IQStIQTs7MkZEM0ZhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWSxhQUVYLENBQUMsZ0NBQWdDLENBQUM7OFNBUTdDLDZCQUE2QjtzQkFENUIsU0FBUzt1QkFBQyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQWxhcm1RdWVyeUZpbHRlcixcbiAgSUFsYXJtLFxuICBJUmVzdWx0TGlzdCxcbiAgU0VWRVJJVFlfTEFCRUxTLFxuICBTZXZlcml0eUZpbHRlcixcbiAgU2V2ZXJpdHlUeXBlXG59IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFsYXJtV2l0aENoaWxkcmVuUmVhbHRpbWVTZXJ2aWNlLFxuICBBbGVydFNlcnZpY2UsXG4gIENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gIERhdGVUaW1lQ29udGV4dCxcbiAgTW9kYWxTZXJ2aWNlLFxuICBWaWV3Q29udGV4dCxcbiAgZ2V0dGV4dFxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFsYXJtRGV0YWlscyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvYWxhcm0tZXZlbnQtc2VsZWN0b3InO1xuaW1wb3J0IHsgQWxhcm1zSW50ZXJ2YWxSZWZyZXNoQ29tcG9uZW50IH0gZnJvbSAnLi9hbGFybXMtaW50ZXJ2YWwtcmVmcmVzaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxhcm1zVmlld1NlcnZpY2UgfSBmcm9tICcuL2FsYXJtcy12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQWxhcm1MaXN0Rm9ybUZpbHRlcnMsXG4gIERFRkFVTFRfU0VWRVJJVFlfVkFMVUVTLFxuICBUSFJPVFRMRV9SRUFMVElNRV9SRUZSRVNIXG59IGZyb20gJy4vYWxhcm1zLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWFsYXJtcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGFybXMuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtBbGFybVdpdGhDaGlsZHJlblJlYWx0aW1lU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQWxhcm1zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBORVdfUkVBTFRJTUVfQUxBUk1fTUVTU0FHRSA9IHRoaXMuYWxhcm1zVmlld1NlcnZpY2UuUkVBTFRJTUVfVVBEQVRFX0FMQVJNU19NRVNTQUdFO1xuICByZWFkb25seSBUSVRMRSA9IGdldHRleHQoJ0FsYXJtcycpO1xuICByZWFkb25seSBSRUZSRVNIX0xBQkVMID0gZ2V0dGV4dCgnUmVmcmVzaCcpO1xuXG4gIEBWaWV3Q2hpbGQoQWxhcm1zSW50ZXJ2YWxSZWZyZXNoQ29tcG9uZW50KVxuICBhbGFybUludGVydmFsUmVmcmVzaENvbXBvbmVudDogQWxhcm1zSW50ZXJ2YWxSZWZyZXNoQ29tcG9uZW50O1xuICBhbGFybXMkOiBCZWhhdmlvclN1YmplY3Q8SVJlc3VsdExpc3Q8SUFsYXJtPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElSZXN1bHRMaXN0PElBbGFybT4+KG51bGwpO1xuICBjb250ZXh0U291cmNlSWQ6IG51bWJlciB8IHN0cmluZyB8IG51bGw7XG4gIC8qKiByZXNwb25zaWJsZSBmb3Igc2hvd2luZyBlaXRoZXIgcmVhbHRpbWUgYnV0dG9uIG9yIGludGVydmFscywgYmFzZWQgb24gJ3JlZnJlc2hUeXBlJyBrZXkgaW4gT3B0aW9uc1NlcnZpY2UgKi9cbiAgaXNJbnRlcnZhbFJlZnJlc2g6IGJvb2xlYW47XG4gIGlzTG9hZGluZyQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBpc1JlYWx0aW1lQWN0aXZlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWx0aW1lSWNvblRpdGxlOiBzdHJpbmc7XG4gIHNob3VsZFNob3dJbnRlcnZhbFRvZ2dsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBpc1JlYWx0aW1lVG9nZ2xlT24gPSB0cnVlO1xuICB0eXBlRmlsdGVyczogQWxhcm1EZXRhaWxzW10gPSBbXTtcbiAgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHNlbGVjdGVkU2V2ZXJpdGllcyA9IE9iamVjdC5rZXlzKFNFVkVSSVRZX0xBQkVMUykgYXMgU2V2ZXJpdHlUeXBlW107XG4gIHByaXZhdGUgc2V2ZXJpdHlPcHRpb25zOiBTZXZlcml0eUZpbHRlciA9IERFRkFVTFRfU0VWRVJJVFlfVkFMVUVTO1xuICBwcml2YXRlIHNob3dDbGVhcmVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgV0FJVF9USU1FX0FWT0lEX01VTFRJUExFX1JFUVVFU1RfQllfUEFSQU1fQ0hBTkdFID0gMTAwO1xuICBwcml2YXRlIHNlbGVjdGVkRGF0ZXM6IERhdGVUaW1lQ29udGV4dDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgYWxhcm1zVmlld1NlcnZpY2U6IEFsYXJtc1ZpZXdTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxhcm1XaXRoQ2hpbGRyZW5SZWFsdGltZVNlcnZpY2U6IEFsYXJtV2l0aENoaWxkcmVuUmVhbHRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0Um91dGVTZXJ2aWNlOiBDb250ZXh0Um91dGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgdGhpcy5pc0ludGVydmFsUmVmcmVzaCA9IHRoaXMuYWxhcm1zVmlld1NlcnZpY2UuaXNJbnRlcnZhbFJlZnJlc2goKTtcbiAgICB0aGlzLmluaXRpYWxpemVDb250ZXh0U291cmNlSWQoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGlzSW5EZXRhaWxWaWV3ID0gISF0aGlzLmFjdGl2YXRlZFJvdXRlLmNoaWxkcmVuWzBdPy5zbmFwc2hvdC5wYXJhbXMuaWQ7XG4gICAgaWYgKGlzSW5EZXRhaWxWaWV3KSB7XG4gICAgICB0aGlzLmNoYW5nZUludGVydmFsKGZhbHNlKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNJbnRlcnZhbFJlZnJlc2gpIHtcbiAgICAgIHRoaXMuaGFuZGxlTGVnYWN5UmVhbHRpbWUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmFsYXJtc1ZpZXdTZXJ2aWNlLnJlbG9hZEFsYXJtc0xpc3QkXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuV0FJVF9USU1FX0FWT0lEX01VTFRJUExFX1JFUVVFU1RfQllfUEFSQU1fQ0hBTkdFKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVBbGFybXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgYXBwbHlUeXBlRmlsdGVycyh0eXBlRmlsdGVyczogQWxhcm1EZXRhaWxzW10pOiB2b2lkIHtcbiAgICB0aGlzLnR5cGVGaWx0ZXJzID0gdHlwZUZpbHRlcnM7XG4gICAgdGhpcy5hbGFybXNWaWV3U2VydmljZS5yZWxvYWRBbGFybXNMaXN0JC5uZXh0KCk7XG4gICAgdGhpcy5pc1JlYWx0aW1lQWN0aXZlLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgYXBwbHlGb3JtRmlsdGVycyh7IHNldmVyaXR5T3B0aW9ucywgc2hvd0NsZWFyZWQsIHNlbGVjdGVkRGF0ZXMgfTogQWxhcm1MaXN0Rm9ybUZpbHRlcnMpOiB2b2lkIHtcbiAgICB0aGlzLnNldmVyaXR5T3B0aW9ucyA9IHNldmVyaXR5T3B0aW9ucztcbiAgICB0aGlzLnNob3dDbGVhcmVkID0gc2hvd0NsZWFyZWQ7XG4gICAgdGhpcy5zZWxlY3RlZERhdGVzID0gc2VsZWN0ZWREYXRlcztcbiAgICB0aGlzLnNlbGVjdGVkU2V2ZXJpdGllcyA9IHRoaXMuYWxhcm1zVmlld1NlcnZpY2UudXBkYXRlU2VsZWN0ZWRTZXZlcml0aWVzKHRoaXMuc2V2ZXJpdHlPcHRpb25zKTtcbiAgICB0aGlzLmFsYXJtc1ZpZXdTZXJ2aWNlLnJlbG9hZEFsYXJtc0xpc3QkLm5leHQoKTtcbiAgICB0aGlzLmlzUmVhbHRpbWVBY3RpdmUubmV4dChmYWxzZSk7XG4gIH1cblxuICBhc3luYyBhcHBseURhdGVGaWx0ZXIoc2VsZWN0ZWREYXRlczogW0RhdGUsIERhdGVdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5hbGFybXMkLm5leHQoYXdhaXQgdGhpcy5hbGFybXNWaWV3U2VydmljZS5yZXRyaWV2ZUFsYXJtc0J5RGF0ZShzZWxlY3RlZERhdGVzKSk7XG4gICAgdGhpcy5pc1JlYWx0aW1lQWN0aXZlLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgYXN5bmMgY2xlYXJBbGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRyYW5zbGF0ZWRCb2R5ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgIGdldHRleHQoJ0RvIHlvdSByZWFsbHkgd2FudCB0byBjbGVhciBhbGwgYWxhcm1zIG9mIHNlbGVjdGVkIHNldmVyaXRpZXM/JylcbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLm1vZGFsU2VydmljZS5jb25maXJtKFxuICAgICAgICBnZXR0ZXh0KCdDb25maXJtIGNsZWFyaW5nIGFsYXJtcz8nKSxcbiAgICAgICAgdHJhbnNsYXRlZEJvZHksXG4gICAgICAgICdkYW5nZXInLFxuICAgICAgICB7XG4gICAgICAgICAgb2s6IGdldHRleHQoJ0NvbmZpcm0nKSxcbiAgICAgICAgICBjYW5jZWw6IGdldHRleHQoJ0NhbmNlbCcpXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBtb2RhbCBjYW5jZWxlZFxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuY2xlYXJBbGFybXMoKTtcbiAgfVxuXG4gIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBbGFybXMoKTtcbiAgICB0aGlzLmlzUmVhbHRpbWVBY3RpdmUubmV4dChmYWxzZSk7XG4gIH1cblxuICBjaGFuZ2VJbnRlcnZhbCh2YWx1ZSA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLnNob3VsZFNob3dJbnRlcnZhbFRvZ2dsZSQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICB0b2dnbGVSZWFsdGltZVN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNSZWFsdGltZVRvZ2dsZU9uID0gIXRoaXMuaXNSZWFsdGltZVRvZ2dsZU9uO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVMZWdhY3lSZWFsdGltZSgpIHtcbiAgICB0aGlzLnJlYWx0aW1lSWNvblRpdGxlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnUmVhbHRpbWUgYWN0aXZlJykpO1xuICAgIHRoaXMuc3Vic2NyaWJlVG9SZWFsdGltZVVwZGF0ZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2xlYXJBbGFybXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYWxhcm1zVmlld1NlcnZpY2UuY2xlYXJBbGxBY3RpdmVBbGFybXMoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTZXZlcml0aWVzLFxuICAgICAgICB0aGlzLmNvbnRleHRTb3VyY2VJZFxuICAgICAgKTtcblxuICAgICAgaWYgKHJlc3VsdC5yZXNvbHZlZEltbWVkaWF0ZWx5KSB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3ModGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnQWxhcm1zIGNsZWFyZWQuJykpKTtcbiAgICAgICAgdGhpcy5iYWNrVG9Sb290Um91dGUoKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ0FsYXJtcyBhcmUgYmVpbmcgY2xlYXJlZCBpbiBiYWNrZ3JvdW5kLicpKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJhY2tUb1Jvb3RSb3V0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZXh0RGF0YSA9IHRoaXMuY29udGV4dFJvdXRlU2VydmljZS5nZXRDb250ZXh0RGF0YSh0aGlzLmFjdGl2YXRlZFJvdXRlKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZSh0aGlzLmFsYXJtc1ZpZXdTZXJ2aWNlLmdldFJvdXRlck5hdmlnYXRpb25BcnJheShjb250ZXh0RGF0YSksIHtcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZSdcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0QWxhcm1zKCk6IFByb21pc2U8SVJlc3VsdExpc3Q8SUFsYXJtPj4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyQubmV4dCh0cnVlKTtcblxuICAgICAgY29uc3QgYWRkaXRpb25hbEZpbHRlcjogUGFydGlhbDxBbGFybVF1ZXJ5RmlsdGVyPiA9IHt9O1xuXG4gICAgICBpZiAodGhpcy5jb250ZXh0U291cmNlSWQpIHtcbiAgICAgICAgKGFkZGl0aW9uYWxGaWx0ZXIuc291cmNlID0gdGhpcy5jb250ZXh0U291cmNlSWQpLFxuICAgICAgICAgIChhZGRpdGlvbmFsRmlsdGVyLndpdGhTb3VyY2VBc3NldHMgPSB0cnVlKSxcbiAgICAgICAgICAoYWRkaXRpb25hbEZpbHRlci53aXRoU291cmNlRGV2aWNlcyA9IHRydWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy50eXBlRmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGFkZGl0aW9uYWxGaWx0ZXIudHlwZSA9IHRoaXMudHlwZUZpbHRlcnMubWFwKCh7IGZpbHRlcnMgfSkgPT4gZmlsdGVycy50eXBlKS5qb2luKCcsJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmFsYXJtc1ZpZXdTZXJ2aWNlLnJldHJpZXZlRmlsdGVyZWRBbGFybXMoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTZXZlcml0aWVzLFxuICAgICAgICB0aGlzLnNob3dDbGVhcmVkLFxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZXMsXG4gICAgICAgIGFkZGl0aW9uYWxGaWx0ZXJcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvcj8ucmVzPy5zdGF0dXMgPT09IDQwMykge1xuICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGVycm9yKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5pc0xvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlQWxhcm1zKCkge1xuICAgIHRoaXMuYWxhcm1zJC5uZXh0KGF3YWl0IHRoaXMuZ2V0QWxhcm1zKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1JlYWx0aW1lVXBkYXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLmFsYXJtV2l0aENoaWxkcmVuUmVhbHRpbWVTZXJ2aWNlXG4gICAgICAub25BbGwkKHRoaXMuY29udGV4dFNvdXJjZUlkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgdGhyb3R0bGVUaW1lKFRIUk9UVExFX1JFQUxUSU1FX1JFRlJFU0gsIHVuZGVmaW5lZCwgeyB0cmFpbGluZzogdHJ1ZSB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVhbHRpbWVUb2dnbGVPbikge1xuICAgICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXNSZWFsdGltZUFjdGl2ZS5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNvbnRleHRTb3VyY2VJZCgpOiB2b2lkIHtcbiAgICBjb25zdCByb3V0ZUNvbnRleHQgPSB0aGlzLmNvbnRleHRSb3V0ZVNlcnZpY2UuZ2V0Q29udGV4dERhdGEodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XG4gICAgaWYgKCFyb3V0ZUNvbnRleHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgeyBjb250ZXh0LCBjb250ZXh0RGF0YSB9ID0gcm91dGVDb250ZXh0O1xuICAgIGlmIChbVmlld0NvbnRleHQuRGV2aWNlLCBWaWV3Q29udGV4dC5Hcm91cCwgVmlld0NvbnRleHQuU2ltdWxhdG9yc10uaW5jbHVkZXMoY29udGV4dCkpIHtcbiAgICAgIHRoaXMuY29udGV4dFNvdXJjZUlkID0gY29udGV4dERhdGE/LmlkO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIihhY3RpdmF0ZWRSb3V0ZS5kYXRhIHwgYXN5bmMpPy50aXRsZVwiPlxuICA8Yzh5LXRpdGxlPnt7IFRJVExFIHwgdHJhbnNsYXRlIH19PC9jOHktdGl0bGU+XG48L25nLWNvbnRhaW5lcj5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW1cbiAgW3BsYWNlbWVudF09XCInbGVmdCdcIlxuICBpdGVtQ2xhc3M9XCJuYXZiYXItZm9ybSBtaW4td2lkdGgtZml0XCJcbj5cbiAgPGM4eS1hbGFybXMtZmlsdGVyXG4gICAgY2xhc3M9XCJkLWJsb2NrIGZpdC13XCJcbiAgICBbY29udGV4dFNvdXJjZUlkXT1cImNvbnRleHRTb3VyY2VJZFwiXG4gICAgKG9uRmlsdGVyQXBwbGllZCk9XCJhcHBseUZvcm1GaWx0ZXJzKCRldmVudClcIlxuICA+PC9jOHktYWxhcm1zLWZpbHRlcj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW1cbiAgW3BsYWNlbWVudF09XCInbGVmdCdcIlxuICBpdGVtQ2xhc3M9XCJuYXZiYXItZm9ybSBtaW4td2lkdGgtZml0XCJcbj5cbiAgPGM4eS1hbGFybXMtZGF0ZS1maWx0ZXIgKGRhdGVGaWx0ZXJDaGFuZ2UpPVwiYXBwbHlGb3JtRmlsdGVycygkZXZlbnQpXCI+PC9jOHktYWxhcm1zLWRhdGUtZmlsdGVyPlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48Yzh5LWFjdGlvbi1iYXItaXRlbVxuICBbcGxhY2VtZW50XT1cIidsZWZ0J1wiXG4gIGl0ZW1DbGFzcz1cIm5hdmJhci1mb3JtXCJcbj5cbiAgPGM4eS1hbGFybXMtdHlwZS1maWx0ZXJcbiAgICBjbGFzcz1cImQtYmxvY2sgZml0LXdcIlxuICAgIFthbGFybXNdPVwiYWxhcm1zJCB8IGFzeW5jXCJcbiAgICAob25GaWx0ZXJDaGFuZ2VkKT1cImFwcGx5VHlwZUZpbHRlcnMoJGV2ZW50KVwiXG4gID48L2M4eS1hbGFybXMtdHlwZS1maWx0ZXI+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtXG4gIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiXG4gIFtwcmlvcml0eV09XCIwXCJcbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICBbdGl0bGVdPVwiJ0NsZWFyIGFsbCBhbGFybXMnIHwgdHJhbnNsYXRlXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAoY2xpY2spPVwiY2xlYXJBbGwoKVwiXG4gICAgZGF0YS1jeT1cImM4eS1hbGFybXMtdmlldy0tY2xlYXItYWxsLWJ1dHRvblwiXG4gID5cbiAgICA8aSBjOHlJY29uPVwiYzh5LWFsZXJ0LWlkbGVcIj48L2k+XG4gICAge3sgJ0NsZWFyIGFsbGBhbGFybXNgJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPCEtLVJlYWx0aW1lIGJ1dHRvbi0tPlxuPG5nLXRlbXBsYXRlICNyZWFsdGltZVJlZnJlc2g+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tc21cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInUmVmcmVzaCcgfCB0cmFuc2xhdGVcIlxuICAgICAgW3Rvb2x0aXBdPVwiXG4gICAgICAgIChpc1JlYWx0aW1lQWN0aXZlIHwgYXN5bmMpXG4gICAgICAgICAgPyAoTkVXX1JFQUxUSU1FX0FMQVJNX01FU1NBR0UgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiAoUkVGUkVTSF9MQUJFTCB8IHRyYW5zbGF0ZSlcbiAgICAgIFwiXG4gICAgICBwbGFjZW1lbnQ9XCJsZWZ0XCJcbiAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYWRhcHRpdmVQb3NpdGlvbl09XCJmYWxzZVwiXG4gICAgICBbZGVsYXldPVwiNTAwXCJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0xvYWRpbmckIHwgYXN5bmNcIlxuICAgICAgKGNsaWNrKT1cInJlZnJlc2goKVwiXG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJ0YWcgdGFnLS1pbmZvIG0tci04XCJcbiAgICAgICAgKm5nSWY9XCJpc1JlYWx0aW1lQWN0aXZlIHwgYXN5bmNcIlxuICAgICAgPlxuICAgICAgICB7eyAnTmV3IGFsYXJtcycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxpXG4gICAgICAgIGM4eUljb249XCJyZWZyZXNoXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnaWNvbi1zcGluJzogaXNMb2FkaW5nJCB8IGFzeW5jIH1cIlxuICAgICAgPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImM4eS1yZWFsdGltZSBidG4gYnRuLWRlZmF1bHQgYnRuLXNtXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVhbHRpbWVJY29uVGl0bGVcIlxuICAgICAgW3Rvb2x0aXBdPVwicmVhbHRpbWVJY29uVGl0bGVcIlxuICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgZGF0YS1jeT1cImM4eS1hbGFybXMtLXJlYWx0aW1lLWJ1dHRvblwiXG4gICAgICBbY29udGFpbmVyXT1cIidib2R5J1wiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlUmVhbHRpbWVTdGF0ZSgpXCJcbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImM4eS1wdWxzZSBtLTBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgYWN0aXZlOiBpc1JlYWx0aW1lVG9nZ2xlT24sXG4gICAgICAgICAgaW5hY3RpdmU6ICFpc1JlYWx0aW1lVG9nZ2xlT25cbiAgICAgICAgfVwiXG4gICAgICA+PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxjOHktaGVscFxuICBzcmM9XCIvZG9jcy9kZXZpY2UtbWFuYWdlbWVudC1hcHBsaWNhdGlvbi9tb25pdG9yaW5nLWFuZC1jb250cm9sbGluZy1kZXZpY2VzLyN3b3JraW5nLXdpdGgtYWxhcm1zXCJcbj48L2M4eS1oZWxwPlxuXG48ZGl2IGNsYXNzPVwiY2FyZCBjb250ZW50LWZ1bGxwYWdlIHNwbGl0LXZpZXctLTUtNyBncmlkX19yb3ctLTFcIj5cbiAgPGM4eS1hbGFybXMtbGlzdFxuICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgW2lzSW5pdGlhbExvYWRpbmddPVwiaXNMb2FkaW5nJCB8IGFzeW5jXCJcbiAgICBbYWxhcm1zXT1cImFsYXJtcyQgfCBhc3luY1wiXG4gICAgW3R5cGVGaWx0ZXJzXT1cInR5cGVGaWx0ZXJzXCJcbiAgICAob25TY3JvbGxpbmdTdGF0ZUNoYW5nZSk9XCJjaGFuZ2VJbnRlcnZhbCghJGV2ZW50KVwiXG4gICAgKG9uU2VsZWN0ZWRBbGFybSk9XCJjaGFuZ2VJbnRlcnZhbChmYWxzZSlcIlxuICAgIFtzcGxpdFZpZXddPVwidHJ1ZVwiXG4gICAgW2hhc1Blcm1pc3Npb25zXT1cIiFpc0Rpc2FibGVkXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ludGVydmFsUmVmcmVzaDsgZWxzZSByZWFsdGltZVJlZnJlc2hcIj5cbiAgICAgIDxjOHktYWxhcm1zLWludGVydmFsLXJlZnJlc2hcbiAgICAgICAgW2FsYXJtc0xpc3RMb2FkaW5nJF09XCJpc0xvYWRpbmckXCJcbiAgICAgICAgW2lzSW50ZXJ2YWxUb2dnbGVFbmFibGVkXT1cInNob3VsZFNob3dJbnRlcnZhbFRvZ2dsZSQgfCBhc3luY1wiXG4gICAgICAgIChvbkNvdW50ZG93bkVuZGVkKT1cInJlZnJlc2goKVwiXG4gICAgICAgIFtpc0Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICAgICAgPjwvYzh5LWFsYXJtcy1pbnRlcnZhbC1yZWZyZXNoPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2M4eS1hbGFybXMtbGlzdD5cblxuICA8cm91dGVyLW91dGxldCBjbGFzcz1cImQtY29udGVudHNcIj48L3JvdXRlci1vdXRsZXQ+XG48L2Rpdj5cbiJdfQ==