@alauda-fe/common 1.4.29-beta.2 → 1.4.30-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/array-form-table/form/component.d.ts +1 -1
  2. package/code/managed-fields-folder.util.d.ts +2 -3
  3. package/code/resource-yaml-display/component.d.ts +3 -8
  4. package/code/resource-yaml-editor/component.d.ts +2 -3
  5. package/code/yaml-sidebar/component.d.ts +6 -15
  6. package/core/abstract/base-nested-form-control.d.ts +1 -1
  7. package/core/services/kubernetes-schema.service.d.ts +1 -0
  8. package/core/services/plugin-util.service.d.ts +1 -1
  9. package/core/services/workspace-helper.service.d.ts +1 -1
  10. package/core/services/yaml-util.service.d.ts +1 -1
  11. package/core/types/schema.d.ts +9 -0
  12. package/core/utils/version.d.ts +1 -1
  13. package/esm2022/code/managed-fields-folder.util.mjs +1 -1
  14. package/esm2022/code/resource-yaml-display/component.mjs +24 -28
  15. package/esm2022/code/resource-yaml-editor/component.mjs +12 -15
  16. package/esm2022/code/yaml-examples.mjs +14 -6
  17. package/esm2022/code/yaml-sidebar/component.mjs +92 -118
  18. package/esm2022/core/services/kubernetes-schema.service.mjs +27 -21
  19. package/esm2022/core/services/plugin-util.service.mjs +3 -3
  20. package/esm2022/core/services/workspace-helper.service.mjs +1 -1
  21. package/esm2022/core/services/yaml-util.service.mjs +3 -2
  22. package/esm2022/core/types/schema.mjs +1 -1
  23. package/esm2022/permission/k8s-permission.service.mjs +5 -2
  24. package/esm2022/permission/types.mjs +1 -1
  25. package/esm2022/translate/i18n-assets-loader.mjs +7 -2
  26. package/esm2022/translate/translate.service.mjs +93 -171
  27. package/package.json +1 -1
  28. package/permission/types.d.ts +17 -8
  29. package/table/component.d.ts +1 -1
  30. package/table/helper.d.ts +1 -1
  31. package/translate/translate.service.d.ts +10 -50
@@ -8,9 +8,7 @@ import { yamlDefaults } from 'monaco-yaml';
8
8
  import { BehaviorSubject, combineLatest, Observable, map, distinctUntilChanged, of, switchMap, shareReplay, takeUntil, Subject, } from 'rxjs';
9
9
  import { KubernetesSchemaService } from '../../core/services/kubernetes-schema.service';
10
10
  import { YamlUtilService } from '../../core/services/yaml-util.service';
11
- import { ObservableInput } from '../../core/utils/decorators';
12
- import { publishRef } from '../../core/utils/operators';
13
- import { parseAll, stringify } from '../../core/utils/yaml';
11
+ import { ObservableInput, publishRef, parseAll, stringify, } from '../../core/utils/public-api';
14
12
  import { TRANSLATE_MODULE } from '../../translate/translate.module';
15
13
  import { updateActions, yamlWriteMinimapOptions } from '../code-editor-configs';
16
14
  import { foldManagedFields, } from '../managed-fields-folder.util';
@@ -41,19 +39,18 @@ function ResourceYamlEditorComponent_ng_template_1_button_6_Template(rf, ctx) {
41
39
  i0.ɵɵelementStart(0, "button", 10);
42
40
  i0.ɵɵpipe(1, "async");
43
41
  i0.ɵɵpipe(2, "async");
44
- i0.ɵɵpipe(3, "async");
45
- i0.ɵɵpipe(4, "translate");
42
+ i0.ɵɵpipe(3, "translate");
46
43
  i0.ɵɵlistener("click", function ResourceYamlEditorComponent_ng_template_1_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.toggleSidebar()); });
47
- i0.ɵɵelement(5, "aui-icon", 11);
48
- i0.ɵɵpipe(6, "async");
44
+ i0.ɵɵelement(4, "aui-icon", 11);
45
+ i0.ɵɵpipe(5, "async");
49
46
  i0.ɵɵelementEnd();
50
47
  } if (rf & 2) {
51
48
  i0.ɵɵnextContext();
52
49
  const codeEditor_r5 = i0.ɵɵreference(4);
53
50
  const ctx_r2 = i0.ɵɵnextContext();
54
- i0.ɵɵproperty("hidden", !!codeEditor_r5.fullscreenDialog)("type", i0.ɵɵpipeBind1(1, 5, ctx_r2.showSidebar$$) ? "primary" : "text")("disabled", !i0.ɵɵpipeBind1(2, 7, ctx_r2.finalSchema$))("auiTooltip", i0.ɵɵpipeBind1(4, 11, i0.ɵɵpipeBind1(3, 9, ctx_r2.showSidebar$$) ? "hide_sidebar" : "view_sidebar"));
55
- i0.ɵɵadvance(5);
56
- i0.ɵɵproperty("icon", i0.ɵɵpipeBind1(6, 13, ctx_r2.showSidebar$$) ? "prod:expand_sidebar" : "prod:collapse_sidebar");
51
+ i0.ɵɵproperty("hidden", !!codeEditor_r5.fullscreenDialog)("disabled", !i0.ɵɵpipeBind1(1, 4, ctx_r2.finalSchema$))("auiTooltip", i0.ɵɵpipeBind1(3, 8, i0.ɵɵpipeBind1(2, 6, ctx_r2.showSidebar$$) ? "hide_sidebar" : "view_sidebar"));
52
+ i0.ɵɵadvance(4);
53
+ i0.ɵɵproperty("icon", i0.ɵɵpipeBind1(5, 10, ctx_r2.showSidebar$$) ? "prod:expand_sidebar" : "prod:collapse_sidebar");
57
54
  } }
58
55
  function ResourceYamlEditorComponent_ng_template_1_div_8_Template(rf, ctx) { if (rf & 1) {
59
56
  const _r6 = i0.ɵɵgetCurrentView();
@@ -73,7 +70,7 @@ function ResourceYamlEditorComponent_ng_template_1_Template(rf, ctx) { if (rf &
73
70
  i0.ɵɵelementStart(2, "div", 5)(3, "aui-code-editor", 6, 1);
74
71
  i0.ɵɵtwoWayListener("ngModelChange", function ResourceYamlEditorComponent_ng_template_1_Template_aui_code_editor_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.value, $event) || (ctx_r2.value = $event); return i0.ɵɵresetView($event); });
75
72
  i0.ɵɵelementContainerStart(5, 7);
76
- i0.ɵɵtemplate(6, ResourceYamlEditorComponent_ng_template_1_button_6_Template, 7, 15, "button", 8);
73
+ i0.ɵɵtemplate(6, ResourceYamlEditorComponent_ng_template_1_button_6_Template, 6, 12, "button", 8);
77
74
  i0.ɵɵpipe(7, "async");
78
75
  i0.ɵɵelementContainerEnd();
79
76
  i0.ɵɵelementEnd()();
@@ -314,7 +311,7 @@ export class ResourceYamlEditorComponent {
314
311
  useExisting: forwardRef(() => ResourceYamlEditorComponent),
315
312
  multi: true,
316
313
  },
317
- ]), i0.ɵɵStandaloneFeature], decls: 3, vars: 2, consts: [["content", ""], ["codeEditor", ""], [4, "ngIf", "ngIfElse"], [4, "ngTemplateOutlet"], [1, "yaml-editor-container"], [1, "yaml-editor-section"], ["name", "yaml", 3, "ngModelChange", "originalValue", "ngModel", "options", "actionsConfig", "modelUri"], ["auiCodeEditorToolbarRightSide", ""], ["auiButton", "", "class", "aui-code-editor-toolbar__control-button", "size", "small", 3, "hidden", "type", "disabled", "auiTooltip", "click", 4, "ngIf"], ["class", "yaml-sidebar-section", 4, "ngIf"], ["auiButton", "", "size", "small", 1, "aui-code-editor-toolbar__control-button", 3, "click", "hidden", "type", "disabled", "auiTooltip"], [3, "icon"], [1, "yaml-sidebar-section"], [3, "close", "tryYaml", "resource", "schema", "schemaEnable", "exampleEnable", "extraExamples"]], template: function ResourceYamlEditorComponent_Template(rf, ctx) { if (rf & 1) {
314
+ ]), i0.ɵɵStandaloneFeature], decls: 3, vars: 2, consts: [["content", ""], ["codeEditor", ""], [4, "ngIf", "ngIfElse"], [4, "ngTemplateOutlet"], [1, "yaml-editor-container"], [1, "yaml-editor-section"], ["name", "yaml", 3, "ngModelChange", "originalValue", "ngModel", "options", "actionsConfig", "modelUri"], ["auiCodeEditorToolbarRightSide", ""], ["class", "aui-code-editor-toolbar__control-button", "type", "button", 3, "hidden", "disabled", "auiTooltip", "click", 4, "ngIf"], ["class", "yaml-sidebar-section", 4, "ngIf"], ["type", "button", 1, "aui-code-editor-toolbar__control-button", 3, "click", "hidden", "disabled", "auiTooltip"], [3, "icon"], [1, "yaml-sidebar-section"], [3, "close", "tryYaml", "resource", "schema", "schemaEnable", "exampleEnable", "extraExamples"]], template: function ResourceYamlEditorComponent_Template(rf, ctx) { if (rf & 1) {
318
315
  i0.ɵɵtemplate(0, ResourceYamlEditorComponent_aui_card_0_Template, 2, 1, "aui-card", 2)(1, ResourceYamlEditorComponent_ng_template_1_Template, 11, 17, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
319
316
  } if (rf & 2) {
320
317
  const content_r1 = i0.ɵɵreference(2);
@@ -324,7 +321,7 @@ export class ResourceYamlEditorComponent {
324
321
  CodeEditorModule, i3.CodeEditorComponent, i6.TranslatePipe, AsyncPipe,
325
322
  NgTemplateOutlet,
326
323
  ResourceYamlSidebarComponent,
327
- IconModule, i4.IconComponent, TooltipModule, i4.TooltipDirective], styles: ["[_nghost-%COMP%]:not(.dialog-content){display:block;height:calc(100vh - (var(--acl-page-header-height) + 44px) - 147px)}[_nghost-%COMP%]:not(.dialog-content) .aui-code-editor{min-height:100%}[_nghost-%COMP%]:not(.dialog-content) > .aui-card[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%]:not(.dialog-content) > .aui-card[_ngcontent-%COMP%] .aui-card__content[_ngcontent-%COMP%], [_nghost-%COMP%]:not(.dialog-content) > .aui-card[_ngcontent-%COMP%] aui-code-editor[_ngcontent-%COMP%], [_nghost-%COMP%]:not(.dialog-content) > .aui-card[_ngcontent-%COMP%] .aui-code-editor[_ngcontent-%COMP%]{height:100%;min-height:100%}[_nghost-%COMP%]{display:block}[_nghost-%COMP%] aui-card, [_nghost-%COMP%] .aui-card, [_nghost-%COMP%] .aui-card__content{height:100%}[_nghost-%COMP%] .aui-checkbox{margin-right:0}[_nghost-%COMP%] aui-code-editor[_ngcontent-%COMP%]{height:100%}.yaml-editor-container[_ngcontent-%COMP%]{display:flex;height:100%}.yaml-editor-container.with-sidebar[_ngcontent-%COMP%] .yaml-editor-section[_ngcontent-%COMP%]{flex:1;min-width:0}.yaml-editor-container.with-sidebar[_ngcontent-%COMP%] .yaml-sidebar-section[_ngcontent-%COMP%]{width:400px;flex-shrink:0}.yaml-editor-container[_ngcontent-%COMP%]:not(.with-sidebar) .yaml-editor-section[_ngcontent-%COMP%]{flex:1}.yaml-editor-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.yaml-editor-section[_ngcontent-%COMP%] aui-code-editor[_ngcontent-%COMP%]{flex:1;height:100%}.yaml-sidebar-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.yaml-sidebar-section[_ngcontent-%COMP%] acl-resource-yaml-sidebar[_ngcontent-%COMP%]{flex:1;height:100%}.yaml-debug-section[_ngcontent-%COMP%]{position:absolute;top:0;right:0;width:350px;height:100%;background:var(--aui-color-bg-container);border-left:1px solid var(--aui-color-border-default);z-index:1000;overflow-y:auto}.debug-panel[_ngcontent-%COMP%]{padding:16px;font-size:12px}.debug-panel[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 12px;font-size:14px;color:var(--aui-color-text-primary)}.debug-panel[_ngcontent-%COMP%] .debug-item[_ngcontent-%COMP%]{margin-bottom:16px}.debug-panel[_ngcontent-%COMP%] .debug-item[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--aui-color-text-primary);display:block;margin-bottom:4px}.debug-panel[_ngcontent-%COMP%] .debug-item[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding-left:16px}.debug-panel[_ngcontent-%COMP%] .debug-item[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:2px;color:var(--aui-color-text-secondary)}.debug-panel[_ngcontent-%COMP%] .debug-actions[_ngcontent-%COMP%]{border-top:1px solid var(--aui-color-border-default);padding-top:12px;text-align:right}@media (max-width: 1200px){.yaml-editor-container.with-sidebar[_ngcontent-%COMP%] .yaml-sidebar-section[_ngcontent-%COMP%]{width:350px}}@media (max-width: 992px){.yaml-editor-container.with-sidebar[_ngcontent-%COMP%]{flex-direction:column}.yaml-editor-container.with-sidebar[_ngcontent-%COMP%] .yaml-editor-section[_ngcontent-%COMP%]{flex:1;min-height:50%}.yaml-editor-container.with-sidebar[_ngcontent-%COMP%] .yaml-sidebar-section[_ngcontent-%COMP%]{width:100%;height:50%;border-top:1px solid var(--aui-color-border, #e0e0e0);border-left:none}}"], changeDetection: 0 }); }
324
+ IconModule, i4.IconComponent, TooltipModule, i4.TooltipDirective], styles: ["[_nghost-%COMP%]:not(.dialog-content){display:block;height:calc(100vh - (var(--acl-page-header-height) + 44px) - 147px)}[_nghost-%COMP%]:not(.dialog-content) .aui-code-editor{min-height:100%}[_nghost-%COMP%]:not(.dialog-content) > .aui-card[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%]:not(.dialog-content) > .aui-card[_ngcontent-%COMP%] .aui-card__content[_ngcontent-%COMP%], [_nghost-%COMP%]:not(.dialog-content) > .aui-card[_ngcontent-%COMP%] aui-code-editor[_ngcontent-%COMP%], [_nghost-%COMP%]:not(.dialog-content) > .aui-card[_ngcontent-%COMP%] .aui-code-editor[_ngcontent-%COMP%]{height:100%;min-height:100%}[_nghost-%COMP%]{display:block}[_nghost-%COMP%] aui-card, [_nghost-%COMP%] .aui-card, [_nghost-%COMP%] .aui-card__content{height:100%}[_nghost-%COMP%] .aui-checkbox{margin-right:0}[_nghost-%COMP%] aui-code-editor[_ngcontent-%COMP%]{height:100%}.yaml-editor-container[_ngcontent-%COMP%]{display:flex;height:100%}.yaml-editor-container.with-sidebar[_ngcontent-%COMP%] .yaml-editor-section[_ngcontent-%COMP%]{flex:2;min-width:0}.yaml-editor-container.with-sidebar[_ngcontent-%COMP%] .yaml-sidebar-section[_ngcontent-%COMP%]{flex:1 0 0%}.yaml-editor-container[_ngcontent-%COMP%]:not(.with-sidebar) .yaml-editor-section[_ngcontent-%COMP%]{flex:1}.yaml-editor-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.yaml-editor-section[_ngcontent-%COMP%] aui-code-editor[_ngcontent-%COMP%]{flex:1;height:100%}.yaml-sidebar-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.yaml-sidebar-section[_ngcontent-%COMP%] acl-resource-yaml-sidebar[_ngcontent-%COMP%]{flex:1;height:100%}.yaml-debug-section[_ngcontent-%COMP%]{position:absolute;top:0;right:0;width:350px;height:100%;background:var(--aui-color-bg-container);border-left:1px solid var(--aui-color-border-default);z-index:1000;overflow-y:auto}.debug-panel[_ngcontent-%COMP%]{padding:16px;font-size:12px}.debug-panel[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 12px;font-size:14px;color:var(--aui-color-text-primary)}.debug-panel[_ngcontent-%COMP%] .debug-item[_ngcontent-%COMP%]{margin-bottom:16px}.debug-panel[_ngcontent-%COMP%] .debug-item[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--aui-color-text-primary);display:block;margin-bottom:4px}.debug-panel[_ngcontent-%COMP%] .debug-item[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding-left:16px}.debug-panel[_ngcontent-%COMP%] .debug-item[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:2px;color:var(--aui-color-text-secondary)}.debug-panel[_ngcontent-%COMP%] .debug-actions[_ngcontent-%COMP%]{border-top:1px solid var(--aui-color-border-default);padding-top:12px;text-align:right}@media (width <= 1200px){.yaml-editor-container.with-sidebar[_ngcontent-%COMP%] .yaml-sidebar-section[_ngcontent-%COMP%]{width:350px}}@media (width <= 992px){.yaml-editor-container.with-sidebar[_ngcontent-%COMP%]{flex-direction:column}.yaml-editor-container.with-sidebar[_ngcontent-%COMP%] .yaml-editor-section[_ngcontent-%COMP%]{flex:1;min-height:50%}.yaml-editor-container.with-sidebar[_ngcontent-%COMP%] .yaml-sidebar-section[_ngcontent-%COMP%]{width:100%;height:50%;border-top:1px solid var(--aui-color-border, #e0e0e0);border-left:none}}"], changeDetection: 0 }); }
328
325
  }
329
326
  __decorate([
330
327
  ObservableInput(),
@@ -355,7 +352,7 @@ __decorate([
355
352
  useExisting: forwardRef(() => ResourceYamlEditorComponent),
356
353
  multi: true,
357
354
  },
358
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<aui-card *ngIf=\"hasWrapper; else content\">\n <ng-container *ngTemplateOutlet=\"content\" />\n</aui-card>\n<ng-template #content>\n <div\n class=\"yaml-editor-container\"\n [class.with-sidebar]=\"showSidebar$$ | async\"\n >\n <div class=\"yaml-editor-section\">\n <aui-code-editor\n #codeEditor\n name=\"yaml\"\n [originalValue]=\"originalValue\"\n [(ngModel)]=\"value\"\n [options]=\"options\"\n [actionsConfig]=\"actionsConfig\"\n [modelUri]=\"modelUri\"\n >\n <ng-container auiCodeEditorToolbarRightSide>\n <!-- Schema \u6309\u94AE\uFF1A\u5F53\u542F\u7528\u4FA7\u8FB9\u680F\u65F6\u663E\u793A -->\n <button\n auiButton\n *ngIf=\"sidebarEnable && !!(resource$ | async)\"\n [hidden]=\"!!codeEditor.fullscreenDialog\"\n class=\"aui-code-editor-toolbar__control-button\"\n [type]=\"(showSidebar$$ | async) ? 'primary' : 'text'\"\n [disabled]=\"!(finalSchema$ | async)\"\n size=\"small\"\n (click)=\"toggleSidebar()\"\n [auiTooltip]=\"\n ((showSidebar$$ | async) ? 'hide_sidebar' : 'view_sidebar')\n | translate\n \"\n >\n <aui-icon\n [icon]=\"\n (showSidebar$$ | async)\n ? 'prod:expand_sidebar'\n : 'prod:collapse_sidebar'\n \"\n ></aui-icon>\n </button>\n </ng-container>\n </aui-code-editor>\n </div>\n <div\n class=\"yaml-sidebar-section\"\n *ngIf=\"(showSidebar$$ | async) && (resource$ | async)\"\n >\n <acl-resource-yaml-sidebar\n [resource]=\"getCurrentResource()\"\n [schema]=\"finalSchema$ | async\"\n [schemaEnable]=\"schemaEnable\"\n [exampleEnable]=\"exampleEnable\"\n [extraExamples]=\"extraExamples\"\n (close)=\"toggleSidebar()\"\n (tryYaml)=\"onTryYaml($event)\"\n ></acl-resource-yaml-sidebar>\n </div>\n </div>\n</ng-template>\n", styles: [":host(:not(.dialog-content)){display:block;height:calc(100vh - (var(--acl-page-header-height) + 44px) - 147px)}:host(:not(.dialog-content)) ::ng-deep .aui-code-editor{min-height:100%}:host(:not(.dialog-content))>.aui-card{height:100%}:host(:not(.dialog-content))>.aui-card .aui-card__content,:host(:not(.dialog-content))>.aui-card aui-code-editor,:host(:not(.dialog-content))>.aui-card .aui-code-editor{height:100%;min-height:100%}:host{display:block}:host ::ng-deep aui-card,:host ::ng-deep .aui-card,:host ::ng-deep .aui-card__content{height:100%}:host ::ng-deep .aui-checkbox{margin-right:0}:host aui-code-editor{height:100%}.yaml-editor-container{display:flex;height:100%}.yaml-editor-container.with-sidebar .yaml-editor-section{flex:1;min-width:0}.yaml-editor-container.with-sidebar .yaml-sidebar-section{width:400px;flex-shrink:0}.yaml-editor-container:not(.with-sidebar) .yaml-editor-section{flex:1}.yaml-editor-section{display:flex;flex-direction:column;height:100%}.yaml-editor-section aui-code-editor{flex:1;height:100%}.yaml-sidebar-section{display:flex;flex-direction:column;height:100%}.yaml-sidebar-section acl-resource-yaml-sidebar{flex:1;height:100%}.yaml-debug-section{position:absolute;top:0;right:0;width:350px;height:100%;background:var(--aui-color-bg-container);border-left:1px solid var(--aui-color-border-default);z-index:1000;overflow-y:auto}.debug-panel{padding:16px;font-size:12px}.debug-panel h4{margin:0 0 12px;font-size:14px;color:var(--aui-color-text-primary)}.debug-panel .debug-item{margin-bottom:16px}.debug-panel .debug-item strong{color:var(--aui-color-text-primary);display:block;margin-bottom:4px}.debug-panel .debug-item ul{margin:0;padding-left:16px}.debug-panel .debug-item ul li{margin-bottom:2px;color:var(--aui-color-text-secondary)}.debug-panel .debug-actions{border-top:1px solid var(--aui-color-border-default);padding-top:12px;text-align:right}@media (max-width: 1200px){.yaml-editor-container.with-sidebar .yaml-sidebar-section{width:350px}}@media (max-width: 992px){.yaml-editor-container.with-sidebar{flex-direction:column}.yaml-editor-container.with-sidebar .yaml-editor-section{flex:1;min-height:50%}.yaml-editor-container.with-sidebar .yaml-sidebar-section{width:100%;height:50%;border-top:1px solid var(--aui-color-border, #e0e0e0);border-left:none}}\n"] }]
355
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<aui-card *ngIf=\"hasWrapper; else content\">\n <ng-container *ngTemplateOutlet=\"content\" />\n</aui-card>\n<ng-template #content>\n <div\n class=\"yaml-editor-container\"\n [class.with-sidebar]=\"showSidebar$$ | async\"\n >\n <div class=\"yaml-editor-section\">\n <aui-code-editor\n #codeEditor\n name=\"yaml\"\n [originalValue]=\"originalValue\"\n [(ngModel)]=\"value\"\n [options]=\"options\"\n [actionsConfig]=\"actionsConfig\"\n [modelUri]=\"modelUri\"\n >\n <ng-container auiCodeEditorToolbarRightSide>\n <!-- Schema \u6309\u94AE\uFF1A\u5F53\u542F\u7528\u4FA7\u8FB9\u680F\u65F6\u663E\u793A -->\n <button\n *ngIf=\"sidebarEnable && !!(resource$ | async)\"\n [hidden]=\"!!codeEditor.fullscreenDialog\"\n class=\"aui-code-editor-toolbar__control-button\"\n type=\"button\"\n [disabled]=\"!(finalSchema$ | async)\"\n (click)=\"toggleSidebar()\"\n [auiTooltip]=\"\n ((showSidebar$$ | async) ? 'hide_sidebar' : 'view_sidebar')\n | translate\n \"\n >\n <aui-icon\n [icon]=\"\n (showSidebar$$ | async)\n ? 'prod:expand_sidebar'\n : 'prod:collapse_sidebar'\n \"\n ></aui-icon>\n </button>\n </ng-container>\n </aui-code-editor>\n </div>\n <div\n class=\"yaml-sidebar-section\"\n *ngIf=\"(showSidebar$$ | async) && (resource$ | async)\"\n >\n <acl-resource-yaml-sidebar\n [resource]=\"getCurrentResource()\"\n [schema]=\"finalSchema$ | async\"\n [schemaEnable]=\"schemaEnable\"\n [exampleEnable]=\"exampleEnable\"\n [extraExamples]=\"extraExamples\"\n (close)=\"toggleSidebar()\"\n (tryYaml)=\"onTryYaml($event)\"\n ></acl-resource-yaml-sidebar>\n </div>\n </div>\n</ng-template>\n", styles: [":host(:not(.dialog-content)){display:block;height:calc(100vh - (var(--acl-page-header-height) + 44px) - 147px)}:host(:not(.dialog-content)) ::ng-deep .aui-code-editor{min-height:100%}:host(:not(.dialog-content))>.aui-card{height:100%}:host(:not(.dialog-content))>.aui-card .aui-card__content,:host(:not(.dialog-content))>.aui-card aui-code-editor,:host(:not(.dialog-content))>.aui-card .aui-code-editor{height:100%;min-height:100%}:host{display:block}:host ::ng-deep aui-card,:host ::ng-deep .aui-card,:host ::ng-deep .aui-card__content{height:100%}:host ::ng-deep .aui-checkbox{margin-right:0}:host aui-code-editor{height:100%}.yaml-editor-container{display:flex;height:100%}.yaml-editor-container.with-sidebar .yaml-editor-section{flex:2;min-width:0}.yaml-editor-container.with-sidebar .yaml-sidebar-section{flex:1 0 0%}.yaml-editor-container:not(.with-sidebar) .yaml-editor-section{flex:1}.yaml-editor-section{display:flex;flex-direction:column;height:100%}.yaml-editor-section aui-code-editor{flex:1;height:100%}.yaml-sidebar-section{display:flex;flex-direction:column;height:100%}.yaml-sidebar-section acl-resource-yaml-sidebar{flex:1;height:100%}.yaml-debug-section{position:absolute;top:0;right:0;width:350px;height:100%;background:var(--aui-color-bg-container);border-left:1px solid var(--aui-color-border-default);z-index:1000;overflow-y:auto}.debug-panel{padding:16px;font-size:12px}.debug-panel h4{margin:0 0 12px;font-size:14px;color:var(--aui-color-text-primary)}.debug-panel .debug-item{margin-bottom:16px}.debug-panel .debug-item strong{color:var(--aui-color-text-primary);display:block;margin-bottom:4px}.debug-panel .debug-item ul{margin:0;padding-left:16px}.debug-panel .debug-item ul li{margin-bottom:2px;color:var(--aui-color-text-secondary)}.debug-panel .debug-actions{border-top:1px solid var(--aui-color-border-default);padding-top:12px;text-align:right}@media (width <= 1200px){.yaml-editor-container.with-sidebar .yaml-sidebar-section{width:350px}}@media (width <= 992px){.yaml-editor-container.with-sidebar{flex-direction:column}.yaml-editor-container.with-sidebar .yaml-editor-section{flex:1;min-height:50%}.yaml-editor-container.with-sidebar .yaml-sidebar-section{width:100%;height:50%;border-top:1px solid var(--aui-color-border, #e0e0e0);border-left:none}}\n"] }]
359
356
  }], () => [{ type: i1.YamlUtilService }, { type: i2.KubernetesSchemaService }, { type: i3.MonacoLanguageService }], { codeEditorRef: [{
360
357
  type: ViewChild,
361
358
  args: ['codeEditor', { static: false }]
@@ -389,4 +386,4 @@ __decorate([
389
386
  type: Input
390
387
  }] }); })();
391
388
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ResourceYamlEditorComponent, { className: "ResourceYamlEditorComponent" }); })();
392
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvZGUvcmVzb3VyY2UteWFtbC1lZGl0b3IvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvZGUvcmVzb3VyY2UteWFtbC1lZGl0b3IvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUVoQixxQkFBcUIsR0FDdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNWLGFBQWEsR0FDZCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFVBQVUsRUFDVixHQUFHLEVBQ0gsb0JBQW9CLEVBQ3BCLEVBQUUsRUFDRixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEdBQ1IsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2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WUFJRSxTQUFTLE1BR1QsT0FBTyxNQUdoQixpQkFBaUI7a0JBRGhCLEtBQUs7WUFJTixhQUFhO2tCQURaLEtBQUs7O2tGQWhGSywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb2RlRWRpdG9yTW9kdWxlLFxuICBMYW5ndWFnZVNjaGVtYVNlcnZpY2UsXG4gIE1vbmFjb0xhbmd1YWdlU2VydmljZSxcbn0gZnJvbSAnQGFsYXVkYS9jb2RlLWVkaXRvcic7XG5pbXBvcnQge1xuICBDQVJEX01PRFVMRSxcbiAgQ0hFQ0tCT1hfTU9EVUxFLFxuICBCdXR0b25Nb2R1bGUsXG4gIEljb25Nb2R1bGUsXG4gIFRvb2x0aXBNb2R1bGUsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBmb3J3YXJkUmVmLFxuICBPbkRlc3Ryb3ksXG4gIEFmdGVyVmlld0luaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1zTW9kdWxlLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgeWFtbERlZmF1bHRzIH0gZnJvbSAnbW9uYWNvLXlhbWwnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBPYnNlcnZhYmxlLFxuICBtYXAsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBvZixcbiAgc3dpdGNoTWFwLFxuICBzaGFyZVJlcGxheSxcbiAgdGFrZVVudGlsLFxuICBTdWJqZWN0LFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgS3ViZXJuZXRlc1NjaGVtYVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2t1YmVybmV0ZXMtc2NoZW1hLnNlcnZpY2UnO1xuaW1wb3J0IHsgWWFtbFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy95YW1sLXV0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBBcnJheWFibGUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2hlbHBlcnMnO1xuaW1wb3J0IHsgS3ViZXJuZXRlc1Jlc291cmNlIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9rOHMvY29yZSc7XG5pbXBvcnQgeyBPcGVuQVBJVjNTY2hlbWFPYmplY3QgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3NjaGVtYSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgcHVibGlzaFJlZiB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBhcnNlQWxsLCBzdHJpbmdpZnkgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL3lhbWwnO1xuaW1wb3J0IHsgVFJBTlNMQVRFX01PRFVMRSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS90cmFuc2xhdGUubW9kdWxlJztcbmltcG9ydCB7IHVwZGF0ZUFjdGlvbnMsIHlhbWxXcml0ZU1pbmltYXBPcHRpb25zIH0gZnJvbSAnLi4vY29kZS1lZGl0b3ItY29uZmlncyc7XG5pbXBvcnQge1xuICBmb2xkTWFuYWdlZEZpZWxkcyxcbiAgRWRpdG9ySW5zdGFuY2VQcm92aWRlcixcbn0gZnJvbSAnLi4vbWFuYWdlZC1maWVsZHMtZm9sZGVyLnV0aWwnO1xuaW1wb3J0IHsgUmVzb3VyY2VZYW1sU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4uL3lhbWwtc2lkZWJhci9jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFtbEV4YW1wbGUgfSBmcm9tICcuLi95YW1sLXNpZGViYXIvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcmVzb3VyY2UteWFtbC1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc3R5bGVzLnNjc3MnXSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDQVJEX01PRFVMRSxcbiAgICBOZ0lmLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIENIRUNLQk9YX01PRFVMRSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgQ29kZUVkaXRvck1vZHVsZSxcbiAgICBUUkFOU0xBVEVfTU9EVUxFLFxuICAgIEFzeW5jUGlwZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFJlc291cmNlWWFtbFNpZGViYXJDb21wb25lbnQsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJlc291cmNlWWFtbEVkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VZYW1sRWRpdG9yQ29tcG9uZW50PFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+XG4gIGltcGxlbWVudHNcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgRWRpdG9ySW5zdGFuY2VQcm92aWRlcixcbiAgICBBZnRlclZpZXdJbml0XG57XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuICBwcml2YXRlIF9vcmlnaW5hbFZhbHVlID0gJyc7XG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoX3ZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAvLyBQbGFjZWhvbGRlciBmb3IgZm9ybSBjb250cm9sIGNoYW5nZSBjYWxsYmFja1xuICB9O1xuXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge1xuICAgIC8vIFBsYWNlaG9sZGVyIGZvciBmb3JtIGNvbnRyb2wgdG91Y2hlZCBjYWxsYmFja1xuICB9O1xuXG4gIHNob3dTaWRlYmFyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuICBzaG93RGVidWdQYW5lbCQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcblxuICBtb2RlbFVyaTogc3RyaW5nO1xuICBwcml2YXRlIHlhbWxTY2hlbWFTZXJ2aWNlOiBMYW5ndWFnZVNjaGVtYVNlcnZpY2U7XG4gIHByaXZhdGUgbW9uYWNvRWRpdG9yOiBhbnkgPSBudWxsO1xuICBwcml2YXRlIHJlZ2lzdGVyZWRTY2hlbWFzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgQFZpZXdDaGlsZCgnY29kZUVkaXRvcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwcml2YXRlIGNvZGVFZGl0b3JSZWY6IGFueTtcblxuICBASW5wdXQoKVxuICBoYXNXcmFwcGVyID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBzaG93RGVidWdJbmZvID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2lkZWJhckVuYWJsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2NoZW1hOiBPcGVuQVBJVjNTY2hlbWFPYmplY3Q7XG5cbiAgQElucHV0KClcbiAgc2NoZW1hRW5hYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBleGFtcGxlRW5hYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZTogQXJyYXlhYmxlPFQ+O1xuXG4gIEBJbnB1dCgpXG4gIGF1dG9Gb2xkTWFuYWdlZEZpZWxkcyA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2V0IG9yaWdpbmFsVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX29yaWdpbmFsVmFsdWUgPSB2YWx1ZSB8fCAnJztcbiAgfVxuXG4gIGdldCBvcmlnaW5hbFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX29yaWdpbmFsVmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBvcHRpb25zID0geWFtbFdyaXRlTWluaW1hcE9wdGlvbnM7XG5cbiAgQElucHV0KClcbiAgYWN0aW9uc0NvbmZpZyA9IHVwZGF0ZUFjdGlvbnM7XG5cbiAgQE91dHB1dCgpXG4gIHRyeVlhbWwgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVhZG9ubHkgcmVzb3VyY2UkITogT2JzZXJ2YWJsZTxBcnJheWFibGU8VD4+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICByZWFkb25seSBzY2hlbWEkITogT2JzZXJ2YWJsZTxPcGVuQVBJVjNTY2hlbWFPYmplY3Q+O1xuXG4gIEBJbnB1dCgpXG4gIGF1dG9GaWxsTmFtZXNwYWNlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBleHRyYUV4YW1wbGVzOiBZYW1sRXhhbXBsZVtdO1xuXG4gIGhhc0ZvbGRlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiDoh6rliqjojrflj5bnmoQgc2NoZW1h77yM5b2T5rKh5pyJ5omL5Yqo5o+Q5L6bIHNjaGVtYSDml7bkvb/nlKhcbiAgICovXG4gIGF1dG9TY2hlbWEkID0gdGhpcy5yZXNvdXJjZSQucGlwZShcbiAgICBzd2l0Y2hNYXAocmVzb3VyY2UgPT4ge1xuICAgICAgaWYgKCFyZXNvdXJjZSkge1xuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpcnN0UmVzb3VyY2UgPSAoXG4gICAgICAgIEFycmF5LmlzQXJyYXkocmVzb3VyY2UpID8gcmVzb3VyY2VbMF0gOiByZXNvdXJjZVxuICAgICAgKSBhcyBUO1xuICAgICAgaWYgKCFmaXJzdFJlc291cmNlPy5hcGlWZXJzaW9uIHx8ICFmaXJzdFJlc291cmNlPy5raW5kKSB7XG4gICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuc2NoZW1hU2VydmljZS5nZXRSZXNvdXJjZVNjaGVtYShcbiAgICAgICAgZmlyc3RSZXNvdXJjZS5hcGlWZXJzaW9uLFxuICAgICAgICBmaXJzdFJlc291cmNlLmtpbmQsXG4gICAgICApO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICAvKipcbiAgICog5pyA57uI5L2/55So55qEIHNjaGVtYe+8jOS8mOWFiOS9v+eUqOaJi+WKqOaPkOS+m+eahO+8jOWQpuWImeS9v+eUqOiHquWKqOiOt+WPlueahFxuICAgKi9cbiAgZmluYWxTY2hlbWEkID0gY29tYmluZUxhdGVzdChbdGhpcy5zY2hlbWEkLCB0aGlzLmF1dG9TY2hlbWEkXSkucGlwZShcbiAgICBtYXAoKFttYW51YWxTY2hlbWEsIGF1dG9TY2hlbWFdKSA9PiBtYW51YWxTY2hlbWEgfHwgYXV0b1NjaGVtYSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKSxcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgeWFtbFV0aWw6IFlhbWxVdGlsU2VydmljZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2NoZW1hU2VydmljZTogS3ViZXJuZXRlc1NjaGVtYVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb25hY29MYW5ndWFnZVNlcnZpY2U6IE1vbmFjb0xhbmd1YWdlU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy55YW1sU2NoZW1hU2VydmljZSA9XG4gICAgICB0aGlzLm1vbmFjb0xhbmd1YWdlU2VydmljZS5nZXRMYW5ndWFnZVNjaGVtYVNlcnZpY2UoXG4gICAgICAgIFsneWFtbCcsICd5YW1sRGVmYXVsdHMnXSxcbiAgICAgICAgeWFtbERlZmF1bHRzLFxuICAgICAgKTtcblxuICAgIC8vIOiHquWKqOiuvue9riBzY2hlbWFcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnJlc291cmNlJCwgdGhpcy5maW5hbFNjaGVtYSRdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoW3Jlc291cmNlLCBzY2hlbWFdKSA9PiB7XG4gICAgICAgIGlmIChyZXNvdXJjZSAmJiBzY2hlbWEpIHtcbiAgICAgICAgICBjb25zdCBmaXJzdFJlc291cmNlID0gQXJyYXkuaXNBcnJheShyZXNvdXJjZSlcbiAgICAgICAgICAgID8gcmVzb3VyY2VbMF1cbiAgICAgICAgICAgIDogcmVzb3VyY2U7XG4gICAgICAgICAgaWYgKGZpcnN0UmVzb3VyY2UgJiYgIUFycmF5LmlzQXJyYXkoZmlyc3RSZXNvdXJjZSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0WWFtbFNjaGVtYShmaXJzdFJlc291cmNlIGFzIFQsIHNjaGVtYSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuYXV0b1NjaGVtYSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8vIOebkeWQrCBZQU1MIOWGheWuueWPmOWMlu+8jOiHquWKqOaKmOWPoCBtYW5hZ2VkRmllbGRzXG4gICAgaWYgKHRoaXMuYXV0b0ZvbGRNYW5hZ2VkRmllbGRzICYmIHRoaXMuc2NoZW1hU2VydmljZS5kZWZpbml0aW9ucykge1xuICAgICAgdGhpcy5zZWxmRm9sZE1hbmFnZWRGaWVsZHMoKTtcbiAgICB9XG4gIH1cblxuICBzZWxmRm9sZE1hbmFnZWRGaWVsZHMoKSB7XG4gICAgaWYgKHRoaXMuaGFzRm9sZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaGFzRm9sZGVkID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IGVkaXRvciA9IHRoaXMuZ2V0RWRpdG9ySW5zdGFuY2UoKTtcbiAgICAgIGlmIChlZGl0b3IpIHtcbiAgICAgICAgZm9sZE1hbmFnZWRGaWVsZHMoZWRpdG9yKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZSh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsO1xuICAgIHRoaXMub25DaGFuZ2UodmFsKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50YXRpb25cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZSB8fCAnJztcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgdG9nZ2xlU2lkZWJhcigpIHtcbiAgICB0aGlzLnNob3dTaWRlYmFyJCQubmV4dCghdGhpcy5zaG93U2lkZWJhciQkLnZhbHVlKTtcbiAgfVxuXG4gIHRvZ2dsZURlYnVnSW5mbygpIHtcbiAgICB0aGlzLnNob3dEZWJ1Z1BhbmVsJCQubmV4dCghdGhpcy5zaG93RGVidWdQYW5lbCQkLnZhbHVlKTtcbiAgfVxuXG4gIGdldEN1cnJlbnRSZXNvdXJjZSgpOiBUIHwgbnVsbCB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSB0aGlzLnJlc291cmNlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHJlc291cmNlKSkge1xuICAgICAgcmV0dXJuIHJlc291cmNlLmxlbmd0aCA+IDAgPyByZXNvdXJjZVswXSA6IG51bGw7XG4gICAgfVxuICAgIHJldHVybiAocmVzb3VyY2UgYXMgVCkgfHwgbnVsbDtcbiAgfVxuXG4gIGdldEN1cnJlbnRTY2hlbWEoKTogT3BlbkFQSVYzU2NoZW1hT2JqZWN0IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc2NoZW1hIHx8IG51bGw7XG4gIH1cblxuICBnZXREZWJ1Z0luZm8oKSB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSB0aGlzLmdldEN1cnJlbnRSZXNvdXJjZSgpO1xuICAgIHJldHVybiB7XG4gICAgICBoYXNSZXNvdXJjZTogISFyZXNvdXJjZSxcbiAgICAgIHJlc291cmNlQXBpVmVyc2lvbjogcmVzb3VyY2U/LmFwaVZlcnNpb24sXG4gICAgICByZXNvdXJjZUtpbmQ6IHJlc291cmNlPy5raW5kLFxuICAgICAgaGFzTWFudWFsU2NoZW1hOiAhIXRoaXMuc2NoZW1hLFxuICAgICAgd29ya3NwYWNlSGVscGVyQXZhaWxhYmxlOiB0aGlzLnNjaGVtYVNlcnZpY2UuaXNXb3Jrc3BhY2VIZWxwZXJBdmFpbGFibGUoKSxcbiAgICAgIGN1cnJlbnRXb3Jrc3BhY2U6IHRoaXMuc2NoZW1hU2VydmljZS53b3Jrc3BhY2VIZWxwZXI/LmJhc2VQYXJhbXNTbmFwc2hvdCxcbiAgICB9O1xuICB9XG5cbiAgb25UcnlZYW1sKHlhbWxDb250ZW50OiBzdHJpbmcpIHtcbiAgICBsZXQgdGFyZ2V0WWFtbCA9IHlhbWxDb250ZW50O1xuXG4gICAgY29uc3QgbmFtZXNwYWNlID1cbiAgICAgIHRoaXMuc2NoZW1hU2VydmljZS53b3Jrc3BhY2VIZWxwZXI/LmJhc2VQYXJhbXNTbmFwc2hvdD8ubmFtZXNwYWNlO1xuXG4gICAgaWYgKHRoaXMuYXV0b0ZpbGxOYW1lc3BhY2UgJiYgbmFtZXNwYWNlKSB7XG4gICAgICB0YXJnZXRZYW1sID0gcGFyc2VBbGwoeWFtbENvbnRlbnQpXG4gICAgICAgIC5maWx0ZXIociA9PiAhIXIpXG4gICAgICAgIC5tYXAoKHI6IEt1YmVybmV0ZXNSZXNvdXJjZSkgPT4ge1xuICAgICAgICAgIGlmICghcj8ubWV0YWRhdGE/Lm5hbWVzcGFjZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4ucixcbiAgICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgICAuLi5yLm1ldGFkYXRhLFxuICAgICAgICAgICAgICAgIG5hbWVzcGFjZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByO1xuICAgICAgICB9KVxuICAgICAgICAubWFwKHIgPT4gc3RyaW5naWZ5KHIsIHsgc29ydE1hcEVudHJpZXM6IHRydWUgfSkpXG4gICAgICAgIC5qb2luKCctLS1cXHJcXG4nKTtcbiAgICB9XG5cbiAgICB0aGlzLnRyeVlhbWwuZW1pdCh0YXJnZXRZYW1sKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDorr7nva4gWUFNTCBzY2hlbWEg5Lul5o+Q5L6bIGhvdmVyIOaPkOekuuWSjOiHquWKqOWujOaIkFxuICAgKi9cbiAgc2V0WWFtbFNjaGVtYShyZXNvdXJjZTogVCwgc2NoZW1hOiBPcGVuQVBJVjNTY2hlbWFPYmplY3QpIHtcbiAgICBpZiAoIXNjaGVtYSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIOS9v+eUqCBhcGlWZXJzaW9uICsga2luZCDnu4TlkIjkvZzkuLrmoIfor4ZcbiAgICBjb25zdCBhcGlWZXJzaW9uID0gcmVzb3VyY2U/LmFwaVZlcnNpb24gfHwgJ3Vua25vd24nO1xuICAgIGNvbnN0IGtpbmQgPSByZXNvdXJjZT8ua2luZCB8fCAndW5rbm93bic7XG4gICAgY29uc3Qgc2NoZW1hS2V5ID0gYCR7YXBpVmVyc2lvbn0vJHtraW5kfWA7XG5cbiAgICB0aGlzLm1vZGVsVXJpID0gYCR7c2NoZW1hS2V5fS55YW1sYDtcblxuICAgIHRoaXMuc2VsZkZvbGRNYW5hZ2VkRmllbGRzKCk7XG5cbiAgICAvLyDmo4Dmn6XmmK/lkKblt7Lnu4/ms6jlhozov4fnm7jlkIznmoQgc2NoZW1h77yM6YG/5YWN6YeN5aSN5rOo5YaMXG4gICAgaWYgKHRoaXMucmVnaXN0ZXJlZFNjaGVtYXMuaGFzKHNjaGVtYUtleSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyDojrflj5blrozmlbTnmoQgZGVmaW5pdGlvbnMg5Lul5pSv5oyBICRyZWYg5byV55SoXG4gICAgY29uc3QgZGVmaW5pdGlvbnMgPSB0aGlzLnNjaGVtYVNlcnZpY2UuZGVmaW5pdGlvbnMgfHwge307XG5cbiAgICAvLyDliJvlu7rljIXlkKvlrozmlbQgZGVmaW5pdGlvbnMg55qEIHNjaGVtYSDlr7nosaFcbiAgICBjb25zdCBmdWxsU2NoZW1hID0ge1xuICAgICAgLi4uc2NoZW1hLFxuICAgICAgZGVmaW5pdGlvbnMsXG4gICAgfTtcblxuICAgIC8vIOehruS/nXNjaGVtYeiiq+ato+ehruazqOWGjO+8jOW5tuWQr+eUqOiHquWKqOWujOaIkOWKn+iDvVxuICAgIHRoaXMueWFtbFNjaGVtYVNlcnZpY2UuYWRkU2NoZW1hKHtcbiAgICAgIHVyaTogYGs4czovLyR7c2NoZW1hS2V5fS5zY2hlbWEuanNvbmAsXG4gICAgICBmaWxlTWF0Y2g6IFt0aGlzLm1vZGVsVXJpXSxcbiAgICAgIHNjaGVtYTogZnVsbFNjaGVtYSxcbiAgICB9KTtcblxuICAgIHRoaXMucmVnaXN0ZXJlZFNjaGVtYXMuYWRkKHNjaGVtYUtleSk7XG4gIH1cblxuICAvKipcbiAgICog6I635Y+WIE1vbmFjbyDnvJbovpHlmajlrp7kvotcbiAgICovXG4gIGdldEVkaXRvckluc3RhbmNlKCk6XG4gICAgfCBpbXBvcnQoJ21vbmFjby1lZGl0b3InKS5lZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yXG4gICAgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMubW9uYWNvRWRpdG9yICYmIHRoaXMuY29kZUVkaXRvclJlZj8uZWRpdG9yKSB7XG4gICAgICB0aGlzLm1vbmFjb0VkaXRvciA9IHRoaXMuY29kZUVkaXRvclJlZi5lZGl0b3I7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1vbmFjb0VkaXRvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiDmiYvliqjmipjlj6AgbWFuYWdlZEZpZWxkc1xuICAgKi9cbiAgZm9sZE1hbmFnZWRGaWVsZHMoKTogdm9pZCB7XG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5nZXRFZGl0b3JJbnN0YW5jZSgpO1xuICAgIGlmIChlZGl0b3IpIHtcbiAgICAgIGZvbGRNYW5hZ2VkRmllbGRzKGVkaXRvcik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8YXVpLWNhcmQgKm5nSWY9XCJoYXNXcmFwcGVyOyBlbHNlIGNvbnRlbnRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIiAvPlxuPC9hdWktY2FyZD5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgPGRpdlxuICAgIGNsYXNzPVwieWFtbC1lZGl0b3ItY29udGFpbmVyXCJcbiAgICBbY2xhc3Mud2l0aC1zaWRlYmFyXT1cInNob3dTaWRlYmFyJCQgfCBhc3luY1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwieWFtbC1lZGl0b3Itc2VjdGlvblwiPlxuICAgICAgPGF1aS1jb2RlLWVkaXRvclxuICAgICAgICAjY29kZUVkaXRvclxuICAgICAgICBuYW1lPVwieWFtbFwiXG4gICAgICAgIFtvcmlnaW5hbFZhbHVlXT1cIm9yaWdpbmFsVmFsdWVcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgICAgIFthY3Rpb25zQ29uZmlnXT1cImFjdGlvbnNDb25maWdcIlxuICAgICAgICBbbW9kZWxVcmldPVwibW9kZWxVcmlcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyIGF1aUNvZGVFZGl0b3JUb29sYmFyUmlnaHRTaWRlPlxuICAgICAgICAgIDwhLS0gU2NoZW1hIOaMiemSru+8muW9k+WQr+eUqOS+p+i+ueagj+aXtuaYvuekuiAtLT5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhdWlCdXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwic2lkZWJhckVuYWJsZSAmJiAhIShyZXNvdXJjZSQgfCBhc3luYylcIlxuICAgICAgICAgICAgW2hpZGRlbl09XCIhIWNvZGVFZGl0b3IuZnVsbHNjcmVlbkRpYWxvZ1wiXG4gICAgICAgICAgICBjbGFzcz1cImF1aS1jb2RlLWVkaXRvci10b29sYmFyX19jb250cm9sLWJ1dHRvblwiXG4gICAgICAgICAgICBbdHlwZV09XCIoc2hvd1NpZGViYXIkJCB8IGFzeW5jKSA/ICdwcmltYXJ5JyA6ICd0ZXh0J1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIShmaW5hbFNjaGVtYSQgfCBhc3luYylcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTaWRlYmFyKClcIlxuICAgICAgICAgICAgW2F1aVRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICgoc2hvd1NpZGViYXIkJCB8IGFzeW5jKSA/ICdoaWRlX3NpZGViYXInIDogJ3ZpZXdfc2lkZWJhcicpXG4gICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgICAgIFtpY29uXT1cIlxuICAgICAgICAgICAgICAgIChzaG93U2lkZWJhciQkIHwgYXN5bmMpXG4gICAgICAgICAgICAgICAgICA/ICdwcm9kOmV4cGFuZF9zaWRlYmFyJ1xuICAgICAgICAgICAgICAgICAgOiAncHJvZDpjb2xsYXBzZV9zaWRlYmFyJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9hdWktY29kZS1lZGl0b3I+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ5YW1sLXNpZGViYXItc2VjdGlvblwiXG4gICAgICAqbmdJZj1cIihzaG93U2lkZWJhciQkIHwgYXN5bmMpICYmIChyZXNvdXJjZSQgfCBhc3luYylcIlxuICAgID5cbiAgICAgIDxhY2wtcmVzb3VyY2UteWFtbC1zaWRlYmFyXG4gICAgICAgIFtyZXNvdXJjZV09XCJnZXRDdXJyZW50UmVzb3VyY2UoKVwiXG4gICAgICAgIFtzY2hlbWFdPVwiZmluYWxTY2hlbWEkIHwgYXN5bmNcIlxuICAgICAgICBbc2NoZW1hRW5hYmxlXT1cInNjaGVtYUVuYWJsZVwiXG4gICAgICAgIFtleGFtcGxlRW5hYmxlXT1cImV4YW1wbGVFbmFibGVcIlxuICAgICAgICBbZXh0cmFFeGFtcGxlc109XCJleHRyYUV4YW1wbGVzXCJcbiAgICAgICAgKGNsb3NlKT1cInRvZ2dsZVNpZGViYXIoKVwiXG4gICAgICAgICh0cnlZYW1sKT1cIm9uVHJ5WWFtbCgkZXZlbnQpXCJcbiAgICAgID48L2FjbC1yZXNvdXJjZS15YW1sLXNpZGViYXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
389
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvZGUvcmVzb3VyY2UteWFtbC1lZGl0b3IvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvZGUvcmVzb3VyY2UteWFtbC1lZGl0b3IvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUVoQixxQkFBcUIsR0FDdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNWLGFBQWEsR0FDZCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFVBQVUsRUFDVixHQUFHLEVBQ0gsb0JBQW9CLEVBQ3BCLEVBQUUsRUFDRixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEdBQ1IsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFNeEUsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1Ys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QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvZGVFZGl0b3JNb2R1bGUsXG4gIExhbmd1YWdlU2NoZW1hU2VydmljZSxcbiAgTW9uYWNvTGFuZ3VhZ2VTZXJ2aWNlLFxufSBmcm9tICdAYWxhdWRhL2NvZGUtZWRpdG9yJztcbmltcG9ydCB7XG4gIENBUkRfTU9EVUxFLFxuICBDSEVDS0JPWF9NT0RVTEUsXG4gIEJ1dHRvbk1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgVG9vbHRpcE1vZHVsZSxcbn0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIGZvcndhcmRSZWYsXG4gIE9uRGVzdHJveSxcbiAgQWZ0ZXJWaWV3SW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybXNNb2R1bGUsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB5YW1sRGVmYXVsdHMgfSBmcm9tICdtb25hY28teWFtbCc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIE9ic2VydmFibGUsXG4gIG1hcCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG9mLFxuICBzd2l0Y2hNYXAsXG4gIHNoYXJlUmVwbGF5LFxuICB0YWtlVW50aWwsXG4gIFN1YmplY3QsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBLdWJlcm5ldGVzU2NoZW1hU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMva3ViZXJuZXRlcy1zY2hlbWEuc2VydmljZSc7XG5pbXBvcnQgeyBZYW1sVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3lhbWwtdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEFycmF5YWJsZSB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvaGVscGVycyc7XG5pbXBvcnQge1xuICBLdWJlcm5ldGVzUmVzb3VyY2UsXG4gIE9wZW5BUElWM1NjaGVtYU9iamVjdCxcbn0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9wdWJsaWMtYXBpJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGVJbnB1dCxcbiAgcHVibGlzaFJlZixcbiAgcGFyc2VBbGwsXG4gIHN0cmluZ2lmeSxcbn0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFRSQU5TTEFURV9NT0RVTEUgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvdHJhbnNsYXRlLm1vZHVsZSc7XG5pbXBvcnQgeyB1cGRhdGVBY3Rpb25zLCB5YW1sV3JpdGVNaW5pbWFwT3B0aW9ucyB9IGZyb20gJy4uL2NvZGUtZWRpdG9yLWNvbmZpZ3MnO1xuaW1wb3J0IHtcbiAgZm9sZE1hbmFnZWRGaWVsZHMsXG4gIEVkaXRvckluc3RhbmNlUHJvdmlkZXIsXG59IGZyb20gJy4uL21hbmFnZWQtZmllbGRzLWZvbGRlci51dGlsJztcbmltcG9ydCB7IFJlc291cmNlWWFtbFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi95YW1sLXNpZGViYXIvY29tcG9uZW50JztcbmltcG9ydCB7IFlhbWxFeGFtcGxlIH0gZnJvbSAnLi4veWFtbC1zaWRlYmFyL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXJlc291cmNlLXlhbWwtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlcy5zY3NzJ10sXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ0FSRF9NT0RVTEUsXG4gICAgTmdJZixcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDSEVDS0JPWF9NT0RVTEUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIENvZGVFZGl0b3JNb2R1bGUsXG4gICAgVFJBTlNMQVRFX01PRFVMRSxcbiAgICBBc3luY1BpcGUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBSZXNvdXJjZVlhbWxTaWRlYmFyQ29tcG9uZW50LFxuICAgIEljb25Nb2R1bGUsXG4gICAgVG9vbHRpcE1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSZXNvdXJjZVlhbWxFZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlWWFtbEVkaXRvckNvbXBvbmVudDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPlxuICBpbXBsZW1lbnRzXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgT25EZXN0cm95LFxuICAgIEVkaXRvckluc3RhbmNlUHJvdmlkZXIsXG4gICAgQWZ0ZXJWaWV3SW5pdFxue1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfdmFsdWUgPSAnJztcbiAgcHJpdmF0ZSBfb3JpZ2luYWxWYWx1ZSA9ICcnO1xuICBwcml2YXRlIG9uQ2hhbmdlID0gKF92YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgLy8gUGxhY2Vob2xkZXIgZm9yIGZvcm0gY29udHJvbCBjaGFuZ2UgY2FsbGJhY2tcbiAgfTtcblxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHtcbiAgICAvLyBQbGFjZWhvbGRlciBmb3IgZm9ybSBjb250cm9sIHRvdWNoZWQgY2FsbGJhY2tcbiAgfTtcblxuICBzaG93U2lkZWJhciQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgc2hvd0RlYnVnUGFuZWwkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XG5cbiAgbW9kZWxVcmk6IHN0cmluZztcbiAgcHJpdmF0ZSB5YW1sU2NoZW1hU2VydmljZTogTGFuZ3VhZ2VTY2hlbWFTZXJ2aWNlO1xuICBwcml2YXRlIG1vbmFjb0VkaXRvcjogYW55ID0gbnVsbDtcbiAgcHJpdmF0ZSByZWdpc3RlcmVkU2NoZW1hcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvZGVFZGl0b3InLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHJpdmF0ZSBjb2RlRWRpdG9yUmVmOiBhbnk7XG5cbiAgQElucHV0KClcbiAgaGFzV3JhcHBlciA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2hvd0RlYnVnSW5mbyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNpZGViYXJFbmFibGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHNjaGVtYTogT3BlbkFQSVYzU2NoZW1hT2JqZWN0O1xuXG4gIEBJbnB1dCgpXG4gIHNjaGVtYUVuYWJsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZXhhbXBsZUVuYWJsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcmVzb3VyY2U6IEFycmF5YWJsZTxUPjtcblxuICBASW5wdXQoKVxuICBhdXRvRm9sZE1hbmFnZWRGaWVsZHMgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBvcmlnaW5hbFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9vcmlnaW5hbFZhbHVlID0gdmFsdWUgfHwgJyc7XG4gIH1cblxuICBnZXQgb3JpZ2luYWxWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9vcmlnaW5hbFZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgb3B0aW9ucyA9IHlhbWxXcml0ZU1pbmltYXBPcHRpb25zO1xuXG4gIEBJbnB1dCgpXG4gIGFjdGlvbnNDb25maWcgPSB1cGRhdGVBY3Rpb25zO1xuXG4gIEBPdXRwdXQoKVxuICB0cnlZYW1sID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIHJlYWRvbmx5IHJlc291cmNlJCE6IE9ic2VydmFibGU8QXJyYXlhYmxlPFQ+PjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVhZG9ubHkgc2NoZW1hJCE6IE9ic2VydmFibGU8T3BlbkFQSVYzU2NoZW1hT2JqZWN0PjtcblxuICBASW5wdXQoKVxuICBhdXRvRmlsbE5hbWVzcGFjZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZXh0cmFFeGFtcGxlczogWWFtbEV4YW1wbGVbXTtcblxuICBoYXNGb2xkZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICog6Ieq5Yqo6I635Y+W55qEIHNjaGVtYe+8jOW9k+ayoeacieaJi+WKqOaPkOS+myBzY2hlbWEg5pe25L2/55SoXG4gICAqL1xuICBhdXRvU2NoZW1hJCA9IHRoaXMucmVzb3VyY2UkLnBpcGUoXG4gICAgc3dpdGNoTWFwKHJlc291cmNlID0+IHtcbiAgICAgIGlmICghcmVzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmaXJzdFJlc291cmNlID0gKFxuICAgICAgICBBcnJheS5pc0FycmF5KHJlc291cmNlKSA/IHJlc291cmNlWzBdIDogcmVzb3VyY2VcbiAgICAgICkgYXMgVDtcbiAgICAgIGlmICghZmlyc3RSZXNvdXJjZT8uYXBpVmVyc2lvbiB8fCAhZmlyc3RSZXNvdXJjZT8ua2luZCkge1xuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLnNjaGVtYVNlcnZpY2UuZ2V0UmVzb3VyY2VTY2hlbWEoXG4gICAgICAgIGZpcnN0UmVzb3VyY2UuYXBpVmVyc2lvbixcbiAgICAgICAgZmlyc3RSZXNvdXJjZS5raW5kLFxuICAgICAgKTtcbiAgICB9KSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgLyoqXG4gICAqIOacgOe7iOS9v+eUqOeahCBzY2hlbWHvvIzkvJjlhYjkvb/nlKjmiYvliqjmj5DkvpvnmoTvvIzlkKbliJnkvb/nlKjoh6rliqjojrflj5bnmoRcbiAgICovXG4gIGZpbmFsU2NoZW1hJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc2NoZW1hJCwgdGhpcy5hdXRvU2NoZW1hJF0pLnBpcGUoXG4gICAgbWFwKChbbWFudWFsU2NoZW1hLCBhdXRvU2NoZW1hXSkgPT4gbWFudWFsU2NoZW1hIHx8IGF1dG9TY2hlbWEpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSksXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHlhbWxVdGlsOiBZYW1sVXRpbFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHNjaGVtYVNlcnZpY2U6IEt1YmVybmV0ZXNTY2hlbWFTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9uYWNvTGFuZ3VhZ2VTZXJ2aWNlOiBNb25hY29MYW5ndWFnZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMueWFtbFNjaGVtYVNlcnZpY2UgPVxuICAgICAgdGhpcy5tb25hY29MYW5ndWFnZVNlcnZpY2UuZ2V0TGFuZ3VhZ2VTY2hlbWFTZXJ2aWNlKFxuICAgICAgICBbJ3lhbWwnLCAneWFtbERlZmF1bHRzJ10sXG4gICAgICAgIHlhbWxEZWZhdWx0cyxcbiAgICAgICk7XG5cbiAgICAvLyDoh6rliqjorr7nva4gc2NoZW1hXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5yZXNvdXJjZSQsIHRoaXMuZmluYWxTY2hlbWEkXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtyZXNvdXJjZSwgc2NoZW1hXSkgPT4ge1xuICAgICAgICBpZiAocmVzb3VyY2UgJiYgc2NoZW1hKSB7XG4gICAgICAgICAgY29uc3QgZmlyc3RSZXNvdXJjZSA9IEFycmF5LmlzQXJyYXkocmVzb3VyY2UpXG4gICAgICAgICAgICA/IHJlc291cmNlWzBdXG4gICAgICAgICAgICA6IHJlc291cmNlO1xuICAgICAgICAgIGlmIChmaXJzdFJlc291cmNlICYmICFBcnJheS5pc0FycmF5KGZpcnN0UmVzb3VyY2UpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFlhbWxTY2hlbWEoZmlyc3RSZXNvdXJjZSBhcyBULCBzY2hlbWEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmF1dG9TY2hlbWEkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyDnm5HlkKwgWUFNTCDlhoXlrrnlj5jljJbvvIzoh6rliqjmipjlj6AgbWFuYWdlZEZpZWxkc1xuICAgIGlmICh0aGlzLmF1dG9Gb2xkTWFuYWdlZEZpZWxkcyAmJiB0aGlzLnNjaGVtYVNlcnZpY2UuZGVmaW5pdGlvbnMpIHtcbiAgICAgIHRoaXMuc2VsZkZvbGRNYW5hZ2VkRmllbGRzKCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZkZvbGRNYW5hZ2VkRmllbGRzKCkge1xuICAgIGlmICh0aGlzLmhhc0ZvbGRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmhhc0ZvbGRlZCA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBlZGl0b3IgPSB0aGlzLmdldEVkaXRvckluc3RhbmNlKCk7XG4gICAgICBpZiAoZWRpdG9yKSB7XG4gICAgICAgIGZvbGRNYW5hZ2VkRmllbGRzKGVkaXRvcik7XG4gICAgICB9XG4gICAgfSwgMCk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWUgfHwgJyc7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHRvZ2dsZVNpZGViYXIoKSB7XG4gICAgdGhpcy5zaG93U2lkZWJhciQkLm5leHQoIXRoaXMuc2hvd1NpZGViYXIkJC52YWx1ZSk7XG4gIH1cblxuICB0b2dnbGVEZWJ1Z0luZm8oKSB7XG4gICAgdGhpcy5zaG93RGVidWdQYW5lbCQkLm5leHQoIXRoaXMuc2hvd0RlYnVnUGFuZWwkJC52YWx1ZSk7XG4gIH1cblxuICBnZXRDdXJyZW50UmVzb3VyY2UoKTogVCB8IG51bGwge1xuICAgIGNvbnN0IHJlc291cmNlID0gdGhpcy5yZXNvdXJjZTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZXNvdXJjZSkpIHtcbiAgICAgIHJldHVybiByZXNvdXJjZS5sZW5ndGggPiAwID8gcmVzb3VyY2VbMF0gOiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gKHJlc291cmNlIGFzIFQpIHx8IG51bGw7XG4gIH1cblxuICBnZXRDdXJyZW50U2NoZW1hKCk6IE9wZW5BUElWM1NjaGVtYU9iamVjdCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNjaGVtYSB8fCBudWxsO1xuICB9XG5cbiAgZ2V0RGVidWdJbmZvKCkge1xuICAgIGNvbnN0IHJlc291cmNlID0gdGhpcy5nZXRDdXJyZW50UmVzb3VyY2UoKTtcbiAgICByZXR1cm4ge1xuICAgICAgaGFzUmVzb3VyY2U6ICEhcmVzb3VyY2UsXG4gICAgICByZXNvdXJjZUFwaVZlcnNpb246IHJlc291cmNlPy5hcGlWZXJzaW9uLFxuICAgICAgcmVzb3VyY2VLaW5kOiByZXNvdXJjZT8ua2luZCxcbiAgICAgIGhhc01hbnVhbFNjaGVtYTogISF0aGlzLnNjaGVtYSxcbiAgICAgIHdvcmtzcGFjZUhlbHBlckF2YWlsYWJsZTogdGhpcy5zY2hlbWFTZXJ2aWNlLmlzV29ya3NwYWNlSGVscGVyQXZhaWxhYmxlKCksXG4gICAgICBjdXJyZW50V29ya3NwYWNlOiB0aGlzLnNjaGVtYVNlcnZpY2Uud29ya3NwYWNlSGVscGVyPy5iYXNlUGFyYW1zU25hcHNob3QsXG4gICAgfTtcbiAgfVxuXG4gIG9uVHJ5WWFtbCh5YW1sQ29udGVudDogc3RyaW5nKSB7XG4gICAgbGV0IHRhcmdldFlhbWwgPSB5YW1sQ29udGVudDtcblxuICAgIGNvbnN0IG5hbWVzcGFjZSA9XG4gICAgICB0aGlzLnNjaGVtYVNlcnZpY2Uud29ya3NwYWNlSGVscGVyPy5iYXNlUGFyYW1zU25hcHNob3Q/Lm5hbWVzcGFjZTtcblxuICAgIGlmICh0aGlzLmF1dG9GaWxsTmFtZXNwYWNlICYmIG5hbWVzcGFjZSkge1xuICAgICAgdGFyZ2V0WWFtbCA9IHBhcnNlQWxsKHlhbWxDb250ZW50KVxuICAgICAgICAuZmlsdGVyKHIgPT4gISFyKVxuICAgICAgICAubWFwKChyOiBLdWJlcm5ldGVzUmVzb3VyY2UpID0+IHtcbiAgICAgICAgICBpZiAoIXI/Lm1ldGFkYXRhPy5uYW1lc3BhY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnIsXG4gICAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgLi4uci5tZXRhZGF0YSxcbiAgICAgICAgICAgICAgICBuYW1lc3BhY2UsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgfSlcbiAgICAgICAgLm1hcChyID0+IHN0cmluZ2lmeShyLCB7IHNvcnRNYXBFbnRyaWVzOiB0cnVlIH0pKVxuICAgICAgICAuam9pbignLS0tXFxyXFxuJyk7XG4gICAgfVxuXG4gICAgdGhpcy50cnlZYW1sLmVtaXQodGFyZ2V0WWFtbCk7XG4gIH1cblxuICAvKipcbiAgICog6K6+572uIFlBTUwgc2NoZW1hIOS7peaPkOS+myBob3ZlciDmj5DnpLrlkozoh6rliqjlrozmiJBcbiAgICovXG4gIHNldFlhbWxTY2hlbWEocmVzb3VyY2U6IFQsIHNjaGVtYTogT3BlbkFQSVYzU2NoZW1hT2JqZWN0KSB7XG4gICAgaWYgKCFzY2hlbWEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyDkvb/nlKggYXBpVmVyc2lvbiArIGtpbmQg57uE5ZCI5L2c5Li65qCH6K+GXG4gICAgY29uc3QgYXBpVmVyc2lvbiA9IHJlc291cmNlPy5hcGlWZXJzaW9uIHx8ICd1bmtub3duJztcbiAgICBjb25zdCBraW5kID0gcmVzb3VyY2U/LmtpbmQgfHwgJ3Vua25vd24nO1xuICAgIGNvbnN0IHNjaGVtYUtleSA9IGAke2FwaVZlcnNpb259LyR7a2luZH1gO1xuXG4gICAgdGhpcy5tb2RlbFVyaSA9IGAke3NjaGVtYUtleX0ueWFtbGA7XG5cbiAgICB0aGlzLnNlbGZGb2xkTWFuYWdlZEZpZWxkcygpO1xuXG4gICAgLy8g5qOA5p+l5piv5ZCm5bey57uP5rOo5YaM6L+H55u45ZCM55qEIHNjaGVtYe+8jOmBv+WFjemHjeWkjeazqOWGjFxuICAgIGlmICh0aGlzLnJlZ2lzdGVyZWRTY2hlbWFzLmhhcyhzY2hlbWFLZXkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8g6I635Y+W5a6M5pW055qEIGRlZmluaXRpb25zIOS7peaUr+aMgSAkcmVmIOW8leeUqFxuICAgIGNvbnN0IGRlZmluaXRpb25zID0gdGhpcy5zY2hlbWFTZXJ2aWNlLmRlZmluaXRpb25zIHx8IHt9O1xuXG4gICAgLy8g5Yib5bu65YyF5ZCr5a6M5pW0IGRlZmluaXRpb25zIOeahCBzY2hlbWEg5a+56LGhXG4gICAgY29uc3QgZnVsbFNjaGVtYSA9IHtcbiAgICAgIC4uLnNjaGVtYSxcbiAgICAgIGRlZmluaXRpb25zLFxuICAgIH07XG5cbiAgICAvLyDnoa7kv51zY2hlbWHooqvmraPnoa7ms6jlhozvvIzlubblkK/nlKjoh6rliqjlrozmiJDlip/og71cbiAgICB0aGlzLnlhbWxTY2hlbWFTZXJ2aWNlLmFkZFNjaGVtYSh7XG4gICAgICB1cmk6IGBrOHM6Ly8ke3NjaGVtYUtleX0uc2NoZW1hLmpzb25gLFxuICAgICAgZmlsZU1hdGNoOiBbdGhpcy5tb2RlbFVyaV0sXG4gICAgICBzY2hlbWE6IGZ1bGxTY2hlbWEsXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyZWRTY2hlbWFzLmFkZChzY2hlbWFLZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPliBNb25hY28g57yW6L6R5Zmo5a6e5L6LXG4gICAqL1xuICBnZXRFZGl0b3JJbnN0YW5jZSgpOlxuICAgIHwgaW1wb3J0KCdtb25hY28tZWRpdG9yL2VzbS92cy9lZGl0b3IvZWRpdG9yLmFwaScpLmVkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3JcbiAgICB8IG51bGwge1xuICAgIGlmICghdGhpcy5tb25hY29FZGl0b3IgJiYgdGhpcy5jb2RlRWRpdG9yUmVmPy5lZGl0b3IpIHtcbiAgICAgIHRoaXMubW9uYWNvRWRpdG9yID0gdGhpcy5jb2RlRWRpdG9yUmVmLmVkaXRvcjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubW9uYWNvRWRpdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIOaJi+WKqOaKmOWPoCBtYW5hZ2VkRmllbGRzXG4gICAqL1xuICBmb2xkTWFuYWdlZEZpZWxkcygpOiB2b2lkIHtcbiAgICBjb25zdCBlZGl0b3IgPSB0aGlzLmdldEVkaXRvckluc3RhbmNlKCk7XG4gICAgaWYgKGVkaXRvcikge1xuICAgICAgZm9sZE1hbmFnZWRGaWVsZHMoZWRpdG9yKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxhdWktY2FyZCAqbmdJZj1cImhhc1dyYXBwZXI7IGVsc2UgY29udGVudFwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiIC8+XG48L2F1aS1jYXJkPlxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ5YW1sLWVkaXRvci1jb250YWluZXJcIlxuICAgIFtjbGFzcy53aXRoLXNpZGViYXJdPVwic2hvd1NpZGViYXIkJCB8IGFzeW5jXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ5YW1sLWVkaXRvci1zZWN0aW9uXCI+XG4gICAgICA8YXVpLWNvZGUtZWRpdG9yXG4gICAgICAgICNjb2RlRWRpdG9yXG4gICAgICAgIG5hbWU9XCJ5YW1sXCJcbiAgICAgICAgW29yaWdpbmFsVmFsdWVdPVwib3JpZ2luYWxWYWx1ZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICBbb3B0aW9uc109XCJvcHRpb25zXCJcbiAgICAgICAgW2FjdGlvbnNDb25maWddPVwiYWN0aW9uc0NvbmZpZ1wiXG4gICAgICAgIFttb2RlbFVyaV09XCJtb2RlbFVyaVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgYXVpQ29kZUVkaXRvclRvb2xiYXJSaWdodFNpZGU+XG4gICAgICAgICAgPCEtLSBTY2hlbWEg5oyJ6ZKu77ya5b2T5ZCv55So5L6n6L655qCP5pe25pi+56S6IC0tPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwic2lkZWJhckVuYWJsZSAmJiAhIShyZXNvdXJjZSQgfCBhc3luYylcIlxuICAgICAgICAgICAgW2hpZGRlbl09XCIhIWNvZGVFZGl0b3IuZnVsbHNjcmVlbkRpYWxvZ1wiXG4gICAgICAgICAgICBjbGFzcz1cImF1aS1jb2RlLWVkaXRvci10b29sYmFyX19jb250cm9sLWJ1dHRvblwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKGZpbmFsU2NoZW1hJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2lkZWJhcigpXCJcbiAgICAgICAgICAgIFthdWlUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAoKHNob3dTaWRlYmFyJCQgfCBhc3luYykgPyAnaGlkZV9zaWRlYmFyJyA6ICd2aWV3X3NpZGViYXInKVxuICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhdWktaWNvblxuICAgICAgICAgICAgICBbaWNvbl09XCJcbiAgICAgICAgICAgICAgICAoc2hvd1NpZGViYXIkJCB8IGFzeW5jKVxuICAgICAgICAgICAgICAgICAgPyAncHJvZDpleHBhbmRfc2lkZWJhcidcbiAgICAgICAgICAgICAgICAgIDogJ3Byb2Q6Y29sbGFwc2Vfc2lkZWJhcidcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYXVpLWNvZGUtZWRpdG9yPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwieWFtbC1zaWRlYmFyLXNlY3Rpb25cIlxuICAgICAgKm5nSWY9XCIoc2hvd1NpZGViYXIkJCB8IGFzeW5jKSAmJiAocmVzb3VyY2UkIHwgYXN5bmMpXCJcbiAgICA+XG4gICAgICA8YWNsLXJlc291cmNlLXlhbWwtc2lkZWJhclxuICAgICAgICBbcmVzb3VyY2VdPVwiZ2V0Q3VycmVudFJlc291cmNlKClcIlxuICAgICAgICBbc2NoZW1hXT1cImZpbmFsU2NoZW1hJCB8IGFzeW5jXCJcbiAgICAgICAgW3NjaGVtYUVuYWJsZV09XCJzY2hlbWFFbmFibGVcIlxuICAgICAgICBbZXhhbXBsZUVuYWJsZV09XCJleGFtcGxlRW5hYmxlXCJcbiAgICAgICAgW2V4dHJhRXhhbXBsZXNdPVwiZXh0cmFFeGFtcGxlc1wiXG4gICAgICAgIChjbG9zZSk9XCJ0b2dnbGVTaWRlYmFyKClcIlxuICAgICAgICAodHJ5WWFtbCk9XCJvblRyeVlhbWwoJGV2ZW50KVwiXG4gICAgICA+PC9hY2wtcmVzb3VyY2UteWFtbC1zaWRlYmFyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -267,14 +267,22 @@ spec:
267
267
  ],
268
268
  'storage.k8s.io/v1.StorageClass': [
269
269
  {
270
- title: 'Basic StorageClass',
271
- description: 'A basic StorageClass example',
270
+ title: 'Fast StorageClass',
271
+ description: 'Ceph fast storage class example',
272
272
  yaml: `apiVersion: storage.k8s.io/v1
273
273
  kind: StorageClass
274
274
  metadata:
275
- name: example
276
- provisioner: my-provisioner
277
- reclaimPolicy: Delete`,
275
+ name: fast
276
+ provisioner: kubernetes.io/rbd
277
+ parameters:
278
+ monitors: 10.16.153.105:6789
279
+ adminId: kube
280
+ adminSecretName: ceph-secret
281
+ adminSecretNamespace: kube-system
282
+ pool: kube
283
+ userId: kube
284
+ userSecretName: ceph-secret-user
285
+ `,
278
286
  },
279
287
  ],
280
288
  'v1.Secret': [
@@ -334,4 +342,4 @@ spec:
334
342
  },
335
343
  ],
336
344
  };
337
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC1leGFtcGxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb2RlL3lhbWwtZXhhbXBsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQXFDO0lBQ3RFLG9CQUFvQixFQUFFO1FBQ3BCO1lBQ0UsS0FBSyxFQUFFLGtCQUFrQjtZQUN6QixXQUFXLEVBQUUsaURBQWlEO1lBQzlELElBQUksRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQWtCa0I7U0FDekI7S0FDRjtJQUVELGNBQWMsRUFBRTtRQUNkO1lBQ0UsS0FBSyxFQUFFLGlCQUFpQjtZQUN4QixXQUFXLEVBQUUseURBQXlEO1lBQ3RFLElBQUksRUFBRTs7Ozs7Ozs7Ozt1QkFVVztTQUNsQjtLQUNGO0lBRUQsa0JBQWtCLEVBQUU7UUFDbEI7WUFDRSxLQUFLLEVBQUUsZUFBZTtZQUN0QixXQUFXLEVBQUUseUNBQXlDO1lBQ3RELElBQUksRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7bUNBaUJ1QjtTQUM5QjtLQUNGO0lBRUQscUJBQXFCLEVBQUU7UUFDckI7WUFDRSxLQUFLLEVBQUUsd0JBQXdCO1lBQy9CLFdBQVcsRUFBRSxtREFBbUQ7WUFDaEUsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7O3VCQWFXO1NBQ2xCO0tBQ0Y7SUFFRCx3Q0FBd0MsRUFBRTtRQUN4QztZQUNFLEtBQUssRUFBRSwrQkFBK0I7WUFDdEMsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQWlCYztTQUNyQjtLQUNGO0lBRUQsbUJBQW1CLEVBQUU7UUFDbkI7WUFDRSxLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFdBQVcsRUFBRSxnREFBZ0Q7WUFDN0QsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFpQmtCO1NBQ3pCO0tBQ0Y7SUFFRCwwQkFBMEIsRUFBRTtRQUMxQjtZQUNFLEtBQUssRUFBRSw2QkFBNkI7WUFDcEMsV0FBVyxFQUFFLDRDQUE0QztZQUN6RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7bUJBVU87U0FDZDtLQUNGO0lBRUQsa0JBQWtCLEVBQUU7UUFDbEI7WUFDRSxLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLFdBQVcsRUFBRSwrQ0FBK0M7WUFDNUQsSUFBSSxFQUFFOzs7Ozs7Ozs7O3VCQVVXO1NBQ2xCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsNkJBQTZCO1lBQ3BDLFdBQVcsRUFBRSwyREFBMkQ7WUFDeEUsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7bUVBZXVEO1NBQzlEO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsNkJBQTZCO1lBQ3BDLFdBQVcsRUFBRSxpREFBaUQ7WUFDOUQsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7Z0NBWW9CO1NBQzNCO0tBQ0Y7SUFFRCxlQUFlLEVBQUU7UUFDZjtZQUNFLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsV0FBVyxFQUFFLGtEQUFrRDtZQUMvRCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7b0JBVVE7U0FDZjtLQUNGO0lBRUQscUJBQXFCLEVBQUU7UUFDckI7WUFDRSxLQUFLLEVBQUUsbUJBQW1CO1lBQzFCLFdBQVcsRUFBRSxxREFBcUQ7WUFDbEUsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7dUJBaUNXO1NBQ2xCO0tBQ0Y7SUFFRCxnQ0FBZ0MsRUFBRTtRQUNoQztZQUNFLEtBQUssRUFBRSxvQkFBb0I7WUFDM0IsV0FBVyxFQUFFLDhCQUE4QjtZQUMzQyxJQUFJLEVBQUU7Ozs7O3NCQUtVO1NBQ2pCO0tBQ0Y7SUFFRCxXQUFXLEVBQUU7UUFDWDtZQUNFLEtBQUssRUFBRSxjQUFjO1lBQ3JCLFdBQVcsRUFBRSxtREFBbUQ7WUFDaEUsSUFBSSxFQUFFOzs7Ozs7O3VCQU9XO1NBQ2xCO0tBQ0Y7SUFFRCxnQ0FBZ0MsRUFBRTtRQUNoQztZQUNFLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsV0FBVyxFQUFFLHlEQUF5RDtZQUN0RSxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQW1DTTtTQUNiO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWWFtbEV4YW1wbGUgfSBmcm9tICcuL3lhbWwtc2lkZWJhci90eXBlcyc7XG5cbi8qKlxuICogS3ViZXJuZXRlcyDotYTmupDnmoTlhoXnva4gWUFNTCDnpLrkvotcbiAqIOaMieeFpyBhcGlWZXJzaW9uLmtpbmQg55qE5qC85byP57uE57uHXG4gKi9cbmV4cG9ydCBjb25zdCBCVUlMVF9JTl9ZQU1MX0VYQU1QTEVTOiB7IFtrZXk6IHN0cmluZ106IFlhbWxFeGFtcGxlW10gfSA9IHtcbiAgJ2FwcHMvdjEuRGVwbG95bWVudCc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIERlcGxveW1lbnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIGRlcGxveW1lbnQgZXhhbXBsZSB3aXRoIG5naW54IGNvbnRhaW5lcicsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogYXBwcy92MVxua2luZDogRGVwbG95bWVudFxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIHNlbGVjdG9yOlxuICAgIG1hdGNoTGFiZWxzOlxuICAgICAgYXBwOiBodHRwZFxuICByZXBsaWNhczogM1xuICB0ZW1wbGF0ZTpcbiAgICBtZXRhZGF0YTpcbiAgICAgIGxhYmVsczpcbiAgICAgICAgYXBwOiBodHRwZFxuICAgIHNwZWM6XG4gICAgICBjb250YWluZXJzOlxuICAgICAgLSBuYW1lOiBodHRwZFxuICAgICAgICBpbWFnZTogbmdpbng6MS43LjlcbiAgICAgICAgcG9ydHM6XG4gICAgICAgIC0gY29udGFpbmVyUG9ydDogODA4MGAsXG4gICAgfSxcbiAgXSxcblxuICAndjEuQ29uZmlnTWFwJzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgQ29uZmlnTWFwJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBDb25maWdNYXAgZXhhbXBsZSB3aXRoIHByb3BlcnRpZXMgYW5kIGZpbGUgZGF0YScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IENvbmZpZ01hcFxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbmRhdGE6XG4gIGV4YW1wbGUucHJvcGVydHkuMTogaGVsbG9cbiAgZXhhbXBsZS5wcm9wZXJ0eS4yOiB3b3JsZFxuICBleGFtcGxlLnByb3BlcnR5LmZpbGU6IHwtXG4gICAgcHJvcGVydHkuMT12YWx1ZS0xXG4gICAgcHJvcGVydHkuMj12YWx1ZS0yXG4gICAgcHJvcGVydHkuMz12YWx1ZS0zYCxcbiAgICB9LFxuICBdLFxuXG4gICdiYXRjaC92MS5Dcm9uSm9iJzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgQ3JvbkpvYicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgYmFzaWMgQ3JvbkpvYiBleGFtcGxlIHRoYXQgcnVucyBkYWlseScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogYmF0Y2gvdjFcbmtpbmQ6IENyb25Kb2Jcbm1ldGFkYXRhOlxuICBuYW1lOiBleGFtcGxlXG5zcGVjOlxuICBzY2hlZHVsZTogXCJAZGFpbHlcIlxuICBqb2JUZW1wbGF0ZTpcbiAgICBzcGVjOlxuICAgICAgdGVtcGxhdGU6XG4gICAgICAgIHNwZWM6XG4gICAgICAgICAgY29udGFpbmVyczpcbiAgICAgICAgICAtIG5hbWU6IGhlbGxvXG4gICAgICAgICAgICBpbWFnZTogYnVzeWJveFxuICAgICAgICAgICAgYXJnczpcbiAgICAgICAgICAgIC0gL2Jpbi9zaFxuICAgICAgICAgICAgLSAtY1xuICAgICAgICAgICAgLSBkYXRlOyBlY2hvIEhlbGxvIGZyb20gdGhlIEt1YmVybmV0ZXMgY2x1c3RlclxuICAgICAgICAgIHJlc3RhcnRQb2xpY3k6IE9uRmFpbHVyZWAsXG4gICAgfSxcbiAgXSxcblxuICAndjEuUGVyc2lzdGVudFZvbHVtZSc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIFBlcnNpc3RlbnRWb2x1bWUnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIFBlcnNpc3RlbnRWb2x1bWUgZXhhbXBsZSB3aXRoIE5GUyBzdG9yYWdlJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiB2MVxua2luZDogUGVyc2lzdGVudFZvbHVtZVxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIGNhcGFjaXR5OlxuICAgIHN0b3JhZ2U6IDVHaVxuICBhY2Nlc3NNb2RlczpcbiAgICAtIFJlYWRXcml0ZU9uY2VcbiAgcGVyc2lzdGVudFZvbHVtZVJlY2xhaW1Qb2xpY3k6IFJldGFpblxuICBzdG9yYWdlQ2xhc3NOYW1lOiBzbG93XG4gIG5mczpcbiAgICBwYXRoOiAvdG1wXG4gICAgc2VydmVyOiAxNzIuMTcuMC4yYCxcbiAgICB9LFxuICBdLFxuXG4gICdhdXRvc2NhbGluZy92Mi5Ib3Jpem9udGFsUG9kQXV0b3NjYWxlcic6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIEhvcml6b250YWxQb2RBdXRvc2NhbGVyJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBIUEEgZXhhbXBsZSB3aXRoIENQVSB1dGlsaXphdGlvbiB0YXJnZXQnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IGF1dG9zY2FsaW5nL3YyXG5raW5kOiBIb3Jpem9udGFsUG9kQXV0b3NjYWxlclxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIHNjYWxlVGFyZ2V0UmVmOlxuICAgIGFwaVZlcnNpb246IGFwcHMvdjFcbiAgICBraW5kOiBEZXBsb3ltZW50XG4gICAgbmFtZTogZXhhbXBsZVxuICBtaW5SZXBsaWNhczogMVxuICBtYXhSZXBsaWNhczogM1xuICBtZXRyaWNzOlxuICAtIHR5cGU6IFJlc291cmNlXG4gICAgcmVzb3VyY2U6XG4gICAgICBuYW1lOiBjcHVcbiAgICAgIHRhcmdldDpcbiAgICAgICAgYXZlcmFnZVV0aWxpemF0aW9uOiA1MFxuICAgICAgICB0eXBlOiBVdGlsaXphdGlvbmAsXG4gICAgfSxcbiAgXSxcblxuICAnYXBwcy92MS5EYWVtb25TZXQnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBEYWVtb25TZXQnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIERhZW1vblNldCBleGFtcGxlIHdpdGggbmdpbnggY29udGFpbmVyJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiBhcHBzL3YxXG5raW5kOiBEYWVtb25TZXRcbm1ldGFkYXRhOlxuICBuYW1lOiBleGFtcGxlXG5zcGVjOlxuICBzZWxlY3RvcjpcbiAgICBtYXRjaExhYmVsczpcbiAgICAgIGFwcDogaHR0cGRcbiAgdGVtcGxhdGU6XG4gICAgbWV0YWRhdGE6XG4gICAgICBsYWJlbHM6XG4gICAgICAgIGFwcDogaHR0cGRcbiAgICBzcGVjOlxuICAgICAgY29udGFpbmVyczpcbiAgICAgIC0gbmFtZTogaHR0cGRcbiAgICAgICAgaW1hZ2U6IG5naW54OjEuNy45XG4gICAgICAgIHBvcnRzOlxuICAgICAgICAtIGNvbnRhaW5lclBvcnQ6IDgwODBgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ3YxLlBlcnNpc3RlbnRWb2x1bWVDbGFpbSc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIFBlcnNpc3RlbnRWb2x1bWVDbGFpbScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgYmFzaWMgUFZDIGV4YW1wbGUgcmVxdWVzdGluZyAxR2kgc3RvcmFnZScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFBlcnNpc3RlbnRWb2x1bWVDbGFpbVxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIGFjY2Vzc01vZGVzOlxuICAgIC0gUmVhZFdyaXRlT25jZVxuICB2b2x1bWVNb2RlOiBGaWxlc3lzdGVtXG4gIHJlc291cmNlczpcbiAgICByZXF1ZXN0czpcbiAgICAgIHN0b3JhZ2U6IDFHaWAsXG4gICAgfSxcbiAgXSxcblxuICAndjEuUmVzb3VyY2VRdW90YSc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0NvbXB1dGUgUmVzb3VyY2VRdW90YScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgUmVzb3VyY2VRdW90YSBleGFtcGxlIGZvciBjb21wdXRlIHJlc291cmNlcycsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFJlc291cmNlUXVvdGFcbm1ldGFkYXRhOlxuICBuYW1lOiBjb21wdXRlLXF1b3RhXG4gIG5hbWVzcGFjZTogZGVmYXVsdFxuc3BlYzpcbiAgaGFyZDpcbiAgICByZXF1ZXN0cy5jcHU6ICcxJ1xuICAgIHJlcXVlc3RzLm1lbW9yeTogMUdpXG4gICAgbGltaXRzLmNwdTogJzInXG4gICAgbGltaXRzLm1lbW9yeTogMkdpYCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnU3RvcmFnZSBDbGFzcyBSZXNvdXJjZVF1b3RhJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBSZXNvdXJjZVF1b3RhIGV4YW1wbGUgZm9yIHN0b3JhZ2UgY2xhc3Mgc3BlY2lmaWMgcXVvdGFzJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiB2MVxua2luZDogUmVzb3VyY2VRdW90YVxubWV0YWRhdGE6XG4gIG5hbWU6IHN0b3JhZ2UtY2xhc3MtcXVvdGFcbiAgbmFtZXNwYWNlOiBkZWZhdWx0XG5zcGVjOlxuICBoYXJkOlxuICAgIHJlcXVlc3RzLnN0b3JhZ2U6IDEwMEdpXG4gICAgcGVyc2lzdGVudHZvbHVtZWNsYWltczogJzEwMCdcbiAgICAjIEZvciBxdW90YSBzcGVjaWZpYyB0byBhIHN0b3JhZ2UgY2xhc3MsIHRoZSBzdG9yYWdlIGNsYXNzIG11c3QgaGF2ZSB0aGUgc2FtZSBuYW1lXG4gICAgZ29sZC5zdG9yYWdlLWNsYXNzLmt1YmVybmV0ZXMuaW8vcmVxdWVzdHMuc3RvcmFnZTogM0dpXG4gICAgZ29sZC5zdG9yYWdlLWNsYXNzLmt1YmVybmV0ZXMuaW8vcGVyc2lzdGVudHZvbHVtZWNsYWltczogJzUnXG4gICAgc2lsdmVyLnN0b3JhZ2UtY2xhc3Mua3ViZXJuZXRlcy5pby9yZXF1ZXN0cy5zdG9yYWdlOiAyR2lcbiAgICBzaWx2ZXIuc3RvcmFnZS1jbGFzcy5rdWJlcm5ldGVzLmlvL3BlcnNpc3RlbnR2b2x1bWVjbGFpbXM6ICczJ1xuICAgIGJyb256ZS5zdG9yYWdlLWNsYXNzLmt1YmVybmV0ZXMuaW8vcmVxdWVzdHMuc3RvcmFnZTogMUdpXG4gICAgYnJvbnplLnN0b3JhZ2UtY2xhc3Mua3ViZXJuZXRlcy5pby9wZXJzaXN0ZW50dm9sdW1lY2xhaW1zOiAnMSdgLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdPYmplY3QgQ291bnRzIFJlc291cmNlUXVvdGEnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIFJlc291cmNlUXVvdGEgZXhhbXBsZSBmb3Igb2JqZWN0IGNvdW50IGxpbWl0cycsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFJlc291cmNlUXVvdGFcbm1ldGFkYXRhOlxuICBuYW1lOiBvYmplY3QtY291bnRzXG4gIG5hbWVzcGFjZTogZGVmYXVsdFxuc3BlYzpcbiAgaGFyZDpcbiAgICBjb25maWdtYXBzOiBcIjEwXCJcbiAgICBwZXJzaXN0ZW50dm9sdW1lY2xhaW1zOiBcIjRcIlxuICAgIHJlcGxpY2F0aW9uY29udHJvbGxlcnM6IFwiMjBcIlxuICAgIHNlY3JldHM6IFwiMTBcIlxuICAgIHNlcnZpY2VzOiBcIjEwXCJcbiAgICBzZXJ2aWNlcy5sb2FkYmFsYW5jZXJzOiBcIjJcImAsXG4gICAgfSxcbiAgXSxcblxuICAndjEuTGltaXRSYW5nZSc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ01lbW9yeSBMaW1pdFJhbmdlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBMaW1pdFJhbmdlIGV4YW1wbGUgZm9yIGNvbnRhaW5lciBtZW1vcnkgbGltaXRzJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiB2MVxua2luZDogTGltaXRSYW5nZVxubWV0YWRhdGE6XG4gIG5hbWU6IG1lbS1saW1pdC1yYW5nZVxuc3BlYzpcbiAgbGltaXRzOlxuICAtIGRlZmF1bHQ6XG4gICAgICBtZW1vcnk6IDUxMk1pXG4gICAgZGVmYXVsdFJlcXVlc3Q6XG4gICAgICBtZW1vcnk6IDI1Nk1pXG4gICAgdHlwZTogQ29udGFpbmVyYCxcbiAgICB9LFxuICBdLFxuXG4gICdhcHBzL3YxLlN0YXRlZnVsU2V0JzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgU3RhdGVmdWxTZXQnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIFN0YXRlZnVsU2V0IGV4YW1wbGUgd2l0aCBwZXJzaXN0ZW50IHN0b3JhZ2UnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IGFwcHMvdjFcbmtpbmQ6IFN0YXRlZnVsU2V0XG5tZXRhZGF0YTpcbiAgbmFtZTogZXhhbXBsZVxuc3BlYzpcbiAgc2VydmljZU5hbWU6IFwiaHR0cGRcIlxuICByZXBsaWNhczogM1xuICBzZWxlY3RvcjpcbiAgICBtYXRjaExhYmVsczpcbiAgICAgIGFwcDogaHR0cGRcbiAgdGVtcGxhdGU6XG4gICAgbWV0YWRhdGE6XG4gICAgICBsYWJlbHM6XG4gICAgICAgIGFwcDogaHR0cGRcbiAgICBzcGVjOlxuICAgICAgdGVybWluYXRpb25HcmFjZVBlcmlvZFNlY29uZHM6IDEwXG4gICAgICBjb250YWluZXJzOlxuICAgICAgLSBuYW1lOiBodHRwZFxuICAgICAgICBpbWFnZTogbmdpbng6MS43LjlcbiAgICAgICAgcG9ydHM6XG4gICAgICAgIC0gY29udGFpbmVyUG9ydDogODA4MFxuICAgICAgICAgIG5hbWU6IHdlYlxuICAgICAgICB2b2x1bWVNb3VudHM6XG4gICAgICAgIC0gbmFtZTogd3d3XG4gICAgICAgICAgbW91bnRQYXRoOiAvdmFyL3d3dy9odG1sXG4gIHZvbHVtZUNsYWltVGVtcGxhdGVzOlxuICAtIG1ldGFkYXRhOlxuICAgICAgbmFtZTogd3d3XG4gICAgc3BlYzpcbiAgICAgIGFjY2Vzc01vZGVzOiBbIFwiUmVhZFdyaXRlT25jZVwiIF1cbiAgICAgIHN0b3JhZ2VDbGFzc05hbWU6IG15LXN0b3JhZ2UtY2xhc3NcbiAgICAgIHJlc291cmNlczpcbiAgICAgICAgcmVxdWVzdHM6XG4gICAgICAgICAgc3RvcmFnZTogMUdpYCxcbiAgICB9LFxuICBdLFxuXG4gICdzdG9yYWdlLms4cy5pby92MS5TdG9yYWdlQ2xhc3MnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBTdG9yYWdlQ2xhc3MnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIFN0b3JhZ2VDbGFzcyBleGFtcGxlJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiBzdG9yYWdlLms4cy5pby92MVxua2luZDogU3RvcmFnZUNsYXNzXG5tZXRhZGF0YTpcbiAgbmFtZTogZXhhbXBsZVxucHJvdmlzaW9uZXI6IG15LXByb3Zpc2lvbmVyXG5yZWNsYWltUG9saWN5OiBEZWxldGVgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ3YxLlNlY3JldCc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIFNlY3JldCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgYmFzaWMgU2VjcmV0IGV4YW1wbGUgd2l0aCB1c2VybmFtZSBhbmQgcGFzc3dvcmQnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IHYxXG5raW5kOiBTZWNyZXRcbm1ldGFkYXRhOlxuICBuYW1lOiBleGFtcGxlXG50eXBlOiBPcGFxdWVcbnN0cmluZ0RhdGE6XG4gIHVzZXJuYW1lOiBhZG1pblxuICBwYXNzd29yZDogb3BlbnNlc2FtZWAsXG4gICAgfSxcbiAgXSxcblxuICAnYXBwLms4cy5pby92MWJldGExLkFwcGxpY2F0aW9uJzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgQXBwbGljYXRpb24nLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIEFwcGxpY2F0aW9uIGV4YW1wbGUgd2l0aCBEZXBsb3ltZW50IGFuZCBTZXJ2aWNlJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiBhcHBzL3YxXG5raW5kOiBEZXBsb3ltZW50XG5tZXRhZGF0YTpcbiAgbGFiZWxzOlxuICAgIGFwcDogbmdpbnhcbiAgbmFtZTogbmdpbngtZGVwbG95bWVudFxuc3BlYzpcbiAgcmVwbGljYXM6IDFcbiAgc2VsZWN0b3I6XG4gICAgbWF0Y2hMYWJlbHM6XG4gICAgICBhcHA6IG5naW54XG4gIHRlbXBsYXRlOlxuICAgIG1ldGFkYXRhOlxuICAgICAgbGFiZWxzOlxuICAgICAgICBhcHA6IG5naW54XG4gICAgc3BlYzpcbiAgICAgIGNvbnRhaW5lcnM6XG4gICAgICAgIC0gaW1hZ2U6IG5naW54OjEuNy45XG4gICAgICAgICAgbmFtZTogbmdpbnhcbiAgICAgICAgICBwb3J0czpcbiAgICAgICAgICAgIC0gY29udGFpbmVyUG9ydDogODBcbi0tLVxuYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFNlcnZpY2Vcbm1ldGFkYXRhOlxuICBsYWJlbHM6XG4gICAgYXBwOiBuZ2lueFxuICBuYW1lOiBuZ2lueFxuc3BlYzpcbiAgcG9ydHM6XG4gICAgLSBwb3J0OiA4MFxuICAgICAgcHJvdG9jb2w6IFRDUFxuICAgICAgdGFyZ2V0UG9ydDogODBcbiAgc2VsZWN0b3I6XG4gICAgYXBwOiBuZ2lueFxuICB0eXBlOiBDbHVzdGVySVBgLFxuICAgIH0sXG4gIF0sXG59O1xuIl19
345
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC1leGFtcGxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb2RlL3lhbWwtZXhhbXBsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQXFDO0lBQ3RFLG9CQUFvQixFQUFFO1FBQ3BCO1lBQ0UsS0FBSyxFQUFFLGtCQUFrQjtZQUN6QixXQUFXLEVBQUUsaURBQWlEO1lBQzlELElBQUksRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQWtCa0I7U0FDekI7S0FDRjtJQUVELGNBQWMsRUFBRTtRQUNkO1lBQ0UsS0FBSyxFQUFFLGlCQUFpQjtZQUN4QixXQUFXLEVBQUUseURBQXlEO1lBQ3RFLElBQUksRUFBRTs7Ozs7Ozs7Ozt1QkFVVztTQUNsQjtLQUNGO0lBRUQsa0JBQWtCLEVBQUU7UUFDbEI7WUFDRSxLQUFLLEVBQUUsZUFBZTtZQUN0QixXQUFXLEVBQUUseUNBQXlDO1lBQ3RELElBQUksRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7bUNBaUJ1QjtTQUM5QjtLQUNGO0lBRUQscUJBQXFCLEVBQUU7UUFDckI7WUFDRSxLQUFLLEVBQUUsd0JBQXdCO1lBQy9CLFdBQVcsRUFBRSxtREFBbUQ7WUFDaEUsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7O3VCQWFXO1NBQ2xCO0tBQ0Y7SUFFRCx3Q0FBd0MsRUFBRTtRQUN4QztZQUNFLEtBQUssRUFBRSwrQkFBK0I7WUFDdEMsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQWlCYztTQUNyQjtLQUNGO0lBRUQsbUJBQW1CLEVBQUU7UUFDbkI7WUFDRSxLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFdBQVcsRUFBRSxnREFBZ0Q7WUFDN0QsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFpQmtCO1NBQ3pCO0tBQ0Y7SUFFRCwwQkFBMEIsRUFBRTtRQUMxQjtZQUNFLEtBQUssRUFBRSw2QkFBNkI7WUFDcEMsV0FBVyxFQUFFLDRDQUE0QztZQUN6RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7bUJBVU87U0FDZDtLQUNGO0lBRUQsa0JBQWtCLEVBQUU7UUFDbEI7WUFDRSxLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLFdBQVcsRUFBRSwrQ0FBK0M7WUFDNUQsSUFBSSxFQUFFOzs7Ozs7Ozs7O3VCQVVXO1NBQ2xCO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsNkJBQTZCO1lBQ3BDLFdBQVcsRUFBRSwyREFBMkQ7WUFDeEUsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7bUVBZXVEO1NBQzlEO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsNkJBQTZCO1lBQ3BDLFdBQVcsRUFBRSxpREFBaUQ7WUFDOUQsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7Z0NBWW9CO1NBQzNCO0tBQ0Y7SUFFRCxlQUFlLEVBQUU7UUFDZjtZQUNFLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsV0FBVyxFQUFFLGtEQUFrRDtZQUMvRCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7b0JBVVE7U0FDZjtLQUNGO0lBRUQscUJBQXFCLEVBQUU7UUFDckI7WUFDRSxLQUFLLEVBQUUsbUJBQW1CO1lBQzFCLFdBQVcsRUFBRSxxREFBcUQ7WUFDbEUsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7dUJBaUNXO1NBQ2xCO0tBQ0Y7SUFFRCxnQ0FBZ0MsRUFBRTtRQUNoQztZQUNFLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsV0FBVyxFQUFFLGlDQUFpQztZQUM5QyxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7Q0FhWDtTQUNJO0tBQ0Y7SUFFRCxXQUFXLEVBQUU7UUFDWDtZQUNFLEtBQUssRUFBRSxjQUFjO1lBQ3JCLFdBQVcsRUFBRSxtREFBbUQ7WUFDaEUsSUFBSSxFQUFFOzs7Ozs7O3VCQU9XO1NBQ2xCO0tBQ0Y7SUFFRCxnQ0FBZ0MsRUFBRTtRQUNoQztZQUNFLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsV0FBVyxFQUFFLHlEQUF5RDtZQUN0RSxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQW1DTTtTQUNiO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWWFtbEV4YW1wbGUgfSBmcm9tICcuL3lhbWwtc2lkZWJhci90eXBlcyc7XG5cbi8qKlxuICogS3ViZXJuZXRlcyDotYTmupDnmoTlhoXnva4gWUFNTCDnpLrkvotcbiAqIOaMieeFpyBhcGlWZXJzaW9uLmtpbmQg55qE5qC85byP57uE57uHXG4gKi9cbmV4cG9ydCBjb25zdCBCVUlMVF9JTl9ZQU1MX0VYQU1QTEVTOiB7IFtrZXk6IHN0cmluZ106IFlhbWxFeGFtcGxlW10gfSA9IHtcbiAgJ2FwcHMvdjEuRGVwbG95bWVudCc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIERlcGxveW1lbnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIGRlcGxveW1lbnQgZXhhbXBsZSB3aXRoIG5naW54IGNvbnRhaW5lcicsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogYXBwcy92MVxua2luZDogRGVwbG95bWVudFxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIHNlbGVjdG9yOlxuICAgIG1hdGNoTGFiZWxzOlxuICAgICAgYXBwOiBodHRwZFxuICByZXBsaWNhczogM1xuICB0ZW1wbGF0ZTpcbiAgICBtZXRhZGF0YTpcbiAgICAgIGxhYmVsczpcbiAgICAgICAgYXBwOiBodHRwZFxuICAgIHNwZWM6XG4gICAgICBjb250YWluZXJzOlxuICAgICAgLSBuYW1lOiBodHRwZFxuICAgICAgICBpbWFnZTogbmdpbng6MS43LjlcbiAgICAgICAgcG9ydHM6XG4gICAgICAgIC0gY29udGFpbmVyUG9ydDogODA4MGAsXG4gICAgfSxcbiAgXSxcblxuICAndjEuQ29uZmlnTWFwJzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgQ29uZmlnTWFwJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBDb25maWdNYXAgZXhhbXBsZSB3aXRoIHByb3BlcnRpZXMgYW5kIGZpbGUgZGF0YScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IENvbmZpZ01hcFxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbmRhdGE6XG4gIGV4YW1wbGUucHJvcGVydHkuMTogaGVsbG9cbiAgZXhhbXBsZS5wcm9wZXJ0eS4yOiB3b3JsZFxuICBleGFtcGxlLnByb3BlcnR5LmZpbGU6IHwtXG4gICAgcHJvcGVydHkuMT12YWx1ZS0xXG4gICAgcHJvcGVydHkuMj12YWx1ZS0yXG4gICAgcHJvcGVydHkuMz12YWx1ZS0zYCxcbiAgICB9LFxuICBdLFxuXG4gICdiYXRjaC92MS5Dcm9uSm9iJzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgQ3JvbkpvYicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgYmFzaWMgQ3JvbkpvYiBleGFtcGxlIHRoYXQgcnVucyBkYWlseScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogYmF0Y2gvdjFcbmtpbmQ6IENyb25Kb2Jcbm1ldGFkYXRhOlxuICBuYW1lOiBleGFtcGxlXG5zcGVjOlxuICBzY2hlZHVsZTogXCJAZGFpbHlcIlxuICBqb2JUZW1wbGF0ZTpcbiAgICBzcGVjOlxuICAgICAgdGVtcGxhdGU6XG4gICAgICAgIHNwZWM6XG4gICAgICAgICAgY29udGFpbmVyczpcbiAgICAgICAgICAtIG5hbWU6IGhlbGxvXG4gICAgICAgICAgICBpbWFnZTogYnVzeWJveFxuICAgICAgICAgICAgYXJnczpcbiAgICAgICAgICAgIC0gL2Jpbi9zaFxuICAgICAgICAgICAgLSAtY1xuICAgICAgICAgICAgLSBkYXRlOyBlY2hvIEhlbGxvIGZyb20gdGhlIEt1YmVybmV0ZXMgY2x1c3RlclxuICAgICAgICAgIHJlc3RhcnRQb2xpY3k6IE9uRmFpbHVyZWAsXG4gICAgfSxcbiAgXSxcblxuICAndjEuUGVyc2lzdGVudFZvbHVtZSc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIFBlcnNpc3RlbnRWb2x1bWUnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIFBlcnNpc3RlbnRWb2x1bWUgZXhhbXBsZSB3aXRoIE5GUyBzdG9yYWdlJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiB2MVxua2luZDogUGVyc2lzdGVudFZvbHVtZVxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIGNhcGFjaXR5OlxuICAgIHN0b3JhZ2U6IDVHaVxuICBhY2Nlc3NNb2RlczpcbiAgICAtIFJlYWRXcml0ZU9uY2VcbiAgcGVyc2lzdGVudFZvbHVtZVJlY2xhaW1Qb2xpY3k6IFJldGFpblxuICBzdG9yYWdlQ2xhc3NOYW1lOiBzbG93XG4gIG5mczpcbiAgICBwYXRoOiAvdG1wXG4gICAgc2VydmVyOiAxNzIuMTcuMC4yYCxcbiAgICB9LFxuICBdLFxuXG4gICdhdXRvc2NhbGluZy92Mi5Ib3Jpem9udGFsUG9kQXV0b3NjYWxlcic6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIEhvcml6b250YWxQb2RBdXRvc2NhbGVyJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBIUEEgZXhhbXBsZSB3aXRoIENQVSB1dGlsaXphdGlvbiB0YXJnZXQnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IGF1dG9zY2FsaW5nL3YyXG5raW5kOiBIb3Jpem9udGFsUG9kQXV0b3NjYWxlclxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIHNjYWxlVGFyZ2V0UmVmOlxuICAgIGFwaVZlcnNpb246IGFwcHMvdjFcbiAgICBraW5kOiBEZXBsb3ltZW50XG4gICAgbmFtZTogZXhhbXBsZVxuICBtaW5SZXBsaWNhczogMVxuICBtYXhSZXBsaWNhczogM1xuICBtZXRyaWNzOlxuICAtIHR5cGU6IFJlc291cmNlXG4gICAgcmVzb3VyY2U6XG4gICAgICBuYW1lOiBjcHVcbiAgICAgIHRhcmdldDpcbiAgICAgICAgYXZlcmFnZVV0aWxpemF0aW9uOiA1MFxuICAgICAgICB0eXBlOiBVdGlsaXphdGlvbmAsXG4gICAgfSxcbiAgXSxcblxuICAnYXBwcy92MS5EYWVtb25TZXQnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBEYWVtb25TZXQnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIERhZW1vblNldCBleGFtcGxlIHdpdGggbmdpbnggY29udGFpbmVyJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiBhcHBzL3YxXG5raW5kOiBEYWVtb25TZXRcbm1ldGFkYXRhOlxuICBuYW1lOiBleGFtcGxlXG5zcGVjOlxuICBzZWxlY3RvcjpcbiAgICBtYXRjaExhYmVsczpcbiAgICAgIGFwcDogaHR0cGRcbiAgdGVtcGxhdGU6XG4gICAgbWV0YWRhdGE6XG4gICAgICBsYWJlbHM6XG4gICAgICAgIGFwcDogaHR0cGRcbiAgICBzcGVjOlxuICAgICAgY29udGFpbmVyczpcbiAgICAgIC0gbmFtZTogaHR0cGRcbiAgICAgICAgaW1hZ2U6IG5naW54OjEuNy45XG4gICAgICAgIHBvcnRzOlxuICAgICAgICAtIGNvbnRhaW5lclBvcnQ6IDgwODBgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ3YxLlBlcnNpc3RlbnRWb2x1bWVDbGFpbSc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIFBlcnNpc3RlbnRWb2x1bWVDbGFpbScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgYmFzaWMgUFZDIGV4YW1wbGUgcmVxdWVzdGluZyAxR2kgc3RvcmFnZScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFBlcnNpc3RlbnRWb2x1bWVDbGFpbVxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIGFjY2Vzc01vZGVzOlxuICAgIC0gUmVhZFdyaXRlT25jZVxuICB2b2x1bWVNb2RlOiBGaWxlc3lzdGVtXG4gIHJlc291cmNlczpcbiAgICByZXF1ZXN0czpcbiAgICAgIHN0b3JhZ2U6IDFHaWAsXG4gICAgfSxcbiAgXSxcblxuICAndjEuUmVzb3VyY2VRdW90YSc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0NvbXB1dGUgUmVzb3VyY2VRdW90YScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgUmVzb3VyY2VRdW90YSBleGFtcGxlIGZvciBjb21wdXRlIHJlc291cmNlcycsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFJlc291cmNlUXVvdGFcbm1ldGFkYXRhOlxuICBuYW1lOiBjb21wdXRlLXF1b3RhXG4gIG5hbWVzcGFjZTogZGVmYXVsdFxuc3BlYzpcbiAgaGFyZDpcbiAgICByZXF1ZXN0cy5jcHU6ICcxJ1xuICAgIHJlcXVlc3RzLm1lbW9yeTogMUdpXG4gICAgbGltaXRzLmNwdTogJzInXG4gICAgbGltaXRzLm1lbW9yeTogMkdpYCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnU3RvcmFnZSBDbGFzcyBSZXNvdXJjZVF1b3RhJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBSZXNvdXJjZVF1b3RhIGV4YW1wbGUgZm9yIHN0b3JhZ2UgY2xhc3Mgc3BlY2lmaWMgcXVvdGFzJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiB2MVxua2luZDogUmVzb3VyY2VRdW90YVxubWV0YWRhdGE6XG4gIG5hbWU6IHN0b3JhZ2UtY2xhc3MtcXVvdGFcbiAgbmFtZXNwYWNlOiBkZWZhdWx0XG5zcGVjOlxuICBoYXJkOlxuICAgIHJlcXVlc3RzLnN0b3JhZ2U6IDEwMEdpXG4gICAgcGVyc2lzdGVudHZvbHVtZWNsYWltczogJzEwMCdcbiAgICAjIEZvciBxdW90YSBzcGVjaWZpYyB0byBhIHN0b3JhZ2UgY2xhc3MsIHRoZSBzdG9yYWdlIGNsYXNzIG11c3QgaGF2ZSB0aGUgc2FtZSBuYW1lXG4gICAgZ29sZC5zdG9yYWdlLWNsYXNzLmt1YmVybmV0ZXMuaW8vcmVxdWVzdHMuc3RvcmFnZTogM0dpXG4gICAgZ29sZC5zdG9yYWdlLWNsYXNzLmt1YmVybmV0ZXMuaW8vcGVyc2lzdGVudHZvbHVtZWNsYWltczogJzUnXG4gICAgc2lsdmVyLnN0b3JhZ2UtY2xhc3Mua3ViZXJuZXRlcy5pby9yZXF1ZXN0cy5zdG9yYWdlOiAyR2lcbiAgICBzaWx2ZXIuc3RvcmFnZS1jbGFzcy5rdWJlcm5ldGVzLmlvL3BlcnNpc3RlbnR2b2x1bWVjbGFpbXM6ICczJ1xuICAgIGJyb256ZS5zdG9yYWdlLWNsYXNzLmt1YmVybmV0ZXMuaW8vcmVxdWVzdHMuc3RvcmFnZTogMUdpXG4gICAgYnJvbnplLnN0b3JhZ2UtY2xhc3Mua3ViZXJuZXRlcy5pby9wZXJzaXN0ZW50dm9sdW1lY2xhaW1zOiAnMSdgLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdPYmplY3QgQ291bnRzIFJlc291cmNlUXVvdGEnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIFJlc291cmNlUXVvdGEgZXhhbXBsZSBmb3Igb2JqZWN0IGNvdW50IGxpbWl0cycsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFJlc291cmNlUXVvdGFcbm1ldGFkYXRhOlxuICBuYW1lOiBvYmplY3QtY291bnRzXG4gIG5hbWVzcGFjZTogZGVmYXVsdFxuc3BlYzpcbiAgaGFyZDpcbiAgICBjb25maWdtYXBzOiBcIjEwXCJcbiAgICBwZXJzaXN0ZW50dm9sdW1lY2xhaW1zOiBcIjRcIlxuICAgIHJlcGxpY2F0aW9uY29udHJvbGxlcnM6IFwiMjBcIlxuICAgIHNlY3JldHM6IFwiMTBcIlxuICAgIHNlcnZpY2VzOiBcIjEwXCJcbiAgICBzZXJ2aWNlcy5sb2FkYmFsYW5jZXJzOiBcIjJcImAsXG4gICAgfSxcbiAgXSxcblxuICAndjEuTGltaXRSYW5nZSc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ01lbW9yeSBMaW1pdFJhbmdlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBMaW1pdFJhbmdlIGV4YW1wbGUgZm9yIGNvbnRhaW5lciBtZW1vcnkgbGltaXRzJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiB2MVxua2luZDogTGltaXRSYW5nZVxubWV0YWRhdGE6XG4gIG5hbWU6IG1lbS1saW1pdC1yYW5nZVxuc3BlYzpcbiAgbGltaXRzOlxuICAtIGRlZmF1bHQ6XG4gICAgICBtZW1vcnk6IDUxMk1pXG4gICAgZGVmYXVsdFJlcXVlc3Q6XG4gICAgICBtZW1vcnk6IDI1Nk1pXG4gICAgdHlwZTogQ29udGFpbmVyYCxcbiAgICB9LFxuICBdLFxuXG4gICdhcHBzL3YxLlN0YXRlZnVsU2V0JzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgU3RhdGVmdWxTZXQnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIFN0YXRlZnVsU2V0IGV4YW1wbGUgd2l0aCBwZXJzaXN0ZW50IHN0b3JhZ2UnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IGFwcHMvdjFcbmtpbmQ6IFN0YXRlZnVsU2V0XG5tZXRhZGF0YTpcbiAgbmFtZTogZXhhbXBsZVxuc3BlYzpcbiAgc2VydmljZU5hbWU6IFwiaHR0cGRcIlxuICByZXBsaWNhczogM1xuICBzZWxlY3RvcjpcbiAgICBtYXRjaExhYmVsczpcbiAgICAgIGFwcDogaHR0cGRcbiAgdGVtcGxhdGU6XG4gICAgbWV0YWRhdGE6XG4gICAgICBsYWJlbHM6XG4gICAgICAgIGFwcDogaHR0cGRcbiAgICBzcGVjOlxuICAgICAgdGVybWluYXRpb25HcmFjZVBlcmlvZFNlY29uZHM6IDEwXG4gICAgICBjb250YWluZXJzOlxuICAgICAgLSBuYW1lOiBodHRwZFxuICAgICAgICBpbWFnZTogbmdpbng6MS43LjlcbiAgICAgICAgcG9ydHM6XG4gICAgICAgIC0gY29udGFpbmVyUG9ydDogODA4MFxuICAgICAgICAgIG5hbWU6IHdlYlxuICAgICAgICB2b2x1bWVNb3VudHM6XG4gICAgICAgIC0gbmFtZTogd3d3XG4gICAgICAgICAgbW91bnRQYXRoOiAvdmFyL3d3dy9odG1sXG4gIHZvbHVtZUNsYWltVGVtcGxhdGVzOlxuICAtIG1ldGFkYXRhOlxuICAgICAgbmFtZTogd3d3XG4gICAgc3BlYzpcbiAgICAgIGFjY2Vzc01vZGVzOiBbIFwiUmVhZFdyaXRlT25jZVwiIF1cbiAgICAgIHN0b3JhZ2VDbGFzc05hbWU6IG15LXN0b3JhZ2UtY2xhc3NcbiAgICAgIHJlc291cmNlczpcbiAgICAgICAgcmVxdWVzdHM6XG4gICAgICAgICAgc3RvcmFnZTogMUdpYCxcbiAgICB9LFxuICBdLFxuXG4gICdzdG9yYWdlLms4cy5pby92MS5TdG9yYWdlQ2xhc3MnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdGYXN0IFN0b3JhZ2VDbGFzcycsXG4gICAgICBkZXNjcmlwdGlvbjogJ0NlcGggZmFzdCBzdG9yYWdlIGNsYXNzIGV4YW1wbGUnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IHN0b3JhZ2UuazhzLmlvL3YxXG5raW5kOiBTdG9yYWdlQ2xhc3Ncbm1ldGFkYXRhOlxuICBuYW1lOiBmYXN0XG5wcm92aXNpb25lcjoga3ViZXJuZXRlcy5pby9yYmRcbnBhcmFtZXRlcnM6XG4gIG1vbml0b3JzOiAxMC4xNi4xNTMuMTA1OjY3ODlcbiAgYWRtaW5JZDoga3ViZVxuICBhZG1pblNlY3JldE5hbWU6IGNlcGgtc2VjcmV0XG4gIGFkbWluU2VjcmV0TmFtZXNwYWNlOiBrdWJlLXN5c3RlbVxuICBwb29sOiBrdWJlXG4gIHVzZXJJZDoga3ViZVxuICB1c2VyU2VjcmV0TmFtZTogY2VwaC1zZWNyZXQtdXNlclxuYCxcbiAgICB9LFxuICBdLFxuXG4gICd2MS5TZWNyZXQnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBTZWNyZXQnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIFNlY3JldCBleGFtcGxlIHdpdGggdXNlcm5hbWUgYW5kIHBhc3N3b3JkJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiB2MVxua2luZDogU2VjcmV0XG5tZXRhZGF0YTpcbiAgbmFtZTogZXhhbXBsZVxudHlwZTogT3BhcXVlXG5zdHJpbmdEYXRhOlxuICB1c2VybmFtZTogYWRtaW5cbiAgcGFzc3dvcmQ6IG9wZW5zZXNhbWVgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ2FwcC5rOHMuaW8vdjFiZXRhMS5BcHBsaWNhdGlvbic6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIEFwcGxpY2F0aW9uJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBBcHBsaWNhdGlvbiBleGFtcGxlIHdpdGggRGVwbG95bWVudCBhbmQgU2VydmljZScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogYXBwcy92MVxua2luZDogRGVwbG95bWVudFxubWV0YWRhdGE6XG4gIGxhYmVsczpcbiAgICBhcHA6IG5naW54XG4gIG5hbWU6IG5naW54LWRlcGxveW1lbnRcbnNwZWM6XG4gIHJlcGxpY2FzOiAxXG4gIHNlbGVjdG9yOlxuICAgIG1hdGNoTGFiZWxzOlxuICAgICAgYXBwOiBuZ2lueFxuICB0ZW1wbGF0ZTpcbiAgICBtZXRhZGF0YTpcbiAgICAgIGxhYmVsczpcbiAgICAgICAgYXBwOiBuZ2lueFxuICAgIHNwZWM6XG4gICAgICBjb250YWluZXJzOlxuICAgICAgICAtIGltYWdlOiBuZ2lueDoxLjcuOVxuICAgICAgICAgIG5hbWU6IG5naW54XG4gICAgICAgICAgcG9ydHM6XG4gICAgICAgICAgICAtIGNvbnRhaW5lclBvcnQ6IDgwXG4tLS1cbmFwaVZlcnNpb246IHYxXG5raW5kOiBTZXJ2aWNlXG5tZXRhZGF0YTpcbiAgbGFiZWxzOlxuICAgIGFwcDogbmdpbnhcbiAgbmFtZTogbmdpbnhcbnNwZWM6XG4gIHBvcnRzOlxuICAgIC0gcG9ydDogODBcbiAgICAgIHByb3RvY29sOiBUQ1BcbiAgICAgIHRhcmdldFBvcnQ6IDgwXG4gIHNlbGVjdG9yOlxuICAgIGFwcDogbmdpbnhcbiAgdHlwZTogQ2x1c3RlcklQYCxcbiAgICB9LFxuICBdLFxufTtcbiJdfQ==