@eui/components 18.0.0-rc.27 → 18.0.0-rc.28

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 (54) hide show
  1. package/docs/components/EuiMenuItemComponent.html +1 -0
  2. package/docs/components/EuiNotificationItemComponent.html +3 -3
  3. package/docs/components/EuiNotificationItemV2Component.html +1 -1
  4. package/docs/components/EuiNotificationsComponent.html +24 -92
  5. package/docs/components/EuiPaginatorComponent.html +1 -1
  6. package/docs/components/EuiTimelineComponent.html +55 -5
  7. package/docs/components/EuiTimelineItemComponent.html +0 -10
  8. package/docs/dependencies.html +1 -1
  9. package/docs/index.html +1 -1
  10. package/docs/interfaces/NotificationMetadata.html +546 -0
  11. package/docs/js/menu-wc.js +3 -0
  12. package/docs/js/menu-wc_es5.js +1 -1
  13. package/docs/js/search/search_index.js +2 -2
  14. package/esm2022/eui-button/eui-button.component.mjs +2 -2
  15. package/esm2022/eui-menu/eui-menu-item.component.mjs +16 -2
  16. package/esm2022/eui-menu/eui-menu.component.mjs +2 -2
  17. package/esm2022/eui-menu/models/eui-menu-item.model.mjs +2 -2
  18. package/esm2022/eui-page/eui-page.component.mjs +2 -2
  19. package/esm2022/eui-paginator/eui-paginator.component.mjs +3 -3
  20. package/esm2022/eui-timeline/eui-timeline-item.component.mjs +1 -3
  21. package/esm2022/eui-timeline/eui-timeline.component.mjs +29 -11
  22. package/esm2022/layout/eui-notifications/eui-notification-item.component.mjs +1 -1
  23. package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +1 -25
  24. package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +1 -1
  25. package/esm2022/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.mjs +2 -2
  26. package/eui-menu/eui-menu-item.component.d.ts +5 -4
  27. package/eui-menu/eui-menu-item.component.d.ts.map +1 -1
  28. package/eui-menu/eui-menu.component.d.ts.map +1 -1
  29. package/eui-timeline/eui-timeline-item.component.d.ts.map +1 -1
  30. package/eui-timeline/eui-timeline.component.d.ts +9 -1
  31. package/eui-timeline/eui-timeline.component.d.ts.map +1 -1
  32. package/fesm2022/eui-components-eui-button.mjs +2 -2
  33. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  34. package/fesm2022/eui-components-eui-menu.mjs +16 -3
  35. package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
  36. package/fesm2022/eui-components-eui-page.mjs +2 -2
  37. package/fesm2022/eui-components-eui-page.mjs.map +1 -1
  38. package/fesm2022/eui-components-eui-paginator.mjs +2 -2
  39. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  40. package/fesm2022/eui-components-eui-timeline.mjs +28 -12
  41. package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
  42. package/fesm2022/eui-components-layout.mjs +1 -25
  43. package/fesm2022/eui-components-layout.mjs.map +1 -1
  44. package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts +1 -1
  45. package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
  46. package/layout/eui-notifications/eui-notification-item.component.d.ts +12 -3
  47. package/layout/eui-notifications/eui-notification-item.component.d.ts.map +1 -1
  48. package/layout/eui-notifications/eui-notifications.component.d.ts +16 -14
  49. package/layout/eui-notifications/eui-notifications.component.d.ts.map +1 -1
  50. package/layout/eui-notifications-v2/eui-notification-item.component.d.ts +2 -1
  51. package/layout/eui-notifications-v2/eui-notification-item.component.d.ts.map +1 -1
  52. package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts +1 -1
  53. package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts.map +1 -1
  54. package/package.json +3 -3
@@ -56,7 +56,7 @@ export class EuiButtonComponent {
56
56
  this.buttonClick.emit(this);
57
57
  }
58
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiButtonComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: { e2eAttr: "e2eAttr", id: "id", euiBasicButton: ["euiBasicButton", "euiBasicButton", booleanAttribute], euiButtonCall: ["euiButtonCall", "euiButtonCall", booleanAttribute], euiBlockButton: ["euiBlockButton", "euiBlockButton", booleanAttribute], euiIconButton: ["euiIconButton", "euiIconButton", booleanAttribute], euiLineWrap: ["euiLineWrap", "euiLineWrap", booleanAttribute], isChecked: "isChecked", euiDisabled: "euiDisabled" }, outputs: { buttonClick: "buttonClick" }, host: { listeners: { "click": "onClick()" }, properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr", "attr.id": "this.id" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiBranding", "euiBranding", "euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiSizeS", "euiSizeS", "euiSizeM", "euiSizeM", "euiSizeVariant", "euiSizeVariant", "euiOutline", "euiOutline", "euiRounded", "euiRounded", "euiResponsive", "euiResponsive"] }], ngImport: i0, template: "<span class=\"eui-button__container\">\n <ng-content></ng-content>\n</span>\n", styles: [".eui-button{--_color: var(--eui-button-color, var(--eui-c-neutral));--_bg-color: var(--eui-button-bg-color, var(--eui-c-neutral-bg-light));--_on-bg-color: var(--eui-button-on-bg-color, var(--eui-c-neutral));--_border-color: var(--eui-button-border-color, var(--eui-c-neutral-lighter));--_hover-color: var(--eui-button-hover-color, var(--eui-c-neutral-bg));--_on-hover-color: var(--eui-button-on-hover-color, var(--eui-c-neutral-bg-contrast));--_basic-bg-color: var(--eui-button-basic-bg-color, transparent);--_basic-hover-color: var(--eui-button-basic-hover-color, var(--eui-c-neutral-bg-light));--_on-basic-hover-color: var(--eui-button-on-basic-hover-color, var(--eui-c-neutral-bg-light-contrast));--_outline-color: var(--eui-button-outline-color, var(--eui-c-neutral));--_outline-hover-color: var(--eui-button-outline-hover-color, var(--eui-c-neutral-bg));--_on-outline-hover-color: var(--eui-button-on-outline-hover-color, var(--eui-c-neutral-bg-contrast))}.eui-button{align-items:center;background-image:none;border:var(--eui-bw-none);border-radius:var(--eui-br-m);box-shadow:var(--eui-sh-ecl-2);box-sizing:border-box;cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;min-height:calc(var(--eui-s-3xl) + var(--eui-s-2xs));min-width:calc(var(--eui-s-3xl) + var(--eui-s-2xs));outline:none;padding:calc(var(--eui-s-xs) - 1px) var(--eui-s-m);text-transform:none;transition:none;vertical-align:middle;white-space:nowrap;font:var(--eui-f-m)}.eui-button:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-1px!important;transition:none}.eui-button:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-1px!important;transition:none}.eui-button [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-1px!important;transition:none}.eui-button .eui-button__container{align-items:center;display:inline-flex;position:relative;gap:var(--eui-s-xs)}.eui-button--icon-only{padding:inherit var(--eui-s-2xs)}.eui-button--size-s{font:var(--eui-f-s);min-height:var(--eui-is-l);min-width:var(--eui-is-l);padding:calc(var(--eui-s-xs) - 3px) var(--eui-s-s)}.eui-button--size-s.eui-button--icon-only{padding:calc(var(--eui-s-xs) - 3px) var(--eui-s-2xs)}.eui-button--size-s .eui-icon-svg{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-button--size-m{font:var(--eui-f-m)}.eui-button--size-m .eui-icon-svg{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-button--primary{--_color: var(--eui-c-primary);--_bg-color: var(--eui-c-primary);--_on-bg-color: var(--eui-c-primary-contrast);--_border-color: var(--eui-c-primary-dark);--_hover-color: var(--eui-c-primary-darker);--_on-hover-color: var(--eui-c-primary-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-primary-bg);--_on-basic-hover-color: var(--eui-c-primary-bg-contrast);--_outline-color: var(--eui-c-primary);--_outline-hover-color: var(--eui-c-primary-bg);--_on-outline-hover-color: var(--eui-c-primary-bg-contrast)}.eui-button--branding{--_color: var(--eui-c-branding);--_bg-color: var(--eui-c-branding);--_on-bg-color: var(--eui-c-branding-contrast);--_border-color: var(--eui-c-branding);--_hover-color: var(--eui-c-branding-light);--_on-hover-color: var(--eui-c-branding-light-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-branding-light);--_on-basic-hover-color: var(--eui-c-branding-light-contrast);--_outline-color: var(--eui-c-branding);--_outline-hover-color: var(--eui-c-branding-light);--_on-outline-hover-color: var(--eui-c-branding-light-contrast)}.eui-button--info{--_color: var(--eui-c-info);--_bg-color: var(--eui-c-info);--_on-bg-color: var(--eui-c-info-contrast);--_border-color: var(--eui-c-info-dark);--_hover-color: var(--eui-c-info-darker);--_on-hover-color: var(--eui-c-info-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-info-bg);--_on-basic-hover-color: var(--eui-c-info-bg-contrast);--_outline-color: var(--eui-c-info);--_outline-hover-color: var(--eui-c-info-bg);--_on-outline-hover-color: var(--eui-c-info-bg-contrast)}.eui-button--success{--_color: var(--eui-c-success);--_bg-color: var(--eui-c-success);--_on-bg-color: var(--eui-c-success-contrast);--_border-color: var(--eui-c-success-dark);--_hover-color: var(--eui-c-success-darker);--_on-hover-color: var(--eui-c-success-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-success-bg);--_on-basic-hover-color: var(--eui-c-success-bg-contrast);--_outline-color: var(--eui-c-success);--_outline-hover-color: var(--eui-c-success-bg);--_on-outline-hover-color: var(--eui-c-success-bg-contrast)}.eui-button--warning{--_color: var(--eui-c-warning);--_bg-color: var(--eui-c-warning);--_on-bg-color: var(--eui-c-warning-contrast);--_border-color: var(--eui-c-warning-dark);--_hover-color: var(--eui-c-warning-darker);--_on-hover-color: var(--eui-c-warning-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-warning-bg);--_on-basic-hover-color: var(--eui-c-warning-bg-contrast);--_outline-color: var(--eui-c-neutral);--_outline-hover-color: var(--eui-c-warning-bg);--_on-outline-hover-color: var(--eui-c-warning-bg-contrast)}.eui-button--danger{--_color: var(--eui-c-danger);--_bg-color: var(--eui-c-danger);--_on-bg-color: var(--eui-c-danger-contrast);--_border-color: var(--eui-c-danger-dark);--_hover-color: var(--eui-c-danger-darker);--_on-hover-color: var(--eui-c-danger-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-danger-bg);--_on-basic-hover-color: var(--eui-c-danger-bg-contrast);--_outline-color: var(--eui-c-danger);--_outline-hover-color: var(--eui-c-danger-bg);--_on-outline-hover-color: var(--eui-c-danger-bg-contrast)}.eui-button--accent{--_color: var(--eui-c-accent-dark);--_bg-color: var(--eui-c-accent);--_on-bg-color: var(--eui-c-accent-dark-contrast);--_border-color: var(--eui-c-accent-dark);--_hover-color: var(--eui-c-accent-darker);--_on-hover-color: var(--eui-c-accent-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-accent-bg);--_on-basic-hover-color: var(--eui-c-accent-bg-contrast);--_outline-color: var(--eui-c-neutral);--_outline-hover-color: var(--eui-c-accent-bg);--_on-outline-hover-color: var(--eui-c-accent-bg-contrast)}.eui-button{background-color:var(--_bg-color);color:var(--_on-bg-color);border:var(--eui-bw-xs) solid var(--_border-color)}.eui-button:hover{background-color:var(--_hover-color);color:var(--_on-hover-color)}.eui-button:hover .eui-label,.eui-button .eui-label{color:var(--_on-bg-color)}.eui-button--basic{border:var(--eui-bw-none);box-shadow:none;background-color:var(--_basic-bg-color);color:var(--_color)}.eui-button--basic .eui-label{color:var(--_color)}.eui-button--outline{background-color:var(--eui-c-white);color:var(--_outline-color);border:var(--eui-bw-xs) solid var(--_border-color)}.eui-button--outline .eui-label{color:var(--_outline-color)}.eui-button--basic:hover{background-color:var(--_basic-hover-color);color:var(--_on-basic-hover-color)}.eui-button--basic:hover .eui-label{color:var(--_on-basic-hover-color)}.eui-button--outline:hover{background-color:var(--_outline-hover-color);color:var(--_on-outline-hover-color)}.eui-button--outline:hover .eui-label{color:var(--_on-outline-hover-color)}.eui-button--rounded{border-radius:var(--eui-br-max)}.eui-button--rounded:focus:not([readonly]){border-radius:var(--eui-br-max);outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-button--rounded:focus-visible:not([readonly]){border-radius:var(--eui-br-max);outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button--responsive{display:grid!important;position:relative;width:100%}.eui-button--responsive .eui-button__container{overflow:hidden}.eui-button--responsive .eui-button__container>label,.eui-button--responsive .eui-button__container>.eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-button--block{display:block;width:100%}.eui-button--line-wrap{padding:var(--eui-s-s);white-space:normal}.eui-button--expand-toggle{background:var(--eui-c-bg);border-color:transparent;border-radius:0 0 var(--eui-s-xs) var(--eui-s-xs);min-height:var(--eui-s-m);padding:0 var(--eui-s-xl);box-shadow:var(--eui-sh-1)}.eui-button--expand-toggle:hover,.eui-button--expand-toggle:focus{box-shadow:var(--eui-sh-3)}.eui-button.disabled,.eui-button:disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}.eui-dropdown-button{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;position:relative}.eui-dropdown-button--disabled,.eui-dropdown-button:disabled{pointer-events:none}.eui-button-fixed{bottom:var(--eui-s-3xl);position:fixed;right:var(--eui-s-xl);z-index:calc(var(--eui-zi-btn-floating) + 1)}.eui-button-fixed:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-button-fixed:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button-fixed [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button-floating{align-items:center;border-radius:var(--eui-br-max);display:inline-flex;overflow:hidden;padding:var(--eui-s-xs);position:relative;transform:translateY(35%);transition:.3s;vertical-align:middle;height:var(--eui-s-4xl);width:var(--eui-s-4xl);z-index:1;box-shadow:var(--eui-sh-6);background-color:var(--_bg-color);color:var(--_on-bg-color)}.eui-button-floating:hover{cursor:pointer;box-shadow:var(--eui-sh-3)}.eui-button-floating:before{border-radius:var(--eui-br-none)}.eui-button__expand-trigger{border-top:1px solid var(--eui-c-neutral-lightest);cursor:pointer;display:flex;justify-content:center;width:100%;z-index:1;margin-bottom:var(--eui-s-l)}.eui-button__expand-trigger:hover .eui-button--expand-toggle{box-shadow:var(--eui-sh-3)}.eui-button__expand-trigger--collapsed{margin-top:var(--eui-s-s)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: { e2eAttr: "e2eAttr", id: "id", euiBasicButton: ["euiBasicButton", "euiBasicButton", booleanAttribute], euiButtonCall: ["euiButtonCall", "euiButtonCall", booleanAttribute], euiBlockButton: ["euiBlockButton", "euiBlockButton", booleanAttribute], euiIconButton: ["euiIconButton", "euiIconButton", booleanAttribute], euiLineWrap: ["euiLineWrap", "euiLineWrap", booleanAttribute], isChecked: "isChecked", euiDisabled: "euiDisabled" }, outputs: { buttonClick: "buttonClick" }, host: { listeners: { "click": "onClick()" }, properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr", "attr.id": "this.id" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiBranding", "euiBranding", "euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiSizeS", "euiSizeS", "euiSizeM", "euiSizeM", "euiSizeVariant", "euiSizeVariant", "euiOutline", "euiOutline", "euiRounded", "euiRounded", "euiResponsive", "euiResponsive"] }], ngImport: i0, template: "<span class=\"eui-button__container\">\n <ng-content></ng-content>\n</span>\n", styles: [".eui-button{--_color: var(--eui-button-color, var(--eui-c-neutral));--_bg-color: var(--eui-button-bg-color, var(--eui-c-neutral-bg-light));--_on-bg-color: var(--eui-button-on-bg-color, var(--eui-c-neutral));--_border-color: var(--eui-button-border-color, var(--eui-c-neutral-lighter));--_hover-color: var(--eui-button-hover-color, var(--eui-c-neutral-bg));--_on-hover-color: var(--eui-button-on-hover-color, var(--eui-c-neutral-bg-contrast));--_basic-bg-color: var(--eui-button-basic-bg-color, transparent);--_basic-hover-color: var(--eui-button-basic-hover-color, var(--eui-c-neutral-bg-light));--_on-basic-hover-color: var(--eui-button-on-basic-hover-color, var(--eui-c-neutral-bg-light-contrast));--_outline-color: var(--eui-button-outline-color, var(--eui-c-neutral));--_outline-hover-color: var(--eui-button-outline-hover-color, var(--eui-c-neutral-bg));--_on-outline-hover-color: var(--eui-button-on-outline-hover-color, var(--eui-c-neutral-bg-contrast))}.eui-button{align-items:center;background-image:none;border:var(--eui-bw-none);border-radius:var(--eui-br-m);box-shadow:var(--eui-sh-ecl-2);box-sizing:border-box;cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;min-height:calc(var(--eui-s-3xl) + var(--eui-s-2xs));min-width:calc(var(--eui-s-3xl) + var(--eui-s-2xs));outline:none;padding:calc(var(--eui-s-xs) - 1px) var(--eui-s-m);text-transform:none;transition:none;vertical-align:middle;white-space:nowrap;font:var(--eui-f-m)}.eui-button:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-1px!important;transition:none}.eui-button:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-1px!important;transition:none}.eui-button [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-1px!important;transition:none}.eui-button .eui-button__container{align-items:center;display:inline-flex;position:relative;gap:var(--eui-s-xs)}.eui-button--icon-only{padding:inherit var(--eui-s-2xs)}.eui-button--size-s{font:var(--eui-f-s);min-height:var(--eui-is-l);min-width:var(--eui-is-l);padding:calc(var(--eui-s-xs) - 3px) var(--eui-s-s)}.eui-button--size-s.eui-button--icon-only{padding:calc(var(--eui-s-xs) - 3px) var(--eui-s-2xs)}.eui-button--size-s .eui-icon-svg{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-button--size-m{font:var(--eui-f-m)}.eui-button--size-m .eui-icon-svg{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-button--primary{--_color: var(--eui-c-primary);--_bg-color: var(--eui-c-primary);--_on-bg-color: var(--eui-c-primary-contrast);--_border-color: var(--eui-c-primary-dark);--_hover-color: var(--eui-c-primary-darker);--_on-hover-color: var(--eui-c-primary-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-primary-bg);--_on-basic-hover-color: var(--eui-c-primary-bg-contrast);--_outline-color: var(--eui-c-primary);--_outline-hover-color: var(--eui-c-primary-bg);--_on-outline-hover-color: var(--eui-c-primary-bg-contrast)}.eui-button--branding{--_color: var(--eui-c-branding);--_bg-color: var(--eui-c-branding);--_on-bg-color: var(--eui-c-branding-contrast);--_border-color: var(--eui-c-branding);--_hover-color: var(--eui-c-branding-light);--_on-hover-color: var(--eui-c-branding-light-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-branding-light);--_on-basic-hover-color: var(--eui-c-branding-light-contrast);--_outline-color: var(--eui-c-branding);--_outline-hover-color: var(--eui-c-branding-light);--_on-outline-hover-color: var(--eui-c-branding-light-contrast)}.eui-button--info{--_color: var(--eui-c-info);--_bg-color: var(--eui-c-info);--_on-bg-color: var(--eui-c-info-contrast);--_border-color: var(--eui-c-info-dark);--_hover-color: var(--eui-c-info-darker);--_on-hover-color: var(--eui-c-info-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-info-bg);--_on-basic-hover-color: var(--eui-c-info-bg-contrast);--_outline-color: var(--eui-c-info);--_outline-hover-color: var(--eui-c-info-bg);--_on-outline-hover-color: var(--eui-c-info-bg-contrast)}.eui-button--success{--_color: var(--eui-c-success);--_bg-color: var(--eui-c-success);--_on-bg-color: var(--eui-c-success-contrast);--_border-color: var(--eui-c-success-dark);--_hover-color: var(--eui-c-success-darker);--_on-hover-color: var(--eui-c-success-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-success-bg);--_on-basic-hover-color: var(--eui-c-success-bg-contrast);--_outline-color: var(--eui-c-success);--_outline-hover-color: var(--eui-c-success-bg);--_on-outline-hover-color: var(--eui-c-success-bg-contrast)}.eui-button--warning{--_color: var(--eui-c-warning);--_bg-color: var(--eui-c-warning);--_on-bg-color: var(--eui-c-warning-contrast);--_border-color: var(--eui-c-warning-dark);--_hover-color: var(--eui-c-warning-darker);--_on-hover-color: var(--eui-c-warning-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-warning-bg);--_on-basic-hover-color: var(--eui-c-warning-bg-contrast);--_outline-color: var(--eui-c-neutral);--_outline-hover-color: var(--eui-c-warning-bg);--_on-outline-hover-color: var(--eui-c-warning-bg-contrast)}.eui-button--danger{--_color: var(--eui-c-danger);--_bg-color: var(--eui-c-danger);--_on-bg-color: var(--eui-c-danger-contrast);--_border-color: var(--eui-c-danger-dark);--_hover-color: var(--eui-c-danger-darker);--_on-hover-color: var(--eui-c-danger-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-danger-bg);--_on-basic-hover-color: var(--eui-c-danger-bg-contrast);--_outline-color: var(--eui-c-danger);--_outline-hover-color: var(--eui-c-danger-bg);--_on-outline-hover-color: var(--eui-c-danger-bg-contrast)}.eui-button--accent{--_color: var(--eui-c-accent-dark);--_bg-color: var(--eui-c-accent-light);--_on-bg-color: var(--eui-c-accent-light-contrast);--_border-color: var(--eui-c-accent-darker);--_hover-color: var(--eui-c-accent-dark);--_on-hover-color: var(--eui-c-accent-dark-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-accent-bg);--_on-basic-hover-color: var(--eui-c-accent-bg-contrast);--_outline-color: var(--eui-c-neutral);--_outline-hover-color: var(--eui-c-accent-bg);--_on-outline-hover-color: var(--eui-c-accent-bg-contrast)}.eui-button{background-color:var(--_bg-color);color:var(--_on-bg-color);border:var(--eui-bw-xs) solid var(--_border-color)}.eui-button:hover{background-color:var(--_hover-color);color:var(--_on-hover-color)}.eui-button:hover .eui-label,.eui-button .eui-label{color:var(--_on-bg-color)}.eui-button--basic{border:var(--eui-bw-none);box-shadow:none;background-color:var(--_basic-bg-color);color:var(--_color)}.eui-button--basic .eui-label{color:var(--_color)}.eui-button--outline{background-color:var(--eui-c-white);color:var(--_outline-color);border:var(--eui-bw-xs) solid var(--_border-color)}.eui-button--outline .eui-label{color:var(--_outline-color)}.eui-button--basic:hover{background-color:var(--_basic-hover-color);color:var(--_on-basic-hover-color)}.eui-button--basic:hover .eui-label{color:var(--_on-basic-hover-color)}.eui-button--outline:hover{background-color:var(--_outline-hover-color);color:var(--_on-outline-hover-color)}.eui-button--outline:hover .eui-label{color:var(--_on-outline-hover-color)}.eui-button--rounded{border-radius:var(--eui-br-max)}.eui-button--rounded:focus:not([readonly]){border-radius:var(--eui-br-max);outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-button--rounded:focus-visible:not([readonly]){border-radius:var(--eui-br-max);outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button--responsive{display:grid!important;position:relative;width:100%}.eui-button--responsive .eui-button__container{overflow:hidden}.eui-button--responsive .eui-button__container>label,.eui-button--responsive .eui-button__container>.eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-button--block{display:block;width:100%}.eui-button--line-wrap{padding:var(--eui-s-s);white-space:normal}.eui-button--expand-toggle{background:var(--eui-c-bg);border-color:transparent;border-radius:0 0 var(--eui-s-xs) var(--eui-s-xs);min-height:var(--eui-s-m);padding:0 var(--eui-s-xl);box-shadow:var(--eui-sh-1)}.eui-button--expand-toggle:hover,.eui-button--expand-toggle:focus{box-shadow:var(--eui-sh-3)}.eui-button.disabled,.eui-button:disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}.eui-dropdown-button{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;position:relative}.eui-dropdown-button--disabled,.eui-dropdown-button:disabled{pointer-events:none}.eui-button-fixed{bottom:var(--eui-s-3xl);position:fixed;right:var(--eui-s-xl);z-index:calc(var(--eui-zi-btn-floating) + 1)}.eui-button-fixed:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-button-fixed:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button-fixed [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button-floating{align-items:center;border-radius:var(--eui-br-max);display:inline-flex;overflow:hidden;padding:var(--eui-s-xs);position:relative;transform:translateY(35%);transition:.3s;vertical-align:middle;height:var(--eui-s-4xl);width:var(--eui-s-4xl);z-index:1;box-shadow:var(--eui-sh-6);background-color:var(--_bg-color);color:var(--_on-bg-color)}.eui-button-floating:hover{cursor:pointer;box-shadow:var(--eui-sh-3)}.eui-button-floating:before{border-radius:var(--eui-br-none)}.eui-button__expand-trigger{border-top:1px solid var(--eui-c-neutral-lightest);cursor:pointer;display:flex;justify-content:center;width:100%;z-index:1;margin-bottom:var(--eui-s-l)}.eui-button__expand-trigger:hover .eui-button--expand-toggle{box-shadow:var(--eui-sh-3)}.eui-button__expand-trigger--collapsed{margin-top:var(--eui-s-s)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
60
60
  }
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiButtonComponent, decorators: [{
62
62
  type: Component,
@@ -81,7 +81,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
81
81
  'euiResponsive',
82
82
  ],
83
83
  },
84
- ], template: "<span class=\"eui-button__container\">\n <ng-content></ng-content>\n</span>\n", styles: [".eui-button{--_color: var(--eui-button-color, var(--eui-c-neutral));--_bg-color: var(--eui-button-bg-color, var(--eui-c-neutral-bg-light));--_on-bg-color: var(--eui-button-on-bg-color, var(--eui-c-neutral));--_border-color: var(--eui-button-border-color, var(--eui-c-neutral-lighter));--_hover-color: var(--eui-button-hover-color, var(--eui-c-neutral-bg));--_on-hover-color: var(--eui-button-on-hover-color, var(--eui-c-neutral-bg-contrast));--_basic-bg-color: var(--eui-button-basic-bg-color, transparent);--_basic-hover-color: var(--eui-button-basic-hover-color, var(--eui-c-neutral-bg-light));--_on-basic-hover-color: var(--eui-button-on-basic-hover-color, var(--eui-c-neutral-bg-light-contrast));--_outline-color: var(--eui-button-outline-color, var(--eui-c-neutral));--_outline-hover-color: var(--eui-button-outline-hover-color, var(--eui-c-neutral-bg));--_on-outline-hover-color: var(--eui-button-on-outline-hover-color, var(--eui-c-neutral-bg-contrast))}.eui-button{align-items:center;background-image:none;border:var(--eui-bw-none);border-radius:var(--eui-br-m);box-shadow:var(--eui-sh-ecl-2);box-sizing:border-box;cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;min-height:calc(var(--eui-s-3xl) + var(--eui-s-2xs));min-width:calc(var(--eui-s-3xl) + var(--eui-s-2xs));outline:none;padding:calc(var(--eui-s-xs) - 1px) var(--eui-s-m);text-transform:none;transition:none;vertical-align:middle;white-space:nowrap;font:var(--eui-f-m)}.eui-button:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-1px!important;transition:none}.eui-button:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-1px!important;transition:none}.eui-button [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-1px!important;transition:none}.eui-button .eui-button__container{align-items:center;display:inline-flex;position:relative;gap:var(--eui-s-xs)}.eui-button--icon-only{padding:inherit var(--eui-s-2xs)}.eui-button--size-s{font:var(--eui-f-s);min-height:var(--eui-is-l);min-width:var(--eui-is-l);padding:calc(var(--eui-s-xs) - 3px) var(--eui-s-s)}.eui-button--size-s.eui-button--icon-only{padding:calc(var(--eui-s-xs) - 3px) var(--eui-s-2xs)}.eui-button--size-s .eui-icon-svg{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-button--size-m{font:var(--eui-f-m)}.eui-button--size-m .eui-icon-svg{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-button--primary{--_color: var(--eui-c-primary);--_bg-color: var(--eui-c-primary);--_on-bg-color: var(--eui-c-primary-contrast);--_border-color: var(--eui-c-primary-dark);--_hover-color: var(--eui-c-primary-darker);--_on-hover-color: var(--eui-c-primary-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-primary-bg);--_on-basic-hover-color: var(--eui-c-primary-bg-contrast);--_outline-color: var(--eui-c-primary);--_outline-hover-color: var(--eui-c-primary-bg);--_on-outline-hover-color: var(--eui-c-primary-bg-contrast)}.eui-button--branding{--_color: var(--eui-c-branding);--_bg-color: var(--eui-c-branding);--_on-bg-color: var(--eui-c-branding-contrast);--_border-color: var(--eui-c-branding);--_hover-color: var(--eui-c-branding-light);--_on-hover-color: var(--eui-c-branding-light-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-branding-light);--_on-basic-hover-color: var(--eui-c-branding-light-contrast);--_outline-color: var(--eui-c-branding);--_outline-hover-color: var(--eui-c-branding-light);--_on-outline-hover-color: var(--eui-c-branding-light-contrast)}.eui-button--info{--_color: var(--eui-c-info);--_bg-color: var(--eui-c-info);--_on-bg-color: var(--eui-c-info-contrast);--_border-color: var(--eui-c-info-dark);--_hover-color: var(--eui-c-info-darker);--_on-hover-color: var(--eui-c-info-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-info-bg);--_on-basic-hover-color: var(--eui-c-info-bg-contrast);--_outline-color: var(--eui-c-info);--_outline-hover-color: var(--eui-c-info-bg);--_on-outline-hover-color: var(--eui-c-info-bg-contrast)}.eui-button--success{--_color: var(--eui-c-success);--_bg-color: var(--eui-c-success);--_on-bg-color: var(--eui-c-success-contrast);--_border-color: var(--eui-c-success-dark);--_hover-color: var(--eui-c-success-darker);--_on-hover-color: var(--eui-c-success-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-success-bg);--_on-basic-hover-color: var(--eui-c-success-bg-contrast);--_outline-color: var(--eui-c-success);--_outline-hover-color: var(--eui-c-success-bg);--_on-outline-hover-color: var(--eui-c-success-bg-contrast)}.eui-button--warning{--_color: var(--eui-c-warning);--_bg-color: var(--eui-c-warning);--_on-bg-color: var(--eui-c-warning-contrast);--_border-color: var(--eui-c-warning-dark);--_hover-color: var(--eui-c-warning-darker);--_on-hover-color: var(--eui-c-warning-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-warning-bg);--_on-basic-hover-color: var(--eui-c-warning-bg-contrast);--_outline-color: var(--eui-c-neutral);--_outline-hover-color: var(--eui-c-warning-bg);--_on-outline-hover-color: var(--eui-c-warning-bg-contrast)}.eui-button--danger{--_color: var(--eui-c-danger);--_bg-color: var(--eui-c-danger);--_on-bg-color: var(--eui-c-danger-contrast);--_border-color: var(--eui-c-danger-dark);--_hover-color: var(--eui-c-danger-darker);--_on-hover-color: var(--eui-c-danger-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-danger-bg);--_on-basic-hover-color: var(--eui-c-danger-bg-contrast);--_outline-color: var(--eui-c-danger);--_outline-hover-color: var(--eui-c-danger-bg);--_on-outline-hover-color: var(--eui-c-danger-bg-contrast)}.eui-button--accent{--_color: var(--eui-c-accent-dark);--_bg-color: var(--eui-c-accent);--_on-bg-color: var(--eui-c-accent-dark-contrast);--_border-color: var(--eui-c-accent-dark);--_hover-color: var(--eui-c-accent-darker);--_on-hover-color: var(--eui-c-accent-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-accent-bg);--_on-basic-hover-color: var(--eui-c-accent-bg-contrast);--_outline-color: var(--eui-c-neutral);--_outline-hover-color: var(--eui-c-accent-bg);--_on-outline-hover-color: var(--eui-c-accent-bg-contrast)}.eui-button{background-color:var(--_bg-color);color:var(--_on-bg-color);border:var(--eui-bw-xs) solid var(--_border-color)}.eui-button:hover{background-color:var(--_hover-color);color:var(--_on-hover-color)}.eui-button:hover .eui-label,.eui-button .eui-label{color:var(--_on-bg-color)}.eui-button--basic{border:var(--eui-bw-none);box-shadow:none;background-color:var(--_basic-bg-color);color:var(--_color)}.eui-button--basic .eui-label{color:var(--_color)}.eui-button--outline{background-color:var(--eui-c-white);color:var(--_outline-color);border:var(--eui-bw-xs) solid var(--_border-color)}.eui-button--outline .eui-label{color:var(--_outline-color)}.eui-button--basic:hover{background-color:var(--_basic-hover-color);color:var(--_on-basic-hover-color)}.eui-button--basic:hover .eui-label{color:var(--_on-basic-hover-color)}.eui-button--outline:hover{background-color:var(--_outline-hover-color);color:var(--_on-outline-hover-color)}.eui-button--outline:hover .eui-label{color:var(--_on-outline-hover-color)}.eui-button--rounded{border-radius:var(--eui-br-max)}.eui-button--rounded:focus:not([readonly]){border-radius:var(--eui-br-max);outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-button--rounded:focus-visible:not([readonly]){border-radius:var(--eui-br-max);outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button--responsive{display:grid!important;position:relative;width:100%}.eui-button--responsive .eui-button__container{overflow:hidden}.eui-button--responsive .eui-button__container>label,.eui-button--responsive .eui-button__container>.eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-button--block{display:block;width:100%}.eui-button--line-wrap{padding:var(--eui-s-s);white-space:normal}.eui-button--expand-toggle{background:var(--eui-c-bg);border-color:transparent;border-radius:0 0 var(--eui-s-xs) var(--eui-s-xs);min-height:var(--eui-s-m);padding:0 var(--eui-s-xl);box-shadow:var(--eui-sh-1)}.eui-button--expand-toggle:hover,.eui-button--expand-toggle:focus{box-shadow:var(--eui-sh-3)}.eui-button.disabled,.eui-button:disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}.eui-dropdown-button{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;position:relative}.eui-dropdown-button--disabled,.eui-dropdown-button:disabled{pointer-events:none}.eui-button-fixed{bottom:var(--eui-s-3xl);position:fixed;right:var(--eui-s-xl);z-index:calc(var(--eui-zi-btn-floating) + 1)}.eui-button-fixed:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-button-fixed:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button-fixed [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button-floating{align-items:center;border-radius:var(--eui-br-max);display:inline-flex;overflow:hidden;padding:var(--eui-s-xs);position:relative;transform:translateY(35%);transition:.3s;vertical-align:middle;height:var(--eui-s-4xl);width:var(--eui-s-4xl);z-index:1;box-shadow:var(--eui-sh-6);background-color:var(--_bg-color);color:var(--_on-bg-color)}.eui-button-floating:hover{cursor:pointer;box-shadow:var(--eui-sh-3)}.eui-button-floating:before{border-radius:var(--eui-br-none)}.eui-button__expand-trigger{border-top:1px solid var(--eui-c-neutral-lightest);cursor:pointer;display:flex;justify-content:center;width:100%;z-index:1;margin-bottom:var(--eui-s-l)}.eui-button__expand-trigger:hover .eui-button--expand-toggle{box-shadow:var(--eui-sh-3)}.eui-button__expand-trigger--collapsed{margin-top:var(--eui-s-s)}\n"] }]
84
+ ], template: "<span class=\"eui-button__container\">\n <ng-content></ng-content>\n</span>\n", styles: [".eui-button{--_color: var(--eui-button-color, var(--eui-c-neutral));--_bg-color: var(--eui-button-bg-color, var(--eui-c-neutral-bg-light));--_on-bg-color: var(--eui-button-on-bg-color, var(--eui-c-neutral));--_border-color: var(--eui-button-border-color, var(--eui-c-neutral-lighter));--_hover-color: var(--eui-button-hover-color, var(--eui-c-neutral-bg));--_on-hover-color: var(--eui-button-on-hover-color, var(--eui-c-neutral-bg-contrast));--_basic-bg-color: var(--eui-button-basic-bg-color, transparent);--_basic-hover-color: var(--eui-button-basic-hover-color, var(--eui-c-neutral-bg-light));--_on-basic-hover-color: var(--eui-button-on-basic-hover-color, var(--eui-c-neutral-bg-light-contrast));--_outline-color: var(--eui-button-outline-color, var(--eui-c-neutral));--_outline-hover-color: var(--eui-button-outline-hover-color, var(--eui-c-neutral-bg));--_on-outline-hover-color: var(--eui-button-on-outline-hover-color, var(--eui-c-neutral-bg-contrast))}.eui-button{align-items:center;background-image:none;border:var(--eui-bw-none);border-radius:var(--eui-br-m);box-shadow:var(--eui-sh-ecl-2);box-sizing:border-box;cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;min-height:calc(var(--eui-s-3xl) + var(--eui-s-2xs));min-width:calc(var(--eui-s-3xl) + var(--eui-s-2xs));outline:none;padding:calc(var(--eui-s-xs) - 1px) var(--eui-s-m);text-transform:none;transition:none;vertical-align:middle;white-space:nowrap;font:var(--eui-f-m)}.eui-button:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-1px!important;transition:none}.eui-button:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-1px!important;transition:none}.eui-button [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-1px!important;transition:none}.eui-button .eui-button__container{align-items:center;display:inline-flex;position:relative;gap:var(--eui-s-xs)}.eui-button--icon-only{padding:inherit var(--eui-s-2xs)}.eui-button--size-s{font:var(--eui-f-s);min-height:var(--eui-is-l);min-width:var(--eui-is-l);padding:calc(var(--eui-s-xs) - 3px) var(--eui-s-s)}.eui-button--size-s.eui-button--icon-only{padding:calc(var(--eui-s-xs) - 3px) var(--eui-s-2xs)}.eui-button--size-s .eui-icon-svg{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-button--size-m{font:var(--eui-f-m)}.eui-button--size-m .eui-icon-svg{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-button--primary{--_color: var(--eui-c-primary);--_bg-color: var(--eui-c-primary);--_on-bg-color: var(--eui-c-primary-contrast);--_border-color: var(--eui-c-primary-dark);--_hover-color: var(--eui-c-primary-darker);--_on-hover-color: var(--eui-c-primary-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-primary-bg);--_on-basic-hover-color: var(--eui-c-primary-bg-contrast);--_outline-color: var(--eui-c-primary);--_outline-hover-color: var(--eui-c-primary-bg);--_on-outline-hover-color: var(--eui-c-primary-bg-contrast)}.eui-button--branding{--_color: var(--eui-c-branding);--_bg-color: var(--eui-c-branding);--_on-bg-color: var(--eui-c-branding-contrast);--_border-color: var(--eui-c-branding);--_hover-color: var(--eui-c-branding-light);--_on-hover-color: var(--eui-c-branding-light-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-branding-light);--_on-basic-hover-color: var(--eui-c-branding-light-contrast);--_outline-color: var(--eui-c-branding);--_outline-hover-color: var(--eui-c-branding-light);--_on-outline-hover-color: var(--eui-c-branding-light-contrast)}.eui-button--info{--_color: var(--eui-c-info);--_bg-color: var(--eui-c-info);--_on-bg-color: var(--eui-c-info-contrast);--_border-color: var(--eui-c-info-dark);--_hover-color: var(--eui-c-info-darker);--_on-hover-color: var(--eui-c-info-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-info-bg);--_on-basic-hover-color: var(--eui-c-info-bg-contrast);--_outline-color: var(--eui-c-info);--_outline-hover-color: var(--eui-c-info-bg);--_on-outline-hover-color: var(--eui-c-info-bg-contrast)}.eui-button--success{--_color: var(--eui-c-success);--_bg-color: var(--eui-c-success);--_on-bg-color: var(--eui-c-success-contrast);--_border-color: var(--eui-c-success-dark);--_hover-color: var(--eui-c-success-darker);--_on-hover-color: var(--eui-c-success-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-success-bg);--_on-basic-hover-color: var(--eui-c-success-bg-contrast);--_outline-color: var(--eui-c-success);--_outline-hover-color: var(--eui-c-success-bg);--_on-outline-hover-color: var(--eui-c-success-bg-contrast)}.eui-button--warning{--_color: var(--eui-c-warning);--_bg-color: var(--eui-c-warning);--_on-bg-color: var(--eui-c-warning-contrast);--_border-color: var(--eui-c-warning-dark);--_hover-color: var(--eui-c-warning-darker);--_on-hover-color: var(--eui-c-warning-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-warning-bg);--_on-basic-hover-color: var(--eui-c-warning-bg-contrast);--_outline-color: var(--eui-c-neutral);--_outline-hover-color: var(--eui-c-warning-bg);--_on-outline-hover-color: var(--eui-c-warning-bg-contrast)}.eui-button--danger{--_color: var(--eui-c-danger);--_bg-color: var(--eui-c-danger);--_on-bg-color: var(--eui-c-danger-contrast);--_border-color: var(--eui-c-danger-dark);--_hover-color: var(--eui-c-danger-darker);--_on-hover-color: var(--eui-c-danger-darker-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-danger-bg);--_on-basic-hover-color: var(--eui-c-danger-bg-contrast);--_outline-color: var(--eui-c-danger);--_outline-hover-color: var(--eui-c-danger-bg);--_on-outline-hover-color: var(--eui-c-danger-bg-contrast)}.eui-button--accent{--_color: var(--eui-c-accent-dark);--_bg-color: var(--eui-c-accent-light);--_on-bg-color: var(--eui-c-accent-light-contrast);--_border-color: var(--eui-c-accent-darker);--_hover-color: var(--eui-c-accent-dark);--_on-hover-color: var(--eui-c-accent-dark-contrast);--_basic-bg-color: transparent;--_basic-hover-color: var(--eui-c-accent-bg);--_on-basic-hover-color: var(--eui-c-accent-bg-contrast);--_outline-color: var(--eui-c-neutral);--_outline-hover-color: var(--eui-c-accent-bg);--_on-outline-hover-color: var(--eui-c-accent-bg-contrast)}.eui-button{background-color:var(--_bg-color);color:var(--_on-bg-color);border:var(--eui-bw-xs) solid var(--_border-color)}.eui-button:hover{background-color:var(--_hover-color);color:var(--_on-hover-color)}.eui-button:hover .eui-label,.eui-button .eui-label{color:var(--_on-bg-color)}.eui-button--basic{border:var(--eui-bw-none);box-shadow:none;background-color:var(--_basic-bg-color);color:var(--_color)}.eui-button--basic .eui-label{color:var(--_color)}.eui-button--outline{background-color:var(--eui-c-white);color:var(--_outline-color);border:var(--eui-bw-xs) solid var(--_border-color)}.eui-button--outline .eui-label{color:var(--_outline-color)}.eui-button--basic:hover{background-color:var(--_basic-hover-color);color:var(--_on-basic-hover-color)}.eui-button--basic:hover .eui-label{color:var(--_on-basic-hover-color)}.eui-button--outline:hover{background-color:var(--_outline-hover-color);color:var(--_on-outline-hover-color)}.eui-button--outline:hover .eui-label{color:var(--_on-outline-hover-color)}.eui-button--rounded{border-radius:var(--eui-br-max)}.eui-button--rounded:focus:not([readonly]){border-radius:var(--eui-br-max);outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-button--rounded:focus-visible:not([readonly]){border-radius:var(--eui-br-max);outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button--responsive{display:grid!important;position:relative;width:100%}.eui-button--responsive .eui-button__container{overflow:hidden}.eui-button--responsive .eui-button__container>label,.eui-button--responsive .eui-button__container>.eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-button--block{display:block;width:100%}.eui-button--line-wrap{padding:var(--eui-s-s);white-space:normal}.eui-button--expand-toggle{background:var(--eui-c-bg);border-color:transparent;border-radius:0 0 var(--eui-s-xs) var(--eui-s-xs);min-height:var(--eui-s-m);padding:0 var(--eui-s-xl);box-shadow:var(--eui-sh-1)}.eui-button--expand-toggle:hover,.eui-button--expand-toggle:focus{box-shadow:var(--eui-sh-3)}.eui-button.disabled,.eui-button:disabled{pointer-events:none;background-image:none;box-shadow:none;cursor:not-allowed!important;opacity:var(--eui-o-50)}.eui-dropdown-button{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;position:relative}.eui-dropdown-button--disabled,.eui-dropdown-button:disabled{pointer-events:none}.eui-button-fixed{bottom:var(--eui-s-3xl);position:fixed;right:var(--eui-s-xl);z-index:calc(var(--eui-zi-btn-floating) + 1)}.eui-button-fixed:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-button-fixed:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button-fixed [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-button-floating{align-items:center;border-radius:var(--eui-br-max);display:inline-flex;overflow:hidden;padding:var(--eui-s-xs);position:relative;transform:translateY(35%);transition:.3s;vertical-align:middle;height:var(--eui-s-4xl);width:var(--eui-s-4xl);z-index:1;box-shadow:var(--eui-sh-6);background-color:var(--_bg-color);color:var(--_on-bg-color)}.eui-button-floating:hover{cursor:pointer;box-shadow:var(--eui-sh-3)}.eui-button-floating:before{border-radius:var(--eui-br-none)}.eui-button__expand-trigger{border-top:1px solid var(--eui-c-neutral-lightest);cursor:pointer;display:flex;justify-content:center;width:100%;z-index:1;margin-bottom:var(--eui-s-l)}.eui-button__expand-trigger:hover .eui-button--expand-toggle{box-shadow:var(--eui-sh-3)}.eui-button__expand-trigger--collapsed{margin-top:var(--eui-s-s)}\n"] }]
85
85
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.BaseStatesDirective }], propDecorators: { cssClasses: [{
86
86
  type: HostBinding,
87
87
  args: ['class']
@@ -46,6 +46,20 @@ export class EuiMenuItemComponent {
46
46
  this.isLinkItem = !this.isUrlItem && !this.isLabelItem;
47
47
  this.ariaLabel = this.getAriaLabel();
48
48
  }
49
+ ngOnChanges(changes) {
50
+ if (changes.item && changes.item.isFirstChange()) {
51
+ this.item = changes.item.currentValue;
52
+ if (!this.item.urlExternalTarget) {
53
+ this.item.urlExternalTarget = '_blank';
54
+ }
55
+ if (this.item.filtered === undefined) {
56
+ this.item.filtered = true;
57
+ }
58
+ if (this.item.disabled === undefined) {
59
+ this.item.visible = true;
60
+ }
61
+ }
62
+ }
49
63
  stopPropagation(event) {
50
64
  this.itemClick.emit(this.item);
51
65
  consumeEvent(event);
@@ -144,7 +158,7 @@ export class EuiMenuItemComponent {
144
158
  ].join(' ').trim();
145
159
  }
146
160
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiMenuItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: EuiMenuItemComponent, selector: "eui-menu-item", inputs: { item: "item", parent: "parent", hasIcon: ["hasIcon", "hasIcon", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], hasBoldRootLevel: ["hasBoldRootLevel", "hasBoldRootLevel", booleanAttribute] }, outputs: { expandToggle: "expandToggle", itemClick: "itemClick" }, host: { listeners: { "click": "stopPropagation($event)" }, properties: { "attr.role": "this.role", "attr.aria-label": "this.ariaLabel", "class": "this.cssClasses", "attr.tabindex": "this.tabindex", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-disabled": "this.ariaDisabled" } }, ngImport: i0, template: "@if (item.visible && item.filtered) {\n @if (isLabelItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n class=\"eui-menu-item__content\"\n [attr.data-e2e]=\"item.e2eAttr\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-disabled]=\"item.disabled\"\n [euiTooltip]=\"menuItemTooltip\"\n tabindex=\"-1\"\n position=\"after\">\n\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n class=\"eui-menu-item__link eui-menu-item__link-category\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n\n <div class=\"eui-menu-item__link-start-block\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n\n <div class=\"eui-menu-item__link-content-block\">\n <div class=\"eui-menu-item__link-label-container\">\n <span class=\"eui-menu-item__link-label-category\">{{ item.label }}</span>\n </div>\n </div>\n\n <div class=\"eui-menu-item__link-end-block\">\n <ng-template *ngTemplateOutlet=\"itemEndContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n </a>\n </li>\n }\n\n @if (isUrlItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item__content\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [class.eui-menu-item--expanded]=\"item.expanded || item.filtered\"\n [attr.aria-disabled]=\"item.disabled\">\n <a\n (click)=\"onClick($event)\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n [routerLink]=\"item.url ? item.url : null\"\n [routerLinkActive]=\"item.url ? 'eui-menu-item__link--active' : ''\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\"\n tabindex=\"-1\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n </li>\n }\n\n @if (isLinkItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item__content\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [class.eui-menu-item--expanded]=\"item.expanded || item.filtered\"\n [attr.aria-disabled]=\"item.disabled\">\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n </li>\n }\n}\n\n<ng-template #linkContent>\n <div class=\"eui-menu-item__link-start-block\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n\n <div class=\"eui-menu-item__link-content-block\">\n <div class=\"eui-menu-item__link-label-container\">\n <span class=\"eui-menu-item__link-label\">{{ item.label }}</span>\n <eui-icon-svg\n *ngIf=\"item.urlExternal && item.urlExternalTarget === '_blank'\"\n class=\"eui-menu-item__label-external\"\n icon=\"eui-ecl-external\"\n size=\"2xs\"\n aria-label=\"external link icon\"\n euiEnd>\n </eui-icon-svg>\n </div>\n </div>\n\n <div class=\"eui-menu-item__link-end-block\">\n <ng-template *ngTemplateOutlet=\"itemEndContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n</ng-template>\n\n<!-- PROJECTED CONTENT BLOCK -->\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<!-- PROJECTED START BLOCK -->\n<ng-template #itemIconContent>\n @if (!isCollapsed) {\n\n @if (hasIcon) {\n\n @if (item.iconSvgName) {\n <!-- SVG -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n } @else if (item.hasMarker) {\n <!-- MARKER -->\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"2xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n }\n @else if (!isLabelItem) {\n <!-- DEFAULT for non category items -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"ellipse:sharp\"\n fillColor=\"neutral-light\"\n size=\"2xs\">\n </eui-icon-svg>\n }\n } @else if (item.hasMarker) {\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"2xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n }\n\n } @else {\n @if (hasCollapsedInitials) {\n <span class=\"eui-menu-item__link-initials eui-u-c-bg-{{item.iconTypeClass}}\">\n {{ item.initials }}\n </span>\n } @else {\n @if (hasIcon) {\n @if (item.iconSvgName) {\n <!-- SVG -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n } @else if (item.hasMarker) {\n <!-- MARKER -->\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"2xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n } @else {\n <!-- DEFAULT -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"ellipse:sharp\"\n fillColor=\"neutral-light\"\n size=\"2xs\"\n [aria-label]=\"item.iconLabel\">\n </eui-icon-svg>\n }\n } @else {\n <eui-icon-svg\n class=\"eui-menu-item__link-icon eui-u-ml-2xs\"\n icon=\"square:sharp\"\n fillColor=\"neutral-light\"\n size=\"2xs\">\n </eui-icon-svg>\n }\n }\n }\n</ng-template>\n\n<!-- PROJECTED END BLOCK -->\n<ng-template #itemEndContent>\n @if (item.tagLabel) {\n @if (isCollapsed) {\n <eui-badge [euiVariant]=\"item.tagTypeClass\" class=\"eui-menu-item__link-dotted-badge\"></eui-badge>\n } @else {\n <eui-badge [euiVariant]=\"item.tagTypeClass\">\n {{ item.tagLabel }}\n </eui-badge>\n }\n }\n\n <button\n *ngIf=\"item.actionIcon\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n type=\"button\"\n tabindex=\"-1\"\n (keydown)=\"onActionIconKeyDown($event)\"\n (focusout)=\"onActionIconFocusOut()\"\n (focus)=\"focusActionIcon()\"\n class=\"eui-menu-item__link-action-icon\"\n [euiDisabled]=\"item.disabled\"\n [attr.aria-label]=\"item.actionIcon?.label\"\n (click)=\"onActionIconClick($event)\">\n <eui-icon-svg [icon]=\"item.actionIcon?.icon\" [fillColor]=\"item.actionIcon?.color\"></eui-icon-svg>\n </button>\n\n <eui-icon-button *ngIf=\"item.children?.length > 0\"\n class=\"eui-menu-item__link-toggle\"\n [icon]=\"item.expanded ? 'chevron-up:sharp': 'chevron-down:sharp'\"\n (buttonClick)=\"onExpandToggle($event)\"\n [ariaLabel]=\"item.expanded ? collapseMenuLabel : expandMenuLabel\"\n euiRounded\n size=\"s\"\n [tabindex]=\"-1\"\n [euiDisabled]=\"item.disabled\"/>\n</ng-template>\n", styles: [".eui-menu{display:flex;flex-direction:column;gap:0;list-style:none;margin-block-start:0;margin-block-end:0;margin:0;padding:0;width:100%}.eui-menu:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link{padding-left:var(--eui-s-m)}.eui-menu--collapsed .eui-menu-item__link-start-block{gap:0}.eui-menu--collapsed .eui-menu-item__link-content-block,.eui-menu--collapsed .eui-menu-item__link-end-block{visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-dotted-badge{position:absolute;top:var(--eui-s-2xs);right:var(--eui-s-2xs);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-toggle{display:inherit;position:absolute;right:calc(-1 * var(--eui-s-xs));transform:scale(.75);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-initials{display:flex;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-s-xs);font:var(--eui-f-s-bold);justify-content:center;margin-left:calc(-1 * var(--eui-s-2xs));min-width:var(--eui-s-2xl)}.eui-menu--collapsed .eui-menu-item--expanded:first-child{border-bottom:none;padding-bottom:0}.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-m)}.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-s)}.eui-menu--no-items{color:var(--eui-c-neutral-lighter);text-align:center}.eui-menu-filter{display:flex;padding:var(--eui-s-m);position:relative;width:100%}.eui-menu-item{display:flex;position:relative;width:100%;border:var(--eui-bw-xs) solid transparent}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item .eui-menu-item__content{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link{align-items:center;color:var(--eui-c-text);cursor:pointer;display:flex;font:var(--eui-f-m);gap:var(--eui-s-xs);padding:var(--eui-s-xs) var(--eui-s-2xs) calc(var(--eui-s-xs) - 2px) var(--eui-s-m);border-top:1px solid var(--eui-c-neutral-bg);text-decoration:none;width:100%}.eui-menu-item__link-start-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link-start-block:empty{display:none}.eui-menu-item__link-content-block{display:flex;flex-direction:column;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label{color:var(--eui-c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label-category{cursor:default;color:var(--eui-c-info-darker);font:var(--eui-f-bold);opacity:var(--eui-o-75);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-end-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link:hover:not(.eui-menu-item--disabled):not(.eui-menu-item__link-category){background-color:var(--eui-c-primary-bg);text-decoration:none}.eui-menu-item__link--disabled{opacity:var(--eui-o-50);pointer-events:none}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-c-primary-bg);font:var(--eui-f-m-bold)}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-c-primary)}.eui-menu-item--expanded{display:flex;flex-direction:column}.eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-3xl)}.eui-menu-item .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-xl);padding-bottom:var(--eui-s-2xs);padding-top:var(--eui-s-2xs);border-top:0}.eui-menu-item--bold>.eui-menu-item__content>.eui-menu-item__link{font:var(--eui-f-m-bold)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i4.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i5.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i6.EuiTooltipDirective, selector: "[euiTooltip]", inputs: ["e2eAttr", "showDelay", "hideDelay", "contentAlignment", "position", "isDisabled", "euiTooltip", "euiTooltipPrimary", "euiTooltipSecondary", "euiTooltipInfo", "euiTooltipSuccess", "euiTooltipWarning", "euiTooltipDanger", "euiTooltipAccent"], exportAs: ["euiTooltip"] }, { kind: "component", type: i7.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }], encapsulation: i0.ViewEncapsulation.None }); }
161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: EuiMenuItemComponent, selector: "eui-menu-item", inputs: { item: "item", parent: "parent", hasIcon: ["hasIcon", "hasIcon", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], hasBoldRootLevel: ["hasBoldRootLevel", "hasBoldRootLevel", booleanAttribute] }, outputs: { expandToggle: "expandToggle", itemClick: "itemClick" }, host: { listeners: { "click": "stopPropagation($event)" }, properties: { "attr.role": "this.role", "attr.aria-label": "this.ariaLabel", "class": "this.cssClasses", "attr.tabindex": "this.tabindex", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-disabled": "this.ariaDisabled" } }, usesOnChanges: true, ngImport: i0, template: "@if (item.visible && item.filtered) {\n @if (isLabelItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n class=\"eui-menu-item__content\"\n [attr.data-e2e]=\"item.e2eAttr\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-disabled]=\"item.disabled\"\n [euiTooltip]=\"menuItemTooltip\"\n tabindex=\"-1\"\n position=\"after\">\n\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n class=\"eui-menu-item__link eui-menu-item__link-category\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n\n <div class=\"eui-menu-item__link-start-block\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n\n <div class=\"eui-menu-item__link-content-block\">\n <div class=\"eui-menu-item__link-label-container\">\n <span class=\"eui-menu-item__link-label-category\">{{ item.label }}</span>\n </div>\n </div>\n\n <div class=\"eui-menu-item__link-end-block\">\n <ng-template *ngTemplateOutlet=\"itemEndContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n </a>\n </li>\n }\n\n @if (isUrlItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item__content\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [class.eui-menu-item--expanded]=\"item.expanded || item.filtered\"\n [attr.aria-disabled]=\"item.disabled\">\n <a\n (click)=\"onClick($event)\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n [routerLink]=\"item.url ? item.url : null\"\n [routerLinkActive]=\"item.url ? 'eui-menu-item__link--active' : ''\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\"\n tabindex=\"-1\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n </li>\n }\n\n @if (isLinkItem) {\n <li\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item__content\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [class.eui-menu-item--expanded]=\"item.expanded || item.filtered\"\n [attr.aria-disabled]=\"item.disabled\">\n <a\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item__link--disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [class.eui-menu-item__link--has-sub]=\"item.children?.length > 0\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n </li>\n }\n}\n\n<ng-template #linkContent>\n <div class=\"eui-menu-item__link-start-block\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n\n <div class=\"eui-menu-item__link-content-block\">\n <div class=\"eui-menu-item__link-label-container\">\n <span class=\"eui-menu-item__link-label\">{{ item.label }}</span>\n <eui-icon-svg\n *ngIf=\"item.urlExternal && item.urlExternalTarget === '_blank'\"\n class=\"eui-menu-item__label-external\"\n icon=\"eui-ecl-external\"\n size=\"2xs\"\n aria-label=\"external link icon\"\n euiEnd>\n </eui-icon-svg>\n </div>\n </div>\n\n <div class=\"eui-menu-item__link-end-block\">\n <ng-template *ngTemplateOutlet=\"itemEndContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n</ng-template>\n\n<!-- PROJECTED CONTENT BLOCK -->\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<!-- PROJECTED START BLOCK -->\n<ng-template #itemIconContent>\n @if (!isCollapsed) {\n\n @if (hasIcon) {\n\n @if (item.iconSvgName) {\n <!-- SVG -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n } @else if (item.hasMarker) {\n <!-- MARKER -->\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"2xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n }\n @else if (!isLabelItem) {\n <!-- DEFAULT for non category items -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"ellipse:sharp\"\n fillColor=\"neutral-light\"\n size=\"2xs\">\n </eui-icon-svg>\n }\n } @else if (item.hasMarker) {\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"2xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n }\n\n } @else {\n @if (hasCollapsedInitials) {\n <span class=\"eui-menu-item__link-initials eui-u-c-bg-{{item.iconTypeClass}}\">\n {{ item.initials }}\n </span>\n } @else {\n @if (hasIcon) {\n @if (item.iconSvgName) {\n <!-- SVG -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n } @else if (item.hasMarker) {\n <!-- MARKER -->\n <eui-icon-svg\n class=\"eui-menu-item__link-marker\"\n fillColor=\"{{ item?.markerTypeClass }}\"\n icon=\"ellipse:sharp\"\n size=\"2xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n } @else {\n <!-- DEFAULT -->\n <eui-icon-svg\n class=\"eui-menu-item__link-icon\"\n icon=\"ellipse:sharp\"\n fillColor=\"neutral-light\"\n size=\"2xs\"\n [aria-label]=\"item.iconLabel\">\n </eui-icon-svg>\n }\n } @else {\n <eui-icon-svg\n class=\"eui-menu-item__link-icon eui-u-ml-2xs\"\n icon=\"square:sharp\"\n fillColor=\"neutral-light\"\n size=\"2xs\">\n </eui-icon-svg>\n }\n }\n }\n</ng-template>\n\n<!-- PROJECTED END BLOCK -->\n<ng-template #itemEndContent>\n @if (item.tagLabel) {\n @if (isCollapsed) {\n <eui-badge [euiVariant]=\"item.tagTypeClass\" class=\"eui-menu-item__link-dotted-badge\"></eui-badge>\n } @else {\n <eui-badge [euiVariant]=\"item.tagTypeClass\">\n {{ item.tagLabel }}\n </eui-badge>\n }\n }\n\n <button\n *ngIf=\"item.actionIcon\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n type=\"button\"\n tabindex=\"-1\"\n (keydown)=\"onActionIconKeyDown($event)\"\n (focusout)=\"onActionIconFocusOut()\"\n (focus)=\"focusActionIcon()\"\n class=\"eui-menu-item__link-action-icon\"\n [euiDisabled]=\"item.disabled\"\n [attr.aria-label]=\"item.actionIcon?.label\"\n (click)=\"onActionIconClick($event)\">\n <eui-icon-svg [icon]=\"item.actionIcon?.icon\" [fillColor]=\"item.actionIcon?.color\"></eui-icon-svg>\n </button>\n\n <eui-icon-button *ngIf=\"item.children?.length > 0\"\n class=\"eui-menu-item__link-toggle\"\n [icon]=\"item.expanded ? 'chevron-up:sharp': 'chevron-down:sharp'\"\n (buttonClick)=\"onExpandToggle($event)\"\n [ariaLabel]=\"item.expanded ? collapseMenuLabel : expandMenuLabel\"\n euiRounded\n size=\"s\"\n [tabindex]=\"-1\"\n [euiDisabled]=\"item.disabled\"/>\n</ng-template>\n", styles: [".eui-menu{display:flex;flex-direction:column;gap:0;list-style:none;margin-block-start:0;margin-block-end:0;margin:0;padding:0;width:100%}.eui-menu:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:-2px!important;transition:none}.eui-menu:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--collapsed .eui-menu-item__link{padding-left:var(--eui-s-m)}.eui-menu--collapsed .eui-menu-item__link-start-block{gap:0}.eui-menu--collapsed .eui-menu-item__link-content-block,.eui-menu--collapsed .eui-menu-item__link-end-block{visibility:hidden}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-action-icon{display:none}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-dotted-badge{position:absolute;top:var(--eui-s-2xs);right:var(--eui-s-2xs);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-end-block .eui-menu-item__link-toggle{display:inherit;position:absolute;right:calc(-1 * var(--eui-s-xs));transform:scale(.75);visibility:visible}.eui-menu--collapsed .eui-menu-item__link-initials{display:flex;background-color:var(--eui-c-neutral-bg-light);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-s-xs);font:var(--eui-f-s-bold);justify-content:center;margin-left:calc(-1 * var(--eui-s-2xs));min-width:var(--eui-s-2xl)}.eui-menu--collapsed .eui-menu-item--expanded:first-child{border-bottom:none;padding-bottom:0}.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-m)}.eui-menu--collapsed .eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-s)}.eui-menu--no-items{color:var(--eui-c-neutral-lighter);text-align:center}.eui-menu-filter{display:flex;padding:var(--eui-s-m);position:relative;width:100%}.eui-menu-item{display:flex;position:relative;width:100%;border:var(--eui-bw-xs) solid transparent}.eui-menu-item:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important;transition:none}.eui-menu-item .eui-menu-item__content{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link{align-items:center;color:var(--eui-c-text);cursor:pointer;display:flex;font:var(--eui-f-m);gap:var(--eui-s-xs);padding:var(--eui-s-xs) var(--eui-s-2xs) calc(var(--eui-s-xs) - 2px) var(--eui-s-m);border-top:1px solid var(--eui-c-neutral-bg);text-decoration:none;width:100%}.eui-menu-item__link-start-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link-start-block:empty{display:none}.eui-menu-item__link-content-block{display:flex;flex-direction:column;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container{align-items:center;display:flex;position:relative;width:100%}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label{color:var(--eui-c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-content-block .eui-menu-item__link-label-container .eui-menu-item__link-label-category{cursor:default;color:var(--eui-c-info-darker);font:var(--eui-f-bold);opacity:var(--eui-o-75);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-end-block{align-items:center;display:flex;gap:var(--eui-s-xs)}.eui-menu-item__link:hover:not(.eui-menu-item--disabled):not(.eui-menu-item__link-category){background-color:var(--eui-c-primary-bg);text-decoration:none}.eui-menu-item__link--disabled{opacity:var(--eui-o-50);pointer-events:none}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-c-primary-bg);font:var(--eui-f-m-bold)}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-c-primary)}.eui-menu-item--expanded{display:flex;flex-direction:column}.eui-menu-item--expanded .eui-menu-item--expanded .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-3xl)}.eui-menu-item .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-s-xl);padding-bottom:var(--eui-s-2xs);padding-top:var(--eui-s-2xs);border-top:0}.eui-menu-item--bold>.eui-menu-item__content>.eui-menu-item__link{font:var(--eui-f-m-bold)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i4.EuiIconButtonComponent, selector: "eui-icon-button", inputs: ["icon", "fillColor", "size", "ariaLabel", "tabindex", "hasNoPadding", "hasFocusHoverColor", "hasFocusHoverBg", "euiRounded", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i5.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i6.EuiTooltipDirective, selector: "[euiTooltip]", inputs: ["e2eAttr", "showDelay", "hideDelay", "contentAlignment", "position", "isDisabled", "euiTooltip", "euiTooltipPrimary", "euiTooltipSecondary", "euiTooltipInfo", "euiTooltipSuccess", "euiTooltipWarning", "euiTooltipDanger", "euiTooltipAccent"], exportAs: ["euiTooltip"] }, { kind: "component", type: i7.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }], encapsulation: i0.ViewEncapsulation.None }); }
148
162
  }
149
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiMenuItemComponent, decorators: [{
150
164
  type: Component,
@@ -197,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
197
211
  type: HostListener,
198
212
  args: ['click', ['$event']]
199
213
  }] } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW1lbnUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktbWVudS9ldWktbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2V1aS1tZW51L2V1aS1tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFFWixnQkFBZ0IsR0FFbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7O0FBU3pDLE1BQU0sT0FBTyxvQkFBb0I7SUFLN0IsSUFDVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFDRCxJQUNJLFlBQVk7UUFDWixJQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDN0MsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO0lBQ0wsQ0FBQztJQUNELElBQ0ksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDN0IsQ0FBQztJQXFCRCxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBNUNoQixTQUFJLEdB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QUFFLGdCQUFnQixFQUFFO2dCQWEvQixlQUFlO3NCQURyQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIE9uSW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIEVsZW1lbnRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9jdXNhYmxlT3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuXG5pbXBvcnQgeyBjb25zdW1lRXZlbnQgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgRXVpTWVudUl0ZW0gfSBmcm9tICcuL21vZGVscy9ldWktbWVudS1pdGVtLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktbWVudS1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpTWVudUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEZvY3VzYWJsZU9wdGlvbiB7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbWVudWl0ZW0nO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJykgYXJpYUxhYmVsID0gJyc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3NzQ2xhc3NlcygpO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleCA9ICctMSc7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGFzcG9wdXAnKVxuICAgIGdldCBhcmlhSGFzUG9wdXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW0/LmNoaWxkcmVuPy5sZW5ndGggPiAwPyB0cnVlIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgZ2V0IGFyaWFFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYodGhpcy5pdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtLmV4cGFuZGVkID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpXG4gICAgZ2V0IGFyaWFEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbS5kaXNhYmxlZFxuICAgIH1cblxuICAgIEBJbnB1dCgpIGl0ZW06IEV1aU1lbnVJdGVtO1xuICAgIEBJbnB1dCgpIHBhcmVudDogRXVpTWVudUl0ZW07XG4gICAgQE91dHB1dCgpIGV4cGFuZFRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+KCk7XG4gICAgQE91dHB1dCgpIGl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+KCk7XG5cbiAgICBleHBhbmRNZW51TGFiZWwgPSAnRXhwYW5kJztcbiAgICBjb2xsYXBzZU1lbnVMYWJlbCA9ICdDb2xsYXBzZSc7XG5cbiAgICBpc1VybEl0ZW0gPSBmYWxzZTtcbiAgICBpc0xpbmtJdGVtID0gZmFsc2U7XG4gICAgaXNMYWJlbEl0ZW0gPSBmYWxzZTtcbiAgICBpc0FjdGlvbkljb25Gb2N1c2VkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzSWNvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzVG9vbHRpcDogYm9vbGVhbjtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0NvbGxhcHNlZEluaXRpYWxzOiBib29sZWFuO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNCb2xkUm9vdExldmVsOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNVcmxJdGVtID0gKHRoaXMuaXRlbS51cmwgfHwgdGhpcy5pdGVtLnVybEV4dGVybmFsIHx8IHRoaXMuaXRlbS5jaGlsZHJlbiB8fCB0aGlzLml0ZW0uY29tbWFuZCkgJiYgIXRoaXMuaXRlbS5saW5rO1xuICAgICAgICB0aGlzLmlzTGFiZWxJdGVtID0gIXRoaXMuaXRlbS51cmwgJiYgIXRoaXMuaXRlbS51cmxFeHRlcm5hbCAmJiAhdGhpcy5pdGVtLmNvbW1hbmQgJiYgIXRoaXMuaXRlbS5jaGlsZHJlbiAmJiAhdGhpcy5pdGVtLmxpbms7XG5cbiAgICAgICAgdGhpcy5pc0xpbmtJdGVtID0gIXRoaXMuaXNVcmxJdGVtICYmICF0aGlzLmlzTGFiZWxJdGVtO1xuICAgICAgICB0aGlzLmFyaWFMYWJlbCA9IHRoaXMuZ2V0QXJpYUxhYmVsKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBzdG9wUHJvcGFnYXRpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQodGhpcy5pdGVtKTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBnZXQgbWVudUl0ZW1Ub29sdGlwKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmhhc1Rvb2x0aXAgJiYgdGhpcy5pc0NvbGxhcHNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbS50b29sdGlwIHx8IHRoaXMuZ2V0VG9vbHRpcEZyb21JdGVtKHRoaXMuaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQodGhpcy5pdGVtKTtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICBjb25zdW1lRXZlbnQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkV4cGFuZFRvZ2dsZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbmRUb2dnbGUuZW1pdCh0aGlzLml0ZW0pO1xuICAgICAgICBjb25zdW1lRXZlbnQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkFjdGlvbkljb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW0uYWN0aW9uSWNvbj8uYWN0aW9uKGV2ZW50KTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkFjdGlvbkljb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbS5hY3Rpb25JY29uPy5hY3Rpb24oZXZlbnQpO1xuICAgICAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1c0FjdGlvbkljb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ldWktbWVudS1pdGVtX19saW5rLWFjdGlvbi1pY29uJykuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5pc0FjdGlvbkljb25Gb2N1c2VkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkFjdGlvbkljb25Gb2N1c091dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0FjdGlvbkljb25Gb2N1c2VkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGFuIGVsZW1lbnQgaXMgdmlzaWJsZSBpbiB0aGUgdmlld3BvcnRcbiAgICAgKiBAcGFyYW0gZWxcbiAgICAgKiBAcGFyYW0gcGFydGlhbGx5VmlzaWJsZVxuICAgICAqL1xuICAgIGVsZW1lbnRJc1Zpc2libGVJblZpZXdwb3J0KHBhcnRpYWxseVZpc2libGUgPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7IHRvcCwgbGVmdCwgYm90dG9tLCByaWdodCB9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHsgaW5uZXJIZWlnaHQsIGlubmVyV2lkdGggfSA9IHdpbmRvdztcbiAgICAgICAgcmV0dXJuIHBhcnRpYWxseVZpc2libGVcbiAgICAgICAgICAgID8gKCh0b3AgPiAwICYmIHRvcCA8IGlubmVySGVpZ2h0KSB8fFxuICAgICAgICAgICAgICAgIChib3R0b20gPiAwICYmIGJvdHRvbSA8IGlubmVySGVpZ2h0KSkgJiZcbiAgICAgICAgICAgICgobGVmdCA+IDAgJiYgbGVmdCA8IGlubmVyV2lkdGgpIHx8IChyaWdodCA+IDAgJiYgcmlnaHQgPCBpbm5lcldpZHRoKSlcbiAgICAgICAgICAgIDogdG9wID49IDAgJiYgbGVmdCA+PSAwICYmIGJvdHRvbSA8PSBpbm5lckhlaWdodCAmJiByaWdodCA8PSBpbm5lcldpZHRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNjcm9sbCB0aGUgZWxlbWVudCBpbnRvIHZpZXdcbiAgICAgKiBAcGFyYW0gcHJvcGVydGllc1xuICAgICAqL1xuICAgIHNjcm9sbEludG9WaWV3KHByb3BlcnRpZXM6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcocHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUb29sdGlwRnJvbUl0ZW0oaXRlbTogRXVpTWVudUl0ZW0pOiBzdHJpbmcge1xuICAgICAgICBpZiAoaXRlbS50YWdMYWJlbCAmJiBpdGVtLmxhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5sYWJlbCArICcgKCcgKyBpdGVtLnRhZ0xhYmVsICsgJyknO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ubGFiZWwpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmxhYmVsO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udGFnTGFiZWwpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLnRhZ0xhYmVsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLml0ZW0ubGFiZWwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW0ubGFiZWw7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtLnRhZ0xhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtLnRhZ0xhYmVsO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbS5hY3Rpb25JY29uICYmIHRoaXMuaXRlbS5hY3Rpb25JY29uLmxhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtLmFjdGlvbkljb24ubGFiZWw7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtLmljb25MYWJlbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbS5pY29uTGFiZWw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICdFdWkgbWVudSBpdGVtJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBkZWZhdWx0IGV1aS1tZW51LWl0ZW0gY2xhc3Mgb24gdGhlIEhvc3RCaW5kaW5nIGZ1bmN0aW9uXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldENzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWktbWVudS1pdGVtJyxcbiAgICAgICAgICAgICF0aGlzLnBhcmVudCAmJiB0aGlzLmhhc0JvbGRSb290TGV2ZWwgPyAnZXVpLW1lbnUtaXRlbS0tYm9sZCcgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cbn1cbiIsIkBpZiAoaXRlbS52aXNpYmxlICYmIGl0ZW0uZmlsdGVyZWQpIHtcbiAgICBAaWYgKGlzTGFiZWxJdGVtKSB7XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgICAgICAgaWQ9XCJ7e2l0ZW0uaWR9fVwiXG4gICAgICAgICAgICBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2NvbnRlbnRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1lMmVdPVwiaXRlbS5lMmVBdHRyXCJcbiAgICAgICAgICAgIFtjbGFzcy5ldWktbWVudS1pdGVtLS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbZXVpVG9vbHRpcF09XCJtZW51SXRlbVRvb2x0aXBcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICBwb3NpdGlvbj1cImFmdGVyXCI+XG5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rIGV1aS1tZW51LWl0ZW1fX2xpbmstY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ldWktbWVudS1pdGVtX19saW5rLS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbV9fbGluay0tYWN0aXZlXT1cIml0ZW0uYWN0aXZlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbV9fbGluay0taGFzLXN1Yl09XCJpdGVtLmNoaWxkcmVuPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgICAgICAgICBbZXVpVG9vbHRpcF09XCJtZW51SXRlbVRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIHBvc2l0aW9uPVwiYWZ0ZXJcIj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLXN0YXJ0LWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1JY29uQ29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWNvbnRlbnQtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstbGFiZWwtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstbGFiZWwtY2F0ZWdvcnlcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWVuZC1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtRW5kQ29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICB9XG5cbiAgICBAaWYgKGlzVXJsSXRlbSkge1xuICAgICAgICA8bGlcbiAgICAgICAgICAgIHJvbGU9XCJub25lXCJcbiAgICAgICAgICAgIGlkPVwie3tpdGVtLmlkfX1cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1lMmVdPVwiaXRlbS5lMmVBdHRyXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fY29udGVudFwiXG4gICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbS0tZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbS0tZXhwYW5kZWRdPVwiaXRlbS5leHBhbmRlZCB8fCBpdGVtLmZpbHRlcmVkXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmtcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ldWktbWVudS1pdGVtX19saW5rLS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbV9fbGluay0tYWN0aXZlXT1cIml0ZW0uYWN0aXZlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbV9fbGluay0taGFzLXN1Yl09XCJpdGVtLmNoaWxkcmVuPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLnVybCA/IGl0ZW0udXJsIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVdPVwiaXRlbS51cmwgPyAnZXVpLW1lbnUtaXRlbV9fbGluay0tYWN0aXZlJyA6ICcnXCJcbiAgICAgICAgICAgICAgICBbZXVpVG9vbHRpcF09XCJtZW51SXRlbVRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIHBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rQ29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbGk+XG4gICAgfVxuXG4gICAgQGlmIChpc0xpbmtJdGVtKSB7XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgICAgICAgaWQ9XCJ7e2l0ZW0uaWR9fVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWUyZV09XCJpdGVtLmUyZUF0dHJcIlxuICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19jb250ZW50XCJcbiAgICAgICAgICAgIFtjbGFzcy5ldWktbWVudS1pdGVtLS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgIFtjbGFzcy5ldWktbWVudS1pdGVtLS1leHBhbmRlZF09XCJpdGVtLmV4cGFuZGVkIHx8IGl0ZW0uZmlsdGVyZWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGlua1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmV1aS1tZW51LWl0ZW1fX2xpbmstLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ldWktbWVudS1pdGVtX19saW5rLS1hY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ldWktbWVudS1pdGVtX19saW5rLS1oYXMtc3ViXT1cIml0ZW0uY2hpbGRyZW4/Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAgICAgICAgIFtldWlUb29sdGlwXT1cIm1lbnVJdGVtVG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgcG9zaXRpb249XCJhZnRlclwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtDb250ZW50XCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9saT5cbiAgICB9XG59XG5cbjxuZy10ZW1wbGF0ZSAjbGlua0NvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstc3RhcnQtYmxvY2tcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbUljb25Db250ZW50XCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstY29udGVudC1ibG9ja1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay1sYWJlbC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay1sYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnVybEV4dGVybmFsICYmIGl0ZW0udXJsRXh0ZXJuYWxUYXJnZXQgPT09ICdfYmxhbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xhYmVsLWV4dGVybmFsXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiZXVpLWVjbC1leHRlcm5hbFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIjJ4c1wiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cImV4dGVybmFsIGxpbmsgaWNvblwiXG4gICAgICAgICAgICAgICAgZXVpRW5kPlxuICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstZW5kLWJsb2NrXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1FbmRDb250ZW50XCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBQUk9KRUNURUQgQ09OVEVOVCBCTE9DSyAtLT5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFBST0pFQ1RFRCBTVEFSVCBCTE9DSyAtLT5cbjxuZy10ZW1wbGF0ZSAjaXRlbUljb25Db250ZW50PlxuICAgIEBpZiAoIWlzQ29sbGFwc2VkKSB7XG5cbiAgICAgICAgQGlmIChoYXNJY29uKSB7XG5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uU3ZnTmFtZSkge1xuICAgICAgICAgICAgICAgIDwhLS0gU1ZHIC0tPlxuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwie3sgaXRlbS5pY29uU3ZnTmFtZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvcj1cInt7IGl0ZW0uaWNvblR5cGVDbGFzcyB9fVwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCI+XG4gICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG5cbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKGl0ZW0uaGFzTWFya2VyKSB7XG4gICAgICAgICAgICAgICAgPCEtLSBNQVJLRVIgLS0+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstbWFya2VyXCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbENvbG9yPVwie3sgaXRlbT8ubWFya2VyVHlwZUNsYXNzIH19XCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImVsbGlwc2U6c2hhcnBcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwiMnhzXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWEtbGFiZWxdPVwiaXRlbS5tYXJrZXJUeXBlQ2xhc3MgKyAnICcgKyAnbWFya2VyJ1wiPlxuICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2UgaWYgKCFpc0xhYmVsSXRlbSkge1xuICAgICAgICAgICAgICAgIDwhLS0gREVGQVVMVCBmb3Igbm9uIGNhdGVnb3J5IGl0ZW1zIC0tPlxuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiZWxsaXBzZTpzaGFycFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvcj1cIm5ldXRyYWwtbGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwiMnhzXCI+XG4gICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2UgaWYgKGl0ZW0uaGFzTWFya2VyKSB7XG4gICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLW1hcmtlclwiXG4gICAgICAgICAgICAgICAgZmlsbENvbG9yPVwie3sgaXRlbT8ubWFya2VyVHlwZUNsYXNzIH19XCJcbiAgICAgICAgICAgICAgICBpY29uPVwiZWxsaXBzZTpzaGFycFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIjJ4c1wiXG4gICAgICAgICAgICAgICAgW2FyaWEtbGFiZWxdPVwiaXRlbS5tYXJrZXJUeXBlQ2xhc3MgKyAnICcgKyAnbWFya2VyJ1wiPlxuICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgIH1cblxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgKGhhc0NvbGxhcHNlZEluaXRpYWxzKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstaW5pdGlhbHMgZXVpLXUtYy1iZy17e2l0ZW0uaWNvblR5cGVDbGFzc319XCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5pbml0aWFscyB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoaGFzSWNvbikge1xuICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uU3ZnTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICA8IS0tIFNWRyAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGl0ZW0uaWNvblN2Z05hbWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbENvbG9yPVwie3sgaXRlbS5pY29uVHlwZUNsYXNzIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuXG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoaXRlbS5oYXNNYXJrZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBNQVJLRVIgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay1tYXJrZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbENvbG9yPVwie3sgaXRlbT8ubWFya2VyVHlwZUNsYXNzIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJlbGxpcHNlOnNoYXJwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCIyeHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWEtbGFiZWxdPVwiaXRlbS5tYXJrZXJUeXBlQ2xhc3MgKyAnICcgKyAnbWFya2VyJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBERUZBVUxUIC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiZWxsaXBzZTpzaGFycFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsQ29sb3I9XCJuZXV0cmFsLWxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCIyeHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWEtbGFiZWxdPVwiaXRlbS5pY29uTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstaWNvbiBldWktdS1tbC0yeHNcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwic3F1YXJlOnNoYXJwXCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbENvbG9yPVwibmV1dHJhbC1saWdodFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCIyeHNcIj5cbiAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gUFJPSkVDVEVEIEVORCBCTE9DSyAtLT5cbjxuZy10ZW1wbGF0ZSAjaXRlbUVuZENvbnRlbnQ+XG4gICAgQGlmIChpdGVtLnRhZ0xhYmVsKSB7XG4gICAgICAgIEBpZiAoaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIDxldWktYmFkZ2UgW2V1aVZhcmlhbnRdPVwiaXRlbS50YWdUeXBlQ2xhc3NcIiBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstZG90dGVkLWJhZGdlXCI+PC9ldWktYmFkZ2U+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGV1aS1iYWRnZSBbZXVpVmFyaWFudF09XCJpdGVtLnRhZ1R5cGVDbGFzc1wiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0udGFnTGFiZWwgfX1cbiAgICAgICAgICAgIDwvZXVpLWJhZGdlPlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIml0ZW0uYWN0aW9uSWNvblwiXG4gICAgICAgIGV1aUJ1dHRvblxuICAgICAgICBldWlSb3VuZGVkXG4gICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgZXVpU2l6ZVNcbiAgICAgICAgZXVpQmFzaWNCdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbkFjdGlvbkljb25LZXlEb3duKCRldmVudClcIlxuICAgICAgICAoZm9jdXNvdXQpPVwib25BY3Rpb25JY29uRm9jdXNPdXQoKVwiXG4gICAgICAgIChmb2N1cyk9XCJmb2N1c0FjdGlvbkljb24oKVwiXG4gICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay1hY3Rpb24taWNvblwiXG4gICAgICAgIFtldWlEaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFjdGlvbkljb24/LmxhYmVsXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uSWNvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgPGV1aS1pY29uLXN2ZyBbaWNvbl09XCJpdGVtLmFjdGlvbkljb24/Lmljb25cIiBbZmlsbENvbG9yXT1cIml0ZW0uYWN0aW9uSWNvbj8uY29sb3JcIj48L2V1aS1pY29uLXN2Zz5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxldWktaWNvbi1idXR0b24gKm5nSWY9XCJpdGVtLmNoaWxkcmVuPy5sZW5ndGggPiAwXCJcbiAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLXRvZ2dsZVwiXG4gICAgICAgIFtpY29uXT1cIml0ZW0uZXhwYW5kZWQgPyAnY2hldnJvbi11cDpzaGFycCc6ICdjaGV2cm9uLWRvd246c2hhcnAnXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cIm9uRXhwYW5kVG9nZ2xlKCRldmVudClcIlxuICAgICAgICBbYXJpYUxhYmVsXT1cIml0ZW0uZXhwYW5kZWQgPyBjb2xsYXBzZU1lbnVMYWJlbCA6IGV4cGFuZE1lbnVMYWJlbFwiXG4gICAgICAgIGV1aVJvdW5kZWRcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBbdGFiaW5kZXhdPVwiLTFcIlxuICAgICAgICBbZXVpRGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW1lbnUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktbWVudS9ldWktbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2V1aS1tZW51L2V1aS1tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFJWixnQkFBZ0IsR0FFbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7O0FBU3pDLE1BQU0sT0FBTyxvQkFBb0I7SUFLN0IsSUFDVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFDRCxJQUNJLFlBQVk7UUFDWixJQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDN0MsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO0lBQ0wsQ0FBQztJQUNELElBQ0ksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDN0IsQ0FBQztJQXFCRCxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBNUNoQixTQUFJLEdBQUcsVUFBVSxDQUFDO1FBQ1osY0FBUyxHQUFHLEVBQUUsQ0FBQztRQU1qQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBb0JwQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFDL0MsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFdEQsb0JBQWUsR0FBRyxRQUFRLENBQUM7UUFDM0Isc0JBQWlCLEdBQUcsVUFBVSxDQUFDO1FBRS9CLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7SUFRaUIsQ0FBQztJQUU5QyxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN4SCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUU1SCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDdEMsSUFBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUM7WUFDM0MsQ0FBQztZQUNELElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUM5QixDQUFDO1lBQ0QsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQzdCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUdNLGVBQWUsQ0FBQyxLQUFZO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQVk7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQVk7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU0saUJBQWlCLENBQUMsS0FBaUI7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7SUFFTSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCwwQkFBMEIsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLO1FBQy9DLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzNGLE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzNDLE9BQU8sZ0JBQWdCO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDO2dCQUM3QixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQyxDQUFDO2dCQUN6QyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQztZQUN0RSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLE1BQU0sSUFBSSxXQUFXLElBQUksS0FBSyxJQUFJLFVBQVUsQ0FBQztJQUNoRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLFVBQW1CO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBaUI7UUFDeEMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ25ELENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN6QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVPLFlBQVk7UUFDaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDM0IsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ3RDLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGFBQWE7UUFDakIsT0FBTztZQUNILGVBQWU7WUFDZixDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNyRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQWhMUSxvQkFBb0I7a0dBQXBCLG9CQUFvQix1R0F3Q1QsZ0JBQWdCLDRDQUNoQixnQkFBZ0IsK0NBQ2hCLGdCQUFnQiwwRUFDaEIsZ0JBQWdCLDhEQUNoQixnQkFBZ0IsZ2NDckV4QyxxNlRBZ1FBOzsyRkR2T2Esb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSTsrRUFJWCxJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBQ1EsU0FBUztzQkFBeEMsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBR25CLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsT0FBTztnQkFJVSxRQUFRO3NCQUFyQyxXQUFXO3VCQUFDLGVBQWU7Z0JBRXhCLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBSzdCLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBUzdCLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS3hCLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQVVpQyxPQUFPO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFVBQVU7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxvQkFBb0I7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZ0JBQWdCO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQTRCL0IsZUFBZTtzQkFEckIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBPbkluaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvY3VzYWJsZU9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcblxuaW1wb3J0IHsgY29uc3VtZUV2ZW50IH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEV1aU1lbnVJdGVtIH0gZnJvbSAnLi9tb2RlbHMvZXVpLW1lbnUtaXRlbS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLW1lbnUtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aU1lbnVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEZvY3VzYWJsZU9wdGlvbiB7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbWVudWl0ZW0nO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJykgYXJpYUxhYmVsID0gJyc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3NzQ2xhc3NlcygpO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleCA9ICctMSc7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGFzcG9wdXAnKVxuICAgIGdldCBhcmlhSGFzUG9wdXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW0/LmNoaWxkcmVuPy5sZW5ndGggPiAwPyB0cnVlIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgZ2V0IGFyaWFFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYodGhpcy5pdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtLmV4cGFuZGVkID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpXG4gICAgZ2V0IGFyaWFEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbS5kaXNhYmxlZFxuICAgIH1cblxuICAgIEBJbnB1dCgpIGl0ZW06IEV1aU1lbnVJdGVtO1xuICAgIEBJbnB1dCgpIHBhcmVudDogRXVpTWVudUl0ZW07XG4gICAgQE91dHB1dCgpIGV4cGFuZFRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+KCk7XG4gICAgQE91dHB1dCgpIGl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+KCk7XG5cbiAgICBleHBhbmRNZW51TGFiZWwgPSAnRXhwYW5kJztcbiAgICBjb2xsYXBzZU1lbnVMYWJlbCA9ICdDb2xsYXBzZSc7XG5cbiAgICBpc1VybEl0ZW0gPSBmYWxzZTtcbiAgICBpc0xpbmtJdGVtID0gZmFsc2U7XG4gICAgaXNMYWJlbEl0ZW0gPSBmYWxzZTtcbiAgICBpc0FjdGlvbkljb25Gb2N1c2VkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzSWNvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzVG9vbHRpcDogYm9vbGVhbjtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0NvbGxhcHNlZEluaXRpYWxzOiBib29sZWFuO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNCb2xkUm9vdExldmVsOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNVcmxJdGVtID0gKHRoaXMuaXRlbS51cmwgfHwgdGhpcy5pdGVtLnVybEV4dGVybmFsIHx8IHRoaXMuaXRlbS5jaGlsZHJlbiB8fCB0aGlzLml0ZW0uY29tbWFuZCkgJiYgIXRoaXMuaXRlbS5saW5rO1xuICAgICAgICB0aGlzLmlzTGFiZWxJdGVtID0gIXRoaXMuaXRlbS51cmwgJiYgIXRoaXMuaXRlbS51cmxFeHRlcm5hbCAmJiAhdGhpcy5pdGVtLmNvbW1hbmQgJiYgIXRoaXMuaXRlbS5jaGlsZHJlbiAmJiAhdGhpcy5pdGVtLmxpbms7XG5cbiAgICAgICAgdGhpcy5pc0xpbmtJdGVtID0gIXRoaXMuaXNVcmxJdGVtICYmICF0aGlzLmlzTGFiZWxJdGVtO1xuICAgICAgICB0aGlzLmFyaWFMYWJlbCA9IHRoaXMuZ2V0QXJpYUxhYmVsKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5pdGVtICYmIGNoYW5nZXMuaXRlbS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbSA9IGNoYW5nZXMuaXRlbS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICBpZighdGhpcy5pdGVtLnVybEV4dGVybmFsVGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtLnVybEV4dGVybmFsVGFyZ2V0ID0gJ19ibGFuayc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZih0aGlzLml0ZW0uZmlsdGVyZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbS5maWx0ZXJlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZih0aGlzLml0ZW0uZGlzYWJsZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbS52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1DbGljay5lbWl0KHRoaXMuaXRlbSk7XG4gICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgfVxuXG4gICAgZ2V0IG1lbnVJdGVtVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5oYXNUb29sdGlwICYmIHRoaXMuaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW0udG9vbHRpcCB8fCB0aGlzLmdldFRvb2x0aXBGcm9tSXRlbSh0aGlzLml0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1DbGljay5lbWl0KHRoaXMuaXRlbSk7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FeHBhbmRUb2dnbGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kVG9nZ2xlLmVtaXQodGhpcy5pdGVtKTtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25BY3Rpb25JY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtLmFjdGlvbkljb24/LmFjdGlvbihldmVudCk7XG4gICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgfVxuXG4gICAgb25BY3Rpb25JY29uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW0uYWN0aW9uSWNvbj8uYWN0aW9uKGV2ZW50KTtcbiAgICAgICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZm9jdXNBY3Rpb25JY29uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZXVpLW1lbnUtaXRlbV9fbGluay1hY3Rpb24taWNvbicpLmZvY3VzKCk7XG4gICAgICAgIHRoaXMuaXNBY3Rpb25JY29uRm9jdXNlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgb25BY3Rpb25JY29uRm9jdXNPdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNBY3Rpb25JY29uRm9jdXNlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBhbiBlbGVtZW50IGlzIHZpc2libGUgaW4gdGhlIHZpZXdwb3J0XG4gICAgICogQHBhcmFtIGVsXG4gICAgICogQHBhcmFtIHBhcnRpYWxseVZpc2libGVcbiAgICAgKi9cbiAgICBlbGVtZW50SXNWaXNpYmxlSW5WaWV3cG9ydChwYXJ0aWFsbHlWaXNpYmxlID0gZmFsc2UpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgeyB0b3AsIGxlZnQsIGJvdHRvbSwgcmlnaHQgfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB7IGlubmVySGVpZ2h0LCBpbm5lcldpZHRoIH0gPSB3aW5kb3c7XG4gICAgICAgIHJldHVybiBwYXJ0aWFsbHlWaXNpYmxlXG4gICAgICAgICAgICA/ICgodG9wID4gMCAmJiB0b3AgPCBpbm5lckhlaWdodCkgfHxcbiAgICAgICAgICAgICAgICAoYm90dG9tID4gMCAmJiBib3R0b20gPCBpbm5lckhlaWdodCkpICYmXG4gICAgICAgICAgICAoKGxlZnQgPiAwICYmIGxlZnQgPCBpbm5lcldpZHRoKSB8fCAocmlnaHQgPiAwICYmIHJpZ2h0IDwgaW5uZXJXaWR0aCkpXG4gICAgICAgICAgICA6IHRvcCA+PSAwICYmIGxlZnQgPj0gMCAmJiBib3R0b20gPD0gaW5uZXJIZWlnaHQgJiYgcmlnaHQgPD0gaW5uZXJXaWR0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTY3JvbGwgdGhlIGVsZW1lbnQgaW50byB2aWV3XG4gICAgICogQHBhcmFtIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBzY3JvbGxJbnRvVmlldyhwcm9wZXJ0aWVzOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VG9vbHRpcEZyb21JdGVtKGl0ZW06IEV1aU1lbnVJdGVtKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGl0ZW0udGFnTGFiZWwgJiYgaXRlbS5sYWJlbCkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubGFiZWwgKyAnICgnICsgaXRlbS50YWdMYWJlbCArICcpJztcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLmxhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5sYWJlbDtcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLnRhZ0xhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS50YWdMYWJlbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5pdGVtLmxhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pdGVtLmxhYmVsO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbS50YWdMYWJlbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbS50YWdMYWJlbDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLml0ZW0uYWN0aW9uSWNvbiAmJiB0aGlzLml0ZW0uYWN0aW9uSWNvbi5sYWJlbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbS5hY3Rpb25JY29uLmxhYmVsO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbS5pY29uTGFiZWwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW0uaWNvbkxhYmVsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnRXVpIG1lbnUgaXRlbSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZGVmYXVsdCBldWktbWVudS1pdGVtIGNsYXNzIG9uIHRoZSBIb3N0QmluZGluZyBmdW5jdGlvblxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRDc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZXVpLW1lbnUtaXRlbScsXG4gICAgICAgICAgICAhdGhpcy5wYXJlbnQgJiYgdGhpcy5oYXNCb2xkUm9vdExldmVsID8gJ2V1aS1tZW51LWl0ZW0tLWJvbGQnIDogJycsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG59XG4iLCJAaWYgKGl0ZW0udmlzaWJsZSAmJiBpdGVtLmZpbHRlcmVkKSB7XG4gICAgQGlmIChpc0xhYmVsSXRlbSkge1xuICAgICAgICA8bGlcbiAgICAgICAgICAgIHJvbGU9XCJub25lXCJcbiAgICAgICAgICAgIGlkPVwie3tpdGVtLmlkfX1cIlxuICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19jb250ZW50XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZTJlXT1cIml0ZW0uZTJlQXR0clwiXG4gICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbS0tZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2V1aVRvb2x0aXBdPVwibWVudUl0ZW1Ub29sdGlwXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgcG9zaXRpb249XCJhZnRlclwiPlxuXG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluayBldWktbWVudS1pdGVtX19saW5rLWNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbV9fbGluay0tZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmV1aS1tZW51LWl0ZW1fX2xpbmstLWFjdGl2ZV09XCJpdGVtLmFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmV1aS1tZW51LWl0ZW1fX2xpbmstLWhhcy1zdWJdPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgICAgICAgICAgW2V1aVRvb2x0aXBdPVwibWVudUl0ZW1Ub29sdGlwXCJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj1cImFmdGVyXCI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay1zdGFydC1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtSWNvbkNvbnRlbnRcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay1jb250ZW50LWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWxhYmVsLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWxhYmVsLWNhdGVnb3J5XCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay1lbmQtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbUVuZENvbnRlbnRcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbGk+XG4gICAgfVxuXG4gICAgQGlmIChpc1VybEl0ZW0pIHtcbiAgICAgICAgPGxpXG4gICAgICAgICAgICByb2xlPVwibm9uZVwiXG4gICAgICAgICAgICBpZD1cInt7aXRlbS5pZH19XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZTJlXT1cIml0ZW0uZTJlQXR0clwiXG4gICAgICAgICAgICBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2NvbnRlbnRcIlxuICAgICAgICAgICAgW2NsYXNzLmV1aS1tZW51LWl0ZW0tLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmV1aS1tZW51LWl0ZW0tLWV4cGFuZGVkXT1cIml0ZW0uZXhwYW5kZWQgfHwgaXRlbS5maWx0ZXJlZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbV9fbGluay0tZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmV1aS1tZW51LWl0ZW1fX2xpbmstLWFjdGl2ZV09XCJpdGVtLmFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmV1aS1tZW51LWl0ZW1fX2xpbmstLWhhcy1zdWJdPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS51cmwgPyBpdGVtLnVybCA6IG51bGxcIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlXT1cIml0ZW0udXJsID8gJ2V1aS1tZW51LWl0ZW1fX2xpbmstLWFjdGl2ZScgOiAnJ1wiXG4gICAgICAgICAgICAgICAgW2V1aVRvb2x0aXBdPVwibWVudUl0ZW1Ub29sdGlwXCJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj1cImFmdGVyXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua0NvbnRlbnRcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2xpPlxuICAgIH1cblxuICAgIEBpZiAoaXNMaW5rSXRlbSkge1xuICAgICAgICA8bGlcbiAgICAgICAgICAgIHJvbGU9XCJub25lXCJcbiAgICAgICAgICAgIGlkPVwie3tpdGVtLmlkfX1cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1lMmVdPVwiaXRlbS5lMmVBdHRyXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fY29udGVudFwiXG4gICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbS0tZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbS0tZXhwYW5kZWRdPVwiaXRlbS5leHBhbmRlZCB8fCBpdGVtLmZpbHRlcmVkXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmtcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ldWktbWVudS1pdGVtX19saW5rLS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbV9fbGluay0tYWN0aXZlXT1cIml0ZW0uYWN0aXZlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZXVpLW1lbnUtaXRlbV9fbGluay0taGFzLXN1Yl09XCJpdGVtLmNoaWxkcmVuPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgICAgICAgICBbZXVpVG9vbHRpcF09XCJtZW51SXRlbVRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIHBvc2l0aW9uPVwiYWZ0ZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rQ29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbGk+XG4gICAgfVxufVxuXG48bmctdGVtcGxhdGUgI2xpbmtDb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLXN0YXJ0LWJsb2NrXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1JY29uQ29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWNvbnRlbnQtYmxvY2tcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstbGFiZWwtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstbGFiZWxcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS51cmxFeHRlcm5hbCAmJiBpdGVtLnVybEV4dGVybmFsVGFyZ2V0ID09PSAnX2JsYW5rJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19sYWJlbC1leHRlcm5hbFwiXG4gICAgICAgICAgICAgICAgaWNvbj1cImV1aS1lY2wtZXh0ZXJuYWxcIlxuICAgICAgICAgICAgICAgIHNpemU9XCIyeHNcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJleHRlcm5hbCBsaW5rIGljb25cIlxuICAgICAgICAgICAgICAgIGV1aUVuZD5cbiAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWVuZC1ibG9ja1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtRW5kQ29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gUFJPSkVDVEVEIENPTlRFTlQgQkxPQ0sgLS0+XG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBQUk9KRUNURUQgU1RBUlQgQkxPQ0sgLS0+XG48bmctdGVtcGxhdGUgI2l0ZW1JY29uQ29udGVudD5cbiAgICBAaWYgKCFpc0NvbGxhcHNlZCkge1xuXG4gICAgICAgIEBpZiAoaGFzSWNvbikge1xuXG4gICAgICAgICAgICBAaWYgKGl0ZW0uaWNvblN2Z05hbWUpIHtcbiAgICAgICAgICAgICAgICA8IS0tIFNWRyAtLT5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGl0ZW0uaWNvblN2Z05hbWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBmaWxsQ29sb3I9XCJ7eyBpdGVtLmljb25UeXBlQ2xhc3MgfX1cIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiPlxuICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuXG4gICAgICAgICAgICB9IEBlbHNlIGlmIChpdGVtLmhhc01hcmtlcikge1xuICAgICAgICAgICAgICAgIDwhLS0gTUFSS0VSIC0tPlxuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLW1hcmtlclwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvcj1cInt7IGl0ZW0/Lm1hcmtlclR5cGVDbGFzcyB9fVwiXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJlbGxpcHNlOnNoYXJwXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIjJ4c1wiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhLWxhYmVsXT1cIml0ZW0ubWFya2VyVHlwZUNsYXNzICsgJyAnICsgJ21hcmtlcidcIj5cbiAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIGlmICghaXNMYWJlbEl0ZW0pIHtcbiAgICAgICAgICAgICAgICA8IS0tIERFRkFVTFQgZm9yIG5vbiBjYXRlZ29yeSBpdGVtcyAtLT5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImVsbGlwc2U6c2hhcnBcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsQ29sb3I9XCJuZXV0cmFsLWxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIjJ4c1wiPlxuICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIGlmIChpdGVtLmhhc01hcmtlcikge1xuICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay1tYXJrZXJcIlxuICAgICAgICAgICAgICAgIGZpbGxDb2xvcj1cInt7IGl0ZW0/Lm1hcmtlclR5cGVDbGFzcyB9fVwiXG4gICAgICAgICAgICAgICAgaWNvbj1cImVsbGlwc2U6c2hhcnBcIlxuICAgICAgICAgICAgICAgIHNpemU9XCIyeHNcIlxuICAgICAgICAgICAgICAgIFthcmlhLWxhYmVsXT1cIml0ZW0ubWFya2VyVHlwZUNsYXNzICsgJyAnICsgJ21hcmtlcidcIj5cbiAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICB9XG5cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGlmIChoYXNDb2xsYXBzZWRJbml0aWFscykge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWluaXRpYWxzIGV1aS11LWMtYmcte3tpdGVtLmljb25UeXBlQ2xhc3N9fVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0uaW5pdGlhbHMgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKGhhc0ljb24pIHtcbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaWNvblN2Z05hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBTVkcgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBpdGVtLmljb25TdmdOYW1lIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvcj1cInt7IGl0ZW0uaWNvblR5cGVDbGFzcyB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiPlxuICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cblxuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGl0ZW0uaGFzTWFya2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gTUFSS0VSIC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstbWFya2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvcj1cInt7IGl0ZW0/Lm1hcmtlclR5cGVDbGFzcyB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiZWxsaXBzZTpzaGFycFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiMnhzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhLWxhYmVsXT1cIml0ZW0ubWFya2VyVHlwZUNsYXNzICsgJyAnICsgJ21hcmtlcidcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gREVGQVVMVCAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImVsbGlwc2U6c2hhcnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbENvbG9yPVwibmV1dHJhbC1saWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiMnhzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhLWxhYmVsXT1cIml0ZW0uaWNvbkxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWljb24gZXVpLXUtbWwtMnhzXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cInNxdWFyZTpzaGFycFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGxDb2xvcj1cIm5ldXRyYWwtbGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwiMnhzXCI+XG4gICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFBST0pFQ1RFRCBFTkQgQkxPQ0sgLS0+XG48bmctdGVtcGxhdGUgI2l0ZW1FbmRDb250ZW50PlxuICAgIEBpZiAoaXRlbS50YWdMYWJlbCkge1xuICAgICAgICBAaWYgKGlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICA8ZXVpLWJhZGdlIFtldWlWYXJpYW50XT1cIml0ZW0udGFnVHlwZUNsYXNzXCIgY2xhc3M9XCJldWktbWVudS1pdGVtX19saW5rLWRvdHRlZC1iYWRnZVwiPjwvZXVpLWJhZGdlPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxldWktYmFkZ2UgW2V1aVZhcmlhbnRdPVwiaXRlbS50YWdUeXBlQ2xhc3NcIj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLnRhZ0xhYmVsIH19XG4gICAgICAgICAgICA8L2V1aS1iYWRnZT5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJpdGVtLmFjdGlvbkljb25cIlxuICAgICAgICBldWlCdXR0b25cbiAgICAgICAgZXVpUm91bmRlZFxuICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgIGV1aVNpemVTXG4gICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgKGtleWRvd24pPVwib25BY3Rpb25JY29uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgKGZvY3Vzb3V0KT1cIm9uQWN0aW9uSWNvbkZvY3VzT3V0KClcIlxuICAgICAgICAoZm9jdXMpPVwiZm9jdXNBY3Rpb25JY29uKClcIlxuICAgICAgICBjbGFzcz1cImV1aS1tZW51LWl0ZW1fX2xpbmstYWN0aW9uLWljb25cIlxuICAgICAgICBbZXVpRGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5hY3Rpb25JY29uPy5sYWJlbFwiXG4gICAgICAgIChjbGljayk9XCJvbkFjdGlvbkljb25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgIDxldWktaWNvbi1zdmcgW2ljb25dPVwiaXRlbS5hY3Rpb25JY29uPy5pY29uXCIgW2ZpbGxDb2xvcl09XCJpdGVtLmFjdGlvbkljb24/LmNvbG9yXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZXVpLWljb24tYnV0dG9uICpuZ0lmPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoID4gMFwiXG4gICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtaXRlbV9fbGluay10b2dnbGVcIlxuICAgICAgICBbaWNvbl09XCJpdGVtLmV4cGFuZGVkID8gJ2NoZXZyb24tdXA6c2hhcnAnOiAnY2hldnJvbi1kb3duOnNoYXJwJ1wiXG4gICAgICAgIChidXR0b25DbGljayk9XCJvbkV4cGFuZFRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgICAgW2FyaWFMYWJlbF09XCJpdGVtLmV4cGFuZGVkID8gY29sbGFwc2VNZW51TGFiZWwgOiBleHBhbmRNZW51TGFiZWxcIlxuICAgICAgICBldWlSb3VuZGVkXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgW3RhYmluZGV4XT1cIi0xXCJcbiAgICAgICAgW2V1aURpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIi8+XG48L25nLXRlbXBsYXRlPlxuIl19