@alauda-fe/common 1.4.28-beta.2 → 1.4.28-beta.4

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 (29) hide show
  1. package/core/directives/scroll-to-first-invalid.directive.d.ts +1 -1
  2. package/esm2022/code/managed-fields-folder.util.mjs +21 -7
  3. package/esm2022/code/resource-yaml-display/component.mjs +12 -10
  4. package/esm2022/code/resource-yaml-editor/component.mjs +22 -18
  5. package/esm2022/code/yaml-sidebar/component.mjs +3 -3
  6. package/esm2022/exec/terminal-group/component.mjs +2 -2
  7. package/esm2022/multi-search/action-input/component.mjs +18 -18
  8. package/esm2022/multi-search/form/component.mjs +8 -12
  9. package/esm2022/multi-search/public-api.mjs +1 -2
  10. package/esm2022/multi-search/utils.mjs +2 -1
  11. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +3 -3
  12. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +6 -7
  13. package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +22 -19
  14. package/esm2022/page-scaffold/page/notices/notice.component.mjs +13 -11
  15. package/esm2022/page-scaffold/page/page.module.mjs +9 -10
  16. package/esm2022/widget/foldable-item-in-table/component.mjs +2 -2
  17. package/esm2022/widget/status-icon/status-icon.component.mjs +5 -5
  18. package/esm2022/widget/terminating-tag/component.mjs +2 -2
  19. package/esm2022/widget/zero-state/zero-state.component.mjs +5 -6
  20. package/multi-search/action-input/component.d.ts +4 -4
  21. package/multi-search/form/component.d.ts +0 -1
  22. package/multi-search/public-api.d.ts +0 -1
  23. package/multi-search/utils.d.ts +1 -0
  24. package/package.json +1 -1
  25. package/page-scaffold/navigation/nav-menu/nav-menu.component.d.ts +2 -2
  26. package/page-scaffold/page/notices/maintenance.component.d.ts +9 -5
  27. package/page-scaffold/page/page.module.d.ts +5 -4
  28. package/table/component.d.ts +1 -1
  29. package/widget/status-icon/status-icon.component.d.ts +1 -1
@@ -87,7 +87,7 @@ function ResourceYamlSidebarComponent_aui_tab_5_ng_container_2_div_1_div_6_p_7_T
87
87
  i0.ɵɵelementEnd()();
88
88
  } if (rf & 2) {
89
89
  i0.ɵɵadvance(2);
90
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, "view"), " ");
90
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, "view_detail"), " ");
91
91
  } }
92
92
  function ResourceYamlSidebarComponent_aui_tab_5_ng_container_2_div_1_div_6_Template(rf, ctx) { if (rf & 1) {
93
93
  i0.ɵɵelementStart(0, "div", 16)(1, "h3")(2, "span");
@@ -460,7 +460,7 @@ export class ResourceYamlSidebarComponent {
460
460
  IconModule,
461
461
  TabsModule,
462
462
  ButtonModule,
463
- ], template: "<div class=\"schema-header\">\n <span>{{ resourceKind }}</span>\n <aui-icon\n icon=\"xmark\"\n (click)=\"close.next()\"\n ></aui-icon>\n</div>\n<aui-tab-group type=\"card\">\n <aui-tab *ngIf=\"schemaEnable && hasSchema\">\n <ng-container *auiTabLabel> Schema </ng-container>\n <ng-container *auiTabContent>\n <div\n *ngIf=\"schema\"\n class=\"schema-content\"\n >\n <div\n *ngIf=\"schema.description\"\n class=\"schema-desc\"\n [innerHTML]=\"\n processDescription(schema.description | aclParseJsonTranslate)\n \"\n ></div>\n <div class=\"schema-path\">\n <ng-container *ngIf=\"path.length\">\n <a\n href=\"javascript:\"\n (click)=\"refresh()\"\n >{{ resourceKind }}</a\n >\n </ng-container>\n\n <ng-container *ngFor=\"let p of path; index as i; last as isLast\">\n <ng-container *ngIf=\"!isLast\">\n <span class=\"path-mark\">></span>\n <a\n href=\"javascript:\"\n (click)=\"navigateToPath(i)\"\n >{{ p }}</a\n >\n </ng-container>\n <ng-container *ngIf=\"isLast\">\n <span class=\"path-mark\">></span>\n <span>{{ p }}</span>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"schema-list\">\n <div\n *ngFor=\"let item of properties | keyvalue\"\n class=\"schema-item\"\n >\n <h3>\n <span>{{ item.key }}</span>\n <span class=\"obj-type\">{{ item.value.type }}</span>\n </h3>\n <p [innerHTML]=\"processDescription(item.value.description)\"></p>\n <p *ngIf=\"hasViewableContent(item.value)\">\n <a\n href=\"javascript:\"\n (click)=\"drillDownToProperty(item.key)\"\n >\n {{ 'view' | translate }}\n </a>\n </p>\n </div>\n </div>\n </div>\n </ng-container>\n </aui-tab>\n <aui-tab *ngIf=\"exampleEnable && hasExamples\">\n <ng-container *auiTabLabel> Examples </ng-container>\n <ng-container *auiTabContent>\n <div class=\"example-list\">\n <div\n *ngFor=\"let example of examples; let i = index\"\n class=\"example-item\"\n >\n <h3>\n {{ i + 1 }}. <span>{{ example.title }}</span>\n </h3>\n <p [innerHTML]=\"processDescription(example.description)\"></p>\n <p class=\"tw-flex tw-justify-between\">\n <a\n href=\"javascript:\"\n (click)=\"tryExample(example)\"\n >\n <aui-icon\n icon=\"arrow_turn_up\"\n size=\"14\"\n margin=\"right\"\n ></aui-icon>\n <span>Try it</span>\n </a>\n <a\n href=\"javascript:\"\n (click)=\"downloadYaml(example)\"\n >\n <aui-icon\n icon=\"download\"\n size=\"14\"\n margin=\"right\"\n ></aui-icon>\n <span>Download YAML</span>\n </a>\n </p>\n </div>\n </div>\n </ng-container>\n </aui-tab>\n</aui-tab-group>\n", styles: [":host{display:block;box-sizing:border-box;min-width:360px;padding:16px;background-color:rgb(var(--aui-color-n-10));box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);margin-left:12px;overflow-y:scroll}:host::-webkit-scrollbar{width:8px;height:4px}:host::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgb(var(--aui-color-n-7))}:host::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--aui-color-n-5))}:host::-webkit-scrollbar-corner{background-color:transparent}aui-tab-group{display:block;margin-top:5px}.schema-header{height:40px;display:flex;justify-content:space-between;align-items:center;font-size:18px}.schema-header aui-icon{font-size:16px;color:rgb(var(--aui-color-n-6));cursor:pointer}.schema-header aui-icon:hover{color:rgb(var(--aui-color-primary))}.schema-content{line-height:20px;overflow-y:auto;height:calc(100% - 40px)}.schema-content::-webkit-scrollbar{width:8px;height:4px}.schema-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgb(var(--aui-color-n-7))}.schema-content::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--aui-color-n-5))}.schema-content::-webkit-scrollbar-corner{background-color:transparent}.schema-desc{margin-bottom:12px}.schema-desc a{color:#007bff;text-decoration:none}.schema-desc a:hover{text-decoration:underline}.schema-path{display:flex;flex-wrap:wrap;margin-bottom:12px}.schema-path *{margin-left:2px;word-break:break-all}.schema-path span:first-child{margin-right:2px}.schema-path .path-mark{margin:0 4px;color:rgb(var(--aui-color-n-6))}.schema-list .schema-item,.schema-list .example-item,.example-list .schema-item,.example-list .example-item{padding-left:16px}.schema-list .schema-item:not(:last-of-type),.schema-list .example-item:not(:last-of-type),.example-list .schema-item:not(:last-of-type),.example-list .example-item:not(:last-of-type){border-bottom:1px solid rgb(var(--aui-color-border));margin-bottom:12px}.schema-list .schema-item h3:before,.example-list .schema-item h3:before{content:\"\";display:block;width:6px;height:6px;border-radius:50%;background-color:rgb(var(--aui-color-n-6));position:absolute;left:-12px;top:8px}.schema-list h3,.example-list h3{position:relative;font-weight:500;margin-bottom:12px;word-break:break-word}.schema-list h3 span,.example-list h3 span{margin-right:4px}.schema-list h3 .obj-type,.example-list h3 .obj-type{color:rgb(var(--aui-color-n-4))}.schema-list p,.example-list p{margin-bottom:12px;word-break:break-word}.schema-list p a,.example-list p a{color:#007bff;text-decoration:none}.schema-list p a:hover,.example-list p a:hover{text-decoration:underline}.schema-examples{padding:16px}.examples-header{margin-bottom:16px}.examples-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.examples-content .examples-list .example-item{margin-bottom:24px;border:1px solid #e1e5e9;border-radius:6px;overflow:hidden}.examples-content .examples-list .example-item:last-child{margin-bottom:0}.examples-content .examples-list .example-item .example-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f8f9fa;border-bottom:1px solid #e1e5e9}.examples-content .examples-list .example-item .example-header .example-title{margin:0;font-size:16px;font-weight:600;color:#333}.examples-content .examples-list .example-item .example-header .example-actions{display:flex;gap:8px}.examples-content .examples-list .example-item .example-header .example-actions .btn{padding:4px 12px;font-size:12px;border-radius:4px;cursor:pointer;transition:all .2s ease}.examples-content .examples-list .example-item .example-header .example-actions .btn.btn-outline-primary{color:#007bff;border:1px solid #007bff;background-color:transparent}.examples-content .examples-list .example-item .example-header .example-actions .btn.btn-outline-primary:hover{color:#fff;background-color:#007bff}.examples-content .examples-list .example-item .example-header .example-actions .btn.btn-outline-secondary{color:#6c757d;border:1px solid #6c757d;background-color:transparent}.examples-content .examples-list .example-item .example-header .example-actions .btn.btn-outline-secondary:hover{color:#fff;background-color:#6c757d}.examples-content .examples-list .example-item .example-description{padding:12px 16px;color:#666;font-size:14px;line-height:1.5;border-bottom:1px solid #e1e5e9}.examples-content .examples-list .example-item .example-description a{color:#007bff;text-decoration:none}.examples-content .examples-list .example-item .example-description a:hover{text-decoration:underline}.examples-content .examples-list .example-item .example-yaml{background-color:#f8f9fa}.examples-content .examples-list .example-item .example-yaml pre{margin:0;padding:16px;background-color:transparent;border:none;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.4;color:#333;overflow-x:auto}.examples-content .examples-list .example-item .example-yaml pre code{background-color:transparent;padding:0;color:inherit}\n"] }]
463
+ ], template: "<div class=\"schema-header\">\n <span>{{ resourceKind }}</span>\n <aui-icon\n icon=\"xmark\"\n (click)=\"close.next()\"\n ></aui-icon>\n</div>\n<aui-tab-group type=\"card\">\n <aui-tab *ngIf=\"schemaEnable && hasSchema\">\n <ng-container *auiTabLabel> Schema </ng-container>\n <ng-container *auiTabContent>\n <div\n *ngIf=\"schema\"\n class=\"schema-content\"\n >\n <div\n *ngIf=\"schema.description\"\n class=\"schema-desc\"\n [innerHTML]=\"\n processDescription(schema.description | aclParseJsonTranslate)\n \"\n ></div>\n <div class=\"schema-path\">\n <ng-container *ngIf=\"path.length\">\n <a\n href=\"javascript:\"\n (click)=\"refresh()\"\n >{{ resourceKind }}</a\n >\n </ng-container>\n\n <ng-container *ngFor=\"let p of path; index as i; last as isLast\">\n <ng-container *ngIf=\"!isLast\">\n <span class=\"path-mark\">></span>\n <a\n href=\"javascript:\"\n (click)=\"navigateToPath(i)\"\n >{{ p }}</a\n >\n </ng-container>\n <ng-container *ngIf=\"isLast\">\n <span class=\"path-mark\">></span>\n <span>{{ p }}</span>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"schema-list\">\n <div\n *ngFor=\"let item of properties | keyvalue\"\n class=\"schema-item\"\n >\n <h3>\n <span>{{ item.key }}</span>\n <span class=\"obj-type\">{{ item.value.type }}</span>\n </h3>\n <p [innerHTML]=\"processDescription(item.value.description)\"></p>\n <p *ngIf=\"hasViewableContent(item.value)\">\n <a\n href=\"javascript:\"\n (click)=\"drillDownToProperty(item.key)\"\n >\n {{ 'view_detail' | translate }}\n </a>\n </p>\n </div>\n </div>\n </div>\n </ng-container>\n </aui-tab>\n <aui-tab *ngIf=\"exampleEnable && hasExamples\">\n <ng-container *auiTabLabel> Examples </ng-container>\n <ng-container *auiTabContent>\n <div class=\"example-list\">\n <div\n *ngFor=\"let example of examples; let i = index\"\n class=\"example-item\"\n >\n <h3>\n {{ i + 1 }}. <span>{{ example.title }}</span>\n </h3>\n <p [innerHTML]=\"processDescription(example.description)\"></p>\n <p class=\"tw-flex tw-justify-between\">\n <a\n href=\"javascript:\"\n (click)=\"tryExample(example)\"\n >\n <aui-icon\n icon=\"arrow_turn_up\"\n size=\"14\"\n margin=\"right\"\n ></aui-icon>\n <span>Try it</span>\n </a>\n <a\n href=\"javascript:\"\n (click)=\"downloadYaml(example)\"\n >\n <aui-icon\n icon=\"download\"\n size=\"14\"\n margin=\"right\"\n ></aui-icon>\n <span>Download YAML</span>\n </a>\n </p>\n </div>\n </div>\n </ng-container>\n </aui-tab>\n</aui-tab-group>\n", styles: [":host{display:block;box-sizing:border-box;min-width:360px;padding:16px;background-color:rgb(var(--aui-color-n-10));box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);margin-left:12px;overflow-y:scroll}:host::-webkit-scrollbar{width:8px;height:4px}:host::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgb(var(--aui-color-n-7))}:host::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--aui-color-n-5))}:host::-webkit-scrollbar-corner{background-color:transparent}aui-tab-group{display:block;margin-top:5px}.schema-header{height:40px;display:flex;justify-content:space-between;align-items:center;font-size:18px}.schema-header aui-icon{font-size:16px;color:rgb(var(--aui-color-n-6));cursor:pointer}.schema-header aui-icon:hover{color:rgb(var(--aui-color-primary))}.schema-content{line-height:20px;overflow-y:auto;height:calc(100% - 40px)}.schema-content::-webkit-scrollbar{width:8px;height:4px}.schema-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgb(var(--aui-color-n-7))}.schema-content::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--aui-color-n-5))}.schema-content::-webkit-scrollbar-corner{background-color:transparent}.schema-desc{margin-bottom:12px}.schema-desc a{color:#007bff;text-decoration:none}.schema-desc a:hover{text-decoration:underline}.schema-path{display:flex;flex-wrap:wrap;margin-bottom:12px}.schema-path *{margin-left:2px;word-break:break-all}.schema-path span:first-child{margin-right:2px}.schema-path .path-mark{margin:0 4px;color:rgb(var(--aui-color-n-6))}.schema-list .schema-item,.schema-list .example-item,.example-list .schema-item,.example-list .example-item{padding-left:16px}.schema-list .schema-item:not(:last-of-type),.schema-list .example-item:not(:last-of-type),.example-list .schema-item:not(:last-of-type),.example-list .example-item:not(:last-of-type){border-bottom:1px solid rgb(var(--aui-color-border));margin-bottom:12px}.schema-list .schema-item h3:before,.example-list .schema-item h3:before{content:\"\";display:block;width:6px;height:6px;border-radius:50%;background-color:rgb(var(--aui-color-n-6));position:absolute;left:-12px;top:8px}.schema-list h3,.example-list h3{position:relative;font-weight:500;margin-bottom:12px;word-break:break-word}.schema-list h3 span,.example-list h3 span{margin-right:4px}.schema-list h3 .obj-type,.example-list h3 .obj-type{color:rgb(var(--aui-color-n-4))}.schema-list p,.example-list p{margin-bottom:12px;word-break:break-word}.schema-list p a,.example-list p a{color:#007bff;text-decoration:none}.schema-list p a:hover,.example-list p a:hover{text-decoration:underline}.schema-examples{padding:16px}.examples-header{margin-bottom:16px}.examples-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.examples-content .examples-list .example-item{margin-bottom:24px;border:1px solid #e1e5e9;border-radius:6px;overflow:hidden}.examples-content .examples-list .example-item:last-child{margin-bottom:0}.examples-content .examples-list .example-item .example-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f8f9fa;border-bottom:1px solid #e1e5e9}.examples-content .examples-list .example-item .example-header .example-title{margin:0;font-size:16px;font-weight:600;color:#333}.examples-content .examples-list .example-item .example-header .example-actions{display:flex;gap:8px}.examples-content .examples-list .example-item .example-header .example-actions .btn{padding:4px 12px;font-size:12px;border-radius:4px;cursor:pointer;transition:all .2s ease}.examples-content .examples-list .example-item .example-header .example-actions .btn.btn-outline-primary{color:#007bff;border:1px solid #007bff;background-color:transparent}.examples-content .examples-list .example-item .example-header .example-actions .btn.btn-outline-primary:hover{color:#fff;background-color:#007bff}.examples-content .examples-list .example-item .example-header .example-actions .btn.btn-outline-secondary{color:#6c757d;border:1px solid #6c757d;background-color:transparent}.examples-content .examples-list .example-item .example-header .example-actions .btn.btn-outline-secondary:hover{color:#fff;background-color:#6c757d}.examples-content .examples-list .example-item .example-description{padding:12px 16px;color:#666;font-size:14px;line-height:1.5;border-bottom:1px solid #e1e5e9}.examples-content .examples-list .example-item .example-description a{color:#007bff;text-decoration:none}.examples-content .examples-list .example-item .example-description a:hover{text-decoration:underline}.examples-content .examples-list .example-item .example-yaml{background-color:#f8f9fa}.examples-content .examples-list .example-item .example-yaml pre{margin:0;padding:16px;background-color:transparent;border:none;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.4;color:#333;overflow-x:auto}.examples-content .examples-list .example-item .example-yaml pre code{background-color:transparent;padding:0;color:inherit}\n"] }]
464
464
  }], () => [{ type: i1.KubernetesSchemaService }, { type: i2.HttpClient }, { type: i0.ChangeDetectorRef }], { resource: [{
465
465
  type: Input
466
466
  }], schema: [{
@@ -479,4 +479,4 @@ export class ResourceYamlSidebarComponent {
479
479
  type: Input
480
480
  }] }); })();
481
481
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ResourceYamlSidebarComponent, { className: "ResourceYamlSidebarComponent" }); })();
482
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvZGUveWFtbC1zaWRlYmFyL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb2RlL3lhbWwtc2lkZWJhci90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBSUwsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUd4RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztJQ1p0RCw2QkFBMkI7SUFBQyx3QkFBTzs7OztJQU0vQiwwQkFNTzs7OztJQUhMLHlIQUVDOzs7O0lBR0QsNkJBQWtDO0lBQ2hDLDZCQUdHO0lBREQsNE5BQVMsZ0JBQVMsS0FBQztJQUNsQixZQUFrQjtJQUFBLGlCQUNwQjs7OztJQURFLGVBQWtCO0lBQWxCLHlDQUFrQjs7OztJQUtyQiw2QkFBOEI7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QTJCO1lBOER6QixBQTdEQSxxRkFBMkMsd0VBNkRHO1lBd0NoRCxpQkFBZ0I7O1lBNUdSLGVBQWtCO1lBQWxCLHNDQUFrQjtZQU9kLGVBQStCO1lBQS9CLHdEQUErQjtZQTZEL0IsY0FBa0M7WUFBbEMsMkRBQWtDOzRCRHJDMUMsSUFBSTtZQUNKLE9BQU87WUFDUCxZQUFZLG9CQUVaLHNCQUFzQjtZQUN0QixVQUFVLG9CQUNWLFVBQVUsdUZBQ1YsWUFBWTs7aUZBR0gsNEJBQTRCO2NBakJ4QyxTQUFTOzJCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7b0JBQ1AsSUFBSTtvQkFDSixPQUFPO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixzQkFBc0I7b0JBQ3RCLFVBQVU7b0JBQ1YsVUFBVTtvQkFDVixZQUFZO2lCQUNiO2lIQUlELFFBQVE7a0JBRFAsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSzs7SUFJTiw0REFBNEQ7SUFDNUQsS0FBSztrQkFGSixNQUFNO1lBS1AsT0FBTztrQkFETixNQUFNO1lBSVAsWUFBWTtrQkFEWCxLQUFLO1lBSU4sYUFBYTtrQkFEWixLQUFLO1lBSU4sYUFBYTtrQkFEWixLQUFLOztrRkFwQkssNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWNvbk1vZHVsZSwgVGFic01vZHVsZSwgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBOZ0lmLCBOZ0Zvck9mLCBLZXlWYWx1ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBtYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUGFyc2VKc29uVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL2NvcmUvcGlwZXMvcGFyc2UtanNvbi10cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBLdWJlcm5ldGVzU2NoZW1hU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMva3ViZXJuZXRlcy1zY2hlbWEuc2VydmljZSc7XG5pbXBvcnQgeyBLdWJlcm5ldGVzUmVzb3VyY2UgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2s4cy9jb3JlJztcbmltcG9ydCB7IE9wZW5BUElWM1NjaGVtYU9iamVjdCB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvc2NoZW1hJztcbmltcG9ydCB7IFRSQU5TTEFURV9NT0RVTEUgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvdHJhbnNsYXRlLm1vZHVsZSc7XG5pbXBvcnQgeyBCVUlMVF9JTl9ZQU1MX0VYQU1QTEVTIH0gZnJvbSAnLi4veWFtbC1leGFtcGxlcyc7XG5cbmltcG9ydCB7IFlhbWxFeGFtcGxlLCBDb25zb2xlWUFNTFNhbXBsZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcmVzb3VyY2UteWFtbC1zaWRlYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlcy5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0Zvck9mLFxuICAgIEtleVZhbHVlUGlwZSxcbiAgICBUUkFOU0xBVEVfTU9EVUxFLFxuICAgIFBhcnNlSnNvblRyYW5zbGF0ZVBpcGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VZYW1sU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZTtcblxuICBASW5wdXQoKVxuICBzY2hlbWE6IE9wZW5BUElWM1NjaGVtYU9iamVjdDtcblxuICBAT3V0cHV0KClcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICB0cnlZYW1sID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQElucHV0KClcbiAgc2NoZW1hRW5hYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBleGFtcGxlRW5hYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBleHRyYUV4YW1wbGVzOiBZYW1sRXhhbXBsZVtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgREVGSU5JVElPTlNfUFJFRklYID0gJyMvZGVmaW5pdGlvbnMvJztcblxuICBjdXJyZW50U2NoZW1hOiBPcGVuQVBJVjNTY2hlbWFPYmplY3Q7XG4gIHByb3BlcnRpZXM6IHsgW2tleTogc3RyaW5nXTogT3BlbkFQSVYzU2NoZW1hT2JqZWN0IH07XG4gIHBhdGg6IHN0cmluZ1tdID0gW107XG4gIHJlc291cmNlS2luZDogc3RyaW5nO1xuICBleGFtcGxlczogWWFtbEV4YW1wbGVbXSA9IFtdO1xuICBoYXNTY2hlbWEgPSBmYWxzZTtcbiAgaGFzRXhhbXBsZXMgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNjaGVtYVNlcnZpY2U6IEt1YmVybmV0ZXNTY2hlbWFTZXJ2aWNlLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB0aGlzLmxvYWRFeGFtcGxlcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLnNjaGVtYSB8fCBjaGFuZ2VzLnJlc291cmNlKSB7XG4gICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICAgIHRoaXMubG9hZEV4YW1wbGVzKCk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICBpZiAodGhpcy5zY2hlbWEpIHtcbiAgICAgIHRoaXMuY3VycmVudFNjaGVtYSA9IHRoaXMuc2NoZW1hO1xuICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gdGhpcy5zY2hlbWEucHJvcGVydGllcyB8fCB7fTtcbiAgICAgIHRoaXMucGF0aCA9IFtdO1xuICAgICAgdGhpcy5oYXNTY2hlbWEgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhc1NjaGVtYSA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc291cmNlKSB7XG4gICAgICB0aGlzLnJlc291cmNlS2luZCA9IHRoaXMucmVzb3VyY2Uua2luZCB8fCAnUmVzb3VyY2UnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZEV4YW1wbGVzKCkge1xuICAgIGlmICghdGhpcy5yZXNvdXJjZSkge1xuICAgICAgdGhpcy5leGFtcGxlcyA9IFtdO1xuICAgICAgdGhpcy5oYXNFeGFtcGxlcyA9IGZhbHNlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb3VyY2VLZXkgPSBgJHt0aGlzLnJlc291cmNlLmFwaVZlcnNpb259LiR7dGhpcy5yZXNvdXJjZS5raW5kfWA7XG4gICAgY29uc3QgYnVpbHRJbkV4YW1wbGVzID0gQlVJTFRfSU5fWUFNTF9FWEFNUExFU1tyZXNvdXJjZUtleV0gfHwgW107XG5cbiAgICAvLyDliqDovb0gQ29uc29sZVlBTUxTYW1wbGUgQ1JEIOS4reeahOekuuS+i1xuICAgIHRoaXMubG9hZENvbnNvbGVZQU1MU2FtcGxlcygpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBjcmRFeGFtcGxlcyA9PiB7XG4gICAgICAgIHRoaXMuZXhhbXBsZXMgPSBbXG4gICAgICAgICAgLi4uYnVpbHRJbkV4YW1wbGVzLFxuICAgICAgICAgIC4uLih0aGlzLmV4dHJhRXhhbXBsZXMgfHwgW10pLFxuICAgICAgICAgIC4uLmNyZEV4YW1wbGVzLFxuICAgICAgICBdO1xuICAgICAgICB0aGlzLmhhc0V4YW1wbGVzID0gdGhpcy5leGFtcGxlcy5sZW5ndGggPiAwO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAvLyDlpoLmnpzliqDovb0gQ1JEIOekuuS+i+Wksei0pe+8jOWPquS9v+eUqOWGhee9ruekuuS+i1xuICAgICAgICB0aGlzLmV4YW1wbGVzID0gYnVpbHRJbkV4YW1wbGVzO1xuICAgICAgICB0aGlzLmhhc0V4YW1wbGVzID0gdGhpcy5leGFtcGxlcy5sZW5ndGggPiAwO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRDb25zb2xlWUFNTFNhbXBsZXMoKTogT2JzZXJ2YWJsZTxZYW1sRXhhbXBsZVtdPiB7XG4gICAgaWYgKCF0aGlzLnJlc291cmNlKSB7XG4gICAgICByZXR1cm4gb2YoW10pO1xuICAgIH1cblxuICAgIC8vIOaehOW7uuafpeivoiBDb25zb2xlWUFNTFNhbXBsZSDnmoQgQVBJIOi3r+W+hFxuICAgIGNvbnN0IGFwaVBhdGggPSAnL2FwaXMvY29uc29sZS5hbGF1ZGEuaW8vdjEvY29uc29sZXlhbWxzYW1wbGVzJztcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgaXRlbXM6IENvbnNvbGVZQU1MU2FtcGxlW10gfT4oYXBpUGF0aCkucGlwZShcbiAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5pdGVtc1xuICAgICAgICAgIC5maWx0ZXIoc2FtcGxlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHNhbXBsZS5zcGVjLnRhcmdldFJlc291cmNlO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgdGFyZ2V0LmFwaVZlcnNpb24gPT09IHRoaXMucmVzb3VyY2UuYXBpVmVyc2lvbiAmJlxuICAgICAgICAgICAgICB0YXJnZXQua2luZCA9PT0gdGhpcy5yZXNvdXJjZS5raW5kXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLm1hcChzYW1wbGUgPT4gKHtcbiAgICAgICAgICAgIHRpdGxlOiBzYW1wbGUuc3BlYy50aXRsZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzYW1wbGUuc3BlYy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHlhbWw6IHNhbXBsZS5zcGVjLnlhbWwsXG4gICAgICAgICAgICBzbmlwcGV0OiBzYW1wbGUuc3BlYy5zbmlwcGV0LFxuICAgICAgICAgIH0pKTtcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpLFxuICAgICk7XG4gIH1cblxuICBkcmlsbERvd25Ub1Byb3BlcnR5KG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gdGhpcy5jdXJyZW50U2NoZW1hLnByb3BlcnRpZXM/LltuYW1lXTtcbiAgICBpZiAocHJvcGVydHkpIHtcbiAgICAgIGxldCB0YXJnZXRTY2hlbWE6IE9wZW5BUElWM1NjaGVtYU9iamVjdCB8IG51bGwgPSBudWxsO1xuICAgICAgLy8g5aSE55CGICRyZWYg5byV55SoXG4gICAgICBpZiAoKHByb3BlcnR5IGFzIGFueSkuJHJlZikge1xuICAgICAgICBjb25zdCByZWYgPSAocHJvcGVydHkgYXMgYW55KS4kcmVmIGFzIHN0cmluZztcblxuICAgICAgICBpZiAocmVmLnN0YXJ0c1dpdGgodGhpcy5ERUZJTklUSU9OU19QUkVGSVgpKSB7XG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvbk5hbWUgPSByZWYucmVwbGFjZSh0aGlzLkRFRklOSVRJT05TX1BSRUZJWCwgJycpO1xuICAgICAgICAgIC8vIOS7juaguSBzY2hlbWEg55qEIGRlZmluaXRpb25zIOS4reiOt+WPluWumuS5iVxuICAgICAgICAgIGNvbnN0IHJvb3REZWZpbml0aW9ucyA9IHRoaXMuc2NoZW1hU2VydmljZS5kZWZpbml0aW9ucztcbiAgICAgICAgICB0YXJnZXRTY2hlbWEgPSByb290RGVmaW5pdGlvbnM/LltkZWZpbml0aW9uTmFtZV0gfHwgbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8g5aSE55CG5pmu6YCa55qE5bWM5aWX5bGe5oCnXG4gICAgICBlbHNlIGlmIChwcm9wZXJ0eS5wcm9wZXJ0aWVzIHx8IHByb3BlcnR5Lml0ZW1zPy5wcm9wZXJ0aWVzKSB7XG4gICAgICAgIHRhcmdldFNjaGVtYSA9IHByb3BlcnR5Lml0ZW1zPy5wcm9wZXJ0aWVzID8gcHJvcGVydHkuaXRlbXMgOiBwcm9wZXJ0eTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRhcmdldFNjaGVtYSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRTY2hlbWEgPSB0YXJnZXRTY2hlbWE7XG4gICAgICAgIHRoaXMucGF0aC5wdXNoKG5hbWUpO1xuICAgICAgICB0aGlzLnByb3BlcnRpZXMgPSB0YXJnZXRTY2hlbWEucHJvcGVydGllcyB8fCB7fTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0ZVRvUGF0aChpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgdGFyZ2V0UGF0aCA9IHRoaXMucGF0aC5zbGljZSgwLCBpbmRleCArIDEpO1xuICAgIHRoaXMucGF0aCA9IFsuLi50YXJnZXRQYXRoXTtcblxuICAgIGxldCBjdXJyZW50T2JqID0gdGhpcy5zY2hlbWE7XG4gICAgZm9yIChjb25zdCBwYXRoU2VnbWVudCBvZiB0YXJnZXRQYXRoKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0eSA9IGN1cnJlbnRPYmoucHJvcGVydGllcz8uW3BhdGhTZWdtZW50XTtcbiAgICAgIGlmIChwcm9wZXJ0eSkge1xuICAgICAgICAvLyDlpITnkIYgJHJlZiDlvJXnlKhcbiAgICAgICAgaWYgKChwcm9wZXJ0eSBhcyBhbnkpLiRyZWYpIHtcbiAgICAgICAgICBjb25zdCByZWYgPSAocHJvcGVydHkgYXMgYW55KS4kcmVmIGFzIHN0cmluZztcbiAgICAgICAgICBpZiAocmVmLnN0YXJ0c1dpdGgodGhpcy5ERUZJTklUSU9OU19QUkVGSVgpKSB7XG4gICAgICAgICAgICBjb25zdCBkZWZpbml0aW9uTmFtZSA9IHJlZi5yZXBsYWNlKHRoaXMuREVGSU5JVElPTlNfUFJFRklYLCAnJyk7XG4gICAgICAgICAgICBjb25zdCByb290RGVmaW5pdGlvbnMgPSAodGhpcy5zY2hlbWEgYXMgYW55KT8uZGVmaW5pdGlvbnM7XG4gICAgICAgICAgICBjb25zdCBkZWZpbml0aW9uID0gcm9vdERlZmluaXRpb25zPy5bZGVmaW5pdGlvbk5hbWVdO1xuICAgICAgICAgICAgaWYgKGRlZmluaXRpb24pIHtcbiAgICAgICAgICAgICAgY3VycmVudE9iaiA9IGRlZmluaXRpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIOWkhOeQhuaZrumAmueahOW1jOWll+WxnuaAp1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBjdXJyZW50T2JqID0gcHJvcGVydHkuaXRlbXM/LnByb3BlcnRpZXMgPyBwcm9wZXJ0eS5pdGVtcyA6IHByb3BlcnR5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50U2NoZW1hID0gY3VycmVudE9iajtcbiAgICB0aGlzLnByb3BlcnRpZXMgPSBjdXJyZW50T2JqLnByb3BlcnRpZXMgfHwge307XG4gIH1cblxuICBoYXNOZXN0ZWRQcm9wZXJ0aWVzKHByb3BlcnR5OiBPcGVuQVBJVjNTY2hlbWFPYmplY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHByb3BlcnR5LnR5cGUgPT09ICdvYmplY3QnICYmXG4gICAgICAgIHByb3BlcnR5LnByb3BlcnRpZXMgJiZcbiAgICAgICAgT2JqZWN0LmtleXMocHJvcGVydHkucHJvcGVydGllcykubGVuZ3RoID4gMCkgfHxcbiAgICAgIChwcm9wZXJ0eS50eXBlID09PSAnYXJyYXknICYmXG4gICAgICAgIHByb3BlcnR5Lml0ZW1zICYmXG4gICAgICAgIHR5cGVvZiBwcm9wZXJ0eS5pdGVtcyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgKHByb3BlcnR5Lml0ZW1zIGFzIE9wZW5BUElWM1NjaGVtYU9iamVjdCkucHJvcGVydGllcyAmJlxuICAgICAgICBPYmplY3Qua2V5cygocHJvcGVydHkuaXRlbXMgYXMgT3BlbkFQSVYzU2NoZW1hT2JqZWN0KS5wcm9wZXJ0aWVzIHx8IHt9KVxuICAgICAgICAgIC5sZW5ndGggPiAwKVxuICAgICk7XG4gIH1cblxuICBnZXRQcm9wZXJ0eVR5cGUocHJvcGVydHk6IE9wZW5BUElWM1NjaGVtYU9iamVjdCk6IHN0cmluZyB7XG4gICAgaWYgKHByb3BlcnR5LnR5cGUpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BlcnR5LnR5cGUpKSB7XG4gICAgICAgIHJldHVybiBwcm9wZXJ0eS50eXBlLmpvaW4oJyB8ICcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb3BlcnR5LnR5cGU7XG4gICAgfVxuICAgIHJldHVybiAndW5rbm93bic7XG4gIH1cblxuICBpc1JlcXVpcmVkKHByb3BlcnR5TmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFNjaGVtYT8ucmVxdWlyZWQ/LmluY2x1ZGVzKHByb3BlcnR5TmFtZSkgfHwgZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICog5qOA5p+l5bGe5oCn5piv5ZCm5pyJICRyZWYg5byV55So5oiW5bWM5aWX5bGe5oCnXG4gICAqL1xuICBoYXNWaWV3YWJsZUNvbnRlbnQocHJvcGVydHk6IE9wZW5BUElWM1NjaGVtYU9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAvLyDmnIkgcHJvcGVydGllcyDnmoTlr7nosaFcbiAgICAgIChwcm9wZXJ0eS50eXBlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICBwcm9wZXJ0eS5wcm9wZXJ0aWVzICYmXG4gICAgICAgIE9iamVjdC5rZXlzKHByb3BlcnR5LnByb3BlcnRpZXMpLmxlbmd0aCA+IDApIHx8XG4gICAgICAvLyDmnIkgcHJvcGVydGllcyDnmoTmlbDnu4TpoblcbiAgICAgIChwcm9wZXJ0eS50eXBlID09PSAnYXJyYXknICYmXG4gICAgICAgIHByb3BlcnR5Lml0ZW1zICYmXG4gICAgICAgIHR5cGVvZiBwcm9wZXJ0eS5pdGVtcyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgKHByb3BlcnR5Lml0ZW1zIGFzIE9wZW5BUElWM1NjaGVtYU9iamVjdCkucHJvcGVydGllcyAmJlxuICAgICAgICBPYmplY3Qua2V5cygocHJvcGVydHkuaXRlbXMgYXMgT3BlbkFQSVYzU2NoZW1hT2JqZWN0KS5wcm9wZXJ0aWVzIHx8IHt9KVxuICAgICAgICAgIC5sZW5ndGggPiAwKSB8fFxuICAgICAgLy8g5pyJICRyZWYg5byV55SoXG4gICAgICAhIShwcm9wZXJ0eSBhcyBhbnkpLiRyZWZcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOajgOafpeWxnuaAp+aYr+WQpuaciSAkcmVmIOW8leeUqFxuICAgKi9cbiAgaGFzUmVmUHJvcGVydHkocHJvcGVydHk6IE9wZW5BUElWM1NjaGVtYU9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShwcm9wZXJ0eSBhcyBhbnkpLiRyZWY7XG4gIH1cblxuICAvKipcbiAgICog6I635Y+WICRyZWYg5byV55So55qE5a6a5LmJ5ZCN56ewXG4gICAqL1xuICBnZXRSZWZEZWZpbml0aW9uTmFtZShwcm9wZXJ0eTogT3BlbkFQSVYzU2NoZW1hT2JqZWN0KTogc3RyaW5nIHtcbiAgICBjb25zdCByZWYgPSAocHJvcGVydHkgYXMgYW55KS4kcmVmO1xuICAgIGlmIChyZWYgJiYgdHlwZW9mIHJlZiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIOS7jiBcIiMvZGVmaW5pdGlvbnMvaW8uazhzLmFwaS5hcHBzLnYxLkRlcGxveW1lbnRTcGVjXCIg5Lit5o+Q5Y+W5a6a5LmJ5ZCN56ewXG4gICAgICBpZiAocmVmLnN0YXJ0c1dpdGgodGhpcy5ERUZJTklUSU9OU19QUkVGSVgpKSB7XG4gICAgICAgIHJldHVybiByZWYucmVwbGFjZSh0aGlzLkRFRklOSVRJT05TX1BSRUZJWCwgJycpO1xuICAgICAgfVxuICAgICAgY29uc3QgcGFydHMgPSByZWYuc3BsaXQoJy8nKTtcbiAgICAgIHJldHVybiBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSB8fCByZWY7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8vIEV4YW1wbGVzIOebuOWFs+aWueazlVxuICB0cnlFeGFtcGxlKGV4YW1wbGU6IFlhbWxFeGFtcGxlKSB7XG4gICAgLy8g6Kem5Y+R5LqL5Lu277yM6K6p54i257uE5Lu25aSE55CGIHRyeSBpdCDlip/og73vvIzlsIYgWUFNTCDlhoXlrrnlj5HpgIHnu5nniLbnu4Tku7ZcbiAgICB0aGlzLnRyeVlhbWwuZW1pdChleGFtcGxlLnlhbWwpO1xuICB9XG5cbiAgZG93bmxvYWRZYW1sKGV4YW1wbGU6IFlhbWxFeGFtcGxlKSB7XG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtleGFtcGxlLnlhbWxdLCB7IHR5cGU6ICd0ZXh0L3lhbWwnIH0pO1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID0gdXJsO1xuICAgIGxpbmsuZG93bmxvYWQgPSBgJHtleGFtcGxlLnRpdGxlLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxzKy9nLCAnLScpfS55YW1sYDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgIGxpbmsuY2xpY2soKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gIH1cblxuICAvLyDlpITnkIbmj4/ov7DkuK3nmoTpk77mjqVcbiAgcHJvY2Vzc0Rlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghZGVzY3JpcHRpb24pIHJldHVybiAnJztcblxuICAgIC8vIOWwhiBVUkwg6L2s5o2i5Li65Y+v54K55Ye755qE6ZO+5o6lXG4gICAgY29uc3QgdXJsUmVnZXggPSAvKGh0dHBzPzpcXC9cXC9bXlxcc10rKS9nO1xuICAgIHJldHVybiBkZXNjcmlwdGlvbi5yZXBsYWNlKFxuICAgICAgdXJsUmVnZXgsXG4gICAgICAnPGEgaHJlZj1cIiQxXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPiQxPC9hPicsXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNjaGVtYS1oZWFkZXJcIj5cbiAgPHNwYW4+e3sgcmVzb3VyY2VLaW5kIH19PC9zcGFuPlxuICA8YXVpLWljb25cbiAgICBpY29uPVwieG1hcmtcIlxuICAgIChjbGljayk9XCJjbG9zZS5uZXh0KClcIlxuICA+PC9hdWktaWNvbj5cbjwvZGl2PlxuPGF1aS10YWItZ3JvdXAgdHlwZT1cImNhcmRcIj5cbiAgPGF1aS10YWIgKm5nSWY9XCJzY2hlbWFFbmFibGUgJiYgaGFzU2NoZW1hXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqYXVpVGFiTGFiZWw+IFNjaGVtYSA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICphdWlUYWJDb250ZW50PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNjaGVtYVwiXG4gICAgICAgIGNsYXNzPVwic2NoZW1hLWNvbnRlbnRcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJzY2hlbWEuZGVzY3JpcHRpb25cIlxuICAgICAgICAgIGNsYXNzPVwic2NoZW1hLWRlc2NcIlxuICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICBwcm9jZXNzRGVzY3JpcHRpb24oc2NoZW1hLmRlc2NyaXB0aW9uIHwgYWNsUGFyc2VKc29uVHJhbnNsYXRlKVxuICAgICAgICAgIFwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNjaGVtYS1wYXRoXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhdGgubGVuZ3RoXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDpcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaCgpXCJcbiAgICAgICAgICAgICAgPnt7IHJlc291cmNlS2luZCB9fTwvYVxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcCBvZiBwYXRoOyBpbmRleCBhcyBpOyBsYXN0IGFzIGlzTGFzdFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xhc3RcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXRoLW1hcmtcIj4+PC9zcGFuPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OlwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9QYXRoKGkpXCJcbiAgICAgICAgICAgICAgICA+e3sgcCB9fTwvYVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xhc3RcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXRoLW1hcmtcIj4+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBwIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2NoZW1hLWxpc3RcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwcm9wZXJ0aWVzIHwga2V5dmFsdWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJzY2hlbWEtaXRlbVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGgzPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmtleSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvYmotdHlwZVwiPnt7IGl0ZW0udmFsdWUudHlwZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICA8cCBbaW5uZXJIVE1MXT1cInByb2Nlc3NEZXNjcmlwdGlvbihpdGVtLnZhbHVlLmRlc2NyaXB0aW9uKVwiPjwvcD5cbiAgICAgICAgICAgIDxwICpuZ0lmPVwiaGFzVmlld2FibGVDb250ZW50KGl0ZW0udmFsdWUpXCI+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZHJpbGxEb3duVG9Qcm9wZXJ0eShpdGVtLmtleSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgJ3ZpZXcnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9hdWktdGFiPlxuICA8YXVpLXRhYiAqbmdJZj1cImV4YW1wbGVFbmFibGUgJiYgaGFzRXhhbXBsZXNcIj5cbiAgICA8bmctY29udGFpbmVyICphdWlUYWJMYWJlbD4gRXhhbXBsZXMgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqYXVpVGFiQ29udGVudD5cbiAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWxpc3RcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBleGFtcGxlIG9mIGV4YW1wbGVzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICBjbGFzcz1cImV4YW1wbGUtaXRlbVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aDM+XG4gICAgICAgICAgICB7eyBpICsgMSB9fS4gPHNwYW4+e3sgZXhhbXBsZS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwicHJvY2Vzc0Rlc2NyaXB0aW9uKGV4YW1wbGUuZGVzY3JpcHRpb24pXCI+PC9wPlxuICAgICAgICAgIDxwIGNsYXNzPVwidHctZmxleCB0dy1qdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OlwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0cnlFeGFtcGxlKGV4YW1wbGUpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgICAgICAgaWNvbj1cImFycm93X3R1cm5fdXBcIlxuICAgICAgICAgICAgICAgIHNpemU9XCIxNFwiXG4gICAgICAgICAgICAgICAgbWFyZ2luPVwicmlnaHRcIlxuICAgICAgICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+VHJ5IGl0PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRvd25sb2FkWWFtbChleGFtcGxlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxhdWktaWNvblxuICAgICAgICAgICAgICAgIGljb249XCJkb3dubG9hZFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIjE0XCJcbiAgICAgICAgICAgICAgICBtYXJnaW49XCJyaWdodFwiXG4gICAgICAgICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj5Eb3dubG9hZCBZQU1MPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9hdWktdGFiPlxuPC9hdWktdGFiLWdyb3VwPlxuIl19
482
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvZGUveWFtbC1zaWRlYmFyL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb2RlL3lhbWwtc2lkZWJhci90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBSUwsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUd4RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztJQ1p0RCw2QkFBMkI7SUFBQyx3QkFBTzs7OztJQU0vQiwwQkFNTzs7OztJQUhMLHlIQUVDOzs7O0lBR0QsNkJBQWtDO0lBQ2hDLDZCQUdHO0lBREQsNE5BQVMsZ0JBQVMsS0FBQztJQUNsQixZQUFrQjtJQUFBLGlCQUNwQjs7OztJQURFLGVBQWtCO0lBQWxCLHlDQUFrQjs7OztJQUtyQiw2QkFBOEI7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QTJCO1lBOER6QixBQTdEQSxxRkFBMkMsd0VBNkRHO1lBd0NoRCxpQkFBZ0I7O1lBNUdSLGVBQWtCO1lBQWxCLHNDQUFrQjtZQU9kLGVBQStCO1lBQS9CLHdEQUErQjtZQTZEL0IsY0FBa0M7WUFBbEMsMkRBQWtDOzRCRHJDMUMsSUFBSTtZQUNKLE9BQU87WUFDUCxZQUFZLG9CQUVaLHNCQUFzQjtZQUN0QixVQUFVLG9CQUNWLFVBQVUsdUZBQ1YsWUFBWTs7aUZBR0gsNEJBQTRCO2NBakJ4QyxTQUFTOzJCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7b0JBQ1AsSUFBSTtvQkFDSixPQUFPO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixzQkFBc0I7b0JBQ3RCLFVBQVU7b0JBQ1YsVUFBVTtvQkFDVixZQUFZO2lCQUNiO2lIQUlELFFBQVE7a0JBRFAsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSzs7SUFJTiw0REFBNEQ7SUFDNUQsS0FBSztrQkFGSixNQUFNO1lBS1AsT0FBTztrQkFETixNQUFNO1lBSVAsWUFBWTtrQkFEWCxLQUFLO1lBSU4sYUFBYTtrQkFEWixLQUFLO1lBSU4sYUFBYTtrQkFEWixLQUFLOztrRkFwQkssNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWNvbk1vZHVsZSwgVGFic01vZHVsZSwgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBOZ0lmLCBOZ0Zvck9mLCBLZXlWYWx1ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBtYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUGFyc2VKc29uVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL2NvcmUvcGlwZXMvcGFyc2UtanNvbi10cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBLdWJlcm5ldGVzU2NoZW1hU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMva3ViZXJuZXRlcy1zY2hlbWEuc2VydmljZSc7XG5pbXBvcnQgeyBLdWJlcm5ldGVzUmVzb3VyY2UgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2s4cy9jb3JlJztcbmltcG9ydCB7IE9wZW5BUElWM1NjaGVtYU9iamVjdCB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvc2NoZW1hJztcbmltcG9ydCB7IFRSQU5TTEFURV9NT0RVTEUgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvdHJhbnNsYXRlLm1vZHVsZSc7XG5pbXBvcnQgeyBCVUlMVF9JTl9ZQU1MX0VYQU1QTEVTIH0gZnJvbSAnLi4veWFtbC1leGFtcGxlcyc7XG5cbmltcG9ydCB7IFlhbWxFeGFtcGxlLCBDb25zb2xlWUFNTFNhbXBsZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcmVzb3VyY2UteWFtbC1zaWRlYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlcy5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0Zvck9mLFxuICAgIEtleVZhbHVlUGlwZSxcbiAgICBUUkFOU0xBVEVfTU9EVUxFLFxuICAgIFBhcnNlSnNvblRyYW5zbGF0ZVBpcGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VZYW1sU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZTtcblxuICBASW5wdXQoKVxuICBzY2hlbWE6IE9wZW5BUElWM1NjaGVtYU9iamVjdDtcblxuICBAT3V0cHV0KClcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICB0cnlZYW1sID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQElucHV0KClcbiAgc2NoZW1hRW5hYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBleGFtcGxlRW5hYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBleHRyYUV4YW1wbGVzOiBZYW1sRXhhbXBsZVtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgREVGSU5JVElPTlNfUFJFRklYID0gJyMvZGVmaW5pdGlvbnMvJztcblxuICBjdXJyZW50U2NoZW1hOiBPcGVuQVBJVjNTY2hlbWFPYmplY3Q7XG4gIHByb3BlcnRpZXM6IHsgW2tleTogc3RyaW5nXTogT3BlbkFQSVYzU2NoZW1hT2JqZWN0IH07XG4gIHBhdGg6IHN0cmluZ1tdID0gW107XG4gIHJlc291cmNlS2luZDogc3RyaW5nO1xuICBleGFtcGxlczogWWFtbEV4YW1wbGVbXSA9IFtdO1xuICBoYXNTY2hlbWEgPSBmYWxzZTtcbiAgaGFzRXhhbXBsZXMgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNjaGVtYVNlcnZpY2U6IEt1YmVybmV0ZXNTY2hlbWFTZXJ2aWNlLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB0aGlzLmxvYWRFeGFtcGxlcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLnNjaGVtYSB8fCBjaGFuZ2VzLnJlc291cmNlKSB7XG4gICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICAgIHRoaXMubG9hZEV4YW1wbGVzKCk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICBpZiAodGhpcy5zY2hlbWEpIHtcbiAgICAgIHRoaXMuY3VycmVudFNjaGVtYSA9IHRoaXMuc2NoZW1hO1xuICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gdGhpcy5zY2hlbWEucHJvcGVydGllcyB8fCB7fTtcbiAgICAgIHRoaXMucGF0aCA9IFtdO1xuICAgICAgdGhpcy5oYXNTY2hlbWEgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhc1NjaGVtYSA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc291cmNlKSB7XG4gICAgICB0aGlzLnJlc291cmNlS2luZCA9IHRoaXMucmVzb3VyY2Uua2luZCB8fCAnUmVzb3VyY2UnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZEV4YW1wbGVzKCkge1xuICAgIGlmICghdGhpcy5yZXNvdXJjZSkge1xuICAgICAgdGhpcy5leGFtcGxlcyA9IFtdO1xuICAgICAgdGhpcy5oYXNFeGFtcGxlcyA9IGZhbHNlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb3VyY2VLZXkgPSBgJHt0aGlzLnJlc291cmNlLmFwaVZlcnNpb259LiR7dGhpcy5yZXNvdXJjZS5raW5kfWA7XG4gICAgY29uc3QgYnVpbHRJbkV4YW1wbGVzID0gQlVJTFRfSU5fWUFNTF9FWEFNUExFU1tyZXNvdXJjZUtleV0gfHwgW107XG5cbiAgICAvLyDliqDovb0gQ29uc29sZVlBTUxTYW1wbGUgQ1JEIOS4reeahOekuuS+i1xuICAgIHRoaXMubG9hZENvbnNvbGVZQU1MU2FtcGxlcygpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBjcmRFeGFtcGxlcyA9PiB7XG4gICAgICAgIHRoaXMuZXhhbXBsZXMgPSBbXG4gICAgICAgICAgLi4uYnVpbHRJbkV4YW1wbGVzLFxuICAgICAgICAgIC4uLih0aGlzLmV4dHJhRXhhbXBsZXMgfHwgW10pLFxuICAgICAgICAgIC4uLmNyZEV4YW1wbGVzLFxuICAgICAgICBdO1xuICAgICAgICB0aGlzLmhhc0V4YW1wbGVzID0gdGhpcy5leGFtcGxlcy5sZW5ndGggPiAwO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAvLyDlpoLmnpzliqDovb0gQ1JEIOekuuS+i+Wksei0pe+8jOWPquS9v+eUqOWGhee9ruekuuS+i1xuICAgICAgICB0aGlzLmV4YW1wbGVzID0gYnVpbHRJbkV4YW1wbGVzO1xuICAgICAgICB0aGlzLmhhc0V4YW1wbGVzID0gdGhpcy5leGFtcGxlcy5sZW5ndGggPiAwO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRDb25zb2xlWUFNTFNhbXBsZXMoKTogT2JzZXJ2YWJsZTxZYW1sRXhhbXBsZVtdPiB7XG4gICAgaWYgKCF0aGlzLnJlc291cmNlKSB7XG4gICAgICByZXR1cm4gb2YoW10pO1xuICAgIH1cblxuICAgIC8vIOaehOW7uuafpeivoiBDb25zb2xlWUFNTFNhbXBsZSDnmoQgQVBJIOi3r+W+hFxuICAgIGNvbnN0IGFwaVBhdGggPSAnL2FwaXMvY29uc29sZS5hbGF1ZGEuaW8vdjEvY29uc29sZXlhbWxzYW1wbGVzJztcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgaXRlbXM6IENvbnNvbGVZQU1MU2FtcGxlW10gfT4oYXBpUGF0aCkucGlwZShcbiAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5pdGVtc1xuICAgICAgICAgIC5maWx0ZXIoc2FtcGxlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHNhbXBsZS5zcGVjLnRhcmdldFJlc291cmNlO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgdGFyZ2V0LmFwaVZlcnNpb24gPT09IHRoaXMucmVzb3VyY2UuYXBpVmVyc2lvbiAmJlxuICAgICAgICAgICAgICB0YXJnZXQua2luZCA9PT0gdGhpcy5yZXNvdXJjZS5raW5kXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLm1hcChzYW1wbGUgPT4gKHtcbiAgICAgICAgICAgIHRpdGxlOiBzYW1wbGUuc3BlYy50aXRsZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzYW1wbGUuc3BlYy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHlhbWw6IHNhbXBsZS5zcGVjLnlhbWwsXG4gICAgICAgICAgICBzbmlwcGV0OiBzYW1wbGUuc3BlYy5zbmlwcGV0LFxuICAgICAgICAgIH0pKTtcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpLFxuICAgICk7XG4gIH1cblxuICBkcmlsbERvd25Ub1Byb3BlcnR5KG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gdGhpcy5jdXJyZW50U2NoZW1hLnByb3BlcnRpZXM/LltuYW1lXTtcbiAgICBpZiAocHJvcGVydHkpIHtcbiAgICAgIGxldCB0YXJnZXRTY2hlbWE6IE9wZW5BUElWM1NjaGVtYU9iamVjdCB8IG51bGwgPSBudWxsO1xuICAgICAgLy8g5aSE55CGICRyZWYg5byV55SoXG4gICAgICBpZiAoKHByb3BlcnR5IGFzIGFueSkuJHJlZikge1xuICAgICAgICBjb25zdCByZWYgPSAocHJvcGVydHkgYXMgYW55KS4kcmVmIGFzIHN0cmluZztcblxuICAgICAgICBpZiAocmVmLnN0YXJ0c1dpdGgodGhpcy5ERUZJTklUSU9OU19QUkVGSVgpKSB7XG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvbk5hbWUgPSByZWYucmVwbGFjZSh0aGlzLkRFRklOSVRJT05TX1BSRUZJWCwgJycpO1xuICAgICAgICAgIC8vIOS7juaguSBzY2hlbWEg55qEIGRlZmluaXRpb25zIOS4reiOt+WPluWumuS5iVxuICAgICAgICAgIGNvbnN0IHJvb3REZWZpbml0aW9ucyA9IHRoaXMuc2NoZW1hU2VydmljZS5kZWZpbml0aW9ucztcbiAgICAgICAgICB0YXJnZXRTY2hlbWEgPSByb290RGVmaW5pdGlvbnM/LltkZWZpbml0aW9uTmFtZV0gfHwgbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8g5aSE55CG5pmu6YCa55qE5bWM5aWX5bGe5oCnXG4gICAgICBlbHNlIGlmIChwcm9wZXJ0eS5wcm9wZXJ0aWVzIHx8IHByb3BlcnR5Lml0ZW1zPy5wcm9wZXJ0aWVzKSB7XG4gICAgICAgIHRhcmdldFNjaGVtYSA9IHByb3BlcnR5Lml0ZW1zPy5wcm9wZXJ0aWVzID8gcHJvcGVydHkuaXRlbXMgOiBwcm9wZXJ0eTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRhcmdldFNjaGVtYSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRTY2hlbWEgPSB0YXJnZXRTY2hlbWE7XG4gICAgICAgIHRoaXMucGF0aC5wdXNoKG5hbWUpO1xuICAgICAgICB0aGlzLnByb3BlcnRpZXMgPSB0YXJnZXRTY2hlbWEucHJvcGVydGllcyB8fCB7fTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0ZVRvUGF0aChpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgdGFyZ2V0UGF0aCA9IHRoaXMucGF0aC5zbGljZSgwLCBpbmRleCArIDEpO1xuICAgIHRoaXMucGF0aCA9IFsuLi50YXJnZXRQYXRoXTtcblxuICAgIGxldCBjdXJyZW50T2JqID0gdGhpcy5zY2hlbWE7XG4gICAgZm9yIChjb25zdCBwYXRoU2VnbWVudCBvZiB0YXJnZXRQYXRoKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0eSA9IGN1cnJlbnRPYmoucHJvcGVydGllcz8uW3BhdGhTZWdtZW50XTtcbiAgICAgIGlmIChwcm9wZXJ0eSkge1xuICAgICAgICAvLyDlpITnkIYgJHJlZiDlvJXnlKhcbiAgICAgICAgaWYgKChwcm9wZXJ0eSBhcyBhbnkpLiRyZWYpIHtcbiAgICAgICAgICBjb25zdCByZWYgPSAocHJvcGVydHkgYXMgYW55KS4kcmVmIGFzIHN0cmluZztcbiAgICAgICAgICBpZiAocmVmLnN0YXJ0c1dpdGgodGhpcy5ERUZJTklUSU9OU19QUkVGSVgpKSB7XG4gICAgICAgICAgICBjb25zdCBkZWZpbml0aW9uTmFtZSA9IHJlZi5yZXBsYWNlKHRoaXMuREVGSU5JVElPTlNfUFJFRklYLCAnJyk7XG4gICAgICAgICAgICBjb25zdCByb290RGVmaW5pdGlvbnMgPSAodGhpcy5zY2hlbWEgYXMgYW55KT8uZGVmaW5pdGlvbnM7XG4gICAgICAgICAgICBjb25zdCBkZWZpbml0aW9uID0gcm9vdERlZmluaXRpb25zPy5bZGVmaW5pdGlvbk5hbWVdO1xuICAgICAgICAgICAgaWYgKGRlZmluaXRpb24pIHtcbiAgICAgICAgICAgICAgY3VycmVudE9iaiA9IGRlZmluaXRpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIOWkhOeQhuaZrumAmueahOW1jOWll+WxnuaAp1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBjdXJyZW50T2JqID0gcHJvcGVydHkuaXRlbXM/LnByb3BlcnRpZXMgPyBwcm9wZXJ0eS5pdGVtcyA6IHByb3BlcnR5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50U2NoZW1hID0gY3VycmVudE9iajtcbiAgICB0aGlzLnByb3BlcnRpZXMgPSBjdXJyZW50T2JqLnByb3BlcnRpZXMgfHwge307XG4gIH1cblxuICBoYXNOZXN0ZWRQcm9wZXJ0aWVzKHByb3BlcnR5OiBPcGVuQVBJVjNTY2hlbWFPYmplY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHByb3BlcnR5LnR5cGUgPT09ICdvYmplY3QnICYmXG4gICAgICAgIHByb3BlcnR5LnByb3BlcnRpZXMgJiZcbiAgICAgICAgT2JqZWN0LmtleXMocHJvcGVydHkucHJvcGVydGllcykubGVuZ3RoID4gMCkgfHxcbiAgICAgIChwcm9wZXJ0eS50eXBlID09PSAnYXJyYXknICYmXG4gICAgICAgIHByb3BlcnR5Lml0ZW1zICYmXG4gICAgICAgIHR5cGVvZiBwcm9wZXJ0eS5pdGVtcyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgKHByb3BlcnR5Lml0ZW1zIGFzIE9wZW5BUElWM1NjaGVtYU9iamVjdCkucHJvcGVydGllcyAmJlxuICAgICAgICBPYmplY3Qua2V5cygocHJvcGVydHkuaXRlbXMgYXMgT3BlbkFQSVYzU2NoZW1hT2JqZWN0KS5wcm9wZXJ0aWVzIHx8IHt9KVxuICAgICAgICAgIC5sZW5ndGggPiAwKVxuICAgICk7XG4gIH1cblxuICBnZXRQcm9wZXJ0eVR5cGUocHJvcGVydHk6IE9wZW5BUElWM1NjaGVtYU9iamVjdCk6IHN0cmluZyB7XG4gICAgaWYgKHByb3BlcnR5LnR5cGUpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BlcnR5LnR5cGUpKSB7XG4gICAgICAgIHJldHVybiBwcm9wZXJ0eS50eXBlLmpvaW4oJyB8ICcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb3BlcnR5LnR5cGU7XG4gICAgfVxuICAgIHJldHVybiAndW5rbm93bic7XG4gIH1cblxuICBpc1JlcXVpcmVkKHByb3BlcnR5TmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFNjaGVtYT8ucmVxdWlyZWQ/LmluY2x1ZGVzKHByb3BlcnR5TmFtZSkgfHwgZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICog5qOA5p+l5bGe5oCn5piv5ZCm5pyJICRyZWYg5byV55So5oiW5bWM5aWX5bGe5oCnXG4gICAqL1xuICBoYXNWaWV3YWJsZUNvbnRlbnQocHJvcGVydHk6IE9wZW5BUElWM1NjaGVtYU9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAvLyDmnIkgcHJvcGVydGllcyDnmoTlr7nosaFcbiAgICAgIChwcm9wZXJ0eS50eXBlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICBwcm9wZXJ0eS5wcm9wZXJ0aWVzICYmXG4gICAgICAgIE9iamVjdC5rZXlzKHByb3BlcnR5LnByb3BlcnRpZXMpLmxlbmd0aCA+IDApIHx8XG4gICAgICAvLyDmnIkgcHJvcGVydGllcyDnmoTmlbDnu4TpoblcbiAgICAgIChwcm9wZXJ0eS50eXBlID09PSAnYXJyYXknICYmXG4gICAgICAgIHByb3BlcnR5Lml0ZW1zICYmXG4gICAgICAgIHR5cGVvZiBwcm9wZXJ0eS5pdGVtcyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgKHByb3BlcnR5Lml0ZW1zIGFzIE9wZW5BUElWM1NjaGVtYU9iamVjdCkucHJvcGVydGllcyAmJlxuICAgICAgICBPYmplY3Qua2V5cygocHJvcGVydHkuaXRlbXMgYXMgT3BlbkFQSVYzU2NoZW1hT2JqZWN0KS5wcm9wZXJ0aWVzIHx8IHt9KVxuICAgICAgICAgIC5sZW5ndGggPiAwKSB8fFxuICAgICAgLy8g5pyJICRyZWYg5byV55SoXG4gICAgICAhIShwcm9wZXJ0eSBhcyBhbnkpLiRyZWZcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOajgOafpeWxnuaAp+aYr+WQpuaciSAkcmVmIOW8leeUqFxuICAgKi9cbiAgaGFzUmVmUHJvcGVydHkocHJvcGVydHk6IE9wZW5BUElWM1NjaGVtYU9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShwcm9wZXJ0eSBhcyBhbnkpLiRyZWY7XG4gIH1cblxuICAvKipcbiAgICog6I635Y+WICRyZWYg5byV55So55qE5a6a5LmJ5ZCN56ewXG4gICAqL1xuICBnZXRSZWZEZWZpbml0aW9uTmFtZShwcm9wZXJ0eTogT3BlbkFQSVYzU2NoZW1hT2JqZWN0KTogc3RyaW5nIHtcbiAgICBjb25zdCByZWYgPSAocHJvcGVydHkgYXMgYW55KS4kcmVmO1xuICAgIGlmIChyZWYgJiYgdHlwZW9mIHJlZiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIOS7jiBcIiMvZGVmaW5pdGlvbnMvaW8uazhzLmFwaS5hcHBzLnYxLkRlcGxveW1lbnRTcGVjXCIg5Lit5o+Q5Y+W5a6a5LmJ5ZCN56ewXG4gICAgICBpZiAocmVmLnN0YXJ0c1dpdGgodGhpcy5ERUZJTklUSU9OU19QUkVGSVgpKSB7XG4gICAgICAgIHJldHVybiByZWYucmVwbGFjZSh0aGlzLkRFRklOSVRJT05TX1BSRUZJWCwgJycpO1xuICAgICAgfVxuICAgICAgY29uc3QgcGFydHMgPSByZWYuc3BsaXQoJy8nKTtcbiAgICAgIHJldHVybiBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSB8fCByZWY7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8vIEV4YW1wbGVzIOebuOWFs+aWueazlVxuICB0cnlFeGFtcGxlKGV4YW1wbGU6IFlhbWxFeGFtcGxlKSB7XG4gICAgLy8g6Kem5Y+R5LqL5Lu277yM6K6p54i257uE5Lu25aSE55CGIHRyeSBpdCDlip/og73vvIzlsIYgWUFNTCDlhoXlrrnlj5HpgIHnu5nniLbnu4Tku7ZcbiAgICB0aGlzLnRyeVlhbWwuZW1pdChleGFtcGxlLnlhbWwpO1xuICB9XG5cbiAgZG93bmxvYWRZYW1sKGV4YW1wbGU6IFlhbWxFeGFtcGxlKSB7XG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtleGFtcGxlLnlhbWxdLCB7IHR5cGU6ICd0ZXh0L3lhbWwnIH0pO1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID0gdXJsO1xuICAgIGxpbmsuZG93bmxvYWQgPSBgJHtleGFtcGxlLnRpdGxlLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxzKy9nLCAnLScpfS55YW1sYDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgIGxpbmsuY2xpY2soKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gIH1cblxuICAvLyDlpITnkIbmj4/ov7DkuK3nmoTpk77mjqVcbiAgcHJvY2Vzc0Rlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghZGVzY3JpcHRpb24pIHJldHVybiAnJztcblxuICAgIC8vIOWwhiBVUkwg6L2s5o2i5Li65Y+v54K55Ye755qE6ZO+5o6lXG4gICAgY29uc3QgdXJsUmVnZXggPSAvKGh0dHBzPzpcXC9cXC9bXlxcc10rKS9nO1xuICAgIHJldHVybiBkZXNjcmlwdGlvbi5yZXBsYWNlKFxuICAgICAgdXJsUmVnZXgsXG4gICAgICAnPGEgaHJlZj1cIiQxXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPiQxPC9hPicsXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNjaGVtYS1oZWFkZXJcIj5cbiAgPHNwYW4+e3sgcmVzb3VyY2VLaW5kIH19PC9zcGFuPlxuICA8YXVpLWljb25cbiAgICBpY29uPVwieG1hcmtcIlxuICAgIChjbGljayk9XCJjbG9zZS5uZXh0KClcIlxuICA+PC9hdWktaWNvbj5cbjwvZGl2PlxuPGF1aS10YWItZ3JvdXAgdHlwZT1cImNhcmRcIj5cbiAgPGF1aS10YWIgKm5nSWY9XCJzY2hlbWFFbmFibGUgJiYgaGFzU2NoZW1hXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqYXVpVGFiTGFiZWw+IFNjaGVtYSA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICphdWlUYWJDb250ZW50PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNjaGVtYVwiXG4gICAgICAgIGNsYXNzPVwic2NoZW1hLWNvbnRlbnRcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJzY2hlbWEuZGVzY3JpcHRpb25cIlxuICAgICAgICAgIGNsYXNzPVwic2NoZW1hLWRlc2NcIlxuICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICBwcm9jZXNzRGVzY3JpcHRpb24oc2NoZW1hLmRlc2NyaXB0aW9uIHwgYWNsUGFyc2VKc29uVHJhbnNsYXRlKVxuICAgICAgICAgIFwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNjaGVtYS1wYXRoXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhdGgubGVuZ3RoXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDpcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaCgpXCJcbiAgICAgICAgICAgICAgPnt7IHJlc291cmNlS2luZCB9fTwvYVxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcCBvZiBwYXRoOyBpbmRleCBhcyBpOyBsYXN0IGFzIGlzTGFzdFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xhc3RcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXRoLW1hcmtcIj4+PC9zcGFuPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OlwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9QYXRoKGkpXCJcbiAgICAgICAgICAgICAgICA+e3sgcCB9fTwvYVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xhc3RcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYXRoLW1hcmtcIj4+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBwIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2NoZW1hLWxpc3RcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwcm9wZXJ0aWVzIHwga2V5dmFsdWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJzY2hlbWEtaXRlbVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGgzPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmtleSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvYmotdHlwZVwiPnt7IGl0ZW0udmFsdWUudHlwZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICA8cCBbaW5uZXJIVE1MXT1cInByb2Nlc3NEZXNjcmlwdGlvbihpdGVtLnZhbHVlLmRlc2NyaXB0aW9uKVwiPjwvcD5cbiAgICAgICAgICAgIDxwICpuZ0lmPVwiaGFzVmlld2FibGVDb250ZW50KGl0ZW0udmFsdWUpXCI+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZHJpbGxEb3duVG9Qcm9wZXJ0eShpdGVtLmtleSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgJ3ZpZXdfZGV0YWlsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYXVpLXRhYj5cbiAgPGF1aS10YWIgKm5nSWY9XCJleGFtcGxlRW5hYmxlICYmIGhhc0V4YW1wbGVzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqYXVpVGFiTGFiZWw+IEV4YW1wbGVzIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKmF1aVRhYkNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiZXhhbXBsZS1saXN0XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZXhhbXBsZSBvZiBleGFtcGxlczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgY2xhc3M9XCJleGFtcGxlLWl0ZW1cIlxuICAgICAgICA+XG4gICAgICAgICAgPGgzPlxuICAgICAgICAgICAge3sgaSArIDEgfX0uIDxzcGFuPnt7IGV4YW1wbGUudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8cCBbaW5uZXJIVE1MXT1cInByb2Nlc3NEZXNjcmlwdGlvbihleGFtcGxlLmRlc2NyaXB0aW9uKVwiPjwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cInR3LWZsZXggdHctanVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDpcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidHJ5RXhhbXBsZShleGFtcGxlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxhdWktaWNvblxuICAgICAgICAgICAgICAgIGljb249XCJhcnJvd190dXJuX3VwXCJcbiAgICAgICAgICAgICAgICBzaXplPVwiMTRcIlxuICAgICAgICAgICAgICAgIG1hcmdpbj1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPlRyeSBpdDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OlwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZFlhbWwoZXhhbXBsZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgICAgICBpY29uPVwiZG93bmxvYWRcIlxuICAgICAgICAgICAgICAgIHNpemU9XCIxNFwiXG4gICAgICAgICAgICAgICAgbWFyZ2luPVwicmlnaHRcIlxuICAgICAgICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+RG93bmxvYWQgWUFNTDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYXVpLXRhYj5cbjwvYXVpLXRhYi1ncm91cD5cbiJdfQ==
@@ -175,7 +175,7 @@ __decorate([
175
175
  ], TerminalGroupComponent.prototype, "selectedIndex", void 0);
176
176
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TerminalGroupComponent, [{
177
177
  type: Component,
178
- args: [{ selector: 'acl-terminal-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<aui-tab-group\n *ngIf=\"terminalOptions?.length\"\n type=\"card\"\n [lazy]=\"true\"\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndexChange.emit($event)\"\n>\n <aui-tab\n *ngFor=\"\n let option of terminalOptions;\n let i = index;\n trackBy: trackByOption\n \"\n [closeable]=\"true\"\n (close)=\"removeTerminal(i)\"\n >\n <div\n *auiTabLabel\n class=\"tw-flex\"\n >\n <aui-icon\n *ngIf=\"\n [ConnectionStatus.Connecting, ConnectionStatus.ReConnecting].includes(\n statusMap.get(option)\n )\n \"\n class=\"tw-mr-4 tw-icon-l tw-text-primary\"\n icon=\"spinner\"\n [auiTooltip]=\"'exec_connecting' | translate\"\n ></aui-icon>\n <aui-icon\n *ngIf=\"\n [\n ConnectionStatus.Disconnected,\n ConnectionStatus.NoPermission\n ].includes(statusMap.get(option))\n \"\n class=\"tw-mr-4 tw-icon-l tw-text-red\"\n icon=\"exclamation_triangle_s\"\n background=\"triangle\"\n [auiTooltip]=\"disconnectedTip\"\n [auiTooltipContext]=\"{ index: i }\"\n ></aui-icon>\n <aui-icon\n *ngIf=\"\n statusMap.get(option) === ConnectionStatus.Connected && option.icon\n \"\n [icon]=\"option.icon\"\n class=\"tw-mr-4 tw-icon-l\"\n ></aui-icon>\n <acl-text-ellipsis\n [text]=\"option.label || option.pod\"\n [tailLength]=\"6\"\n ></acl-text-ellipsis>\n </div>\n <acl-terminal\n [option]=\"option\"\n [index]=\"i\"\n [extraButton]=\"\n terminalExtraButton?.enable ? terminalExtraButtonRef : null\n \"\n [extraContent]=\"terminalExtraContentRef\"\n (connectionStatusChange)=\"handleConnectionStatusChange(option, $event)\"\n (socketReady)=\"\n socketReady.emit({\n option,\n socket: $event,\n index: i\n })\n \"\n (fallbackShell)=\"\n fallbackShell.emit({\n option,\n shell: $event\n })\n \"\n ></acl-terminal>\n </aui-tab>\n</aui-tab-group>\n\n<ng-template\n #disconnectedTip\n let-i=\"index\"\n>\n <span>{{ 'exec_disconnected_tip' | translate }}</span>\n <button\n aui-button=\"text\"\n size=\"mini\"\n (click)=\"reconnect(i)\"\n >\n {{ 'reconnect' | translate }}\n </button>\n</ng-template>\n", styles: [":host ::ng-deep aui-tab-body,:host ::ng-deep .aui-tab-body{display:block;width:100%;min-height:100%;height:100%}:host ::ng-deep>aui-tab-group>.aui-tab-group{height:100%}:host ::ng-deep>aui-tab-group>.aui-tab-group .aui-tab-group__body-wrapper{display:flex;flex:1 1 0;height:0}:host ::ng-deep .aui-tab-body{display:flex}:host ::ng-deep .aui-tab-body__content{display:flex;flex-direction:column;flex:1;width:100%}:host acl-terminal{flex:1;height:0}\n"] }]
178
+ args: [{ selector: 'acl-terminal-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<aui-tab-group\n *ngIf=\"terminalOptions?.length\"\n type=\"card\"\n [lazy]=\"true\"\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndexChange.emit($event)\"\n>\n <aui-tab\n *ngFor=\"\n let option of terminalOptions;\n let i = index;\n trackBy: trackByOption\n \"\n [closeable]=\"true\"\n (close)=\"removeTerminal(i)\"\n >\n <div\n *auiTabLabel\n class=\"tw-flex\"\n >\n <aui-icon\n *ngIf=\"\n [ConnectionStatus.Connecting, ConnectionStatus.ReConnecting].includes(\n statusMap.get(option)\n )\n \"\n class=\"tw-mr-4 tw-icon-l tw-text-primary\"\n icon=\"spinner\"\n [auiTooltip]=\"'exec_connecting' | translate\"\n ></aui-icon>\n <aui-icon\n *ngIf=\"\n [\n ConnectionStatus.Disconnected,\n ConnectionStatus.NoPermission,\n ].includes(statusMap.get(option))\n \"\n class=\"tw-mr-4 tw-icon-l tw-text-red\"\n icon=\"exclamation_triangle_s\"\n background=\"triangle\"\n [auiTooltip]=\"disconnectedTip\"\n [auiTooltipContext]=\"{ index: i }\"\n ></aui-icon>\n <aui-icon\n *ngIf=\"\n statusMap.get(option) === ConnectionStatus.Connected && option.icon\n \"\n [icon]=\"option.icon\"\n class=\"tw-mr-4 tw-icon-l\"\n ></aui-icon>\n <acl-text-ellipsis\n [text]=\"option.label || option.pod\"\n [tailLength]=\"6\"\n ></acl-text-ellipsis>\n </div>\n <acl-terminal\n [option]=\"option\"\n [index]=\"i\"\n [extraButton]=\"\n terminalExtraButton?.enable ? terminalExtraButtonRef : null\n \"\n [extraContent]=\"terminalExtraContentRef\"\n (connectionStatusChange)=\"handleConnectionStatusChange(option, $event)\"\n (socketReady)=\"\n socketReady.emit({\n option,\n socket: $event,\n index: i,\n })\n \"\n (fallbackShell)=\"\n fallbackShell.emit({\n option,\n shell: $event,\n })\n \"\n ></acl-terminal>\n </aui-tab>\n</aui-tab-group>\n\n<ng-template\n #disconnectedTip\n let-i=\"index\"\n>\n <span>{{ 'exec_disconnected_tip' | translate }}</span>\n <button\n aui-button=\"text\"\n size=\"mini\"\n (click)=\"reconnect(i)\"\n >\n {{ 'reconnect' | translate }}\n </button>\n</ng-template>\n", styles: [":host ::ng-deep aui-tab-body,:host ::ng-deep .aui-tab-body{display:block;width:100%;min-height:100%;height:100%}:host ::ng-deep>aui-tab-group>.aui-tab-group{height:100%}:host ::ng-deep>aui-tab-group>.aui-tab-group .aui-tab-group__body-wrapper{display:flex;flex:1 1 0;height:0}:host ::ng-deep .aui-tab-body{display:flex}:host ::ng-deep .aui-tab-body__content{display:flex;flex-direction:column;flex:1;width:100%}:host acl-terminal{flex:1;height:0}\n"] }]
179
179
  }], null, { selectedIndex: [{
180
180
  type: Input
181
181
  }], terminalOptions: [{
@@ -206,4 +206,4 @@ __decorate([
206
206
  args: [TerminalComponent]
207
207
  }] }); })();
208
208
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TerminalGroupComponent, { className: "TerminalGroupComponent" }); })();
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztJQ0twRCwrQkFTWTs7O0lBRFYsb0VBQTRDOzs7SUFFOUMsK0JBWVk7Ozs7O0lBRFYsQUFEQSwrQ0FBOEIsdURBQ0k7OztJQUVwQywrQkFNWTs7O0lBRlYscUNBQW9COzs7SUEvQnhCLDhCQUdDO0lBd0JDLEFBYkEsQUFWQSxpSEFTQyxvR0FhQSxxR0FPQTtJQUNELHdDQUdxQjtJQUN2QixpQkFBTTs7OztJQWpDRCxjQUtUO0lBTFMscUtBS1Q7SUFLUyxjQU1UO0lBTlMsdUtBTVQ7SUFPUyxjQUdUO0lBSFMsOEdBR1Q7SUFJUSxjQUFtQztJQUNuQyxBQURBLHVEQUFtQyxpQkFDbkI7Ozs7SUE3Q3RCLGtDQVFDO0lBREMsMk5BQVMsMkJBQWlCLEtBQUM7SUFFM0Isa0dBR0M7SUFvQ0QsdUNBcUJDO0lBTkMsQUFQQSxBQURBLGlSQUEwQixzREFBNEMsS0FBQyxnU0FFNUQsd0JBQ1Ysa0RBSUEsQ0FDUCxLQURPLGtQQUVVLDBC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QyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25FLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDLENBQUM7OzZEQUVnQjtpRkFiUCxzQkFBc0I7Y0FObEMsU0FBUzsyQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTtnQkFlL0MsYUFBYTtrQkFEWixLQUFLO1lBSU4sZUFBZTtrQkFEZCxLQUFLO1lBSU4sbUJBQW1CO2tCQURsQixZQUFZO21CQUFDLDRCQUE0QjtZQU0xQyxzQkFBc0I7a0JBSHJCLFlBQVk7bUJBQUMsNEJBQTRCLEVBQUU7b0JBQzFDLElBQUksRUFBRSxXQUFXO2lCQUNsQjtZQU1ELHVCQUF1QjtrQkFIdEIsWUFBWTttQkFBQyw2QkFBNkIsRUFBRTtvQkFDM0MsSUFBSSxFQUFFLFdBQVc7aUJBQ2xCO1lBSVEsbUJBQW1CO2tCQUQzQixNQUFNO1lBSUUscUJBQXFCO2tCQUQ3QixNQUFNO1lBSUUsV0FBVztrQkFEbkIsTUFBTTtZQVFFLGFBQWE7a0JBRHJCLE1BQU07WUFPUCxTQUFTO2tCQURSLFlBQVk7bUJBQUMsaUJBQWlCOztrRkFsRHBCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFZhbHVlSG9vayB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdHVzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRlcm1pbmFsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGVybWluYWwvY29tcG9uZW50JztcbmltcG9ydCB7IFRlcm1pbmFsT3B0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsVGVybWluYWxFeHRyYUJ1dHRvbl0nLFxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlIHtcbiAgQElucHV0KCdhY2xUZXJtaW5hbEV4dHJhQnV0dG9uJylcbiAgZW5hYmxlOiBib29sZWFuIHwgJycgPSB0cnVlO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsVGVybWluYWxFeHRyYUNvbnRlbnRdJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVybWluYWxFeHRyYUNvbnRlbnREaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXRlcm1pbmFsLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsR3JvdXBDb21wb25lbnQge1xuICBDb25uZWN0aW9uU3RhdHVzID0gQ29ubmVjdGlvblN0YXR1cztcblxuICBwcml2YXRlIGhhc0FjdGl2YXRlZE1hcCA9IG5ldyBNYXA8bnVtYmVyLCBib29sZWFuPigpO1xuXG4gIEBWYWx1ZUhvb2soZnVuY3Rpb24gKHRoaXM6IFRlcm1pbmFsR3JvdXBDb21wb25lbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnRlcm1pbmFscz8uZ2V0KGluZGV4KT8uZm9jdXMoKTtcbiAgICBpZiAodGhpcy50ZXJtaW5hbHM/LmdldChpbmRleCkgJiYgIXRoaXMuaGFzQWN0aXZhdGVkTWFwLmdldChpbmRleCkpIHtcbiAgICAgIHRoaXMuaGFzQWN0aXZhdGVkTWFwLnNldChpbmRleCwgdHJ1ZSk7XG4gICAgICB0aGlzLnRlcm1pbmFscy5nZXQoaW5kZXgpPy5hY3RpdmF0ZVRlcm1pbmFsKCk7XG4gICAgfVxuICB9KVxuICBASW5wdXQoKVxuICBzZWxlY3RlZEluZGV4ID0gMDtcblxuICBASW5wdXQoKVxuICB0ZXJtaW5hbE9wdGlvbnM6IFRlcm1pbmFsT3B0aW9uW10gPSBbXTtcblxuICBAQ29udGVudENoaWxkKFRlcm1pbmFsRXh0cmFCdXR0b25EaXJlY3RpdmUpXG4gIHRlcm1pbmFsRXh0cmFCdXR0b246IFRlcm1pbmFsRXh0cmFCdXR0b25EaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHRlcm1pbmFsRXh0cmFCdXR0b25SZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBDb250ZW50Q2hpbGQoVGVybWluYWxFeHRyYUNvbnRlbnREaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgdGVybWluYWxFeHRyYUNvbnRlbnRSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHRlcm1pbmFsT3B0aW9uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGVybWluYWxPcHRpb25bXT4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc29ja2V0UmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuICAgIHNvY2tldDogV2ViU29ja2V0O1xuICAgIGluZGV4OiBudW1iZXI7XG4gIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZhbGxiYWNrU2hlbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuICAgIHNoZWxsOiBzdHJpbmc7XG4gIH0+KCk7XG5cbiAgQFZpZXdDaGlsZHJlbihUZXJtaW5hbENvbXBvbmVudClcbiAgdGVybWluYWxzOiBRdWVyeUxpc3Q8VGVybWluYWxDb21wb25lbnQ+O1xuXG4gIHN0YXR1c01hcCA9IG5ldyBNYXA8VGVybWluYWxPcHRpb24sIENvbm5lY3Rpb25TdGF0dXM+KCk7XG5cbiAgcmVtb3ZlVGVybWluYWwoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudGVybWluYWxzLmdldChpbmRleCk/LmtpbGxQcm9jZXNzKCk7XG4gICAgdGhpcy50ZXJtaW5hbE9wdGlvbnNDaGFuZ2UuZW1pdChbXG4gICAgICAuLi50aGlzLnRlcm1pbmFsT3B0aW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAuLi50aGlzLnRlcm1pbmFsT3B0aW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgIF0pO1xuICB9XG5cbiAgdHJhY2tCeU9wdGlvbihfOiBudW1iZXIsIG9wdGlvbjogVGVybWluYWxPcHRpb24pIHtcbiAgICByZXR1cm4gb3B0aW9uO1xuICB9XG5cbiAgaGFuZGxlQ29ubmVjdGlvblN0YXR1c0NoYW5nZShcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uLFxuICAgIHN0YXR1czogQ29ubmVjdGlvblN0YXR1cyxcbiAgKSB7XG4gICAgdGhpcy5zdGF0dXNNYXAuc2V0KG9wdGlvbiwgc3RhdHVzKTtcbiAgfVxuXG4gIHJlY29ubmVjdChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy50ZXJtaW5hbHMuZ2V0KGluZGV4KS5yZWNvbm5lY3QoKTtcbiAgfVxufVxuIiwiPGF1aS10YWItZ3JvdXBcbiAgKm5nSWY9XCJ0ZXJtaW5hbE9wdGlvbnM/Lmxlbmd0aFwiXG4gIHR5cGU9XCJjYXJkXCJcbiAgW2xhenldPVwidHJ1ZVwiXG4gIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIlxuICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJzZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4+XG4gIDxhdWktdGFiXG4gICAgKm5nRm9yPVwiXG4gICAgICBsZXQgb3B0aW9uIG9mIHRlcm1pbmFsT3B0aW9ucztcbiAgICAgIGxldCBpID0gaW5kZXg7XG4gICAgICB0cmFja0J5OiB0cmFja0J5T3B0aW9uXG4gICAgXCJcbiAgICBbY2xvc2VhYmxlXT1cInRydWVcIlxuICAgIChjbG9zZSk9XCJyZW1vdmVUZXJtaW5hbChpKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqYXVpVGFiTGFiZWxcbiAgICAgIGNsYXNzPVwidHctZmxleFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgW0Nvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGluZywgQ29ubmVjdGlvblN0YXR1cy5SZUNvbm5lY3RpbmddLmluY2x1ZGVzKFxuICAgICAgICAgICAgc3RhdHVzTWFwLmdldChvcHRpb24pXG4gICAgICAgICAgKVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cInR3LW1yLTQgdHctaWNvbi1sIHR3LXRleHQtcHJpbWFyeVwiXG4gICAgICAgIGljb249XCJzcGlubmVyXCJcbiAgICAgICAgW2F1aVRvb2x0aXBdPVwiJ2V4ZWNfY29ubmVjdGluZycgfCB0cmFuc2xhdGVcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBbXG4gICAgICAgICAgICBDb25uZWN0aW9uU3RhdHVzLkRpc2Nvbm5lY3RlZCxcbiAgICAgICAgICAgIENvbm5lY3Rpb25TdGF0dXMuTm9QZXJtaXNzaW9uXG4gICAgICAgICAgXS5pbmNsdWRlcyhzdGF0dXNNYXAuZ2V0KG9wdGlvbikpXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwidHctbXItNCB0dy1pY29uLWwgdHctdGV4dC1yZWRcIlxuICAgICAgICBpY29uPVwiZXhjbGFtYXRpb25fdHJpYW5nbGVfc1wiXG4gICAgICAgIGJhY2tncm91bmQ9XCJ0cmlhbmdsZVwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cImRpc2Nvbm5lY3RlZFRpcFwiXG4gICAgICAgIFthdWlUb29sdGlwQ29udGV4dF09XCJ7IGluZGV4OiBpIH1cIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBzdGF0dXNNYXAuZ2V0KG9wdGlvbikgPT09IENvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGVkICYmIG9wdGlvbi5pY29uXG4gICAgICAgIFwiXG4gICAgICAgIFtpY29uXT1cIm9wdGlvbi5pY29uXCJcbiAgICAgICAgY2xhc3M9XCJ0dy1tci00IHR3LWljb24tbFwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDxhY2wtdGV4dC1lbGxpcHNpc1xuICAgICAgICBbdGV4dF09XCJvcHRpb24ubGFiZWwgfHwgb3B0aW9uLnBvZFwiXG4gICAgICAgIFt0YWlsTGVuZ3RoXT1cIjZcIlxuICAgICAgPjwvYWNsLXRleHQtZWxsaXBzaXM+XG4gICAgPC9kaXY+XG4gICAgPGFjbC10ZXJtaW5hbFxuICAgICAgW29wdGlvbl09XCJvcHRpb25cIlxuICAgICAgW2luZGV4XT1cImlcIlxuICAgICAgW2V4dHJhQnV0dG9uXT1cIlxuICAgICAgICB0ZXJtaW5hbEV4dHJhQnV0dG9uPy5lbmFibGUgPyB0ZXJtaW5hbEV4dHJhQnV0dG9uUmVmIDogbnVsbFxuICAgICAgXCJcbiAgICAgIFtleHRyYUNvbnRlbnRdPVwidGVybWluYWxFeHRyYUNvbnRlbnRSZWZcIlxuICAgICAgKGNvbm5lY3Rpb25TdGF0dXNDaGFuZ2UpPVwiaGFuZGxlQ29ubmVjdGlvblN0YXR1c0NoYW5nZShvcHRpb24sICRldmVudClcIlxuICAgICAgKHNvY2tldFJlYWR5KT1cIlxuICAgICAgICBzb2NrZXRSZWFkeS5lbWl0KHtcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgc29ja2V0OiAkZXZlbnQsXG4gICAgICAgICAgaW5kZXg6IGlcbiAgICAgICAgfSlcbiAgICAgIFwiXG4gICAgICAoZmFsbGJhY2tTaGVsbCk9XCJcbiAgICAgICAgZmFsbGJhY2tTaGVsbC5lbWl0KHtcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgc2hlbGw6ICRldmVudFxuICAgICAgICB9KVxuICAgICAgXCJcbiAgICA+PC9hY2wtdGVybWluYWw+XG4gIDwvYXVpLXRhYj5cbjwvYXVpLXRhYi1ncm91cD5cblxuPG5nLXRlbXBsYXRlXG4gICNkaXNjb25uZWN0ZWRUaXBcbiAgbGV0LWk9XCJpbmRleFwiXG4+XG4gIDxzcGFuPnt7ICdleGVjX2Rpc2Nvbm5lY3RlZF90aXAnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgIHNpemU9XCJtaW5pXCJcbiAgICAoY2xpY2spPVwicmVjb25uZWN0KGkpXCJcbiAgPlxuICAgIHt7ICdyZWNvbm5lY3QnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztJQ0twRCwrQkFTWTs7O0lBRFYsb0VBQTRDOzs7SUFFOUMsK0JBWVk7Ozs7O0lBRFYsQUFEQSwrQ0FBOEIsdURBQ0k7OztJQUVwQywrQkFNWTs7O0lBRlYscUNBQW9COzs7SUEvQnhCLDhCQUdDO0lBd0JDLEFBYkEsQUFWQSxpSEFTQyxvR0FhQSxxR0FPQTtJQUNELHdDQUdxQjtJQUN2QixpQkFBTTs7OztJQWpDRCxjQUtUO0lBTFMscUtBS1Q7SUFLUyxjQU1UO0lBTlMsdUtBTVQ7SUFPUyxjQUdUO0lBSFMsOEdBR1Q7SUFJUSxjQUFtQztJQUNuQyxBQURBLHVEQUFtQyxpQkFDbkI7Ozs7SUE3Q3RCLGtDQVFDO0lBREMsMk5BQVMsMkJBQWlCLEtBQUM7SUFFM0Isa0dBR0M7SUFvQ0QsdUNBcUJDO0lBTkMsQUFQQSxBQURBLGlSQUEwQixzREFBNEMsS0FBQyxnU0FFNUQsd0JBQ1Ysa0RBSUEsQ0FDUCxLQURPLGtQQUVVLDBC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QyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25FLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDLENBQUM7OzZEQUVnQjtpRkFiUCxzQkFBc0I7Y0FObEMsU0FBUzsyQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTtnQkFlL0MsYUFBYTtrQkFEWixLQUFLO1lBSU4sZUFBZTtrQkFEZCxLQUFLO1lBSU4sbUJBQW1CO2tCQURsQixZQUFZO21CQUFDLDRCQUE0QjtZQU0xQyxzQkFBc0I7a0JBSHJCLFlBQVk7bUJBQUMsNEJBQTRCLEVBQUU7b0JBQzFDLElBQUksRUFBRSxXQUFXO2lCQUNsQjtZQU1ELHVCQUF1QjtrQkFIdEIsWUFBWTttQkFBQyw2QkFBNkIsRUFBRTtvQkFDM0MsSUFBSSxFQUFFLFdBQVc7aUJBQ2xCO1lBSVEsbUJBQW1CO2tCQUQzQixNQUFNO1lBSUUscUJBQXFCO2tCQUQ3QixNQUFNO1lBSUUsV0FBVztrQkFEbkIsTUFBTTtZQVFFLGFBQWE7a0JBRHJCLE1BQU07WUFPUCxTQUFTO2tCQURSLFlBQVk7bUJBQUMsaUJBQWlCOztrRkFsRHBCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFZhbHVlSG9vayB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdHVzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRlcm1pbmFsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGVybWluYWwvY29tcG9uZW50JztcbmltcG9ydCB7IFRlcm1pbmFsT3B0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsVGVybWluYWxFeHRyYUJ1dHRvbl0nLFxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlIHtcbiAgQElucHV0KCdhY2xUZXJtaW5hbEV4dHJhQnV0dG9uJylcbiAgZW5hYmxlOiBib29sZWFuIHwgJycgPSB0cnVlO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsVGVybWluYWxFeHRyYUNvbnRlbnRdJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVybWluYWxFeHRyYUNvbnRlbnREaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXRlcm1pbmFsLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsR3JvdXBDb21wb25lbnQge1xuICBDb25uZWN0aW9uU3RhdHVzID0gQ29ubmVjdGlvblN0YXR1cztcblxuICBwcml2YXRlIGhhc0FjdGl2YXRlZE1hcCA9IG5ldyBNYXA8bnVtYmVyLCBib29sZWFuPigpO1xuXG4gIEBWYWx1ZUhvb2soZnVuY3Rpb24gKHRoaXM6IFRlcm1pbmFsR3JvdXBDb21wb25lbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnRlcm1pbmFscz8uZ2V0KGluZGV4KT8uZm9jdXMoKTtcbiAgICBpZiAodGhpcy50ZXJtaW5hbHM/LmdldChpbmRleCkgJiYgIXRoaXMuaGFzQWN0aXZhdGVkTWFwLmdldChpbmRleCkpIHtcbiAgICAgIHRoaXMuaGFzQWN0aXZhdGVkTWFwLnNldChpbmRleCwgdHJ1ZSk7XG4gICAgICB0aGlzLnRlcm1pbmFscy5nZXQoaW5kZXgpPy5hY3RpdmF0ZVRlcm1pbmFsKCk7XG4gICAgfVxuICB9KVxuICBASW5wdXQoKVxuICBzZWxlY3RlZEluZGV4ID0gMDtcblxuICBASW5wdXQoKVxuICB0ZXJtaW5hbE9wdGlvbnM6IFRlcm1pbmFsT3B0aW9uW10gPSBbXTtcblxuICBAQ29udGVudENoaWxkKFRlcm1pbmFsRXh0cmFCdXR0b25EaXJlY3RpdmUpXG4gIHRlcm1pbmFsRXh0cmFCdXR0b246IFRlcm1pbmFsRXh0cmFCdXR0b25EaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHRlcm1pbmFsRXh0cmFCdXR0b25SZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBDb250ZW50Q2hpbGQoVGVybWluYWxFeHRyYUNvbnRlbnREaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgdGVybWluYWxFeHRyYUNvbnRlbnRSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHRlcm1pbmFsT3B0aW9uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGVybWluYWxPcHRpb25bXT4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc29ja2V0UmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuICAgIHNvY2tldDogV2ViU29ja2V0O1xuICAgIGluZGV4OiBudW1iZXI7XG4gIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZhbGxiYWNrU2hlbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuICAgIHNoZWxsOiBzdHJpbmc7XG4gIH0+KCk7XG5cbiAgQFZpZXdDaGlsZHJlbihUZXJtaW5hbENvbXBvbmVudClcbiAgdGVybWluYWxzOiBRdWVyeUxpc3Q8VGVybWluYWxDb21wb25lbnQ+O1xuXG4gIHN0YXR1c01hcCA9IG5ldyBNYXA8VGVybWluYWxPcHRpb24sIENvbm5lY3Rpb25TdGF0dXM+KCk7XG5cbiAgcmVtb3ZlVGVybWluYWwoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudGVybWluYWxzLmdldChpbmRleCk/LmtpbGxQcm9jZXNzKCk7XG4gICAgdGhpcy50ZXJtaW5hbE9wdGlvbnNDaGFuZ2UuZW1pdChbXG4gICAgICAuLi50aGlzLnRlcm1pbmFsT3B0aW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAuLi50aGlzLnRlcm1pbmFsT3B0aW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgIF0pO1xuICB9XG5cbiAgdHJhY2tCeU9wdGlvbihfOiBudW1iZXIsIG9wdGlvbjogVGVybWluYWxPcHRpb24pIHtcbiAgICByZXR1cm4gb3B0aW9uO1xuICB9XG5cbiAgaGFuZGxlQ29ubmVjdGlvblN0YXR1c0NoYW5nZShcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uLFxuICAgIHN0YXR1czogQ29ubmVjdGlvblN0YXR1cyxcbiAgKSB7XG4gICAgdGhpcy5zdGF0dXNNYXAuc2V0KG9wdGlvbiwgc3RhdHVzKTtcbiAgfVxuXG4gIHJlY29ubmVjdChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy50ZXJtaW5hbHMuZ2V0KGluZGV4KS5yZWNvbm5lY3QoKTtcbiAgfVxufVxuIiwiPGF1aS10YWItZ3JvdXBcbiAgKm5nSWY9XCJ0ZXJtaW5hbE9wdGlvbnM/Lmxlbmd0aFwiXG4gIHR5cGU9XCJjYXJkXCJcbiAgW2xhenldPVwidHJ1ZVwiXG4gIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIlxuICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJzZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4+XG4gIDxhdWktdGFiXG4gICAgKm5nRm9yPVwiXG4gICAgICBsZXQgb3B0aW9uIG9mIHRlcm1pbmFsT3B0aW9ucztcbiAgICAgIGxldCBpID0gaW5kZXg7XG4gICAgICB0cmFja0J5OiB0cmFja0J5T3B0aW9uXG4gICAgXCJcbiAgICBbY2xvc2VhYmxlXT1cInRydWVcIlxuICAgIChjbG9zZSk9XCJyZW1vdmVUZXJtaW5hbChpKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqYXVpVGFiTGFiZWxcbiAgICAgIGNsYXNzPVwidHctZmxleFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgW0Nvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGluZywgQ29ubmVjdGlvblN0YXR1cy5SZUNvbm5lY3RpbmddLmluY2x1ZGVzKFxuICAgICAgICAgICAgc3RhdHVzTWFwLmdldChvcHRpb24pXG4gICAgICAgICAgKVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cInR3LW1yLTQgdHctaWNvbi1sIHR3LXRleHQtcHJpbWFyeVwiXG4gICAgICAgIGljb249XCJzcGlubmVyXCJcbiAgICAgICAgW2F1aVRvb2x0aXBdPVwiJ2V4ZWNfY29ubmVjdGluZycgfCB0cmFuc2xhdGVcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBbXG4gICAgICAgICAgICBDb25uZWN0aW9uU3RhdHVzLkRpc2Nvbm5lY3RlZCxcbiAgICAgICAgICAgIENvbm5lY3Rpb25TdGF0dXMuTm9QZXJtaXNzaW9uLFxuICAgICAgICAgIF0uaW5jbHVkZXMoc3RhdHVzTWFwLmdldChvcHRpb24pKVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cInR3LW1yLTQgdHctaWNvbi1sIHR3LXRleHQtcmVkXCJcbiAgICAgICAgaWNvbj1cImV4Y2xhbWF0aW9uX3RyaWFuZ2xlX3NcIlxuICAgICAgICBiYWNrZ3JvdW5kPVwidHJpYW5nbGVcIlxuICAgICAgICBbYXVpVG9vbHRpcF09XCJkaXNjb25uZWN0ZWRUaXBcIlxuICAgICAgICBbYXVpVG9vbHRpcENvbnRleHRdPVwieyBpbmRleDogaSB9XCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgc3RhdHVzTWFwLmdldChvcHRpb24pID09PSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCAmJiBvcHRpb24uaWNvblxuICAgICAgICBcIlxuICAgICAgICBbaWNvbl09XCJvcHRpb24uaWNvblwiXG4gICAgICAgIGNsYXNzPVwidHctbXItNCB0dy1pY29uLWxcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YWNsLXRleHQtZWxsaXBzaXNcbiAgICAgICAgW3RleHRdPVwib3B0aW9uLmxhYmVsIHx8IG9wdGlvbi5wb2RcIlxuICAgICAgICBbdGFpbExlbmd0aF09XCI2XCJcbiAgICAgID48L2FjbC10ZXh0LWVsbGlwc2lzPlxuICAgIDwvZGl2PlxuICAgIDxhY2wtdGVybWluYWxcbiAgICAgIFtvcHRpb25dPVwib3B0aW9uXCJcbiAgICAgIFtpbmRleF09XCJpXCJcbiAgICAgIFtleHRyYUJ1dHRvbl09XCJcbiAgICAgICAgdGVybWluYWxFeHRyYUJ1dHRvbj8uZW5hYmxlID8gdGVybWluYWxFeHRyYUJ1dHRvblJlZiA6IG51bGxcbiAgICAgIFwiXG4gICAgICBbZXh0cmFDb250ZW50XT1cInRlcm1pbmFsRXh0cmFDb250ZW50UmVmXCJcbiAgICAgIChjb25uZWN0aW9uU3RhdHVzQ2hhbmdlKT1cImhhbmRsZUNvbm5lY3Rpb25TdGF0dXNDaGFuZ2Uob3B0aW9uLCAkZXZlbnQpXCJcbiAgICAgIChzb2NrZXRSZWFkeSk9XCJcbiAgICAgICAgc29ja2V0UmVhZHkuZW1pdCh7XG4gICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgIHNvY2tldDogJGV2ZW50LFxuICAgICAgICAgIGluZGV4OiBpLFxuICAgICAgICB9KVxuICAgICAgXCJcbiAgICAgIChmYWxsYmFja1NoZWxsKT1cIlxuICAgICAgICBmYWxsYmFja1NoZWxsLmVtaXQoe1xuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBzaGVsbDogJGV2ZW50LFxuICAgICAgICB9KVxuICAgICAgXCJcbiAgICA+PC9hY2wtdGVybWluYWw+XG4gIDwvYXVpLXRhYj5cbjwvYXVpLXRhYi1ncm91cD5cblxuPG5nLXRlbXBsYXRlXG4gICNkaXNjb25uZWN0ZWRUaXBcbiAgbGV0LWk9XCJpbmRleFwiXG4+XG4gIDxzcGFuPnt7ICdleGVjX2Rpc2Nvbm5lY3RlZF90aXAnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgIHNpemU9XCJtaW5pXCJcbiAgICAoY2xpY2spPVwicmVjb25uZWN0KGkpXCJcbiAgPlxuICAgIHt7ICdyZWNvbm5lY3QnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==