@openmrs/esm-app-shell 10.0.1-pre.5717 → 10.0.1-pre.5723

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.
@@ -116,7 +116,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webp
116
116
  },
117
117
  "../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../framework/esm-styleguide/dist/workspaces2/workspace2.module.scss"(module, __webpack_exports__, __webpack_require__) {
118
118
  "use strict";
119
- eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (__rspack_default_export)\n});\n/* import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__rspack_import_0 = __webpack_require__(\"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__rspack_import_0_default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__rspack_import_0);\n/* import */ var _node_modules_css_loader_dist_runtime_api_js__rspack_import_1 = __webpack_require__(\"../../../node_modules/css-loader/dist/runtime/api.js\");\n/* import */ var _node_modules_css_loader_dist_runtime_api_js__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__rspack_import_1);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__rspack_import_1_default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__rspack_import_0_default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\\n:root {\\n --brand-01: #005d5d;\\n --brand-02: #004144;\\n --brand-03: #007d79;\\n --bottom-nav-height: 4rem;\\n --workspace-header-height: 3rem;\\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\\n}\\n\\n/* These color variables will be removed in a future release */\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= {\\n --actionPanelOffset: 0px;\\n width: var(--workspaceWidth);\\n display: contents;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\=.LPMPMNCKK1hcb4zn9sDOGA\\\\=\\\\= {\\n --workspaceWidth: 26.25rem;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\=.wX8sXrKHBqcvAVMkJ4v0kA\\\\=\\\\= {\\n --workspaceWidth: 32.25rem;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\=._1mZ\\\\+78ycqQDTWDioUuK9oA\\\\=\\\\= {\\n --workspaceWidth: 48.25rem;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\= {\\n width: inherit;\\n overflow: hidden;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n inset-inline-end: var(--actionPanelOffset);\\n z-index: 100;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\=._6aCJAqQEFB2RhZHzoLRDDQ\\\\=\\\\= {\\n position: fixed !important;\\n top: var(--omrs-navbar-height) !important;\\n inset-inline-start: 0 !important;\\n inset-inline-end: var(--actionPanelOffset) !important;\\n width: calc(100vw - var(--actionPanelOffset)) !important;\\n bottom: 0 !important;\\n transform: none !important;\\n will-change: auto !important;\\n transition: none !important;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\=.YVW8WIa1SqjwL1ACl3IT8A\\\\=\\\\= {\\n width: 0;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .xg4bOj6NwPooPIaOXPCKBg\\\\=\\\\= {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n width: var(--workspaceWidth);\\n border-inline-start: 1px solid #a8a8a8;\\n background-color: #fff;\\n will-change: width;\\n transition: width 0.5s ease-in-out;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .xg4bOj6NwPooPIaOXPCKBg\\\\=\\\\=._6aCJAqQEFB2RhZHzoLRDDQ\\\\=\\\\= {\\n width: 100%;\\n transition: none !important;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .FXY8CygkAIxF9zcW2yGSvg\\\\=\\\\= {\\n width: inherit;\\n height: 100%;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .FXY8CygkAIxF9zcW2yGSvg\\\\=\\\\=.YVW8WIa1SqjwL1ACl3IT8A\\\\=\\\\= {\\n width: 0;\\n}\\n\\n.-PdCLOfXVTSihNeTe2ZcEQ\\\\=\\\\= {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n min-height: 50%;\\n}\\n\\n.Cd41\\\\+4CTbKFz9xXtogQ08Q\\\\=\\\\= {\\n display: none;\\n}\\n\\n/* Desktop */\\n.omrs-breakpoint-gt-tablet ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= {\\n position: relative;\\n box-sizing: content-box;\\n border-bottom: 1px solid #a8a8a8;\\n background-color: #e0e0e0;\\n height: var(--workspace-header-height);\\n}\\n.omrs-breakpoint-gt-tablet ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= a {\\n font-size: var(--cds-heading-compact-02-font-size, 1rem);\\n font-weight: var(--cds-heading-compact-02-font-weight, 600);\\n line-height: var(--cds-heading-compact-02-line-height, 1.375);\\n letter-spacing: var(--cds-heading-compact-02-letter-spacing, 0);\\n}\\n.omrs-breakpoint-gt-tablet ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= a:hover {\\n color: inherit;\\n}\\n.omrs-breakpoint-gt-tablet .AurqzUZ33OTy8zG8mj\\\\+rug\\\\=\\\\= button {\\n background-color: #ffffff;\\n border-right: 1px solid #e0e0e0;\\n}\\n.omrs-breakpoint-gt-tablet .AurqzUZ33OTy8zG8mj\\\\+rug\\\\=\\\\= button > svg {\\n fill: #121619 !important;\\n}\\n.omrs-breakpoint-gt-tablet .AurqzUZ33OTy8zG8mj\\\\+rug\\\\=\\\\= button:hover {\\n background-color: #f4f4f4;\\n}\\n.omrs-breakpoint-gt-tablet .XYp67qdSqNYPaoM9fCbLhg\\\\=\\\\= {\\n background-color: #ffffff;\\n overflow-y: auto;\\n flex-grow: 1;\\n}\\n.omrs-breakpoint-gt-tablet ._4Wp1m8HYT74Hbl-maCYOaA\\\\=\\\\= {\\n flex-grow: 1;\\n}\\n.omrs-breakpoint-gt-tablet .bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\=.uDn-Vb4wvYD-Ri2XsyQ3yw\\\\=\\\\= {\\n --actionPanelOffset: 3rem;\\n}\\n\\n/* Tablet */\\n.omrs-breakpoint-lt-desktop ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= {\\n position: relative;\\n background-color: var(--brand-02);\\n}\\n.omrs-breakpoint-lt-desktop ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= a {\\n color: #ffffff;\\n}\\n.omrs-breakpoint-lt-desktop ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= button {\\n color: #ffffff;\\n background-color: var(--brand-02);\\n}\\n.omrs-breakpoint-lt-desktop ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= button:hover {\\n background-color: var(--brand-03);\\n}\\n.omrs-breakpoint-lt-desktop .bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= {\\n width: 100vw;\\n}\\n@supports (width: 100cqw) {\\n .omrs-breakpoint-lt-desktop .bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= {\\n width: 100cqw;\\n }\\n}\\n.omrs-breakpoint-lt-desktop .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\= {\\n width: inherit !important;\\n}\\n.omrs-breakpoint-lt-desktop .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\=.YVW8WIa1SqjwL1ACl3IT8A\\\\=\\\\= {\\n display: none;\\n}\\n.omrs-breakpoint-lt-desktop .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\=._4x-7SaEE-TBMZ72FZs3jhg\\\\=\\\\= {\\n height: calc(100% - 4rem);\\n}\\n.omrs-breakpoint-lt-desktop .xg4bOj6NwPooPIaOXPCKBg\\\\=\\\\= {\\n width: 100% !important;\\n}\\n.omrs-breakpoint-lt-desktop .X4I7MrAQFHT4jV0ocFhqMg\\\\=\\\\= {\\n margin-bottom: var(--bottom-nav-height);\\n}\\n.omrs-breakpoint-lt-desktop .XYp67qdSqNYPaoM9fCbLhg\\\\=\\\\= {\\n overflow-y: auto;\\n height: 100%;\\n}\\n\\nhtml[dir=rtl] .omrs-breakpoint-gt-tablet ._8WixBRIY1bkgUuryWue6QQ\\\\=\\\\=.Qn4TyWJrKkNKsP7iElqFAw\\\\=\\\\= {\\n right: unset;\\n left: var(--actionPanelOffset);\\n}\\nhtml[dir=rtl] .omrs-breakpoint-gt-tablet ._4LaBoLqa9Mduds1OXV5SqQ\\\\=\\\\= {\\n height: 100%;\\n}\\nhtml[dir=rtl] .omrs-breakpoint-gt-tablet ._4LaBoLqa9Mduds1OXV5SqQ\\\\=\\\\=.Qn4TyWJrKkNKsP7iElqFAw\\\\=\\\\= {\\n right: unset;\\n left: 0;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../framework/esm-styleguide/dist/_vars.scss\",\"webpack://./../../framework/esm-styleguide/dist/workspaces2/workspace2.module.scss\",\"webpack://./../../../node_modules/@carbon/type/scss/_styles.scss\"],\"names\":[],\"mappings\":\"AAkCA,0EAAA;AAoBA;EACE,mBAAA;EACA,mBAAA;EACA,mBAAA;EACA,yBAAA;EACA,+BAAA;EACA,oGAAA;EACA,2GAAA;ACpDF;;ADgEA,8DAAA;AC9DA;EACE,wBAAA;EAYA,4BAAA;EACA,iBAAA;AATF;AAFE;EACE,0BAAA;AAIJ;AAFE;EACE,0BAAA;AAIJ;AAFE;EACE,0BAAA;AAIJ;AAIE;EACE,cAAA;EACA,gBAAA;EACA,kBAAA;EACA,MAAA;EACA,SAAA;EACA,0CAAA;EACA,YAAA;AAFJ;AAII;EACE,0BAAA;EACA,yCAAA;EACA,gCAAA;EACA,qDAAA;EACA,wDAAA;EACA,oBAAA;EACA,0BAAA;EACA,4BAAA;EACA,2BAAA;AAFN;AAII;EACE,QAAA;AAFN;AAQE;EACE,aAAA;EACA,sBAAA;EACA,YAAA;EACA,4BAAA;EACA,sCAAA;EACA,sBAAA;EACA,kBAAA;EACA,kCAAA;AANJ;AAQI;EACE,WAAA;EACA,2BAAA;AANN;AAeE;EACE,cAAA;EACA,YAAA;AAbJ;AAeI;EACE,QAAA;AAbN;;AAkBA;EACE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AAfF;;AAkBA;EACE,aAAA;AAfF;;AAkBA,YAAA;AAEE;EACE,kBAAA;EACA,uBAAA;EACA,gCAAA;EACA,yBDpGI;ECqGJ,sCAAA;AAhBJ;AAkBI;ECuvBA,wDAAA;EAAA,2DAAA;EAAA,6DAAA;EAAA,+DAAA;ADnwBJ;AAeM;EACE,cAAA;AAbR;AAmBI;EACE,yBDnHE;ECoHF,+BAAA;AAjBN;AAmBM;EACE,wBAAA;AAjBR;AAoBM;EACE,yBD5HA;AC0GR;AAuBE;EACE,yBDjII;ECkIJ,gBAAA;EACA,YAAA;AArBJ;AAwBE;EACE,YAAA;AAtBJ;AA0BI;EACE,yBAAA;AAxBN;;AA6BA,WAAA;AAEE;EACE,kBAAA;EACA,iCAAA;AA3BJ;AA6BI;EACE,cDxJE;AC6HR;AA8BI;EACE,cD5JE;EC6JF,iCAAA;AA5BN;AA8BM;EACE,iCAAA;AA5BR;AAmCE;EACE,YAAA;AAjCJ;AAsCE;EACE;IACE,aAAA;EApCJ;AACF;AAuCE;EACE,yBAAA;AArCJ;AAsCI;EACE,aAAA;AApCN;AAwCI;EACE,yBAAA;AAtCN;AA0CE;EACE,sBAAA;AAxCJ;AA2CE;EACE,uCAAA;AAzCJ;AA4CE;EACE,gBAAA;EACA,YAAA;AA1CJ;;AAkDM;EACE,YAAA;EACA,8BAAA;AA/CR;AAmDI;EACE,YAAA;AAjDN;AAmDM;EACE,YAAA;EACA,OAAA;AAjDR\",\"sourcesContent\":[\"@use '@carbon/layout';\\n\\n$ui-01: #f4f4f4;\\n$ui-02: #ffffff;\\n$ui-03: #e0e0e0;\\n$ui-04: #8d8d8d;\\n$ui-05: #161616;\\n$text-02: #525252;\\n$text-03: #a8a8a8;\\n$ui-background: #ffffff;\\n$color-gray-30: #c6c6c6;\\n$color-gray-70: #525252;\\n$color-gray-100: #161616;\\n$color-blue-60-2: #0f62fe;\\n$color-blue-10: #edf5ff;\\n$color-yellow-50: #feecae;\\n$carbon--red-50: #fa4d56;\\n$inverse-link: #78a9ff;\\n$support-02: #24a148;\\n$inverse-support-03: #f1c21b;\\n$warning-background: #fff8e1;\\n$openmrs-background-grey: #f4f4f4;\\n$danger: #da1e28;\\n$interactive-01: #0f62fe;\\n$field-01: #f4f4f4;\\n$grey-2: #e0e0e0;\\n$labeldropdown: #c6c6c6;\\n\\n$brand-primary-10: #d9fbfb;\\n$brand-primary-20: #9ef0f0;\\n$brand-primary-30: #3ddbd9;\\n$brand-primary-40: #08bdba;\\n$brand-primary-50: #009d9a;\\n\\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\\n\\n$brand-primary-90: #022b30;\\n$brand-primary-100: #081a1c;\\n\\n@mixin brand-01($property) {\\n #{$property}: #005d5d;\\n #{$property}: var(--brand-01);\\n}\\n\\n@mixin brand-02($property) {\\n #{$property}: #004144;\\n #{$property}: var(--brand-02);\\n}\\n\\n@mixin brand-03($property) {\\n #{$property}: #007d79;\\n #{$property}: var(--brand-03);\\n}\\n\\n:root {\\n --brand-01: #005d5d;\\n --brand-02: #004144;\\n --brand-03: #007d79;\\n --bottom-nav-height: #{layout.$spacing-10};\\n --workspace-header-height: #{layout.$spacing-09};\\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\\n}\\n\\n$breakpoint-phone-min: 0px;\\n$breakpoint-phone-max: 600px;\\n$breakpoint-tablet-min: 601px;\\n$breakpoint-tablet-max: 1023px;\\n$breakpoint-small-desktop-min: 1024px;\\n$breakpoint-small-desktop-max: 1439px;\\n$breakpoint-large-desktop-min: 1440px;\\n$breakpoint-large-desktop-max: 99999999px;\\n\\n/* These color variables will be removed in a future release */\\n$brand-teal-01: #007d79;\\n$brand-01: #005d5d;\\n$brand-02: #004144;\\n\",\"@use '@carbon/colors';\\n@use '@carbon/layout';\\n@use '@carbon/type';\\n@use '../vars' as *;\\n\\n$narrowWorkspaceWidth: 26.25rem;\\n$widerWorkspaceWidth: 32.25rem;\\n$extraWideWorkspaceWidth: 48.25rem;\\n\\n// This container has no layout purpose.\\n// It is used to set the --workspaceWidth variable.\\n.workspaceOuterContainer {\\n --actionPanelOffset: 0px;\\n\\n &.narrowWorkspace {\\n --workspaceWidth: #{$narrowWorkspaceWidth};\\n }\\n &.widerWorkspace {\\n --workspaceWidth: #{$widerWorkspaceWidth};\\n }\\n &.extraWideWorkspace {\\n --workspaceWidth: #{$extraWideWorkspaceWidth};\\n }\\n\\n width: var(--workspaceWidth);\\n display: contents;\\n\\n // This container clips the workspace when it slides out of screen\\n // (via overflow: hidden)\\n .workspaceMiddleContainer {\\n width: inherit;\\n overflow: hidden;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n inset-inline-end: var(--actionPanelOffset);\\n z-index: 100;\\n\\n &.maximized {\\n position: fixed !important;\\n top: var(--omrs-navbar-height) !important;\\n inset-inline-start: 0 !important;\\n inset-inline-end: var(--actionPanelOffset) !important;\\n width: calc(100vw - var(--actionPanelOffset)) !important;\\n bottom: 0 !important;\\n transform: none !important;\\n will-change: auto !important;\\n transition: none !important;\\n }\\n &.hidden {\\n width: 0;\\n }\\n }\\n\\n // This container contains the actual workspace content\\n // and changes size (width) when maximized\\n .workspaceInnerContainer {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n width: var(--workspaceWidth);\\n border-inline-start: 1px solid $text-03;\\n background-color: #fff;\\n will-change: width;\\n transition: width 0.5s ease-in-out;\\n\\n &.maximized {\\n width: 100%;\\n transition: none !important;\\n }\\n }\\n\\n // The spacer is responsible for taking up space and shrinking the width of the \\\"main\\\" content\\n // in omrs-apps-container when in non-overlay mode.\\n // Note that the spacer takes up --workspaceWidth amount of space, but does\\n // not grow when the workspace is maximized. In other words, it does not shrink the\\n // \\\"main\\\" content further when workspace is maximized.\\n .workspaceSpacer {\\n width: inherit;\\n height: 100%;\\n\\n &.hidden {\\n width: 0;\\n }\\n }\\n}\\n\\n.loader {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n min-height: 50%;\\n}\\n\\n.hiddenExtraWorkspace {\\n display: none;\\n}\\n\\n/* Desktop */\\n:global(.omrs-breakpoint-gt-tablet) {\\n .header {\\n position: relative;\\n box-sizing: content-box;\\n border-bottom: 1px solid $text-03;\\n background-color: $ui-03;\\n height: var(--workspace-header-height);\\n\\n a {\\n @include type.type-style('heading-compact-02');\\n\\n &:hover {\\n color: inherit;\\n }\\n }\\n }\\n\\n .headerButtons {\\n button {\\n background-color: $ui-02;\\n border-right: 1px solid colors.$gray-20;\\n\\n > svg {\\n fill: colors.$cool-gray-100 !important;\\n }\\n\\n &:hover {\\n background-color: $ui-01;\\n }\\n }\\n }\\n\\n .workspaceContent {\\n background-color: $ui-02;\\n overflow-y: auto;\\n flex-grow: 1;\\n }\\n\\n .overlayHeaderSpacer {\\n flex-grow: 1;\\n }\\n\\n .workspaceOuterContainer {\\n &.isActionMenuOpened {\\n --actionPanelOffset: #{layout.$spacing-09};\\n }\\n }\\n}\\n\\n/* Tablet */\\n:global(.omrs-breakpoint-lt-desktop) {\\n .header {\\n position: relative;\\n background-color: var(--brand-02);\\n\\n a {\\n color: $ui-02;\\n }\\n\\n button {\\n color: $ui-02;\\n background-color: var(--brand-02);\\n\\n &:hover {\\n background-color: var(--brand-03);\\n }\\n }\\n }\\n\\n // fallback for browsers that don't support the container CSS feature,\\n // the width is slightly off if <body> has a vertical scrollbar\\n .workspaceOuterContainer {\\n width: 100vw;\\n }\\n\\n // using the container CSS feature, for browser that support it\\n // get the container query width (i.e. width of <body>, without the scrollbars)\\n @supports (width: 100cqw) {\\n .workspaceOuterContainer {\\n width: 100cqw;\\n }\\n }\\n\\n .workspaceMiddleContainer {\\n width: inherit !important;\\n &.hidden {\\n display: none;\\n }\\n\\n // in tablet mode, reduce the height to of the workspace window to accommodate the workspace menu (bottom nav)\\n &.showActionMenu {\\n height: calc(100% - layout.$spacing-10);\\n }\\n }\\n\\n .workspaceInnerContainer {\\n width: 100% !important;\\n }\\n\\n .marginWorkspaceContent {\\n margin-bottom: var(--bottom-nav-height);\\n }\\n\\n .workspaceContent {\\n overflow-y: auto;\\n height: 100%;\\n }\\n}\\n\\n// Overriding styles for RTL support\\nhtml[dir='rtl'] {\\n :global(.omrs-breakpoint-gt-tablet) {\\n .workspaceContainerWithActionMenu {\\n &.workspaceFixedContainer {\\n right: unset;\\n left: var(--actionPanelOffset);\\n }\\n }\\n\\n .workspaceContainerWithoutActionMenu {\\n height: 100%;\\n\\n &.workspaceFixedContainer {\\n right: unset;\\n left: 0;\\n }\\n }\\n }\\n}\\n\",\"//\\n// Copyright IBM Corp. 2018, 2023\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n// stylelint-disable number-max-precision\\n\\n@use 'sass:map';\\n@use 'sass:math';\\n@use '@carbon/grid/scss/config' as gridconfig;\\n@use '@carbon/grid/scss/breakpoint' as grid;\\n@use 'prefix' as *;\\n@use 'font-family';\\n@use 'scale';\\n\\n/// @type Map\\n/// @access public\\n/// @deprecated\\n/// @group @carbon/type\\n$caption-01: (\\n font-size: scale.type-scale(1),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.33333,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @deprecated\\n/// @group @carbon/type\\n$caption-02: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$label-01: (\\n font-size: scale.type-scale(1),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.33333,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$label-02: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$legal-01: (\\n font-size: scale.type-scale(1),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.33333,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$legal-02: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @deprecated\\n/// @group @carbon/type\\n$helper-text-01: (\\n font-size: scale.type-scale(1),\\n line-height: 1.33333,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @deprecated\\n/// @group @carbon/type\\n$helper-text-02: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-01: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-compact-01: $body-short-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-01: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.42857,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-01: $body-long-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-02: (\\n font-size: scale.type-scale(3),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-compact-02: $body-short-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-02: (\\n font-size: scale.type-scale(3),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.5,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-02: $body-long-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-01: (\\n font-family: font-family.font-family('mono'),\\n font-size: scale.type-scale(1),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.33333,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-02: (\\n font-family: font-family.font-family('mono'),\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.42857,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-01: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.42857,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-01: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.28572,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-compact-01: $productive-heading-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-02: (\\n font-size: scale.type-scale(3),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.5,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-02: (\\n font-size: scale.type-scale(3),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-compact-02: $productive-heading-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-03: (\\n font-size: scale.type-scale(5),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-03: $productive-heading-03 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-04: (\\n font-size: scale.type-scale(7),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-04: $productive-heading-04 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-05: (\\n font-size: scale.type-scale(8),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-05: $productive-heading-05 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-06: (\\n font-size: scale.type-scale(10),\\n font-weight: font-family.font-weight('light'),\\n // Extra digit needed for precision in Chrome\\n line-height: 1.199,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-06: $productive-heading-06 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-07: (\\n font-size: scale.type-scale(12),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-07: $productive-heading-07 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-01: $heading-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-02: $heading-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-03: (\\n font-size: scale.type-scale(5),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: scale.type-scale(5),\\n line-height: 1.4,\\n ),\\n max: (\\n font-size: scale.type-scale(6),\\n line-height: 1.334,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-heading-03: $expressive-heading-03 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-04: (\\n font-size: scale.type-scale(7),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: scale.type-scale(8),\\n line-height: 1.25,\\n font-weight: font-family.font-weight('regular'),\\n ),\\n max: (\\n font-size: scale.type-scale(8),\\n font-weight: font-family.font-weight('regular'),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-heading-04: $expressive-heading-04 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-05: (\\n font-size: scale.type-scale(8),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(9),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: scale.type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: scale.type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: scale.type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-heading-05: $expressive-heading-05 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-06: (\\n font-size: scale.type-scale(8),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: scale.type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: scale.type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: scale.type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-heading-06: $expressive-heading-06 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-paragraph-01: (\\n font-size: scale.type-scale(6),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.334,\\n letter-spacing: 0,\\n breakpoints: (\\n lg: (\\n font-size: scale.type-scale(7),\\n line-height: 1.28572,\\n ),\\n max: (\\n font-size: scale.type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n);\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-paragraph-01: $expressive-paragraph-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-01: (\\n font-family: font-family.font-family('serif'),\\n font-size: scale.type-scale(5),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.3,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(5),\\n ),\\n lg: (\\n font-size: scale.type-scale(6),\\n line-height: 1.334,\\n ),\\n xlg: (\\n font-size: scale.type-scale(7),\\n line-height: 1.28572,\\n ),\\n max: (\\n font-size: scale.type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-quotation-01: $quotation-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-02: (\\n font-family: font-family.font-family('serif'),\\n font-size: scale.type-scale(8),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: scale.type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: scale.type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: scale.type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-quotation-02: $quotation-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-01: (\\n font-size: scale.type-scale(10),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(10),\\n ),\\n lg: (\\n font-size: scale.type-scale(12),\\n ),\\n xlg: (\\n font-size: scale.type-scale(13),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: scale.type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-display-01: $display-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-02: (\\n font-size: scale.type-scale(10),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(10),\\n ),\\n lg: (\\n font-size: scale.type-scale(12),\\n ),\\n xlg: (\\n font-size: scale.type-scale(13),\\n line-height: 1.16,\\n ),\\n max: (\\n font-size: scale.type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-display-02: $display-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-03: (\\n font-size: scale.type-scale(10),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(12),\\n line-height: 1.18,\\n ),\\n lg: (\\n font-size: scale.type-scale(13),\\n line-height: 1.16,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: scale.type-scale(15),\\n line-height: 1.13,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: scale.type-scale(16),\\n line-height: 1.11,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-display-03: $display-03 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-04: (\\n font-size: scale.type-scale(10),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: scale.type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: scale.type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: scale.type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-display-04: $display-04 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$tokens: (\\n caption-01: $caption-01,\\n caption-02: $caption-02,\\n label-01: $label-01,\\n label-02: $label-02,\\n helper-text-01: $helper-text-01,\\n helper-text-02: $helper-text-02,\\n body-short-01: $body-short-01,\\n body-short-02: $body-short-02,\\n body-long-01: $body-long-01,\\n body-long-02: $body-long-02,\\n code-01: $code-01,\\n code-02: $code-02,\\n heading-01: $heading-01,\\n heading-02: $heading-02,\\n productive-heading-01: $productive-heading-01,\\n productive-heading-02: $productive-heading-02,\\n productive-heading-03: $productive-heading-03,\\n productive-heading-04: $productive-heading-04,\\n productive-heading-05: $productive-heading-05,\\n productive-heading-06: $productive-heading-06,\\n productive-heading-07: $productive-heading-07,\\n expressive-paragraph-01: $expressive-paragraph-01,\\n expressive-heading-01: $expressive-heading-01,\\n expressive-heading-02: $expressive-heading-02,\\n expressive-heading-03: $expressive-heading-03,\\n expressive-heading-04: $expressive-heading-04,\\n expressive-heading-05: $expressive-heading-05,\\n expressive-heading-06: $expressive-heading-06,\\n quotation-01: $quotation-01,\\n quotation-02: $quotation-02,\\n display-01: $display-01,\\n display-02: $display-02,\\n display-03: $display-03,\\n display-04: $display-04,\\n // V11 Tokens\\n legal-01: $legal-01,\\n legal-02: $legal-02,\\n body-compact-01: $body-compact-01,\\n body-compact-02: $body-compact-02,\\n heading-compact-01: $heading-compact-01,\\n heading-compact-02: $heading-compact-02,\\n body-01: $body-01,\\n body-02: $body-02,\\n heading-03: $heading-03,\\n heading-04: $heading-04,\\n heading-05: $heading-05,\\n heading-06: $heading-06,\\n heading-07: $heading-07,\\n fluid-heading-03: $fluid-heading-03,\\n fluid-heading-04: $fluid-heading-04,\\n fluid-heading-05: $fluid-heading-05,\\n fluid-heading-06: $fluid-heading-06,\\n fluid-paragraph-01: $fluid-paragraph-01,\\n fluid-quotation-01: $fluid-quotation-01,\\n fluid-quotation-02: $fluid-quotation-02,\\n fluid-display-01: $fluid-display-01,\\n fluid-display-02: $fluid-display-02,\\n fluid-display-03: $fluid-display-03,\\n fluid-display-04: $fluid-display-04,\\n) !default;\\n\\n/// @param {Map} $map\\n/// @access public\\n/// @group @carbon/type\\n@mixin properties($map) {\\n @each $name, $value in $map {\\n #{$name}: $value;\\n }\\n}\\n\\n/// @param {Number} $value - Number with units\\n/// @return {Number} Without units\\n/// @access public\\n/// @group @carbon/type\\n@function strip-unit($value) {\\n @return math.div($value, $value * 0 + 1);\\n}\\n\\n/// This helper includes fluid type styles for the given token value. Fluid type\\n/// means that the `font-size` is computed using `calc()` in order to be\\n/// determined by the screen size instead of a breakpoint. As a result, fluid\\n/// styles should be used with caution in fixed width contexts.\\n///\\n/// In addition, we make use of %-based line-heights so that the line-height of\\n/// each type style is computed correctly due to the dynamic nature of the\\n/// `font-size`.\\n///\\n/// Most of the logic for this work comes from CSS Tricks:\\n/// https://css-tricks.com/snippets/css/fluid-typography/\\n///\\n/// @param {Map} $type-styles - The value of a given type token\\n/// @param {Map} $breakpoints [$grid-breakpoints] - Custom breakpoints to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type($type-styles, $breakpoints: gridconfig.$grid-breakpoints) {\\n // Include the initial styles for the given token by default without any\\n // media query guard. This includes `font-size` as a fallback in the case\\n // that a browser does not support `calc()`\\n @include properties(map.remove($type-styles, breakpoints));\\n // We also need to include the `sm` styles by default since they don't\\n // appear in the fluid styles for tokens\\n @include fluid-type-size($type-styles, sm, $breakpoints);\\n\\n // Finally, we need to go through all the breakpoints defined in the type\\n // token and apply the properties and fluid type size for that given\\n // breakpoint\\n @each $name, $values in map.get($type-styles, breakpoints) {\\n @include grid.breakpoint($name) {\\n @include properties($values);\\n @include fluid-type-size($type-styles, $name, $breakpoints);\\n }\\n }\\n}\\n\\n/// Computes the fluid `font-size` for a given type style and breakpoint\\n/// @param {Map} $type-styles - The styles for a given token\\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\\n/// @param {Map} $breakpoints [$grid-breakpoints] - The breakpoints for the grid system\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type-size(\\n $type-styles,\\n $name,\\n $breakpoints: gridconfig.$grid-breakpoints\\n) {\\n // Get the information about the breakpoint we're currently working in. Useful\\n // for getting initial width information\\n $breakpoint: map.get($breakpoints, $name);\\n\\n // Our fluid styles are captured under the 'breakpoints' property in our type\\n // styles map. These define what values to treat as `max-` variables below\\n $fluid-sizes: map.get($type-styles, breakpoints);\\n $fluid-breakpoint: ();\\n // Special case for `sm` because the styles for small are on the type style\\n // directly\\n @if $name == sm {\\n $fluid-breakpoint: map.remove($type-styles, breakpoints);\\n } @else {\\n $fluid-breakpoint: map.get($fluid-sizes, $name);\\n }\\n\\n // Initialize our font-sizes to the default size for the type style\\n $max-font-size: map.get($type-styles, font-size);\\n $min-font-size: map.get($type-styles, font-size);\\n @if map.has-key($fluid-breakpoint, font-size) {\\n $min-font-size: map.get($fluid-breakpoint, font-size);\\n }\\n\\n // Initialize our min and max width to the width of the current breakpoint\\n $max-vw: map.get($breakpoint, width);\\n $min-vw: map.get($breakpoint, width);\\n\\n // We can use `breakpoint-next` to see if there is another breakpoint we can\\n // use to update `max-font-size` and `max-vw` with larger values\\n $next-breakpoint-available: grid.breakpoint-next($name, $breakpoints);\\n $next-fluid-breakpoint-name: null;\\n\\n // We need to figure out what the next available fluid breakpoint is for our\\n // given $type-styles. In this loop we try and iterate through breakpoints\\n // until we either manually set $next-breakpoint-available to null or\\n // `breakpoint-next` returns null.\\n @while $next-breakpoint-available {\\n @if map.has-key($fluid-sizes, $next-breakpoint-available) {\\n $next-fluid-breakpoint-name: $next-breakpoint-available;\\n $next-breakpoint-available: null;\\n } @else {\\n $next-breakpoint-available: grid.breakpoint-next(\\n $next-breakpoint-available,\\n $breakpoints\\n );\\n }\\n }\\n\\n // If we have found the next available fluid breakpoint name, then we know\\n // that we have values that we can use to set max-font-size and max-vw as both\\n // values derive from the next breakpoint\\n @if $next-fluid-breakpoint-name {\\n $next-fluid-breakpoint: map.get($breakpoints, $next-fluid-breakpoint-name);\\n $max-font-size: map.get(\\n map.get($fluid-sizes, $next-fluid-breakpoint-name),\\n font-size\\n );\\n $max-vw: map.get($next-fluid-breakpoint, width);\\n\\n // prettier-ignore\\n font-size: calc(#{$min-font-size} +\\n #{strip-unit($max-font-size - $min-font-size)} *\\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\\n );\\n } @else {\\n // Otherwise, just default to setting the font size found from the type\\n // style or the given fluid breakpoint in the type style\\n font-size: $min-font-size;\\n }\\n}\\n\\n// TODO move following variable and `custom-property` mixin into shared file for\\n// both `@carbon/type` and `@carbon/themes`\\n\\n/// @access private\\n/// @group @carbon/type\\n@mixin custom-properties($name, $value) {\\n @each $property, $value in $value {\\n #{$property}: var(\\n --#{$custom-property-prefix}-#{$name}-#{$property},\\n #{$value}\\n );\\n }\\n}\\n\\n/// Helper mixin to include the styles for a given token in any selector in your\\n/// project. Also includes an optional fluid option that will enable fluid\\n/// styles for the token if they are defined. Fluid styles will cause the\\n/// token's font-size to be computed based on the viewport size. As a result, use\\n/// with caution in fixed contexts.\\n/// @param {String} $name - The name of the token to get the styles for\\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\\n/// @param {Map} $breakpoints [$grid-breakpoints] - Provide a custom breakpoint map to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin type-style(\\n $name,\\n $fluid: false,\\n $breakpoints: gridconfig.$grid-breakpoints\\n) {\\n @if not map.has-key($tokens, $name) {\\n @error 'Unable to find a token with the name: `#{$name}`';\\n }\\n\\n $token: map.get($tokens, $name);\\n\\n // If $fluid is set to true and the token has breakpoints defined for fluid\\n // styles, delegate to the fluid-type helper for the given token\\n @if $fluid == true and map.has-key($token, 'breakpoints') {\\n @include fluid-type($token, $breakpoints);\\n } @else {\\n @include custom-properties($name, $token);\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"workspaceOuterContainer\": \"bPwTsOYwvGb9L+Uq9E1xDA==\",\n\t\"narrowWorkspace\": \"LPMPMNCKK1hcb4zn9sDOGA==\",\n\t\"widerWorkspace\": \"wX8sXrKHBqcvAVMkJ4v0kA==\",\n\t\"extraWideWorkspace\": \"_1mZ+78ycqQDTWDioUuK9oA==\",\n\t\"workspaceMiddleContainer\": \"EFv5iyw4oDCGGV9Y9ZEfwQ==\",\n\t\"maximized\": \"_6aCJAqQEFB2RhZHzoLRDDQ==\",\n\t\"hidden\": \"YVW8WIa1SqjwL1ACl3IT8A==\",\n\t\"workspaceInnerContainer\": \"xg4bOj6NwPooPIaOXPCKBg==\",\n\t\"workspaceSpacer\": \"FXY8CygkAIxF9zcW2yGSvg==\",\n\t\"loader\": \"-PdCLOfXVTSihNeTe2ZcEQ==\",\n\t\"hiddenExtraWorkspace\": \"Cd41+4CTbKFz9xXtogQ08Q==\",\n\t\"header\": \"_75+K8udOV-cqCkGkAGIj6w==\",\n\t\"headerButtons\": \"AurqzUZ33OTy8zG8mj+rug==\",\n\t\"workspaceContent\": \"XYp67qdSqNYPaoM9fCbLhg==\",\n\t\"overlayHeaderSpacer\": \"_4Wp1m8HYT74Hbl-maCYOaA==\",\n\t\"isActionMenuOpened\": \"uDn-Vb4wvYD-Ri2XsyQ3yw==\",\n\t\"showActionMenu\": \"_4x-7SaEE-TBMZ72FZs3jhg==\",\n\t\"marginWorkspaceContent\": \"X4I7MrAQFHT4jV0ocFhqMg==\",\n\t\"workspaceContainerWithActionMenu\": \"_8WixBRIY1bkgUuryWue6QQ==\",\n\t\"workspaceFixedContainer\": \"Qn4TyWJrKkNKsP7iElqFAw==\",\n\t\"workspaceContainerWithoutActionMenu\": \"_4LaBoLqa9Mduds1OXV5SqQ==\"\n};\n/* export default */ const __rspack_default_export = (___CSS_LOADER_EXPORT___);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvb3Blbm1ycy1lc20tY29yZS9vcGVubXJzLWVzbS1jb3JlL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbMl0udXNlWzJdIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9wYWNrYWdlcy9mcmFtZXdvcmsvZXNtLXN0eWxlZ3VpZGUvZGlzdC93b3Jrc3BhY2VzMi93b3Jrc3BhY2UyLm1vZHVsZS5zY3NzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXN0eWxlZ3VpZGUvZGlzdC93b3Jrc3BhY2VzMi93b3Jrc3BhY2UyLm1vZHVsZS5zY3NzP2FkNzkiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKiA2MCw3MCBhbmQgODAgYXJlIGFscmVhZHkgZGVjbGFyZWQgYXMgYnJhbmQtMDEsIDAyIGFuZCAwMyByZXNwZWN0aXZlbHkgKi9cXG46cm9vdCB7XFxuICAtLWJyYW5kLTAxOiAjMDA1ZDVkO1xcbiAgLS1icmFuZC0wMjogIzAwNDE0NDtcXG4gIC0tYnJhbmQtMDM6ICMwMDdkNzk7XFxuICAtLWJvdHRvbS1uYXYtaGVpZ2h0OiA0cmVtO1xcbiAgLS13b3Jrc3BhY2UtaGVhZGVyLWhlaWdodDogM3JlbTtcXG4gIC0tdGFibGV0LXdvcmtzcGFjZS13aW5kb3ctaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tb21ycy1uYXZiYXItaGVpZ2h0KSAtIHZhcigtLWJvdHRvbS1uYXYtaGVpZ2h0KSk7XFxuICAtLWRlc2t0b3Atd29ya3NwYWNlLXdpbmRvdy1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1vbXJzLW5hdmJhci1oZWlnaHQpIC0gdmFyKC0td29ya3NwYWNlLWhlYWRlci1oZWlnaHQpKTtcXG59XFxuXFxuLyogVGhlc2UgY29sb3IgdmFyaWFibGVzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlICovXFxuLmJQd1RzT1l3dkdiOUxcXFxcK1VxOUUxeERBXFxcXD1cXFxcPSB7XFxuICAtLWFjdGlvblBhbmVsT2Zmc2V0OiAwcHg7XFxuICB3aWR0aDogdmFyKC0td29ya3NwYWNlV2lkdGgpO1xcbiAgZGlzcGxheTogY29udGVudHM7XFxufVxcbi5iUHdUc09Zd3ZHYjlMXFxcXCtVcTlFMXhEQVxcXFw9XFxcXD0uTFBNUE1OQ0tLMWhjYjR6bjlzRE9HQVxcXFw9XFxcXD0ge1xcbiAgLS13b3Jrc3BhY2VXaWR0aDogMjYuMjVyZW07XFxufVxcbi5iUHdUc09Zd3ZHYjlMXFxcXCtVcTlFMXhEQVxcXFw9XFxcXD0ud1g4c1hyS0hCcWN2QVZNa0o0djBrQVxcXFw9XFxcXD0ge1xcbiAgLS13b3Jrc3BhY2VXaWR0aDogMzIuMjVyZW07XFxufVxcbi5iUHdUc09Zd3ZHYjlMXFxcXCtVcTlFMXhEQVxcXFw9XFxcXD0uXzFtWlxcXFwrNzh5Y3FRRFRXRGlvVXVLOW9BXFxcXD1cXFxcPSB7XFxuICAtLXdvcmtzcGFjZVdpZHRoOiA0OC4yNXJlbTtcXG59XFxuLmJQd1RzT1l3dkdiOUxcXFxcK1VxOUUxeERBXFxcXD1cXFxcPSAuRUZ2NWl5dzRvRENHR1Y5WTlaRWZ3UVxcXFw9XFxcXD0ge1xcbiAgd2lkdGg6IGluaGVyaXQ7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgaW5zZXQtaW5saW5lLWVuZDogdmFyKC0tYWN0aW9uUGFuZWxPZmZzZXQpO1xcbiAgei1pbmRleDogMTAwO1xcbn1cXG4uYlB3VHNPWXd2R2I5TFxcXFwrVXE5RTF4REFcXFxcPVxcXFw9IC5FRnY1aXl3NG9EQ0dHVjlZOVpFZndRXFxcXD1cXFxcPS5fNmFDSkFxUUVGQjJSaFpIem9MUkREUVxcXFw9XFxcXD0ge1xcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XFxuICB0b3A6IHZhcigtLW9tcnMtbmF2YmFyLWhlaWdodCkgIWltcG9ydGFudDtcXG4gIGluc2V0LWlubGluZS1zdGFydDogMCAhaW1wb3J0YW50O1xcbiAgaW5zZXQtaW5saW5lLWVuZDogdmFyKC0tYWN0aW9uUGFuZWxPZmZzZXQpICFpbXBvcnRhbnQ7XFxuICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLWFjdGlvblBhbmVsT2Zmc2V0KSkgIWltcG9ydGFudDtcXG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XFxuICB3aWxsLWNoYW5nZTogYXV0byAhaW1wb3J0YW50O1xcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG4uYlB3VHNPWXd2R2I5TFxcXFwrVXE5RTF4REFcXFxcPVxcXFw9IC5FRnY1aXl3NG9EQ0dHVjlZOVpFZndRXFxcXD1cXFxcPS5ZVlc4V0lhMVNxandMMUFDbDNJVDhBXFxcXD1cXFxcPSB7XFxuICB3aWR0aDogMDtcXG59XFxuLmJQd1RzT1l3dkdiOUxcXFxcK1VxOUUxeERBXFxcXD1cXFxcPSAueGc0Yk9qNk53UG9vUElhT1hQQ0tCZ1xcXFw9XFxcXD0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogdmFyKC0td29ya3NwYWNlV2lkdGgpO1xcbiAgYm9yZGVyLWlubGluZS1zdGFydDogMXB4IHNvbGlkICNhOGE4YTg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgd2lsbC1jaGFuZ2U6IHdpZHRoO1xcbiAgdHJhbnNpdGlvbjogd2lkdGggMC41cyBlYXNlLWluLW91dDtcXG59XFxuLmJQd1RzT1l3dkdiOUxcXFxcK1VxOUUxeERBXFxcXD1cXFxcPSAueGc0Yk9qNk53UG9vUElhT1hQQ0tCZ1xcXFw9XFxcXD0uXzZhQ0pBcVFFRkIyUmhaSHpvTFJERFFcXFxcPVxcXFw9IHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG4uYlB3VHNPWXd2R2I5TFxcXFwrVXE5RTF4REFcXFxcPVxcXFw9IC5GWFk4Q3lna0FJeEY5emNXMnlHU3ZnXFxcXD1cXFxcPSB7XFxuICB3aWR0aDogaW5oZXJpdDtcXG4gIGhlaWdodDogMTAwJTtcXG59XFxuLmJQd1RzT1l3dkdiOUxcXFxcK1VxOUUxeERBXFxcXD1cXFxcPSAuRlhZOEN5Z2tBSXhGOXpjVzJ5R1N2Z1xcXFw9XFxcXD0uWVZXOFdJYTFTcWp3TDFBQ2wzSVQ4QVxcXFw9XFxcXD0ge1xcbiAgd2lkdGg6IDA7XFxufVxcblxcbi4tUGRDTE9mWFZUU2loTmVUZTJaY0VRXFxcXD1cXFxcPSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWluLWhlaWdodDogNTAlO1xcbn1cXG5cXG4uQ2Q0MVxcXFwrNENUYktGejl4WHRvZ1EwOFFcXFxcPVxcXFw9IHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbi8qIERlc2t0b3AgKi9cXG4ub21ycy1icmVha3BvaW50LWd0LXRhYmxldCAuXzc1XFxcXCtLOHVkT1YtY3FDa0drQUdJajZ3XFxcXD1cXFxcPSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYThhOGE4O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcXG4gIGhlaWdodDogdmFyKC0td29ya3NwYWNlLWhlYWRlci1oZWlnaHQpO1xcbn1cXG4ub21ycy1icmVha3BvaW50LWd0LXRhYmxldCAuXzc1XFxcXCtLOHVkT1YtY3FDa0drQUdJajZ3XFxcXD1cXFxcPSBhIHtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tY2RzLWhlYWRpbmctY29tcGFjdC0wMi1mb250LXNpemUsIDFyZW0pO1xcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWNkcy1oZWFkaW5nLWNvbXBhY3QtMDItZm9udC13ZWlnaHQsIDYwMCk7XFxuICBsaW5lLWhlaWdodDogdmFyKC0tY2RzLWhlYWRpbmctY29tcGFjdC0wMi1saW5lLWhlaWdodCwgMS4zNzUpO1xcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNkcy1oZWFkaW5nLWNvbXBhY3QtMDItbGV0dGVyLXNwYWNpbmcsIDApO1xcbn1cXG4ub21ycy1icmVha3BvaW50LWd0LXRhYmxldCAuXzc1XFxcXCtLOHVkT1YtY3FDa0drQUdJajZ3XFxcXD1cXFxcPSBhOmhvdmVyIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbn1cXG4ub21ycy1icmVha3BvaW50LWd0LXRhYmxldCAuQXVycXpVWjMzT1R5OHpHOG1qXFxcXCtydWdcXFxcPVxcXFw9IGJ1dHRvbiB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UwZTBlMDtcXG59XFxuLm9tcnMtYnJlYWtwb2ludC1ndC10YWJsZXQgLkF1cnF6VVozM09UeTh6RzhtalxcXFwrcnVnXFxcXD1cXFxcPSBidXR0b24gPiBzdmcge1xcbiAgZmlsbDogIzEyMTYxOSAhaW1wb3J0YW50O1xcbn1cXG4ub21ycy1icmVha3BvaW50LWd0LXRhYmxldCAuQXVycXpVWjMzT1R5OHpHOG1qXFxcXCtydWdcXFxcPVxcXFw9IGJ1dHRvbjpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xcbn1cXG4ub21ycy1icmVha3BvaW50LWd0LXRhYmxldCAuWFlwNjdxZFNxTllQYW9NOWZDYkxoZ1xcXFw9XFxcXD0ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxuICBmbGV4LWdyb3c6IDE7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtZ3QtdGFibGV0IC5fNFdwMW04SFlUNzRIYmwtbWFDWU9hQVxcXFw9XFxcXD0ge1xcbiAgZmxleC1ncm93OiAxO1xcbn1cXG4ub21ycy1icmVha3BvaW50LWd0LXRhYmxldCAuYlB3VHNPWXd2R2I5TFxcXFwrVXE5RTF4REFcXFxcPVxcXFw9LnVEbi1WYjR3dllELVJpMlhzeVEzeXdcXFxcPVxcXFw9IHtcXG4gIC0tYWN0aW9uUGFuZWxPZmZzZXQ6IDNyZW07XFxufVxcblxcbi8qIFRhYmxldCAqL1xcbi5vbXJzLWJyZWFrcG9pbnQtbHQtZGVza3RvcCAuXzc1XFxcXCtLOHVkT1YtY3FDa0drQUdJajZ3XFxcXD1cXFxcPSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC0wMik7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtbHQtZGVza3RvcCAuXzc1XFxcXCtLOHVkT1YtY3FDa0drQUdJajZ3XFxcXD1cXFxcPSBhIHtcXG4gIGNvbG9yOiAjZmZmZmZmO1xcbn1cXG4ub21ycy1icmVha3BvaW50LWx0LWRlc2t0b3AgLl83NVxcXFwrSzh1ZE9WLWNxQ2tHa0FHSWo2d1xcXFw9XFxcXD0gYnV0dG9uIHtcXG4gIGNvbG9yOiAjZmZmZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtMDIpO1xcbn1cXG4ub21ycy1icmVha3BvaW50LWx0LWRlc2t0b3AgLl83NVxcXFwrSzh1ZE9WLWNxQ2tHa0FHSWo2d1xcXFw9XFxcXD0gYnV0dG9uOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLTAzKTtcXG59XFxuLm9tcnMtYnJlYWtwb2ludC1sdC1kZXNrdG9wIC5iUHdUc09Zd3ZHYjlMXFxcXCtVcTlFMXhEQVxcXFw9XFxcXD0ge1xcbiAgd2lkdGg6IDEwMHZ3O1xcbn1cXG5Ac3VwcG9ydHMgKHdpZHRoOiAxMDBjcXcpIHtcXG4gIC5vbXJzLWJyZWFrcG9pbnQtbHQtZGVza3RvcCAuYlB3VHNPWXd2R2I5TFxcXFwrVXE5RTF4REFcXFxcPVxcXFw9IHtcXG4gICAgd2lkdGg6IDEwMGNxdztcXG4gIH1cXG59XFxuLm9tcnMtYnJlYWtwb2ludC1sdC1kZXNrdG9wIC5FRnY1aXl3NG9EQ0dHVjlZOVpFZndRXFxcXD1cXFxcPSB7XFxuICB3aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1xcbn1cXG4ub21ycy1icmVha3BvaW50LWx0LWRlc2t0b3AgLkVGdjVpeXc0b0RDR0dWOVk5WkVmd1FcXFxcPVxcXFw9LllWVzhXSWExU3Fqd0wxQUNsM0lUOEFcXFxcPVxcXFw9IHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtbHQtZGVza3RvcCAuRUZ2NWl5dzRvRENHR1Y5WTlaRWZ3UVxcXFw9XFxcXD0uXzR4LTdTYUVFLVRCTVo3MkZaczNqaGdcXFxcPVxcXFw9IHtcXG4gIGhlaWdodDogY2FsYygxMDAlIC0gNHJlbSk7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtbHQtZGVza3RvcCAueGc0Yk9qNk53UG9vUElhT1hQQ0tCZ1xcXFw9XFxcXD0ge1xcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcXG59XFxuLm9tcnMtYnJlYWtwb2ludC1sdC1kZXNrdG9wIC5YNEk3TXJBUUZIVDRqVjBvY0ZocU1nXFxcXD1cXFxcPSB7XFxuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ib3R0b20tbmF2LWhlaWdodCk7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtbHQtZGVza3RvcCAuWFlwNjdxZFNxTllQYW9NOWZDYkxoZ1xcXFw9XFxcXD0ge1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIGhlaWdodDogMTAwJTtcXG59XFxuXFxuaHRtbFtkaXI9cnRsXSAub21ycy1icmVha3BvaW50LWd0LXRhYmxldCAuXzhXaXhCUklZMWJrZ1V1cnlXdWU2UVFcXFxcPVxcXFw9LlFuNFR5V0pyS2tOS3NQN2lFbHFGQXdcXFxcPVxcXFw9IHtcXG4gIHJpZ2h0OiB1bnNldDtcXG4gIGxlZnQ6IHZhcigtLWFjdGlvblBhbmVsT2Zmc2V0KTtcXG59XFxuaHRtbFtkaXI9cnRsXSAub21ycy1icmVha3BvaW50LWd0LXRhYmxldCAuXzRMYUJvTHFhOU1kdWRzMU9YVjVTcVFcXFxcPVxcXFw9IHtcXG4gIGhlaWdodDogMTAwJTtcXG59XFxuaHRtbFtkaXI9cnRsXSAub21ycy1icmVha3BvaW50LWd0LXRhYmxldCAuXzRMYUJvTHFhOU1kdWRzMU9YVjVTcVFcXFxcPVxcXFw9LlFuNFR5V0pyS2tOS3NQN2lFbHFGQXdcXFxcPVxcXFw9IHtcXG4gIHJpZ2h0OiB1bnNldDtcXG4gIGxlZnQ6IDA7XFxufVwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9kaXN0L192YXJzLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9kaXN0L3dvcmtzcGFjZXMyL3dvcmtzcGFjZTIubW9kdWxlLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FyYm9uL3R5cGUvc2Nzcy9fc3R5bGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBa0NBLDBFQUFBO0FBb0JBO0VBQ0UsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EseUJBQUE7RUFDQSwrQkFBQTtFQUNBLG9HQUFBO0VBQ0EsMkdBQUE7QUNwREY7O0FEZ0VBLDhEQUFBO0FDOURBO0VBQ0Usd0JBQUE7RUFZQSw0QkFBQTtFQUNBLGlCQUFBO0FBVEY7QUFGRTtFQUNFLDBCQUFBO0FBSUo7QUFGRTtFQUNFLDBCQUFBO0FBSUo7QUFGRTtFQUNFLDBCQUFBO0FBSUo7QUFJRTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFNBQUE7RUFDQSwwQ0FBQTtFQUNBLFlBQUE7QUFGSjtBQUlJO0VBQ0UsMEJBQUE7RUFDQSx5Q0FBQTtFQUNBLGdDQUFBO0VBQ0EscURBQUE7RUFDQSx3REFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSw0QkFBQTtFQUNBLDJCQUFBO0FBRk47QUFJSTtFQUNFLFFBQUE7QUFGTjtBQVFFO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLDRCQUFBO0VBQ0Esc0NBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0NBQUE7QUFOSjtBQVFJO0VBQ0UsV0FBQTtFQUNBLDJCQUFBO0FBTk47QUFlRTtFQUNFLGNBQUE7RUFDQSxZQUFBO0FBYko7QUFlSTtFQUNFLFFBQUE7QUFiTjs7QUFrQkE7RUFDRSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7QUFmRjs7QUFrQkE7RUFDRSxhQUFBO0FBZkY7O0FBa0JBLFlBQUE7QUFFRTtFQUNFLGtCQUFBO0VBQ0EsdUJBQUE7RUFDQSxnQ0FBQTtFQUNBLHlCRHBHSTtFQ3FHSixzQ0FBQTtBQWhCSjtBQWtCSTtFQ3V2QkEsd0RBQUE7RUFBQSwyREFBQTtFQUFBLDZEQUFBO0VBQUEsK0RBQUE7QURud0JKO0FBZU07RUFDRSxjQUFBO0FBYlI7QUFtQkk7RUFDRSx5QkRuSEU7RUNvSEYsK0JBQUE7QUFqQk47QUFtQk07RUFDRSx3QkFBQTtBQWpCUjtBQW9CTTtFQUNFLHlCRDVIQTtBQzBHUjtBQXVCRTtFQUNFLHlCRGpJSTtFQ2tJSixnQkFBQTtFQUNBLFlBQUE7QUFyQko7QUF3QkU7RUFDRSxZQUFBO0FBdEJKO0FBMEJJO0VBQ0UseUJBQUE7QUF4Qk47O0FBNkJBLFdBQUE7QUFFRTtFQUNFLGtCQUFBO0VBQ0EsaUNBQUE7QUEzQko7QUE2Qkk7RUFDRSxjRHhKRTtBQzZIUjtBQThCSTtFQUNFLGNENUpFO0VDNkpGLGlDQUFBO0FBNUJOO0FBOEJNO0VBQ0UsaUNBQUE7QUE1QlI7QUFtQ0U7RUFDRSxZQUFBO0FBakNKO0FBc0NFO0VBQ0U7SUFDRSxhQUFBO0VBcENKO0FBQ0Y7QUF1Q0U7RUFDRSx5QkFBQTtBQXJDSjtBQXNDSTtFQUNFLGFBQUE7QUFwQ047QUF3Q0k7RUFDRSx5QkFBQTtBQXRDTjtBQTBDRTtFQUNFLHNCQUFBO0FBeENKO0FBMkNFO0VBQ0UsdUNBQUE7QUF6Q0o7QUE0Q0U7RUFDRSxnQkFBQTtFQUNBLFlBQUE7QUExQ0o7O0FBa0RNO0VBQ0UsWUFBQTtFQUNBLDhCQUFBO0FBL0NSO0FBbURJO0VBQ0UsWUFBQTtBQWpETjtBQW1ETTtFQUNFLFlBQUE7RUFDQSxPQUFBO0FBakRSXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB1c2UgJ0BjYXJib24vbGF5b3V0JztcXG5cXG4kdWktMDE6ICNmNGY0ZjQ7XFxuJHVpLTAyOiAjZmZmZmZmO1xcbiR1aS0wMzogI2UwZTBlMDtcXG4kdWktMDQ6ICM4ZDhkOGQ7XFxuJHVpLTA1OiAjMTYxNjE2O1xcbiR0ZXh0LTAyOiAjNTI1MjUyO1xcbiR0ZXh0LTAzOiAjYThhOGE4O1xcbiR1aS1iYWNrZ3JvdW5kOiAjZmZmZmZmO1xcbiRjb2xvci1ncmF5LTMwOiAjYzZjNmM2O1xcbiRjb2xvci1ncmF5LTcwOiAjNTI1MjUyO1xcbiRjb2xvci1ncmF5LTEwMDogIzE2MTYxNjtcXG4kY29sb3ItYmx1ZS02MC0yOiAjMGY2MmZlO1xcbiRjb2xvci1ibHVlLTEwOiAjZWRmNWZmO1xcbiRjb2xvci15ZWxsb3ctNTA6ICNmZWVjYWU7XFxuJGNhcmJvbi0tcmVkLTUwOiAjZmE0ZDU2O1xcbiRpbnZlcnNlLWxpbms6ICM3OGE5ZmY7XFxuJHN1cHBvcnQtMDI6ICMyNGExNDg7XFxuJGludmVyc2Utc3VwcG9ydC0wMzogI2YxYzIxYjtcXG4kd2FybmluZy1iYWNrZ3JvdW5kOiAjZmZmOGUxO1xcbiRvcGVubXJzLWJhY2tncm91bmQtZ3JleTogI2Y0ZjRmNDtcXG4kZGFuZ2VyOiAjZGExZTI4O1xcbiRpbnRlcmFjdGl2ZS0wMTogIzBmNjJmZTtcXG4kZmllbGQtMDE6ICNmNGY0ZjQ7XFxuJGdyZXktMjogI2UwZTBlMDtcXG4kbGFiZWxkcm9wZG93bjogI2M2YzZjNjtcXG5cXG4kYnJhbmQtcHJpbWFyeS0xMDogI2Q5ZmJmYjtcXG4kYnJhbmQtcHJpbWFyeS0yMDogIzllZjBmMDtcXG4kYnJhbmQtcHJpbWFyeS0zMDogIzNkZGJkOTtcXG4kYnJhbmQtcHJpbWFyeS00MDogIzA4YmRiYTtcXG4kYnJhbmQtcHJpbWFyeS01MDogIzAwOWQ5YTtcXG5cXG4vKiA2MCw3MCBhbmQgODAgYXJlIGFscmVhZHkgZGVjbGFyZWQgYXMgYnJhbmQtMDEsIDAyIGFuZCAwMyByZXNwZWN0aXZlbHkgKi9cXG5cXG4kYnJhbmQtcHJpbWFyeS05MDogIzAyMmIzMDtcXG4kYnJhbmQtcHJpbWFyeS0xMDA6ICMwODFhMWM7XFxuXFxuQG1peGluIGJyYW5kLTAxKCRwcm9wZXJ0eSkge1xcbiAgI3skcHJvcGVydHl9OiAjMDA1ZDVkO1xcbiAgI3skcHJvcGVydHl9OiB2YXIoLS1icmFuZC0wMSk7XFxufVxcblxcbkBtaXhpbiBicmFuZC0wMigkcHJvcGVydHkpIHtcXG4gICN7JHByb3BlcnR5fTogIzAwNDE0NDtcXG4gICN7JHByb3BlcnR5fTogdmFyKC0tYnJhbmQtMDIpO1xcbn1cXG5cXG5AbWl4aW4gYnJhbmQtMDMoJHByb3BlcnR5KSB7XFxuICAjeyRwcm9wZXJ0eX06ICMwMDdkNzk7XFxuICAjeyRwcm9wZXJ0eX06IHZhcigtLWJyYW5kLTAzKTtcXG59XFxuXFxuOnJvb3Qge1xcbiAgLS1icmFuZC0wMTogIzAwNWQ1ZDtcXG4gIC0tYnJhbmQtMDI6ICMwMDQxNDQ7XFxuICAtLWJyYW5kLTAzOiAjMDA3ZDc5O1xcbiAgLS1ib3R0b20tbmF2LWhlaWdodDogI3tsYXlvdXQuJHNwYWNpbmctMTB9O1xcbiAgLS13b3Jrc3BhY2UtaGVhZGVyLWhlaWdodDogI3tsYXlvdXQuJHNwYWNpbmctMDl9O1xcbiAgLS10YWJsZXQtd29ya3NwYWNlLXdpbmRvdy1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1vbXJzLW5hdmJhci1oZWlnaHQpIC0gdmFyKC0tYm90dG9tLW5hdi1oZWlnaHQpKTtcXG4gIC0tZGVza3RvcC13b3Jrc3BhY2Utd2luZG93LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW9tcnMtbmF2YmFyLWhlaWdodCkgLSB2YXIoLS13b3Jrc3BhY2UtaGVhZGVyLWhlaWdodCkpO1xcbn1cXG5cXG4kYnJlYWtwb2ludC1waG9uZS1taW46IDBweDtcXG4kYnJlYWtwb2ludC1waG9uZS1tYXg6IDYwMHB4O1xcbiRicmVha3BvaW50LXRhYmxldC1taW46IDYwMXB4O1xcbiRicmVha3BvaW50LXRhYmxldC1tYXg6IDEwMjNweDtcXG4kYnJlYWtwb2ludC1zbWFsbC1kZXNrdG9wLW1pbjogMTAyNHB4O1xcbiRicmVha3BvaW50LXNtYWxsLWRlc2t0b3AtbWF4OiAxNDM5cHg7XFxuJGJyZWFrcG9pbnQtbGFyZ2UtZGVza3RvcC1taW46IDE0NDBweDtcXG4kYnJlYWtwb2ludC1sYXJnZS1kZXNrdG9wLW1heDogOTk5OTk5OTlweDtcXG5cXG4vKiBUaGVzZSBjb2xvciB2YXJpYWJsZXMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UgKi9cXG4kYnJhbmQtdGVhbC0wMTogIzAwN2Q3OTtcXG4kYnJhbmQtMDE6ICMwMDVkNWQ7XFxuJGJyYW5kLTAyOiAjMDA0MTQ0O1xcblwiLFwiQHVzZSAnQGNhcmJvbi9jb2xvcnMnO1xcbkB1c2UgJ0BjYXJib24vbGF5b3V0JztcXG5AdXNlICdAY2FyYm9uL3R5cGUnO1xcbkB1c2UgJy4uL3ZhcnMnIGFzICo7XFxuXFxuJG5hcnJvd1dvcmtzcGFjZVdpZHRoOiAyNi4yNXJlbTtcXG4kd2lkZXJXb3Jrc3BhY2VXaWR0aDogMzIuMjVyZW07XFxuJGV4dHJhV2lkZVdvcmtzcGFjZVdpZHRoOiA0OC4yNXJlbTtcXG5cXG4vLyBUaGlzIGNvbnRhaW5lciBoYXMgbm8gbGF5b3V0IHB1cnBvc2UuXFxuLy8gSXQgaXMgdXNlZCB0byBzZXQgdGhlIC0td29ya3NwYWNlV2lkdGggdmFyaWFibGUuXFxuLndvcmtzcGFjZU91dGVyQ29udGFpbmVyIHtcXG4gIC0tYWN0aW9uUGFuZWxPZmZzZXQ6IDBweDtcXG5cXG4gICYubmFycm93V29ya3NwYWNlIHtcXG4gICAgLS13b3Jrc3BhY2VXaWR0aDogI3skbmFycm93V29ya3NwYWNlV2lkdGh9O1xcbiAgfVxcbiAgJi53aWRlcldvcmtzcGFjZSB7XFxuICAgIC0td29ya3NwYWNlV2lkdGg6ICN7JHdpZGVyV29ya3NwYWNlV2lkdGh9O1xcbiAgfVxcbiAgJi5leHRyYVdpZGVXb3Jrc3BhY2Uge1xcbiAgICAtLXdvcmtzcGFjZVdpZHRoOiAjeyRleHRyYVdpZGVXb3Jrc3BhY2VXaWR0aH07XFxuICB9XFxuXFxuICB3aWR0aDogdmFyKC0td29ya3NwYWNlV2lkdGgpO1xcbiAgZGlzcGxheTogY29udGVudHM7XFxuXFxuICAvLyBUaGlzIGNvbnRhaW5lciBjbGlwcyB0aGUgd29ya3NwYWNlIHdoZW4gaXQgc2xpZGVzIG91dCBvZiBzY3JlZW5cXG4gIC8vICh2aWEgb3ZlcmZsb3c6IGhpZGRlbilcXG4gIC53b3Jrc3BhY2VNaWRkbGVDb250YWluZXIge1xcbiAgICB3aWR0aDogaW5oZXJpdDtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIGJvdHRvbTogMDtcXG4gICAgaW5zZXQtaW5saW5lLWVuZDogdmFyKC0tYWN0aW9uUGFuZWxPZmZzZXQpO1xcbiAgICB6LWluZGV4OiAxMDA7XFxuXFxuICAgICYubWF4aW1pemVkIHtcXG4gICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcXG4gICAgICB0b3A6IHZhcigtLW9tcnMtbmF2YmFyLWhlaWdodCkgIWltcG9ydGFudDtcXG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDAgIWltcG9ydGFudDtcXG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoLS1hY3Rpb25QYW5lbE9mZnNldCkgIWltcG9ydGFudDtcXG4gICAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLWFjdGlvblBhbmVsT2Zmc2V0KSkgIWltcG9ydGFudDtcXG4gICAgICBib3R0b206IDAgIWltcG9ydGFudDtcXG4gICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcXG4gICAgICB3aWxsLWNoYW5nZTogYXV0byAhaW1wb3J0YW50O1xcbiAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcXG4gICAgfVxcbiAgICAmLmhpZGRlbiB7XFxuICAgICAgd2lkdGg6IDA7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC8vIFRoaXMgY29udGFpbmVyIGNvbnRhaW5zIHRoZSBhY3R1YWwgd29ya3NwYWNlIGNvbnRlbnRcXG4gIC8vIGFuZCBjaGFuZ2VzIHNpemUgKHdpZHRoKSB3aGVuIG1heGltaXplZFxcbiAgLndvcmtzcGFjZUlubmVyQ29udGFpbmVyIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICB3aWR0aDogdmFyKC0td29ya3NwYWNlV2lkdGgpO1xcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQgJHRleHQtMDM7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgIHdpbGwtY2hhbmdlOiB3aWR0aDtcXG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC41cyBlYXNlLWluLW91dDtcXG5cXG4gICAgJi5tYXhpbWl6ZWQge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gVGhlIHNwYWNlciBpcyByZXNwb25zaWJsZSBmb3IgdGFraW5nIHVwIHNwYWNlIGFuZCBzaHJpbmtpbmcgdGhlIHdpZHRoIG9mIHRoZSBcXFwibWFpblxcXCIgY29udGVudFxcbiAgLy8gaW4gb21ycy1hcHBzLWNvbnRhaW5lciB3aGVuIGluIG5vbi1vdmVybGF5IG1vZGUuXFxuICAvLyBOb3RlIHRoYXQgdGhlIHNwYWNlciB0YWtlcyB1cCAtLXdvcmtzcGFjZVdpZHRoIGFtb3VudCBvZiBzcGFjZSwgYnV0IGRvZXNcXG4gIC8vIG5vdCBncm93IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBtYXhpbWl6ZWQuIEluIG90aGVyIHdvcmRzLCBpdCBkb2VzIG5vdCBzaHJpbmsgdGhlXFxuICAvLyBcXFwibWFpblxcXCIgY29udGVudCBmdXJ0aGVyIHdoZW4gd29ya3NwYWNlIGlzIG1heGltaXplZC5cXG4gIC53b3Jrc3BhY2VTcGFjZXIge1xcbiAgICB3aWR0aDogaW5oZXJpdDtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcblxcbiAgICAmLmhpZGRlbiB7XFxuICAgICAgd2lkdGg6IDA7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLmxvYWRlciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWluLWhlaWdodDogNTAlO1xcbn1cXG5cXG4uaGlkZGVuRXh0cmFXb3Jrc3BhY2Uge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuLyogRGVza3RvcCAqL1xcbjpnbG9iYWwoLm9tcnMtYnJlYWtwb2ludC1ndC10YWJsZXQpIHtcXG4gIC5oZWFkZXIge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRleHQtMDM7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wMztcXG4gICAgaGVpZ2h0OiB2YXIoLS13b3Jrc3BhY2UtaGVhZGVyLWhlaWdodCk7XFxuXFxuICAgIGEge1xcbiAgICAgIEBpbmNsdWRlIHR5cGUudHlwZS1zdHlsZSgnaGVhZGluZy1jb21wYWN0LTAyJyk7XFxuXFxuICAgICAgJjpob3ZlciB7XFxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5oZWFkZXJCdXR0b25zIHtcXG4gICAgYnV0dG9uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDI7XFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgY29sb3JzLiRncmF5LTIwO1xcblxcbiAgICAgID4gc3ZnIHtcXG4gICAgICAgIGZpbGw6IGNvbG9ycy4kY29vbC1ncmF5LTEwMCAhaW1wb3J0YW50O1xcbiAgICAgIH1cXG5cXG4gICAgICAmOmhvdmVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wMTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIC53b3Jrc3BhY2VDb250ZW50IHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAyO1xcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgICBmbGV4LWdyb3c6IDE7XFxuICB9XFxuXFxuICAub3ZlcmxheUhlYWRlclNwYWNlciB7XFxuICAgIGZsZXgtZ3JvdzogMTtcXG4gIH1cXG5cXG4gIC53b3Jrc3BhY2VPdXRlckNvbnRhaW5lciB7XFxuICAgICYuaXNBY3Rpb25NZW51T3BlbmVkIHtcXG4gICAgICAtLWFjdGlvblBhbmVsT2Zmc2V0OiAje2xheW91dC4kc3BhY2luZy0wOX07XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLyogVGFibGV0ICovXFxuOmdsb2JhbCgub21ycy1icmVha3BvaW50LWx0LWRlc2t0b3ApIHtcXG4gIC5oZWFkZXIge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLTAyKTtcXG5cXG4gICAgYSB7XFxuICAgICAgY29sb3I6ICR1aS0wMjtcXG4gICAgfVxcblxcbiAgICBidXR0b24ge1xcbiAgICAgIGNvbG9yOiAkdWktMDI7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtMDIpO1xcblxcbiAgICAgICY6aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtMDMpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gZmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGUgY29udGFpbmVyIENTUyBmZWF0dXJlLFxcbiAgLy8gdGhlIHdpZHRoIGlzIHNsaWdodGx5IG9mZiBpZiA8Ym9keT4gaGFzIGEgdmVydGljYWwgc2Nyb2xsYmFyXFxuICAud29ya3NwYWNlT3V0ZXJDb250YWluZXIge1xcbiAgICB3aWR0aDogMTAwdnc7XFxuICB9XFxuXFxuICAvLyB1c2luZyB0aGUgY29udGFpbmVyIENTUyBmZWF0dXJlLCBmb3IgYnJvd3NlciB0aGF0IHN1cHBvcnQgaXRcXG4gIC8vICBnZXQgdGhlIGNvbnRhaW5lciBxdWVyeSB3aWR0aCAoaS5lLiB3aWR0aCBvZiA8Ym9keT4sIHdpdGhvdXQgdGhlIHNjcm9sbGJhcnMpXFxuICBAc3VwcG9ydHMgKHdpZHRoOiAxMDBjcXcpIHtcXG4gICAgLndvcmtzcGFjZU91dGVyQ29udGFpbmVyIHtcXG4gICAgICB3aWR0aDogMTAwY3F3O1xcbiAgICB9XFxuICB9XFxuXFxuICAud29ya3NwYWNlTWlkZGxlQ29udGFpbmVyIHtcXG4gICAgd2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcXG4gICAgJi5oaWRkZW4ge1xcbiAgICAgIGRpc3BsYXk6IG5vbmU7XFxuICAgIH1cXG5cXG4gICAgLy8gaW4gdGFibGV0IG1vZGUsIHJlZHVjZSB0aGUgaGVpZ2h0IHRvIG9mIHRoZSB3b3Jrc3BhY2Ugd2luZG93IHRvIGFjY29tbW9kYXRlIHRoZSB3b3Jrc3BhY2UgbWVudSAoYm90dG9tIG5hdilcXG4gICAgJi5zaG93QWN0aW9uTWVudSB7XFxuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSBsYXlvdXQuJHNwYWNpbmctMTApO1xcbiAgICB9XFxuICB9XFxuXFxuICAud29ya3NwYWNlSW5uZXJDb250YWluZXIge1xcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xcbiAgfVxcblxcbiAgLm1hcmdpbldvcmtzcGFjZUNvbnRlbnQge1xcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ib3R0b20tbmF2LWhlaWdodCk7XFxuICB9XFxuXFxuICAud29ya3NwYWNlQ29udGVudCB7XFxuICAgIG92ZXJmbG93LXk6IGF1dG87XFxuICAgIGhlaWdodDogMTAwJTtcXG4gIH1cXG59XFxuXFxuLy8gT3ZlcnJpZGluZyBzdHlsZXMgZm9yIFJUTCBzdXBwb3J0XFxuaHRtbFtkaXI9J3J0bCddIHtcXG4gIDpnbG9iYWwoLm9tcnMtYnJlYWtwb2ludC1ndC10YWJsZXQpIHtcXG4gICAgLndvcmtzcGFjZUNvbnRhaW5lcldpdGhBY3Rpb25NZW51IHtcXG4gICAgICAmLndvcmtzcGFjZUZpeGVkQ29udGFpbmVyIHtcXG4gICAgICAgIHJpZ2h0OiB1bnNldDtcXG4gICAgICAgIGxlZnQ6IHZhcigtLWFjdGlvblBhbmVsT2Zmc2V0KTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgLndvcmtzcGFjZUNvbnRhaW5lcldpdGhvdXRBY3Rpb25NZW51IHtcXG4gICAgICBoZWlnaHQ6IDEwMCU7XFxuXFxuICAgICAgJi53b3Jrc3BhY2VGaXhlZENvbnRhaW5lciB7XFxuICAgICAgICByaWdodDogdW5zZXQ7XFxuICAgICAgICBsZWZ0OiAwO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIixcIi8vXFxuLy8gQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE4LCAyMDIzXFxuLy9cXG4vLyBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUtMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXFxuLy8gTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxcbi8vXFxuXFxuLy8gc3R5bGVsaW50LWRpc2FibGUgbnVtYmVyLW1heC1wcmVjaXNpb25cXG5cXG5AdXNlICdzYXNzOm1hcCc7XFxuQHVzZSAnc2FzczptYXRoJztcXG5AdXNlICdAY2FyYm9uL2dyaWQvc2Nzcy9jb25maWcnIGFzIGdyaWRjb25maWc7XFxuQHVzZSAnQGNhcmJvbi9ncmlkL3Njc3MvYnJlYWtwb2ludCcgYXMgZ3JpZDtcXG5AdXNlICdwcmVmaXgnIGFzICo7XFxuQHVzZSAnZm9udC1mYW1pbHknO1xcbkB1c2UgJ3NjYWxlJztcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBkZXByZWNhdGVkXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kY2FwdGlvbi0wMTogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS4zMzMzMyxcXG4gIGxldHRlci1zcGFjaW5nOiAwLjMycHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBkZXByZWNhdGVkXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kY2FwdGlvbi0wMjogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDIpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS4yODU3MixcXG4gIGxldHRlci1zcGFjaW5nOiAwLjMycHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kbGFiZWwtMDE6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMsXFxuICBsZXR0ZXItc3BhY2luZzogMC4zMnB4LFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGxhYmVsLTAyOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMiksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTcyLFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTZweCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRsZWdhbC0wMTogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS4zMzMzMyxcXG4gIGxldHRlci1zcGFjaW5nOiAwLjMycHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kbGVnYWwtMDI6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgyKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzIsXFxuICBsZXR0ZXItc3BhY2luZzogMC4xNnB4LFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZGVwcmVjYXRlZFxcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGhlbHBlci10ZXh0LTAxOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMSksXFxuICBsaW5lLWhlaWdodDogMS4zMzMzMyxcXG4gIGxldHRlci1zcGFjaW5nOiAwLjMycHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBkZXByZWNhdGVkXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kaGVscGVyLXRleHQtMDI6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgyKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzIsXFxuICBsZXR0ZXItc3BhY2luZzogMC4xNnB4LFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGJvZHktc2hvcnQtMDE6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgyKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzIsXFxuICBsZXR0ZXItc3BhY2luZzogMC4xNnB4LFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGJvZHktY29tcGFjdC0wMTogJGJvZHktc2hvcnQtMDEgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGJvZHktbG9uZy0wMTogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDIpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS40Mjg1NyxcXG4gIGxldHRlci1zcGFjaW5nOiAwLjE2cHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kYm9keS0wMTogJGJvZHktbG9uZy0wMSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kYm9keS1zaG9ydC0wMjogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDMpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS4zNzUsXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRib2R5LWNvbXBhY3QtMDI6ICRib2R5LXNob3J0LTAyICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRib2R5LWxvbmctMDI6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgzKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgbGluZS1oZWlnaHQ6IDEuNSxcXG4gIGxldHRlci1zcGFjaW5nOiAwLFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGJvZHktMDI6ICRib2R5LWxvbmctMDIgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGNvZGUtMDE6IChcXG4gIGZvbnQtZmFtaWx5OiBmb250LWZhbWlseS5mb250LWZhbWlseSgnbW9ubycpLFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS4zMzMzMyxcXG4gIGxldHRlci1zcGFjaW5nOiAwLjMycHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kY29kZS0wMjogKFxcbiAgZm9udC1mYW1pbHk6IGZvbnQtZmFtaWx5LmZvbnQtZmFtaWx5KCdtb25vJyksXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMiksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRoZWFkaW5nLTAxOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMiksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3NlbWlib2xkJyksXFxuICBsaW5lLWhlaWdodDogMS40Mjg1NyxcXG4gIGxldHRlci1zcGFjaW5nOiAwLjE2cHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kcHJvZHVjdGl2ZS1oZWFkaW5nLTAxOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMiksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3NlbWlib2xkJyksXFxuICBsaW5lLWhlaWdodDogMS4yODU3MixcXG4gIGxldHRlci1zcGFjaW5nOiAwLjE2cHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kaGVhZGluZy1jb21wYWN0LTAxOiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTAxICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRoZWFkaW5nLTAyOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMyksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3NlbWlib2xkJyksXFxuICBsaW5lLWhlaWdodDogMS41LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kcHJvZHVjdGl2ZS1oZWFkaW5nLTAyOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMyksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3NlbWlib2xkJyksXFxuICBsaW5lLWhlaWdodDogMS4zNzUsXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRoZWFkaW5nLWNvbXBhY3QtMDI6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDIgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJHByb2R1Y3RpdmUtaGVhZGluZy0wMzogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDUpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS40LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kaGVhZGluZy0wMzogJHByb2R1Y3RpdmUtaGVhZGluZy0wMyAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kcHJvZHVjdGl2ZS1oZWFkaW5nLTA0OiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoNyksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTcyLFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kaGVhZGluZy0wNDogJHByb2R1Y3RpdmUtaGVhZGluZy0wNCAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kcHJvZHVjdGl2ZS1oZWFkaW5nLTA1OiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoOCksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kaGVhZGluZy0wNTogJHByb2R1Y3RpdmUtaGVhZGluZy0wNSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kcHJvZHVjdGl2ZS1oZWFkaW5nLTA2OiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTApLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdsaWdodCcpLFxcbiAgLy8gRXh0cmEgZGlnaXQgbmVlZGVkIGZvciBwcmVjaXNpb24gaW4gQ2hyb21lXFxuICBsaW5lLWhlaWdodDogMS4xOTksXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRoZWFkaW5nLTA2OiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTA2ICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRwcm9kdWN0aXZlLWhlYWRpbmctMDc6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMiksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ2xpZ2h0JyksXFxuICBsaW5lLWhlaWdodDogMS4xOSxcXG4gIGxldHRlci1zcGFjaW5nOiAwLFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGhlYWRpbmctMDc6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDcgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGV4cHJlc3NpdmUtaGVhZGluZy0wMTogJGhlYWRpbmctMDEgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGV4cHJlc3NpdmUtaGVhZGluZy0wMjogJGhlYWRpbmctMDIgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGV4cHJlc3NpdmUtaGVhZGluZy0wMzogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDUpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS40LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuICBicmVha3BvaW50czogKFxcbiAgICB4bGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoNSksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNCxcXG4gICAgKSxcXG4gICAgbWF4OiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDYpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzNCxcXG4gICAgKSxcXG4gICksXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZmx1aWQtaGVhZGluZy0wMzogJGV4cHJlc3NpdmUtaGVhZGluZy0wMyAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZXhwcmVzc2l2ZS1oZWFkaW5nLTA0OiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoNyksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTcyLFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuICBicmVha3BvaW50czogKFxcbiAgICB4bGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoOCksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMjUsXFxuICAgICAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICAgICksXFxuICAgIG1heDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg4KSxcXG4gICAgICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gICAgKSxcXG4gICksXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZmx1aWQtaGVhZGluZy0wNDogJGV4cHJlc3NpdmUtaGVhZGluZy0wNCAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZXhwcmVzc2l2ZS1oZWFkaW5nLTA1OiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoOCksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuICBicmVha3BvaW50czogKFxcbiAgICBtZDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg5KSxcXG4gICAgICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ2xpZ2h0JyksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMjIsXFxuICAgICksXFxuICAgIGxnOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEwKSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4xOSxcXG4gICAgKSxcXG4gICAgeGxnOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDExKSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4xNyxcXG4gICAgKSxcXG4gICAgbWF4OiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEzKSxcXG4gICAgKSxcXG4gICksXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZmx1aWQtaGVhZGluZy0wNTogJGV4cHJlc3NpdmUtaGVhZGluZy0wNSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZXhwcmVzc2l2ZS1oZWFkaW5nLTA2OiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoOCksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3NlbWlib2xkJyksXFxuICBsaW5lLWhlaWdodDogMS4yNSxcXG4gIGxldHRlci1zcGFjaW5nOiAwLFxcbiAgYnJlYWtwb2ludHM6IChcXG4gICAgbWQ6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoOSksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMjIsXFxuICAgICksXFxuICAgIGxnOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEwKSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4xOSxcXG4gICAgKSxcXG4gICAgeGxnOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDExKSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4xNyxcXG4gICAgKSxcXG4gICAgbWF4OiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEzKSxcXG4gICAgKSxcXG4gICksXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZmx1aWQtaGVhZGluZy0wNjogJGV4cHJlc3NpdmUtaGVhZGluZy0wNiAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZXhwcmVzc2l2ZS1wYXJhZ3JhcGgtMDE6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg2KSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnbGlnaHQnKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjMzNCxcXG4gIGxldHRlci1zcGFjaW5nOiAwLFxcbiAgYnJlYWtwb2ludHM6IChcXG4gICAgbGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoNyksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMjg1NzIsXFxuICAgICksXFxuICAgIG1heDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg4KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4yNSxcXG4gICAgKSxcXG4gICksXFxuKTtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZmx1aWQtcGFyYWdyYXBoLTAxOiAkZXhwcmVzc2l2ZS1wYXJhZ3JhcGgtMDEgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJHF1b3RhdGlvbi0wMTogKFxcbiAgZm9udC1mYW1pbHk6IGZvbnQtZmFtaWx5LmZvbnQtZmFtaWx5KCdzZXJpZicpLFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDUpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS4zLFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuICBicmVha3BvaW50czogKFxcbiAgICBtZDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg1KSxcXG4gICAgKSxcXG4gICAgbGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoNiksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMzM0LFxcbiAgICApLFxcbiAgICB4bGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoNyksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMjg1NzIsXFxuICAgICksXFxuICAgIG1heDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg4KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4yNSxcXG4gICAgKSxcXG4gICksXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZmx1aWQtcXVvdGF0aW9uLTAxOiAkcXVvdGF0aW9uLTAxICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRxdW90YXRpb24tMDI6IChcXG4gIGZvbnQtZmFtaWx5OiBmb250LWZhbWlseS5mb250LWZhbWlseSgnc2VyaWYnKSxcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg4KSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnbGlnaHQnKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuICBicmVha3BvaW50czogKFxcbiAgICBtZDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg5KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4yMixcXG4gICAgKSxcXG4gICAgbGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTApLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE5LFxcbiAgICApLFxcbiAgICB4bGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTEpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE3LFxcbiAgICApLFxcbiAgICBtYXg6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTMpLFxcbiAgICApLFxcbiAgKSxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRmbHVpZC1xdW90YXRpb24tMDI6ICRxdW90YXRpb24tMDIgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGRpc3BsYXktMDE6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMCksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ2xpZ2h0JyksXFxuICBsaW5lLWhlaWdodDogMS4xOSxcXG4gIGxldHRlci1zcGFjaW5nOiAwLFxcbiAgYnJlYWtwb2ludHM6IChcXG4gICAgbWQ6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTApLFxcbiAgICApLFxcbiAgICBsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMiksXFxuICAgICksXFxuICAgIHhsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMyksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTcsXFxuICAgICksXFxuICAgIG1heDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxNSksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTMsXFxuICAgICksXFxuICApLFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGZsdWlkLWRpc3BsYXktMDE6ICRkaXNwbGF5LTAxICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRkaXNwbGF5LTAyOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTApLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdzZW1pYm9sZCcpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMTksXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4gIGJyZWFrcG9pbnRzOiAoXFxuICAgIG1kOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEwKSxcXG4gICAgKSxcXG4gICAgbGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTIpLFxcbiAgICApLFxcbiAgICB4bGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTMpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE2LFxcbiAgICApLFxcbiAgICBtYXg6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTUpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEzLFxcbiAgICApLFxcbiAgKSxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRmbHVpZC1kaXNwbGF5LTAyOiAkZGlzcGxheS0wMiAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZGlzcGxheS0wMzogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEwKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnbGlnaHQnKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjE5LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuICBicmVha3BvaW50czogKFxcbiAgICBtZDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMiksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTgsXFxuICAgICksXFxuICAgIGxnOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEzKSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4xNixcXG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNjRweCxcXG4gICAgKSxcXG4gICAgeGxnOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDE1KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4xMyxcXG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNjRweCxcXG4gICAgKSxcXG4gICAgbWF4OiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDE2KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4xMSxcXG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuOTZweCxcXG4gICAgKSxcXG4gICksXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZmx1aWQtZGlzcGxheS0wMzogJGRpc3BsYXktMDMgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGRpc3BsYXktMDQ6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMCksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ2xpZ2h0JyksXFxuICBsaW5lLWhlaWdodDogMS4xOSxcXG4gIGxldHRlci1zcGFjaW5nOiAwLFxcbiAgYnJlYWtwb2ludHM6IChcXG4gICAgbWQ6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTQpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1LFxcbiAgICApLFxcbiAgICBsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxNyksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTEsXFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjY0cHgsXFxuICAgICksXFxuICAgIHhsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgyMCksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMDcsXFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjY0cHgsXFxuICAgICksXFxuICAgIG1heDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgyMyksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMDUsXFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjk2cHgsXFxuICAgICksXFxuICApLFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGZsdWlkLWRpc3BsYXktMDQ6ICRkaXNwbGF5LTA0ICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiR0b2tlbnM6IChcXG4gIGNhcHRpb24tMDE6ICRjYXB0aW9uLTAxLFxcbiAgY2FwdGlvbi0wMjogJGNhcHRpb24tMDIsXFxuICBsYWJlbC0wMTogJGxhYmVsLTAxLFxcbiAgbGFiZWwtMDI6ICRsYWJlbC0wMixcXG4gIGhlbHBlci10ZXh0LTAxOiAkaGVscGVyLXRleHQtMDEsXFxuICBoZWxwZXItdGV4dC0wMjogJGhlbHBlci10ZXh0LTAyLFxcbiAgYm9keS1zaG9ydC0wMTogJGJvZHktc2hvcnQtMDEsXFxuICBib2R5LXNob3J0LTAyOiAkYm9keS1zaG9ydC0wMixcXG4gIGJvZHktbG9uZy0wMTogJGJvZHktbG9uZy0wMSxcXG4gIGJvZHktbG9uZy0wMjogJGJvZHktbG9uZy0wMixcXG4gIGNvZGUtMDE6ICRjb2RlLTAxLFxcbiAgY29kZS0wMjogJGNvZGUtMDIsXFxuICBoZWFkaW5nLTAxOiAkaGVhZGluZy0wMSxcXG4gIGhlYWRpbmctMDI6ICRoZWFkaW5nLTAyLFxcbiAgcHJvZHVjdGl2ZS1oZWFkaW5nLTAxOiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTAxLFxcbiAgcHJvZHVjdGl2ZS1oZWFkaW5nLTAyOiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTAyLFxcbiAgcHJvZHVjdGl2ZS1oZWFkaW5nLTAzOiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTAzLFxcbiAgcHJvZHVjdGl2ZS1oZWFkaW5nLTA0OiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTA0LFxcbiAgcHJvZHVjdGl2ZS1oZWFkaW5nLTA1OiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTA1LFxcbiAgcHJvZHVjdGl2ZS1oZWFkaW5nLTA2OiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTA2LFxcbiAgcHJvZHVjdGl2ZS1oZWFkaW5nLTA3OiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTA3LFxcbiAgZXhwcmVzc2l2ZS1wYXJhZ3JhcGgtMDE6ICRleHByZXNzaXZlLXBhcmFncmFwaC0wMSxcXG4gIGV4cHJlc3NpdmUtaGVhZGluZy0wMTogJGV4cHJlc3NpdmUtaGVhZGluZy0wMSxcXG4gIGV4cHJlc3NpdmUtaGVhZGluZy0wMjogJGV4cHJlc3NpdmUtaGVhZGluZy0wMixcXG4gIGV4cHJlc3NpdmUtaGVhZGluZy0wMzogJGV4cHJlc3NpdmUtaGVhZGluZy0wMyxcXG4gIGV4cHJlc3NpdmUtaGVhZGluZy0wNDogJGV4cHJlc3NpdmUtaGVhZGluZy0wNCxcXG4gIGV4cHJlc3NpdmUtaGVhZGluZy0wNTogJGV4cHJlc3NpdmUtaGVhZGluZy0wNSxcXG4gIGV4cHJlc3NpdmUtaGVhZGluZy0wNjogJGV4cHJlc3NpdmUtaGVhZGluZy0wNixcXG4gIHF1b3RhdGlvbi0wMTogJHF1b3RhdGlvbi0wMSxcXG4gIHF1b3RhdGlvbi0wMjogJHF1b3RhdGlvbi0wMixcXG4gIGRpc3BsYXktMDE6ICRkaXNwbGF5LTAxLFxcbiAgZGlzcGxheS0wMjogJGRpc3BsYXktMDIsXFxuICBkaXNwbGF5LTAzOiAkZGlzcGxheS0wMyxcXG4gIGRpc3BsYXktMDQ6ICRkaXNwbGF5LTA0LFxcbiAgLy8gVjExIFRva2Vuc1xcbiAgbGVnYWwtMDE6ICRsZWdhbC0wMSxcXG4gIGxlZ2FsLTAyOiAkbGVnYWwtMDIsXFxuICBib2R5LWNvbXBhY3QtMDE6ICRib2R5LWNvbXBhY3QtMDEsXFxuICBib2R5LWNvbXBhY3QtMDI6ICRib2R5LWNvbXBhY3QtMDIsXFxuICBoZWFkaW5nLWNvbXBhY3QtMDE6ICRoZWFkaW5nLWNvbXBhY3QtMDEsXFxuICBoZWFkaW5nLWNvbXBhY3QtMDI6ICRoZWFkaW5nLWNvbXBhY3QtMDIsXFxuICBib2R5LTAxOiAkYm9keS0wMSxcXG4gIGJvZHktMDI6ICRib2R5LTAyLFxcbiAgaGVhZGluZy0wMzogJGhlYWRpbmctMDMsXFxuICBoZWFkaW5nLTA0OiAkaGVhZGluZy0wNCxcXG4gIGhlYWRpbmctMDU6ICRoZWFkaW5nLTA1LFxcbiAgaGVhZGluZy0wNjogJGhlYWRpbmctMDYsXFxuICBoZWFkaW5nLTA3OiAkaGVhZGluZy0wNyxcXG4gIGZsdWlkLWhlYWRpbmctMDM6ICRmbHVpZC1oZWFkaW5nLTAzLFxcbiAgZmx1aWQtaGVhZGluZy0wNDogJGZsdWlkLWhlYWRpbmctMDQsXFxuICBmbHVpZC1oZWFkaW5nLTA1OiAkZmx1aWQtaGVhZGluZy0wNSxcXG4gIGZsdWlkLWhlYWRpbmctMDY6ICRmbHVpZC1oZWFkaW5nLTA2LFxcbiAgZmx1aWQtcGFyYWdyYXBoLTAxOiAkZmx1aWQtcGFyYWdyYXBoLTAxLFxcbiAgZmx1aWQtcXVvdGF0aW9uLTAxOiAkZmx1aWQtcXVvdGF0aW9uLTAxLFxcbiAgZmx1aWQtcXVvdGF0aW9uLTAyOiAkZmx1aWQtcXVvdGF0aW9uLTAyLFxcbiAgZmx1aWQtZGlzcGxheS0wMTogJGZsdWlkLWRpc3BsYXktMDEsXFxuICBmbHVpZC1kaXNwbGF5LTAyOiAkZmx1aWQtZGlzcGxheS0wMixcXG4gIGZsdWlkLWRpc3BsYXktMDM6ICRmbHVpZC1kaXNwbGF5LTAzLFxcbiAgZmx1aWQtZGlzcGxheS0wNDogJGZsdWlkLWRpc3BsYXktMDQsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbkBtaXhpbiBwcm9wZXJ0aWVzKCRtYXApIHtcXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1hcCB7XFxuICAgICN7JG5hbWV9OiAkdmFsdWU7XFxuICB9XFxufVxcblxcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gTnVtYmVyIHdpdGggdW5pdHNcXG4vLy8gQHJldHVybiB7TnVtYmVyfSBXaXRob3V0IHVuaXRzXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkdmFsdWUpIHtcXG4gIEByZXR1cm4gbWF0aC5kaXYoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSk7XFxufVxcblxcbi8vLyBUaGlzIGhlbHBlciBpbmNsdWRlcyBmbHVpZCB0eXBlIHN0eWxlcyBmb3IgdGhlIGdpdmVuIHRva2VuIHZhbHVlLiBGbHVpZCB0eXBlXFxuLy8vIG1lYW5zIHRoYXQgdGhlIGBmb250LXNpemVgIGlzIGNvbXB1dGVkIHVzaW5nIGBjYWxjKClgIGluIG9yZGVyIHRvIGJlXFxuLy8vIGRldGVybWluZWQgYnkgdGhlIHNjcmVlbiBzaXplIGluc3RlYWQgb2YgYSBicmVha3BvaW50LiBBcyBhIHJlc3VsdCwgZmx1aWRcXG4vLy8gc3R5bGVzIHNob3VsZCBiZSB1c2VkIHdpdGggY2F1dGlvbiBpbiBmaXhlZCB3aWR0aCBjb250ZXh0cy5cXG4vLy9cXG4vLy8gSW4gYWRkaXRpb24sIHdlIG1ha2UgdXNlIG9mICUtYmFzZWQgbGluZS1oZWlnaHRzIHNvIHRoYXQgdGhlIGxpbmUtaGVpZ2h0IG9mXFxuLy8vIGVhY2ggdHlwZSBzdHlsZSBpcyBjb21wdXRlZCBjb3JyZWN0bHkgZHVlIHRvIHRoZSBkeW5hbWljIG5hdHVyZSBvZiB0aGVcXG4vLy8gYGZvbnQtc2l6ZWAuXFxuLy8vXFxuLy8vIE1vc3Qgb2YgdGhlIGxvZ2ljIGZvciB0aGlzIHdvcmsgY29tZXMgZnJvbSBDU1MgVHJpY2tzOlxcbi8vLyBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2Nzcy9mbHVpZC10eXBvZ3JhcGh5L1xcbi8vL1xcbi8vLyBAcGFyYW0ge01hcH0gJHR5cGUtc3R5bGVzIC0gVGhlIHZhbHVlIG9mIGEgZ2l2ZW4gdHlwZSB0b2tlblxcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskZ3JpZC1icmVha3BvaW50c10gLSBDdXN0b20gYnJlYWtwb2ludHMgdG8gdXNlXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG5AbWl4aW4gZmx1aWQtdHlwZSgkdHlwZS1zdHlsZXMsICRicmVha3BvaW50czogZ3JpZGNvbmZpZy4kZ3JpZC1icmVha3BvaW50cykge1xcbiAgLy8gSW5jbHVkZSB0aGUgaW5pdGlhbCBzdHlsZXMgZm9yIHRoZSBnaXZlbiB0b2tlbiBieSBkZWZhdWx0IHdpdGhvdXQgYW55XFxuICAvLyBtZWRpYSBxdWVyeSBndWFyZC4gVGhpcyBpbmNsdWRlcyBgZm9udC1zaXplYCBhcyBhIGZhbGxiYWNrIGluIHRoZSBjYXNlXFxuICAvLyB0aGF0IGEgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IGBjYWxjKClgXFxuICBAaW5jbHVkZSBwcm9wZXJ0aWVzKG1hcC5yZW1vdmUoJHR5cGUtc3R5bGVzLCBicmVha3BvaW50cykpO1xcbiAgLy8gV2UgYWxzbyBuZWVkIHRvIGluY2x1ZGUgdGhlIGBzbWAgc3R5bGVzIGJ5IGRlZmF1bHQgc2luY2UgdGhleSBkb24ndFxcbiAgLy8gYXBwZWFyIGluIHRoZSBmbHVpZCBzdHlsZXMgZm9yIHRva2Vuc1xcbiAgQGluY2x1ZGUgZmx1aWQtdHlwZS1zaXplKCR0eXBlLXN0eWxlcywgc20sICRicmVha3BvaW50cyk7XFxuXFxuICAvLyBGaW5hbGx5LCB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggYWxsIHRoZSBicmVha3BvaW50cyBkZWZpbmVkIGluIHRoZSB0eXBlXFxuICAvLyB0b2tlbiBhbmQgYXBwbHkgdGhlIHByb3BlcnRpZXMgYW5kIGZsdWlkIHR5cGUgc2l6ZSBmb3IgdGhhdCBnaXZlblxcbiAgLy8gYnJlYWtwb2ludFxcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZXMgaW4gbWFwLmdldCgkdHlwZS1zdHlsZXMsIGJyZWFrcG9pbnRzKSB7XFxuICAgIEBpbmNsdWRlIGdyaWQuYnJlYWtwb2ludCgkbmFtZSkge1xcbiAgICAgIEBpbmNsdWRlIHByb3BlcnRpZXMoJHZhbHVlcyk7XFxuICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZS1zaXplKCR0eXBlLXN0eWxlcywgJG5hbWUsICRicmVha3BvaW50cyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLy8vIENvbXB1dGVzIHRoZSBmbHVpZCBgZm9udC1zaXplYCBmb3IgYSBnaXZlbiB0eXBlIHN0eWxlIGFuZCBicmVha3BvaW50XFxuLy8vIEBwYXJhbSB7TWFwfSAkdHlwZS1zdHlsZXMgLSBUaGUgc3R5bGVzIGZvciBhIGdpdmVuIHRva2VuXFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHRvIHdoaWNoIHdlIGFwcGx5IHRoZSBmbHVpZFxcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskZ3JpZC1icmVha3BvaW50c10gLSBUaGUgYnJlYWtwb2ludHMgZm9yIHRoZSBncmlkIHN5c3RlbVxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuQG1peGluIGZsdWlkLXR5cGUtc2l6ZShcXG4gICR0eXBlLXN0eWxlcyxcXG4gICRuYW1lLFxcbiAgJGJyZWFrcG9pbnRzOiBncmlkY29uZmlnLiRncmlkLWJyZWFrcG9pbnRzXFxuKSB7XFxuICAvLyBHZXQgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBicmVha3BvaW50IHdlJ3JlIGN1cnJlbnRseSB3b3JraW5nIGluLiBVc2VmdWxcXG4gIC8vIGZvciBnZXR0aW5nIGluaXRpYWwgd2lkdGggaW5mb3JtYXRpb25cXG4gICRicmVha3BvaW50OiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xcblxcbiAgLy8gT3VyIGZsdWlkIHN0eWxlcyBhcmUgY2FwdHVyZWQgdW5kZXIgdGhlICdicmVha3BvaW50cycgcHJvcGVydHkgaW4gb3VyIHR5cGVcXG4gIC8vIHN0eWxlcyBtYXAuIFRoZXNlIGRlZmluZSB3aGF0IHZhbHVlcyB0byB0cmVhdCBhcyBgbWF4LWAgdmFyaWFibGVzIGJlbG93XFxuICAkZmx1aWQtc2l6ZXM6IG1hcC5nZXQoJHR5cGUtc3R5bGVzLCBicmVha3BvaW50cyk7XFxuICAkZmx1aWQtYnJlYWtwb2ludDogKCk7XFxuICAvLyBTcGVjaWFsIGNhc2UgZm9yIGBzbWAgYmVjYXVzZSB0aGUgc3R5bGVzIGZvciBzbWFsbCBhcmUgb24gdGhlIHR5cGUgc3R5bGVcXG4gIC8vIGRpcmVjdGx5XFxuICBAaWYgJG5hbWUgPT0gc20ge1xcbiAgICAkZmx1aWQtYnJlYWtwb2ludDogbWFwLnJlbW92ZSgkdHlwZS1zdHlsZXMsIGJyZWFrcG9pbnRzKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZmx1aWQtYnJlYWtwb2ludDogbWFwLmdldCgkZmx1aWQtc2l6ZXMsICRuYW1lKTtcXG4gIH1cXG5cXG4gIC8vIEluaXRpYWxpemUgb3VyIGZvbnQtc2l6ZXMgdG8gdGhlIGRlZmF1bHQgc2l6ZSBmb3IgdGhlIHR5cGUgc3R5bGVcXG4gICRtYXgtZm9udC1zaXplOiBtYXAuZ2V0KCR0eXBlLXN0eWxlcywgZm9udC1zaXplKTtcXG4gICRtaW4tZm9udC1zaXplOiBtYXAuZ2V0KCR0eXBlLXN0eWxlcywgZm9udC1zaXplKTtcXG4gIEBpZiBtYXAuaGFzLWtleSgkZmx1aWQtYnJlYWtwb2ludCwgZm9udC1zaXplKSB7XFxuICAgICRtaW4tZm9udC1zaXplOiBtYXAuZ2V0KCRmbHVpZC1icmVha3BvaW50LCBmb250LXNpemUpO1xcbiAgfVxcblxcbiAgLy8gSW5pdGlhbGl6ZSBvdXIgbWluIGFuZCBtYXggd2lkdGggdG8gdGhlIHdpZHRoIG9mIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcXG4gICRtYXgtdnc6IG1hcC5nZXQoJGJyZWFrcG9pbnQsIHdpZHRoKTtcXG4gICRtaW4tdnc6IG1hcC5nZXQoJGJyZWFrcG9pbnQsIHdpZHRoKTtcXG5cXG4gIC8vIFdlIGNhbiB1c2UgYGJyZWFrcG9pbnQtbmV4dGAgdG8gc2VlIGlmIHRoZXJlIGlzIGFub3RoZXIgYnJlYWtwb2ludCB3ZSBjYW5cXG4gIC8vIHVzZSB0byB1cGRhdGUgYG1heC1mb250LXNpemVgIGFuZCBgbWF4LXZ3YCB3aXRoIGxhcmdlciB2YWx1ZXNcXG4gICRuZXh0LWJyZWFrcG9pbnQtYXZhaWxhYmxlOiBncmlkLmJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcXG4gICRuZXh0LWZsdWlkLWJyZWFrcG9pbnQtbmFtZTogbnVsbDtcXG5cXG4gIC8vIFdlIG5lZWQgdG8gZmlndXJlIG91dCB3aGF0IHRoZSBuZXh0IGF2YWlsYWJsZSBmbHVpZCBicmVha3BvaW50IGlzIGZvciBvdXJcXG4gIC8vIGdpdmVuICR0eXBlLXN0eWxlcy4gSW4gdGhpcyBsb29wIHdlIHRyeSBhbmQgaXRlcmF0ZSB0aHJvdWdoIGJyZWFrcG9pbnRzXFxuICAvLyB1bnRpbCB3ZSBlaXRoZXIgbWFudWFsbHkgc2V0ICRuZXh0LWJyZWFrcG9pbnQtYXZhaWxhYmxlIHRvIG51bGwgb3JcXG4gIC8vIGBicmVha3BvaW50LW5leHRgIHJldHVybnMgbnVsbC5cXG4gIEB3aGlsZSAkbmV4dC1icmVha3BvaW50LWF2YWlsYWJsZSB7XFxuICAgIEBpZiBtYXAuaGFzLWtleSgkZmx1aWQtc2l6ZXMsICRuZXh0LWJyZWFrcG9pbnQtYXZhaWxhYmxlKSB7XFxuICAgICAgJG5leHQtZmx1aWQtYnJlYWtwb2ludC1uYW1lOiAkbmV4dC1icmVha3BvaW50LWF2YWlsYWJsZTtcXG4gICAgICAkbmV4dC1icmVha3BvaW50LWF2YWlsYWJsZTogbnVsbDtcXG4gICAgfSBAZWxzZSB7XFxuICAgICAgJG5leHQtYnJlYWtwb2ludC1hdmFpbGFibGU6IGdyaWQuYnJlYWtwb2ludC1uZXh0KFxcbiAgICAgICAgJG5leHQtYnJlYWtwb2ludC1hdmFpbGFibGUsXFxuICAgICAgICAkYnJlYWtwb2ludHNcXG4gICAgICApO1xcbiAgICB9XFxuICB9XFxuXFxuICAvLyBJZiB3ZSBoYXZlIGZvdW5kIHRoZSBuZXh0IGF2YWlsYWJsZSBmbHVpZCBicmVha3BvaW50IG5hbWUsIHRoZW4gd2Uga25vd1xcbiAgLy8gdGhhdCB3ZSBoYXZlIHZhbHVlcyB0aGF0IHdlIGNhbiB1c2UgdG8gc2V0IG1heC1mb250LXNpemUgYW5kIG1heC12dyBhcyBib3RoXFxuICAvLyB2YWx1ZXMgZGVyaXZlIGZyb20gdGhlIG5leHQgYnJlYWtwb2ludFxcbiAgQGlmICRuZXh0LWZsdWlkLWJyZWFrcG9pbnQtbmFtZSB7XFxuICAgICRuZXh0LWZsdWlkLWJyZWFrcG9pbnQ6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbmV4dC1mbHVpZC1icmVha3BvaW50LW5hbWUpO1xcbiAgICAkbWF4LWZvbnQtc2l6ZTogbWFwLmdldChcXG4gICAgICBtYXAuZ2V0KCRmbHVpZC1zaXplcywgJG5leHQtZmx1aWQtYnJlYWtwb2ludC1uYW1lKSxcXG4gICAgICBmb250LXNpemVcXG4gICAgKTtcXG4gICAgJG1heC12dzogbWFwLmdldCgkbmV4dC1mbHVpZC1icmVha3BvaW50LCB3aWR0aCk7XFxuXFxuICAgIC8vIHByZXR0aWVyLWlnbm9yZVxcbiAgICBmb250LXNpemU6IGNhbGMoI3skbWluLWZvbnQtc2l6ZX0gK1xcbiAgICAgICN7c3RyaXAtdW5pdCgkbWF4LWZvbnQtc2l6ZSAtICRtaW4tZm9udC1zaXplKX0gKlxcbiAgICAgICgoMTAwdncgLSAjeyRtaW4tdnd9KSAvICN7c3RyaXAtdW5pdCgkbWF4LXZ3IC0gJG1pbi12dyl9KVxcbiAgICApO1xcbiAgfSBAZWxzZSB7XFxuICAgIC8vIE90aGVyd2lzZSwganVzdCBkZWZhdWx0IHRvIHNldHRpbmcgdGhlIGZvbnQgc2l6ZSBmb3VuZCBmcm9tIHRoZSB0eXBlXFxuICAgIC8vIHN0eWxlIG9yIHRoZSBnaXZlbiBmbHVpZCBicmVha3BvaW50IGluIHRoZSB0eXBlIHN0eWxlXFxuICAgIGZvbnQtc2l6ZTogJG1pbi1mb250LXNpemU7XFxuICB9XFxufVxcblxcbi8vIFRPRE8gbW92ZSBmb2xsb3dpbmcgdmFyaWFibGUgYW5kIGBjdXN0b20tcHJvcGVydHlgIG1peGluIGludG8gc2hhcmVkIGZpbGUgZm9yXFxuLy8gYm90aCBgQGNhcmJvbi90eXBlYCBhbmQgYEBjYXJib24vdGhlbWVzYFxcblxcbi8vLyBAYWNjZXNzIHByaXZhdGVcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbkBtaXhpbiBjdXN0b20tcHJvcGVydGllcygkbmFtZSwgJHZhbHVlKSB7XFxuICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkdmFsdWUge1xcbiAgICAjeyRwcm9wZXJ0eX06IHZhcihcXG4gICAgICAtLSN7JGN1c3RvbS1wcm9wZXJ0eS1wcmVmaXh9LSN7JG5hbWV9LSN7JHByb3BlcnR5fSxcXG4gICAgICAjeyR2YWx1ZX1cXG4gICAgKTtcXG4gIH1cXG59XFxuXFxuLy8vIEhlbHBlciBtaXhpbiB0byBpbmNsdWRlIHRoZSBzdHlsZXMgZm9yIGEgZ2l2ZW4gdG9rZW4gaW4gYW55IHNlbGVjdG9yIGluIHlvdXJcXG4vLy8gcHJvamVjdC4gQWxzbyBpbmNsdWRlcyBhbiBvcHRpb25hbCBmbHVpZCBvcHRpb24gdGhhdCB3aWxsIGVuYWJsZSBmbHVpZFxcbi8vLyBzdHlsZXMgZm9yIHRoZSB0b2tlbiBpZiB0aGV5IGFyZSBkZWZpbmVkLiBGbHVpZCBzdHlsZXMgd2lsbCBjYXVzZSB0aGVcXG4vLy8gdG9rZW4ncyBmb250LXNpemUgdG8gYmUgY29tcHV0ZWQgYmFzZWQgb24gdGhlIHZpZXdwb3J0IHNpemUuIEFzIGEgcmVzdWx0LCB1c2VcXG4vLy8gd2l0aCBjYXV0aW9uIGluIGZpeGVkIGNvbnRleHRzLlxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdG9rZW4gdG8gZ2V0IHRoZSBzdHlsZXMgZm9yXFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZsdWlkIFtmYWxzZV0gLSBTcGVjaWZ5IHdoZXRoZXIgdG8gaW5jbHVkZSBmbHVpZCBzdHlsZXMgZm9yIHRoZVxcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskZ3JpZC1icmVha3BvaW50c10gLSBQcm92aWRlIGEgY3VzdG9tIGJyZWFrcG9pbnQgbWFwIHRvIHVzZVxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuQG1peGluIHR5cGUtc3R5bGUoXFxuICAkbmFtZSxcXG4gICRmbHVpZDogZmFsc2UsXFxuICAkYnJlYWtwb2ludHM6IGdyaWRjb25maWcuJGdyaWQtYnJlYWtwb2ludHNcXG4pIHtcXG4gIEBpZiBub3QgbWFwLmhhcy1rZXkoJHRva2VucywgJG5hbWUpIHtcXG4gICAgQGVycm9yICdVbmFibGUgdG8gZmluZCBhIHRva2VuIHdpdGggdGhlIG5hbWU6IGAjeyRuYW1lfWAnO1xcbiAgfVxcblxcbiAgJHRva2VuOiBtYXAuZ2V0KCR0b2tlbnMsICRuYW1lKTtcXG5cXG4gIC8vIElmICRmbHVpZCBpcyBzZXQgdG8gdHJ1ZSBhbmQgdGhlIHRva2VuIGhhcyBicmVha3BvaW50cyBkZWZpbmVkIGZvciBmbHVpZFxcbiAgLy8gc3R5bGVzLCBkZWxlZ2F0ZSB0byB0aGUgZmx1aWQtdHlwZSBoZWxwZXIgZm9yIHRoZSBnaXZlbiB0b2tlblxcbiAgQGlmICRmbHVpZCA9PSB0cnVlIGFuZCBtYXAuaGFzLWtleSgkdG9rZW4sICdicmVha3BvaW50cycpIHtcXG4gICAgQGluY2x1ZGUgZmx1aWQtdHlwZSgkdG9rZW4sICRicmVha3BvaW50cyk7XFxuICB9IEBlbHNlIHtcXG4gICAgQGluY2x1ZGUgY3VzdG9tLXByb3BlcnRpZXMoJG5hbWUsICR0b2tlbik7XFxuICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ubG9jYWxzID0ge1xuXHRcIndvcmtzcGFjZU91dGVyQ29udGFpbmVyXCI6IFwiYlB3VHNPWXd2R2I5TCtVcTlFMXhEQT09XCIsXG5cdFwibmFycm93V29ya3NwYWNlXCI6IFwiTFBNUE1OQ0tLMWhjYjR6bjlzRE9HQT09XCIsXG5cdFwid2lkZXJXb3Jrc3BhY2VcIjogXCJ3WDhzWHJLSEJxY3ZBVk1rSjR2MGtBPT1cIixcblx0XCJleHRyYVdpZGVXb3Jrc3BhY2VcIjogXCJfMW1aKzc4eWNxUURUV0Rpb1V1SzlvQT09XCIsXG5cdFwid29ya3NwYWNlTWlkZGxlQ29udGFpbmVyXCI6IFwiRUZ2NWl5dzRvRENHR1Y5WTlaRWZ3UT09XCIsXG5cdFwibWF4aW1pemVkXCI6IFwiXzZhQ0pBcVFFRkIyUmhaSHpvTFJERFE9PVwiLFxuXHRcImhpZGRlblwiOiBcIllWVzhXSWExU3Fqd0wxQUNsM0lUOEE9PVwiLFxuXHRcIndvcmtzcGFjZUlubmVyQ29udGFpbmVyXCI6IFwieGc0Yk9qNk53UG9vUElhT1hQQ0tCZz09XCIsXG5cdFwid29ya3NwYWNlU3BhY2VyXCI6IFwiRlhZOEN5Z2tBSXhGOXpjVzJ5R1N2Zz09XCIsXG5cdFwibG9hZGVyXCI6IFwiLVBkQ0xPZlhWVFNpaE5lVGUyWmNFUT09XCIsXG5cdFwiaGlkZGVuRXh0cmFXb3Jrc3BhY2VcIjogXCJDZDQxKzRDVGJLRno5eFh0b2dRMDhRPT1cIixcblx0XCJoZWFkZXJcIjogXCJfNzUrSzh1ZE9WLWNxQ2tHa0FHSWo2dz09XCIsXG5cdFwiaGVhZGVyQnV0dG9uc1wiOiBcIkF1cnF6VVozM09UeTh6RzhtaitydWc9PVwiLFxuXHRcIndvcmtzcGFjZUNvbnRlbnRcIjogXCJYWXA2N3FkU3FOWVBhb005ZkNiTGhnPT1cIixcblx0XCJvdmVybGF5SGVhZGVyU3BhY2VyXCI6IFwiXzRXcDFtOEhZVDc0SGJsLW1hQ1lPYUE9PVwiLFxuXHRcImlzQWN0aW9uTWVudU9wZW5lZFwiOiBcInVEbi1WYjR3dllELVJpMlhzeVEzeXc9PVwiLFxuXHRcInNob3dBY3Rpb25NZW51XCI6IFwiXzR4LTdTYUVFLVRCTVo3MkZaczNqaGc9PVwiLFxuXHRcIm1hcmdpbldvcmtzcGFjZUNvbnRlbnRcIjogXCJYNEk3TXJBUUZIVDRqVjBvY0ZocU1nPT1cIixcblx0XCJ3b3Jrc3BhY2VDb250YWluZXJXaXRoQWN0aW9uTWVudVwiOiBcIl84V2l4QlJJWTFia2dVdXJ5V3VlNlFRPT1cIixcblx0XCJ3b3Jrc3BhY2VGaXhlZENvbnRhaW5lclwiOiBcIlFuNFR5V0pyS2tOS3NQN2lFbHFGQXc9PVwiLFxuXHRcIndvcmtzcGFjZUNvbnRhaW5lcldpdGhvdXRBY3Rpb25NZW51XCI6IFwiXzRMYUJvTHFhOU1kdWRzMU9YVjVTcVE9PVwiXG59O1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNrSTtBQUM3QjtBQUNyRyw4QkFBOEIsdUVBQTJCLENBQUMsNEZBQXFDO0FBQy9GO0FBQ0EsOEhBQThILHdCQUF3Qix3QkFBd0Isd0JBQXdCLDhCQUE4QixvQ0FBb0MseUdBQXlHLGdIQUFnSCxHQUFHLHNHQUFzRyw2QkFBNkIsaUNBQWlDLHNCQUFzQixHQUFHLGdFQUFnRSwrQkFBK0IsR0FBRyxnRUFBZ0UsK0JBQStCLEdBQUcsbUVBQW1FLCtCQUErQixHQUFHLGlFQUFpRSxtQkFBbUIscUJBQXFCLHVCQUF1QixXQUFXLGNBQWMsK0NBQStDLGlCQUFpQixHQUFHLCtGQUErRiwrQkFBK0IsOENBQThDLHFDQUFxQywwREFBMEQsNkRBQTZELHlCQUF5QiwrQkFBK0IsaUNBQWlDLGdDQUFnQyxHQUFHLDhGQUE4RixhQUFhLEdBQUcsaUVBQWlFLGtCQUFrQiwyQkFBMkIsaUJBQWlCLGlDQUFpQywyQ0FBMkMsMkJBQTJCLHVCQUF1Qix1Q0FBdUMsR0FBRywrRkFBK0YsZ0JBQWdCLGdDQUFnQyxHQUFHLGlFQUFpRSxtQkFBbUIsaUJBQWlCLEdBQUcsOEZBQThGLGFBQWEsR0FBRyxtQ0FBbUMsa0JBQWtCLDRCQUE0Qix3QkFBd0Isb0JBQW9CLEdBQUcscUNBQXFDLGtCQUFrQixHQUFHLGdGQUFnRix1QkFBdUIsNEJBQTRCLHFDQUFxQyw4QkFBOEIsMkNBQTJDLEdBQUcsaUVBQWlFLDZEQUE2RCxnRUFBZ0Usa0VBQWtFLG9FQUFvRSxHQUFHLHVFQUF1RSxtQkFBbUIsR0FBRyxxRUFBcUUsOEJBQThCLG9DQUFvQyxHQUFHLDJFQUEyRSw2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\n//# sourceURL=webpack-internal:///../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../framework/esm-styleguide/dist/workspaces2/workspace2.module.scss\n\n}");
119
+ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (__rspack_default_export)\n});\n/* import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__rspack_import_0 = __webpack_require__(\"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__rspack_import_0_default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__rspack_import_0);\n/* import */ var _node_modules_css_loader_dist_runtime_api_js__rspack_import_1 = __webpack_require__(\"../../../node_modules/css-loader/dist/runtime/api.js\");\n/* import */ var _node_modules_css_loader_dist_runtime_api_js__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__rspack_import_1);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__rspack_import_1_default()((_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__rspack_import_0_default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\\n:root {\\n --brand-01: #005d5d;\\n --brand-02: #004144;\\n --brand-03: #007d79;\\n --bottom-nav-height: 4rem;\\n --workspace-header-height: 3rem;\\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\\n}\\n\\n/* These color variables will be removed in a future release */\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= {\\n --actionPanelOffset: 0px;\\n width: var(--workspaceWidth);\\n display: contents;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\=.LPMPMNCKK1hcb4zn9sDOGA\\\\=\\\\= {\\n --workspaceWidth: 26.25rem;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\=.wX8sXrKHBqcvAVMkJ4v0kA\\\\=\\\\= {\\n --workspaceWidth: 32.25rem;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\=._1mZ\\\\+78ycqQDTWDioUuK9oA\\\\=\\\\= {\\n --workspaceWidth: 48.25rem;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\= {\\n width: inherit;\\n overflow: hidden;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n inset-inline-end: var(--actionPanelOffset);\\n z-index: 100;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\=._6aCJAqQEFB2RhZHzoLRDDQ\\\\=\\\\= {\\n position: fixed !important;\\n top: var(--omrs-navbar-height) !important;\\n inset-inline-start: 0 !important;\\n inset-inline-end: var(--actionPanelOffset) !important;\\n width: calc(100vw - var(--actionPanelOffset)) !important;\\n bottom: 0 !important;\\n transform: none !important;\\n will-change: auto !important;\\n transition: none !important;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\=.YVW8WIa1SqjwL1ACl3IT8A\\\\=\\\\= {\\n width: 0;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .xg4bOj6NwPooPIaOXPCKBg\\\\=\\\\= {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n width: var(--workspaceWidth);\\n border-inline-start: 1px solid #a8a8a8;\\n background-color: #fff;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .xg4bOj6NwPooPIaOXPCKBg\\\\=\\\\=._6aCJAqQEFB2RhZHzoLRDDQ\\\\=\\\\= {\\n width: 100%;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .FXY8CygkAIxF9zcW2yGSvg\\\\=\\\\= {\\n width: inherit;\\n height: 100%;\\n}\\n.bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= .FXY8CygkAIxF9zcW2yGSvg\\\\=\\\\=.YVW8WIa1SqjwL1ACl3IT8A\\\\=\\\\= {\\n width: 0;\\n}\\n\\n.-PdCLOfXVTSihNeTe2ZcEQ\\\\=\\\\= {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n min-height: 50%;\\n}\\n\\n.Cd41\\\\+4CTbKFz9xXtogQ08Q\\\\=\\\\= {\\n display: none;\\n}\\n\\n/* Desktop */\\n.omrs-breakpoint-gt-tablet ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= {\\n position: relative;\\n box-sizing: content-box;\\n border-bottom: 1px solid #a8a8a8;\\n background-color: #e0e0e0;\\n height: var(--workspace-header-height);\\n}\\n.omrs-breakpoint-gt-tablet ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= a {\\n font-size: var(--cds-heading-compact-02-font-size, 1rem);\\n font-weight: var(--cds-heading-compact-02-font-weight, 600);\\n line-height: var(--cds-heading-compact-02-line-height, 1.375);\\n letter-spacing: var(--cds-heading-compact-02-letter-spacing, 0);\\n}\\n.omrs-breakpoint-gt-tablet ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= a:hover {\\n color: inherit;\\n}\\n.omrs-breakpoint-gt-tablet .AurqzUZ33OTy8zG8mj\\\\+rug\\\\=\\\\= button {\\n background-color: #ffffff;\\n border-right: 1px solid #e0e0e0;\\n}\\n.omrs-breakpoint-gt-tablet .AurqzUZ33OTy8zG8mj\\\\+rug\\\\=\\\\= button > svg {\\n fill: #121619 !important;\\n}\\n.omrs-breakpoint-gt-tablet .AurqzUZ33OTy8zG8mj\\\\+rug\\\\=\\\\= button:hover {\\n background-color: #f4f4f4;\\n}\\n.omrs-breakpoint-gt-tablet .XYp67qdSqNYPaoM9fCbLhg\\\\=\\\\= {\\n background-color: #ffffff;\\n overflow-y: auto;\\n flex-grow: 1;\\n}\\n.omrs-breakpoint-gt-tablet ._4Wp1m8HYT74Hbl-maCYOaA\\\\=\\\\= {\\n flex-grow: 1;\\n}\\n.omrs-breakpoint-gt-tablet .bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\=.uDn-Vb4wvYD-Ri2XsyQ3yw\\\\=\\\\= {\\n --actionPanelOffset: 3rem;\\n}\\n\\n/* Tablet */\\n.omrs-breakpoint-lt-desktop ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= {\\n position: relative;\\n background-color: var(--brand-02);\\n}\\n.omrs-breakpoint-lt-desktop ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= a {\\n color: #ffffff;\\n}\\n.omrs-breakpoint-lt-desktop ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= button {\\n color: #ffffff;\\n background-color: var(--brand-02);\\n}\\n.omrs-breakpoint-lt-desktop ._75\\\\+K8udOV-cqCkGkAGIj6w\\\\=\\\\= button:hover {\\n background-color: var(--brand-03);\\n}\\n.omrs-breakpoint-lt-desktop .bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= {\\n width: 100vw;\\n}\\n@supports (width: 100cqw) {\\n .omrs-breakpoint-lt-desktop .bPwTsOYwvGb9L\\\\+Uq9E1xDA\\\\=\\\\= {\\n width: 100cqw;\\n }\\n}\\n.omrs-breakpoint-lt-desktop .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\= {\\n width: inherit !important;\\n}\\n.omrs-breakpoint-lt-desktop .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\=.YVW8WIa1SqjwL1ACl3IT8A\\\\=\\\\= {\\n display: none;\\n}\\n.omrs-breakpoint-lt-desktop .EFv5iyw4oDCGGV9Y9ZEfwQ\\\\=\\\\=._4x-7SaEE-TBMZ72FZs3jhg\\\\=\\\\= {\\n height: calc(100% - 4rem);\\n}\\n.omrs-breakpoint-lt-desktop .xg4bOj6NwPooPIaOXPCKBg\\\\=\\\\= {\\n width: 100% !important;\\n}\\n.omrs-breakpoint-lt-desktop .X4I7MrAQFHT4jV0ocFhqMg\\\\=\\\\= {\\n margin-bottom: var(--bottom-nav-height);\\n}\\n.omrs-breakpoint-lt-desktop .XYp67qdSqNYPaoM9fCbLhg\\\\=\\\\= {\\n overflow-y: auto;\\n height: 100%;\\n}\\n\\nhtml[dir=rtl] .omrs-breakpoint-gt-tablet ._8WixBRIY1bkgUuryWue6QQ\\\\=\\\\=.Qn4TyWJrKkNKsP7iElqFAw\\\\=\\\\= {\\n right: unset;\\n left: var(--actionPanelOffset);\\n}\\nhtml[dir=rtl] .omrs-breakpoint-gt-tablet ._4LaBoLqa9Mduds1OXV5SqQ\\\\=\\\\= {\\n height: 100%;\\n}\\nhtml[dir=rtl] .omrs-breakpoint-gt-tablet ._4LaBoLqa9Mduds1OXV5SqQ\\\\=\\\\=.Qn4TyWJrKkNKsP7iElqFAw\\\\=\\\\= {\\n right: unset;\\n left: 0;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../framework/esm-styleguide/dist/_vars.scss\",\"webpack://./../../framework/esm-styleguide/dist/workspaces2/workspace2.module.scss\",\"webpack://./../../../node_modules/@carbon/type/scss/_styles.scss\"],\"names\":[],\"mappings\":\"AAkCA,0EAAA;AAoBA;EACE,mBAAA;EACA,mBAAA;EACA,mBAAA;EACA,yBAAA;EACA,+BAAA;EACA,oGAAA;EACA,2GAAA;ACpDF;;ADgEA,8DAAA;AC9DA;EACE,wBAAA;EAYA,4BAAA;EACA,iBAAA;AATF;AAFE;EACE,0BAAA;AAIJ;AAFE;EACE,0BAAA;AAIJ;AAFE;EACE,0BAAA;AAIJ;AAIE;EACE,cAAA;EACA,gBAAA;EACA,kBAAA;EACA,MAAA;EACA,SAAA;EACA,0CAAA;EACA,YAAA;AAFJ;AAII;EACE,0BAAA;EACA,yCAAA;EACA,gCAAA;EACA,qDAAA;EACA,wDAAA;EACA,oBAAA;EACA,0BAAA;EACA,4BAAA;EACA,2BAAA;AAFN;AAII;EACE,QAAA;AAFN;AAQE;EACE,aAAA;EACA,sBAAA;EACA,YAAA;EACA,4BAAA;EACA,sCAAA;EACA,sBAAA;AANJ;AAQI;EACE,WAAA;AANN;AAeE;EACE,cAAA;EACA,YAAA;AAbJ;AAeI;EACE,QAAA;AAbN;;AAkBA;EACE,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,eAAA;AAfF;;AAkBA;EACE,aAAA;AAfF;;AAkBA,YAAA;AAEE;EACE,kBAAA;EACA,uBAAA;EACA,gCAAA;EACA,yBDjGI;ECkGJ,sCAAA;AAhBJ;AAkBI;EC0vBA,wDAAA;EAAA,2DAAA;EAAA,6DAAA;EAAA,+DAAA;ADtwBJ;AAeM;EACE,cAAA;AAbR;AAmBI;EACE,yBDhHE;ECiHF,+BAAA;AAjBN;AAmBM;EACE,wBAAA;AAjBR;AAoBM;EACE,yBDzHA;ACuGR;AAuBE;EACE,yBD9HI;EC+HJ,gBAAA;EACA,YAAA;AArBJ;AAwBE;EACE,YAAA;AAtBJ;AA0BI;EACE,yBAAA;AAxBN;;AA6BA,WAAA;AAEE;EACE,kBAAA;EACA,iCAAA;AA3BJ;AA6BI;EACE,cDrJE;AC0HR;AA8BI;EACE,cDzJE;EC0JF,iCAAA;AA5BN;AA8BM;EACE,iCAAA;AA5BR;AAmCE;EACE,YAAA;AAjCJ;AAsCE;EACE;IACE,aAAA;EApCJ;AACF;AAuCE;EACE,yBAAA;AArCJ;AAsCI;EACE,aAAA;AApCN;AAwCI;EACE,yBAAA;AAtCN;AA0CE;EACE,sBAAA;AAxCJ;AA2CE;EACE,uCAAA;AAzCJ;AA4CE;EACE,gBAAA;EACA,YAAA;AA1CJ;;AAkDM;EACE,YAAA;EACA,8BAAA;AA/CR;AAmDI;EACE,YAAA;AAjDN;AAmDM;EACE,YAAA;EACA,OAAA;AAjDR\",\"sourcesContent\":[\"@use '@carbon/layout';\\n\\n$ui-01: #f4f4f4;\\n$ui-02: #ffffff;\\n$ui-03: #e0e0e0;\\n$ui-04: #8d8d8d;\\n$ui-05: #161616;\\n$text-02: #525252;\\n$text-03: #a8a8a8;\\n$ui-background: #ffffff;\\n$color-gray-30: #c6c6c6;\\n$color-gray-70: #525252;\\n$color-gray-100: #161616;\\n$color-blue-60-2: #0f62fe;\\n$color-blue-10: #edf5ff;\\n$color-yellow-50: #feecae;\\n$carbon--red-50: #fa4d56;\\n$inverse-link: #78a9ff;\\n$support-02: #24a148;\\n$inverse-support-03: #f1c21b;\\n$warning-background: #fff8e1;\\n$openmrs-background-grey: #f4f4f4;\\n$danger: #da1e28;\\n$interactive-01: #0f62fe;\\n$field-01: #f4f4f4;\\n$grey-2: #e0e0e0;\\n$labeldropdown: #c6c6c6;\\n\\n$brand-primary-10: #d9fbfb;\\n$brand-primary-20: #9ef0f0;\\n$brand-primary-30: #3ddbd9;\\n$brand-primary-40: #08bdba;\\n$brand-primary-50: #009d9a;\\n\\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\\n\\n$brand-primary-90: #022b30;\\n$brand-primary-100: #081a1c;\\n\\n@mixin brand-01($property) {\\n #{$property}: #005d5d;\\n #{$property}: var(--brand-01);\\n}\\n\\n@mixin brand-02($property) {\\n #{$property}: #004144;\\n #{$property}: var(--brand-02);\\n}\\n\\n@mixin brand-03($property) {\\n #{$property}: #007d79;\\n #{$property}: var(--brand-03);\\n}\\n\\n:root {\\n --brand-01: #005d5d;\\n --brand-02: #004144;\\n --brand-03: #007d79;\\n --bottom-nav-height: #{layout.$spacing-10};\\n --workspace-header-height: #{layout.$spacing-09};\\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\\n}\\n\\n$breakpoint-phone-min: 0px;\\n$breakpoint-phone-max: 600px;\\n$breakpoint-tablet-min: 601px;\\n$breakpoint-tablet-max: 1023px;\\n$breakpoint-small-desktop-min: 1024px;\\n$breakpoint-small-desktop-max: 1439px;\\n$breakpoint-large-desktop-min: 1440px;\\n$breakpoint-large-desktop-max: 99999999px;\\n\\n/* These color variables will be removed in a future release */\\n$brand-teal-01: #007d79;\\n$brand-01: #005d5d;\\n$brand-02: #004144;\\n\",\"@use '@carbon/colors';\\n@use '@carbon/layout';\\n@use '@carbon/type';\\n@use '../vars' as *;\\n\\n$narrowWorkspaceWidth: 26.25rem;\\n$widerWorkspaceWidth: 32.25rem;\\n$extraWideWorkspaceWidth: 48.25rem;\\n\\n// This container has no layout purpose.\\n// It is used to set the --workspaceWidth variable.\\n.workspaceOuterContainer {\\n --actionPanelOffset: 0px;\\n\\n &.narrowWorkspace {\\n --workspaceWidth: #{$narrowWorkspaceWidth};\\n }\\n &.widerWorkspace {\\n --workspaceWidth: #{$widerWorkspaceWidth};\\n }\\n &.extraWideWorkspace {\\n --workspaceWidth: #{$extraWideWorkspaceWidth};\\n }\\n\\n width: var(--workspaceWidth);\\n display: contents;\\n\\n // This container clips the workspace when it slides out of screen\\n // (via overflow: hidden)\\n .workspaceMiddleContainer {\\n width: inherit;\\n overflow: hidden;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n inset-inline-end: var(--actionPanelOffset);\\n z-index: 100;\\n\\n &.maximized {\\n position: fixed !important;\\n top: var(--omrs-navbar-height) !important;\\n inset-inline-start: 0 !important;\\n inset-inline-end: var(--actionPanelOffset) !important;\\n width: calc(100vw - var(--actionPanelOffset)) !important;\\n bottom: 0 !important;\\n transform: none !important;\\n will-change: auto !important;\\n transition: none !important;\\n }\\n &.hidden {\\n width: 0;\\n }\\n }\\n\\n // This container contains the actual workspace content\\n // and changes size (width) when maximized\\n .workspaceInnerContainer {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n width: var(--workspaceWidth);\\n border-inline-start: 1px solid $text-03;\\n background-color: #fff;\\n\\n &.maximized {\\n width: 100%;\\n }\\n }\\n\\n // The spacer is responsible for taking up space and shrinking the width of the \\\"main\\\" content\\n // in omrs-apps-container when in non-overlay mode.\\n // Note that the spacer takes up --workspaceWidth amount of space, but does\\n // not grow when the workspace is maximized. In other words, it does not shrink the\\n // \\\"main\\\" content further when workspace is maximized.\\n .workspaceSpacer {\\n width: inherit;\\n height: 100%;\\n\\n &.hidden {\\n width: 0;\\n }\\n }\\n}\\n\\n.loader {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n min-height: 50%;\\n}\\n\\n.hiddenExtraWorkspace {\\n display: none;\\n}\\n\\n/* Desktop */\\n:global(.omrs-breakpoint-gt-tablet) {\\n .header {\\n position: relative;\\n box-sizing: content-box;\\n border-bottom: 1px solid $text-03;\\n background-color: $ui-03;\\n height: var(--workspace-header-height);\\n\\n a {\\n @include type.type-style('heading-compact-02');\\n\\n &:hover {\\n color: inherit;\\n }\\n }\\n }\\n\\n .headerButtons {\\n button {\\n background-color: $ui-02;\\n border-right: 1px solid colors.$gray-20;\\n\\n > svg {\\n fill: colors.$cool-gray-100 !important;\\n }\\n\\n &:hover {\\n background-color: $ui-01;\\n }\\n }\\n }\\n\\n .workspaceContent {\\n background-color: $ui-02;\\n overflow-y: auto;\\n flex-grow: 1;\\n }\\n\\n .overlayHeaderSpacer {\\n flex-grow: 1;\\n }\\n\\n .workspaceOuterContainer {\\n &.isActionMenuOpened {\\n --actionPanelOffset: #{layout.$spacing-09};\\n }\\n }\\n}\\n\\n/* Tablet */\\n:global(.omrs-breakpoint-lt-desktop) {\\n .header {\\n position: relative;\\n background-color: var(--brand-02);\\n\\n a {\\n color: $ui-02;\\n }\\n\\n button {\\n color: $ui-02;\\n background-color: var(--brand-02);\\n\\n &:hover {\\n background-color: var(--brand-03);\\n }\\n }\\n }\\n\\n // fallback for browsers that don't support the container CSS feature,\\n // the width is slightly off if <body> has a vertical scrollbar\\n .workspaceOuterContainer {\\n width: 100vw;\\n }\\n\\n // using the container CSS feature, for browser that support it\\n // get the container query width (i.e. width of <body>, without the scrollbars)\\n @supports (width: 100cqw) {\\n .workspaceOuterContainer {\\n width: 100cqw;\\n }\\n }\\n\\n .workspaceMiddleContainer {\\n width: inherit !important;\\n &.hidden {\\n display: none;\\n }\\n\\n // in tablet mode, reduce the height to of the workspace window to accommodate the workspace menu (bottom nav)\\n &.showActionMenu {\\n height: calc(100% - layout.$spacing-10);\\n }\\n }\\n\\n .workspaceInnerContainer {\\n width: 100% !important;\\n }\\n\\n .marginWorkspaceContent {\\n margin-bottom: var(--bottom-nav-height);\\n }\\n\\n .workspaceContent {\\n overflow-y: auto;\\n height: 100%;\\n }\\n}\\n\\n// Overriding styles for RTL support\\nhtml[dir='rtl'] {\\n :global(.omrs-breakpoint-gt-tablet) {\\n .workspaceContainerWithActionMenu {\\n &.workspaceFixedContainer {\\n right: unset;\\n left: var(--actionPanelOffset);\\n }\\n }\\n\\n .workspaceContainerWithoutActionMenu {\\n height: 100%;\\n\\n &.workspaceFixedContainer {\\n right: unset;\\n left: 0;\\n }\\n }\\n }\\n}\\n\",\"//\\n// Copyright IBM Corp. 2018, 2023\\n//\\n// This source code is licensed under the Apache-2.0 license found in the\\n// LICENSE file in the root directory of this source tree.\\n//\\n\\n// stylelint-disable number-max-precision\\n\\n@use 'sass:map';\\n@use 'sass:math';\\n@use '@carbon/grid/scss/config' as gridconfig;\\n@use '@carbon/grid/scss/breakpoint' as grid;\\n@use 'prefix' as *;\\n@use 'font-family';\\n@use 'scale';\\n\\n/// @type Map\\n/// @access public\\n/// @deprecated\\n/// @group @carbon/type\\n$caption-01: (\\n font-size: scale.type-scale(1),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.33333,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @deprecated\\n/// @group @carbon/type\\n$caption-02: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$label-01: (\\n font-size: scale.type-scale(1),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.33333,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$label-02: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$legal-01: (\\n font-size: scale.type-scale(1),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.33333,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$legal-02: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @deprecated\\n/// @group @carbon/type\\n$helper-text-01: (\\n font-size: scale.type-scale(1),\\n line-height: 1.33333,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @deprecated\\n/// @group @carbon/type\\n$helper-text-02: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-01: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-compact-01: $body-short-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-01: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.42857,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-01: $body-long-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-short-02: (\\n font-size: scale.type-scale(3),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-compact-02: $body-short-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-long-02: (\\n font-size: scale.type-scale(3),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.5,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$body-02: $body-long-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-01: (\\n font-family: font-family.font-family('mono'),\\n font-size: scale.type-scale(1),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.33333,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$code-02: (\\n font-family: font-family.font-family('mono'),\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.42857,\\n letter-spacing: 0.32px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-01: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.42857,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-01: (\\n font-size: scale.type-scale(2),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.28572,\\n letter-spacing: 0.16px,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-compact-01: $productive-heading-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-02: (\\n font-size: scale.type-scale(3),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.5,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-02: (\\n font-size: scale.type-scale(3),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.375,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-compact-02: $productive-heading-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-03: (\\n font-size: scale.type-scale(5),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-03: $productive-heading-03 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-04: (\\n font-size: scale.type-scale(7),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-04: $productive-heading-04 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-05: (\\n font-size: scale.type-scale(8),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-05: $productive-heading-05 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-06: (\\n font-size: scale.type-scale(10),\\n font-weight: font-family.font-weight('light'),\\n // Extra digit needed for precision in Chrome\\n line-height: 1.199,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-06: $productive-heading-06 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$productive-heading-07: (\\n font-size: scale.type-scale(12),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$heading-07: $productive-heading-07 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-01: $heading-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-02: $heading-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-03: (\\n font-size: scale.type-scale(5),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.4,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: scale.type-scale(5),\\n line-height: 1.4,\\n ),\\n max: (\\n font-size: scale.type-scale(6),\\n line-height: 1.334,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-heading-03: $expressive-heading-03 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-04: (\\n font-size: scale.type-scale(7),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.28572,\\n letter-spacing: 0,\\n breakpoints: (\\n xlg: (\\n font-size: scale.type-scale(8),\\n line-height: 1.25,\\n font-weight: font-family.font-weight('regular'),\\n ),\\n max: (\\n font-size: scale.type-scale(8),\\n font-weight: font-family.font-weight('regular'),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-heading-04: $expressive-heading-04 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-05: (\\n font-size: scale.type-scale(8),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(9),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: scale.type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: scale.type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: scale.type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-heading-05: $expressive-heading-05 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-heading-06: (\\n font-size: scale.type-scale(8),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: scale.type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: scale.type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: scale.type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-heading-06: $expressive-heading-06 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$expressive-paragraph-01: (\\n font-size: scale.type-scale(6),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.334,\\n letter-spacing: 0,\\n breakpoints: (\\n lg: (\\n font-size: scale.type-scale(7),\\n line-height: 1.28572,\\n ),\\n max: (\\n font-size: scale.type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n);\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-paragraph-01: $expressive-paragraph-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-01: (\\n font-family: font-family.font-family('serif'),\\n font-size: scale.type-scale(5),\\n font-weight: font-family.font-weight('regular'),\\n line-height: 1.3,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(5),\\n ),\\n lg: (\\n font-size: scale.type-scale(6),\\n line-height: 1.334,\\n ),\\n xlg: (\\n font-size: scale.type-scale(7),\\n line-height: 1.28572,\\n ),\\n max: (\\n font-size: scale.type-scale(8),\\n line-height: 1.25,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-quotation-01: $quotation-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$quotation-02: (\\n font-family: font-family.font-family('serif'),\\n font-size: scale.type-scale(8),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.25,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(9),\\n line-height: 1.22,\\n ),\\n lg: (\\n font-size: scale.type-scale(10),\\n line-height: 1.19,\\n ),\\n xlg: (\\n font-size: scale.type-scale(11),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: scale.type-scale(13),\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-quotation-02: $quotation-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-01: (\\n font-size: scale.type-scale(10),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(10),\\n ),\\n lg: (\\n font-size: scale.type-scale(12),\\n ),\\n xlg: (\\n font-size: scale.type-scale(13),\\n line-height: 1.17,\\n ),\\n max: (\\n font-size: scale.type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-display-01: $display-01 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-02: (\\n font-size: scale.type-scale(10),\\n font-weight: font-family.font-weight('semibold'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(10),\\n ),\\n lg: (\\n font-size: scale.type-scale(12),\\n ),\\n xlg: (\\n font-size: scale.type-scale(13),\\n line-height: 1.16,\\n ),\\n max: (\\n font-size: scale.type-scale(15),\\n line-height: 1.13,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-display-02: $display-02 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-03: (\\n font-size: scale.type-scale(10),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(12),\\n line-height: 1.18,\\n ),\\n lg: (\\n font-size: scale.type-scale(13),\\n line-height: 1.16,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: scale.type-scale(15),\\n line-height: 1.13,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: scale.type-scale(16),\\n line-height: 1.11,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-display-03: $display-03 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$display-04: (\\n font-size: scale.type-scale(10),\\n font-weight: font-family.font-weight('light'),\\n line-height: 1.19,\\n letter-spacing: 0,\\n breakpoints: (\\n md: (\\n font-size: scale.type-scale(14),\\n line-height: 1.15,\\n ),\\n lg: (\\n font-size: scale.type-scale(17),\\n line-height: 1.11,\\n letter-spacing: -0.64px,\\n ),\\n xlg: (\\n font-size: scale.type-scale(20),\\n line-height: 1.07,\\n letter-spacing: -0.64px,\\n ),\\n max: (\\n font-size: scale.type-scale(23),\\n line-height: 1.05,\\n letter-spacing: -0.96px,\\n ),\\n ),\\n) !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$fluid-display-04: $display-04 !default;\\n\\n/// @type Map\\n/// @access public\\n/// @group @carbon/type\\n$tokens: (\\n caption-01: $caption-01,\\n caption-02: $caption-02,\\n label-01: $label-01,\\n label-02: $label-02,\\n helper-text-01: $helper-text-01,\\n helper-text-02: $helper-text-02,\\n body-short-01: $body-short-01,\\n body-short-02: $body-short-02,\\n body-long-01: $body-long-01,\\n body-long-02: $body-long-02,\\n code-01: $code-01,\\n code-02: $code-02,\\n heading-01: $heading-01,\\n heading-02: $heading-02,\\n productive-heading-01: $productive-heading-01,\\n productive-heading-02: $productive-heading-02,\\n productive-heading-03: $productive-heading-03,\\n productive-heading-04: $productive-heading-04,\\n productive-heading-05: $productive-heading-05,\\n productive-heading-06: $productive-heading-06,\\n productive-heading-07: $productive-heading-07,\\n expressive-paragraph-01: $expressive-paragraph-01,\\n expressive-heading-01: $expressive-heading-01,\\n expressive-heading-02: $expressive-heading-02,\\n expressive-heading-03: $expressive-heading-03,\\n expressive-heading-04: $expressive-heading-04,\\n expressive-heading-05: $expressive-heading-05,\\n expressive-heading-06: $expressive-heading-06,\\n quotation-01: $quotation-01,\\n quotation-02: $quotation-02,\\n display-01: $display-01,\\n display-02: $display-02,\\n display-03: $display-03,\\n display-04: $display-04,\\n // V11 Tokens\\n legal-01: $legal-01,\\n legal-02: $legal-02,\\n body-compact-01: $body-compact-01,\\n body-compact-02: $body-compact-02,\\n heading-compact-01: $heading-compact-01,\\n heading-compact-02: $heading-compact-02,\\n body-01: $body-01,\\n body-02: $body-02,\\n heading-03: $heading-03,\\n heading-04: $heading-04,\\n heading-05: $heading-05,\\n heading-06: $heading-06,\\n heading-07: $heading-07,\\n fluid-heading-03: $fluid-heading-03,\\n fluid-heading-04: $fluid-heading-04,\\n fluid-heading-05: $fluid-heading-05,\\n fluid-heading-06: $fluid-heading-06,\\n fluid-paragraph-01: $fluid-paragraph-01,\\n fluid-quotation-01: $fluid-quotation-01,\\n fluid-quotation-02: $fluid-quotation-02,\\n fluid-display-01: $fluid-display-01,\\n fluid-display-02: $fluid-display-02,\\n fluid-display-03: $fluid-display-03,\\n fluid-display-04: $fluid-display-04,\\n) !default;\\n\\n/// @param {Map} $map\\n/// @access public\\n/// @group @carbon/type\\n@mixin properties($map) {\\n @each $name, $value in $map {\\n #{$name}: $value;\\n }\\n}\\n\\n/// @param {Number} $value - Number with units\\n/// @return {Number} Without units\\n/// @access public\\n/// @group @carbon/type\\n@function strip-unit($value) {\\n @return math.div($value, $value * 0 + 1);\\n}\\n\\n/// This helper includes fluid type styles for the given token value. Fluid type\\n/// means that the `font-size` is computed using `calc()` in order to be\\n/// determined by the screen size instead of a breakpoint. As a result, fluid\\n/// styles should be used with caution in fixed width contexts.\\n///\\n/// In addition, we make use of %-based line-heights so that the line-height of\\n/// each type style is computed correctly due to the dynamic nature of the\\n/// `font-size`.\\n///\\n/// Most of the logic for this work comes from CSS Tricks:\\n/// https://css-tricks.com/snippets/css/fluid-typography/\\n///\\n/// @param {Map} $type-styles - The value of a given type token\\n/// @param {Map} $breakpoints [$grid-breakpoints] - Custom breakpoints to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type($type-styles, $breakpoints: gridconfig.$grid-breakpoints) {\\n // Include the initial styles for the given token by default without any\\n // media query guard. This includes `font-size` as a fallback in the case\\n // that a browser does not support `calc()`\\n @include properties(map.remove($type-styles, breakpoints));\\n // We also need to include the `sm` styles by default since they don't\\n // appear in the fluid styles for tokens\\n @include fluid-type-size($type-styles, sm, $breakpoints);\\n\\n // Finally, we need to go through all the breakpoints defined in the type\\n // token and apply the properties and fluid type size for that given\\n // breakpoint\\n @each $name, $values in map.get($type-styles, breakpoints) {\\n @include grid.breakpoint($name) {\\n @include properties($values);\\n @include fluid-type-size($type-styles, $name, $breakpoints);\\n }\\n }\\n}\\n\\n/// Computes the fluid `font-size` for a given type style and breakpoint\\n/// @param {Map} $type-styles - The styles for a given token\\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\\n/// @param {Map} $breakpoints [$grid-breakpoints] - The breakpoints for the grid system\\n/// @access public\\n/// @group @carbon/type\\n@mixin fluid-type-size(\\n $type-styles,\\n $name,\\n $breakpoints: gridconfig.$grid-breakpoints\\n) {\\n // Get the information about the breakpoint we're currently working in. Useful\\n // for getting initial width information\\n $breakpoint: map.get($breakpoints, $name);\\n\\n // Our fluid styles are captured under the 'breakpoints' property in our type\\n // styles map. These define what values to treat as `max-` variables below\\n $fluid-sizes: map.get($type-styles, breakpoints);\\n $fluid-breakpoint: ();\\n // Special case for `sm` because the styles for small are on the type style\\n // directly\\n @if $name == sm {\\n $fluid-breakpoint: map.remove($type-styles, breakpoints);\\n } @else {\\n $fluid-breakpoint: map.get($fluid-sizes, $name);\\n }\\n\\n // Initialize our font-sizes to the default size for the type style\\n $max-font-size: map.get($type-styles, font-size);\\n $min-font-size: map.get($type-styles, font-size);\\n @if map.has-key($fluid-breakpoint, font-size) {\\n $min-font-size: map.get($fluid-breakpoint, font-size);\\n }\\n\\n // Initialize our min and max width to the width of the current breakpoint\\n $max-vw: map.get($breakpoint, width);\\n $min-vw: map.get($breakpoint, width);\\n\\n // We can use `breakpoint-next` to see if there is another breakpoint we can\\n // use to update `max-font-size` and `max-vw` with larger values\\n $next-breakpoint-available: grid.breakpoint-next($name, $breakpoints);\\n $next-fluid-breakpoint-name: null;\\n\\n // We need to figure out what the next available fluid breakpoint is for our\\n // given $type-styles. In this loop we try and iterate through breakpoints\\n // until we either manually set $next-breakpoint-available to null or\\n // `breakpoint-next` returns null.\\n @while $next-breakpoint-available {\\n @if map.has-key($fluid-sizes, $next-breakpoint-available) {\\n $next-fluid-breakpoint-name: $next-breakpoint-available;\\n $next-breakpoint-available: null;\\n } @else {\\n $next-breakpoint-available: grid.breakpoint-next(\\n $next-breakpoint-available,\\n $breakpoints\\n );\\n }\\n }\\n\\n // If we have found the next available fluid breakpoint name, then we know\\n // that we have values that we can use to set max-font-size and max-vw as both\\n // values derive from the next breakpoint\\n @if $next-fluid-breakpoint-name {\\n $next-fluid-breakpoint: map.get($breakpoints, $next-fluid-breakpoint-name);\\n $max-font-size: map.get(\\n map.get($fluid-sizes, $next-fluid-breakpoint-name),\\n font-size\\n );\\n $max-vw: map.get($next-fluid-breakpoint, width);\\n\\n // prettier-ignore\\n font-size: calc(#{$min-font-size} +\\n #{strip-unit($max-font-size - $min-font-size)} *\\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\\n );\\n } @else {\\n // Otherwise, just default to setting the font size found from the type\\n // style or the given fluid breakpoint in the type style\\n font-size: $min-font-size;\\n }\\n}\\n\\n// TODO move following variable and `custom-property` mixin into shared file for\\n// both `@carbon/type` and `@carbon/themes`\\n\\n/// @access private\\n/// @group @carbon/type\\n@mixin custom-properties($name, $value) {\\n @each $property, $value in $value {\\n #{$property}: var(\\n --#{$custom-property-prefix}-#{$name}-#{$property},\\n #{$value}\\n );\\n }\\n}\\n\\n/// Helper mixin to include the styles for a given token in any selector in your\\n/// project. Also includes an optional fluid option that will enable fluid\\n/// styles for the token if they are defined. Fluid styles will cause the\\n/// token's font-size to be computed based on the viewport size. As a result, use\\n/// with caution in fixed contexts.\\n/// @param {String} $name - The name of the token to get the styles for\\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\\n/// @param {Map} $breakpoints [$grid-breakpoints] - Provide a custom breakpoint map to use\\n/// @access public\\n/// @group @carbon/type\\n@mixin type-style(\\n $name,\\n $fluid: false,\\n $breakpoints: gridconfig.$grid-breakpoints\\n) {\\n @if not map.has-key($tokens, $name) {\\n @error 'Unable to find a token with the name: `#{$name}`';\\n }\\n\\n $token: map.get($tokens, $name);\\n\\n // If $fluid is set to true and the token has breakpoints defined for fluid\\n // styles, delegate to the fluid-type helper for the given token\\n @if $fluid == true and map.has-key($token, 'breakpoints') {\\n @include fluid-type($token, $breakpoints);\\n } @else {\\n @include custom-properties($name, $token);\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"workspaceOuterContainer\": \"bPwTsOYwvGb9L+Uq9E1xDA==\",\n\t\"narrowWorkspace\": \"LPMPMNCKK1hcb4zn9sDOGA==\",\n\t\"widerWorkspace\": \"wX8sXrKHBqcvAVMkJ4v0kA==\",\n\t\"extraWideWorkspace\": \"_1mZ+78ycqQDTWDioUuK9oA==\",\n\t\"workspaceMiddleContainer\": \"EFv5iyw4oDCGGV9Y9ZEfwQ==\",\n\t\"maximized\": \"_6aCJAqQEFB2RhZHzoLRDDQ==\",\n\t\"hidden\": \"YVW8WIa1SqjwL1ACl3IT8A==\",\n\t\"workspaceInnerContainer\": \"xg4bOj6NwPooPIaOXPCKBg==\",\n\t\"workspaceSpacer\": \"FXY8CygkAIxF9zcW2yGSvg==\",\n\t\"loader\": \"-PdCLOfXVTSihNeTe2ZcEQ==\",\n\t\"hiddenExtraWorkspace\": \"Cd41+4CTbKFz9xXtogQ08Q==\",\n\t\"header\": \"_75+K8udOV-cqCkGkAGIj6w==\",\n\t\"headerButtons\": \"AurqzUZ33OTy8zG8mj+rug==\",\n\t\"workspaceContent\": \"XYp67qdSqNYPaoM9fCbLhg==\",\n\t\"overlayHeaderSpacer\": \"_4Wp1m8HYT74Hbl-maCYOaA==\",\n\t\"isActionMenuOpened\": \"uDn-Vb4wvYD-Ri2XsyQ3yw==\",\n\t\"showActionMenu\": \"_4x-7SaEE-TBMZ72FZs3jhg==\",\n\t\"marginWorkspaceContent\": \"X4I7MrAQFHT4jV0ocFhqMg==\",\n\t\"workspaceContainerWithActionMenu\": \"_8WixBRIY1bkgUuryWue6QQ==\",\n\t\"workspaceFixedContainer\": \"Qn4TyWJrKkNKsP7iElqFAw==\",\n\t\"workspaceContainerWithoutActionMenu\": \"_4LaBoLqa9Mduds1OXV5SqQ==\"\n};\n/* export default */ const __rspack_default_export = (___CSS_LOADER_EXPORT___);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvb3Blbm1ycy1lc20tY29yZS9vcGVubXJzLWVzbS1jb3JlL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbMl0udXNlWzJdIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9wYWNrYWdlcy9mcmFtZXdvcmsvZXNtLXN0eWxlZ3VpZGUvZGlzdC93b3Jrc3BhY2VzMi93b3Jrc3BhY2UyLm1vZHVsZS5zY3NzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXN0eWxlZ3VpZGUvZGlzdC93b3Jrc3BhY2VzMi93b3Jrc3BhY2UyLm1vZHVsZS5zY3NzP2FkNzkiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIvKiA2MCw3MCBhbmQgODAgYXJlIGFscmVhZHkgZGVjbGFyZWQgYXMgYnJhbmQtMDEsIDAyIGFuZCAwMyByZXNwZWN0aXZlbHkgKi9cXG46cm9vdCB7XFxuICAtLWJyYW5kLTAxOiAjMDA1ZDVkO1xcbiAgLS1icmFuZC0wMjogIzAwNDE0NDtcXG4gIC0tYnJhbmQtMDM6ICMwMDdkNzk7XFxuICAtLWJvdHRvbS1uYXYtaGVpZ2h0OiA0cmVtO1xcbiAgLS13b3Jrc3BhY2UtaGVhZGVyLWhlaWdodDogM3JlbTtcXG4gIC0tdGFibGV0LXdvcmtzcGFjZS13aW5kb3ctaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tb21ycy1uYXZiYXItaGVpZ2h0KSAtIHZhcigtLWJvdHRvbS1uYXYtaGVpZ2h0KSk7XFxuICAtLWRlc2t0b3Atd29ya3NwYWNlLXdpbmRvdy1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1vbXJzLW5hdmJhci1oZWlnaHQpIC0gdmFyKC0td29ya3NwYWNlLWhlYWRlci1oZWlnaHQpKTtcXG59XFxuXFxuLyogVGhlc2UgY29sb3IgdmFyaWFibGVzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlICovXFxuLmJQd1RzT1l3dkdiOUxcXFxcK1VxOUUxeERBXFxcXD1cXFxcPSB7XFxuICAtLWFjdGlvblBhbmVsT2Zmc2V0OiAwcHg7XFxuICB3aWR0aDogdmFyKC0td29ya3NwYWNlV2lkdGgpO1xcbiAgZGlzcGxheTogY29udGVudHM7XFxufVxcbi5iUHdUc09Zd3ZHYjlMXFxcXCtVcTlFMXhEQVxcXFw9XFxcXD0uTFBNUE1OQ0tLMWhjYjR6bjlzRE9HQVxcXFw9XFxcXD0ge1xcbiAgLS13b3Jrc3BhY2VXaWR0aDogMjYuMjVyZW07XFxufVxcbi5iUHdUc09Zd3ZHYjlMXFxcXCtVcTlFMXhEQVxcXFw9XFxcXD0ud1g4c1hyS0hCcWN2QVZNa0o0djBrQVxcXFw9XFxcXD0ge1xcbiAgLS13b3Jrc3BhY2VXaWR0aDogMzIuMjVyZW07XFxufVxcbi5iUHdUc09Zd3ZHYjlMXFxcXCtVcTlFMXhEQVxcXFw9XFxcXD0uXzFtWlxcXFwrNzh5Y3FRRFRXRGlvVXVLOW9BXFxcXD1cXFxcPSB7XFxuICAtLXdvcmtzcGFjZVdpZHRoOiA0OC4yNXJlbTtcXG59XFxuLmJQd1RzT1l3dkdiOUxcXFxcK1VxOUUxeERBXFxcXD1cXFxcPSAuRUZ2NWl5dzRvRENHR1Y5WTlaRWZ3UVxcXFw9XFxcXD0ge1xcbiAgd2lkdGg6IGluaGVyaXQ7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgaW5zZXQtaW5saW5lLWVuZDogdmFyKC0tYWN0aW9uUGFuZWxPZmZzZXQpO1xcbiAgei1pbmRleDogMTAwO1xcbn1cXG4uYlB3VHNPWXd2R2I5TFxcXFwrVXE5RTF4REFcXFxcPVxcXFw9IC5FRnY1aXl3NG9EQ0dHVjlZOVpFZndRXFxcXD1cXFxcPS5fNmFDSkFxUUVGQjJSaFpIem9MUkREUVxcXFw9XFxcXD0ge1xcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XFxuICB0b3A6IHZhcigtLW9tcnMtbmF2YmFyLWhlaWdodCkgIWltcG9ydGFudDtcXG4gIGluc2V0LWlubGluZS1zdGFydDogMCAhaW1wb3J0YW50O1xcbiAgaW5zZXQtaW5saW5lLWVuZDogdmFyKC0tYWN0aW9uUGFuZWxPZmZzZXQpICFpbXBvcnRhbnQ7XFxuICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLWFjdGlvblBhbmVsT2Zmc2V0KSkgIWltcG9ydGFudDtcXG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XFxuICB3aWxsLWNoYW5nZTogYXV0byAhaW1wb3J0YW50O1xcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG4uYlB3VHNPWXd2R2I5TFxcXFwrVXE5RTF4REFcXFxcPVxcXFw9IC5FRnY1aXl3NG9EQ0dHVjlZOVpFZndRXFxcXD1cXFxcPS5ZVlc4V0lhMVNxandMMUFDbDNJVDhBXFxcXD1cXFxcPSB7XFxuICB3aWR0aDogMDtcXG59XFxuLmJQd1RzT1l3dkdiOUxcXFxcK1VxOUUxeERBXFxcXD1cXFxcPSAueGc0Yk9qNk53UG9vUElhT1hQQ0tCZ1xcXFw9XFxcXD0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogdmFyKC0td29ya3NwYWNlV2lkdGgpO1xcbiAgYm9yZGVyLWlubGluZS1zdGFydDogMXB4IHNvbGlkICNhOGE4YTg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbn1cXG4uYlB3VHNPWXd2R2I5TFxcXFwrVXE5RTF4REFcXFxcPVxcXFw9IC54ZzRiT2o2TndQb29QSWFPWFBDS0JnXFxcXD1cXFxcPS5fNmFDSkFxUUVGQjJSaFpIem9MUkREUVxcXFw9XFxcXD0ge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5iUHdUc09Zd3ZHYjlMXFxcXCtVcTlFMXhEQVxcXFw9XFxcXD0gLkZYWThDeWdrQUl4Rjl6Y1cyeUdTdmdcXFxcPVxcXFw9IHtcXG4gIHdpZHRoOiBpbmhlcml0O1xcbiAgaGVpZ2h0OiAxMDAlO1xcbn1cXG4uYlB3VHNPWXd2R2I5TFxcXFwrVXE5RTF4REFcXFxcPVxcXFw9IC5GWFk4Q3lna0FJeEY5emNXMnlHU3ZnXFxcXD1cXFxcPS5ZVlc4V0lhMVNxandMMUFDbDNJVDhBXFxcXD1cXFxcPSB7XFxuICB3aWR0aDogMDtcXG59XFxuXFxuLi1QZENMT2ZYVlRTaWhOZVRlMlpjRVFcXFxcPVxcXFw9IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtaW4taGVpZ2h0OiA1MCU7XFxufVxcblxcbi5DZDQxXFxcXCs0Q1RiS0Z6OXhYdG9nUTA4UVxcXFw9XFxcXD0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuXFxuLyogRGVza3RvcCAqL1xcbi5vbXJzLWJyZWFrcG9pbnQtZ3QtdGFibGV0IC5fNzVcXFxcK0s4dWRPVi1jcUNrR2tBR0lqNndcXFxcPVxcXFw9IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhOGE4YTg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xcbiAgaGVpZ2h0OiB2YXIoLS13b3Jrc3BhY2UtaGVhZGVyLWhlaWdodCk7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtZ3QtdGFibGV0IC5fNzVcXFxcK0s4dWRPVi1jcUNrR2tBR0lqNndcXFxcPVxcXFw9IGEge1xcbiAgZm9udC1zaXplOiB2YXIoLS1jZHMtaGVhZGluZy1jb21wYWN0LTAyLWZvbnQtc2l6ZSwgMXJlbSk7XFxuICBmb250LXdlaWdodDogdmFyKC0tY2RzLWhlYWRpbmctY29tcGFjdC0wMi1mb250LXdlaWdodCwgNjAwKTtcXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jZHMtaGVhZGluZy1jb21wYWN0LTAyLWxpbmUtaGVpZ2h0LCAxLjM3NSk7XFxuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY2RzLWhlYWRpbmctY29tcGFjdC0wMi1sZXR0ZXItc3BhY2luZywgMCk7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtZ3QtdGFibGV0IC5fNzVcXFxcK0s4dWRPVi1jcUNrR2tBR0lqNndcXFxcPVxcXFw9IGE6aG92ZXIge1xcbiAgY29sb3I6IGluaGVyaXQ7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtZ3QtdGFibGV0IC5BdXJxelVaMzNPVHk4ekc4bWpcXFxcK3J1Z1xcXFw9XFxcXD0gYnV0dG9uIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XFxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTBlMGUwO1xcbn1cXG4ub21ycy1icmVha3BvaW50LWd0LXRhYmxldCAuQXVycXpVWjMzT1R5OHpHOG1qXFxcXCtydWdcXFxcPVxcXFw9IGJ1dHRvbiA+IHN2ZyB7XFxuICBmaWxsOiAjMTIxNjE5ICFpbXBvcnRhbnQ7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtZ3QtdGFibGV0IC5BdXJxelVaMzNPVHk4ekc4bWpcXFxcK3J1Z1xcXFw9XFxcXD0gYnV0dG9uOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtZ3QtdGFibGV0IC5YWXA2N3FkU3FOWVBhb005ZkNiTGhnXFxcXD1cXFxcPSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIGZsZXgtZ3JvdzogMTtcXG59XFxuLm9tcnMtYnJlYWtwb2ludC1ndC10YWJsZXQgLl80V3AxbThIWVQ3NEhibC1tYUNZT2FBXFxcXD1cXFxcPSB7XFxuICBmbGV4LWdyb3c6IDE7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtZ3QtdGFibGV0IC5iUHdUc09Zd3ZHYjlMXFxcXCtVcTlFMXhEQVxcXFw9XFxcXD0udURuLVZiNHd2WUQtUmkyWHN5UTN5d1xcXFw9XFxcXD0ge1xcbiAgLS1hY3Rpb25QYW5lbE9mZnNldDogM3JlbTtcXG59XFxuXFxuLyogVGFibGV0ICovXFxuLm9tcnMtYnJlYWtwb2ludC1sdC1kZXNrdG9wIC5fNzVcXFxcK0s4dWRPVi1jcUNrR2tBR0lqNndcXFxcPVxcXFw9IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLTAyKTtcXG59XFxuLm9tcnMtYnJlYWtwb2ludC1sdC1kZXNrdG9wIC5fNzVcXFxcK0s4dWRPVi1jcUNrR2tBR0lqNndcXFxcPVxcXFw9IGEge1xcbiAgY29sb3I6ICNmZmZmZmY7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtbHQtZGVza3RvcCAuXzc1XFxcXCtLOHVkT1YtY3FDa0drQUdJajZ3XFxcXD1cXFxcPSBidXR0b24ge1xcbiAgY29sb3I6ICNmZmZmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC0wMik7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtbHQtZGVza3RvcCAuXzc1XFxcXCtLOHVkT1YtY3FDa0drQUdJajZ3XFxcXD1cXFxcPSBidXR0b246aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtMDMpO1xcbn1cXG4ub21ycy1icmVha3BvaW50LWx0LWRlc2t0b3AgLmJQd1RzT1l3dkdiOUxcXFxcK1VxOUUxeERBXFxcXD1cXFxcPSB7XFxuICB3aWR0aDogMTAwdnc7XFxufVxcbkBzdXBwb3J0cyAod2lkdGg6IDEwMGNxdykge1xcbiAgLm9tcnMtYnJlYWtwb2ludC1sdC1kZXNrdG9wIC5iUHdUc09Zd3ZHYjlMXFxcXCtVcTlFMXhEQVxcXFw9XFxcXD0ge1xcbiAgICB3aWR0aDogMTAwY3F3O1xcbiAgfVxcbn1cXG4ub21ycy1icmVha3BvaW50LWx0LWRlc2t0b3AgLkVGdjVpeXc0b0RDR0dWOVk5WkVmd1FcXFxcPVxcXFw9IHtcXG4gIHdpZHRoOiBpbmhlcml0ICFpbXBvcnRhbnQ7XFxufVxcbi5vbXJzLWJyZWFrcG9pbnQtbHQtZGVza3RvcCAuRUZ2NWl5dzRvRENHR1Y5WTlaRWZ3UVxcXFw9XFxcXD0uWVZXOFdJYTFTcWp3TDFBQ2wzSVQ4QVxcXFw9XFxcXD0ge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuLm9tcnMtYnJlYWtwb2ludC1sdC1kZXNrdG9wIC5FRnY1aXl3NG9EQ0dHVjlZOVpFZndRXFxcXD1cXFxcPS5fNHgtN1NhRUUtVEJNWjcyRlpzM2poZ1xcXFw9XFxcXD0ge1xcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0cmVtKTtcXG59XFxuLm9tcnMtYnJlYWtwb2ludC1sdC1kZXNrdG9wIC54ZzRiT2o2TndQb29QSWFPWFBDS0JnXFxcXD1cXFxcPSB7XFxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xcbn1cXG4ub21ycy1icmVha3BvaW50LWx0LWRlc2t0b3AgLlg0STdNckFRRkhUNGpWMG9jRmhxTWdcXFxcPVxcXFw9IHtcXG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWJvdHRvbS1uYXYtaGVpZ2h0KTtcXG59XFxuLm9tcnMtYnJlYWtwb2ludC1sdC1kZXNrdG9wIC5YWXA2N3FkU3FOWVBhb005ZkNiTGhnXFxcXD1cXFxcPSB7XFxuICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbn1cXG5cXG5odG1sW2Rpcj1ydGxdIC5vbXJzLWJyZWFrcG9pbnQtZ3QtdGFibGV0IC5fOFdpeEJSSVkxYmtnVXVyeVd1ZTZRUVxcXFw9XFxcXD0uUW40VHlXSnJLa05Lc1A3aUVscUZBd1xcXFw9XFxcXD0ge1xcbiAgcmlnaHQ6IHVuc2V0O1xcbiAgbGVmdDogdmFyKC0tYWN0aW9uUGFuZWxPZmZzZXQpO1xcbn1cXG5odG1sW2Rpcj1ydGxdIC5vbXJzLWJyZWFrcG9pbnQtZ3QtdGFibGV0IC5fNExhQm9McWE5TWR1ZHMxT1hWNVNxUVxcXFw9XFxcXD0ge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbn1cXG5odG1sW2Rpcj1ydGxdIC5vbXJzLWJyZWFrcG9pbnQtZ3QtdGFibGV0IC5fNExhQm9McWE5TWR1ZHMxT1hWNVNxUVxcXFw9XFxcXD0uUW40VHlXSnJLa05Lc1A3aUVscUZBd1xcXFw9XFxcXD0ge1xcbiAgcmlnaHQ6IHVuc2V0O1xcbiAgbGVmdDogMDtcXG59XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3QvX3ZhcnMuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3Qvd29ya3NwYWNlczIvd29ya3NwYWNlMi5tb2R1bGUuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYXJib24vdHlwZS9zY3NzL19zdHlsZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFrQ0EsMEVBQUE7QUFvQkE7RUFDRSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QkFBQTtFQUNBLCtCQUFBO0VBQ0Esb0dBQUE7RUFDQSwyR0FBQTtBQ3BERjs7QURnRUEsOERBQUE7QUM5REE7RUFDRSx3QkFBQTtFQVlBLDRCQUFBO0VBQ0EsaUJBQUE7QUFURjtBQUZFO0VBQ0UsMEJBQUE7QUFJSjtBQUZFO0VBQ0UsMEJBQUE7QUFJSjtBQUZFO0VBQ0UsMEJBQUE7QUFJSjtBQUlFO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLDBDQUFBO0VBQ0EsWUFBQTtBQUZKO0FBSUk7RUFDRSwwQkFBQTtFQUNBLHlDQUFBO0VBQ0EsZ0NBQUE7RUFDQSxxREFBQTtFQUNBLHdEQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLDRCQUFBO0VBQ0EsMkJBQUE7QUFGTjtBQUlJO0VBQ0UsUUFBQTtBQUZOO0FBUUU7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0VBQ0EsNEJBQUE7RUFDQSxzQ0FBQTtFQUNBLHNCQUFBO0FBTko7QUFRSTtFQUNFLFdBQUE7QUFOTjtBQWVFO0VBQ0UsY0FBQTtFQUNBLFlBQUE7QUFiSjtBQWVJO0VBQ0UsUUFBQTtBQWJOOztBQWtCQTtFQUNFLGFBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtBQWZGOztBQWtCQTtFQUNFLGFBQUE7QUFmRjs7QUFrQkEsWUFBQTtBQUVFO0VBQ0Usa0JBQUE7RUFDQSx1QkFBQTtFQUNBLGdDQUFBO0VBQ0EseUJEakdJO0VDa0dKLHNDQUFBO0FBaEJKO0FBa0JJO0VDMHZCQSx3REFBQTtFQUFBLDJEQUFBO0VBQUEsNkRBQUE7RUFBQSwrREFBQTtBRHR3Qko7QUFlTTtFQUNFLGNBQUE7QUFiUjtBQW1CSTtFQUNFLHlCRGhIRTtFQ2lIRiwrQkFBQTtBQWpCTjtBQW1CTTtFQUNFLHdCQUFBO0FBakJSO0FBb0JNO0VBQ0UseUJEekhBO0FDdUdSO0FBdUJFO0VBQ0UseUJEOUhJO0VDK0hKLGdCQUFBO0VBQ0EsWUFBQTtBQXJCSjtBQXdCRTtFQUNFLFlBQUE7QUF0Qko7QUEwQkk7RUFDRSx5QkFBQTtBQXhCTjs7QUE2QkEsV0FBQTtBQUVFO0VBQ0Usa0JBQUE7RUFDQSxpQ0FBQTtBQTNCSjtBQTZCSTtFQUNFLGNEckpFO0FDMEhSO0FBOEJJO0VBQ0UsY0R6SkU7RUMwSkYsaUNBQUE7QUE1Qk47QUE4Qk07RUFDRSxpQ0FBQTtBQTVCUjtBQW1DRTtFQUNFLFlBQUE7QUFqQ0o7QUFzQ0U7RUFDRTtJQUNFLGFBQUE7RUFwQ0o7QUFDRjtBQXVDRTtFQUNFLHlCQUFBO0FBckNKO0FBc0NJO0VBQ0UsYUFBQTtBQXBDTjtBQXdDSTtFQUNFLHlCQUFBO0FBdENOO0FBMENFO0VBQ0Usc0JBQUE7QUF4Q0o7QUEyQ0U7RUFDRSx1Q0FBQTtBQXpDSjtBQTRDRTtFQUNFLGdCQUFBO0VBQ0EsWUFBQTtBQTFDSjs7QUFrRE07RUFDRSxZQUFBO0VBQ0EsOEJBQUE7QUEvQ1I7QUFtREk7RUFDRSxZQUFBO0FBakROO0FBbURNO0VBQ0UsWUFBQTtFQUNBLE9BQUE7QUFqRFJcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQHVzZSAnQGNhcmJvbi9sYXlvdXQnO1xcblxcbiR1aS0wMTogI2Y0ZjRmNDtcXG4kdWktMDI6ICNmZmZmZmY7XFxuJHVpLTAzOiAjZTBlMGUwO1xcbiR1aS0wNDogIzhkOGQ4ZDtcXG4kdWktMDU6ICMxNjE2MTY7XFxuJHRleHQtMDI6ICM1MjUyNTI7XFxuJHRleHQtMDM6ICNhOGE4YTg7XFxuJHVpLWJhY2tncm91bmQ6ICNmZmZmZmY7XFxuJGNvbG9yLWdyYXktMzA6ICNjNmM2YzY7XFxuJGNvbG9yLWdyYXktNzA6ICM1MjUyNTI7XFxuJGNvbG9yLWdyYXktMTAwOiAjMTYxNjE2O1xcbiRjb2xvci1ibHVlLTYwLTI6ICMwZjYyZmU7XFxuJGNvbG9yLWJsdWUtMTA6ICNlZGY1ZmY7XFxuJGNvbG9yLXllbGxvdy01MDogI2ZlZWNhZTtcXG4kY2FyYm9uLS1yZWQtNTA6ICNmYTRkNTY7XFxuJGludmVyc2UtbGluazogIzc4YTlmZjtcXG4kc3VwcG9ydC0wMjogIzI0YTE0ODtcXG4kaW52ZXJzZS1zdXBwb3J0LTAzOiAjZjFjMjFiO1xcbiR3YXJuaW5nLWJhY2tncm91bmQ6ICNmZmY4ZTE7XFxuJG9wZW5tcnMtYmFja2dyb3VuZC1ncmV5OiAjZjRmNGY0O1xcbiRkYW5nZXI6ICNkYTFlMjg7XFxuJGludGVyYWN0aXZlLTAxOiAjMGY2MmZlO1xcbiRmaWVsZC0wMTogI2Y0ZjRmNDtcXG4kZ3JleS0yOiAjZTBlMGUwO1xcbiRsYWJlbGRyb3Bkb3duOiAjYzZjNmM2O1xcblxcbiRicmFuZC1wcmltYXJ5LTEwOiAjZDlmYmZiO1xcbiRicmFuZC1wcmltYXJ5LTIwOiAjOWVmMGYwO1xcbiRicmFuZC1wcmltYXJ5LTMwOiAjM2RkYmQ5O1xcbiRicmFuZC1wcmltYXJ5LTQwOiAjMDhiZGJhO1xcbiRicmFuZC1wcmltYXJ5LTUwOiAjMDA5ZDlhO1xcblxcbi8qIDYwLDcwIGFuZCA4MCBhcmUgYWxyZWFkeSBkZWNsYXJlZCBhcyBicmFuZC0wMSwgMDIgYW5kIDAzIHJlc3BlY3RpdmVseSAqL1xcblxcbiRicmFuZC1wcmltYXJ5LTkwOiAjMDIyYjMwO1xcbiRicmFuZC1wcmltYXJ5LTEwMDogIzA4MWExYztcXG5cXG5AbWl4aW4gYnJhbmQtMDEoJHByb3BlcnR5KSB7XFxuICAjeyRwcm9wZXJ0eX06ICMwMDVkNWQ7XFxuICAjeyRwcm9wZXJ0eX06IHZhcigtLWJyYW5kLTAxKTtcXG59XFxuXFxuQG1peGluIGJyYW5kLTAyKCRwcm9wZXJ0eSkge1xcbiAgI3skcHJvcGVydHl9OiAjMDA0MTQ0O1xcbiAgI3skcHJvcGVydHl9OiB2YXIoLS1icmFuZC0wMik7XFxufVxcblxcbkBtaXhpbiBicmFuZC0wMygkcHJvcGVydHkpIHtcXG4gICN7JHByb3BlcnR5fTogIzAwN2Q3OTtcXG4gICN7JHByb3BlcnR5fTogdmFyKC0tYnJhbmQtMDMpO1xcbn1cXG5cXG46cm9vdCB7XFxuICAtLWJyYW5kLTAxOiAjMDA1ZDVkO1xcbiAgLS1icmFuZC0wMjogIzAwNDE0NDtcXG4gIC0tYnJhbmQtMDM6ICMwMDdkNzk7XFxuICAtLWJvdHRvbS1uYXYtaGVpZ2h0OiAje2xheW91dC4kc3BhY2luZy0xMH07XFxuICAtLXdvcmtzcGFjZS1oZWFkZXItaGVpZ2h0OiAje2xheW91dC4kc3BhY2luZy0wOX07XFxuICAtLXRhYmxldC13b3Jrc3BhY2Utd2luZG93LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW9tcnMtbmF2YmFyLWhlaWdodCkgLSB2YXIoLS1ib3R0b20tbmF2LWhlaWdodCkpO1xcbiAgLS1kZXNrdG9wLXdvcmtzcGFjZS13aW5kb3ctaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tb21ycy1uYXZiYXItaGVpZ2h0KSAtIHZhcigtLXdvcmtzcGFjZS1oZWFkZXItaGVpZ2h0KSk7XFxufVxcblxcbiRicmVha3BvaW50LXBob25lLW1pbjogMHB4O1xcbiRicmVha3BvaW50LXBob25lLW1heDogNjAwcHg7XFxuJGJyZWFrcG9pbnQtdGFibGV0LW1pbjogNjAxcHg7XFxuJGJyZWFrcG9pbnQtdGFibGV0LW1heDogMTAyM3B4O1xcbiRicmVha3BvaW50LXNtYWxsLWRlc2t0b3AtbWluOiAxMDI0cHg7XFxuJGJyZWFrcG9pbnQtc21hbGwtZGVza3RvcC1tYXg6IDE0MzlweDtcXG4kYnJlYWtwb2ludC1sYXJnZS1kZXNrdG9wLW1pbjogMTQ0MHB4O1xcbiRicmVha3BvaW50LWxhcmdlLWRlc2t0b3AtbWF4OiA5OTk5OTk5OXB4O1xcblxcbi8qIFRoZXNlIGNvbG9yIHZhcmlhYmxlcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZSAqL1xcbiRicmFuZC10ZWFsLTAxOiAjMDA3ZDc5O1xcbiRicmFuZC0wMTogIzAwNWQ1ZDtcXG4kYnJhbmQtMDI6ICMwMDQxNDQ7XFxuXCIsXCJAdXNlICdAY2FyYm9uL2NvbG9ycyc7XFxuQHVzZSAnQGNhcmJvbi9sYXlvdXQnO1xcbkB1c2UgJ0BjYXJib24vdHlwZSc7XFxuQHVzZSAnLi4vdmFycycgYXMgKjtcXG5cXG4kbmFycm93V29ya3NwYWNlV2lkdGg6IDI2LjI1cmVtO1xcbiR3aWRlcldvcmtzcGFjZVdpZHRoOiAzMi4yNXJlbTtcXG4kZXh0cmFXaWRlV29ya3NwYWNlV2lkdGg6IDQ4LjI1cmVtO1xcblxcbi8vIFRoaXMgY29udGFpbmVyIGhhcyBubyBsYXlvdXQgcHVycG9zZS5cXG4vLyBJdCBpcyB1c2VkIHRvIHNldCB0aGUgLS13b3Jrc3BhY2VXaWR0aCB2YXJpYWJsZS5cXG4ud29ya3NwYWNlT3V0ZXJDb250YWluZXIge1xcbiAgLS1hY3Rpb25QYW5lbE9mZnNldDogMHB4O1xcblxcbiAgJi5uYXJyb3dXb3Jrc3BhY2Uge1xcbiAgICAtLXdvcmtzcGFjZVdpZHRoOiAjeyRuYXJyb3dXb3Jrc3BhY2VXaWR0aH07XFxuICB9XFxuICAmLndpZGVyV29ya3NwYWNlIHtcXG4gICAgLS13b3Jrc3BhY2VXaWR0aDogI3skd2lkZXJXb3Jrc3BhY2VXaWR0aH07XFxuICB9XFxuICAmLmV4dHJhV2lkZVdvcmtzcGFjZSB7XFxuICAgIC0td29ya3NwYWNlV2lkdGg6ICN7JGV4dHJhV2lkZVdvcmtzcGFjZVdpZHRofTtcXG4gIH1cXG5cXG4gIHdpZHRoOiB2YXIoLS13b3Jrc3BhY2VXaWR0aCk7XFxuICBkaXNwbGF5OiBjb250ZW50cztcXG5cXG4gIC8vIFRoaXMgY29udGFpbmVyIGNsaXBzIHRoZSB3b3Jrc3BhY2Ugd2hlbiBpdCBzbGlkZXMgb3V0IG9mIHNjcmVlblxcbiAgLy8gKHZpYSBvdmVyZmxvdzogaGlkZGVuKVxcbiAgLndvcmtzcGFjZU1pZGRsZUNvbnRhaW5lciB7XFxuICAgIHdpZHRoOiBpbmhlcml0O1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoLS1hY3Rpb25QYW5lbE9mZnNldCk7XFxuICAgIHotaW5kZXg6IDEwMDtcXG5cXG4gICAgJi5tYXhpbWl6ZWQge1xcbiAgICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xcbiAgICAgIHRvcDogdmFyKC0tb21ycy1uYXZiYXItaGVpZ2h0KSAhaW1wb3J0YW50O1xcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogMCAhaW1wb3J0YW50O1xcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IHZhcigtLWFjdGlvblBhbmVsT2Zmc2V0KSAhaW1wb3J0YW50O1xcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tYWN0aW9uUGFuZWxPZmZzZXQpKSAhaW1wb3J0YW50O1xcbiAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xcbiAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xcbiAgICAgIHdpbGwtY2hhbmdlOiBhdXRvICFpbXBvcnRhbnQ7XFxuICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xcbiAgICB9XFxuICAgICYuaGlkZGVuIHtcXG4gICAgICB3aWR0aDogMDtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gVGhpcyBjb250YWluZXIgY29udGFpbnMgdGhlIGFjdHVhbCB3b3Jrc3BhY2UgY29udGVudFxcbiAgLy8gYW5kIGNoYW5nZXMgc2l6ZSAod2lkdGgpIHdoZW4gbWF4aW1pemVkXFxuICAud29ya3NwYWNlSW5uZXJDb250YWluZXIge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIHdpZHRoOiB2YXIoLS13b3Jrc3BhY2VXaWR0aCk7XFxuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDFweCBzb2xpZCAkdGV4dC0wMztcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG5cXG4gICAgJi5tYXhpbWl6ZWQge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICB9XFxuICB9XFxuXFxuICAvLyBUaGUgc3BhY2VyIGlzIHJlc3BvbnNpYmxlIGZvciB0YWtpbmcgdXAgc3BhY2UgYW5kIHNocmlua2luZyB0aGUgd2lkdGggb2YgdGhlIFxcXCJtYWluXFxcIiBjb250ZW50XFxuICAvLyBpbiBvbXJzLWFwcHMtY29udGFpbmVyIHdoZW4gaW4gbm9uLW92ZXJsYXkgbW9kZS5cXG4gIC8vIE5vdGUgdGhhdCB0aGUgc3BhY2VyIHRha2VzIHVwIC0td29ya3NwYWNlV2lkdGggYW1vdW50IG9mIHNwYWNlLCBidXQgZG9lc1xcbiAgLy8gbm90IGdyb3cgd2hlbiB0aGUgd29ya3NwYWNlIGlzIG1heGltaXplZC4gSW4gb3RoZXIgd29yZHMsIGl0IGRvZXMgbm90IHNocmluayB0aGVcXG4gIC8vIFxcXCJtYWluXFxcIiBjb250ZW50IGZ1cnRoZXIgd2hlbiB3b3Jrc3BhY2UgaXMgbWF4aW1pemVkLlxcbiAgLndvcmtzcGFjZVNwYWNlciB7XFxuICAgIHdpZHRoOiBpbmhlcml0O1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuXFxuICAgICYuaGlkZGVuIHtcXG4gICAgICB3aWR0aDogMDtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4ubG9hZGVyIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtaW4taGVpZ2h0OiA1MCU7XFxufVxcblxcbi5oaWRkZW5FeHRyYVdvcmtzcGFjZSB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4vKiBEZXNrdG9wICovXFxuOmdsb2JhbCgub21ycy1icmVha3BvaW50LWd0LXRhYmxldCkge1xcbiAgLmhlYWRlciB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGV4dC0wMztcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAzO1xcbiAgICBoZWlnaHQ6IHZhcigtLXdvcmtzcGFjZS1oZWFkZXItaGVpZ2h0KTtcXG5cXG4gICAgYSB7XFxuICAgICAgQGluY2x1ZGUgdHlwZS50eXBlLXN0eWxlKCdoZWFkaW5nLWNvbXBhY3QtMDInKTtcXG5cXG4gICAgICAmOmhvdmVyIHtcXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgLmhlYWRlckJ1dHRvbnMge1xcbiAgICBidXR0b24ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS0wMjtcXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBjb2xvcnMuJGdyYXktMjA7XFxuXFxuICAgICAgPiBzdmcge1xcbiAgICAgICAgZmlsbDogY29sb3JzLiRjb29sLWdyYXktMTAwICFpbXBvcnRhbnQ7XFxuICAgICAgfVxcblxcbiAgICAgICY6aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLTAxO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgLndvcmtzcGFjZUNvbnRlbnQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktMDI7XFxuICAgIG92ZXJmbG93LXk6IGF1dG87XFxuICAgIGZsZXgtZ3JvdzogMTtcXG4gIH1cXG5cXG4gIC5vdmVybGF5SGVhZGVyU3BhY2VyIHtcXG4gICAgZmxleC1ncm93OiAxO1xcbiAgfVxcblxcbiAgLndvcmtzcGFjZU91dGVyQ29udGFpbmVyIHtcXG4gICAgJi5pc0FjdGlvbk1lbnVPcGVuZWQge1xcbiAgICAgIC0tYWN0aW9uUGFuZWxPZmZzZXQ6ICN7bGF5b3V0LiRzcGFjaW5nLTA5fTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4vKiBUYWJsZXQgKi9cXG46Z2xvYmFsKC5vbXJzLWJyZWFrcG9pbnQtbHQtZGVza3RvcCkge1xcbiAgLmhlYWRlciB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtMDIpO1xcblxcbiAgICBhIHtcXG4gICAgICBjb2xvcjogJHVpLTAyO1xcbiAgICB9XFxuXFxuICAgIGJ1dHRvbiB7XFxuICAgICAgY29sb3I6ICR1aS0wMjtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC0wMik7XFxuXFxuICAgICAgJjpob3ZlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC0wMyk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICAvLyBmYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IHRoZSBjb250YWluZXIgQ1NTIGZlYXR1cmUsXFxuICAvLyB0aGUgd2lkdGggaXMgc2xpZ2h0bHkgb2ZmIGlmIDxib2R5PiBoYXMgYSB2ZXJ0aWNhbCBzY3JvbGxiYXJcXG4gIC53b3Jrc3BhY2VPdXRlckNvbnRhaW5lciB7XFxuICAgIHdpZHRoOiAxMDB2dztcXG4gIH1cXG5cXG4gIC8vIHVzaW5nIHRoZSBjb250YWluZXIgQ1NTIGZlYXR1cmUsIGZvciBicm93c2VyIHRoYXQgc3VwcG9ydCBpdFxcbiAgLy8gIGdldCB0aGUgY29udGFpbmVyIHF1ZXJ5IHdpZHRoIChpLmUuIHdpZHRoIG9mIDxib2R5Piwgd2l0aG91dCB0aGUgc2Nyb2xsYmFycylcXG4gIEBzdXBwb3J0cyAod2lkdGg6IDEwMGNxdykge1xcbiAgICAud29ya3NwYWNlT3V0ZXJDb250YWluZXIge1xcbiAgICAgIHdpZHRoOiAxMDBjcXc7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC53b3Jrc3BhY2VNaWRkbGVDb250YWluZXIge1xcbiAgICB3aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1xcbiAgICAmLmhpZGRlbiB7XFxuICAgICAgZGlzcGxheTogbm9uZTtcXG4gICAgfVxcblxcbiAgICAvLyBpbiB0YWJsZXQgbW9kZSwgcmVkdWNlIHRoZSBoZWlnaHQgdG8gb2YgdGhlIHdvcmtzcGFjZSB3aW5kb3cgdG8gYWNjb21tb2RhdGUgdGhlIHdvcmtzcGFjZSBtZW51IChib3R0b20gbmF2KVxcbiAgICAmLnNob3dBY3Rpb25NZW51IHtcXG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIGxheW91dC4kc3BhY2luZy0xMCk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC53b3Jrc3BhY2VJbm5lckNvbnRhaW5lciB7XFxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XFxuICB9XFxuXFxuICAubWFyZ2luV29ya3NwYWNlQ29udGVudCB7XFxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWJvdHRvbS1uYXYtaGVpZ2h0KTtcXG4gIH1cXG5cXG4gIC53b3Jrc3BhY2VDb250ZW50IHtcXG4gICAgb3ZlcmZsb3cteTogYXV0bztcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgfVxcbn1cXG5cXG4vLyBPdmVycmlkaW5nIHN0eWxlcyBmb3IgUlRMIHN1cHBvcnRcXG5odG1sW2Rpcj0ncnRsJ10ge1xcbiAgOmdsb2JhbCgub21ycy1icmVha3BvaW50LWd0LXRhYmxldCkge1xcbiAgICAud29ya3NwYWNlQ29udGFpbmVyV2l0aEFjdGlvbk1lbnUge1xcbiAgICAgICYud29ya3NwYWNlRml4ZWRDb250YWluZXIge1xcbiAgICAgICAgcmlnaHQ6IHVuc2V0O1xcbiAgICAgICAgbGVmdDogdmFyKC0tYWN0aW9uUGFuZWxPZmZzZXQpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICAud29ya3NwYWNlQ29udGFpbmVyV2l0aG91dEFjdGlvbk1lbnUge1xcbiAgICAgIGhlaWdodDogMTAwJTtcXG5cXG4gICAgICAmLndvcmtzcGFjZUZpeGVkQ29udGFpbmVyIHtcXG4gICAgICAgIHJpZ2h0OiB1bnNldDtcXG4gICAgICAgIGxlZnQ6IDA7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblwiLFwiLy9cXG4vLyBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTgsIDIwMjNcXG4vL1xcbi8vIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZS0yLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcXG4vLyBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXFxuLy9cXG5cXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBudW1iZXItbWF4LXByZWNpc2lvblxcblxcbkB1c2UgJ3Nhc3M6bWFwJztcXG5AdXNlICdzYXNzOm1hdGgnO1xcbkB1c2UgJ0BjYXJib24vZ3JpZC9zY3NzL2NvbmZpZycgYXMgZ3JpZGNvbmZpZztcXG5AdXNlICdAY2FyYm9uL2dyaWQvc2Nzcy9icmVha3BvaW50JyBhcyBncmlkO1xcbkB1c2UgJ3ByZWZpeCcgYXMgKjtcXG5AdXNlICdmb250LWZhbWlseSc7XFxuQHVzZSAnc2NhbGUnO1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGRlcHJlY2F0ZWRcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRjYXB0aW9uLTAxOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMSksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzLFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGRlcHJlY2F0ZWRcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRjYXB0aW9uLTAyOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMiksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTcyLFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRsYWJlbC0wMTogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS4zMzMzMyxcXG4gIGxldHRlci1zcGFjaW5nOiAwLjMycHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kbGFiZWwtMDI6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgyKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzIsXFxuICBsZXR0ZXItc3BhY2luZzogMC4xNnB4LFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGxlZ2FsLTAxOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMSksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzLFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRsZWdhbC0wMjogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDIpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS4yODU3MixcXG4gIGxldHRlci1zcGFjaW5nOiAwLjE2cHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBkZXByZWNhdGVkXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kaGVscGVyLXRleHQtMDE6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzLFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGRlcHJlY2F0ZWRcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRoZWxwZXItdGV4dC0wMjogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDIpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS4yODU3MixcXG4gIGxldHRlci1zcGFjaW5nOiAwLjE2cHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kYm9keS1zaG9ydC0wMTogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDIpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS4yODU3MixcXG4gIGxldHRlci1zcGFjaW5nOiAwLjE2cHgsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kYm9keS1jb21wYWN0LTAxOiAkYm9keS1zaG9ydC0wMSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kYm9keS1sb25nLTAxOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMiksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTZweCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRib2R5LTAxOiAkYm9keS1sb25nLTAxICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRib2R5LXNob3J0LTAyOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMyksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjM3NSxcXG4gIGxldHRlci1zcGFjaW5nOiAwLFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGJvZHktY29tcGFjdC0wMjogJGJvZHktc2hvcnQtMDIgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGJvZHktbG9uZy0wMjogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDMpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdyZWd1bGFyJyksXFxuICBsaW5lLWhlaWdodDogMS41LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kYm9keS0wMjogJGJvZHktbG9uZy0wMiAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kY29kZS0wMTogKFxcbiAgZm9udC1mYW1pbHk6IGZvbnQtZmFtaWx5LmZvbnQtZmFtaWx5KCdtb25vJyksXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMSksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzLFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRjb2RlLTAyOiAoXFxuICBmb250LWZhbWlseTogZm9udC1mYW1pbHkuZm9udC1mYW1pbHkoJ21vbm8nKSxcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgyKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcsXFxuICBsZXR0ZXItc3BhY2luZzogMC4zMnB4LFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGhlYWRpbmctMDE6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgyKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnc2VtaWJvbGQnKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTZweCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRwcm9kdWN0aXZlLWhlYWRpbmctMDE6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgyKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnc2VtaWJvbGQnKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTcyLFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTZweCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRoZWFkaW5nLWNvbXBhY3QtMDE6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDEgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGhlYWRpbmctMDI6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgzKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnc2VtaWJvbGQnKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjUsXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRwcm9kdWN0aXZlLWhlYWRpbmctMDI6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgzKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnc2VtaWJvbGQnKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjM3NSxcXG4gIGxldHRlci1zcGFjaW5nOiAwLFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGhlYWRpbmctY29tcGFjdC0wMjogJHByb2R1Y3RpdmUtaGVhZGluZy0wMiAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kcHJvZHVjdGl2ZS1oZWFkaW5nLTAzOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoNSksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjQsXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRoZWFkaW5nLTAzOiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTAzICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRwcm9kdWN0aXZlLWhlYWRpbmctMDQ6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg3KSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzIsXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRoZWFkaW5nLTA0OiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTA0ICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRwcm9kdWN0aXZlLWhlYWRpbmctMDU6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg4KSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMjUsXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRoZWFkaW5nLTA1OiAkcHJvZHVjdGl2ZS1oZWFkaW5nLTA1ICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRwcm9kdWN0aXZlLWhlYWRpbmctMDY6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMCksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ2xpZ2h0JyksXFxuICAvLyBFeHRyYSBkaWdpdCBuZWVkZWQgZm9yIHByZWNpc2lvbiBpbiBDaHJvbWVcXG4gIGxpbmUtaGVpZ2h0OiAxLjE5OSxcXG4gIGxldHRlci1zcGFjaW5nOiAwLFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGhlYWRpbmctMDY6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDYgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJHByb2R1Y3RpdmUtaGVhZGluZy0wNzogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEyKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnbGlnaHQnKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjE5LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kaGVhZGluZy0wNzogJHByb2R1Y3RpdmUtaGVhZGluZy0wNyAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZXhwcmVzc2l2ZS1oZWFkaW5nLTAxOiAkaGVhZGluZy0wMSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZXhwcmVzc2l2ZS1oZWFkaW5nLTAyOiAkaGVhZGluZy0wMiAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZXhwcmVzc2l2ZS1oZWFkaW5nLTAzOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoNSksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjQsXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4gIGJyZWFrcG9pbnRzOiAoXFxuICAgIHhsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg1KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS40LFxcbiAgICApLFxcbiAgICBtYXg6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoNiksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMzM0LFxcbiAgICApLFxcbiAgKSxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRmbHVpZC1oZWFkaW5nLTAzOiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTAzICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRleHByZXNzaXZlLWhlYWRpbmctMDQ6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg3KSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzIsXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4gIGJyZWFrcG9pbnRzOiAoXFxuICAgIHhsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg4KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4yNSxcXG4gICAgICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gICAgKSxcXG4gICAgbWF4OiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDgpLFxcbiAgICAgIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgICApLFxcbiAgKSxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRmbHVpZC1oZWFkaW5nLTA0OiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTA0ICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRleHByZXNzaXZlLWhlYWRpbmctMDU6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg4KSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgncmVndWxhcicpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMjUsXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4gIGJyZWFrcG9pbnRzOiAoXFxuICAgIG1kOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDkpLFxcbiAgICAgIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnbGlnaHQnKSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4yMixcXG4gICAgKSxcXG4gICAgbGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTApLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE5LFxcbiAgICApLFxcbiAgICB4bGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTEpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE3LFxcbiAgICApLFxcbiAgICBtYXg6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTMpLFxcbiAgICApLFxcbiAgKSxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRmbHVpZC1oZWFkaW5nLTA1OiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTA1ICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRleHByZXNzaXZlLWhlYWRpbmctMDY6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg4KSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnc2VtaWJvbGQnKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuICBicmVha3BvaW50czogKFxcbiAgICBtZDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg5KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4yMixcXG4gICAgKSxcXG4gICAgbGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTApLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE5LFxcbiAgICApLFxcbiAgICB4bGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTEpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE3LFxcbiAgICApLFxcbiAgICBtYXg6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTMpLFxcbiAgICApLFxcbiAgKSxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRmbHVpZC1oZWFkaW5nLTA2OiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTA2ICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRleHByZXNzaXZlLXBhcmFncmFwaC0wMTogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDYpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdsaWdodCcpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMzM0LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuICBicmVha3BvaW50czogKFxcbiAgICBsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg3KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4yODU3MixcXG4gICAgKSxcXG4gICAgbWF4OiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDgpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1LFxcbiAgICApLFxcbiAgKSxcXG4pO1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRmbHVpZC1wYXJhZ3JhcGgtMDE6ICRleHByZXNzaXZlLXBhcmFncmFwaC0wMSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kcXVvdGF0aW9uLTAxOiAoXFxuICBmb250LWZhbWlseTogZm9udC1mYW1pbHkuZm9udC1mYW1pbHkoJ3NlcmlmJyksXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoNSksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3JlZ3VsYXInKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjMsXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4gIGJyZWFrcG9pbnRzOiAoXFxuICAgIG1kOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDUpLFxcbiAgICApLFxcbiAgICBsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg2KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4zMzQsXFxuICAgICksXFxuICAgIHhsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSg3KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4yODU3MixcXG4gICAgKSxcXG4gICAgbWF4OiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDgpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1LFxcbiAgICApLFxcbiAgKSxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRmbHVpZC1xdW90YXRpb24tMDE6ICRxdW90YXRpb24tMDEgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJHF1b3RhdGlvbi0wMjogKFxcbiAgZm9udC1mYW1pbHk6IGZvbnQtZmFtaWx5LmZvbnQtZmFtaWx5KCdzZXJpZicpLFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDgpLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdsaWdodCcpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMjUsXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4gIGJyZWFrcG9pbnRzOiAoXFxuICAgIG1kOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDkpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIyLFxcbiAgICApLFxcbiAgICBsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMCksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTksXFxuICAgICksXFxuICAgIHhsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMSksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTcsXFxuICAgICksXFxuICAgIG1heDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMyksXFxuICAgICksXFxuICApLFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGZsdWlkLXF1b3RhdGlvbi0wMjogJHF1b3RhdGlvbi0wMiAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZGlzcGxheS0wMTogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEwKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnbGlnaHQnKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjE5LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuICBicmVha3BvaW50czogKFxcbiAgICBtZDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMCksXFxuICAgICksXFxuICAgIGxnOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEyKSxcXG4gICAgKSxcXG4gICAgeGxnOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEzKSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4xNyxcXG4gICAgKSxcXG4gICAgbWF4OiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDE1KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4xMyxcXG4gICAgKSxcXG4gICksXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZmx1aWQtZGlzcGxheS0wMTogJGRpc3BsYXktMDEgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGRpc3BsYXktMDI6IChcXG4gIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMCksXFxuICBmb250LXdlaWdodDogZm9udC1mYW1pbHkuZm9udC13ZWlnaHQoJ3NlbWlib2xkJyksXFxuICBsaW5lLWhlaWdodDogMS4xOSxcXG4gIGxldHRlci1zcGFjaW5nOiAwLFxcbiAgYnJlYWtwb2ludHM6IChcXG4gICAgbWQ6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTApLFxcbiAgICApLFxcbiAgICBsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMiksXFxuICAgICksXFxuICAgIHhsZzogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxMyksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTYsXFxuICAgICksXFxuICAgIG1heDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxNSksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTMsXFxuICAgICksXFxuICApLFxcbikgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJGZsdWlkLWRpc3BsYXktMDI6ICRkaXNwbGF5LTAyICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRkaXNwbGF5LTAzOiAoXFxuICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTApLFxcbiAgZm9udC13ZWlnaHQ6IGZvbnQtZmFtaWx5LmZvbnQtd2VpZ2h0KCdsaWdodCcpLFxcbiAgbGluZS1oZWlnaHQ6IDEuMTksXFxuICBsZXR0ZXItc3BhY2luZzogMCxcXG4gIGJyZWFrcG9pbnRzOiAoXFxuICAgIG1kOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEyKSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4xOCxcXG4gICAgKSxcXG4gICAgbGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTMpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE2LFxcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42NHB4LFxcbiAgICApLFxcbiAgICB4bGc6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTUpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEzLFxcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42NHB4LFxcbiAgICApLFxcbiAgICBtYXg6IChcXG4gICAgICBmb250LXNpemU6IHNjYWxlLnR5cGUtc2NhbGUoMTYpLFxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjExLFxcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC45NnB4LFxcbiAgICApLFxcbiAgKSxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAdHlwZSBNYXBcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbiRmbHVpZC1kaXNwbGF5LTAzOiAkZGlzcGxheS0wMyAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZGlzcGxheS0wNDogKFxcbiAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDEwKSxcXG4gIGZvbnQtd2VpZ2h0OiBmb250LWZhbWlseS5mb250LXdlaWdodCgnbGlnaHQnKSxcXG4gIGxpbmUtaGVpZ2h0OiAxLjE5LFxcbiAgbGV0dGVyLXNwYWNpbmc6IDAsXFxuICBicmVha3BvaW50czogKFxcbiAgICBtZDogKFxcbiAgICAgIGZvbnQtc2l6ZTogc2NhbGUudHlwZS1zY2FsZSgxNCksXFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTUsXFxuICAgICksXFxuICAgIGxnOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDE3KSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4xMSxcXG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNjRweCxcXG4gICAgKSxcXG4gICAgeGxnOiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDIwKSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4wNyxcXG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNjRweCxcXG4gICAgKSxcXG4gICAgbWF4OiAoXFxuICAgICAgZm9udC1zaXplOiBzY2FsZS50eXBlLXNjYWxlKDIzKSxcXG4gICAgICBsaW5lLWhlaWdodDogMS4wNSxcXG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuOTZweCxcXG4gICAgKSxcXG4gICksXFxuKSAhZGVmYXVsdDtcXG5cXG4vLy8gQHR5cGUgTWFwXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG4kZmx1aWQtZGlzcGxheS0wNDogJGRpc3BsYXktMDQgIWRlZmF1bHQ7XFxuXFxuLy8vIEB0eXBlIE1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuJHRva2VuczogKFxcbiAgY2FwdGlvbi0wMTogJGNhcHRpb24tMDEsXFxuICBjYXB0aW9uLTAyOiAkY2FwdGlvbi0wMixcXG4gIGxhYmVsLTAxOiAkbGFiZWwtMDEsXFxuICBsYWJlbC0wMjogJGxhYmVsLTAyLFxcbiAgaGVscGVyLXRleHQtMDE6ICRoZWxwZXItdGV4dC0wMSxcXG4gIGhlbHBlci10ZXh0LTAyOiAkaGVscGVyLXRleHQtMDIsXFxuICBib2R5LXNob3J0LTAxOiAkYm9keS1zaG9ydC0wMSxcXG4gIGJvZHktc2hvcnQtMDI6ICRib2R5LXNob3J0LTAyLFxcbiAgYm9keS1sb25nLTAxOiAkYm9keS1sb25nLTAxLFxcbiAgYm9keS1sb25nLTAyOiAkYm9keS1sb25nLTAyLFxcbiAgY29kZS0wMTogJGNvZGUtMDEsXFxuICBjb2RlLTAyOiAkY29kZS0wMixcXG4gIGhlYWRpbmctMDE6ICRoZWFkaW5nLTAxLFxcbiAgaGVhZGluZy0wMjogJGhlYWRpbmctMDIsXFxuICBwcm9kdWN0aXZlLWhlYWRpbmctMDE6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDEsXFxuICBwcm9kdWN0aXZlLWhlYWRpbmctMDI6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDIsXFxuICBwcm9kdWN0aXZlLWhlYWRpbmctMDM6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDMsXFxuICBwcm9kdWN0aXZlLWhlYWRpbmctMDQ6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDQsXFxuICBwcm9kdWN0aXZlLWhlYWRpbmctMDU6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDUsXFxuICBwcm9kdWN0aXZlLWhlYWRpbmctMDY6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDYsXFxuICBwcm9kdWN0aXZlLWhlYWRpbmctMDc6ICRwcm9kdWN0aXZlLWhlYWRpbmctMDcsXFxuICBleHByZXNzaXZlLXBhcmFncmFwaC0wMTogJGV4cHJlc3NpdmUtcGFyYWdyYXBoLTAxLFxcbiAgZXhwcmVzc2l2ZS1oZWFkaW5nLTAxOiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTAxLFxcbiAgZXhwcmVzc2l2ZS1oZWFkaW5nLTAyOiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTAyLFxcbiAgZXhwcmVzc2l2ZS1oZWFkaW5nLTAzOiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTAzLFxcbiAgZXhwcmVzc2l2ZS1oZWFkaW5nLTA0OiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTA0LFxcbiAgZXhwcmVzc2l2ZS1oZWFkaW5nLTA1OiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTA1LFxcbiAgZXhwcmVzc2l2ZS1oZWFkaW5nLTA2OiAkZXhwcmVzc2l2ZS1oZWFkaW5nLTA2LFxcbiAgcXVvdGF0aW9uLTAxOiAkcXVvdGF0aW9uLTAxLFxcbiAgcXVvdGF0aW9uLTAyOiAkcXVvdGF0aW9uLTAyLFxcbiAgZGlzcGxheS0wMTogJGRpc3BsYXktMDEsXFxuICBkaXNwbGF5LTAyOiAkZGlzcGxheS0wMixcXG4gIGRpc3BsYXktMDM6ICRkaXNwbGF5LTAzLFxcbiAgZGlzcGxheS0wNDogJGRpc3BsYXktMDQsXFxuICAvLyBWMTEgVG9rZW5zXFxuICBsZWdhbC0wMTogJGxlZ2FsLTAxLFxcbiAgbGVnYWwtMDI6ICRsZWdhbC0wMixcXG4gIGJvZHktY29tcGFjdC0wMTogJGJvZHktY29tcGFjdC0wMSxcXG4gIGJvZHktY29tcGFjdC0wMjogJGJvZHktY29tcGFjdC0wMixcXG4gIGhlYWRpbmctY29tcGFjdC0wMTogJGhlYWRpbmctY29tcGFjdC0wMSxcXG4gIGhlYWRpbmctY29tcGFjdC0wMjogJGhlYWRpbmctY29tcGFjdC0wMixcXG4gIGJvZHktMDE6ICRib2R5LTAxLFxcbiAgYm9keS0wMjogJGJvZHktMDIsXFxuICBoZWFkaW5nLTAzOiAkaGVhZGluZy0wMyxcXG4gIGhlYWRpbmctMDQ6ICRoZWFkaW5nLTA0LFxcbiAgaGVhZGluZy0wNTogJGhlYWRpbmctMDUsXFxuICBoZWFkaW5nLTA2OiAkaGVhZGluZy0wNixcXG4gIGhlYWRpbmctMDc6ICRoZWFkaW5nLTA3LFxcbiAgZmx1aWQtaGVhZGluZy0wMzogJGZsdWlkLWhlYWRpbmctMDMsXFxuICBmbHVpZC1oZWFkaW5nLTA0OiAkZmx1aWQtaGVhZGluZy0wNCxcXG4gIGZsdWlkLWhlYWRpbmctMDU6ICRmbHVpZC1oZWFkaW5nLTA1LFxcbiAgZmx1aWQtaGVhZGluZy0wNjogJGZsdWlkLWhlYWRpbmctMDYsXFxuICBmbHVpZC1wYXJhZ3JhcGgtMDE6ICRmbHVpZC1wYXJhZ3JhcGgtMDEsXFxuICBmbHVpZC1xdW90YXRpb24tMDE6ICRmbHVpZC1xdW90YXRpb24tMDEsXFxuICBmbHVpZC1xdW90YXRpb24tMDI6ICRmbHVpZC1xdW90YXRpb24tMDIsXFxuICBmbHVpZC1kaXNwbGF5LTAxOiAkZmx1aWQtZGlzcGxheS0wMSxcXG4gIGZsdWlkLWRpc3BsYXktMDI6ICRmbHVpZC1kaXNwbGF5LTAyLFxcbiAgZmx1aWQtZGlzcGxheS0wMzogJGZsdWlkLWRpc3BsYXktMDMsXFxuICBmbHVpZC1kaXNwbGF5LTA0OiAkZmx1aWQtZGlzcGxheS0wNCxcXG4pICFkZWZhdWx0O1xcblxcbi8vLyBAcGFyYW0ge01hcH0gJG1hcFxcbi8vLyBAYWNjZXNzIHB1YmxpY1xcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuQG1peGluIHByb3BlcnRpZXMoJG1hcCkge1xcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbWFwIHtcXG4gICAgI3skbmFtZX06ICR2YWx1ZTtcXG4gIH1cXG59XFxuXFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBOdW1iZXIgd2l0aCB1bml0c1xcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFdpdGhvdXQgdW5pdHNcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbkBmdW5jdGlvbiBzdHJpcC11bml0KCR2YWx1ZSkge1xcbiAgQHJldHVybiBtYXRoLmRpdigkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKTtcXG59XFxuXFxuLy8vIFRoaXMgaGVscGVyIGluY2x1ZGVzIGZsdWlkIHR5cGUgc3R5bGVzIGZvciB0aGUgZ2l2ZW4gdG9rZW4gdmFsdWUuIEZsdWlkIHR5cGVcXG4vLy8gbWVhbnMgdGhhdCB0aGUgYGZvbnQtc2l6ZWAgaXMgY29tcHV0ZWQgdXNpbmcgYGNhbGMoKWAgaW4gb3JkZXIgdG8gYmVcXG4vLy8gZGV0ZXJtaW5lZCBieSB0aGUgc2NyZWVuIHNpemUgaW5zdGVhZCBvZiBhIGJyZWFrcG9pbnQuIEFzIGEgcmVzdWx0LCBmbHVpZFxcbi8vLyBzdHlsZXMgc2hvdWxkIGJlIHVzZWQgd2l0aCBjYXV0aW9uIGluIGZpeGVkIHdpZHRoIGNvbnRleHRzLlxcbi8vL1xcbi8vLyBJbiBhZGRpdGlvbiwgd2UgbWFrZSB1c2Ugb2YgJS1iYXNlZCBsaW5lLWhlaWdodHMgc28gdGhhdCB0aGUgbGluZS1oZWlnaHQgb2ZcXG4vLy8gZWFjaCB0eXBlIHN0eWxlIGlzIGNvbXB1dGVkIGNvcnJlY3RseSBkdWUgdG8gdGhlIGR5bmFtaWMgbmF0dXJlIG9mIHRoZVxcbi8vLyBgZm9udC1zaXplYC5cXG4vLy9cXG4vLy8gTW9zdCBvZiB0aGUgbG9naWMgZm9yIHRoaXMgd29yayBjb21lcyBmcm9tIENTUyBUcmlja3M6XFxuLy8vIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvY3NzL2ZsdWlkLXR5cG9ncmFwaHkvXFxuLy8vXFxuLy8vIEBwYXJhbSB7TWFwfSAkdHlwZS1zdHlsZXMgLSBUaGUgdmFsdWUgb2YgYSBnaXZlbiB0eXBlIHRva2VuXFxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRncmlkLWJyZWFrcG9pbnRzXSAtIEN1c3RvbSBicmVha3BvaW50cyB0byB1c2VcXG4vLy8gQGFjY2VzcyBwdWJsaWNcXG4vLy8gQGdyb3VwIEBjYXJib24vdHlwZVxcbkBtaXhpbiBmbHVpZC10eXBlKCR0eXBlLXN0eWxlcywgJGJyZWFrcG9pbnRzOiBncmlkY29uZmlnLiRncmlkLWJyZWFrcG9pbnRzKSB7XFxuICAvLyBJbmNsdWRlIHRoZSBpbml0aWFsIHN0eWxlcyBmb3IgdGhlIGdpdmVuIHRva2VuIGJ5IGRlZmF1bHQgd2l0aG91dCBhbnlcXG4gIC8vIG1lZGlhIHF1ZXJ5IGd1YXJkLiBUaGlzIGluY2x1ZGVzIGBmb250LXNpemVgIGFzIGEgZmFsbGJhY2sgaW4gdGhlIGNhc2VcXG4gIC8vIHRoYXQgYSBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgYGNhbGMoKWBcXG4gIEBpbmNsdWRlIHByb3BlcnRpZXMobWFwLnJlbW92ZSgkdHlwZS1zdHlsZXMsIGJyZWFrcG9pbnRzKSk7XFxuICAvLyBXZSBhbHNvIG5lZWQgdG8gaW5jbHVkZSB0aGUgYHNtYCBzdHlsZXMgYnkgZGVmYXVsdCBzaW5jZSB0aGV5IGRvbid0XFxuICAvLyBhcHBlYXIgaW4gdGhlIGZsdWlkIHN0eWxlcyBmb3IgdG9rZW5zXFxuICBAaW5jbHVkZSBmbHVpZC10eXBlLXNpemUoJHR5cGUtc3R5bGVzLCBzbSwgJGJyZWFrcG9pbnRzKTtcXG5cXG4gIC8vIEZpbmFsbHksIHdlIG5lZWQgdG8gZ28gdGhyb3VnaCBhbGwgdGhlIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gdGhlIHR5cGVcXG4gIC8vIHRva2VuIGFuZCBhcHBseSB0aGUgcHJvcGVydGllcyBhbmQgZmx1aWQgdHlwZSBzaXplIGZvciB0aGF0IGdpdmVuXFxuICAvLyBicmVha3BvaW50XFxuICBAZWFjaCAkbmFtZSwgJHZhbHVlcyBpbiBtYXAuZ2V0KCR0eXBlLXN0eWxlcywgYnJlYWtwb2ludHMpIHtcXG4gICAgQGluY2x1ZGUgZ3JpZC5icmVha3BvaW50KCRuYW1lKSB7XFxuICAgICAgQGluY2x1ZGUgcHJvcGVydGllcygkdmFsdWVzKTtcXG4gICAgICBAaW5jbHVkZSBmbHVpZC10eXBlLXNpemUoJHR5cGUtc3R5bGVzLCAkbmFtZSwgJGJyZWFrcG9pbnRzKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4vLy8gQ29tcHV0ZXMgdGhlIGZsdWlkIGBmb250LXNpemVgIGZvciBhIGdpdmVuIHR5cGUgc3R5bGUgYW5kIGJyZWFrcG9pbnRcXG4vLy8gQHBhcmFtIHtNYXB9ICR0eXBlLXN0eWxlcyAtIFRoZSBzdHlsZXMgZm9yIGEgZ2l2ZW4gdG9rZW5cXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgdG8gd2hpY2ggd2UgYXBwbHkgdGhlIGZsdWlkXFxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRncmlkLWJyZWFrcG9pbnRzXSAtIFRoZSBicmVha3BvaW50cyBmb3IgdGhlIGdyaWQgc3lzdGVtXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG5AbWl4aW4gZmx1aWQtdHlwZS1zaXplKFxcbiAgJHR5cGUtc3R5bGVzLFxcbiAgJG5hbWUsXFxuICAkYnJlYWtwb2ludHM6IGdyaWRjb25maWcuJGdyaWQtYnJlYWtwb2ludHNcXG4pIHtcXG4gIC8vIEdldCB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGJyZWFrcG9pbnQgd2UncmUgY3VycmVudGx5IHdvcmtpbmcgaW4uIFVzZWZ1bFxcbiAgLy8gZm9yIGdldHRpbmcgaW5pdGlhbCB3aWR0aCBpbmZvcm1hdGlvblxcbiAgJGJyZWFrcG9pbnQ6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XFxuXFxuICAvLyBPdXIgZmx1aWQgc3R5bGVzIGFyZSBjYXB0dXJlZCB1bmRlciB0aGUgJ2JyZWFrcG9pbnRzJyBwcm9wZXJ0eSBpbiBvdXIgdHlwZVxcbiAgLy8gc3R5bGVzIG1hcC4gVGhlc2UgZGVmaW5lIHdoYXQgdmFsdWVzIHRvIHRyZWF0IGFzIGBtYXgtYCB2YXJpYWJsZXMgYmVsb3dcXG4gICRmbHVpZC1zaXplczogbWFwLmdldCgkdHlwZS1zdHlsZXMsIGJyZWFrcG9pbnRzKTtcXG4gICRmbHVpZC1icmVha3BvaW50OiAoKTtcXG4gIC8vIFNwZWNpYWwgY2FzZSBmb3IgYHNtYCBiZWNhdXNlIHRoZSBzdHlsZXMgZm9yIHNtYWxsIGFyZSBvbiB0aGUgdHlwZSBzdHlsZVxcbiAgLy8gZGlyZWN0bHlcXG4gIEBpZiAkbmFtZSA9PSBzbSB7XFxuICAgICRmbHVpZC1icmVha3BvaW50OiBtYXAucmVtb3ZlKCR0eXBlLXN0eWxlcywgYnJlYWtwb2ludHMpO1xcbiAgfSBAZWxzZSB7XFxuICAgICRmbHVpZC1icmVha3BvaW50OiBtYXAuZ2V0KCRmbHVpZC1zaXplcywgJG5hbWUpO1xcbiAgfVxcblxcbiAgLy8gSW5pdGlhbGl6ZSBvdXIgZm9udC1zaXplcyB0byB0aGUgZGVmYXVsdCBzaXplIGZvciB0aGUgdHlwZSBzdHlsZVxcbiAgJG1heC1mb250LXNpemU6IG1hcC5nZXQoJHR5cGUtc3R5bGVzLCBmb250LXNpemUpO1xcbiAgJG1pbi1mb250LXNpemU6IG1hcC5nZXQoJHR5cGUtc3R5bGVzLCBmb250LXNpemUpO1xcbiAgQGlmIG1hcC5oYXMta2V5KCRmbHVpZC1icmVha3BvaW50LCBmb250LXNpemUpIHtcXG4gICAgJG1pbi1mb250LXNpemU6IG1hcC5nZXQoJGZsdWlkLWJyZWFrcG9pbnQsIGZvbnQtc2l6ZSk7XFxuICB9XFxuXFxuICAvLyBJbml0aWFsaXplIG91ciBtaW4gYW5kIG1heCB3aWR0aCB0byB0aGUgd2lkdGggb2YgdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxcbiAgJG1heC12dzogbWFwLmdldCgkYnJlYWtwb2ludCwgd2lkdGgpO1xcbiAgJG1pbi12dzogbWFwLmdldCgkYnJlYWtwb2ludCwgd2lkdGgpO1xcblxcbiAgLy8gV2UgY2FuIHVzZSBgYnJlYWtwb2ludC1uZXh0YCB0byBzZWUgaWYgdGhlcmUgaXMgYW5vdGhlciBicmVha3BvaW50IHdlIGNhblxcbiAgLy8gdXNlIHRvIHVwZGF0ZSBgbWF4LWZvbnQtc2l6ZWAgYW5kIGBtYXgtdndgIHdpdGggbGFyZ2VyIHZhbHVlc1xcbiAgJG5leHQtYnJlYWtwb2ludC1hdmFpbGFibGU6IGdyaWQuYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xcbiAgJG5leHQtZmx1aWQtYnJlYWtwb2ludC1uYW1lOiBudWxsO1xcblxcbiAgLy8gV2UgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQgdGhlIG5leHQgYXZhaWxhYmxlIGZsdWlkIGJyZWFrcG9pbnQgaXMgZm9yIG91clxcbiAgLy8gZ2l2ZW4gJHR5cGUtc3R5bGVzLiBJbiB0aGlzIGxvb3Agd2UgdHJ5IGFuZCBpdGVyYXRlIHRocm91Z2ggYnJlYWtwb2ludHNcXG4gIC8vIHVudGlsIHdlIGVpdGhlciBtYW51YWxseSBzZXQgJG5leHQtYnJlYWtwb2ludC1hdmFpbGFibGUgdG8gbnVsbCBvclxcbiAgLy8gYGJyZWFrcG9pbnQtbmV4dGAgcmV0dXJucyBudWxsLlxcbiAgQHdoaWxlICRuZXh0LWJyZWFrcG9pbnQtYXZhaWxhYmxlIHtcXG4gICAgQGlmIG1hcC5oYXMta2V5KCRmbHVpZC1zaXplcywgJG5leHQtYnJlYWtwb2ludC1hdmFpbGFibGUpIHtcXG4gICAgICAkbmV4dC1mbHVpZC1icmVha3BvaW50LW5hbWU6ICRuZXh0LWJyZWFrcG9pbnQtYXZhaWxhYmxlO1xcbiAgICAgICRuZXh0LWJyZWFrcG9pbnQtYXZhaWxhYmxlOiBudWxsO1xcbiAgICB9IEBlbHNlIHtcXG4gICAgICAkbmV4dC1icmVha3BvaW50LWF2YWlsYWJsZTogZ3JpZC5icmVha3BvaW50LW5leHQoXFxuICAgICAgICAkbmV4dC1icmVha3BvaW50LWF2YWlsYWJsZSxcXG4gICAgICAgICRicmVha3BvaW50c1xcbiAgICAgICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC8vIElmIHdlIGhhdmUgZm91bmQgdGhlIG5leHQgYXZhaWxhYmxlIGZsdWlkIGJyZWFrcG9pbnQgbmFtZSwgdGhlbiB3ZSBrbm93XFxuICAvLyB0aGF0IHdlIGhhdmUgdmFsdWVzIHRoYXQgd2UgY2FuIHVzZSB0byBzZXQgbWF4LWZvbnQtc2l6ZSBhbmQgbWF4LXZ3IGFzIGJvdGhcXG4gIC8vIHZhbHVlcyBkZXJpdmUgZnJvbSB0aGUgbmV4dCBicmVha3BvaW50XFxuICBAaWYgJG5leHQtZmx1aWQtYnJlYWtwb2ludC1uYW1lIHtcXG4gICAgJG5leHQtZmx1aWQtYnJlYWtwb2ludDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRuZXh0LWZsdWlkLWJyZWFrcG9pbnQtbmFtZSk7XFxuICAgICRtYXgtZm9udC1zaXplOiBtYXAuZ2V0KFxcbiAgICAgIG1hcC5nZXQoJGZsdWlkLXNpemVzLCAkbmV4dC1mbHVpZC1icmVha3BvaW50LW5hbWUpLFxcbiAgICAgIGZvbnQtc2l6ZVxcbiAgICApO1xcbiAgICAkbWF4LXZ3OiBtYXAuZ2V0KCRuZXh0LWZsdWlkLWJyZWFrcG9pbnQsIHdpZHRoKTtcXG5cXG4gICAgLy8gcHJldHRpZXItaWdub3JlXFxuICAgIGZvbnQtc2l6ZTogY2FsYygjeyRtaW4tZm9udC1zaXplfSArXFxuICAgICAgI3tzdHJpcC11bml0KCRtYXgtZm9udC1zaXplIC0gJG1pbi1mb250LXNpemUpfSAqXFxuICAgICAgKCgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcC11bml0KCRtYXgtdncgLSAkbWluLXZ3KX0pXFxuICAgICk7XFxuICB9IEBlbHNlIHtcXG4gICAgLy8gT3RoZXJ3aXNlLCBqdXN0IGRlZmF1bHQgdG8gc2V0dGluZyB0aGUgZm9udCBzaXplIGZvdW5kIGZyb20gdGhlIHR5cGVcXG4gICAgLy8gc3R5bGUgb3IgdGhlIGdpdmVuIGZsdWlkIGJyZWFrcG9pbnQgaW4gdGhlIHR5cGUgc3R5bGVcXG4gICAgZm9udC1zaXplOiAkbWluLWZvbnQtc2l6ZTtcXG4gIH1cXG59XFxuXFxuLy8gVE9ETyBtb3ZlIGZvbGxvd2luZyB2YXJpYWJsZSBhbmQgYGN1c3RvbS1wcm9wZXJ0eWAgbWl4aW4gaW50byBzaGFyZWQgZmlsZSBmb3JcXG4vLyBib3RoIGBAY2FyYm9uL3R5cGVgIGFuZCBgQGNhcmJvbi90aGVtZXNgXFxuXFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxcbi8vLyBAZ3JvdXAgQGNhcmJvbi90eXBlXFxuQG1peGluIGN1c3RvbS1wcm9wZXJ0aWVzKCRuYW1lLCAkdmFsdWUpIHtcXG4gIEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICR2YWx1ZSB7XFxuICAgICN7JHByb3BlcnR5fTogdmFyKFxcbiAgICAgIC0tI3skY3VzdG9tLXByb3BlcnR5LXByZWZpeH0tI3skbmFtZX0tI3skcHJvcGVydHl9LFxcbiAgICAgICN7JHZhbHVlfVxcbiAgICApO1xcbiAgfVxcbn1cXG5cXG4vLy8gSGVscGVyIG1peGluIHRvIGluY2x1ZGUgdGhlIHN0eWxlcyBmb3IgYSBnaXZlbiB0b2tlbiBpbiBhbnkgc2VsZWN0b3IgaW4geW91clxcbi8vLyBwcm9qZWN0LiBBbHNvIGluY2x1ZGVzIGFuIG9wdGlvbmFsIGZsdWlkIG9wdGlvbiB0aGF0IHdpbGwgZW5hYmxlIGZsdWlkXFxuLy8vIHN0eWxlcyBmb3IgdGhlIHRva2VuIGlmIHRoZXkgYXJlIGRlZmluZWQuIEZsdWlkIHN0eWxlcyB3aWxsIGNhdXNlIHRoZVxcbi8vLyB0b2tlbidzIGZvbnQtc2l6ZSB0byBiZSBjb21wdXRlZCBiYXNlZCBvbiB0aGUgdmlld3BvcnQgc2l6ZS4gQXMgYSByZXN1bHQsIHVzZVxcbi8vLyB3aXRoIGNhdXRpb24gaW4gZml4ZWQgY29udGV4dHMuXFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0b2tlbiB0byBnZXQgdGhlIHN0eWxlcyBmb3JcXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmx1aWQgW2ZhbHNlXSAtIFNwZWNpZnkgd2hldGhlciB0byBpbmNsdWRlIGZsdWlkIHN0eWxlcyBmb3IgdGhlXFxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRncmlkLWJyZWFrcG9pbnRzXSAtIFByb3ZpZGUgYSBjdXN0b20gYnJlYWtwb2ludCBtYXAgdG8gdXNlXFxuLy8vIEBhY2Nlc3MgcHVibGljXFxuLy8vIEBncm91cCBAY2FyYm9uL3R5cGVcXG5AbWl4aW4gdHlwZS1zdHlsZShcXG4gICRuYW1lLFxcbiAgJGZsdWlkOiBmYWxzZSxcXG4gICRicmVha3BvaW50czogZ3JpZGNvbmZpZy4kZ3JpZC1icmVha3BvaW50c1xcbikge1xcbiAgQGlmIG5vdCBtYXAuaGFzLWtleSgkdG9rZW5zLCAkbmFtZSkge1xcbiAgICBAZXJyb3IgJ1VuYWJsZSB0byBmaW5kIGEgdG9rZW4gd2l0aCB0aGUgbmFtZTogYCN7JG5hbWV9YCc7XFxuICB9XFxuXFxuICAkdG9rZW46IG1hcC5nZXQoJHRva2VucywgJG5hbWUpO1xcblxcbiAgLy8gSWYgJGZsdWlkIGlzIHNldCB0byB0cnVlIGFuZCB0aGUgdG9rZW4gaGFzIGJyZWFrcG9pbnRzIGRlZmluZWQgZm9yIGZsdWlkXFxuICAvLyBzdHlsZXMsIGRlbGVnYXRlIHRvIHRoZSBmbHVpZC10eXBlIGhlbHBlciBmb3IgdGhlIGdpdmVuIHRva2VuXFxuICBAaWYgJGZsdWlkID09IHRydWUgYW5kIG1hcC5oYXMta2V5KCR0b2tlbiwgJ2JyZWFrcG9pbnRzJykge1xcbiAgICBAaW5jbHVkZSBmbHVpZC10eXBlKCR0b2tlbiwgJGJyZWFrcG9pbnRzKTtcXG4gIH0gQGVsc2Uge1xcbiAgICBAaW5jbHVkZSBjdXN0b20tcHJvcGVydGllcygkbmFtZSwgJHRva2VuKTtcXG4gIH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5sb2NhbHMgPSB7XG5cdFwid29ya3NwYWNlT3V0ZXJDb250YWluZXJcIjogXCJiUHdUc09Zd3ZHYjlMK1VxOUUxeERBPT1cIixcblx0XCJuYXJyb3dXb3Jrc3BhY2VcIjogXCJMUE1QTU5DS0sxaGNiNHpuOXNET0dBPT1cIixcblx0XCJ3aWRlcldvcmtzcGFjZVwiOiBcIndYOHNYcktIQnFjdkFWTWtKNHYwa0E9PVwiLFxuXHRcImV4dHJhV2lkZVdvcmtzcGFjZVwiOiBcIl8xbVorNzh5Y3FRRFRXRGlvVXVLOW9BPT1cIixcblx0XCJ3b3Jrc3BhY2VNaWRkbGVDb250YWluZXJcIjogXCJFRnY1aXl3NG9EQ0dHVjlZOVpFZndRPT1cIixcblx0XCJtYXhpbWl6ZWRcIjogXCJfNmFDSkFxUUVGQjJSaFpIem9MUkREUT09XCIsXG5cdFwiaGlkZGVuXCI6IFwiWVZXOFdJYTFTcWp3TDFBQ2wzSVQ4QT09XCIsXG5cdFwid29ya3NwYWNlSW5uZXJDb250YWluZXJcIjogXCJ4ZzRiT2o2TndQb29QSWFPWFBDS0JnPT1cIixcblx0XCJ3b3Jrc3BhY2VTcGFjZXJcIjogXCJGWFk4Q3lna0FJeEY5emNXMnlHU3ZnPT1cIixcblx0XCJsb2FkZXJcIjogXCItUGRDTE9mWFZUU2loTmVUZTJaY0VRPT1cIixcblx0XCJoaWRkZW5FeHRyYVdvcmtzcGFjZVwiOiBcIkNkNDErNENUYktGejl4WHRvZ1EwOFE9PVwiLFxuXHRcImhlYWRlclwiOiBcIl83NStLOHVkT1YtY3FDa0drQUdJajZ3PT1cIixcblx0XCJoZWFkZXJCdXR0b25zXCI6IFwiQXVycXpVWjMzT1R5OHpHOG1qK3J1Zz09XCIsXG5cdFwid29ya3NwYWNlQ29udGVudFwiOiBcIlhZcDY3cWRTcU5ZUGFvTTlmQ2JMaGc9PVwiLFxuXHRcIm92ZXJsYXlIZWFkZXJTcGFjZXJcIjogXCJfNFdwMW04SFlUNzRIYmwtbWFDWU9hQT09XCIsXG5cdFwiaXNBY3Rpb25NZW51T3BlbmVkXCI6IFwidURuLVZiNHd2WUQtUmkyWHN5UTN5dz09XCIsXG5cdFwic2hvd0FjdGlvbk1lbnVcIjogXCJfNHgtN1NhRUUtVEJNWjcyRlpzM2poZz09XCIsXG5cdFwibWFyZ2luV29ya3NwYWNlQ29udGVudFwiOiBcIlg0STdNckFRRkhUNGpWMG9jRmhxTWc9PVwiLFxuXHRcIndvcmtzcGFjZUNvbnRhaW5lcldpdGhBY3Rpb25NZW51XCI6IFwiXzhXaXhCUklZMWJrZ1V1cnlXdWU2UVE9PVwiLFxuXHRcIndvcmtzcGFjZUZpeGVkQ29udGFpbmVyXCI6IFwiUW40VHlXSnJLa05Lc1A3aUVscUZBdz09XCIsXG5cdFwid29ya3NwYWNlQ29udGFpbmVyV2l0aG91dEFjdGlvbk1lbnVcIjogXCJfNExhQm9McWE5TWR1ZHMxT1hWNVNxUT09XCJcbn07XG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ2tJO0FBQzdCO0FBQ3JHLDhCQUE4Qix1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\n//# sourceURL=webpack-internal:///../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../framework/esm-styleguide/dist/workspaces2/workspace2.module.scss\n\n}");
120
120
 
121
121
  },
122
122
  "../../framework/esm-styleguide/dist/cards/card-header.module.scss"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
@@ -601,7 +601,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webp
601
601
  },
602
602
  "../../framework/esm-styleguide/dist/internal.js"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
603
603
  "use strict";
604
- eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n ActionMenuButton2: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.ActionMenuButton2),\n ActionableNotificationComponent: () => (/* reexport safe */ _notifications_actionable_notification_component_js__rspack_import_15.ActionableNotificationComponent),\n ActivityIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ActivityIcon),\n AddIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.AddIcon),\n AllergiesIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.AllergiesIcon),\n AppointmentsAltPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.AppointmentsAltPictogram),\n AppointmentsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.AppointmentsPictogram),\n ArrowDownIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ArrowDownIcon),\n ArrowLeftIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ArrowLeftIcon),\n ArrowRightIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ArrowRightIcon),\n ArrowUpIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ArrowUpIcon),\n Assessment1Pictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.Assessment1Pictogram),\n Assessment2Pictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.Assessment2Pictogram),\n AttachmentIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.AttachmentIcon),\n BabyIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.BabyIcon),\n BloodBankPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.BloodBankPictogram),\n Breakpoint: () => (/* reexport safe */ _breakpoints_index_js__rspack_import_0.Breakpoint),\n CalendarHeatMapIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CalendarHeatMapIcon),\n CalendarIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CalendarIcon),\n CardHeader: () => (/* reexport safe */ _cards_index_js__rspack_import_1.CardHeader),\n CardiologyPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.CardiologyPictogram),\n CaretDownIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CaretDownIcon),\n CaretLeftIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CaretLeftIcon),\n CaretRightIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CaretRightIcon),\n CaretUpIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CaretUpIcon),\n ChartAverageIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChartAverageIcon),\n ChartLineIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChartLineIcon),\n CheckmarkFilledIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CheckmarkFilledIcon),\n CheckmarkOutlineIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CheckmarkOutlineIcon),\n ChemistryIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChemistryIcon),\n ChevronDownIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChevronDownIcon),\n ChevronLeftIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChevronLeftIcon),\n ChevronRightIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChevronRightIcon),\n ChevronUpIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChevronUpIcon),\n CloseFilledIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CloseFilledIcon),\n CloseIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CloseIcon),\n CloseOutlineIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CloseOutlineIcon),\n CohortsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.CohortsPictogram),\n ConceptDictionaryPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.ConceptDictionaryPictogram),\n ConditionsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ConditionsIcon),\n CtScanPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.CtScanPictogram),\n CustomOverflowMenu: () => (/* reexport safe */ _custom_overflow_menu_index_js__rspack_import_4.CustomOverflowMenu),\n CustomOverflowMenuItem: () => (/* reexport safe */ _custom_overflow_menu_index_js__rspack_import_4.CustomOverflowMenuItem),\n DashboardExtension: () => (/* reexport safe */ _dashboard_extension_index_js__rspack_import_5.DashboardExtension),\n DataEntryPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.DataEntryPictogram),\n DentistryPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.DentistryPictogram),\n DiagnosisTags: () => (/* reexport safe */ _diagnosis_tags_index_js__rspack_import_7.DiagnosisTags),\n DigitalTrustPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.DigitalTrustPictogram),\n DocumentAttachmentIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.DocumentAttachmentIcon),\n DocumentIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.DocumentIcon),\n DownloadIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.DownloadIcon),\n DrugOrderIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.DrugOrderIcon),\n EditIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.EditIcon),\n EmergencyDepartmentPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.EmergencyDepartmentPictogram),\n EmptyCard: () => (/* reexport safe */ _empty_card_index_js__rspack_import_8.EmptyCard),\n EmptyCardIllustration: () => (/* reexport safe */ _empty_card_index_js__rspack_import_8.EmptyCardIllustration),\n ErrorCard: () => (/* reexport safe */ _error_state_index_js__rspack_import_9.ErrorCard),\n ErrorState: () => (/* reexport safe */ _error_state_index_js__rspack_import_9.ErrorState),\n EventScheduleIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.EventScheduleIcon),\n EventsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.EventsIcon),\n ExportedWorkspace: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.ExportedWorkspace),\n FacilityPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.FacilityPictogram),\n GenderFemaleIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GenderFemaleIcon),\n GenderMaleIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GenderMaleIcon),\n GenderOtherIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GenderOtherIcon),\n GenderUnknownIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GenderUnknownIcon),\n GenericOrderTypeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GenericOrderTypeIcon),\n GeriatricsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.GeriatricsPictogram),\n GroupAccessIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GroupAccessIcon),\n GroupIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GroupIcon),\n GynaecologyPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.GynaecologyPictogram),\n HomePictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.HomePictogram),\n HospitalBedIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.HospitalBedIcon),\n Icon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.Icon),\n ImageMedicalIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ImageMedicalIcon),\n InPatientPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.InPatientPictogram),\n InformationFilledIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.InformationFilledIcon),\n InformationIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.InformationIcon),\n InformationSquareIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.InformationSquareIcon),\n InventoryManagementIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.InventoryManagementIcon),\n LabOrderIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.LabOrderIcon),\n LaboratoryPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.LaboratoryPictogram),\n Labs2Pictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.Labs2Pictogram),\n LeftNavMenu: () => (/* reexport safe */ _left_nav_index_js__rspack_import_11.LeftNavMenu),\n ListCheckedIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ListCheckedIcon),\n LocationIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.LocationIcon),\n LocationPicker: () => (/* reexport safe */ _location_picker_index_js__rspack_import_12.LocationPicker),\n MaterialOrderIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MaterialOrderIcon),\n MaximizeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MaximizeIcon),\n MaybeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MaybeIcon),\n MaybePictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.MaybePictogram),\n MedicationIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MedicationIcon),\n MessageQueueIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MessageQueueIcon),\n MetadataExportPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.MetadataExportPictogram),\n MicroscopeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MicroscopeIcon),\n MobileCheckIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MobileCheckIcon),\n MoneyIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MoneyIcon),\n MotherIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MotherIcon),\n MovementIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MovementIcon),\n Notification: () => (/* reexport safe */ _notifications_notification_component_js__rspack_import_16.Notification),\n NumericObservation: () => (/* reexport safe */ _numeric_observation_numeric_observation_component_js__rspack_import_17.NumericObservation),\n ObstetricsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.ObstetricsPictogram),\n OpenmrsDatePicker: () => (/* reexport safe */ _datepicker_index_js__rspack_import_6.OpenmrsDatePicker),\n OpenmrsDateRangePicker: () => (/* reexport safe */ _datepicker_index_js__rspack_import_6.OpenmrsDateRangePicker),\n OverflowMenuHorizontalIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.OverflowMenuHorizontalIcon),\n OverflowMenuVerticalIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.OverflowMenuVerticalIcon),\n PageHeader: () => (/* reexport safe */ _page_header_index_js__rspack_import_18.PageHeader),\n PageHeaderContent: () => (/* reexport safe */ _page_header_index_js__rspack_import_18.PageHeaderContent),\n Pagination: () => (/* reexport safe */ _pagination_index_js__rspack_import_19.Pagination),\n PasswordIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.PasswordIcon),\n PatientBannerActionsMenu: () => (/* reexport safe */ _patient_banner_index_js__rspack_import_20.PatientBannerActionsMenu),\n PatientBannerContactDetails: () => (/* reexport safe */ _patient_banner_index_js__rspack_import_20.PatientBannerContactDetails),\n PatientBannerPatientIdentifiers: () => (/* reexport safe */ _patient_banner_index_js__rspack_import_20.PatientBannerPatientIdentifiers),\n PatientBannerPatientInfo: () => (/* reexport safe */ _patient_banner_index_js__rspack_import_20.PatientBannerPatientInfo),\n PatientBannerToggleContactDetailsButton: () => (/* reexport safe */ _patient_banner_index_js__rspack_import_20.PatientBannerToggleContactDetailsButton),\n PatientDocumentsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PatientDocumentsPictogram),\n PatientListsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PatientListsPictogram),\n PatientPhoto: () => (/* reexport safe */ _patient_photo_index_js__rspack_import_21.PatientPhoto),\n PatientSearchPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PatientSearchPictogram),\n PatientsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PatientsPictogram),\n PaymentsDeskPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PaymentsDeskPictogram),\n PedestrianFamilyIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.PedestrianFamilyIcon),\n PenIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.PenIcon),\n Pharmacy2Pictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.Pharmacy2Pictogram),\n PharmacyPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PharmacyPictogram),\n Pictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.Pictogram),\n PrinterIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.PrinterIcon),\n ProcedureOrderIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ProcedureOrderIcon),\n ProgramsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ProgramsIcon),\n RadiologyIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.RadiologyIcon),\n ReferralOrderIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ReferralOrderIcon),\n RegistrationPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.RegistrationPictogram),\n RenewIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.RenewIcon),\n ReportIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ReportIcon),\n ReportsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.ReportsPictogram),\n ResetIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ResetIcon),\n ResponsiveWrapper: () => (/* reexport safe */ _responsive_wrapper_index_js__rspack_import_23.ResponsiveWrapper),\n SaveIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.SaveIcon),\n SearchIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.SearchIcon),\n ServiceQueuesPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.ServiceQueuesPictogram),\n SettingsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.SettingsIcon),\n ShoppingCartAddItemIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ShoppingCartAddItemIcon),\n ShoppingCartArrowDownIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ShoppingCartArrowDownIcon),\n ShoppingCartIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ShoppingCartIcon),\n Snackbar: () => (/* reexport safe */ _snackbars_snackbar_component_js__rspack_import_25.Snackbar),\n StickyNoteAddIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.StickyNoteAddIcon),\n StockManagementPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.StockManagementPictogram),\n SwitcherIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.SwitcherIcon),\n SyringeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.SyringeIcon),\n SystemAdministrationPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.SystemAdministrationPictogram),\n TableBatchActions: () => (/* reexport safe */ _data_table_batch_actions_index_js__rspack_import_3.TableBatchActions),\n TableIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TableIcon),\n TableOfContentsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TableOfContentsIcon),\n TimeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TimeIcon),\n Toast: () => (/* reexport safe */ _toasts_toast_component_js__rspack_import_28.Toast),\n ToolsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ToolsIcon),\n TransferPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.TransferPictogram),\n TranslateIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TranslateIcon),\n TrashCanIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TrashCanIcon),\n TreeViewAltIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TreeViewAltIcon),\n TriagePictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.TriagePictogram),\n TwoFactorAuthenticationIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TwoFactorAuthenticationIcon),\n UserAvatarIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.UserAvatarIcon),\n UserFollowIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.UserFollowIcon),\n UserIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.UserIcon),\n UserXrayIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.UserXrayIcon),\n ViewIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ViewIcon),\n ViewOffIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ViewOffIcon),\n WarningIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.WarningIcon),\n Workspace2: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.Workspace2),\n XrayPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.XrayPictogram),\n closeWorkspaceGroup2: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.closeWorkspaceGroup2),\n closeWorkspaceInWindow: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.closeWorkspaceInWindow),\n createDashboard: () => (/* reexport safe */ _dashboard_extension_index_js__rspack_import_5.createDashboard),\n createExportedWorkspaceWindow: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.createExportedWorkspaceWindow),\n esmStyleGuideSchema: () => (/* reexport safe */ _config_schema_js__rspack_import_2.esmStyleGuideSchema),\n getRegisteredWorkspace2Names: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.getRegisteredWorkspace2Names),\n iconIds: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.iconIds),\n integrateBreakpoints: () => (/* reexport safe */ _breakpoints_index_js__rspack_import_0.integrateBreakpoints),\n launchWorkspace2: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.launchWorkspace2),\n launchWorkspaceGroup2: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.launchWorkspaceGroup2),\n openChildWorkspaceInWindow: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.openChildWorkspaceInWindow),\n pictogramIds: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.pictogramIds),\n promptForClosingWorkspaces: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.promptForClosingWorkspaces),\n promptForClosingWorkspacesInWindow: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.promptForClosingWorkspacesInWindow),\n renderActionableNotifications: () => (/* reexport safe */ _notifications_index_js__rspack_import_14.renderActionableNotifications),\n renderInlineNotifications: () => (/* reexport safe */ _notifications_index_js__rspack_import_14.renderInlineNotifications),\n renderLoadingSpinner: () => (/* reexport safe */ _spinner_index_js__rspack_import_26.renderLoadingSpinner),\n renderSnackbars: () => (/* reexport safe */ _snackbars_index_js__rspack_import_24.renderSnackbars),\n renderToasts: () => (/* reexport safe */ _toasts_index_js__rspack_import_27.renderToasts),\n renderWorkspaceWindowsAndMenu: () => (/* reexport safe */ _workspaces2_workspace_windows_and_menu_component_js__rspack_import_30.renderWorkspaceWindowsAndMenu),\n setupModals: () => (/* reexport safe */ _modals_index_js__rspack_import_13.setupModals),\n showActionableNotification: () => (/* reexport safe */ _notifications_index_js__rspack_import_14.showActionableNotification),\n showModal: () => (/* reexport safe */ _modals_index_js__rspack_import_13.showModal),\n showNotification: () => (/* reexport safe */ _notifications_index_js__rspack_import_14.showNotification),\n showSnackbar: () => (/* reexport safe */ _snackbars_index_js__rspack_import_24.showSnackbar),\n showToast: () => (/* reexport safe */ _toasts_index_js__rspack_import_27.showToast),\n updateOpenedWorkspaceInWindow: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.updateOpenedWorkspaceInWindow),\n useCustomOverflowMenu: () => (/* reexport safe */ _custom_overflow_menu_index_js__rspack_import_4.useCustomOverflowMenu),\n usePatientPhoto: () => (/* reexport safe */ _patient_photo_index_js__rspack_import_21.usePatientPhoto),\n useWorkspace2Context: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.useWorkspace2Context),\n useWorkspace2Store: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.useWorkspace2Store),\n workspace2StoreActions: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.workspace2StoreActions)\n});\n/* import */ var _breakpoints_index_js__rspack_import_0 = __webpack_require__(\"../../framework/esm-styleguide/dist/breakpoints/index.js\");\n/* import */ var _cards_index_js__rspack_import_1 = __webpack_require__(\"../../framework/esm-styleguide/dist/cards/index.js\");\n/* import */ var _config_schema_js__rspack_import_2 = __webpack_require__(\"../../framework/esm-styleguide/dist/config-schema.js\");\n/* import */ var _data_table_batch_actions_index_js__rspack_import_3 = __webpack_require__(\"../../framework/esm-styleguide/dist/data-table-batch-actions/index.js\");\n/* import */ var _custom_overflow_menu_index_js__rspack_import_4 = __webpack_require__(\"../../framework/esm-styleguide/dist/custom-overflow-menu/index.js\");\n/* import */ var _dashboard_extension_index_js__rspack_import_5 = __webpack_require__(\"../../framework/esm-styleguide/dist/dashboard-extension/index.js\");\n/* import */ var _datepicker_index_js__rspack_import_6 = __webpack_require__(\"../../framework/esm-styleguide/dist/datepicker/index.js\");\n/* import */ var _diagnosis_tags_index_js__rspack_import_7 = __webpack_require__(\"../../framework/esm-styleguide/dist/diagnosis-tags/index.js\");\n/* import */ var _empty_card_index_js__rspack_import_8 = __webpack_require__(\"../../framework/esm-styleguide/dist/empty-card/index.js\");\n/* import */ var _error_state_index_js__rspack_import_9 = __webpack_require__(\"../../framework/esm-styleguide/dist/error-state/index.js\");\n/* import */ var _icons_icons_js__rspack_import_10 = __webpack_require__(\"../../framework/esm-styleguide/dist/icons/icons.js\");\n/* import */ var _left_nav_index_js__rspack_import_11 = __webpack_require__(\"../../framework/esm-styleguide/dist/left-nav/index.js\");\n/* import */ var _location_picker_index_js__rspack_import_12 = __webpack_require__(\"../../framework/esm-styleguide/dist/location-picker/index.js\");\n/* import */ var _modals_index_js__rspack_import_13 = __webpack_require__(\"../../framework/esm-styleguide/dist/modals/index.js\");\n/* import */ var _notifications_index_js__rspack_import_14 = __webpack_require__(\"../../framework/esm-styleguide/dist/notifications/index.js\");\n/* import */ var _notifications_actionable_notification_component_js__rspack_import_15 = __webpack_require__(\"../../framework/esm-styleguide/dist/notifications/actionable-notification.component.js\");\n/* import */ var _notifications_notification_component_js__rspack_import_16 = __webpack_require__(\"../../framework/esm-styleguide/dist/notifications/notification.component.js\");\n/* import */ var _numeric_observation_numeric_observation_component_js__rspack_import_17 = __webpack_require__(\"../../framework/esm-styleguide/dist/numeric-observation/numeric-observation.component.js\");\n/* import */ var _page_header_index_js__rspack_import_18 = __webpack_require__(\"../../framework/esm-styleguide/dist/page-header/index.js\");\n/* import */ var _pagination_index_js__rspack_import_19 = __webpack_require__(\"../../framework/esm-styleguide/dist/pagination/index.js\");\n/* import */ var _patient_banner_index_js__rspack_import_20 = __webpack_require__(\"../../framework/esm-styleguide/dist/patient-banner/index.js\");\n/* import */ var _patient_photo_index_js__rspack_import_21 = __webpack_require__(\"../../framework/esm-styleguide/dist/patient-photo/index.js\");\n/* import */ var _pictograms_pictograms_js__rspack_import_22 = __webpack_require__(\"../../framework/esm-styleguide/dist/pictograms/pictograms.js\");\n/* import */ var _responsive_wrapper_index_js__rspack_import_23 = __webpack_require__(\"../../framework/esm-styleguide/dist/responsive-wrapper/index.js\");\n/* import */ var _snackbars_index_js__rspack_import_24 = __webpack_require__(\"../../framework/esm-styleguide/dist/snackbars/index.js\");\n/* import */ var _snackbars_snackbar_component_js__rspack_import_25 = __webpack_require__(\"../../framework/esm-styleguide/dist/snackbars/snackbar.component.js\");\n/* import */ var _spinner_index_js__rspack_import_26 = __webpack_require__(\"../../framework/esm-styleguide/dist/spinner/index.js\");\n/* import */ var _toasts_index_js__rspack_import_27 = __webpack_require__(\"../../framework/esm-styleguide/dist/toasts/index.js\");\n/* import */ var _toasts_toast_component_js__rspack_import_28 = __webpack_require__(\"../../framework/esm-styleguide/dist/toasts/toast.component.js\");\n/* import */ var _workspaces2_index_js__rspack_import_29 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/index.js\");\n/* import */ var _workspaces2_workspace_windows_and_menu_component_js__rspack_import_30 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/workspace-windows-and-menu.component.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3QvaW50ZXJuYWwuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9kaXN0L2ludGVybmFsLmpzP2IyNWEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYnJlYWtwb2ludHMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhcmRzL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWctc2NoZW1hLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhLXRhYmxlLWJhdGNoLWFjdGlvbnMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2N1c3RvbS1vdmVyZmxvdy1tZW51L2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXNoYm9hcmQtZXh0ZW5zaW9uL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRlcGlja2VyL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kaWFnbm9zaXMtdGFncy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW1wdHktY2FyZC9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3Itc3RhdGUvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ljb25zL2ljb25zLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sZWZ0LW5hdi9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9jYXRpb24tcGlja2VyL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RhbHMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vdGlmaWNhdGlvbnMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vdGlmaWNhdGlvbnMvYWN0aW9uYWJsZS1ub3RpZmljYXRpb24uY29tcG9uZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi5jb21wb25lbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL251bWVyaWMtb2JzZXJ2YXRpb24vbnVtZXJpYy1vYnNlcnZhdGlvbi5jb21wb25lbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhZ2UtaGVhZGVyL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYWdpbmF0aW9uL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXRpZW50LWJhbm5lci9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGF0aWVudC1waG90by9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGljdG9ncmFtcy9waWN0b2dyYW1zLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXNwb25zaXZlLXdyYXBwZXIvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NuYWNrYmFycy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc25hY2tiYXJzL3NuYWNrYmFyLmNvbXBvbmVudC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3Bpbm5lci9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9hc3RzL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b2FzdHMvdG9hc3QuY29tcG9uZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93b3Jrc3BhY2VzMi9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd29ya3NwYWNlczIvd29ya3NwYWNlLXdpbmRvd3MtYW5kLW1lbnUuY29tcG9uZW50LmpzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXVDO0FBQ047QUFDRTtBQUNpQjtBQUNKO0FBQ0Q7QUFDVDtBQUNJO0FBQ0o7QUFDQztBQUNOO0FBQ0c7QUFDTztBQUNUO0FBQ087QUFDNEI7QUFDWDtBQUNhO0FBQ2hDO0FBQ0Q7QUFDSTtBQUNEO0FBQ0U7QUFDRztBQUNUO0FBQ2E7QUFDZjtBQUNEO0FBQ1U7QUFDTDtBQUMrQiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/dist/internal.js\n\n}");
604
+ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n ActionMenuButton2: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.ActionMenuButton2),\n ActionableNotificationComponent: () => (/* reexport safe */ _notifications_actionable_notification_component_js__rspack_import_15.ActionableNotificationComponent),\n ActivityIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ActivityIcon),\n AddIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.AddIcon),\n AllergiesIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.AllergiesIcon),\n AppointmentsAltPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.AppointmentsAltPictogram),\n AppointmentsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.AppointmentsPictogram),\n ArrowDownIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ArrowDownIcon),\n ArrowLeftIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ArrowLeftIcon),\n ArrowRightIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ArrowRightIcon),\n ArrowUpIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ArrowUpIcon),\n Assessment1Pictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.Assessment1Pictogram),\n Assessment2Pictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.Assessment2Pictogram),\n AttachmentIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.AttachmentIcon),\n BabyIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.BabyIcon),\n BloodBankPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.BloodBankPictogram),\n Breakpoint: () => (/* reexport safe */ _breakpoints_index_js__rspack_import_0.Breakpoint),\n CalendarHeatMapIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CalendarHeatMapIcon),\n CalendarIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CalendarIcon),\n CardHeader: () => (/* reexport safe */ _cards_index_js__rspack_import_1.CardHeader),\n CardiologyPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.CardiologyPictogram),\n CaretDownIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CaretDownIcon),\n CaretLeftIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CaretLeftIcon),\n CaretRightIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CaretRightIcon),\n CaretUpIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CaretUpIcon),\n ChartAverageIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChartAverageIcon),\n ChartLineIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChartLineIcon),\n CheckmarkFilledIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CheckmarkFilledIcon),\n CheckmarkOutlineIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CheckmarkOutlineIcon),\n ChemistryIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChemistryIcon),\n ChevronDownIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChevronDownIcon),\n ChevronLeftIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChevronLeftIcon),\n ChevronRightIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChevronRightIcon),\n ChevronUpIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ChevronUpIcon),\n CloseFilledIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CloseFilledIcon),\n CloseIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CloseIcon),\n CloseOutlineIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.CloseOutlineIcon),\n CohortsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.CohortsPictogram),\n ConceptDictionaryPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.ConceptDictionaryPictogram),\n ConditionsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ConditionsIcon),\n CtScanPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.CtScanPictogram),\n CustomOverflowMenu: () => (/* reexport safe */ _custom_overflow_menu_index_js__rspack_import_4.CustomOverflowMenu),\n CustomOverflowMenuItem: () => (/* reexport safe */ _custom_overflow_menu_index_js__rspack_import_4.CustomOverflowMenuItem),\n DashboardExtension: () => (/* reexport safe */ _dashboard_extension_index_js__rspack_import_5.DashboardExtension),\n DataEntryPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.DataEntryPictogram),\n DentistryPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.DentistryPictogram),\n DiagnosisTags: () => (/* reexport safe */ _diagnosis_tags_index_js__rspack_import_7.DiagnosisTags),\n DigitalTrustPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.DigitalTrustPictogram),\n DocumentAttachmentIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.DocumentAttachmentIcon),\n DocumentIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.DocumentIcon),\n DownloadIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.DownloadIcon),\n DrugOrderIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.DrugOrderIcon),\n EditIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.EditIcon),\n EmergencyDepartmentPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.EmergencyDepartmentPictogram),\n EmptyCard: () => (/* reexport safe */ _empty_card_index_js__rspack_import_8.EmptyCard),\n EmptyCardIllustration: () => (/* reexport safe */ _empty_card_index_js__rspack_import_8.EmptyCardIllustration),\n ErrorCard: () => (/* reexport safe */ _error_state_index_js__rspack_import_9.ErrorCard),\n ErrorState: () => (/* reexport safe */ _error_state_index_js__rspack_import_9.ErrorState),\n EventScheduleIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.EventScheduleIcon),\n EventsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.EventsIcon),\n ExportedWorkspace: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.ExportedWorkspace),\n FacilityPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.FacilityPictogram),\n GenderFemaleIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GenderFemaleIcon),\n GenderMaleIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GenderMaleIcon),\n GenderOtherIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GenderOtherIcon),\n GenderUnknownIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GenderUnknownIcon),\n GenericOrderTypeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GenericOrderTypeIcon),\n GeriatricsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.GeriatricsPictogram),\n GroupAccessIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GroupAccessIcon),\n GroupIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.GroupIcon),\n GynaecologyPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.GynaecologyPictogram),\n HomePictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.HomePictogram),\n HospitalBedIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.HospitalBedIcon),\n Icon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.Icon),\n ImageMedicalIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ImageMedicalIcon),\n InPatientPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.InPatientPictogram),\n InformationFilledIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.InformationFilledIcon),\n InformationIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.InformationIcon),\n InformationSquareIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.InformationSquareIcon),\n InventoryManagementIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.InventoryManagementIcon),\n LabOrderIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.LabOrderIcon),\n LaboratoryPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.LaboratoryPictogram),\n Labs2Pictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.Labs2Pictogram),\n LeftNavMenu: () => (/* reexport safe */ _left_nav_index_js__rspack_import_11.LeftNavMenu),\n ListCheckedIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ListCheckedIcon),\n LocationIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.LocationIcon),\n LocationPicker: () => (/* reexport safe */ _location_picker_index_js__rspack_import_12.LocationPicker),\n MaterialOrderIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MaterialOrderIcon),\n MaximizeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MaximizeIcon),\n MaybeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MaybeIcon),\n MaybePictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.MaybePictogram),\n MedicationIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MedicationIcon),\n MessageQueueIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MessageQueueIcon),\n MetadataExportPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.MetadataExportPictogram),\n MicroscopeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MicroscopeIcon),\n MobileCheckIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MobileCheckIcon),\n MoneyIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MoneyIcon),\n MotherIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MotherIcon),\n MovementIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.MovementIcon),\n Notification: () => (/* reexport safe */ _notifications_notification_component_js__rspack_import_16.Notification),\n NumericObservation: () => (/* reexport safe */ _numeric_observation_numeric_observation_component_js__rspack_import_17.NumericObservation),\n ObstetricsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.ObstetricsPictogram),\n OpenmrsDatePicker: () => (/* reexport safe */ _datepicker_index_js__rspack_import_6.OpenmrsDatePicker),\n OpenmrsDateRangePicker: () => (/* reexport safe */ _datepicker_index_js__rspack_import_6.OpenmrsDateRangePicker),\n OverflowMenuHorizontalIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.OverflowMenuHorizontalIcon),\n OverflowMenuVerticalIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.OverflowMenuVerticalIcon),\n PageHeader: () => (/* reexport safe */ _page_header_index_js__rspack_import_18.PageHeader),\n PageHeaderContent: () => (/* reexport safe */ _page_header_index_js__rspack_import_18.PageHeaderContent),\n Pagination: () => (/* reexport safe */ _pagination_index_js__rspack_import_19.Pagination),\n PasswordIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.PasswordIcon),\n PatientBannerActionsMenu: () => (/* reexport safe */ _patient_banner_index_js__rspack_import_20.PatientBannerActionsMenu),\n PatientBannerContactDetails: () => (/* reexport safe */ _patient_banner_index_js__rspack_import_20.PatientBannerContactDetails),\n PatientBannerPatientIdentifiers: () => (/* reexport safe */ _patient_banner_index_js__rspack_import_20.PatientBannerPatientIdentifiers),\n PatientBannerPatientInfo: () => (/* reexport safe */ _patient_banner_index_js__rspack_import_20.PatientBannerPatientInfo),\n PatientBannerToggleContactDetailsButton: () => (/* reexport safe */ _patient_banner_index_js__rspack_import_20.PatientBannerToggleContactDetailsButton),\n PatientDocumentsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PatientDocumentsPictogram),\n PatientListsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PatientListsPictogram),\n PatientPhoto: () => (/* reexport safe */ _patient_photo_index_js__rspack_import_21.PatientPhoto),\n PatientSearchPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PatientSearchPictogram),\n PatientsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PatientsPictogram),\n PaymentsDeskPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PaymentsDeskPictogram),\n PedestrianFamilyIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.PedestrianFamilyIcon),\n PenIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.PenIcon),\n Pharmacy2Pictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.Pharmacy2Pictogram),\n PharmacyPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.PharmacyPictogram),\n Pictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.Pictogram),\n PrinterIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.PrinterIcon),\n ProcedureOrderIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ProcedureOrderIcon),\n ProgramsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ProgramsIcon),\n RadiologyIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.RadiologyIcon),\n ReferralOrderIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ReferralOrderIcon),\n RegistrationPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.RegistrationPictogram),\n RenewIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.RenewIcon),\n ReportIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ReportIcon),\n ReportsPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.ReportsPictogram),\n ResetIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ResetIcon),\n ResponsiveWrapper: () => (/* reexport safe */ _responsive_wrapper_index_js__rspack_import_23.ResponsiveWrapper),\n SaveIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.SaveIcon),\n SearchIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.SearchIcon),\n ServiceQueuesPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.ServiceQueuesPictogram),\n SettingsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.SettingsIcon),\n ShoppingCartAddItemIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ShoppingCartAddItemIcon),\n ShoppingCartArrowDownIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ShoppingCartArrowDownIcon),\n ShoppingCartIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ShoppingCartIcon),\n Snackbar: () => (/* reexport safe */ _snackbars_snackbar_component_js__rspack_import_25.Snackbar),\n StickyNoteAddIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.StickyNoteAddIcon),\n StockManagementPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.StockManagementPictogram),\n SwitcherIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.SwitcherIcon),\n SyringeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.SyringeIcon),\n SystemAdministrationPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.SystemAdministrationPictogram),\n TableBatchActions: () => (/* reexport safe */ _data_table_batch_actions_index_js__rspack_import_3.TableBatchActions),\n TableIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TableIcon),\n TableOfContentsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TableOfContentsIcon),\n TimeIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TimeIcon),\n Toast: () => (/* reexport safe */ _toasts_toast_component_js__rspack_import_28.Toast),\n ToolsIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ToolsIcon),\n TransferPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.TransferPictogram),\n TranslateIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TranslateIcon),\n TrashCanIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TrashCanIcon),\n TreeViewAltIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TreeViewAltIcon),\n TriagePictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.TriagePictogram),\n TwoFactorAuthenticationIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.TwoFactorAuthenticationIcon),\n UserAvatarIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.UserAvatarIcon),\n UserFollowIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.UserFollowIcon),\n UserIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.UserIcon),\n UserXrayIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.UserXrayIcon),\n ViewIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ViewIcon),\n ViewOffIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.ViewOffIcon),\n WarningIcon: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.WarningIcon),\n Workspace2: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.Workspace2),\n XrayPictogram: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.XrayPictogram),\n closeWorkspaceGroup2: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.closeWorkspaceGroup2),\n closeWorkspaceInWindow: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.closeWorkspaceInWindow),\n createDashboard: () => (/* reexport safe */ _dashboard_extension_index_js__rspack_import_5.createDashboard),\n createExportedWorkspaceWindow: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.createExportedWorkspaceWindow),\n esmStyleGuideSchema: () => (/* reexport safe */ _config_schema_js__rspack_import_2.esmStyleGuideSchema),\n getOpenedWindowWidth: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.getOpenedWindowWidth),\n getRegisteredWorkspace2Names: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.getRegisteredWorkspace2Names),\n iconIds: () => (/* reexport safe */ _icons_icons_js__rspack_import_10.iconIds),\n integrateBreakpoints: () => (/* reexport safe */ _breakpoints_index_js__rspack_import_0.integrateBreakpoints),\n launchWorkspace2: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.launchWorkspace2),\n launchWorkspaceGroup2: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.launchWorkspaceGroup2),\n openChildWorkspaceInWindow: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.openChildWorkspaceInWindow),\n pictogramIds: () => (/* reexport safe */ _pictograms_pictograms_js__rspack_import_22.pictogramIds),\n promptForClosingWorkspaces: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.promptForClosingWorkspaces),\n promptForClosingWorkspacesInWindow: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.promptForClosingWorkspacesInWindow),\n renderActionableNotifications: () => (/* reexport safe */ _notifications_index_js__rspack_import_14.renderActionableNotifications),\n renderInlineNotifications: () => (/* reexport safe */ _notifications_index_js__rspack_import_14.renderInlineNotifications),\n renderLoadingSpinner: () => (/* reexport safe */ _spinner_index_js__rspack_import_26.renderLoadingSpinner),\n renderSnackbars: () => (/* reexport safe */ _snackbars_index_js__rspack_import_24.renderSnackbars),\n renderToasts: () => (/* reexport safe */ _toasts_index_js__rspack_import_27.renderToasts),\n renderWorkspaceWindowsAndMenu: () => (/* reexport safe */ _workspaces2_workspace_windows_and_menu_component_js__rspack_import_30.renderWorkspaceWindowsAndMenu),\n setupModals: () => (/* reexport safe */ _modals_index_js__rspack_import_13.setupModals),\n showActionableNotification: () => (/* reexport safe */ _notifications_index_js__rspack_import_14.showActionableNotification),\n showModal: () => (/* reexport safe */ _modals_index_js__rspack_import_13.showModal),\n showNotification: () => (/* reexport safe */ _notifications_index_js__rspack_import_14.showNotification),\n showSnackbar: () => (/* reexport safe */ _snackbars_index_js__rspack_import_24.showSnackbar),\n showToast: () => (/* reexport safe */ _toasts_index_js__rspack_import_27.showToast),\n updateOpenedWorkspaceInWindow: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.updateOpenedWorkspaceInWindow),\n useCustomOverflowMenu: () => (/* reexport safe */ _custom_overflow_menu_index_js__rspack_import_4.useCustomOverflowMenu),\n usePatientPhoto: () => (/* reexport safe */ _patient_photo_index_js__rspack_import_21.usePatientPhoto),\n useWorkspace2Context: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.useWorkspace2Context),\n useWorkspace2Store: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.useWorkspace2Store),\n workspace2StoreActions: () => (/* reexport safe */ _workspaces2_index_js__rspack_import_29.workspace2StoreActions)\n});\n/* import */ var _breakpoints_index_js__rspack_import_0 = __webpack_require__(\"../../framework/esm-styleguide/dist/breakpoints/index.js\");\n/* import */ var _cards_index_js__rspack_import_1 = __webpack_require__(\"../../framework/esm-styleguide/dist/cards/index.js\");\n/* import */ var _config_schema_js__rspack_import_2 = __webpack_require__(\"../../framework/esm-styleguide/dist/config-schema.js\");\n/* import */ var _data_table_batch_actions_index_js__rspack_import_3 = __webpack_require__(\"../../framework/esm-styleguide/dist/data-table-batch-actions/index.js\");\n/* import */ var _custom_overflow_menu_index_js__rspack_import_4 = __webpack_require__(\"../../framework/esm-styleguide/dist/custom-overflow-menu/index.js\");\n/* import */ var _dashboard_extension_index_js__rspack_import_5 = __webpack_require__(\"../../framework/esm-styleguide/dist/dashboard-extension/index.js\");\n/* import */ var _datepicker_index_js__rspack_import_6 = __webpack_require__(\"../../framework/esm-styleguide/dist/datepicker/index.js\");\n/* import */ var _diagnosis_tags_index_js__rspack_import_7 = __webpack_require__(\"../../framework/esm-styleguide/dist/diagnosis-tags/index.js\");\n/* import */ var _empty_card_index_js__rspack_import_8 = __webpack_require__(\"../../framework/esm-styleguide/dist/empty-card/index.js\");\n/* import */ var _error_state_index_js__rspack_import_9 = __webpack_require__(\"../../framework/esm-styleguide/dist/error-state/index.js\");\n/* import */ var _icons_icons_js__rspack_import_10 = __webpack_require__(\"../../framework/esm-styleguide/dist/icons/icons.js\");\n/* import */ var _left_nav_index_js__rspack_import_11 = __webpack_require__(\"../../framework/esm-styleguide/dist/left-nav/index.js\");\n/* import */ var _location_picker_index_js__rspack_import_12 = __webpack_require__(\"../../framework/esm-styleguide/dist/location-picker/index.js\");\n/* import */ var _modals_index_js__rspack_import_13 = __webpack_require__(\"../../framework/esm-styleguide/dist/modals/index.js\");\n/* import */ var _notifications_index_js__rspack_import_14 = __webpack_require__(\"../../framework/esm-styleguide/dist/notifications/index.js\");\n/* import */ var _notifications_actionable_notification_component_js__rspack_import_15 = __webpack_require__(\"../../framework/esm-styleguide/dist/notifications/actionable-notification.component.js\");\n/* import */ var _notifications_notification_component_js__rspack_import_16 = __webpack_require__(\"../../framework/esm-styleguide/dist/notifications/notification.component.js\");\n/* import */ var _numeric_observation_numeric_observation_component_js__rspack_import_17 = __webpack_require__(\"../../framework/esm-styleguide/dist/numeric-observation/numeric-observation.component.js\");\n/* import */ var _page_header_index_js__rspack_import_18 = __webpack_require__(\"../../framework/esm-styleguide/dist/page-header/index.js\");\n/* import */ var _pagination_index_js__rspack_import_19 = __webpack_require__(\"../../framework/esm-styleguide/dist/pagination/index.js\");\n/* import */ var _patient_banner_index_js__rspack_import_20 = __webpack_require__(\"../../framework/esm-styleguide/dist/patient-banner/index.js\");\n/* import */ var _patient_photo_index_js__rspack_import_21 = __webpack_require__(\"../../framework/esm-styleguide/dist/patient-photo/index.js\");\n/* import */ var _pictograms_pictograms_js__rspack_import_22 = __webpack_require__(\"../../framework/esm-styleguide/dist/pictograms/pictograms.js\");\n/* import */ var _responsive_wrapper_index_js__rspack_import_23 = __webpack_require__(\"../../framework/esm-styleguide/dist/responsive-wrapper/index.js\");\n/* import */ var _snackbars_index_js__rspack_import_24 = __webpack_require__(\"../../framework/esm-styleguide/dist/snackbars/index.js\");\n/* import */ var _snackbars_snackbar_component_js__rspack_import_25 = __webpack_require__(\"../../framework/esm-styleguide/dist/snackbars/snackbar.component.js\");\n/* import */ var _spinner_index_js__rspack_import_26 = __webpack_require__(\"../../framework/esm-styleguide/dist/spinner/index.js\");\n/* import */ var _toasts_index_js__rspack_import_27 = __webpack_require__(\"../../framework/esm-styleguide/dist/toasts/index.js\");\n/* import */ var _toasts_toast_component_js__rspack_import_28 = __webpack_require__(\"../../framework/esm-styleguide/dist/toasts/toast.component.js\");\n/* import */ var _workspaces2_index_js__rspack_import_29 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/index.js\");\n/* import */ var _workspaces2_workspace_windows_and_menu_component_js__rspack_import_30 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/workspace-windows-and-menu.component.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3QvaW50ZXJuYWwuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9kaXN0L2ludGVybmFsLmpzP2IyNWEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYnJlYWtwb2ludHMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhcmRzL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWctc2NoZW1hLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhLXRhYmxlLWJhdGNoLWFjdGlvbnMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2N1c3RvbS1vdmVyZmxvdy1tZW51L2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXNoYm9hcmQtZXh0ZW5zaW9uL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRlcGlja2VyL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kaWFnbm9zaXMtdGFncy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW1wdHktY2FyZC9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3Itc3RhdGUvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ljb25zL2ljb25zLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sZWZ0LW5hdi9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9jYXRpb24tcGlja2VyL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RhbHMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vdGlmaWNhdGlvbnMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vdGlmaWNhdGlvbnMvYWN0aW9uYWJsZS1ub3RpZmljYXRpb24uY29tcG9uZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi5jb21wb25lbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL251bWVyaWMtb2JzZXJ2YXRpb24vbnVtZXJpYy1vYnNlcnZhdGlvbi5jb21wb25lbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhZ2UtaGVhZGVyL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYWdpbmF0aW9uL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXRpZW50LWJhbm5lci9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGF0aWVudC1waG90by9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGljdG9ncmFtcy9waWN0b2dyYW1zLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXNwb25zaXZlLXdyYXBwZXIvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NuYWNrYmFycy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc25hY2tiYXJzL3NuYWNrYmFyLmNvbXBvbmVudC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3Bpbm5lci9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9hc3RzL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b2FzdHMvdG9hc3QuY29tcG9uZW50LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93b3Jrc3BhY2VzMi9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd29ya3NwYWNlczIvd29ya3NwYWNlLXdpbmRvd3MtYW5kLW1lbnUuY29tcG9uZW50LmpzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF1QztBQUNOO0FBQ0U7QUFDaUI7QUFDSjtBQUNEO0FBQ1Q7QUFDSTtBQUNKO0FBQ0M7QUFDTjtBQUNHO0FBQ087QUFDVDtBQUNPO0FBQzRCO0FBQ1g7QUFDYTtBQUNoQztBQUNEO0FBQ0k7QUFDRDtBQUNFO0FBQ0c7QUFDVDtBQUNhO0FBQ2Y7QUFDRDtBQUNVO0FBQ0w7QUFDK0IifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/dist/internal.js\n\n}");
605
605
 
606
606
  },
607
607
  "../../framework/esm-styleguide/dist/left-nav/index.js"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
@@ -831,7 +831,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webp
831
831
  },
832
832
  "../../framework/esm-styleguide/dist/workspaces2/active-workspace-window.component.js"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
833
833
  "use strict";
834
- eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (__rspack_default_export)\n});\n/* import */ var react_jsx_runtime__rspack_import_0 = __webpack_require__(\"../../../node_modules/react/jsx-runtime.js\");\n/* import */ var react__rspack_import_1 = __webpack_require__(\"webpack/sharing/consume/default/react/react\");\n/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);\n/* import */ var classnames__rspack_import_2 = __webpack_require__(\"../../../node_modules/classnames/index.js\");\n/* import */ var classnames__rspack_import_2_default = /*#__PURE__*/__webpack_require__.n(classnames__rspack_import_2);\n/* import */ var single_spa_react_parcel__rspack_import_3 = __webpack_require__(\"../../../node_modules/single-spa-react/lib/esm/parcel.js\");\n/* import */ var _carbon_react__rspack_import_4 = __webpack_require__(\"webpack/sharing/consume/default/@carbon/react/@carbon/react\");\n/* import */ var _carbon_react__rspack_import_4_default = /*#__PURE__*/__webpack_require__.n(_carbon_react__rspack_import_4);\n/* import */ var _carbon_react_icons__rspack_import_12 = __webpack_require__(\"../../../node_modules/@carbon/icons-react/es/generated/bucket-11.js\");\n/* import */ var _carbon_react_icons__rspack_import_13 = __webpack_require__(\"../../../node_modules/@carbon/icons-react/es/generated/bucket-6.js\");\n/* import */ var _openmrs_esm_extensions__rspack_import_5 = __webpack_require__(\"../../framework/esm-extensions/dist/index.js\");\n/* import */ var _openmrs_esm_react_utils__rspack_import_6 = __webpack_require__(\"../../framework/esm-react-utils/dist/index.js\");\n/* import */ var _openmrs_esm_routes__rspack_import_11 = __webpack_require__(\"../../framework/esm-routes/dist/loaders/load-lifecycles.js\");\n/* import */ var _openmrs_esm_translations__rspack_import_7 = __webpack_require__(\"../../framework/esm-translations/dist/index.js\");\n/* import */ var _icons_index_js__rspack_import_8 = __webpack_require__(\"../../framework/esm-styleguide/dist/icons/index.js\");\n/* import */ var _workspace2_js__rspack_import_9 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/workspace2.js\");\n/* import */ var _workspace2_module_scss__rspack_import_10 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/workspace2.module.scss\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n// module-level so the store subscription's snapshot getter stays stable across renders\nconst selectRegisteredWorkspacesByName = (state)=>state.registeredWorkspacesByName;\n/**\n * Renders an opened workspace window. `actions` determines which store the window's workspaces\n * navigate within: the global workspace window system, or an `<ExportedWorkspace>`'s local store.\n */ const ActiveWorkspaceWindow = ({ openedWindow, groupProps, actions, renderChrome, showActionMenu })=>{\n const { openedWorkspaces } = openedWindow;\n // Keyed by opened workspace uuid rather than stack index. The lifecycles load\n // asynchronously, so when the stack changes (a workspace at some position is\n // replaced by another, for example closing a child workspace and immediately\n // opening a different one), an index-based lookup can hand the new workspace\n // the previous workspace's component until the reload resolves. The parcel\n // mounts whatever config it first receives, so the wrong component would then\n // render with the new workspace's props.\n const [lifeCyclesByUuid, setLifeCyclesByUuid] = (0,react__rspack_import_1.useState)({});\n // Reactive so the effect retries when a workspace registers after mount.\n const registeredWorkspacesByName = (0,_openmrs_esm_react_utils__rspack_import_6.useStore)(_openmrs_esm_extensions__rspack_import_5.workspace2Store, selectRegisteredWorkspacesByName);\n (0,react__rspack_import_1.useEffect)(()=>{\n let cancelled = false;\n Promise.all(openedWorkspaces.map(async (openedWorkspace)=>{\n const workspaceDef = registeredWorkspacesByName[openedWorkspace.workspaceName];\n if (!workspaceDef) {\n return null;\n }\n const { moduleName, component } = workspaceDef;\n return [\n openedWorkspace.uuid,\n await (0,_openmrs_esm_routes__rspack_import_11.loadLifeCycles)(moduleName, component)\n ];\n })).then((entries)=>{\n if (!cancelled) {\n setLifeCyclesByUuid(Object.fromEntries(entries.filter((entry)=>entry != null)));\n }\n });\n return ()=>{\n cancelled = true;\n };\n }, [\n openedWorkspaces,\n registeredWorkspacesByName\n ]);\n return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(react_jsx_runtime__rspack_import_0.Fragment, {\n children: openedWorkspaces.map((openedWorkspace, i)=>/*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(ActiveWorkspace, {\n openedWorkspace: openedWorkspace,\n openedWindow: openedWindow,\n groupProps: groupProps,\n actions: actions,\n renderChrome: renderChrome,\n lifeCycle: lifeCyclesByUuid[openedWorkspace.uuid],\n isRootWorkspace: i === 0,\n isLeafWorkspace: i === openedWorkspaces.length - 1,\n showActionMenu: showActionMenu\n }, openedWorkspace.uuid))\n });\n};\nconst mountParcel = (0,_openmrs_esm_extensions__rspack_import_5.createParcelMounter)();\nconst ActiveWorkspace = ({ lifeCycle, openedWorkspace, openedWindow, groupProps, actions, renderChrome, isRootWorkspace, isLeafWorkspace, showActionMenu })=>{\n const props = (0,react__rspack_import_1.useMemo)(()=>openedWorkspace && {\n closeWorkspace: async (options = {})=>{\n const { closeWindow = false, discardUnsavedChanges = false } = options;\n if (closeWindow) {\n const okToCloseWorkspaces = discardUnsavedChanges || await actions.promptForClosingWorkspaces();\n if (okToCloseWorkspaces) {\n actions.closeWorkspace(openedWindow.openedWorkspaces[0].workspaceName);\n return true;\n }\n return false;\n } else {\n const okToCloseWorkspaces = discardUnsavedChanges || await actions.promptForClosingWorkspaces(openedWorkspace.workspaceName);\n if (okToCloseWorkspaces) {\n actions.closeWorkspace(openedWorkspace.workspaceName);\n return true;\n }\n return false;\n }\n },\n launchChildWorkspace: async (childWorkspaceName, childWorkspaceProps)=>{\n const parentWorkspaceName = openedWorkspace.workspaceName;\n const { openedWorkspaces } = openedWindow;\n const parentIndex = openedWorkspaces.findIndex((w)=>w.workspaceName === parentWorkspaceName);\n if (parentIndex === -1) {\n return;\n }\n const isLeaf = parentIndex === openedWorkspaces.length - 1;\n if (!isLeaf) {\n // There are workspaces above the parent that will be closed.\n // Prompt if any of them have unsaved changes.\n const workspacesAboveParent = openedWorkspaces.slice(parentIndex + 1);\n if (workspacesAboveParent.some((w)=>w.hasUnsavedChanges)) {\n const okToClose = await actions.promptForClosingWorkspaces(openedWorkspaces[parentIndex + 1].workspaceName);\n if (!okToClose) {\n return;\n }\n }\n }\n actions.openChildWorkspace(parentWorkspaceName, childWorkspaceName, childWorkspaceProps || {});\n },\n setWorkspaceTitle: (title)=>actions.setWorkspaceTitle(openedWorkspace.uuid, title),\n setHasUnsavedChanges: (hasUnsavedChanges)=>actions.setHasUnsavedChanges(openedWorkspace.uuid, hasUnsavedChanges),\n workspaceName: openedWorkspace.workspaceName,\n workspaceProps: openedWorkspace.props,\n windowProps: openedWindow.props,\n groupProps,\n workspaceMeta: _openmrs_esm_extensions__rspack_import_5.workspace2Store.getState().registeredWorkspacesByName[openedWorkspace.workspaceName]?.meta ?? {},\n isRootWorkspace,\n isLeafWorkspace,\n windowName: openedWindow.windowName,\n showActionMenu\n }, [\n openedWorkspace,\n openedWindow,\n groupProps,\n actions,\n isRootWorkspace,\n isLeafWorkspace,\n showActionMenu\n ]);\n // In bare mode (<ExportedWorkspace>) there is no chrome to stack workspaces, so every non-leaf\n // workspace is hidden (not unmounted, so it keeps its state) and the leaf covers them. In chrome\n // mode the absolute-positioned WorkspaceChrome containers handle stacking, so this class is not\n // applied there.\n const hideBehindLeaf = !renderChrome && !isLeafWorkspace;\n const content = (0,react__rspack_import_1.useMemo)(()=>lifeCycle ? /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(single_spa_react_parcel__rspack_import_3[\"default\"], {\n config: lifeCycle,\n mountParcel: mountParcel,\n wrapWith: \"div\",\n wrapClassName: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].workspaceContent, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].hiddenExtraWorkspace]: hideBehindLeaf\n }),\n ...props\n }, openedWorkspace.workspaceName) : null, [\n lifeCycle,\n openedWorkspace.workspaceName,\n props,\n hideBehindLeaf\n ]);\n if (!renderChrome) {\n return content ?? /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.InlineLoading, {\n className: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].loader, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].hiddenExtraWorkspace]: hideBehindLeaf\n }),\n description: `${(0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('loading')}`\n });\n }\n return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(WorkspaceChrome, {\n openedWorkspace: openedWorkspace,\n openedWindow: openedWindow,\n isRootWorkspace: isRootWorkspace,\n showActionMenu: showActionMenu,\n closeWindow: ()=>props.closeWorkspace({\n closeWindow: true\n }),\n children: content\n });\n};\n/**\n * Renders the containers, title bar and window buttons around a workspace in the global workspace\n * window system.\n */ const WorkspaceChrome = ({ openedWorkspace, openedWindow, isRootWorkspace, showActionMenu, closeWindow, children })=>{\n const layout = (0,_openmrs_esm_react_utils__rspack_import_6.useLayoutType)();\n const { openedGroup, openedWindows, registeredWindowsByName, registeredGroupsByName, isMostRecentlyOpenedWindowHidden, setWindowMaximized, hideWindow } = (0,_workspace2_js__rspack_import_9.useWorkspace2Store)();\n const windowName = openedWindow.windowName;\n const { maximized } = openedWindow;\n const title = openedWorkspace.title ?? '';\n const windowDef = registeredWindowsByName[windowName];\n const width = windowDef?.width ?? 'narrow';\n const icon = windowDef?.icon;\n const canMaximize = windowDef?.canMaximize;\n const canCloseGroup = openedGroup ? registeredGroupsByName[openedGroup.groupName]?.persistence === 'closable' : false;\n const canHide = !!icon && !canCloseGroup;\n const openedWindowIndex = openedWindows.findIndex((w)=>w.windowName === windowName);\n const isWindowHidden = openedWindowIndex < openedWindows.length - 1 || isMostRecentlyOpenedWindowHidden;\n const isActionMenuOpened = Object.values(registeredWindowsByName).some((window)=>window.group === openedGroup?.groupName && window.icon !== undefined);\n return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsxs)(\"div\", {\n className: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].workspaceOuterContainer, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].narrowWorkspace]: width === 'narrow',\n [_workspace2_module_scss__rspack_import_10[\"default\"].widerWorkspace]: width === 'wider',\n [_workspace2_module_scss__rspack_import_10[\"default\"].extraWideWorkspace]: width === 'extra-wide',\n [_workspace2_module_scss__rspack_import_10[\"default\"].isActionMenuOpened]: isActionMenuOpened\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(\"div\", {\n className: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].workspaceSpacer, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].hidden]: isWindowHidden\n })\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(\"div\", {\n className: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].workspaceMiddleContainer, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].maximized]: maximized,\n [_workspace2_module_scss__rspack_import_10[\"default\"].hidden]: isWindowHidden,\n [_workspace2_module_scss__rspack_import_10[\"default\"].isRootWorkspace]: isRootWorkspace,\n [_workspace2_module_scss__rspack_import_10[\"default\"].showActionMenu]: showActionMenu\n }),\n children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(\"div\", {\n className: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].workspaceInnerContainer, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].maximized]: maximized,\n [_workspace2_module_scss__rspack_import_10[\"default\"].hidden]: isWindowHidden,\n [_workspace2_module_scss__rspack_import_10[\"default\"].isRootWorkspace]: isRootWorkspace\n }),\n children: children ? /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsxs)(react_jsx_runtime__rspack_import_0.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsxs)(_carbon_react__rspack_import_4.Header, {\n \"aria-label\": (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('workspaceHeader'),\n className: _workspace2_module_scss__rspack_import_10[\"default\"].header,\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderName, {\n prefix: \"\",\n children: title\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(\"div\", {\n className: _workspace2_module_scss__rspack_import_10[\"default\"].overlayHeaderSpacer\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalBar, {\n className: _workspace2_module_scss__rspack_import_10[\"default\"].headerButtons,\n children: (0,_openmrs_esm_react_utils__rspack_import_6.isDesktop)(layout) ? /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsxs)(react_jsx_runtime__rspack_import_0.Fragment, {\n children: [\n (canMaximize || maximized) && /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalAction, {\n \"aria-label\": maximized ? (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('minimize') : (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('maximize'),\n onClick: ()=>setWindowMaximized(windowName, !maximized),\n children: maximized ? /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react_icons__rspack_import_12.Minimize, {}) : /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react_icons__rspack_import_12.Maximize, {})\n }),\n canHide && /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalAction, {\n \"aria-label\": (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('hide'),\n onClick: ()=>hideWindow(),\n children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_icons_index_js__rspack_import_8.ArrowRightIcon, {})\n }),\n !canCloseGroup && /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalAction, {\n \"aria-label\": (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('close'),\n onClick: closeWindow,\n children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_icons_index_js__rspack_import_8.CloseIcon, {})\n })\n ]\n }) : /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsxs)(react_jsx_runtime__rspack_import_0.Fragment, {\n children: [\n canHide && /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalAction, {\n \"aria-label\": (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('hide'),\n onClick: ()=>hideWindow(),\n children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react_icons__rspack_import_13.DownToBottom, {})\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalAction, {\n \"aria-label\": (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('close'),\n onClick: ()=>{\n if (canCloseGroup) {\n void (0,_workspace2_js__rspack_import_9.closeWorkspaceGroup2)();\n } else {\n closeWindow();\n }\n },\n children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_icons_index_js__rspack_import_8.CloseIcon, {})\n })\n ]\n })\n })\n ]\n }),\n children\n ]\n }) : /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.InlineLoading, {\n className: _workspace2_module_scss__rspack_import_10[\"default\"].loader,\n description: `${(0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('loading')} ...`\n })\n })\n })\n ]\n });\n};\n/* export default */ const __rspack_default_export = (ActiveWorkspaceWindow);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3Qvd29ya3NwYWNlczIvYWN0aXZlLXdvcmtzcGFjZS13aW5kb3cuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXN0eWxlZ3VpZGUvZGlzdC93b3Jrc3BhY2VzMi9hY3RpdmUtd29ya3NwYWNlLXdpbmRvdy5jb21wb25lbnQuanM/ZGRmOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cywgRnJhZ21lbnQgYXMgX0ZyYWdtZW50IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcbmltcG9ydCBQYXJjZWwgZnJvbSBcInNpbmdsZS1zcGEtcmVhY3QvcGFyY2VsXCI7XG5pbXBvcnQgeyBIZWFkZXIsIEhlYWRlckdsb2JhbEFjdGlvbiwgSGVhZGVyR2xvYmFsQmFyLCBIZWFkZXJOYW1lLCBJbmxpbmVMb2FkaW5nIH0gZnJvbSBcIkBjYXJib24vcmVhY3RcIjtcbmltcG9ydCB7IERvd25Ub0JvdHRvbSwgTWF4aW1pemUsIE1pbmltaXplIH0gZnJvbSBcIkBjYXJib24vcmVhY3QvaWNvbnNcIjtcbmltcG9ydCB7IGNyZWF0ZVBhcmNlbE1vdW50ZXIsIHdvcmtzcGFjZTJTdG9yZSB9IGZyb20gXCJAb3Blbm1ycy9lc20tZXh0ZW5zaW9uc1wiO1xuaW1wb3J0IHsgaXNEZXNrdG9wLCB1c2VMYXlvdXRUeXBlLCB1c2VTdG9yZSB9IGZyb20gXCJAb3Blbm1ycy9lc20tcmVhY3QtdXRpbHNcIjtcbmltcG9ydCB7IGxvYWRMaWZlQ3ljbGVzIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1yb3V0ZXNcIjtcbmltcG9ydCB7IGdldENvcmVUcmFuc2xhdGlvbiB9IGZyb20gXCJAb3Blbm1ycy9lc20tdHJhbnNsYXRpb25zXCI7XG5pbXBvcnQgeyBBcnJvd1JpZ2h0SWNvbiwgQ2xvc2VJY29uIH0gZnJvbSBcIi4uL2ljb25zL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBjbG9zZVdvcmtzcGFjZUdyb3VwMiwgdXNlV29ya3NwYWNlMlN0b3JlIH0gZnJvbSBcIi4vd29ya3NwYWNlMi5qc1wiO1xuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi93b3Jrc3BhY2UyLm1vZHVsZS5zY3NzXCI7XG4vLyBtb2R1bGUtbGV2ZWwgc28gdGhlIHN0b3JlIHN1YnNjcmlwdGlvbidzIHNuYXBzaG90IGdldHRlciBzdGF5cyBzdGFibGUgYWNyb3NzIHJlbmRlcnNcbmNvbnN0IHNlbGVjdFJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lID0gKHN0YXRlKT0+c3RhdGUucmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWU7XG4vKipcbiAqIFJlbmRlcnMgYW4gb3BlbmVkIHdvcmtzcGFjZSB3aW5kb3cuIGBhY3Rpb25zYCBkZXRlcm1pbmVzIHdoaWNoIHN0b3JlIHRoZSB3aW5kb3cncyB3b3Jrc3BhY2VzXG4gKiBuYXZpZ2F0ZSB3aXRoaW46IHRoZSBnbG9iYWwgd29ya3NwYWNlIHdpbmRvdyBzeXN0ZW0sIG9yIGFuIGA8RXhwb3J0ZWRXb3Jrc3BhY2U+YCdzIGxvY2FsIHN0b3JlLlxuICovIGNvbnN0IEFjdGl2ZVdvcmtzcGFjZVdpbmRvdyA9ICh7IG9wZW5lZFdpbmRvdywgZ3JvdXBQcm9wcywgYWN0aW9ucywgcmVuZGVyQ2hyb21lLCBzaG93QWN0aW9uTWVudSB9KT0+e1xuICAgIGNvbnN0IHsgb3BlbmVkV29ya3NwYWNlcyB9ID0gb3BlbmVkV2luZG93O1xuICAgIC8vIEtleWVkIGJ5IG9wZW5lZCB3b3Jrc3BhY2UgdXVpZCByYXRoZXIgdGhhbiBzdGFjayBpbmRleC4gVGhlIGxpZmVjeWNsZXMgbG9hZFxuICAgIC8vIGFzeW5jaHJvbm91c2x5LCBzbyB3aGVuIHRoZSBzdGFjayBjaGFuZ2VzIChhIHdvcmtzcGFjZSBhdCBzb21lIHBvc2l0aW9uIGlzXG4gICAgLy8gcmVwbGFjZWQgYnkgYW5vdGhlciwgZm9yIGV4YW1wbGUgY2xvc2luZyBhIGNoaWxkIHdvcmtzcGFjZSBhbmQgaW1tZWRpYXRlbHlcbiAgICAvLyBvcGVuaW5nIGEgZGlmZmVyZW50IG9uZSksIGFuIGluZGV4LWJhc2VkIGxvb2t1cCBjYW4gaGFuZCB0aGUgbmV3IHdvcmtzcGFjZVxuICAgIC8vIHRoZSBwcmV2aW91cyB3b3Jrc3BhY2UncyBjb21wb25lbnQgdW50aWwgdGhlIHJlbG9hZCByZXNvbHZlcy4gVGhlIHBhcmNlbFxuICAgIC8vIG1vdW50cyB3aGF0ZXZlciBjb25maWcgaXQgZmlyc3QgcmVjZWl2ZXMsIHNvIHRoZSB3cm9uZyBjb21wb25lbnQgd291bGQgdGhlblxuICAgIC8vIHJlbmRlciB3aXRoIHRoZSBuZXcgd29ya3NwYWNlJ3MgcHJvcHMuXG4gICAgY29uc3QgW2xpZmVDeWNsZXNCeVV1aWQsIHNldExpZmVDeWNsZXNCeVV1aWRdID0gdXNlU3RhdGUoe30pO1xuICAgIC8vIFJlYWN0aXZlIHNvIHRoZSBlZmZlY3QgcmV0cmllcyB3aGVuIGEgd29ya3NwYWNlIHJlZ2lzdGVycyBhZnRlciBtb3VudC5cbiAgICBjb25zdCByZWdpc3RlcmVkV29ya3NwYWNlc0J5TmFtZSA9IHVzZVN0b3JlKHdvcmtzcGFjZTJTdG9yZSwgc2VsZWN0UmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWUpO1xuICAgIHVzZUVmZmVjdCgoKT0+e1xuICAgICAgICBsZXQgY2FuY2VsbGVkID0gZmFsc2U7XG4gICAgICAgIFByb21pc2UuYWxsKG9wZW5lZFdvcmtzcGFjZXMubWFwKGFzeW5jIChvcGVuZWRXb3Jrc3BhY2UpPT57XG4gICAgICAgICAgICBjb25zdCB3b3Jrc3BhY2VEZWYgPSByZWdpc3RlcmVkV29ya3NwYWNlc0J5TmFtZVtvcGVuZWRXb3Jrc3BhY2Uud29ya3NwYWNlTmFtZV07XG4gICAgICAgICAgICBpZiAoIXdvcmtzcGFjZURlZikge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgeyBtb2R1bGVOYW1lLCBjb21wb25lbnQgfSA9IHdvcmtzcGFjZURlZjtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgb3BlbmVkV29ya3NwYWNlLnV1aWQsXG4gICAgICAgICAgICAgICAgYXdhaXQgbG9hZExpZmVDeWNsZXMobW9kdWxlTmFtZSwgY29tcG9uZW50KVxuICAgICAgICAgICAgXTtcbiAgICAgICAgfSkpLnRoZW4oKGVudHJpZXMpPT57XG4gICAgICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgIHNldExpZmVDeWNsZXNCeVV1aWQoT2JqZWN0LmZyb21FbnRyaWVzKGVudHJpZXMuZmlsdGVyKChlbnRyeSk9PmVudHJ5ICE9IG51bGwpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIGNhbmNlbGxlZCA9IHRydWU7XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBvcGVuZWRXb3Jrc3BhY2VzLFxuICAgICAgICByZWdpc3RlcmVkV29ya3NwYWNlc0J5TmFtZVxuICAgIF0pO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9qc3goX0ZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBvcGVuZWRXb3Jrc3BhY2VzLm1hcCgob3BlbmVkV29ya3NwYWNlLCBpKT0+LyojX19QVVJFX18qLyBfanN4KEFjdGl2ZVdvcmtzcGFjZSwge1xuICAgICAgICAgICAgICAgIG9wZW5lZFdvcmtzcGFjZTogb3BlbmVkV29ya3NwYWNlLFxuICAgICAgICAgICAgICAgIG9wZW5lZFdpbmRvdzogb3BlbmVkV2luZG93LFxuICAgICAgICAgICAgICAgIGdyb3VwUHJvcHM6IGdyb3VwUHJvcHMsXG4gICAgICAgICAgICAgICAgYWN0aW9uczogYWN0aW9ucyxcbiAgICAgICAgICAgICAgICByZW5kZXJDaHJvbWU6IHJlbmRlckNocm9tZSxcbiAgICAgICAgICAgICAgICBsaWZlQ3ljbGU6IGxpZmVDeWNsZXNCeVV1aWRbb3BlbmVkV29ya3NwYWNlLnV1aWRdLFxuICAgICAgICAgICAgICAgIGlzUm9vdFdvcmtzcGFjZTogaSA9PT0gMCxcbiAgICAgICAgICAgICAgICBpc0xlYWZXb3Jrc3BhY2U6IGkgPT09IG9wZW5lZFdvcmtzcGFjZXMubGVuZ3RoIC0gMSxcbiAgICAgICAgICAgICAgICBzaG93QWN0aW9uTWVudTogc2hvd0FjdGlvbk1lbnVcbiAgICAgICAgICAgIH0sIG9wZW5lZFdvcmtzcGFjZS51dWlkKSlcbiAgICB9KTtcbn07XG5jb25zdCBtb3VudFBhcmNlbCA9IGNyZWF0ZVBhcmNlbE1vdW50ZXIoKTtcbmNvbnN0IEFjdGl2ZVdvcmtzcGFjZSA9ICh7IGxpZmVDeWNsZSwgb3BlbmVkV29ya3NwYWNlLCBvcGVuZWRXaW5kb3csIGdyb3VwUHJvcHMsIGFjdGlvbnMsIHJlbmRlckNocm9tZSwgaXNSb290V29ya3NwYWNlLCBpc0xlYWZXb3Jrc3BhY2UsIHNob3dBY3Rpb25NZW51IH0pPT57XG4gICAgY29uc3QgcHJvcHMgPSB1c2VNZW1vKCgpPT5vcGVuZWRXb3Jrc3BhY2UgJiYge1xuICAgICAgICAgICAgY2xvc2VXb3Jrc3BhY2U6IGFzeW5jIChvcHRpb25zID0ge30pPT57XG4gICAgICAgICAgICAgICAgY29uc3QgeyBjbG9zZVdpbmRvdyA9IGZhbHNlLCBkaXNjYXJkVW5zYXZlZENoYW5nZXMgPSBmYWxzZSB9ID0gb3B0aW9ucztcbiAgICAgICAgICAgICAgICBpZiAoY2xvc2VXaW5kb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2tUb0Nsb3NlV29ya3NwYWNlcyA9IGRpc2NhcmRVbnNhdmVkQ2hhbmdlcyB8fCBhd2FpdCBhY3Rpb25zLnByb21wdEZvckNsb3NpbmdXb3Jrc3BhY2VzKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChva1RvQ2xvc2VXb3Jrc3BhY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLmNsb3NlV29ya3NwYWNlKG9wZW5lZFdpbmRvdy5vcGVuZWRXb3Jrc3BhY2VzWzBdLndvcmtzcGFjZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9rVG9DbG9zZVdvcmtzcGFjZXMgPSBkaXNjYXJkVW5zYXZlZENoYW5nZXMgfHwgYXdhaXQgYWN0aW9ucy5wcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyhvcGVuZWRXb3Jrc3BhY2Uud29ya3NwYWNlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChva1RvQ2xvc2VXb3Jrc3BhY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLmNsb3NlV29ya3NwYWNlKG9wZW5lZFdvcmtzcGFjZS53b3Jrc3BhY2VOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGF1bmNoQ2hpbGRXb3Jrc3BhY2U6IGFzeW5jIChjaGlsZFdvcmtzcGFjZU5hbWUsIGNoaWxkV29ya3NwYWNlUHJvcHMpPT57XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50V29ya3NwYWNlTmFtZSA9IG9wZW5lZFdvcmtzcGFjZS53b3Jrc3BhY2VOYW1lO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgb3BlbmVkV29ya3NwYWNlcyB9ID0gb3BlbmVkV2luZG93O1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudEluZGV4ID0gb3BlbmVkV29ya3NwYWNlcy5maW5kSW5kZXgoKHcpPT53LndvcmtzcGFjZU5hbWUgPT09IHBhcmVudFdvcmtzcGFjZU5hbWUpO1xuICAgICAgICAgICAgICAgIGlmIChwYXJlbnRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBpc0xlYWYgPSBwYXJlbnRJbmRleCA9PT0gb3BlbmVkV29ya3NwYWNlcy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgIGlmICghaXNMZWFmKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIGFyZSB3b3Jrc3BhY2VzIGFib3ZlIHRoZSBwYXJlbnQgdGhhdCB3aWxsIGJlIGNsb3NlZC5cbiAgICAgICAgICAgICAgICAgICAgLy8gUHJvbXB0IGlmIGFueSBvZiB0aGVtIGhhdmUgdW5zYXZlZCBjaGFuZ2VzLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCB3b3Jrc3BhY2VzQWJvdmVQYXJlbnQgPSBvcGVuZWRXb3Jrc3BhY2VzLnNsaWNlKHBhcmVudEluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh3b3Jrc3BhY2VzQWJvdmVQYXJlbnQuc29tZSgodyk9PncuaGFzVW5zYXZlZENoYW5nZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBva1RvQ2xvc2UgPSBhd2FpdCBhY3Rpb25zLnByb21wdEZvckNsb3NpbmdXb3Jrc3BhY2VzKG9wZW5lZFdvcmtzcGFjZXNbcGFyZW50SW5kZXggKyAxXS53b3Jrc3BhY2VOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb2tUb0Nsb3NlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFjdGlvbnMub3BlbkNoaWxkV29ya3NwYWNlKHBhcmVudFdvcmtzcGFjZU5hbWUsIGNoaWxkV29ya3NwYWNlTmFtZSwgY2hpbGRXb3Jrc3BhY2VQcm9wcyB8fCB7fSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0V29ya3NwYWNlVGl0bGU6ICh0aXRsZSk9PmFjdGlvbnMuc2V0V29ya3NwYWNlVGl0bGUob3BlbmVkV29ya3NwYWNlLnV1aWQsIHRpdGxlKSxcbiAgICAgICAgICAgIHNldEhhc1Vuc2F2ZWRDaGFuZ2VzOiAoaGFzVW5zYXZlZENoYW5nZXMpPT5hY3Rpb25zLnNldEhhc1Vuc2F2ZWRDaGFuZ2VzKG9wZW5lZFdvcmtzcGFjZS51dWlkLCBoYXNVbnNhdmVkQ2hhbmdlcyksXG4gICAgICAgICAgICB3b3Jrc3BhY2VOYW1lOiBvcGVuZWRXb3Jrc3BhY2Uud29ya3NwYWNlTmFtZSxcbiAgICAgICAgICAgIHdvcmtzcGFjZVByb3BzOiBvcGVuZWRXb3Jrc3BhY2UucHJvcHMsXG4gICAgICAgICAgICB3aW5kb3dQcm9wczogb3BlbmVkV2luZG93LnByb3BzLFxuICAgICAgICAgICAgZ3JvdXBQcm9wcyxcbiAgICAgICAgICAgIHdvcmtzcGFjZU1ldGE6IHdvcmtzcGFjZTJTdG9yZS5nZXRTdGF0ZSgpLnJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lW29wZW5lZFdvcmtzcGFjZS53b3Jrc3BhY2VOYW1lXT8ubWV0YSA/PyB7fSxcbiAgICAgICAgICAgIGlzUm9vdFdvcmtzcGFjZSxcbiAgICAgICAgICAgIGlzTGVhZldvcmtzcGFjZSxcbiAgICAgICAgICAgIHdpbmRvd05hbWU6IG9wZW5lZFdpbmRvdy53aW5kb3dOYW1lLFxuICAgICAgICAgICAgc2hvd0FjdGlvbk1lbnVcbiAgICAgICAgfSwgW1xuICAgICAgICBvcGVuZWRXb3Jrc3BhY2UsXG4gICAgICAgIG9wZW5lZFdpbmRvdyxcbiAgICAgICAgZ3JvdXBQcm9wcyxcbiAgICAgICAgYWN0aW9ucyxcbiAgICAgICAgaXNSb290V29ya3NwYWNlLFxuICAgICAgICBpc0xlYWZXb3Jrc3BhY2UsXG4gICAgICAgIHNob3dBY3Rpb25NZW51XG4gICAgXSk7XG4gICAgLy8gSW4gYmFyZSBtb2RlICg8RXhwb3J0ZWRXb3Jrc3BhY2U+KSB0aGVyZSBpcyBubyBjaHJvbWUgdG8gc3RhY2sgd29ya3NwYWNlcywgc28gZXZlcnkgbm9uLWxlYWZcbiAgICAvLyB3b3Jrc3BhY2UgaXMgaGlkZGVuIChub3QgdW5tb3VudGVkLCBzbyBpdCBrZWVwcyBpdHMgc3RhdGUpIGFuZCB0aGUgbGVhZiBjb3ZlcnMgdGhlbS4gSW4gY2hyb21lXG4gICAgLy8gbW9kZSB0aGUgYWJzb2x1dGUtcG9zaXRpb25lZCBXb3Jrc3BhY2VDaHJvbWUgY29udGFpbmVycyBoYW5kbGUgc3RhY2tpbmcsIHNvIHRoaXMgY2xhc3MgaXMgbm90XG4gICAgLy8gYXBwbGllZCB0aGVyZS5cbiAgICBjb25zdCBoaWRlQmVoaW5kTGVhZiA9ICFyZW5kZXJDaHJvbWUgJiYgIWlzTGVhZldvcmtzcGFjZTtcbiAgICBjb25zdCBjb250ZW50ID0gdXNlTWVtbygoKT0+bGlmZUN5Y2xlID8gLyojX19QVVJFX18qLyBfanN4KFBhcmNlbCwge1xuICAgICAgICAgICAgY29uZmlnOiBsaWZlQ3ljbGUsXG4gICAgICAgICAgICBtb3VudFBhcmNlbDogbW91bnRQYXJjZWwsXG4gICAgICAgICAgICB3cmFwV2l0aDogXCJkaXZcIixcbiAgICAgICAgICAgIHdyYXBDbGFzc05hbWU6IGNsYXNzTmFtZXMoc3R5bGVzLndvcmtzcGFjZUNvbnRlbnQsIHtcbiAgICAgICAgICAgICAgICBbc3R5bGVzLmhpZGRlbkV4dHJhV29ya3NwYWNlXTogaGlkZUJlaGluZExlYWZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLi4ucHJvcHNcbiAgICAgICAgfSwgb3BlbmVkV29ya3NwYWNlLndvcmtzcGFjZU5hbWUpIDogbnVsbCwgW1xuICAgICAgICBsaWZlQ3ljbGUsXG4gICAgICAgIG9wZW5lZFdvcmtzcGFjZS53b3Jrc3BhY2VOYW1lLFxuICAgICAgICBwcm9wcyxcbiAgICAgICAgaGlkZUJlaGluZExlYWZcbiAgICBdKTtcbiAgICBpZiAoIXJlbmRlckNocm9tZSkge1xuICAgICAgICByZXR1cm4gY29udGVudCA/PyAvKiNfX1BVUkVfXyovIF9qc3goSW5saW5lTG9hZGluZywge1xuICAgICAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWVzKHN0eWxlcy5sb2FkZXIsIHtcbiAgICAgICAgICAgICAgICBbc3R5bGVzLmhpZGRlbkV4dHJhV29ya3NwYWNlXTogaGlkZUJlaGluZExlYWZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke2dldENvcmVUcmFuc2xhdGlvbignbG9hZGluZycpfWBcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9qc3goV29ya3NwYWNlQ2hyb21lLCB7XG4gICAgICAgIG9wZW5lZFdvcmtzcGFjZTogb3BlbmVkV29ya3NwYWNlLFxuICAgICAgICBvcGVuZWRXaW5kb3c6IG9wZW5lZFdpbmRvdyxcbiAgICAgICAgaXNSb290V29ya3NwYWNlOiBpc1Jvb3RXb3Jrc3BhY2UsXG4gICAgICAgIHNob3dBY3Rpb25NZW51OiBzaG93QWN0aW9uTWVudSxcbiAgICAgICAgY2xvc2VXaW5kb3c6ICgpPT5wcm9wcy5jbG9zZVdvcmtzcGFjZSh7XG4gICAgICAgICAgICAgICAgY2xvc2VXaW5kb3c6IHRydWVcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBjaGlsZHJlbjogY29udGVudFxuICAgIH0pO1xufTtcbi8qKlxuICogUmVuZGVycyB0aGUgY29udGFpbmVycywgdGl0bGUgYmFyIGFuZCB3aW5kb3cgYnV0dG9ucyBhcm91bmQgYSB3b3Jrc3BhY2UgaW4gdGhlIGdsb2JhbCB3b3Jrc3BhY2VcbiAqIHdpbmRvdyBzeXN0ZW0uXG4gKi8gY29uc3QgV29ya3NwYWNlQ2hyb21lID0gKHsgb3BlbmVkV29ya3NwYWNlLCBvcGVuZWRXaW5kb3csIGlzUm9vdFdvcmtzcGFjZSwgc2hvd0FjdGlvbk1lbnUsIGNsb3NlV2luZG93LCBjaGlsZHJlbiB9KT0+e1xuICAgIGNvbnN0IGxheW91dCA9IHVzZUxheW91dFR5cGUoKTtcbiAgICBjb25zdCB7IG9wZW5lZEdyb3VwLCBvcGVuZWRXaW5kb3dzLCByZWdpc3RlcmVkV2luZG93c0J5TmFtZSwgcmVnaXN0ZXJlZEdyb3Vwc0J5TmFtZSwgaXNNb3N0UmVjZW50bHlPcGVuZWRXaW5kb3dIaWRkZW4sIHNldFdpbmRvd01heGltaXplZCwgaGlkZVdpbmRvdyB9ID0gdXNlV29ya3NwYWNlMlN0b3JlKCk7XG4gICAgY29uc3Qgd2luZG93TmFtZSA9IG9wZW5lZFdpbmRvdy53aW5kb3dOYW1lO1xuICAgIGNvbnN0IHsgbWF4aW1pemVkIH0gPSBvcGVuZWRXaW5kb3c7XG4gICAgY29uc3QgdGl0bGUgPSBvcGVuZWRXb3Jrc3BhY2UudGl0bGUgPz8gJyc7XG4gICAgY29uc3Qgd2luZG93RGVmID0gcmVnaXN0ZXJlZFdpbmRvd3NCeU5hbWVbd2luZG93TmFtZV07XG4gICAgY29uc3Qgd2lkdGggPSB3aW5kb3dEZWY/LndpZHRoID8/ICduYXJyb3cnO1xuICAgIGNvbnN0IGljb24gPSB3aW5kb3dEZWY/Lmljb247XG4gICAgY29uc3QgY2FuTWF4aW1pemUgPSB3aW5kb3dEZWY/LmNhbk1heGltaXplO1xuICAgIGNvbnN0IGNhbkNsb3NlR3JvdXAgPSBvcGVuZWRHcm91cCA/IHJlZ2lzdGVyZWRHcm91cHNCeU5hbWVbb3BlbmVkR3JvdXAuZ3JvdXBOYW1lXT8ucGVyc2lzdGVuY2UgPT09ICdjbG9zYWJsZScgOiBmYWxzZTtcbiAgICBjb25zdCBjYW5IaWRlID0gISFpY29uICYmICFjYW5DbG9zZUdyb3VwO1xuICAgIGNvbnN0IG9wZW5lZFdpbmRvd0luZGV4ID0gb3BlbmVkV2luZG93cy5maW5kSW5kZXgoKHcpPT53LndpbmRvd05hbWUgPT09IHdpbmRvd05hbWUpO1xuICAgIGNvbnN0IGlzV2luZG93SGlkZGVuID0gb3BlbmVkV2luZG93SW5kZXggPCBvcGVuZWRXaW5kb3dzLmxlbmd0aCAtIDEgfHwgaXNNb3N0UmVjZW50bHlPcGVuZWRXaW5kb3dIaWRkZW47XG4gICAgY29uc3QgaXNBY3Rpb25NZW51T3BlbmVkID0gT2JqZWN0LnZhbHVlcyhyZWdpc3RlcmVkV2luZG93c0J5TmFtZSkuc29tZSgod2luZG93KT0+d2luZG93Lmdyb3VwID09PSBvcGVuZWRHcm91cD8uZ3JvdXBOYW1lICYmIHdpbmRvdy5pY29uICE9PSB1bmRlZmluZWQpO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9qc3hzKFwiZGl2XCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWVzKHN0eWxlcy53b3Jrc3BhY2VPdXRlckNvbnRhaW5lciwge1xuICAgICAgICAgICAgW3N0eWxlcy5uYXJyb3dXb3Jrc3BhY2VdOiB3aWR0aCA9PT0gJ25hcnJvdycsXG4gICAgICAgICAgICBbc3R5bGVzLndpZGVyV29ya3NwYWNlXTogd2lkdGggPT09ICd3aWRlcicsXG4gICAgICAgICAgICBbc3R5bGVzLmV4dHJhV2lkZVdvcmtzcGFjZV06IHdpZHRoID09PSAnZXh0cmEtd2lkZScsXG4gICAgICAgICAgICBbc3R5bGVzLmlzQWN0aW9uTWVudU9wZW5lZF06IGlzQWN0aW9uTWVudU9wZW5lZFxuICAgICAgICB9KSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gX2pzeChcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWVzKHN0eWxlcy53b3Jrc3BhY2VTcGFjZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiBpc1dpbmRvd0hpZGRlblxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gX2pzeChcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWVzKHN0eWxlcy53b3Jrc3BhY2VNaWRkbGVDb250YWluZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlcy5tYXhpbWl6ZWRdOiBtYXhpbWl6ZWQsXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZXMuaGlkZGVuXTogaXNXaW5kb3dIaWRkZW4sXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZXMuaXNSb290V29ya3NwYWNlXTogaXNSb290V29ya3NwYWNlLFxuICAgICAgICAgICAgICAgICAgICBbc3R5bGVzLnNob3dBY3Rpb25NZW51XTogc2hvd0FjdGlvbk1lbnVcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyBfanN4KFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWVzKHN0eWxlcy53b3Jrc3BhY2VJbm5lckNvbnRhaW5lciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlcy5tYXhpbWl6ZWRdOiBtYXhpbWl6ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVzLmhpZGRlbl06IGlzV2luZG93SGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlcy5pc1Jvb3RXb3Jrc3BhY2VdOiBpc1Jvb3RXb3Jrc3BhY2VcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbiA/IC8qI19fUFVSRV9fKi8gX2pzeHMoX0ZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gX2pzeHMoSGVhZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBnZXRDb3JlVHJhbnNsYXRpb24oJ3dvcmtzcGFjZUhlYWRlcicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHN0eWxlcy5oZWFkZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovIF9qc3goSGVhZGVyTmFtZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeDogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyBfanN4KFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHN0eWxlcy5vdmVybGF5SGVhZGVyU3BhY2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gX2pzeChIZWFkZXJHbG9iYWxCYXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHN0eWxlcy5oZWFkZXJCdXR0b25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBpc0Rlc2t0b3AobGF5b3V0KSA/IC8qI19fUFVSRV9fKi8gX2pzeHMoX0ZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuTWF4aW1pemUgfHwgbWF4aW1pemVkKSAmJiAvKiNfX1BVUkVfXyovIF9qc3goSGVhZGVyR2xvYmFsQWN0aW9uLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IG1heGltaXplZCA/IGdldENvcmVUcmFuc2xhdGlvbignbWluaW1pemUnKSA6IGdldENvcmVUcmFuc2xhdGlvbignbWF4aW1pemUnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKT0+c2V0V2luZG93TWF4aW1pemVkKHdpbmRvd05hbWUsICFtYXhpbWl6ZWQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBtYXhpbWl6ZWQgPyAvKiNfX1BVUkVfXyovIF9qc3goTWluaW1pemUsIHt9KSA6IC8qI19fUFVSRV9fKi8gX2pzeChNYXhpbWl6ZSwge30pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbkhpZGUgJiYgLyojX19QVVJFX18qLyBfanN4KEhlYWRlckdsb2JhbEFjdGlvbiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBnZXRDb3JlVHJhbnNsYXRpb24oJ2hpZGUnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKT0+aGlkZVdpbmRvdygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovIF9qc3goQXJyb3dSaWdodEljb24sIHt9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhY2FuQ2xvc2VHcm91cCAmJiAvKiNfX1BVUkVfXyovIF9qc3goSGVhZGVyR2xvYmFsQWN0aW9uLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGdldENvcmVUcmFuc2xhdGlvbignY2xvc2UnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiBjbG9zZVdpbmRvdyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyBfanN4KENsb3NlSWNvbiwge30pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiAvKiNfX1BVUkVfXyovIF9qc3hzKF9GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuSGlkZSAmJiAvKiNfX1BVUkVfXyovIF9qc3goSGVhZGVyR2xvYmFsQWN0aW9uLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGdldENvcmVUcmFuc2xhdGlvbignaGlkZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6ICgpPT5oaWRlV2luZG93KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gX2pzeChEb3duVG9Cb3R0b20sIHt9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovIF9qc3goSGVhZGVyR2xvYmFsQWN0aW9uLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGdldENvcmVUcmFuc2xhdGlvbignY2xvc2UnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2FuQ2xvc2VHcm91cCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCBjbG9zZVdvcmtzcGFjZUdyb3VwMigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VXaW5kb3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gX2pzeChDbG9zZUljb24sIHt9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW5cbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSkgOiAvKiNfX1BVUkVfXyovIF9qc3goSW5saW5lTG9hZGluZywge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBzdHlsZXMubG9hZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke2dldENvcmVUcmFuc2xhdGlvbignbG9hZGluZycpfSAuLi5gXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn07XG5leHBvcnQgZGVmYXVsdCBBY3RpdmVXb3Jrc3BhY2VXaW5kb3c7XG4iXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlU3RhdGUiLCJjbGFzc05hbWVzIiwiUGFyY2VsIiwiSGVhZGVyIiwiSGVhZGVyR2xvYmFsQWN0aW9uIiwiSGVhZGVyR2xvYmFsQmFyIiwiSGVhZGVyTmFtZSIsIklubGluZUxvYWRpbmciLCJEb3duVG9Cb3R0b20iLCJNYXhpbWl6ZSIsIk1pbmltaXplIiwiY3JlYXRlUGFyY2VsTW91bnRlciIsIndvcmtzcGFjZTJTdG9yZSIsImlzRGVza3RvcCIsInVzZUxheW91dFR5cGUiLCJ1c2VTdG9yZSIsImxvYWRMaWZlQ3ljbGVzIiwiZ2V0Q29yZVRyYW5zbGF0aW9uIiwiQXJyb3dSaWdodEljb24iLCJDbG9zZUljb24iLCJjbG9zZVdvcmtzcGFjZUdyb3VwMiIsInVzZVdvcmtzcGFjZTJTdG9yZSIsInN0eWxlcyIsInNlbGVjdFJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lIiwic3RhdGUiLCJBY3RpdmVXb3Jrc3BhY2VXaW5kb3ciLCJvcGVuZWRXaW5kb3ciLCJncm91cFByb3BzIiwiYWN0aW9ucyIsInJlbmRlckNocm9tZSIsInNob3dBY3Rpb25NZW51Iiwib3BlbmVkV29ya3NwYWNlcyIsImxpZmVDeWNsZXNCeVV1aWQiLCJzZXRMaWZlQ3ljbGVzQnlVdWlkIiwicmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWUiLCJjYW5jZWxsZWQiLCJQcm9taXNlIiwib3BlbmVkV29ya3NwYWNlIiwid29ya3NwYWNlRGVmIiwibW9kdWxlTmFtZSIsImNvbXBvbmVudCIsImVudHJpZXMiLCJPYmplY3QiLCJlbnRyeSIsImkiLCJBY3RpdmVXb3Jrc3BhY2UiLCJtb3VudFBhcmNlbCIsImxpZmVDeWNsZSIsImlzUm9vdFdvcmtzcGFjZSIsImlzTGVhZldvcmtzcGFjZSIsInByb3BzIiwib3B0aW9ucyIsImNsb3NlV2luZG93IiwiZGlzY2FyZFVuc2F2ZWRDaGFuZ2VzIiwib2tUb0Nsb3NlV29ya3NwYWNlcyIsImNoaWxkV29ya3NwYWNlTmFtZSIsImNoaWxkV29ya3NwYWNlUHJvcHMiLCJwYXJlbnRXb3Jrc3BhY2VOYW1lIiwicGFyZW50SW5kZXgiLCJ3IiwiaXNMZWFmIiwid29ya3NwYWNlc0Fib3ZlUGFyZW50Iiwib2tUb0Nsb3NlIiwidGl0bGUiLCJoYXNVbnNhdmVkQ2hhbmdlcyIsImhpZGVCZWhpbmRMZWFmIiwiY29udGVudCIsIldvcmtzcGFjZUNocm9tZSIsImNoaWxkcmVuIiwibGF5b3V0Iiwib3BlbmVkR3JvdXAiLCJvcGVuZWRXaW5kb3dzIiwicmVnaXN0ZXJlZFdpbmRvd3NCeU5hbWUiLCJyZWdpc3RlcmVkR3JvdXBzQnlOYW1lIiwiaXNNb3N0UmVjZW50bHlPcGVuZWRXaW5kb3dIaWRkZW4iLCJzZXRXaW5kb3dNYXhpbWl6ZWQiLCJoaWRlV2luZG93Iiwid2luZG93TmFtZSIsIm1heGltaXplZCIsIndpbmRvd0RlZiIsIndpZHRoIiwiaWNvbiIsImNhbk1heGltaXplIiwiY2FuQ2xvc2VHcm91cCIsImNhbkhpZGUiLCJvcGVuZWRXaW5kb3dJbmRleCIsImlzV2luZG93SGlkZGVuIiwiaXNBY3Rpb25NZW51T3BlbmVkIiwid2luZG93IiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBc0Y7QUFDMUI7QUFDeEI7QUFDUztBQUMwRDtBQUNoQztBQUNRO0FBQ0Q7QUFDekI7QUFDVTtBQUNEO0FBQ2E7QUFDN0I7QUFDOUMsdUZBQXVGO0FBQ3ZGLE1BQU1nQyxtQ0FBbUMsQ0FBQ0MsUUFBUUEsTUFBTSwwQkFBMEI7QUFDbEY7OztDQUdDLEdBQUcsTUFBTUMsd0JBQXdCLENBQUMsRUFBRUMsWUFBWSxFQUFFQyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsWUFBWSxFQUFFQyxjQUFjLEVBQUU7SUFDbEcsTUFBTSxFQUFFQyxnQkFBZ0IsRUFBRSxHQUFHTDtJQUM3Qiw4RUFBOEU7SUFDOUUsNkVBQTZFO0lBQzdFLDZFQUE2RTtJQUM3RSw2RUFBNkU7SUFDN0UsMkVBQTJFO0lBQzNFLDhFQUE4RTtJQUM5RSx5Q0FBeUM7SUFDekMsTUFB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\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/dist/workspaces2/active-workspace-window.component.js\n\n}");
834
+ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n \"default\": () => (__rspack_default_export)\n});\n/* import */ var react_jsx_runtime__rspack_import_0 = __webpack_require__(\"../../../node_modules/react/jsx-runtime.js\");\n/* import */ var react__rspack_import_1 = __webpack_require__(\"webpack/sharing/consume/default/react/react\");\n/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);\n/* import */ var classnames__rspack_import_2 = __webpack_require__(\"../../../node_modules/classnames/index.js\");\n/* import */ var classnames__rspack_import_2_default = /*#__PURE__*/__webpack_require__.n(classnames__rspack_import_2);\n/* import */ var single_spa_react_parcel__rspack_import_3 = __webpack_require__(\"../../../node_modules/single-spa-react/lib/esm/parcel.js\");\n/* import */ var _carbon_react__rspack_import_4 = __webpack_require__(\"webpack/sharing/consume/default/@carbon/react/@carbon/react\");\n/* import */ var _carbon_react__rspack_import_4_default = /*#__PURE__*/__webpack_require__.n(_carbon_react__rspack_import_4);\n/* import */ var _carbon_react_icons__rspack_import_12 = __webpack_require__(\"../../../node_modules/@carbon/icons-react/es/generated/bucket-11.js\");\n/* import */ var _carbon_react_icons__rspack_import_13 = __webpack_require__(\"../../../node_modules/@carbon/icons-react/es/generated/bucket-6.js\");\n/* import */ var _openmrs_esm_extensions__rspack_import_5 = __webpack_require__(\"../../framework/esm-extensions/dist/index.js\");\n/* import */ var _openmrs_esm_react_utils__rspack_import_6 = __webpack_require__(\"../../framework/esm-react-utils/dist/index.js\");\n/* import */ var _openmrs_esm_routes__rspack_import_11 = __webpack_require__(\"../../framework/esm-routes/dist/loaders/load-lifecycles.js\");\n/* import */ var _openmrs_esm_translations__rspack_import_7 = __webpack_require__(\"../../framework/esm-translations/dist/index.js\");\n/* import */ var _icons_index_js__rspack_import_8 = __webpack_require__(\"../../framework/esm-styleguide/dist/icons/index.js\");\n/* import */ var _workspace2_js__rspack_import_9 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/workspace2.js\");\n/* import */ var _workspace2_module_scss__rspack_import_10 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/workspace2.module.scss\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n// module-level so the store subscription's snapshot getter stays stable across renders\nconst selectRegisteredWorkspacesByName = (state)=>state.registeredWorkspacesByName;\n/**\n * Renders an opened workspace window. `actions` determines which store the window's workspaces\n * navigate within: the global workspace window system, or an `<ExportedWorkspace>`'s local store.\n */ const ActiveWorkspaceWindow = ({ openedWindow, groupProps, actions, renderChrome, showActionMenu })=>{\n const { openedWorkspaces } = openedWindow;\n // Keyed by opened workspace uuid rather than stack index. The lifecycles load\n // asynchronously, so when the stack changes (a workspace at some position is\n // replaced by another, for example closing a child workspace and immediately\n // opening a different one), an index-based lookup can hand the new workspace\n // the previous workspace's component until the reload resolves. The parcel\n // mounts whatever config it first receives, so the wrong component would then\n // render with the new workspace's props.\n const [lifeCyclesByUuid, setLifeCyclesByUuid] = (0,react__rspack_import_1.useState)({});\n // Reactive so the effect retries when a workspace registers after mount.\n const registeredWorkspacesByName = (0,_openmrs_esm_react_utils__rspack_import_6.useStore)(_openmrs_esm_extensions__rspack_import_5.workspace2Store, selectRegisteredWorkspacesByName);\n (0,react__rspack_import_1.useEffect)(()=>{\n let cancelled = false;\n Promise.all(openedWorkspaces.map(async (openedWorkspace)=>{\n const workspaceDef = registeredWorkspacesByName[openedWorkspace.workspaceName];\n if (!workspaceDef) {\n return null;\n }\n const { moduleName, component } = workspaceDef;\n return [\n openedWorkspace.uuid,\n await (0,_openmrs_esm_routes__rspack_import_11.loadLifeCycles)(moduleName, component)\n ];\n })).then((entries)=>{\n if (!cancelled) {\n setLifeCyclesByUuid(Object.fromEntries(entries.filter((entry)=>entry != null)));\n }\n });\n return ()=>{\n cancelled = true;\n };\n }, [\n openedWorkspaces,\n registeredWorkspacesByName\n ]);\n return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(react_jsx_runtime__rspack_import_0.Fragment, {\n children: openedWorkspaces.map((openedWorkspace, i)=>/*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(ActiveWorkspace, {\n openedWorkspace: openedWorkspace,\n openedWindow: openedWindow,\n groupProps: groupProps,\n actions: actions,\n renderChrome: renderChrome,\n lifeCycle: lifeCyclesByUuid[openedWorkspace.uuid],\n isRootWorkspace: i === 0,\n isLeafWorkspace: i === openedWorkspaces.length - 1,\n showActionMenu: showActionMenu\n }, openedWorkspace.uuid))\n });\n};\nconst mountParcel = (0,_openmrs_esm_extensions__rspack_import_5.createParcelMounter)();\nconst ActiveWorkspace = ({ lifeCycle, openedWorkspace, openedWindow, groupProps, actions, renderChrome, isRootWorkspace, isLeafWorkspace, showActionMenu })=>{\n const props = (0,react__rspack_import_1.useMemo)(()=>openedWorkspace && {\n closeWorkspace: async (options = {})=>{\n const { closeWindow = false, discardUnsavedChanges = false } = options;\n if (closeWindow) {\n const okToCloseWorkspaces = discardUnsavedChanges || await actions.promptForClosingWorkspaces();\n if (okToCloseWorkspaces) {\n actions.closeWorkspace(openedWindow.openedWorkspaces[0].workspaceName);\n return true;\n }\n return false;\n } else {\n const okToCloseWorkspaces = discardUnsavedChanges || await actions.promptForClosingWorkspaces(openedWorkspace.workspaceName);\n if (okToCloseWorkspaces) {\n actions.closeWorkspace(openedWorkspace.workspaceName);\n return true;\n }\n return false;\n }\n },\n launchChildWorkspace: async (childWorkspaceName, childWorkspaceProps)=>{\n const parentWorkspaceName = openedWorkspace.workspaceName;\n const { openedWorkspaces } = openedWindow;\n const parentIndex = openedWorkspaces.findIndex((w)=>w.workspaceName === parentWorkspaceName);\n if (parentIndex === -1) {\n return;\n }\n const isLeaf = parentIndex === openedWorkspaces.length - 1;\n if (!isLeaf) {\n // There are workspaces above the parent that will be closed.\n // Prompt if any of them have unsaved changes.\n const workspacesAboveParent = openedWorkspaces.slice(parentIndex + 1);\n if (workspacesAboveParent.some((w)=>w.hasUnsavedChanges)) {\n const okToClose = await actions.promptForClosingWorkspaces(openedWorkspaces[parentIndex + 1].workspaceName);\n if (!okToClose) {\n return;\n }\n }\n }\n actions.openChildWorkspace(parentWorkspaceName, childWorkspaceName, childWorkspaceProps || {});\n },\n setWorkspaceTitle: (title)=>actions.setWorkspaceTitle(openedWorkspace.uuid, title),\n setHasUnsavedChanges: (hasUnsavedChanges)=>actions.setHasUnsavedChanges(openedWorkspace.uuid, hasUnsavedChanges),\n workspaceName: openedWorkspace.workspaceName,\n workspaceProps: openedWorkspace.props,\n windowProps: openedWindow.props,\n groupProps,\n workspaceMeta: _openmrs_esm_extensions__rspack_import_5.workspace2Store.getState().registeredWorkspacesByName[openedWorkspace.workspaceName]?.meta ?? {},\n isRootWorkspace,\n isLeafWorkspace,\n windowName: openedWindow.windowName,\n showActionMenu\n }, [\n openedWorkspace,\n openedWindow,\n groupProps,\n actions,\n isRootWorkspace,\n isLeafWorkspace,\n showActionMenu\n ]);\n // In bare mode (<ExportedWorkspace>) there is no chrome to stack workspaces, so every non-leaf\n // workspace is hidden (not unmounted, so it keeps its state) and the leaf covers them. In chrome\n // mode the absolute-positioned WorkspaceChrome containers handle stacking, so this class is not\n // applied there.\n const hideBehindLeaf = !renderChrome && !isLeafWorkspace;\n const content = (0,react__rspack_import_1.useMemo)(()=>lifeCycle ? /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(single_spa_react_parcel__rspack_import_3[\"default\"], {\n config: lifeCycle,\n mountParcel: mountParcel,\n wrapWith: \"div\",\n wrapClassName: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].workspaceContent, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].hiddenExtraWorkspace]: hideBehindLeaf\n }),\n ...props\n }, openedWorkspace.workspaceName) : null, [\n lifeCycle,\n openedWorkspace.workspaceName,\n props,\n hideBehindLeaf\n ]);\n if (!renderChrome) {\n return content ?? /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.InlineLoading, {\n className: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].loader, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].hiddenExtraWorkspace]: hideBehindLeaf\n }),\n description: `${(0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('loading')}`\n });\n }\n return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(WorkspaceChrome, {\n openedWorkspace: openedWorkspace,\n openedWindow: openedWindow,\n isRootWorkspace: isRootWorkspace,\n showActionMenu: showActionMenu,\n closeWindow: ()=>props.closeWorkspace({\n closeWindow: true\n }),\n children: content\n });\n};\n/**\n * Renders the containers, title bar and window buttons around a workspace in the global workspace\n * window system.\n */ const WorkspaceChrome = ({ openedWorkspace, openedWindow, isRootWorkspace, showActionMenu, closeWindow, children })=>{\n const layout = (0,_openmrs_esm_react_utils__rspack_import_6.useLayoutType)();\n const { openedGroup, openedWindows, registeredWindowsByName, registeredWorkspacesByName, registeredGroupsByName, isMostRecentlyOpenedWindowHidden, setWindowMaximized, hideWindow } = (0,_workspace2_js__rspack_import_9.useWorkspace2Store)();\n const windowName = openedWindow.windowName;\n const { maximized } = openedWindow;\n const title = openedWorkspace.title ?? '';\n const windowDef = registeredWindowsByName[windowName];\n const width = (0,_workspace2_js__rspack_import_9.getOpenedWindowWidth)(openedWindow, registeredWorkspacesByName, registeredWindowsByName);\n const icon = windowDef?.icon;\n const canMaximize = windowDef?.canMaximize;\n const canCloseGroup = openedGroup ? registeredGroupsByName[openedGroup.groupName]?.persistence === 'closable' : false;\n const canHide = !!icon && !canCloseGroup;\n const openedWindowIndex = openedWindows.findIndex((w)=>w.windowName === windowName);\n const isWindowHidden = openedWindowIndex < openedWindows.length - 1 || isMostRecentlyOpenedWindowHidden;\n const isActionMenuOpened = Object.values(registeredWindowsByName).some((window)=>window.group === openedGroup?.groupName && window.icon !== undefined);\n return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsxs)(\"div\", {\n className: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].workspaceOuterContainer, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].narrowWorkspace]: width === 'narrow',\n [_workspace2_module_scss__rspack_import_10[\"default\"].widerWorkspace]: width === 'wider',\n [_workspace2_module_scss__rspack_import_10[\"default\"].extraWideWorkspace]: width === 'extra-wide',\n [_workspace2_module_scss__rspack_import_10[\"default\"].isActionMenuOpened]: isActionMenuOpened\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(\"div\", {\n className: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].workspaceSpacer, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].hidden]: isWindowHidden\n })\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(\"div\", {\n className: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].workspaceMiddleContainer, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].maximized]: maximized,\n [_workspace2_module_scss__rspack_import_10[\"default\"].hidden]: isWindowHidden,\n [_workspace2_module_scss__rspack_import_10[\"default\"].isRootWorkspace]: isRootWorkspace,\n [_workspace2_module_scss__rspack_import_10[\"default\"].showActionMenu]: showActionMenu\n }),\n children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(\"div\", {\n className: classnames__rspack_import_2_default()(_workspace2_module_scss__rspack_import_10[\"default\"].workspaceInnerContainer, {\n [_workspace2_module_scss__rspack_import_10[\"default\"].maximized]: maximized,\n [_workspace2_module_scss__rspack_import_10[\"default\"].hidden]: isWindowHidden,\n [_workspace2_module_scss__rspack_import_10[\"default\"].isRootWorkspace]: isRootWorkspace\n }),\n children: children ? /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsxs)(react_jsx_runtime__rspack_import_0.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsxs)(_carbon_react__rspack_import_4.Header, {\n \"aria-label\": (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('workspaceHeader'),\n className: _workspace2_module_scss__rspack_import_10[\"default\"].header,\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderName, {\n prefix: \"\",\n children: title\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(\"div\", {\n className: _workspace2_module_scss__rspack_import_10[\"default\"].overlayHeaderSpacer\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalBar, {\n className: _workspace2_module_scss__rspack_import_10[\"default\"].headerButtons,\n children: (0,_openmrs_esm_react_utils__rspack_import_6.isDesktop)(layout) ? /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsxs)(react_jsx_runtime__rspack_import_0.Fragment, {\n children: [\n (canMaximize || maximized) && /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalAction, {\n \"aria-label\": maximized ? (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('minimize') : (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('maximize'),\n onClick: ()=>setWindowMaximized(windowName, !maximized),\n children: maximized ? /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react_icons__rspack_import_12.Minimize, {}) : /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react_icons__rspack_import_12.Maximize, {})\n }),\n canHide && /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalAction, {\n \"aria-label\": (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('hide'),\n onClick: ()=>hideWindow(),\n children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_icons_index_js__rspack_import_8.ArrowRightIcon, {})\n }),\n !canCloseGroup && /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalAction, {\n \"aria-label\": (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('close'),\n onClick: closeWindow,\n children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_icons_index_js__rspack_import_8.CloseIcon, {})\n })\n ]\n }) : /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsxs)(react_jsx_runtime__rspack_import_0.Fragment, {\n children: [\n canHide && /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalAction, {\n \"aria-label\": (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('hide'),\n onClick: ()=>hideWindow(),\n children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react_icons__rspack_import_13.DownToBottom, {})\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.HeaderGlobalAction, {\n \"aria-label\": (0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('close'),\n onClick: ()=>{\n if (canCloseGroup) {\n void (0,_workspace2_js__rspack_import_9.closeWorkspaceGroup2)();\n } else {\n closeWindow();\n }\n },\n children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_icons_index_js__rspack_import_8.CloseIcon, {})\n })\n ]\n })\n })\n ]\n }),\n children\n ]\n }) : /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_carbon_react__rspack_import_4.InlineLoading, {\n className: _workspace2_module_scss__rspack_import_10[\"default\"].loader,\n description: `${(0,_openmrs_esm_translations__rspack_import_7.getCoreTranslation)('loading')} ...`\n })\n })\n })\n ]\n });\n};\n/* export default */ const __rspack_default_export = (ActiveWorkspaceWindow);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3Qvd29ya3NwYWNlczIvYWN0aXZlLXdvcmtzcGFjZS13aW5kb3cuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXN0eWxlZ3VpZGUvZGlzdC93b3Jrc3BhY2VzMi9hY3RpdmUtd29ya3NwYWNlLXdpbmRvdy5jb21wb25lbnQuanM/ZGRmOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cywgRnJhZ21lbnQgYXMgX0ZyYWdtZW50IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcbmltcG9ydCBQYXJjZWwgZnJvbSBcInNpbmdsZS1zcGEtcmVhY3QvcGFyY2VsXCI7XG5pbXBvcnQgeyBIZWFkZXIsIEhlYWRlckdsb2JhbEFjdGlvbiwgSGVhZGVyR2xvYmFsQmFyLCBIZWFkZXJOYW1lLCBJbmxpbmVMb2FkaW5nIH0gZnJvbSBcIkBjYXJib24vcmVhY3RcIjtcbmltcG9ydCB7IERvd25Ub0JvdHRvbSwgTWF4aW1pemUsIE1pbmltaXplIH0gZnJvbSBcIkBjYXJib24vcmVhY3QvaWNvbnNcIjtcbmltcG9ydCB7IGNyZWF0ZVBhcmNlbE1vdW50ZXIsIHdvcmtzcGFjZTJTdG9yZSB9IGZyb20gXCJAb3Blbm1ycy9lc20tZXh0ZW5zaW9uc1wiO1xuaW1wb3J0IHsgaXNEZXNrdG9wLCB1c2VMYXlvdXRUeXBlLCB1c2VTdG9yZSB9IGZyb20gXCJAb3Blbm1ycy9lc20tcmVhY3QtdXRpbHNcIjtcbmltcG9ydCB7IGxvYWRMaWZlQ3ljbGVzIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1yb3V0ZXNcIjtcbmltcG9ydCB7IGdldENvcmVUcmFuc2xhdGlvbiB9IGZyb20gXCJAb3Blbm1ycy9lc20tdHJhbnNsYXRpb25zXCI7XG5pbXBvcnQgeyBBcnJvd1JpZ2h0SWNvbiwgQ2xvc2VJY29uIH0gZnJvbSBcIi4uL2ljb25zL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBjbG9zZVdvcmtzcGFjZUdyb3VwMiwgZ2V0T3BlbmVkV2luZG93V2lkdGgsIHVzZVdvcmtzcGFjZTJTdG9yZSB9IGZyb20gXCIuL3dvcmtzcGFjZTIuanNcIjtcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vd29ya3NwYWNlMi5tb2R1bGUuc2Nzc1wiO1xuLy8gbW9kdWxlLWxldmVsIHNvIHRoZSBzdG9yZSBzdWJzY3JpcHRpb24ncyBzbmFwc2hvdCBnZXR0ZXIgc3RheXMgc3RhYmxlIGFjcm9zcyByZW5kZXJzXG5jb25zdCBzZWxlY3RSZWdpc3RlcmVkV29ya3NwYWNlc0J5TmFtZSA9IChzdGF0ZSk9PnN0YXRlLnJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lO1xuLyoqXG4gKiBSZW5kZXJzIGFuIG9wZW5lZCB3b3Jrc3BhY2Ugd2luZG93LiBgYWN0aW9uc2AgZGV0ZXJtaW5lcyB3aGljaCBzdG9yZSB0aGUgd2luZG93J3Mgd29ya3NwYWNlc1xuICogbmF2aWdhdGUgd2l0aGluOiB0aGUgZ2xvYmFsIHdvcmtzcGFjZSB3aW5kb3cgc3lzdGVtLCBvciBhbiBgPEV4cG9ydGVkV29ya3NwYWNlPmAncyBsb2NhbCBzdG9yZS5cbiAqLyBjb25zdCBBY3RpdmVXb3Jrc3BhY2VXaW5kb3cgPSAoeyBvcGVuZWRXaW5kb3csIGdyb3VwUHJvcHMsIGFjdGlvbnMsIHJlbmRlckNocm9tZSwgc2hvd0FjdGlvbk1lbnUgfSk9PntcbiAgICBjb25zdCB7IG9wZW5lZFdvcmtzcGFjZXMgfSA9IG9wZW5lZFdpbmRvdztcbiAgICAvLyBLZXllZCBieSBvcGVuZWQgd29ya3NwYWNlIHV1aWQgcmF0aGVyIHRoYW4gc3RhY2sgaW5kZXguIFRoZSBsaWZlY3ljbGVzIGxvYWRcbiAgICAvLyBhc3luY2hyb25vdXNseSwgc28gd2hlbiB0aGUgc3RhY2sgY2hhbmdlcyAoYSB3b3Jrc3BhY2UgYXQgc29tZSBwb3NpdGlvbiBpc1xuICAgIC8vIHJlcGxhY2VkIGJ5IGFub3RoZXIsIGZvciBleGFtcGxlIGNsb3NpbmcgYSBjaGlsZCB3b3Jrc3BhY2UgYW5kIGltbWVkaWF0ZWx5XG4gICAgLy8gb3BlbmluZyBhIGRpZmZlcmVudCBvbmUpLCBhbiBpbmRleC1iYXNlZCBsb29rdXAgY2FuIGhhbmQgdGhlIG5ldyB3b3Jrc3BhY2VcbiAgICAvLyB0aGUgcHJldmlvdXMgd29ya3NwYWNlJ3MgY29tcG9uZW50IHVudGlsIHRoZSByZWxvYWQgcmVzb2x2ZXMuIFRoZSBwYXJjZWxcbiAgICAvLyBtb3VudHMgd2hhdGV2ZXIgY29uZmlnIGl0IGZpcnN0IHJlY2VpdmVzLCBzbyB0aGUgd3JvbmcgY29tcG9uZW50IHdvdWxkIHRoZW5cbiAgICAvLyByZW5kZXIgd2l0aCB0aGUgbmV3IHdvcmtzcGFjZSdzIHByb3BzLlxuICAgIGNvbnN0IFtsaWZlQ3ljbGVzQnlVdWlkLCBzZXRMaWZlQ3ljbGVzQnlVdWlkXSA9IHVzZVN0YXRlKHt9KTtcbiAgICAvLyBSZWFjdGl2ZSBzbyB0aGUgZWZmZWN0IHJldHJpZXMgd2hlbiBhIHdvcmtzcGFjZSByZWdpc3RlcnMgYWZ0ZXIgbW91bnQuXG4gICAgY29uc3QgcmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWUgPSB1c2VTdG9yZSh3b3Jrc3BhY2UyU3RvcmUsIHNlbGVjdFJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lKTtcbiAgICB1c2VFZmZlY3QoKCk9PntcbiAgICAgICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlO1xuICAgICAgICBQcm9taXNlLmFsbChvcGVuZWRXb3Jrc3BhY2VzLm1hcChhc3luYyAob3BlbmVkV29ya3NwYWNlKT0+e1xuICAgICAgICAgICAgY29uc3Qgd29ya3NwYWNlRGVmID0gcmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWVbb3BlbmVkV29ya3NwYWNlLndvcmtzcGFjZU5hbWVdO1xuICAgICAgICAgICAgaWYgKCF3b3Jrc3BhY2VEZWYpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgbW9kdWxlTmFtZSwgY29tcG9uZW50IH0gPSB3b3Jrc3BhY2VEZWY7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIG9wZW5lZFdvcmtzcGFjZS51dWlkLFxuICAgICAgICAgICAgICAgIGF3YWl0IGxvYWRMaWZlQ3ljbGVzKG1vZHVsZU5hbWUsIGNvbXBvbmVudClcbiAgICAgICAgICAgIF07XG4gICAgICAgIH0pKS50aGVuKChlbnRyaWVzKT0+e1xuICAgICAgICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgICAgICAgICBzZXRMaWZlQ3ljbGVzQnlVdWlkKE9iamVjdC5mcm9tRW50cmllcyhlbnRyaWVzLmZpbHRlcigoZW50cnkpPT5lbnRyeSAhPSBudWxsKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICBjYW5jZWxsZWQgPSB0cnVlO1xuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgb3BlbmVkV29ya3NwYWNlcyxcbiAgICAgICAgcmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWVcbiAgICBdKTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfanN4KF9GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogb3BlbmVkV29ya3NwYWNlcy5tYXAoKG9wZW5lZFdvcmtzcGFjZSwgaSk9Pi8qI19fUFVSRV9fKi8gX2pzeChBY3RpdmVXb3Jrc3BhY2UsIHtcbiAgICAgICAgICAgICAgICBvcGVuZWRXb3Jrc3BhY2U6IG9wZW5lZFdvcmtzcGFjZSxcbiAgICAgICAgICAgICAgICBvcGVuZWRXaW5kb3c6IG9wZW5lZFdpbmRvdyxcbiAgICAgICAgICAgICAgICBncm91cFByb3BzOiBncm91cFByb3BzLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IGFjdGlvbnMsXG4gICAgICAgICAgICAgICAgcmVuZGVyQ2hyb21lOiByZW5kZXJDaHJvbWUsXG4gICAgICAgICAgICAgICAgbGlmZUN5Y2xlOiBsaWZlQ3ljbGVzQnlVdWlkW29wZW5lZFdvcmtzcGFjZS51dWlkXSxcbiAgICAgICAgICAgICAgICBpc1Jvb3RXb3Jrc3BhY2U6IGkgPT09IDAsXG4gICAgICAgICAgICAgICAgaXNMZWFmV29ya3NwYWNlOiBpID09PSBvcGVuZWRXb3Jrc3BhY2VzLmxlbmd0aCAtIDEsXG4gICAgICAgICAgICAgICAgc2hvd0FjdGlvbk1lbnU6IHNob3dBY3Rpb25NZW51XG4gICAgICAgICAgICB9LCBvcGVuZWRXb3Jrc3BhY2UudXVpZCkpXG4gICAgfSk7XG59O1xuY29uc3QgbW91bnRQYXJjZWwgPSBjcmVhdGVQYXJjZWxNb3VudGVyKCk7XG5jb25zdCBBY3RpdmVXb3Jrc3BhY2UgPSAoeyBsaWZlQ3ljbGUsIG9wZW5lZFdvcmtzcGFjZSwgb3BlbmVkV2luZG93LCBncm91cFByb3BzLCBhY3Rpb25zLCByZW5kZXJDaHJvbWUsIGlzUm9vdFdvcmtzcGFjZSwgaXNMZWFmV29ya3NwYWNlLCBzaG93QWN0aW9uTWVudSB9KT0+e1xuICAgIGNvbnN0IHByb3BzID0gdXNlTWVtbygoKT0+b3BlbmVkV29ya3NwYWNlICYmIHtcbiAgICAgICAgICAgIGNsb3NlV29ya3NwYWNlOiBhc3luYyAob3B0aW9ucyA9IHt9KT0+e1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgY2xvc2VXaW5kb3cgPSBmYWxzZSwgZGlzY2FyZFVuc2F2ZWRDaGFuZ2VzID0gZmFsc2UgfSA9IG9wdGlvbnM7XG4gICAgICAgICAgICAgICAgaWYgKGNsb3NlV2luZG93KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9rVG9DbG9zZVdvcmtzcGFjZXMgPSBkaXNjYXJkVW5zYXZlZENoYW5nZXMgfHwgYXdhaXQgYWN0aW9ucy5wcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcygpO1xuICAgICAgICAgICAgICAgICAgICBpZiAob2tUb0Nsb3NlV29ya3NwYWNlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5jbG9zZVdvcmtzcGFjZShvcGVuZWRXaW5kb3cub3BlbmVkV29ya3NwYWNlc1swXS53b3Jrc3BhY2VOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBva1RvQ2xvc2VXb3Jrc3BhY2VzID0gZGlzY2FyZFVuc2F2ZWRDaGFuZ2VzIHx8IGF3YWl0IGFjdGlvbnMucHJvbXB0Rm9yQ2xvc2luZ1dvcmtzcGFjZXMob3BlbmVkV29ya3NwYWNlLndvcmtzcGFjZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAob2tUb0Nsb3NlV29ya3NwYWNlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5jbG9zZVdvcmtzcGFjZShvcGVuZWRXb3Jrc3BhY2Uud29ya3NwYWNlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxhdW5jaENoaWxkV29ya3NwYWNlOiBhc3luYyAoY2hpbGRXb3Jrc3BhY2VOYW1lLCBjaGlsZFdvcmtzcGFjZVByb3BzKT0+e1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudFdvcmtzcGFjZU5hbWUgPSBvcGVuZWRXb3Jrc3BhY2Uud29ya3NwYWNlTmFtZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG9wZW5lZFdvcmtzcGFjZXMgfSA9IG9wZW5lZFdpbmRvdztcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRJbmRleCA9IG9wZW5lZFdvcmtzcGFjZXMuZmluZEluZGV4KCh3KT0+dy53b3Jrc3BhY2VOYW1lID09PSBwYXJlbnRXb3Jrc3BhY2VOYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAocGFyZW50SW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgaXNMZWFmID0gcGFyZW50SW5kZXggPT09IG9wZW5lZFdvcmtzcGFjZXMubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgICAgICBpZiAoIWlzTGVhZikge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGVyZSBhcmUgd29ya3NwYWNlcyBhYm92ZSB0aGUgcGFyZW50IHRoYXQgd2lsbCBiZSBjbG9zZWQuXG4gICAgICAgICAgICAgICAgICAgIC8vIFByb21wdCBpZiBhbnkgb2YgdGhlbSBoYXZlIHVuc2F2ZWQgY2hhbmdlcy5cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgd29ya3NwYWNlc0Fib3ZlUGFyZW50ID0gb3BlbmVkV29ya3NwYWNlcy5zbGljZShwYXJlbnRJbmRleCArIDEpO1xuICAgICAgICAgICAgICAgICAgICBpZiAod29ya3NwYWNlc0Fib3ZlUGFyZW50LnNvbWUoKHcpPT53Lmhhc1Vuc2F2ZWRDaGFuZ2VzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2tUb0Nsb3NlID0gYXdhaXQgYWN0aW9ucy5wcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyhvcGVuZWRXb3Jrc3BhY2VzW3BhcmVudEluZGV4ICsgMV0ud29ya3NwYWNlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9rVG9DbG9zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhY3Rpb25zLm9wZW5DaGlsZFdvcmtzcGFjZShwYXJlbnRXb3Jrc3BhY2VOYW1lLCBjaGlsZFdvcmtzcGFjZU5hbWUsIGNoaWxkV29ya3NwYWNlUHJvcHMgfHwge30pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldFdvcmtzcGFjZVRpdGxlOiAodGl0bGUpPT5hY3Rpb25zLnNldFdvcmtzcGFjZVRpdGxlKG9wZW5lZFdvcmtzcGFjZS51dWlkLCB0aXRsZSksXG4gICAgICAgICAgICBzZXRIYXNVbnNhdmVkQ2hhbmdlczogKGhhc1Vuc2F2ZWRDaGFuZ2VzKT0+YWN0aW9ucy5zZXRIYXNVbnNhdmVkQ2hhbmdlcyhvcGVuZWRXb3Jrc3BhY2UudXVpZCwgaGFzVW5zYXZlZENoYW5nZXMpLFxuICAgICAgICAgICAgd29ya3NwYWNlTmFtZTogb3BlbmVkV29ya3NwYWNlLndvcmtzcGFjZU5hbWUsXG4gICAgICAgICAgICB3b3Jrc3BhY2VQcm9wczogb3BlbmVkV29ya3NwYWNlLnByb3BzLFxuICAgICAgICAgICAgd2luZG93UHJvcHM6IG9wZW5lZFdpbmRvdy5wcm9wcyxcbiAgICAgICAgICAgIGdyb3VwUHJvcHMsXG4gICAgICAgICAgICB3b3Jrc3BhY2VNZXRhOiB3b3Jrc3BhY2UyU3RvcmUuZ2V0U3RhdGUoKS5yZWdpc3RlcmVkV29ya3NwYWNlc0J5TmFtZVtvcGVuZWRXb3Jrc3BhY2Uud29ya3NwYWNlTmFtZV0/Lm1ldGEgPz8ge30sXG4gICAgICAgICAgICBpc1Jvb3RXb3Jrc3BhY2UsXG4gICAgICAgICAgICBpc0xlYWZXb3Jrc3BhY2UsXG4gICAgICAgICAgICB3aW5kb3dOYW1lOiBvcGVuZWRXaW5kb3cud2luZG93TmFtZSxcbiAgICAgICAgICAgIHNob3dBY3Rpb25NZW51XG4gICAgICAgIH0sIFtcbiAgICAgICAgb3BlbmVkV29ya3NwYWNlLFxuICAgICAgICBvcGVuZWRXaW5kb3csXG4gICAgICAgIGdyb3VwUHJvcHMsXG4gICAgICAgIGFjdGlvbnMsXG4gICAgICAgIGlzUm9vdFdvcmtzcGFjZSxcbiAgICAgICAgaXNMZWFmV29ya3NwYWNlLFxuICAgICAgICBzaG93QWN0aW9uTWVudVxuICAgIF0pO1xuICAgIC8vIEluIGJhcmUgbW9kZSAoPEV4cG9ydGVkV29ya3NwYWNlPikgdGhlcmUgaXMgbm8gY2hyb21lIHRvIHN0YWNrIHdvcmtzcGFjZXMsIHNvIGV2ZXJ5IG5vbi1sZWFmXG4gICAgLy8gd29ya3NwYWNlIGlzIGhpZGRlbiAobm90IHVubW91bnRlZCwgc28gaXQga2VlcHMgaXRzIHN0YXRlKSBhbmQgdGhlIGxlYWYgY292ZXJzIHRoZW0uIEluIGNocm9tZVxuICAgIC8vIG1vZGUgdGhlIGFic29sdXRlLXBvc2l0aW9uZWQgV29ya3NwYWNlQ2hyb21lIGNvbnRhaW5lcnMgaGFuZGxlIHN0YWNraW5nLCBzbyB0aGlzIGNsYXNzIGlzIG5vdFxuICAgIC8vIGFwcGxpZWQgdGhlcmUuXG4gICAgY29uc3QgaGlkZUJlaGluZExlYWYgPSAhcmVuZGVyQ2hyb21lICYmICFpc0xlYWZXb3Jrc3BhY2U7XG4gICAgY29uc3QgY29udGVudCA9IHVzZU1lbW8oKCk9PmxpZmVDeWNsZSA/IC8qI19fUFVSRV9fKi8gX2pzeChQYXJjZWwsIHtcbiAgICAgICAgICAgIGNvbmZpZzogbGlmZUN5Y2xlLFxuICAgICAgICAgICAgbW91bnRQYXJjZWw6IG1vdW50UGFyY2VsLFxuICAgICAgICAgICAgd3JhcFdpdGg6IFwiZGl2XCIsXG4gICAgICAgICAgICB3cmFwQ2xhc3NOYW1lOiBjbGFzc05hbWVzKHN0eWxlcy53b3Jrc3BhY2VDb250ZW50LCB7XG4gICAgICAgICAgICAgICAgW3N0eWxlcy5oaWRkZW5FeHRyYVdvcmtzcGFjZV06IGhpZGVCZWhpbmRMZWFmXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC4uLnByb3BzXG4gICAgICAgIH0sIG9wZW5lZFdvcmtzcGFjZS53b3Jrc3BhY2VOYW1lKSA6IG51bGwsIFtcbiAgICAgICAgbGlmZUN5Y2xlLFxuICAgICAgICBvcGVuZWRXb3Jrc3BhY2Uud29ya3NwYWNlTmFtZSxcbiAgICAgICAgcHJvcHMsXG4gICAgICAgIGhpZGVCZWhpbmRMZWFmXG4gICAgXSk7XG4gICAgaWYgKCFyZW5kZXJDaHJvbWUpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQgPz8gLyojX19QVVJFX18qLyBfanN4KElubGluZUxvYWRpbmcsIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lcyhzdHlsZXMubG9hZGVyLCB7XG4gICAgICAgICAgICAgICAgW3N0eWxlcy5oaWRkZW5FeHRyYVdvcmtzcGFjZV06IGhpZGVCZWhpbmRMZWFmXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgJHtnZXRDb3JlVHJhbnNsYXRpb24oJ2xvYWRpbmcnKX1gXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfanN4KFdvcmtzcGFjZUNocm9tZSwge1xuICAgICAgICBvcGVuZWRXb3Jrc3BhY2U6IG9wZW5lZFdvcmtzcGFjZSxcbiAgICAgICAgb3BlbmVkV2luZG93OiBvcGVuZWRXaW5kb3csXG4gICAgICAgIGlzUm9vdFdvcmtzcGFjZTogaXNSb290V29ya3NwYWNlLFxuICAgICAgICBzaG93QWN0aW9uTWVudTogc2hvd0FjdGlvbk1lbnUsXG4gICAgICAgIGNsb3NlV2luZG93OiAoKT0+cHJvcHMuY2xvc2VXb3Jrc3BhY2Uoe1xuICAgICAgICAgICAgICAgIGNsb3NlV2luZG93OiB0cnVlXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgY2hpbGRyZW46IGNvbnRlbnRcbiAgICB9KTtcbn07XG4vKipcbiAqIFJlbmRlcnMgdGhlIGNvbnRhaW5lcnMsIHRpdGxlIGJhciBhbmQgd2luZG93IGJ1dHRvbnMgYXJvdW5kIGEgd29ya3NwYWNlIGluIHRoZSBnbG9iYWwgd29ya3NwYWNlXG4gKiB3aW5kb3cgc3lzdGVtLlxuICovIGNvbnN0IFdvcmtzcGFjZUNocm9tZSA9ICh7IG9wZW5lZFdvcmtzcGFjZSwgb3BlbmVkV2luZG93LCBpc1Jvb3RXb3Jrc3BhY2UsIHNob3dBY3Rpb25NZW51LCBjbG9zZVdpbmRvdywgY2hpbGRyZW4gfSk9PntcbiAgICBjb25zdCBsYXlvdXQgPSB1c2VMYXlvdXRUeXBlKCk7XG4gICAgY29uc3QgeyBvcGVuZWRHcm91cCwgb3BlbmVkV2luZG93cywgcmVnaXN0ZXJlZFdpbmRvd3NCeU5hbWUsIHJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lLCByZWdpc3RlcmVkR3JvdXBzQnlOYW1lLCBpc01vc3RSZWNlbnRseU9wZW5lZFdpbmRvd0hpZGRlbiwgc2V0V2luZG93TWF4aW1pemVkLCBoaWRlV2luZG93IH0gPSB1c2VXb3Jrc3BhY2UyU3RvcmUoKTtcbiAgICBjb25zdCB3aW5kb3dOYW1lID0gb3BlbmVkV2luZG93LndpbmRvd05hbWU7XG4gICAgY29uc3QgeyBtYXhpbWl6ZWQgfSA9IG9wZW5lZFdpbmRvdztcbiAgICBjb25zdCB0aXRsZSA9IG9wZW5lZFdvcmtzcGFjZS50aXRsZSA/PyAnJztcbiAgICBjb25zdCB3aW5kb3dEZWYgPSByZWdpc3RlcmVkV2luZG93c0J5TmFtZVt3aW5kb3dOYW1lXTtcbiAgICBjb25zdCB3aWR0aCA9IGdldE9wZW5lZFdpbmRvd1dpZHRoKG9wZW5lZFdpbmRvdywgcmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWUsIHJlZ2lzdGVyZWRXaW5kb3dzQnlOYW1lKTtcbiAgICBjb25zdCBpY29uID0gd2luZG93RGVmPy5pY29uO1xuICAgIGNvbnN0IGNhbk1heGltaXplID0gd2luZG93RGVmPy5jYW5NYXhpbWl6ZTtcbiAgICBjb25zdCBjYW5DbG9zZUdyb3VwID0gb3BlbmVkR3JvdXAgPyByZWdpc3RlcmVkR3JvdXBzQnlOYW1lW29wZW5lZEdyb3VwLmdyb3VwTmFtZV0/LnBlcnNpc3RlbmNlID09PSAnY2xvc2FibGUnIDogZmFsc2U7XG4gICAgY29uc3QgY2FuSGlkZSA9ICEhaWNvbiAmJiAhY2FuQ2xvc2VHcm91cDtcbiAgICBjb25zdCBvcGVuZWRXaW5kb3dJbmRleCA9IG9wZW5lZFdpbmRvd3MuZmluZEluZGV4KCh3KT0+dy53aW5kb3dOYW1lID09PSB3aW5kb3dOYW1lKTtcbiAgICBjb25zdCBpc1dpbmRvd0hpZGRlbiA9IG9wZW5lZFdpbmRvd0luZGV4IDwgb3BlbmVkV2luZG93cy5sZW5ndGggLSAxIHx8IGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuO1xuICAgIGNvbnN0IGlzQWN0aW9uTWVudU9wZW5lZCA9IE9iamVjdC52YWx1ZXMocmVnaXN0ZXJlZFdpbmRvd3NCeU5hbWUpLnNvbWUoKHdpbmRvdyk9PndpbmRvdy5ncm91cCA9PT0gb3BlbmVkR3JvdXA/Lmdyb3VwTmFtZSAmJiB3aW5kb3cuaWNvbiAhPT0gdW5kZWZpbmVkKTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfanN4cyhcImRpdlwiLCB7XG4gICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lcyhzdHlsZXMud29ya3NwYWNlT3V0ZXJDb250YWluZXIsIHtcbiAgICAgICAgICAgIFtzdHlsZXMubmFycm93V29ya3NwYWNlXTogd2lkdGggPT09ICduYXJyb3cnLFxuICAgICAgICAgICAgW3N0eWxlcy53aWRlcldvcmtzcGFjZV06IHdpZHRoID09PSAnd2lkZXInLFxuICAgICAgICAgICAgW3N0eWxlcy5leHRyYVdpZGVXb3Jrc3BhY2VdOiB3aWR0aCA9PT0gJ2V4dHJhLXdpZGUnLFxuICAgICAgICAgICAgW3N0eWxlcy5pc0FjdGlvbk1lbnVPcGVuZWRdOiBpc0FjdGlvbk1lbnVPcGVuZWRcbiAgICAgICAgfSksXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovIF9qc3goXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lcyhzdHlsZXMud29ya3NwYWNlU3BhY2VyLCB7XG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZXMuaGlkZGVuXTogaXNXaW5kb3dIaWRkZW5cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovIF9qc3goXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lcyhzdHlsZXMud29ya3NwYWNlTWlkZGxlQ29udGFpbmVyLCB7XG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZXMubWF4aW1pemVkXTogbWF4aW1pemVkLFxuICAgICAgICAgICAgICAgICAgICBbc3R5bGVzLmhpZGRlbl06IGlzV2luZG93SGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICBbc3R5bGVzLmlzUm9vdFdvcmtzcGFjZV06IGlzUm9vdFdvcmtzcGFjZSxcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlcy5zaG93QWN0aW9uTWVudV06IHNob3dBY3Rpb25NZW51XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gX2pzeChcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lcyhzdHlsZXMud29ya3NwYWNlSW5uZXJDb250YWluZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZXMubWF4aW1pemVkXTogbWF4aW1pemVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlcy5oaWRkZW5dOiBpc1dpbmRvd0hpZGRlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZXMuaXNSb290V29ya3NwYWNlXTogaXNSb290V29ya3NwYWNlXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4gPyAvKiNfX1BVUkVfXyovIF9qc3hzKF9GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovIF9qc3hzKEhlYWRlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImFyaWEtbGFiZWxcIjogZ2V0Q29yZVRyYW5zbGF0aW9uKCd3b3Jrc3BhY2VIZWFkZXInKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBzdHlsZXMuaGVhZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyBfanN4KEhlYWRlck5hbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXg6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gX2pzeChcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBzdHlsZXMub3ZlcmxheUhlYWRlclNwYWNlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovIF9qc3goSGVhZGVyR2xvYmFsQmFyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBzdHlsZXMuaGVhZGVyQnV0dG9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogaXNEZXNrdG9wKGxheW91dCkgPyAvKiNfX1BVUkVfXyovIF9qc3hzKF9GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhbk1heGltaXplIHx8IG1heGltaXplZCkgJiYgLyojX19QVVJFX18qLyBfanN4KEhlYWRlckdsb2JhbEFjdGlvbiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBtYXhpbWl6ZWQgPyBnZXRDb3JlVHJhbnNsYXRpb24oJ21pbmltaXplJykgOiBnZXRDb3JlVHJhbnNsYXRpb24oJ21heGltaXplJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljazogKCk9PnNldFdpbmRvd01heGltaXplZCh3aW5kb3dOYW1lLCAhbWF4aW1pemVkKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogbWF4aW1pemVkID8gLyojX19QVVJFX18qLyBfanN4KE1pbmltaXplLCB7fSkgOiAvKiNfX1BVUkVfXyovIF9qc3goTWF4aW1pemUsIHt9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5IaWRlICYmIC8qI19fUFVSRV9fKi8gX2pzeChIZWFkZXJHbG9iYWxBY3Rpb24sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImFyaWEtbGFiZWxcIjogZ2V0Q29yZVRyYW5zbGF0aW9uKCdoaWRlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljazogKCk9PmhpZGVXaW5kb3coKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyBfanN4KEFycm93UmlnaHRJY29uLCB7fSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWNhbkNsb3NlR3JvdXAgJiYgLyojX19QVVJFX18qLyBfanN4KEhlYWRlckdsb2JhbEFjdGlvbiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBnZXRDb3JlVHJhbnNsYXRpb24oJ2Nsb3NlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljazogY2xvc2VXaW5kb3csXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gX2pzeChDbG9zZUljb24sIHt9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogLyojX19QVVJFX18qLyBfanN4cyhfRnJhZ21lbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbkhpZGUgJiYgLyojX19QVVJFX18qLyBfanN4KEhlYWRlckdsb2JhbEFjdGlvbiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBnZXRDb3JlVHJhbnNsYXRpb24oJ2hpZGUnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoKT0+aGlkZVdpbmRvdygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovIF9qc3goRG93blRvQm90dG9tLCB7fSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyBfanN4KEhlYWRlckdsb2JhbEFjdGlvbiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBnZXRDb3JlVHJhbnNsYXRpb24oJ2Nsb3NlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljazogKCk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNhbkNsb3NlR3JvdXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgY2xvc2VXb3Jrc3BhY2VHcm91cDIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlV2luZG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovIF9qc3goQ2xvc2VJY29uLCB7fSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIH0pIDogLyojX19QVVJFX18qLyBfanN4KElubGluZUxvYWRpbmcsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogc3R5bGVzLmxvYWRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgJHtnZXRDb3JlVHJhbnNsYXRpb24oJ2xvYWRpbmcnKX0gLi4uYFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgQWN0aXZlV29ya3NwYWNlV2luZG93O1xuIl0sIm5hbWVzIjpbImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIlJlYWN0IiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVN0YXRlIiwiY2xhc3NOYW1lcyIsIlBhcmNlbCIsIkhlYWRlciIsIkhlYWRlckdsb2JhbEFjdGlvbiIsIkhlYWRlckdsb2JhbEJhciIsIkhlYWRlck5hbWUiLCJJbmxpbmVMb2FkaW5nIiwiRG93blRvQm90dG9tIiwiTWF4aW1pemUiLCJNaW5pbWl6ZSIsImNyZWF0ZVBhcmNlbE1vdW50ZXIiLCJ3b3Jrc3BhY2UyU3RvcmUiLCJpc0Rlc2t0b3AiLCJ1c2VMYXlvdXRUeXBlIiwidXNlU3RvcmUiLCJsb2FkTGlmZUN5Y2xlcyIsImdldENvcmVUcmFuc2xhdGlvbiIsIkFycm93UmlnaHRJY29uIiwiQ2xvc2VJY29uIiwiY2xvc2VXb3Jrc3BhY2VHcm91cDIiLCJnZXRPcGVuZWRXaW5kb3dXaWR0aCIsInVzZVdvcmtzcGFjZTJTdG9yZSIsInN0eWxlcyIsInNlbGVjdFJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lIiwic3RhdGUiLCJBY3RpdmVXb3Jrc3BhY2VXaW5kb3ciLCJvcGVuZWRXaW5kb3ciLCJncm91cFByb3BzIiwiYWN0aW9ucyIsInJlbmRlckNocm9tZSIsInNob3dBY3Rpb25NZW51Iiwib3BlbmVkV29ya3NwYWNlcyIsImxpZmVDeWNsZXNCeVV1aWQiLCJzZXRMaWZlQ3ljbGVzQnlVdWlkIiwicmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWUiLCJjYW5jZWxsZWQiLCJQcm9taXNlIiwib3BlbmVkV29ya3NwYWNlIiwid29ya3NwYWNlRGVmIiwibW9kdWxlTmFtZSIsImNvbXBvbmVudCIsImVudHJpZXMiLCJPYmplY3QiLCJlbnRyeSIsImkiLCJBY3RpdmVXb3Jrc3BhY2UiLCJtb3VudFBhcmNlbCIsImxpZmVDeWNsZSIsImlzUm9vdFdvcmtzcGFjZSIsImlzTGVhZldvcmtzcGFjZSIsInByb3BzIiwib3B0aW9ucyIsImNsb3NlV2luZG93IiwiZGlzY2FyZFVuc2F2ZWRDaGFuZ2VzIiwib2tUb0Nsb3NlV29ya3NwYWNlcyIsImNoaWxkV29ya3NwYWNlTmFtZSIsImNoaWxkV29ya3NwYWNlUHJvcHMiLCJwYXJlbnRXb3Jrc3BhY2VOYW1lIiwicGFyZW50SW5kZXgiLCJ3IiwiaXNMZWFmIiwid29ya3NwYWNlc0Fib3ZlUGFyZW50Iiwib2tUb0Nsb3NlIiwidGl0bGUiLCJoYXNVbnNhdmVkQ2hhbmdlcyIsImhpZGVCZWhpbmRMZWFmIiwiY29udGVudCIsIldvcmtzcGFjZUNocm9tZSIsImNoaWxkcmVuIiwibGF5b3V0Iiwib3BlbmVkR3JvdXAiLCJvcGVuZWRXaW5kb3dzIiwicmVnaXN0ZXJlZFdpbmRvd3NCeU5hbWUiLCJyZWdpc3RlcmVkR3JvdXBzQnlOYW1lIiwiaXNNb3N0UmVjZW50bHlPcGVuZWRXaW5kb3dIaWRkZW4iLCJzZXRXaW5kb3dNYXhpbWl6ZWQiLCJoaWRlV2luZG93Iiwid2luZG93TmFtZSIsIm1heGltaXplZCIsIndpbmRvd0RlZiIsIndpZHRoIiwiaWNvbiIsImNhbk1heGltaXplIiwiY2FuQ2xvc2VHcm91cCIsImNhbkhpZGUiLCJvcGVuZWRXaW5kb3dJbmRleCIsImlzV2luZG93SGlkZGVuIiwiaXNBY3Rpb25NZW51T3BlbmVkIiwid2luZG93IiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBc0Y7QUFDMUI7QUFDeEI7QUFDUztBQUMwRDtBQUNoQztBQUNRO0FBQ0Q7QUFDekI7QUFDVTtBQUNEO0FBQ21DO0FBQ25EO0FBQzlDLHVGQUF1RjtBQUN2RixNQUFNaUMsbUNBQW1DLENBQUNDLFFBQVFBLE1BQU0sMEJBQTBCO0FBQ2xGOzs7Q0FHQyxHQUFHLE1BQU1DLHdCQUF3QixDQUFDLEVBQUVDLFlBQVksRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFlBQVksRUFBRUMsY0FBYyxFQUFFO0lB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\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/dist/workspaces2/active-workspace-window.component.js\n\n}");
835
835
 
836
836
  },
837
837
  "../../framework/esm-styleguide/dist/workspaces2/exported-workspace.component.js"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
@@ -841,7 +841,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webp
841
841
  },
842
842
  "../../framework/esm-styleguide/dist/workspaces2/index.js"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
843
843
  "use strict";
844
- eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n ActionMenuButton2: () => (/* reexport safe */ _action_menu2_action_menu_button2_component_js__rspack_import_3.ActionMenuButton2),\n ExportedWorkspace: () => (/* reexport safe */ _exported_workspace_component_js__rspack_import_2.ExportedWorkspace),\n Workspace2: () => (/* reexport safe */ _workspace2_component_js__rspack_import_0.Workspace2),\n closeWorkspaceGroup2: () => (/* reexport safe */ _workspace2_js__rspack_import_1.closeWorkspaceGroup2),\n closeWorkspaceInWindow: () => (/* reexport safe */ _workspace2_js__rspack_import_1.closeWorkspaceInWindow),\n createExportedWorkspaceWindow: () => (/* reexport safe */ _workspace2_js__rspack_import_1.createExportedWorkspaceWindow),\n getRegisteredWorkspace2Names: () => (/* reexport safe */ _workspace2_js__rspack_import_1.getRegisteredWorkspace2Names),\n launchWorkspace2: () => (/* reexport safe */ _workspace2_js__rspack_import_1.launchWorkspace2),\n launchWorkspaceGroup2: () => (/* reexport safe */ _workspace2_js__rspack_import_1.launchWorkspaceGroup2),\n openChildWorkspaceInWindow: () => (/* reexport safe */ _workspace2_js__rspack_import_1.openChildWorkspaceInWindow),\n promptForClosingWorkspaces: () => (/* reexport safe */ _workspace2_js__rspack_import_1.promptForClosingWorkspaces),\n promptForClosingWorkspacesInWindow: () => (/* reexport safe */ _workspace2_js__rspack_import_1.promptForClosingWorkspacesInWindow),\n updateOpenedWorkspaceInWindow: () => (/* reexport safe */ _workspace2_js__rspack_import_1.updateOpenedWorkspaceInWindow),\n useWorkspace2Context: () => (/* reexport safe */ _workspace2_js__rspack_import_1.useWorkspace2Context),\n useWorkspace2Store: () => (/* reexport safe */ _workspace2_js__rspack_import_1.useWorkspace2Store),\n workspace2StoreActions: () => (/* reexport safe */ _workspace2_js__rspack_import_1.workspace2StoreActions)\n});\n/* import */ var _workspace2_component_js__rspack_import_0 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/workspace2.component.js\");\n/* import */ var _workspace2_js__rspack_import_1 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/workspace2.js\");\n/* import */ var _exported_workspace_component_js__rspack_import_2 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/exported-workspace.component.js\");\n/* import */ var _action_menu2_action_menu_button2_component_js__rspack_import_3 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/action-menu2/action-menu-button2.component.js\");\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3Qvd29ya3NwYWNlczIvaW5kZXguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9kaXN0L3dvcmtzcGFjZXMyL2luZGV4LmpzP2IyN2UiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vd29ya3NwYWNlMi5jb21wb25lbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dvcmtzcGFjZTIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydGVkLXdvcmtzcGFjZS5jb21wb25lbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGlvbi1tZW51Mi9hY3Rpb24tbWVudS1idXR0b24yLmNvbXBvbmVudC5qc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTBDO0FBQ1Y7QUFDa0I7QUFDYyJ9\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/dist/workspaces2/index.js\n\n}");
844
+ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n ActionMenuButton2: () => (/* reexport safe */ _action_menu2_action_menu_button2_component_js__rspack_import_3.ActionMenuButton2),\n ExportedWorkspace: () => (/* reexport safe */ _exported_workspace_component_js__rspack_import_2.ExportedWorkspace),\n Workspace2: () => (/* reexport safe */ _workspace2_component_js__rspack_import_0.Workspace2),\n closeWorkspaceGroup2: () => (/* reexport safe */ _workspace2_js__rspack_import_1.closeWorkspaceGroup2),\n closeWorkspaceInWindow: () => (/* reexport safe */ _workspace2_js__rspack_import_1.closeWorkspaceInWindow),\n createExportedWorkspaceWindow: () => (/* reexport safe */ _workspace2_js__rspack_import_1.createExportedWorkspaceWindow),\n getOpenedWindowWidth: () => (/* reexport safe */ _workspace2_js__rspack_import_1.getOpenedWindowWidth),\n getRegisteredWorkspace2Names: () => (/* reexport safe */ _workspace2_js__rspack_import_1.getRegisteredWorkspace2Names),\n launchWorkspace2: () => (/* reexport safe */ _workspace2_js__rspack_import_1.launchWorkspace2),\n launchWorkspaceGroup2: () => (/* reexport safe */ _workspace2_js__rspack_import_1.launchWorkspaceGroup2),\n openChildWorkspaceInWindow: () => (/* reexport safe */ _workspace2_js__rspack_import_1.openChildWorkspaceInWindow),\n promptForClosingWorkspaces: () => (/* reexport safe */ _workspace2_js__rspack_import_1.promptForClosingWorkspaces),\n promptForClosingWorkspacesInWindow: () => (/* reexport safe */ _workspace2_js__rspack_import_1.promptForClosingWorkspacesInWindow),\n updateOpenedWorkspaceInWindow: () => (/* reexport safe */ _workspace2_js__rspack_import_1.updateOpenedWorkspaceInWindow),\n useWorkspace2Context: () => (/* reexport safe */ _workspace2_js__rspack_import_1.useWorkspace2Context),\n useWorkspace2Store: () => (/* reexport safe */ _workspace2_js__rspack_import_1.useWorkspace2Store),\n workspace2StoreActions: () => (/* reexport safe */ _workspace2_js__rspack_import_1.workspace2StoreActions)\n});\n/* import */ var _workspace2_component_js__rspack_import_0 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/workspace2.component.js\");\n/* import */ var _workspace2_js__rspack_import_1 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/workspace2.js\");\n/* import */ var _exported_workspace_component_js__rspack_import_2 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/exported-workspace.component.js\");\n/* import */ var _action_menu2_action_menu_button2_component_js__rspack_import_3 = __webpack_require__(\"../../framework/esm-styleguide/dist/workspaces2/action-menu2/action-menu-button2.component.js\");\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3Qvd29ya3NwYWNlczIvaW5kZXguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tc3R5bGVndWlkZS9kaXN0L3dvcmtzcGFjZXMyL2luZGV4LmpzP2IyN2UiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vd29ya3NwYWNlMi5jb21wb25lbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dvcmtzcGFjZTIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydGVkLXdvcmtzcGFjZS5jb21wb25lbnQuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGlvbi1tZW51Mi9hY3Rpb24tbWVudS1idXR0b24yLmNvbXBvbmVudC5qc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEwQztBQUNWO0FBQ2tCO0FBQ2MifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/dist/workspaces2/index.js\n\n}");
845
845
 
846
846
  },
847
847
  "../../framework/esm-styleguide/dist/workspaces2/scope-utils.js"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
@@ -866,7 +866,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webp
866
866
  },
867
867
  "../../framework/esm-styleguide/dist/workspaces2/workspace2.js"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
868
868
  "use strict";
869
- eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n closeWorkspaceGroup2: () => (closeWorkspaceGroup2),\n closeWorkspaceInWindow: () => (closeWorkspaceInWindow),\n createExportedWorkspaceWindow: () => (createExportedWorkspaceWindow),\n getRegisteredWorkspace2Names: () => (getRegisteredWorkspace2Names),\n launchWorkspace2: () => (launchWorkspace2),\n launchWorkspaceGroup2: () => (launchWorkspaceGroup2),\n openChildWorkspaceInWindow: () => (openChildWorkspaceInWindow),\n promptForClosingWorkspaces: () => (promptForClosingWorkspaces),\n promptForClosingWorkspacesInWindow: () => (promptForClosingWorkspacesInWindow),\n updateOpenedWorkspaceInWindow: () => (updateOpenedWorkspaceInWindow),\n useWorkspace2Context: () => (useWorkspace2Context),\n useWorkspace2Store: () => (useWorkspace2Store),\n workspace2StoreActions: () => (workspace2StoreActions)\n});\n/* import */ var react__rspack_import_0 = __webpack_require__(\"webpack/sharing/consume/default/react/react\");\n/* import */ var react__rspack_import_0_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_0);\n/* import */ var single_spa_react__rspack_import_1 = __webpack_require__(\"../../../node_modules/single-spa-react/lib/esm/single-spa-react.js\");\n/* import */ var uuid__rspack_import_6 = __webpack_require__(\"../../../node_modules/uuid/dist/esm-browser/v4.js\");\n/* import */ var _openmrs_esm_extensions__rspack_import_2 = __webpack_require__(\"../../framework/esm-extensions/dist/index.js\");\n/* import */ var _openmrs_esm_react_utils__rspack_import_3 = __webpack_require__(\"../../framework/esm-react-utils/dist/index.js\");\n/* import */ var _openmrs_esm_utils__rspack_import_5 = __webpack_require__(\"../../framework/esm-utils/dist/shallowEqual.js\");\n/* import */ var _modals_index_js__rspack_import_4 = __webpack_require__(\"../../framework/esm-styleguide/dist/modals/index.js\");\n\n\n\n\n\n\n\n/**\n * Attempts to launch the specified workspace group with the given group props. Note that only one workspace group\n * may be opened at any given time. If a workspace group is already opened, calling `launchWorkspaceGroup2` with\n * either a different group name, or same group name but different incompatible props**, will result in prompting to\n * confirm closing workspaces. If the user confirms, the opened group, along with its windows (and their workspaces), is closed, and\n * the requested group is immediately opened.\n *\n * ** 2 sets of props are compatible if either one is nullish, or if they are shallow equal.\n * @param groupName\n * @param groupProps\n * @returns a Promise that resolves to true if the specified workspace group with the specified group props\n * is successfully opened, or that it already is opened.\n */ async function launchWorkspaceGroup2(groupName, groupProps) {\n const { openedGroup } = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState();\n if (openedGroup) {\n if (openedGroup.groupName !== groupName || !arePropsCompatible(openedGroup.props, groupProps)) {\n const okToCloseWorkspaces = await promptForClosingWorkspaces({\n reason: 'CLOSE_WORKSPACE_GROUP',\n explicit: false\n });\n if (!okToCloseWorkspaces) {\n return false;\n }\n // else, proceed to open the new group with no openedWindows\n } else {\n // no-op, group with group props is already opened\n return true;\n }\n }\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState((state)=>({\n ...state,\n openedGroup: {\n groupName,\n props: groupProps\n },\n openedWindows: []\n }));\n return true;\n}\n/**\n * Closes the workspace group that is currently opened. Note that only one workspace group\n * may be opened at any given time\n * @param discardUnsavedChanges If true, then the workspace group is forced closed, with no prompt\n * for confirmation for unsaved changes in any opened workspace. This should be used sparingly\n * for clean-up purpose, ex: when exiting an app.\n * @returns a Promise that resolves to true if there is no opened group to begin with or we successfully closed\n * the opened group; false otherwise.\n */ async function closeWorkspaceGroup2(discardUnsavedChanges) {\n const state = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState();\n const { openedGroup, openedWindows } = state;\n if (openedGroup) {\n if (openedWindows.length > 0) {\n const okToCloseWorkspaces = discardUnsavedChanges || await promptForClosingWorkspaces({\n reason: 'CLOSE_WORKSPACE_GROUP',\n explicit: true\n });\n if (!okToCloseWorkspaces) {\n return false;\n }\n }\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState((state)=>({\n ...state,\n openedGroup: null,\n openedWindows: []\n }));\n return true;\n }\n // no openedGroup with begin with, return true\n return true;\n}\n/**\n * Attempts to launch the specified workspace with the given workspace props. This also implicitly opens\n * the workspace window to which the workspace belongs (if it's not opened already),\n * and the workspace group to which the window belongs (if it's not opened already).\n *\n * When calling `launchWorkspace2`, we need to also pass in the workspace props. While not required,\n * we can also pass in the window props (shared by other workspaces in the window) and the group props\n * (shared by all windows and their workspaces). Omitting the window props or the group props[^1] means the caller\n * explicitly does not care what the current window props and group props are, and that they may be set\n * by other actions (like calling `launchWorkspace2` on a different workspace with those props passed in)\n * at a later time.\n *\n * If there is already an opened workspace group, and it's not the group the workspace belongs to\n * or has incompatible[^2] group props, then we prompt the user to close the group (and its windows and their workspaces).\n * On user confirm, the existing opened group is closed and the new workspace, along with its window and its group,\n * is opened.\n *\n * If the window is already opened, but with incompatible window props, we prompt the user to close\n * the window (and all its opened workspaces), and reopen the window with (only) the newly requested workspace.\n *\n * If the workspace is already opened, but with incompatible workspace props, we also prompt the user to close\n * the **window** (and all its opened workspaces), and reopen the window with (only) the newly requested workspace.\n * This is true regardless of whether the already opened workspace has any child workspaces.\n *\n * Note that calling this function *never* results in creating a child workspace in the affected window.\n * To do so, we need to call `launchChildWorkspace` instead.\n *\n * [^1] Omitting window or group props is useful for workspaces that don't have ties to the window or group \"context\" (props).\n * For example, in the patient chart, the visit notes / clinical forms / order basket action menu button all share\n * a \"group context\" of the current visit. However, the \"patient list\" action menu button does not need to share that group\n * context, so opening that workspace should not need to cause other workspaces / windows / groups to potentially close.\n * The \"patient search\" workspace in the queues and ward apps is another example.\n *\n * [^2] 2 sets of props are compatible if either one is nullish, or if they are shallow equal.\n */ async function launchWorkspace2(workspaceName, workspaceProps = null, windowProps = null, groupProps = null) {\n const storeState = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState();\n if (!storeState.registeredWorkspacesByName[workspaceName]) {\n throw new Error(`Unable to launch workspace ${workspaceName}. Workspace is not registered`);\n }\n const windowDef = (0,_openmrs_esm_extensions__rspack_import_2.getWindowByWorkspaceName)(workspaceName);\n if (!windowDef) {\n throw new Error(`Unable to launch workspace ${workspaceName}. Workspace is not registered to a workspace window`);\n }\n const { openedGroup } = storeState;\n const { name: windowName } = windowDef;\n const groupDef = (0,_openmrs_esm_extensions__rspack_import_2.getGroupByWindowName)(windowName);\n if (!groupDef) {\n throw new Error(`Unable to launch workspace ${workspaceName}. Workspace window ${windowDef.name} is not registered to a workspace group`);\n }\n const openedWindowIndex = (0,_openmrs_esm_extensions__rspack_import_2.getOpenedWindowIndexByWorkspace)(workspaceName);\n const isWindowAlreadyOpened = openedWindowIndex >= 0;\n // if current opened group is not the same as the requested group, or if the group props are different, then prompt for unsaved changes\n if (openedGroup && (openedGroup.groupName !== groupDef.name || !arePropsCompatible(openedGroup.props, groupProps))) {\n const okToCloseWorkspaces = await promptForClosingWorkspaces({\n reason: 'CLOSE_WORKSPACE_GROUP',\n explicit: true\n });\n if (okToCloseWorkspaces) {\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState({\n ...storeState,\n openedGroup: {\n groupName: groupDef.name,\n props: groupProps\n },\n openedWindows: [\n // discard all opened windows, open a new one with the requested workspace\n // most recently opened action appended to the end\n {\n windowName: windowName,\n openedWorkspaces: [\n newOpenedWorkspace(workspaceName, workspaceProps)\n ],\n props: windowProps,\n maximized: false\n }\n ],\n isMostRecentlyOpenedWindowHidden: false\n });\n return true;\n } else {\n return false;\n }\n } else if (isWindowAlreadyOpened) {\n const openedWindow = storeState.openedWindows[openedWindowIndex];\n const groupProps = storeState.openedGroup?.props ?? {};\n const isMostRecentlyOpenedWindowHidden = storeState.isMostRecentlyOpenedWindowHidden;\n const { openedWorkspaces } = openedWindow;\n if (arePropsCompatible(openedWindow.props, windowProps)) {\n // this case is tricky, this results in restoring the window if:\n // 1. the workspace is opened (but not necessarily as a leaf workspace)\n // 2. the props of the opened workspace is same as workspace props (from the function input)\n //\n // Otherwise, we close all workspaces in this window, and open this newly requested one\n const openedWorkspace = openedWorkspaces.find((w)=>w.workspaceName === workspaceName);\n if (openedWorkspace && arePropsCompatible(openedWorkspace.props, workspaceProps)) {\n // restore the window if it is hidden or not the most recently opened one\n if (isMostRecentlyOpenedWindowHidden || openedWindowIndex !== storeState.openedWindows.length - 1) {\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState(workspace2StoreActions.restoreWindow(storeState, windowName));\n }\n return true;\n } else {\n const okToCloseWorkspaces = await promptForClosingWorkspaces({\n reason: 'CLOSE_WORKSPACE',\n explicit: false,\n windowName,\n workspaceName\n });\n if (okToCloseWorkspaces) {\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState({\n ...storeState,\n openedGroup: {\n groupName: groupDef.name,\n props: storeState?.openedGroup?.props ?? groupProps\n },\n openedWindows: [\n ...storeState.openedWindows.filter((_, i)=>i !== openedWindowIndex),\n // most recently opened workspace at the end of the array\n {\n windowName: windowName,\n openedWorkspaces: [\n newOpenedWorkspace(workspaceName, workspaceProps)\n ],\n props: openedWindow?.props ?? windowProps,\n maximized: false\n }\n ],\n isMostRecentlyOpenedWindowHidden: false\n });\n return true;\n } else {\n return false;\n }\n }\n } else {\n const okToCloseWorkspaces = await promptForClosingWorkspaces({\n reason: 'CLOSE_WINDOW',\n explicit: false,\n windowName\n });\n if (okToCloseWorkspaces) {\n // discard the openedWindows element at openedWindowIndex\n // and create a new one with the requested workspace opened\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState({\n ...storeState,\n openedGroup: {\n groupName: groupDef.name,\n props: groupProps ?? storeState?.openedGroup?.props\n },\n openedWindows: [\n ...storeState.openedWindows.filter((_, i)=>i !== openedWindowIndex),\n // most recently opened workspace at the end of the array\n {\n windowName: windowName,\n openedWorkspaces: [\n newOpenedWorkspace(workspaceName, workspaceProps)\n ],\n props: windowProps,\n maximized: false\n }\n ],\n isMostRecentlyOpenedWindowHidden: false\n });\n return true;\n } else {\n return false;\n }\n }\n } else if (groupDef.persistence == 'closable') {\n const okToCloseWorkspaces = await promptForClosingWorkspaces({\n reason: 'CLOSE_OTHER_WINDOWS',\n explicit: false,\n windowNameToSpare: windowDef.name\n });\n if (okToCloseWorkspaces) {\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState({\n ...storeState,\n openedGroup: {\n groupName: groupDef.name,\n props: groupProps ?? storeState?.openedGroup?.props ?? null\n },\n openedWindows: [\n {\n windowName: windowName,\n openedWorkspaces: [\n newOpenedWorkspace(workspaceName, workspaceProps)\n ],\n props: windowProps,\n maximized: false\n }\n ],\n isMostRecentlyOpenedWindowHidden: false\n });\n return true;\n } else {\n return false;\n }\n } else {\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState({\n ...storeState,\n openedGroup: {\n groupName: groupDef.name,\n props: groupProps ?? storeState?.openedGroup?.props ?? null\n },\n openedWindows: [\n ...storeState.openedWindows,\n // most recently opened workspace at the end of the array\n {\n windowName: windowName,\n openedWorkspaces: [\n newOpenedWorkspace(workspaceName, workspaceProps)\n ],\n props: windowProps,\n maximized: false\n }\n ],\n isMostRecentlyOpenedWindowHidden: false\n });\n return true;\n }\n}\n/**\n * When we launch a workspace, we may pass in workspace / windows / group props. If the workspace or\n * window or group is currently opened, we have to check whether the current props are compatible with\n * the passed in props. 2 props A and B are compatible if:\n * either one is nullish (because this indicates that the caller does not care about prop incompatibility)\n * neither is nullish, and A and B are shallow equal.\n * @param a props\n * @param b props\n * @returns whether props a and b are compatible\n */ function arePropsCompatible(a, b) {\n if (a == null || b == null) {\n return true;\n }\n return (0,_openmrs_esm_utils__rspack_import_5.shallowEqual)(a, b);\n}\n// if onlyUpToThisWorkspace is provided, we will only loop till we hit that workspace\nfunction getAffectedWorkspacesInWindow(openedWindow, onlyUpToThisWorkspace) {\n const ret = [];\n for(let i = openedWindow.openedWorkspaces.length - 1; i >= 0; i--){\n const openedWorkspace = openedWindow.openedWorkspaces[i];\n if (openedWorkspace.hasUnsavedChanges) {\n ret.push(openedWorkspace);\n }\n if (onlyUpToThisWorkspace && openedWorkspace.workspaceName === onlyUpToThisWorkspace) {\n break;\n }\n }\n return ret;\n}\nfunction showClosePrompt(affectedWorkspaces) {\n if (affectedWorkspaces.length === 0) {\n return Promise.resolve(true); // no unsaved changes, no need to prompt\n }\n return new Promise((resolve)=>{\n const dispose = (0,_modals_index_js__rspack_import_4.showModal)('workspace2-close-prompt', {\n size: 'sm',\n onConfirm: ()=>{\n dispose();\n resolve(true);\n },\n onCancel: ()=>{\n dispose();\n resolve(false);\n },\n affectedWorkspaceTitles: affectedWorkspaces.map((workspace)=>workspace.title ?? '')\n });\n });\n}\n/**\n * A user can perform actions that explicitly result in closing workspaces\n * (such that clicking the 'X' button for the workspace or workspace group), or\n * implicitly (by opening a workspace with different props than the one that is already opened).\n * Calls to closeWorkspace2() or closeWorkspaceGroup2() are considered explicit, while calls\n * to launchWorkspace2() or launchWorkspaceGroup2() are considered implicit.\n *\n * This function prompts the user for confirmation to close workspaces with a modal dialog.\n * When the closing is explicit, it prompts for confirmation for affected workspaces with unsaved changes.\n * When the closing is implicit, it prompts for confirmation for all affected workspaces, regardless of\n * whether they have unsaved changes.\n * @param promptReason\n * @returns a Promise that resolves to true if the user confirmed closing the workspaces; false otherwise.\n */ function promptForClosingWorkspaces(promptReason) {\n const { openedWindows } = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState();\n let affectedWorkspaces = [];\n switch(promptReason.reason){\n case 'CLOSE_WORKSPACE_GROUP':\n {\n affectedWorkspaces = openedWindows.flatMap((window)=>getAffectedWorkspacesInWindow(window));\n break;\n }\n case 'CLOSE_WINDOW':\n {\n const openedWindow = openedWindows.find((window)=>window.windowName === promptReason.windowName);\n if (!openedWindow) {\n throw new Error(`Window ${promptReason.windowName} not found in opened windows.`);\n }\n affectedWorkspaces = getAffectedWorkspacesInWindow(openedWindow);\n break;\n }\n case 'CLOSE_WORKSPACE':\n {\n const openedWindow = openedWindows.find((window)=>window.windowName === promptReason.windowName);\n if (!openedWindow) {\n throw new Error(`Window ${promptReason.windowName} not found in opened windows.`);\n }\n affectedWorkspaces = getAffectedWorkspacesInWindow(openedWindow, promptReason.workspaceName);\n break;\n }\n case 'CLOSE_OTHER_WINDOWS':\n {\n const windowsToClose = openedWindows.filter((window)=>window.windowName !== promptReason.windowNameToSpare);\n affectedWorkspaces = windowsToClose.flatMap((w)=>getAffectedWorkspacesInWindow(w));\n break;\n }\n }\n return showClosePrompt(affectedWorkspaces);\n}\n/**\n * Prompts for confirmation to close the workspaces with unsaved changes in the given window: the whole\n * window, or, if `upToWorkspaceName` is given, just that workspace and its children. Unlike\n * `promptForClosingWorkspaces`, this works on any window, including one held in an\n * `<ExportedWorkspace>`'s local store.\n * @returns a Promise that resolves to true if the user confirmed, or there was nothing to confirm.\n */ function promptForClosingWorkspacesInWindow(openedWindow, upToWorkspaceName) {\n return showClosePrompt(getAffectedWorkspacesInWindow(openedWindow, upToWorkspaceName));\n}\n/**\n * Closes the named workspace, along with its children, within the given window.\n * @returns the updated window; `null` if no workspaces are left in it; or `openedWindow` itself if\n * the workspace is not in the window.\n */ function closeWorkspaceInWindow(openedWindow, workspaceName) {\n const workspaceIndex = openedWindow.openedWorkspaces.findIndex((w)=>w.workspaceName === workspaceName);\n if (workspaceIndex < 0) {\n return openedWindow;\n }\n if (workspaceIndex === 0) {\n return null;\n }\n return {\n ...openedWindow,\n openedWorkspaces: openedWindow.openedWorkspaces.slice(0, workspaceIndex)\n };\n}\n/**\n * Opens a child workspace of the named parent workspace within the given window. Any workspaces\n * above the parent are closed.\n * @returns the updated window\n */ function openChildWorkspaceInWindow(openedWindow, parentWorkspaceName, childWorkspaceName, childWorkspaceProps) {\n const { registeredWorkspacesByName } = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState();\n const childWorkspaceDef = registeredWorkspacesByName[childWorkspaceName];\n if (!childWorkspaceDef) {\n throw new Error(`No workspace named \"${childWorkspaceName}\" registered`);\n }\n const parentWorkspaceDef = registeredWorkspacesByName[parentWorkspaceName];\n if (!parentWorkspaceDef) {\n throw new Error(`No workspace named \"${parentWorkspaceName}\" registered`);\n }\n if (parentWorkspaceDef.window !== childWorkspaceDef.window) {\n throw new Error(`Child workspace ${childWorkspaceName} does not belong to the same workspace window as parent workspace ${parentWorkspaceName}`);\n }\n if (childWorkspaceDef.window !== openedWindow.windowName) {\n throw new Error(`Cannot open child workspace ${childWorkspaceName} as window ${childWorkspaceDef.window} is not opened`);\n }\n const { openedWorkspaces } = openedWindow;\n const parentIndex = openedWorkspaces.findIndex((w)=>w.workspaceName === parentWorkspaceName);\n if (parentIndex === -1) {\n throw new Error(`Cannot open child workspace ${childWorkspaceName} from parent workspace ${parentWorkspaceName} as the parent is not opened within the workspace window`);\n }\n // Close any workspaces above the parent (analogous to closeWorkspace's slice behavior)\n const trimmedWorkspaces = openedWorkspaces.slice(0, parentIndex + 1);\n return {\n ...openedWindow,\n openedWorkspaces: [\n ...trimmedWorkspaces,\n newOpenedWorkspace(childWorkspaceName, childWorkspaceProps)\n ]\n };\n}\n/**\n * Updates the title and/or unsaved-changes flag of the workspace instance `uuid` within the given window.\n * @returns the updated window, or `openedWindow` itself if the workspace is not in the window or\n * nothing changed.\n */ function updateOpenedWorkspaceInWindow(openedWindow, workspaceUuid, patch) {\n const workspaceIndex = openedWindow.openedWorkspaces.findIndex((w)=>w.uuid === workspaceUuid);\n if (workspaceIndex < 0) {\n return openedWindow;\n }\n const openedWorkspace = openedWindow.openedWorkspaces[workspaceIndex];\n const patchedKeys = Object.keys(patch);\n if (patchedKeys.every((key)=>openedWorkspace[key] === patch[key])) {\n return openedWindow;\n }\n const openedWorkspaces = [\n ...openedWindow.openedWorkspaces\n ];\n openedWorkspaces[workspaceIndex] = {\n ...openedWorkspace,\n ...patch\n };\n return {\n ...openedWindow,\n openedWorkspaces\n };\n}\nfunction updateOpenedWorkspace(state, workspaceUuid, patch) {\n const openedWindowIndex = state.openedWindows.findIndex((window)=>window.openedWorkspaces.some((w)=>w.uuid === workspaceUuid));\n if (openedWindowIndex < 0) {\n return state; // no-op if the workspace is not opened\n }\n const openedWindow = state.openedWindows[openedWindowIndex];\n const updatedWindow = updateOpenedWorkspaceInWindow(openedWindow, workspaceUuid, patch);\n if (updatedWindow === openedWindow) {\n return state; // returning the same state lets zustand skip notifying subscribers\n }\n const openedWindows = [\n ...state.openedWindows\n ];\n openedWindows[openedWindowIndex] = updatedWindow;\n return {\n ...state,\n openedWindows\n };\n}\nconst workspace2StoreActions = {\n setWindowMaximized (state, windowName, maximized) {\n const openedWindowIndex = state.openedWindows.findIndex((a)=>a.windowName === windowName);\n const openedWindows = [\n ...state.openedWindows\n ];\n const currentWindow = {\n ...openedWindows[openedWindowIndex],\n maximized\n };\n openedWindows[openedWindowIndex] = currentWindow;\n return {\n ...state,\n openedWindows\n };\n },\n // hides the most recently opened window (all other opened windows are implicitly hidden)\n hideWindow (state) {\n return {\n ...state,\n isMostRecentlyOpenedWindowHidden: true\n };\n },\n restoreWindow (state, windowName) {\n const openedWindowIndex = state.openedWindows.findIndex((a)=>a.windowName === windowName);\n const currentWindow = state.openedWindows[openedWindowIndex];\n const openedWindows = [\n ...state.openedWindows.filter((_, i)=>i !== openedWindowIndex),\n currentWindow\n ];\n return {\n ...state,\n openedWindows,\n isMostRecentlyOpenedWindowHidden: false\n };\n },\n closeWorkspace (state, workspaceName) {\n const openedWindowIndex = state.openedWindows.findIndex((window)=>window.openedWorkspaces.some((w)=>w.workspaceName === workspaceName));\n if (openedWindowIndex < 0) {\n return state; // no-op if the window does not exist\n }\n const window = closeWorkspaceInWindow(state.openedWindows[openedWindowIndex], workspaceName);\n const openedWindows = [\n ...state.openedWindows\n ];\n let hidden = state.isMostRecentlyOpenedWindowHidden;\n if (window === null) {\n const wasMostRecentWindow = openedWindowIndex === state.openedWindows.length - 1;\n // if no workspaces left, remove the window\n openedWindows.splice(openedWindowIndex, 1);\n // If we removed the most recent window and there are still windows left,\n // the new most recent window should be shown\n if (wasMostRecentWindow && openedWindows.length > 0) {\n hidden = false;\n }\n } else {\n // if there are still workspaces left, just update the window\n openedWindows[openedWindowIndex] = window;\n }\n return {\n ...state,\n openedWindows,\n isMostRecentlyOpenedWindowHidden: hidden\n };\n },\n openChildWorkspace (state, parentWorkspaceName, childWorkspaceName, childWorkspaceProps) {\n const childWorkspaceDef = state.registeredWorkspacesByName[childWorkspaceName];\n if (!childWorkspaceDef) {\n throw new Error(`No workspace named \"${childWorkspaceName}\" registered`);\n }\n // as the request workspace should be a child workspace, the corresponding window\n // to contain the workspace should already be opened\n const openedWindowIndex = state.openedWindows.findIndex((window)=>window.windowName === childWorkspaceDef.window);\n if (openedWindowIndex == -1) {\n throw new Error(`Cannot open child workspace ${childWorkspaceName} as window ${childWorkspaceDef.window} is not opened`);\n }\n const openedWindows = [\n ...state.openedWindows\n ];\n openedWindows[openedWindowIndex] = openChildWorkspaceInWindow(state.openedWindows[openedWindowIndex], parentWorkspaceName, childWorkspaceName, childWorkspaceProps);\n return {\n ...state,\n openedWindows\n };\n },\n setHasUnsavedChanges (state, workspaceUuid, hasUnsavedChanges) {\n return updateOpenedWorkspace(state, workspaceUuid, {\n hasUnsavedChanges\n });\n },\n setWorkspaceTitle (state, workspaceUuid, title) {\n return updateOpenedWorkspace(state, workspaceUuid, {\n title\n });\n }\n};\nfunction useWorkspace2Store() {\n return (0,_openmrs_esm_react_utils__rspack_import_3.useStoreWithActions)(_openmrs_esm_extensions__rspack_import_2.workspace2Store, workspace2StoreActions);\n}\n/**\n * Returns the react Context containing props passed into a workspace.\n * This hook MUST be called inside a child of <Workspace2>\n */ const useWorkspace2Context = ()=>(0,react__rspack_import_0.useContext)(single_spa_react__rspack_import_1.SingleSpaContext);\n/**\n * @returns a list of registered workspaces.\n */ const getRegisteredWorkspace2Names = ()=>{\n return Object.keys(_openmrs_esm_extensions__rspack_import_2.workspace2Store.getState().registeredWorkspacesByName);\n};\nfunction newOpenedWorkspace(workspaceName, workspaceProps) {\n return {\n workspaceName,\n props: workspaceProps ?? {},\n hasUnsavedChanges: false,\n uuid: (0,uuid__rspack_import_6[\"default\"])()\n };\n}\n/**\n * Builds the window an `<ExportedWorkspace>` starts with: the workspace's real registered window\n * (so `launchChildWorkspace` keeps working), containing just the requested workspace.\n *\n * Returns `null` when `name` is not registered yet; the caller renders nothing and seeds again once\n * the workspace registers, since registration can happen after the component mounts.\n */ function createExportedWorkspaceWindow(name, workspaceProps, windowProps) {\n const workspaceDef = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState().registeredWorkspacesByName[name];\n if (!workspaceDef) {\n return null;\n }\n return {\n windowName: workspaceDef.window,\n openedWorkspaces: [\n newOpenedWorkspace(name, workspaceProps)\n ],\n props: windowProps ?? null,\n maximized: false\n };\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3Qvd29ya3NwYWNlczIvd29ya3NwYWNlMi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3Qvd29ya3NwYWNlczIvd29ya3NwYWNlMi5qcz84Y2I1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNpbmdsZVNwYUNvbnRleHQgfSBmcm9tIFwic2luZ2xlLXNwYS1yZWFjdFwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZFY0IH0gZnJvbSBcInV1aWRcIjtcbmltcG9ydCB7IGdldEdyb3VwQnlXaW5kb3dOYW1lLCBnZXRPcGVuZWRXaW5kb3dJbmRleEJ5V29ya3NwYWNlLCBnZXRXaW5kb3dCeVdvcmtzcGFjZU5hbWUsIHdvcmtzcGFjZTJTdG9yZSB9IGZyb20gXCJAb3Blbm1ycy9lc20tZXh0ZW5zaW9uc1wiO1xuaW1wb3J0IHsgdXNlU3RvcmVXaXRoQWN0aW9ucyB9IGZyb20gXCJAb3Blbm1ycy9lc20tcmVhY3QtdXRpbHNcIjtcbmltcG9ydCB7IHNoYWxsb3dFcXVhbCB9IGZyb20gXCJAb3Blbm1ycy9lc20tdXRpbHNcIjtcbmltcG9ydCB7IHNob3dNb2RhbCB9IGZyb20gXCIuLi9tb2RhbHMvaW5kZXguanNcIjtcbi8qKlxuICogQXR0ZW1wdHMgdG8gbGF1bmNoIHRoZSBzcGVjaWZpZWQgd29ya3NwYWNlIGdyb3VwIHdpdGggdGhlIGdpdmVuIGdyb3VwIHByb3BzLiBOb3RlIHRoYXQgb25seSBvbmUgd29ya3NwYWNlIGdyb3VwXG4gKiBtYXkgYmUgb3BlbmVkIGF0IGFueSBnaXZlbiB0aW1lLiBJZiBhIHdvcmtzcGFjZSBncm91cCBpcyBhbHJlYWR5IG9wZW5lZCwgY2FsbGluZyBgbGF1bmNoV29ya3NwYWNlR3JvdXAyYCB3aXRoXG4gKiBlaXRoZXIgYSBkaWZmZXJlbnQgZ3JvdXAgbmFtZSwgb3Igc2FtZSBncm91cCBuYW1lIGJ1dCBkaWZmZXJlbnQgaW5jb21wYXRpYmxlIHByb3BzKiosIHdpbGwgcmVzdWx0IGluIHByb21wdGluZyB0b1xuICogY29uZmlybSBjbG9zaW5nIHdvcmtzcGFjZXMuIElmIHRoZSB1c2VyIGNvbmZpcm1zLCB0aGUgb3BlbmVkIGdyb3VwLCBhbG9uZyB3aXRoIGl0cyB3aW5kb3dzIChhbmQgdGhlaXIgd29ya3NwYWNlcyksIGlzIGNsb3NlZCwgYW5kXG4gKiB0aGUgcmVxdWVzdGVkIGdyb3VwIGlzIGltbWVkaWF0ZWx5IG9wZW5lZC5cbiAqXG4gKiAqKiAyIHNldHMgb2YgcHJvcHMgYXJlIGNvbXBhdGlibGUgaWYgZWl0aGVyIG9uZSBpcyBudWxsaXNoLCBvciBpZiB0aGV5IGFyZSBzaGFsbG93IGVxdWFsLlxuICogQHBhcmFtIGdyb3VwTmFtZVxuICogQHBhcmFtIGdyb3VwUHJvcHNcbiAqIEByZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRydWUgaWYgdGhlIHNwZWNpZmllZCB3b3Jrc3BhY2UgZ3JvdXAgd2l0aCB0aGUgc3BlY2lmaWVkIGdyb3VwIHByb3BzXG4gKiAgaXMgc3VjY2Vzc2Z1bGx5IG9wZW5lZCwgb3IgdGhhdCBpdCBhbHJlYWR5IGlzIG9wZW5lZC5cbiAqLyBleHBvcnQgYXN5bmMgZnVuY3Rpb24gbGF1bmNoV29ya3NwYWNlR3JvdXAyKGdyb3VwTmFtZSwgZ3JvdXBQcm9wcykge1xuICAgIGNvbnN0IHsgb3BlbmVkR3JvdXAgfSA9IHdvcmtzcGFjZTJTdG9yZS5nZXRTdGF0ZSgpO1xuICAgIGlmIChvcGVuZWRHcm91cCkge1xuICAgICAgICBpZiAob3BlbmVkR3JvdXAuZ3JvdXBOYW1lICE9PSBncm91cE5hbWUgfHwgIWFyZVByb3BzQ29tcGF0aWJsZShvcGVuZWRHcm91cC5wcm9wcywgZ3JvdXBQcm9wcykpIHtcbiAgICAgICAgICAgIGNvbnN0IG9rVG9DbG9zZVdvcmtzcGFjZXMgPSBhd2FpdCBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyh7XG4gICAgICAgICAgICAgICAgcmVhc29uOiAnQ0xPU0VfV09SS1NQQUNFX0dST1VQJyxcbiAgICAgICAgICAgICAgICBleHBsaWNpdDogZmFsc2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKCFva1RvQ2xvc2VXb3Jrc3BhY2VzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAvLyBlbHNlLCBwcm9jZWVkIHRvIG9wZW4gdGhlIG5ldyBncm91cCB3aXRoIG5vIG9wZW5lZFdpbmRvd3NcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIG5vLW9wLCBncm91cCB3aXRoIGdyb3VwIHByb3BzIGlzIGFscmVhZHkgb3BlbmVkXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB3b3Jrc3BhY2UyU3RvcmUuc2V0U3RhdGUoKHN0YXRlKT0+KHtcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgb3BlbmVkR3JvdXA6IHtcbiAgICAgICAgICAgICAgICBncm91cE5hbWUsXG4gICAgICAgICAgICAgICAgcHJvcHM6IGdyb3VwUHJvcHNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGVuZWRXaW5kb3dzOiBbXVxuICAgICAgICB9KSk7XG4gICAgcmV0dXJuIHRydWU7XG59XG4vKipcbiAqIENsb3NlcyB0aGUgd29ya3NwYWNlIGdyb3VwIHRoYXQgaXMgY3VycmVudGx5IG9wZW5lZC4gTm90ZSB0aGF0IG9ubHkgb25lIHdvcmtzcGFjZSBncm91cFxuICogbWF5IGJlIG9wZW5lZCBhdCBhbnkgZ2l2ZW4gdGltZVxuICogQHBhcmFtIGRpc2NhcmRVbnNhdmVkQ2hhbmdlcyBJZiB0cnVlLCB0aGVuIHRoZSB3b3Jrc3BhY2UgZ3JvdXAgaXMgZm9yY2VkIGNsb3NlZCwgd2l0aCBubyBwcm9tcHRcbiAqIGZvciBjb25maXJtYXRpb24gZm9yIHVuc2F2ZWQgY2hhbmdlcyBpbiBhbnkgb3BlbmVkIHdvcmtzcGFjZS4gVGhpcyBzaG91bGQgYmUgdXNlZCBzcGFyaW5nbHlcbiAqIGZvciBjbGVhbi11cCBwdXJwb3NlLCBleDogd2hlbiBleGl0aW5nIGFuIGFwcC5cbiAqIEByZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRydWUgaWYgdGhlcmUgaXMgbm8gb3BlbmVkIGdyb3VwIHRvIGJlZ2luIHdpdGggb3Igd2Ugc3VjY2Vzc2Z1bGx5IGNsb3NlZFxuICogdGhlIG9wZW5lZCBncm91cDsgZmFsc2Ugb3RoZXJ3aXNlLlxuICovIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBjbG9zZVdvcmtzcGFjZUdyb3VwMihkaXNjYXJkVW5zYXZlZENoYW5nZXMpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHdvcmtzcGFjZTJTdG9yZS5nZXRTdGF0ZSgpO1xuICAgIGNvbnN0IHsgb3BlbmVkR3JvdXAsIG9wZW5lZFdpbmRvd3MgfSA9IHN0YXRlO1xuICAgIGlmIChvcGVuZWRHcm91cCkge1xuICAgICAgICBpZiAob3BlbmVkV2luZG93cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBva1RvQ2xvc2VXb3Jrc3BhY2VzID0gZGlzY2FyZFVuc2F2ZWRDaGFuZ2VzIHx8IGF3YWl0IHByb21wdEZvckNsb3NpbmdXb3Jrc3BhY2VzKHtcbiAgICAgICAgICAgICAgICByZWFzb246ICdDTE9TRV9XT1JLU1BBQ0VfR1JPVVAnLFxuICAgICAgICAgICAgICAgIGV4cGxpY2l0OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICghb2tUb0Nsb3NlV29ya3NwYWNlcykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB3b3Jrc3BhY2UyU3RvcmUuc2V0U3RhdGUoKHN0YXRlKT0+KHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBvcGVuZWRHcm91cDogbnVsbCxcbiAgICAgICAgICAgICAgICBvcGVuZWRXaW5kb3dzOiBbXVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8gbm8gb3BlbmVkR3JvdXAgd2l0aCBiZWdpbiB3aXRoLCByZXR1cm4gdHJ1ZVxuICAgIHJldHVybiB0cnVlO1xufVxuLyoqXG4gKiBBdHRlbXB0cyB0byBsYXVuY2ggdGhlIHNwZWNpZmllZCB3b3Jrc3BhY2Ugd2l0aCB0aGUgZ2l2ZW4gd29ya3NwYWNlIHByb3BzLiBUaGlzIGFsc28gaW1wbGljaXRseSBvcGVuc1xuICogdGhlIHdvcmtzcGFjZSB3aW5kb3cgdG8gd2hpY2ggdGhlIHdvcmtzcGFjZSBiZWxvbmdzIChpZiBpdCdzIG5vdCBvcGVuZWQgYWxyZWFkeSksXG4gKiBhbmQgdGhlIHdvcmtzcGFjZSBncm91cCB0byB3aGljaCB0aGUgd2luZG93IGJlbG9uZ3MgKGlmIGl0J3Mgbm90IG9wZW5lZCBhbHJlYWR5KS5cbiAqXG4gKiBXaGVuIGNhbGxpbmcgYGxhdW5jaFdvcmtzcGFjZTJgLCB3ZSBuZWVkIHRvIGFsc28gcGFzcyBpbiB0aGUgd29ya3NwYWNlIHByb3BzLiBXaGlsZSBub3QgcmVxdWlyZWQsXG4gKiB3ZSBjYW4gYWxzbyBwYXNzIGluIHRoZSB3aW5kb3cgcHJvcHMgKHNoYXJlZCBieSBvdGhlciB3b3Jrc3BhY2VzIGluIHRoZSB3aW5kb3cpIGFuZCB0aGUgZ3JvdXAgcHJvcHNcbiAqIChzaGFyZWQgYnkgYWxsIHdpbmRvd3MgYW5kIHRoZWlyIHdvcmtzcGFjZXMpLiBPbWl0dGluZyB0aGUgd2luZG93IHByb3BzIG9yIHRoZSBncm91cCBwcm9wc1teMV0gbWVhbnMgdGhlIGNhbGxlclxuICogZXhwbGljaXRseSBkb2VzIG5vdCBjYXJlIHdoYXQgdGhlIGN1cnJlbnQgd2luZG93IHByb3BzIGFuZCBncm91cCBwcm9wcyBhcmUsIGFuZCB0aGF0IHRoZXkgbWF5IGJlIHNldFxuICogYnkgb3RoZXIgYWN0aW9ucyAobGlrZSBjYWxsaW5nIGBsYXVuY2hXb3Jrc3BhY2UyYCBvbiBhIGRpZmZlcmVudCB3b3Jrc3BhY2Ugd2l0aCB0aG9zZSBwcm9wcyBwYXNzZWQgaW4pXG4gKiBhdCBhIGxhdGVyIHRpbWUuXG4gKlxuICogSWYgdGhlcmUgaXMgYWxyZWFkeSBhbiBvcGVuZWQgd29ya3NwYWNlIGdyb3VwLCBhbmQgaXQncyBub3QgdGhlIGdyb3VwIHRoZSB3b3Jrc3BhY2UgYmVsb25ncyB0b1xuICogb3IgaGFzIGluY29tcGF0aWJsZVteMl0gZ3JvdXAgcHJvcHMsIHRoZW4gd2UgcHJvbXB0IHRoZSB1c2VyIHRvIGNsb3NlIHRoZSBncm91cCAoYW5kIGl0cyB3aW5kb3dzIGFuZCB0aGVpciB3b3Jrc3BhY2VzKS5cbiAqIE9uIHVzZXIgY29uZmlybSwgdGhlIGV4aXN0aW5nIG9wZW5lZCBncm91cCBpcyBjbG9zZWQgYW5kIHRoZSBuZXcgd29ya3NwYWNlLCBhbG9uZyB3aXRoIGl0cyB3aW5kb3cgYW5kIGl0cyBncm91cCxcbiAqIGlzIG9wZW5lZC5cbiAqXG4gKiBJZiB0aGUgd2luZG93IGlzIGFscmVhZHkgb3BlbmVkLCBidXQgd2l0aCBpbmNvbXBhdGlibGUgd2luZG93IHByb3BzLCB3ZSBwcm9tcHQgdGhlIHVzZXIgdG8gY2xvc2VcbiAqIHRoZSB3aW5kb3cgKGFuZCBhbGwgaXRzIG9wZW5lZCB3b3Jrc3BhY2VzKSwgYW5kIHJlb3BlbiB0aGUgd2luZG93IHdpdGggKG9ubHkpIHRoZSBuZXdseSByZXF1ZXN0ZWQgd29ya3NwYWNlLlxuICpcbiAqIElmIHRoZSB3b3Jrc3BhY2UgaXMgYWxyZWFkeSBvcGVuZWQsIGJ1dCB3aXRoIGluY29tcGF0aWJsZSB3b3Jrc3BhY2UgcHJvcHMsIHdlIGFsc28gcHJvbXB0IHRoZSB1c2VyIHRvIGNsb3NlXG4gKiB0aGUgKip3aW5kb3cqKiAoYW5kIGFsbCBpdHMgb3BlbmVkIHdvcmtzcGFjZXMpLCBhbmQgcmVvcGVuIHRoZSB3aW5kb3cgd2l0aCAob25seSkgdGhlIG5ld2x5IHJlcXVlc3RlZCB3b3Jrc3BhY2UuXG4gKiBUaGlzIGlzIHRydWUgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBhbHJlYWR5IG9wZW5lZCB3b3Jrc3BhY2UgaGFzIGFueSBjaGlsZCB3b3Jrc3BhY2VzLlxuICpcbiAqIE5vdGUgdGhhdCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gKm5ldmVyKiByZXN1bHRzIGluIGNyZWF0aW5nIGEgY2hpbGQgd29ya3NwYWNlIGluIHRoZSBhZmZlY3RlZCB3aW5kb3cuXG4gKiBUbyBkbyBzbywgd2UgbmVlZCB0byBjYWxsIGBsYXVuY2hDaGlsZFdvcmtzcGFjZWAgaW5zdGVhZC5cbiAqXG4gKiBbXjFdIE9taXR0aW5nIHdpbmRvdyBvciBncm91cCBwcm9wcyBpcyB1c2VmdWwgZm9yIHdvcmtzcGFjZXMgdGhhdCBkb24ndCBoYXZlIHRpZXMgdG8gdGhlIHdpbmRvdyBvciBncm91cCBcImNvbnRleHRcIiAocHJvcHMpLlxuICogRm9yIGV4YW1wbGUsIGluIHRoZSBwYXRpZW50IGNoYXJ0LCB0aGUgdmlzaXQgbm90ZXMgLyBjbGluaWNhbCBmb3JtcyAvIG9yZGVyIGJhc2tldCBhY3Rpb24gbWVudSBidXR0b24gYWxsIHNoYXJlXG4gKiBhIFwiZ3JvdXAgY29udGV4dFwiIG9mIHRoZSBjdXJyZW50IHZpc2l0LiBIb3dldmVyLCB0aGUgXCJwYXRpZW50IGxpc3RcIiBhY3Rpb24gbWVudSBidXR0b24gZG9lcyBub3QgbmVlZCB0byBzaGFyZSB0aGF0IGdyb3VwXG4gKiBjb250ZXh0LCBzbyBvcGVuaW5nIHRoYXQgd29ya3NwYWNlIHNob3VsZCBub3QgbmVlZCB0byBjYXVzZSBvdGhlciB3b3Jrc3BhY2VzIC8gd2luZG93cyAvIGdyb3VwcyB0byBwb3RlbnRpYWxseSBjbG9zZS5cbiAqIFRoZSBcInBhdGllbnQgc2VhcmNoXCIgd29ya3NwYWNlIGluIHRoZSBxdWV1ZXMgYW5kIHdhcmQgYXBwcyBpcyBhbm90aGVyIGV4YW1wbGUuXG4gKlxuICogW14yXSAyIHNldHMgb2YgcHJvcHMgYXJlIGNvbXBhdGlibGUgaWYgZWl0aGVyIG9uZSBpcyBudWxsaXNoLCBvciBpZiB0aGV5IGFyZSBzaGFsbG93IGVxdWFsLlxuICovIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBsYXVuY2hXb3Jrc3BhY2UyKHdvcmtzcGFjZU5hbWUsIHdvcmtzcGFjZVByb3BzID0gbnVsbCwgd2luZG93UHJvcHMgPSBudWxsLCBncm91cFByb3BzID0gbnVsbCkge1xuICAgIGNvbnN0IHN0b3JlU3RhdGUgPSB3b3Jrc3BhY2UyU3RvcmUuZ2V0U3RhdGUoKTtcbiAgICBpZiAoIXN0b3JlU3RhdGUucmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWVbd29ya3NwYWNlTmFtZV0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gbGF1bmNoIHdvcmtzcGFjZSAke3dvcmtzcGFjZU5hbWV9LiBXb3Jrc3BhY2UgaXMgbm90IHJlZ2lzdGVyZWRgKTtcbiAgICB9XG4gICAgY29uc3Qgd2luZG93RGVmID0gZ2V0V2luZG93QnlXb3Jrc3BhY2VOYW1lKHdvcmtzcGFjZU5hbWUpO1xuICAgIGlmICghd2luZG93RGVmKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGxhdW5jaCB3b3Jrc3BhY2UgJHt3b3Jrc3BhY2VOYW1lfS4gV29ya3NwYWNlIGlzIG5vdCByZWdpc3RlcmVkIHRvIGEgd29ya3NwYWNlIHdpbmRvd2ApO1xuICAgIH1cbiAgICBjb25zdCB7IG9wZW5lZEdyb3VwIH0gPSBzdG9yZVN0YXRlO1xuICAgIGNvbnN0IHsgbmFtZTogd2luZG93TmFtZSB9ID0gd2luZG93RGVmO1xuICAgIGNvbnN0IGdyb3VwRGVmID0gZ2V0R3JvdXBCeVdpbmRvd05hbWUod2luZG93TmFtZSk7XG4gICAgaWYgKCFncm91cERlZikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBsYXVuY2ggd29ya3NwYWNlICR7d29ya3NwYWNlTmFtZX0uIFdvcmtzcGFjZSB3aW5kb3cgJHt3aW5kb3dEZWYubmFtZX0gaXMgbm90IHJlZ2lzdGVyZWQgdG8gYSB3b3Jrc3BhY2UgZ3JvdXBgKTtcbiAgICB9XG4gICAgY29uc3Qgb3BlbmVkV2luZG93SW5kZXggPSBnZXRPcGVuZWRXaW5kb3dJbmRleEJ5V29ya3NwYWNlKHdvcmtzcGFjZU5hbWUpO1xuICAgIGNvbnN0IGlzV2luZG93QWxyZWFkeU9wZW5lZCA9IG9wZW5lZFdpbmRvd0luZGV4ID49IDA7XG4gICAgLy8gaWYgY3VycmVudCBvcGVuZWQgZ3JvdXAgaXMgbm90IHRoZSBzYW1lIGFzIHRoZSByZXF1ZXN0ZWQgZ3JvdXAsIG9yIGlmIHRoZSBncm91cCBwcm9wcyBhcmUgZGlmZmVyZW50LCB0aGVuIHByb21wdCBmb3IgdW5zYXZlZCBjaGFuZ2VzXG4gICAgaWYgKG9wZW5lZEdyb3VwICYmIChvcGVuZWRHcm91cC5ncm91cE5hbWUgIT09IGdyb3VwRGVmLm5hbWUgfHwgIWFyZVByb3BzQ29tcGF0aWJsZShvcGVuZWRHcm91cC5wcm9wcywgZ3JvdXBQcm9wcykpKSB7XG4gICAgICAgIGNvbnN0IG9rVG9DbG9zZVdvcmtzcGFjZXMgPSBhd2FpdCBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyh7XG4gICAgICAgICAgICByZWFzb246ICdDTE9TRV9XT1JLU1BBQ0VfR1JPVVAnLFxuICAgICAgICAgICAgZXhwbGljaXQ6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChva1RvQ2xvc2VXb3Jrc3BhY2VzKSB7XG4gICAgICAgICAgICB3b3Jrc3BhY2UyU3RvcmUuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgIC4uLnN0b3JlU3RhdGUsXG4gICAgICAgICAgICAgICAgb3BlbmVkR3JvdXA6IHtcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBOYW1lOiBncm91cERlZi5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogZ3JvdXBQcm9wc1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3BlbmVkV2luZG93czogW1xuICAgICAgICAgICAgICAgICAgICAvLyBkaXNjYXJkIGFsbCBvcGVuZWQgd2luZG93cywgb3BlbiBhIG5ldyBvbmUgd2l0aCB0aGUgcmVxdWVzdGVkIHdvcmtzcGFjZVxuICAgICAgICAgICAgICAgICAgICAvLyBtb3N0IHJlY2VudGx5IG9wZW5lZCBhY3Rpb24gYXBwZW5kZWQgdG8gdGhlIGVuZFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3dOYW1lOiB3aW5kb3dOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVkV29ya3NwYWNlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wZW5lZFdvcmtzcGFjZSh3b3Jrc3BhY2VOYW1lLCB3b3Jrc3BhY2VQcm9wcylcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wczogd2luZG93UHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZWQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBmYWxzZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNXaW5kb3dBbHJlYWR5T3BlbmVkKSB7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvdyA9IHN0b3JlU3RhdGUub3BlbmVkV2luZG93c1tvcGVuZWRXaW5kb3dJbmRleF07XG4gICAgICAgIGNvbnN0IGdyb3VwUHJvcHMgPSBzdG9yZVN0YXRlLm9wZW5lZEdyb3VwPy5wcm9wcyA/PyB7fTtcbiAgICAgICAgY29uc3QgaXNNb3N0UmVjZW50bHlPcGVuZWRXaW5kb3dIaWRkZW4gPSBzdG9yZVN0YXRlLmlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuO1xuICAgICAgICBjb25zdCB7IG9wZW5lZFdvcmtzcGFjZXMgfSA9IG9wZW5lZFdpbmRvdztcbiAgICAgICAgaWYgKGFyZVByb3BzQ29tcGF0aWJsZShvcGVuZWRXaW5kb3cucHJvcHMsIHdpbmRvd1Byb3BzKSkge1xuICAgICAgICAgICAgLy8gdGhpcyBjYXNlIGlzIHRyaWNreSwgdGhpcyByZXN1bHRzIGluIHJlc3RvcmluZyB0aGUgd2luZG93IGlmOlxuICAgICAgICAgICAgLy8gMS4gdGhlIHdvcmtzcGFjZSBpcyBvcGVuZWQgKGJ1dCBub3QgbmVjZXNzYXJpbHkgYXMgYSBsZWFmIHdvcmtzcGFjZSlcbiAgICAgICAgICAgIC8vIDIuIHRoZSBwcm9wcyBvZiB0aGUgb3BlbmVkIHdvcmtzcGFjZSBpcyBzYW1lIGFzIHdvcmtzcGFjZSBwcm9wcyAoZnJvbSB0aGUgZnVuY3Rpb24gaW5wdXQpXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCB3ZSBjbG9zZSBhbGwgd29ya3NwYWNlcyBpbiB0aGlzIHdpbmRvdywgYW5kIG9wZW4gdGhpcyBuZXdseSByZXF1ZXN0ZWQgb25lXG4gICAgICAgICAgICBjb25zdCBvcGVuZWRXb3Jrc3BhY2UgPSBvcGVuZWRXb3Jrc3BhY2VzLmZpbmQoKHcpPT53LndvcmtzcGFjZU5hbWUgPT09IHdvcmtzcGFjZU5hbWUpO1xuICAgICAgICAgICAgaWYgKG9wZW5lZFdvcmtzcGFjZSAmJiBhcmVQcm9wc0NvbXBhdGlibGUob3BlbmVkV29ya3NwYWNlLnByb3BzLCB3b3Jrc3BhY2VQcm9wcykpIHtcbiAgICAgICAgICAgICAgICAvLyByZXN0b3JlIHRoZSB3aW5kb3cgaWYgaXQgaXMgaGlkZGVuIG9yIG5vdCB0aGUgbW9zdCByZWNlbnRseSBvcGVuZWQgb25lXG4gICAgICAgICAgICAgICAgaWYgKGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuIHx8IG9wZW5lZFdpbmRvd0luZGV4ICE9PSBzdG9yZVN0YXRlLm9wZW5lZFdpbmRvd3MubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICB3b3Jrc3BhY2UyU3RvcmUuc2V0U3RhdGUod29ya3NwYWNlMlN0b3JlQWN0aW9ucy5yZXN0b3JlV2luZG93KHN0b3JlU3RhdGUsIHdpbmRvd05hbWUpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9rVG9DbG9zZVdvcmtzcGFjZXMgPSBhd2FpdCBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyh7XG4gICAgICAgICAgICAgICAgICAgIHJlYXNvbjogJ0NMT1NFX1dPUktTUEFDRScsXG4gICAgICAgICAgICAgICAgICAgIGV4cGxpY2l0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgd2luZG93TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgd29ya3NwYWNlTmFtZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChva1RvQ2xvc2VXb3Jrc3BhY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHdvcmtzcGFjZTJTdG9yZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5zdG9yZVN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVkR3JvdXA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cE5hbWU6IGdyb3VwRGVmLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHN0b3JlU3RhdGU/Lm9wZW5lZEdyb3VwPy5wcm9wcyA/PyBncm91cFByb3BzXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVkV2luZG93czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN0b3JlU3RhdGUub3BlbmVkV2luZG93cy5maWx0ZXIoKF8sIGkpPT5pICE9PSBvcGVuZWRXaW5kb3dJbmRleCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbW9zdCByZWNlbnRseSBvcGVuZWQgd29ya3NwYWNlIGF0IHRoZSBlbmQgb2YgdGhlIGFycmF5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3dOYW1lOiB3aW5kb3dOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuZWRXb3Jrc3BhY2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdPcGVuZWRXb3Jrc3BhY2Uod29ya3NwYWNlTmFtZSwgd29ya3NwYWNlUHJvcHMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiBvcGVuZWRXaW5kb3c/LnByb3BzID8/IHdpbmRvd1Byb3BzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZWQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG9rVG9DbG9zZVdvcmtzcGFjZXMgPSBhd2FpdCBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyh7XG4gICAgICAgICAgICAgICAgcmVhc29uOiAnQ0xPU0VfV0lORE9XJyxcbiAgICAgICAgICAgICAgICBleHBsaWNpdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgd2luZG93TmFtZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob2tUb0Nsb3NlV29ya3NwYWNlcykge1xuICAgICAgICAgICAgICAgIC8vIGRpc2NhcmQgdGhlIG9wZW5lZFdpbmRvd3MgZWxlbWVudCBhdCBvcGVuZWRXaW5kb3dJbmRleFxuICAgICAgICAgICAgICAgIC8vIGFuZCBjcmVhdGUgYSBuZXcgb25lIHdpdGggdGhlIHJlcXVlc3RlZCB3b3Jrc3BhY2Ugb3BlbmVkXG4gICAgICAgICAgICAgICAgd29ya3NwYWNlMlN0b3JlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3RvcmVTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgb3BlbmVkR3JvdXA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwTmFtZTogZ3JvdXBEZWYubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiBncm91cFByb3BzID8/IHN0b3JlU3RhdGU/Lm9wZW5lZEdyb3VwPy5wcm9wc1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvcGVuZWRXaW5kb3dzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5zdG9yZVN0YXRlLm9wZW5lZFdpbmRvd3MuZmlsdGVyKChfLCBpKT0+aSAhPT0gb3BlbmVkV2luZG93SW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbW9zdCByZWNlbnRseSBvcGVuZWQgd29ya3NwYWNlIGF0IHRoZSBlbmQgb2YgdGhlIGFycmF5XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93TmFtZTogd2luZG93TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuZWRXb3Jrc3BhY2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wZW5lZFdvcmtzcGFjZSh3b3Jrc3BhY2VOYW1lLCB3b3Jrc3BhY2VQcm9wcylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiB3aW5kb3dQcm9wcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZWQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGdyb3VwRGVmLnBlcnNpc3RlbmNlID09ICdjbG9zYWJsZScpIHtcbiAgICAgICAgY29uc3Qgb2tUb0Nsb3NlV29ya3NwYWNlcyA9IGF3YWl0IHByb21wdEZvckNsb3NpbmdXb3Jrc3BhY2VzKHtcbiAgICAgICAgICAgIHJlYXNvbjogJ0NMT1NFX09USEVSX1dJTkRPV1MnLFxuICAgICAgICAgICAgZXhwbGljaXQ6IGZhbHNlLFxuICAgICAgICAgICAgd2luZG93TmFtZVRvU3BhcmU6IHdpbmRvd0RlZi5uYW1lXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAob2tUb0Nsb3NlV29ya3NwYWNlcykge1xuICAgICAgICAgICAgd29ya3NwYWNlMlN0b3JlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAuLi5zdG9yZVN0YXRlLFxuICAgICAgICAgICAgICAgIG9wZW5lZEdyb3VwOiB7XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwTmFtZTogZ3JvdXBEZWYubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcHM6IGdyb3VwUHJvcHMgPz8gc3RvcmVTdGF0ZT8ub3BlbmVkR3JvdXA/LnByb3BzID8/IG51bGxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wZW5lZFdpbmRvd3M6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93TmFtZTogd2luZG93TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lZFdvcmtzcGFjZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdPcGVuZWRXb3Jrc3BhY2Uod29ya3NwYWNlTmFtZSwgd29ya3NwYWNlUHJvcHMpXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHdpbmRvd1Byb3BzLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW1pemVkOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBpc01vc3RSZWNlbnRseU9wZW5lZFdpbmRvd0hpZGRlbjogZmFsc2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICB3b3Jrc3BhY2UyU3RvcmUuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4uc3RvcmVTdGF0ZSxcbiAgICAgICAgICAgIG9wZW5lZEdyb3VwOiB7XG4gICAgICAgICAgICAgICAgZ3JvdXBOYW1lOiBncm91cERlZi5uYW1lLFxuICAgICAgICAgICAgICAgIHByb3BzOiBncm91cFByb3BzID8/IHN0b3JlU3RhdGU/Lm9wZW5lZEdyb3VwPy5wcm9wcyA/PyBudWxsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3BlbmVkV2luZG93czogW1xuICAgICAgICAgICAgICAgIC4uLnN0b3JlU3RhdGUub3BlbmVkV2luZG93cyxcbiAgICAgICAgICAgICAgICAvLyBtb3N0IHJlY2VudGx5IG9wZW5lZCB3b3Jrc3BhY2UgYXQgdGhlIGVuZCBvZiB0aGUgYXJyYXlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvd05hbWU6IHdpbmRvd05hbWUsXG4gICAgICAgICAgICAgICAgICAgIG9wZW5lZFdvcmtzcGFjZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wZW5lZFdvcmtzcGFjZSh3b3Jrc3BhY2VOYW1lLCB3b3Jrc3BhY2VQcm9wcylcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHdpbmRvd1Byb3BzLFxuICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZWQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuLyoqXG4gKiBXaGVuIHdlIGxhdW5jaCBhIHdvcmtzcGFjZSwgd2UgbWF5IHBhc3MgaW4gd29ya3NwYWNlIC8gd2luZG93cyAvIGdyb3VwIHByb3BzLiBJZiB0aGUgd29ya3NwYWNlIG9yXG4gKiB3aW5kb3cgb3IgZ3JvdXAgaXMgY3VycmVudGx5IG9wZW5lZCwgd2UgaGF2ZSB0byBjaGVjayB3aGV0aGVyIHRoZSBjdXJyZW50IHByb3BzIGFyZSBjb21wYXRpYmxlIHdpdGhcbiAqIHRoZSBwYXNzZWQgaW4gcHJvcHMuIDIgcHJvcHMgQSBhbmQgQiBhcmUgY29tcGF0aWJsZSBpZjpcbiAqICAgZWl0aGVyIG9uZSBpcyBudWxsaXNoIChiZWNhdXNlIHRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIGNhbGxlciBkb2VzIG5vdCBjYXJlIGFib3V0IHByb3AgaW5jb21wYXRpYmlsaXR5KVxuICogICBuZWl0aGVyIGlzIG51bGxpc2gsIGFuZCBBIGFuZCBCIGFyZSBzaGFsbG93IGVxdWFsLlxuICogQHBhcmFtIGEgcHJvcHNcbiAqIEBwYXJhbSBiIHByb3BzXG4gKiBAcmV0dXJucyB3aGV0aGVyIHByb3BzIGEgYW5kIGIgYXJlIGNvbXBhdGlibGVcbiAqLyBmdW5jdGlvbiBhcmVQcm9wc0NvbXBhdGlibGUoYSwgYikge1xuICAgIGlmIChhID09IG51bGwgfHwgYiA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gc2hhbGxvd0VxdWFsKGEsIGIpO1xufVxuLy8gaWYgb25seVVwVG9UaGlzV29ya3NwYWNlIGlzIHByb3ZpZGVkLCB3ZSB3aWxsIG9ubHkgbG9vcCB0aWxsIHdlIGhpdCB0aGF0IHdvcmtzcGFjZVxuZnVuY3Rpb24gZ2V0QWZmZWN0ZWRXb3Jrc3BhY2VzSW5XaW5kb3cob3BlbmVkV2luZG93LCBvbmx5VXBUb1RoaXNXb3Jrc3BhY2UpIHtcbiAgICBjb25zdCByZXQgPSBbXTtcbiAgICBmb3IobGV0IGkgPSBvcGVuZWRXaW5kb3cub3BlbmVkV29ya3NwYWNlcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSl7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdvcmtzcGFjZSA9IG9wZW5lZFdpbmRvdy5vcGVuZWRXb3Jrc3BhY2VzW2ldO1xuICAgICAgICBpZiAob3BlbmVkV29ya3NwYWNlLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgICByZXQucHVzaChvcGVuZWRXb3Jrc3BhY2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvbmx5VXBUb1RoaXNXb3Jrc3BhY2UgJiYgb3BlbmVkV29ya3NwYWNlLndvcmtzcGFjZU5hbWUgPT09IG9ubHlVcFRvVGhpc1dvcmtzcGFjZSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbn1cbmZ1bmN0aW9uIHNob3dDbG9zZVByb21wdChhZmZlY3RlZFdvcmtzcGFjZXMpIHtcbiAgICBpZiAoYWZmZWN0ZWRXb3Jrc3BhY2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRydWUpOyAvLyBubyB1bnNhdmVkIGNoYW5nZXMsIG5vIG5lZWQgdG8gcHJvbXB0XG4gICAgfVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PntcbiAgICAgICAgY29uc3QgZGlzcG9zZSA9IHNob3dNb2RhbCgnd29ya3NwYWNlMi1jbG9zZS1wcm9tcHQnLCB7XG4gICAgICAgICAgICBzaXplOiAnc20nLFxuICAgICAgICAgICAgb25Db25maXJtOiAoKT0+e1xuICAgICAgICAgICAgICAgIGRpc3Bvc2UoKTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uQ2FuY2VsOiAoKT0+e1xuICAgICAgICAgICAgICAgIGRpc3Bvc2UoKTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhZmZlY3RlZFdvcmtzcGFjZVRpdGxlczogYWZmZWN0ZWRXb3Jrc3BhY2VzLm1hcCgod29ya3NwYWNlKT0+d29ya3NwYWNlLnRpdGxlID8/ICcnKVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbi8qKlxuICogQSB1c2VyIGNhbiBwZXJmb3JtIGFjdGlvbnMgdGhhdCBleHBsaWNpdGx5IHJlc3VsdCBpbiBjbG9zaW5nIHdvcmtzcGFjZXNcbiAqIChzdWNoIHRoYXQgY2xpY2tpbmcgdGhlICdYJyBidXR0b24gZm9yIHRoZSB3b3Jrc3BhY2Ugb3Igd29ya3NwYWNlIGdyb3VwKSwgb3JcbiAqIGltcGxpY2l0bHkgKGJ5IG9wZW5pbmcgYSB3b3Jrc3BhY2Ugd2l0aCBkaWZmZXJlbnQgcHJvcHMgdGhhbiB0aGUgb25lIHRoYXQgaXMgYWxyZWFkeSBvcGVuZWQpLlxuICogQ2FsbHMgdG8gY2xvc2VXb3Jrc3BhY2UyKCkgb3IgY2xvc2VXb3Jrc3BhY2VHcm91cDIoKSBhcmUgY29uc2lkZXJlZCBleHBsaWNpdCwgd2hpbGUgY2FsbHNcbiAqIHRvIGxhdW5jaFdvcmtzcGFjZTIoKSBvciBsYXVuY2hXb3Jrc3BhY2VHcm91cDIoKSBhcmUgY29uc2lkZXJlZCBpbXBsaWNpdC5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHByb21wdHMgdGhlIHVzZXIgZm9yIGNvbmZpcm1hdGlvbiB0byBjbG9zZSB3b3Jrc3BhY2VzIHdpdGggYSBtb2RhbCBkaWFsb2cuXG4gKiBXaGVuIHRoZSBjbG9zaW5nIGlzIGV4cGxpY2l0LCBpdCBwcm9tcHRzIGZvciBjb25maXJtYXRpb24gZm9yIGFmZmVjdGVkIHdvcmtzcGFjZXMgd2l0aCB1bnNhdmVkIGNoYW5nZXMuXG4gKiBXaGVuIHRoZSBjbG9zaW5nIGlzIGltcGxpY2l0LCBpdCBwcm9tcHRzIGZvciBjb25maXJtYXRpb24gZm9yIGFsbCBhZmZlY3RlZCB3b3Jrc3BhY2VzLCByZWdhcmRsZXNzIG9mXG4gKiB3aGV0aGVyIHRoZXkgaGF2ZSB1bnNhdmVkIGNoYW5nZXMuXG4gKiBAcGFyYW0gcHJvbXB0UmVhc29uXG4gKiBAcmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0cnVlIGlmIHRoZSB1c2VyIGNvbmZpcm1lZCBjbG9zaW5nIHRoZSB3b3Jrc3BhY2VzOyBmYWxzZSBvdGhlcndpc2UuXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIHByb21wdEZvckNsb3NpbmdXb3Jrc3BhY2VzKHByb21wdFJlYXNvbikge1xuICAgIGNvbnN0IHsgb3BlbmVkV2luZG93cyB9ID0gd29ya3NwYWNlMlN0b3JlLmdldFN0YXRlKCk7XG4gICAgbGV0IGFmZmVjdGVkV29ya3NwYWNlcyA9IFtdO1xuICAgIHN3aXRjaChwcm9tcHRSZWFzb24ucmVhc29uKXtcbiAgICAgICAgY2FzZSAnQ0xPU0VfV09SS1NQQUNFX0dST1VQJzpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhZmZlY3RlZFdvcmtzcGFjZXMgPSBvcGVuZWRXaW5kb3dzLmZsYXRNYXAoKHdpbmRvdyk9PmdldEFmZmVjdGVkV29ya3NwYWNlc0luV2luZG93KHdpbmRvdykpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlICdDTE9TRV9XSU5ET1cnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvdyA9IG9wZW5lZFdpbmRvd3MuZmluZCgod2luZG93KT0+d2luZG93LndpbmRvd05hbWUgPT09IHByb21wdFJlYXNvbi53aW5kb3dOYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAoIW9wZW5lZFdpbmRvdykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdpbmRvdyAke3Byb21wdFJlYXNvbi53aW5kb3dOYW1lfSBub3QgZm91bmQgaW4gb3BlbmVkIHdpbmRvd3MuYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFmZmVjdGVkV29ya3NwYWNlcyA9IGdldEFmZmVjdGVkV29ya3NwYWNlc0luV2luZG93KG9wZW5lZFdpbmRvdyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgJ0NMT1NFX1dPUktTUEFDRSc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3BlbmVkV2luZG93ID0gb3BlbmVkV2luZG93cy5maW5kKCh3aW5kb3cpPT53aW5kb3cud2luZG93TmFtZSA9PT0gcHJvbXB0UmVhc29uLndpbmRvd05hbWUpO1xuICAgICAgICAgICAgICAgIGlmICghb3BlbmVkV2luZG93KSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgV2luZG93ICR7cHJvbXB0UmVhc29uLndpbmRvd05hbWV9IG5vdCBmb3VuZCBpbiBvcGVuZWQgd2luZG93cy5gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYWZmZWN0ZWRXb3Jrc3BhY2VzID0gZ2V0QWZmZWN0ZWRXb3Jrc3BhY2VzSW5XaW5kb3cob3BlbmVkV2luZG93LCBwcm9tcHRSZWFzb24ud29ya3NwYWNlTmFtZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgJ0NMT1NFX09USEVSX1dJTkRPV1MnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpbmRvd3NUb0Nsb3NlID0gb3BlbmVkV2luZG93cy5maWx0ZXIoKHdpbmRvdyk9PndpbmRvdy53aW5kb3dOYW1lICE9PSBwcm9tcHRSZWFzb24ud2luZG93TmFtZVRvU3BhcmUpO1xuICAgICAgICAgICAgICAgIGFmZmVjdGVkV29ya3NwYWNlcyA9IHdpbmRvd3NUb0Nsb3NlLmZsYXRNYXAoKHcpPT5nZXRBZmZlY3RlZFdvcmtzcGFjZXNJbldpbmRvdyh3KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzaG93Q2xvc2VQcm9tcHQoYWZmZWN0ZWRXb3Jrc3BhY2VzKTtcbn1cbi8qKlxuICogUHJvbXB0cyBmb3IgY29uZmlybWF0aW9uIHRvIGNsb3NlIHRoZSB3b3Jrc3BhY2VzIHdpdGggdW5zYXZlZCBjaGFuZ2VzIGluIHRoZSBnaXZlbiB3aW5kb3c6IHRoZSB3aG9sZVxuICogd2luZG93LCBvciwgaWYgYHVwVG9Xb3Jrc3BhY2VOYW1lYCBpcyBnaXZlbiwganVzdCB0aGF0IHdvcmtzcGFjZSBhbmQgaXRzIGNoaWxkcmVuLiBVbmxpa2VcbiAqIGBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlc2AsIHRoaXMgd29ya3Mgb24gYW55IHdpbmRvdywgaW5jbHVkaW5nIG9uZSBoZWxkIGluIGFuXG4gKiBgPEV4cG9ydGVkV29ya3NwYWNlPmAncyBsb2NhbCBzdG9yZS5cbiAqIEByZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRydWUgaWYgdGhlIHVzZXIgY29uZmlybWVkLCBvciB0aGVyZSB3YXMgbm90aGluZyB0byBjb25maXJtLlxuICovIGV4cG9ydCBmdW5jdGlvbiBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlc0luV2luZG93KG9wZW5lZFdpbmRvdywgdXBUb1dvcmtzcGFjZU5hbWUpIHtcbiAgICByZXR1cm4gc2hvd0Nsb3NlUHJvbXB0KGdldEFmZmVjdGVkV29ya3NwYWNlc0luV2luZG93KG9wZW5lZFdpbmRvdywgdXBUb1dvcmtzcGFjZU5hbWUpKTtcbn1cbi8qKlxuICogQ2xvc2VzIHRoZSBuYW1lZCB3b3Jrc3BhY2UsIGFsb25nIHdpdGggaXRzIGNoaWxkcmVuLCB3aXRoaW4gdGhlIGdpdmVuIHdpbmRvdy5cbiAqIEByZXR1cm5zIHRoZSB1cGRhdGVkIHdpbmRvdzsgYG51bGxgIGlmIG5vIHdvcmtzcGFjZXMgYXJlIGxlZnQgaW4gaXQ7IG9yIGBvcGVuZWRXaW5kb3dgIGl0c2VsZiBpZlxuICogICB0aGUgd29ya3NwYWNlIGlzIG5vdCBpbiB0aGUgd2luZG93LlxuICovIGV4cG9ydCBmdW5jdGlvbiBjbG9zZVdvcmtzcGFjZUluV2luZG93KG9wZW5lZFdpbmRvdywgd29ya3NwYWNlTmFtZSkge1xuICAgIGNvbnN0IHdvcmtzcGFjZUluZGV4ID0gb3BlbmVkV2luZG93Lm9wZW5lZFdvcmtzcGFjZXMuZmluZEluZGV4KCh3KT0+dy53b3Jrc3BhY2VOYW1lID09PSB3b3Jrc3BhY2VOYW1lKTtcbiAgICBpZiAod29ya3NwYWNlSW5kZXggPCAwKSB7XG4gICAgICAgIHJldHVybiBvcGVuZWRXaW5kb3c7XG4gICAgfVxuICAgIGlmICh3b3Jrc3BhY2VJbmRleCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3BlbmVkV2luZG93LFxuICAgICAgICBvcGVuZWRXb3Jrc3BhY2VzOiBvcGVuZWRXaW5kb3cub3BlbmVkV29ya3NwYWNlcy5zbGljZSgwLCB3b3Jrc3BhY2VJbmRleClcbiAgICB9O1xufVxuLyoqXG4gKiBPcGVucyBhIGNoaWxkIHdvcmtzcGFjZSBvZiB0aGUgbmFtZWQgcGFyZW50IHdvcmtzcGFjZSB3aXRoaW4gdGhlIGdpdmVuIHdpbmRvdy4gQW55IHdvcmtzcGFjZXNcbiAqIGFib3ZlIHRoZSBwYXJlbnQgYXJlIGNsb3NlZC5cbiAqIEByZXR1cm5zIHRoZSB1cGRhdGVkIHdpbmRvd1xuICovIGV4cG9ydCBmdW5jdGlvbiBvcGVuQ2hpbGRXb3Jrc3BhY2VJbldpbmRvdyhvcGVuZWRXaW5kb3csIHBhcmVudFdvcmtzcGFjZU5hbWUsIGNoaWxkV29ya3NwYWNlTmFtZSwgY2hpbGRXb3Jrc3BhY2VQcm9wcykge1xuICAgIGNvbnN0IHsgcmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWUgfSA9IHdvcmtzcGFjZTJTdG9yZS5nZXRTdGF0ZSgpO1xuICAgIGNvbnN0IGNoaWxkV29ya3NwYWNlRGVmID0gcmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWVbY2hpbGRXb3Jrc3BhY2VOYW1lXTtcbiAgICBpZiAoIWNoaWxkV29ya3NwYWNlRGVmKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gd29ya3NwYWNlIG5hbWVkIFwiJHtjaGlsZFdvcmtzcGFjZU5hbWV9XCIgcmVnaXN0ZXJlZGApO1xuICAgIH1cbiAgICBjb25zdCBwYXJlbnRXb3Jrc3BhY2VEZWYgPSByZWdpc3RlcmVkV29ya3NwYWNlc0J5TmFtZVtwYXJlbnRXb3Jrc3BhY2VOYW1lXTtcbiAgICBpZiAoIXBhcmVudFdvcmtzcGFjZURlZikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHdvcmtzcGFjZSBuYW1lZCBcIiR7cGFyZW50V29ya3NwYWNlTmFtZX1cIiByZWdpc3RlcmVkYCk7XG4gICAgfVxuICAgIGlmIChwYXJlbnRXb3Jrc3BhY2VEZWYud2luZG93ICE9PSBjaGlsZFdvcmtzcGFjZURlZi53aW5kb3cpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDaGlsZCB3b3Jrc3BhY2UgJHtjaGlsZFdvcmtzcGFjZU5hbWV9IGRvZXMgbm90IGJlbG9uZyB0byB0aGUgc2FtZSB3b3Jrc3BhY2Ugd2luZG93IGFzIHBhcmVudCB3b3Jrc3BhY2UgJHtwYXJlbnRXb3Jrc3BhY2VOYW1lfWApO1xuICAgIH1cbiAgICBpZiAoY2hpbGRXb3Jrc3BhY2VEZWYud2luZG93ICE9PSBvcGVuZWRXaW5kb3cud2luZG93TmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBvcGVuIGNoaWxkIHdvcmtzcGFjZSAke2NoaWxkV29ya3NwYWNlTmFtZX0gYXMgd2luZG93ICR7Y2hpbGRXb3Jrc3BhY2VEZWYud2luZG93fSBpcyBub3Qgb3BlbmVkYCk7XG4gICAgfVxuICAgIGNvbnN0IHsgb3BlbmVkV29ya3NwYWNlcyB9ID0gb3BlbmVkV2luZG93O1xuICAgIGNvbnN0IHBhcmVudEluZGV4ID0gb3BlbmVkV29ya3NwYWNlcy5maW5kSW5kZXgoKHcpPT53LndvcmtzcGFjZU5hbWUgPT09IHBhcmVudFdvcmtzcGFjZU5hbWUpO1xuICAgIGlmIChwYXJlbnRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgb3BlbiBjaGlsZCB3b3Jrc3BhY2UgJHtjaGlsZFdvcmtzcGFjZU5hbWV9IGZyb20gcGFyZW50IHdvcmtzcGFjZSAke3BhcmVudFdvcmtzcGFjZU5hbWV9IGFzIHRoZSBwYXJlbnQgaXMgbm90IG9wZW5lZCB3aXRoaW4gdGhlIHdvcmtzcGFjZSB3aW5kb3dgKTtcbiAgICB9XG4gICAgLy8gQ2xvc2UgYW55IHdvcmtzcGFjZXMgYWJvdmUgdGhlIHBhcmVudCAoYW5hbG9nb3VzIHRvIGNsb3NlV29ya3NwYWNlJ3Mgc2xpY2UgYmVoYXZpb3IpXG4gICAgY29uc3QgdHJpbW1lZFdvcmtzcGFjZXMgPSBvcGVuZWRXb3Jrc3BhY2VzLnNsaWNlKDAsIHBhcmVudEluZGV4ICsgMSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3BlbmVkV2luZG93LFxuICAgICAgICBvcGVuZWRXb3Jrc3BhY2VzOiBbXG4gICAgICAgICAgICAuLi50cmltbWVkV29ya3NwYWNlcyxcbiAgICAgICAgICAgIG5ld09wZW5lZFdvcmtzcGFjZShjaGlsZFdvcmtzcGFjZU5hbWUsIGNoaWxkV29ya3NwYWNlUHJvcHMpXG4gICAgICAgIF1cbiAgICB9O1xufVxuLyoqXG4gKiBVcGRhdGVzIHRoZSB0aXRsZSBhbmQvb3IgdW5zYXZlZC1jaGFuZ2VzIGZsYWcgb2YgdGhlIHdvcmtzcGFjZSBpbnN0YW5jZSBgdXVpZGAgd2l0aGluIHRoZSBnaXZlbiB3aW5kb3cuXG4gKiBAcmV0dXJucyB0aGUgdXBkYXRlZCB3aW5kb3csIG9yIGBvcGVuZWRXaW5kb3dgIGl0c2VsZiBpZiB0aGUgd29ya3NwYWNlIGlzIG5vdCBpbiB0aGUgd2luZG93IG9yXG4gKiAgIG5vdGhpbmcgY2hhbmdlZC5cbiAqLyBleHBvcnQgZnVuY3Rpb24gdXBkYXRlT3BlbmVkV29ya3NwYWNlSW5XaW5kb3cob3BlbmVkV2luZG93LCB3b3Jrc3BhY2VVdWlkLCBwYXRjaCkge1xuICAgIGNvbnN0IHdvcmtzcGFjZUluZGV4ID0gb3BlbmVkV2luZG93Lm9wZW5lZFdvcmtzcGFjZXMuZmluZEluZGV4KCh3KT0+dy51dWlkID09PSB3b3Jrc3BhY2VVdWlkKTtcbiAgICBpZiAod29ya3NwYWNlSW5kZXggPCAwKSB7XG4gICAgICAgIHJldHVybiBvcGVuZWRXaW5kb3c7XG4gICAgfVxuICAgIGNvbnN0IG9wZW5lZFdvcmtzcGFjZSA9IG9wZW5lZFdpbmRvdy5vcGVuZWRXb3Jrc3BhY2VzW3dvcmtzcGFjZUluZGV4XTtcbiAgICBjb25zdCBwYXRjaGVkS2V5cyA9IE9iamVjdC5rZXlzKHBhdGNoKTtcbiAgICBpZiAocGF0Y2hlZEtleXMuZXZlcnkoKGtleSk9Pm9wZW5lZFdvcmtzcGFjZVtrZXldID09PSBwYXRjaFtrZXldKSkge1xuICAgICAgICByZXR1cm4gb3BlbmVkV2luZG93O1xuICAgIH1cbiAgICBjb25zdCBvcGVuZWRXb3Jrc3BhY2VzID0gW1xuICAgICAgICAuLi5vcGVuZWRXaW5kb3cub3BlbmVkV29ya3NwYWNlc1xuICAgIF07XG4gICAgb3BlbmVkV29ya3NwYWNlc1t3b3Jrc3BhY2VJbmRleF0gPSB7XG4gICAgICAgIC4uLm9wZW5lZFdvcmtzcGFjZSxcbiAgICAgICAgLi4ucGF0Y2hcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLm9wZW5lZFdpbmRvdyxcbiAgICAgICAgb3BlbmVkV29ya3NwYWNlc1xuICAgIH07XG59XG5mdW5jdGlvbiB1cGRhdGVPcGVuZWRXb3Jrc3BhY2Uoc3RhdGUsIHdvcmtzcGFjZVV1aWQsIHBhdGNoKSB7XG4gICAgY29uc3Qgb3BlbmVkV2luZG93SW5kZXggPSBzdGF0ZS5vcGVuZWRXaW5kb3dzLmZpbmRJbmRleCgod2luZG93KT0+d2luZG93Lm9wZW5lZFdvcmtzcGFjZXMuc29tZSgodyk9PncudXVpZCA9PT0gd29ya3NwYWNlVXVpZCkpO1xuICAgIGlmIChvcGVuZWRXaW5kb3dJbmRleCA8IDApIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlOyAvLyBuby1vcCBpZiB0aGUgd29ya3NwYWNlIGlzIG5vdCBvcGVuZWRcbiAgICB9XG4gICAgY29uc3Qgb3BlbmVkV2luZG93ID0gc3RhdGUub3BlbmVkV2luZG93c1tvcGVuZWRXaW5kb3dJbmRleF07XG4gICAgY29uc3QgdXBkYXRlZFdpbmRvdyA9IHVwZGF0ZU9wZW5lZFdvcmtzcGFjZUluV2luZG93KG9wZW5lZFdpbmRvdywgd29ya3NwYWNlVXVpZCwgcGF0Y2gpO1xuICAgIGlmICh1cGRhdGVkV2luZG93ID09PSBvcGVuZWRXaW5kb3cpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlOyAvLyByZXR1cm5pbmcgdGhlIHNhbWUgc3RhdGUgbGV0cyB6dXN0YW5kIHNraXAgbm90aWZ5aW5nIHN1YnNjcmliZXJzXG4gICAgfVxuICAgIGNvbnN0IG9wZW5lZFdpbmRvd3MgPSBbXG4gICAgICAgIC4uLnN0YXRlLm9wZW5lZFdpbmRvd3NcbiAgICBdO1xuICAgIG9wZW5lZFdpbmRvd3Nbb3BlbmVkV2luZG93SW5kZXhdID0gdXBkYXRlZFdpbmRvdztcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgb3BlbmVkV2luZG93c1xuICAgIH07XG59XG5leHBvcnQgY29uc3Qgd29ya3NwYWNlMlN0b3JlQWN0aW9ucyA9IHtcbiAgICBzZXRXaW5kb3dNYXhpbWl6ZWQgKHN0YXRlLCB3aW5kb3dOYW1lLCBtYXhpbWl6ZWQpIHtcbiAgICAgICAgY29uc3Qgb3BlbmVkV2luZG93SW5kZXggPSBzdGF0ZS5vcGVuZWRXaW5kb3dzLmZpbmRJbmRleCgoYSk9PmEud2luZG93TmFtZSA9PT0gd2luZG93TmFtZSk7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd3MgPSBbXG4gICAgICAgICAgICAuLi5zdGF0ZS5vcGVuZWRXaW5kb3dzXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGN1cnJlbnRXaW5kb3cgPSB7XG4gICAgICAgICAgICAuLi5vcGVuZWRXaW5kb3dzW29wZW5lZFdpbmRvd0luZGV4XSxcbiAgICAgICAgICAgIG1heGltaXplZFxuICAgICAgICB9O1xuICAgICAgICBvcGVuZWRXaW5kb3dzW29wZW5lZFdpbmRvd0luZGV4XSA9IGN1cnJlbnRXaW5kb3c7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgIG9wZW5lZFdpbmRvd3NcbiAgICAgICAgfTtcbiAgICB9LFxuICAgIC8vIGhpZGVzIHRoZSBtb3N0IHJlY2VudGx5IG9wZW5lZCB3aW5kb3cgKGFsbCBvdGhlciBvcGVuZWQgd2luZG93cyBhcmUgaW1wbGljaXRseSBoaWRkZW4pXG4gICAgaGlkZVdpbmRvdyAoc3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgaXNNb3N0UmVjZW50bHlPcGVuZWRXaW5kb3dIaWRkZW46IHRydWVcbiAgICAgICAgfTtcbiAgICB9LFxuICAgIHJlc3RvcmVXaW5kb3cgKHN0YXRlLCB3aW5kb3dOYW1lKSB7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd0luZGV4ID0gc3RhdGUub3BlbmVkV2luZG93cy5maW5kSW5kZXgoKGEpPT5hLndpbmRvd05hbWUgPT09IHdpbmRvd05hbWUpO1xuICAgICAgICBjb25zdCBjdXJyZW50V2luZG93ID0gc3RhdGUub3BlbmVkV2luZG93c1tvcGVuZWRXaW5kb3dJbmRleF07XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd3MgPSBbXG4gICAgICAgICAgICAuLi5zdGF0ZS5vcGVuZWRXaW5kb3dzLmZpbHRlcigoXywgaSk9PmkgIT09IG9wZW5lZFdpbmRvd0luZGV4KSxcbiAgICAgICAgICAgIGN1cnJlbnRXaW5kb3dcbiAgICAgICAgXTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgb3BlbmVkV2luZG93cyxcbiAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0sXG4gICAgY2xvc2VXb3Jrc3BhY2UgKHN0YXRlLCB3b3Jrc3BhY2VOYW1lKSB7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd0luZGV4ID0gc3RhdGUub3BlbmVkV2luZG93cy5maW5kSW5kZXgoKHdpbmRvdyk9PndpbmRvdy5vcGVuZWRXb3Jrc3BhY2VzLnNvbWUoKHcpPT53LndvcmtzcGFjZU5hbWUgPT09IHdvcmtzcGFjZU5hbWUpKTtcbiAgICAgICAgaWYgKG9wZW5lZFdpbmRvd0luZGV4IDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlOyAvLyBuby1vcCBpZiB0aGUgd2luZG93IGRvZXMgbm90IGV4aXN0XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgd2luZG93ID0gY2xvc2VXb3Jrc3BhY2VJbldpbmRvdyhzdGF0ZS5vcGVuZWRXaW5kb3dzW29wZW5lZFdpbmRvd0luZGV4XSwgd29ya3NwYWNlTmFtZSk7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd3MgPSBbXG4gICAgICAgICAgICAuLi5zdGF0ZS5vcGVuZWRXaW5kb3dzXG4gICAgICAgIF07XG4gICAgICAgIGxldCBoaWRkZW4gPSBzdGF0ZS5pc01vc3RSZWNlbnRseU9wZW5lZFdpbmRvd0hpZGRlbjtcbiAgICAgICAgaWYgKHdpbmRvdyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3Qgd2FzTW9zdFJlY2VudFdpbmRvdyA9IG9wZW5lZFdpbmRvd0luZGV4ID09PSBzdGF0ZS5vcGVuZWRXaW5kb3dzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAvLyBpZiBubyB3b3Jrc3BhY2VzIGxlZnQsIHJlbW92ZSB0aGUgd2luZG93XG4gICAgICAgICAgICBvcGVuZWRXaW5kb3dzLnNwbGljZShvcGVuZWRXaW5kb3dJbmRleCwgMSk7XG4gICAgICAgICAgICAvLyBJZiB3ZSByZW1vdmVkIHRoZSBtb3N0IHJlY2VudCB3aW5kb3cgYW5kIHRoZXJlIGFyZSBzdGlsbCB3aW5kb3dzIGxlZnQsXG4gICAgICAgICAgICAvLyB0aGUgbmV3IG1vc3QgcmVjZW50IHdpbmRvdyBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgICAgIGlmICh3YXNNb3N0UmVjZW50V2luZG93ICYmIG9wZW5lZFdpbmRvd3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGhpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaWYgdGhlcmUgYXJlIHN0aWxsIHdvcmtzcGFjZXMgbGVmdCwganVzdCB1cGRhdGUgdGhlIHdpbmRvd1xuICAgICAgICAgICAgb3BlbmVkV2luZG93c1tvcGVuZWRXaW5kb3dJbmRleF0gPSB3aW5kb3c7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgb3BlbmVkV2luZG93cyxcbiAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBoaWRkZW5cbiAgICAgICAgfTtcbiAgICB9LFxuICAgIG9wZW5DaGlsZFdvcmtzcGFjZSAoc3RhdGUsIHBhcmVudFdvcmtzcGFjZU5hbWUsIGNoaWxkV29ya3NwYWNlTmFtZSwgY2hpbGRXb3Jrc3BhY2VQcm9wcykge1xuICAgICAgICBjb25zdCBjaGlsZFdvcmtzcGFjZURlZiA9IHN0YXRlLnJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lW2NoaWxkV29ya3NwYWNlTmFtZV07XG4gICAgICAgIGlmICghY2hpbGRXb3Jrc3BhY2VEZWYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gd29ya3NwYWNlIG5hbWVkIFwiJHtjaGlsZFdvcmtzcGFjZU5hbWV9XCIgcmVnaXN0ZXJlZGApO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFzIHRoZSByZXF1ZXN0IHdvcmtzcGFjZSBzaG91bGQgYmUgYSBjaGlsZCB3b3Jrc3BhY2UsIHRoZSBjb3JyZXNwb25kaW5nIHdpbmRvd1xuICAgICAgICAvLyB0byBjb250YWluIHRoZSB3b3Jrc3BhY2Ugc2hvdWxkIGFscmVhZHkgYmUgb3BlbmVkXG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd0luZGV4ID0gc3RhdGUub3BlbmVkV2luZG93cy5maW5kSW5kZXgoKHdpbmRvdyk9PndpbmRvdy53aW5kb3dOYW1lID09PSBjaGlsZFdvcmtzcGFjZURlZi53aW5kb3cpO1xuICAgICAgICBpZiAob3BlbmVkV2luZG93SW5kZXggPT0gLTEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IG9wZW4gY2hpbGQgd29ya3NwYWNlICR7Y2hpbGRXb3Jrc3BhY2VOYW1lfSBhcyB3aW5kb3cgJHtjaGlsZFdvcmtzcGFjZURlZi53aW5kb3d9IGlzIG5vdCBvcGVuZWRgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcGVuZWRXaW5kb3dzID0gW1xuICAgICAgICAgICAgLi4uc3RhdGUub3BlbmVkV2luZG93c1xuICAgICAgICBdO1xuICAgICAgICBvcGVuZWRXaW5kb3dzW29wZW5lZFdpbmRvd0luZGV4XSA9IG9wZW5DaGlsZFdvcmtzcGFjZUluV2luZG93KHN0YXRlLm9wZW5lZFdpbmRvd3Nbb3BlbmVkV2luZG93SW5kZXhdLCBwYXJlbnRXb3Jrc3BhY2VOYW1lLCBjaGlsZFdvcmtzcGFjZU5hbWUsIGNoaWxkV29ya3NwYWNlUHJvcHMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICBvcGVuZWRXaW5kb3dzXG4gICAgICAgIH07XG4gICAgfSxcbiAgICBzZXRIYXNVbnNhdmVkQ2hhbmdlcyAoc3RhdGUsIHdvcmtzcGFjZVV1aWQsIGhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVPcGVuZWRXb3Jrc3BhY2Uoc3RhdGUsIHdvcmtzcGFjZVV1aWQsIHtcbiAgICAgICAgICAgIGhhc1Vuc2F2ZWRDaGFuZ2VzXG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAgc2V0V29ya3NwYWNlVGl0bGUgKHN0YXRlLCB3b3Jrc3BhY2VVdWlkLCB0aXRsZSkge1xuICAgICAgICByZXR1cm4gdXBkYXRlT3BlbmVkV29ya3NwYWNlKHN0YXRlLCB3b3Jrc3BhY2VVdWlkLCB7XG4gICAgICAgICAgICB0aXRsZVxuICAgICAgICB9KTtcbiAgICB9XG59O1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVdvcmtzcGFjZTJTdG9yZSgpIHtcbiAgICByZXR1cm4gdXNlU3RvcmVXaXRoQWN0aW9ucyh3b3Jrc3BhY2UyU3RvcmUsIHdvcmtzcGFjZTJTdG9yZUFjdGlvbnMpO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSByZWFjdCBDb250ZXh0IGNvbnRhaW5pbmcgcHJvcHMgcGFzc2VkIGludG8gYSB3b3Jrc3BhY2UuXG4gKiBUaGlzIGhvb2sgTVVTVCBiZSBjYWxsZWQgaW5zaWRlIGEgY2hpbGQgb2YgPFdvcmtzcGFjZTI+XG4gKi8gZXhwb3J0IGNvbnN0IHVzZVdvcmtzcGFjZTJDb250ZXh0ID0gKCk9PnVzZUNvbnRleHQoU2luZ2xlU3BhQ29udGV4dCk7XG4vKipcbiAqIEByZXR1cm5zIGEgbGlzdCBvZiByZWdpc3RlcmVkIHdvcmtzcGFjZXMuXG4gKi8gZXhwb3J0IGNvbnN0IGdldFJlZ2lzdGVyZWRXb3Jrc3BhY2UyTmFtZXMgPSAoKT0+e1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh3b3Jrc3BhY2UyU3RvcmUuZ2V0U3RhdGUoKS5yZWdpc3RlcmVkV29ya3NwYWNlc0J5TmFtZSk7XG59O1xuZnVuY3Rpb24gbmV3T3BlbmVkV29ya3NwYWNlKHdvcmtzcGFjZU5hbWUsIHdvcmtzcGFjZVByb3BzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgd29ya3NwYWNlTmFtZSxcbiAgICAgICAgcHJvcHM6IHdvcmtzcGFjZVByb3BzID8/IHt9LFxuICAgICAgICBoYXNVbnNhdmVkQ2hhbmdlczogZmFsc2UsXG4gICAgICAgIHV1aWQ6IHV1aWRWNCgpXG4gICAgfTtcbn1cbi8qKlxuICogQnVpbGRzIHRoZSB3aW5kb3cgYW4gYDxFeHBvcnRlZFdvcmtzcGFjZT5gIHN0YXJ0cyB3aXRoOiB0aGUgd29ya3NwYWNlJ3MgcmVhbCByZWdpc3RlcmVkIHdpbmRvd1xuICogKHNvIGBsYXVuY2hDaGlsZFdvcmtzcGFjZWAga2VlcHMgd29ya2luZyksIGNvbnRhaW5pbmcganVzdCB0aGUgcmVxdWVzdGVkIHdvcmtzcGFjZS5cbiAqXG4gKiBSZXR1cm5zIGBudWxsYCB3aGVuIGBuYW1lYCBpcyBub3QgcmVnaXN0ZXJlZCB5ZXQ7IHRoZSBjYWxsZXIgcmVuZGVycyBub3RoaW5nIGFuZCBzZWVkcyBhZ2FpbiBvbmNlXG4gKiB0aGUgd29ya3NwYWNlIHJlZ2lzdGVycywgc2luY2UgcmVnaXN0cmF0aW9uIGNhbiBoYXBwZW4gYWZ0ZXIgdGhlIGNvbXBvbmVudCBtb3VudHMuXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUV4cG9ydGVkV29ya3NwYWNlV2luZG93KG5hbWUsIHdvcmtzcGFjZVByb3BzLCB3aW5kb3dQcm9wcykge1xuICAgIGNvbnN0IHdvcmtzcGFjZURlZiA9IHdvcmtzcGFjZTJTdG9yZS5nZXRTdGF0ZSgpLnJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lW25hbWVdO1xuICAgIGlmICghd29ya3NwYWNlRGVmKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICB3aW5kb3dOYW1lOiB3b3Jrc3BhY2VEZWYud2luZG93LFxuICAgICAgICBvcGVuZWRXb3Jrc3BhY2VzOiBbXG4gICAgICAgICAgICBuZXdPcGVuZWRXb3Jrc3BhY2UobmFtZSwgd29ya3NwYWNlUHJvcHMpXG4gICAgICAgIF0sXG4gICAgICAgIHByb3BzOiB3aW5kb3dQcm9wcyA/PyBudWxsLFxuICAgICAgICBtYXhpbWl6ZWQ6IGZhbHNlXG4gICAgfTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VDb250ZXh0IiwiU2luZ2xlU3BhQ29udGV4dCIsInY0IiwidXVpZFY0IiwiZ2V0R3JvdXBCeVdpbmRvd05hbWUiLCJnZXRPcGVuZWRXaW5kb3dJbmRleEJ5V29ya3NwYWNlIiwiZ2V0V2luZG93QnlXb3Jrc3BhY2VOYW1lIiwid29ya3NwYWNlMlN0b3JlIiwidXNlU3RvcmVXaXRoQWN0aW9ucyIsInNoYWxsb3dFcXVhbCIsInNob3dNb2RhbCIsImxhdW5jaFdvcmtzcGFjZUdyb3VwMiIsImdyb3VwTmFtZSIsImdyb3VwUHJvcHMiLCJvcGVuZWRHcm91cCIsImFyZVByb3BzQ29tcGF0aWJsZSIsIm9rVG9DbG9zZVdvcmtzcGFjZXMiLCJwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyIsInN0YXRlIiwiY2xvc2VXb3Jrc3BhY2VHcm91cDIiLCJkaXNjYXJkVW5zYXZlZENoYW5nZXMiLCJvcGVuZWRXaW5kb3dzIiwibGF1bmNoV29ya3NwYWNlMiIsIndvcmtzcGFjZU5hbWUiLCJ3b3Jrc3BhY2VQcm9wcyIsIndpbmRvd1Byb3BzIiwic3RvcmVTdGF0ZSIsIkVycm9yIiwid2luZG93RGVmIiwid2luZG93TmFtZSIsImdyb3VwRGVmIiwib3BlbmVkV2luZG93SW5kZXgiLCJpc1dpbmRvd0FscmVhZHlPcGVuZWQiLCJuZXdPcGVuZWRXb3Jrc3BhY2UiLCJvcGVuZWRXaW5kb3ciLCJpc01vc3RSZWNlbnRseU9wZW5lZFdpbmRvd0hpZGRlbiIsIm9wZW5lZFdvcmtzcGFjZXMiLCJvcGVuZWRXb3Jrc3BhY2UiLCJ3Iiwid29ya3NwYWNlMlN0b3JlQWN0aW9ucyIsIl8iLCJpIiwiYSIsImIiLCJnZXRBZmZlY3RlZFdvcmtzcGFjZXNJbldpbmRvdyIsIm9ubHlVcFRvVGhpc1dvcmtzcGFjZSIsInJldCIsInNob3dDbG9zZVByb21wdCIsImFmZmVjdGVkV29ya3NwYWNlcyIsIlByb21pc2UiLCJyZXNvbHZlIiwiZGlzcG9zZSIsIndvcmtzcGFjZSIsInByb21wdFJlYXNvbiIsIndpbmRvdyIsIndpbmRvd3NUb0Nsb3NlIiwicHJvbXB0Rm9yQ2xvc2luZ1dvcmtzcGFjZXNJbldpbmRvdyIsInVwVG9Xb3Jrc3BhY2VOYW1lIiwiY2xvc2VXb3Jrc3BhY2VJbldpbmRvdyIsIndvcmtzcGFjZUluZGV4Iiwib3BlbkNoaWxkV29ya3NwYWNlSW5XaW5kb3ciLCJwYXJlbnRXb3Jrc3BhY2VOYW1lIiwiY2hpbGRXb3Jrc3BhY2VOYW1lIiwiY2hpbGRXb3Jrc3BhY2VQcm9wcyIsInJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lIiwiY2hpbGRXb3Jrc3BhY2VEZWYiLCJwYXJlbnRXb3Jrc3BhY2VEZWYiLCJwYXJlbnRJbmRleCIsInRyaW1tZWRXb3Jrc3BhY2VzIiwidXBkYXRlT3BlbmVkV29ya3NwYWNlSW5XaW5kb3ciLCJ3b3Jrc3BhY2VVdWlkIiwicGF0Y2giLCJwYXRjaGVkS2V5cyIsIk9iamVjdCIsImtleSIsInVwZGF0ZU9wZW5lZFdvcmtzcGFjZSIsInVwZGF0ZWRXaW5kb3ciLCJtYXhpbWl6ZWQiLCJjdXJyZW50V2luZG93IiwiaGlkZGVuIiwid2FzTW9zdFJlY2VudFdpbmRvdyIsImhhc1Vuc2F2ZWRDaGFuZ2VzIiwidGl0bGUiLCJ1c2VXb3Jrc3BhY2UyU3RvcmUiLCJ1c2VXb3Jrc3BhY2UyQ29udGV4dCIsImdldFJlZ2lzdGVyZWRXb3Jrc3BhY2UyTmFtZXMiLCJjcmVhdGVFeHBvcnRlZFdvcmtzcGFjZVdpbmRvdyIsIm5hbWUiLCJ3b3Jrc3BhY2VEZWYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFtQztBQUNpQjtBQUNoQjtBQUN1RztBQUM1RTtBQUNiO0FBQ0g7QUFDL0M7Ozs7Ozs7Ozs7OztDQVlDLEdBQVUsZUFBZVcsc0JBQXNCQyxTQUFTLEVBQUVDLFVBQVU7SUFDakUsTUFBTSxFQUFFQyxXQUFXLEVBQUUsR0FBR1AsaUVBQXdCO0lBQ2hELElBQUlPLGFBQWE7UUFDYixJQUFJQSxZQUFZLFNBQVMsS0FBS0YsYUFBYSxDQUFDRyxtQkFBbUJELFlBQVksS0FBSyxFQUFFRCxhQUFhO1lBQzNGLE1BQU1HLHNCQUFzQixNQUFNQywyQkFBMkI7Z0JBQ3pELFFBQVE7Z0JBQ1IsVUFBVTtZQUNkO1lBQ0EsSUFBSSxDQUFDRCxxQkFBcUI7Z0JBQ3RCLE9BQU87WUFDWDtRQUNKLDREQUE0RDtRQUM1RCxPQUFPO1lBQ0gsa0RBQWtEO1lBQ2xELE9BQU87UUFDWDtJQUNKO0lBQ0FULGlFQUF3QixDQUFDLENBQUNXLFFBQVM7WUFDM0IsR0FBR0EsS0FBSztZQUNSLGFBQWE7Z0JBQ1ROO2dCQUNBLE9BQU9DO1lBQ1g7WUFDQSxlQUFlLEVBQUU7UUFDckI7SUFDSixPQUFPO0FBQ1g7QUFDQTs7Ozs7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\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/dist/workspaces2/workspace2.js\n\n}");
869
+ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n closeWorkspaceGroup2: () => (closeWorkspaceGroup2),\n closeWorkspaceInWindow: () => (closeWorkspaceInWindow),\n createExportedWorkspaceWindow: () => (createExportedWorkspaceWindow),\n getOpenedWindowWidth: () => (getOpenedWindowWidth),\n getRegisteredWorkspace2Names: () => (getRegisteredWorkspace2Names),\n launchWorkspace2: () => (launchWorkspace2),\n launchWorkspaceGroup2: () => (launchWorkspaceGroup2),\n openChildWorkspaceInWindow: () => (openChildWorkspaceInWindow),\n promptForClosingWorkspaces: () => (promptForClosingWorkspaces),\n promptForClosingWorkspacesInWindow: () => (promptForClosingWorkspacesInWindow),\n updateOpenedWorkspaceInWindow: () => (updateOpenedWorkspaceInWindow),\n useWorkspace2Context: () => (useWorkspace2Context),\n useWorkspace2Store: () => (useWorkspace2Store),\n workspace2StoreActions: () => (workspace2StoreActions)\n});\n/* import */ var react__rspack_import_0 = __webpack_require__(\"webpack/sharing/consume/default/react/react\");\n/* import */ var react__rspack_import_0_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_0);\n/* import */ var single_spa_react__rspack_import_1 = __webpack_require__(\"../../../node_modules/single-spa-react/lib/esm/single-spa-react.js\");\n/* import */ var uuid__rspack_import_6 = __webpack_require__(\"../../../node_modules/uuid/dist/esm-browser/v4.js\");\n/* import */ var _openmrs_esm_extensions__rspack_import_2 = __webpack_require__(\"../../framework/esm-extensions/dist/index.js\");\n/* import */ var _openmrs_esm_react_utils__rspack_import_3 = __webpack_require__(\"../../framework/esm-react-utils/dist/index.js\");\n/* import */ var _openmrs_esm_utils__rspack_import_5 = __webpack_require__(\"../../framework/esm-utils/dist/shallowEqual.js\");\n/* import */ var _modals_index_js__rspack_import_4 = __webpack_require__(\"../../framework/esm-styleguide/dist/modals/index.js\");\n\n\n\n\n\n\n\n/**\n * Attempts to launch the specified workspace group with the given group props. Note that only one workspace group\n * may be opened at any given time. If a workspace group is already opened, calling `launchWorkspaceGroup2` with\n * either a different group name, or same group name but different incompatible props**, will result in prompting to\n * confirm closing workspaces. If the user confirms, the opened group, along with its windows (and their workspaces), is closed, and\n * the requested group is immediately opened.\n *\n * ** 2 sets of props are compatible if either one is nullish, or if they are shallow equal.\n * @param groupName\n * @param groupProps\n * @returns a Promise that resolves to true if the specified workspace group with the specified group props\n * is successfully opened, or that it already is opened.\n */ async function launchWorkspaceGroup2(groupName, groupProps) {\n const { openedGroup } = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState();\n if (openedGroup) {\n if (openedGroup.groupName !== groupName || !arePropsCompatible(openedGroup.props, groupProps)) {\n const okToCloseWorkspaces = await promptForClosingWorkspaces({\n reason: 'CLOSE_WORKSPACE_GROUP',\n explicit: false\n });\n if (!okToCloseWorkspaces) {\n return false;\n }\n // else, proceed to open the new group with no openedWindows\n } else {\n // no-op, group with group props is already opened\n return true;\n }\n }\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState((state)=>({\n ...state,\n openedGroup: {\n groupName,\n props: groupProps\n },\n openedWindows: []\n }));\n return true;\n}\n/**\n * Closes the workspace group that is currently opened. Note that only one workspace group\n * may be opened at any given time\n * @param discardUnsavedChanges If true, then the workspace group is forced closed, with no prompt\n * for confirmation for unsaved changes in any opened workspace. This should be used sparingly\n * for clean-up purpose, ex: when exiting an app.\n * @returns a Promise that resolves to true if there is no opened group to begin with or we successfully closed\n * the opened group; false otherwise.\n */ async function closeWorkspaceGroup2(discardUnsavedChanges) {\n const state = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState();\n const { openedGroup, openedWindows } = state;\n if (openedGroup) {\n if (openedWindows.length > 0) {\n const okToCloseWorkspaces = discardUnsavedChanges || await promptForClosingWorkspaces({\n reason: 'CLOSE_WORKSPACE_GROUP',\n explicit: true\n });\n if (!okToCloseWorkspaces) {\n return false;\n }\n }\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState((state)=>({\n ...state,\n openedGroup: null,\n openedWindows: []\n }));\n return true;\n }\n // no openedGroup with begin with, return true\n return true;\n}\n/**\n * Attempts to launch the specified workspace with the given workspace props. This also implicitly opens\n * the workspace window to which the workspace belongs (if it's not opened already),\n * and the workspace group to which the window belongs (if it's not opened already).\n *\n * When calling `launchWorkspace2`, we need to also pass in the workspace props. While not required,\n * we can also pass in the window props (shared by other workspaces in the window) and the group props\n * (shared by all windows and their workspaces). Omitting the window props or the group props[^1] means the caller\n * explicitly does not care what the current window props and group props are, and that they may be set\n * by other actions (like calling `launchWorkspace2` on a different workspace with those props passed in)\n * at a later time.\n *\n * If there is already an opened workspace group, and it's not the group the workspace belongs to\n * or has incompatible[^2] group props, then we prompt the user to close the group (and its windows and their workspaces).\n * On user confirm, the existing opened group is closed and the new workspace, along with its window and its group,\n * is opened.\n *\n * If the window is already opened, but with incompatible window props, we prompt the user to close\n * the window (and all its opened workspaces), and reopen the window with (only) the newly requested workspace.\n *\n * If the workspace is already opened, but with incompatible workspace props, we also prompt the user to close\n * the **window** (and all its opened workspaces), and reopen the window with (only) the newly requested workspace.\n * This is true regardless of whether the already opened workspace has any child workspaces.\n *\n * Note that calling this function *never* results in creating a child workspace in the affected window.\n * To do so, we need to call `launchChildWorkspace` instead.\n *\n * [^1] Omitting window or group props is useful for workspaces that don't have ties to the window or group \"context\" (props).\n * For example, in the patient chart, the visit notes / clinical forms / order basket action menu button all share\n * a \"group context\" of the current visit. However, the \"patient list\" action menu button does not need to share that group\n * context, so opening that workspace should not need to cause other workspaces / windows / groups to potentially close.\n * The \"patient search\" workspace in the queues and ward apps is another example.\n *\n * [^2] 2 sets of props are compatible if either one is nullish, or if they are shallow equal.\n */ async function launchWorkspace2(workspaceName, workspaceProps = null, windowProps = null, groupProps = null) {\n const storeState = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState();\n if (!storeState.registeredWorkspacesByName[workspaceName]) {\n throw new Error(`Unable to launch workspace ${workspaceName}. Workspace is not registered`);\n }\n const windowDef = (0,_openmrs_esm_extensions__rspack_import_2.getWindowByWorkspaceName)(workspaceName);\n if (!windowDef) {\n throw new Error(`Unable to launch workspace ${workspaceName}. Workspace is not registered to a workspace window`);\n }\n const { openedGroup } = storeState;\n const { name: windowName } = windowDef;\n const groupDef = (0,_openmrs_esm_extensions__rspack_import_2.getGroupByWindowName)(windowName);\n if (!groupDef) {\n throw new Error(`Unable to launch workspace ${workspaceName}. Workspace window ${windowDef.name} is not registered to a workspace group`);\n }\n const openedWindowIndex = (0,_openmrs_esm_extensions__rspack_import_2.getOpenedWindowIndexByWorkspace)(workspaceName);\n const isWindowAlreadyOpened = openedWindowIndex >= 0;\n // if current opened group is not the same as the requested group, or if the group props are different, then prompt for unsaved changes\n if (openedGroup && (openedGroup.groupName !== groupDef.name || !arePropsCompatible(openedGroup.props, groupProps))) {\n const okToCloseWorkspaces = await promptForClosingWorkspaces({\n reason: 'CLOSE_WORKSPACE_GROUP',\n explicit: true\n });\n if (okToCloseWorkspaces) {\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState({\n ...storeState,\n openedGroup: {\n groupName: groupDef.name,\n props: groupProps\n },\n openedWindows: [\n // discard all opened windows, open a new one with the requested workspace\n // most recently opened action appended to the end\n {\n windowName: windowName,\n openedWorkspaces: [\n newOpenedWorkspace(workspaceName, workspaceProps)\n ],\n props: windowProps,\n maximized: false\n }\n ],\n isMostRecentlyOpenedWindowHidden: false\n });\n return true;\n } else {\n return false;\n }\n } else if (isWindowAlreadyOpened) {\n const openedWindow = storeState.openedWindows[openedWindowIndex];\n const groupProps = storeState.openedGroup?.props ?? {};\n const isMostRecentlyOpenedWindowHidden = storeState.isMostRecentlyOpenedWindowHidden;\n const { openedWorkspaces } = openedWindow;\n if (arePropsCompatible(openedWindow.props, windowProps)) {\n // this case is tricky, this results in restoring the window if:\n // 1. the workspace is opened (but not necessarily as a leaf workspace)\n // 2. the props of the opened workspace is same as workspace props (from the function input)\n //\n // Otherwise, we close all workspaces in this window, and open this newly requested one\n const openedWorkspace = openedWorkspaces.find((w)=>w.workspaceName === workspaceName);\n if (openedWorkspace && arePropsCompatible(openedWorkspace.props, workspaceProps)) {\n // restore the window if it is hidden or not the most recently opened one\n if (isMostRecentlyOpenedWindowHidden || openedWindowIndex !== storeState.openedWindows.length - 1) {\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState(workspace2StoreActions.restoreWindow(storeState, windowName));\n }\n return true;\n } else {\n const okToCloseWorkspaces = await promptForClosingWorkspaces({\n reason: 'CLOSE_WORKSPACE',\n explicit: false,\n windowName,\n workspaceName\n });\n if (okToCloseWorkspaces) {\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState({\n ...storeState,\n openedGroup: {\n groupName: groupDef.name,\n props: storeState?.openedGroup?.props ?? groupProps\n },\n openedWindows: [\n ...storeState.openedWindows.filter((_, i)=>i !== openedWindowIndex),\n // most recently opened workspace at the end of the array\n {\n windowName: windowName,\n openedWorkspaces: [\n newOpenedWorkspace(workspaceName, workspaceProps)\n ],\n props: openedWindow?.props ?? windowProps,\n maximized: false\n }\n ],\n isMostRecentlyOpenedWindowHidden: false\n });\n return true;\n } else {\n return false;\n }\n }\n } else {\n const okToCloseWorkspaces = await promptForClosingWorkspaces({\n reason: 'CLOSE_WINDOW',\n explicit: false,\n windowName\n });\n if (okToCloseWorkspaces) {\n // discard the openedWindows element at openedWindowIndex\n // and create a new one with the requested workspace opened\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState({\n ...storeState,\n openedGroup: {\n groupName: groupDef.name,\n props: groupProps ?? storeState?.openedGroup?.props\n },\n openedWindows: [\n ...storeState.openedWindows.filter((_, i)=>i !== openedWindowIndex),\n // most recently opened workspace at the end of the array\n {\n windowName: windowName,\n openedWorkspaces: [\n newOpenedWorkspace(workspaceName, workspaceProps)\n ],\n props: windowProps,\n maximized: false\n }\n ],\n isMostRecentlyOpenedWindowHidden: false\n });\n return true;\n } else {\n return false;\n }\n }\n } else if (groupDef.persistence == 'closable') {\n const okToCloseWorkspaces = await promptForClosingWorkspaces({\n reason: 'CLOSE_OTHER_WINDOWS',\n explicit: false,\n windowNameToSpare: windowDef.name\n });\n if (okToCloseWorkspaces) {\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState({\n ...storeState,\n openedGroup: {\n groupName: groupDef.name,\n props: groupProps ?? storeState?.openedGroup?.props ?? null\n },\n openedWindows: [\n {\n windowName: windowName,\n openedWorkspaces: [\n newOpenedWorkspace(workspaceName, workspaceProps)\n ],\n props: windowProps,\n maximized: false\n }\n ],\n isMostRecentlyOpenedWindowHidden: false\n });\n return true;\n } else {\n return false;\n }\n } else {\n _openmrs_esm_extensions__rspack_import_2.workspace2Store.setState({\n ...storeState,\n openedGroup: {\n groupName: groupDef.name,\n props: groupProps ?? storeState?.openedGroup?.props ?? null\n },\n openedWindows: [\n ...storeState.openedWindows,\n // most recently opened workspace at the end of the array\n {\n windowName: windowName,\n openedWorkspaces: [\n newOpenedWorkspace(workspaceName, workspaceProps)\n ],\n props: windowProps,\n maximized: false\n }\n ],\n isMostRecentlyOpenedWindowHidden: false\n });\n return true;\n }\n}\n/**\n * When we launch a workspace, we may pass in workspace / windows / group props. If the workspace or\n * window or group is currently opened, we have to check whether the current props are compatible with\n * the passed in props. 2 props A and B are compatible if:\n * either one is nullish (because this indicates that the caller does not care about prop incompatibility)\n * neither is nullish, and A and B are shallow equal.\n * @param a props\n * @param b props\n * @returns whether props a and b are compatible\n */ function arePropsCompatible(a, b) {\n if (a == null || b == null) {\n return true;\n }\n return (0,_openmrs_esm_utils__rspack_import_5.shallowEqual)(a, b);\n}\n// if onlyUpToThisWorkspace is provided, we will only loop till we hit that workspace\nfunction getAffectedWorkspacesInWindow(openedWindow, onlyUpToThisWorkspace) {\n const ret = [];\n for(let i = openedWindow.openedWorkspaces.length - 1; i >= 0; i--){\n const openedWorkspace = openedWindow.openedWorkspaces[i];\n if (openedWorkspace.hasUnsavedChanges) {\n ret.push(openedWorkspace);\n }\n if (onlyUpToThisWorkspace && openedWorkspace.workspaceName === onlyUpToThisWorkspace) {\n break;\n }\n }\n return ret;\n}\nfunction showClosePrompt(affectedWorkspaces) {\n if (affectedWorkspaces.length === 0) {\n return Promise.resolve(true); // no unsaved changes, no need to prompt\n }\n return new Promise((resolve)=>{\n const dispose = (0,_modals_index_js__rspack_import_4.showModal)('workspace2-close-prompt', {\n size: 'sm',\n onConfirm: ()=>{\n dispose();\n resolve(true);\n },\n onCancel: ()=>{\n dispose();\n resolve(false);\n },\n affectedWorkspaceTitles: affectedWorkspaces.map((workspace)=>workspace.title ?? '')\n });\n });\n}\n/**\n * A user can perform actions that explicitly result in closing workspaces\n * (such that clicking the 'X' button for the workspace or workspace group), or\n * implicitly (by opening a workspace with different props than the one that is already opened).\n * Calls to closeWorkspace2() or closeWorkspaceGroup2() are considered explicit, while calls\n * to launchWorkspace2() or launchWorkspaceGroup2() are considered implicit.\n *\n * This function prompts the user for confirmation to close workspaces with a modal dialog.\n * When the closing is explicit, it prompts for confirmation for affected workspaces with unsaved changes.\n * When the closing is implicit, it prompts for confirmation for all affected workspaces, regardless of\n * whether they have unsaved changes.\n * @param promptReason\n * @returns a Promise that resolves to true if the user confirmed closing the workspaces; false otherwise.\n */ function promptForClosingWorkspaces(promptReason) {\n const { openedWindows } = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState();\n let affectedWorkspaces = [];\n switch(promptReason.reason){\n case 'CLOSE_WORKSPACE_GROUP':\n {\n affectedWorkspaces = openedWindows.flatMap((window)=>getAffectedWorkspacesInWindow(window));\n break;\n }\n case 'CLOSE_WINDOW':\n {\n const openedWindow = openedWindows.find((window)=>window.windowName === promptReason.windowName);\n if (!openedWindow) {\n throw new Error(`Window ${promptReason.windowName} not found in opened windows.`);\n }\n affectedWorkspaces = getAffectedWorkspacesInWindow(openedWindow);\n break;\n }\n case 'CLOSE_WORKSPACE':\n {\n const openedWindow = openedWindows.find((window)=>window.windowName === promptReason.windowName);\n if (!openedWindow) {\n throw new Error(`Window ${promptReason.windowName} not found in opened windows.`);\n }\n affectedWorkspaces = getAffectedWorkspacesInWindow(openedWindow, promptReason.workspaceName);\n break;\n }\n case 'CLOSE_OTHER_WINDOWS':\n {\n const windowsToClose = openedWindows.filter((window)=>window.windowName !== promptReason.windowNameToSpare);\n affectedWorkspaces = windowsToClose.flatMap((w)=>getAffectedWorkspacesInWindow(w));\n break;\n }\n }\n return showClosePrompt(affectedWorkspaces);\n}\n/**\n * Prompts for confirmation to close the workspaces with unsaved changes in the given window: the whole\n * window, or, if `upToWorkspaceName` is given, just that workspace and its children. Unlike\n * `promptForClosingWorkspaces`, this works on any window, including one held in an\n * `<ExportedWorkspace>`'s local store.\n * @returns a Promise that resolves to true if the user confirmed, or there was nothing to confirm.\n */ function promptForClosingWorkspacesInWindow(openedWindow, upToWorkspaceName) {\n return showClosePrompt(getAffectedWorkspacesInWindow(openedWindow, upToWorkspaceName));\n}\n/**\n * Closes the named workspace, along with its children, within the given window.\n * @returns the updated window; `null` if no workspaces are left in it; or `openedWindow` itself if\n * the workspace is not in the window.\n */ function closeWorkspaceInWindow(openedWindow, workspaceName) {\n const workspaceIndex = openedWindow.openedWorkspaces.findIndex((w)=>w.workspaceName === workspaceName);\n if (workspaceIndex < 0) {\n return openedWindow;\n }\n if (workspaceIndex === 0) {\n return null;\n }\n return {\n ...openedWindow,\n openedWorkspaces: openedWindow.openedWorkspaces.slice(0, workspaceIndex)\n };\n}\n/**\n * Opens a child workspace of the named parent workspace within the given window. Any workspaces\n * above the parent are closed.\n * @returns the updated window\n */ function openChildWorkspaceInWindow(openedWindow, parentWorkspaceName, childWorkspaceName, childWorkspaceProps) {\n const { registeredWorkspacesByName } = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState();\n const childWorkspaceDef = registeredWorkspacesByName[childWorkspaceName];\n if (!childWorkspaceDef) {\n throw new Error(`No workspace named \"${childWorkspaceName}\" registered`);\n }\n const parentWorkspaceDef = registeredWorkspacesByName[parentWorkspaceName];\n if (!parentWorkspaceDef) {\n throw new Error(`No workspace named \"${parentWorkspaceName}\" registered`);\n }\n if (parentWorkspaceDef.window !== childWorkspaceDef.window) {\n throw new Error(`Child workspace ${childWorkspaceName} does not belong to the same workspace window as parent workspace ${parentWorkspaceName}`);\n }\n if (childWorkspaceDef.window !== openedWindow.windowName) {\n throw new Error(`Cannot open child workspace ${childWorkspaceName} as window ${childWorkspaceDef.window} is not opened`);\n }\n const { openedWorkspaces } = openedWindow;\n const parentIndex = openedWorkspaces.findIndex((w)=>w.workspaceName === parentWorkspaceName);\n if (parentIndex === -1) {\n throw new Error(`Cannot open child workspace ${childWorkspaceName} from parent workspace ${parentWorkspaceName} as the parent is not opened within the workspace window`);\n }\n // Close any workspaces above the parent (analogous to closeWorkspace's slice behavior)\n const trimmedWorkspaces = openedWorkspaces.slice(0, parentIndex + 1);\n return {\n ...openedWindow,\n openedWorkspaces: [\n ...trimmedWorkspaces,\n newOpenedWorkspace(childWorkspaceName, childWorkspaceProps)\n ]\n };\n}\n/**\n * Updates the title and/or unsaved-changes flag of the workspace instance `uuid` within the given window.\n * @returns the updated window, or `openedWindow` itself if the workspace is not in the window or\n * nothing changed.\n */ function updateOpenedWorkspaceInWindow(openedWindow, workspaceUuid, patch) {\n const workspaceIndex = openedWindow.openedWorkspaces.findIndex((w)=>w.uuid === workspaceUuid);\n if (workspaceIndex < 0) {\n return openedWindow;\n }\n const openedWorkspace = openedWindow.openedWorkspaces[workspaceIndex];\n const patchedKeys = Object.keys(patch);\n if (patchedKeys.every((key)=>openedWorkspace[key] === patch[key])) {\n return openedWindow;\n }\n const openedWorkspaces = [\n ...openedWindow.openedWorkspaces\n ];\n openedWorkspaces[workspaceIndex] = {\n ...openedWorkspace,\n ...patch\n };\n return {\n ...openedWindow,\n openedWorkspaces\n };\n}\nfunction updateOpenedWorkspace(state, workspaceUuid, patch) {\n const openedWindowIndex = state.openedWindows.findIndex((window)=>window.openedWorkspaces.some((w)=>w.uuid === workspaceUuid));\n if (openedWindowIndex < 0) {\n return state; // no-op if the workspace is not opened\n }\n const openedWindow = state.openedWindows[openedWindowIndex];\n const updatedWindow = updateOpenedWorkspaceInWindow(openedWindow, workspaceUuid, patch);\n if (updatedWindow === openedWindow) {\n return state; // returning the same state lets zustand skip notifying subscribers\n }\n const openedWindows = [\n ...state.openedWindows\n ];\n openedWindows[openedWindowIndex] = updatedWindow;\n return {\n ...state,\n openedWindows\n };\n}\nconst workspace2StoreActions = {\n setWindowMaximized (state, windowName, maximized) {\n const openedWindowIndex = state.openedWindows.findIndex((a)=>a.windowName === windowName);\n const openedWindows = [\n ...state.openedWindows\n ];\n const currentWindow = {\n ...openedWindows[openedWindowIndex],\n maximized\n };\n openedWindows[openedWindowIndex] = currentWindow;\n return {\n ...state,\n openedWindows\n };\n },\n // hides the most recently opened window (all other opened windows are implicitly hidden)\n hideWindow (state) {\n return {\n ...state,\n isMostRecentlyOpenedWindowHidden: true\n };\n },\n restoreWindow (state, windowName) {\n const openedWindowIndex = state.openedWindows.findIndex((a)=>a.windowName === windowName);\n const currentWindow = state.openedWindows[openedWindowIndex];\n const openedWindows = [\n ...state.openedWindows.filter((_, i)=>i !== openedWindowIndex),\n currentWindow\n ];\n return {\n ...state,\n openedWindows,\n isMostRecentlyOpenedWindowHidden: false\n };\n },\n closeWorkspace (state, workspaceName) {\n const openedWindowIndex = state.openedWindows.findIndex((window)=>window.openedWorkspaces.some((w)=>w.workspaceName === workspaceName));\n if (openedWindowIndex < 0) {\n return state; // no-op if the window does not exist\n }\n const window = closeWorkspaceInWindow(state.openedWindows[openedWindowIndex], workspaceName);\n const openedWindows = [\n ...state.openedWindows\n ];\n let hidden = state.isMostRecentlyOpenedWindowHidden;\n if (window === null) {\n const wasMostRecentWindow = openedWindowIndex === state.openedWindows.length - 1;\n // if no workspaces left, remove the window\n openedWindows.splice(openedWindowIndex, 1);\n // If we removed the most recent window and there are still windows left,\n // the new most recent window should be shown\n if (wasMostRecentWindow && openedWindows.length > 0) {\n hidden = false;\n }\n } else {\n // if there are still workspaces left, just update the window\n openedWindows[openedWindowIndex] = window;\n }\n return {\n ...state,\n openedWindows,\n isMostRecentlyOpenedWindowHidden: hidden\n };\n },\n openChildWorkspace (state, parentWorkspaceName, childWorkspaceName, childWorkspaceProps) {\n const childWorkspaceDef = state.registeredWorkspacesByName[childWorkspaceName];\n if (!childWorkspaceDef) {\n throw new Error(`No workspace named \"${childWorkspaceName}\" registered`);\n }\n // as the request workspace should be a child workspace, the corresponding window\n // to contain the workspace should already be opened\n const openedWindowIndex = state.openedWindows.findIndex((window)=>window.windowName === childWorkspaceDef.window);\n if (openedWindowIndex == -1) {\n throw new Error(`Cannot open child workspace ${childWorkspaceName} as window ${childWorkspaceDef.window} is not opened`);\n }\n const openedWindows = [\n ...state.openedWindows\n ];\n openedWindows[openedWindowIndex] = openChildWorkspaceInWindow(state.openedWindows[openedWindowIndex], parentWorkspaceName, childWorkspaceName, childWorkspaceProps);\n return {\n ...state,\n openedWindows\n };\n },\n setHasUnsavedChanges (state, workspaceUuid, hasUnsavedChanges) {\n return updateOpenedWorkspace(state, workspaceUuid, {\n hasUnsavedChanges\n });\n },\n setWorkspaceTitle (state, workspaceUuid, title) {\n return updateOpenedWorkspace(state, workspaceUuid, {\n title\n });\n }\n};\nfunction useWorkspace2Store() {\n return (0,_openmrs_esm_react_utils__rspack_import_3.useStoreWithActions)(_openmrs_esm_extensions__rspack_import_2.workspace2Store, workspace2StoreActions);\n}\n/**\n * Returns the react Context containing props passed into a workspace.\n * This hook MUST be called inside a child of <Workspace2>\n */ const useWorkspace2Context = ()=>(0,react__rspack_import_0.useContext)(single_spa_react__rspack_import_1.SingleSpaContext);\n/**\n * @returns a list of registered workspaces.\n */ const getRegisteredWorkspace2Names = ()=>{\n return Object.keys(_openmrs_esm_extensions__rspack_import_2.workspace2Store.getState().registeredWorkspacesByName);\n};\n/**\n * Returns the width an opened window renders at: its leaf workspace's `width`, falling back to the\n * window's `width`, then `'narrow'`. Every workspace in the window uses this width so that a wider\n * workspace lower in the stack doesn't show behind a narrower one.\n */ function getOpenedWindowWidth(openedWindow, registeredWorkspacesByName, registeredWindowsByName) {\n const leaf = openedWindow.openedWorkspaces[openedWindow.openedWorkspaces.length - 1];\n const leafWidth = leaf ? registeredWorkspacesByName[leaf.workspaceName]?.width : undefined;\n return leafWidth ?? registeredWindowsByName[openedWindow.windowName]?.width ?? 'narrow';\n}\nfunction newOpenedWorkspace(workspaceName, workspaceProps) {\n return {\n workspaceName,\n props: workspaceProps ?? {},\n hasUnsavedChanges: false,\n uuid: (0,uuid__rspack_import_6[\"default\"])()\n };\n}\n/**\n * Builds the window an `<ExportedWorkspace>` starts with: the workspace's real registered window\n * (so `launchChildWorkspace` keeps working), containing just the requested workspace.\n *\n * Returns `null` when `name` is not registered yet; the caller renders nothing and seeds again once\n * the workspace registers, since registration can happen after the component mounts.\n */ function createExportedWorkspaceWindow(name, workspaceProps, windowProps) {\n const workspaceDef = _openmrs_esm_extensions__rspack_import_2.workspace2Store.getState().registeredWorkspacesByName[name];\n if (!workspaceDef) {\n return null;\n }\n return {\n windowName: workspaceDef.window,\n openedWorkspaces: [\n newOpenedWorkspace(name, workspaceProps)\n ],\n props: windowProps ?? null,\n maximized: false\n };\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3Qvd29ya3NwYWNlczIvd29ya3NwYWNlMi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1zdHlsZWd1aWRlL2Rpc3Qvd29ya3NwYWNlczIvd29ya3NwYWNlMi5qcz84Y2I1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNpbmdsZVNwYUNvbnRleHQgfSBmcm9tIFwic2luZ2xlLXNwYS1yZWFjdFwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZFY0IH0gZnJvbSBcInV1aWRcIjtcbmltcG9ydCB7IGdldEdyb3VwQnlXaW5kb3dOYW1lLCBnZXRPcGVuZWRXaW5kb3dJbmRleEJ5V29ya3NwYWNlLCBnZXRXaW5kb3dCeVdvcmtzcGFjZU5hbWUsIHdvcmtzcGFjZTJTdG9yZSB9IGZyb20gXCJAb3Blbm1ycy9lc20tZXh0ZW5zaW9uc1wiO1xuaW1wb3J0IHsgdXNlU3RvcmVXaXRoQWN0aW9ucyB9IGZyb20gXCJAb3Blbm1ycy9lc20tcmVhY3QtdXRpbHNcIjtcbmltcG9ydCB7IHNoYWxsb3dFcXVhbCB9IGZyb20gXCJAb3Blbm1ycy9lc20tdXRpbHNcIjtcbmltcG9ydCB7IHNob3dNb2RhbCB9IGZyb20gXCIuLi9tb2RhbHMvaW5kZXguanNcIjtcbi8qKlxuICogQXR0ZW1wdHMgdG8gbGF1bmNoIHRoZSBzcGVjaWZpZWQgd29ya3NwYWNlIGdyb3VwIHdpdGggdGhlIGdpdmVuIGdyb3VwIHByb3BzLiBOb3RlIHRoYXQgb25seSBvbmUgd29ya3NwYWNlIGdyb3VwXG4gKiBtYXkgYmUgb3BlbmVkIGF0IGFueSBnaXZlbiB0aW1lLiBJZiBhIHdvcmtzcGFjZSBncm91cCBpcyBhbHJlYWR5IG9wZW5lZCwgY2FsbGluZyBgbGF1bmNoV29ya3NwYWNlR3JvdXAyYCB3aXRoXG4gKiBlaXRoZXIgYSBkaWZmZXJlbnQgZ3JvdXAgbmFtZSwgb3Igc2FtZSBncm91cCBuYW1lIGJ1dCBkaWZmZXJlbnQgaW5jb21wYXRpYmxlIHByb3BzKiosIHdpbGwgcmVzdWx0IGluIHByb21wdGluZyB0b1xuICogY29uZmlybSBjbG9zaW5nIHdvcmtzcGFjZXMuIElmIHRoZSB1c2VyIGNvbmZpcm1zLCB0aGUgb3BlbmVkIGdyb3VwLCBhbG9uZyB3aXRoIGl0cyB3aW5kb3dzIChhbmQgdGhlaXIgd29ya3NwYWNlcyksIGlzIGNsb3NlZCwgYW5kXG4gKiB0aGUgcmVxdWVzdGVkIGdyb3VwIGlzIGltbWVkaWF0ZWx5IG9wZW5lZC5cbiAqXG4gKiAqKiAyIHNldHMgb2YgcHJvcHMgYXJlIGNvbXBhdGlibGUgaWYgZWl0aGVyIG9uZSBpcyBudWxsaXNoLCBvciBpZiB0aGV5IGFyZSBzaGFsbG93IGVxdWFsLlxuICogQHBhcmFtIGdyb3VwTmFtZVxuICogQHBhcmFtIGdyb3VwUHJvcHNcbiAqIEByZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRydWUgaWYgdGhlIHNwZWNpZmllZCB3b3Jrc3BhY2UgZ3JvdXAgd2l0aCB0aGUgc3BlY2lmaWVkIGdyb3VwIHByb3BzXG4gKiAgaXMgc3VjY2Vzc2Z1bGx5IG9wZW5lZCwgb3IgdGhhdCBpdCBhbHJlYWR5IGlzIG9wZW5lZC5cbiAqLyBleHBvcnQgYXN5bmMgZnVuY3Rpb24gbGF1bmNoV29ya3NwYWNlR3JvdXAyKGdyb3VwTmFtZSwgZ3JvdXBQcm9wcykge1xuICAgIGNvbnN0IHsgb3BlbmVkR3JvdXAgfSA9IHdvcmtzcGFjZTJTdG9yZS5nZXRTdGF0ZSgpO1xuICAgIGlmIChvcGVuZWRHcm91cCkge1xuICAgICAgICBpZiAob3BlbmVkR3JvdXAuZ3JvdXBOYW1lICE9PSBncm91cE5hbWUgfHwgIWFyZVByb3BzQ29tcGF0aWJsZShvcGVuZWRHcm91cC5wcm9wcywgZ3JvdXBQcm9wcykpIHtcbiAgICAgICAgICAgIGNvbnN0IG9rVG9DbG9zZVdvcmtzcGFjZXMgPSBhd2FpdCBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyh7XG4gICAgICAgICAgICAgICAgcmVhc29uOiAnQ0xPU0VfV09SS1NQQUNFX0dST1VQJyxcbiAgICAgICAgICAgICAgICBleHBsaWNpdDogZmFsc2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKCFva1RvQ2xvc2VXb3Jrc3BhY2VzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAvLyBlbHNlLCBwcm9jZWVkIHRvIG9wZW4gdGhlIG5ldyBncm91cCB3aXRoIG5vIG9wZW5lZFdpbmRvd3NcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIG5vLW9wLCBncm91cCB3aXRoIGdyb3VwIHByb3BzIGlzIGFscmVhZHkgb3BlbmVkXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB3b3Jrc3BhY2UyU3RvcmUuc2V0U3RhdGUoKHN0YXRlKT0+KHtcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgb3BlbmVkR3JvdXA6IHtcbiAgICAgICAgICAgICAgICBncm91cE5hbWUsXG4gICAgICAgICAgICAgICAgcHJvcHM6IGdyb3VwUHJvcHNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGVuZWRXaW5kb3dzOiBbXVxuICAgICAgICB9KSk7XG4gICAgcmV0dXJuIHRydWU7XG59XG4vKipcbiAqIENsb3NlcyB0aGUgd29ya3NwYWNlIGdyb3VwIHRoYXQgaXMgY3VycmVudGx5IG9wZW5lZC4gTm90ZSB0aGF0IG9ubHkgb25lIHdvcmtzcGFjZSBncm91cFxuICogbWF5IGJlIG9wZW5lZCBhdCBhbnkgZ2l2ZW4gdGltZVxuICogQHBhcmFtIGRpc2NhcmRVbnNhdmVkQ2hhbmdlcyBJZiB0cnVlLCB0aGVuIHRoZSB3b3Jrc3BhY2UgZ3JvdXAgaXMgZm9yY2VkIGNsb3NlZCwgd2l0aCBubyBwcm9tcHRcbiAqIGZvciBjb25maXJtYXRpb24gZm9yIHVuc2F2ZWQgY2hhbmdlcyBpbiBhbnkgb3BlbmVkIHdvcmtzcGFjZS4gVGhpcyBzaG91bGQgYmUgdXNlZCBzcGFyaW5nbHlcbiAqIGZvciBjbGVhbi11cCBwdXJwb3NlLCBleDogd2hlbiBleGl0aW5nIGFuIGFwcC5cbiAqIEByZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRydWUgaWYgdGhlcmUgaXMgbm8gb3BlbmVkIGdyb3VwIHRvIGJlZ2luIHdpdGggb3Igd2Ugc3VjY2Vzc2Z1bGx5IGNsb3NlZFxuICogdGhlIG9wZW5lZCBncm91cDsgZmFsc2Ugb3RoZXJ3aXNlLlxuICovIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBjbG9zZVdvcmtzcGFjZUdyb3VwMihkaXNjYXJkVW5zYXZlZENoYW5nZXMpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHdvcmtzcGFjZTJTdG9yZS5nZXRTdGF0ZSgpO1xuICAgIGNvbnN0IHsgb3BlbmVkR3JvdXAsIG9wZW5lZFdpbmRvd3MgfSA9IHN0YXRlO1xuICAgIGlmIChvcGVuZWRHcm91cCkge1xuICAgICAgICBpZiAob3BlbmVkV2luZG93cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBva1RvQ2xvc2VXb3Jrc3BhY2VzID0gZGlzY2FyZFVuc2F2ZWRDaGFuZ2VzIHx8IGF3YWl0IHByb21wdEZvckNsb3NpbmdXb3Jrc3BhY2VzKHtcbiAgICAgICAgICAgICAgICByZWFzb246ICdDTE9TRV9XT1JLU1BBQ0VfR1JPVVAnLFxuICAgICAgICAgICAgICAgIGV4cGxpY2l0OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICghb2tUb0Nsb3NlV29ya3NwYWNlcykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB3b3Jrc3BhY2UyU3RvcmUuc2V0U3RhdGUoKHN0YXRlKT0+KHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBvcGVuZWRHcm91cDogbnVsbCxcbiAgICAgICAgICAgICAgICBvcGVuZWRXaW5kb3dzOiBbXVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8gbm8gb3BlbmVkR3JvdXAgd2l0aCBiZWdpbiB3aXRoLCByZXR1cm4gdHJ1ZVxuICAgIHJldHVybiB0cnVlO1xufVxuLyoqXG4gKiBBdHRlbXB0cyB0byBsYXVuY2ggdGhlIHNwZWNpZmllZCB3b3Jrc3BhY2Ugd2l0aCB0aGUgZ2l2ZW4gd29ya3NwYWNlIHByb3BzLiBUaGlzIGFsc28gaW1wbGljaXRseSBvcGVuc1xuICogdGhlIHdvcmtzcGFjZSB3aW5kb3cgdG8gd2hpY2ggdGhlIHdvcmtzcGFjZSBiZWxvbmdzIChpZiBpdCdzIG5vdCBvcGVuZWQgYWxyZWFkeSksXG4gKiBhbmQgdGhlIHdvcmtzcGFjZSBncm91cCB0byB3aGljaCB0aGUgd2luZG93IGJlbG9uZ3MgKGlmIGl0J3Mgbm90IG9wZW5lZCBhbHJlYWR5KS5cbiAqXG4gKiBXaGVuIGNhbGxpbmcgYGxhdW5jaFdvcmtzcGFjZTJgLCB3ZSBuZWVkIHRvIGFsc28gcGFzcyBpbiB0aGUgd29ya3NwYWNlIHByb3BzLiBXaGlsZSBub3QgcmVxdWlyZWQsXG4gKiB3ZSBjYW4gYWxzbyBwYXNzIGluIHRoZSB3aW5kb3cgcHJvcHMgKHNoYXJlZCBieSBvdGhlciB3b3Jrc3BhY2VzIGluIHRoZSB3aW5kb3cpIGFuZCB0aGUgZ3JvdXAgcHJvcHNcbiAqIChzaGFyZWQgYnkgYWxsIHdpbmRvd3MgYW5kIHRoZWlyIHdvcmtzcGFjZXMpLiBPbWl0dGluZyB0aGUgd2luZG93IHByb3BzIG9yIHRoZSBncm91cCBwcm9wc1teMV0gbWVhbnMgdGhlIGNhbGxlclxuICogZXhwbGljaXRseSBkb2VzIG5vdCBjYXJlIHdoYXQgdGhlIGN1cnJlbnQgd2luZG93IHByb3BzIGFuZCBncm91cCBwcm9wcyBhcmUsIGFuZCB0aGF0IHRoZXkgbWF5IGJlIHNldFxuICogYnkgb3RoZXIgYWN0aW9ucyAobGlrZSBjYWxsaW5nIGBsYXVuY2hXb3Jrc3BhY2UyYCBvbiBhIGRpZmZlcmVudCB3b3Jrc3BhY2Ugd2l0aCB0aG9zZSBwcm9wcyBwYXNzZWQgaW4pXG4gKiBhdCBhIGxhdGVyIHRpbWUuXG4gKlxuICogSWYgdGhlcmUgaXMgYWxyZWFkeSBhbiBvcGVuZWQgd29ya3NwYWNlIGdyb3VwLCBhbmQgaXQncyBub3QgdGhlIGdyb3VwIHRoZSB3b3Jrc3BhY2UgYmVsb25ncyB0b1xuICogb3IgaGFzIGluY29tcGF0aWJsZVteMl0gZ3JvdXAgcHJvcHMsIHRoZW4gd2UgcHJvbXB0IHRoZSB1c2VyIHRvIGNsb3NlIHRoZSBncm91cCAoYW5kIGl0cyB3aW5kb3dzIGFuZCB0aGVpciB3b3Jrc3BhY2VzKS5cbiAqIE9uIHVzZXIgY29uZmlybSwgdGhlIGV4aXN0aW5nIG9wZW5lZCBncm91cCBpcyBjbG9zZWQgYW5kIHRoZSBuZXcgd29ya3NwYWNlLCBhbG9uZyB3aXRoIGl0cyB3aW5kb3cgYW5kIGl0cyBncm91cCxcbiAqIGlzIG9wZW5lZC5cbiAqXG4gKiBJZiB0aGUgd2luZG93IGlzIGFscmVhZHkgb3BlbmVkLCBidXQgd2l0aCBpbmNvbXBhdGlibGUgd2luZG93IHByb3BzLCB3ZSBwcm9tcHQgdGhlIHVzZXIgdG8gY2xvc2VcbiAqIHRoZSB3aW5kb3cgKGFuZCBhbGwgaXRzIG9wZW5lZCB3b3Jrc3BhY2VzKSwgYW5kIHJlb3BlbiB0aGUgd2luZG93IHdpdGggKG9ubHkpIHRoZSBuZXdseSByZXF1ZXN0ZWQgd29ya3NwYWNlLlxuICpcbiAqIElmIHRoZSB3b3Jrc3BhY2UgaXMgYWxyZWFkeSBvcGVuZWQsIGJ1dCB3aXRoIGluY29tcGF0aWJsZSB3b3Jrc3BhY2UgcHJvcHMsIHdlIGFsc28gcHJvbXB0IHRoZSB1c2VyIHRvIGNsb3NlXG4gKiB0aGUgKip3aW5kb3cqKiAoYW5kIGFsbCBpdHMgb3BlbmVkIHdvcmtzcGFjZXMpLCBhbmQgcmVvcGVuIHRoZSB3aW5kb3cgd2l0aCAob25seSkgdGhlIG5ld2x5IHJlcXVlc3RlZCB3b3Jrc3BhY2UuXG4gKiBUaGlzIGlzIHRydWUgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBhbHJlYWR5IG9wZW5lZCB3b3Jrc3BhY2UgaGFzIGFueSBjaGlsZCB3b3Jrc3BhY2VzLlxuICpcbiAqIE5vdGUgdGhhdCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gKm5ldmVyKiByZXN1bHRzIGluIGNyZWF0aW5nIGEgY2hpbGQgd29ya3NwYWNlIGluIHRoZSBhZmZlY3RlZCB3aW5kb3cuXG4gKiBUbyBkbyBzbywgd2UgbmVlZCB0byBjYWxsIGBsYXVuY2hDaGlsZFdvcmtzcGFjZWAgaW5zdGVhZC5cbiAqXG4gKiBbXjFdIE9taXR0aW5nIHdpbmRvdyBvciBncm91cCBwcm9wcyBpcyB1c2VmdWwgZm9yIHdvcmtzcGFjZXMgdGhhdCBkb24ndCBoYXZlIHRpZXMgdG8gdGhlIHdpbmRvdyBvciBncm91cCBcImNvbnRleHRcIiAocHJvcHMpLlxuICogRm9yIGV4YW1wbGUsIGluIHRoZSBwYXRpZW50IGNoYXJ0LCB0aGUgdmlzaXQgbm90ZXMgLyBjbGluaWNhbCBmb3JtcyAvIG9yZGVyIGJhc2tldCBhY3Rpb24gbWVudSBidXR0b24gYWxsIHNoYXJlXG4gKiBhIFwiZ3JvdXAgY29udGV4dFwiIG9mIHRoZSBjdXJyZW50IHZpc2l0LiBIb3dldmVyLCB0aGUgXCJwYXRpZW50IGxpc3RcIiBhY3Rpb24gbWVudSBidXR0b24gZG9lcyBub3QgbmVlZCB0byBzaGFyZSB0aGF0IGdyb3VwXG4gKiBjb250ZXh0LCBzbyBvcGVuaW5nIHRoYXQgd29ya3NwYWNlIHNob3VsZCBub3QgbmVlZCB0byBjYXVzZSBvdGhlciB3b3Jrc3BhY2VzIC8gd2luZG93cyAvIGdyb3VwcyB0byBwb3RlbnRpYWxseSBjbG9zZS5cbiAqIFRoZSBcInBhdGllbnQgc2VhcmNoXCIgd29ya3NwYWNlIGluIHRoZSBxdWV1ZXMgYW5kIHdhcmQgYXBwcyBpcyBhbm90aGVyIGV4YW1wbGUuXG4gKlxuICogW14yXSAyIHNldHMgb2YgcHJvcHMgYXJlIGNvbXBhdGlibGUgaWYgZWl0aGVyIG9uZSBpcyBudWxsaXNoLCBvciBpZiB0aGV5IGFyZSBzaGFsbG93IGVxdWFsLlxuICovIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBsYXVuY2hXb3Jrc3BhY2UyKHdvcmtzcGFjZU5hbWUsIHdvcmtzcGFjZVByb3BzID0gbnVsbCwgd2luZG93UHJvcHMgPSBudWxsLCBncm91cFByb3BzID0gbnVsbCkge1xuICAgIGNvbnN0IHN0b3JlU3RhdGUgPSB3b3Jrc3BhY2UyU3RvcmUuZ2V0U3RhdGUoKTtcbiAgICBpZiAoIXN0b3JlU3RhdGUucmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWVbd29ya3NwYWNlTmFtZV0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gbGF1bmNoIHdvcmtzcGFjZSAke3dvcmtzcGFjZU5hbWV9LiBXb3Jrc3BhY2UgaXMgbm90IHJlZ2lzdGVyZWRgKTtcbiAgICB9XG4gICAgY29uc3Qgd2luZG93RGVmID0gZ2V0V2luZG93QnlXb3Jrc3BhY2VOYW1lKHdvcmtzcGFjZU5hbWUpO1xuICAgIGlmICghd2luZG93RGVmKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGxhdW5jaCB3b3Jrc3BhY2UgJHt3b3Jrc3BhY2VOYW1lfS4gV29ya3NwYWNlIGlzIG5vdCByZWdpc3RlcmVkIHRvIGEgd29ya3NwYWNlIHdpbmRvd2ApO1xuICAgIH1cbiAgICBjb25zdCB7IG9wZW5lZEdyb3VwIH0gPSBzdG9yZVN0YXRlO1xuICAgIGNvbnN0IHsgbmFtZTogd2luZG93TmFtZSB9ID0gd2luZG93RGVmO1xuICAgIGNvbnN0IGdyb3VwRGVmID0gZ2V0R3JvdXBCeVdpbmRvd05hbWUod2luZG93TmFtZSk7XG4gICAgaWYgKCFncm91cERlZikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBsYXVuY2ggd29ya3NwYWNlICR7d29ya3NwYWNlTmFtZX0uIFdvcmtzcGFjZSB3aW5kb3cgJHt3aW5kb3dEZWYubmFtZX0gaXMgbm90IHJlZ2lzdGVyZWQgdG8gYSB3b3Jrc3BhY2UgZ3JvdXBgKTtcbiAgICB9XG4gICAgY29uc3Qgb3BlbmVkV2luZG93SW5kZXggPSBnZXRPcGVuZWRXaW5kb3dJbmRleEJ5V29ya3NwYWNlKHdvcmtzcGFjZU5hbWUpO1xuICAgIGNvbnN0IGlzV2luZG93QWxyZWFkeU9wZW5lZCA9IG9wZW5lZFdpbmRvd0luZGV4ID49IDA7XG4gICAgLy8gaWYgY3VycmVudCBvcGVuZWQgZ3JvdXAgaXMgbm90IHRoZSBzYW1lIGFzIHRoZSByZXF1ZXN0ZWQgZ3JvdXAsIG9yIGlmIHRoZSBncm91cCBwcm9wcyBhcmUgZGlmZmVyZW50LCB0aGVuIHByb21wdCBmb3IgdW5zYXZlZCBjaGFuZ2VzXG4gICAgaWYgKG9wZW5lZEdyb3VwICYmIChvcGVuZWRHcm91cC5ncm91cE5hbWUgIT09IGdyb3VwRGVmLm5hbWUgfHwgIWFyZVByb3BzQ29tcGF0aWJsZShvcGVuZWRHcm91cC5wcm9wcywgZ3JvdXBQcm9wcykpKSB7XG4gICAgICAgIGNvbnN0IG9rVG9DbG9zZVdvcmtzcGFjZXMgPSBhd2FpdCBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyh7XG4gICAgICAgICAgICByZWFzb246ICdDTE9TRV9XT1JLU1BBQ0VfR1JPVVAnLFxuICAgICAgICAgICAgZXhwbGljaXQ6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChva1RvQ2xvc2VXb3Jrc3BhY2VzKSB7XG4gICAgICAgICAgICB3b3Jrc3BhY2UyU3RvcmUuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgIC4uLnN0b3JlU3RhdGUsXG4gICAgICAgICAgICAgICAgb3BlbmVkR3JvdXA6IHtcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBOYW1lOiBncm91cERlZi5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogZ3JvdXBQcm9wc1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3BlbmVkV2luZG93czogW1xuICAgICAgICAgICAgICAgICAgICAvLyBkaXNjYXJkIGFsbCBvcGVuZWQgd2luZG93cywgb3BlbiBhIG5ldyBvbmUgd2l0aCB0aGUgcmVxdWVzdGVkIHdvcmtzcGFjZVxuICAgICAgICAgICAgICAgICAgICAvLyBtb3N0IHJlY2VudGx5IG9wZW5lZCBhY3Rpb24gYXBwZW5kZWQgdG8gdGhlIGVuZFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3dOYW1lOiB3aW5kb3dOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVkV29ya3NwYWNlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wZW5lZFdvcmtzcGFjZSh3b3Jrc3BhY2VOYW1lLCB3b3Jrc3BhY2VQcm9wcylcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wczogd2luZG93UHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZWQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBmYWxzZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNXaW5kb3dBbHJlYWR5T3BlbmVkKSB7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvdyA9IHN0b3JlU3RhdGUub3BlbmVkV2luZG93c1tvcGVuZWRXaW5kb3dJbmRleF07XG4gICAgICAgIGNvbnN0IGdyb3VwUHJvcHMgPSBzdG9yZVN0YXRlLm9wZW5lZEdyb3VwPy5wcm9wcyA/PyB7fTtcbiAgICAgICAgY29uc3QgaXNNb3N0UmVjZW50bHlPcGVuZWRXaW5kb3dIaWRkZW4gPSBzdG9yZVN0YXRlLmlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuO1xuICAgICAgICBjb25zdCB7IG9wZW5lZFdvcmtzcGFjZXMgfSA9IG9wZW5lZFdpbmRvdztcbiAgICAgICAgaWYgKGFyZVByb3BzQ29tcGF0aWJsZShvcGVuZWRXaW5kb3cucHJvcHMsIHdpbmRvd1Byb3BzKSkge1xuICAgICAgICAgICAgLy8gdGhpcyBjYXNlIGlzIHRyaWNreSwgdGhpcyByZXN1bHRzIGluIHJlc3RvcmluZyB0aGUgd2luZG93IGlmOlxuICAgICAgICAgICAgLy8gMS4gdGhlIHdvcmtzcGFjZSBpcyBvcGVuZWQgKGJ1dCBub3QgbmVjZXNzYXJpbHkgYXMgYSBsZWFmIHdvcmtzcGFjZSlcbiAgICAgICAgICAgIC8vIDIuIHRoZSBwcm9wcyBvZiB0aGUgb3BlbmVkIHdvcmtzcGFjZSBpcyBzYW1lIGFzIHdvcmtzcGFjZSBwcm9wcyAoZnJvbSB0aGUgZnVuY3Rpb24gaW5wdXQpXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCB3ZSBjbG9zZSBhbGwgd29ya3NwYWNlcyBpbiB0aGlzIHdpbmRvdywgYW5kIG9wZW4gdGhpcyBuZXdseSByZXF1ZXN0ZWQgb25lXG4gICAgICAgICAgICBjb25zdCBvcGVuZWRXb3Jrc3BhY2UgPSBvcGVuZWRXb3Jrc3BhY2VzLmZpbmQoKHcpPT53LndvcmtzcGFjZU5hbWUgPT09IHdvcmtzcGFjZU5hbWUpO1xuICAgICAgICAgICAgaWYgKG9wZW5lZFdvcmtzcGFjZSAmJiBhcmVQcm9wc0NvbXBhdGlibGUob3BlbmVkV29ya3NwYWNlLnByb3BzLCB3b3Jrc3BhY2VQcm9wcykpIHtcbiAgICAgICAgICAgICAgICAvLyByZXN0b3JlIHRoZSB3aW5kb3cgaWYgaXQgaXMgaGlkZGVuIG9yIG5vdCB0aGUgbW9zdCByZWNlbnRseSBvcGVuZWQgb25lXG4gICAgICAgICAgICAgICAgaWYgKGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuIHx8IG9wZW5lZFdpbmRvd0luZGV4ICE9PSBzdG9yZVN0YXRlLm9wZW5lZFdpbmRvd3MubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICB3b3Jrc3BhY2UyU3RvcmUuc2V0U3RhdGUod29ya3NwYWNlMlN0b3JlQWN0aW9ucy5yZXN0b3JlV2luZG93KHN0b3JlU3RhdGUsIHdpbmRvd05hbWUpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9rVG9DbG9zZVdvcmtzcGFjZXMgPSBhd2FpdCBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyh7XG4gICAgICAgICAgICAgICAgICAgIHJlYXNvbjogJ0NMT1NFX1dPUktTUEFDRScsXG4gICAgICAgICAgICAgICAgICAgIGV4cGxpY2l0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgd2luZG93TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgd29ya3NwYWNlTmFtZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChva1RvQ2xvc2VXb3Jrc3BhY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHdvcmtzcGFjZTJTdG9yZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5zdG9yZVN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVkR3JvdXA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cE5hbWU6IGdyb3VwRGVmLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHN0b3JlU3RhdGU/Lm9wZW5lZEdyb3VwPy5wcm9wcyA/PyBncm91cFByb3BzXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVkV2luZG93czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN0b3JlU3RhdGUub3BlbmVkV2luZG93cy5maWx0ZXIoKF8sIGkpPT5pICE9PSBvcGVuZWRXaW5kb3dJbmRleCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbW9zdCByZWNlbnRseSBvcGVuZWQgd29ya3NwYWNlIGF0IHRoZSBlbmQgb2YgdGhlIGFycmF5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3dOYW1lOiB3aW5kb3dOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuZWRXb3Jrc3BhY2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdPcGVuZWRXb3Jrc3BhY2Uod29ya3NwYWNlTmFtZSwgd29ya3NwYWNlUHJvcHMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiBvcGVuZWRXaW5kb3c/LnByb3BzID8/IHdpbmRvd1Byb3BzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZWQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG9rVG9DbG9zZVdvcmtzcGFjZXMgPSBhd2FpdCBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyh7XG4gICAgICAgICAgICAgICAgcmVhc29uOiAnQ0xPU0VfV0lORE9XJyxcbiAgICAgICAgICAgICAgICBleHBsaWNpdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgd2luZG93TmFtZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAob2tUb0Nsb3NlV29ya3NwYWNlcykge1xuICAgICAgICAgICAgICAgIC8vIGRpc2NhcmQgdGhlIG9wZW5lZFdpbmRvd3MgZWxlbWVudCBhdCBvcGVuZWRXaW5kb3dJbmRleFxuICAgICAgICAgICAgICAgIC8vIGFuZCBjcmVhdGUgYSBuZXcgb25lIHdpdGggdGhlIHJlcXVlc3RlZCB3b3Jrc3BhY2Ugb3BlbmVkXG4gICAgICAgICAgICAgICAgd29ya3NwYWNlMlN0b3JlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3RvcmVTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgb3BlbmVkR3JvdXA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwTmFtZTogZ3JvdXBEZWYubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiBncm91cFByb3BzID8/IHN0b3JlU3RhdGU/Lm9wZW5lZEdyb3VwPy5wcm9wc1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvcGVuZWRXaW5kb3dzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5zdG9yZVN0YXRlLm9wZW5lZFdpbmRvd3MuZmlsdGVyKChfLCBpKT0+aSAhPT0gb3BlbmVkV2luZG93SW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbW9zdCByZWNlbnRseSBvcGVuZWQgd29ya3NwYWNlIGF0IHRoZSBlbmQgb2YgdGhlIGFycmF5XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93TmFtZTogd2luZG93TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuZWRXb3Jrc3BhY2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wZW5lZFdvcmtzcGFjZSh3b3Jrc3BhY2VOYW1lLCB3b3Jrc3BhY2VQcm9wcylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiB3aW5kb3dQcm9wcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZWQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGdyb3VwRGVmLnBlcnNpc3RlbmNlID09ICdjbG9zYWJsZScpIHtcbiAgICAgICAgY29uc3Qgb2tUb0Nsb3NlV29ya3NwYWNlcyA9IGF3YWl0IHByb21wdEZvckNsb3NpbmdXb3Jrc3BhY2VzKHtcbiAgICAgICAgICAgIHJlYXNvbjogJ0NMT1NFX09USEVSX1dJTkRPV1MnLFxuICAgICAgICAgICAgZXhwbGljaXQ6IGZhbHNlLFxuICAgICAgICAgICAgd2luZG93TmFtZVRvU3BhcmU6IHdpbmRvd0RlZi5uYW1lXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAob2tUb0Nsb3NlV29ya3NwYWNlcykge1xuICAgICAgICAgICAgd29ya3NwYWNlMlN0b3JlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAuLi5zdG9yZVN0YXRlLFxuICAgICAgICAgICAgICAgIG9wZW5lZEdyb3VwOiB7XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwTmFtZTogZ3JvdXBEZWYubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcHM6IGdyb3VwUHJvcHMgPz8gc3RvcmVTdGF0ZT8ub3BlbmVkR3JvdXA/LnByb3BzID8/IG51bGxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wZW5lZFdpbmRvd3M6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93TmFtZTogd2luZG93TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lZFdvcmtzcGFjZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdPcGVuZWRXb3Jrc3BhY2Uod29ya3NwYWNlTmFtZSwgd29ya3NwYWNlUHJvcHMpXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHdpbmRvd1Byb3BzLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW1pemVkOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBpc01vc3RSZWNlbnRseU9wZW5lZFdpbmRvd0hpZGRlbjogZmFsc2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICB3b3Jrc3BhY2UyU3RvcmUuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4uc3RvcmVTdGF0ZSxcbiAgICAgICAgICAgIG9wZW5lZEdyb3VwOiB7XG4gICAgICAgICAgICAgICAgZ3JvdXBOYW1lOiBncm91cERlZi5uYW1lLFxuICAgICAgICAgICAgICAgIHByb3BzOiBncm91cFByb3BzID8/IHN0b3JlU3RhdGU/Lm9wZW5lZEdyb3VwPy5wcm9wcyA/PyBudWxsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3BlbmVkV2luZG93czogW1xuICAgICAgICAgICAgICAgIC4uLnN0b3JlU3RhdGUub3BlbmVkV2luZG93cyxcbiAgICAgICAgICAgICAgICAvLyBtb3N0IHJlY2VudGx5IG9wZW5lZCB3b3Jrc3BhY2UgYXQgdGhlIGVuZCBvZiB0aGUgYXJyYXlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvd05hbWU6IHdpbmRvd05hbWUsXG4gICAgICAgICAgICAgICAgICAgIG9wZW5lZFdvcmtzcGFjZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wZW5lZFdvcmtzcGFjZSh3b3Jrc3BhY2VOYW1lLCB3b3Jrc3BhY2VQcm9wcylcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHdpbmRvd1Byb3BzLFxuICAgICAgICAgICAgICAgICAgICBtYXhpbWl6ZWQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuLyoqXG4gKiBXaGVuIHdlIGxhdW5jaCBhIHdvcmtzcGFjZSwgd2UgbWF5IHBhc3MgaW4gd29ya3NwYWNlIC8gd2luZG93cyAvIGdyb3VwIHByb3BzLiBJZiB0aGUgd29ya3NwYWNlIG9yXG4gKiB3aW5kb3cgb3IgZ3JvdXAgaXMgY3VycmVudGx5IG9wZW5lZCwgd2UgaGF2ZSB0byBjaGVjayB3aGV0aGVyIHRoZSBjdXJyZW50IHByb3BzIGFyZSBjb21wYXRpYmxlIHdpdGhcbiAqIHRoZSBwYXNzZWQgaW4gcHJvcHMuIDIgcHJvcHMgQSBhbmQgQiBhcmUgY29tcGF0aWJsZSBpZjpcbiAqICAgZWl0aGVyIG9uZSBpcyBudWxsaXNoIChiZWNhdXNlIHRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIGNhbGxlciBkb2VzIG5vdCBjYXJlIGFib3V0IHByb3AgaW5jb21wYXRpYmlsaXR5KVxuICogICBuZWl0aGVyIGlzIG51bGxpc2gsIGFuZCBBIGFuZCBCIGFyZSBzaGFsbG93IGVxdWFsLlxuICogQHBhcmFtIGEgcHJvcHNcbiAqIEBwYXJhbSBiIHByb3BzXG4gKiBAcmV0dXJucyB3aGV0aGVyIHByb3BzIGEgYW5kIGIgYXJlIGNvbXBhdGlibGVcbiAqLyBmdW5jdGlvbiBhcmVQcm9wc0NvbXBhdGlibGUoYSwgYikge1xuICAgIGlmIChhID09IG51bGwgfHwgYiA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gc2hhbGxvd0VxdWFsKGEsIGIpO1xufVxuLy8gaWYgb25seVVwVG9UaGlzV29ya3NwYWNlIGlzIHByb3ZpZGVkLCB3ZSB3aWxsIG9ubHkgbG9vcCB0aWxsIHdlIGhpdCB0aGF0IHdvcmtzcGFjZVxuZnVuY3Rpb24gZ2V0QWZmZWN0ZWRXb3Jrc3BhY2VzSW5XaW5kb3cob3BlbmVkV2luZG93LCBvbmx5VXBUb1RoaXNXb3Jrc3BhY2UpIHtcbiAgICBjb25zdCByZXQgPSBbXTtcbiAgICBmb3IobGV0IGkgPSBvcGVuZWRXaW5kb3cub3BlbmVkV29ya3NwYWNlcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSl7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdvcmtzcGFjZSA9IG9wZW5lZFdpbmRvdy5vcGVuZWRXb3Jrc3BhY2VzW2ldO1xuICAgICAgICBpZiAob3BlbmVkV29ya3NwYWNlLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgICByZXQucHVzaChvcGVuZWRXb3Jrc3BhY2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvbmx5VXBUb1RoaXNXb3Jrc3BhY2UgJiYgb3BlbmVkV29ya3NwYWNlLndvcmtzcGFjZU5hbWUgPT09IG9ubHlVcFRvVGhpc1dvcmtzcGFjZSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbn1cbmZ1bmN0aW9uIHNob3dDbG9zZVByb21wdChhZmZlY3RlZFdvcmtzcGFjZXMpIHtcbiAgICBpZiAoYWZmZWN0ZWRXb3Jrc3BhY2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRydWUpOyAvLyBubyB1bnNhdmVkIGNoYW5nZXMsIG5vIG5lZWQgdG8gcHJvbXB0XG4gICAgfVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PntcbiAgICAgICAgY29uc3QgZGlzcG9zZSA9IHNob3dNb2RhbCgnd29ya3NwYWNlMi1jbG9zZS1wcm9tcHQnLCB7XG4gICAgICAgICAgICBzaXplOiAnc20nLFxuICAgICAgICAgICAgb25Db25maXJtOiAoKT0+e1xuICAgICAgICAgICAgICAgIGRpc3Bvc2UoKTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uQ2FuY2VsOiAoKT0+e1xuICAgICAgICAgICAgICAgIGRpc3Bvc2UoKTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhZmZlY3RlZFdvcmtzcGFjZVRpdGxlczogYWZmZWN0ZWRXb3Jrc3BhY2VzLm1hcCgod29ya3NwYWNlKT0+d29ya3NwYWNlLnRpdGxlID8/ICcnKVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbi8qKlxuICogQSB1c2VyIGNhbiBwZXJmb3JtIGFjdGlvbnMgdGhhdCBleHBsaWNpdGx5IHJlc3VsdCBpbiBjbG9zaW5nIHdvcmtzcGFjZXNcbiAqIChzdWNoIHRoYXQgY2xpY2tpbmcgdGhlICdYJyBidXR0b24gZm9yIHRoZSB3b3Jrc3BhY2Ugb3Igd29ya3NwYWNlIGdyb3VwKSwgb3JcbiAqIGltcGxpY2l0bHkgKGJ5IG9wZW5pbmcgYSB3b3Jrc3BhY2Ugd2l0aCBkaWZmZXJlbnQgcHJvcHMgdGhhbiB0aGUgb25lIHRoYXQgaXMgYWxyZWFkeSBvcGVuZWQpLlxuICogQ2FsbHMgdG8gY2xvc2VXb3Jrc3BhY2UyKCkgb3IgY2xvc2VXb3Jrc3BhY2VHcm91cDIoKSBhcmUgY29uc2lkZXJlZCBleHBsaWNpdCwgd2hpbGUgY2FsbHNcbiAqIHRvIGxhdW5jaFdvcmtzcGFjZTIoKSBvciBsYXVuY2hXb3Jrc3BhY2VHcm91cDIoKSBhcmUgY29uc2lkZXJlZCBpbXBsaWNpdC5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHByb21wdHMgdGhlIHVzZXIgZm9yIGNvbmZpcm1hdGlvbiB0byBjbG9zZSB3b3Jrc3BhY2VzIHdpdGggYSBtb2RhbCBkaWFsb2cuXG4gKiBXaGVuIHRoZSBjbG9zaW5nIGlzIGV4cGxpY2l0LCBpdCBwcm9tcHRzIGZvciBjb25maXJtYXRpb24gZm9yIGFmZmVjdGVkIHdvcmtzcGFjZXMgd2l0aCB1bnNhdmVkIGNoYW5nZXMuXG4gKiBXaGVuIHRoZSBjbG9zaW5nIGlzIGltcGxpY2l0LCBpdCBwcm9tcHRzIGZvciBjb25maXJtYXRpb24gZm9yIGFsbCBhZmZlY3RlZCB3b3Jrc3BhY2VzLCByZWdhcmRsZXNzIG9mXG4gKiB3aGV0aGVyIHRoZXkgaGF2ZSB1bnNhdmVkIGNoYW5nZXMuXG4gKiBAcGFyYW0gcHJvbXB0UmVhc29uXG4gKiBAcmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0cnVlIGlmIHRoZSB1c2VyIGNvbmZpcm1lZCBjbG9zaW5nIHRoZSB3b3Jrc3BhY2VzOyBmYWxzZSBvdGhlcndpc2UuXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIHByb21wdEZvckNsb3NpbmdXb3Jrc3BhY2VzKHByb21wdFJlYXNvbikge1xuICAgIGNvbnN0IHsgb3BlbmVkV2luZG93cyB9ID0gd29ya3NwYWNlMlN0b3JlLmdldFN0YXRlKCk7XG4gICAgbGV0IGFmZmVjdGVkV29ya3NwYWNlcyA9IFtdO1xuICAgIHN3aXRjaChwcm9tcHRSZWFzb24ucmVhc29uKXtcbiAgICAgICAgY2FzZSAnQ0xPU0VfV09SS1NQQUNFX0dST1VQJzpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhZmZlY3RlZFdvcmtzcGFjZXMgPSBvcGVuZWRXaW5kb3dzLmZsYXRNYXAoKHdpbmRvdyk9PmdldEFmZmVjdGVkV29ya3NwYWNlc0luV2luZG93KHdpbmRvdykpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlICdDTE9TRV9XSU5ET1cnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvdyA9IG9wZW5lZFdpbmRvd3MuZmluZCgod2luZG93KT0+d2luZG93LndpbmRvd05hbWUgPT09IHByb21wdFJlYXNvbi53aW5kb3dOYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAoIW9wZW5lZFdpbmRvdykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdpbmRvdyAke3Byb21wdFJlYXNvbi53aW5kb3dOYW1lfSBub3QgZm91bmQgaW4gb3BlbmVkIHdpbmRvd3MuYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFmZmVjdGVkV29ya3NwYWNlcyA9IGdldEFmZmVjdGVkV29ya3NwYWNlc0luV2luZG93KG9wZW5lZFdpbmRvdyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgJ0NMT1NFX1dPUktTUEFDRSc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3BlbmVkV2luZG93ID0gb3BlbmVkV2luZG93cy5maW5kKCh3aW5kb3cpPT53aW5kb3cud2luZG93TmFtZSA9PT0gcHJvbXB0UmVhc29uLndpbmRvd05hbWUpO1xuICAgICAgICAgICAgICAgIGlmICghb3BlbmVkV2luZG93KSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgV2luZG93ICR7cHJvbXB0UmVhc29uLndpbmRvd05hbWV9IG5vdCBmb3VuZCBpbiBvcGVuZWQgd2luZG93cy5gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYWZmZWN0ZWRXb3Jrc3BhY2VzID0gZ2V0QWZmZWN0ZWRXb3Jrc3BhY2VzSW5XaW5kb3cob3BlbmVkV2luZG93LCBwcm9tcHRSZWFzb24ud29ya3NwYWNlTmFtZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgJ0NMT1NFX09USEVSX1dJTkRPV1MnOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpbmRvd3NUb0Nsb3NlID0gb3BlbmVkV2luZG93cy5maWx0ZXIoKHdpbmRvdyk9PndpbmRvdy53aW5kb3dOYW1lICE9PSBwcm9tcHRSZWFzb24ud2luZG93TmFtZVRvU3BhcmUpO1xuICAgICAgICAgICAgICAgIGFmZmVjdGVkV29ya3NwYWNlcyA9IHdpbmRvd3NUb0Nsb3NlLmZsYXRNYXAoKHcpPT5nZXRBZmZlY3RlZFdvcmtzcGFjZXNJbldpbmRvdyh3KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzaG93Q2xvc2VQcm9tcHQoYWZmZWN0ZWRXb3Jrc3BhY2VzKTtcbn1cbi8qKlxuICogUHJvbXB0cyBmb3IgY29uZmlybWF0aW9uIHRvIGNsb3NlIHRoZSB3b3Jrc3BhY2VzIHdpdGggdW5zYXZlZCBjaGFuZ2VzIGluIHRoZSBnaXZlbiB3aW5kb3c6IHRoZSB3aG9sZVxuICogd2luZG93LCBvciwgaWYgYHVwVG9Xb3Jrc3BhY2VOYW1lYCBpcyBnaXZlbiwganVzdCB0aGF0IHdvcmtzcGFjZSBhbmQgaXRzIGNoaWxkcmVuLiBVbmxpa2VcbiAqIGBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlc2AsIHRoaXMgd29ya3Mgb24gYW55IHdpbmRvdywgaW5jbHVkaW5nIG9uZSBoZWxkIGluIGFuXG4gKiBgPEV4cG9ydGVkV29ya3NwYWNlPmAncyBsb2NhbCBzdG9yZS5cbiAqIEByZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRydWUgaWYgdGhlIHVzZXIgY29uZmlybWVkLCBvciB0aGVyZSB3YXMgbm90aGluZyB0byBjb25maXJtLlxuICovIGV4cG9ydCBmdW5jdGlvbiBwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlc0luV2luZG93KG9wZW5lZFdpbmRvdywgdXBUb1dvcmtzcGFjZU5hbWUpIHtcbiAgICByZXR1cm4gc2hvd0Nsb3NlUHJvbXB0KGdldEFmZmVjdGVkV29ya3NwYWNlc0luV2luZG93KG9wZW5lZFdpbmRvdywgdXBUb1dvcmtzcGFjZU5hbWUpKTtcbn1cbi8qKlxuICogQ2xvc2VzIHRoZSBuYW1lZCB3b3Jrc3BhY2UsIGFsb25nIHdpdGggaXRzIGNoaWxkcmVuLCB3aXRoaW4gdGhlIGdpdmVuIHdpbmRvdy5cbiAqIEByZXR1cm5zIHRoZSB1cGRhdGVkIHdpbmRvdzsgYG51bGxgIGlmIG5vIHdvcmtzcGFjZXMgYXJlIGxlZnQgaW4gaXQ7IG9yIGBvcGVuZWRXaW5kb3dgIGl0c2VsZiBpZlxuICogICB0aGUgd29ya3NwYWNlIGlzIG5vdCBpbiB0aGUgd2luZG93LlxuICovIGV4cG9ydCBmdW5jdGlvbiBjbG9zZVdvcmtzcGFjZUluV2luZG93KG9wZW5lZFdpbmRvdywgd29ya3NwYWNlTmFtZSkge1xuICAgIGNvbnN0IHdvcmtzcGFjZUluZGV4ID0gb3BlbmVkV2luZG93Lm9wZW5lZFdvcmtzcGFjZXMuZmluZEluZGV4KCh3KT0+dy53b3Jrc3BhY2VOYW1lID09PSB3b3Jrc3BhY2VOYW1lKTtcbiAgICBpZiAod29ya3NwYWNlSW5kZXggPCAwKSB7XG4gICAgICAgIHJldHVybiBvcGVuZWRXaW5kb3c7XG4gICAgfVxuICAgIGlmICh3b3Jrc3BhY2VJbmRleCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3BlbmVkV2luZG93LFxuICAgICAgICBvcGVuZWRXb3Jrc3BhY2VzOiBvcGVuZWRXaW5kb3cub3BlbmVkV29ya3NwYWNlcy5zbGljZSgwLCB3b3Jrc3BhY2VJbmRleClcbiAgICB9O1xufVxuLyoqXG4gKiBPcGVucyBhIGNoaWxkIHdvcmtzcGFjZSBvZiB0aGUgbmFtZWQgcGFyZW50IHdvcmtzcGFjZSB3aXRoaW4gdGhlIGdpdmVuIHdpbmRvdy4gQW55IHdvcmtzcGFjZXNcbiAqIGFib3ZlIHRoZSBwYXJlbnQgYXJlIGNsb3NlZC5cbiAqIEByZXR1cm5zIHRoZSB1cGRhdGVkIHdpbmRvd1xuICovIGV4cG9ydCBmdW5jdGlvbiBvcGVuQ2hpbGRXb3Jrc3BhY2VJbldpbmRvdyhvcGVuZWRXaW5kb3csIHBhcmVudFdvcmtzcGFjZU5hbWUsIGNoaWxkV29ya3NwYWNlTmFtZSwgY2hpbGRXb3Jrc3BhY2VQcm9wcykge1xuICAgIGNvbnN0IHsgcmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWUgfSA9IHdvcmtzcGFjZTJTdG9yZS5nZXRTdGF0ZSgpO1xuICAgIGNvbnN0IGNoaWxkV29ya3NwYWNlRGVmID0gcmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWVbY2hpbGRXb3Jrc3BhY2VOYW1lXTtcbiAgICBpZiAoIWNoaWxkV29ya3NwYWNlRGVmKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gd29ya3NwYWNlIG5hbWVkIFwiJHtjaGlsZFdvcmtzcGFjZU5hbWV9XCIgcmVnaXN0ZXJlZGApO1xuICAgIH1cbiAgICBjb25zdCBwYXJlbnRXb3Jrc3BhY2VEZWYgPSByZWdpc3RlcmVkV29ya3NwYWNlc0J5TmFtZVtwYXJlbnRXb3Jrc3BhY2VOYW1lXTtcbiAgICBpZiAoIXBhcmVudFdvcmtzcGFjZURlZikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHdvcmtzcGFjZSBuYW1lZCBcIiR7cGFyZW50V29ya3NwYWNlTmFtZX1cIiByZWdpc3RlcmVkYCk7XG4gICAgfVxuICAgIGlmIChwYXJlbnRXb3Jrc3BhY2VEZWYud2luZG93ICE9PSBjaGlsZFdvcmtzcGFjZURlZi53aW5kb3cpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDaGlsZCB3b3Jrc3BhY2UgJHtjaGlsZFdvcmtzcGFjZU5hbWV9IGRvZXMgbm90IGJlbG9uZyB0byB0aGUgc2FtZSB3b3Jrc3BhY2Ugd2luZG93IGFzIHBhcmVudCB3b3Jrc3BhY2UgJHtwYXJlbnRXb3Jrc3BhY2VOYW1lfWApO1xuICAgIH1cbiAgICBpZiAoY2hpbGRXb3Jrc3BhY2VEZWYud2luZG93ICE9PSBvcGVuZWRXaW5kb3cud2luZG93TmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBvcGVuIGNoaWxkIHdvcmtzcGFjZSAke2NoaWxkV29ya3NwYWNlTmFtZX0gYXMgd2luZG93ICR7Y2hpbGRXb3Jrc3BhY2VEZWYud2luZG93fSBpcyBub3Qgb3BlbmVkYCk7XG4gICAgfVxuICAgIGNvbnN0IHsgb3BlbmVkV29ya3NwYWNlcyB9ID0gb3BlbmVkV2luZG93O1xuICAgIGNvbnN0IHBhcmVudEluZGV4ID0gb3BlbmVkV29ya3NwYWNlcy5maW5kSW5kZXgoKHcpPT53LndvcmtzcGFjZU5hbWUgPT09IHBhcmVudFdvcmtzcGFjZU5hbWUpO1xuICAgIGlmIChwYXJlbnRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgb3BlbiBjaGlsZCB3b3Jrc3BhY2UgJHtjaGlsZFdvcmtzcGFjZU5hbWV9IGZyb20gcGFyZW50IHdvcmtzcGFjZSAke3BhcmVudFdvcmtzcGFjZU5hbWV9IGFzIHRoZSBwYXJlbnQgaXMgbm90IG9wZW5lZCB3aXRoaW4gdGhlIHdvcmtzcGFjZSB3aW5kb3dgKTtcbiAgICB9XG4gICAgLy8gQ2xvc2UgYW55IHdvcmtzcGFjZXMgYWJvdmUgdGhlIHBhcmVudCAoYW5hbG9nb3VzIHRvIGNsb3NlV29ya3NwYWNlJ3Mgc2xpY2UgYmVoYXZpb3IpXG4gICAgY29uc3QgdHJpbW1lZFdvcmtzcGFjZXMgPSBvcGVuZWRXb3Jrc3BhY2VzLnNsaWNlKDAsIHBhcmVudEluZGV4ICsgMSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3BlbmVkV2luZG93LFxuICAgICAgICBvcGVuZWRXb3Jrc3BhY2VzOiBbXG4gICAgICAgICAgICAuLi50cmltbWVkV29ya3NwYWNlcyxcbiAgICAgICAgICAgIG5ld09wZW5lZFdvcmtzcGFjZShjaGlsZFdvcmtzcGFjZU5hbWUsIGNoaWxkV29ya3NwYWNlUHJvcHMpXG4gICAgICAgIF1cbiAgICB9O1xufVxuLyoqXG4gKiBVcGRhdGVzIHRoZSB0aXRsZSBhbmQvb3IgdW5zYXZlZC1jaGFuZ2VzIGZsYWcgb2YgdGhlIHdvcmtzcGFjZSBpbnN0YW5jZSBgdXVpZGAgd2l0aGluIHRoZSBnaXZlbiB3aW5kb3cuXG4gKiBAcmV0dXJucyB0aGUgdXBkYXRlZCB3aW5kb3csIG9yIGBvcGVuZWRXaW5kb3dgIGl0c2VsZiBpZiB0aGUgd29ya3NwYWNlIGlzIG5vdCBpbiB0aGUgd2luZG93IG9yXG4gKiAgIG5vdGhpbmcgY2hhbmdlZC5cbiAqLyBleHBvcnQgZnVuY3Rpb24gdXBkYXRlT3BlbmVkV29ya3NwYWNlSW5XaW5kb3cob3BlbmVkV2luZG93LCB3b3Jrc3BhY2VVdWlkLCBwYXRjaCkge1xuICAgIGNvbnN0IHdvcmtzcGFjZUluZGV4ID0gb3BlbmVkV2luZG93Lm9wZW5lZFdvcmtzcGFjZXMuZmluZEluZGV4KCh3KT0+dy51dWlkID09PSB3b3Jrc3BhY2VVdWlkKTtcbiAgICBpZiAod29ya3NwYWNlSW5kZXggPCAwKSB7XG4gICAgICAgIHJldHVybiBvcGVuZWRXaW5kb3c7XG4gICAgfVxuICAgIGNvbnN0IG9wZW5lZFdvcmtzcGFjZSA9IG9wZW5lZFdpbmRvdy5vcGVuZWRXb3Jrc3BhY2VzW3dvcmtzcGFjZUluZGV4XTtcbiAgICBjb25zdCBwYXRjaGVkS2V5cyA9IE9iamVjdC5rZXlzKHBhdGNoKTtcbiAgICBpZiAocGF0Y2hlZEtleXMuZXZlcnkoKGtleSk9Pm9wZW5lZFdvcmtzcGFjZVtrZXldID09PSBwYXRjaFtrZXldKSkge1xuICAgICAgICByZXR1cm4gb3BlbmVkV2luZG93O1xuICAgIH1cbiAgICBjb25zdCBvcGVuZWRXb3Jrc3BhY2VzID0gW1xuICAgICAgICAuLi5vcGVuZWRXaW5kb3cub3BlbmVkV29ya3NwYWNlc1xuICAgIF07XG4gICAgb3BlbmVkV29ya3NwYWNlc1t3b3Jrc3BhY2VJbmRleF0gPSB7XG4gICAgICAgIC4uLm9wZW5lZFdvcmtzcGFjZSxcbiAgICAgICAgLi4ucGF0Y2hcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLm9wZW5lZFdpbmRvdyxcbiAgICAgICAgb3BlbmVkV29ya3NwYWNlc1xuICAgIH07XG59XG5mdW5jdGlvbiB1cGRhdGVPcGVuZWRXb3Jrc3BhY2Uoc3RhdGUsIHdvcmtzcGFjZVV1aWQsIHBhdGNoKSB7XG4gICAgY29uc3Qgb3BlbmVkV2luZG93SW5kZXggPSBzdGF0ZS5vcGVuZWRXaW5kb3dzLmZpbmRJbmRleCgod2luZG93KT0+d2luZG93Lm9wZW5lZFdvcmtzcGFjZXMuc29tZSgodyk9PncudXVpZCA9PT0gd29ya3NwYWNlVXVpZCkpO1xuICAgIGlmIChvcGVuZWRXaW5kb3dJbmRleCA8IDApIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlOyAvLyBuby1vcCBpZiB0aGUgd29ya3NwYWNlIGlzIG5vdCBvcGVuZWRcbiAgICB9XG4gICAgY29uc3Qgb3BlbmVkV2luZG93ID0gc3RhdGUub3BlbmVkV2luZG93c1tvcGVuZWRXaW5kb3dJbmRleF07XG4gICAgY29uc3QgdXBkYXRlZFdpbmRvdyA9IHVwZGF0ZU9wZW5lZFdvcmtzcGFjZUluV2luZG93KG9wZW5lZFdpbmRvdywgd29ya3NwYWNlVXVpZCwgcGF0Y2gpO1xuICAgIGlmICh1cGRhdGVkV2luZG93ID09PSBvcGVuZWRXaW5kb3cpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlOyAvLyByZXR1cm5pbmcgdGhlIHNhbWUgc3RhdGUgbGV0cyB6dXN0YW5kIHNraXAgbm90aWZ5aW5nIHN1YnNjcmliZXJzXG4gICAgfVxuICAgIGNvbnN0IG9wZW5lZFdpbmRvd3MgPSBbXG4gICAgICAgIC4uLnN0YXRlLm9wZW5lZFdpbmRvd3NcbiAgICBdO1xuICAgIG9wZW5lZFdpbmRvd3Nbb3BlbmVkV2luZG93SW5kZXhdID0gdXBkYXRlZFdpbmRvdztcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgb3BlbmVkV2luZG93c1xuICAgIH07XG59XG5leHBvcnQgY29uc3Qgd29ya3NwYWNlMlN0b3JlQWN0aW9ucyA9IHtcbiAgICBzZXRXaW5kb3dNYXhpbWl6ZWQgKHN0YXRlLCB3aW5kb3dOYW1lLCBtYXhpbWl6ZWQpIHtcbiAgICAgICAgY29uc3Qgb3BlbmVkV2luZG93SW5kZXggPSBzdGF0ZS5vcGVuZWRXaW5kb3dzLmZpbmRJbmRleCgoYSk9PmEud2luZG93TmFtZSA9PT0gd2luZG93TmFtZSk7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd3MgPSBbXG4gICAgICAgICAgICAuLi5zdGF0ZS5vcGVuZWRXaW5kb3dzXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGN1cnJlbnRXaW5kb3cgPSB7XG4gICAgICAgICAgICAuLi5vcGVuZWRXaW5kb3dzW29wZW5lZFdpbmRvd0luZGV4XSxcbiAgICAgICAgICAgIG1heGltaXplZFxuICAgICAgICB9O1xuICAgICAgICBvcGVuZWRXaW5kb3dzW29wZW5lZFdpbmRvd0luZGV4XSA9IGN1cnJlbnRXaW5kb3c7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgIG9wZW5lZFdpbmRvd3NcbiAgICAgICAgfTtcbiAgICB9LFxuICAgIC8vIGhpZGVzIHRoZSBtb3N0IHJlY2VudGx5IG9wZW5lZCB3aW5kb3cgKGFsbCBvdGhlciBvcGVuZWQgd2luZG93cyBhcmUgaW1wbGljaXRseSBoaWRkZW4pXG4gICAgaGlkZVdpbmRvdyAoc3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgaXNNb3N0UmVjZW50bHlPcGVuZWRXaW5kb3dIaWRkZW46IHRydWVcbiAgICAgICAgfTtcbiAgICB9LFxuICAgIHJlc3RvcmVXaW5kb3cgKHN0YXRlLCB3aW5kb3dOYW1lKSB7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd0luZGV4ID0gc3RhdGUub3BlbmVkV2luZG93cy5maW5kSW5kZXgoKGEpPT5hLndpbmRvd05hbWUgPT09IHdpbmRvd05hbWUpO1xuICAgICAgICBjb25zdCBjdXJyZW50V2luZG93ID0gc3RhdGUub3BlbmVkV2luZG93c1tvcGVuZWRXaW5kb3dJbmRleF07XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd3MgPSBbXG4gICAgICAgICAgICAuLi5zdGF0ZS5vcGVuZWRXaW5kb3dzLmZpbHRlcigoXywgaSk9PmkgIT09IG9wZW5lZFdpbmRvd0luZGV4KSxcbiAgICAgICAgICAgIGN1cnJlbnRXaW5kb3dcbiAgICAgICAgXTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgb3BlbmVkV2luZG93cyxcbiAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0sXG4gICAgY2xvc2VXb3Jrc3BhY2UgKHN0YXRlLCB3b3Jrc3BhY2VOYW1lKSB7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd0luZGV4ID0gc3RhdGUub3BlbmVkV2luZG93cy5maW5kSW5kZXgoKHdpbmRvdyk9PndpbmRvdy5vcGVuZWRXb3Jrc3BhY2VzLnNvbWUoKHcpPT53LndvcmtzcGFjZU5hbWUgPT09IHdvcmtzcGFjZU5hbWUpKTtcbiAgICAgICAgaWYgKG9wZW5lZFdpbmRvd0luZGV4IDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlOyAvLyBuby1vcCBpZiB0aGUgd2luZG93IGRvZXMgbm90IGV4aXN0XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgd2luZG93ID0gY2xvc2VXb3Jrc3BhY2VJbldpbmRvdyhzdGF0ZS5vcGVuZWRXaW5kb3dzW29wZW5lZFdpbmRvd0luZGV4XSwgd29ya3NwYWNlTmFtZSk7XG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd3MgPSBbXG4gICAgICAgICAgICAuLi5zdGF0ZS5vcGVuZWRXaW5kb3dzXG4gICAgICAgIF07XG4gICAgICAgIGxldCBoaWRkZW4gPSBzdGF0ZS5pc01vc3RSZWNlbnRseU9wZW5lZFdpbmRvd0hpZGRlbjtcbiAgICAgICAgaWYgKHdpbmRvdyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3Qgd2FzTW9zdFJlY2VudFdpbmRvdyA9IG9wZW5lZFdpbmRvd0luZGV4ID09PSBzdGF0ZS5vcGVuZWRXaW5kb3dzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAvLyBpZiBubyB3b3Jrc3BhY2VzIGxlZnQsIHJlbW92ZSB0aGUgd2luZG93XG4gICAgICAgICAgICBvcGVuZWRXaW5kb3dzLnNwbGljZShvcGVuZWRXaW5kb3dJbmRleCwgMSk7XG4gICAgICAgICAgICAvLyBJZiB3ZSByZW1vdmVkIHRoZSBtb3N0IHJlY2VudCB3aW5kb3cgYW5kIHRoZXJlIGFyZSBzdGlsbCB3aW5kb3dzIGxlZnQsXG4gICAgICAgICAgICAvLyB0aGUgbmV3IG1vc3QgcmVjZW50IHdpbmRvdyBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgICAgIGlmICh3YXNNb3N0UmVjZW50V2luZG93ICYmIG9wZW5lZFdpbmRvd3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGhpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaWYgdGhlcmUgYXJlIHN0aWxsIHdvcmtzcGFjZXMgbGVmdCwganVzdCB1cGRhdGUgdGhlIHdpbmRvd1xuICAgICAgICAgICAgb3BlbmVkV2luZG93c1tvcGVuZWRXaW5kb3dJbmRleF0gPSB3aW5kb3c7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgb3BlbmVkV2luZG93cyxcbiAgICAgICAgICAgIGlzTW9zdFJlY2VudGx5T3BlbmVkV2luZG93SGlkZGVuOiBoaWRkZW5cbiAgICAgICAgfTtcbiAgICB9LFxuICAgIG9wZW5DaGlsZFdvcmtzcGFjZSAoc3RhdGUsIHBhcmVudFdvcmtzcGFjZU5hbWUsIGNoaWxkV29ya3NwYWNlTmFtZSwgY2hpbGRXb3Jrc3BhY2VQcm9wcykge1xuICAgICAgICBjb25zdCBjaGlsZFdvcmtzcGFjZURlZiA9IHN0YXRlLnJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lW2NoaWxkV29ya3NwYWNlTmFtZV07XG4gICAgICAgIGlmICghY2hpbGRXb3Jrc3BhY2VEZWYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gd29ya3NwYWNlIG5hbWVkIFwiJHtjaGlsZFdvcmtzcGFjZU5hbWV9XCIgcmVnaXN0ZXJlZGApO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFzIHRoZSByZXF1ZXN0IHdvcmtzcGFjZSBzaG91bGQgYmUgYSBjaGlsZCB3b3Jrc3BhY2UsIHRoZSBjb3JyZXNwb25kaW5nIHdpbmRvd1xuICAgICAgICAvLyB0byBjb250YWluIHRoZSB3b3Jrc3BhY2Ugc2hvdWxkIGFscmVhZHkgYmUgb3BlbmVkXG4gICAgICAgIGNvbnN0IG9wZW5lZFdpbmRvd0luZGV4ID0gc3RhdGUub3BlbmVkV2luZG93cy5maW5kSW5kZXgoKHdpbmRvdyk9PndpbmRvdy53aW5kb3dOYW1lID09PSBjaGlsZFdvcmtzcGFjZURlZi53aW5kb3cpO1xuICAgICAgICBpZiAob3BlbmVkV2luZG93SW5kZXggPT0gLTEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IG9wZW4gY2hpbGQgd29ya3NwYWNlICR7Y2hpbGRXb3Jrc3BhY2VOYW1lfSBhcyB3aW5kb3cgJHtjaGlsZFdvcmtzcGFjZURlZi53aW5kb3d9IGlzIG5vdCBvcGVuZWRgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcGVuZWRXaW5kb3dzID0gW1xuICAgICAgICAgICAgLi4uc3RhdGUub3BlbmVkV2luZG93c1xuICAgICAgICBdO1xuICAgICAgICBvcGVuZWRXaW5kb3dzW29wZW5lZFdpbmRvd0luZGV4XSA9IG9wZW5DaGlsZFdvcmtzcGFjZUluV2luZG93KHN0YXRlLm9wZW5lZFdpbmRvd3Nbb3BlbmVkV2luZG93SW5kZXhdLCBwYXJlbnRXb3Jrc3BhY2VOYW1lLCBjaGlsZFdvcmtzcGFjZU5hbWUsIGNoaWxkV29ya3NwYWNlUHJvcHMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICBvcGVuZWRXaW5kb3dzXG4gICAgICAgIH07XG4gICAgfSxcbiAgICBzZXRIYXNVbnNhdmVkQ2hhbmdlcyAoc3RhdGUsIHdvcmtzcGFjZVV1aWQsIGhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVPcGVuZWRXb3Jrc3BhY2Uoc3RhdGUsIHdvcmtzcGFjZVV1aWQsIHtcbiAgICAgICAgICAgIGhhc1Vuc2F2ZWRDaGFuZ2VzXG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAgc2V0V29ya3NwYWNlVGl0bGUgKHN0YXRlLCB3b3Jrc3BhY2VVdWlkLCB0aXRsZSkge1xuICAgICAgICByZXR1cm4gdXBkYXRlT3BlbmVkV29ya3NwYWNlKHN0YXRlLCB3b3Jrc3BhY2VVdWlkLCB7XG4gICAgICAgICAgICB0aXRsZVxuICAgICAgICB9KTtcbiAgICB9XG59O1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVdvcmtzcGFjZTJTdG9yZSgpIHtcbiAgICByZXR1cm4gdXNlU3RvcmVXaXRoQWN0aW9ucyh3b3Jrc3BhY2UyU3RvcmUsIHdvcmtzcGFjZTJTdG9yZUFjdGlvbnMpO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSByZWFjdCBDb250ZXh0IGNvbnRhaW5pbmcgcHJvcHMgcGFzc2VkIGludG8gYSB3b3Jrc3BhY2UuXG4gKiBUaGlzIGhvb2sgTVVTVCBiZSBjYWxsZWQgaW5zaWRlIGEgY2hpbGQgb2YgPFdvcmtzcGFjZTI+XG4gKi8gZXhwb3J0IGNvbnN0IHVzZVdvcmtzcGFjZTJDb250ZXh0ID0gKCk9PnVzZUNvbnRleHQoU2luZ2xlU3BhQ29udGV4dCk7XG4vKipcbiAqIEByZXR1cm5zIGEgbGlzdCBvZiByZWdpc3RlcmVkIHdvcmtzcGFjZXMuXG4gKi8gZXhwb3J0IGNvbnN0IGdldFJlZ2lzdGVyZWRXb3Jrc3BhY2UyTmFtZXMgPSAoKT0+e1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh3b3Jrc3BhY2UyU3RvcmUuZ2V0U3RhdGUoKS5yZWdpc3RlcmVkV29ya3NwYWNlc0J5TmFtZSk7XG59O1xuLyoqXG4gKiBSZXR1cm5zIHRoZSB3aWR0aCBhbiBvcGVuZWQgd2luZG93IHJlbmRlcnMgYXQ6IGl0cyBsZWFmIHdvcmtzcGFjZSdzIGB3aWR0aGAsIGZhbGxpbmcgYmFjayB0byB0aGVcbiAqIHdpbmRvdydzIGB3aWR0aGAsIHRoZW4gYCduYXJyb3cnYC4gRXZlcnkgd29ya3NwYWNlIGluIHRoZSB3aW5kb3cgdXNlcyB0aGlzIHdpZHRoIHNvIHRoYXQgYSB3aWRlclxuICogd29ya3NwYWNlIGxvd2VyIGluIHRoZSBzdGFjayBkb2Vzbid0IHNob3cgYmVoaW5kIGEgbmFycm93ZXIgb25lLlxuICovIGV4cG9ydCBmdW5jdGlvbiBnZXRPcGVuZWRXaW5kb3dXaWR0aChvcGVuZWRXaW5kb3csIHJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lLCByZWdpc3RlcmVkV2luZG93c0J5TmFtZSkge1xuICAgIGNvbnN0IGxlYWYgPSBvcGVuZWRXaW5kb3cub3BlbmVkV29ya3NwYWNlc1tvcGVuZWRXaW5kb3cub3BlbmVkV29ya3NwYWNlcy5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBsZWFmV2lkdGggPSBsZWFmID8gcmVnaXN0ZXJlZFdvcmtzcGFjZXNCeU5hbWVbbGVhZi53b3Jrc3BhY2VOYW1lXT8ud2lkdGggOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIGxlYWZXaWR0aCA/PyByZWdpc3RlcmVkV2luZG93c0J5TmFtZVtvcGVuZWRXaW5kb3cud2luZG93TmFtZV0/LndpZHRoID8/ICduYXJyb3cnO1xufVxuZnVuY3Rpb24gbmV3T3BlbmVkV29ya3NwYWNlKHdvcmtzcGFjZU5hbWUsIHdvcmtzcGFjZVByb3BzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgd29ya3NwYWNlTmFtZSxcbiAgICAgICAgcHJvcHM6IHdvcmtzcGFjZVByb3BzID8/IHt9LFxuICAgICAgICBoYXNVbnNhdmVkQ2hhbmdlczogZmFsc2UsXG4gICAgICAgIHV1aWQ6IHV1aWRWNCgpXG4gICAgfTtcbn1cbi8qKlxuICogQnVpbGRzIHRoZSB3aW5kb3cgYW4gYDxFeHBvcnRlZFdvcmtzcGFjZT5gIHN0YXJ0cyB3aXRoOiB0aGUgd29ya3NwYWNlJ3MgcmVhbCByZWdpc3RlcmVkIHdpbmRvd1xuICogKHNvIGBsYXVuY2hDaGlsZFdvcmtzcGFjZWAga2VlcHMgd29ya2luZyksIGNvbnRhaW5pbmcganVzdCB0aGUgcmVxdWVzdGVkIHdvcmtzcGFjZS5cbiAqXG4gKiBSZXR1cm5zIGBudWxsYCB3aGVuIGBuYW1lYCBpcyBub3QgcmVnaXN0ZXJlZCB5ZXQ7IHRoZSBjYWxsZXIgcmVuZGVycyBub3RoaW5nIGFuZCBzZWVkcyBhZ2FpbiBvbmNlXG4gKiB0aGUgd29ya3NwYWNlIHJlZ2lzdGVycywgc2luY2UgcmVnaXN0cmF0aW9uIGNhbiBoYXBwZW4gYWZ0ZXIgdGhlIGNvbXBvbmVudCBtb3VudHMuXG4gKi8gZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUV4cG9ydGVkV29ya3NwYWNlV2luZG93KG5hbWUsIHdvcmtzcGFjZVByb3BzLCB3aW5kb3dQcm9wcykge1xuICAgIGNvbnN0IHdvcmtzcGFjZURlZiA9IHdvcmtzcGFjZTJTdG9yZS5nZXRTdGF0ZSgpLnJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lW25hbWVdO1xuICAgIGlmICghd29ya3NwYWNlRGVmKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICB3aW5kb3dOYW1lOiB3b3Jrc3BhY2VEZWYud2luZG93LFxuICAgICAgICBvcGVuZWRXb3Jrc3BhY2VzOiBbXG4gICAgICAgICAgICBuZXdPcGVuZWRXb3Jrc3BhY2UobmFtZSwgd29ya3NwYWNlUHJvcHMpXG4gICAgICAgIF0sXG4gICAgICAgIHByb3BzOiB3aW5kb3dQcm9wcyA/PyBudWxsLFxuICAgICAgICBtYXhpbWl6ZWQ6IGZhbHNlXG4gICAgfTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VDb250ZXh0IiwiU2luZ2xlU3BhQ29udGV4dCIsInY0IiwidXVpZFY0IiwiZ2V0R3JvdXBCeVdpbmRvd05hbWUiLCJnZXRPcGVuZWRXaW5kb3dJbmRleEJ5V29ya3NwYWNlIiwiZ2V0V2luZG93QnlXb3Jrc3BhY2VOYW1lIiwid29ya3NwYWNlMlN0b3JlIiwidXNlU3RvcmVXaXRoQWN0aW9ucyIsInNoYWxsb3dFcXVhbCIsInNob3dNb2RhbCIsImxhdW5jaFdvcmtzcGFjZUdyb3VwMiIsImdyb3VwTmFtZSIsImdyb3VwUHJvcHMiLCJvcGVuZWRHcm91cCIsImFyZVByb3BzQ29tcGF0aWJsZSIsIm9rVG9DbG9zZVdvcmtzcGFjZXMiLCJwcm9tcHRGb3JDbG9zaW5nV29ya3NwYWNlcyIsInN0YXRlIiwiY2xvc2VXb3Jrc3BhY2VHcm91cDIiLCJkaXNjYXJkVW5zYXZlZENoYW5nZXMiLCJvcGVuZWRXaW5kb3dzIiwibGF1bmNoV29ya3NwYWNlMiIsIndvcmtzcGFjZU5hbWUiLCJ3b3Jrc3BhY2VQcm9wcyIsIndpbmRvd1Byb3BzIiwic3RvcmVTdGF0ZSIsIkVycm9yIiwid2luZG93RGVmIiwid2luZG93TmFtZSIsImdyb3VwRGVmIiwib3BlbmVkV2luZG93SW5kZXgiLCJpc1dpbmRvd0FscmVhZHlPcGVuZWQiLCJuZXdPcGVuZWRXb3Jrc3BhY2UiLCJvcGVuZWRXaW5kb3ciLCJpc01vc3RSZWNlbnRseU9wZW5lZFdpbmRvd0hpZGRlbiIsIm9wZW5lZFdvcmtzcGFjZXMiLCJvcGVuZWRXb3Jrc3BhY2UiLCJ3Iiwid29ya3NwYWNlMlN0b3JlQWN0aW9ucyIsIl8iLCJpIiwiYSIsImIiLCJnZXRBZmZlY3RlZFdvcmtzcGFjZXNJbldpbmRvdyIsIm9ubHlVcFRvVGhpc1dvcmtzcGFjZSIsInJldCIsInNob3dDbG9zZVByb21wdCIsImFmZmVjdGVkV29ya3NwYWNlcyIsIlByb21pc2UiLCJyZXNvbHZlIiwiZGlzcG9zZSIsIndvcmtzcGFjZSIsInByb21wdFJlYXNvbiIsIndpbmRvdyIsIndpbmRvd3NUb0Nsb3NlIiwicHJvbXB0Rm9yQ2xvc2luZ1dvcmtzcGFjZXNJbldpbmRvdyIsInVwVG9Xb3Jrc3BhY2VOYW1lIiwiY2xvc2VXb3Jrc3BhY2VJbldpbmRvdyIsIndvcmtzcGFjZUluZGV4Iiwib3BlbkNoaWxkV29ya3NwYWNlSW5XaW5kb3ciLCJwYXJlbnRXb3Jrc3BhY2VOYW1lIiwiY2hpbGRXb3Jrc3BhY2VOYW1lIiwiY2hpbGRXb3Jrc3BhY2VQcm9wcyIsInJlZ2lzdGVyZWRXb3Jrc3BhY2VzQnlOYW1lIiwiY2hpbGRXb3Jrc3BhY2VEZWYiLCJwYXJlbnRXb3Jrc3BhY2VEZWYiLCJwYXJlbnRJbmRleCIsInRyaW1tZWRXb3Jrc3BhY2VzIiwidXBkYXRlT3BlbmVkV29ya3NwYWNlSW5XaW5kb3ciLCJ3b3Jrc3BhY2VVdWlkIiwicGF0Y2giLCJwYXRjaGVkS2V5cyIsIk9iamVjdCIsImtleSIsInVwZGF0ZU9wZW5lZFdvcmtzcGFjZSIsInVwZGF0ZWRXaW5kb3ciLCJtYXhpbWl6ZWQiLCJjdXJyZW50V2luZG93IiwiaGlkZGVuIiwid2FzTW9zdFJlY2VudFdpbmRvdyIsImhhc1Vuc2F2ZWRDaGFuZ2VzIiwidGl0bGUiLCJ1c2VXb3Jrc3BhY2UyU3RvcmUiLCJ1c2VXb3Jrc3BhY2UyQ29udGV4dCIsImdldFJlZ2lzdGVyZWRXb3Jrc3BhY2UyTmFtZXMiLCJnZXRPcGVuZWRXaW5kb3dXaWR0aCIsInJlZ2lzdGVyZWRXaW5kb3dzQnlOYW1lIiwibGVhZiIsImxlYWZXaWR0aCIsInVuZGVmaW5lZCIsImNyZWF0ZUV4cG9ydGVkV29ya3NwYWNlV2luZG93IiwibmFtZSIsIndvcmtzcGFjZURlZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFtQztBQUNpQjtBQUNoQjtBQUN1RztBQUM1RTtBQUNiO0FBQ0g7QUFDL0M7Ozs7Ozs7Ozs7OztDQVlDLEdBQVUsZUFBZVcsc0JBQXNCQyxTQUFTLEVBQUVDLFVBQVU7SUFDakUsTUFBTSxFQUFFQyxXQUFXLEVBQUUsR0FBR1AsaUVBQXdCO0lBQ2hELElBQUlPLGFBQWE7UUFDYixJQUFJQSxZQUFZLFNBQVMsS0FBS0YsYUFBYSxDQUFDRyxtQkFBbUJELFlBQVksS0FBSyxFQUFFRCxhQUFhO1lBQzNGLE1BQU1HLHNCQUFzQixNQUFNQywyQkFBMkI7Z0JBQ3pELFFBQVE7Z0JBQ1IsVUFBVTtZQUNkO1lBQ0EsSUFBSSxDQUFDRCxxQkFBcUI7Z0JBQ3RCLE9BQU87WUFDWDtRQUNKLDREQUE0RDtRQUM1RCxPQUFPO1lBQ0gsa0RBQWtEO1lBQ2xELE9BQU87UUFDWDtJQUNKO0lBQ0FULGlFQUF3QixDQUFDLENBQUNXLFFBQVM7WUFDM0IsR0FBR0EsS0FBSztZQUNSLGFBQWE7Z0JBQ1ROO2dCQUNBLE9BQU9DO1lBQ1g7WUFDQSxlQUFlLEVBQUU7UUFDckI7SUFDSixPQUFPO0FBQ1g7QUFDQTs7Ozs7Ozs7Q0FRQyxHQUFVLGVBQWVNLHFCQUFxQkMscUJBQXFCO0lBQ2hFLE1BQU1GLFFBQVFYLGlFQUF3QjtJQUN0QyxNQUFNLEVBQUVPLFdBQVcsRUFBRU8sYUFBYSxFQUFFLEdBQUdIO0lBQ3ZDLElBQUlKLGFBQWE7UUFDYixJQUFJTyxjQUFjLE1BQU0sR0FBRyxH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\n//# sourceURL=webpack-internal:///../../framework/esm-styleguide/dist/workspaces2/workspace2.js\n\n}");
870
870
 
871
871
  },
872
872
  "../../../node_modules/@internationalized/date/dist/BuddhistCalendar.mjs"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
@@ -4696,7 +4696,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webp
4696
4696
  },
4697
4697
  "../../framework/esm-framework/dist/internal.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
4698
4698
  "use strict";
4699
- eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n ActionMenuButton2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionMenuButton2),\n ActionableNotificationComponent: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionableNotificationComponent),\n ActivityIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActivityIcon),\n AddIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AddIcon),\n AllergiesIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AllergiesIcon),\n AppointmentsAltPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AppointmentsAltPictogram),\n AppointmentsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AppointmentsPictogram),\n ArrowDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowDownIcon),\n ArrowLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowLeftIcon),\n ArrowRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowRightIcon),\n ArrowUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowUpIcon),\n Assessment1Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Assessment1Pictogram),\n Assessment2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Assessment2Pictogram),\n AttachmentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AttachmentIcon),\n BabyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.BabyIcon),\n BloodBankPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.BloodBankPictogram),\n Breakpoint: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Breakpoint),\n CalendarHeatMapIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CalendarHeatMapIcon),\n CalendarIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CalendarIcon),\n CardHeader: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CardHeader),\n CardiologyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CardiologyPictogram),\n CaretDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretDownIcon),\n CaretLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretLeftIcon),\n CaretRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretRightIcon),\n CaretUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretUpIcon),\n ChartAverageIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChartAverageIcon),\n ChartLineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChartLineIcon),\n CheckmarkFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CheckmarkFilledIcon),\n CheckmarkOutlineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CheckmarkOutlineIcon),\n ChemistryIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChemistryIcon),\n ChevronDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronDownIcon),\n ChevronLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronLeftIcon),\n ChevronRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronRightIcon),\n ChevronUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronUpIcon),\n CloseFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseFilledIcon),\n CloseIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseIcon),\n CloseOutlineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseOutlineIcon),\n CohortsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CohortsPictogram),\n ComponentContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ComponentContext),\n ConceptDictionaryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ConceptDictionaryPictogram),\n ConditionsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ConditionsIcon),\n ConfigurableLink: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ConfigurableLink),\n CtScanPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CtScanPictogram),\n CustomOverflowMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CustomOverflowMenu),\n CustomOverflowMenuItem: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CustomOverflowMenuItem),\n DashboardExtension: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DashboardExtension),\n DataEntryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DataEntryPictogram),\n DentistryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DentistryPictogram),\n DiagnosisTags: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DiagnosisTags),\n DigitalTrustPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DigitalTrustPictogram),\n DocumentAttachmentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DocumentAttachmentIcon),\n DocumentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DocumentIcon),\n DownloadIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DownloadIcon),\n DrugOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DrugOrderIcon),\n EditIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EditIcon),\n EmergencyDepartmentPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmergencyDepartmentPictogram),\n EmptyCard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmptyCard),\n EmptyCardIllustration: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmptyCardIllustration),\n ErrorCard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ErrorCard),\n ErrorState: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ErrorState),\n EventScheduleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EventScheduleIcon),\n EventsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EventsIcon),\n ExportedWorkspace: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ExportedWorkspace),\n Extension: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.Extension),\n ExtensionSlot: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ExtensionSlot),\n FacilityPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.FacilityPictogram),\n GenderFemaleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderFemaleIcon),\n GenderMaleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderMaleIcon),\n GenderOtherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderOtherIcon),\n GenderUnknownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderUnknownIcon),\n GenericOrderTypeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenericOrderTypeIcon),\n GeriatricsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GeriatricsPictogram),\n GroupAccessIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GroupAccessIcon),\n GroupIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GroupIcon),\n GynaecologyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GynaecologyPictogram),\n HomePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.HomePictogram),\n HospitalBedIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.HospitalBedIcon),\n Icon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Icon),\n ImageMedicalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ImageMedicalIcon),\n InPatientPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InPatientPictogram),\n InformationFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationFilledIcon),\n InformationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationIcon),\n InformationSquareIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationSquareIcon),\n InventoryManagementIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InventoryManagementIcon),\n LabOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LabOrderIcon),\n LaboratoryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LaboratoryPictogram),\n Labs2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Labs2Pictogram),\n LeftNavMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LeftNavMenu),\n ListCheckedIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ListCheckedIcon),\n LocationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LocationIcon),\n LocationPicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LocationPicker),\n MaterialOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaterialOrderIcon),\n MaximizeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaximizeIcon),\n MaybeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaybeIcon),\n MaybePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaybePictogram),\n MedicationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MedicationIcon),\n MessageQueueIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MessageQueueIcon),\n MetadataExportPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MetadataExportPictogram),\n MicroscopeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MicroscopeIcon),\n MobileCheckIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MobileCheckIcon),\n MoneyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MoneyIcon),\n MotherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MotherIcon),\n MovementIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MovementIcon),\n Notification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Notification),\n NumericObservation: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.NumericObservation),\n ObstetricsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ObstetricsPictogram),\n OpenmrsAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.OpenmrsAppContext),\n OpenmrsDatePicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OpenmrsDatePicker),\n OpenmrsDateRangePicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OpenmrsDateRangePicker),\n OpenmrsFetchError: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.OpenmrsFetchError),\n OverflowMenuHorizontalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OverflowMenuHorizontalIcon),\n OverflowMenuVerticalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OverflowMenuVerticalIcon),\n PageHeader: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PageHeader),\n PageHeaderContent: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PageHeaderContent),\n Pagination: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pagination),\n PasswordIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PasswordIcon),\n PatientBannerActionsMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerActionsMenu),\n PatientBannerContactDetails: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerContactDetails),\n PatientBannerPatientIdentifiers: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerPatientIdentifiers),\n PatientBannerPatientInfo: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerPatientInfo),\n PatientBannerToggleContactDetailsButton: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerToggleContactDetailsButton),\n PatientDocumentsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientDocumentsPictogram),\n PatientListsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientListsPictogram),\n PatientPhoto: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientPhoto),\n PatientSearchPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientSearchPictogram),\n PatientsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientsPictogram),\n PaymentsDeskPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PaymentsDeskPictogram),\n PedestrianFamilyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PedestrianFamilyIcon),\n PenIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PenIcon),\n Pharmacy2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pharmacy2Pictogram),\n PharmacyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PharmacyPictogram),\n Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pictogram),\n PrinterIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PrinterIcon),\n ProcedureOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ProcedureOrderIcon),\n ProgramsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ProgramsIcon),\n RadiologyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RadiologyIcon),\n ReferralOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ReferralOrderIcon),\n RegistrationPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RegistrationPictogram),\n RenderIfValueIsTruthy: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.RenderIfValueIsTruthy),\n RenewIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RenewIcon),\n ReportIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ReportIcon),\n ReportsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ReportsPictogram),\n ResetIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ResetIcon),\n ResponsiveWrapper: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ResponsiveWrapper),\n SaveIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SaveIcon),\n SearchIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SearchIcon),\n ServiceQueuesPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ServiceQueuesPictogram),\n SettingsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SettingsIcon),\n ShoppingCartAddItemIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartAddItemIcon),\n ShoppingCartArrowDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartArrowDownIcon),\n ShoppingCartIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartIcon),\n Snackbar: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Snackbar),\n StickyNoteAddIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.StickyNoteAddIcon),\n StockManagementPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.StockManagementPictogram),\n SwitcherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SwitcherIcon),\n SyringeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SyringeIcon),\n SystemAdministrationPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SystemAdministrationPictogram),\n TableBatchActions: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableBatchActions),\n TableIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableIcon),\n TableOfContentsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableOfContentsIcon),\n TimeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TimeIcon),\n Toast: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Toast),\n ToolsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ToolsIcon),\n TransferPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TransferPictogram),\n TranslateIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TranslateIcon),\n TrashCanIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TrashCanIcon),\n TreeViewAltIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TreeViewAltIcon),\n TriagePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TriagePictogram),\n TwoFactorAuthenticationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TwoFactorAuthenticationIcon),\n Type: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.Type),\n UserAvatarIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserAvatarIcon),\n UserFollowIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserFollowIcon),\n UserHasAccess: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.UserHasAccess),\n UserIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserIcon),\n UserXrayIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserXrayIcon),\n ViewIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ViewIcon),\n ViewOffIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ViewOffIcon),\n VisitMode: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.VisitMode),\n VisitStatus: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.VisitStatus),\n WarningIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.WarningIcon),\n Workspace2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Workspace2),\n XrayPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.XrayPictogram),\n addImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.addImportMapOverride),\n addRouteMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.addRouteMapOverride),\n age: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.age),\n ageAsDuration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.ageAsDuration),\n attach: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.attach),\n attachmentUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.attachmentUrl),\n backendDependencies: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.backendDependencies),\n batchExtensionUpdates: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.batchExtensionUpdates),\n canAccessStorage: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.canAccessStorage),\n cleanupObsoleteFeatureFlags: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.cleanupObsoleteFeatureFlags),\n clearConfigDerivationError: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.clearConfigDerivationError),\n clearConfigErrors: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.clearConfigErrors),\n clearCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.clearCurrentUser),\n clearHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.clearHistory),\n closeWorkspaceGroup2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.closeWorkspaceGroup2),\n closeWorkspaceInWindow: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.closeWorkspaceInWindow),\n compile: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.compile),\n configExtensionStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.configExtensionStore),\n configInternalStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.configInternalStore),\n convertToLocaleCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.convertToLocaleCalendar),\n createAttachment: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.createAttachment),\n createDashboard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.createDashboard),\n createErrorHandler: () => (/* reexport safe */ _openmrs_esm_error_handling__rspack_import_4.createErrorHandler),\n createExportedWorkspaceWindow: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.createExportedWorkspaceWindow),\n createGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.createGlobalStore),\n createLocalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.createLocalStore),\n createParcelMounter: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.createParcelMounter),\n createUseStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.createUseStore),\n defaultVisitCustomRepresentation: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.defaultVisitCustomRepresentation),\n defineConfigSchema: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.defineConfigSchema),\n defineExtensionConfigSchema: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.defineExtensionConfigSchema),\n deleteAttachmentPermanently: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.deleteAttachmentPermanently),\n detach: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.detach),\n detachAll: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.detachAll),\n dispatchActionableNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchActionableNotificationShown),\n dispatchNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchNotificationShown),\n dispatchSnackbarShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchSnackbarShown),\n dispatchToastShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchToastShown),\n displayName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.displayName),\n duration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.duration),\n enableImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.enableImportMapOverride),\n esmStyleGuideSchema: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.esmStyleGuideSchema),\n evaluate: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluate),\n evaluateAsBoolean: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsBoolean),\n evaluateAsBooleanAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsBooleanAsync),\n evaluateAsNumber: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsNumber),\n evaluateAsNumberAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsNumberAsync),\n evaluateAsType: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsType),\n evaluateAsTypeAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsTypeAsync),\n evaluateAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsync),\n extractVariableNames: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.extractVariableNames),\n featureFlagsStore: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.featureFlagsStore),\n fetchCurrentPatient: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.fetchCurrentPatient),\n fhirBaseUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.fhirBaseUrl),\n filterBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.filterBreadcrumbs),\n finishRegisteringAllApps: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.finishRegisteringAllApps),\n fireOpenmrsEvent: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.fireOpenmrsEvent),\n formatDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDate),\n formatDatetime: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDatetime),\n formatDuration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDuration),\n formatDurationBetween: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDurationBetween),\n formatPartialDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatPartialDate),\n formatPatientName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatPatientName),\n formatTime: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatTime),\n formattedName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formattedName),\n getAssignedExtensions: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getAssignedExtensions),\n getAsyncExtensionLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getAsyncExtensionLifecycle),\n getAsyncLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getAsyncLifecycle),\n getAttachmentByUuid: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachmentByUuid),\n getAttachments: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachments),\n getAttachmentsUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachmentsUrl),\n getBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getBreadcrumbs),\n getBreadcrumbsFor: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getBreadcrumbsFor),\n getCandidateExtensions: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getCandidateExtensions),\n getConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getConfig),\n getConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getConfigStore),\n getCoreTranslation: () => (/* reexport safe */ _openmrs_esm_translations__rspack_import_14.getCoreTranslation),\n getCurrentImportMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentImportMap),\n getCurrentPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentPageMap),\n getCurrentRouteMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentRouteMap),\n getCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getCurrentUser),\n getDefaultCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getDefaultCalendar),\n getDefaultsFromConfigSchema: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getDefaultsFromConfigSchema),\n getDynamicOfflineDataEntries: () => (/* reexport safe */ _deprecated_js__rspack_import_16.getDynamicOfflineDataEntries),\n getExtensionConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfig),\n getExtensionConfigFromExtensionSlotStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfigFromExtensionSlotStore),\n getExtensionConfigFromStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfigFromStore),\n getExtensionInternalStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionInternalStore),\n getExtensionNameFromId: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionNameFromId),\n getExtensionRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRegistration),\n getExtensionRegistrationFrom: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRegistrationFrom),\n getExtensionRenderingsStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRenderingsStore),\n getExtensionSlotConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotConfig),\n getExtensionSlotConfigFromStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotConfigFromStore),\n getExtensionSlotsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotsConfigStore),\n getExtensionStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionStore),\n getExtensionsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionsConfigStore),\n getFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.getFeatureFlag),\n getFhirServerPaginationHandlers: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getFhirServerPaginationHandlers),\n getGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.getGlobalStore),\n getGroupByWindowName: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getGroupByWindowName),\n getHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getHistory),\n getImportMapDefaultMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapDefaultMap),\n getImportMapDisabledOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapDisabledOverrides),\n getImportMapNextPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapNextPageMap),\n getImportMapOverrideMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapOverrideMap),\n getLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getLifecycle),\n getLocale: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getLocale),\n getLocaleDisplayName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getLocaleDisplayName),\n getLocations: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getLocations),\n getLoggedInUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getLoggedInUser),\n getModalRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getModalRegistration),\n getOpenedWindowIndexByWorkspace: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getOpenedWindowIndexByWorkspace),\n getPatientName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getPatientName),\n getRegisteredWorkspace2Names: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.getRegisteredWorkspace2Names),\n getRouteMapDefaultMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapDefaultMap),\n getRouteMapNextPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapNextPageMap),\n getRouteMapOverrideMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapOverrideMap),\n getSessionLocation: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getSessionLocation),\n getSessionStore: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getSessionStore),\n getSyncLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getSyncLifecycle),\n getSynchronizationItems: () => (/* reexport safe */ _deprecated_js__rspack_import_16.getSynchronizationItems),\n getTranslationOverrides: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getTranslationOverrides),\n getVisitStore: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitStore),\n getVisitTypes: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitTypes),\n getVisitsForPatient: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitsForPatient),\n getWindowByWorkspaceName: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getWindowByWorkspaceName),\n goBackInHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.goBackInHistory),\n iconIds: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.iconIds),\n implementerToolsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.implementerToolsConfigStore),\n importDynamic: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.importDynamic),\n inRange: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.inRange),\n integrateBreakpoints: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.integrateBreakpoints),\n interpolateString: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.interpolateString),\n interpolateUrl: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.interpolateUrl),\n invalidateImplementerToolsConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.invalidateImplementerToolsConfig),\n isDesktop: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.isDesktop),\n isDevEnabled: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.isDevEnabled),\n isImportMapOverrideDisabled: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.isImportMapOverrideDisabled),\n isOmrsDateStrict: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isOmrsDateStrict),\n isOmrsDateToday: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isOmrsDateToday),\n isOpenmrsAppRoutes: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.isOpenmrsAppRoutes),\n isOpenmrsRoutes: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.isOpenmrsRoutes),\n isUrl: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.isUrl),\n isUrlWithTemplateParameters: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.isUrlWithTemplateParameters),\n isVersionSatisfied: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isVersionSatisfied),\n jsep: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.jsep),\n launchWorkspace2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspace2),\n launchWorkspaceGroup2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspaceGroup2),\n leftNavStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.leftNavStore),\n loadLifeCycles: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.loadLifeCycles),\n logout: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.logout),\n makeUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.makeUrl),\n matchLocale: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.matchLocale),\n messageOmrsServiceWorker: () => (/* reexport safe */ _deprecated_js__rspack_import_16.messageOmrsServiceWorker),\n navigate: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.navigate),\n oneOf: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.oneOf),\n openChildWorkspaceInWindow: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.openChildWorkspaceInWindow),\n openmrsComponentDecorator: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.openmrsComponentDecorator),\n openmrsFetch: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.openmrsFetch),\n parseDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.parseDate),\n parseDateInput: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.parseDateInput),\n pictogramIds: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.pictogramIds),\n preloadImport: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.preloadImport),\n processConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.processConfig),\n promptForClosingWorkspaces: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.promptForClosingWorkspaces),\n promptForClosingWorkspacesInWindow: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.promptForClosingWorkspacesInWindow),\n provide: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.provide),\n recordConfigDerivationError: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.recordConfigDerivationError),\n refetchCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.refetchCurrentUser),\n registerApp: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.registerApp),\n registerBreadcrumb: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.registerBreadcrumb),\n registerBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.registerBreadcrumbs),\n registerDefaultCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.registerDefaultCalendar),\n registerExtension: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtension),\n registerExtensionRendering: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtensionRendering),\n registerExtensionSlot: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtensionSlot),\n registerFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.registerFeatureFlag),\n registerGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.registerGlobalStore),\n registerModal: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerModal),\n registerModuleLoad: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerModuleLoad),\n registerModuleWithConfigSystem: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerModuleWithConfigSystem),\n registerTranslationNamespace: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerTranslationNamespace),\n registerWorkspaceGroups2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaceGroups2),\n registerWorkspaceWindows2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaceWindows2),\n registerWorkspaces2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaces2),\n removeImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.removeImportMapOverride),\n removeRouteMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.removeRouteMapOverride),\n renderActionableNotifications: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderActionableNotifications),\n renderExtension: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.renderExtension),\n renderInlineNotifications: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderInlineNotifications),\n renderLoadingSpinner: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderLoadingSpinner),\n renderParcel: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.renderParcel),\n renderSnackbars: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderSnackbars),\n renderToasts: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderToasts),\n renderWorkspaceWindowsAndMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderWorkspaceWindowsAndMenu),\n reportError: () => (/* reexport safe */ _openmrs_esm_error_handling__rspack_import_4.reportError),\n reset: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.reset),\n resetConfigSystem: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.resetConfigSystem),\n resetImportMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.resetImportMapOverrides),\n resetRouteMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.resetRouteMapOverrides),\n restBaseUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.restBaseUrl),\n retry: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.retry),\n saveVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.saveVisit),\n scheduleRecomputation: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.scheduleRecomputation),\n selectPreferredName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.selectPreferredName),\n sessionEndpoint: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.sessionEndpoint),\n sessionStore: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.sessionStore),\n setCurrentVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.setCurrentVisit),\n setFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.setFeatureFlag),\n setImplementerToolsConfigRecomputer: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.setImplementerToolsConfigRecomputer),\n setLeftNav: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.setLeftNav),\n setSessionLocale: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setSessionLocale),\n setSessionLocation: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setSessionLocation),\n setUserLanguage: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setUserLanguage),\n setUserProperties: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setUserProperties),\n setupApiModule: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setupApiModule),\n setupDynamicOfflineDataHandler: () => (/* reexport safe */ _deprecated_js__rspack_import_16.setupDynamicOfflineDataHandler),\n setupHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.setupHistory),\n setupImportMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.setupImportMapOverrides),\n setupModals: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.setupModals),\n setupOfflineSync: () => (/* reexport safe */ _deprecated_js__rspack_import_16.setupOfflineSync),\n setupRouteMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.setupRouteMapOverrides),\n shallowEqual: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.shallowEqual),\n showActionableNotification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showActionableNotification),\n showModal: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showModal),\n showNotification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showNotification),\n showSnackbar: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showSnackbar),\n showToast: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showToast),\n slugify: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.slugify),\n subscribeActionableNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeActionableNotificationShown),\n subscribeNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeNotificationShown),\n subscribeOpenmrsEvent: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.subscribeOpenmrsEvent),\n subscribePrecacheStaticDependencies: () => (/* reexport safe */ _deprecated_js__rspack_import_16.subscribePrecacheStaticDependencies),\n subscribeSnackbarShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeSnackbarShown),\n subscribeTo: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.subscribeTo),\n subscribeToFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.subscribeToFeatureFlag),\n subscribeToastShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeToastShown),\n temporaryConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.temporaryConfigStore),\n toDateObjectStrict: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toDateObjectStrict),\n toLanguageTag: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toLanguageTag),\n toLocationObject: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.toLocationObject),\n toOmrsIsoString: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toOmrsIsoString),\n toVisitTypeObject: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.toVisitTypeObject),\n translateFrom: () => (/* reexport safe */ _openmrs_esm_translations__rspack_import_14.translateFrom),\n tryRegisterExtension: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.tryRegisterExtension),\n unregisterExtensionRendering: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.unregisterExtensionRendering),\n unsetLeftNav: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.unsetLeftNav),\n updateInternalExtensionStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.updateInternalExtensionStore),\n updateOpenedWorkspaceInWindow: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.updateOpenedWorkspaceInWindow),\n updateVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.updateVisit),\n useAbortController: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAbortController),\n useAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAppContext),\n useAssignedExtensionIds: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAssignedExtensionIds),\n useAssignedExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAssignedExtensions),\n useAttachments: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAttachments),\n useBodyScrollLock: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useBodyScrollLock),\n useCandidateExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useCandidateExtensions),\n useConfig: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useConfig),\n useConnectedExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useConnectedExtensions),\n useConnectivity: () => (/* reexport safe */ _deprecated_js__rspack_import_16.useConnectivity),\n useCustomOverflowMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useCustomOverflowMenu),\n useDebounce: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useDebounce),\n useDefineAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useDefineAppContext),\n useEmrConfiguration: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useEmrConfiguration),\n useExtensionContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionContext),\n useExtensionInternalStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionInternalStore),\n useExtensionSlot: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlot),\n useExtensionSlotMeta: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlotMeta),\n useExtensionSlotStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlotStore),\n useExtensionStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionStore),\n useFeatureFlag: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFeatureFlag),\n useFhirFetchAll: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirFetchAll),\n useFhirInfinite: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirInfinite),\n useFhirPagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirPagination),\n useForceUpdate: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useForceUpdate),\n useLayoutType: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLayoutType),\n useLeftNav: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLeftNav),\n useLeftNavStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLeftNavStore),\n useLocations: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLocations),\n useOnClickOutside: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOnClickOutside),\n useOnVisible: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOnVisible),\n useOpenmrsFetchAll: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsFetchAll),\n useOpenmrsInfinite: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsInfinite),\n useOpenmrsPagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsPagination),\n useOpenmrsSWR: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsSWR),\n usePagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePagination),\n usePaginationInfo: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePaginationInfo),\n usePatient: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePatient),\n usePatientPhoto: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.usePatientPhoto),\n usePrimaryIdentifierCode: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePrimaryIdentifierCode),\n useRenderableExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useRenderableExtensions),\n useSession: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useSession),\n useShallowStableValue: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useShallowStableValue),\n useStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useStore),\n useStoreWithActions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useStoreWithActions),\n useVisit: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisit),\n useVisitContextStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisitContextStore),\n useVisitTypes: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisitTypes),\n useWorkspace2Context: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useWorkspace2Context),\n useWorkspace2Store: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useWorkspace2Store),\n userHasAccess: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.userHasAccess),\n validator: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.validator),\n validators: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.validators),\n verifyTotpCode: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.verifyTotpCode),\n visitTypesUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.visitTypesUrl),\n workspace2Store: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.workspace2Store),\n workspace2StoreActions: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.workspace2StoreActions)\n});\n/* import */ var _openmrs_esm_api__rspack_import_0 = __webpack_require__(\"../../framework/esm-api/dist/index.js\");\n/* import */ var _openmrs_esm_config__rspack_import_1 = __webpack_require__(\"../../framework/esm-config/dist/index.js\");\n/* import */ var _openmrs_esm_dynamic_loading__rspack_import_2 = __webpack_require__(\"../../framework/esm-dynamic-loading/dist/index.js\");\n/* import */ var _openmrs_esm_emr_api__rspack_import_3 = __webpack_require__(\"../../framework/esm-emr-api/dist/index.js\");\n/* import */ var _openmrs_esm_error_handling__rspack_import_4 = __webpack_require__(\"../../framework/esm-error-handling/dist/index.js\");\n/* import */ var _openmrs_esm_expression_evaluator__rspack_import_5 = __webpack_require__(\"../../framework/esm-expression-evaluator/dist/index.js\");\n/* import */ var _openmrs_esm_extensions__rspack_import_6 = __webpack_require__(\"../../framework/esm-extensions/dist/index.js\");\n/* import */ var _openmrs_esm_feature_flags__rspack_import_7 = __webpack_require__(\"../../framework/esm-feature-flags/dist/index.js\");\n/* import */ var _openmrs_esm_globals__rspack_import_8 = __webpack_require__(\"../../framework/esm-globals/dist/index.js\");\n/* import */ var _openmrs_esm_navigation__rspack_import_9 = __webpack_require__(\"../../framework/esm-navigation/dist/index.js\");\n/* import */ var _openmrs_esm_react_utils__rspack_import_10 = __webpack_require__(\"../../framework/esm-react-utils/dist/index.js\");\n/* import */ var _openmrs_esm_routes__rspack_import_11 = __webpack_require__(\"../../framework/esm-routes/dist/index.js\");\n/* import */ var _openmrs_esm_state__rspack_import_12 = __webpack_require__(\"../../framework/esm-state/dist/index.js\");\n/* import */ var _openmrs_esm_styleguide_src_internal__rspack_import_13 = __webpack_require__(\"../../framework/esm-styleguide/dist/internal.js\");\n/* import */ var _openmrs_esm_translations__rspack_import_14 = __webpack_require__(\"../../framework/esm-translations/dist/index.js\");\n/* import */ var _openmrs_esm_utils__rspack_import_15 = __webpack_require__(\"../../framework/esm-utils/dist/index.js\");\n/* import */ var _deprecated_js__rspack_import_16 = __webpack_require__(\"../../framework/esm-framework/dist/deprecated.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1mcmFtZXdvcmsvZGlzdC9pbnRlcm5hbC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1mcmFtZXdvcmsvZGlzdC9pbnRlcm5hbC5qcz85YTgyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLWNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1keW5hbWljLWxvYWRpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tZW1yLWFwaVwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1lcnJvci1oYW5kbGluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1leHByZXNzaW9uLWV2YWx1YXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1leHRlbnNpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLWZlYXR1cmUtZmxhZ3NcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tZ2xvYmFsc1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1uYXZpZ2F0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLXJlYWN0LXV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLXJvdXRlc1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1zdGF0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1zdHlsZWd1aWRlL3NyYy9pbnRlcm5hbFwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS10cmFuc2xhdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tdXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlcHJlY2F0ZWQuanNcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBaUM7QUFDRztBQUNTO0FBQ1I7QUFDTztBQUNNO0FBQ1Y7QUFDRztBQUNOO0FBQ0c7QUFDQztBQUNMO0FBQ0Q7QUFDa0I7QUFDWDtBQUNQO0FBQ0gifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-framework/dist/internal.js\n\n}");
4699
+ eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n ActionMenuButton2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionMenuButton2),\n ActionableNotificationComponent: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActionableNotificationComponent),\n ActivityIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ActivityIcon),\n AddIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AddIcon),\n AllergiesIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AllergiesIcon),\n AppointmentsAltPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AppointmentsAltPictogram),\n AppointmentsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AppointmentsPictogram),\n ArrowDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowDownIcon),\n ArrowLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowLeftIcon),\n ArrowRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowRightIcon),\n ArrowUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ArrowUpIcon),\n Assessment1Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Assessment1Pictogram),\n Assessment2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Assessment2Pictogram),\n AttachmentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.AttachmentIcon),\n BabyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.BabyIcon),\n BloodBankPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.BloodBankPictogram),\n Breakpoint: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Breakpoint),\n CalendarHeatMapIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CalendarHeatMapIcon),\n CalendarIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CalendarIcon),\n CardHeader: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CardHeader),\n CardiologyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CardiologyPictogram),\n CaretDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretDownIcon),\n CaretLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretLeftIcon),\n CaretRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretRightIcon),\n CaretUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CaretUpIcon),\n ChartAverageIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChartAverageIcon),\n ChartLineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChartLineIcon),\n CheckmarkFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CheckmarkFilledIcon),\n CheckmarkOutlineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CheckmarkOutlineIcon),\n ChemistryIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChemistryIcon),\n ChevronDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronDownIcon),\n ChevronLeftIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronLeftIcon),\n ChevronRightIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronRightIcon),\n ChevronUpIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ChevronUpIcon),\n CloseFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseFilledIcon),\n CloseIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseIcon),\n CloseOutlineIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CloseOutlineIcon),\n CohortsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CohortsPictogram),\n ComponentContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ComponentContext),\n ConceptDictionaryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ConceptDictionaryPictogram),\n ConditionsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ConditionsIcon),\n ConfigurableLink: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ConfigurableLink),\n CtScanPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CtScanPictogram),\n CustomOverflowMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CustomOverflowMenu),\n CustomOverflowMenuItem: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.CustomOverflowMenuItem),\n DashboardExtension: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DashboardExtension),\n DataEntryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DataEntryPictogram),\n DentistryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DentistryPictogram),\n DiagnosisTags: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DiagnosisTags),\n DigitalTrustPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DigitalTrustPictogram),\n DocumentAttachmentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DocumentAttachmentIcon),\n DocumentIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DocumentIcon),\n DownloadIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DownloadIcon),\n DrugOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.DrugOrderIcon),\n EditIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EditIcon),\n EmergencyDepartmentPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmergencyDepartmentPictogram),\n EmptyCard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmptyCard),\n EmptyCardIllustration: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EmptyCardIllustration),\n ErrorCard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ErrorCard),\n ErrorState: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ErrorState),\n EventScheduleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EventScheduleIcon),\n EventsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.EventsIcon),\n ExportedWorkspace: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ExportedWorkspace),\n Extension: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.Extension),\n ExtensionSlot: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.ExtensionSlot),\n FacilityPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.FacilityPictogram),\n GenderFemaleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderFemaleIcon),\n GenderMaleIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderMaleIcon),\n GenderOtherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderOtherIcon),\n GenderUnknownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenderUnknownIcon),\n GenericOrderTypeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GenericOrderTypeIcon),\n GeriatricsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GeriatricsPictogram),\n GroupAccessIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GroupAccessIcon),\n GroupIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GroupIcon),\n GynaecologyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.GynaecologyPictogram),\n HomePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.HomePictogram),\n HospitalBedIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.HospitalBedIcon),\n Icon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Icon),\n ImageMedicalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ImageMedicalIcon),\n InPatientPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InPatientPictogram),\n InformationFilledIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationFilledIcon),\n InformationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationIcon),\n InformationSquareIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InformationSquareIcon),\n InventoryManagementIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.InventoryManagementIcon),\n LabOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LabOrderIcon),\n LaboratoryPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LaboratoryPictogram),\n Labs2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Labs2Pictogram),\n LeftNavMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LeftNavMenu),\n ListCheckedIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ListCheckedIcon),\n LocationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LocationIcon),\n LocationPicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.LocationPicker),\n MaterialOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaterialOrderIcon),\n MaximizeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaximizeIcon),\n MaybeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaybeIcon),\n MaybePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MaybePictogram),\n MedicationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MedicationIcon),\n MessageQueueIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MessageQueueIcon),\n MetadataExportPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MetadataExportPictogram),\n MicroscopeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MicroscopeIcon),\n MobileCheckIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MobileCheckIcon),\n MoneyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MoneyIcon),\n MotherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MotherIcon),\n MovementIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.MovementIcon),\n Notification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Notification),\n NumericObservation: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.NumericObservation),\n ObstetricsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ObstetricsPictogram),\n OpenmrsAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.OpenmrsAppContext),\n OpenmrsDatePicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OpenmrsDatePicker),\n OpenmrsDateRangePicker: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OpenmrsDateRangePicker),\n OpenmrsFetchError: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.OpenmrsFetchError),\n OverflowMenuHorizontalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OverflowMenuHorizontalIcon),\n OverflowMenuVerticalIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.OverflowMenuVerticalIcon),\n PageHeader: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PageHeader),\n PageHeaderContent: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PageHeaderContent),\n Pagination: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pagination),\n PasswordIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PasswordIcon),\n PatientBannerActionsMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerActionsMenu),\n PatientBannerContactDetails: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerContactDetails),\n PatientBannerPatientIdentifiers: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerPatientIdentifiers),\n PatientBannerPatientInfo: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerPatientInfo),\n PatientBannerToggleContactDetailsButton: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientBannerToggleContactDetailsButton),\n PatientDocumentsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientDocumentsPictogram),\n PatientListsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientListsPictogram),\n PatientPhoto: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientPhoto),\n PatientSearchPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientSearchPictogram),\n PatientsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PatientsPictogram),\n PaymentsDeskPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PaymentsDeskPictogram),\n PedestrianFamilyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PedestrianFamilyIcon),\n PenIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PenIcon),\n Pharmacy2Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pharmacy2Pictogram),\n PharmacyPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PharmacyPictogram),\n Pictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Pictogram),\n PrinterIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.PrinterIcon),\n ProcedureOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ProcedureOrderIcon),\n ProgramsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ProgramsIcon),\n RadiologyIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RadiologyIcon),\n ReferralOrderIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ReferralOrderIcon),\n RegistrationPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RegistrationPictogram),\n RenderIfValueIsTruthy: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.RenderIfValueIsTruthy),\n RenewIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.RenewIcon),\n ReportIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ReportIcon),\n ReportsPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ReportsPictogram),\n ResetIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ResetIcon),\n ResponsiveWrapper: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ResponsiveWrapper),\n SaveIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SaveIcon),\n SearchIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SearchIcon),\n ServiceQueuesPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ServiceQueuesPictogram),\n SettingsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SettingsIcon),\n ShoppingCartAddItemIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartAddItemIcon),\n ShoppingCartArrowDownIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartArrowDownIcon),\n ShoppingCartIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ShoppingCartIcon),\n Snackbar: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Snackbar),\n StickyNoteAddIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.StickyNoteAddIcon),\n StockManagementPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.StockManagementPictogram),\n SwitcherIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SwitcherIcon),\n SyringeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SyringeIcon),\n SystemAdministrationPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.SystemAdministrationPictogram),\n TableBatchActions: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableBatchActions),\n TableIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableIcon),\n TableOfContentsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TableOfContentsIcon),\n TimeIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TimeIcon),\n Toast: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Toast),\n ToolsIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ToolsIcon),\n TransferPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TransferPictogram),\n TranslateIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TranslateIcon),\n TrashCanIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TrashCanIcon),\n TreeViewAltIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TreeViewAltIcon),\n TriagePictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TriagePictogram),\n TwoFactorAuthenticationIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.TwoFactorAuthenticationIcon),\n Type: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.Type),\n UserAvatarIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserAvatarIcon),\n UserFollowIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserFollowIcon),\n UserHasAccess: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.UserHasAccess),\n UserIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserIcon),\n UserXrayIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.UserXrayIcon),\n ViewIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ViewIcon),\n ViewOffIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.ViewOffIcon),\n VisitMode: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.VisitMode),\n VisitStatus: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.VisitStatus),\n WarningIcon: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.WarningIcon),\n Workspace2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.Workspace2),\n XrayPictogram: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.XrayPictogram),\n addImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.addImportMapOverride),\n addRouteMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.addRouteMapOverride),\n age: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.age),\n ageAsDuration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.ageAsDuration),\n attach: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.attach),\n attachmentUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.attachmentUrl),\n backendDependencies: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.backendDependencies),\n batchExtensionUpdates: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.batchExtensionUpdates),\n canAccessStorage: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.canAccessStorage),\n cleanupObsoleteFeatureFlags: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.cleanupObsoleteFeatureFlags),\n clearConfigDerivationError: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.clearConfigDerivationError),\n clearConfigErrors: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.clearConfigErrors),\n clearCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.clearCurrentUser),\n clearHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.clearHistory),\n closeWorkspaceGroup2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.closeWorkspaceGroup2),\n closeWorkspaceInWindow: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.closeWorkspaceInWindow),\n compile: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.compile),\n configExtensionStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.configExtensionStore),\n configInternalStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.configInternalStore),\n convertToLocaleCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.convertToLocaleCalendar),\n createAttachment: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.createAttachment),\n createDashboard: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.createDashboard),\n createErrorHandler: () => (/* reexport safe */ _openmrs_esm_error_handling__rspack_import_4.createErrorHandler),\n createExportedWorkspaceWindow: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.createExportedWorkspaceWindow),\n createGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.createGlobalStore),\n createLocalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.createLocalStore),\n createParcelMounter: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.createParcelMounter),\n createUseStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.createUseStore),\n defaultVisitCustomRepresentation: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.defaultVisitCustomRepresentation),\n defineConfigSchema: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.defineConfigSchema),\n defineExtensionConfigSchema: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.defineExtensionConfigSchema),\n deleteAttachmentPermanently: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.deleteAttachmentPermanently),\n detach: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.detach),\n detachAll: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.detachAll),\n dispatchActionableNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchActionableNotificationShown),\n dispatchNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchNotificationShown),\n dispatchSnackbarShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchSnackbarShown),\n dispatchToastShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.dispatchToastShown),\n displayName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.displayName),\n duration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.duration),\n enableImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.enableImportMapOverride),\n esmStyleGuideSchema: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.esmStyleGuideSchema),\n evaluate: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluate),\n evaluateAsBoolean: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsBoolean),\n evaluateAsBooleanAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsBooleanAsync),\n evaluateAsNumber: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsNumber),\n evaluateAsNumberAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsNumberAsync),\n evaluateAsType: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsType),\n evaluateAsTypeAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsTypeAsync),\n evaluateAsync: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.evaluateAsync),\n extractVariableNames: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.extractVariableNames),\n featureFlagsStore: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.featureFlagsStore),\n fetchCurrentPatient: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.fetchCurrentPatient),\n fhirBaseUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.fhirBaseUrl),\n filterBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.filterBreadcrumbs),\n finishRegisteringAllApps: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.finishRegisteringAllApps),\n fireOpenmrsEvent: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.fireOpenmrsEvent),\n formatDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDate),\n formatDatetime: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDatetime),\n formatDuration: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDuration),\n formatDurationBetween: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatDurationBetween),\n formatPartialDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatPartialDate),\n formatPatientName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatPatientName),\n formatTime: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formatTime),\n formattedName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.formattedName),\n getAssignedExtensions: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getAssignedExtensions),\n getAsyncExtensionLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getAsyncExtensionLifecycle),\n getAsyncLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getAsyncLifecycle),\n getAttachmentByUuid: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachmentByUuid),\n getAttachments: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachments),\n getAttachmentsUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getAttachmentsUrl),\n getBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getBreadcrumbs),\n getBreadcrumbsFor: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getBreadcrumbsFor),\n getCandidateExtensions: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getCandidateExtensions),\n getConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getConfig),\n getConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getConfigStore),\n getCoreTranslation: () => (/* reexport safe */ _openmrs_esm_translations__rspack_import_14.getCoreTranslation),\n getCurrentImportMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentImportMap),\n getCurrentPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentPageMap),\n getCurrentRouteMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getCurrentRouteMap),\n getCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getCurrentUser),\n getDefaultCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getDefaultCalendar),\n getDefaultsFromConfigSchema: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getDefaultsFromConfigSchema),\n getDynamicOfflineDataEntries: () => (/* reexport safe */ _deprecated_js__rspack_import_16.getDynamicOfflineDataEntries),\n getExtensionConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfig),\n getExtensionConfigFromExtensionSlotStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfigFromExtensionSlotStore),\n getExtensionConfigFromStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionConfigFromStore),\n getExtensionInternalStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionInternalStore),\n getExtensionNameFromId: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionNameFromId),\n getExtensionRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRegistration),\n getExtensionRegistrationFrom: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRegistrationFrom),\n getExtensionRenderingsStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionRenderingsStore),\n getExtensionSlotConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotConfig),\n getExtensionSlotConfigFromStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotConfigFromStore),\n getExtensionSlotsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionSlotsConfigStore),\n getExtensionStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getExtensionStore),\n getExtensionsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getExtensionsConfigStore),\n getFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.getFeatureFlag),\n getFhirServerPaginationHandlers: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getFhirServerPaginationHandlers),\n getGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.getGlobalStore),\n getGroupByWindowName: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getGroupByWindowName),\n getHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.getHistory),\n getImportMapDefaultMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapDefaultMap),\n getImportMapDisabledOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapDisabledOverrides),\n getImportMapNextPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapNextPageMap),\n getImportMapOverrideMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getImportMapOverrideMap),\n getLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getLifecycle),\n getLocale: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getLocale),\n getLocaleDisplayName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getLocaleDisplayName),\n getLocations: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getLocations),\n getLoggedInUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getLoggedInUser),\n getModalRegistration: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getModalRegistration),\n getOpenedWindowIndexByWorkspace: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getOpenedWindowIndexByWorkspace),\n getOpenedWindowWidth: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.getOpenedWindowWidth),\n getPatientName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.getPatientName),\n getRegisteredWorkspace2Names: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.getRegisteredWorkspace2Names),\n getRouteMapDefaultMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapDefaultMap),\n getRouteMapNextPageMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapNextPageMap),\n getRouteMapOverrideMap: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.getRouteMapOverrideMap),\n getSessionLocation: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getSessionLocation),\n getSessionStore: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.getSessionStore),\n getSyncLifecycle: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.getSyncLifecycle),\n getSynchronizationItems: () => (/* reexport safe */ _deprecated_js__rspack_import_16.getSynchronizationItems),\n getTranslationOverrides: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.getTranslationOverrides),\n getVisitStore: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitStore),\n getVisitTypes: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitTypes),\n getVisitsForPatient: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.getVisitsForPatient),\n getWindowByWorkspaceName: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.getWindowByWorkspaceName),\n goBackInHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.goBackInHistory),\n iconIds: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.iconIds),\n implementerToolsConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.implementerToolsConfigStore),\n importDynamic: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.importDynamic),\n inRange: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.inRange),\n integrateBreakpoints: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.integrateBreakpoints),\n interpolateString: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.interpolateString),\n interpolateUrl: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.interpolateUrl),\n invalidateImplementerToolsConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.invalidateImplementerToolsConfig),\n isDesktop: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.isDesktop),\n isDevEnabled: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.isDevEnabled),\n isImportMapOverrideDisabled: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.isImportMapOverrideDisabled),\n isOmrsDateStrict: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isOmrsDateStrict),\n isOmrsDateToday: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isOmrsDateToday),\n isOpenmrsAppRoutes: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.isOpenmrsAppRoutes),\n isOpenmrsRoutes: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.isOpenmrsRoutes),\n isUrl: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.isUrl),\n isUrlWithTemplateParameters: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.isUrlWithTemplateParameters),\n isVersionSatisfied: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.isVersionSatisfied),\n jsep: () => (/* reexport safe */ _openmrs_esm_expression_evaluator__rspack_import_5.jsep),\n launchWorkspace2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspace2),\n launchWorkspaceGroup2: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.launchWorkspaceGroup2),\n leftNavStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.leftNavStore),\n loadLifeCycles: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.loadLifeCycles),\n logout: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.logout),\n makeUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.makeUrl),\n matchLocale: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.matchLocale),\n messageOmrsServiceWorker: () => (/* reexport safe */ _deprecated_js__rspack_import_16.messageOmrsServiceWorker),\n navigate: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.navigate),\n oneOf: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.oneOf),\n openChildWorkspaceInWindow: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.openChildWorkspaceInWindow),\n openmrsComponentDecorator: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.openmrsComponentDecorator),\n openmrsFetch: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.openmrsFetch),\n parseDate: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.parseDate),\n parseDateInput: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.parseDateInput),\n pictogramIds: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.pictogramIds),\n preloadImport: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.preloadImport),\n processConfig: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.processConfig),\n promptForClosingWorkspaces: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.promptForClosingWorkspaces),\n promptForClosingWorkspacesInWindow: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.promptForClosingWorkspacesInWindow),\n provide: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.provide),\n recordConfigDerivationError: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.recordConfigDerivationError),\n refetchCurrentUser: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.refetchCurrentUser),\n registerApp: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.registerApp),\n registerBreadcrumb: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.registerBreadcrumb),\n registerBreadcrumbs: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.registerBreadcrumbs),\n registerDefaultCalendar: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.registerDefaultCalendar),\n registerExtension: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtension),\n registerExtensionRendering: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtensionRendering),\n registerExtensionSlot: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerExtensionSlot),\n registerFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.registerFeatureFlag),\n registerGlobalStore: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.registerGlobalStore),\n registerModal: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerModal),\n registerModuleLoad: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerModuleLoad),\n registerModuleWithConfigSystem: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerModuleWithConfigSystem),\n registerTranslationNamespace: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.registerTranslationNamespace),\n registerWorkspaceGroups2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaceGroups2),\n registerWorkspaceWindows2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaceWindows2),\n registerWorkspaces2: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.registerWorkspaces2),\n removeImportMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.removeImportMapOverride),\n removeRouteMapOverride: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.removeRouteMapOverride),\n renderActionableNotifications: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderActionableNotifications),\n renderExtension: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.renderExtension),\n renderInlineNotifications: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderInlineNotifications),\n renderLoadingSpinner: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderLoadingSpinner),\n renderParcel: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.renderParcel),\n renderSnackbars: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderSnackbars),\n renderToasts: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderToasts),\n renderWorkspaceWindowsAndMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.renderWorkspaceWindowsAndMenu),\n reportError: () => (/* reexport safe */ _openmrs_esm_error_handling__rspack_import_4.reportError),\n reset: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.reset),\n resetConfigSystem: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.resetConfigSystem),\n resetImportMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.resetImportMapOverrides),\n resetRouteMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.resetRouteMapOverrides),\n restBaseUrl: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.restBaseUrl),\n retry: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.retry),\n saveVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.saveVisit),\n scheduleRecomputation: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.scheduleRecomputation),\n selectPreferredName: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.selectPreferredName),\n sessionEndpoint: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.sessionEndpoint),\n sessionStore: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.sessionStore),\n setCurrentVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.setCurrentVisit),\n setFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.setFeatureFlag),\n setImplementerToolsConfigRecomputer: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.setImplementerToolsConfigRecomputer),\n setLeftNav: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.setLeftNav),\n setSessionLocale: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setSessionLocale),\n setSessionLocation: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setSessionLocation),\n setUserLanguage: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setUserLanguage),\n setUserProperties: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setUserProperties),\n setupApiModule: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.setupApiModule),\n setupDynamicOfflineDataHandler: () => (/* reexport safe */ _deprecated_js__rspack_import_16.setupDynamicOfflineDataHandler),\n setupHistory: () => (/* reexport safe */ _openmrs_esm_navigation__rspack_import_9.setupHistory),\n setupImportMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.setupImportMapOverrides),\n setupModals: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.setupModals),\n setupOfflineSync: () => (/* reexport safe */ _deprecated_js__rspack_import_16.setupOfflineSync),\n setupRouteMapOverrides: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.setupRouteMapOverrides),\n shallowEqual: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.shallowEqual),\n showActionableNotification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showActionableNotification),\n showModal: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showModal),\n showNotification: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showNotification),\n showSnackbar: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showSnackbar),\n showToast: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.showToast),\n slugify: () => (/* reexport safe */ _openmrs_esm_dynamic_loading__rspack_import_2.slugify),\n subscribeActionableNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeActionableNotificationShown),\n subscribeNotificationShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeNotificationShown),\n subscribeOpenmrsEvent: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.subscribeOpenmrsEvent),\n subscribePrecacheStaticDependencies: () => (/* reexport safe */ _deprecated_js__rspack_import_16.subscribePrecacheStaticDependencies),\n subscribeSnackbarShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeSnackbarShown),\n subscribeTo: () => (/* reexport safe */ _openmrs_esm_state__rspack_import_12.subscribeTo),\n subscribeToFeatureFlag: () => (/* reexport safe */ _openmrs_esm_feature_flags__rspack_import_7.subscribeToFeatureFlag),\n subscribeToastShown: () => (/* reexport safe */ _openmrs_esm_globals__rspack_import_8.subscribeToastShown),\n temporaryConfigStore: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.temporaryConfigStore),\n toDateObjectStrict: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toDateObjectStrict),\n toLanguageTag: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toLanguageTag),\n toLocationObject: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.toLocationObject),\n toOmrsIsoString: () => (/* reexport safe */ _openmrs_esm_utils__rspack_import_15.toOmrsIsoString),\n toVisitTypeObject: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.toVisitTypeObject),\n translateFrom: () => (/* reexport safe */ _openmrs_esm_translations__rspack_import_14.translateFrom),\n tryRegisterExtension: () => (/* reexport safe */ _openmrs_esm_routes__rspack_import_11.tryRegisterExtension),\n unregisterExtensionRendering: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.unregisterExtensionRendering),\n unsetLeftNav: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.unsetLeftNav),\n updateInternalExtensionStore: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.updateInternalExtensionStore),\n updateOpenedWorkspaceInWindow: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.updateOpenedWorkspaceInWindow),\n updateVisit: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.updateVisit),\n useAbortController: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAbortController),\n useAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAppContext),\n useAssignedExtensionIds: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAssignedExtensionIds),\n useAssignedExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAssignedExtensions),\n useAttachments: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useAttachments),\n useBodyScrollLock: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useBodyScrollLock),\n useCandidateExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useCandidateExtensions),\n useConfig: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useConfig),\n useConnectedExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useConnectedExtensions),\n useConnectivity: () => (/* reexport safe */ _deprecated_js__rspack_import_16.useConnectivity),\n useCustomOverflowMenu: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useCustomOverflowMenu),\n useDebounce: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useDebounce),\n useDefineAppContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useDefineAppContext),\n useEmrConfiguration: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useEmrConfiguration),\n useExtensionContext: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionContext),\n useExtensionInternalStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionInternalStore),\n useExtensionSlot: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlot),\n useExtensionSlotMeta: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlotMeta),\n useExtensionSlotStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionSlotStore),\n useExtensionStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useExtensionStore),\n useFeatureFlag: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFeatureFlag),\n useFhirFetchAll: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirFetchAll),\n useFhirInfinite: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirInfinite),\n useFhirPagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useFhirPagination),\n useForceUpdate: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useForceUpdate),\n useLayoutType: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLayoutType),\n useLeftNav: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLeftNav),\n useLeftNavStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLeftNavStore),\n useLocations: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useLocations),\n useOnClickOutside: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOnClickOutside),\n useOnVisible: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOnVisible),\n useOpenmrsFetchAll: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsFetchAll),\n useOpenmrsInfinite: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsInfinite),\n useOpenmrsPagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsPagination),\n useOpenmrsSWR: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useOpenmrsSWR),\n usePagination: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePagination),\n usePaginationInfo: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePaginationInfo),\n usePatient: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePatient),\n usePatientPhoto: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.usePatientPhoto),\n usePrimaryIdentifierCode: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.usePrimaryIdentifierCode),\n useRenderableExtensions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useRenderableExtensions),\n useSession: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useSession),\n useShallowStableValue: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useShallowStableValue),\n useStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useStore),\n useStoreWithActions: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useStoreWithActions),\n useVisit: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisit),\n useVisitContextStore: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisitContextStore),\n useVisitTypes: () => (/* reexport safe */ _openmrs_esm_react_utils__rspack_import_10.useVisitTypes),\n useWorkspace2Context: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useWorkspace2Context),\n useWorkspace2Store: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.useWorkspace2Store),\n userHasAccess: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.userHasAccess),\n validator: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.validator),\n validators: () => (/* reexport safe */ _openmrs_esm_config__rspack_import_1.validators),\n verifyTotpCode: () => (/* reexport safe */ _openmrs_esm_api__rspack_import_0.verifyTotpCode),\n visitTypesUrl: () => (/* reexport safe */ _openmrs_esm_emr_api__rspack_import_3.visitTypesUrl),\n workspace2Store: () => (/* reexport safe */ _openmrs_esm_extensions__rspack_import_6.workspace2Store),\n workspace2StoreActions: () => (/* reexport safe */ _openmrs_esm_styleguide_src_internal__rspack_import_13.workspace2StoreActions)\n});\n/* import */ var _openmrs_esm_api__rspack_import_0 = __webpack_require__(\"../../framework/esm-api/dist/index.js\");\n/* import */ var _openmrs_esm_config__rspack_import_1 = __webpack_require__(\"../../framework/esm-config/dist/index.js\");\n/* import */ var _openmrs_esm_dynamic_loading__rspack_import_2 = __webpack_require__(\"../../framework/esm-dynamic-loading/dist/index.js\");\n/* import */ var _openmrs_esm_emr_api__rspack_import_3 = __webpack_require__(\"../../framework/esm-emr-api/dist/index.js\");\n/* import */ var _openmrs_esm_error_handling__rspack_import_4 = __webpack_require__(\"../../framework/esm-error-handling/dist/index.js\");\n/* import */ var _openmrs_esm_expression_evaluator__rspack_import_5 = __webpack_require__(\"../../framework/esm-expression-evaluator/dist/index.js\");\n/* import */ var _openmrs_esm_extensions__rspack_import_6 = __webpack_require__(\"../../framework/esm-extensions/dist/index.js\");\n/* import */ var _openmrs_esm_feature_flags__rspack_import_7 = __webpack_require__(\"../../framework/esm-feature-flags/dist/index.js\");\n/* import */ var _openmrs_esm_globals__rspack_import_8 = __webpack_require__(\"../../framework/esm-globals/dist/index.js\");\n/* import */ var _openmrs_esm_navigation__rspack_import_9 = __webpack_require__(\"../../framework/esm-navigation/dist/index.js\");\n/* import */ var _openmrs_esm_react_utils__rspack_import_10 = __webpack_require__(\"../../framework/esm-react-utils/dist/index.js\");\n/* import */ var _openmrs_esm_routes__rspack_import_11 = __webpack_require__(\"../../framework/esm-routes/dist/index.js\");\n/* import */ var _openmrs_esm_state__rspack_import_12 = __webpack_require__(\"../../framework/esm-state/dist/index.js\");\n/* import */ var _openmrs_esm_styleguide_src_internal__rspack_import_13 = __webpack_require__(\"../../framework/esm-styleguide/dist/internal.js\");\n/* import */ var _openmrs_esm_translations__rspack_import_14 = __webpack_require__(\"../../framework/esm-translations/dist/index.js\");\n/* import */ var _openmrs_esm_utils__rspack_import_15 = __webpack_require__(\"../../framework/esm-utils/dist/index.js\");\n/* import */ var _deprecated_js__rspack_import_16 = __webpack_require__(\"../../framework/esm-framework/dist/deprecated.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyPz9ydWxlU2V0WzFdLnJ1bGVzWzVdLnVzZVswXSEvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvcGFja2FnZXMvZnJhbWV3b3JrL2VzbS1mcmFtZXdvcmsvZGlzdC9pbnRlcm5hbC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1mcmFtZXdvcmsvZGlzdC9pbnRlcm5hbC5qcz85YTgyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLWNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1keW5hbWljLWxvYWRpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tZW1yLWFwaVwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1lcnJvci1oYW5kbGluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1leHByZXNzaW9uLWV2YWx1YXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1leHRlbnNpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLWZlYXR1cmUtZmxhZ3NcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tZ2xvYmFsc1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1uYXZpZ2F0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLXJlYWN0LXV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiQG9wZW5tcnMvZXNtLXJvdXRlc1wiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1zdGF0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS1zdHlsZWd1aWRlL3NyYy9pbnRlcm5hbFwiO1xuZXhwb3J0ICogZnJvbSBcIkBvcGVubXJzL2VzbS10cmFuc2xhdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCJAb3Blbm1ycy9lc20tdXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlcHJlY2F0ZWQuanNcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWlDO0FBQ0c7QUFDUztBQUNSO0FBQ087QUFDTTtBQUNWO0FBQ0c7QUFDTjtBQUNHO0FBQ0M7QUFDTDtBQUNEO0FBQ2tCO0FBQ1g7QUFDUDtBQUNIIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-framework/dist/internal.js\n\n}");
4700
4700
 
4701
4701
  },
4702
4702
  "../../framework/esm-globals/dist/events.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {