@openziti/ziti-console-lib 0.3.1 → 0.4.1

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 (107) hide show
  1. package/assets/html/index.htm +21 -3
  2. package/assets/images/Icon_Minus.png +0 -0
  3. package/assets/languages/en-us.json +3 -1
  4. package/assets/styles/global.scss +25 -1
  5. package/assets/styles/tables.css +28 -3
  6. package/assets/styles/ziti.css +29 -2
  7. package/assets/svgs/v8visualizer.svg +60 -0
  8. package/esm2022/lib/features/card/card.component.mjs +9 -3
  9. package/esm2022/lib/features/card-list/card-list.component.mjs +16 -13
  10. package/esm2022/lib/features/creation-summary-dialog/creation-summary-dialog.component.mjs +1 -1
  11. package/esm2022/lib/features/data-table/cells/table-cell-name/table-cell-name.component.mjs +33 -0
  12. package/esm2022/lib/features/multi-action-button/multi-action-button.component.mjs +31 -0
  13. package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +12 -8
  14. package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +68 -34
  15. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +258 -0
  16. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +177 -0
  17. package/esm2022/lib/features/projectable-forms/form-field-container/form-field-container.component.mjs +8 -5
  18. package/esm2022/lib/features/projectable-forms/form-header/form-header.component.mjs +10 -6
  19. package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +69 -37
  20. package/esm2022/lib/features/projectable-forms/projectable-form.class.mjs +112 -8
  21. package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +44 -30
  22. package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +2 -1
  23. package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +21 -17
  24. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +44 -7
  25. package/esm2022/lib/features/tag-selector/tag-selector.component.mjs +3 -3
  26. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.component.mjs +1508 -0
  27. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.helper.mjs +578 -0
  28. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.mjs +695 -0
  29. package/esm2022/lib/features/visualizer/visualizer-service.class.mjs +33 -0
  30. package/esm2022/lib/features/wrappers/zac-wrapper.service.mjs +6 -1
  31. package/esm2022/lib/models/edge-router-policy.mjs +10 -0
  32. package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.component.mjs +7 -6
  33. package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.service.mjs +7 -7
  34. package/esm2022/lib/pages/edge-routers/edge-routers-page.component.mjs +9 -11
  35. package/esm2022/lib/pages/edge-routers/edge-routers-page.service.mjs +18 -14
  36. package/esm2022/lib/pages/identities/identities-page.component.mjs +11 -12
  37. package/esm2022/lib/pages/identities/identities-page.service.mjs +25 -43
  38. package/esm2022/lib/pages/service-policies/service-policies-page.component.mjs +7 -6
  39. package/esm2022/lib/pages/services/services-page.component.mjs +10 -16
  40. package/esm2022/lib/pages/services/services-page.service.mjs +24 -14
  41. package/esm2022/lib/shared/list-page-component.class.mjs +1 -1
  42. package/esm2022/lib/shared/list-page-service.class.mjs +30 -6
  43. package/esm2022/lib/version.mjs +2 -2
  44. package/esm2022/lib/ziti-console-lib.module.mjs +19 -3
  45. package/esm2022/public-api.mjs +8 -1
  46. package/fesm2022/openziti-ziti-console-lib.mjs +7215 -3703
  47. package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
  48. package/lib/features/card/card.component.d.ts +3 -1
  49. package/lib/features/card/card.component.d.ts.map +1 -1
  50. package/lib/features/card-list/card-list.component.d.ts +5 -2
  51. package/lib/features/card-list/card-list.component.d.ts.map +1 -1
  52. package/lib/features/data-table/cells/table-cell-name/table-cell-name.component.d.ts +19 -0
  53. package/lib/features/data-table/cells/table-cell-name/table-cell-name.component.d.ts.map +1 -0
  54. package/lib/features/multi-action-button/multi-action-button.component.d.ts +13 -0
  55. package/lib/features/multi-action-button/multi-action-button.component.d.ts.map +1 -0
  56. package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts +3 -4
  57. package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts.map +1 -1
  58. package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts +10 -5
  59. package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts.map +1 -1
  60. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts +53 -0
  61. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts.map +1 -0
  62. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts +32 -0
  63. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts.map +1 -0
  64. package/lib/features/projectable-forms/form-field-container/form-field-container.component.d.ts +3 -2
  65. package/lib/features/projectable-forms/form-field-container/form-field-container.component.d.ts.map +1 -1
  66. package/lib/features/projectable-forms/form-header/form-header.component.d.ts.map +1 -1
  67. package/lib/features/projectable-forms/identity/identity-form.component.d.ts +9 -3
  68. package/lib/features/projectable-forms/identity/identity-form.component.d.ts.map +1 -1
  69. package/lib/features/projectable-forms/projectable-form.class.d.ts +31 -4
  70. package/lib/features/projectable-forms/projectable-form.class.d.ts.map +1 -1
  71. package/lib/features/projectable-forms/service/service-form.component.d.ts +10 -5
  72. package/lib/features/projectable-forms/service/service-form.component.d.ts.map +1 -1
  73. package/lib/features/projectable-forms/service/service-form.service.d.ts.map +1 -1
  74. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts +5 -2
  75. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +1 -1
  76. package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts +4 -4
  77. package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts.map +1 -1
  78. package/lib/features/visualizer/network-visualizer/network-visualizer.component.d.ts +129 -0
  79. package/lib/features/visualizer/network-visualizer/network-visualizer.component.d.ts.map +1 -0
  80. package/lib/features/visualizer/network-visualizer/network-visualizer.helper.d.ts +131 -0
  81. package/lib/features/visualizer/network-visualizer/network-visualizer.helper.d.ts.map +1 -0
  82. package/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.d.ts +31 -0
  83. package/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.d.ts.map +1 -0
  84. package/lib/features/visualizer/visualizer-service.class.d.ts +10 -0
  85. package/lib/features/visualizer/visualizer-service.class.d.ts.map +1 -0
  86. package/lib/features/wrappers/zac-wrapper.service.d.ts.map +1 -1
  87. package/lib/models/edge-router-policy.d.ts +7 -0
  88. package/lib/models/edge-router-policy.d.ts.map +1 -0
  89. package/lib/pages/edge-router-policies/edge-router-policies-page.service.d.ts +1 -1
  90. package/lib/pages/edge-router-policies/edge-router-policies-page.service.d.ts.map +1 -1
  91. package/lib/pages/edge-routers/edge-routers-page.component.d.ts +1 -1
  92. package/lib/pages/edge-routers/edge-routers-page.service.d.ts +3 -1
  93. package/lib/pages/edge-routers/edge-routers-page.service.d.ts.map +1 -1
  94. package/lib/pages/identities/identities-page.component.d.ts.map +1 -1
  95. package/lib/pages/identities/identities-page.service.d.ts +4 -2
  96. package/lib/pages/identities/identities-page.service.d.ts.map +1 -1
  97. package/lib/pages/services/services-page.component.d.ts.map +1 -1
  98. package/lib/pages/services/services-page.service.d.ts +5 -1
  99. package/lib/pages/services/services-page.service.d.ts.map +1 -1
  100. package/lib/shared/list-page-component.class.d.ts.map +1 -1
  101. package/lib/shared/list-page-service.class.d.ts +7 -1
  102. package/lib/shared/list-page-service.class.d.ts.map +1 -1
  103. package/lib/ziti-console-lib.module.d.ts +34 -30
  104. package/lib/ziti-console-lib.module.d.ts.map +1 -1
  105. package/package.json +1 -1
  106. package/public-api.d.ts +7 -0
  107. package/public-api.d.ts.map +1 -1
@@ -17,6 +17,7 @@ import { Component, Input, Output, EventEmitter } from '@angular/core';
17
17
  import * as i0 from "@angular/core";
18
18
  import * as i1 from "@angular/common";
19
19
  import * as i2 from "@angular/material/tooltip";
20
+ import * as i3 from "../../multi-action-button/multi-action-button.component";
20
21
  class FormFieldContainerComponent {
21
22
  constructor() {
22
23
  this.title = '';
@@ -32,16 +33,16 @@ class FormFieldContainerComponent {
32
33
  this.showHeader = true;
33
34
  this.actionRequested = new EventEmitter();
34
35
  }
35
- actionClicked() {
36
- this.actionRequested.emit({ action: this.action });
36
+ actionClicked(action) {
37
+ this.actionRequested.emit(action);
37
38
  }
38
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldContainerComponent, selector: "lib-form-field-container", inputs: { title: "title", title2: "title2", layout: "layout", helpText: "helpText", helpText2: "helpText2", label: "label", count: "count", action: "action", actionLabel: "actionLabel", class: "class", contentStyle: "contentStyle", showHeader: "showHeader" }, outputs: { actionRequested: "actionRequested" }, ngImport: i0, template: "<div class=\"form-field-container\" class=\"{{class}}\" [ngClass]=\"{'form-field-row': layout === 'row'}\">\n <div class=\"form-field-header\" *ngIf=\"showHeader\">\n <div class=\"form-field-title-container\">\n <span class=\"form-field-title\">{{title}}</span>\n <div\n *ngIf=\"helpText\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{helpText}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <span class=\"form-field-label\" *ngIf=\"label\">{{label}}</span>\n <span class=\"form-field-count\" *ngIf=\"count || count === 0\">{{count}}</span>\n <div class=\"form-field-action save-button\" *ngIf=\"action\" (click)=\"actionClicked()\">{{actionLabel}}</div>\n <div class=\"form-field-title-container title-container-2\" *ngIf=\"title2\">\n <span class=\"form-field-title title2\">{{title2}}</span>\n <div\n *ngIf=\"helpText2\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{helpText2}}\"\n matTooltipPosition=\"below\"\n ></div>\n </div>\n </div>\n <div class=\"form-field-content\" [style]=\"contentStyle\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{height:-moz-fit-content;height:fit-content;display:flex;width:100%;flex-direction:column;position:relative}.form-field-container{display:flex;flex-direction:column;background-color:var(--navigation);padding:15px;border-radius:10px;gap:15px;height:100%;position:relative}.form-field-container.hide-overflow .form-field-content{overflow:hidden}.form-field-container .form-field-content{display:flex;flex-direction:column;width:100%;gap:15px;z-index:99999;position:relative;border-radius:7px}.form-field-container.form-field-row .form-field-content{flex-direction:row;width:100%}.form-field-container .form-field-title-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex:1 1 auto;width:100%}.form-field-container .form-field-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:14px;z-index:9999}.form-field-container .form-field-title{display:flex;align-items:center;font-size:14px;font-weight:600;color:var(--tableText);text-transform:uppercase;height:14px}.form-field-container .form-field-label{font-size:14px;font-weight:600;color:var(--placeholder)}.form-field-container .form-field-count{background-color:#4c5566;color:var(--white);display:flex;align-items:center;font-weight:700;border-radius:14px;height:24px;padding-left:13px;padding-right:13px;font-size:13px}.form-field-container .form-field-input::placeholder{font-weight:600}.form-field-container .save-button{text-wrap:nowrap}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormFieldContainerComponent, selector: "lib-form-field-container", inputs: { title: "title", title2: "title2", layout: "layout", helpText: "helpText", helpText2: "helpText2", label: "label", count: "count", action: "action", actionLabel: "actionLabel", class: "class", contentStyle: "contentStyle", showHeader: "showHeader", headerActions: "headerActions" }, outputs: { actionRequested: "actionRequested" }, ngImport: i0, template: "<div class=\"form-field-container\" class=\"{{class}}\" [ngClass]=\"{'form-field-row': layout === 'row'}\">\n <div class=\"form-field-header\" *ngIf=\"showHeader\">\n <div class=\"form-field-title-container\">\n <span class=\"form-field-title\">{{title}}</span>\n <div\n *ngIf=\"helpText\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{helpText}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <span class=\"form-field-label\" *ngIf=\"label\">{{label}}</span>\n <span class=\"form-field-count\" *ngIf=\"count || count === 0\">{{count}}</span>\n <div class=\"form-field-title-container title-container-2\" *ngIf=\"title2\">\n <span class=\"form-field-title title2\">{{title2}}</span>\n <div\n *ngIf=\"helpText2\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{helpText2}}\"\n matTooltipPosition=\"below\"\n ></div>\n </div>\n </div>\n <div class=\"form-field-content\" [style]=\"contentStyle\">\n <ng-content></ng-content>\n </div>\n <lib-multi-action-button\n *ngIf=\"headerActions\"\n [actions]=\"headerActions\"\n (actionRequested)=\"actionClicked($event)\"\n ></lib-multi-action-button>\n</div>\n", styles: [":host{height:-moz-fit-content;height:fit-content;display:flex;width:100%;flex-direction:column;position:relative}.form-field-container{display:flex;flex-direction:column;background-color:var(--navigation);padding:15px;border-radius:10px;gap:15px;height:100%;position:relative}.form-field-container.hide-overflow .form-field-content{overflow:hidden}.form-field-container .form-field-content{display:flex;flex-direction:column;width:100%;gap:15px;z-index:99999;position:relative;border-radius:7px}.form-field-container.form-field-row .form-field-content{flex-direction:row;width:100%}.form-field-container .form-field-title-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex:1 1 auto;width:100%}.form-field-container .form-field-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:14px;z-index:9999}.form-field-container .form-field-title{display:flex;align-items:center;font-size:14px;font-weight:600;color:var(--tableText);text-transform:uppercase;height:14px}.form-field-container .form-field-label{font-size:14px;font-weight:600;color:var(--placeholder)}.form-field-container .form-field-count{background-color:#4c5566;color:var(--white);display:flex;align-items:center;font-weight:700;border-radius:14px;height:24px;padding-left:13px;padding-right:13px;font-size:13px}.form-field-container .form-field-input::placeholder{font-weight:600}.form-field-container .save-button{text-wrap:nowrap;height:25px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i3.MultiActionButtonComponent, selector: "lib-multi-action-button", inputs: ["actions"], outputs: ["actionRequested"] }] }); }
40
41
  }
41
42
  export { FormFieldContainerComponent };
42
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormFieldContainerComponent, decorators: [{
43
44
  type: Component,
44
- args: [{ selector: 'lib-form-field-container', template: "<div class=\"form-field-container\" class=\"{{class}}\" [ngClass]=\"{'form-field-row': layout === 'row'}\">\n <div class=\"form-field-header\" *ngIf=\"showHeader\">\n <div class=\"form-field-title-container\">\n <span class=\"form-field-title\">{{title}}</span>\n <div\n *ngIf=\"helpText\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{helpText}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <span class=\"form-field-label\" *ngIf=\"label\">{{label}}</span>\n <span class=\"form-field-count\" *ngIf=\"count || count === 0\">{{count}}</span>\n <div class=\"form-field-action save-button\" *ngIf=\"action\" (click)=\"actionClicked()\">{{actionLabel}}</div>\n <div class=\"form-field-title-container title-container-2\" *ngIf=\"title2\">\n <span class=\"form-field-title title2\">{{title2}}</span>\n <div\n *ngIf=\"helpText2\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{helpText2}}\"\n matTooltipPosition=\"below\"\n ></div>\n </div>\n </div>\n <div class=\"form-field-content\" [style]=\"contentStyle\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{height:-moz-fit-content;height:fit-content;display:flex;width:100%;flex-direction:column;position:relative}.form-field-container{display:flex;flex-direction:column;background-color:var(--navigation);padding:15px;border-radius:10px;gap:15px;height:100%;position:relative}.form-field-container.hide-overflow .form-field-content{overflow:hidden}.form-field-container .form-field-content{display:flex;flex-direction:column;width:100%;gap:15px;z-index:99999;position:relative;border-radius:7px}.form-field-container.form-field-row .form-field-content{flex-direction:row;width:100%}.form-field-container .form-field-title-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex:1 1 auto;width:100%}.form-field-container .form-field-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:14px;z-index:9999}.form-field-container .form-field-title{display:flex;align-items:center;font-size:14px;font-weight:600;color:var(--tableText);text-transform:uppercase;height:14px}.form-field-container .form-field-label{font-size:14px;font-weight:600;color:var(--placeholder)}.form-field-container .form-field-count{background-color:#4c5566;color:var(--white);display:flex;align-items:center;font-weight:700;border-radius:14px;height:24px;padding-left:13px;padding-right:13px;font-size:13px}.form-field-container .form-field-input::placeholder{font-weight:600}.form-field-container .save-button{text-wrap:nowrap}\n"] }]
45
+ args: [{ selector: 'lib-form-field-container', template: "<div class=\"form-field-container\" class=\"{{class}}\" [ngClass]=\"{'form-field-row': layout === 'row'}\">\n <div class=\"form-field-header\" *ngIf=\"showHeader\">\n <div class=\"form-field-title-container\">\n <span class=\"form-field-title\">{{title}}</span>\n <div\n *ngIf=\"helpText\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{helpText}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <span class=\"form-field-label\" *ngIf=\"label\">{{label}}</span>\n <span class=\"form-field-count\" *ngIf=\"count || count === 0\">{{count}}</span>\n <div class=\"form-field-title-container title-container-2\" *ngIf=\"title2\">\n <span class=\"form-field-title title2\">{{title2}}</span>\n <div\n *ngIf=\"helpText2\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{helpText2}}\"\n matTooltipPosition=\"below\"\n ></div>\n </div>\n </div>\n <div class=\"form-field-content\" [style]=\"contentStyle\">\n <ng-content></ng-content>\n </div>\n <lib-multi-action-button\n *ngIf=\"headerActions\"\n [actions]=\"headerActions\"\n (actionRequested)=\"actionClicked($event)\"\n ></lib-multi-action-button>\n</div>\n", styles: [":host{height:-moz-fit-content;height:fit-content;display:flex;width:100%;flex-direction:column;position:relative}.form-field-container{display:flex;flex-direction:column;background-color:var(--navigation);padding:15px;border-radius:10px;gap:15px;height:100%;position:relative}.form-field-container.hide-overflow .form-field-content{overflow:hidden}.form-field-container .form-field-content{display:flex;flex-direction:column;width:100%;gap:15px;z-index:99999;position:relative;border-radius:7px}.form-field-container.form-field-row .form-field-content{flex-direction:row;width:100%}.form-field-container .form-field-title-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex:1 1 auto;width:100%}.form-field-container .form-field-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:14px;z-index:9999}.form-field-container .form-field-title{display:flex;align-items:center;font-size:14px;font-weight:600;color:var(--tableText);text-transform:uppercase;height:14px}.form-field-container .form-field-label{font-size:14px;font-weight:600;color:var(--placeholder)}.form-field-container .form-field-count{background-color:#4c5566;color:var(--white);display:flex;align-items:center;font-weight:700;border-radius:14px;height:24px;padding-left:13px;padding-right:13px;font-size:13px}.form-field-container .form-field-input::placeholder{font-weight:600}.form-field-container .save-button{text-wrap:nowrap;height:25px}\n"] }]
45
46
  }], ctorParameters: function () { return []; }, propDecorators: { title: [{
46
47
  type: Input
47
48
  }], title2: [{
@@ -66,7 +67,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
66
67
  type: Input
67
68
  }], showHeader: [{
68
69
  type: Input
70
+ }], headerActions: [{
71
+ type: Input
69
72
  }], actionRequested: [{
70
73
  type: Output
71
74
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2Zvcm0tZmllbGQtY29udGFpbmVyL2Zvcm0tZmllbGQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9mb3JtLWZpZWxkLWNvbnRhaW5lci9mb3JtLWZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFFckUsTUFLYSwyQkFBMkI7SUFnQnRDO1FBZFMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsV0FBTSxHQUFHLFFBQVEsQ0FBQztRQUNsQixhQUFRLEdBQVEsU0FBUyxDQUFDO1FBQzFCLGNBQVMsR0FBUSxTQUFTLENBQUM7UUFDM0IsVUFBSyxHQUFRLFNBQVMsQ0FBQztRQUN2QixVQUFLLEdBQVEsU0FBUyxDQUFDO1FBQ3ZCLFdBQU0sR0FBUSxTQUFTLENBQUM7UUFFeEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLGVBQVUsR0FBUSxJQUFJLENBQUM7UUFFdEIsb0JBQWUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUN4RCxDQUFDO0lBRWhCLGFBQWE7UUFDWCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDOytHQXBCVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixxWEN2QnhDLG8wQ0E0QkE7O1NETGEsMkJBQTJCOzRGQUEzQiwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQU0zQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWZvcm0tZmllbGQtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb250YWluZXJDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIHRpdGxlMiA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbGF5b3V0ID0gJ2NvbHVtbic7XG4gIEBJbnB1dCgpIGhlbHBUZXh0OiBhbnkgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGhlbHBUZXh0MjogYW55ID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSBsYWJlbDogYW55ID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSBjb3VudDogYW55ID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhY3Rpb246IGFueSA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYWN0aW9uTGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3MgPSAnJztcbiAgQElucHV0KCkgY29udGVudFN0eWxlOiBhbnkgPSAnJztcbiAgQElucHV0KCkgc2hvd0hlYWRlcjogYW55ID0gdHJ1ZTtcblxuICBAT3V0cHV0KCkgYWN0aW9uUmVxdWVzdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgYWN0aW9uQ2xpY2tlZCgpIHtcbiAgICB0aGlzLmFjdGlvblJlcXVlc3RlZC5lbWl0KHthY3Rpb246IHRoaXMuYWN0aW9ufSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkLWNvbnRhaW5lclwiIGNsYXNzPVwie3tjbGFzc319XCIgW25nQ2xhc3NdPVwieydmb3JtLWZpZWxkLXJvdyc6IGxheW91dCA9PT0gJ3Jvdyd9XCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGQtaGVhZGVyXCIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkLXRpdGxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWZpZWxkLXRpdGxlXCI+e3t0aXRsZX19PC9zcGFuPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscFRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZC1pbmZvIGluZm9pY29uXCJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwie3toZWxwVGV4dH19XCJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tZmllbGQtbGFiZWxcIiAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tZmllbGQtY291bnRcIiAqbmdJZj1cImNvdW50IHx8IGNvdW50ID09PSAwXCI+e3tjb3VudH19PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZC1hY3Rpb24gc2F2ZS1idXR0b25cIiAqbmdJZj1cImFjdGlvblwiIChjbGljayk9XCJhY3Rpb25DbGlja2VkKClcIj57e2FjdGlvbkxhYmVsfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGQtdGl0bGUtY29udGFpbmVyIHRpdGxlLWNvbnRhaW5lci0yXCIgKm5nSWY9XCJ0aXRsZTJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1maWVsZC10aXRsZSB0aXRsZTJcIj57e3RpdGxlMn19PC9zcGFuPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhlbHBUZXh0MlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZC1pbmZvIGluZm9pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7aGVscFRleHQyfX1cIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkLWNvbnRlbnRcIiBbc3R5bGVdPVwiY29udGVudFN0eWxlXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2Zvcm0tZmllbGQtY29udGFpbmVyL2Zvcm0tZmllbGQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9mb3JtLWZpZWxkLWNvbnRhaW5lci9mb3JtLWZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7O0FBRXJFLE1BS2EsMkJBQTJCO0lBaUJ0QztRQWZTLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxXQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ25CLFdBQU0sR0FBRyxRQUFRLENBQUM7UUFDbEIsYUFBUSxHQUFRLFNBQVMsQ0FBQztRQUMxQixjQUFTLEdBQVEsU0FBUyxDQUFDO1FBQzNCLFVBQUssR0FBUSxTQUFTLENBQUM7UUFDdkIsVUFBSyxHQUFRLFNBQVMsQ0FBQztRQUN2QixXQUFNLEdBQVEsU0FBUyxDQUFDO1FBRXhCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUN2QixlQUFVLEdBQVEsSUFBSSxDQUFDO1FBR3RCLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFDeEQsQ0FBQztJQUVoQixhQUFhLENBQUMsTUFBTTtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDOytHQXJCVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixxWkN2QnhDLHE0Q0FnQ0E7O1NEVGEsMkJBQTJCOzRGQUEzQiwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQU0zQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZm9ybS1maWVsZC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZENvbnRhaW5lckNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgdGl0bGUgPSAnJztcbiAgQElucHV0KCkgdGl0bGUyID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSBsYXlvdXQgPSAnY29sdW1uJztcbiAgQElucHV0KCkgaGVscFRleHQ6IGFueSA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaGVscFRleHQyOiBhbnkgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGxhYmVsOiBhbnkgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGNvdW50OiBhbnkgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFjdGlvbjogYW55ID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhY3Rpb25MYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICBASW5wdXQoKSBjb250ZW50U3R5bGU6IGFueSA9ICcnO1xuICBASW5wdXQoKSBzaG93SGVhZGVyOiBhbnkgPSB0cnVlO1xuICBASW5wdXQoKSBoZWFkZXJBY3Rpb25zOiBhbnlbXTtcblxuICBAT3V0cHV0KCkgYWN0aW9uUmVxdWVzdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgYWN0aW9uQ2xpY2tlZChhY3Rpb24pIHtcbiAgICB0aGlzLmFjdGlvblJlcXVlc3RlZC5lbWl0KGFjdGlvbik7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkLWNvbnRhaW5lclwiIGNsYXNzPVwie3tjbGFzc319XCIgW25nQ2xhc3NdPVwieydmb3JtLWZpZWxkLXJvdyc6IGxheW91dCA9PT0gJ3Jvdyd9XCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGQtaGVhZGVyXCIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkLXRpdGxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWZpZWxkLXRpdGxlXCI+e3t0aXRsZX19PC9zcGFuPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscFRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZC1pbmZvIGluZm9pY29uXCJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwie3toZWxwVGV4dH19XCJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tZmllbGQtbGFiZWxcIiAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tZmllbGQtY291bnRcIiAqbmdJZj1cImNvdW50IHx8IGNvdW50ID09PSAwXCI+e3tjb3VudH19PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZC10aXRsZS1jb250YWluZXIgdGl0bGUtY29udGFpbmVyLTJcIiAqbmdJZj1cInRpdGxlMlwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWZpZWxkLXRpdGxlIHRpdGxlMlwiPnt7dGl0bGUyfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscFRleHQyXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkLWluZm8gaW5mb2ljb25cIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwie3toZWxwVGV4dDJ9fVwiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGQtY29udGVudFwiIFtzdHlsZV09XCJjb250ZW50U3R5bGVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxsaWItbXVsdGktYWN0aW9uLWJ1dHRvblxuICAgICAgICAqbmdJZj1cImhlYWRlckFjdGlvbnNcIlxuICAgICAgICBbYWN0aW9uc109XCJoZWFkZXJBY3Rpb25zXCJcbiAgICAgICAgKGFjdGlvblJlcXVlc3RlZCk9XCJhY3Rpb25DbGlja2VkKCRldmVudClcIlxuICAgID48L2xpYi1tdWx0aS1hY3Rpb24tYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -14,7 +14,7 @@
14
14
  limitations under the License.
15
15
  */
16
16
  import { Component, EventEmitter, Input, Output } from '@angular/core';
17
- import { isFunction } from 'lodash';
17
+ import { isFunction, defer } from 'lodash';
18
18
  import * as i0 from "@angular/core";
19
19
  import * as i1 from "@angular/common";
20
20
  import * as i2 from "ng-click-outside";
@@ -60,18 +60,22 @@ class FormHeaderComponent {
60
60
  this.showActionsDropDown = false;
61
61
  }
62
62
  showMoreActions() {
63
- this.showActionsDropDown = true;
63
+ defer(() => {
64
+ this.showActionsDropDown = true;
65
+ });
64
66
  }
65
67
  closeActionsMoreActions() {
66
- this.showActionsDropDown = false;
68
+ defer(() => {
69
+ this.showActionsDropDown = false;
70
+ });
67
71
  }
68
72
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormHeaderComponent, selector: "lib-form-header", inputs: { data: "data", title: "title", moreActions: "moreActions", formView: "formView", saveDisabled: "saveDisabled", saveTooltip: "saveTooltip", actionButtonText: "actionButtonText", moreActionsText: "moreActionsText" }, outputs: { formViewChange: "formViewChange", actionRequested: "actionRequested" }, ngImport: i0, template: "<div class=\"form-header-container\" [ngClass]=\"{'show-more-actions': (moreActions && moreActions.length > 0 && data.id)}\">\n <div class=\"form-header-group\">\n <div class=\"form-title-container\">\n <div class=\"form-title-back-button\" (click)=\"requestAction({name: 'close'})\">\n <div class=\"form-title-back-button-image\"></div>\n <div class=\"form-title-back-button-line\"></div>\n </div>\n <div class=\"form-header-title-text\">\n <span class=\"form-title\">{{title}}</span>\n <span class=\"form-title title-name\" *ngIf=\"data.name\">{{data.name}}</span>\n </div>\n </div>\n <div class=\"header-actions-container\">\n <div class=\"form-header-toggle-container\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': formView === 'simple'}\"\n (click)=\"requestAction({name: 'toggle-view', data: 'raw'})\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"requestAction({name: 'toggle-view', data: formView})\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': formView === 'simple', 'toggle-right': formView === 'raw'}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': formView === 'raw'}\"\n (click)=\"requestAction({name:'toggle-view', data: 'simple'})\"\n >\n JSON\n </span>\n </div>\n <div class=\"more-actions-container\" *ngIf=\"hasMoreActions\" (click)=\"showMoreActions()\" (clickOutside)=\"closeActionsMoreActions()\">\n <div class=\"more-actions-button\">\n <div class=\"more-actions-label\">\n <div class=\"more-actions-text\">{{moreActionsText}}</div>\n <div class=\"more-actions-arrow\"></div>\n </div>\n </div>\n <div class=\"more-actions-list\" *ngIf=\"showActionsDropDown\">\n <div\n *ngFor=\"let action of moreActions\"\n class=\"more-actions-item\"\n (click)=\"requestAction(action)\"\n >\n {{action.label}}\n </div>\n </div>\n </div>\n <div class=\"save-button\"\n (click)=\"requestAction({name: 'save'})\"\n [ngClass]=\"{'save-disabled': saveDisabled}\"\n matTooltip=\"{{saveDisabled ? saveTooltip : ''}}\"\n matTooltipPosition=\"below\"\n >{{actionButtonText}}</div>\n </div>\n </div>\n <div class=\"form-header-group badges-container\">\n <div *ngFor=\"let badge of data.badges\" class=\"header-badge-container {{badge.class}}\">\n <span *ngIf=\"badge.circle\" class=\"circle {{badge.circle}}\"></span>\n <span class=\"badge-label\">{{badge.label}}</span>\n </div>\n </div>\n</div>", styles: [":host{position:relative;width:100%;max-width:1100px;margin-bottom:10px}.form-header-container{display:flex;flex-direction:column;width:100%}.form-header-container.show-more-actions .form-title-container{max-width:calc(100% - 375px)}.form-header-container.show-more-actions .header-actions-container{min-width:375px}.form-header-container .form-header-group{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%}.form-header-container .form-header-group.badges-container{justify-content:flex-start;margin-left:30px;margin-top:5px;gap:10px}.form-header-container .form-title-container{display:flex;flex-direction:row;justify-content:flex-start;max-width:calc(100% - 200px)}.form-header-container .form-title-container .form-header-title-text{overflow:hidden;display:block;white-space:nowrap;text-overflow:ellipsis}.form-header-container .form-title-container .form-title{width:100%;flex:1 1 auto;font-weight:700;font-size:22px;color:var(--tableText);margin-left:7px;min-width:130px;text-wrap:nowrap}.form-header-container .form-title-container .form-title.title-name{color:var(--primary);margin-left:5px}.form-header-container .form-title-container .form-title-back-button{display:flex;align-items:center;justify-content:center;position:relative;transform:scaleY(.8);cursor:pointer;padding-right:6px;margin-top:2px;margin-left:4px;transition:.3s}.form-header-container .form-title-container .form-title-back-button:hover{background-color:#fff;border-radius:7px;filter:brightness(90%);transition:.3s}.form-header-container .form-title-container .form-title-back-button:active{background-color:#fff;border-radius:7px;filter:brightness(80%);transition:.3s}.form-header-container .form-title-container .form-title-back-button .form-title-back-button-image{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23434c5e%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-size:20px 14px;width:20px;height:14px;transform:rotate(90deg)}.form-header-container .form-title-container .form-title-back-button .form-title-back-button-line{border-color:var(--tableText);border-style:solid;border-left-width:1px;border-right-width:1px;width:14px;position:absolute;left:8px}.form-header-container .header-actions-container{display:flex;flex-direction:row;min-width:180px;justify-content:flex-end}.form-header-container .header-actions-container .save-button{min-width:65px;height:33px;text-transform:none}.form-header-container .header-actions-container .save-button.save-disabled{filter:grayscale(1);opacity:.3;pointer:not-allowed}.more-actions-container{width:150px;height:33px;display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:5px;position:relative;cursor:pointer;z-index:999999;margin-right:20px}.more-actions-container .more-actions-button{height:100%;width:100%;background-color:var(--inputBorder);display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:5px;position:relative;cursor:pointer}.more-actions-container .more-actions-button:hover{outline:0;filter:brightness(95%)}.more-actions-container .more-actions-label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-left:15px;margin-right:10px}.more-actions-container .more-actions-label .more-actions-arrow{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-size:20px 10px;width:20px;height:10px}.more-actions-container .more-actions-label .more-actions-text{color:var(--tableText);font-weight:600}.more-actions-container .more-actions-list{display:flex;flex-direction:column;background-color:var(--white);position:absolute;top:33px;width:100%;box-shadow:0 3px 5px 1px var(--boxShadow);border-radius:5px}.more-actions-container .more-actions-item{display:flex;flex-direction:row;align-items:center;height:25px;width:100%;padding-left:15px;color:var(--tableText);cursor:pointer}.more-actions-container .more-actions-item:hover{background-color:var(--inputBorder)}.form-header-toggle-container{display:flex;flex-direction:row;align-items:center;margin-right:20px}.form-header-toggle-container .form-header-toggle{display:flex;flex-direction:row;width:30px;height:18px;border-radius:10px;border-color:var(--inputBorder);border-style:solid;border-width:2px;margin-left:5px;cursor:pointer;position:relative;margin-right:5px}.form-header-toggle-container .form-header-toggle:hover{filter:brightness(90%)}.form-header-toggle-container .form-header-toggle:active{transform:translateY(1px);filter:brightness(80%)}.form-header-toggle-container .form-header-toggle .form-toggle-switch{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:100%;margin-left:3px;position:absolute;transition:.5s;left:0}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right{left:10px}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right .form-toggle-indicator{border-color:var(--red)}.form-header-toggle-container .form-header-toggle .form-toggle-switch .form-toggle-indicator{height:10px;border-color:var(--green);border-style:solid;border-left-width:1px;border-right-width:1px;position:relative;margin-left:2px}.form-header-toggle-container .toggle-option-text{font-size:13px;font-weight:600;color:var(--placeholder);cursor:pointer}.form-header-toggle-container .toggle-option-text:hover{filter:brightness(90%)}.form-header-toggle-container .toggle-option-text:hover.toggle-option-selected{filter:unset}.form-header-toggle-container .toggle-option-text.toggle-option-selected{color:var(--tableText);cursor:default}.header-badge-container{height:30px;display:flex;flex-direction:row;align-items:center;border-radius:30px;padding:0 12px;font-weight:600;color:var(--tableText);background:var(--inputBorder)}.header-badge-container.online{background-color:var(--greenShadow)}.header-badge-container.unreg{background-color:var(--redShadow);color:var(--red)}.header-badge-container .badge-label{margin-left:5px}.header-badge-container .circle.false{background-color:var(--white)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormHeaderComponent, selector: "lib-form-header", inputs: { data: "data", title: "title", moreActions: "moreActions", formView: "formView", saveDisabled: "saveDisabled", saveTooltip: "saveTooltip", actionButtonText: "actionButtonText", moreActionsText: "moreActionsText" }, outputs: { formViewChange: "formViewChange", actionRequested: "actionRequested" }, ngImport: i0, template: "<div class=\"form-header-container\" [ngClass]=\"{'show-more-actions': (moreActions && moreActions.length > 0 && data.id)}\">\n <div class=\"form-header-group\">\n <div class=\"form-title-container\">\n <div class=\"form-title-back-button\" (click)=\"requestAction({name: 'close'})\">\n <div class=\"form-title-back-button-image\"></div>\n <div class=\"form-title-back-button-line\"></div>\n </div>\n <div class=\"form-header-title-text\">\n <span class=\"form-title\">{{title}}</span>\n <span class=\"form-title title-name\" *ngIf=\"data.name\">{{data.name}}</span>\n </div>\n </div>\n <div class=\"header-actions-container\">\n <div class=\"form-header-toggle-container\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': formView === 'simple'}\"\n (click)=\"requestAction({name: 'toggle-view', data: 'raw'})\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"requestAction({name: 'toggle-view', data: formView})\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': formView === 'simple', 'toggle-right': formView === 'raw'}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': formView === 'raw'}\"\n (click)=\"requestAction({name:'toggle-view', data: 'simple'})\"\n >\n JSON\n </span>\n </div>\n <div class=\"more-actions-container\" [ngClass]=\"{'more-actions-open': showActionsDropDown}\" *ngIf=\"hasMoreActions\" (click)=\"showMoreActions()\">\n <div class=\"more-actions-button\">\n <div class=\"more-actions-label\">\n <div class=\"more-actions-text\">{{moreActionsText}}</div>\n <div class=\"more-actions-arrow\"></div>\n </div>\n </div>\n <div class=\"more-actions-list\" *ngIf=\"showActionsDropDown\" (clickOutside)=\"closeActionsMoreActions()\">\n <div\n *ngFor=\"let action of moreActions\"\n class=\"more-actions-item\"\n (click)=\"requestAction(action)\"\n >\n {{action.label}}\n </div>\n </div>\n </div>\n <div class=\"save-button\"\n (click)=\"requestAction({name: 'save'})\"\n [ngClass]=\"{'save-disabled': saveDisabled}\"\n matTooltip=\"{{saveDisabled ? saveTooltip : ''}}\"\n matTooltipPosition=\"below\"\n >{{actionButtonText}}</div>\n </div>\n </div>\n <div class=\"form-header-group badges-container\">\n <div *ngFor=\"let badge of data.badges\" class=\"header-badge-container {{badge.class}}\">\n <span *ngIf=\"badge.circle\" class=\"circle {{badge.circle}}\"></span>\n <span class=\"badge-label\">{{badge.label}}</span>\n </div>\n </div>\n</div>", styles: [":host{position:relative;width:100%;max-width:1100px;margin-bottom:10px}.form-header-container{display:flex;flex-direction:column;width:100%}.form-header-container.show-more-actions .form-title-container{max-width:calc(100% - 375px)}.form-header-container.show-more-actions .header-actions-container{min-width:375px}.form-header-container .form-header-group{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%}.form-header-container .form-header-group.badges-container{justify-content:flex-start;margin-left:30px;margin-top:5px;gap:10px}.form-header-container .form-title-container{display:flex;flex-direction:row;justify-content:flex-start;max-width:calc(100% - 200px)}.form-header-container .form-title-container .form-header-title-text{overflow:hidden;display:block;white-space:nowrap;text-overflow:ellipsis}.form-header-container .form-title-container .form-title{width:100%;flex:1 1 auto;font-weight:700;font-size:22px;color:var(--tableText);margin-left:7px;min-width:130px;text-wrap:nowrap}.form-header-container .form-title-container .form-title.title-name{color:var(--primary);margin-left:5px}.form-header-container .form-title-container .form-title-back-button{display:flex;align-items:center;justify-content:center;position:relative;transform:scaleY(.8);cursor:pointer;padding-right:6px;margin-top:2px;margin-left:4px;transition:.3s}.form-header-container .form-title-container .form-title-back-button:hover{background-color:#fff;border-radius:7px;filter:brightness(90%);transition:.3s}.form-header-container .form-title-container .form-title-back-button:active{background-color:#fff;border-radius:7px;filter:brightness(80%);transition:.3s}.form-header-container .form-title-container .form-title-back-button .form-title-back-button-image{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23434c5e%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-size:20px 14px;width:20px;height:14px;transform:rotate(90deg)}.form-header-container .form-title-container .form-title-back-button .form-title-back-button-line{border-color:var(--tableText);border-style:solid;border-left-width:1px;border-right-width:1px;width:14px;position:absolute;left:8px}.form-header-container .header-actions-container{display:flex;flex-direction:row;min-width:180px;justify-content:flex-end}.form-header-container .header-actions-container .save-button{min-width:65px;height:33px;text-transform:none}.form-header-container .header-actions-container .save-button.save-disabled{filter:grayscale(1);opacity:.3;pointer:not-allowed}.more-actions-container{width:150px;height:33px;display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:5px;position:relative;cursor:pointer;z-index:999999;margin-right:20px}.more-actions-container .more-actions-button{height:100%;width:100%;background-color:var(--inputBorder);display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:5px;position:relative;cursor:pointer}.more-actions-container .more-actions-button:hover{outline:0;filter:brightness(95%)}.more-actions-container .more-actions-label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-left:15px;margin-right:10px}.more-actions-container .more-actions-label .more-actions-arrow{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-size:20px 10px;width:20px;height:10px;transition:.3s}.more-actions-container .more-actions-label .more-actions-text{color:var(--tableText);font-weight:600}.more-actions-container .more-actions-list{display:flex;flex-direction:column;background-color:var(--white);position:absolute;top:33px;width:100%;box-shadow:0 3px 5px 1px var(--boxShadow);border-radius:5px}.more-actions-container .more-actions-item{display:flex;flex-direction:row;align-items:center;height:25px;width:100%;padding-left:15px;color:var(--tableText);cursor:pointer}.more-actions-container .more-actions-item:hover{background-color:var(--inputBorder)}.more-actions-container.more-actions-open .more-actions-arrow{transform:rotate(180deg)}.form-header-toggle-container{display:flex;flex-direction:row;align-items:center;margin-right:20px}.form-header-toggle-container .form-header-toggle{display:flex;flex-direction:row;width:30px;height:18px;border-radius:10px;border-color:var(--inputBorder);border-style:solid;border-width:2px;margin-left:5px;cursor:pointer;position:relative;margin-right:5px}.form-header-toggle-container .form-header-toggle:hover{filter:brightness(90%)}.form-header-toggle-container .form-header-toggle:active{transform:translateY(1px);filter:brightness(80%)}.form-header-toggle-container .form-header-toggle .form-toggle-switch{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:100%;margin-left:3px;position:absolute;transition:.5s;left:0}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right{left:10px}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right .form-toggle-indicator{border-color:var(--red)}.form-header-toggle-container .form-header-toggle .form-toggle-switch .form-toggle-indicator{height:10px;border-color:var(--green);border-style:solid;border-left-width:1px;border-right-width:1px;position:relative;margin-left:2px}.form-header-toggle-container .toggle-option-text{font-size:13px;font-weight:600;color:var(--placeholder);cursor:pointer}.form-header-toggle-container .toggle-option-text:hover{filter:brightness(90%)}.form-header-toggle-container .toggle-option-text:hover.toggle-option-selected{filter:unset}.form-header-toggle-container .toggle-option-text.toggle-option-selected{color:var(--tableText);cursor:default}.header-badge-container{height:30px;display:flex;flex-direction:row;align-items:center;border-radius:30px;padding:0 12px;font-weight:600;color:var(--tableText);background:var(--inputBorder)}.header-badge-container.online{background-color:var(--greenShadow)}.header-badge-container.unreg{background-color:var(--redShadow);color:var(--red)}.header-badge-container .badge-label{margin-left:5px}.header-badge-container .circle.false{background-color:var(--white)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] }); }
70
74
  }
71
75
  export { FormHeaderComponent };
72
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormHeaderComponent, decorators: [{
73
77
  type: Component,
74
- args: [{ selector: 'lib-form-header', template: "<div class=\"form-header-container\" [ngClass]=\"{'show-more-actions': (moreActions && moreActions.length > 0 && data.id)}\">\n <div class=\"form-header-group\">\n <div class=\"form-title-container\">\n <div class=\"form-title-back-button\" (click)=\"requestAction({name: 'close'})\">\n <div class=\"form-title-back-button-image\"></div>\n <div class=\"form-title-back-button-line\"></div>\n </div>\n <div class=\"form-header-title-text\">\n <span class=\"form-title\">{{title}}</span>\n <span class=\"form-title title-name\" *ngIf=\"data.name\">{{data.name}}</span>\n </div>\n </div>\n <div class=\"header-actions-container\">\n <div class=\"form-header-toggle-container\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': formView === 'simple'}\"\n (click)=\"requestAction({name: 'toggle-view', data: 'raw'})\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"requestAction({name: 'toggle-view', data: formView})\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': formView === 'simple', 'toggle-right': formView === 'raw'}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': formView === 'raw'}\"\n (click)=\"requestAction({name:'toggle-view', data: 'simple'})\"\n >\n JSON\n </span>\n </div>\n <div class=\"more-actions-container\" *ngIf=\"hasMoreActions\" (click)=\"showMoreActions()\" (clickOutside)=\"closeActionsMoreActions()\">\n <div class=\"more-actions-button\">\n <div class=\"more-actions-label\">\n <div class=\"more-actions-text\">{{moreActionsText}}</div>\n <div class=\"more-actions-arrow\"></div>\n </div>\n </div>\n <div class=\"more-actions-list\" *ngIf=\"showActionsDropDown\">\n <div\n *ngFor=\"let action of moreActions\"\n class=\"more-actions-item\"\n (click)=\"requestAction(action)\"\n >\n {{action.label}}\n </div>\n </div>\n </div>\n <div class=\"save-button\"\n (click)=\"requestAction({name: 'save'})\"\n [ngClass]=\"{'save-disabled': saveDisabled}\"\n matTooltip=\"{{saveDisabled ? saveTooltip : ''}}\"\n matTooltipPosition=\"below\"\n >{{actionButtonText}}</div>\n </div>\n </div>\n <div class=\"form-header-group badges-container\">\n <div *ngFor=\"let badge of data.badges\" class=\"header-badge-container {{badge.class}}\">\n <span *ngIf=\"badge.circle\" class=\"circle {{badge.circle}}\"></span>\n <span class=\"badge-label\">{{badge.label}}</span>\n </div>\n </div>\n</div>", styles: [":host{position:relative;width:100%;max-width:1100px;margin-bottom:10px}.form-header-container{display:flex;flex-direction:column;width:100%}.form-header-container.show-more-actions .form-title-container{max-width:calc(100% - 375px)}.form-header-container.show-more-actions .header-actions-container{min-width:375px}.form-header-container .form-header-group{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%}.form-header-container .form-header-group.badges-container{justify-content:flex-start;margin-left:30px;margin-top:5px;gap:10px}.form-header-container .form-title-container{display:flex;flex-direction:row;justify-content:flex-start;max-width:calc(100% - 200px)}.form-header-container .form-title-container .form-header-title-text{overflow:hidden;display:block;white-space:nowrap;text-overflow:ellipsis}.form-header-container .form-title-container .form-title{width:100%;flex:1 1 auto;font-weight:700;font-size:22px;color:var(--tableText);margin-left:7px;min-width:130px;text-wrap:nowrap}.form-header-container .form-title-container .form-title.title-name{color:var(--primary);margin-left:5px}.form-header-container .form-title-container .form-title-back-button{display:flex;align-items:center;justify-content:center;position:relative;transform:scaleY(.8);cursor:pointer;padding-right:6px;margin-top:2px;margin-left:4px;transition:.3s}.form-header-container .form-title-container .form-title-back-button:hover{background-color:#fff;border-radius:7px;filter:brightness(90%);transition:.3s}.form-header-container .form-title-container .form-title-back-button:active{background-color:#fff;border-radius:7px;filter:brightness(80%);transition:.3s}.form-header-container .form-title-container .form-title-back-button .form-title-back-button-image{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23434c5e%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-size:20px 14px;width:20px;height:14px;transform:rotate(90deg)}.form-header-container .form-title-container .form-title-back-button .form-title-back-button-line{border-color:var(--tableText);border-style:solid;border-left-width:1px;border-right-width:1px;width:14px;position:absolute;left:8px}.form-header-container .header-actions-container{display:flex;flex-direction:row;min-width:180px;justify-content:flex-end}.form-header-container .header-actions-container .save-button{min-width:65px;height:33px;text-transform:none}.form-header-container .header-actions-container .save-button.save-disabled{filter:grayscale(1);opacity:.3;pointer:not-allowed}.more-actions-container{width:150px;height:33px;display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:5px;position:relative;cursor:pointer;z-index:999999;margin-right:20px}.more-actions-container .more-actions-button{height:100%;width:100%;background-color:var(--inputBorder);display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:5px;position:relative;cursor:pointer}.more-actions-container .more-actions-button:hover{outline:0;filter:brightness(95%)}.more-actions-container .more-actions-label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-left:15px;margin-right:10px}.more-actions-container .more-actions-label .more-actions-arrow{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-size:20px 10px;width:20px;height:10px}.more-actions-container .more-actions-label .more-actions-text{color:var(--tableText);font-weight:600}.more-actions-container .more-actions-list{display:flex;flex-direction:column;background-color:var(--white);position:absolute;top:33px;width:100%;box-shadow:0 3px 5px 1px var(--boxShadow);border-radius:5px}.more-actions-container .more-actions-item{display:flex;flex-direction:row;align-items:center;height:25px;width:100%;padding-left:15px;color:var(--tableText);cursor:pointer}.more-actions-container .more-actions-item:hover{background-color:var(--inputBorder)}.form-header-toggle-container{display:flex;flex-direction:row;align-items:center;margin-right:20px}.form-header-toggle-container .form-header-toggle{display:flex;flex-direction:row;width:30px;height:18px;border-radius:10px;border-color:var(--inputBorder);border-style:solid;border-width:2px;margin-left:5px;cursor:pointer;position:relative;margin-right:5px}.form-header-toggle-container .form-header-toggle:hover{filter:brightness(90%)}.form-header-toggle-container .form-header-toggle:active{transform:translateY(1px);filter:brightness(80%)}.form-header-toggle-container .form-header-toggle .form-toggle-switch{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:100%;margin-left:3px;position:absolute;transition:.5s;left:0}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right{left:10px}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right .form-toggle-indicator{border-color:var(--red)}.form-header-toggle-container .form-header-toggle .form-toggle-switch .form-toggle-indicator{height:10px;border-color:var(--green);border-style:solid;border-left-width:1px;border-right-width:1px;position:relative;margin-left:2px}.form-header-toggle-container .toggle-option-text{font-size:13px;font-weight:600;color:var(--placeholder);cursor:pointer}.form-header-toggle-container .toggle-option-text:hover{filter:brightness(90%)}.form-header-toggle-container .toggle-option-text:hover.toggle-option-selected{filter:unset}.form-header-toggle-container .toggle-option-text.toggle-option-selected{color:var(--tableText);cursor:default}.header-badge-container{height:30px;display:flex;flex-direction:row;align-items:center;border-radius:30px;padding:0 12px;font-weight:600;color:var(--tableText);background:var(--inputBorder)}.header-badge-container.online{background-color:var(--greenShadow)}.header-badge-container.unreg{background-color:var(--redShadow);color:var(--red)}.header-badge-container .badge-label{margin-left:5px}.header-badge-container .circle.false{background-color:var(--white)}\n"] }]
78
+ args: [{ selector: 'lib-form-header', template: "<div class=\"form-header-container\" [ngClass]=\"{'show-more-actions': (moreActions && moreActions.length > 0 && data.id)}\">\n <div class=\"form-header-group\">\n <div class=\"form-title-container\">\n <div class=\"form-title-back-button\" (click)=\"requestAction({name: 'close'})\">\n <div class=\"form-title-back-button-image\"></div>\n <div class=\"form-title-back-button-line\"></div>\n </div>\n <div class=\"form-header-title-text\">\n <span class=\"form-title\">{{title}}</span>\n <span class=\"form-title title-name\" *ngIf=\"data.name\">{{data.name}}</span>\n </div>\n </div>\n <div class=\"header-actions-container\">\n <div class=\"form-header-toggle-container\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': formView === 'simple'}\"\n (click)=\"requestAction({name: 'toggle-view', data: 'raw'})\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"requestAction({name: 'toggle-view', data: formView})\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': formView === 'simple', 'toggle-right': formView === 'raw'}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': formView === 'raw'}\"\n (click)=\"requestAction({name:'toggle-view', data: 'simple'})\"\n >\n JSON\n </span>\n </div>\n <div class=\"more-actions-container\" [ngClass]=\"{'more-actions-open': showActionsDropDown}\" *ngIf=\"hasMoreActions\" (click)=\"showMoreActions()\">\n <div class=\"more-actions-button\">\n <div class=\"more-actions-label\">\n <div class=\"more-actions-text\">{{moreActionsText}}</div>\n <div class=\"more-actions-arrow\"></div>\n </div>\n </div>\n <div class=\"more-actions-list\" *ngIf=\"showActionsDropDown\" (clickOutside)=\"closeActionsMoreActions()\">\n <div\n *ngFor=\"let action of moreActions\"\n class=\"more-actions-item\"\n (click)=\"requestAction(action)\"\n >\n {{action.label}}\n </div>\n </div>\n </div>\n <div class=\"save-button\"\n (click)=\"requestAction({name: 'save'})\"\n [ngClass]=\"{'save-disabled': saveDisabled}\"\n matTooltip=\"{{saveDisabled ? saveTooltip : ''}}\"\n matTooltipPosition=\"below\"\n >{{actionButtonText}}</div>\n </div>\n </div>\n <div class=\"form-header-group badges-container\">\n <div *ngFor=\"let badge of data.badges\" class=\"header-badge-container {{badge.class}}\">\n <span *ngIf=\"badge.circle\" class=\"circle {{badge.circle}}\"></span>\n <span class=\"badge-label\">{{badge.label}}</span>\n </div>\n </div>\n</div>", styles: [":host{position:relative;width:100%;max-width:1100px;margin-bottom:10px}.form-header-container{display:flex;flex-direction:column;width:100%}.form-header-container.show-more-actions .form-title-container{max-width:calc(100% - 375px)}.form-header-container.show-more-actions .header-actions-container{min-width:375px}.form-header-container .form-header-group{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%}.form-header-container .form-header-group.badges-container{justify-content:flex-start;margin-left:30px;margin-top:5px;gap:10px}.form-header-container .form-title-container{display:flex;flex-direction:row;justify-content:flex-start;max-width:calc(100% - 200px)}.form-header-container .form-title-container .form-header-title-text{overflow:hidden;display:block;white-space:nowrap;text-overflow:ellipsis}.form-header-container .form-title-container .form-title{width:100%;flex:1 1 auto;font-weight:700;font-size:22px;color:var(--tableText);margin-left:7px;min-width:130px;text-wrap:nowrap}.form-header-container .form-title-container .form-title.title-name{color:var(--primary);margin-left:5px}.form-header-container .form-title-container .form-title-back-button{display:flex;align-items:center;justify-content:center;position:relative;transform:scaleY(.8);cursor:pointer;padding-right:6px;margin-top:2px;margin-left:4px;transition:.3s}.form-header-container .form-title-container .form-title-back-button:hover{background-color:#fff;border-radius:7px;filter:brightness(90%);transition:.3s}.form-header-container .form-title-container .form-title-back-button:active{background-color:#fff;border-radius:7px;filter:brightness(80%);transition:.3s}.form-header-container .form-title-container .form-title-back-button .form-title-back-button-image{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23434c5e%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-size:20px 14px;width:20px;height:14px;transform:rotate(90deg)}.form-header-container .form-title-container .form-title-back-button .form-title-back-button-line{border-color:var(--tableText);border-style:solid;border-left-width:1px;border-right-width:1px;width:14px;position:absolute;left:8px}.form-header-container .header-actions-container{display:flex;flex-direction:row;min-width:180px;justify-content:flex-end}.form-header-container .header-actions-container .save-button{min-width:65px;height:33px;text-transform:none}.form-header-container .header-actions-container .save-button.save-disabled{filter:grayscale(1);opacity:.3;pointer:not-allowed}.more-actions-container{width:150px;height:33px;display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:5px;position:relative;cursor:pointer;z-index:999999;margin-right:20px}.more-actions-container .more-actions-button{height:100%;width:100%;background-color:var(--inputBorder);display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:5px;position:relative;cursor:pointer}.more-actions-container .more-actions-button:hover{outline:0;filter:brightness(95%)}.more-actions-container .more-actions-label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-left:15px;margin-right:10px}.more-actions-container .more-actions-label .more-actions-arrow{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-size:20px 10px;width:20px;height:10px;transition:.3s}.more-actions-container .more-actions-label .more-actions-text{color:var(--tableText);font-weight:600}.more-actions-container .more-actions-list{display:flex;flex-direction:column;background-color:var(--white);position:absolute;top:33px;width:100%;box-shadow:0 3px 5px 1px var(--boxShadow);border-radius:5px}.more-actions-container .more-actions-item{display:flex;flex-direction:row;align-items:center;height:25px;width:100%;padding-left:15px;color:var(--tableText);cursor:pointer}.more-actions-container .more-actions-item:hover{background-color:var(--inputBorder)}.more-actions-container.more-actions-open .more-actions-arrow{transform:rotate(180deg)}.form-header-toggle-container{display:flex;flex-direction:row;align-items:center;margin-right:20px}.form-header-toggle-container .form-header-toggle{display:flex;flex-direction:row;width:30px;height:18px;border-radius:10px;border-color:var(--inputBorder);border-style:solid;border-width:2px;margin-left:5px;cursor:pointer;position:relative;margin-right:5px}.form-header-toggle-container .form-header-toggle:hover{filter:brightness(90%)}.form-header-toggle-container .form-header-toggle:active{transform:translateY(1px);filter:brightness(80%)}.form-header-toggle-container .form-header-toggle .form-toggle-switch{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:100%;margin-left:3px;position:absolute;transition:.5s;left:0}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right{left:10px}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right .form-toggle-indicator{border-color:var(--red)}.form-header-toggle-container .form-header-toggle .form-toggle-switch .form-toggle-indicator{height:10px;border-color:var(--green);border-style:solid;border-left-width:1px;border-right-width:1px;position:relative;margin-left:2px}.form-header-toggle-container .toggle-option-text{font-size:13px;font-weight:600;color:var(--placeholder);cursor:pointer}.form-header-toggle-container .toggle-option-text:hover{filter:brightness(90%)}.form-header-toggle-container .toggle-option-text:hover.toggle-option-selected{filter:unset}.form-header-toggle-container .toggle-option-text.toggle-option-selected{color:var(--tableText);cursor:default}.header-badge-container{height:30px;display:flex;flex-direction:row;align-items:center;border-radius:30px;padding:0 12px;font-weight:600;color:var(--tableText);background:var(--inputBorder)}.header-badge-container.online{background-color:var(--greenShadow)}.header-badge-container.unreg{background-color:var(--redShadow);color:var(--red)}.header-badge-container .badge-label{margin-left:5px}.header-badge-container .circle.false{background-color:var(--white)}\n"] }]
75
79
  }], ctorParameters: function () { return []; }, propDecorators: { data: [{
76
80
  type: Input
77
81
  }], title: [{
@@ -93,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
93
97
  }], actionRequested: [{
94
98
  type: Output
95
99
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2Zvcm0taGVhZGVyL2Zvcm0taGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9mb3JtLWhlYWRlci9mb3JtLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFFBQVEsQ0FBQzs7Ozs7QUFFbEMsTUFLYSxtQkFBbUI7SUFjOUI7UUFiUyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBQ2YsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLGFBQVEsR0FBRyxRQUFRLENBQUM7UUFDcEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIscUJBQWdCLEdBQUcsTUFBTSxDQUFDO1FBQzFCLG9CQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLG1CQUFjLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbEUsb0JBQWUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV2RSx3QkFBbUIsR0FBRyxLQUFLLENBQUM7SUFFYixDQUFDO0lBRWhCLElBQUksY0FBYztRQUNoQixJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ2xELGNBQWMsR0FBRyxJQUFJLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBTTtRQUNsQixJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssYUFBYSxFQUFFO1lBQ2pDLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO2FBQzFCO1lBQ0QsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDNUI7UUFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDbkIsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUE7UUFDakUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7K0dBakRVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDBXQ3hCaEMsc2pIQXFFTTs7U0Q3Q08sbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzBFQUtsQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzRnVuY3Rpb259IGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1mb3JtLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0taGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUhlYWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGE6IGFueSA9IHt9O1xuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xuICBASW5wdXQoKSBtb3JlQWN0aW9uczogYW55ID0gW107XG4gIEBJbnB1dCgpIGZvcm1WaWV3ID0gJ3NpbXBsZSc7XG4gIEBJbnB1dCgpIHNhdmVEaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzYXZlVG9vbHRpcCA9ICcnO1xuICBASW5wdXQoKSBhY3Rpb25CdXR0b25UZXh0ID0gJ1NhdmUnO1xuICBASW5wdXQoKSBtb3JlQWN0aW9uc1RleHQgPSAnTW9yZSBBY3Rpb25zJztcbiAgQE91dHB1dCgpIGZvcm1WaWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgYWN0aW9uUmVxdWVzdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHNob3dBY3Rpb25zRHJvcERvd24gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0IGhhc01vcmVBY3Rpb25zKCkge1xuICAgIGxldCBoYXNNb3JlQWN0aW9ucyA9IGZhbHNlO1xuICAgIHRoaXMubW9yZUFjdGlvbnM/LmZvckVhY2goYWN0aW9uID0+IHtcbiAgICAgIGlmICghaXNGdW5jdGlvbihhY3Rpb24uaGlkZGVuKSB8fCAhYWN0aW9uLmhpZGRlbigpKSB7XG4gICAgICAgIGhhc01vcmVBY3Rpb25zID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaGFzTW9yZUFjdGlvbnM7XG4gIH1cblxuICByZXF1ZXN0QWN0aW9uKGFjdGlvbikge1xuICAgIGlmIChhY3Rpb24ubmFtZSA9PT0gJ3RvZ2dsZS12aWV3Jykge1xuICAgICAgaWYgKGFjdGlvbi5kYXRhID09PSAnc2ltcGxlJykge1xuICAgICAgICB0aGlzLmZvcm1WaWV3ID0gJ3Jhdyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1WaWV3ID0gJ3NpbXBsZSc7XG4gICAgICB9XG4gICAgICBhY3Rpb24uZGF0YSA9IHRoaXMuZm9ybVZpZXc7XG4gICAgICB0aGlzLmZvcm1WaWV3Q2hhbmdlLmVtaXQoKTtcbiAgICB9XG4gICAgaWYgKGFjdGlvbi5jYWxsYmFjaykge1xuICAgICAgYWN0aW9uLmNhbGxiYWNrKCk7XG4gICAgfVxuICAgIHRoaXMuYWN0aW9uUmVxdWVzdGVkLmVtaXQoe25hbWU6IGFjdGlvbi5uYW1lLCBkYXRhOiBhY3Rpb24uZGF0YX0pXG4gICAgdGhpcy5zaG93QWN0aW9uc0Ryb3BEb3duID0gZmFsc2U7XG4gIH1cblxuICBzaG93TW9yZUFjdGlvbnMoKSB7XG4gICAgdGhpcy5zaG93QWN0aW9uc0Ryb3BEb3duID0gdHJ1ZTtcbiAgfVxuXG4gIGNsb3NlQWN0aW9uc01vcmVBY3Rpb25zKCkge1xuICAgIHRoaXMuc2hvd0FjdGlvbnNEcm9wRG93biA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1oZWFkZXItY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieydzaG93LW1vcmUtYWN0aW9ucyc6IChtb3JlQWN0aW9ucyAmJiBtb3JlQWN0aW9ucy5sZW5ndGggPiAwICYmIGRhdGEuaWQpfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWhlYWRlci1ncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS10aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRpdGxlLWJhY2stYnV0dG9uXCIgKGNsaWNrKT1cInJlcXVlc3RBY3Rpb24oe25hbWU6ICdjbG9zZSd9KVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRpdGxlLWJhY2stYnV0dG9uLWltYWdlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tdGl0bGUtYmFjay1idXR0b24tbGluZVwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1oZWFkZXItdGl0bGUtdGV4dFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS10aXRsZVwiPnt7dGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tdGl0bGUgdGl0bGUtbmFtZVwiICpuZ0lmPVwiZGF0YS5uYW1lXCI+e3tkYXRhLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1hY3Rpb25zLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyLXRvZ2dsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLW9wdGlvbi10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd0b2dnbGUtb3B0aW9uLXNlbGVjdGVkJzogZm9ybVZpZXcgPT09ICdzaW1wbGUnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXF1ZXN0QWN0aW9uKHtuYW1lOiAndG9nZ2xlLXZpZXcnLCBkYXRhOiAncmF3J30pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGT1JNXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyLXRvZ2dsZVwiIChjbGljayk9XCJyZXF1ZXN0QWN0aW9uKHtuYW1lOiAndG9nZ2xlLXZpZXcnLCBkYXRhOiBmb3JtVmlld30pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tdG9nZ2xlLXN3aXRjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd0b2dnbGUtbGVmdCc6IGZvcm1WaWV3ID09PSAnc2ltcGxlJywgJ3RvZ2dsZS1yaWdodCc6IGZvcm1WaWV3ID09PSAncmF3J31cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS10b2dnbGUtaW5kaWNhdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS10b2dnbGUtaW5kaWNhdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRvZ2dsZS1vcHRpb24tdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RvZ2dsZS1vcHRpb24tc2VsZWN0ZWQnOiBmb3JtVmlldyA9PT0gJ3Jhdyd9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXF1ZXN0QWN0aW9uKHtuYW1lOid0b2dnbGUtdmlldycsIGRhdGE6ICdzaW1wbGUnfSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgSlNPTlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYWN0aW9ucy1jb250YWluZXJcIiAqbmdJZj1cImhhc01vcmVBY3Rpb25zXCIgKGNsaWNrKT1cInNob3dNb3JlQWN0aW9ucygpXCIgKGNsaWNrT3V0c2lkZSk9XCJjbG9zZUFjdGlvbnNNb3JlQWN0aW9ucygpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYWN0aW9ucy1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYWN0aW9ucy1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYWN0aW9ucy10ZXh0XCI+e3ttb3JlQWN0aW9uc1RleHR9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYWN0aW9ucy1hcnJvd1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS1hY3Rpb25zLWxpc3RcIiAqbmdJZj1cInNob3dBY3Rpb25zRHJvcERvd25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBtb3JlQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1vcmUtYWN0aW9ucy1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXF1ZXN0QWN0aW9uKGFjdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e2FjdGlvbi5sYWJlbH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2F2ZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVxdWVzdEFjdGlvbih7bmFtZTogJ3NhdmUnfSlcIlxuICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NhdmUtZGlzYWJsZWQnOiBzYXZlRGlzYWJsZWR9XCJcbiAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7c2F2ZURpc2FibGVkID8gc2F2ZVRvb2x0aXAgOiAnJ319XCJcbiAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgICAgPnt7YWN0aW9uQnV0dG9uVGV4dH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWhlYWRlci1ncm91cCBiYWRnZXMtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGJhZGdlIG9mIGRhdGEuYmFkZ2VzXCIgY2xhc3M9XCJoZWFkZXItYmFkZ2UtY29udGFpbmVyIHt7YmFkZ2UuY2xhc3N9fVwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJiYWRnZS5jaXJjbGVcIiBjbGFzcz1cImNpcmNsZSB7e2JhZGdlLmNpcmNsZX19XCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZS1sYWJlbFwiPnt7YmFkZ2UubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2Zvcm0taGVhZGVyL2Zvcm0taGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9mb3JtLWhlYWRlci9mb3JtLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUMsTUFBTSxRQUFRLENBQUM7Ozs7O0FBRXpDLE1BS2EsbUJBQW1CO0lBYzlCO1FBYlMsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUNmLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QixhQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUMxQixvQkFBZSxHQUFHLGNBQWMsQ0FBQztRQUNoQyxtQkFBYyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2xFLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFdkUsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO0lBRWIsQ0FBQztJQUVoQixJQUFJLGNBQWM7UUFDaEIsSUFBSSxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNsRCxjQUFjLEdBQUcsSUFBSSxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQU07UUFDbEIsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLGFBQWEsRUFBRTtZQUNqQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQzthQUMxQjtZQUNELE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25CLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNuQjtRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFBO1FBQ2pFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELGVBQWU7UUFDYixLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXJEVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiwwV0N4QmhDLGduSEFxRU07O1NEN0NPLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjswRUFLbEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpc0Z1bmN0aW9uLCBkZWZlcn0gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWZvcm0taGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1oZWFkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtSGVhZGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGF0YTogYW55ID0ge307XG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIG1vcmVBY3Rpb25zOiBhbnkgPSBbXTtcbiAgQElucHV0KCkgZm9ybVZpZXcgPSAnc2ltcGxlJztcbiAgQElucHV0KCkgc2F2ZURpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNhdmVUb29sdGlwID0gJyc7XG4gIEBJbnB1dCgpIGFjdGlvbkJ1dHRvblRleHQgPSAnU2F2ZSc7XG4gIEBJbnB1dCgpIG1vcmVBY3Rpb25zVGV4dCA9ICdNb3JlIEFjdGlvbnMnO1xuICBAT3V0cHV0KCkgZm9ybVZpZXdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBhY3Rpb25SZXF1ZXN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgc2hvd0FjdGlvbnNEcm9wRG93biA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBnZXQgaGFzTW9yZUFjdGlvbnMoKSB7XG4gICAgbGV0IGhhc01vcmVBY3Rpb25zID0gZmFsc2U7XG4gICAgdGhpcy5tb3JlQWN0aW9ucz8uZm9yRWFjaChhY3Rpb24gPT4ge1xuICAgICAgaWYgKCFpc0Z1bmN0aW9uKGFjdGlvbi5oaWRkZW4pIHx8ICFhY3Rpb24uaGlkZGVuKCkpIHtcbiAgICAgICAgaGFzTW9yZUFjdGlvbnMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBoYXNNb3JlQWN0aW9ucztcbiAgfVxuXG4gIHJlcXVlc3RBY3Rpb24oYWN0aW9uKSB7XG4gICAgaWYgKGFjdGlvbi5uYW1lID09PSAndG9nZ2xlLXZpZXcnKSB7XG4gICAgICBpZiAoYWN0aW9uLmRhdGEgPT09ICdzaW1wbGUnKSB7XG4gICAgICAgIHRoaXMuZm9ybVZpZXcgPSAncmF3JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybVZpZXcgPSAnc2ltcGxlJztcbiAgICAgIH1cbiAgICAgIGFjdGlvbi5kYXRhID0gdGhpcy5mb3JtVmlldztcbiAgICAgIHRoaXMuZm9ybVZpZXdDaGFuZ2UuZW1pdCgpO1xuICAgIH1cbiAgICBpZiAoYWN0aW9uLmNhbGxiYWNrKSB7XG4gICAgICBhY3Rpb24uY2FsbGJhY2soKTtcbiAgICB9XG4gICAgdGhpcy5hY3Rpb25SZXF1ZXN0ZWQuZW1pdCh7bmFtZTogYWN0aW9uLm5hbWUsIGRhdGE6IGFjdGlvbi5kYXRhfSlcbiAgICB0aGlzLnNob3dBY3Rpb25zRHJvcERvd24gPSBmYWxzZTtcbiAgfVxuXG4gIHNob3dNb3JlQWN0aW9ucygpIHtcbiAgICBkZWZlcigoKSA9PiB7XG4gICAgICB0aGlzLnNob3dBY3Rpb25zRHJvcERvd24gPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgY2xvc2VBY3Rpb25zTW9yZUFjdGlvbnMoKSB7XG4gICAgZGVmZXIoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93QWN0aW9uc0Ryb3BEb3duID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWhlYWRlci1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7J3Nob3ctbW9yZS1hY3Rpb25zJzogKG1vcmVBY3Rpb25zICYmIG1vcmVBY3Rpb25zLmxlbmd0aCA+IDAgJiYgZGF0YS5pZCl9XCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyLWdyb3VwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRpdGxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tdGl0bGUtYmFjay1idXR0b25cIiAoY2xpY2spPVwicmVxdWVzdEFjdGlvbih7bmFtZTogJ2Nsb3NlJ30pXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tdGl0bGUtYmFjay1idXR0b24taW1hZ2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS10aXRsZS1iYWNrLWJ1dHRvbi1saW5lXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWhlYWRlci10aXRsZS10ZXh0XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLXRpdGxlXCI+e3t0aXRsZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS10aXRsZSB0aXRsZS1uYW1lXCIgKm5nSWY9XCJkYXRhLm5hbWVcIj57e2RhdGEubmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWFjdGlvbnMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1oZWFkZXItdG9nZ2xlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtb3B0aW9uLXRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RvZ2dsZS1vcHRpb24tc2VsZWN0ZWQnOiBmb3JtVmlldyA9PT0gJ3NpbXBsZSd9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlcXVlc3RBY3Rpb24oe25hbWU6ICd0b2dnbGUtdmlldycsIGRhdGE6ICdyYXcnfSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZPUk1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1oZWFkZXItdG9nZ2xlXCIgKGNsaWNrKT1cInJlcXVlc3RBY3Rpb24oe25hbWU6ICd0b2dnbGUtdmlldycsIGRhdGE6IGZvcm1WaWV3fSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10b2dnbGUtc3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RvZ2dsZS1sZWZ0JzogZm9ybVZpZXcgPT09ICdzaW1wbGUnLCAndG9nZ2xlLXJpZ2h0JzogZm9ybVZpZXcgPT09ICdyYXcnfVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRvZ2dsZS1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRvZ2dsZS1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLW9wdGlvbi10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndG9nZ2xlLW9wdGlvbi1zZWxlY3RlZCc6IGZvcm1WaWV3ID09PSAncmF3J31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlcXVlc3RBY3Rpb24oe25hbWU6J3RvZ2dsZS12aWV3JywgZGF0YTogJ3NpbXBsZSd9KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBKU09OXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS1hY3Rpb25zLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnbW9yZS1hY3Rpb25zLW9wZW4nOiBzaG93QWN0aW9uc0Ryb3BEb3dufVwiICAqbmdJZj1cImhhc01vcmVBY3Rpb25zXCIgKGNsaWNrKT1cInNob3dNb3JlQWN0aW9ucygpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYWN0aW9ucy1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYWN0aW9ucy1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYWN0aW9ucy10ZXh0XCI+e3ttb3JlQWN0aW9uc1RleHR9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYWN0aW9ucy1hcnJvd1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS1hY3Rpb25zLWxpc3RcIiAqbmdJZj1cInNob3dBY3Rpb25zRHJvcERvd25cIiAoY2xpY2tPdXRzaWRlKT1cImNsb3NlQWN0aW9uc01vcmVBY3Rpb25zKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBtb3JlQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1vcmUtYWN0aW9ucy1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXF1ZXN0QWN0aW9uKGFjdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e2FjdGlvbi5sYWJlbH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2F2ZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVxdWVzdEFjdGlvbih7bmFtZTogJ3NhdmUnfSlcIlxuICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NhdmUtZGlzYWJsZWQnOiBzYXZlRGlzYWJsZWR9XCJcbiAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7c2F2ZURpc2FibGVkID8gc2F2ZVRvb2x0aXAgOiAnJ319XCJcbiAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgICAgPnt7YWN0aW9uQnV0dG9uVGV4dH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWhlYWRlci1ncm91cCBiYWRnZXMtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGJhZGdlIG9mIGRhdGEuYmFkZ2VzXCIgY2xhc3M9XCJoZWFkZXItYmFkZ2UtY29udGFpbmVyIHt7YmFkZ2UuY2xhc3N9fVwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJiYWRnZS5jaXJjbGVcIiBjbGFzcz1cImNpcmNsZSB7e2JhZGdlLmNpcmNsZX19XCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZS1sYWJlbFwiPnt7YmFkZ2UubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=