@commercetools-frontend/application-shell 22.10.0 → 22.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/commercetools-frontend-application-shell.cjs.dev.js +5 -5
  2. package/dist/commercetools-frontend-application-shell.cjs.prod.js +5 -5
  3. package/dist/commercetools-frontend-application-shell.esm.js +5 -5
  4. package/dist/{custom-view-dev-host-cb49959d.esm.js → custom-view-dev-host-97825f04.esm.js} +5 -5
  5. package/dist/{custom-view-dev-host-379d3461.cjs.dev.js → custom-view-dev-host-ab602e4b.cjs.dev.js} +5 -5
  6. package/dist/declarations/src/components/app-bar/app-bar.d.ts +0 -1
  7. package/dist/declarations/src/components/application-shell/application-shell.d.ts +1 -0
  8. package/dist/declarations/src/components/application-shell-authenticated/application-shell-authenticated.d.ts +1 -4
  9. package/dist/declarations/src/components/custom-view-shell/custom-view-shell.d.ts +3 -0
  10. package/dist/declarations/src/components/locale-switcher/locale-switcher.d.ts +1 -4
  11. package/dist/declarations/src/components/navbar/compiled/navbar.css.json.d.ts +3 -0
  12. package/dist/declarations/src/components/navbar/index.d.ts +1 -3
  13. package/dist/declarations/src/components/navbar/{navbar-new/menu-items.d.ts → menu-items.d.ts} +1 -1
  14. package/dist/declarations/src/components/navbar/navbar.d.ts +43 -4
  15. package/dist/declarations/src/components/navbar/use-navbar-state-manager.d.ts +0 -1
  16. package/dist/declarations/src/components/project-switcher/project-switcher.d.ts +1 -4
  17. package/dist/declarations/src/constants.d.ts +2 -6
  18. package/dist/declarations/src/test-utils/custom-views-utils.d.ts +10 -1
  19. package/dist/declarations/src/types/generated/settings.d.ts +114 -1
  20. package/dist/index-090350e1.esm.js +2017 -0
  21. package/dist/index-4f10b4f6.cjs.dev.js +2077 -0
  22. package/dist/{index-1d3e351d.cjs.prod.js → index-d1be72d3.cjs.prod.js} +278 -304
  23. package/dist/navbar-10252888.cjs.prod.js +1096 -0
  24. package/dist/navbar-948abeab.cjs.dev.js +1230 -0
  25. package/dist/navbar-ba4b5961.esm.js +1199 -0
  26. package/dist/{oidc-b2ac8a92.cjs.prod.js → oidc-088842ab.cjs.prod.js} +3 -7
  27. package/dist/{oidc-0c6ca06c.cjs.dev.js → oidc-b577ced5.cjs.dev.js} +3 -7
  28. package/dist/{oidc-95696f7b.esm.js → oidc-beeb911e.esm.js} +3 -7
  29. package/dist/{oidc-callback-23a07314.esm.js → oidc-callback-0c55b52a.esm.js} +5 -5
  30. package/dist/{oidc-callback-d8c66ca9.cjs.dev.js → oidc-callback-79de3285.cjs.dev.js} +5 -5
  31. package/dist/{oidc-callback-c3d56a4a.cjs.prod.js → oidc-callback-fd6fc3cb.cjs.prod.js} +5 -5
  32. package/dist/{project-container-216869fc.cjs.prod.js → project-container-d6ef4f95.cjs.prod.js} +22 -19
  33. package/dist/project-container-d7e433b2.cjs.dev.js +341 -0
  34. package/dist/project-container-dc6a77c1.esm.js +322 -0
  35. package/dist/{project-expired-112eb293.esm.js → project-expired-15d1e2ad.esm.js} +6 -6
  36. package/dist/{project-expired-4015d379.cjs.prod.js → project-expired-5f27a7e0.cjs.prod.js} +6 -6
  37. package/dist/{project-expired-94a0f5f7.cjs.dev.js → project-expired-cd8490b4.cjs.dev.js} +6 -6
  38. package/dist/{project-not-found-fcfed135.cjs.dev.js → project-not-found-1c22a5d3.cjs.dev.js} +6 -6
  39. package/dist/{project-not-found-9aee8dfd.esm.js → project-not-found-343dd667.esm.js} +6 -6
  40. package/dist/{project-not-found-9ac24482.cjs.prod.js → project-not-found-c43387f6.cjs.prod.js} +6 -6
  41. package/dist/{project-not-initialized-5624fe32.cjs.prod.js → project-not-initialized-6294cbc3.cjs.prod.js} +6 -6
  42. package/dist/{project-not-initialized-814ee00a.cjs.dev.js → project-not-initialized-e2dec8e0.cjs.dev.js} +6 -6
  43. package/dist/{project-not-initialized-51df89c0.esm.js → project-not-initialized-f3c58ee4.esm.js} +6 -6
  44. package/dist/{project-suspended-0a013a7f.cjs.prod.js → project-suspended-10846838.cjs.prod.js} +6 -6
  45. package/dist/{project-suspended-10fa0f61.cjs.dev.js → project-suspended-8ce7ddfc.cjs.dev.js} +6 -6
  46. package/dist/{project-suspended-e30818a8.esm.js → project-suspended-ab6c0490.esm.js} +6 -6
  47. package/dist/{quick-access-d5863124.esm.js → quick-access-51aa3d25.esm.js} +5 -5
  48. package/dist/{quick-access-9613aac7.cjs.dev.js → quick-access-5f0de0db.cjs.dev.js} +5 -5
  49. package/dist/{quick-access-a2d6f564.cjs.prod.js → quick-access-6a5e691d.cjs.prod.js} +5 -5
  50. package/dist/{redirect-to-login-aa538da2.cjs.dev.js → redirect-to-login-0a3097b7.cjs.dev.js} +1 -1
  51. package/dist/{redirect-to-login-9535ddbc.esm.js → redirect-to-login-238fc787.esm.js} +1 -1
  52. package/dist/{redirect-to-login-ee9f3801.cjs.prod.js → redirect-to-login-d261e811.cjs.prod.js} +1 -1
  53. package/dist/{redirect-to-logout-4889145e.cjs.prod.js → redirect-to-logout-469ef788.cjs.prod.js} +5 -5
  54. package/dist/{redirect-to-logout-9a89f5d8.esm.js → redirect-to-logout-799ffcc9.esm.js} +5 -5
  55. package/dist/{redirect-to-logout-202a372c.cjs.dev.js → redirect-to-logout-a0f22525.cjs.dev.js} +5 -5
  56. package/dist/{requests-in-flight-loader-697dd557.esm.js → requests-in-flight-loader-24dd0f9b.esm.js} +5 -5
  57. package/dist/{requests-in-flight-loader-9bc6935e.cjs.prod.js → requests-in-flight-loader-3929ce45.cjs.prod.js} +5 -5
  58. package/dist/{requests-in-flight-loader-55be9493.cjs.dev.js → requests-in-flight-loader-d5fb3a86.cjs.dev.js} +5 -5
  59. package/dist/{service-page-project-switcher-e3896261.cjs.prod.js → service-page-project-switcher-38212a13.cjs.prod.js} +1 -1
  60. package/dist/{service-page-project-switcher-ef2835a1.cjs.dev.js → service-page-project-switcher-9bb9d702.cjs.dev.js} +1 -1
  61. package/dist/{service-page-project-switcher-4bc59464.esm.js → service-page-project-switcher-ce8f6d34.esm.js} +1 -1
  62. package/dist/{user-settings-menu-59dbf5d2.cjs.dev.js → user-settings-menu-1b68d2f1.cjs.dev.js} +1 -1
  63. package/dist/{user-settings-menu-70751be9.cjs.prod.js → user-settings-menu-4e010c39.cjs.prod.js} +1 -1
  64. package/dist/{user-settings-menu-5841d422.esm.js → user-settings-menu-622c7fad.esm.js} +1 -1
  65. package/dist/{version-tracker-d1c9e71c.esm.js → version-tracker-219aff77.esm.js} +5 -5
  66. package/dist/{version-tracker-df0e6378.cjs.dev.js → version-tracker-3a534278.cjs.dev.js} +5 -5
  67. package/dist/{version-tracker-ea617837.cjs.prod.js → version-tracker-420ad591.cjs.prod.js} +5 -5
  68. package/package.json +21 -21
  69. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +1 -1
  70. package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +1 -1
  71. package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +1 -1
  72. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +8 -2
  73. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +8 -2
  74. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +9 -3
  75. package/dist/declarations/src/components/application-shell-authenticated/new-main-navigation-flag-wrapper.d.ts +0 -9
  76. package/dist/declarations/src/components/navbar/navbar-new/compiled/navbar.css.json.d.ts +0 -3
  77. package/dist/declarations/src/components/navbar/navbar-new/navbar.d.ts +0 -48
  78. package/dist/declarations/src/components/navbar/navbar-old/compiled/navbar.css.json.d.ts +0 -3
  79. package/dist/declarations/src/components/navbar/navbar-old/loading-navbar.d.ts +0 -5
  80. package/dist/declarations/src/components/navbar/navbar-old/menu-items.d.ts +0 -100
  81. package/dist/declarations/src/components/navbar/navbar-old/navbar.d.ts +0 -48
  82. package/dist/declarations/src/components/navbar/navbar-old/navbar.styles.d.ts +0 -7
  83. package/dist/declarations/src/components/navbar/use-loading-menu-layout-effect.d.ts +0 -2
  84. package/dist/declarations/src/feature-toggles.d.ts +0 -4
  85. package/dist/index-8c459700.cjs.dev.js +0 -2079
  86. package/dist/index-b87860b8.esm.js +0 -2017
  87. package/dist/navbar-117d6a67.esm.js +0 -2006
  88. package/dist/navbar-4dc84744.cjs.prod.js +0 -1834
  89. package/dist/navbar-a4e4bff2.cjs.dev.js +0 -2037
  90. package/dist/project-container-41ab7c8c.esm.js +0 -321
  91. package/dist/project-container-61346ae8.cjs.dev.js +0 -340
  92. /package/dist/declarations/src/components/navbar/{navbar-new/navbar-skeleton.d.ts → navbar-skeleton.d.ts} +0 -0
  93. /package/dist/declarations/src/components/navbar/{navbar-new/navbar-skeleton.styles.d.ts → navbar-skeleton.styles.d.ts} +0 -0
  94. /package/dist/declarations/src/components/navbar/{navbar-new/navbar.styles.d.ts → navbar.styles.d.ts} +0 -0
@@ -0,0 +1,1230 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
4
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
5
+ var _pt = require('prop-types');
6
+ var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
7
+ var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
8
+ var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
9
+ var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
10
+ var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
11
+ var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
12
+ var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
13
+ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
14
+ var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
15
+ var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
16
+ var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
17
+ var react = require('react');
18
+ var react$1 = require('@emotion/react');
19
+ var classnames = require('classnames');
20
+ var snakeCase = require('lodash/snakeCase');
21
+ var reactIntl = require('react-intl');
22
+ var reactRouterDom = require('react-router-dom');
23
+ var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
24
+ var LogoSVG = require('@commercetools-frontend/assets/logos/commercetools_small-logo.svg');
25
+ var constants = require('@commercetools-frontend/constants');
26
+ var icons = require('@commercetools-uikit/icons');
27
+ var oidc = require('./oidc-b577ced5.cjs.dev.js');
28
+ var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
29
+ var _styled = require('@emotion/styled/base');
30
+ var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
31
+ var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
32
+ var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
33
+ var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
34
+ var reactBroadcast = require('@flopflip/react-broadcast');
35
+ var MissingImageSvg = require('@commercetools-frontend/assets/images/diagonal-line.svg');
36
+ var permissions = require('@commercetools-frontend/permissions');
37
+ var InlineSvg = require('@commercetools-uikit/icons/inline-svg');
38
+ var useIsServedByProxy = require('./use-is-served-by-proxy-ed411f45.cjs.dev.js');
39
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
40
+ var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/keys');
41
+ var designSystem = require('@commercetools-uikit/design-system');
42
+ var isNil = require('lodash/isNil');
43
+ var throttle = require('lodash/throttle');
44
+ var sentry = require('@commercetools-frontend/sentry');
45
+ var useApplicationsMenu = require('./use-applications-menu-c03f484f.cjs.dev.js');
46
+ require('@apollo/client');
47
+ require('@commercetools-frontend/l10n');
48
+
49
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
50
+
51
+ var _pt__default = /*#__PURE__*/_interopDefault(_pt);
52
+ var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
53
+ var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
54
+ var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
55
+ var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
56
+ var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
57
+ var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
58
+ var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
59
+ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
60
+ var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
61
+ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
62
+ var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
63
+ var classnames__default = /*#__PURE__*/_interopDefault(classnames);
64
+ var snakeCase__default = /*#__PURE__*/_interopDefault(snakeCase);
65
+ var LogoSVG__default = /*#__PURE__*/_interopDefault(LogoSVG);
66
+ var _styled__default = /*#__PURE__*/_interopDefault(_styled);
67
+ var _includesInstanceProperty__default = /*#__PURE__*/_interopDefault(_includesInstanceProperty);
68
+ var _everyInstanceProperty__default = /*#__PURE__*/_interopDefault(_everyInstanceProperty);
69
+ var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
70
+ var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
71
+ var MissingImageSvg__default = /*#__PURE__*/_interopDefault(MissingImageSvg);
72
+ var InlineSvg__default = /*#__PURE__*/_interopDefault(InlineSvg);
73
+ var _keysInstanceProperty__default = /*#__PURE__*/_interopDefault(_keysInstanceProperty);
74
+ var isNil__default = /*#__PURE__*/_interopDefault(isNil);
75
+ var throttle__default = /*#__PURE__*/_interopDefault(throttle);
76
+
77
+ const _excluded = ["icon"];
78
+ function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
79
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
80
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
81
+ const compiledStyles$1 = {
82
+ "global": ":root {\n\n /* Left navigation */\n}\n\n@keyframes navbar-mod__visible___AKV1b {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__title___eRWUj {\n font-weight: 600;\n margin-left: var(--spacing-20);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___RCV3J {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.navbar-mod__list-item___MjK6t {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___X2Ina {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.body__menu-open .navbar-mod__item-link___X2Ina {\n width: 100%;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__icon___bLsep {\n /* 1.16 is roughly the ratio of icon-size-hover to --icon-size */\n transform: scale(1.2);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n opacity: 0;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___jyAUi {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n.navbar-mod__expander___jyAUi:hover {\n background-color: var(--color-primary-40);\n}\n\n/* divider */\n\n.navbar-mod__expander___jyAUi::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___BtmRa {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___BtmRa:hover {\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):hover {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 48px;\n overflow: hidden;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n width: 256px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__title___eRWUj {\n margin-left: calc(var(--spacing-25) + 2px);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___lo1sr {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___240JK::before,\n.navbar-mod__sublist-collapsed__active___-9vYh::before,\n.navbar-mod__sublist-collapsed__active__above___BXCeM::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n display: flex;\n align-items: center;\n align-self: stretch;\n transition: padding-left 150ms ease-out;\n}\n\n.navbar-mod__sublist-item__active___QC6pa {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n border-radius: var(--border-radius-4);\n background: var(--color-primary-95);\n padding-left: var(--spacing-20);\n}\n\n.navbar-mod__text___ccHEu {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n width: 100%;\n height: 100%;\n}\n\n.navbar-mod__text-link___dhtj6 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___dhtj6 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___1JN4x {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___AoIpU {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n}\n\n.navbar-mod__navlink-clickable-content___bzddC {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr,\n.navbar-mod__item_menu__active___5xFRw {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___fi5Ka {\n padding: 0 var(--spacing-30) var(--spacing-20) var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n position: relative;\n width: auto;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___iJYyi {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___1ID3j {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__sublist-collapsed__active__above___BXCeM {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK {\n left: 248px;\n}\n\n.navbar-mod__highlighted___oJWkA,\n.navbar-mod__highlighted___oJWkA .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___TQLSs {\n display: none;\n}\n\n.navbar-mod__divider___TpVzu {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___G2LVb {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___42tD9 {\n width: 256px;\n}\n",
83
+ "jsonMap": {
84
+ "left-navigation": "navbar-mod__left-navigation___n7yUt",
85
+ "navigation-header": "navbar-mod__navigation-header___Z6fOr",
86
+ "icon-container": "navbar-mod__icon-container___w3FtA",
87
+ "title": "navbar-mod__title___eRWUj",
88
+ "visible": "navbar-mod__visible___AKV1b",
89
+ "icon": "navbar-mod__icon___bLsep",
90
+ "list": "navbar-mod__list___RCV3J",
91
+ "list-item": "navbar-mod__list-item___MjK6t",
92
+ "item-link": "navbar-mod__item-link___X2Ina",
93
+ "item-icon-text": "navbar-mod__item-icon-text___a-8JY",
94
+ "expander": "navbar-mod__expander___jyAUi",
95
+ "expand-icon": "navbar-mod__expand-icon___BtmRa",
96
+ "item--bottom": "navbar-mod__item--bottom___eW7nh",
97
+ "item_menu__active": "navbar-mod__item_menu__active___5xFRw",
98
+ "item_menu-open": "navbar-mod__item_menu-open___zk0zh",
99
+ "item_menu-collapsed": "navbar-mod__item_menu-collapsed___cluyY",
100
+ "item__active": "navbar-mod__item__active___lo1sr",
101
+ "sublist": "navbar-mod__sublist___os1s7",
102
+ "sublist-expanded__active": "navbar-mod__sublist-expanded__active___240JK",
103
+ "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___-9vYh",
104
+ "sublist-collapsed__active__above": "navbar-mod__sublist-collapsed__active__above___BXCeM",
105
+ "sublist__inactive": "navbar-mod__sublist__inactive___kJvf-",
106
+ "sublist-item": "navbar-mod__sublist-item___gafkS",
107
+ "sublist-item__active": "navbar-mod__sublist-item__active___QC6pa",
108
+ "text": "navbar-mod__text___ccHEu",
109
+ "text-link": "navbar-mod__text-link___dhtj6",
110
+ "text-link-sublist-wrapper": "navbar-mod__text-link-sublist-wrapper___1JN4x",
111
+ "text-link-sublist": "navbar-mod__text-link-sublist___AoIpU",
112
+ "navlink-clickable-content": "navbar-mod__navlink-clickable-content___bzddC",
113
+ "fixed-menu": "navbar-mod__fixed-menu___42tD9",
114
+ "support-menu": "navbar-mod__support-menu___fi5Ka",
115
+ "tooltip-container": "navbar-mod__tooltip-container___iJYyi",
116
+ "tooltip": "navbar-mod__tooltip___1ID3j",
117
+ "sublist-collapsed__empty": "navbar-mod__sublist-collapsed__empty___FBUli",
118
+ "highlighted": "navbar-mod__highlighted___oJWkA",
119
+ "hidden": "navbar-mod__hidden___TQLSs",
120
+ "divider": "navbar-mod__divider___TpVzu",
121
+ "loading-dot-container": "navbar-mod__loading-dot-container___G2LVb",
122
+ "scrollable-menu": "navbar-mod__scrollable-menu___64pxJ"
123
+ }
124
+ };
125
+ const styles$1 = compiledStyles$1.jsonMap;
126
+ const HeartIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./heart-e49dd92a.cjs.dev.js'); }));
127
+ const PaperclipIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./paperclip-005ec544.cjs.dev.js'); }));
128
+ const PluginIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./plugin-feb22442.cjs.dev.js'); }));
129
+ const RocketIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./rocket-3372731a.cjs.dev.js'); }));
130
+ const StarIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./star-6b9a91d2.cjs.dev.js'); }));
131
+ const ConnectedSquareIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./connected-square-a2fea344.cjs.dev.js'); }));
132
+ const WorldIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./world-500baeb2.cjs.dev.js'); }));
133
+ const TreeStructureIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tree-structure-96ab0b7e.cjs.dev.js'); }));
134
+ const UserFilledIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./user-filled-34aeebcc.cjs.dev.js'); }));
135
+ const SpeedometerIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./speedometer-c1ec5a1d.cjs.dev.js'); }));
136
+ const TagMultiIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./tag-multi-abef3e15.cjs.dev.js'); }));
137
+ const CartIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./cart-b0044279.cjs.dev.js'); }));
138
+ const BoxIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./box-4857aa65.cjs.dev.js'); }));
139
+ const GearIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./gear-f2668579.cjs.dev.js'); }));
140
+ const ListWithSearchIcon = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./list-with-search-027ab8eb.cjs.dev.js'); }));
141
+ // The icon is expected to be the `svg` document as a string.
142
+ // For backwards compatibility purposes, we still support the legacy "icon name",
143
+ // which we then map to one of the pre-defined icons.
144
+ // Eventually, we want to get rid of this "switch" logic.
145
+ const IconSwitcher = _ref4 => {
146
+ let icon = _ref4.icon,
147
+ iconProps = _objectWithoutProperties(_ref4, _excluded);
148
+ if (_includesInstanceProperty__default["default"](icon).call(icon, '<svg')) {
149
+ return jsxRuntime.jsx(InlineSvg__default["default"], _objectSpread$2({
150
+ data: icon
151
+ }, iconProps));
152
+ }
153
+ // Backwards compatibility for apps using the "icon name".
154
+ switch (icon) {
155
+ // Legacy application icons
156
+ // TODO: To be removed once MC applications icons updates are published
157
+ case 'TreeStructureIcon':
158
+ return jsxRuntime.jsx(TreeStructureIcon, _objectSpread$2({}, iconProps));
159
+ case 'UserFilledIcon':
160
+ return jsxRuntime.jsx(UserFilledIcon, _objectSpread$2({}, iconProps));
161
+ case 'SpeedometerIcon':
162
+ return jsxRuntime.jsx(SpeedometerIcon, _objectSpread$2({}, iconProps));
163
+ case 'TagMultiIcon':
164
+ return jsxRuntime.jsx(TagMultiIcon, _objectSpread$2({}, iconProps));
165
+ case 'CartIcon':
166
+ return jsxRuntime.jsx(CartIcon, _objectSpread$2({}, iconProps));
167
+ case 'BoxIcon':
168
+ return jsxRuntime.jsx(BoxIcon, _objectSpread$2({}, iconProps));
169
+ case 'GearIcon':
170
+ return jsxRuntime.jsx(GearIcon, _objectSpread$2({}, iconProps));
171
+ case 'ListWithSearchIcon':
172
+ return jsxRuntime.jsx(ListWithSearchIcon, _objectSpread$2({}, iconProps));
173
+
174
+ // Custom application icons set
175
+ case 'HeartIcon':
176
+ return jsxRuntime.jsx(HeartIcon, _objectSpread$2({}, iconProps));
177
+ case 'PaperclipIcon':
178
+ return jsxRuntime.jsx(PaperclipIcon, _objectSpread$2({}, iconProps));
179
+ case 'PluginIcon':
180
+ return jsxRuntime.jsx(PluginIcon, _objectSpread$2({}, iconProps));
181
+ case 'RocketIcon':
182
+ return jsxRuntime.jsx(RocketIcon, _objectSpread$2({}, iconProps));
183
+ case 'StarIcon':
184
+ return jsxRuntime.jsx(StarIcon, _objectSpread$2({}, iconProps));
185
+ case 'ConnectedSquareIcon':
186
+ return jsxRuntime.jsx(ConnectedSquareIcon, _objectSpread$2({}, iconProps));
187
+ // For backwards compatibility
188
+ case 'WorldIcon':
189
+ return jsxRuntime.jsx(WorldIcon, _objectSpread$2({}, iconProps));
190
+ default:
191
+ return jsxRuntime.jsx("img", {
192
+ src: MissingImageSvg__default["default"],
193
+ alt: "missing icon"
194
+ });
195
+ }
196
+ };
197
+ IconSwitcher.propTypes = process.env.NODE_ENV !== "production" ? {
198
+ icon: _pt__default["default"].string.isRequired
199
+ } : {};
200
+ IconSwitcher.displayName = 'IconSwitcher';
201
+ const getIcon = _ref5 => {
202
+ let isMenuOpen = _ref5.isMenuOpen;
203
+ const Icon = isMenuOpen ? icons.SidebarCollapseIcon : icons.SidebarExpandIcon;
204
+ return jsxRuntime.jsx(Icon, {
205
+ color: "surface",
206
+ size: "big"
207
+ });
208
+ };
209
+ const MenuExpander = props => {
210
+ return jsxRuntime.jsx("li", {
211
+ className: classnames__default["default"](styles$1.expander, {
212
+ [styles$1.hidden]: !props.isVisible
213
+ }),
214
+ children: jsxRuntime.jsx("div", {
215
+ onClick: props.onClick,
216
+ className: styles$1['expand-icon'],
217
+ "data-testid": "menu-expander",
218
+ children: getIcon(props)
219
+ })
220
+ }, "expander");
221
+ };
222
+ MenuExpander.propTypes = process.env.NODE_ENV !== "production" ? {
223
+ isVisible: _pt__default["default"].bool.isRequired,
224
+ onClick: _pt__default["default"].func.isRequired,
225
+ isMenuOpen: _pt__default["default"].bool.isRequired
226
+ } : {};
227
+ MenuExpander.displayName = 'MenuExpander';
228
+ const Faded = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
229
+ target: "ekdrmmp0"
230
+ } : {
231
+ target: "ekdrmmp0",
232
+ label: "Faded"
233
+ })(process.env.NODE_ENV === "production" ? {
234
+ name: "16qr508",
235
+ styles: "position:absolute;top:-32px;height:32px;width:100%;background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #00b39e 100%);z-index:1"
236
+ } : {
237
+ name: "16qr508",
238
+ styles: "position:absolute;top:-32px;height:32px;width:100%;background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #00b39e 100%);z-index:1",
239
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNKd0IiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBTaWRlYmFyRXhwYW5kSWNvbixcbiAgU2lkZWJhckNvbGxhcHNlSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG5jb25zdCBIZWFydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3BhcGVyY2xpcCcpKTtcbmNvbnN0IFBsdWdpbkljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGx1Z2luJykpO1xuY29uc3QgUm9ja2V0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9zdGFyJykpO1xuY29uc3QgQ29ubmVjdGVkU3F1YXJlSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvY29ubmVjdGVkLXNxdWFyZScpXG4pO1xuY29uc3QgV29ybGRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvdHJlZS1zdHJ1Y3R1cmUnKSk7XG5jb25zdCBVc2VyRmlsbGVkSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy91c2VyLWZpbGxlZCcpKTtcbmNvbnN0IFNwZWVkb21ldGVySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90YWctbXVsdGknKSk7XG5jb25zdCBDYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jYXJ0JykpO1xuY29uc3QgQm94SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9nZWFyJykpO1xuY29uc3QgTGlzdFdpdGhTZWFyY2hJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9saXN0LXdpdGgtc2VhcmNoJylcbik7XG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBMZWdhY3kgYXBwbGljYXRpb24gaWNvbnNcbiAgICAvLyBUT0RPOiBUbyBiZSByZW1vdmVkIG9uY2UgTUMgYXBwbGljYXRpb25zIGljb25zIHVwZGF0ZXMgYXJlIHB1Ymxpc2hlZFxuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG5cbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJY29uID0gKHsgaXNNZW51T3BlbiB9OiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBJY29uID0gaXNNZW51T3BlbiA/IFNpZGViYXJDb2xsYXBzZUljb24gOiBTaWRlYmFyRXhwYW5kSWNvbjtcbiAgcmV0dXJuIDxJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPjtcbn07XG5cbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAge2dldEljb24ocHJvcHMpfVxuICAgICAgPC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5NZW51RXhwYW5kZXIuZGlzcGxheU5hbWUgPSAnTWVudUV4cGFuZGVyJztcblxuY29uc3QgRmFkZWQgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMTUzLCAxMzUsIDApIDAlLCAjMDBiMzllIDEwMCUpO1xuICB6LWluZGV4OiAxO1xuYDtcblxudHlwZSBNZW51R3JvdXBQcm9wcyA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IDEgfCAyO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xuICBoYXNTdWJtZW51PzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyO1xuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXJcbikgPT4gY3NzYFxuICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW0gPyAnYm90dG9tJyA6ICd0b3AnfTogJHtzdWJtZW51VmVydGljYWxQb3NpdGlvbn1weFxuYDtcblxuY29uc3QgZ2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQ/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZD86IGJvb2xlYW5cbikgPT4gW1xuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgIGNzc2BcbiAgICAgICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbVxuICAgICAgICA/ICdib3R0b20nXG4gICAgICAgIDogJ3RvcCd9OiAtJHtESU1FTlNJT05TLm5hdk1lbnVJdGVtSGVpZ2h0fTtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIGJvdHRvbTogMDtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgIWlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICB0b3A6IDA7XG4gICAgYCxcbl07XG5cbmNvbnN0IE1lbnVHcm91cCA9IGZvcndhcmRSZWY8SFRNTFVMaXN0RWxlbWVudCwgTWVudUdyb3VwUHJvcHM+KChwcm9wcywgcmVmKSA9PiB7XG4gIGlmIChcbiAgICBwcm9wcy5pc0V4cGFuZGVkICYmXG4gICAgKChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaGFzU3VibWVudSkgfHxcbiAgICAgIChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaXNBY3RpdmUpKVxuICApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiBwcm9wcy5pc0V4cGFuZGVkO1xuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgIXByb3BzLmlzRXhwYW5kZWQ7XG4gIHJldHVybiAoXG4gICAgPHVsXG4gICAgICByZWY9e3JlZiAmJiBwcm9wcy5sZXZlbCA9PT0gMiA/IHJlZiA6IG51bGx9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgJHtnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uXG4gICAgICAgICl9O1xuICAgICAgXG4gICAgICAvLyBwcmV2ZW50IGdsaXRjaHkgYmVoYXZpb3IgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlciB3aGVuIHRoZSBzdWJtZW51J3MgdmVydGljYWwgcG9zaXRpb24gaXMgZXZhbHVhdGVkIGFzIDBcbiAgICAgICR7XG4gICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uID09PSAwICYmXG4gICAgICAgIGNzc2BcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGBcbiAgICAgIH1cblxuICAgICAgICAvLyBhZGRpdGlvbmFsIHN0eWxpbmcgb2YgdGhlIHBzZXVkby1lbGVtZW50IGVuYWJsaW5nIHNtb290aCBjb3Vyc29yIG1vdmVtZW50XG4gICAgICAgIDo6YmVmb3JlIHtcbiAgICAgICAgICAke2dldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICAgICAgKX1cbiAgICAgIGB9XG4gICAgICBpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIGRhdGEtdGVzdGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgYXJpYS1leHBhbmRlZD17XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgfHxcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgIH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcbiAgICAgICAgeyBbc3R5bGVzLmxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMSB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdCddXTogcHJvcHMubGV2ZWwgPT09IDIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWV4cGFuZGVkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2VtcHR5J11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgIXByb3BzLmhhc1N1Ym1lbnUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZV9fYWJvdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy5zdWJsaXN0X19pbmFjdGl2ZV06ICFpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfVxuICAgICAgKX1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC91bD5cbiAgKTtcbn0pO1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZT86IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGlkZW50aWZpZXI/OiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwge1xuICAgICAgICBbc3R5bGVzLml0ZW1fX2FjdGl2ZV06IHByb3BzLmlzQWN0aXZlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnVfX2FjdGl2ZSddXTogcHJvcHMuaXNNYWluTWVudVJvdXRlQWN0aXZlID8/IGZhbHNlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgIH0pfVxuICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMub25Nb3VzZUVudGVyfVxuICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmV9XG4gICAgICBkYXRhLW1lbnVpdGVtPXtwcm9wcy5pZGVudGlmaWVyfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0tbGluayddfT57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5cbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxuZXhwb3J0IHR5cGUgTWVudUl0ZW1MaW5rUHJvcHMgPSB7XG4gIGxpbmtUbz86IHN0cmluZztcbiAgZXhhY3RNYXRjaDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgb25DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xuICBpc1N1Ym1lbnVMaW5rPzogYm9vbGVhbjtcbn07XG5jb25zdCBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM6IFBpY2s8TWVudUl0ZW1MaW5rUHJvcHMsICdleGFjdE1hdGNoJz4gPSB7XG4gIGV4YWN0TWF0Y2g6IGZhbHNlLFxufTtcbmNvbnN0IE5hdkxpbmtXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdC13cmFwcGVyJ119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuY29uc3QgTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyduYXZsaW5rLWNsaWNrYWJsZS1jb250ZW50J119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCBNZW51SXRlbUxpbmsgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcbiAgaWYgKHByb3BzLmxpbmtUbykge1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVMaW5rXG4gICAgICAgICAgICAgID8gc3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdCddXG4gICAgICAgICAgICAgIDogc3R5bGVzWyd0ZXh0LWxpbmsnXVxuICAgICAgICAgIH1cbiAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5saW5rVG8gJiYgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIHJlZGlyZWN0VG8ocHJvcHMubGlua1RvKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgICBldmVudC5wZXJzaXN0KCk7XG4gICAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8TmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgPC9OYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDwvTmF2TGluaz5cbiAgICAgIDwvTmF2TGlua1dyYXBwZXI+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbk1lbnVJdGVtTGluay5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbUxpbmsnO1xuTWVudUl0ZW1MaW5rLmRlZmF1bHRQcm9wcyA9IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wcztcblxuY29uc3QgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4gPSAoXG4gIG1lbnVWaXNpYmlsaXRpZXM/OiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsLFxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdXG4pID0+XG4gIEFycmF5LmlzQXJyYXkobmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMpICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmxlbmd0aCA+IDAgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMuZXZlcnkoXG4gICAgKG5hbWVPZk1lbnVWaXNpYmlsaXR5KSA9PlxuICAgICAgbWVudVZpc2liaWxpdGllcyAmJiBtZW51VmlzaWJpbGl0aWVzW25hbWVPZk1lbnVWaXNpYmlsaXR5XSA9PT0gdHJ1ZVxuICApO1xuXG50eXBlIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzID0ge1xuICBmZWF0dXJlVG9nZ2xlPzogc3RyaW5nO1xuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdO1xuICBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnM7XG4gIG1lbnVWaXNpYmlsaXRpZXM6IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGw7XG4gIGtleU9mTWVudUl0ZW06IHN0cmluZztcbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICBhY3Rpb25SaWdodHM/OiBUQWN0aW9uUmlnaHRbXTtcbiAgZGF0YUZlbmNlcz86IFREYXRhRmVuY2VbXTtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIFRMb25nTGl2ZWRGbGFnID0ge1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgcmVhc29uPzogc3RyaW5nO1xufTtcbmNvbnN0IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wczogUGljazxcbiAgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMsXG4gICdwZXJtaXNzaW9ucydcbj4gPSB7XG4gIHBlcm1pc3Npb25zOiBbXSxcbn07XG5mdW5jdGlvbiBpc0xvbmdMaXZlZEZsYWcoXG4gIGZsYWc6IFRGbGFnVmFyaWF0aW9uIHwgVExvbmdMaXZlZEZsYWdcbik6IGZsYWcgaXMgVExvbmdMaXZlZEZsYWcge1xuICByZXR1cm4gdHlwZW9mIChmbGFnIGFzIFRMb25nTGl2ZWRGbGFnKT8udmFsdWUgPT09ICdib29sZWFuJztcbn1cbmNvbnN0IFJlc3RyaWN0ZWRNZW51SXRlbSA9IChwcm9wczogUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgLy8gTk9URTogQ3VzdG9tIGFwcGxpY2F0aW9uIGFyZSBhY3RpdmF0ZWQvZGVhY3RpdmF0ZWQgd2hpbGUgdGhlaXJcbiAgLy8gdmlzaWJpbGl0eSBpcyBub3QgY29udHJvbGxlZCB2aWEgYSB2aXNpYmlpbGl0eSBvdmVyd3JpdGUuXG4gIGNvbnN0IGZsYWdWYXJpYXRpb24gPSB1c2VGbGFnVmFyaWF0aW9uKHByb3BzLmZlYXR1cmVUb2dnbGUpO1xuICBpZiAoXG4gICAgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4oXG4gICAgICBwcm9wcy5tZW51VmlzaWJpbGl0aWVzLFxuICAgICAgcHJvcHMubmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNcbiAgICApXG4gIClcbiAgICByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwZXJtaXNzaW9uc1dyYXBwZXIgPVxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLnBlcm1pc3Npb25zKSAmJiBwcm9wcy5wZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB8fFxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLmRhdGFGZW5jZXMpICYmIHByb3BzLmRhdGFGZW5jZXMubGVuZ3RoID4gMCkgPyAoXG4gICAgICA8UmVzdHJpY3RlZEJ5UGVybWlzc2lvbnNcbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLnBlcm1pc3Npb25zfVxuICAgICAgICBhY3Rpb25SaWdodHM9e3Byb3BzLmFjdGlvblJpZ2h0c31cbiAgICAgICAgZGF0YUZlbmNlcz17cHJvcHMuZGF0YUZlbmNlc31cbiAgICAgICAgc2VsZWN0RGF0YUZlbmNlRGF0YT17KGRlbWFuZGVkRGF0YUZlbmNlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChkZW1hbmRlZERhdGFGZW5jZS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzdG9yZSc6XG4gICAgICAgICAgICAgIHJldHVybiBkZW1hbmRlZERhdGFGZW5jZS5hY3R1YWxEYXRhRmVuY2VWYWx1ZXM7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIC8vIEFsd2F5cyBjaGVjayB0aGF0IHNvbWUgb2YgdGhlIGdpdmVuIHBlcm1pc3Npb25zIG1hdGNoLlxuICAgICAgICBzaG91bGRNYXRjaFNvbWVQZXJtaXNzaW9ucz17dHJ1ZX1cbiAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvUmVzdHJpY3RlZEJ5UGVybWlzc2lvbnM+XG4gICAgKSA6IChcbiAgICAgIDw+e3Byb3BzLmNoaWxkcmVufTwvPlxuICAgICk7XG5cbiAgaWYgKHByb3BzLmZlYXR1cmVUb2dnbGUpIHtcbiAgICAvLyBBIHJlZ3VsYXIgc2hvcnQtbGl2ZWQgZmVhdHVyZSB0b2dnbGVcbiAgICBpZiAoZmxhZ1ZhcmlhdGlvbiA9PT0gdHJ1ZSkgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbiAgICAvLyBBIGxvbmctbGl2ZWQgZmVhdHVyZSB0b2dnbGUgd2l0aCBgeyB2YWx1ZTogYm9vbGVhbiwgc3RyaW5nOiByZWFzb24gfWBcbiAgICBpZiAoaXNMb25nTGl2ZWRGbGFnKGZsYWdWYXJpYXRpb24pICYmIGZsYWdWYXJpYXRpb24udmFsdWUgPT09IHRydWUpXG4gICAgICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xufTtcblJlc3RyaWN0ZWRNZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkTWVudUl0ZW0nO1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRlZmF1bHRQcm9wcyA9IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wcztcblxudHlwZSBNZW51TGFiZWxQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVMYWJlbCA9IChwcm9wczogTWVudUxhYmVsUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBwcm9wcy5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIHByb3BzLmFwcGxpY2F0aW9uTG9jYWxlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gPD57bG9jYWxpemVkTGFiZWwudmFsdWV9PC8+O1xuICBpZiAocHJvcHMuZGVmYXVsdExhYmVsKSByZXR1cm4gPD57cHJvcHMuZGVmYXVsdExhYmVsfTwvPjtcbiAgcmV0dXJuIDw+e05PX1ZBTFVFX0ZBTExCQUNLfTwvPjtcbn07XG5cbnR5cGUgVE5hdkJhckxheW91dFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE5hdkJhckxheW91dCA9IGZvcndhcmRSZWY8SFRNTEVsZW1lbnQsIFROYXZCYXJMYXlvdXRQcm9wcz4oXG4gIChwcm9wcywgcmVmKSA9PiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxcbiAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgJHtjb21waWxlZFN0eWxlcy5nbG9iYWx9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPG5hdlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xlZnQtbmF2aWdhdGlvbiddfVxuICAgICAgICBkYXRhLXRlc3Q9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvbmF2PlxuICAgIDwvPlxuICApXG4pO1xuTmF2QmFyTGF5b3V0LmRpc3BsYXlOYW1lID0gJ05hdkJhckxheW91dCc7XG5cbnR5cGUgSXRlbUNvbnRhaW5lclByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgaXNNZW51T3Blbj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBJdGVtQ29udGFpbmVyID0gKHByb3BzOiBJdGVtQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb259PlxuICAgICAgICAgIDxJY29uU3dpdGNoZXIgaWNvbj17cHJvcHMuaWNvbn0gc2l6ZT1cInNjYWxlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtwcm9wcy5pc01lbnVPcGVuID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfT5cbiAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3Byb3BzLmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5JdGVtQ29udGFpbmVyLmRpc3BsYXlOYW1lID0gJ0l0ZW1Db250YWluZXInO1xuXG5leHBvcnQge1xuICBSZXN0cmljdGVkTWVudUl0ZW0sXG4gIE1lbnVJdGVtLFxuICBNZW51SXRlbUxpbmssXG4gIEljb25Td2l0Y2hlcixcbiAgTWVudUdyb3VwLFxuICBNZW51TGFiZWwsXG4gIE1lbnVFeHBhbmRlcixcbiAgRmFkZWQsXG4gIE5hdkJhckxheW91dCxcbiAgSXRlbUNvbnRhaW5lcixcbn07XG4iXX0= */",
240
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
241
+ });
242
+ const getSubmenuPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, submenuVerticalPosition) => /*#__PURE__*/react$1.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":", submenuVerticalPosition, "px;" + (process.env.NODE_ENV === "production" ? "" : ";label:getSubmenuPositionBasedOnMenuItemPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZLUSIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */");
243
+ var _ref2 = process.env.NODE_ENV === "production" ? {
244
+ name: "abcix4",
245
+ styles: "top:0"
246
+ } : {
247
+ name: "4uw94j-getContainerPositionBasedOnMenuItemPosition",
248
+ styles: "top:0;label:getContainerPositionBasedOnMenuItemPosition;",
249
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1NTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */",
250
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
251
+ };
252
+ var _ref3 = process.env.NODE_ENV === "production" ? {
253
+ name: "8tapst",
254
+ styles: "bottom:0"
255
+ } : {
256
+ name: "11ucmnx-getContainerPositionBasedOnMenuItemPosition",
257
+ styles: "bottom:0;label:getContainerPositionBasedOnMenuItemPosition;",
258
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThMTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */",
259
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
260
+ };
261
+ const getContainerPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed) => [isSublistActiveWhileIsMenuCollapsed && /*#__PURE__*/react$1.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", oidc.DIMENSIONS.navMenuItemHeight, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:getContainerPositionBasedOnMenuItemPosition;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVMTyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */"), isSublistActiveWhileIsMenuExpanded && isSubmenuAboveMenuItem && _ref3, isSublistActiveWhileIsMenuExpanded && !isSubmenuAboveMenuItem && _ref2];
262
+ var _ref = process.env.NODE_ENV === "production" ? {
263
+ name: "6dhm9o",
264
+ styles: "visibility:hidden"
265
+ } : {
266
+ name: "1nk9wny-MenuGroup",
267
+ styles: "visibility:hidden;label:MenuGroup;",
268
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdPVyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */",
269
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
270
+ };
271
+ const MenuGroup = /*#__PURE__*/react.forwardRef((props, ref) => {
272
+ if (props.isExpanded && (props.level === 2 && !props.hasSubmenu || props.level === 2 && !props.isActive)) {
273
+ return null;
274
+ }
275
+ const isSublistActiveWhileIsMenuExpanded = props.level === 2 && props.isActive && props.isExpanded;
276
+ const isSublistActiveWhileIsMenuCollapsed = props.level === 2 && props.isActive && !props.isExpanded;
277
+ return jsxRuntime.jsx("ul", {
278
+ ref: ref && props.level === 2 ? ref : null,
279
+ css: /*#__PURE__*/react$1.css(getSubmenuPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, props.submenuVerticalPosition), ";", props.submenuVerticalPosition === 0 && _ref, "::before{", getContainerPositionBasedOnMenuItemPosition(props.isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed), ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:MenuGroup;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVOYyIsImZpbGUiOiJtZW51LWl0ZW1zLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZvcndhcmRSZWYsXG4gIGxhenksXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICB0eXBlIFJlYWN0Tm9kZSxcbiAgdHlwZSBTeW50aGV0aWNFdmVudCxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2xvYmFsLCBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgdHlwZSB7IFRGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgTmF2TGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IE1pc3NpbmdJbWFnZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hc3NldHMvaW1hZ2VzL2RpYWdvbmFsLWxpbmUuc3ZnJztcbmltcG9ydCB7IE5PX1ZBTFVFX0ZBTExCQUNLIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHtcbiAgQmFja0ljb24sXG4gIFNpZGViYXJFeHBhbmRJY29uLFxuICBTaWRlYmFyQ29sbGFwc2VJY29uLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucyc7XG5pbXBvcnQgSW5saW5lU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zL2lubGluZS1zdmcnO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIFREYXRhRmVuY2UsXG4gIFRBY3Rpb25SaWdodCxcbiAgVExvY2FsaXplZEZpZWxkLFxufSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvcHJveHknO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbmNvbnN0IEhlYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9oZWFydCcpKTtcbmNvbnN0IFBhcGVyY2xpcEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGFwZXJjbGlwJykpO1xuY29uc3QgUGx1Z2luSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9wbHVnaW4nKSk7XG5jb25zdCBSb2NrZXRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3JvY2tldCcpKTtcbmNvbnN0IFN0YXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3N0YXInKSk7XG5jb25zdCBDb25uZWN0ZWRTcXVhcmVJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jb25uZWN0ZWQtc3F1YXJlJylcbik7XG5jb25zdCBXb3JsZEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvd29ybGQnKSk7XG5jb25zdCBUcmVlU3RydWN0dXJlSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90cmVlLXN0cnVjdHVyZScpKTtcbmNvbnN0IFVzZXJGaWxsZWRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3VzZXItZmlsbGVkJykpO1xuY29uc3QgU3BlZWRvbWV0ZXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3NwZWVkb21ldGVyJykpO1xuY29uc3QgVGFnTXVsdGlJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3RhZy1tdWx0aScpKTtcbmNvbnN0IENhcnRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2NhcnQnKSk7XG5jb25zdCBCb3hJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2JveCcpKTtcbmNvbnN0IEdlYXJJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2dlYXInKSk7XG5jb25zdCBMaXN0V2l0aFNlYXJjaEljb24gPSBsYXp5KFxuICAoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL2xpc3Qtd2l0aC1zZWFyY2gnKVxuKTtcblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIExlZ2FjeSBhcHBsaWNhdGlvbiBpY29uc1xuICAgIC8vIFRPRE86IFRvIGJlIHJlbW92ZWQgb25jZSBNQyBhcHBsaWNhdGlvbnMgaWNvbnMgdXBkYXRlcyBhcmUgcHVibGlzaGVkXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcblxuICAgIC8vIEN1c3RvbSBhcHBsaWNhdGlvbiBpY29ucyBzZXRcbiAgICBjYXNlICdIZWFydEljb24nOlxuICAgICAgcmV0dXJuIDxIZWFydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGFwZXJjbGlwSWNvbic6XG4gICAgICByZXR1cm4gPFBhcGVyY2xpcEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUGx1Z2luSWNvbic6XG4gICAgICByZXR1cm4gPFBsdWdpbkljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnUm9ja2V0SWNvbic6XG4gICAgICByZXR1cm4gPFJvY2tldEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnU3Rhckljb24nOlxuICAgICAgcmV0dXJuIDxTdGFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdDb25uZWN0ZWRTcXVhcmVJY29uJzpcbiAgICAgIHJldHVybiA8Q29ubmVjdGVkU3F1YXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjYXNlICdXb3JsZEljb24nOlxuICAgICAgcmV0dXJuIDxXb3JsZEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8aW1nIHNyYz17TWlzc2luZ0ltYWdlU3ZnfSBhbHQ9XCJtaXNzaW5nIGljb25cIiAvPjtcbiAgfVxufTtcbkljb25Td2l0Y2hlci5kaXNwbGF5TmFtZSA9ICdJY29uU3dpdGNoZXInO1xuXG50eXBlIE1lbnVFeHBhbmRlclByb3BzID0ge1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldEljb24gPSAoeyBpc01lbnVPcGVuIH06IE1lbnVFeHBhbmRlclByb3BzKSA9PiB7XG4gIGNvbnN0IEljb24gPSBpc01lbnVPcGVuID8gU2lkZWJhckNvbGxhcHNlSWNvbiA6IFNpZGViYXJFeHBhbmRJY29uO1xuICByZXR1cm4gPEljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+O1xufTtcblxuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydleHBhbmQtaWNvbiddfVxuICAgICAgICBkYXRhLXRlc3RpZD1cIm1lbnUtZXhwYW5kZXJcIlxuICAgICAgPlxuICAgICAgICB7Z2V0SWNvbihwcm9wcyl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG5jb25zdCBGYWRlZCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAxNTMsIDEzNSwgMCkgMCUsICMwMGIzOWUgMTAwJSk7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGhhc1N1Ym1lbnU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXI7XG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuO1xufTtcblxuY29uc3QgZ2V0U3VibWVudVBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24gPSAoXG4gIGlzU3VibWVudUFib3ZlTWVudUl0ZW0/OiBib29sZWFuLFxuICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj86IG51bWJlclxuKSA9PiBjc3NgXG4gICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbSA/ICdib3R0b20nIDogJ3RvcCd9OiAke3N1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9ufXB4XG5gO1xuXG5jb25zdCBnZXRDb250YWluZXJQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZD86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkPzogYm9vbGVhblxuKSA9PiBbXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgID8gJ2JvdHRvbSdcbiAgICAgICAgOiAndG9wJ306IC0ke0RJTUVOU0lPTlMubmF2TWVudUl0ZW1IZWlnaHR9O1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtICYmXG4gICAgY3NzYFxuICAgICAgYm90dG9tOiAwO1xuICAgIGAsXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgJiZcbiAgICAhaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIHRvcDogMDtcbiAgICBgLFxuXTtcblxuY29uc3QgTWVudUdyb3VwID0gZm9yd2FyZFJlZjxIVE1MVUxpc3RFbGVtZW50LCBNZW51R3JvdXBQcm9wcz4oKHByb3BzLCByZWYpID0+IHtcbiAgaWYgKFxuICAgIHByb3BzLmlzRXhwYW5kZWQgJiZcbiAgICAoKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5oYXNTdWJtZW51KSB8fFxuICAgICAgKHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5pc0FjdGl2ZSkpXG4gICkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIHJlZj17cmVmICYmIHByb3BzLmxldmVsID09PSAyID8gcmVmIDogbnVsbH1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke2dldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uKFxuICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb25cbiAgICAgICAgKX07XG4gICAgICBcbiAgICAgIC8vIHByZXZlbnQgZ2xpdGNoeSBiZWhhdmlvciBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIHdoZW4gdGhlIHN1Ym1lbnUncyB2ZXJ0aWNhbCBwb3NpdGlvbiBpcyBldmFsdWF0ZWQgYXMgMFxuICAgICAgJHtcbiAgICAgICAgcHJvcHMuc3VibWVudVZlcnRpY2FsUG9zaXRpb24gPT09IDAgJiZcbiAgICAgICAgY3NzYFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYFxuICAgICAgfVxuXG4gICAgICAgIC8vIGFkZGl0aW9uYWwgc3R5bGluZyBvZiB0aGUgcHNldWRvLWVsZW1lbnQgZW5hYmxpbmcgc21vb3RoIGNvdXJzb3IgbW92ZW1lbnRcbiAgICAgICAgOjpiZWZvcmUge1xuICAgICAgICAgICR7Z2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgICAgICApfVxuICAgICAgYH1cbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0J11dOiBwcm9wcy5sZXZlbCA9PT0gMixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fZW1wdHknXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgICAgICAgICAgIXByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlX19hYm92ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkICYmIHByb3BzLmlzU3VibWVudUFib3ZlTWVudUl0ZW0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufSk7XG5NZW51R3JvdXAuZGlzcGxheU5hbWUgPSAnTWVudUdyb3VwJztcblxudHlwZSBNZW51SXRlbVByb3BzID0ge1xuICBoYXNTdWJtZW51OiBib29sZWFuO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNYWluTWVudVJvdXRlQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlRW50ZXI/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VMZWF2ZT86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgaWRlbnRpZmllcj86IHN0cmluZztcbn07XG5jb25zdCBNZW51SXRlbSA9IChwcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudV9fYWN0aXZlJ11dOiBwcm9wcy5pc01haW5NZW51Um91dGVBY3RpdmUgPz8gZmFsc2UsXG4gICAgICAgIFtzdHlsZXNbJ2l0ZW1fbWVudS1jb2xsYXBzZWQnXV06ICFwcm9wcy5pc01lbnVPcGVuLFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLm9uTW91c2VMZWF2ZX1cbiAgICAgIGRhdGEtbWVudWl0ZW09e3Byb3BzLmlkZW50aWZpZXJ9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcblxuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSAnTWVudUl0ZW0nO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz86IGJvb2xlYW47XG4gIGlzU3VibWVudUxpbms/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTmF2TGlua1dyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0LXdyYXBwZXInXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5jb25zdCBOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc1N1Ym1lbnVMaW5rKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ25hdmxpbmstY2xpY2thYmxlLWNvbnRlbnQnXX0+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIDw+e3Byb3BzLmNoaWxkcmVufTwvPjtcbn07XG5cbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgcmVkaXJlY3RUbyA9ICh0YXJnZXRVcmw6IHN0cmluZykgPT4gbG9jYXRpb24ucmVwbGFjZSh0YXJnZXRVcmwpO1xuICBpZiAocHJvcHMubGlua1RvKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxOYXZMaW5rV3JhcHBlciB7Li4ucHJvcHN9PlxuICAgICAgICA8TmF2TGlua1xuICAgICAgICAgIHRvPXtwcm9wcy5saW5rVG99XG4gICAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAgIHByb3BzLmlzU3VibWVudUxpbmtcbiAgICAgICAgICAgICAgPyBzdHlsZXNbJ3RleHQtbGluay1zdWJsaXN0J11cbiAgICAgICAgICAgICAgOiBzdHlsZXNbJ3RleHQtbGluayddXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgcHJvcHMub25DbGljayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICA8L05hdkxpbmtDbGlja2FibGVDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPC9OYXZMaW5rPlxuICAgICAgPC9OYXZMaW5rV3JhcHBlcj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG50eXBlIE1lbnVMYWJlbFByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUxhYmVsID0gKHByb3BzOiBNZW51TGFiZWxQcm9wcykgPT4ge1xuICBjb25zdCBsb2NhbGl6ZWRMYWJlbCA9IHByb3BzLmxhYmVsQWxsTG9jYWxlcy5maW5kKChsb2MpID0+XG4gICAgcHJvcHMuYXBwbGljYXRpb25Mb2NhbGUuc3RhcnRzV2l0aChsb2MubG9jYWxlKVxuICApO1xuICBpZiAobG9jYWxpemVkTGFiZWwpIHJldHVybiA8Pntsb2NhbGl6ZWRMYWJlbC52YWx1ZX08Lz47XG4gIGlmIChwcm9wcy5kZWZhdWx0TGFiZWwpIHJldHVybiA8Pntwcm9wcy5kZWZhdWx0TGFiZWx9PC8+O1xuICByZXR1cm4gPD57Tk9fVkFMVUVfRkFMTEJBQ0t9PC8+O1xufTtcblxudHlwZSBUTmF2QmFyTGF5b3V0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTmF2QmFyTGF5b3V0ID0gZm9yd2FyZFJlZjxIVE1MRWxlbWVudCwgVE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBJdGVtQ29udGFpbmVyUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBpc01lbnVPcGVuPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEl0ZW1Db250YWluZXIgPSAocHJvcHM6IEl0ZW1Db250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaWNvbi1jb250YWluZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgPEljb25Td2l0Y2hlciBpY29uPXtwcm9wcy5pY29ufSBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3Byb3BzLmlzTWVudU9wZW4gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgZGVmYXVsdExhYmVsPXtwcm9wcy5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkl0ZW1Db250YWluZXIuZGlzcGxheU5hbWUgPSAnSXRlbUNvbnRhaW5lcic7XG5cbmV4cG9ydCB7XG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgSWNvblN3aXRjaGVyLFxuICBNZW51R3JvdXAsXG4gIE1lbnVMYWJlbCxcbiAgTWVudUV4cGFuZGVyLFxuICBGYWRlZCxcbiAgTmF2QmFyTGF5b3V0LFxuICBJdGVtQ29udGFpbmVyLFxufTtcbiJdfQ== */"),
280
+ id: "group-".concat(props.id),
281
+ "data-testid": "group-".concat(props.id),
282
+ role: "menu",
283
+ "aria-expanded": isSublistActiveWhileIsMenuExpanded || isSublistActiveWhileIsMenuCollapsed,
284
+ className: classnames__default["default"]({
285
+ [styles$1.list]: props.level === 1
286
+ }, {
287
+ [styles$1['sublist']]: props.level === 2
288
+ }, {
289
+ [styles$1['sublist-expanded__active']]: isSublistActiveWhileIsMenuExpanded
290
+ }, {
291
+ [styles$1['sublist-collapsed__empty']]: isSublistActiveWhileIsMenuCollapsed && !props.hasSubmenu
292
+ }, {
293
+ [styles$1['sublist-collapsed__active']]: isSublistActiveWhileIsMenuCollapsed && !props.isSubmenuAboveMenuItem
294
+ }, {
295
+ [styles$1['sublist-collapsed__active__above']]: isSublistActiveWhileIsMenuCollapsed && props.isSubmenuAboveMenuItem
296
+ }, {
297
+ [styles$1.sublist__inactive]: !isSublistActiveWhileIsMenuCollapsed
298
+ }),
299
+ children: props.children
300
+ });
301
+ });
302
+ MenuGroup.displayName = 'MenuGroup';
303
+ const MenuItem$1 = props => {
304
+ var _props$isMainMenuRout;
305
+ return jsxRuntime.jsx("li", {
306
+ role: "menuitem",
307
+ className: classnames__default["default"](styles$1['list-item'], {
308
+ [styles$1.item__active]: props.isActive,
309
+ [styles$1['item_menu__active']]: (_props$isMainMenuRout = props.isMainMenuRouteActive) !== null && _props$isMainMenuRout !== void 0 ? _props$isMainMenuRout : false,
310
+ [styles$1['item_menu-collapsed']]: !props.isMenuOpen
311
+ }),
312
+ onClick: props.onClick,
313
+ onMouseEnter: props.onMouseEnter,
314
+ onMouseLeave: props.onMouseLeave,
315
+ "data-menuitem": props.identifier,
316
+ children: jsxRuntime.jsx("div", {
317
+ className: styles$1['item-link'],
318
+ children: props.children
319
+ })
320
+ });
321
+ };
322
+ MenuItem$1.propTypes = process.env.NODE_ENV !== "production" ? {
323
+ hasSubmenu: _pt__default["default"].bool.isRequired,
324
+ isActive: _pt__default["default"].bool.isRequired,
325
+ isMainMenuRouteActive: _pt__default["default"].bool,
326
+ isMenuOpen: _pt__default["default"].bool.isRequired,
327
+ onClick: _pt__default["default"].func.isRequired,
328
+ onMouseEnter: _pt__default["default"].func,
329
+ onMouseLeave: _pt__default["default"].func,
330
+ children: _pt__default["default"].node.isRequired,
331
+ identifier: _pt__default["default"].string
332
+ } : {};
333
+ MenuItem$1.displayName = 'MenuItem';
334
+ const menuItemLinkDefaultProps = {
335
+ exactMatch: false
336
+ };
337
+ const NavLinkWrapper = props => {
338
+ if (props.isSubmenuLink) {
339
+ return jsxRuntime.jsx("div", {
340
+ className: styles$1['text-link-sublist-wrapper'],
341
+ children: props.children
342
+ });
343
+ }
344
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
345
+ children: props.children
346
+ });
347
+ };
348
+ NavLinkWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
349
+ linkTo: _pt__default["default"].string,
350
+ exactMatch: _pt__default["default"].bool.isRequired,
351
+ children: _pt__default["default"].node.isRequired,
352
+ onClick: _pt__default["default"].func,
353
+ useFullRedirectsForLinks: _pt__default["default"].bool,
354
+ isSubmenuLink: _pt__default["default"].bool
355
+ } : {};
356
+ const NavLinkClickableContentWrapper = props => {
357
+ if (props.isSubmenuLink) {
358
+ return jsxRuntime.jsx("div", {
359
+ className: styles$1['navlink-clickable-content'],
360
+ children: props.children
361
+ });
362
+ }
363
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
364
+ children: props.children
365
+ });
366
+ };
367
+ NavLinkClickableContentWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
368
+ linkTo: _pt__default["default"].string,
369
+ exactMatch: _pt__default["default"].bool.isRequired,
370
+ children: _pt__default["default"].node.isRequired,
371
+ onClick: _pt__default["default"].func,
372
+ useFullRedirectsForLinks: _pt__default["default"].bool,
373
+ isSubmenuLink: _pt__default["default"].bool
374
+ } : {};
375
+ const MenuItemLink = props => {
376
+ const redirectTo = targetUrl => useIsServedByProxy.location.replace(targetUrl);
377
+ if (props.linkTo) {
378
+ return jsxRuntime.jsx(NavLinkWrapper, _objectSpread$2(_objectSpread$2({}, props), {}, {
379
+ children: jsxRuntime.jsx(reactRouterDom.NavLink, {
380
+ to: props.linkTo,
381
+ exact: props.exactMatch,
382
+ activeClassName: styles$1.highlighted,
383
+ className: props.isSubmenuLink ? styles$1['text-link-sublist'] : styles$1['text-link'],
384
+ onClick: event => {
385
+ if (props.linkTo && props.useFullRedirectsForLinks) {
386
+ event.preventDefault();
387
+ redirectTo(props.linkTo);
388
+ } else if (props.onClick) {
389
+ event.persist();
390
+ props.onClick(event);
391
+ }
392
+ },
393
+ children: jsxRuntime.jsx(NavLinkClickableContentWrapper, _objectSpread$2(_objectSpread$2({}, props), {}, {
394
+ children: props.children
395
+ }))
396
+ })
397
+ }));
398
+ }
399
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
400
+ children: props.children
401
+ });
402
+ };
403
+ MenuItemLink.propTypes = process.env.NODE_ENV !== "production" ? {
404
+ linkTo: _pt__default["default"].string,
405
+ exactMatch: _pt__default["default"].bool.isRequired,
406
+ children: _pt__default["default"].node.isRequired,
407
+ onClick: _pt__default["default"].func,
408
+ useFullRedirectsForLinks: _pt__default["default"].bool,
409
+ isSubmenuLink: _pt__default["default"].bool
410
+ } : {};
411
+ MenuItemLink.displayName = 'MenuItemLink';
412
+ MenuItemLink.defaultProps = menuItemLinkDefaultProps;
413
+ const isEveryMenuVisibilitySetToHidden = (menuVisibilities, namesOfMenuVisibilities) => _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, nameOfMenuVisibility => menuVisibilities && menuVisibilities[nameOfMenuVisibility] === true);
414
+ const restrictedMenuItemDefaultProps = {
415
+ permissions: []
416
+ };
417
+ function isLongLivedFlag(flag) {
418
+ return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
419
+ }
420
+ const RestrictedMenuItem = props => {
421
+ // NOTE: Custom application are activated/deactivated while their
422
+ // visibility is not controlled via a visibiility overwrite.
423
+ const flagVariation = reactBroadcast.useFlagVariation(props.featureToggle);
424
+ if (isEveryMenuVisibilitySetToHidden(props.menuVisibilities, props.namesOfMenuVisibilities)) return null;
425
+ const permissionsWrapper = _Array$isArray__default["default"](props.permissions) && props.permissions.length > 0 || _Array$isArray__default["default"](props.dataFences) && props.dataFences.length > 0 ? jsxRuntime.jsx(permissions.RestrictedByPermissions, {
426
+ permissions: props.permissions,
427
+ actionRights: props.actionRights,
428
+ dataFences: props.dataFences,
429
+ selectDataFenceData: demandedDataFence => {
430
+ switch (demandedDataFence.type) {
431
+ case 'store':
432
+ return demandedDataFence.actualDataFenceValues;
433
+ default:
434
+ return null;
435
+ }
436
+ }
437
+ // Always check that some of the given permissions match.
438
+ ,
439
+ shouldMatchSomePermissions: true,
440
+ projectPermissions: props.projectPermissions,
441
+ children: props.children
442
+ }) : jsxRuntime.jsx(jsxRuntime.Fragment, {
443
+ children: props.children
444
+ });
445
+ if (props.featureToggle) {
446
+ // A regular short-lived feature toggle
447
+ if (flagVariation === true) return permissionsWrapper;
448
+ // A long-lived feature toggle with `{ value: boolean, string: reason }`
449
+ if (isLongLivedFlag(flagVariation) && flagVariation.value === true) return permissionsWrapper;
450
+ return null;
451
+ }
452
+ return permissionsWrapper;
453
+ };
454
+ RestrictedMenuItem.propTypes = process.env.NODE_ENV !== "production" ? {
455
+ featureToggle: _pt__default["default"].string,
456
+ namesOfMenuVisibilities: _pt__default["default"].arrayOf(_pt__default["default"].string),
457
+ projectPermissions: _pt__default["default"].shape({
458
+ permissions: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
459
+ actionRights: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
460
+ dataFences: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])])
461
+ }).isRequired,
462
+ menuVisibilities: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
463
+ keyOfMenuItem: _pt__default["default"].string.isRequired,
464
+ permissions: _pt__default["default"].arrayOf(_pt__default["default"].string).isRequired,
465
+ actionRights: _pt__default["default"].arrayOf(_pt__default["default"].any),
466
+ dataFences: _pt__default["default"].arrayOf(_pt__default["default"].any),
467
+ children: _pt__default["default"].node.isRequired
468
+ } : {};
469
+ RestrictedMenuItem.displayName = 'RestrictedMenuItem';
470
+ RestrictedMenuItem.defaultProps = restrictedMenuItemDefaultProps;
471
+ const MenuLabel = props => {
472
+ var _context;
473
+ const localizedLabel = _findInstanceProperty__default["default"](_context = props.labelAllLocales).call(_context, loc => {
474
+ var _context2;
475
+ return _startsWithInstanceProperty__default["default"](_context2 = props.applicationLocale).call(_context2, loc.locale);
476
+ });
477
+ if (localizedLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
478
+ children: localizedLabel.value
479
+ });
480
+ if (props.defaultLabel) return jsxRuntime.jsx(jsxRuntime.Fragment, {
481
+ children: props.defaultLabel
482
+ });
483
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {
484
+ children: constants.NO_VALUE_FALLBACK
485
+ });
486
+ };
487
+ MenuLabel.propTypes = {
488
+ labelAllLocales: _pt__default["default"].arrayOf(_pt__default["default"].any).isRequired,
489
+ defaultLabel: _pt__default["default"].string,
490
+ applicationLocale: _pt__default["default"].string.isRequired
491
+ };
492
+ const NavBarLayout$1 = /*#__PURE__*/react.forwardRef((props, ref) => jsxRuntime.jsxs(jsxRuntime.Fragment, {
493
+ children: [jsxRuntime.jsx(react$1.Global, {
494
+ styles: /*#__PURE__*/react$1.css(compiledStyles$1.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lbnUtaXRlbXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVlbUIiLCJmaWxlIjoibWVudS1pdGVtcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBsYXp5LFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdHlwZSBSZWFjdE5vZGUsXG4gIHR5cGUgU3ludGhldGljRXZlbnQsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC9yZWFjdC1icm9hZGNhc3QnO1xuaW1wb3J0IHR5cGUgeyBURmxhZ1ZhcmlhdGlvbiB9IGZyb20gJ0BmbG9wZmxpcC90eXBlcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IE5hdkxpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB0eXBlIHtcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQgeyBOT19WQUxVRV9GQUxMQkFDSyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXN0cmljdGVkQnlQZXJtaXNzaW9ucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL3Blcm1pc3Npb25zJztcbmltcG9ydCB7XG4gIEJhY2tJY29uLFxuICBTaWRlYmFyRXhwYW5kSWNvbixcbiAgU2lkZWJhckNvbGxhcHNlSWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB7IGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYXRpb24nO1xuLy8gaHR0cHM6Ly9iYWJlbGpzLmlvL2Jsb2cvMjAxNy8wOS8xMS96ZXJvLWNvbmZpZy13aXRoLWJhYmVsLW1hY3Jvc1xuaW1wb3J0IGNvbXBpbGVkU3R5bGVzIGZyb20gLyogcHJldmFsICovICcuL25hdmJhci5zdHlsZXMnO1xuXG5jb25zdCBzdHlsZXMgPSBjb21waWxlZFN0eWxlcy5qc29uTWFwO1xuXG50eXBlIFRQcm9qZWN0UGVybWlzc2lvbnMgPSB7XG4gIHBlcm1pc3Npb25zOiBUTm9ybWFsaXplZFBlcm1pc3Npb25zIHwgbnVsbDtcbiAgYWN0aW9uUmlnaHRzOiBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyB8IG51bGw7XG4gIGRhdGFGZW5jZXM6IFROb3JtYWxpemVkRGF0YUZlbmNlcyB8IG51bGw7XG59O1xuXG5jb25zdCBIZWFydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3BhcGVyY2xpcCcpKTtcbmNvbnN0IFBsdWdpbkljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGx1Z2luJykpO1xuY29uc3QgUm9ja2V0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9zdGFyJykpO1xuY29uc3QgQ29ubmVjdGVkU3F1YXJlSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvY29ubmVjdGVkLXNxdWFyZScpXG4pO1xuY29uc3QgV29ybGRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuY29uc3QgVHJlZVN0cnVjdHVyZUljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvdHJlZS1zdHJ1Y3R1cmUnKSk7XG5jb25zdCBVc2VyRmlsbGVkSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy91c2VyLWZpbGxlZCcpKTtcbmNvbnN0IFNwZWVkb21ldGVySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9zcGVlZG9tZXRlcicpKTtcbmNvbnN0IFRhZ011bHRpSWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy90YWctbXVsdGknKSk7XG5jb25zdCBDYXJ0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9jYXJ0JykpO1xuY29uc3QgQm94SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9ib3gnKSk7XG5jb25zdCBHZWFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9nZWFyJykpO1xuY29uc3QgTGlzdFdpdGhTZWFyY2hJY29uID0gbGF6eShcbiAgKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9saXN0LXdpdGgtc2VhcmNoJylcbik7XG5cbnR5cGUgSWNvblByb3BzID0gUGFyYW1ldGVyczx0eXBlb2YgQmFja0ljb24+WzBdO1xudHlwZSBJY29uU3dpdGNoZXJQcm9wcyA9IHsgaWNvbjogc3RyaW5nIH0gJiBJY29uUHJvcHM7XG4vLyBUaGUgaWNvbiBpcyBleHBlY3RlZCB0byBiZSB0aGUgYHN2Z2AgZG9jdW1lbnQgYXMgYSBzdHJpbmcuXG4vLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcHVycG9zZXMsIHdlIHN0aWxsIHN1cHBvcnQgdGhlIGxlZ2FjeSBcImljb24gbmFtZVwiLFxuLy8gd2hpY2ggd2UgdGhlbiBtYXAgdG8gb25lIG9mIHRoZSBwcmUtZGVmaW5lZCBpY29ucy5cbi8vIEV2ZW50dWFsbHksIHdlIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGlzIFwic3dpdGNoXCIgbG9naWMuXG5jb25zdCBJY29uU3dpdGNoZXIgPSAoeyBpY29uLCAuLi5pY29uUHJvcHMgfTogSWNvblN3aXRjaGVyUHJvcHMpID0+IHtcbiAgaWYgKGljb24uaW5jbHVkZXMoJzxzdmcnKSkge1xuICAgIHJldHVybiA8SW5saW5lU3ZnIGRhdGE9e2ljb259IHsuLi5pY29uUHJvcHN9IC8+O1xuICB9XG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBhcHBzIHVzaW5nIHRoZSBcImljb24gbmFtZVwiLlxuICBzd2l0Y2ggKGljb24pIHtcbiAgICAvLyBMZWdhY3kgYXBwbGljYXRpb24gaWNvbnNcbiAgICAvLyBUT0RPOiBUbyBiZSByZW1vdmVkIG9uY2UgTUMgYXBwbGljYXRpb25zIGljb25zIHVwZGF0ZXMgYXJlIHB1Ymxpc2hlZFxuICAgIGNhc2UgJ1RyZWVTdHJ1Y3R1cmVJY29uJzpcbiAgICAgIHJldHVybiA8VHJlZVN0cnVjdHVyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVXNlckZpbGxlZEljb24nOlxuICAgICAgcmV0dXJuIDxVc2VyRmlsbGVkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTcGVlZG9tZXRlckljb24nOlxuICAgICAgcmV0dXJuIDxTcGVlZG9tZXRlckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnVGFnTXVsdGlJY29uJzpcbiAgICAgIHJldHVybiA8VGFnTXVsdGlJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0NhcnRJY29uJzpcbiAgICAgIHJldHVybiA8Q2FydEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQm94SWNvbic6XG4gICAgICByZXR1cm4gPEJveEljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnR2Vhckljb24nOlxuICAgICAgcmV0dXJuIDxHZWFySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdMaXN0V2l0aFNlYXJjaEljb24nOlxuICAgICAgcmV0dXJuIDxMaXN0V2l0aFNlYXJjaEljb24gey4uLmljb25Qcm9wc30gLz47XG5cbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJY29uID0gKHsgaXNNZW51T3BlbiB9OiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBJY29uID0gaXNNZW51T3BlbiA/IFNpZGViYXJDb2xsYXBzZUljb24gOiBTaWRlYmFyRXhwYW5kSWNvbjtcbiAgcmV0dXJuIDxJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPjtcbn07XG5cbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGtleT1cImV4cGFuZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXMuZXhwYW5kZXIsIHtcbiAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiAhcHJvcHMuaXNWaXNpYmxlLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAge2dldEljb24ocHJvcHMpfVxuICAgICAgPC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5NZW51RXhwYW5kZXIuZGlzcGxheU5hbWUgPSAnTWVudUV4cGFuZGVyJztcblxuY29uc3QgRmFkZWQgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMTUzLCAxMzUsIDApIDAlLCAjMDBiMzllIDEwMCUpO1xuICB6LWluZGV4OiAxO1xuYDtcblxudHlwZSBNZW51R3JvdXBQcm9wcyA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IDEgfCAyO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xuICBoYXNTdWJtZW51PzogYm9vbGVhbjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIHN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uPzogbnVtYmVyO1xuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGdldFN1Ym1lbnVQb3NpdGlvbkJhc2VkT25NZW51SXRlbVBvc2l0aW9uID0gKFxuICBpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtPzogYm9vbGVhbixcbiAgc3VibWVudVZlcnRpY2FsUG9zaXRpb24/OiBudW1iZXJcbikgPT4gY3NzYFxuICAke2lzU3VibWVudUFib3ZlTWVudUl0ZW0gPyAnYm90dG9tJyA6ICd0b3AnfTogJHtzdWJtZW51VmVydGljYWxQb3NpdGlvbn1weFxuYDtcblxuY29uc3QgZ2V0Q29udGFpbmVyUG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbiA9IChcbiAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT86IGJvb2xlYW4sXG4gIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQ/OiBib29sZWFuLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZD86IGJvb2xlYW5cbikgPT4gW1xuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJlxuICAgIGNzc2BcbiAgICAgICR7aXNTdWJtZW51QWJvdmVNZW51SXRlbVxuICAgICAgICA/ICdib3R0b20nXG4gICAgICAgIDogJ3RvcCd9OiAtJHtESU1FTlNJT05TLm5hdk1lbnVJdGVtSGVpZ2h0fTtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgaXNTdWJtZW51QWJvdmVNZW51SXRlbSAmJlxuICAgIGNzc2BcbiAgICAgIGJvdHRvbTogMDtcbiAgICBgLFxuICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkICYmXG4gICAgIWlzU3VibWVudUFib3ZlTWVudUl0ZW0gJiZcbiAgICBjc3NgXG4gICAgICB0b3A6IDA7XG4gICAgYCxcbl07XG5cbmNvbnN0IE1lbnVHcm91cCA9IGZvcndhcmRSZWY8SFRNTFVMaXN0RWxlbWVudCwgTWVudUdyb3VwUHJvcHM+KChwcm9wcywgcmVmKSA9PiB7XG4gIGlmIChcbiAgICBwcm9wcy5pc0V4cGFuZGVkICYmXG4gICAgKChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaGFzU3VibWVudSkgfHxcbiAgICAgIChwcm9wcy5sZXZlbCA9PT0gMiAmJiAhcHJvcHMuaXNBY3RpdmUpKVxuICApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiBwcm9wcy5pc0V4cGFuZGVkO1xuICBjb25zdCBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgIXByb3BzLmlzRXhwYW5kZWQ7XG4gIHJldHVybiAoXG4gICAgPHVsXG4gICAgICByZWY9e3JlZiAmJiBwcm9wcy5sZXZlbCA9PT0gMiA/IHJlZiA6IG51bGx9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgJHtnZXRTdWJtZW51UG9zaXRpb25CYXNlZE9uTWVudUl0ZW1Qb3NpdGlvbihcbiAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uXG4gICAgICAgICl9O1xuICAgICAgXG4gICAgICAvLyBwcmV2ZW50IGdsaXRjaHkgYmVoYXZpb3IgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlciB3aGVuIHRoZSBzdWJtZW51J3MgdmVydGljYWwgcG9zaXRpb24gaXMgZXZhbHVhdGVkIGFzIDBcbiAgICAgICR7XG4gICAgICAgIHByb3BzLnN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uID09PSAwICYmXG4gICAgICAgIGNzc2BcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGBcbiAgICAgIH1cblxuICAgICAgICAvLyBhZGRpdGlvbmFsIHN0eWxpbmcgb2YgdGhlIHBzZXVkby1lbGVtZW50IGVuYWJsaW5nIHNtb290aCBjb3Vyc29yIG1vdmVtZW50XG4gICAgICAgIDo6YmVmb3JlIHtcbiAgICAgICAgICAke2dldENvbnRhaW5lclBvc2l0aW9uQmFzZWRPbk1lbnVJdGVtUG9zaXRpb24oXG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICAgICAgKX1cbiAgICAgIGB9XG4gICAgICBpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIGRhdGEtdGVzdGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgYXJpYS1leHBhbmRlZD17XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgfHxcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWRcbiAgICAgIH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcbiAgICAgICAgeyBbc3R5bGVzLmxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMSB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdCddXTogcHJvcHMubGV2ZWwgPT09IDIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWV4cGFuZGVkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2VtcHR5J11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiYgIXByb3BzLmhhc1N1Ym1lbnUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgJiZcbiAgICAgICAgICAgICFwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1jb2xsYXBzZWRfX2FjdGl2ZV9fYWJvdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCAmJiBwcm9wcy5pc1N1Ym1lbnVBYm92ZU1lbnVJdGVtLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlcy5zdWJsaXN0X19pbmFjdGl2ZV06ICFpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfVxuICAgICAgKX1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC91bD5cbiAgKTtcbn0pO1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZT86IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGlkZW50aWZpZXI/OiBzdHJpbmc7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwge1xuICAgICAgICBbc3R5bGVzLml0ZW1fX2FjdGl2ZV06IHByb3BzLmlzQWN0aXZlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnVfX2FjdGl2ZSddXTogcHJvcHMuaXNNYWluTWVudVJvdXRlQWN0aXZlID8/IGZhbHNlLFxuICAgICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgIH0pfVxuICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMub25Nb3VzZUVudGVyfVxuICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmV9XG4gICAgICBkYXRhLW1lbnVpdGVtPXtwcm9wcy5pZGVudGlmaWVyfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0tbGluayddfT57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5cbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxuZXhwb3J0IHR5cGUgTWVudUl0ZW1MaW5rUHJvcHMgPSB7XG4gIGxpbmtUbz86IHN0cmluZztcbiAgZXhhY3RNYXRjaDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgb25DbGljaz86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xuICBpc1N1Ym1lbnVMaW5rPzogYm9vbGVhbjtcbn07XG5jb25zdCBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM6IFBpY2s8TWVudUl0ZW1MaW5rUHJvcHMsICdleGFjdE1hdGNoJz4gPSB7XG4gIGV4YWN0TWF0Y2g6IGZhbHNlLFxufTtcbmNvbnN0IE5hdkxpbmtXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdC13cmFwcGVyJ119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuY29uc3QgTmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNTdWJtZW51TGluaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyduYXZsaW5rLWNsaWNrYWJsZS1jb250ZW50J119PlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuXG5jb25zdCBNZW51SXRlbUxpbmsgPSAocHJvcHM6IE1lbnVJdGVtTGlua1Byb3BzKSA9PiB7XG4gIGNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcbiAgaWYgKHByb3BzLmxpbmtUbykge1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1dyYXBwZXIgey4uLnByb3BzfT5cbiAgICAgICAgPE5hdkxpbmtcbiAgICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICAgIGV4YWN0PXtwcm9wcy5leGFjdE1hdGNofVxuICAgICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgICBwcm9wcy5pc1N1Ym1lbnVMaW5rXG4gICAgICAgICAgICAgID8gc3R5bGVzWyd0ZXh0LWxpbmstc3VibGlzdCddXG4gICAgICAgICAgICAgIDogc3R5bGVzWyd0ZXh0LWxpbmsnXVxuICAgICAgICAgIH1cbiAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5saW5rVG8gJiYgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzKSB7XG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIHJlZGlyZWN0VG8ocHJvcHMubGlua1RvKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgICBldmVudC5wZXJzaXN0KCk7XG4gICAgICAgICAgICAgIHByb3BzLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8TmF2TGlua0NsaWNrYWJsZUNvbnRlbnRXcmFwcGVyIHsuLi5wcm9wc30+XG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgPC9OYXZMaW5rQ2xpY2thYmxlQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDwvTmF2TGluaz5cbiAgICAgIDwvTmF2TGlua1dyYXBwZXI+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbk1lbnVJdGVtTGluay5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbUxpbmsnO1xuTWVudUl0ZW1MaW5rLmRlZmF1bHRQcm9wcyA9IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wcztcblxuY29uc3QgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4gPSAoXG4gIG1lbnVWaXNpYmlsaXRpZXM/OiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsLFxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdXG4pID0+XG4gIEFycmF5LmlzQXJyYXkobmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMpICYmXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzLmxlbmd0aCA+IDAgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMuZXZlcnkoXG4gICAgKG5hbWVPZk1lbnVWaXNpYmlsaXR5KSA9PlxuICAgICAgbWVudVZpc2liaWxpdGllcyAmJiBtZW51VmlzaWJpbGl0aWVzW25hbWVPZk1lbnVWaXNpYmlsaXR5XSA9PT0gdHJ1ZVxuICApO1xuXG50eXBlIFJlc3RyaWN0ZWRNZW51SXRlbVByb3BzID0ge1xuICBmZWF0dXJlVG9nZ2xlPzogc3RyaW5nO1xuICBuYW1lc09mTWVudVZpc2liaWxpdGllcz86IHN0cmluZ1tdO1xuICBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnM7XG4gIG1lbnVWaXNpYmlsaXRpZXM6IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGw7XG4gIGtleU9mTWVudUl0ZW06IHN0cmluZztcbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICBhY3Rpb25SaWdodHM/OiBUQWN0aW9uUmlnaHRbXTtcbiAgZGF0YUZlbmNlcz86IFREYXRhRmVuY2VbXTtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG50eXBlIFRMb25nTGl2ZWRGbGFnID0ge1xuICB2YWx1ZTogYm9vbGVhbjtcbiAgcmVhc29uPzogc3RyaW5nO1xufTtcbmNvbnN0IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wczogUGljazxcbiAgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMsXG4gICdwZXJtaXNzaW9ucydcbj4gPSB7XG4gIHBlcm1pc3Npb25zOiBbXSxcbn07XG5mdW5jdGlvbiBpc0xvbmdMaXZlZEZsYWcoXG4gIGZsYWc6IFRGbGFnVmFyaWF0aW9uIHwgVExvbmdMaXZlZEZsYWdcbik6IGZsYWcgaXMgVExvbmdMaXZlZEZsYWcge1xuICByZXR1cm4gdHlwZW9mIChmbGFnIGFzIFRMb25nTGl2ZWRGbGFnKT8udmFsdWUgPT09ICdib29sZWFuJztcbn1cbmNvbnN0IFJlc3RyaWN0ZWRNZW51SXRlbSA9IChwcm9wczogUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMpID0+IHtcbiAgLy8gTk9URTogQ3VzdG9tIGFwcGxpY2F0aW9uIGFyZSBhY3RpdmF0ZWQvZGVhY3RpdmF0ZWQgd2hpbGUgdGhlaXJcbiAgLy8gdmlzaWJpbGl0eSBpcyBub3QgY29udHJvbGxlZCB2aWEgYSB2aXNpYmlpbGl0eSBvdmVyd3JpdGUuXG4gIGNvbnN0IGZsYWdWYXJpYXRpb24gPSB1c2VGbGFnVmFyaWF0aW9uKHByb3BzLmZlYXR1cmVUb2dnbGUpO1xuICBpZiAoXG4gICAgaXNFdmVyeU1lbnVWaXNpYmlsaXR5U2V0VG9IaWRkZW4oXG4gICAgICBwcm9wcy5tZW51VmlzaWJpbGl0aWVzLFxuICAgICAgcHJvcHMubmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNcbiAgICApXG4gIClcbiAgICByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwZXJtaXNzaW9uc1dyYXBwZXIgPVxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLnBlcm1pc3Npb25zKSAmJiBwcm9wcy5wZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB8fFxuICAgIChBcnJheS5pc0FycmF5KHByb3BzLmRhdGFGZW5jZXMpICYmIHByb3BzLmRhdGFGZW5jZXMubGVuZ3RoID4gMCkgPyAoXG4gICAgICA8UmVzdHJpY3RlZEJ5UGVybWlzc2lvbnNcbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLnBlcm1pc3Npb25zfVxuICAgICAgICBhY3Rpb25SaWdodHM9e3Byb3BzLmFjdGlvblJpZ2h0c31cbiAgICAgICAgZGF0YUZlbmNlcz17cHJvcHMuZGF0YUZlbmNlc31cbiAgICAgICAgc2VsZWN0RGF0YUZlbmNlRGF0YT17KGRlbWFuZGVkRGF0YUZlbmNlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChkZW1hbmRlZERhdGFGZW5jZS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzdG9yZSc6XG4gICAgICAgICAgICAgIHJldHVybiBkZW1hbmRlZERhdGFGZW5jZS5hY3R1YWxEYXRhRmVuY2VWYWx1ZXM7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIC8vIEFsd2F5cyBjaGVjayB0aGF0IHNvbWUgb2YgdGhlIGdpdmVuIHBlcm1pc3Npb25zIG1hdGNoLlxuICAgICAgICBzaG91bGRNYXRjaFNvbWVQZXJtaXNzaW9ucz17dHJ1ZX1cbiAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvUmVzdHJpY3RlZEJ5UGVybWlzc2lvbnM+XG4gICAgKSA6IChcbiAgICAgIDw+e3Byb3BzLmNoaWxkcmVufTwvPlxuICAgICk7XG5cbiAgaWYgKHByb3BzLmZlYXR1cmVUb2dnbGUpIHtcbiAgICAvLyBBIHJlZ3VsYXIgc2hvcnQtbGl2ZWQgZmVhdHVyZSB0b2dnbGVcbiAgICBpZiAoZmxhZ1ZhcmlhdGlvbiA9PT0gdHJ1ZSkgcmV0dXJuIHBlcm1pc3Npb25zV3JhcHBlcjtcbiAgICAvLyBBIGxvbmctbGl2ZWQgZmVhdHVyZSB0b2dnbGUgd2l0aCBgeyB2YWx1ZTogYm9vbGVhbiwgc3RyaW5nOiByZWFzb24gfWBcbiAgICBpZiAoaXNMb25nTGl2ZWRGbGFnKGZsYWdWYXJpYXRpb24pICYmIGZsYWdWYXJpYXRpb24udmFsdWUgPT09IHRydWUpXG4gICAgICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xufTtcblJlc3RyaWN0ZWRNZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdSZXN0cmljdGVkTWVudUl0ZW0nO1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRlZmF1bHRQcm9wcyA9IHJlc3RyaWN0ZWRNZW51SXRlbURlZmF1bHRQcm9wcztcblxudHlwZSBNZW51TGFiZWxQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVMYWJlbCA9IChwcm9wczogTWVudUxhYmVsUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBwcm9wcy5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIHByb3BzLmFwcGxpY2F0aW9uTG9jYWxlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gPD57bG9jYWxpemVkTGFiZWwudmFsdWV9PC8+O1xuICBpZiAocHJvcHMuZGVmYXVsdExhYmVsKSByZXR1cm4gPD57cHJvcHMuZGVmYXVsdExhYmVsfTwvPjtcbiAgcmV0dXJuIDw+e05PX1ZBTFVFX0ZBTExCQUNLfTwvPjtcbn07XG5cbnR5cGUgVE5hdkJhckxheW91dFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE5hdkJhckxheW91dCA9IGZvcndhcmRSZWY8SFRNTEVsZW1lbnQsIFROYXZCYXJMYXlvdXRQcm9wcz4oXG4gIChwcm9wcywgcmVmKSA9PiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxcbiAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgJHtjb21waWxlZFN0eWxlcy5nbG9iYWx9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPG5hdlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xlZnQtbmF2aWdhdGlvbiddfVxuICAgICAgICBkYXRhLXRlc3Q9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvbmF2PlxuICAgIDwvPlxuICApXG4pO1xuTmF2QmFyTGF5b3V0LmRpc3BsYXlOYW1lID0gJ05hdkJhckxheW91dCc7XG5cbnR5cGUgSXRlbUNvbnRhaW5lclByb3BzID0ge1xuICBsYWJlbEFsbExvY2FsZXM6IFRMb2NhbGl6ZWRGaWVsZFtdO1xuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgaXNNZW51T3Blbj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBJdGVtQ29udGFpbmVyID0gKHByb3BzOiBJdGVtQ29udGFpbmVyUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb259PlxuICAgICAgICAgIDxJY29uU3dpdGNoZXIgaWNvbj17cHJvcHMuaWNvbn0gc2l6ZT1cInNjYWxlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtwcm9wcy5pc01lbnVPcGVuID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfT5cbiAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3Byb3BzLmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5JdGVtQ29udGFpbmVyLmRpc3BsYXlOYW1lID0gJ0l0ZW1Db250YWluZXInO1xuXG5leHBvcnQge1xuICBSZXN0cmljdGVkTWVudUl0ZW0sXG4gIE1lbnVJdGVtLFxuICBNZW51SXRlbUxpbmssXG4gIEljb25Td2l0Y2hlcixcbiAgTWVudUdyb3VwLFxuICBNZW51TGFiZWwsXG4gIE1lbnVFeHBhbmRlcixcbiAgRmFkZWQsXG4gIE5hdkJhckxheW91dCxcbiAgSXRlbUNvbnRhaW5lcixcbn07XG4iXX0= */")
495
+ }), jsxRuntime.jsx("nav", {
496
+ ref: ref,
497
+ className: styles$1['left-navigation'],
498
+ "data-test": "left-navigation",
499
+ "data-testid": "left-navigation",
500
+ children: props.children
501
+ })]
502
+ }));
503
+ NavBarLayout$1.displayName = 'NavBarLayout';
504
+ const ItemContainer = props => {
505
+ return jsxRuntime.jsxs("div", {
506
+ className: styles$1['item-icon-text'],
507
+ children: [jsxRuntime.jsx("div", {
508
+ className: styles$1['icon-container'],
509
+ children: jsxRuntime.jsx("div", {
510
+ className: styles$1.icon,
511
+ children: jsxRuntime.jsx(IconSwitcher, {
512
+ icon: props.icon,
513
+ size: "scale"
514
+ })
515
+ })
516
+ }), props.isMenuOpen ? jsxRuntime.jsx("div", {
517
+ className: styles$1.title,
518
+ children: jsxRuntime.jsx(MenuLabel, {
519
+ labelAllLocales: props.labelAllLocales,
520
+ defaultLabel: props.defaultLabel,
521
+ applicationLocale: props.applicationLocale
522
+ })
523
+ }) : null]
524
+ });
525
+ };
526
+ ItemContainer.propTypes = process.env.NODE_ENV !== "production" ? {
527
+ labelAllLocales: _pt__default["default"].arrayOf(_pt__default["default"].any).isRequired,
528
+ defaultLabel: _pt__default["default"].string,
529
+ applicationLocale: _pt__default["default"].string.isRequired,
530
+ icon: _pt__default["default"].string.isRequired,
531
+ isMenuOpen: _pt__default["default"].bool
532
+ } : {};
533
+ ItemContainer.displayName = 'ItemContainer';
534
+
535
+ var messages = reactIntl.defineMessages({
536
+ 'NavBar.MCSupport.title': {
537
+ id: 'NavBar.MCSupport.title',
538
+ defaultMessage: 'Support'
539
+ }
540
+ });
541
+
542
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
543
+ const NavBarLayout = props => {
544
+ return jsxRuntime.jsx("nav", {
545
+ "aria-busy": true,
546
+ css: /*#__PURE__*/react$1.css("display:flex;flex-direction:column;height:100%;width:", props.isExpanded ? '256px' : '80px', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CYyIsImZpbGUiOiJuYXZiYXItc2tlbGV0b24uc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgeyBESU1FTlNJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcblxudHlwZSBUTmF2QmFyU2tlbGV0b25Qcm9wcyA9IHtcbiAgaXNFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbnR5cGUgVE1lbnVJdGVtUHJvcHMgPSB7XG4gIGNvbnRlbnRXaWR0aDogJ3dpZGUnIHwgJ25hcnJvdyc7XG59O1xuXG5jb25zdCBOYXZCYXJMYXlvdXQgPSAoXG4gIHByb3BzOiBUTmF2QmFyU2tlbGV0b25Qcm9wcyAmIHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9XG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8bmF2XG4gICAgICBhcmlhLWJ1c3k9e3RydWV9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogJHtwcm9wcy5pc0V4cGFuZGVkID8gJzI1NnB4JyA6ICc4MHB4J307XG4gICAgICBgfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L25hdj5cbiAgKTtcbn07XG5cbmNvbnN0IE5hdkJhckhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9O1xuICBoZWlnaHQ6ICR7RElNRU5TSU9OUy5oZWFkZXJ9O1xuICBiYWNrZ3JvdW5kOiAke2Rlc2lnblRva2Vucy5jb2xvckFjY2VudDEwfTtcbmA7XG5cbmNvbnN0IE5hdkJhckJvZHkgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAke2Rlc2lnblRva2Vucy5zcGFjaW5nNDB9O1xuICBmbGV4LXNocmluazogMDtcbiAgYmFja2dyb3VuZDogIzAwOTk4NzsgLy8gVE9ETzogdXNlIG5ldyBkZXNpZ24gdG9rZW4gY29sb3ItcHJpbWFyeS0zMFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gYm90dG9tIGdyYWRpZW50XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMzZweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMTUzLCAxMzUsIDApIDAlLCAjMDA5OTg3IDEwMCUpO1xuICB9XG5gO1xuXG5jb25zdCBOYXZCYXJGb290ZXIgPSBzdHlsZWQuZGl2PFROYXZCYXJTa2VsZXRvblByb3BzPmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzAwOTk4NyAwJSwgIzAwNGQ0NCAxMDAlKTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfVxuICAgICR7KHByb3BzKSA9PiAocHJvcHMuaXNFeHBhbmRlZCA/ICc1OHB4JyA6ICcwcHgnKX07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC8vIGRpdmlkZXJcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICB9XG5gO1xuXG5jb25zdCBFeHBhbmRJY29uID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzNH07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtQ29udGFpbmVyID0gc3R5bGVkLmRpdjxUTWVudUl0ZW1Qcm9wcyAmIFROYXZCYXJTa2VsZXRvblByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogJHsocHJvcHMpID0+XG4gICAgcHJvcHMuY29udGVudFdpZHRoID09PSAnd2lkZScgfHwgIXByb3BzLmlzRXhwYW5kZWQgPyAnMTJweCcgOiAnMTJweCAyOHB4J307XG4gIGhlaWdodDogNDhweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbVRpdGxlID0gc3R5bGVkLmRpdmBcbiAgYm9yZGVyLXJhZGl1czogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzNH07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiAxOHB4O1xuYDtcblxuY29uc3QgTWVudUl0ZW1Hcm91cCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuYDtcblxuZXhwb3J0IHtcbiAgTmF2QmFyTGF5b3V0LFxuICBOYXZCYXJIZWFkZXIsXG4gIE5hdkJhckJvZHksXG4gIE5hdkJhckZvb3RlcixcbiAgRXhwYW5kSWNvbixcbiAgTWVudUl0ZW1Db250YWluZXIsXG4gIE1lbnVJdGVtSWNvbixcbiAgTWVudUl0ZW1UaXRsZSxcbiAgTWVudUl0ZW1Hcm91cCxcbiAgdHlwZSBUTmF2QmFyU2tlbGV0b25Qcm9wcyxcbiAgdHlwZSBUTWVudUl0ZW1Qcm9wcyxcbn07XG4iXX0= */"),
547
+ children: props.children
548
+ });
549
+ };
550
+ NavBarLayout.propTypes = process.env.NODE_ENV !== "production" ? {
551
+ isExpanded: _pt__default["default"].bool.isRequired
552
+ } : {};
553
+ const NavBarHeader = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
554
+ target: "epfjvz37"
555
+ } : {
556
+ target: "epfjvz37",
557
+ label: "NavBarHeader"
558
+ })("display:flex;justify-content:center;align-items:center;padding:", designSystem.designTokens.spacing30, ";height:", oidc.DIMENSIONS.header, ";background:", designSystem.designTokens.colorAccent10, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDK0IiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
559
+ const NavBarBody = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
560
+ target: "epfjvz36"
561
+ } : {
562
+ target: "epfjvz36",
563
+ label: "NavBarBody"
564
+ })("display:flex;flex:1;padding:", designSystem.designTokens.spacing30, ";flex-direction:column;align-items:flex-start;gap:", designSystem.designTokens.spacing40, ";flex-shrink:0;background:#009987;position:relative;&::after{content:'';position:absolute;bottom:0;height:36px;width:calc(100% - 2 * ", designSystem.designTokens.spacing30, ");background:linear-gradient(180deg, rgba(0, 153, 135, 0) 0%, #009987 100%);}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlDNkIiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
565
+ const NavBarFooter = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
566
+ target: "epfjvz35"
567
+ } : {
568
+ target: "epfjvz35",
569
+ label: "NavBarFooter"
570
+ })("position:relative;display:flex;width:100%;flex-direction:column;background:linear-gradient(180deg, #009987 0%, #004d44 100%);padding:", designSystem.designTokens.spacing30, " ", props => props.isExpanded ? '58px' : '0px', ";justify-content:center;align-items:center;&::before{content:'';position:absolute;top:0;height:1px;width:calc(100% - 2 * ", designSystem.designTokens.spacing30, ");background:rgba(255, 255, 255, 0.5);}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStEcUQiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
571
+ const ExpandIcon = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
572
+ target: "epfjvz34"
573
+ } : {
574
+ target: "epfjvz34",
575
+ label: "ExpandIcon"
576
+ })("width:40px;height:40px;border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFGNkIiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
577
+ const MenuItemContainer = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
578
+ target: "epfjvz33"
579
+ } : {
580
+ target: "epfjvz33",
581
+ label: "MenuItemContainer"
582
+ })("display:flex;align-items:center;justify-content:center;gap:12px;padding:", props => props.contentWidth === 'wide' || !props.isExpanded ? '12px' : '12px 28px', ";height:48px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRGMkUiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
583
+ const MenuItemIcon = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
584
+ target: "epfjvz32"
585
+ } : {
586
+ target: "epfjvz32",
587
+ label: "MenuItemIcon"
588
+ })("width:24px;height:24px;border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNHK0IiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
589
+ const MenuItemTitle = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
590
+ target: "epfjvz31"
591
+ } : {
592
+ target: "epfjvz31",
593
+ label: "MenuItemTitle"
594
+ })("border-radius:", designSystem.designTokens.borderRadius4, ";background:rgba(255, 255, 255, 0.2);flex:1;height:18px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZHZ0MiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */"));
595
+ const MenuItemGroup = /*#__PURE__*/_styled__default["default"]("div", process.env.NODE_ENV === "production" ? {
596
+ target: "epfjvz30"
597
+ } : {
598
+ target: "epfjvz30",
599
+ label: "MenuItemGroup"
600
+ })(process.env.NODE_ENV === "production" ? {
601
+ name: "1d3w5wq",
602
+ styles: "width:100%"
603
+ } : {
604
+ name: "1d3w5wq",
605
+ styles: "width:100%",
606
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci1za2VsZXRvbi5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9IZ0MiLCJmaWxlIjoibmF2YmFyLXNrZWxldG9uLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbnR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMgPSB7XG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG59O1xuXG50eXBlIFRNZW51SXRlbVByb3BzID0ge1xuICBjb250ZW50V2lkdGg6ICd3aWRlJyB8ICduYXJyb3cnO1xufTtcblxuY29uc3QgTmF2QmFyTGF5b3V0ID0gKFxuICBwcm9wczogVE5hdkJhclNrZWxldG9uUHJvcHMgJiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfVxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPG5hdlxuICAgICAgYXJpYS1idXN5PXt0cnVlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6ICR7cHJvcHMuaXNFeHBhbmRlZCA/ICcyNTZweCcgOiAnODBweCd9O1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgPC9uYXY+XG4gICk7XG59O1xuXG5jb25zdCBOYXZCYXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgaGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgYmFja2dyb3VuZDogJHtkZXNpZ25Ub2tlbnMuY29sb3JBY2NlbnQxMH07XG5gO1xuXG5jb25zdCBOYXZCYXJCb2R5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtkZXNpZ25Ub2tlbnMuc3BhY2luZzQwfTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDk5ODc7IC8vIFRPRE86IHVzZSBuZXcgZGVzaWduIHRva2VuIGNvbG9yLXByaW1hcnktMzBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIGJvdHRvbSBncmFkaWVudFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAke2Rlc2lnblRva2Vucy5zcGFjaW5nMzB9KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDE1MywgMTM1LCAwKSAwJSwgIzAwOTk4NyAxMDAlKTtcbiAgfVxuYDtcblxuY29uc3QgTmF2QmFyRm9vdGVyID0gc3R5bGVkLmRpdjxUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDk5ODcgMCUsICMwMDRkNDQgMTAwJSk7XG4gIHBhZGRpbmc6ICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH1cbiAgICAkeyhwcm9wcykgPT4gKHByb3BzLmlzRXhwYW5kZWQgPyAnNThweCcgOiAnMHB4Jyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAvLyBkaXZpZGVyXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqICR7ZGVzaWduVG9rZW5zLnNwYWNpbmczMH0pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgfVxuYDtcblxuY29uc3QgRXhwYW5kSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5gO1xuXG5jb25zdCBNZW51SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8VE1lbnVJdGVtUHJvcHMgJiBUTmF2QmFyU2tlbGV0b25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmNvbnRlbnRXaWR0aCA9PT0gJ3dpZGUnIHx8ICFwcm9wcy5pc0V4cGFuZGVkID8gJzEycHgnIDogJzEycHggMjhweCd9O1xuICBoZWlnaHQ6IDQ4cHg7XG5gO1xuXG5jb25zdCBNZW51SXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAke2Rlc2lnblRva2Vucy5ib3JkZXJSYWRpdXM0fTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuYDtcblxuY29uc3QgTWVudUl0ZW1UaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1czR9O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMThweDtcbmA7XG5cbmNvbnN0IE1lbnVJdGVtR3JvdXAgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCB7XG4gIE5hdkJhckxheW91dCxcbiAgTmF2QmFySGVhZGVyLFxuICBOYXZCYXJCb2R5LFxuICBOYXZCYXJGb290ZXIsXG4gIEV4cGFuZEljb24sXG4gIE1lbnVJdGVtQ29udGFpbmVyLFxuICBNZW51SXRlbUljb24sXG4gIE1lbnVJdGVtVGl0bGUsXG4gIE1lbnVJdGVtR3JvdXAsXG4gIHR5cGUgVE5hdkJhclNrZWxldG9uUHJvcHMsXG4gIHR5cGUgVE1lbnVJdGVtUHJvcHMsXG59O1xuIl19 */",
607
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
608
+ });
609
+
610
+ const MenuItem = props => {
611
+ return jsxRuntime.jsxs(MenuItemContainer, {
612
+ isExpanded: props.isExpanded,
613
+ contentWidth: props.contentWidth,
614
+ children: [jsxRuntime.jsx(MenuItemIcon, {}), props.isExpanded && jsxRuntime.jsx(MenuItemTitle, {})]
615
+ });
616
+ };
617
+ MenuItem.defaultProps = {
618
+ contentWidth: 'wide'
619
+ };
620
+ const NavBarSkeleton = props => {
621
+ var _context, _context2, _context3, _context4;
622
+ return jsxRuntime.jsxs(NavBarLayout, {
623
+ isExpanded: props.isExpanded,
624
+ children: [jsxRuntime.jsx(NavBarHeader, {
625
+ children: jsxRuntime.jsx(MenuItemGroup, {
626
+ children: jsxRuntime.jsx(MenuItem, {
627
+ contentWidth: "narrow",
628
+ isExpanded: props.isExpanded
629
+ })
630
+ })
631
+ }), jsxRuntime.jsxs(NavBarBody, {
632
+ children: [jsxRuntime.jsx(MenuItemGroup, {
633
+ children: _mapInstanceProperty__default["default"](_context = [..._keysInstanceProperty__default["default"](_context2 = Array(2)).call(_context2)]).call(_context, index => jsxRuntime.jsx(MenuItem, {
634
+ isExpanded: props.isExpanded
635
+ }, index))
636
+ }), jsxRuntime.jsx(MenuItemGroup, {
637
+ children: _mapInstanceProperty__default["default"](_context3 = [..._keysInstanceProperty__default["default"](_context4 = Array(10)).call(_context4)]).call(_context3, index => jsxRuntime.jsx(MenuItem, {
638
+ isExpanded: props.isExpanded
639
+ }, index))
640
+ }), jsxRuntime.jsx(MenuItemGroup, {
641
+ children: jsxRuntime.jsx(MenuItem, {
642
+ isExpanded: props.isExpanded
643
+ })
644
+ })]
645
+ }), jsxRuntime.jsx(NavBarFooter, {
646
+ isExpanded: props.isExpanded,
647
+ children: jsxRuntime.jsx(ExpandIcon, {})
648
+ })]
649
+ });
650
+ };
651
+ NavBarSkeleton.displayName = 'NavBarSkeleton';
652
+
653
+ // Type guard to help with filtering arrays for nullish elements.
654
+ function nonNullable(value) {
655
+ return value !== null && value !== undefined;
656
+ }
657
+
658
+ function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
659
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(t))).call(_context5, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
660
+ var FetchProjectExtensionsNavbar = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchProjectExtensionsNavbar" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "projectExtension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "installedApplications" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "application" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "entryPointUriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "mainMenuLink" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }] } }, { kind: "Field", name: { kind: "Name", value: "submenuLinks" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }] } }] } }] } }] } }] } }], loc: { start: 0, end: 537, source: { body: "query FetchProjectExtensionsNavbar {\n projectExtension {\n id\n installedApplications {\n application {\n id\n entryPointUriPath\n icon\n mainMenuLink {\n id\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n }\n submenuLinks {\n id\n uriPath\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n }\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
661
+ const getInitialState = isForcedMenuOpen => ({
662
+ isExpanderVisible: true,
663
+ isMenuOpen: isNil__default["default"](isForcedMenuOpen) ? false : isForcedMenuOpen
664
+ });
665
+ const isForcedMenuOpenDefaultValue = false;
666
+ const reducer = (state, action) => {
667
+ switch (action.type) {
668
+ case 'setActiveItemIndex':
669
+ return _objectSpread$1(_objectSpread$1({}, state), {}, {
670
+ activeItemIndex: action.payload
671
+ });
672
+ case 'unsetActiveItemIndex':
673
+ return _objectSpread$1(_objectSpread$1({}, state), {}, {
674
+ activeItemIndex: undefined
675
+ });
676
+ case 'setIsExpanderVisible':
677
+ return _objectSpread$1(_objectSpread$1({}, state), {}, {
678
+ isExpanderVisible: true
679
+ });
680
+ case 'toggleIsMenuOpen':
681
+ return _objectSpread$1(_objectSpread$1({}, state), {}, {
682
+ isMenuOpen: !state.isMenuOpen
683
+ });
684
+ case 'setIsMenuOpenAndMakeExpanderVisible':
685
+ return _objectSpread$1(_objectSpread$1({}, state), {}, {
686
+ isExpanderVisible: true,
687
+ isMenuOpen: action.payload
688
+ });
689
+ case 'reset':
690
+ return {
691
+ isExpanderVisible: false,
692
+ isMenuOpen: false
693
+ };
694
+ default:
695
+ return state;
696
+ }
697
+ };
698
+ const useNavbarStateManager = props => {
699
+ var _context, _context2;
700
+ const navBarNode = react.useRef(null);
701
+ const applicationsNavBarMenu = useApplicationsMenu.useApplicationsMenu('navBar', {
702
+ queryOptions: {
703
+ onError: sentry.reportErrorToSentry
704
+ },
705
+ environment: props.environment
706
+ });
707
+ const _useMcQuery = applicationShellConnectors.useMcQuery(FetchProjectExtensionsNavbar, {
708
+ skip: !props.environment.servedByProxy,
709
+ context: {
710
+ target: constants.GRAPHQL_TARGETS.SETTINGS_SERVICE
711
+ },
712
+ fetchPolicy: 'cache-and-network',
713
+ onError: sentry.reportErrorToSentry
714
+ }),
715
+ projectExtensionsQuery = _useMcQuery.data;
716
+ const allCustomApplicationsNavbarMenu = projectExtensionsQuery && projectExtensionsQuery.projectExtension && projectExtensionsQuery.projectExtension.installedApplications ? _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = projectExtensionsQuery.projectExtension.installedApplications).call(_context2, installedApplication => {
717
+ var _context3;
718
+ const application = installedApplication.application;
719
+ // Map the menu properties to match the one from the proxy schema.
720
+ // This is to ensure that the menu object is the same from the proxy
721
+ // config and the custom apps config, thus allowing them to be
722
+ // concatenated and rendered the same way.
723
+ return {
724
+ key: application.id,
725
+ uriPath: application.entryPointUriPath,
726
+ labelAllLocales: application.mainMenuLink.labelAllLocales || [],
727
+ icon: application.icon,
728
+ permissions: application.mainMenuLink.permissions,
729
+ defaultLabel: application.mainMenuLink.defaultLabel,
730
+ featureToggle: undefined,
731
+ menuVisibility: undefined,
732
+ actionRights: undefined,
733
+ dataFences: undefined,
734
+ submenu: _mapInstanceProperty__default["default"](_context3 = application.submenuLinks || []).call(_context3, submenuLink => ({
735
+ key: submenuLink.id,
736
+ uriPath: submenuLink.uriPath,
737
+ labelAllLocales: submenuLink.labelAllLocales || [],
738
+ permissions: submenuLink.permissions,
739
+ defaultLabel: submenuLink.defaultLabel,
740
+ featureToggle: undefined,
741
+ menuVisibility: undefined,
742
+ actionRights: undefined,
743
+ dataFences: undefined
744
+ }))
745
+ };
746
+ })).call(_context, nonNullable) : [];
747
+ const cachedIsForcedMenuOpen = window.localStorage.getItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN);
748
+ const isForcedMenuOpen = isNil__default["default"](cachedIsForcedMenuOpen) ? isForcedMenuOpenDefaultValue : JSON.parse(cachedIsForcedMenuOpen);
749
+ if (isNil__default["default"](cachedIsForcedMenuOpen)) {
750
+ window.localStorage.setItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(isForcedMenuOpen));
751
+ }
752
+ const _useReducer = react.useReducer(reducer, getInitialState(isForcedMenuOpen)),
753
+ _useReducer2 = _slicedToArray(_useReducer, 2),
754
+ state = _useReducer2[0],
755
+ dispatch = _useReducer2[1];
756
+ const checkSize = react.useCallback(throttle__default["default"](() => {
757
+ const shouldOpen = window.innerWidth > oidc.WINDOW_SIZES.STANDARD;
758
+ const canExpandMenu = window.innerWidth > oidc.WINDOW_SIZES.WIDE;
759
+
760
+ // If the screen is small, we should always keep the menu closed,
761
+ // no matter the settings.
762
+ if (!canExpandMenu) {
763
+ if (state.isMenuOpen || state.isExpanderVisible) {
764
+ // and resets the state to avoid conflicts
765
+ dispatch({
766
+ type: 'reset'
767
+ });
768
+ }
769
+ } else if (isForcedMenuOpen) {
770
+ dispatch({
771
+ type: 'setIsMenuOpenAndMakeExpanderVisible',
772
+ payload: true
773
+ });
774
+ } else if (canExpandMenu && state.isExpanderVisible !== true) {
775
+ dispatch({
776
+ type: 'setIsExpanderVisible'
777
+ });
778
+ } else if (isNil__default["default"](isForcedMenuOpen) && state.isMenuOpen !== shouldOpen) {
779
+ // User has no settings yet (this.props.isForcedMenuOpen === null)
780
+ // We check the viewport size and:
781
+ // - if screen is big, we open the menu
782
+ // - if screen is small we close it
783
+ dispatch({
784
+ type: 'setIsMenuOpenAndMakeExpanderVisible',
785
+ payload: shouldOpen
786
+ });
787
+ } else if (!isNil__default["default"](isForcedMenuOpen) && state.isMenuOpen !== isForcedMenuOpen) {
788
+ // User has setting, we should use that and ignore the screen size.
789
+ // Note: if viewport size is small, we should ignore the user settings.
790
+ dispatch({
791
+ type: 'setIsMenuOpenAndMakeExpanderVisible',
792
+ payload: isForcedMenuOpen
793
+ });
794
+ }
795
+ }, 100), [isForcedMenuOpen, state.isExpanderVisible, state.isMenuOpen]);
796
+ const shouldCloseMenuFly = react.useCallback(event => {
797
+ if (navBarNode && navBarNode.current && !navBarNode.current.contains(event.target) && !state.isMenuOpen) dispatch({
798
+ type: 'unsetActiveItemIndex'
799
+ });else if (event.type === 'mouseleave') dispatch({
800
+ type: 'unsetActiveItemIndex'
801
+ });
802
+ }, [state.isMenuOpen]);
803
+ react.useEffect(() => {
804
+ window.addEventListener('resize', checkSize);
805
+ window.addEventListener('click', shouldCloseMenuFly, true);
806
+ return () => {
807
+ window.removeEventListener('resize', checkSize);
808
+ window.removeEventListener('click', shouldCloseMenuFly, true);
809
+ };
810
+ }, [checkSize, shouldCloseMenuFly]);
811
+ react.useEffect(() => {
812
+ checkSize();
813
+ // eslint-disable-next-line react-hooks/exhaustive-deps
814
+ }, []); // <-- run this only once!!
815
+
816
+ react.useLayoutEffect(() => {
817
+ if (state.isMenuOpen) document.body.classList.add('body__menu-open');
818
+ if (!state.isMenuOpen) document.body.classList.remove('body__menu-open');
819
+ }, [state.isMenuOpen]);
820
+ const handleToggleItem = react.useCallback(nextActiveItemIndex => {
821
+ if (state.activeItemIndex !== nextActiveItemIndex) dispatch({
822
+ type: 'setActiveItemIndex',
823
+ payload: nextActiveItemIndex
824
+ });
825
+ }, [state.activeItemIndex]);
826
+ const handleToggleMenu = react.useCallback(() => {
827
+ if (state.isMenuOpen && state.activeItemIndex) {
828
+ dispatch({
829
+ type: 'unsetActiveItemIndex'
830
+ });
831
+ }
832
+ dispatch({
833
+ type: 'toggleIsMenuOpen'
834
+ });
835
+ // Synchronize the menu state with local storage.
836
+ window.localStorage.setItem(constants.STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(!state.isMenuOpen));
837
+ }, [state.activeItemIndex, state.isMenuOpen]);
838
+ const allInternalApplicationsNavbarMenu = applicationsNavBarMenu || [];
839
+ return _objectSpread$1(_objectSpread$1({}, state), {}, {
840
+ navBarNode,
841
+ handleToggleItem,
842
+ handleToggleMenu,
843
+ shouldCloseMenuFly,
844
+ allInternalApplicationsNavbarMenu,
845
+ allCustomApplicationsNavbarMenu
846
+ });
847
+ };
848
+
849
+ function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
850
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context9, _context10; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context9 = ownKeys(Object(t), !0)).call(_context9, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context10 = ownKeys(Object(t))).call(_context10, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
851
+ const compiledStyles = {
852
+ "global": ":root {\n\n /* Left navigation */\n}\n\n@keyframes navbar-mod__visible___AKV1b {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: grid;\n width: 80px;\n background: var(--color-primary);\n height: 100%;\n grid-template-rows: 56px 1fr;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr {\n background-color: var(--color-accent-10);\n color: var(--color-surface);\n display: flex;\n justify-content: center;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-30);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__title___eRWUj {\n font-weight: 600;\n margin-left: var(--spacing-20);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__navigation-header___Z6fOr .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list___RCV3J {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.navbar-mod__list-item___MjK6t {\n min-height: 48px;\n background: var(--color-primary);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___X2Ina {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n width: 48px;\n position: relative;\n display: block;\n}\n\n.body__menu-open .navbar-mod__item-link___X2Ina {\n width: 100%;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__icon___bLsep {\n /* 1.16 is roughly the ratio of icon-size-hover to --icon-size */\n transform: scale(1.2);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n fill: var(--color-surface);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 600;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n opacity: 0;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n text-align: left;\n text-decoration: none;\n z-index: 1;\n}\n\n.navbar-mod__expander___jyAUi {\n display: flex;\n align-items: center;\n justify-content: center;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background: linear-gradient(\n 180deg,\n var(--color-primary) 0%,\n var(--color-primary-25) 100%\n );\n padding: var(--spacing-30) var(--spacing-25);\n}\n\n.navbar-mod__expander___jyAUi:hover {\n background-color: var(--color-primary-40);\n}\n\n/* divider */\n\n.navbar-mod__expander___jyAUi::before {\n content: '';\n position: absolute;\n top: 56px;\n height: 1px;\n background: rgba(255, 255, 255, 0.5);\n width: calc(100% - 2 * var(--spacing-30));\n}\n\n.navbar-mod__expand-icon___BtmRa {\n height: 40px;\n width: 40px;\n border-radius: var(--border-radius-4);\n padding: var(--spacing-20);\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__expand-icon___BtmRa:hover {\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item_menu__active___5xFRw):hover {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n box-shadow: var(--shadow-for-navbar);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 48px;\n overflow: hidden;\n width: 100%;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n width: 256px;\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n opacity: 1;\n margin-left: var(--spacing-25);\n color: var(--color-surface);\n transition: all 150ms cubic-bezier(1, 0, 0.58, 1);\n animation: navbar-mod__visible___AKV1b 150ms cubic-bezier(1, 0, 0.58, 1);\n}\n\n.navbar-mod__list-item___MjK6t:hover .navbar-mod__title___eRWUj {\n margin-left: calc(var(--spacing-25) + 2px);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__icon___bLsep > svg *:not([fill='none']) {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n fill: var(--color-for-navbar-icon-when-active);\n}\n\n.navbar-mod__list-item___MjK6t:not(.navbar-mod__item__active___lo1sr):hover .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n}\n\n.body__menu-open .navbar-mod__item__active___lo1sr {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: var(--spacing-30);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar);\n left: 72px;\n z-index: -1;\n list-style: none;\n position: fixed;\n display: none;\n}\n\n/* This pseudo-element is required to enable smooth coursor movement from the main menu item to submenu items with the gap in between */\n\n.navbar-mod__sublist-expanded__active___240JK::before,\n.navbar-mod__sublist-collapsed__active___-9vYh::before,\n.navbar-mod__sublist-collapsed__active__above___BXCeM::before {\n content: '';\n position: absolute;\n display: block;\n width: calc(253px + var(--spacing-20));\n height: 48px;\n left: calc(-1 * var(--spacing-20));\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n display: flex;\n align-items: center;\n align-self: stretch;\n transition: padding-left 150ms ease-out;\n}\n\n.navbar-mod__sublist-item__active___QC6pa {\n border-radius: var(--border-radius-4);\n background: var(--color-accent-30);\n}\n\n.navbar-mod__sublist-item___gafkS:not(.navbar-mod__sublist-item__active___QC6pa):hover {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-hovered);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n border-radius: var(--border-radius-4);\n background: var(--color-primary-95);\n padding-left: var(--spacing-20);\n}\n\n.navbar-mod__text___ccHEu {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n width: 100%;\n height: 100%;\n}\n\n.navbar-mod__text-link___dhtj6 {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link);\n text-decoration: none;\n display: flex;\n padding: var(--spacing-25);\n align-items: center;\n justify-content: center;\n}\n\n.body__menu-open .navbar-mod__text-link___dhtj6 {\n justify-content: start;\n}\n\n.navbar-mod__text-link-sublist-wrapper___1JN4x {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 0;\n}\n\n.navbar-mod__text-link-sublist___AoIpU {\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n color: var(--color-solid);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-hovered);\n text-decoration: none;\n flex: 1;\n padding: var(--spacing-25) var(--spacing-25) var(--spacing-25)\n var(--spacing-30);\n}\n\n.navbar-mod__navlink-clickable-content___bzddC {\n height: 100%;\n width: 100%;\n}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr,\n.navbar-mod__item_menu__active___5xFRw {\n background: var(--color-accent-30);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n width: auto;\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n justify-content: center;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__support-menu___fi5Ka {\n padding: 0 var(--spacing-30) var(--spacing-20) var(--spacing-30);\n height: calc(48px + var(--spacing-20));\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n position: relative;\n width: auto;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n margin-left: 0;\n}\n\n.navbar-mod__tooltip-container___iJYyi {\n position: absolute;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n visibility: visible;\n}\n\n.navbar-mod__tooltip___1ID3j {\n padding: var(--spacing-10) calc(var(--spacing-20) + var(--spacing-10));\n /* stylelint-disable-next-line value-no-vendor-prefix */\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n border-radius: var(--border-radius-4);\n background: var(--color-accent-10);\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-navbar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link);\n color: var(--color-surface);\n max-height: 48px;\n visibility: inherit;\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__sublist-collapsed__active__above___BXCeM {\n opacity: 1;\n display: none;\n text-align: left;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--background-color-for-navbar-when-active);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n background-color: var(--color-surface);\n /* TODO: add design tokens instead hard-coded values */\n min-height: 50px;\n width: 253px;\n border-radius: var(--border-radius-8);\n /* z-index value must be higher than AppBar's z-index */\n z-index: 20001;\n box-shadow: -2px 4px 25px 0 rgba(89, 89, 89, 0.5);\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active___-9vYh.navbar-mod__sublist-collapsed__empty___FBUli,\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-collapsed__active__above___BXCeM.navbar-mod__sublist-collapsed__empty___FBUli {\n visibility: hidden;\n}\n\n.navbar-mod__item-link___X2Ina:hover .navbar-mod__sublist-expanded__active___240JK {\n left: 248px;\n}\n\n.navbar-mod__highlighted___oJWkA,\n.navbar-mod__highlighted___oJWkA .navbar-mod__title___eRWUj {\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n color: var(--color-for-navbar-link-when-active) !important;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-weight: var(--font-weight-for-navbar-link-when-active);\n}\n\n.navbar-mod__hidden___TQLSs {\n display: none;\n}\n\n.navbar-mod__divider___TpVzu {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___G2LVb {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: hidden;\n padding: var(--spacing-30) var(--spacing-30) 48px;\n width: 80px;\n box-sizing: border-box;\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--color-primary-40) transparent;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n width: 256px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ:hover {\n overflow-y: scroll;\n padding-right: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar {\n width: 8px;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navbar-mod__scrollable-menu___64pxJ::-webkit-scrollbar-thumb {\n background-color: var(--color-primary-40);\n border-radius: var(--border-radius-8);\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n position: relative;\n width: 80px;\n}\n\n.body__menu-open .navbar-mod__fixed-menu___42tD9 {\n width: 256px;\n}\n",
853
+ "jsonMap": {
854
+ "left-navigation": "navbar-mod__left-navigation___n7yUt",
855
+ "navigation-header": "navbar-mod__navigation-header___Z6fOr",
856
+ "icon-container": "navbar-mod__icon-container___w3FtA",
857
+ "title": "navbar-mod__title___eRWUj",
858
+ "visible": "navbar-mod__visible___AKV1b",
859
+ "icon": "navbar-mod__icon___bLsep",
860
+ "list": "navbar-mod__list___RCV3J",
861
+ "list-item": "navbar-mod__list-item___MjK6t",
862
+ "item-link": "navbar-mod__item-link___X2Ina",
863
+ "item-icon-text": "navbar-mod__item-icon-text___a-8JY",
864
+ "expander": "navbar-mod__expander___jyAUi",
865
+ "expand-icon": "navbar-mod__expand-icon___BtmRa",
866
+ "item--bottom": "navbar-mod__item--bottom___eW7nh",
867
+ "item_menu__active": "navbar-mod__item_menu__active___5xFRw",
868
+ "item_menu-open": "navbar-mod__item_menu-open___zk0zh",
869
+ "item_menu-collapsed": "navbar-mod__item_menu-collapsed___cluyY",
870
+ "item__active": "navbar-mod__item__active___lo1sr",
871
+ "sublist": "navbar-mod__sublist___os1s7",
872
+ "sublist-expanded__active": "navbar-mod__sublist-expanded__active___240JK",
873
+ "sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___-9vYh",
874
+ "sublist-collapsed__active__above": "navbar-mod__sublist-collapsed__active__above___BXCeM",
875
+ "sublist__inactive": "navbar-mod__sublist__inactive___kJvf-",
876
+ "sublist-item": "navbar-mod__sublist-item___gafkS",
877
+ "sublist-item__active": "navbar-mod__sublist-item__active___QC6pa",
878
+ "text": "navbar-mod__text___ccHEu",
879
+ "text-link": "navbar-mod__text-link___dhtj6",
880
+ "text-link-sublist-wrapper": "navbar-mod__text-link-sublist-wrapper___1JN4x",
881
+ "text-link-sublist": "navbar-mod__text-link-sublist___AoIpU",
882
+ "navlink-clickable-content": "navbar-mod__navlink-clickable-content___bzddC",
883
+ "fixed-menu": "navbar-mod__fixed-menu___42tD9",
884
+ "support-menu": "navbar-mod__support-menu___fi5Ka",
885
+ "tooltip-container": "navbar-mod__tooltip-container___iJYyi",
886
+ "tooltip": "navbar-mod__tooltip___1ID3j",
887
+ "sublist-collapsed__empty": "navbar-mod__sublist-collapsed__empty___FBUli",
888
+ "highlighted": "navbar-mod__highlighted___oJWkA",
889
+ "hidden": "navbar-mod__hidden___TQLSs",
890
+ "divider": "navbar-mod__divider___TpVzu",
891
+ "loading-dot-container": "navbar-mod__loading-dot-container___G2LVb",
892
+ "scrollable-menu": "navbar-mod__scrollable-menu___64pxJ"
893
+ }
894
+ }; // https://babeljs.io/blog/2017/09/11/zero-config-with-babel-macros
895
+ const styles = compiledStyles.jsonMap;
896
+ const getMenuVisibilitiesOfSubmenus = menu => {
897
+ var _context, _context2;
898
+ return _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = menu.submenu).call(_context2, submenu => submenu.menuVisibility)).call(_context, nonNullable);
899
+ };
900
+ const getMenuVisibilityOfMainmenu = menu => menu.menuVisibility ? [menu.menuVisibility] : [];
901
+ const getIsSubmenuRouteActive = (uriPath, props) => {
902
+ var _context3;
903
+ return Boolean(reactRouterDom.matchPath(props.location.pathname, {
904
+ path: _concatInstanceProperty__default["default"](_context3 = "/".concat(props.projectKey, "/")).call(_context3, uriPath),
905
+ exact: true,
906
+ strict: false
907
+ }));
908
+ };
909
+ const ApplicationMenu = props => {
910
+ var _context4, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context5, _context6;
911
+ const _useState = react.useState(0),
912
+ _useState2 = _slicedToArray(_useState, 2),
913
+ submenuVerticalPosition = _useState2[0],
914
+ setSubmenuVerticalPosition = _useState2[1];
915
+ const _useState3 = react.useState(false),
916
+ _useState4 = _slicedToArray(_useState3, 2),
917
+ isSubmenuAboveMenuItem = _useState4[0],
918
+ setIsSubmenuAboveMenuItem = _useState4[1];
919
+ const submenuRef = react.useRef(null);
920
+ const hasSubmenu = _Array$isArray__default["default"](props.menu.submenu) && props.menu.submenu.length > 0;
921
+ const menuItemIdentifier = snakeCase__default["default"](props.menu.key);
922
+ const callbackFn = react.useCallback(entries => {
923
+ var _document$querySelect;
924
+ const menuItemBoundingClientRect = (_document$querySelect = document.querySelector("[data-menuitem=\"".concat(menuItemIdentifier, "\"]"))) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getBoundingClientRect();
925
+ const menuItemTop = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.top) || 0;
926
+ const menuItemBottom = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.bottom) || 0;
927
+ const _entries = _slicedToArray(entries, 1),
928
+ entry = _entries[0];
929
+ const doesSubmenuFitWithinViewportBelowMenuItem = entry.boundingClientRect.height + (props.isMenuOpen ? menuItemTop : menuItemBottom) > window.innerHeight;
930
+ // if the submenu does not fit at the bottom of the viewport (below the menu item)
931
+ if (doesSubmenuFitWithinViewportBelowMenuItem) {
932
+ setIsSubmenuAboveMenuItem(true);
933
+ setSubmenuVerticalPosition(window.innerHeight - (props.isMenuOpen ? menuItemBottom : menuItemTop));
934
+ // show the submenu above the menu item
935
+ } else {
936
+ setIsSubmenuAboveMenuItem(false);
937
+ setSubmenuVerticalPosition(props.isMenuOpen ? menuItemTop : menuItemBottom);
938
+ }
939
+ }, [menuItemIdentifier, props.isMenuOpen]);
940
+ const observerRef = react.useRef(null);
941
+ react.useLayoutEffect(() => {
942
+ observerRef.current = new IntersectionObserver(callbackFn, {
943
+ rootMargin: '-100% 0px 0px 0px' // we want to observe if the submenu crosses the bottom line of the viewport - therefore we set the root element top margin to -100% of the viewport height
944
+ });
945
+
946
+ return () => {
947
+ var _observerRef$current;
948
+ return (_observerRef$current = observerRef.current) === null || _observerRef$current === void 0 ? void 0 : _observerRef$current.disconnect();
949
+ };
950
+ }, [callbackFn, props.isMenuOpen]);
951
+ react.useLayoutEffect(() => {
952
+ const currentSubmenuRef = submenuRef.current;
953
+ const observer = observerRef.current;
954
+ if (!currentSubmenuRef) return;
955
+ if (observer && currentSubmenuRef) {
956
+ observer.observe(currentSubmenuRef);
957
+ }
958
+ return () => observer === null || observer === void 0 ? void 0 : observer.disconnect();
959
+ }, [menuItemIdentifier, props.isMenuOpen, props.handleToggleItem, callbackFn]);
960
+ const isMainMenuRouteActive = Boolean(reactRouterDom.matchPath(props.location.pathname, {
961
+ path: _concatInstanceProperty__default["default"](_context4 = "/".concat(props.projectKey, "/")).call(_context4, props.menu.uriPath),
962
+ exact: false,
963
+ strict: false
964
+ }));
965
+ react.useEffect(() => {
966
+ // On first render, check which menu is active for the current application and expand
967
+ // the submenu automatically unless the all navbar is collapsed or there are no submenu links.
968
+ if (props.isMenuOpen && isMainMenuRouteActive && hasSubmenu) {
969
+ props.handleToggleItem();
970
+ }
971
+ // eslint-disable-next-line react-hooks/exhaustive-deps
972
+ }, [props.isMenuOpen]); // <-- (re)run this only when the all menu expands
973
+
974
+ const namesOfMenuVisibilitiesOfAllSubmenus = hasSubmenu ? getMenuVisibilitiesOfSubmenus(props.menu) : getMenuVisibilityOfMainmenu(props.menu);
975
+ return jsxRuntime.jsx(RestrictedMenuItem, {
976
+ keyOfMenuItem: props.menu.key,
977
+ featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
978
+ permissions: props.menu.permissions,
979
+ actionRights: (_props$menu$actionRig = props.menu.actionRights) !== null && _props$menu$actionRig !== void 0 ? _props$menu$actionRig : undefined,
980
+ dataFences: (_props$menu$dataFence = props.menu.dataFences) !== null && _props$menu$dataFence !== void 0 ? _props$menu$dataFence : undefined,
981
+ projectPermissions: props.projectPermissions,
982
+ menuVisibilities: props.menuVisibilities,
983
+ namesOfMenuVisibilities: namesOfMenuVisibilitiesOfAllSubmenus,
984
+ children: jsxRuntime.jsxs(MenuItem$1, {
985
+ hasSubmenu: hasSubmenu,
986
+ isActive: props.isActive,
987
+ isMainMenuRouteActive: isMainMenuRouteActive,
988
+ isMenuOpen: props.isMenuOpen,
989
+ onClick: props.handleToggleItem,
990
+ onMouseEnter: props.handleToggleItem,
991
+ onMouseLeave: props.shouldCloseMenuFly,
992
+ identifier: menuItemIdentifier,
993
+ children: [jsxRuntime.jsx(MenuItemLink, {
994
+ linkTo: _concatInstanceProperty__default["default"](_context5 = "/".concat(props.projectKey, "/")).call(_context5, props.menu.uriPath),
995
+ useFullRedirectsForLinks: props.useFullRedirectsForLinks,
996
+ onClick: props.onMenuItemClick,
997
+ children: jsxRuntime.jsx(ItemContainer, {
998
+ labelAllLocales: props.menu.labelAllLocales,
999
+ defaultLabel: props.menu.defaultLabel,
1000
+ applicationLocale: props.applicationLocale,
1001
+ icon: props.menu.icon,
1002
+ isMenuOpen: props.isMenuOpen
1003
+ })
1004
+ }), jsxRuntime.jsxs(MenuGroup, {
1005
+ id: "group-".concat(props.menu.key),
1006
+ level: 2,
1007
+ isActive: props.isActive,
1008
+ isExpanded: props.isMenuOpen,
1009
+ hasSubmenu: hasSubmenu,
1010
+ submenuVerticalPosition: submenuVerticalPosition,
1011
+ isSubmenuAboveMenuItem: isSubmenuAboveMenuItem,
1012
+ ref: submenuRef,
1013
+ children: [!props.isMenuOpen && jsxRuntime.jsx("div", {
1014
+ className: styles['tooltip-container'],
1015
+ css: /*#__PURE__*/react$1.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", oidc.DIMENSIONS.navMenuItemHeight, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:ApplicationMenu;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOE9zQiIsImZpbGUiOiJuYXZiYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbiAgdXNlUmVmLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzbmFrZUNhc2UgZnJvbSAnbG9kYXNoL3NuYWtlQ2FzZSc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBtYXRjaFBhdGgsIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgdHlwZSB7IFJvdXRlQ29tcG9uZW50UHJvcHMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7XG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWRBY3Rpb25SaWdodHMsXG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWREYXRhRmVuY2VzLFxuICBub3JtYWxpemVBbGxBcHBsaWVkTWVudVZpc2liaWxpdGllcyxcbiAgbm9ybWFsaXplQWxsQXBwbGllZFBlcm1pc3Npb25zLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB0eXBlIHtcbiAgVEFwcGxpY2F0aW9uQ29udGV4dCxcbiAgVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzLFxuICBUTm9ybWFsaXplZFBlcm1pc3Npb25zLFxuICBUTm9ybWFsaXplZEFjdGlvblJpZ2h0cyxcbiAgVE5vcm1hbGl6ZWREYXRhRmVuY2VzLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCBMb2dvU1ZHIGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2Fzc2V0cy9sb2dvcy9jb21tZXJjZXRvb2xzX3NtYWxsLWxvZ28uc3ZnJztcbmltcG9ydCB7IFNVUFBPUlRfUE9SVEFMX1VSTCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTdXBwb3J0SWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7IERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hQcm9qZWN0UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUgeyBUTmF2YmFyTWVudSwgVEJhc2VNZW51IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB7XG4gIHR5cGUgTWVudUl0ZW1MaW5rUHJvcHMsXG4gIFJlc3RyaWN0ZWRNZW51SXRlbSxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtTGluayxcbiAgTWVudUdyb3VwLFxuICBNZW51TGFiZWwsXG4gIEl0ZW1Db250YWluZXIsXG4gIEZhZGVkLFxuICBNZW51RXhwYW5kZXIsXG4gIE5hdkJhckxheW91dCxcbn0gZnJvbSAnLi9tZW51LWl0ZW1zJztcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuL21lc3NhZ2VzJztcbmltcG9ydCBOYXZCYXJTa2VsZXRvbiBmcm9tICcuL25hdmJhci1za2VsZXRvbic7XG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbi8vIGh0dHBzOi8vYmFiZWxqcy5pby9ibG9nLzIwMTcvMDkvMTEvemVyby1jb25maWctd2l0aC1iYWJlbC1tYWNyb3NcbmltcG9ydCBub25OdWxsYWJsZSBmcm9tICcuL25vbi1udWxsYWJsZSc7XG5pbXBvcnQgdXNlTmF2YmFyU3RhdGVNYW5hZ2VyIGZyb20gJy4vdXNlLW5hdmJhci1zdGF0ZS1tYW5hZ2VyJztcblxuY29uc3Qgc3R5bGVzID0gY29tcGlsZWRTdHlsZXMuanNvbk1hcDtcblxudHlwZSBUUHJvamVjdFBlcm1pc3Npb25zID0ge1xuICBwZXJtaXNzaW9uczogVE5vcm1hbGl6ZWRQZXJtaXNzaW9ucyB8IG51bGw7XG4gIGFjdGlvblJpZ2h0czogVE5vcm1hbGl6ZWRBY3Rpb25SaWdodHMgfCBudWxsO1xuICBkYXRhRmVuY2VzOiBUTm9ybWFsaXplZERhdGFGZW5jZXMgfCBudWxsO1xufTtcblxudHlwZSBUTWVudVdpdGhEZWZhdWx0TGFiZWwgPSBUTmF2YmFyTWVudSAmIHtcbiAgLy8gZGVyaXZlcyBmcm9tIGBwcm9qZWN0RXh0ZW5zaW9uc1F1ZXJ5Lmluc3RhbGxlZEFwcGxpY2F0aW9ucy5hcHBsaWNhdGlvbi5tYWluTWVudUxpbmtgXG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbn07XG50eXBlIFRTdWJtZW51V2l0aERlZmF1bHRMYWJlbCA9IFRCYXNlTWVudSAmIHtcbiAgLy8gZGVyaXZlcyBmcm9tIGBwcm9qZWN0RXh0ZW5zaW9uc1F1ZXJ5Lmluc3RhbGxlZEFwcGxpY2F0aW9ucy5hcHBsaWNhdGlvbi5tYWluTWVudUxpbmtgXG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbn07XG5cbnR5cGUgQXBwbGljYXRpb25NZW51UHJvcHMgPSB7XG4gIGxvY2F0aW9uOiBSb3V0ZUNvbXBvbmVudFByb3BzWydsb2NhdGlvbiddO1xuICBtZW51OiBUTWVudVdpdGhEZWZhdWx0TGFiZWw7XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBzaG91bGRDbG9zZU1lbnVGbHk6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zO1xuICBtZW51VmlzaWJpbGl0aWVzOiBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMgfCBudWxsO1xuICBoYW5kbGVUb2dnbGVJdGVtOiAoKSA9PiB2b2lkO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBwcm9qZWN0S2V5OiBzdHJpbmc7XG4gIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rczogYm9vbGVhbjtcbiAgb25NZW51SXRlbUNsaWNrPzogTWVudUl0ZW1MaW5rUHJvcHNbJ29uQ2xpY2snXTtcbn07XG5cbmNvbnN0IGdldE1lbnVWaXNpYmlsaXRpZXNPZlN1Ym1lbnVzID0gKG1lbnU6IFROYXZiYXJNZW51KSA9PlxuICBtZW51LnN1Ym1lbnUubWFwKChzdWJtZW51KSA9PiBzdWJtZW51Lm1lbnVWaXNpYmlsaXR5KS5maWx0ZXIobm9uTnVsbGFibGUpO1xuY29uc3QgZ2V0TWVudVZpc2liaWxpdHlPZk1haW5tZW51ID0gKG1lbnU6IFROYXZiYXJNZW51KSA9PlxuICBtZW51Lm1lbnVWaXNpYmlsaXR5ID8gW21lbnUubWVudVZpc2liaWxpdHldIDogW107XG5cbmNvbnN0IGdldElzU3VibWVudVJvdXRlQWN0aXZlID0gKFxuICB1cmlQYXRoOiBBcHBsaWNhdGlvbk1lbnVQcm9wc1snbWVudSddWydzdWJtZW51J11bbnVtYmVyXVsndXJpUGF0aCddLFxuICBwcm9wczogQXBwbGljYXRpb25NZW51UHJvcHNcbikgPT5cbiAgQm9vbGVhbihcbiAgICBtYXRjaFBhdGgocHJvcHMubG9jYXRpb24ucGF0aG5hbWUsIHtcbiAgICAgIHBhdGg6IGAvJHtwcm9wcy5wcm9qZWN0S2V5fS8ke3VyaVBhdGh9YCxcbiAgICAgIGV4YWN0OiB0cnVlLFxuICAgICAgc3RyaWN0OiBmYWxzZSxcbiAgICB9KVxuICApO1xuXG5leHBvcnQgY29uc3QgQXBwbGljYXRpb25NZW51ID0gKHByb3BzOiBBcHBsaWNhdGlvbk1lbnVQcm9wcykgPT4ge1xuICBjb25zdCBbc3VibWVudVZlcnRpY2FsUG9zaXRpb24sIHNldFN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uXSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbaXNTdWJtZW51QWJvdmVNZW51SXRlbSwgc2V0SXNTdWJtZW51QWJvdmVNZW51SXRlbV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHN1Ym1lbnVSZWYgPSB1c2VSZWY8SFRNTFVMaXN0RWxlbWVudD4obnVsbCk7XG5cbiAgY29uc3QgaGFzU3VibWVudSA9XG4gICAgQXJyYXkuaXNBcnJheShwcm9wcy5tZW51LnN1Ym1lbnUpICYmIHByb3BzLm1lbnUuc3VibWVudS5sZW5ndGggPiAwO1xuXG4gIGNvbnN0IG1lbnVJdGVtSWRlbnRpZmllciA9IHNuYWtlQ2FzZShwcm9wcy5tZW51LmtleSk7XG5cbiAgY29uc3QgY2FsbGJhY2tGbjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayA9IHVzZUNhbGxiYWNrKFxuICAgIChlbnRyaWVzKSA9PiB7XG4gICAgICBjb25zdCBtZW51SXRlbUJvdW5kaW5nQ2xpZW50UmVjdCA9IGRvY3VtZW50XG4gICAgICAgIC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1tZW51aXRlbT1cIiR7bWVudUl0ZW1JZGVudGlmaWVyfVwiXWApXG4gICAgICAgID8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBtZW51SXRlbVRvcCA9IG1lbnVJdGVtQm91bmRpbmdDbGllbnRSZWN0Py50b3AgfHwgMDtcbiAgICAgIGNvbnN0IG1lbnVJdGVtQm90dG9tID0gbWVudUl0ZW1Cb3VuZGluZ0NsaWVudFJlY3Q/LmJvdHRvbSB8fCAwO1xuXG4gICAgICBjb25zdCBbZW50cnldID0gZW50cmllcztcblxuICAgICAgY29uc3QgZG9lc1N1Ym1lbnVGaXRXaXRoaW5WaWV3cG9ydEJlbG93TWVudUl0ZW0gPVxuICAgICAgICBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QuaGVpZ2h0ICtcbiAgICAgICAgICAocHJvcHMuaXNNZW51T3BlbiA/IG1lbnVJdGVtVG9wIDogbWVudUl0ZW1Cb3R0b20pID5cbiAgICAgICAgd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgLy8gaWYgdGhlIHN1Ym1lbnUgZG9lcyBub3QgZml0IGF0IHRoZSBib3R0b20gb2YgdGhlIHZpZXdwb3J0IChiZWxvdyB0aGUgbWVudSBpdGVtKVxuICAgICAgaWYgKGRvZXNTdWJtZW51Rml0V2l0aGluVmlld3BvcnRCZWxvd01lbnVJdGVtKSB7XG4gICAgICAgIHNldElzU3VibWVudUFib3ZlTWVudUl0ZW0odHJ1ZSk7XG4gICAgICAgIHNldFN1Ym1lbnVWZXJ0aWNhbFBvc2l0aW9uKFxuICAgICAgICAgIHdpbmRvdy5pbm5lckhlaWdodCAtIChwcm9wcy5pc01lbnVPcGVuID8gbWVudUl0ZW1Cb3R0b20gOiBtZW51SXRlbVRvcClcbiAgICAgICAgKTtcbiAgICAgICAgLy8gc2hvdyB0aGUgc3VibWVudSBhYm92ZSB0aGUgbWVudSBpdGVtXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRJc1N1Ym1lbnVBYm92ZU1lbnVJdGVtKGZhbHNlKTtcbiAgICAgICAgc2V0U3VibWVudVZlcnRpY2FsUG9zaXRpb24oXG4gICAgICAgICAgcHJvcHMuaXNNZW51T3BlbiA/IG1lbnVJdGVtVG9wIDogbWVudUl0ZW1Cb3R0b21cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFttZW51SXRlbUlkZW50aWZpZXIsIHByb3BzLmlzTWVudU9wZW5dXG4gICk7XG5cbiAgY29uc3Qgb2JzZXJ2ZXJSZWYgPSB1c2VSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXIgfCBudWxsPihudWxsKTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIG9ic2VydmVyUmVmLmN1cnJlbnQgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoY2FsbGJhY2tGbiwge1xuICAgICAgcm9vdE1hcmdpbjogJy0xMDAlIDBweCAwcHggMHB4JywgLy8gd2Ugd2FudCB0byBvYnNlcnZlIGlmIHRoZSBzdWJtZW51IGNyb3NzZXMgdGhlIGJvdHRvbSBsaW5lIG9mIHRoZSB2aWV3cG9ydCAtIHRoZXJlZm9yZSB3ZSBzZXQgdGhlIHJvb3QgZWxlbWVudCB0b3AgbWFyZ2luIHRvIC0xMDAlIG9mIHRoZSB2aWV3cG9ydCBoZWlnaHRcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXJSZWYuY3VycmVudD8uZGlzY29ubmVjdCgpO1xuICB9LCBbY2FsbGJhY2tGbiwgcHJvcHMuaXNNZW51T3Blbl0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudFN1Ym1lbnVSZWYgPSBzdWJtZW51UmVmLmN1cnJlbnQ7XG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBvYnNlcnZlclJlZi5jdXJyZW50O1xuICAgIGlmICghY3VycmVudFN1Ym1lbnVSZWYpIHJldHVybjtcblxuICAgIGlmIChvYnNlcnZlciAmJiBjdXJyZW50U3VibWVudVJlZikge1xuICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShjdXJyZW50U3VibWVudVJlZik7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiBvYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICB9LCBbXG4gICAgbWVudUl0ZW1JZGVudGlmaWVyLFxuICAgIHByb3BzLmlzTWVudU9wZW4sXG4gICAgcHJvcHMuaGFuZGxlVG9nZ2xlSXRlbSxcbiAgICBjYWxsYmFja0ZuLFxuICBdKTtcblxuICBjb25zdCBpc01haW5NZW51Um91dGVBY3RpdmUgPSBCb29sZWFuKFxuICAgIG1hdGNoUGF0aChwcm9wcy5sb2NhdGlvbi5wYXRobmFtZSwge1xuICAgICAgcGF0aDogYC8ke3Byb3BzLnByb2plY3RLZXl9LyR7cHJvcHMubWVudS51cmlQYXRofWAsXG4gICAgICBleGFjdDogZmFsc2UsXG4gICAgICBzdHJpY3Q6IGZhbHNlLFxuICAgIH0pXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBPbiBmaXJzdCByZW5kZXIsIGNoZWNrIHdoaWNoIG1lbnUgaXMgYWN0aXZlIGZvciB0aGUgY3VycmVudCBhcHBsaWNhdGlvbiBhbmQgZXhwYW5kXG4gICAgLy8gdGhlIHN1Ym1lbnUgYXV0b21hdGljYWxseSB1bmxlc3MgdGhlIGFsbCBuYXZiYXIgaXMgY29sbGFwc2VkIG9yIHRoZXJlIGFyZSBubyBzdWJtZW51IGxpbmtzLlxuICAgIGlmIChwcm9wcy5pc01lbnVPcGVuICYmIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSAmJiBoYXNTdWJtZW51KSB7XG4gICAgICBwcm9wcy5oYW5kbGVUb2dnbGVJdGVtKCk7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3Byb3BzLmlzTWVudU9wZW5dKTsgLy8gPC0tIChyZSlydW4gdGhpcyBvbmx5IHdoZW4gdGhlIGFsbCBtZW51IGV4cGFuZHNcblxuICBjb25zdCBuYW1lc09mTWVudVZpc2liaWxpdGllc09mQWxsU3VibWVudXMgPSBoYXNTdWJtZW51XG4gICAgPyBnZXRNZW51VmlzaWJpbGl0aWVzT2ZTdWJtZW51cyhwcm9wcy5tZW51KVxuICAgIDogZ2V0TWVudVZpc2liaWxpdHlPZk1haW5tZW51KHByb3BzLm1lbnUpO1xuXG4gIHJldHVybiAoXG4gICAgPFJlc3RyaWN0ZWRNZW51SXRlbVxuICAgICAga2V5PXtwcm9wcy5tZW51LmtleX1cbiAgICAgIGtleU9mTWVudUl0ZW09e3Byb3BzLm1lbnUua2V5fVxuICAgICAgZmVhdHVyZVRvZ2dsZT17cHJvcHMubWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgIHBlcm1pc3Npb25zPXtwcm9wcy5tZW51LnBlcm1pc3Npb25zfVxuICAgICAgYWN0aW9uUmlnaHRzPXtwcm9wcy5tZW51LmFjdGlvblJpZ2h0cyA/PyB1bmRlZmluZWR9XG4gICAgICBkYXRhRmVuY2VzPXtwcm9wcy5tZW51LmRhdGFGZW5jZXMgPz8gdW5kZWZpbmVkfVxuICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICBtZW51VmlzaWJpbGl0aWVzPXtwcm9wcy5tZW51VmlzaWJpbGl0aWVzfVxuICAgICAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM9e25hbWVzT2ZNZW51VmlzaWJpbGl0aWVzT2ZBbGxTdWJtZW51c31cbiAgICA+XG4gICAgICA8TWVudUl0ZW1cbiAgICAgICAgaGFzU3VibWVudT17aGFzU3VibWVudX1cbiAgICAgICAgaXNBY3RpdmU9e3Byb3BzLmlzQWN0aXZlfVxuICAgICAgICBpc01haW5NZW51Um91dGVBY3RpdmU9e2lzTWFpbk1lbnVSb3V0ZUFjdGl2ZX1cbiAgICAgICAgaXNNZW51T3Blbj17cHJvcHMuaXNNZW51T3Blbn1cbiAgICAgICAgb25DbGljaz17cHJvcHMuaGFuZGxlVG9nZ2xlSXRlbX1cbiAgICAgICAgb25Nb3VzZUVudGVyPXtwcm9wcy5oYW5kbGVUb2dnbGVJdGVtfVxuICAgICAgICBvbk1vdXNlTGVhdmU9e3Byb3BzLnNob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgaWRlbnRpZmllcj17bWVudUl0ZW1JZGVudGlmaWVyfVxuICAgICAgPlxuICAgICAgICA8TWVudUl0ZW1MaW5rXG4gICAgICAgICAgbGlua1RvPXtgLyR7cHJvcHMucHJvamVjdEtleX0vJHtwcm9wcy5tZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M9e3Byb3BzLnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc31cbiAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgID5cbiAgICAgICAgICA8SXRlbUNvbnRhaW5lclxuICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5tZW51LmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMubWVudS5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICBpY29uPXtwcm9wcy5tZW51Lmljb259XG4gICAgICAgICAgICBpc01lbnVPcGVuPXtwcm9wcy5pc01lbnVPcGVufVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvTWVudUl0ZW1MaW5rPlxuICAgICAgICA8TWVudUdyb3VwXG4gICAgICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLm1lbnUua2V5fWB9XG4gICAgICAgICAgbGV2ZWw9ezJ9XG4gICAgICAgICAgaXNBY3RpdmU9e3Byb3BzLmlzQWN0aXZlfVxuICAgICAgICAgIGlzRXhwYW5kZWQ9e3Byb3BzLmlzTWVudU9wZW59XG4gICAgICAgICAgaGFzU3VibWVudT17aGFzU3VibWVudX1cbiAgICAgICAgICBzdWJtZW51VmVydGljYWxQb3NpdGlvbj17c3VibWVudVZlcnRpY2FsUG9zaXRpb259XG4gICAgICAgICAgaXNTdWJtZW51QWJvdmVNZW51SXRlbT17aXNTdWJtZW51QWJvdmVNZW51SXRlbX1cbiAgICAgICAgICByZWY9e3N1Ym1lbnVSZWZ9XG4gICAgICAgID5cbiAgICAgICAgICB7IXByb3BzLmlzTWVudU9wZW4gJiYgKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1sndG9vbHRpcC1jb250YWluZXInXX1cbiAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgJHtpc1N1Ym1lbnVBYm92ZU1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICA/ICdib3R0b20nXG4gICAgICAgICAgICAgICAgICA6ICd0b3AnfTogLSR7RElNRU5TSU9OUy5uYXZNZW51SXRlbUhlaWdodH07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1sndG9vbHRpcCddfVxuICAgICAgICAgICAgICAgIGFyaWEtb3ducz17YGdyb3VwLSR7cHJvcHMubWVudS5rZXl9YH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17cHJvcHMubWVudS5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLm1lbnUuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7aGFzU3VibWVudVxuICAgICAgICAgICAgPyBwcm9wcy5tZW51LnN1Ym1lbnUubWFwKChzdWJtZW51OiBUU3VibWVudVdpdGhEZWZhdWx0TGFiZWwpID0+IChcbiAgICAgICAgICAgICAgICA8UmVzdHJpY3RlZE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICBrZXk9e2Ake3Byb3BzLm1lbnUua2V5fS1zdWJtZW51LSR7c3VibWVudS5rZXl9YH1cbiAgICAgICAgICAgICAgICAgIGtleU9mTWVudUl0ZW09e3N1Ym1lbnUua2V5fVxuICAgICAgICAgICAgICAgICAgZmVhdHVyZVRvZ2dsZT17c3VibWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zPXtzdWJtZW51LnBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgYWN0aW9uUmlnaHRzPXtzdWJtZW51LmFjdGlvblJpZ2h0cyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICBkYXRhRmVuY2VzPXtzdWJtZW51LmRhdGFGZW5jZXMgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9wcy5wcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXtwcm9wcy5tZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgICAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM9e1xuICAgICAgICAgICAgICAgICAgICBzdWJtZW51Lm1lbnVWaXNpYmlsaXR5XG4gICAgICAgICAgICAgICAgICAgICAgPyBbc3VibWVudS5tZW51VmlzaWJpbGl0eV1cbiAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydzdWJsaXN0LWl0ZW0nXSwge1xuICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtaXRlbV9fYWN0aXZlJ11dOiBnZXRJc1N1Ym1lbnVSb3V0ZUFjdGl2ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Ym1lbnUudXJpUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGV4dH0+XG4gICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgbGlua1RvPXtgLyR7cHJvcHMucHJvamVjdEtleX0vJHtzdWJtZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gdXNlIGFuIGV4YWN0IG1hdGNoaW5nIHN0cmF0ZWd5IHRvIGF2b2lkIG11bHRpcGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5rcyBtYXRjaGluZyBzdWItcm91dGVzLlxuICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3RNYXRjaFxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICBpc1N1Ym1lbnVMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3N1Ym1lbnUubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3N1Ym1lbnUuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvTWVudUl0ZW1MaW5rPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9SZXN0cmljdGVkTWVudUl0ZW0+XG4gICAgICAgICAgICAgICkpXG4gICAgICAgICAgICA6IG51bGx9XG4gICAgICAgIDwvTWVudUdyb3VwPlxuICAgICAgPC9NZW51SXRlbT5cbiAgICA8L1Jlc3RyaWN0ZWRNZW51SXRlbT5cbiAgKTtcbn07XG5BcHBsaWNhdGlvbk1lbnUuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25NZW51JztcblxuZXhwb3J0IHR5cGUgVE5hdmJhclByb3BzID0ge1xuICBhcHBsaWNhdGlvbkxvY2FsZT86IHN0cmluZztcbiAgcHJvamVjdEtleTogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDx7XG4gICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbiAgfT5bJ2Vudmlyb25tZW50J107XG4gIHByb2plY3Q6IFRGZXRjaFByb2plY3RRdWVyeVsncHJvamVjdCddO1xuICBvbk1lbnVJdGVtQ2xpY2s/OiBNZW51SXRlbUxpbmtQcm9wc1snb25DbGljayddO1xuICBpc0xvYWRpbmc6IGJvb2xlYW47XG59O1xuY29uc3QgTmF2QmFyID0gKHByb3BzOiBUTmF2YmFyUHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIG5hdkJhck5vZGUsXG4gICAgaXNNZW51T3BlbixcbiAgICBpc0V4cGFuZGVyVmlzaWJsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gICAgaGFuZGxlVG9nZ2xlSXRlbSxcbiAgICBoYW5kbGVUb2dnbGVNZW51LFxuICAgIHNob3VsZENsb3NlTWVudUZseSxcbiAgICBhbGxJbnRlcm5hbEFwcGxpY2F0aW9uc05hdmJhck1lbnUsXG4gICAgYWxsQ3VzdG9tQXBwbGljYXRpb25zTmF2YmFyTWVudSxcbiAgfSA9IHVzZU5hdmJhclN0YXRlTWFuYWdlcih7XG4gICAgZW52aXJvbm1lbnQ6IHByb3BzLmVudmlyb25tZW50LFxuICB9KTtcbiAgY29uc3QgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzID0gQm9vbGVhbihcbiAgICBwcm9wcy5lbnZpcm9ubWVudC51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3NcbiAgKTtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gIGNvbnN0IHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHBlcm1pc3Npb25zOiBub3JtYWxpemVBbGxBcHBsaWVkUGVybWlzc2lvbnMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zLmFsbEFwcGxpZWRQZXJtaXNzaW9uc1xuICAgICAgKSxcbiAgICAgIGFjdGlvblJpZ2h0czogbm9ybWFsaXplQWxsQXBwbGllZEFjdGlvblJpZ2h0cyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnMuYWxsQXBwbGllZEFjdGlvblJpZ2h0c1xuICAgICAgKSxcbiAgICAgIGRhdGFGZW5jZXM6IG5vcm1hbGl6ZUFsbEFwcGxpZWREYXRhRmVuY2VzKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9ucy5hbGxBcHBsaWVkRGF0YUZlbmNlc1xuICAgICAgKSxcbiAgICB9KSxcbiAgICBbcHJvcHMucHJvamVjdF1cbiAgKTtcbiAgY29uc3QgbWVudVZpc2liaWxpdGllcyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIG5vcm1hbGl6ZUFsbEFwcGxpZWRNZW51VmlzaWJpbGl0aWVzKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9uc1xuICAgICAgICAgIC5hbGxBcHBsaWVkTWVudVZpc2liaWxpdGllc1xuICAgICAgKSxcbiAgICBbcHJvcHMucHJvamVjdF1cbiAgKTtcblxuICBjb25zdCBhcHBsaWNhdGlvbkxvY2FsZSA9IHByb3BzLmFwcGxpY2F0aW9uTG9jYWxlO1xuXG4gIC8vIFJlbmRlciB0aGUgbG9hZGluZyBuYXZiYXIgYXMgbG9uZyBhcyBhbGwgdGhlIGRhdGFcbiAgLy8gaGFzbid0IGJlZW4gbG9hZGVkLCBvciBpZiB0aGUgcHJvamVjdCBkb2VzIG5vdCBleGlzdC5cbiAgaWYgKHByb3BzLmlzTG9hZGluZyB8fCB0eXBlb2YgYXBwbGljYXRpb25Mb2NhbGUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIDxOYXZCYXJTa2VsZXRvbiBpc0V4cGFuZGVkPXtpc01lbnVPcGVufSAvPjtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPE5hdkJhckxheW91dCByZWY9e25hdkJhck5vZGV9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snbmF2aWdhdGlvbi1oZWFkZXInXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24nXX0+XG4gICAgICAgICAgICA8aW1nIHNyYz17TG9nb1NWR30gd2lkdGg9XCIxMDAlXCIgYWx0PVwiTG9nb1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7aXNNZW51T3BlbiA/IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWyd0aXRsZSddfT5NZXJjaGFudCBDZW50ZXI8L2Rpdj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxNZW51R3JvdXAgaWQ9XCJtYWluXCIgbGV2ZWw9ezF9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydzY3JvbGxhYmxlLW1lbnUnXX0+XG4gICAgICAgICAge2FsbEludGVybmFsQXBwbGljYXRpb25zTmF2YmFyTWVudS5tYXAoKG1lbnUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lbnVUeXBlID0gJ3Njcm9sbGFibGUnO1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gYCR7bWVudVR5cGV9LSR7bWVudS5rZXl9YDtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxBcHBsaWNhdGlvbk1lbnVcbiAgICAgICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgICAgIGxvY2F0aW9uPXtsb2NhdGlvbn1cbiAgICAgICAgICAgICAgICBtZW51PXttZW51fVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmVJdGVtSW5kZXggPT09IGl0ZW1JbmRleH1cbiAgICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtPXsoKSA9PiBoYW5kbGVUb2dnbGVJdGVtKGl0ZW1JbmRleCl9XG4gICAgICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgICBzaG91bGRDbG9zZU1lbnVGbHk9e3Nob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXttZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXthcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9wcy5wcm9qZWN0S2V5fVxuICAgICAgICAgICAgICAgIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz17dXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzfVxuICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgICB7YWxsQ3VzdG9tQXBwbGljYXRpb25zTmF2YmFyTWVudS5tYXAoKG1lbnUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lbnVUeXBlID0gJ3Njcm9sbGFibGUnO1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gYCR7bWVudVR5cGV9LSR7bWVudS5rZXl9YDtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxBcHBsaWNhdGlvbk1lbnVcbiAgICAgICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgICAgIGxvY2F0aW9uPXtsb2NhdGlvbn1cbiAgICAgICAgICAgICAgICBtZW51PXttZW51fVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmVJdGVtSW5kZXggPT09IGl0ZW1JbmRleH1cbiAgICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtPXsoKSA9PiBoYW5kbGVUb2dnbGVJdGVtKGl0ZW1JbmRleCl9XG4gICAgICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgICBzaG91bGRDbG9zZU1lbnVGbHk9e3Nob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXttZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXthcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9wcy5wcm9qZWN0S2V5fVxuICAgICAgICAgICAgICAgIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz17dXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzfVxuICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ZpeGVkLW1lbnUnXX0+XG4gICAgICAgICAgPEZhZGVkIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snc3VwcG9ydC1tZW51J119PlxuICAgICAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgICAgIGhhc1N1Ym1lbnU9e2ZhbHNlfVxuICAgICAgICAgICAgICBpc0FjdGl2ZT17ZmFsc2V9XG4gICAgICAgICAgICAgIGlzTWVudU9wZW49e2lzTWVudU9wZW59XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtKCdmaXhlZC1zdXBwb3J0Jyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17XG4gICAgICAgICAgICAgICAgaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6ICgpID0+IGhhbmRsZVRvZ2dsZUl0ZW0oJ2ZpeGVkLXN1cHBvcnQnKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17aXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHNob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rJ119XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uJ119PlxuICAgICAgICAgICAgICAgICAgICAgIDxTdXBwb3J0SWNvbiBzaXplPVwic2NhbGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAge2lzTWVudU9wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ubWVzc2FnZXNbJ05hdkJhci5NQ1N1cHBvcnQudGl0bGUnXX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxNZW51RXhwYW5kZXJcbiAgICAgICAgICAgIGlzVmlzaWJsZT17aXNFeHBhbmRlclZpc2libGV9XG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUb2dnbGVNZW51fVxuICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvTWVudUdyb3VwPlxuICAgIDwvTmF2QmFyTGF5b3V0PlxuICApO1xufTtcbk5hdkJhci5kaXNwbGF5TmFtZSA9ICdOYXZCYXInO1xuXG5leHBvcnQgZGVmYXVsdCBOYXZCYXI7XG4iXX0= */"),
1016
+ children: jsxRuntime.jsx("div", {
1017
+ className: styles['tooltip'],
1018
+ "aria-owns": "group-".concat(props.menu.key),
1019
+ children: jsxRuntime.jsx(MenuLabel, {
1020
+ labelAllLocales: props.menu.labelAllLocales,
1021
+ defaultLabel: props.menu.defaultLabel,
1022
+ applicationLocale: props.applicationLocale
1023
+ })
1024
+ })
1025
+ }), hasSubmenu ? _mapInstanceProperty__default["default"](_context6 = props.menu.submenu).call(_context6, submenu => {
1026
+ var _context7, _submenu$featureToggl, _submenu$actionRights, _submenu$dataFences, _context8;
1027
+ return jsxRuntime.jsx(RestrictedMenuItem, {
1028
+ keyOfMenuItem: submenu.key,
1029
+ featureToggle: (_submenu$featureToggl = submenu.featureToggle) !== null && _submenu$featureToggl !== void 0 ? _submenu$featureToggl : undefined,
1030
+ permissions: submenu.permissions,
1031
+ actionRights: (_submenu$actionRights = submenu.actionRights) !== null && _submenu$actionRights !== void 0 ? _submenu$actionRights : undefined,
1032
+ dataFences: (_submenu$dataFences = submenu.dataFences) !== null && _submenu$dataFences !== void 0 ? _submenu$dataFences : undefined,
1033
+ projectPermissions: props.projectPermissions,
1034
+ menuVisibilities: props.menuVisibilities,
1035
+ namesOfMenuVisibilities: submenu.menuVisibility ? [submenu.menuVisibility] : undefined,
1036
+ children: jsxRuntime.jsx("li", {
1037
+ className: classnames__default["default"](styles['sublist-item'], {
1038
+ [styles['sublist-item__active']]: getIsSubmenuRouteActive(submenu.uriPath, props)
1039
+ }),
1040
+ children: jsxRuntime.jsx("div", {
1041
+ className: styles.text,
1042
+ children: jsxRuntime.jsx(MenuItemLink, {
1043
+ linkTo: _concatInstanceProperty__default["default"](_context8 = "/".concat(props.projectKey, "/")).call(_context8, submenu.uriPath)
1044
+ // We want to use an exact matching strategy to avoid multiple
1045
+ // links matching sub-routes.
1046
+ ,
1047
+ exactMatch: true,
1048
+ useFullRedirectsForLinks: props.useFullRedirectsForLinks,
1049
+ onClick: props.onMenuItemClick,
1050
+ isSubmenuLink: true,
1051
+ children: jsxRuntime.jsx(MenuLabel, {
1052
+ labelAllLocales: submenu.labelAllLocales,
1053
+ defaultLabel: submenu.defaultLabel,
1054
+ applicationLocale: props.applicationLocale
1055
+ })
1056
+ })
1057
+ })
1058
+ })
1059
+ }, _concatInstanceProperty__default["default"](_context7 = "".concat(props.menu.key, "-submenu-")).call(_context7, submenu.key));
1060
+ }) : null]
1061
+ })]
1062
+ })
1063
+ }, props.menu.key);
1064
+ };
1065
+ ApplicationMenu.propTypes = process.env.NODE_ENV !== "production" ? {
1066
+ menu: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].shape({
1067
+ defaultLabel: _pt__default["default"].string
1068
+ })]).isRequired,
1069
+ isActive: _pt__default["default"].bool.isRequired,
1070
+ isMenuOpen: _pt__default["default"].bool.isRequired,
1071
+ shouldCloseMenuFly: _pt__default["default"].func.isRequired,
1072
+ projectPermissions: _pt__default["default"].shape({
1073
+ permissions: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
1074
+ actionRights: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
1075
+ dataFences: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])])
1076
+ }).isRequired,
1077
+ menuVisibilities: _pt__default["default"].oneOfType([_pt__default["default"].any, _pt__default["default"].oneOf([null])]),
1078
+ handleToggleItem: _pt__default["default"].func.isRequired,
1079
+ applicationLocale: _pt__default["default"].string.isRequired,
1080
+ projectKey: _pt__default["default"].string.isRequired,
1081
+ useFullRedirectsForLinks: _pt__default["default"].bool.isRequired
1082
+ } : {};
1083
+ ApplicationMenu.displayName = 'ApplicationMenu';
1084
+ const NavBar = props => {
1085
+ const _useNavbarStateManage = useNavbarStateManager({
1086
+ environment: props.environment
1087
+ }),
1088
+ navBarNode = _useNavbarStateManage.navBarNode,
1089
+ isMenuOpen = _useNavbarStateManage.isMenuOpen,
1090
+ isExpanderVisible = _useNavbarStateManage.isExpanderVisible,
1091
+ activeItemIndex = _useNavbarStateManage.activeItemIndex,
1092
+ handleToggleItem = _useNavbarStateManage.handleToggleItem,
1093
+ handleToggleMenu = _useNavbarStateManage.handleToggleMenu,
1094
+ shouldCloseMenuFly = _useNavbarStateManage.shouldCloseMenuFly,
1095
+ allInternalApplicationsNavbarMenu = _useNavbarStateManage.allInternalApplicationsNavbarMenu,
1096
+ allCustomApplicationsNavbarMenu = _useNavbarStateManage.allCustomApplicationsNavbarMenu;
1097
+ const useFullRedirectsForLinks = Boolean(props.environment.useFullRedirectsForLinks);
1098
+ const location = reactRouterDom.useLocation();
1099
+ const projectPermissions = react.useMemo(() => {
1100
+ var _props$project, _props$project2, _props$project3;
1101
+ return {
1102
+ permissions: applicationShellConnectors.normalizeAllAppliedPermissions((_props$project = props.project) === null || _props$project === void 0 ? void 0 : _props$project.allPermissionsForAllApplications.allAppliedPermissions),
1103
+ actionRights: applicationShellConnectors.normalizeAllAppliedActionRights((_props$project2 = props.project) === null || _props$project2 === void 0 ? void 0 : _props$project2.allPermissionsForAllApplications.allAppliedActionRights),
1104
+ dataFences: applicationShellConnectors.normalizeAllAppliedDataFences((_props$project3 = props.project) === null || _props$project3 === void 0 ? void 0 : _props$project3.allPermissionsForAllApplications.allAppliedDataFences)
1105
+ };
1106
+ }, [props.project]);
1107
+ const menuVisibilities = react.useMemo(() => {
1108
+ var _props$project4;
1109
+ return applicationShellConnectors.normalizeAllAppliedMenuVisibilities((_props$project4 = props.project) === null || _props$project4 === void 0 ? void 0 : _props$project4.allPermissionsForAllApplications.allAppliedMenuVisibilities);
1110
+ }, [props.project]);
1111
+ const applicationLocale = props.applicationLocale;
1112
+
1113
+ // Render the loading navbar as long as all the data
1114
+ // hasn't been loaded, or if the project does not exist.
1115
+ if (props.isLoading || typeof applicationLocale === 'undefined') {
1116
+ return jsxRuntime.jsx(NavBarSkeleton, {
1117
+ isExpanded: isMenuOpen
1118
+ });
1119
+ }
1120
+ return jsxRuntime.jsxs(NavBarLayout$1, {
1121
+ ref: navBarNode,
1122
+ children: [jsxRuntime.jsxs("div", {
1123
+ className: styles['navigation-header'],
1124
+ children: [jsxRuntime.jsx("div", {
1125
+ className: styles['icon-container'],
1126
+ children: jsxRuntime.jsx("div", {
1127
+ className: styles['icon'],
1128
+ children: jsxRuntime.jsx("img", {
1129
+ src: LogoSVG__default["default"],
1130
+ width: "100%",
1131
+ alt: "Logo"
1132
+ })
1133
+ })
1134
+ }), isMenuOpen ? jsxRuntime.jsx("div", {
1135
+ className: styles['title'],
1136
+ children: "Merchant Center"
1137
+ }) : null]
1138
+ }), jsxRuntime.jsxs(MenuGroup, {
1139
+ id: "main",
1140
+ level: 1,
1141
+ children: [jsxRuntime.jsxs("div", {
1142
+ className: styles['scrollable-menu'],
1143
+ children: [_mapInstanceProperty__default["default"](allInternalApplicationsNavbarMenu).call(allInternalApplicationsNavbarMenu, menu => {
1144
+ const menuType = 'scrollable';
1145
+ const itemIndex = "".concat(menuType, "-").concat(menu.key);
1146
+ return jsxRuntime.jsx(ApplicationMenu, {
1147
+ location: location,
1148
+ menu: menu,
1149
+ isActive: activeItemIndex === itemIndex,
1150
+ handleToggleItem: () => handleToggleItem(itemIndex),
1151
+ isMenuOpen: isMenuOpen,
1152
+ shouldCloseMenuFly: shouldCloseMenuFly,
1153
+ projectPermissions: projectPermissions,
1154
+ menuVisibilities: menuVisibilities,
1155
+ applicationLocale: applicationLocale,
1156
+ projectKey: props.projectKey,
1157
+ useFullRedirectsForLinks: useFullRedirectsForLinks,
1158
+ onMenuItemClick: props.onMenuItemClick
1159
+ }, menu.key);
1160
+ }), _mapInstanceProperty__default["default"](allCustomApplicationsNavbarMenu).call(allCustomApplicationsNavbarMenu, menu => {
1161
+ const menuType = 'scrollable';
1162
+ const itemIndex = "".concat(menuType, "-").concat(menu.key);
1163
+ return jsxRuntime.jsx(ApplicationMenu, {
1164
+ location: location,
1165
+ menu: menu,
1166
+ isActive: activeItemIndex === itemIndex,
1167
+ handleToggleItem: () => handleToggleItem(itemIndex),
1168
+ isMenuOpen: isMenuOpen,
1169
+ shouldCloseMenuFly: shouldCloseMenuFly,
1170
+ projectPermissions: projectPermissions,
1171
+ menuVisibilities: menuVisibilities,
1172
+ applicationLocale: applicationLocale,
1173
+ projectKey: props.projectKey,
1174
+ useFullRedirectsForLinks: useFullRedirectsForLinks,
1175
+ onMenuItemClick: props.onMenuItemClick
1176
+ }, menu.key);
1177
+ })]
1178
+ }), jsxRuntime.jsxs("div", {
1179
+ className: styles['fixed-menu'],
1180
+ children: [jsxRuntime.jsx(Faded, {}), jsxRuntime.jsx("div", {
1181
+ className: styles['support-menu'],
1182
+ children: jsxRuntime.jsx(MenuItem$1, {
1183
+ hasSubmenu: false,
1184
+ isActive: false,
1185
+ isMenuOpen: isMenuOpen,
1186
+ onClick: () => {
1187
+ handleToggleItem('fixed-support');
1188
+ },
1189
+ onMouseEnter: isMenuOpen ? undefined : () => handleToggleItem('fixed-support'),
1190
+ onMouseLeave: isMenuOpen ? undefined : shouldCloseMenuFly,
1191
+ children: jsxRuntime.jsx("a", {
1192
+ href: constants.SUPPORT_PORTAL_URL,
1193
+ rel: "noopener noreferrer",
1194
+ target: "_blank",
1195
+ className: styles['text-link'],
1196
+ children: jsxRuntime.jsxs("div", {
1197
+ className: styles['item-icon-text'],
1198
+ children: [jsxRuntime.jsx("div", {
1199
+ className: styles['icon-container'],
1200
+ children: jsxRuntime.jsx("div", {
1201
+ className: styles['icon'],
1202
+ children: jsxRuntime.jsx(icons.SupportIcon, {
1203
+ size: "scale"
1204
+ })
1205
+ })
1206
+ }), isMenuOpen ? jsxRuntime.jsx("div", {
1207
+ className: styles.title,
1208
+ children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread({}, messages['NavBar.MCSupport.title']))
1209
+ }) : null]
1210
+ })
1211
+ })
1212
+ })
1213
+ }), jsxRuntime.jsx(MenuExpander, {
1214
+ isVisible: isExpanderVisible,
1215
+ onClick: handleToggleMenu,
1216
+ isMenuOpen: isMenuOpen
1217
+ })]
1218
+ })]
1219
+ })]
1220
+ });
1221
+ };
1222
+ NavBar.propTypes = process.env.NODE_ENV !== "production" ? {
1223
+ applicationLocale: _pt__default["default"].string,
1224
+ projectKey: _pt__default["default"].string.isRequired,
1225
+ isLoading: _pt__default["default"].bool.isRequired
1226
+ } : {};
1227
+ NavBar.displayName = 'NavBar';
1228
+
1229
+ exports.ApplicationMenu = ApplicationMenu;
1230
+ exports["default"] = NavBar;