@sanity/ui 3.0.0-static.1 → 3.0.0-static.11
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.
- package/LICENSE +1 -1
- package/bin/ui.js +0 -1
- package/dist/_chunks-cjs/_visual-editing.js +3091 -0
- package/dist/_chunks-cjs/_visual-editing.js.map +1 -0
- package/dist/_chunks-cjs/buildCommand.js +14 -3524
- package/dist/_chunks-cjs/buildCommand.js.map +1 -1
- package/dist/_chunks-cjs/refractor.js +27 -0
- package/dist/_chunks-cjs/refractor.js.map +1 -0
- package/dist/_chunks-es/_visual-editing.mjs +3098 -0
- package/dist/_chunks-es/_visual-editing.mjs.map +1 -0
- package/dist/_chunks-es/refractor.mjs +26 -0
- package/dist/_chunks-es/refractor.mjs.map +1 -0
- package/dist/_visual-editing.d.mts +809 -0
- package/dist/_visual-editing.d.ts +809 -0
- package/dist/_visual-editing.js +31 -0
- package/dist/_visual-editing.js.map +1 -0
- package/dist/_visual-editing.mjs +31 -0
- package/dist/_visual-editing.mjs.map +1 -0
- package/dist/cli.js +337 -5
- package/dist/cli.js.map +1 -1
- package/dist/css.d.mts +978 -454
- package/dist/css.d.ts +978 -454
- package/dist/css.js +4533 -3312
- package/dist/css.js.map +1 -1
- package/dist/css.mjs +4535 -3313
- package/dist/css.mjs.map +1 -1
- package/dist/index.d.mts +462 -532
- package/dist/index.d.ts +462 -532
- package/dist/index.js +782 -4640
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +686 -4553
- package/dist/index.mjs.map +1 -1
- package/dist/sanity-palette.css +1 -0
- package/dist/sanity-theme.css +1 -25
- package/dist/system.css +23466 -3377
- package/dist/theme.d.mts +399 -112
- package/dist/theme.d.ts +399 -112
- package/dist/theme.js +1378 -2380
- package/dist/theme.js.map +1 -1
- package/dist/theme.mjs +1422 -2424
- package/dist/theme.mjs.map +1 -1
- package/exports/_visual-editing.ts +31 -0
- package/exports/index.ts +1 -1
- package/package.json +93 -82
- package/src/cli/buildCommand.ts +48 -0
- package/src/cli/index.ts +38 -0
- package/src/css/_comp.test.ts +7 -0
- package/src/css/_comp.ts +11 -0
- package/src/css/_mergeStyles.ts +31 -0
- package/src/css/_resp.ts +15 -6
- package/src/css/_responsiveRule.ts +38 -0
- package/src/css/aspects/border/border.style.ts +13 -0
- package/src/css/aspects/border/border.ts +14 -0
- package/src/css/aspects/display/display.style.ts +34 -0
- package/src/css/aspects/display/display.ts +7 -0
- package/src/css/aspects/display/index.ts +2 -0
- package/src/css/aspects/display/types.ts +17 -0
- package/src/css/aspects/flex/flex.style.ts +30 -0
- package/src/css/aspects/flex/flex.ts +13 -0
- package/src/css/aspects/flex/flexAlign.style.ts +12 -0
- package/src/css/aspects/flex/flexDirection.style.ts +11 -0
- package/src/css/aspects/flex/flexJustify.style.ts +13 -0
- package/src/css/aspects/flex/flexWrap.style.ts +10 -0
- package/src/css/aspects/flexItem/flex.style.ts +22 -0
- package/src/css/aspects/flexItem/flexItem.ts +8 -0
- package/src/css/aspects/flexItem/types.ts +27 -0
- package/src/css/aspects/font/font.style.ts +92 -0
- package/src/css/aspects/font/font.ts +12 -0
- package/src/css/aspects/gap/gap.style.ts +21 -0
- package/src/css/aspects/gap/gap.ts +8 -0
- package/src/css/aspects/gap/types.ts +10 -0
- package/src/css/aspects/grid/grid.ts +13 -0
- package/src/css/aspects/grid/gridAutoColumns.style.ts +11 -0
- package/src/css/aspects/grid/gridAutoFlow.style.ts +11 -0
- package/src/css/aspects/grid/gridAutoRows.style.ts +11 -0
- package/src/css/aspects/grid/gridColumns.style.ts +18 -0
- package/src/css/aspects/grid/gridRows.style.ts +18 -0
- package/src/css/aspects/grid/types.ts +29 -0
- package/src/css/aspects/gridItem/gridColumn.style.ts +20 -0
- package/src/css/aspects/gridItem/gridColumnEnd.style.ts +20 -0
- package/src/css/aspects/gridItem/gridColumnStart.style.ts +20 -0
- package/src/css/aspects/gridItem/gridItem.ts +15 -0
- package/src/css/aspects/gridItem/gridRow.style.ts +20 -0
- package/src/css/aspects/gridItem/gridRowEnd.style.ts +20 -0
- package/src/css/aspects/gridItem/gridRowStart.style.ts +20 -0
- package/src/css/aspects/height/height.style.ts +9 -0
- package/src/css/aspects/height/height.ts +17 -0
- package/src/css/aspects/height/index.ts +1 -0
- package/src/css/aspects/index.ts +21 -0
- package/src/css/aspects/inset/index.ts +2 -0
- package/src/css/aspects/inset/inset.style.ts +12 -0
- package/src/css/aspects/inset/inset.ts +13 -0
- package/src/css/aspects/inset/types.ts +13 -0
- package/src/css/aspects/margin/margin.style.ts +46 -0
- package/src/css/aspects/margin/margin.ts +15 -0
- package/src/css/aspects/maxWidth/maxWidth.style.ts +16 -0
- package/src/css/aspects/maxWidth/types.ts +7 -0
- package/src/css/aspects/minWidth/index.ts +2 -0
- package/src/css/aspects/minWidth/minWidth.style.ts +13 -0
- package/src/css/aspects/minWidth/minWidth.ts +6 -0
- package/src/css/aspects/minWidth/types.ts +7 -0
- package/src/css/aspects/outline/outline.style.ts +9 -0
- package/src/css/aspects/overflow/overflow.style.ts +11 -0
- package/src/css/aspects/overflow/overflow.ts +11 -0
- package/src/css/aspects/padding/padding.style.ts +46 -0
- package/src/css/aspects/padding/padding.ts +15 -0
- package/src/css/aspects/padding/types.ts +14 -0
- package/src/css/aspects/pointerEvents/pointerEvents.style.ts +13 -0
- package/src/css/aspects/pointerEvents/pointerEvents.ts +6 -0
- package/src/css/aspects/position/position.style.ts +12 -0
- package/src/css/aspects/position/position.ts +7 -0
- package/src/css/aspects/position/types.ts +9 -0
- package/src/css/aspects/radius/radius.style.ts +16 -0
- package/src/css/aspects/radius/radius.ts +8 -0
- package/src/css/aspects/radius/types.ts +8 -0
- package/src/css/aspects/shadow/index.ts +2 -0
- package/src/css/aspects/shadow/shadow.style.ts +24 -0
- package/src/css/aspects/shadow/shadow.ts +7 -0
- package/src/css/aspects/shadow/types.ts +8 -0
- package/src/css/aspects/textOverflow/index.ts +2 -0
- package/src/css/aspects/textOverflow/textOverflow.style.ts +21 -0
- package/src/css/aspects/textOverflow/textOverflow.ts +6 -0
- package/src/css/aspects/textOverflow/types.ts +8 -0
- package/src/css/aspects/width/index.ts +2 -0
- package/src/css/aspects/width/rules.ts +8 -0
- package/src/css/aspects/width/types.ts +9 -0
- package/src/css/aspects/width/width.style.ts +11 -0
- package/src/css/compile/compilePalette.ts +28 -0
- package/src/css/compile/compileRule.ts +50 -11
- package/src/css/compile/compileRules.test.ts +36 -0
- package/src/css/compile/compileRules.ts +17 -30
- package/src/css/compile/compileStyle.ts +148 -0
- package/src/css/compile/compileSystem.ts +3 -3
- package/src/css/compile/compileTheme.ts +8 -505
- package/src/css/compile/compileTheme_v3.ts +415 -0
- package/src/css/compile/types.ts +6 -0
- package/src/css/components/breadcrumbs/breadcrumbs.style.ts +9 -0
- package/src/css/components/breadcrumbs/breadcrumbs.ts +3 -3
- package/src/css/components/dialog/dialog.style.ts +79 -0
- package/src/css/components/dialog/dialog.ts +30 -0
- package/src/css/components/dialog/index.ts +1 -1
- package/src/css/components/menu/menu.style.ts +17 -0
- package/src/css/components/menu/menu.ts +7 -3
- package/src/css/components/menu/rules.ts +6 -1
- package/src/css/components/skeleton/skeleton.style.ts +100 -0
- package/src/css/components/skeleton/skeleton.ts +12 -12
- package/src/css/components/skeleton/types.ts +3 -1
- package/src/css/components/toast/index.ts +1 -0
- package/src/css/components/toast/toast.style.ts +20 -0
- package/src/css/components/toast/toast.ts +21 -0
- package/src/css/components/tree/tree.style.ts +55 -0
- package/src/css/components/tree/tree.ts +3 -3
- package/src/css/composeClassNames.ts +16 -2
- package/src/css/constants.ts +10 -0
- package/src/css/index.ts +14 -23
- package/src/css/primitives/_arrow/_arrow.style.ts +71 -0
- package/src/css/primitives/_arrow/_arrow.ts +18 -0
- package/src/css/primitives/_arrow/index.ts +1 -0
- package/src/css/primitives/_input/__workshop__/customInput.tsx +16 -0
- package/src/css/primitives/_input/__workshop__/index.ts +14 -0
- package/src/css/primitives/_input/_input.style.ts +162 -0
- package/src/css/primitives/_input/index.ts +2 -0
- package/src/css/primitives/_input/input.ts +25 -0
- package/src/css/primitives/_input/types.ts +12 -0
- package/src/css/primitives/_selectable/__style.ts +117 -0
- package/src/css/primitives/_selectable/_contants.ts +11 -0
- package/src/css/primitives/_selectable/_selectable.style.ts +132 -0
- package/src/css/primitives/_selectable/selectable.ts +9 -0
- package/src/css/primitives/_selectable/types.ts +8 -0
- package/src/css/primitives/avatar/avatar.style.ts +175 -0
- package/src/css/primitives/avatar/avatar.ts +13 -18
- package/src/css/primitives/avatar/rules.ts +85 -99
- package/src/css/primitives/avatar/types.ts +1 -2
- package/src/css/primitives/badge/badge.style.ts +22 -0
- package/src/css/primitives/badge/badge.ts +4 -4
- package/src/css/primitives/badge/types.ts +2 -2
- package/src/css/primitives/box/box.style.ts +31 -0
- package/src/css/primitives/box/box.ts +31 -17
- package/src/css/primitives/box/types.ts +28 -25
- package/src/css/primitives/button/_constants.ts +17 -0
- package/src/css/primitives/button/button.style.ts +234 -0
- package/src/css/primitives/button/button.ts +29 -14
- package/src/css/primitives/button/rules.ts +284 -40
- package/src/css/primitives/card/_constants.ts +13 -0
- package/src/css/primitives/card/card.style.ts +270 -0
- package/src/css/primitives/card/card.ts +9 -16
- package/src/css/primitives/card/index.ts +1 -0
- package/src/css/primitives/card/types.ts +10 -0
- package/src/css/primitives/checkbox/checkbox.style.ts +154 -0
- package/src/css/primitives/checkbox/checkbox.ts +5 -5
- package/src/css/primitives/checkbox/rules.ts +31 -15
- package/src/css/primitives/code/code.style.ts +62 -0
- package/src/css/primitives/code/code.ts +4 -4
- package/src/css/primitives/code/rules.ts +27 -2
- package/src/css/primitives/code/types.ts +1 -1
- package/src/css/primitives/container/container.style.ts +10 -0
- package/src/css/primitives/container/container.ts +4 -4
- package/src/css/primitives/container/types.ts +1 -0
- package/src/css/primitives/heading/heading.style.ts +47 -0
- package/src/css/primitives/heading/heading.ts +6 -5
- package/src/css/primitives/heading/rules.ts +77 -6
- package/src/css/primitives/heading/types.ts +2 -2
- package/src/css/primitives/kbd/kbd.style.ts +22 -0
- package/src/css/primitives/kbd/kbd.ts +4 -4
- package/src/css/primitives/kbd/rules.ts +5 -5
- package/src/css/primitives/kbd/types.ts +3 -1
- package/src/css/primitives/label/label.style.ts +48 -0
- package/src/css/primitives/label/label.ts +4 -4
- package/src/css/primitives/label/rules.ts +54 -2
- package/src/css/primitives/label/types.ts +1 -1
- package/src/css/primitives/popover/popover.style.ts +5 -0
- package/src/css/primitives/popover/popover.ts +7 -3
- package/src/css/primitives/radio/radio.style.ts +123 -0
- package/src/css/primitives/radio/radio.ts +3 -3
- package/src/css/primitives/radio/rules.ts +117 -1
- package/src/css/primitives/select/index.ts +1 -0
- package/src/css/primitives/select/rules.ts +18 -1
- package/src/css/primitives/select/select.style.ts +24 -0
- package/src/css/primitives/select/select.ts +9 -2
- package/src/css/primitives/select/types.ts +5 -0
- package/src/css/primitives/spinner/spinner.style.ts +22 -0
- package/src/css/primitives/spinner/spinner.ts +5 -5
- package/src/css/primitives/stack/stack.style.ts +9 -0
- package/src/css/primitives/stack/stack.ts +6 -0
- package/src/css/primitives/switch/rules.ts +264 -56
- package/src/css/primitives/switch/switch.style.ts +94 -0
- package/src/css/primitives/switch/switch.ts +19 -3
- package/src/css/primitives/text/rules.ts +93 -4
- package/src/css/primitives/text/text.style.ts +64 -0
- package/src/css/primitives/text/text.ts +5 -4
- package/src/css/primitives/text/types.ts +2 -2
- package/src/css/primitives/textArea/index.ts +1 -0
- package/src/css/primitives/textArea/rules.ts +3 -1
- package/src/css/primitives/textArea/textArea.style.ts +9 -0
- package/src/css/primitives/textArea/textArea.ts +5 -2
- package/src/css/primitives/textArea/types.ts +5 -0
- package/src/css/primitives/textInput/rules.ts +33 -130
- package/src/css/primitives/textInput/textInput.style.ts +167 -0
- package/src/css/primitives/textInput/textInput.ts +4 -11
- package/src/css/primitives/textInput/types.ts +8 -5
- package/src/css/primitives/token/token.style.ts +50 -0
- package/src/css/primitives/tooltip/rules.ts +2 -0
- package/src/css/primitives/tooltip/tooltip.style.ts +21 -0
- package/src/css/primitives/tooltip/tooltip.ts +5 -5
- package/src/css/responsiveRules.ts +12 -19
- package/src/css/scopeClassName.ts +6 -0
- package/src/css/system.style.ts +158 -0
- package/src/css/types.ts +704 -375
- package/src/css/util.ts +27 -0
- package/src/css/utils/srOnly/srOnly.style.ts +14 -0
- package/src/css/utils/srOnly/srOnly.ts +5 -0
- package/src/css/varNames.ts +494 -258
- package/src/css/vars.ts +408 -282
- package/src/theme/_constants.ts +26 -0
- package/src/theme/_types.ts +41 -0
- package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +1 -1
- package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +1 -1
- package/src/theme/build/_deprecated/color/button/createButtonModes.ts +1 -6
- package/src/theme/build/_deprecated/color/button/createButtonTones.ts +2 -2
- package/src/theme/build/_deprecated/color/card/createCardStates.ts +2 -2
- package/src/theme/build/_deprecated/color/factory.ts +8 -9
- package/src/theme/build/_deprecated/color/input/createInputModes.ts +1 -1
- package/src/theme/build/_deprecated/color/muted/createMuted.ts +2 -2
- package/src/theme/build/_deprecated/color/spot/createSpot.ts +1 -1
- package/src/theme/build/buildColorTheme.ts +62 -52
- package/src/theme/build/buildTheme.ts +8 -32
- package/src/theme/build/colorToken/colorToken.ts +1 -1
- package/src/theme/build/lib/color-fns/rgba.ts +4 -0
- package/src/theme/build/merge.ts +0 -2
- package/src/theme/build/mixThemeColor.ts +1 -1
- package/src/theme/build/renderColorTheme.ts +34 -37
- package/src/theme/build/renderColorValue.ts +4 -3
- package/src/theme/build/resolveColorTokens.ts +57 -120
- package/src/theme/config/helpers.ts +2 -2
- package/src/theme/config/system.ts +3 -2
- package/src/theme/config/tokens/color/types.ts +5 -18
- package/src/theme/config/tokens/parseTokenKey.ts +1 -1
- package/src/theme/config/tokens/parseTokenValue.ts +1 -1
- package/src/theme/config/tokens/types.ts +3 -2
- package/src/theme/config/types.ts +4 -4
- package/src/theme/defaults/colorTokens.ts +8 -6
- package/src/theme/defaults/config.ts +2 -2
- package/src/theme/defaults/fonts.ts +17 -16
- package/src/theme/getScopedTheme.ts +10 -4
- package/src/theme/index.ts +7 -1
- package/src/theme/palette/constants.ts +13 -0
- package/src/theme/palette/index.ts +2 -0
- package/src/theme/palette/types.ts +4 -0
- package/src/theme/types.ts +32 -0
- package/src/theme/v0/color/_generic.ts +35 -0
- package/src/theme/v0/color/_system.ts +17 -0
- package/src/theme/v0/color/color.ts +40 -0
- package/src/theme/v0/color/index.ts +11 -0
- package/src/theme/v0/color/input.ts +34 -0
- package/src/theme/v0/color/spot.ts +13 -0
- package/src/theme/v0/css.ts +8 -0
- package/src/theme/v0/font.ts +53 -0
- package/src/theme/v0/index.ts +10 -0
- package/src/theme/v0/theme.ts +72 -0
- package/src/theme/v2/avatar.ts +14 -0
- package/src/theme/v2/color/_constants.ts +45 -0
- package/src/theme/v2/color/_helpers.ts +24 -0
- package/src/theme/v2/color/_system.ts +40 -0
- package/src/theme/v2/color/badge.ts +16 -0
- package/src/theme/v2/color/color.ts +34 -0
- package/src/theme/v2/index.ts +4 -0
- package/src/theme/v2/input.ts +33 -0
- package/src/theme/v2/theme.ts +49 -0
- package/src/theme/v3/buildTheme_v3.test.ts +40 -0
- package/src/theme/v3/buildTheme_v3.ts +29 -0
- package/src/theme/v3/color/buildColor_v3.ts +198 -0
- package/src/theme/v3/color/card.ts +121 -0
- package/src/theme/v3/color/color.ts +98 -0
- package/src/theme/v3/color/element.ts +19 -0
- package/src/theme/v3/color/index.ts +7 -0
- package/src/theme/v3/color/parseColor.test.ts +79 -0
- package/src/theme/v3/color/parseColor.ts +167 -0
- package/src/theme/v3/color/renderColor.test.ts +19 -0
- package/src/theme/v3/color/renderColor.ts +33 -0
- package/src/theme/v3/color/token.ts +17 -0
- package/src/theme/v3/color/tokens.ts +5 -0
- package/src/theme/v3/defaultTokens.ts +201 -0
- package/src/theme/v3/index.ts +6 -0
- package/src/theme/v3/merge.ts +22 -0
- package/src/theme/v3/resolveTokens.ts +204 -0
- package/src/theme/v3/tokens.ts +16 -0
- package/src/theme/v3/types.ts +45 -0
- package/src/theme/versioning/getTheme_v2.ts +2 -1
- package/src/theme/versioning/index.ts +0 -4
- package/src/theme/versioning/is_v0.ts +2 -1
- package/src/theme/versioning/is_v2.ts +2 -1
- package/src/theme/versioning/themeColor_v0_v2.ts +33 -5
- package/src/theme/versioning/themeColor_v2_v2_9.ts +49 -0
- package/src/theme/versioning/themeColor_v3_v2.ts +206 -0
- package/src/theme/versioning/v0_v2.ts +6 -1
- package/src/theme/versioning/v2_v0.ts +6 -6
- package/src/theme/versioning/v3_v2.ts +108 -0
- package/src/ui/RootClassNames.tsx +41 -0
- package/src/ui/StyleTags.tsx +24 -0
- package/src/ui/_compat/helpers.ts +72 -0
- package/src/ui/_compat/index.ts +5 -0
- package/src/ui/_compat/studioTheme.ts +7 -0
- package/src/ui/_compat/styles/_responsive.ts +19 -0
- package/src/ui/_compat/styles/index.ts +1 -0
- package/src/ui/_compat/theme/index.ts +5 -0
- package/src/ui/_compat/theme/theme.test.tsx +73 -0
- package/src/ui/_compat/theme/themeColorProvider.tsx +30 -0
- package/src/ui/_compat/theme/themeContext.ts +10 -0
- package/src/ui/_compat/theme/themeProvider.tsx +74 -0
- package/src/ui/_compat/theme/useRootTheme.ts +17 -0
- package/src/ui/_compat/theme/useTheme.ts +16 -0
- package/src/ui/_compat/types.ts +191 -0
- package/src/ui/components/autocomplete/__mocks__/apiStore.ts +49 -0
- package/src/ui/components/autocomplete/__workshop__/async.tsx +156 -0
- package/src/ui/components/autocomplete/__workshop__/constrainedHeight.tsx +131 -0
- package/src/ui/components/autocomplete/__workshop__/custom.tsx +90 -0
- package/src/ui/components/autocomplete/__workshop__/example.tsx +80 -0
- package/src/ui/components/autocomplete/__workshop__/fullscreen.tsx +293 -0
- package/src/ui/components/autocomplete/autocomplete.tsx +722 -0
- package/src/ui/components/autocomplete/autocompleteOption.tsx +45 -0
- package/src/ui/components/autocomplete/types.ts +108 -0
- package/src/ui/components/breadcrumbs/__workshop__/example.tsx +62 -0
- package/src/ui/components/breadcrumbs/breadcrumbs.tsx +127 -0
- package/src/ui/components/dialog/__workshop__/activate.tsx +134 -0
- package/src/ui/components/dialog/__workshop__/nested.tsx +72 -0
- package/src/ui/components/dialog/__workshop__/onScroll.tsx +39 -0
- package/src/ui/components/dialog/__workshop__/panes.tsx +82 -0
- package/src/ui/components/dialog/__workshop__/position.tsx +30 -0
- package/src/ui/components/dialog/__workshop__/props.tsx +77 -0
- package/src/ui/components/dialog/__workshop__/wrapped.tsx +76 -0
- package/src/ui/components/dialog/dialog.tsx +432 -0
- package/src/ui/components/dialog/dialogProvider.tsx +35 -0
- package/src/ui/components/dialog/useDialog.ts +11 -0
- package/src/ui/components/hotkeys/hotkeys.tsx +54 -0
- package/src/ui/components/menu/__workshop__/asComponent.tsx +45 -0
- package/src/ui/components/menu/__workshop__/avatarMenu.tsx +51 -0
- package/src/ui/components/menu/__workshop__/constrainedInBoundary.tsx +134 -0
- package/src/ui/components/menu/__workshop__/customSelectedState.tsx +39 -0
- package/src/ui/components/menu/__workshop__/menuButton.tsx +80 -0
- package/src/ui/components/menu/__workshop__/shouldFocus.tsx +47 -0
- package/src/ui/components/menu/__workshop__/tones.tsx +25 -0
- package/src/ui/components/menu/menu.test.tsx +128 -0
- package/src/ui/components/menu/menu.tsx +200 -0
- package/src/ui/components/menu/menuButton.tsx +275 -0
- package/src/ui/components/menu/menuContext.ts +31 -0
- package/src/ui/components/menu/menuDivider.tsx +22 -0
- package/src/ui/components/menu/menuGroup.tsx +228 -0
- package/src/ui/components/menu/menuItem.tsx +180 -0
- package/src/ui/components/menu/useMenu.ts +21 -0
- package/src/ui/components/menu/useMenuController.ts +241 -0
- package/src/ui/components/skeleton/__workshop__/delay.tsx +70 -0
- package/src/ui/components/skeleton/__workshop__/skeleton.tsx +64 -0
- package/src/ui/components/skeleton/skeleton.tsx +53 -0
- package/src/ui/components/skeleton/textSkeleton.tsx +132 -0
- package/src/ui/components/tab/tab.tsx +105 -0
- package/src/ui/components/tab/tabList.tsx +74 -0
- package/src/ui/components/tab/tabPanel.tsx +40 -0
- package/src/ui/components/toast/__workshop__/hook.tsx +71 -0
- package/src/ui/components/toast/__workshop__/toast.tsx +26 -0
- package/src/ui/components/toast/toast.test.tsx +101 -0
- package/src/ui/components/toast/toast.tsx +211 -0
- package/src/ui/components/toast/toastLayer.tsx +38 -0
- package/src/ui/components/toast/toastProvider.tsx +113 -0
- package/src/ui/components/toast/toastState.ts +6 -0
- package/src/ui/components/toast/types.ts +28 -0
- package/src/ui/components/toast/useToast.ts +25 -0
- package/src/ui/components/tree/__workshop__/basic.tsx +105 -0
- package/src/ui/components/tree/__workshop__/tabFromElement.tsx +84 -0
- package/src/ui/components/tree/tree.tsx +244 -0
- package/src/ui/components/tree/treeGroup.tsx +30 -0
- package/src/ui/components/tree/treeItem.tsx +220 -0
- package/src/ui/components/tree/useTree.ts +17 -0
- package/src/ui/constants.ts +85 -0
- package/src/ui/helpers/focus.ts +100 -0
- package/src/ui/helpers/index.ts +5 -0
- package/src/ui/helpers/props.ts +10 -0
- package/src/ui/hooks/useArrayProp.ts +29 -0
- package/src/ui/hooks/useClickOutside.test.tsx +482 -0
- package/src/ui/hooks/useClickOutside.ts +117 -0
- package/src/ui/hooks/useClickOutsideEvent.test.tsx +115 -0
- package/src/ui/hooks/useClickOutsideEvent.ts +73 -0
- package/src/ui/hooks/useDelayed.test.ts +68 -0
- package/src/ui/hooks/useDelayedState.ts +28 -0
- package/src/ui/hooks/useElementRect/__workshop__/example.tsx +32 -0
- package/src/ui/hooks/useElementSize.ts +19 -0
- package/src/ui/hooks/useForwardedRef.ts +19 -0
- package/src/ui/hooks/useGlobalKeyDown.ts +17 -0
- package/src/ui/hooks/useMatchMedia.ts +28 -0
- package/src/ui/hooks/useMediaIndex/useMediaIndex.test.tsx +36 -0
- package/src/ui/hooks/useMediaIndex/useMediaIndex.ts +102 -0
- package/src/ui/hooks/usePrefersDark.hydration.test.tsx +56 -0
- package/src/ui/hooks/usePrefersDark.test.tsx +19 -0
- package/src/ui/hooks/usePrefersDark.ts +16 -0
- package/src/ui/hooks/usePrefersReducedMotion.hydration.test.tsx +56 -0
- package/src/ui/hooks/usePrefersReducedMotion.test.tsx +19 -0
- package/src/ui/hooks/usePrefersReducedMotion.ts +16 -0
- package/src/ui/index.ts +10 -0
- package/src/ui/lib/createGlobalScopedContext.ts +34 -0
- package/src/ui/lib/globalScope.ts +19 -0
- package/src/ui/primitives/_selectable/selectable.tsx +31 -0
- package/src/ui/primitives/avatar/__workshop__/asButton.tsx +14 -0
- package/src/ui/primitives/avatar/__workshop__/stack.tsx +25 -0
- package/src/ui/primitives/avatar/__workshop__/withinButton.tsx +63 -0
- package/src/ui/primitives/avatar/__workshop__/withinMenuItem.tsx +72 -0
- package/src/ui/primitives/avatar/avatar.tsx +158 -0
- package/src/ui/primitives/avatar/avatarCounter.tsx +62 -0
- package/src/ui/primitives/avatar/avatarStack.tsx +82 -0
- package/src/ui/primitives/avatar/types.ts +17 -0
- package/src/ui/primitives/badge/__workshop__/props.tsx +30 -0
- package/src/ui/primitives/badge/__workshop__/tones.tsx +21 -0
- package/src/ui/primitives/badge/badge.test.tsx +16 -0
- package/src/ui/primitives/badge/badge.tsx +64 -0
- package/src/ui/primitives/box/__workshop__/props.tsx +20 -0
- package/src/ui/primitives/box/box.tsx +162 -0
- package/src/ui/primitives/button/__workshop__/custom.tsx +50 -0
- package/src/ui/primitives/button/__workshop__/disabled.tsx +74 -0
- package/src/ui/primitives/button/__workshop__/props.tsx +58 -0
- package/src/ui/primitives/button/__workshop__/stacked.tsx +59 -0
- package/src/ui/primitives/button/button.test.tsx +44 -0
- package/src/ui/primitives/button/button.tsx +206 -0
- package/src/ui/primitives/card/__workshop__/allTones.tsx +27 -0
- package/src/ui/primitives/card/__workshop__/asButton.tsx +107 -0
- package/src/ui/primitives/card/__workshop__/asComponent.tsx +27 -0
- package/src/ui/primitives/card/__workshop__/checkered.tsx +26 -0
- package/src/ui/primitives/card/__workshop__/interactive.tsx +30 -0
- package/src/ui/primitives/card/__workshop__/listNavigation.tsx +80 -0
- package/src/ui/primitives/card/__workshop__/props.tsx +55 -0
- package/src/ui/primitives/card/__workshop__/selected.tsx +93 -0
- package/src/ui/primitives/card/card.tsx +118 -0
- package/src/ui/primitives/card/cardContext.ts +10 -0
- package/src/ui/primitives/card/cardProvider.tsx +19 -0
- package/src/ui/primitives/card/index.ts +4 -0
- package/src/ui/primitives/card/types.ts +27 -0
- package/src/ui/primitives/card/useCard.ts +7 -0
- package/src/ui/primitives/checkbox/__workshop__/tones.tsx +28 -0
- package/src/ui/primitives/checkbox/checkbox.tsx +74 -0
- package/src/ui/primitives/code/__workshop__/props.tsx +21 -0
- package/src/ui/primitives/code/code.tsx +49 -0
- package/src/ui/primitives/code/refractor.tsx +20 -0
- package/src/ui/primitives/container/__workshop__/example.tsx +20 -0
- package/src/ui/primitives/container/container.tsx +35 -0
- package/src/ui/primitives/flex/__workshop__/example.tsx +34 -0
- package/src/ui/primitives/flex/__workshop__/gap.tsx +25 -0
- package/src/ui/primitives/flex/flex.tsx +29 -0
- package/src/ui/primitives/grid/__workshop__/responsive.tsx +54 -0
- package/src/ui/primitives/grid/grid.tsx +30 -0
- package/src/ui/primitives/heading/__workshop__/opticalAlignment.tsx +54 -0
- package/src/ui/primitives/heading/__workshop__/plain.tsx +32 -0
- package/src/ui/primitives/heading/heading.tsx +62 -0
- package/src/ui/primitives/inline/__workshop__/plain.tsx +27 -0
- package/src/ui/primitives/inline/inline.tsx +50 -0
- package/src/ui/primitives/kbd/kbd.tsx +55 -0
- package/src/ui/primitives/label/__workshop__/opticalAlignment.tsx +54 -0
- package/src/ui/primitives/label/__workshop__/plain.tsx +37 -0
- package/src/ui/primitives/label/label.tsx +67 -0
- package/src/ui/primitives/popover/__workshop__/AlignedStory.tsx +77 -0
- package/src/ui/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +32 -0
- package/src/ui/primitives/popover/__workshop__/OpenOnMountStory.tsx +11 -0
- package/src/ui/primitives/popover/__workshop__/PlainStory.tsx +71 -0
- package/src/ui/primitives/popover/__workshop__/SidePanelStory.tsx +93 -0
- package/src/ui/primitives/popover/__workshop__/TestStory.tsx +98 -0
- package/src/ui/primitives/popover/floating-ui/size.ts +83 -0
- package/src/ui/primitives/popover/helpers.ts +32 -0
- package/src/ui/primitives/popover/popover.tsx +440 -0
- package/src/ui/primitives/popover/popoverCard.tsx +162 -0
- package/src/ui/primitives/radio/__workshop__/plain.tsx +28 -0
- package/src/ui/primitives/radio/radio.tsx +49 -0
- package/src/ui/primitives/select/__workshop__/plain.tsx +30 -0
- package/src/ui/primitives/select/__workshop__/readOnly.tsx +23 -0
- package/src/ui/primitives/select/select.tsx +85 -0
- package/src/ui/primitives/spinner/__workshop__/Props.tsx +16 -0
- package/src/ui/primitives/spinner/spinner.tsx +33 -0
- package/src/ui/primitives/stack/__workshop__/plain.tsx +32 -0
- package/src/ui/primitives/stack/index.ts +1 -0
- package/src/ui/primitives/stack/stack.tsx +45 -0
- package/src/ui/primitives/switch/switch.tsx +75 -0
- package/src/ui/primitives/text/__workshop__/colored.tsx +23 -0
- package/src/ui/primitives/text/__workshop__/example.tsx +39 -0
- package/src/ui/primitives/text/__workshop__/opticalAlignment.tsx +48 -0
- package/src/ui/primitives/text/text.tsx +64 -0
- package/src/ui/primitives/textArea/__workshop__/plain.tsx +50 -0
- package/src/ui/primitives/textArea/textArea.tsx +71 -0
- package/src/ui/primitives/textInput/__workshop__/index.ts +44 -0
- package/src/ui/primitives/textInput/__workshop__/plain.tsx +104 -0
- package/src/ui/primitives/textInput/__workshop__/readOnly.tsx +9 -0
- package/src/ui/primitives/textInput/__workshop__/tones.tsx +277 -0
- package/src/ui/primitives/textInput/__workshop__/typed.tsx +23 -0
- package/src/ui/primitives/textInput/textInput.tsx +286 -0
- package/src/ui/primitives/tooltip/__workshop__/customPortal.tsx +102 -0
- package/src/ui/primitives/tooltip/__workshop__/overflowingBoundary.tsx +74 -0
- package/src/ui/primitives/tooltip/__workshop__/props.tsx +111 -0
- package/src/ui/primitives/tooltip/__workshop__/resizableBoundary.tsx +86 -0
- package/src/ui/primitives/tooltip/tooltip.test.tsx +453 -0
- package/src/ui/primitives/tooltip/tooltip.tsx +473 -0
- package/src/ui/primitives/tooltip/tooltipCard.tsx +115 -0
- package/src/ui/primitives/tooltip/tooltipDelayGroup/index.ts +4 -0
- package/src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +55 -0
- package/src/ui/primitives/tooltip/tooltipDelayGroup/types.ts +10 -0
- package/src/ui/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +13 -0
- package/src/ui/primitives/types.ts +166 -0
- package/src/ui/types/box.ts +22 -0
- package/src/ui/types/button.ts +24 -0
- package/src/ui/types/flex.ts +27 -0
- package/src/ui/types/grid.ts +17 -0
- package/src/ui/types/gridItem.ts +32 -0
- package/src/ui/types/index.ts +15 -0
- package/src/ui/types/props.ts +18 -0
- package/src/ui/types/selectable.ts +7 -0
- package/src/ui/utils/arrow/arrow.tsx +51 -0
- package/src/ui/utils/boundaryElement/boundaryElement.test.tsx +100 -0
- package/src/ui/utils/boundaryElement/boundaryElementProvider.tsx +24 -0
- package/src/ui/utils/boundaryElement/index.ts +3 -0
- package/src/ui/utils/boundaryElement/useBoundaryElement.ts +26 -0
- package/src/ui/utils/conditionalWrapper/conditionalWrapper.tsx +23 -0
- package/src/ui/utils/elementQuery/elementQuery.tsx +55 -0
- package/src/ui/utils/errorBoundary.tsx +48 -0
- package/src/ui/utils/getElementRef.ts +26 -0
- package/src/ui/utils/layer/__workshop__/multipleRoots.tsx +49 -0
- package/src/ui/utils/layer/__workshop__/nested.tsx +98 -0
- package/src/ui/utils/layer/__workshop__/responsiveZOffset.tsx +13 -0
- package/src/ui/utils/layer/index.ts +4 -0
- package/src/ui/utils/layer/layer.test.tsx +108 -0
- package/src/ui/utils/layer/layer.tsx +112 -0
- package/src/ui/utils/layer/layerProvider.tsx +110 -0
- package/src/ui/utils/layer/useLayer.ts +26 -0
- package/src/ui/utils/portal/portal.test.tsx +103 -0
- package/src/ui/utils/portal/portal.ts +46 -0
- package/src/ui/utils/portal/portalProvider.tsx +79 -0
- package/src/ui/utils/portal/usePortal.ts +25 -0
- package/src/ui/utils/spanWithTextOverflow.tsx +10 -0
- package/src/ui/utils/srOnly/index.ts +1 -0
- package/src/ui/utils/srOnly/srOnly.tsx +35 -0
- package/src/ui/utils/virtualList/virtualList.tsx +194 -0
- package/dist/css.esm.js +0 -3794
- package/dist/css.esm.js.map +0 -1
- package/dist/index.esm.js +0 -5431
- package/dist/index.esm.js.map +0 -1
- package/dist/theme.esm.js +0 -4201
- package/dist/theme.esm.js.map +0 -1
- package/src/core/__workshop__/constants.ts +0 -305
- package/src/core/__workshop__/fontsPlugin.tsx +0 -76
- package/src/core/_compat/index.ts +0 -2
- package/src/core/_compat/styles/border/borderStyle.ts +0 -61
- package/src/core/_compat/styles/border/index.ts +0 -2
- package/src/core/_compat/styles/border/types.ts +0 -11
- package/src/core/_compat/styles/box/boxStyle.ts +0 -74
- package/src/core/_compat/styles/box/index.ts +0 -2
- package/src/core/_compat/styles/box/types.ts +0 -11
- package/src/core/_compat/styles/card/_cardColorStyle.ts +0 -101
- package/src/core/_compat/styles/card/index.ts +0 -1
- package/src/core/_compat/styles/flex/flexItemStyle.ts +0 -26
- package/src/core/_compat/styles/flex/flexStyle.ts +0 -69
- package/src/core/_compat/styles/flex/index.ts +0 -3
- package/src/core/_compat/styles/flex/types.ts +0 -24
- package/src/core/_compat/styles/focusRing/index.ts +0 -25
- package/src/core/_compat/styles/font/codeFontStyle.ts +0 -12
- package/src/core/_compat/styles/font/headingFontStyle.ts +0 -12
- package/src/core/_compat/styles/font/index.ts +0 -6
- package/src/core/_compat/styles/font/labelFontStyle.ts +0 -12
- package/src/core/_compat/styles/font/responsiveFont.ts +0 -101
- package/src/core/_compat/styles/font/textAlignStyle.ts +0 -18
- package/src/core/_compat/styles/font/textFontStyle.ts +0 -12
- package/src/core/_compat/styles/font/types.ts +0 -34
- package/src/core/_compat/styles/grid/gridItemStyle.ts +0 -81
- package/src/core/_compat/styles/grid/gridStyle.ts +0 -97
- package/src/core/_compat/styles/grid/index.ts +0 -3
- package/src/core/_compat/styles/grid/types.ts +0 -37
- package/src/core/_compat/styles/helpers.ts +0 -81
- package/src/core/_compat/styles/index.ts +0 -5
- package/src/core/_compat/styles/input/index.ts +0 -2
- package/src/core/_compat/styles/input/responsiveInputPaddingStyle.ts +0 -77
- package/src/core/_compat/styles/input/textInputStyle.ts +0 -263
- package/src/core/_compat/styles/internal.ts +0 -12
- package/src/core/_compat/styles/margin/index.ts +0 -2
- package/src/core/_compat/styles/margin/marginStyle.ts +0 -20
- package/src/core/_compat/styles/margin/marginsStyle.test.ts +0 -32
- package/src/core/_compat/styles/margin/types.ts +0 -9
- package/src/core/_compat/styles/padding/index.ts +0 -2
- package/src/core/_compat/styles/padding/paddingStyle.test.ts +0 -32
- package/src/core/_compat/styles/padding/paddingStyle.ts +0 -20
- package/src/core/_compat/styles/padding/types.ts +0 -12
- package/src/core/_compat/styles/radius/index.ts +0 -2
- package/src/core/_compat/styles/radius/radiusStyle.ts +0 -22
- package/src/core/_compat/styles/radius/types.ts +0 -8
- package/src/core/_compat/styles/shadow/index.ts +0 -2
- package/src/core/_compat/styles/shadow/shadowStyle.ts +0 -29
- package/src/core/_compat/styles/shadow/types.ts +0 -6
- package/src/core/_compat/styles/types.ts +0 -8
- package/src/core/_compat/types.ts +0 -264
- package/src/core/components/autocomplete/__mocks__/apiStore.ts +0 -49
- package/src/core/components/autocomplete/__workshop__/.eslintrc +0 -5
- package/src/core/components/autocomplete/__workshop__/async.tsx +0 -155
- package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -136
- package/src/core/components/autocomplete/__workshop__/custom.tsx +0 -89
- package/src/core/components/autocomplete/__workshop__/example.tsx +0 -79
- package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +0 -293
- package/src/core/components/autocomplete/autocomplete.tsx +0 -735
- package/src/core/components/autocomplete/autocompleteOption.tsx +0 -44
- package/src/core/components/autocomplete/types.ts +0 -108
- package/src/core/components/breadcrumbs/__workshop__/.eslintrc +0 -5
- package/src/core/components/breadcrumbs/__workshop__/example.tsx +0 -55
- package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -111
- package/src/core/components/dialog/__workshop__/.eslintrc +0 -5
- package/src/core/components/dialog/__workshop__/activate.tsx +0 -133
- package/src/core/components/dialog/__workshop__/nested.tsx +0 -72
- package/src/core/components/dialog/__workshop__/onScroll.tsx +0 -39
- package/src/core/components/dialog/__workshop__/panes.tsx +0 -81
- package/src/core/components/dialog/__workshop__/position.tsx +0 -29
- package/src/core/components/dialog/__workshop__/props.tsx +0 -76
- package/src/core/components/dialog/__workshop__/wrapped.tsx +0 -78
- package/src/core/components/dialog/dialog.tsx +0 -410
- package/src/core/components/dialog/dialogProvider.tsx +0 -34
- package/src/core/components/dialog/useDialog.ts +0 -10
- package/src/core/components/hotkeys/__workshop__/.eslintrc +0 -5
- package/src/core/components/hotkeys/hotkeys.tsx +0 -50
- package/src/core/components/menu/__workshop__/.eslintrc +0 -5
- package/src/core/components/menu/__workshop__/asComponent.tsx +0 -44
- package/src/core/components/menu/__workshop__/avatarMenu.tsx +0 -50
- package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +0 -133
- package/src/core/components/menu/__workshop__/customSelectedState.tsx +0 -38
- package/src/core/components/menu/__workshop__/menuButton.tsx +0 -79
- package/src/core/components/menu/__workshop__/shouldFocus.tsx +0 -46
- package/src/core/components/menu/__workshop__/tones.tsx +0 -25
- package/src/core/components/menu/menu.test.tsx +0 -129
- package/src/core/components/menu/menu.tsx +0 -173
- package/src/core/components/menu/menuButton.tsx +0 -289
- package/src/core/components/menu/menuContext.ts +0 -29
- package/src/core/components/menu/menuDivider.tsx +0 -16
- package/src/core/components/menu/menuGroup.tsx +0 -204
- package/src/core/components/menu/menuItem.tsx +0 -187
- package/src/core/components/menu/useMenu.ts +0 -20
- package/src/core/components/menu/useMenuController.ts +0 -230
- package/src/core/components/skeleton/__workshop__/.eslintrc +0 -5
- package/src/core/components/skeleton/__workshop__/delay.tsx +0 -69
- package/src/core/components/skeleton/__workshop__/skeleton.tsx +0 -63
- package/src/core/components/skeleton/skeleton.tsx +0 -52
- package/src/core/components/skeleton/textSkeleton.tsx +0 -146
- package/src/core/components/tab/__workshop__/.eslintrc +0 -5
- package/src/core/components/tab/tab.tsx +0 -98
- package/src/core/components/tab/tabList.tsx +0 -61
- package/src/core/components/tab/tabPanel.tsx +0 -39
- package/src/core/components/toast/__workshop__/.eslintrc +0 -5
- package/src/core/components/toast/__workshop__/hook.tsx +0 -71
- package/src/core/components/toast/__workshop__/toast.tsx +0 -25
- package/src/core/components/toast/toast.test.tsx +0 -102
- package/src/core/components/toast/toast.tsx +0 -122
- package/src/core/components/toast/toastProvider.tsx +0 -193
- package/src/core/components/toast/types.ts +0 -20
- package/src/core/components/toast/useToast.ts +0 -24
- package/src/core/components/tree/__workshop__/.eslintrc +0 -5
- package/src/core/components/tree/__workshop__/basic.tsx +0 -104
- package/src/core/components/tree/__workshop__/tabFromElement.tsx +0 -83
- package/src/core/components/tree/tree.tsx +0 -241
- package/src/core/components/tree/treeGroup.tsx +0 -32
- package/src/core/components/tree/treeItem.tsx +0 -213
- package/src/core/components/tree/useTree.ts +0 -16
- package/src/core/constants.ts +0 -57
- package/src/core/helpers/focus.ts +0 -100
- package/src/core/helpers/index.ts +0 -4
- package/src/core/hooks/useArrayProp.ts +0 -25
- package/src/core/hooks/useClickOutside.test.tsx +0 -483
- package/src/core/hooks/useClickOutside.ts +0 -116
- package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -116
- package/src/core/hooks/useClickOutsideEvent.ts +0 -72
- package/src/core/hooks/useDelayed.test.ts +0 -67
- package/src/core/hooks/useDelayedState.ts +0 -29
- package/src/core/hooks/useElementRect/__workshop__/.eslintrc +0 -5
- package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -31
- package/src/core/hooks/useElementSize.ts +0 -18
- package/src/core/hooks/useForwardedRef.ts +0 -19
- package/src/core/hooks/useGlobalKeyDown.ts +0 -12
- package/src/core/hooks/useMatchMedia.ts +0 -46
- package/src/core/hooks/useMediaIndex/__workshop__/.eslintrc +0 -5
- package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -35
- package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -101
- package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -57
- package/src/core/hooks/usePrefersDark.test.tsx +0 -18
- package/src/core/hooks/usePrefersDark.ts +0 -16
- package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -57
- package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -18
- package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
- package/src/core/index.ts +0 -10
- package/src/core/lib/createGlobalScopedContext.ts +0 -33
- package/src/core/lib/globalScope.ts +0 -20
- package/src/core/lib/styled/elements.ts +0 -135
- package/src/core/lib/styled/index.ts +0 -2
- package/src/core/lib/styled/members.ts +0 -15
- package/src/core/lib/styled/styled.ts +0 -79
- package/src/core/primitives/_selectable/selectable.tsx +0 -27
- package/src/core/primitives/avatar/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/avatar/__workshop__/asButton.tsx +0 -13
- package/src/core/primitives/avatar/__workshop__/stack.tsx +0 -24
- package/src/core/primitives/avatar/__workshop__/withinButton.tsx +0 -62
- package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -69
- package/src/core/primitives/avatar/avatar.tsx +0 -196
- package/src/core/primitives/avatar/avatarCounter.tsx +0 -93
- package/src/core/primitives/avatar/avatarStack.tsx +0 -100
- package/src/core/primitives/avatar/styles.ts +0 -166
- package/src/core/primitives/avatar/types.ts +0 -16
- package/src/core/primitives/badge/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/badge/__workshop__/props.tsx +0 -29
- package/src/core/primitives/badge/__workshop__/tones.tsx +0 -20
- package/src/core/primitives/badge/badge.test.tsx +0 -15
- package/src/core/primitives/badge/badge.tsx +0 -59
- package/src/core/primitives/badge/styles.ts +0 -19
- package/src/core/primitives/box/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/box/__workshop__/props.tsx +0 -19
- package/src/core/primitives/box/box.tsx +0 -121
- package/src/core/primitives/button/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/button/__workshop__/custom.tsx +0 -47
- package/src/core/primitives/button/__workshop__/disabled.tsx +0 -73
- package/src/core/primitives/button/__workshop__/props.tsx +0 -53
- package/src/core/primitives/button/__workshop__/stacked.tsx +0 -58
- package/src/core/primitives/button/button.test.tsx +0 -43
- package/src/core/primitives/button/button.tsx +0 -181
- package/src/core/primitives/button/styles.ts +0 -116
- package/src/core/primitives/card/RootCardContext.ts +0 -3
- package/src/core/primitives/card/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/card/__workshop__/allTones.tsx +0 -27
- package/src/core/primitives/card/__workshop__/asButton.tsx +0 -88
- package/src/core/primitives/card/__workshop__/asComponent.tsx +0 -27
- package/src/core/primitives/card/__workshop__/checkered.tsx +0 -16
- package/src/core/primitives/card/__workshop__/interactive.tsx +0 -23
- package/src/core/primitives/card/__workshop__/listNavigation.tsx +0 -77
- package/src/core/primitives/card/__workshop__/props.tsx +0 -49
- package/src/core/primitives/card/__workshop__/selected.tsx +0 -91
- package/src/core/primitives/card/card.tsx +0 -110
- package/src/core/primitives/card/index.ts +0 -2
- package/src/core/primitives/card/types.ts +0 -11
- package/src/core/primitives/checkbox/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/checkbox/__workshop__/tones.tsx +0 -22
- package/src/core/primitives/checkbox/checkbox.tsx +0 -70
- package/src/core/primitives/code/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/code/__workshop__/props.tsx +0 -20
- package/src/core/primitives/code/code.tsx +0 -49
- package/src/core/primitives/code/styles.ts +0 -77
- package/src/core/primitives/container/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/container/__workshop__/example.tsx +0 -19
- package/src/core/primitives/container/container.tsx +0 -32
- package/src/core/primitives/container/styles.ts +0 -22
- package/src/core/primitives/flex/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/flex/__workshop__/example.tsx +0 -33
- package/src/core/primitives/flex/__workshop__/gap.tsx +0 -25
- package/src/core/primitives/flex/flex.tsx +0 -32
- package/src/core/primitives/grid/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/grid/__workshop__/responsive.tsx +0 -54
- package/src/core/primitives/grid/grid.tsx +0 -34
- package/src/core/primitives/heading/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +0 -66
- package/src/core/primitives/heading/__workshop__/plain.tsx +0 -31
- package/src/core/primitives/heading/heading.tsx +0 -82
- package/src/core/primitives/heading/styles.ts +0 -63
- package/src/core/primitives/heading/types.ts +0 -7
- package/src/core/primitives/inline/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/inline/__workshop__/plain.tsx +0 -26
- package/src/core/primitives/inline/inline.tsx +0 -47
- package/src/core/primitives/inline/styles.ts +0 -31
- package/src/core/primitives/kbd/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/kbd/kbd.tsx +0 -53
- package/src/core/primitives/label/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +0 -48
- package/src/core/primitives/label/__workshop__/plain.tsx +0 -23
- package/src/core/primitives/label/label.tsx +0 -91
- package/src/core/primitives/label/styles.ts +0 -44
- package/src/core/primitives/popover/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -76
- package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -31
- package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
- package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -70
- package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -86
- package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -97
- package/src/core/primitives/popover/floating-ui/size.ts +0 -82
- package/src/core/primitives/popover/helpers.ts +0 -31
- package/src/core/primitives/popover/popover.tsx +0 -476
- package/src/core/primitives/popover/popoverCard.tsx +0 -153
- package/src/core/primitives/radio/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/radio/__workshop__/plain.tsx +0 -28
- package/src/core/primitives/radio/radio.tsx +0 -50
- package/src/core/primitives/radio/styles.ts +0 -116
- package/src/core/primitives/select/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/select/__workshop__/plain.tsx +0 -27
- package/src/core/primitives/select/__workshop__/readOnly.tsx +0 -23
- package/src/core/primitives/select/select.tsx +0 -86
- package/src/core/primitives/select/styles.ts +0 -166
- package/src/core/primitives/spinner/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -15
- package/src/core/primitives/spinner/spinner.tsx +0 -31
- package/src/core/primitives/stack/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/stack/__workshop__/plain.tsx +0 -31
- package/src/core/primitives/stack/stack.tsx +0 -41
- package/src/core/primitives/stack/styles.ts +0 -31
- package/src/core/primitives/switch/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/switch/styles.ts +0 -172
- package/src/core/primitives/switch/switch.tsx +0 -66
- package/src/core/primitives/text/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/text/__workshop__/colored.tsx +0 -29
- package/src/core/primitives/text/__workshop__/example.tsx +0 -38
- package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +0 -58
- package/src/core/primitives/text/styles.ts +0 -73
- package/src/core/primitives/text/text.tsx +0 -82
- package/src/core/primitives/textArea/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/textArea/__workshop__/plain.tsx +0 -49
- package/src/core/primitives/textArea/textArea.tsx +0 -118
- package/src/core/primitives/textInput/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/textInput/__workshop__/index.ts +0 -49
- package/src/core/primitives/textInput/__workshop__/multipleTones.tsx +0 -20
- package/src/core/primitives/textInput/__workshop__/plain.tsx +0 -99
- package/src/core/primitives/textInput/__workshop__/readOnly.tsx +0 -5
- package/src/core/primitives/textInput/__workshop__/tones.tsx +0 -239
- package/src/core/primitives/textInput/__workshop__/typed.tsx +0 -22
- package/src/core/primitives/textInput/textInput.tsx +0 -373
- package/src/core/primitives/tooltip/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +0 -101
- package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -73
- package/src/core/primitives/tooltip/__workshop__/props.tsx +0 -106
- package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -85
- package/src/core/primitives/tooltip/tooltip.test.tsx +0 -451
- package/src/core/primitives/tooltip/tooltip.tsx +0 -464
- package/src/core/primitives/tooltip/tooltipCard.tsx +0 -110
- package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
- package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -57
- package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -11
- package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -12
- package/src/core/primitives/types.ts +0 -166
- package/src/core/theme/__workshop__/.eslintrc +0 -5
- package/src/core/theme/__workshop__/build/Root.tsx +0 -367
- package/src/core/theme/__workshop__/build/helpers.ts +0 -46
- package/src/core/theme/__workshop__/build/story.tsx +0 -457
- package/src/core/theme/__workshop__/canvas.tsx +0 -350
- package/src/core/theme/__workshop__/color.tsx +0 -62
- package/src/core/theme/__workshop__/debug/story.tsx +0 -401
- package/src/core/theme/__workshop__/index.ts +0 -39
- package/src/core/theme/__workshop__/layer.tsx +0 -78
- package/src/core/theme/__workshop__/nestedProvider.tsx +0 -15
- package/src/core/theme/index.ts +0 -5
- package/src/core/theme/theme.test.tsx +0 -73
- package/src/core/theme/themeColorProvider.tsx +0 -28
- package/src/core/theme/themeContext.ts +0 -10
- package/src/core/theme/themeProvider.tsx +0 -63
- package/src/core/theme/useRootTheme.ts +0 -16
- package/src/core/theme/useTheme.ts +0 -16
- package/src/core/types/box.ts +0 -25
- package/src/core/types/button.ts +0 -22
- package/src/core/types/flex.ts +0 -31
- package/src/core/types/grid.ts +0 -19
- package/src/core/types/gridItem.ts +0 -37
- package/src/core/types/index.ts +0 -14
- package/src/core/types/selectable.ts +0 -6
- package/src/core/utils/arrow/arrow.tsx +0 -122
- package/src/core/utils/boundaryElement/__workshop__/.eslintrc +0 -5
- package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -101
- package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -23
- package/src/core/utils/boundaryElement/index.ts +0 -3
- package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -25
- package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -21
- package/src/core/utils/elementQuery/__workshop__/.eslintrc +0 -5
- package/src/core/utils/elementQuery/elementQuery.tsx +0 -53
- package/src/core/utils/errorBoundary.tsx +0 -47
- package/src/core/utils/layer/__workshop__/.eslintrc +0 -5
- package/src/core/utils/layer/__workshop__/multipleRoots.tsx +0 -48
- package/src/core/utils/layer/__workshop__/nested.tsx +0 -97
- package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +0 -12
- package/src/core/utils/layer/index.ts +0 -4
- package/src/core/utils/layer/layer.test.tsx +0 -109
- package/src/core/utils/layer/layer.tsx +0 -108
- package/src/core/utils/layer/layerProvider.tsx +0 -109
- package/src/core/utils/layer/useLayer.ts +0 -25
- package/src/core/utils/portal/__workshop__/.eslintrc +0 -5
- package/src/core/utils/portal/portal.test.tsx +0 -104
- package/src/core/utils/portal/portal.ts +0 -31
- package/src/core/utils/portal/portalProvider.tsx +0 -78
- package/src/core/utils/portal/usePortal.ts +0 -24
- package/src/core/utils/srOnly/srOnly.tsx +0 -36
- package/src/core/utils/virtualList/__workshop__/.eslintrc +0 -5
- package/src/core/utils/virtualList/virtualList.tsx +0 -170
- package/src/css/cli/buildCommand.ts +0 -36
- package/src/css/cli/index.ts +0 -38
- package/src/css/components/breadcrumbs/rules.ts +0 -25
- package/src/css/components/dialog/classes.ts +0 -29
- package/src/css/components/dialog/rules.ts +0 -75
- package/src/css/components/skeleton/rules.ts +0 -106
- package/src/css/components/toast/rules.ts +0 -68
- package/src/css/components/tree/rules.ts +0 -167
- package/src/css/primitives/badge/rules.ts +0 -25
- package/src/css/primitives/box/rules.ts +0 -25
- package/src/css/primitives/card/rules.ts +0 -241
- package/src/css/primitives/popover/rules.ts +0 -5
- package/src/css/primitives/selectable/__style.ts +0 -117
- package/src/css/primitives/selectable/rules.ts +0 -27
- package/src/css/primitives/selectable/selectable.ts +0 -9
- package/src/css/primitives/selectable/types.ts +0 -6
- package/src/css/primitives/spinner/rules.ts +0 -20
- package/src/css/primitives/token/rules.ts +0 -45
- package/src/css/rules.ts +0 -99
- package/src/css/styles/border/border.ts +0 -22
- package/src/css/styles/border/rules.ts +0 -24
- package/src/css/styles/display/rules.ts +0 -62
- package/src/css/styles/flex/flex.ts +0 -20
- package/src/css/styles/flex/rules.ts +0 -28
- package/src/css/styles/flexItem/flexItem.ts +0 -8
- package/src/css/styles/flexItem/rules.ts +0 -11
- package/src/css/styles/flexItem/types.ts +0 -11
- package/src/css/styles/font/font.ts +0 -17
- package/src/css/styles/font/rules.ts +0 -148
- package/src/css/styles/gap/gap.ts +0 -8
- package/src/css/styles/gap/rules.ts +0 -33
- package/src/css/styles/gap/types.ts +0 -9
- package/src/css/styles/grid/grid.ts +0 -13
- package/src/css/styles/grid/rules.ts +0 -146
- package/src/css/styles/grid/types.ts +0 -29
- package/src/css/styles/gridItem/gridItem.ts +0 -15
- package/src/css/styles/gridItem/rules.ts +0 -96
- package/src/css/styles/margin/margin.ts +0 -15
- package/src/css/styles/margin/rules.ts +0 -63
- package/src/css/styles/maxWidth/rules.ts +0 -36
- package/src/css/styles/maxWidth/types.ts +0 -6
- package/src/css/styles/outline/rules.ts +0 -7
- package/src/css/styles/overflow/overflow.ts +0 -11
- package/src/css/styles/overflow/rules.ts +0 -9
- package/src/css/styles/padding/padding.ts +0 -15
- package/src/css/styles/padding/rules.ts +0 -61
- package/src/css/styles/padding/types.ts +0 -12
- package/src/css/styles/pointerEvents/pointerEvents.ts +0 -6
- package/src/css/styles/pointerEvents/rules.ts +0 -11
- package/src/css/styles/position/position.ts +0 -7
- package/src/css/styles/position/rules.ts +0 -31
- package/src/css/styles/position/types.ts +0 -13
- package/src/css/styles/radius/radius.ts +0 -8
- package/src/css/styles/radius/rules.ts +0 -13
- package/src/css/styles/radius/types.ts +0 -7
- package/src/css/styles/shadow/rules.ts +0 -53
- package/src/css/styles/width/index.ts +0 -2
- package/src/css/styles/width/rules.ts +0 -7
- package/src/css/styles/width/types.ts +0 -8
- package/src/theme/system/_constants.ts +0 -25
- package/src/theme/system/_types.ts +0 -41
- package/src/theme/system/avatar.ts +0 -14
- package/src/theme/system/color/_constants.ts +0 -41
- package/src/theme/system/color/_helpers.ts +0 -23
- package/src/theme/system/color/_system.ts +0 -40
- package/src/theme/system/color/badge.ts +0 -20
- package/src/theme/system/color/color.ts +0 -34
- package/src/theme/system/css.ts +0 -9
- package/src/theme/system/font.ts +0 -52
- package/src/theme/system/index.ts +0 -14
- package/src/theme/system/input.ts +0 -33
- package/src/theme/system/theme.ts +0 -138
- package/src/theme/system/v0/color/_generic.ts +0 -35
- package/src/theme/system/v0/color/_system.ts +0 -13
- package/src/theme/system/v0/color/color.ts +0 -39
- package/src/theme/system/v0/color/index.ts +0 -11
- package/src/theme/system/v0/color/input.ts +0 -34
- package/src/theme/system/v0/color/spot.ts +0 -13
- package/src/theme/system/v0/index.ts +0 -3
- package/theme.js +0 -2
- /package/src/css/{styles → aspects}/border/index.ts +0 -0
- /package/src/css/{styles → aspects}/border/types.ts +0 -0
- /package/src/css/{styles → aspects}/flex/index.ts +0 -0
- /package/src/css/{styles → aspects}/flex/types.ts +0 -0
- /package/src/css/{styles → aspects}/flexItem/index.ts +0 -0
- /package/src/css/{styles → aspects}/font/index.ts +0 -0
- /package/src/css/{styles → aspects}/font/types.ts +0 -0
- /package/src/css/{styles → aspects}/gap/index.ts +0 -0
- /package/src/css/{styles → aspects}/grid/index.ts +0 -0
- /package/src/css/{styles → aspects}/gridItem/index.ts +0 -0
- /package/src/css/{styles → aspects}/gridItem/types.ts +0 -0
- /package/src/css/{styles → aspects}/height/rules.ts +0 -0
- /package/src/css/{styles → aspects}/margin/index.ts +0 -0
- /package/src/css/{styles → aspects}/margin/types.ts +0 -0
- /package/src/css/{styles → aspects}/maxWidth/index.ts +0 -0
- /package/src/css/{styles → aspects}/maxWidth/maxWidth.ts +0 -0
- /package/src/css/{styles → aspects}/overflow/index.ts +0 -0
- /package/src/css/{styles → aspects}/overflow/types.ts +0 -0
- /package/src/css/{styles → aspects}/padding/index.ts +0 -0
- /package/src/css/{styles → aspects}/pointerEvents/index.ts +0 -0
- /package/src/css/{styles → aspects}/pointerEvents/types.ts +0 -0
- /package/src/css/{styles → aspects}/position/index.ts +0 -0
- /package/src/css/{styles → aspects}/radius/index.ts +0 -0
- /package/src/css/{styles → aspects}/width/width.ts +0 -0
- /package/src/css/primitives/{selectable → _selectable}/index.ts +0 -0
- /package/src/{core → css}/primitives/stack/index.ts +0 -0
- /package/src/{core → css}/utils/srOnly/index.ts +0 -0
- /package/src/theme/{system/v0 → v0}/avatar.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/base.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/button.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/card.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/muted.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/selectable.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/solid.ts +0 -0
- /package/src/theme/{system → v0}/focusRing.ts +0 -0
- /package/src/theme/{system/v0 → v0}/input.ts +0 -0
- /package/src/theme/{system → v0}/layer.ts +0 -0
- /package/src/theme/{system → v0}/shadow.ts +0 -0
- /package/src/theme/{system → v0}/styles.ts +0 -0
- /package/src/theme/{system → v2}/color/avatar.ts +0 -0
- /package/src/theme/{system → v2}/color/button.ts +0 -0
- /package/src/theme/{system → v2}/color/index.ts +0 -0
- /package/src/theme/{system → v2}/color/input.ts +0 -0
- /package/src/theme/{system → v2}/color/kbd.ts +0 -0
- /package/src/theme/{system → v2}/color/selectable.ts +0 -0
- /package/src/theme/{system → v2}/color/shadow.ts +0 -0
- /package/src/theme/{system → v2}/color/state.ts +0 -0
- /package/src/theme/{system → v2}/color/syntax.ts +0 -0
- /package/src/{core → ui/_compat}/theme/types.ts +0 -0
- /package/src/{core/components/autocomplete/__fixtures__ → ui/components/autocomplete/__mocks__}/countries.ts +0 -0
- /package/src/{core → ui}/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -0
- /package/src/{core → ui}/components/autocomplete/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/autocomplete/__workshop__/types.ts +0 -0
- /package/src/{core → ui}/components/autocomplete/autocompleteReducer.ts +0 -0
- /package/src/{core → ui}/components/autocomplete/constants.ts +0 -0
- /package/src/{core → ui}/components/autocomplete/index.ts +0 -0
- /package/src/{core → ui}/components/breadcrumbs/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/breadcrumbs/index.ts +0 -0
- /package/src/{core → ui}/components/dialog/__workshop__/autoFocus.tsx +0 -0
- /package/src/{core → ui}/components/dialog/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/dialog/__workshop__/layering.tsx +0 -0
- /package/src/{core → ui}/components/dialog/__workshop__/provider.tsx +0 -0
- /package/src/{core → ui}/components/dialog/dialogContext.ts +0 -0
- /package/src/{core → ui}/components/dialog/index.ts +0 -0
- /package/src/{core → ui}/components/hotkeys/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/hotkeys/__workshop__/plain.tsx +0 -0
- /package/src/{core → ui}/components/hotkeys/index.ts +0 -0
- /package/src/{core → ui}/components/index.ts +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/closableMenuButton.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/customMenuItem.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/disableFocusOnClose.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/groups.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/menuGroupRight.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/nestedMenu.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/onCloseMenuButton.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/selectedItem.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/withoutArrow.tsx +0 -0
- /package/src/{core → ui}/components/menu/helpers.ts +0 -0
- /package/src/{core → ui}/components/menu/index.ts +0 -0
- /package/src/{core → ui}/components/skeleton/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/skeleton/index.ts +0 -0
- /package/src/{core → ui}/components/tab/__workshop__/example.tsx +0 -0
- /package/src/{core → ui}/components/tab/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/tab/index.ts +0 -0
- /package/src/{core → ui}/components/toast/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/toast/index.ts +0 -0
- /package/src/{core → ui}/components/toast/toastContext.ts +0 -0
- /package/src/{core → ui}/components/tree/__workshop__/basic.perf.ts +0 -0
- /package/src/{core → ui}/components/tree/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/tree/helpers.ts +0 -0
- /package/src/{core → ui}/components/tree/index.ts +0 -0
- /package/src/{core → ui}/components/tree/treeContext.ts +0 -0
- /package/src/{core → ui}/components/tree/types.ts +0 -0
- /package/src/{core → ui}/global.ts +0 -0
- /package/src/{core → ui}/helpers/animation.ts +0 -0
- /package/src/{core → ui}/helpers/element.ts +0 -0
- /package/src/{core → ui}/helpers/scroll.ts +0 -0
- /package/src/{core → ui}/hooks/index.ts +0 -0
- /package/src/{core → ui}/hooks/useCustomValidity.ts +0 -0
- /package/src/{core → ui}/hooks/useElementRect/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/hooks/useElementRect/index.ts +0 -0
- /package/src/{core → ui}/hooks/useElementRect/useElementRect.ts +0 -0
- /package/src/{core → ui}/hooks/useIsomorphicEffect.ts +0 -0
- /package/src/{core → ui}/hooks/useMediaIndex/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/hooks/useMediaIndex/__workshop__/test.tsx +0 -0
- /package/src/{core → ui}/hooks/useMediaIndex/index.ts +0 -0
- /package/src/{core → ui}/hooks/useMounted.ts +0 -0
- /package/src/{core → ui}/lib/isRecord.ts +0 -0
- /package/src/{core → ui}/middleware/origin.ts +0 -0
- /package/src/{core → ui}/observers/elementSizeObserver.ts +0 -0
- /package/src/{core → ui}/observers/index.ts +0 -0
- /package/src/{core → ui}/observers/resizeObserver.ts +0 -0
- /package/src/{core → ui}/primitives/_selectable/index.ts +0 -0
- /package/src/{core → ui}/primitives/avatar/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/avatar/index.ts +0 -0
- /package/src/{core → ui}/primitives/badge/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/badge/index.ts +0 -0
- /package/src/{core → ui}/primitives/badge/types.ts +0 -0
- /package/src/{core → ui}/primitives/box/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/box/__workshop__/responsive.tsx +0 -0
- /package/src/{core → ui}/primitives/box/index.ts +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/customIcons.tsx +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/mixedChildren.tsx +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/sanityUploadButton.tsx +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/styled1.tsx +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/styled2.tsx +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/uploadButton.tsx +0 -0
- /package/src/{core → ui}/primitives/button/index.ts +0 -0
- /package/src/{core → ui}/primitives/card/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/card/__workshop__/styled.tsx +0 -0
- /package/src/{core → ui}/primitives/checkbox/__workshop__/example.tsx +0 -0
- /package/src/{core → ui}/primitives/checkbox/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/checkbox/__workshop__/props.tsx +0 -0
- /package/src/{core → ui}/primitives/checkbox/__workshop__/readOnly.tsx +0 -0
- /package/src/{core → ui}/primitives/checkbox/index.ts +0 -0
- /package/src/{core → ui}/primitives/code/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/code/__workshop__/opticalAlignment.tsx +0 -0
- /package/src/{core → ui}/primitives/code/index.ts +0 -0
- /package/src/{core → ui}/primitives/container/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/container/index.ts +0 -0
- /package/src/{core → ui}/primitives/container/types.ts +0 -0
- /package/src/{core → ui}/primitives/flex/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/flex/index.ts +0 -0
- /package/src/{core → ui}/primitives/grid/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/grid/index.ts +0 -0
- /package/src/{core → ui}/primitives/heading/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/heading/index.ts +0 -0
- /package/src/{core → ui}/primitives/index.ts +0 -0
- /package/src/{core → ui}/primitives/inline/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/inline/index.ts +0 -0
- /package/src/{core → ui}/primitives/inline/types.ts +0 -0
- /package/src/{core → ui}/primitives/kbd/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/kbd/__workshop__/plain.tsx +0 -0
- /package/src/{core/primitives/kbd/index.tsx → ui/primitives/kbd/index.ts} +0 -0
- /package/src/{core → ui}/primitives/label/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/label/index.ts +0 -0
- /package/src/{core → ui}/primitives/popover/__workshop__/MarginsStory.tsx +0 -0
- /package/src/{core → ui}/primitives/popover/__workshop__/RecursiveStory.tsx +0 -0
- /package/src/{core → ui}/primitives/popover/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/popover/constants.ts +0 -0
- /package/src/{core → ui}/primitives/popover/index.ts +0 -0
- /package/src/{core → ui}/primitives/popover/types.ts +0 -0
- /package/src/{core → ui}/primitives/radio/__workshop__/example.tsx +0 -0
- /package/src/{core → ui}/primitives/radio/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/radio/index.ts +0 -0
- /package/src/{core → ui}/primitives/select/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/select/index.ts +0 -0
- /package/src/{core → ui}/primitives/spinner/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/spinner/animatedSpinnerIcon.tsx +0 -0
- /package/src/{core → ui}/primitives/spinner/index.ts +0 -0
- /package/src/{core → ui}/primitives/stack/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/switch/__workshop__/example.tsx +0 -0
- /package/src/{core → ui}/primitives/switch/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/switch/__workshop__/props.tsx +0 -0
- /package/src/{core → ui}/primitives/switch/index.ts +0 -0
- /package/src/{core → ui}/primitives/text/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/text/index.ts +0 -0
- /package/src/{core → ui}/primitives/textArea/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/textArea/index.ts +0 -0
- /package/src/{core → ui}/primitives/textInput/__workshop__/clearButton.tsx +0 -0
- /package/src/{core → ui}/primitives/textInput/__workshop__/customValidity.tsx +0 -0
- /package/src/{core → ui}/primitives/textInput/__workshop__/states.tsx +0 -0
- /package/src/{core → ui}/primitives/textInput/index.ts +0 -0
- /package/src/{core → ui}/primitives/tooltip/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/tooltip/constants.ts +0 -0
- /package/src/{core → ui}/primitives/tooltip/index.ts +0 -0
- /package/src/{core → ui}/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -0
- /package/src/{core → ui}/types/avatar.ts +0 -0
- /package/src/{core → ui}/types/badge.ts +0 -0
- /package/src/{core → ui}/types/card.ts +0 -0
- /package/src/{core → ui}/types/dialog.ts +0 -0
- /package/src/{core → ui}/types/placement.ts +0 -0
- /package/src/{core → ui}/types/popover.ts +0 -0
- /package/src/{core → ui}/types/radius.ts +0 -0
- /package/src/{core → ui}/types/text.ts +0 -0
- /package/src/{core → ui}/utils/arrow/cmds.ts +0 -0
- /package/src/{core → ui}/utils/arrow/index.ts +0 -0
- /package/src/{core → ui}/utils/boundaryElement/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/utils/boundaryElement/__workshop__/plain.tsx +0 -0
- /package/src/{core → ui}/utils/boundaryElement/boundaryElementContext.ts +0 -0
- /package/src/{core → ui}/utils/boundaryElement/types.ts +0 -0
- /package/src/{core → ui}/utils/conditionalWrapper/index.ts +0 -0
- /package/src/{core → ui}/utils/elementQuery/__workshop__/customMedia.tsx +0 -0
- /package/src/{core → ui}/utils/elementQuery/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/utils/elementQuery/helpers.ts +0 -0
- /package/src/{core → ui}/utils/elementQuery/index.ts +0 -0
- /package/src/{core → ui}/utils/index.ts +0 -0
- /package/src/{core → ui}/utils/layer/__workshop__/_debug.tsx +0 -0
- /package/src/{core → ui}/utils/layer/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/utils/layer/getLayerContext.test.ts +0 -0
- /package/src/{core → ui}/utils/layer/getLayerContext.ts +0 -0
- /package/src/{core → ui}/utils/layer/layerContext.ts +0 -0
- /package/src/{core → ui}/utils/layer/types.ts +0 -0
- /package/src/{core → ui}/utils/portal/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/utils/portal/__workshop__/named.tsx +0 -0
- /package/src/{core → ui}/utils/portal/index.ts +0 -0
- /package/src/{core → ui}/utils/portal/portalContext.ts +0 -0
- /package/src/{core → ui}/utils/portal/types.ts +0 -0
- /package/src/{core → ui}/utils/virtualList/__workshop__/changingProps.tsx +0 -0
- /package/src/{core → ui}/utils/virtualList/__workshop__/elementScroll.tsx +0 -0
- /package/src/{core → ui}/utils/virtualList/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/utils/virtualList/__workshop__/infiniteList.tsx +0 -0
- /package/src/{core → ui}/utils/virtualList/__workshop__/windowScrolll.tsx +0 -0
- /package/src/{core → ui}/utils/virtualList/index.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_visual-editing.js","sources":["../../src/ui/_compat/studioTheme.ts","../../src/ui/lib/globalScope.ts","../../src/ui/lib/createGlobalScopedContext.ts","../../src/ui/primitives/card/cardContext.ts","../../src/ui/primitives/card/cardProvider.tsx","../../src/ui/_compat/theme/themeContext.ts","../../src/ui/_compat/theme/themeProvider.tsx","../../src/ui/_compat/theme/useRootTheme.ts","../../src/ui/_compat/theme/themeColorProvider.tsx","../../src/ui/_compat/theme/useTheme.ts","../../src/ui/constants.ts","../../src/ui/helpers/element.ts","../../src/ui/helpers/props.ts","../../src/ui/helpers/scroll.ts","../../src/ui/hooks/useArrayProp.ts","../../src/ui/hooks/useClickOutsideEvent.ts","../../src/ui/hooks/useCustomValidity.ts","../../src/ui/observers/resizeObserver.ts","../../src/ui/observers/elementSizeObserver.ts","../../src/ui/hooks/useElementSize.ts","../../src/ui/hooks/useGlobalKeyDown.ts","../../src/ui/hooks/useMatchMedia.ts","../../src/ui/hooks/useMediaIndex/useMediaIndex.ts","../../src/ui/hooks/usePrefersDark.ts","../../src/ui/hooks/usePrefersReducedMotion.ts","../../src/ui/primitives/box/box.tsx","../../src/ui/primitives/label/label.tsx","../../src/ui/primitives/avatar/avatar.tsx","../../src/ui/primitives/avatar/avatarCounter.tsx","../../src/ui/primitives/avatar/avatarStack.tsx","../../src/ui/primitives/text/text.tsx","../../src/ui/primitives/badge/badge.tsx","../../src/ui/primitives/spinner/animatedSpinnerIcon.tsx","../../src/ui/primitives/spinner/spinner.tsx","../../src/ui/primitives/button/button.tsx","../../src/ui/primitives/card/useCard.ts","../../src/ui/primitives/card/card.tsx","../../src/ui/primitives/checkbox/checkbox.tsx","../../src/ui/primitives/code/code.tsx","../../src/ui/primitives/container/container.tsx","../../src/ui/primitives/flex/flex.tsx","../../src/ui/primitives/grid/grid.tsx","../../src/ui/primitives/heading/heading.tsx","../../src/ui/primitives/inline/inline.tsx","../../src/ui/primitives/kbd/kbd.tsx","../../src/ui/middleware/origin.ts","../../src/ui/utils/arrow/cmds.ts","../../src/ui/utils/arrow/arrow.tsx","../../src/ui/utils/boundaryElement/boundaryElementContext.ts","../../src/ui/utils/boundaryElement/boundaryElementProvider.tsx","../../src/ui/lib/isRecord.ts","../../src/ui/utils/boundaryElement/useBoundaryElement.ts","../../src/ui/utils/conditionalWrapper/conditionalWrapper.tsx","../../src/ui/utils/elementQuery/helpers.ts","../../src/ui/utils/elementQuery/elementQuery.tsx","../../src/ui/utils/layer/getLayerContext.ts","../../src/ui/utils/layer/layerContext.ts","../../src/ui/utils/layer/layerProvider.tsx","../../src/ui/utils/layer/useLayer.ts","../../src/ui/utils/layer/layer.tsx","../../src/ui/utils/portal/portalContext.ts","../../src/ui/utils/portal/usePortal.ts","../../src/ui/utils/portal/portal.ts","../../src/ui/utils/portal/portalProvider.tsx","../../src/ui/utils/srOnly/srOnly.tsx","../../src/ui/utils/virtualList/virtualList.tsx","../../src/ui/primitives/popover/constants.ts","../../src/ui/primitives/popover/floating-ui/size.ts","../../src/ui/primitives/popover/popoverCard.tsx","../../src/ui/primitives/popover/popover.tsx","../../src/ui/primitives/radio/radio.tsx","../../src/ui/primitives/select/select.tsx","../../src/ui/primitives/stack/stack.tsx","../../src/ui/primitives/switch/switch.tsx","../../src/ui/primitives/textArea/textArea.tsx","../../src/ui/primitives/textInput/textInput.tsx","../../src/ui/hooks/useDelayedState.ts","../../src/ui/utils/getElementRef.ts","../../src/ui/primitives/tooltip/constants.ts","../../src/ui/primitives/tooltip/tooltipCard.tsx","../../src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx","../../src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx","../../src/ui/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts","../../src/ui/primitives/tooltip/tooltip.tsx","../../src/ui/components/hotkeys/hotkeys.tsx","../../src/ui/components/menu/menuContext.ts","../../src/ui/components/menu/helpers.ts","../../src/ui/components/menu/useMenuController.ts","../../src/ui/components/menu/menu.tsx","../../src/ui/components/menu/menuDivider.tsx","../../src/ui/primitives/_selectable/selectable.tsx","../../src/ui/components/menu/useMenu.ts","../../src/ui/components/menu/menuGroup.tsx","../../src/ui/components/menu/menuItem.tsx","../../src/ui/components/tab/tab.tsx","../../src/ui/components/tab/tabList.tsx"],"sourcesContent":["import {buildTheme} from '@sanity/ui/theme'\n\n/**\n * @public\n * @deprecated Use `buildTheme` from `@sanity/ui/theme` instead.\n */\nexport const studioTheme = buildTheme()\n","/**\n * Gets the global scope instance in a given environment.\n *\n * The strategy is to return the most modern, and if not, the most common:\n * - The `globalThis` variable is the modern approach to accessing the global scope\n * - The `window` variable is the global scope in a web browser\n * - The `self` variable is the global scope in workers and others\n * - The `global` variable is the global scope in Node.js\n */\nfunction getGlobalScope() {\n if (typeof globalThis !== 'undefined') return globalThis\n if (typeof window !== 'undefined') return window\n if (typeof self !== 'undefined') return self\n if (typeof global !== 'undefined') return global\n\n throw new Error('@sanity/ui: could not locate global scope')\n}\n\nexport const globalScope = getGlobalScope() as any\n","/**\n * As `@sanity/ui` is declared as a dependency, and may be duplicated, sometimes across major versions\n * it's critical that vital react contexts are shared even when there is a duplicate.\n * If we used a model similar to `sanity` itself, or `styled-components`, this would be unnecessary as\n * those libraries enforce single instances.\n * Since we don't enforce it we have to support a sanity plugin being able to call hooks like `useToast`, and then\n * read the context setup by `sanity`, which calls `ToastProvider`, even if the provider and hook are different instances in memory.\n * It's also why it's vital that all changes to globally scoped providers remain fully backwards compatible to v1.\n */\n\nimport {type Context, createContext} from 'react'\n\nimport {globalScope} from './globalScope'\n\nexport function createGlobalScopedContext<ContextType, const T extends ContextType = ContextType>(\n /**\n * Enforce that all Symbol.for keys used for globally scoped contexts have a predictable prefix\n */\n key: `@sanity/ui/context/${string}`,\n defaultValue: T,\n): Context<ContextType> {\n const symbol = Symbol.for(key)\n\n /**\n * Prevent errors about re-renders on React SSR on Next.js App Router\n */\n if (typeof document === 'undefined') {\n return createContext<ContextType>(defaultValue)\n }\n\n globalScope[symbol] = globalScope[symbol] || createContext<T>(defaultValue)\n\n return globalScope[symbol]\n}\n","import {Context} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {CardContextValue} from './types'\n\n/**\n * @internal\n */\nexport const CardContext: Context<CardContextValue | null> =\n createGlobalScopedContext<CardContextValue | null>('@sanity/ui/context/card', null)\n","import {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {ReactNode, useMemo} from 'react'\n\nimport {CardContext} from './cardContext'\nimport {CardCompatProviderComponent} from './types'\n\nexport function CardProvider(props: {\n compat_provider?: CardCompatProviderComponent\n children?: ReactNode\n rendered?: boolean\n tone: ThemeColorCardToneKey\n scheme: ThemeColorSchemeKey\n}) {\n const {children, rendered = false, tone, scheme} = props\n\n const context = useMemo(() => ({rendered, tone, scheme}), [rendered, tone, scheme])\n\n return <CardContext.Provider value={context}>{children}</CardContext.Provider>\n}\n","import {Context} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @internal\n */\nexport const ThemeContext: Context<ThemeContextValue | null> =\n createGlobalScopedContext<ThemeContextValue | null>('@sanity/ui/context/theme', null)\n","import {\n getScopedTheme,\n type RootTheme,\n type Theme,\n type ThemeColorCardToneKey,\n type ThemeColorSchemeKey,\n} from '@sanity/ui/theme'\nimport {ReactElement, ReactNode, useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider} from 'styled-components'\n\nimport {CardProvider} from '../../primitives/card/cardProvider'\nimport {ThemeColorProvider} from './themeColorProvider'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): ReactElement {\n const parentTheme = useContext(ThemeContext)\n const {children} = props\n const scheme = props.scheme ?? (parentTheme?.scheme || 'light')\n const rootTheme = props.theme ?? (parentTheme?.theme || null)\n const tone = props.tone ?? (parentTheme?.tone || 'default')\n\n const themeContext: ThemeContextValue | null = useMemo(() => {\n if (!rootTheme) return null\n\n return {\n version: 0.0,\n theme: rootTheme,\n scheme,\n tone,\n }\n }, [rootTheme, scheme, tone])\n\n const theme: Theme | null = useMemo(() => {\n if (!rootTheme) return null\n\n return getScopedTheme(rootTheme, scheme, tone)\n }, [scheme, rootTheme, tone])\n\n if (!theme) {\n return <pre>ThemeProvider: no \"theme\" property provided</pre>\n }\n\n return (\n <CardProvider\n compat_provider={\n // Render a theme provider around the card if the scheme or tone differs from the root theme.\n // This is needed for backwards compatibility with the legacy theme API.\n ThemeColorProvider\n }\n scheme={scheme}\n tone={tone}\n >\n <ThemeContext.Provider value={themeContext}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>\n </CardProvider>\n )\n}\n\nThemeProvider.displayName = 'ThemeProvider'\n","import {useContext} from 'react'\n\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n const value = useContext(ThemeContext)\n\n if (!value) {\n throw new Error('useRootTheme(): missing context value')\n }\n\n return value as unknown as ThemeContextValue\n}\n","import {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {ReactElement, ReactNode} from 'react'\n\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n */\nexport interface ThemeColorProviderProps {\n children?: ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): ReactElement {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n\n return (\n <ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>\n )\n}\n\nThemeColorProvider.displayName = 'ThemeColorProvider'\n","import {getTheme_v2, Theme, Theme_v2} from '@sanity/ui/theme'\nimport {useTheme as useStyledTheme} from 'styled-components'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n return useStyledTheme() as Theme\n}\n\n/**\n * @public\n */\nexport function useTheme_v2(): Theme_v2 {\n return getTheme_v2(useStyledTheme() as Theme)\n}\n","import type {Transition, Variant} from 'framer-motion'\n\n/**\n * @internal\n */\nexport const EMPTY_ARRAY: never[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, never> = {}\n\nconst POPOVER_MOTION_DURATION = 0.2\n\n/**\n * Shared `framer-motion` variants used by `Popover` and `Tooltip` components.\n * @internal\n */\nexport const POPOVER_MOTION_PROPS: {\n card: {\n initial: Variant\n hidden: Variant\n visible: Variant\n scaleIn: Variant\n scaleOut: Variant\n }\n children: {\n hidden: Variant\n visible: Variant\n }\n transition: Transition\n} = {\n card: {\n initial: {\n scale: 0.97,\n willChange: 'transform',\n },\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n transition: {\n when: 'beforeChildren',\n duration: POPOVER_MOTION_DURATION / 2,\n },\n },\n scaleIn: {\n scale: 1,\n },\n scaleOut: {\n scale: 0.97,\n },\n },\n children: {\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n },\n },\n transition: {\n type: 'spring',\n visualDuration: POPOVER_MOTION_DURATION,\n bounce: 0.25,\n },\n}\n\n/**\n * @internal\n * @deprecated No longer used.\n */\nexport const FLOATING_STATIC_SIDES: Record<string, 'bottom' | 'left' | 'top' | 'right'> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n}\n\nexport const Z_OFFSETS = {\n dialog: 600,\n popover: 400,\n tooltip: 200,\n}\n","/**\n * @internal\n */\nexport function _isEnterToClickElement(element: HTMLElement): boolean {\n return isHTMLAnchorElement(element) || isHTMLButtonElement(element)\n}\n\n/**\n * @internal\n */\nexport function isHTMLElement(node: unknown): node is HTMLElement {\n return node instanceof Node && node.nodeType === Node.ELEMENT_NODE\n}\n\n/**\n * @internal\n */\nexport function isHTMLAnchorElement(element: unknown): element is HTMLAnchorElement {\n return isHTMLElement(element) && element.nodeName === 'A'\n}\n\n/**\n * @internal\n */\nexport function isHTMLInputElement(element: unknown): element is HTMLInputElement {\n return isHTMLElement(element) && element.nodeName === 'INPUT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLButtonElement(element: unknown): element is HTMLButtonElement {\n return isHTMLElement(element) && element.nodeName === 'BUTTON'\n}\n\n/**\n * @internal\n */\nexport function isHTMLSelectElement(element: unknown): element is HTMLSelectElement {\n return isHTMLElement(element) && element.nodeName === 'SELECT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLTextAreaElement(element: unknown): element is HTMLTextAreaElement {\n return isHTMLElement(element) && element.nodeName === 'TEXTAREA'\n}\n\n/**\n * @internal\n */\nexport function containsOrEqualsElement(element: HTMLElement, node: Node): boolean {\n return element.contains(node) || element === node\n}\n","import {EMPTY_ARRAY} from '../constants'\n\n/**\n * @internal\n */\nexport function _getArrayProp<T>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n if (val === undefined) return defaultVal || EMPTY_ARRAY\n\n return Array.isArray(val) ? val : [val]\n}\n","/**\n * @internal\n */\nexport function _isScrollable(el: Node): boolean {\n if (!(el instanceof Element)) return false\n\n const style = window.getComputedStyle(el)\n\n return (\n style.overflowX.includes('auto') ||\n style.overflowX.includes('scroll') ||\n style.overflowY.includes('auto') ||\n style.overflowY.includes('scroll')\n )\n}\n","import {useState} from 'react'\n\nimport {_getArrayProp} from '../helpers'\n\n/** @beta */\n// export type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\n// export function useArrayProp<T extends ArrayPropPrimitive = ArrayPropPrimitive>(\nexport function useArrayProp<T>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n const [[cachedVal, cachedHash], setCache] = useState<[T[], string]>(() => [\n _getArrayProp(val, defaultVal),\n JSON.stringify(val ?? defaultVal),\n ])\n\n const hash = JSON.stringify(val ?? defaultVal)\n\n if (hash !== cachedHash) {\n // If the cached hash has changed, update the cache right away.\n // Calling setState during render is fine in this case, and preferred over a useEffect loop\n // https://19.dev/learn/you-might-not-need-an-effect#adjusting-some-state-when-a-prop-changes\n setCache([_getArrayProp(val, defaultVal), hash])\n }\n\n return cachedVal\n}\n","import {useDebugValue, useEffect} from 'react'\nimport {useEffectEvent} from 'use-effect-event'\n\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideEventListener = (event: MouseEvent) => void\n\n/**\n * @public\n */\nexport type ClickOutsideEventElements = (HTMLElement | null | (HTMLElement | null)[])[]\n\n/**\n * @public\n */\nexport function useClickOutsideEvent(\n listener: ClickOutsideEventListener | false | undefined,\n elementsArg: () => ClickOutsideEventElements = () => EMPTY_ARRAY,\n boundaryElement?: () => HTMLElement | null,\n): void {\n /**\n * The `useEffectEvent` hook allow us to always see the latest value of `listener`, `elementsArg` and `boundaryElement` without needing to\n * juggle `useState`, `useRef` and `useState` to make sure the `mousedown` event listener isn't constantly being added and removed.\n */\n const onEvent = useEffectEvent((evt: MouseEvent) => {\n if (!listener) {\n return\n }\n\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n const resolvedBoundaryElement = boundaryElement?.()\n\n if (resolvedBoundaryElement && !resolvedBoundaryElement.contains(target)) {\n return\n }\n\n const elements = elementsArg().flat()\n\n for (const el of elements) {\n if (!el) continue\n\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n })\n\n const hasListener = Boolean(listener)\n\n useEffect(() => {\n if (!hasListener) return undefined\n\n const handleEvent = (evt: MouseEvent) => onEvent(evt)\n\n document.addEventListener('mousedown', handleEvent)\n\n return () => {\n document.removeEventListener('mousedown', handleEvent)\n }\n }, [hasListener])\n\n useDebugValue(listener ? 'MouseDown On' : 'MouseDown Off')\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined,\n): void {\n useEffect(() => {\n ref.current?.setCustomValidity(customValidity || '')\n }, [customValidity, ref])\n}\n","import {ResizeObserver as ResizeObserverPolyfill} from '@juggle/resize-observer'\n\n/**\n * @internal\n */\nexport const _ResizeObserver: typeof ResizeObserver =\n typeof document !== 'undefined' && typeof window !== 'undefined' && window.ResizeObserver\n ? window.ResizeObserver\n : ResizeObserverPolyfill\n","import {_ResizeObserver} from './resizeObserver'\n\n/**\n * @beta\n */\nexport interface ElementRectValue {\n width: number\n height: number\n}\n\n/**\n * @beta\n */\nexport interface ElementSize {\n content: ElementRectValue\n border: ElementRectValue\n\n /** @deprecated INTERNAL ONLY */\n _contentRect: DOMRectReadOnly\n}\n\n/**\n * @internal\n */\nexport type _ElementSizeSubscriber = (elementRect: ElementSize) => void\n\n/**\n * @internal\n */\nexport interface _ElementSizeObserver {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n/**\n * @internal\n */\nexport interface _ElementSizeListener {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n// Initialize element size observer\n// NOTE: this should NOT have size effects\n/**\n * @internal\n */\nexport const _elementSizeObserver = _createElementSizeObserver()\n\nfunction _createElementRectValueListener(): _ElementSizeListener {\n return {\n subscribe(element, subscriber) {\n const resizeObserver = new _ResizeObserver(([entry]) => {\n subscriber({\n _contentRect: entry.contentRect,\n border: {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n },\n content: {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n },\n })\n })\n\n resizeObserver.observe(element)\n\n return () => {\n resizeObserver.unobserve(element)\n resizeObserver.disconnect()\n }\n },\n }\n}\n\nfunction _createElementSizeObserver(): _ElementSizeObserver {\n const disposeCache = new WeakMap<HTMLElement, () => void>()\n const subscribersCache = new WeakMap<HTMLElement, _ElementSizeSubscriber[]>()\n\n return {\n subscribe(element, subscriber) {\n const subscribers = subscribersCache.get(element) || []\n\n let dispose = disposeCache.get(element)\n\n if (!subscribersCache.has(element)) {\n subscribersCache.set(element, subscribers)\n\n const listener = _createElementRectValueListener()\n\n // listen\n dispose = listener.subscribe(element, (elementRect) => {\n for (const sub of subscribers) {\n sub(elementRect)\n }\n })\n }\n\n subscribers.push(subscriber)\n\n return () => {\n // dispose\n\n const idx = subscribers.indexOf(subscriber)\n\n if (idx > -1) {\n subscribers.splice(idx, 1)\n }\n\n if (subscribers.length === 0) {\n // unlisten\n if (dispose) dispose()\n }\n }\n },\n }\n}\n","import {useEffect, useState} from 'react'\n\nimport {_elementSizeObserver, ElementSize} from '../observers/elementSizeObserver'\n\n/**\n * Subscribe to the size of a DOM element.\n * @beta\n */\nexport function useElementSize(element: HTMLElement | null): ElementSize | null {\n const [size, setSize] = useState<ElementSize | null>(null)\n\n useEffect(() => {\n if (!element) return undefined\n\n return _elementSizeObserver.subscribe(element, setSize)\n }, [element])\n\n return size\n}\n","import {useEffect} from 'react'\nimport {useEffectEvent} from 'use-effect-event'\n\n/**\n * @beta\n */\nexport function useGlobalKeyDown(onKeyDown: (event: KeyboardEvent) => void): void {\n const handleKeyDown = useEffectEvent((event: KeyboardEvent) => onKeyDown(event))\n\n useEffect(() => {\n const handler = (event: KeyboardEvent) => handleKeyDown(event)\n\n window.addEventListener('keydown', handler)\n\n return () => window.removeEventListener('keydown', handler)\n }, [])\n}\n","import {useCallback, useDebugValue, useSyncExternalStore} from 'react'\n\n/**\n * Efficiently subscribes to `window.matchMedia` queries\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Required if the hook is called during SSR (https://dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * @public\n */\nexport function useMatchMedia(\n mediaQueryString: `(${string})`,\n getServerSnapshot?: () => boolean,\n): boolean {\n useDebugValue(mediaQueryString)\n\n return useSyncExternalStore(\n useCallback(\n (onStoreChange) => {\n const media = window.matchMedia(mediaQueryString)\n media.addEventListener('change', onStoreChange)\n return () => media.removeEventListener('change', onStoreChange)\n },\n [mediaQueryString],\n ),\n () => window.matchMedia(mediaQueryString).matches,\n getServerSnapshot,\n )\n}\n","import {useMemo, useSyncExternalStore} from 'react'\n\n// TODO: get from theme?\nconst media = [360, 600, 900, 1200, 1800, 2400]\n\n/**\n * @internal\n */\nexport interface _MediaStore {\n subscribe: (onStoreChange: () => void) => () => void\n getSnapshot: () => number\n}\n\ntype MediaQueryMinWidth = `(min-width: ${number}px)`\ntype MediaQueryMaxWidth = `(max-width: ${number}px)`\ntype MediaQueryMinMaxWidth = `${MediaQueryMinWidth} and ${MediaQueryMaxWidth}`\ntype MediaQuery = `screen and ${MediaQueryMinWidth | MediaQueryMaxWidth | MediaQueryMinMaxWidth}`\n\nfunction _getMediaQuery(media: number[], index: number): MediaQuery {\n if (index === 0) {\n return `screen and (max-width: ${media[index] - 1}px)`\n }\n\n if (index === media.length) {\n return `screen and (min-width: ${media[index - 1]}px)`\n }\n\n return `screen and (min-width: ${media[index - 1]}px) and (max-width: ${media[index] - 1}px)`\n}\n\nfunction _createMediaStore(): _MediaStore {\n const mediaLen = media.length\n let sizes: {mq: MediaQueryList; index: number}[]\n\n // The _createMediaStore function is called in both server and client environments.\n // However since subscribe and getSnapshot are only called on the client we lazy init what we need for them\n // so that we don't need to run checks for wether it's safe to call `window.matchMedia`\n const getSizes = () => {\n if (!sizes) {\n sizes = []\n\n for (let index = mediaLen; index > -1; index -= 1) {\n const mediaQuery = _getMediaQuery(media, index)\n\n sizes.push({index, mq: window.matchMedia(mediaQuery)})\n }\n }\n\n return sizes\n }\n\n const getSnapshot = () => {\n for (const {index, mq} of getSizes()) {\n if (mq.matches) return index\n }\n\n return 0\n }\n\n const subscribe = (onStoreChange: () => void) => {\n const disposeFns: (() => void)[] = []\n\n for (const {mq} of getSizes()) {\n const handleChange = () => {\n if (mq.matches) onStoreChange()\n }\n\n mq.addEventListener('change', handleChange)\n\n disposeFns.push(() => mq.removeEventListener('change', handleChange))\n }\n\n return () => {\n for (const disposeFn of disposeFns) {\n disposeFn()\n }\n }\n }\n\n return {getSnapshot, subscribe}\n}\n\n/**\n * Only called during server-side rendering, and hydration if using hydrateRoot\n * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query\n * and we assume `(prefers-color-scheme: light)` since it's the most common scheme\n *\n * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering\n */\nfunction getServerSnapshot() {\n return 0\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useMediaIndex(): number {\n const store = useMemo(() => _createMediaStore(), [])\n\n return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot)\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if a dark color scheme is preferred, false if a light color scheme is preferred or the preference is not known.\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-color-scheme: light)` since it's the most common scheme (https://dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.\n * Chrome supports reading the `prefers-color-scheme` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Color-Scheme\n * @example https://gist.github.com/stipsan/13c0cccf8dfc34f4b44bb1b984baf7df\n *\n * @public\n */\nexport function usePrefersDark(getServerSnapshot = () => false): boolean {\n return useMatchMedia('(prefers-color-scheme: dark)', getServerSnapshot)\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if motion should be reduced\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-reduced-motion: no-preference)` since it's the most common scheme (https://dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.\n * Chrome supports reading the `prefers-reduced-motion` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Motion\n * @example https://gist.github.com/stipsan/0c0f839a27842249cada893e9fb7767b\n *\n * @public\n */\nexport function usePrefersReducedMotion(getServerSnapshot = () => false): boolean {\n return useMatchMedia('(prefers-reduced-motion: reduce)', getServerSnapshot)\n}\n","import {\n box,\n BoxStyleProps,\n composeClassNames,\n GapStyleProps,\n InsetStyleProps,\n PositionStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface BoxProps\n extends BoxStyleProps,\n GapStyleProps,\n InsetStyleProps,\n PositionStyleProps {}\n\n/**\n * The `Box` component is a basic layout wrapper component which provides utility properties\n * for flex, margins and padding.\n *\n * @public\n */\nexport const Box = forwardRef(function Box(\n props: Props<BoxProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n align,\n as: As = 'div',\n autoCols,\n autoFlow,\n autoRows,\n border = false,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n className,\n column,\n columnStart,\n columnEnd,\n columns,\n direction,\n display = 'block',\n flex,\n gap,\n gapX,\n gapY,\n height,\n inset,\n insetBottom,\n insetLeft,\n insetRight,\n insetTop,\n justify,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n maxWidth,\n minWidth = 0,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pointerEvents,\n position,\n muted,\n radius,\n row,\n rows,\n rowStart,\n rowEnd,\n sizing = 'border',\n width,\n wrap,\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Box\"\n {...restProps}\n className={composeClassNames(\n className,\n box({\n align,\n autoCols,\n autoFlow,\n autoRows,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n column,\n columnStart,\n columnEnd,\n columns,\n direction,\n display,\n flex,\n gap,\n gapX,\n gapY,\n height,\n inset,\n insetBottom,\n insetLeft,\n insetRight,\n insetTop,\n justify,\n overflow,\n margin,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n maxWidth,\n minWidth,\n muted,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pointerEvents,\n position,\n radius,\n row,\n rows,\n rowStart,\n rowEnd,\n sizing,\n width,\n wrap,\n }),\n )}\n ref={ref}\n >\n {props.children}\n </As>\n )\n})\n\nBox.displayName = 'ForwardRef(Box)'\n","import {\n composeClassNames,\n FontStyleProps,\n label,\n LabelSize,\n ResponsiveProp,\n textOverflow,\n TextOverflowStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface LabelProps extends FontStyleProps, TextOverflowStyleProps {\n accent?: boolean\n htmlFor?: string\n muted?: boolean\n size?: ResponsiveProp<LabelSize>\n}\n\n/**\n * Typographic labels.\n *\n * @public\n */\nexport const Label = forwardRef(function Label(\n props: Props<LabelProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent,\n align,\n as: As = 'div',\n children,\n className,\n muted = false,\n size = 1,\n textOverflow: textOverflowProp,\n weight = 'medium',\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Label\"\n {...restProps}\n className={composeClassNames(\n className,\n label({\n accent,\n align,\n muted,\n size,\n weight,\n }),\n )}\n ref={ref}\n >\n <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>\n </As>\n )\n})\n\nLabel.displayName = 'ForwardRef(Label)'\n","import {\n avatar,\n avatarArrow,\n avatarImage,\n avatarInitials,\n composeClassNames,\n ResponsiveProp,\n} from '@sanity/ui/css'\nimport {AvatarSize, ThemeColorAvatarColorKey} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useCallback, useEffect, useMemo, useState} from 'react'\nimport ReactIs from 'react-is'\n\nimport {useArrayProp} from '../../hooks'\nimport {AvatarPosition, AvatarStatus, Props} from '../../types'\nimport {Box} from '../box'\nimport {Label} from '../label'\n\n/**\n * @public\n */\nexport interface AvatarProps {\n /** @beta */\n __unstable_hideInnerStroke?: boolean\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n color?: ThemeColorAvatarColorKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: ResponsiveProp<AvatarSize>\n src?: string\n /**\n * The status of the entity this Avatar represents.\n * @alpha\n */\n status?: AvatarStatus\n title?: string\n}\n\n/**\n * Avatars are used to represent people and other agents (e.g. bots).\n *\n * @public\n */\nexport const Avatar = forwardRef(function Avatar(\n props: Props<AvatarProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_hideInnerStroke,\n as: asProp,\n className,\n color = 'gray',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n status = 'online',\n size: sizeProp = 1,\n ...restProps\n } = props\n const As = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = useArrayProp(sizeProp)\n\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside',\n )\n\n const [imageError, setImageError] = useState<boolean>(false)\n\n useEffect(() => {\n if (arrowPosition === arrowPositionProp) return undefined\n\n // Start animation in the next frame\n const raf = requestAnimationFrame(() => setArrowPosition(arrowPositionProp))\n\n return () => cancelAnimationFrame(raf)\n }, [arrowPosition, arrowPositionProp])\n\n useEffect(() => {\n if (src) setImageError(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageError(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n const initialsSize = useMemo(\n () =>\n size.map((s) => {\n if (s === 1) return 1\n if (s === 2) return 3\n if (s === 3) return 5\n\n return 0\n }),\n [size],\n )\n\n return (\n <As\n // data-as={typeof As === 'string' ? As : undefined}\n data-hide-inner-stroke={__unstable_hideInnerStroke ? '' : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n aria-label={title}\n className={composeClassNames(className, avatar({color, size: sizeProp}))}\n data-arrow-position={arrowPosition}\n data-image-error={imageError ? '' : undefined}\n data-status={status}\n ref={ref}\n title={title}\n >\n <span className={avatarArrow()}>\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 7\" fill=\"none\">\n <path\n d=\"M6.67948 1.50115L11 7L0 7L4.32052 1.50115C4.92109 0.736796 6.07891 0.736795 6.67948 1.50115Z\"\n fill={color}\n />\n </svg>\n </span>\n\n <Box\n align=\"center\"\n as=\"span\"\n className={avatarInitials()}\n display=\"flex\"\n justify=\"center\"\n position=\"absolute\"\n inset={0}\n >\n <Label\n align=\"center\"\n as=\"span\"\n size={initialsSize}\n style={{color: 'inherit'}}\n weight=\"medium\"\n >\n {initials}\n </Label>\n </Box>\n\n {src && (\n <Box className={avatarImage()} inset={0} position=\"absolute\">\n <img alt={initials} onError={handleImageError} src={src} />\n <span />\n </Box>\n )}\n </As>\n )\n})\n\nAvatar.displayName = 'ForwardRef(Avatar)'\n","import {avatarCounter, composeClassNames, ResponsiveProp} from '@sanity/ui/css'\nimport {AvatarSize} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useMemo} from 'react'\n\nimport {useArrayProp} from '../../hooks'\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Label} from '../label'\n\n/**\n * @public\n */\nexport interface AvatarCounterProps\n extends Omit<BoxProps, 'align' | 'className' | 'display' | 'justify' | 'paddingX' | 'sizing'> {\n count: number\n size?: ResponsiveProp<AvatarSize>\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarCounter = forwardRef(function AvatarCounter(\n props: Props<AvatarCounterProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {className, count, size: sizeProp = 1, ...restProps} = props\n const size = useArrayProp(sizeProp)\n\n const fontSize = useMemo(\n () =>\n size.map((s) => {\n if (s === 1) return 1\n if (s === 2) return 3\n if (s === 3) return 5\n\n return 0\n }),\n [size],\n )\n\n return (\n <Box\n data-ui=\"AvatarCounter\"\n {...restProps}\n align=\"center\"\n className={composeClassNames(className, avatarCounter({size}))}\n display=\"flex\"\n justify=\"center\"\n paddingX={2}\n ref={ref}\n sizing=\"border\"\n >\n <Label align=\"center\" as=\"span\" size={fontSize} weight=\"medium\">\n {count}\n </Label>\n </Box>\n )\n})\n\nAvatarCounter.displayName = 'ForwardRef(AvatarCounter)'\n","import {avatarStack, composeClassNames, ResponsiveProp} from '@sanity/ui/css'\nimport {AvatarSize} from '@sanity/ui/theme'\nimport {Children, cloneElement, ForwardedRef, forwardRef, isValidElement, ReactElement} from 'react'\n\nimport {useArrayProp} from '../../hooks'\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {AvatarProps} from './avatar'\nimport {AvatarCounter} from './avatarCounter'\n\n/**\n * @public\n */\nexport type AvatarStackChild = ReactElement<Props<AvatarProps, 'div'>> | null | undefined | false\n\n/**\n * @public\n */\nexport interface AvatarStackProps extends Omit<BoxProps, 'align' | 'className' | 'display'> {\n children: AvatarStackChild | AvatarStackChild[]\n maxLength?: number\n size?: ResponsiveProp<AvatarSize>\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarStack = forwardRef(function AvatarStack(\n props: Props<AvatarStackProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children: childrenProp,\n className,\n maxLength: maxLengthProp = 4,\n size: sizeProp = 1,\n ...restProps\n } = props\n const children = Children.toArray(childrenProp).filter(isValidElement) as ReactElement<\n Props<AvatarProps, 'div'>\n >[]\n const maxLength = Math.max(maxLengthProp, 0)\n const size = useArrayProp(sizeProp)\n\n const len = children.length\n const visibleCount = maxLength - 1\n const extraCount = len - visibleCount\n const visibleChildren = extraCount > 1 ? children.slice(extraCount, len) : children\n\n return (\n <Box\n data-ui=\"AvatarStack\"\n {...restProps}\n align=\"center\"\n className={composeClassNames(className, avatarStack({size}))}\n display=\"flex\"\n ref={ref}\n >\n {len === 0 && (\n <Box flex=\"none\">\n <AvatarCounter count={len} size={size} />\n </Box>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <Box flex=\"none\">\n <AvatarCounter count={extraCount} size={size} />\n </Box>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n <Box flex=\"none\" key={String(childIndex)}>\n {cloneElement(child, {size})}\n </Box>\n ))}\n </Box>\n )\n})\n\nAvatarStack.displayName = 'ForwardRef(AvatarStack)'\n","import {\n composeClassNames,\n text,\n textOverflow,\n TextOverflowStyleProps,\n TextStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface TextProps extends TextStyleProps, TextOverflowStyleProps {\n htmlFor?: string\n}\n\n/**\n * The `Text` component is an agile, themed typographic element.\n *\n * @public\n */\nexport const Text = forwardRef(function Text(\n props: Props<TextProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent = false,\n align,\n as: As = 'div',\n children,\n className,\n flex,\n muted = false,\n size = 2,\n textOverflow: textOverflowProp,\n weight,\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Text\"\n {...restProps}\n ref={ref}\n className={composeClassNames(\n className,\n text({\n accent,\n align,\n flex,\n muted,\n size,\n weight,\n }),\n )}\n >\n <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>\n </As>\n )\n})\n\nText.displayName = 'ForwardRef(Text)'\n","import {badge, composeClassNames, RadiusStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {BadgeMode, BadgeTone, Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Text, TextProps} from '../text'\n\n/**\n * @public\n */\nexport interface BadgeProps extends BoxProps, RadiusStyleProps {\n fontSize?: number | number[]\n /** @deprecated No longer used. */\n mode?: BadgeMode\n textAlign?: TextProps['align']\n tone?: BadgeTone\n}\n\n/**\n * Badges are used to tag resources.\n *\n * @public\n */\nexport const Badge = forwardRef(function Badge(\n props: Props<BadgeProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n className,\n display = 'inline-block',\n fontSize = 1,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n mode: _deprecated_mode,\n padding = 1,\n radius = 2,\n textAlign,\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <Box\n data-ui=\"Badge\"\n {...restProps}\n className={composeClassNames(\n className,\n badge({\n radius,\n tone,\n }),\n )}\n display={display}\n padding={padding}\n ref={ref}\n >\n <Text align={textAlign} size={fontSize}>\n {children}\n </Text>\n </Box>\n )\n})\n\nBadge.displayName = 'ForwardRef(Badge)'\n","import {SpinnerIcon} from '@sanity/icons'\nimport {animatedSpinnerIcon, composeClassNames} from '@sanity/ui/css'\nimport {ReactElement, SVGProps} from 'react'\n\n/** @internal */\nexport function AnimatedSpinnerIcon(props: SVGProps<SVGSVGElement>): ReactElement {\n const {className, ...restProps} = props\n\n return (\n <SpinnerIcon\n {...restProps}\n data-sanity-icon=\"animated-spinner\"\n className={composeClassNames(className, animatedSpinnerIcon())}\n />\n )\n}\n","import {ResponsiveProp, spinner} from '@sanity/ui/css'\nimport {FontTextSize} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Text} from '../text'\nimport {AnimatedSpinnerIcon} from './animatedSpinnerIcon'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: ResponsiveProp<FontTextSize>\n}\n\n/**\n * Indicate that something is loading for an indeterminate amount of time.\n *\n * @public\n */\nexport const Spinner = forwardRef(function Spinner(\n props: Props<SpinnerProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Text data-ui=\"Spinner\" {...props} className={spinner()} ref={ref}>\n <AnimatedSpinnerIcon />\n </Text>\n )\n})\n\nSpinner.displayName = 'ForwardRef(Spinner)'\n","import {\n button,\n buttonLoadingBox,\n ButtonStyleProps,\n composeClassNames,\n DisplayStyleProps,\n FlexStyleProps,\n GapStyleProps,\n PaddingStyleProps,\n ResponsiveProp,\n Width,\n} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {ElementType, ForwardedRef, forwardRef, isValidElement, ReactNode} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {ButtonMode, ButtonTextAlign, ButtonTone, Props} from '../../types'\nimport {Box} from '../box'\nimport {Spinner} from '../spinner'\nimport {Text, TextProps} from '../text'\n\n/**\n * @public\n */\nexport interface ButtonProps\n extends ButtonStyleProps,\n DisplayStyleProps,\n FlexStyleProps,\n GapStyleProps,\n PaddingStyleProps {\n 'data-ui'?: string\n 'fontSize'?: ResponsiveProp<FontTextSize>\n 'href'?: string\n 'mode'?: ButtonMode\n 'icon'?: ElementType | ReactNode\n 'iconRight'?: ElementType | ReactNode\n /** @beta Do not use in production, as this might change.*/\n 'loading'?: boolean\n 'selected'?: boolean\n /** @deprecated Use `gap` instead. */\n 'space'?: ResponsiveProp<Space>\n 'textAlign'?: ButtonTextAlign\n 'muted'?: boolean\n 'target'?: string\n 'text'?: ReactNode\n 'textOverflow'?: TextProps['textOverflow']\n 'textWeight'?: TextProps['weight']\n 'tone'?: ButtonTone\n 'type'?: 'button' | 'reset' | 'submit'\n 'width'?: ResponsiveProp<Width>\n}\n\n/**\n * @public\n */\nexport const Button = forwardRef(function Button(\n props: Props<ButtonProps, 'button'>,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n const {\n // align = 'center',\n as: As = 'button',\n children,\n className,\n direction,\n disabled,\n display = 'inline-flex',\n flex,\n fontSize = 1,\n gap = props.space ?? props.padding ?? 3,\n gapX,\n gapY,\n href,\n icon: IconComponent,\n iconRight: IconRightComponent,\n justify = 'center',\n loading,\n mode = 'default',\n padding = 3,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n radius = 2,\n selected,\n space = props.gap ?? props.space ?? props.padding ?? 3, // eslint-disable-line @typescript-eslint/no-unused-vars\n text,\n textAlign,\n textOverflow = 'ellipsis',\n textWeight = 'medium',\n tone = 'default',\n type = 'button',\n muted = false,\n width,\n // wrap,\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Button\"\n {...restProps}\n className={composeClassNames(className, button({display, flex, mode, radius, tone, width}))}\n data-disabled={loading || disabled ? '' : undefined}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n href={disabled ? undefined : href}\n ref={ref}\n type={type}\n >\n {Boolean(loading) && (\n <Box\n align=\"center\"\n as=\"span\"\n className={buttonLoadingBox()}\n display=\"flex\"\n flex={1}\n justify=\"center\"\n width=\"fill\"\n >\n <Spinner size={fontSize} />\n </Box>\n )}\n\n {(IconComponent || text || IconRightComponent) && (\n <Box\n // align={align}\n as=\"span\"\n direction={direction}\n display=\"flex\"\n flex={1}\n gap={gap}\n gapX={gapX}\n gapY={gapY}\n justify={justify}\n padding={padding}\n paddingX={paddingX}\n paddingY={paddingY}\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n // width=\"fill\"\n // wrap={wrap}\n >\n {IconComponent && (\n <Text as=\"span\" flex=\"none\" muted size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n {text && (\n <Text\n align={textAlign}\n as=\"span\"\n flex=\"none\"\n muted={muted}\n size={fontSize}\n textOverflow={textOverflow}\n weight={textWeight}\n >\n {text}\n </Text>\n )}\n\n {IconRightComponent && (\n <Text as=\"span\" flex=\"none\" muted size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Box>\n )}\n\n {children && (\n <Box\n // align={align}\n as=\"span\"\n // direction={direction}\n // display=\"flex\"\n flex={1}\n // gap={gap}\n // gapX={gapX}\n // gapY={gapY}\n // justify={justify}\n padding={padding}\n paddingX={paddingX}\n paddingY={paddingY}\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n // width=\"fill\"\n // wrap={wrap}\n >\n {children}\n </Box>\n )}\n </As>\n )\n})\n\nButton.displayName = 'ForwardRef(Button)'\n","import {useContext} from 'react'\n\nimport {CardContext} from './cardContext'\n\nexport function useCard() {\n return useContext(CardContext)\n}\n","import {card, CardStyleProps, composeClassNames} from '@sanity/ui/css'\nimport {createElement, ForwardedRef, forwardRef} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {CardProvider} from './cardProvider'\nimport {useCard} from './useCard'\n\n/**\n * @public\n */\nexport interface CardProps extends BoxProps, CardStyleProps {\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_checkered?: boolean\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_focusRing?: boolean\n disabled?: boolean\n href?: string\n pressed?: boolean\n selected?: boolean\n target?: string\n}\n\n/**\n * The `Card` component acts much like a `Box`, but with a background and foreground color.\n * Components within a `Card` inherit its colors.\n *\n * @public\n */\nexport const Card = forwardRef(function Card(\n props: Props<CardProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n className,\n pressed,\n radius = 0,\n scheme: schemeProp,\n // selectable,\n selected,\n shadow,\n style,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n\n const parent = useCard()\n\n const context = {\n tone: parent?.tone ?? 'default',\n scheme: parent?.scheme ?? 'light',\n }\n\n const tone = toneProp === 'inherit' ? context.tone : toneProp\n const scheme = schemeProp === undefined ? context.scheme : schemeProp\n\n let node = (\n <Box\n data-ui=\"Card\"\n {...restProps}\n as={as}\n className={composeClassNames(\n className,\n card({\n scheme: scheme === context.scheme ? undefined : scheme,\n shadow,\n tone,\n }),\n )}\n data-checkered={checkered ? '' : undefined}\n data-focus-ring={focusRing ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n radius={radius}\n ref={ref}\n style={style}\n />\n )\n\n if (scheme === context.scheme && tone === context.tone) {\n return node\n }\n\n node = (\n <CardProvider\n compat_provider={parent?.compat_provider}\n rendered={true}\n scheme={scheme}\n tone={tone ?? context.tone}\n >\n {node}\n </CardProvider>\n )\n\n if (parent?.compat_provider) {\n return createElement(parent.compat_provider, {\n children: node,\n scheme,\n tone: tone ?? context.tone,\n })\n }\n\n return node\n})\n\nCard.displayName = 'ForwardRef(Card)'\n","import {CheckmarkIcon, RemoveIcon} from '@sanity/icons'\nimport {checkbox, checkboxInput, composeClassNames} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useEffect, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\n/**\n * Checkboxes allow the user to select one or more items from a set.\n *\n * @public\n */\nexport const Checkbox = forwardRef(function Checkbox(\n props: Props<CheckboxProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n style,\n ...restProps\n } = props\n\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n useCustomValidity(ref, customValidity)\n\n return (\n <span className={composeClassNames(className, checkbox())} data-ui=\"Checkbox\" style={style}>\n <input\n {...restProps}\n checked={checked}\n className={composeClassNames(className, checkboxInput())}\n data-disabled={disabled ? '' : undefined}\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </span>\n )\n})\n\nCheckbox.displayName = 'ForwardRef(Checkbox)'\n","import {code, composeClassNames, FontStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, lazy, Suspense} from 'react'\n\nimport {Props} from '../../types'\n\nconst LazyRefractor = lazy(() => import('./refractor'))\n\n/**\n * @public\n */\nexport interface CodeProps extends Omit<FontStyleProps, 'align'> {\n /** Define the language to use for syntax highlighting. */\n language?: string\n size?: number | number[]\n}\n\n/**\n * @public\n */\nexport const Code = forwardRef(function Code(\n props: Props<CodeProps, 'pre'>,\n ref: ForwardedRef<HTMLPreElement>,\n) {\n const {\n as: As = 'pre',\n children,\n className,\n language: languageProp,\n size = 2,\n weight,\n ...restProps\n } = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n\n return (\n <As\n data-ui=\"Code\"\n {...restProps}\n className={composeClassNames(className, code({size, weight}))}\n ref={ref}\n >\n <Suspense fallback={<code>{children}</code>}>\n <LazyRefractor language={language} value={children} />\n </Suspense>\n </As>\n )\n})\n\nCode.displayName = 'ForwardRef(Code)'\n","import {composeClassNames, container, ContainerStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface ContainerProps extends Omit<BoxProps, 'width'>, ContainerStyleProps {}\n\n/**\n * The `Container` component wraps content layout in a defined set of widths.\n *\n * @public\n */\nexport const Container = forwardRef(function Container(\n props: Props<ContainerProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, className, sizing = 'border', width = 2, ...restProps} = props\n\n return (\n <Box\n data-ui=\"Container\"\n {...restProps}\n as={as}\n className={composeClassNames(className, container({width}))}\n ref={ref}\n sizing={sizing}\n />\n )\n})\n\nContainer.displayName = 'ForwardRef(Container)'\n","import {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface FlexProps extends Omit<BoxProps, 'display'> {\n htmlFor?: string\n}\n\n/**\n * The `Flex` component is a wrapper component for flexible elements (`Box`, `Card` and `Flex`).\n *\n * @public\n */\nexport const Flex = forwardRef(function Flex(\n props: Props<FlexProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, direction = 'row', ...restProps} = props\n\n return (\n <Box data-ui=\"Flex\" {...restProps} as={as} direction={direction} display=\"flex\" ref={ref} />\n )\n})\n\nFlex.displayName = 'ForwardRef(Flex)'\n","import {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface GridProps extends Omit<BoxProps, 'display'> {}\n\n/**\n * The `Grid` component is for building 2-dimensional layers (based on CSS grid).\n *\n * @public\n */\nexport const Grid = forwardRef(function Grid(\n props: Props<GridProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, children, ...restProps} = props\n\n return (\n <Box data-ui=\"Grid\" {...restProps} as={as} display=\"grid\" ref={ref}>\n {children}\n </Box>\n )\n})\n\nGrid.displayName = 'ForwardRef(Grid)'\n","import {\n composeClassNames,\n heading,\n type HeadingStyleProps,\n textOverflow,\n type TextOverflowStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface HeadingProps extends HeadingStyleProps, TextOverflowStyleProps {}\n\n/**\n * Typographic headings.\n *\n * @public\n */\nexport const Heading = forwardRef(function Heading(\n props: Props<HeadingProps, 'div'>,\n ref: ForwardedRef<HTMLElement>,\n) {\n const {\n accent = false,\n align,\n as: As = 'div',\n children,\n className,\n flex,\n muted = false,\n size = 2,\n textOverflow: textOverflowProp,\n weight,\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Heading\"\n {...restProps}\n className={composeClassNames(\n className,\n heading({\n accent,\n align,\n flex,\n muted,\n size,\n weight,\n }),\n )}\n ref={ref}\n >\n <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>\n </As>\n )\n})\n\nHeading.displayName = 'ForwardRef(Heading)'\n","import {ResponsiveProp} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {Children, ForwardedRef, forwardRef, useMemo} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface InlineProps extends Omit<BoxProps, 'align' | 'display' | 'justify'> {\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n}\n\n/**\n * The `Inline` component is a layout utility for aligning and spacing items horizontally.\n *\n * @public\n */\nexport const Inline = forwardRef(function Inline(\n props: Props<InlineProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, children: childrenProp, gap, gapX, gapY, space, ...restProps} = props\n\n const children = useMemo(\n () => Children.map(childrenProp, (child) => child && <Box maxWidth=\"fill\">{child}</Box>),\n [childrenProp],\n )\n\n return (\n <Box\n data-ui=\"Inline\"\n {...restProps}\n align=\"center\"\n as={as}\n display=\"flex\"\n gap={gap ?? space}\n gapX={gapX}\n gapY={gapY}\n ref={ref}\n wrap=\"wrap\"\n >\n {children}\n </Box>\n )\n})\n\nInline.displayName = 'ForwardRef(Inline)'\n","import {composeClassNames, kbd, RadiusStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface KBDProps extends BoxProps, RadiusStyleProps {\n fontSize?: ResponsiveProp<FontTextSize>\n padding?: ResponsiveProp<Space>\n}\n\n/**\n * Used to define some text as keyboard input.\n *\n * @public\n */\nexport const KBD = forwardRef(function KBD(\n props: Props<KBDProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n as = 'kbd',\n children,\n className,\n display = 'inline-block',\n fontSize = 0,\n padding = 1,\n radius = 2,\n ...restProps\n } = props\n\n return (\n <Box\n data-ui=\"KBD\"\n {...restProps}\n as={as}\n className={composeClassNames(className, kbd({radius}))}\n display={display}\n muted\n padding={padding}\n ref={ref}\n >\n <Text as=\"span\" muted size={fontSize} weight=\"semibold\">\n {children}\n </Text>\n </Box>\n )\n})\n\nKBD.displayName = 'ForwardRef(KBD)'\n","import {Middleware} from '@floating-ui/react-dom'\n\n/**\n * Custom floating-ui middleware which calculates transform-origin X + Y offsets\n * based on the current floating rect's dimensions and shift offset.\n *\n * Scaling popovers with these transform-origin offsets will give the effect of\n * popvers slightly 'growing' from the origin/reference element.\n *\n * This middleware must be applied after both `@sanity/ui/size` and `shift` middlewares.\n */\nexport const origin: Middleware = {\n name: '@sanity/ui/origin',\n fn({middlewareData, placement, rects}) {\n const [side] = placement.split('-')\n\n const floatingWidth = rects.floating.width\n const floatingHeight = rects.floating.height\n\n const shiftX = middlewareData.shift?.x || 0\n const shiftY = middlewareData.shift?.y || 0\n\n if (floatingWidth <= 0 || floatingHeight <= 0) {\n return {}\n }\n\n const isVerticalPlacement = ['bottom', 'top'].includes(side)\n\n const {originX, originY}: {originX: number; originY: number} = isVerticalPlacement\n ? {\n originX: clamp(0.5 - shiftX / floatingWidth, 0, 1),\n originY: side === 'bottom' ? 0 : 1,\n }\n : {\n originX: side === 'left' ? 1 : 0,\n originY: clamp(0.5 - shiftY / floatingHeight, 0, 1),\n }\n\n return {\n data: {originX, originY},\n }\n },\n}\n\nfunction clamp(num: number, min: number, max: number) {\n return Math.min(Math.max(num, min), max)\n}\n","export interface PointCmd {\n type: 'point'\n x: number\n y: number\n radius?: number\n}\n\nexport interface CurveCmd {\n type: 'curve'\n startControl: Point\n endControl: Point\n curveEnd: Point\n}\n\nexport type Cmd = PointCmd | CurveCmd\n\nexport interface Point {\n x: number\n y: number\n radius?: number\n}\n\nfunction moveTowardsLength(movingPoint: Point, targetPoint: Point, amount: number) {\n const width = targetPoint.x - movingPoint.x\n const height = targetPoint.y - movingPoint.y\n\n const distance = Math.sqrt(width * width + height * height)\n\n return moveTowardsFractional(movingPoint, targetPoint, Math.min(1, amount / distance))\n}\n\nfunction moveTowardsFractional(movingPoint: Point, targetPoint: Point, fraction: number): Point {\n return {\n x: movingPoint.x + (targetPoint.x - movingPoint.x) * fraction,\n y: movingPoint.y + (targetPoint.y - movingPoint.y) * fraction,\n }\n}\n\nexport function getRoundedCommands(points: Point[]): Cmd[] {\n const len = points.length\n\n const cmds: Cmd[] = []\n\n for (let i = 0; i < len; i += 1) {\n const point = points[i]\n const prevPoint = points[i - 1]\n const nextPoint = points[i + 1]\n\n if (prevPoint && point.radius) {\n const curveStart = moveTowardsLength(point, prevPoint, point.radius)\n const curveEnd = moveTowardsLength(point, nextPoint, point.radius)\n const startControl = moveTowardsFractional(curveStart, point, 0.5)\n const endControl = moveTowardsFractional(point, curveEnd, 0.5)\n\n cmds.push({\n type: 'point',\n ...curveStart,\n })\n\n cmds.push({\n type: 'curve',\n curveEnd,\n startControl,\n endControl,\n })\n } else {\n cmds.push({\n type: 'point',\n ...point,\n })\n }\n }\n\n return cmds\n}\n\nexport function compileCommands(cmds: Cmd[]): string {\n return cmds\n .map((n, idx) => {\n if (n.type === 'point') {\n return `${idx === 0 ? 'M' : 'L'} ${n.x} ${n.y}`\n }\n\n if (n.type === 'curve') {\n return `C ${n.startControl.x} ${n.startControl.y} ${n.endControl.x} ${n.endControl.y} ${n.curveEnd.x} ${n.curveEnd.y}`\n }\n\n return ``\n })\n .join(' ')\n}\n","import {_arrow, _arrowShape, _arrowStroke, _arrowStrokeMask} from '@sanity/ui/css'\nimport {CSSProperties, ForwardedRef, forwardRef, ReactElement, useMemo} from 'react'\n\nimport {Props} from '../../types'\nimport {compileCommands, getRoundedCommands, Point} from './cmds'\n\n/** @internal */\nexport const Arrow = forwardRef(function Arrow(\n props: Props<{width: number; height: number; radius?: number}, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n): ReactElement {\n const {width: w, height: h, radius = 0, style, ...restProps} = props\n\n const center = w / 2\n\n const path = useMemo(() => {\n const points: Point[] = [\n {x: 0, y: 0},\n {x: radius, y: 0, radius},\n {x: center, y: h - 1, radius},\n {x: w - radius, y: 0, radius},\n {x: w, y: 0},\n ]\n\n const cmds = getRoundedCommands(points)\n\n return compileCommands(cmds)\n }, [center, h, radius, w])\n\n const strokePath = `${path}`\n const fillPath = `${path} M ${w} -1 M 0 -1 Z`\n\n return (\n <div\n {...restProps}\n className={_arrow()}\n ref={ref}\n style={{...style, '--arrow-size': `${w}px`} as CSSProperties}\n >\n <svg width={w} height={w} viewBox={`0 0 ${w} ${w}`}>\n <mask id=\"stroke-mask\">\n <rect className={_arrowStrokeMask()} x={0} width={w} height={w} fill=\"white\" />\n </mask>\n <path className={_arrowStroke()} d={strokePath} mask=\"url(#stroke-mask)\" />\n <path className={_arrowShape()} d={fillPath} />\n </svg>\n </div>\n )\n})\n\nArrow.displayName = 'ForwardRef(Arrow)'\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {BoundaryElementContextValue} from './types'\n\nexport const BoundaryElementContext = createGlobalScopedContext<BoundaryElementContextValue | null>(\n '@sanity/ui/context/boundaryElement',\n null,\n)\n","import {ReactElement, ReactNode, useMemo} from 'react'\n\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): ReactElement {\n const {children, element} = props\n const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n\nBoundaryElementProvider.displayName = 'BoundaryElementProvider'\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object' && !Array.isArray(value))\n}\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n version: 0.0,\n element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n const value = useContext(BoundaryElementContext)\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (value && (!isRecord(value) || value.version !== 0.0)) {\n throw new Error('useBoundaryElement(): the context value is not compatible')\n }\n\n return value || DEFAULT_VALUE\n}\n","import {ReactNode} from 'react'\n\n/**\n * @internal\n * @deprecated this component will be removed in the next major release\n */\nexport function ConditionalWrapper({\n children,\n condition,\n wrapper,\n}: {\n children: ReactNode\n condition: boolean\n wrapper: (children: ReactNode) => ReactNode\n}): ReactNode {\n if (!condition) {\n return children\n }\n\n return wrapper(children)\n}\n\nConditionalWrapper.displayName = 'ConditionalWrapper'\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp > width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp <= width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n","import {BREAKPOINTS} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useImperativeHandle, useMemo, useState} from 'react'\n\nimport {useElementSize} from '../../hooks'\nimport {Props} from '../../types'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n media?: number[]\n}\n\nconst defaultBreakpoints = Object.values(BREAKPOINTS)\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const ElementQuery = forwardRef(function ElementQuery(\n props: Props<MediaQueryProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {children, media: mediaProp, ...restProps} = props\n const breakpoints = mediaProp ?? defaultBreakpoints\n\n const [element, setElement] = useState<HTMLDivElement | null>(null)\n const elementSize = useElementSize(element)\n const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n const max = useMemo(() => {\n const eq = findMaxBreakpoints(breakpoints, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [breakpoints, width])\n\n const min = useMemo(() => {\n const eq = findMinBreakpoints(breakpoints, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [breakpoints, width])\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => element, [\n element,\n ])\n\n return (\n <div data-ui=\"ElementQuery\" {...restProps} data-eq-max={max} data-eq-min={min} ref={setElement}>\n {children}\n </div>\n )\n})\nElementQuery.displayName = 'ForwardRef(ElementQuery)'\n","import {isRecord} from '../../lib/isRecord'\nimport {LayerContextValue} from './types'\n\nexport function getLayerContext(contextValue: LayerContextValue): LayerContextValue {\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(contextValue) || contextValue.version !== 0.0) {\n throw new Error('the context value is not compatible')\n }\n\n if (!contextValue) {\n throw new Error('components using `useLayer()` should be wrapped in a <LayerProvider>.')\n }\n\n if (contextValue.version === 0.0) {\n return contextValue\n }\n\n throw new Error('could not get layer context')\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {LayerContextValue} from './types'\n\nexport const LayerContext = createGlobalScopedContext<LayerContextValue | null>(\n '@sanity/ui/context/layer',\n null,\n)\n","import {ReactElement, ReactNode, useCallback, useContext, useEffect, useMemo, useState} from 'react'\n\nimport {useArrayProp, useMediaIndex} from '../../hooks'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): ReactElement {\n const {children, zOffset: zOffsetProp = 0} = props\n\n // Get parent context values\n const parentContextValue = useContext(LayerContext)\n const parent = parentContextValue && getLayerContext(parentContextValue)\n const parentRegisterChild = parent?.registerChild\n const parentLevel = parent?.level ?? 0\n\n // Get level\n const level = parentLevel + 1\n\n // Get z-index offset\n const zOffset = useArrayProp(zOffsetProp)\n\n // Get responsive z-index value\n const maxMediaIndex = zOffset.length - 1\n const mediaIndex = Math.min(useMediaIndex(), maxMediaIndex)\n const zIndex = parent ? parent.zIndex + (zOffset[mediaIndex] ?? 0) : (zOffset[mediaIndex] ?? 0)\n\n // A state value that is used to keep track of the number of child layers on each level\n const [, setChildLayers] = useState<Record<number, number>>({})\n\n // A state value that is used to keep track of the number of child levels\n const [size, setSize] = useState(0)\n\n const isTopLayer = size === 0\n\n const registerChild = useCallback(\n (childLevel?: number) => {\n // Register child layers to the parent layer\n const parentDispose = parentRegisterChild?.(childLevel)\n\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const prevLen = state[childLevel] ?? 0\n const nextState = {...state, [childLevel]: prevLen + 1}\n\n setSize(Object.keys(nextState).length)\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, increment the size by 1\n setSize((v) => v + 1)\n }\n\n return () => {\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const nextState = {...state}\n\n if (nextState[childLevel] === 1) {\n delete nextState[childLevel]\n\n setSize(Object.keys(nextState).length)\n } else {\n nextState[childLevel] -= 1\n }\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, decrement the size by 1\n setSize((v) => v - 1)\n }\n\n parentDispose?.()\n }\n },\n [parentRegisterChild, setSize, setChildLayers],\n )\n\n // Register this layer on mount\n useEffect(() => parentRegisterChild?.(level), [level, parentRegisterChild])\n\n const value: LayerContextValue = useMemo(\n () => ({\n version: 0.0,\n isTopLayer,\n level,\n registerChild,\n size,\n zIndex,\n }),\n [isTopLayer, level, registerChild, size, zIndex],\n )\n\n return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n\nLayerProvider.displayName = 'LayerProvider'\n","import {useContext} from 'react'\n\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport function useLayer(): LayerContextValue {\n const value = useContext(LayerContext)\n\n if (!value) {\n throw new Error('useLayer(): missing context value')\n }\n\n try {\n return getLayerContext(value)\n } catch (err) {\n if (err instanceof Error) {\n throw new Error(`useLayer(): ${err.message}`)\n } else {\n throw new Error(`useLayer(): ${err}`)\n }\n }\n}\n","import {\n FocusEvent,\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers'\nimport {Box, BoxProps} from '../../primitives'\nimport {Props} from '../../types'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps extends BoxProps {\n /** A callback that fires when the layer becomes the top layer when it was not the top layer before. */\n onActivate?: (props: {activeElement: HTMLElement | null}) => void\n zOffset?: number | number[]\n}\n\ninterface LayerChildrenProps extends BoxProps {\n onActivate?: LayerProps['onActivate']\n}\n\nconst LayerChildren = forwardRef(function LayerChildren(\n props: Props<LayerChildrenProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n onActivate,\n onFocus,\n position = 'relative',\n style = EMPTY_RECORD,\n ...restProps\n } = props\n const {zIndex, isTopLayer} = useLayer()\n const lastFocusedRef = useRef<HTMLElement | null>(null)\n const ref = useRef<HTMLDivElement | null>(null)\n const isTopLayerRef = useRef<boolean>(isTopLayer)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n // When the layer very first mounts, it will be the top layer, but we don't want to fire\n // the callback in that case. We use a ref to track the previous value of isTopLayer to\n // determine if the layer has become the top layer since the last render.\n useEffect(() => {\n const becameTopLayer = isTopLayerRef.current !== isTopLayer && isTopLayer\n\n if (becameTopLayer) {\n onActivate?.({activeElement: lastFocusedRef.current})\n }\n\n isTopLayerRef.current = isTopLayer\n }, [isTopLayer, onActivate])\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement, Element>) => {\n // Call the user-provided onFocus handler if any\n onFocus?.(event)\n\n const rootElement = ref.current\n const target = document.activeElement\n\n if (!isTopLayer || !rootElement || !target) return\n\n if (isHTMLElement(target) && containsOrEqualsElement(rootElement, target)) {\n lastFocusedRef.current = target\n }\n },\n [isTopLayer, onFocus],\n )\n\n return (\n <Box\n data-ui=\"Layer\"\n {...restProps}\n onFocus={handleFocus}\n position={position}\n ref={ref}\n style={{...style, zIndex}}\n >\n {children}\n </Box>\n )\n})\n\n/**\n * @public\n */\nexport const Layer = forwardRef(function Layer(\n props: Props<LayerProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {children, zOffset = 1, ...restProps} = props\n\n return (\n <LayerProvider zOffset={zOffset}>\n <LayerChildren {...restProps} ref={ref}>\n {children}\n </LayerChildren>\n </LayerProvider>\n )\n})\n\nLayer.displayName = 'ForwardRef(Layer)'\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = '@sanity/ui/context/portal'\nconst elementKey = Symbol.for(`${key}/element`)\n\nglobalScope[elementKey] = null\n\nexport const defaultContextValue: PortalContextValue = {\n version: 0.0,\n boundaryElement: null,\n get element() {\n if (typeof document === 'undefined') {\n return null\n }\n\n if (globalScope[elementKey]) {\n return globalScope[elementKey]\n }\n\n globalScope[elementKey] = document.createElement('div')\n globalScope[elementKey].setAttribute('data-portal', '')\n\n document.body.appendChild(globalScope[elementKey])\n\n return globalScope[elementKey]\n },\n}\n\nexport const PortalContext = createGlobalScopedContext<PortalContextValue>(key, defaultContextValue)\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n const value = useContext(PortalContext)\n\n if (!value) {\n throw new Error('usePortal(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('usePortal(): the context value is not compatible')\n }\n\n return value\n}\n","import {createElement, ReactNode, ReactPortal} from 'react'\nimport {createPortal} from 'react-dom'\n\nimport {CardProvider, useCard} from '../../primitives'\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: ReactNode\n /**\n * @beta This API might change. DO NOT USE IN PRODUCTION.\n */\n __unstable_name?: string\n}\n\n/**\n * @public\n */\nexport function Portal(props: PortalProps): ReactPortal | null {\n const {children, __unstable_name: name} = props\n const card = useCard()\n const portal = usePortal()\n const portalElement =\n (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default\n\n if (!portalElement) {\n return null\n }\n\n return createPortal(\n createElement(\n CardProvider,\n {\n rendered: true,\n tone: 'transparent', // card?.tone || 'default',\n scheme: card?.scheme || 'light',\n },\n children,\n ),\n portalElement,\n )\n}\n\nPortal.displayName = 'Portal'\n","import {ReactElement, ReactNode, useMemo, useRef, useSyncExternalStore} from 'react'\n\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport interface PortalProviderProps {\n /**\n * @deprecated Use `<BoundaryElementProvider element={...} />` instead\n */\n boundaryElement?: HTMLElement | null\n children: ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): ReactElement {\n const {boundaryElement, children, element, __unstable_elements: elementsProp} = props\n const elements = useUnique(elementsProp)\n const fallbackElement = useSyncExternalStore(\n emptySubscribe,\n () => document.body,\n () => null,\n )\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || fallbackElement,\n elements,\n }\n }, [boundaryElement, element, elements, fallbackElement])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n\nPortalProvider.displayName = 'PortalProvider'\n\nconst emptySubscribe = () => () => {}\n\n/**\n * This is a React hook to make sure that a record identity is the same on every render. Uses strict\n * equality comparison (eg by identity), and only goes one level deep.\n */\nfunction useUnique<ValueType extends Comparable = Comparable>(value: ValueType): ValueType {\n const valueRef = useRef<ValueType>(value)\n\n if (!_isEqual(valueRef.current, value)) {\n valueRef.current = value\n }\n\n return valueRef.current\n}\n\nfunction _isEqual(objA: Comparable, objB: Comparable): boolean {\n if (!objA || !objB) {\n return objA === objB\n }\n\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n\n if (keysA.length !== keysB.length) {\n return false\n }\n\n return keysA.every((key) => objA[key] === objB[key])\n}\n\ntype Comparable = Record<string | number | symbol, unknown> | undefined | null\n","import {composeClassNames, srOnly} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, ReactNode} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n children?: ReactNode\n}\n\n/**\n * @public\n */\nexport const SrOnly = forwardRef(function SrOnly(\n props: Props<SrOnlyProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as: As = 'div', children, className, ...rest} = props\n\n return (\n <As\n data-ui=\"SrOnly\"\n {...rest}\n aria-hidden\n className={composeClassNames(className, srOnly())}\n ref={ref}\n >\n {children}\n </As>\n )\n})\n\nSrOnly.displayName = 'ForwardRef(SrOnly)'\n","import {vars} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {\n CSSProperties,\n ForwardedRef,\n forwardRef,\n ReactElement,\n ReactNode,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {_isScrollable} from '../../helpers'\nimport {_ResizeObserver} from '../../observers'\nimport {Box, StackProps} from '../../primitives'\nimport {Props} from '../../types'\n\n/**\n * @beta\n */\nexport interface VirtualListChangeOpts {\n fromIndex: number\n gap: number\n itemHeight: number\n scrollHeight: number\n scrollTop: number\n toIndex: number\n}\n\n/**\n * @beta\n */\nexport interface VirtualListProps<Item = any> extends Omit<StackProps, 'gap'> {\n gap?: Space\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => ReactNode\n}\n\n/**\n * @beta\n */\nexport const VirtualList = forwardRef(function VirtualList(\n props: Props<VirtualListProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n): ReactElement {\n const {gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props\n const ref = useRef<HTMLDivElement | null>(null)\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [itemHeight, setItemHeight] = useState(-1)\n\n const [gapValue, setGapValue] = useState(0)\n\n // Sync ref to parent\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect((): (() => void) | undefined => {\n if (!ref.current) return\n\n const scrollEl = findScrollable(ref.current.parentNode)\n\n if (scrollEl) {\n if (!(scrollEl instanceof HTMLElement)) return\n\n const handleScroll = () => {\n setScrollTop(scrollEl.scrollTop)\n }\n\n scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n const ro = new _ResizeObserver((entries) => {\n setScrollHeight(entries[0].contentRect.height)\n })\n\n ro.observe(scrollEl)\n\n handleScroll()\n\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll)\n\n ro.unobserve(scrollEl)\n ro.disconnect()\n }\n }\n\n const handleScroll = () => {\n setScrollTop(window.scrollY)\n }\n\n const handleResize = () => {\n setScrollHeight(window.innerHeight)\n }\n\n window.addEventListener('scroll', handleScroll, {passive: true})\n window.addEventListener('resize', handleResize)\n\n setScrollHeight(window.innerHeight)\n\n handleScroll()\n\n return () => {\n window.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + gapValue) - gapValue : 0\n const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0\n const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0\n\n useEffect(() => {\n onChange?.({\n fromIndex,\n gap: gapValue,\n itemHeight,\n scrollHeight,\n scrollTop,\n toIndex,\n })\n }, [fromIndex, gapValue, itemHeight, onChange, scrollHeight, scrollTop, toIndex])\n\n const children = useMemo(() => {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [\n <>\n <Box\n ref={(el) => (el ? setItemHeight(el.offsetHeight) : undefined)}\n insetTop={0}\n insetLeft={0}\n insetRight={0}\n key={0}\n position=\"absolute\"\n >\n {renderItem(items[0])}\n </Box>\n <div\n ref={(el) => (el ? setGapValue(el.offsetHeight) : undefined)}\n style={{height: vars.space[gap]}}\n />\n </>,\n ]\n }\n\n return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {\n const itemIndex = fromIndex + _itemIndex\n const node = renderItem(item)\n const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex\n\n return (\n <Box\n insetLeft={0}\n insetRight={0}\n key={key}\n position=\"absolute\"\n style={{top: itemIndex * (itemHeight + gapValue) - gapValue}}\n >\n {node}\n </Box>\n )\n })\n }, [fromIndex, gap, gapValue, getItemKey, itemHeight, items, renderItem, toIndex])\n\n const wrapperStyle: CSSProperties = useMemo(() => ({height}), [height])\n\n return (\n <Box data-ui=\"VirtualList\" {...restProps} position=\"relative\" ref={ref}>\n <div ref={wrapperRef} style={wrapperStyle}>\n {children}\n </div>\n </Box>\n )\n})\n\nVirtualList.displayName = 'ForwardRef(VirtualList)'\n\nfunction findScrollable(parentNode: ParentNode | null) {\n let _scrollEl = parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n return _scrollEl\n}\n","import {Placement, PopoverMargins} from '../../types'\n\nexport const DEFAULT_POPOVER_DISTANCE = 4\nexport const DEFAULT_POPOVER_PADDING = 4\nexport const DEFAULT_POPOVER_ARROW_WIDTH = 19\nexport const DEFAULT_POPOVER_ARROW_HEIGHT = 8\nexport const DEFAULT_POPOVER_ARROW_RADIUS = 2\nexport const DEFAULT_POPOVER_MARGINS: PopoverMargins = [0, 0, 0, 0]\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n 'top': ['bottom', 'left', 'right'],\n 'top-start': ['bottom-start', 'left-start', 'right-start'],\n 'top-end': ['bottom-end', 'left-end', 'right-end'],\n 'bottom': ['top', 'left', 'right'],\n 'bottom-start': ['top-start', 'left-start', 'right-start'],\n 'bottom-end': ['top-end', 'left-end', 'right-end'],\n 'left': ['right', 'top', 'bottom'],\n 'left-start': ['right-start', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'top-end', 'bottom-end'],\n 'right': ['left', 'top', 'bottom'],\n 'right-start': ['left-start', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'top-end', 'bottom-end'],\n}\n","import {detectOverflow, Elements, Middleware} from '@floating-ui/react-dom'\n\nimport {PopoverMargins} from '../../../types'\n\nexport interface SizeMiddlewareApplyOptions {\n availableWidth: number\n availableHeight: number\n elements: Elements\n referenceWidth: number\n}\n\nexport function size(options: {\n apply: (args: SizeMiddlewareApplyOptions) => void\n boundaryElement?: HTMLElement | null\n constrainSize: boolean\n margins: PopoverMargins\n matchReferenceWidth?: boolean\n padding?: number\n}): Middleware {\n const {apply, margins, padding = 0} = options\n\n return {\n name: '@sanity/ui/size',\n async fn(args) {\n const {elements, placement, platform, rects} = args\n const {floating, reference} = rects\n\n const overflow = await detectOverflow(args, {\n altBoundary: true,\n boundary: options.boundaryElement || undefined,\n elementContext: 'floating',\n padding,\n rootBoundary: 'viewport',\n })\n\n let maxWidth = Infinity\n let maxHeight = Infinity\n\n const floatingW = floating.width\n const floatingH = floating.height\n\n if (placement.includes('top')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.top\n }\n\n if (placement.includes('right')) {\n maxWidth = floatingW - overflow.right\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n if (placement.includes('bottom')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.bottom\n }\n\n if (placement.includes('left')) {\n maxWidth = floatingW - overflow.left\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n // IMPORTANT – APPLY ELEMENT STYLES HERE\n // Elements need to be resized BEFORE the `platform.getDimensions` call below\n apply({\n availableWidth: maxWidth - margins[1] - margins[3],\n availableHeight: maxHeight - margins[0] - margins[2],\n elements,\n referenceWidth: reference.width - margins[1] - margins[3],\n })\n\n const nextDimensions = await platform.getDimensions(elements.floating)\n\n const targetH = nextDimensions.height\n const targetW = nextDimensions.width\n\n if (floatingW !== targetW || floatingH !== targetH) {\n return {reset: {rects: true}}\n }\n\n return {}\n },\n }\n}\n","import {Strategy} from '@floating-ui/react-dom'\nimport {popoverCard} from '@sanity/ui/css'\nimport {motion, MotionProps} from 'framer-motion'\nimport {CSSProperties, ForwardedRef, forwardRef, memo, useMemo} from 'react'\n\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {Placement, PopoverMargins, Props} from '../../types'\nimport {Arrow, useLayer} from '../../utils'\nimport {Card, CardProps} from '../card'\nimport {Flex} from '../flex'\nimport {\n DEFAULT_POPOVER_ARROW_HEIGHT,\n DEFAULT_POPOVER_ARROW_RADIUS,\n DEFAULT_POPOVER_ARROW_WIDTH,\n DEFAULT_POPOVER_MARGINS,\n} from './constants'\n\n/** @internal */\nexport interface PopoverCardProps extends CardProps {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n animate?: boolean\n arrow: boolean\n arrowRef: ForwardedRef<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n originX?: number\n originY?: number\n placement: Placement\n referenceWidth?: number\n strategy: Strategy\n x: number | null\n y: number | null\n}\n\nconst MotionCard = motion.create(Card)\n\n/**\n * @internal\n */\nexport const PopoverCard = memo(\n forwardRef(function PopoverCard(\n props: Props<PopoverCardProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n ) {\n const {\n __unstable_margins: marginsProp,\n animate,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n maxWidth,\n padding,\n placement,\n originX,\n originY,\n overflow,\n radius,\n referenceWidth,\n // scheme: schemeProp,\n shadow,\n strategy,\n style,\n tone = 'inherit',\n // width,\n x: xProp,\n y: yProp,\n ...restProps\n } = props\n\n // const card = useCard()\n\n // const tone = toneProp ?? card?.tone ?? 'inherit'\n // const scheme = schemeProp ?? card?.scheme ?? 'light'\n\n const layer = useLayer()\n\n // Get margins: [top, right, bottom, left]\n const margins: PopoverMargins = useMemo(\n () => marginsProp || DEFAULT_POPOVER_MARGINS,\n [marginsProp],\n )\n\n // Translate according to margins\n const x = (xProp ?? 0) + margins[3]\n const y = (yProp ?? 0) + margins[0]\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n left: x,\n originX,\n originY,\n position: strategy,\n top: y,\n width: referenceWidth,\n zIndex: layer.zIndex ?? 100,\n willChange: animate ? 'transform' : undefined,\n ...style,\n }),\n [animate, layer.zIndex, originX, originY, referenceWidth, strategy, style, x, y],\n )\n\n const arrowStyle: CSSProperties = useMemo(\n () => ({\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }),\n [arrowX, arrowY],\n )\n\n return (\n <MotionCard\n className={popoverCard()}\n data-ui=\"Popover\"\n {...(restProps as CardProps & MotionProps)}\n data-context-tone={tone}\n data-placement={placement}\n direction=\"column\"\n display=\"flex\"\n radius={radius}\n ref={ref}\n // scheme={scheme}\n shadow={shadow}\n sizing=\"border\"\n style={rootStyle}\n tone={tone}\n variants={POPOVER_MOTION_PROPS.card}\n transition={POPOVER_MOTION_PROPS.transition}\n initial={animate ? ['hidden', 'initial'] : undefined}\n animate={animate ? ['visible', 'scaleIn'] : undefined}\n exit={animate ? ['hidden', 'scaleOut'] : undefined}\n >\n <Flex\n data-ui=\"Popover__wrapper\"\n direction=\"column\"\n flex={1}\n maxWidth={maxWidth}\n overflow={overflow}\n >\n <Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>\n </Flex>\n\n {arrow && (\n <Arrow\n ref={arrowRef}\n style={arrowStyle}\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n radius={DEFAULT_POPOVER_ARROW_RADIUS}\n />\n )}\n </MotionCard>\n )\n }),\n)\nPopoverCard.displayName = 'Memo(ForwardRef(PopoverCard))'\n","import {\n arrow,\n autoUpdate,\n flip,\n hide,\n Middleware,\n offset,\n RootBoundary,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {AnimatePresence} from 'framer-motion'\nimport {\n cloneElement,\n ForwardedRef,\n forwardRef,\n memo,\n MutableRefObject,\n ReactElement,\n ReactNode,\n RefCallback,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\n\nimport {Z_OFFSETS} from '../../constants'\nimport {useArrayProp, usePrefersReducedMotion} from '../../hooks'\nimport {origin} from '../../middleware/origin'\nimport {Placement, PopoverMargins, Props} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement, useLayer} from '../../utils'\nimport {CardProps, CardProvider, useCard} from '../card'\nimport {\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_POPOVER_DISTANCE,\n DEFAULT_POPOVER_MARGINS,\n DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {size} from './floating-ui/size'\nimport {PopoverCard} from './popoverCard'\nimport {PopoverUpdateCallback} from './types'\n\n/** @public */\nexport interface PopoverProps extends CardProps, LayerProps {\n /** @beta */\n __unstable_margins?: PopoverMargins\n /**\n * Whether the popover should animate in and out.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n arrow?: boolean\n /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */\n boundaryElement?: HTMLElement | null\n children?: ReactElement<{ref: ForwardedRef<HTMLElement>}>\n /**\n * When `true`, prevent overflow within the current boundary:\n * - by flipping on its side axis\n * - by resizing\n *\n * Note that:\n * - setting `preventOverflow` to `true` also prevents overflow on its side axis\n * - setting `matchReferenceWidth` to `true` also causes the popover to resize\n *\n * @defaultValue false\n */\n constrainSize?: boolean\n content?: ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n floatingBoundary?: HTMLElement | null\n /**\n * When `true`, set the maximum width to match the reference element, and also prevent overflow within\n * the current boundary by resizing.\n *\n * Note that setting `constrainSize` to `true` also causes the popover to resize\n *\n * @defaultValue false\n */\n matchReferenceWidth?: boolean\n /**\n * When true, blocks all pointer interaction with elements beneath the popover until closed.\n *\n * @beta\n * @defaultValue false\n */\n modal?: boolean\n open?: boolean\n placement?: Placement\n /** Whether or not to render the popover in a portal element. */\n portal?: boolean | string\n preventOverflow?: boolean\n referenceBoundary?: HTMLElement | null\n /**\n * When defined, the popover will be positioned relative to this element.\n * The children of the popover won't be rendered.\n */\n referenceElement?: HTMLElement | null\n /** @beta */\n updateRef?:\n | MutableRefObject<PopoverUpdateCallback | undefined>\n | RefCallback<PopoverUpdateCallback | undefined>\n}\n\nconst ViewportOverlay = () => {\n const {zIndex} = useLayer()\n\n return (\n <div\n style={{\n position: 'fixed',\n inset: 0,\n width: '100vw',\n height: '100vh',\n zIndex,\n }}\n />\n )\n}\n\n/**\n * The `Popover` component is used to display some content on top of another.\n *\n * @public\n */\nexport const Popover = memo(\n forwardRef(function Popover(\n props: Props<PopoverProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n ): ReactElement {\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins = DEFAULT_POPOVER_MARGINS,\n animate: _animate = false,\n arrow: arrowProp = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n boundaryElement = boundaryElementContext.element,\n children: childProp,\n constrainSize = false,\n content,\n disabled,\n fallbackPlacements = props.fallbackPlacements ??\n DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],\n matchReferenceWidth,\n floatingBoundary = props.boundaryElement ?? boundaryElementContext.element,\n modal,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onActivate,\n open,\n overflow = 'hidden',\n padding,\n placement: placementProp = 'bottom',\n portal,\n preventOverflow = true,\n radius = 3,\n referenceBoundary = props.boundaryElement ?? boundaryElementContext.element,\n referenceElement,\n scheme,\n shadow = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n zOffset: zOffsetProp = Z_OFFSETS.popover,\n updateRef,\n ...restProps\n } = props\n\n const card = useCard()\n\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const zOffset = useArrayProp(zOffsetProp)\n const ref = useRef<HTMLDivElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n // Keep track of reference element width (see `size` middleware below)\n const referenceWidthRef = useRef<number>(undefined)\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n ret.push(\n flip({\n boundary: floatingBoundary || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n }),\n )\n }\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: DEFAULT_POPOVER_DISTANCE}))\n\n // Track sizes\n if (constrainSize || matchReferenceWidth) {\n ret.push(\n size({\n apply({availableWidth, availableHeight, elements, referenceWidth}) {\n // not fresh, so use refs\n\n referenceWidthRef.current = referenceWidth\n\n if (matchReferenceWidth) {\n elements.floating.style.width = `${referenceWidth}px`\n }\n\n if (constrainSize) {\n elements.floating.style.maxWidth = `${availableWidth}px`\n elements.floating.style.maxHeight = `${availableHeight}px`\n }\n },\n boundaryElement: floatingBoundary || undefined,\n constrainSize,\n margins,\n matchReferenceWidth,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Shift the popover so its sits within the boundary element\n if (preventOverflow) {\n ret.push(\n shift({\n boundary: floatingBoundary || undefined,\n rootBoundary,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Place arrow\n if (arrowProp) {\n ret.push(\n arrow({\n element: arrowRef,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Determine the origin to scale from.\n // Must be placed after `@sanity/ui/size` and `shift` middleware.\n if (animate) {\n ret.push(origin)\n }\n\n ret.push(\n hide({\n boundary: referenceBoundary || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n }),\n )\n\n return ret\n }, [\n animate,\n arrowProp,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n preventOverflow,\n referenceBoundary,\n ])\n\n const {x, y, middlewareData, placement, refs, strategy, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n elements: referenceElement\n ? {\n reference: referenceElement,\n }\n : undefined,\n })\n\n const referenceHidden = middlewareData.hide?.referenceHidden\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const originX = middlewareData['@sanity/ui/origin']?.originX\n const originY = middlewareData['@sanity/ui/origin']?.originY\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n ref.current = node\n refs.setFloating(node)\n },\n [refs],\n )\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n refs.setReference(node)\n\n const childRef = getElementRef(childProp as any)\n\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n },\n [childProp, refs],\n )\n\n const child = useMemo(() => {\n // If a reference element is defined, we don't need to clone the child\n if (referenceElement) return childProp\n\n if (!childProp) return null\n\n return cloneElement(childProp, {ref: setReference})\n }, [childProp, referenceElement, setReference])\n\n useEffect(() => {\n if (updateRef) {\n if (typeof updateRef === 'function') {\n updateRef(update)\n } else if (updateRef) {\n updateRef.current = update\n }\n }\n }, [update, updateRef])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n {/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned \n before the below popover card. */}\n {modal && <ViewportOverlay />}\n\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n animate={animate}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n hidden={referenceHidden}\n maxWidth={widthProp}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n originX={originX}\n originY={originY}\n strategy={strategy}\n x={x}\n y={y}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n const children =\n open &&\n (portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n <CardProvider\n tone={tone === 'inherit' ? (card?.tone ?? 'default') : tone}\n scheme={scheme ?? 'light'}\n >\n {popover}\n </CardProvider>\n </Portal>\n ) : (\n popover\n ))\n\n return (\n <>\n {/* the popover */}\n {animate ? <AnimatePresence>{children}</AnimatePresence> : children}\n\n {/* the referred element */}\n {child}\n </>\n )\n }),\n)\n\nPopover.displayName = 'Memo(ForwardRef(Popover))'\n\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nfunction getElementRef(\n element: ReactElement<{ref: ForwardedRef<HTMLElement>}>,\n): ForwardedRef<HTMLElement> {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return (element as any).ref\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return element.props.ref\n }\n\n // Not DEV\n return element.props.ref || (element as any).ref\n}\n","import {composeClassNames, radio} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\n/**\n * The `Radio` component allows the user to select one option from a set.\n *\n * @public\n */\nexport const Radio = forwardRef(function Radio(\n props: Props<RadioProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {className, disabled, style, customValidity, readOnly, ...restProps} = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <div className={composeClassNames(className, radio())} data-ui=\"Radio\" style={style}>\n <input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n ref={ref}\n type=\"radio\"\n />\n <span />\n </div>\n )\n})\n\nRadio.displayName = 'ForwardRef(Radio)'\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {\n _inputElement,\n ResponsiveProp,\n select,\n selectPresentation,\n SelectStyleProps,\n} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface SelectProps extends SelectStyleProps {\n customValidity?: string\n readOnly?: boolean\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n}\n\n/**\n * The `Select` component provides control of options.\n *\n * @public\n */\nexport const Select = forwardRef(function Select(\n props: Props<SelectProps, 'select'>,\n forwardedRef: ForwardedRef<HTMLSelectElement>,\n) {\n const {\n border = true,\n children,\n customValidity,\n disabled,\n fontSize = 2,\n gap,\n padding = 3,\n radius = 1,\n readOnly,\n space = 2,\n ...restProps\n } = props\n\n const ref = useRef<HTMLSelectElement | null>(null)\n\n useImperativeHandle<HTMLSelectElement | null, HTMLSelectElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <div\n data-ui=\"Select\"\n className={select({border, fontSize, padding, radius, gap: gap ?? space})}\n data-icon-right=\"\"\n >\n <select\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n className={_inputElement()}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </select>\n <span className={selectPresentation()}>\n <Box as=\"span\" display=\"inline-block\" padding={padding}>\n <Text size={fontSize}>\n <ChevronDownIcon />\n </Text>\n </Box>\n </span>\n </div>\n )\n})\n\nSelect.displayName = 'ForwardRef(Select)'\n","import {composeClassNames, ResponsiveProp, stack} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface StackProps\n extends Omit<\n BoxProps,\n 'align' | 'columns' | 'direction' | 'display' | 'gapX' | 'gapY' | 'justify'\n > {\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n}\n\n/**\n * The `Stack` component is used to place elements on top of each other.\n *\n * @public\n */\nexport const Stack = forwardRef(function Stack(\n props: Props<StackProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, className, gap, space, ...restProps} = props\n\n return (\n <Box\n data-ui=\"Stack\"\n {...restProps}\n as={as}\n autoRows=\"min\"\n className={composeClassNames(className, stack())}\n display=\"grid\"\n gap={gap ?? space}\n ref={ref}\n />\n )\n})\n\nStack.displayName = 'ForwardRef(Stack)'\n","import {\n _switch,\n _switchElement,\n _switchPresentation,\n _switchThumb,\n _switchTrack,\n composeClassNames,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useEffect, useImperativeHandle, useRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box} from '../box'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\n/**\n * The `Switch` component allows the user to toggle a setting on and off.\n *\n * Extends all properties of an `<input type=\"checkbox\" />` element, except type.\n *\n * @public\n */\nexport const Switch = forwardRef(function Switch(\n props: Props<SwitchProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {checked, className, disabled, indeterminate, readOnly, style, ...restProps} = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n return (\n <Box\n className={composeClassNames(className, _switch())}\n data-checked={checked ? '' : undefined}\n data-indeterminate={indeterminate ? '' : undefined}\n data-ui=\"Switch\"\n display=\"inline-block\"\n position=\"relative\"\n style={style}\n >\n <input\n {...restProps}\n checked={indeterminate !== true && checked}\n className={_switchElement()}\n data-disabled={disabled ? '' : undefined}\n data-read-only={!disabled && readOnly ? '' : undefined}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <span aria-hidden className={_switchPresentation()}>\n <span className={_switchTrack()} />\n <span className={_switchThumb()} />\n </span>\n </Box>\n )\n})\n\nSwitch.displayName = 'ForwardRef(Switch)'\n","import {\n _inputElement,\n _inputPresentation,\n ResponsiveProp,\n textArea,\n TextAreaStyleProps,\n} from '@sanity/ui/css'\nimport {Space, ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends TextAreaStyleProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n customValidity?: string\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n weight?: ThemeFontWeightKey\n}\n\n/**\n * A multiline text input.\n *\n * @public\n */\nexport const TextArea = forwardRef(function TextArea(\n props: Props<TextAreaProps, 'textarea'>,\n forwardedRef: ForwardedRef<HTMLTextAreaElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled = false,\n fontSize = 2,\n gap,\n padding = 3,\n radius = 2,\n space = 3,\n // weight,\n // __unstable_disableFocusRing,\n ...restProps\n } = props\n\n const ref = useRef<HTMLTextAreaElement | null>(null)\n\n useImperativeHandle<HTMLTextAreaElement | null, HTMLTextAreaElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <span\n className={textArea({border, fontSize, padding, radius, gap: gap ?? space})}\n data-ui=\"TextArea\"\n >\n <textarea {...restProps} className={_inputElement()} disabled={disabled} ref={ref} />\n <span className={_inputPresentation()} />\n </span>\n )\n})\n\nTextArea.displayName = 'ForwardRef(TextArea)'\n","import {CloseIcon} from '@sanity/icons'\nimport {\n _inputElement,\n _inputPresentation,\n composeClassNames,\n InputStyleProps,\n ResponsiveProp,\n textInput,\n} from '@sanity/ui/css'\nimport {Space, ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {\n CSSProperties,\n ElementType,\n ForwardedRef,\n forwardRef,\n isValidElement,\n MouseEvent,\n ReactNode,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp, useCustomValidity} from '../../hooks'\nimport {isRecord} from '../../lib/isRecord'\nimport {Props} from '../../types'\nimport {Box} from '../box'\nimport {Button, ButtonProps} from '../button'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = Omit<\n Props<ButtonProps, 'button'>,\n 'as' | 'onClick' | 'onMouseDown'\n>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'search'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps extends InputStyleProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n icon?: ElementType | ReactNode\n iconRight?: ElementType | ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n prefix?: ReactNode\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n suffix?: ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: CSSProperties = {\n backgroundColor: 'transparent',\n top: 0,\n right: 0,\n zIndex: 2,\n}\n\n/**\n * Single line text input.\n *\n * @public\n */\nexport const TextInput = forwardRef(function TextInput(\n props: Props<TextInputProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {\n __unstable_disableFocusRing,\n border = true,\n className,\n clearButton,\n disabled = false,\n fontSize = 2,\n gap,\n icon: IconComponent,\n iconRight: IconRightComponent,\n onClear,\n padding = 3,\n prefix,\n radius = 2,\n readOnly,\n space = 3,\n suffix,\n customValidity,\n type = 'text',\n weight: _width, // eslint-disable-line @typescript-eslint/no-unused-vars\n width,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n const paddingArray = useArrayProp(padding)\n\n const withClearButton = Boolean(clearButton)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref],\n )\n\n const clearButtonBoxPadding = useMemo(\n () =>\n paddingArray.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return typeof v === 'number' ? v - 2 : 0\n }) as Space[],\n [paddingArray],\n )\n\n const clearButtonPadding = useMemo(\n () =>\n paddingArray.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return typeof v === 'number' ? v - 1 : 0\n }) as Space[],\n [paddingArray],\n )\n\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (isRecord(clearButton) ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n\n return (\n <Box\n align=\"center\"\n as=\"span\"\n className={composeClassNames(\n className,\n textInput({\n border,\n fontSize,\n padding,\n radius,\n gap: gap ?? space,\n width,\n }),\n )}\n data-icon-left={IconComponent ? '' : undefined}\n data-icon-right={IconRightComponent ? '' : undefined}\n data-prefix={prefix ? '' : undefined}\n data-suffix={suffix ? '' : undefined}\n data-ui=\"TextInput\"\n display=\"flex\"\n >\n {prefix && (\n <Box as=\"span\" className=\"text-input-prefix\" sizing=\"border\">\n <span>{prefix}</span>\n </Box>\n )}\n\n <Box as=\"span\" flex={1} position=\"relative\">\n <input\n // data-as=\"input\"\n {...restProps}\n className={_inputElement()}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n <Box\n as=\"span\"\n // $unstableDisableFocusRing={__unstable_disableFocusRing}\n className={_inputPresentation()}\n data-disable-focus-ring={__unstable_disableFocusRing ? '' : undefined}\n position=\"absolute\"\n >\n {IconComponent && (\n <Box as=\"span\" padding={padding} position=\"absolute\" style={{top: 0, left: 0}}>\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n </Box>\n )}\n\n {!withClearButton && IconRightComponent && (\n <Box as=\"span\" padding={padding} position=\"absolute\" style={{top: 0, right: 0}}>\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n </Box>\n )}\n </Box>\n\n {!disabled && !readOnly && clearButton && (\n <Box\n as=\"span\"\n padding={clearButtonBoxPadding}\n position=\"absolute\"\n style={CLEAR_BUTTON_BOX_STYLE}\n // tone={customValidity ? 'critical' : 'inherit'}\n >\n <Button\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\n display=\"block\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </Box>\n )}\n </Box>\n\n {suffix && (\n <Box as=\"span\" className=\"text-input-suffix\" sizing=\"border\">\n <span>{suffix}</span>\n </Box>\n )}\n </Box>\n )\n})\n\nTextInput.displayName = 'ForwardRef(TextInput)'\n","import {SetStateAction, useCallback, useRef, useState} from 'react'\n\n/**\n * @beta\n */\nexport function useDelayedState<S>(\n initialState: S | (() => S),\n): [S, (nextState: SetStateAction<S>, delay?: number) => void] {\n const [state, setState] = useState(initialState)\n const delayedAction = useRef<NodeJS.Timeout | undefined>(undefined)\n\n const onStateChange = useCallback((nextState: SetStateAction<S>, delay?: number) => {\n const action = () => {\n setState(nextState)\n }\n\n // A new state change has been initiated, cancel the previous one.\n if (delayedAction.current) {\n clearTimeout(delayedAction.current)\n delayedAction.current = undefined\n }\n\n if (!delay) return action()\n delayedAction.current = setTimeout(action, delay)\n }, [])\n\n return [state, onStateChange]\n}\n","// Based on https://github.com/radix-ui/primitives/blob/0bade6a704e5821b90a6da0f3d8cfa8a7711127d/packages/react/slot/src/Slot.tsx#L128-L150\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nexport function getElementRef(element: React.ReactElement) {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return (element as any).ref\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return (element.props as {ref?: React.Ref<unknown>}).ref\n }\n\n // Not DEV\n return (element.props as {ref?: React.Ref<unknown>}).ref || (element as any).ref\n}\n","import {Placement} from '@floating-ui/react-dom'\n\nexport const DEFAULT_TOOLTIP_ARROW_WIDTH = 15\nexport const DEFAULT_TOOLTIP_ARROW_HEIGHT = 6\nexport const DEFAULT_TOOLTIP_ARROW_RADIUS = 2\n\nexport const DEFAULT_TOOLTIP_DISTANCE = 4\nexport const DEFAULT_TOOLTIP_PADDING = 4\n\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n 'top': ['top-end', 'top-start', 'bottom', 'left', 'right'],\n 'top-start': ['top', 'top-end', 'bottom-start', 'left-start', 'right-start'],\n 'top-end': ['top', 'top-start', 'bottom-end', 'left-end', 'right-end'],\n 'bottom': ['bottom-end', 'bottom-start', 'top', 'left', 'right'],\n 'bottom-start': ['bottom', 'bottom-end', 'top-start', 'left-start', 'right-start'],\n 'bottom-end': ['bottom', 'bottom-start', 'top-end', 'left-end', 'right-end'],\n 'left': ['left-end', 'left-start', 'right', 'top', 'bottom'],\n 'left-start': ['left', 'left-end', 'right-start', 'top-start', 'bottom-start'],\n 'left-end': ['left', 'left-start', 'right-end', 'top-end', 'bottom-end'],\n 'right': ['right-end', 'right-start', 'left', 'top', 'bottom'],\n 'right-start': ['right', 'right-end', 'left-start', 'top-start', 'bottom-start'],\n 'right-end': ['right', 'right-start', 'left-end', 'top-end', 'bottom-end'],\n}\n","import {tooltipCard} from '@sanity/ui/css'\nimport {motion} from 'framer-motion'\nimport {CSSProperties, ForwardedRef, forwardRef, memo, useMemo} from 'react'\n\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {Placement, Props} from '../../types'\nimport {Arrow} from '../../utils'\nimport {Card, CardProps} from '../card'\nimport {\n DEFAULT_TOOLTIP_ARROW_HEIGHT,\n DEFAULT_TOOLTIP_ARROW_RADIUS,\n DEFAULT_TOOLTIP_ARROW_WIDTH,\n} from './constants'\n\nconst MotionCard = motion.create(Card)\n\n/* @internal */\nexport interface TooltipCardProps extends CardProps {\n animate?: boolean\n arrow: boolean\n arrowRef: ForwardedRef<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n originX?: number\n originY?: number\n placement?: Placement\n}\n\n/**\n * @internal\n */\nexport const TooltipCard = memo(\n forwardRef(function TooltipCard(\n props: Omit<\n Props<TooltipCardProps, 'div'>,\n 'onDrag' | 'onDragEnd' | 'onDragStart' | 'onAnimationStart'\n >,\n ref: ForwardedRef<HTMLDivElement>,\n ) {\n const {\n animate,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n originX,\n originY,\n padding,\n placement,\n radius,\n scheme,\n shadow,\n style,\n tone = 'inherit',\n ...restProps\n } = props\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n originX,\n originY,\n willChange: animate ? 'transform' : undefined,\n ...style,\n }),\n [animate, originX, originY, style],\n )\n\n const arrowStyle: CSSProperties = useMemo(\n () => ({\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }),\n [arrowX, arrowY],\n )\n\n return (\n <MotionCard\n data-ui=\"Tooltip__card\"\n {...restProps}\n data-animate={animate ? '' : undefined}\n className={tooltipCard()}\n data-placement={placement}\n padding={padding}\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n style={rootStyle}\n variants={POPOVER_MOTION_PROPS.card}\n transition={POPOVER_MOTION_PROPS.transition}\n initial={animate ? ['hidden', 'initial'] : undefined}\n animate={animate ? ['visible', 'scaleIn'] : undefined}\n exit={animate ? ['hidden', 'scaleOut'] : undefined}\n tone={tone}\n >\n {children}\n\n {arrow && (\n <Arrow\n ref={arrowRef}\n style={arrowStyle}\n width={DEFAULT_TOOLTIP_ARROW_WIDTH}\n height={DEFAULT_TOOLTIP_ARROW_HEIGHT}\n radius={DEFAULT_TOOLTIP_ARROW_RADIUS}\n />\n )}\n </MotionCard>\n )\n }),\n)\n\nTooltipCard.displayName = 'Memo(ForwardRef(TooltipCard))'\n","import {createGlobalScopedContext} from '../../../lib/createGlobalScopedContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @beta\n */\nexport const TooltipDelayGroupContext =\n createGlobalScopedContext<TooltipDelayGroupContextValue | null>(\n '@sanity/ui/context/tooltipDelayGroup',\n null,\n )\n","import {ReactElement, ReactNode, useMemo} from 'react'\n\nimport {useDelayedState} from '../../../hooks/useDelayedState'\nimport {Delay} from '../../types'\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @public\n * */\nexport interface TooltipDelayGroupProviderProps {\n children?: ReactNode\n /**\n * Handles the delays to open or close a tooltip inside a group\n *\n * If only a `number` is passed, it will be used for both opening and closing.\n *\n * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.\n *\n * @public\n */\n delay: Delay\n}\n\n/**\n * @public\n * Provides context for a group of tooltip elements that should share a delay\n * which temporarily becomes 1 ms after the first floating element of the group opens.\n */\nexport function TooltipDelayGroupProvider(props: TooltipDelayGroupProviderProps): ReactElement {\n const {children, delay} = props\n const [isGroupActive, setIsGroupActive] = useDelayedState(false)\n const [openTooltipId, setOpenTooltipId] = useDelayedState<string | null>(null)\n\n const openDelay = typeof delay === 'number' ? delay : delay?.open || 0\n const closeDelay = typeof delay === 'number' ? delay : delay?.close || 0\n\n const value: TooltipDelayGroupContextValue = useMemo(\n () => ({\n setIsGroupActive: setIsGroupActive,\n openTooltipId: openTooltipId,\n setOpenTooltipId: setOpenTooltipId,\n // When the group is active, we want the next tooltip to open immediately.\n openDelay: isGroupActive ? 1 : openDelay,\n closeDelay: closeDelay,\n }),\n [closeDelay, isGroupActive, openDelay, openTooltipId, setIsGroupActive, setOpenTooltipId],\n )\n\n return (\n <TooltipDelayGroupContext.Provider value={value}>{children}</TooltipDelayGroupContext.Provider>\n )\n}\n\nTooltipDelayGroupProvider.displayName = 'TooltipDelayGroupProvider'\n","import {useContext} from 'react'\n\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTooltipDelayGroup(): TooltipDelayGroupContextValue | null {\n const value = useContext(TooltipDelayGroupContext)\n\n return value\n}\n","import {\n arrow,\n autoUpdate,\n flip,\n type Middleware,\n offset,\n type RootBoundary,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {composeClassNames, RadiusStyleProps, ShadowStyleProps, tooltip} from '@sanity/ui/css'\nimport type {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {AnimatePresence} from 'framer-motion'\nimport {\n cloneElement,\n ForwardedRef,\n forwardRef,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport {useEffectEvent} from 'use-effect-event'\n\nimport {Z_OFFSETS} from '../../constants'\nimport {useArrayProp, usePrefersReducedMotion} from '../../hooks'\nimport {useDelayedState} from '../../hooks/useDelayedState'\nimport {origin} from '../../middleware/origin'\nimport type {Placement, Props} from '../../types'\nimport {Layer, type LayerProps, Portal, useBoundaryElement, usePortal} from '../../utils'\nimport {getElementRef} from '../../utils/getElementRef'\nimport {CardProvider, useCard} from '../card'\nimport type {Delay} from '../types'\nimport {\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_TOOLTIP_DISTANCE,\n DEFAULT_TOOLTIP_PADDING,\n} from './constants'\nimport {TooltipCard} from './tooltipCard'\nimport {useTooltipDelayGroup} from './tooltipDelayGroup'\n\n/**\n * @public\n */\nexport interface TooltipProps extends Omit<LayerProps, 'as'>, RadiusStyleProps, ShadowStyleProps {\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n /**\n * Whether the tooltip should animate in and out.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n arrow?: boolean\n boundaryElement?: HTMLElement | null\n children?: ReactElement<Props>\n content?: ReactNode\n /**\n * Adds a delay to open or close the tooltip.\n *\n * If only a `number` is passed, it will be used for both opening and closing.\n *\n * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.\n *\n * @public\n * @defaultValue 0\n */\n delay?: Delay\n disabled?: boolean\n fallbackPlacements?: Placement[]\n placement?: Placement\n /** Whether or not to render the tooltip in a portal element. */\n portal?: boolean | string\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * Tooltips display information when hovering, focusing or tapping.\n *\n * @public\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: Props<TooltipProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const boundaryElementContext = useBoundaryElement()\n const {\n animate: _animate = false,\n arrow: arrowProp = false,\n boundaryElement = boundaryElementContext?.element,\n children: childProp,\n className,\n content,\n delay,\n disabled,\n fallbackPlacements: fallbackPlacementsProp = props.fallbackPlacements ??\n DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],\n padding = 2,\n placement: placementProp = 'bottom',\n portal: portalProp,\n radius = 3,\n scheme,\n shadow = 2,\n zOffset = Z_OFFSETS.tooltip,\n tone = 'inherit',\n ...restProps\n } = props\n const card = useCard()\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const fallbackPlacements = useArrayProp(fallbackPlacementsProp)\n const ref = useRef<HTMLDivElement | null>(null)\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n const [tooltipMaxWidth, setTooltipMaxWidth] = useState(0)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const portal = usePortal()\n const portalElement =\n typeof portalProp === 'string' ? portal.elements?.[portalProp] || null : portal.element\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n ret.push(\n flip({\n boundary: boundaryElement || undefined,\n fallbackPlacements,\n padding: DEFAULT_TOOLTIP_PADDING,\n rootBoundary,\n }),\n )\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: DEFAULT_TOOLTIP_DISTANCE}))\n\n // Shift the tooltip so its sits with the boundary element\n ret.push(\n shift({\n boundary: boundaryElement || undefined,\n rootBoundary,\n padding: DEFAULT_TOOLTIP_PADDING,\n }),\n )\n\n // Place arrow\n if (arrowProp) {\n ret.push(arrow({element: arrowRef, padding: DEFAULT_TOOLTIP_PADDING}))\n }\n\n // Determine the origin to scale from.\n // Must be placed after `@sanity/ui/size` and `shift` middleware.\n if (animate) {\n ret.push(origin)\n }\n\n return ret\n }, [animate, arrowProp, boundaryElement, fallbackPlacements])\n\n const {floatingStyles, placement, middlewareData, refs, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n elements: {reference: referenceElement},\n })\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const originX = middlewareData['@sanity/ui/origin']?.originX\n const originY = middlewareData['@sanity/ui/origin']?.originY\n\n const tooltipId = useId()\n const [isOpen, setIsOpen] = useDelayedState(false)\n const delayGroupContext = useTooltipDelayGroup()\n const {setIsGroupActive, setOpenTooltipId} = delayGroupContext || {}\n const showTooltip = isOpen || delayGroupContext?.openTooltipId === tooltipId\n\n const isInsideGroup = delayGroupContext !== null\n const openDelayProp = typeof delay === 'number' ? delay : delay?.open || 0\n const closeDelayProp = typeof delay === 'number' ? delay : delay?.close || 0\n\n const openDelay = isInsideGroup ? delayGroupContext.openDelay : openDelayProp\n const closeDelay = isInsideGroup ? delayGroupContext.closeDelay : closeDelayProp\n\n const handleIsOpenChange = useCallback(\n (open: boolean, immediate?: boolean) => {\n if (isInsideGroup) {\n // When it's inside a group, the open or close status will be handled by the group.\n if (open) {\n const groupedOpenDelay = immediate ? 0 : openDelay\n\n setIsGroupActive?.(open, groupedOpenDelay)\n setOpenTooltipId?.(tooltipId, groupedOpenDelay)\n } else {\n const minimumGroupDeactivateDelay = 200 // We should provide some delay to allow the user to reach the next tooltip.\n const groupDeactivateDelay =\n closeDelay > minimumGroupDeactivateDelay ? closeDelay : minimumGroupDeactivateDelay\n\n setIsGroupActive?.(open, groupDeactivateDelay)\n setOpenTooltipId?.(null, immediate ? 0 : closeDelay)\n }\n } else {\n const standaloneDelay = immediate ? 0 : open ? openDelay : closeDelay\n\n // When it's not inside a group, the open or close status will be handled by the tooltip itself.\n setIsOpen(open, standaloneDelay)\n }\n },\n [\n isInsideGroup,\n openDelay,\n setIsGroupActive,\n setOpenTooltipId,\n tooltipId,\n closeDelay,\n setIsOpen,\n ],\n )\n\n const handleBlur = useCallback(\n (e: FocusEvent) => {\n handleIsOpenChange(false)\n childProp?.props?.onBlur?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleClick = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(false, true)\n childProp?.props.onClick?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleContextMenu = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(false, true)\n childProp?.props.onContextMenu?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleFocus = useCallback(\n (e: FocusEvent) => {\n handleIsOpenChange(true)\n childProp?.props?.onFocus?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleMouseEnter = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(true)\n childProp?.props?.onMouseEnter?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleMouseLeave = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(false)\n childProp?.props?.onMouseLeave?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n\n // Handle closing the tooltip when the mouse leaves the referenceElement\n useCloseOnMouseLeave({handleIsOpenChange, referenceElement, showTooltip, isInsideGroup})\n\n // Close when `disabled` changes to `true`\n useEffect(() => {\n if (disabled && showTooltip) handleIsOpenChange(false)\n }, [disabled, handleIsOpenChange, showTooltip])\n\n // Close when `content` changes to falsy\n useEffect(() => {\n if (!content && showTooltip) handleIsOpenChange(false)\n }, [content, handleIsOpenChange, showTooltip])\n\n useEffect(() => {\n // If the user clicks on escape key, close the tooltip.\n if (!showTooltip) return\n\n function handleWindowKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n handleIsOpenChange(false, true)\n }\n }\n\n window.addEventListener('keydown', handleWindowKeyDown)\n\n return () => {\n window.removeEventListener('keydown', handleWindowKeyDown)\n }\n }, [handleIsOpenChange, showTooltip])\n\n // // Set the max width of the tooltip based on boundaries and portals\n useLayoutEffect(() => {\n // Get the maximum tooltip width (sans tooltip padding)\n // Tooltip width should never exceed the width of either any supplied boundary or portal element.\n // If both portal and boundary elements are provided, use the smaller width of the two.\n const availableWidths = [\n ...(boundaryElement ? [boundaryElement.offsetWidth] : []),\n portalElement?.offsetWidth || document.body.offsetWidth,\n ]\n\n setTooltipMaxWidth(Math.min(...availableWidths) - DEFAULT_TOOLTIP_PADDING * 2)\n }, [boundaryElement, portalElement])\n\n const setArrow = useCallback(\n (arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n update()\n },\n [update],\n )\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n ref.current = node\n refs.setFloating(node)\n },\n [refs],\n )\n\n const child = useMemo(() => {\n if (!childProp) return null\n\n return cloneElement(childProp, {\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onClick: handleClick,\n onContextMenu: handleContextMenu,\n ref: setReferenceElement,\n })\n }, [\n childProp,\n handleBlur,\n handleClick,\n handleContextMenu,\n handleFocus,\n handleMouseEnter,\n handleMouseLeave,\n ])\n\n // If there's a child then we need to set the reference element to the cloned child ref\n // and if child changes we make sure to update or remove the reference element.\n useImperativeHandle(childProp ? getElementRef(childProp) : null, () => referenceElement, [\n referenceElement,\n ])\n\n if (!child) return <></>\n\n if (disabled) return child\n\n const node = (\n <Layer\n data-ui=\"Tooltip\"\n // {...restProps}\n className={composeClassNames(className, tooltip())}\n ref={setFloating}\n style={{\n ...floatingStyles,\n maxWidth: tooltipMaxWidth > 0 ? `${tooltipMaxWidth}px` : undefined,\n }}\n zOffset={zOffset}\n >\n <TooltipCard\n {...restProps}\n animate={animate}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n originX={originX}\n originY={originY}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n tone={tone}\n >\n {content}\n </TooltipCard>\n </Layer>\n )\n\n const children =\n showTooltip &&\n (portalProp ? (\n <Portal __unstable_name={typeof portalProp === 'string' ? portalProp : undefined}>\n <CardProvider\n tone={tone === 'inherit' ? (card?.tone ?? 'default') : tone}\n scheme={scheme ?? 'light'}\n >\n {node}\n </CardProvider>\n </Portal>\n ) : (\n node\n ))\n\n return (\n <>\n {/* the tooltip */}\n {animate ? <AnimatePresence>{children}</AnimatePresence> : children}\n\n {/* the referred element */}\n {child}\n </>\n )\n})\n\nTooltip.displayName = 'ForwardRef(Tooltip)'\n\n/**\n * As `useEffectEvent` should never be passed to other components or hooks, this custom hook groups together the `useEffectEvent` and the `useEffect` hook using it.\n * @see https://19.dev/learn/separating-events-from-effects#reading-latest-props-and-state-with-effect-events:~:text=Never%20pass%20them%20to%20other%20components%20or%20Hooks\n */\nfunction useCloseOnMouseLeave({\n handleIsOpenChange,\n referenceElement,\n showTooltip,\n isInsideGroup,\n}: {\n handleIsOpenChange: (open: boolean, immediate?: boolean) => void\n referenceElement: HTMLElement | null\n showTooltip: boolean\n isInsideGroup: boolean\n}) {\n // Since we don't want the `mouseevent` events to be attached and removed if the `referenceElement` is changed\n // we use a \"effect event\" (https://19.dev/learn/separating-events-from-effects#reading-latest-props-and-state-with-effect-events)\n // in order to always see the latest `referenceElement` value inside the event handler itself.\n const onMouseMove = useEffectEvent((target: EventTarget | null, teardown: () => void) => {\n if (!referenceElement) return\n\n const isHoveringReference =\n referenceElement === target || (target instanceof Node && referenceElement.contains(target))\n\n if (!isHoveringReference) {\n handleIsOpenChange(false)\n // Allow removing the event listener eagerly, to avoid race conditions\n teardown()\n }\n })\n\n // Detect whether the mouse is moving outside of the reference element. This is sometimes\n // necessary, because the tooltip might not always close as it should (e.g. when clicking\n // the reference element triggers a CPU-heavy operation.)\n useEffect(() => {\n if (!showTooltip || isInsideGroup) return\n\n const handleMouseMove = (event: MouseEvent) => {\n onMouseMove(event.target, () => window.removeEventListener('mousemove', handleMouseMove))\n }\n\n window.addEventListener('mousemove', handleMouseMove)\n\n return () => window.removeEventListener('mousemove', handleMouseMove)\n }, [isInsideGroup, showTooltip])\n}\n","import {GapStyleProps, RadiusStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Box, KBD} from '../../primitives'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface HotkeysProps extends GapStyleProps, RadiusStyleProps {\n fontSize?: ResponsiveProp<FontTextSize>\n padding?: ResponsiveProp<Space>\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n keys?: string[]\n}\n\n/**\n * Represent hotkeys (a keyboard combination) with semantic `<kbd>` elements.\n *\n * @public\n */\nexport const Hotkeys = forwardRef(function Hotkeys(\n props: Props<HotkeysProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {fontSize, gap, gapX, gapY, keys, padding, radius, space = 0.5, ...restProps} = props\n\n if (!keys || keys.length === 0) {\n return undefined\n }\n\n return (\n <Box\n as=\"kbd\"\n data-ui=\"Hotkeys\"\n {...restProps}\n display=\"flex\"\n gap={gap ?? space}\n gapX={gapX}\n gapY={gapY}\n ref={ref}\n >\n {keys.map((key, i) => (\n <KBD fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </KBD>\n ))}\n </Box>\n )\n})\n\nHotkeys.displayName = 'ForwardRef(Hotkeys)'\n","import {MouseEvent as ReactMouseEvent} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\n\nexport interface MenuContextValue {\n version: 0.0\n activeElement: HTMLElement | null\n activeIndex: number\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemMouseEnter?: (event: ReactMouseEvent<HTMLElement>) => void\n onItemMouseLeave?: (event: ReactMouseEvent<HTMLElement>) => void\n registerElement?: (el: HTMLElement) => () => void\n\n /**\n * @deprecated Use `onItemMouseEnter` instead\n */\n onMouseEnter: (event: ReactMouseEvent<HTMLElement>) => void\n\n /**\n * @deprecated Use `onItemMouseLeave` instead\n */\n onMouseLeave: (event: ReactMouseEvent<HTMLElement>) => void\n}\n\nexport const MenuContext = createGlobalScopedContext<MenuContextValue | null>(\n '@sanity/ui/context/menu',\n null,\n)\n","import {isHTMLAnchorElement, isHTMLButtonElement} from '../../helpers'\n\n/**\n * @internal\n */\nfunction _isFocusable(element: HTMLElement) {\n return (\n (isHTMLAnchorElement(element) && element.getAttribute('data-disabled') !== 'true') ||\n (isHTMLButtonElement(element) && !element.disabled)\n )\n}\n\n/**\n * @internal\n */\nexport function _getFocusableElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(_isFocusable)\n}\n\n/**\n * @internal\n */\nexport function _getDOMPath(rootElement: HTMLElement, el: HTMLElement): number[] {\n const path: number[] = []\n\n let e = el\n\n while (e !== rootElement) {\n const parentElement = e.parentElement\n\n if (!parentElement) return path\n\n const children = Array.from(parentElement.childNodes)\n const index = children.indexOf(e)\n\n path.unshift(index)\n\n if (parentElement === rootElement) {\n return path\n }\n\n e = parentElement\n }\n\n return path\n}\n\nconst EMPTY_PATH: number[] = []\n\n/**\n * @internal\n */\nexport function _sortElements(rootElement: HTMLElement | null, elements: HTMLElement[]): void {\n if (!rootElement) return\n\n const map = new WeakMap<HTMLElement, number[]>()\n\n for (const el of elements) {\n map.set(el, _getDOMPath(rootElement, el))\n }\n\n const _sort = (a: HTMLElement, b: HTMLElement) => {\n const _a = map.get(a) || EMPTY_PATH\n const _b = map.get(b) || EMPTY_PATH\n\n const len = Math.max(_a.length, _b.length)\n\n // Loop until there are different indexes\n for (let i = 0; i < len; i += 1) {\n const aIndex = _a[i] || -1\n const bIndex = _b[i] || -1\n\n if (aIndex !== bIndex) {\n return aIndex - bIndex\n }\n }\n\n return 0\n }\n\n elements.sort(_sort)\n}\n","import {\n KeyboardEvent,\n KeyboardEventHandler,\n MouseEvent,\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {_getFocusableElements, _sortElements} from './helpers'\n\n/**\n * @internal\n */\nexport interface MenuController {\n activeElement: HTMLElement | null\n activeIndex: number\n handleItemMouseEnter: (event: MouseEvent<HTMLElement>) => void\n handleItemMouseLeave: () => void\n handleKeyDown: (event: KeyboardEvent<HTMLDivElement>) => void\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n}\n\n/**\n * This controller is responsible for controlling UI menu state.\n *\n * @internal\n */\nexport function useMenuController(props: {\n onKeyDown?: KeyboardEventHandler\n originElement?: HTMLElement | null\n shouldFocus: 'first' | 'last' | null\n rootElementRef: MutableRefObject<HTMLDivElement | null>\n}): MenuController {\n const {onKeyDown, originElement, shouldFocus, rootElementRef} = props\n const elementsRef = useRef<HTMLElement[]>([])\n const [activeIndex, _setActiveIndex] = useState(-1)\n const activeIndexRef = useRef(activeIndex)\n const activeElement = useMemo(() => elementsRef.current[activeIndex] || null, [activeIndex])\n const mounted = Boolean(rootElementRef.current)\n\n const setActiveIndex = useCallback((nextActiveIndex: number) => {\n _setActiveIndex(nextActiveIndex)\n activeIndexRef.current = nextActiveIndex\n }, [])\n\n const mount = useCallback(\n (element: HTMLElement | null, selected?: boolean): (() => void) => {\n if (!element) return () => undefined\n\n if (elementsRef.current.indexOf(element) === -1) {\n elementsRef.current.push(element)\n _sortElements(rootElementRef.current, elementsRef.current)\n }\n\n if (selected) {\n const selectedIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(selectedIndex)\n }\n\n return () => {\n const idx = elementsRef.current.indexOf(element)\n\n if (idx > -1) {\n elementsRef.current.splice(idx, 1)\n }\n }\n },\n [rootElementRef, setActiveIndex],\n )\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // Move focus to the element that opened the menu before handling the `Tab` press\n if (event.key === 'Tab') {\n if (originElement) {\n originElement.focus()\n }\n\n return\n }\n\n // Move focus to the first focusable menuitem\n if (event.key === 'Home') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n // Move focus to the last focusable menuitem\n if (event.key === 'End') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex - 1 + focusableLen) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex + 1) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (onKeyDown) {\n onKeyDown(event)\n }\n },\n [onKeyDown, originElement, setActiveIndex],\n )\n\n const handleItemMouseEnter = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n const element = event.currentTarget\n const currentIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(currentIndex)\n },\n [setActiveIndex],\n )\n\n const handleItemMouseLeave = useCallback(() => {\n // Set the active index to -2 to deactivate all menu items\n // when the user moves the mouse away from the menu item.\n // We avoid using -1 because it would focus the first menu item,\n // which would be incorrect when the user hovers over a gap\n // between two menu items or a menu divider.\n setActiveIndex(-2)\n rootElementRef.current?.focus()\n }, [rootElementRef, setActiveIndex])\n\n // Set focus on the currently active element\n useEffect(() => {\n if (!mounted) return\n\n const rafId = requestAnimationFrame(() => {\n if (activeIndex === -1) {\n if (shouldFocus === 'first') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n }\n }\n\n if (shouldFocus === 'last') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n }\n }\n\n return\n }\n\n const element = elementsRef.current[activeIndex] || null\n\n element?.focus()\n })\n\n return () => cancelAnimationFrame(rafId)\n }, [activeIndex, mounted, setActiveIndex, shouldFocus])\n\n return {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n }\n}\n","import {\n composeClassNames,\n GapStyleProps,\n menu,\n PaddingStyleProps,\n ResponsiveProp,\n} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\n\nimport {useClickOutsideEvent, useGlobalKeyDown} from '../../hooks'\nimport {Box, Stack} from '../../primitives'\nimport {Props} from '../../types'\nimport {useLayer} from '../../utils'\nimport {MenuContext, MenuContextValue} from './menuContext'\nimport {useMenuController} from './useMenuController'\n\n/**\n * @public\n */\nexport interface MenuProps extends PaddingStyleProps, Pick<GapStyleProps, 'gap'> {\n /**\n * @deprecated Use `shouldFocus=\"first\"` instead.\n */\n 'focusFirst'?: boolean\n /**\n * @deprecated Use `shouldFocus=\"last\"` instead.\n */\n 'focusLast'?: boolean\n 'onClickOutside'?: (event: MouseEvent) => void\n 'onEscape'?: () => void\n 'onItemClick'?: () => void\n 'onItemSelect'?: (index: number) => void\n 'originElement'?: HTMLElement | null\n 'registerElement'?: (el: HTMLElement) => () => void\n 'shouldFocus'?: 'first' | 'last' | null\n /** @deprecated Use `gap` property instead. */\n 'space'?: ResponsiveProp<Space>\n 'aria-labelledby'?: string\n // 'onBlurCapture'?: (event: FocusEvent) => void\n}\n\n/**\n * The `Menu` component is a building block for application menus.\n *\n * @public\n */\nexport const Menu = forwardRef(function Menu(\n props: Props<MenuProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n className,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusFirst,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusLast,\n gap,\n // onBlurCapture,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n registerElement,\n shouldFocus: _shouldFocus,\n space = 1,\n ...restProps\n } = props\n const shouldFocus =\n _shouldFocus ?? ((props.focusFirst && 'first') || (props.focusLast && 'last') || null)\n\n const ref = useRef<HTMLDivElement | null>(null)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const {isTopLayer} = useLayer()\n\n const {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n } = useMenuController({\n onKeyDown,\n originElement,\n shouldFocus,\n rootElementRef: ref,\n })\n\n const unregisterElementRef = useRef<(() => void) | null>(null)\n const handleRefChange = useCallback(\n (el: HTMLDivElement | null) => {\n // Run cleanup of previously registered elements\n if (unregisterElementRef.current) {\n // The `registerElement` callback were originally used in a `useEffect`, so it returns a cleanup function that is a bit gnarly to handle in a ref callback.\n // Since we can't change the `registerElement` implementation itself without making breaking change,\n // that is explained in the code comments for createGlobalScopedContext.tsx,\n // we need to handle with a ref that holds on to the cleanup function last returned when the ref callback is called.\n unregisterElementRef.current()\n unregisterElementRef.current = null\n }\n\n ref.current = el\n\n // Register root element (for nested menus)\n if (ref.current && registerElement) {\n unregisterElementRef.current = registerElement(ref.current)\n }\n },\n [registerElement],\n )\n\n // Trigger `onItemSelect` when active index changes\n useEffect(() => {\n if (onItemSelect) onItemSelect(activeIndex)\n }, [activeIndex, onItemSelect])\n\n // Close menu when clicking outside\n useClickOutsideEvent(isTopLayer && onClickOutside, () => [ref.current])\n\n // Close menu when pressing Escape\n useGlobalKeyDown(\n useCallback(\n (event) => {\n if (!isTopLayer) return\n\n if (event.key === 'Escape') {\n event.stopPropagation()\n if (onEscape) onEscape()\n }\n },\n [isTopLayer, onEscape],\n ),\n )\n\n const value: MenuContextValue = useMemo(\n () => ({\n version: 0.0,\n activeElement,\n activeIndex,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: handleItemMouseEnter,\n onItemMouseLeave: handleItemMouseLeave,\n registerElement,\n\n // deprecated\n onMouseEnter: handleItemMouseEnter,\n onMouseLeave: handleItemMouseLeave,\n }),\n [\n activeElement,\n activeIndex,\n mount,\n handleItemMouseEnter,\n handleItemMouseLeave,\n onClickOutside,\n onEscape,\n onItemClick,\n registerElement,\n ],\n )\n\n return (\n <MenuContext.Provider value={value}>\n <Box\n data-ui=\"Menu\"\n {...restProps}\n className={composeClassNames(className, menu())}\n onKeyDown={handleKeyDown}\n overflow=\"auto\"\n outline=\"none\"\n padding={padding}\n ref={handleRefChange}\n role=\"menu\"\n tabIndex={-1}\n >\n <Stack gap={gap ?? space}>{children}</Stack>\n </Box>\n </MenuContext.Provider>\n )\n})\n\nMenu.displayName = 'ForwardRef(Menu)'\n","import {composeClassNames, menuDivider} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface MenuDividerProps {}\n\n/**\n * @public\n */\nexport const MenuDivider = forwardRef(function MenuDivider(\n props: Props<MenuDividerProps, 'div'>,\n ref: ForwardedRef<HTMLHRElement>,\n) {\n const {className, ...restProps} = props\n\n return <hr {...restProps} className={composeClassNames(className, menuDivider())} ref={ref} />\n})\n\nMenuDivider.displayName = 'MenuDivider'\n","import {_selectable, composeClassNames, SelectableStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props, SelectableTone} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/** @internal */\nexport interface SelectableProps extends BoxProps, SelectableStyleProps {\n disabled?: boolean\n href?: string\n tone?: SelectableTone\n type?: 'button'\n}\n\n/** @internal */\nexport const Selectable = forwardRef(function Selectable(\n props: Props<SelectableProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {className, radius, tone, ...restProps} = props\n\n return (\n <Box\n {...restProps}\n className={composeClassNames(className, _selectable({radius, tone}))}\n ref={ref}\n />\n )\n})\n\nSelectable.displayName = 'ForwardRef(Selectable)'\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {MenuContext, MenuContextValue} from './menuContext'\n\nexport function useMenu(): MenuContextValue {\n const value = useContext(MenuContext)\n\n if (!value) {\n throw new Error('useMenu(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useMenu(): the context value is not compatible')\n }\n\n return value\n}\n","import {ChevronRightIcon} from '@sanity/icons'\nimport {GapStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {\n ElementType,\n isValidElement,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Box, Flex, Popover, PopoverProps, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {Props, Radius, SelectableTone} from '../../types'\nimport {Menu, MenuProps} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupProps extends GapStyleProps {\n disabled?: boolean\n fontSize?: ResponsiveProp<FontTextSize>\n icon?: ElementType | ReactNode\n menu?: Omit<\n MenuProps,\n | 'onClickOutside'\n | 'onEscape'\n | 'onItemClick'\n | 'onKeyDown'\n | 'onMouseEnter'\n | 'registerElement'\n | 'shouldFocus'\n | 'onBlurCapture'\n >\n padding?: ResponsiveProp<Space>\n popover?: Omit<PopoverProps, 'content' | 'open'>\n radius?: Radius | Radius[]\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n text: ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport function MenuGroup(props: Props<MenuGroupProps, 'div'>): ReactElement {\n const {\n as = 'button',\n children,\n fontSize = 1,\n gap,\n gapX,\n gapY,\n icon: IconComponent,\n menu: menuProps,\n onClick,\n padding = 3,\n popover,\n radius = 2,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const menu = useMenu()\n\n const {\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: _onItemMouseEnter,\n registerElement,\n } = menu\n const onItemMouseEnter = _onItemMouseEnter ?? menu.onMouseEnter\n const [rootElement, setRootElement] = useState<HTMLButtonElement | HTMLDivElement | null>(null)\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const [withinMenu, setWithinMenu] = useState(false)\n\n const handleMouseEnter = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n setWithinMenu(false)\n onItemMouseEnter(event)\n setOpen(true)\n },\n [onItemMouseEnter],\n )\n\n const handleMenuKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.stopPropagation()\n\n setOpen(false)\n\n requestAnimationFrame(() => {\n rootElement?.focus()\n })\n }\n },\n [rootElement],\n )\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n onClick?.(event)\n\n setShouldFocus('first')\n setOpen(true)\n },\n [onClick],\n )\n\n const handleChildItemClick = useCallback(() => {\n setOpen(false)\n onItemClick?.()\n }, [onItemClick])\n\n const handleMenuMouseEnter = useCallback(() => setWithinMenu(true), [])\n\n // Register the menu item element\n useEffect(() => mount(rootElement), [mount, rootElement])\n\n // Close child menu when a sibling item becomes active\n useEffect(() => {\n if (!active) setOpen(false)\n }, [active])\n\n // Update state when child menu is no longer open\n useEffect(() => {\n if (!open) setWithinMenu(false)\n }, [open])\n\n // Reset the shouldFocus state after it has been used\n useEffect(() => {\n if (!shouldFocus) return\n // The useMenuController effect that handles `shouldFocus` schedules a request animation frame where it's processed.\n // By doing the same here, we ensure that the reset is processed after the focus change.\n const rafId = requestAnimationFrame(() => setShouldFocus(null))\n\n return () => cancelAnimationFrame(rafId)\n }, [shouldFocus])\n\n const childMenu = (\n <Menu\n {...menuProps}\n onClickOutside={onClickOutside}\n onEscape={onEscape}\n onItemClick={handleChildItemClick}\n onKeyDown={handleMenuKeyDown}\n onMouseEnter={handleMenuMouseEnter}\n registerElement={registerElement}\n shouldFocus={shouldFocus}\n >\n {children}\n </Menu>\n )\n\n const handleKeyDown = useCallback((event: KeyboardEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n\n if (document.activeElement !== target) {\n return\n }\n\n if (event.key === 'ArrowRight') {\n setShouldFocus('first')\n setOpen(true)\n setWithinMenu(true)\n\n return\n }\n }, [])\n\n return (\n <Popover {...popover} content={childMenu} data-ui=\"MenuGroup__popover\" open={open}>\n <Selectable\n // data-as={as}\n data-ui=\"MenuGroup\"\n // forwardedAs={as}\n {...restProps}\n aria-pressed={as === 'button' ? withinMenu : undefined}\n as={as}\n data-pressed={as !== 'button' ? withinMenu : undefined}\n data-selected={!withinMenu && active ? '' : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleMouseEnter}\n radius={radius}\n ref={setRootElement}\n tabIndex={-1}\n tone={tone}\n type={as === 'button' ? 'button' : undefined}\n >\n <Flex gap={gap ?? space} gapX={gapX} gapY={gapY} padding={padding}>\n {IconComponent && (\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n <Box flex={1}>\n <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n {text}\n </Text>\n </Box>\n\n <Text size={fontSize}>\n <ChevronRightIcon />\n </Text>\n </Flex>\n </Selectable>\n </Popover>\n )\n}\n\nMenuGroup.displayName = 'MenuGroup'\n","import {GapStyleProps, PaddingStyleProps, RadiusStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {\n ElementType,\n ForwardedRef,\n forwardRef,\n isValidElement,\n MouseEvent,\n ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Box, Flex, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {Props, SelectableTone} from '../../types'\nimport {Hotkeys} from '../hotkeys'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuItemProps extends GapStyleProps, PaddingStyleProps, RadiusStyleProps {\n disabled?: boolean\n fontSize?: number | number[]\n hotkeys?: string[]\n icon?: ElementType | ReactNode\n iconRight?: ElementType | ReactNode\n pressed?: boolean\n selected?: boolean\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n text?: ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport const MenuItem = forwardRef(function MenuItem(\n props: Props<MenuItemProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n as = 'button',\n children,\n disabled,\n fontSize = 1,\n gap,\n gapX,\n gapY,\n hotkeys,\n icon: IconComponent,\n iconRight: IconRightComponent,\n onClick,\n padding = 3,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pressed,\n radius = 2,\n selected: selectedProp,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onItemClick,\n onItemMouseEnter: _onItemMouseEnter,\n onItemMouseLeave: _onItemMouseLeave,\n } = menu\n const onItemMouseEnter = _onItemMouseEnter ?? menu.onMouseEnter\n const onItemMouseLeave = _onItemMouseLeave ?? menu.onMouseLeave\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const ref = useRef<HTMLDivElement | null>(null)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n if (onClick) onClick(event)\n if (onItemClick) onItemClick()\n },\n [disabled, onClick, onItemClick],\n )\n\n const paddingProps = useMemo(\n () => ({\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingRight, paddingBottom, paddingLeft],\n )\n\n const setRef = useCallback((el: HTMLDivElement | null) => {\n ref.current = el\n setRootElement(el)\n }, [])\n\n return (\n <Selectable\n data-ui=\"MenuItem\"\n role=\"menuitem\"\n {...restProps}\n as={as}\n data-pressed={pressed ? '' : undefined}\n data-selected={active ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n radius={radius}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={onItemMouseEnter}\n onMouseLeave={onItemMouseLeave}\n ref={setRef}\n tabIndex={-1}\n tone={tone}\n type={as === 'button' ? 'button' : undefined}\n >\n {(IconComponent || text || IconRightComponent) && (\n <Flex as=\"span\" gap={gap ?? space} gapX={gapX} gapY={gapY} align=\"center\" {...paddingProps}>\n {IconComponent && (\n <Text muted size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n {text && (\n <Box flex={1}>\n <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n {text}\n </Text>\n </Box>\n )}\n\n {hotkeys && (\n <Hotkeys gap={0.5} keys={hotkeys} style={{marginTop: -4, marginBottom: -4}} />\n )}\n\n {IconRightComponent && (\n <Text muted size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Flex>\n )}\n\n {children && (\n <Box as=\"span\" {...paddingProps}>\n {children}\n </Box>\n )}\n </Selectable>\n )\n})\n\nMenuItem.displayName = 'ForwardRef(MenuItem)'\n","import {ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {\n ElementType,\n FocusEvent,\n ForwardedRef,\n forwardRef,\n ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react'\n\nimport {Button} from '../../primitives'\nimport {ButtonTone, Props} from '../../types'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the corresponding `TabPanel` component.\n */\n 'aria-controls': string\n 'id': string\n 'icon'?: ElementType | ReactNode\n 'focused'?: boolean\n 'fontSize'?: ResponsiveProp<FontTextSize>\n 'label'?: ReactNode\n 'padding'?: ResponsiveProp<Space>\n 'selected'?: boolean\n 'tone'?: ButtonTone\n}\n\n/**\n * @public\n */\nexport const Tab = forwardRef(function Tab(\n props: Props<TabProps, 'button'>,\n forwardedRef: ForwardedRef<HTMLButtonElement>,\n) {\n const {\n icon,\n id,\n focused,\n fontSize = 1,\n label,\n onClick,\n onFocus,\n padding = 2,\n selected,\n ...restProps\n } = props\n const ref = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (ref.current) ref.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n return (\n <Button\n data-ui=\"Tab\"\n {...restProps}\n aria-selected={selected ? 'true' : 'false'}\n fontSize={fontSize}\n icon={icon}\n id={id}\n mode=\"bleed\"\n onClick={onClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n padding={padding}\n ref={ref}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n})\n\nTab.displayName = 'ForwardRef(Tab)'\n","import {\n Children,\n cloneElement,\n ForwardedRef,\n forwardRef,\n KeyboardEvent,\n ReactElement,\n useCallback,\n useState,\n} from 'react'\n\nimport {Inline, InlineProps} from '../../primitives'\nimport {Props} from '../../types'\nimport {TabProps} from './tab'\n\n/**\n * @public\n */\nexport type TabListChild = ReactElement<Props<TabProps, 'button'>> | null | undefined | false\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {\n children: TabListChild[]\n}\n\nfunction _isReactElement(node: unknown): node is ReactElement<Props<TabProps, 'button'>> {\n return Boolean(node)\n}\n\n/**\n * @public\n */\nexport const TabList = forwardRef(function TabList(\n props: Props<TabListProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {children: childrenProp, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children = Children.toArray(childrenProp).filter(_isReactElement)\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => setFocusedIndex(childIndex),\n }),\n )\n\n const numTabs = tabs.length\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n setFocusedIndex((prevIndex) => (prevIndex + numTabs - 1) % numTabs)\n }\n\n if (event.key === 'ArrowRight') {\n setFocusedIndex((prevIndex) => (prevIndex + 1) % numTabs)\n }\n },\n [numTabs],\n )\n\n return (\n <Inline data-ui=\"TabList\" {...restProps} onKeyDown={handleKeyDown} ref={ref} role=\"tablist\">\n {tabs}\n </Inline>\n )\n})\n\nTabList.displayName = 'ForwardRef(TabList)'\n"],"names":["studioTheme","buildTheme","getGlobalScope","globalThis","window","self","global","Error","globalScope","createGlobalScopedContext","key","defaultValue","symbol","Symbol","for","document","createContext","CardContext","CardProvider","props","$","_c","children","rendered","t0","tone","scheme","undefined","t1","t2","context","t3","jsx","ThemeContext","ThemeProvider","parentTheme","useContext","rootTheme","theme","bb0","version","themeContext","bb1","getScopedTheme","StyledThemeProvider","t4","ThemeColorProvider","displayName","useRootTheme","value","root","useTheme","useStyledTheme","useTheme_v2","getTheme_v2","EMPTY_ARRAY","EMPTY_RECORD","POPOVER_MOTION_PROPS","card","initial","scale","willChange","hidden","opacity","visible","transition","when","duration","POPOVER_MOTION_DURATION","scaleIn","scaleOut","type","visualDuration","bounce","Z_OFFSETS","dialog","popover","tooltip","_isEnterToClickElement","element","isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","node","Node","nodeType","ELEMENT_NODE","nodeName","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","containsOrEqualsElement","contains","_getArrayProp","val","defaultVal","Array","isArray","_isScrollable","el","Element","style","getComputedStyle","overflowX","includes","overflowY","useArrayProp","JSON","stringify","setCache","useState","cachedVal","cachedHash","hash","useClickOutsideEvent","listener","boundaryElement","elementsArg","_temp","evt","target","resolvedBoundaryElement","elements","flat","onEvent","useEffectEvent","hasListener","Boolean","handleEvent","evt_0","addEventListener","removeEventListener","useEffect","useDebugValue","useCustomValidity","ref","customValidity","current","setCustomValidity","_ResizeObserver","ResizeObserver","ResizeObserverPolyfill","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscribe","subscriber","resizeObserver","entry","_contentRect","contentRect","border","width","borderBoxSize","inlineSize","height","blockSize","content","observe","unobserve","disconnect","disposeCache","WeakMap","subscribersCache","subscribers","get","dispose","has","set","elementRect","sub","push","idx","indexOf","splice","length","useElementSize","size","setSize","useGlobalKeyDown","onKeyDown","event","handleKeyDown","handler","event_0","useMatchMedia","mediaQueryString","getServerSnapshot","onStoreChange","media","matchMedia","matches","useSyncExternalStore","_getMediaQuery","index","_createMediaStore","mediaLen","sizes","getSizes","mediaQuery","mq","getSnapshot","disposeFns","handleChange","disposeFn","useMediaIndex","store","usePrefersDark","usePrefersReducedMotion","Box","forwardRef","align","autoCols","autoFlow","autoRows","borderBottom","borderLeft","borderRight","borderTop","className","column","columnEnd","columnStart","columns","direction","flex","gap","gapX","gapY","inset","insetBottom","insetLeft","insetRight","insetTop","justify","marginBottom","marginLeft","marginRight","marginTop","marginX","marginY","maxWidth","muted","overflow","paddingBottom","paddingLeft","paddingRight","paddingTop","paddingX","paddingY","pointerEvents","position","radius","restProps","row","rowEnd","rowStart","rows","t5","t6","wrap","as","display","margin","minWidth","padding","sizing","As","t7","composeClassNames","box","t8","Label","accent","textOverflowProp","textOverflow","weight","label","Avatar","__unstable_hideInnerStroke","animateArrowFrom","arrowPositionProp","asProp","initials","onImageLoadError","src","title","color","arrowPosition","status","sizeProp","ReactIs","isValidElementType","setArrowPosition","imageError","setImageError","raf","requestAnimationFrame","cancelAnimationFrame","handleImageError","t9","map","initialsSize","t10","t11","avatar","t12","t13","avatarArrow","t14","t15","avatarInitials","t16","t17","t18","avatarImage","t19","s","AvatarCounter","count","fontSize","avatarCounter","AvatarStack","childrenProp","maxLength","maxLengthProp","Children","toArray","filter","isValidElement","Math","max","len","visibleCount","extraCount","visibleChildren","slice","T0","avatarStack","child","childIndex","cloneElement","String","jsxs","Text","text","Badge","textAlign","mode","_deprecated_mode","badge","AnimatedSpinnerIcon","animatedSpinnerIcon","SpinnerIcon","Spinner","spinner","Button","disabled","space","href","icon","IconComponent","iconRight","IconRightComponent","loading","selected","textWeight","button","buttonLoadingBox","useCard","Card","pressed","schemeProp","shadow","__unstable_checkered","__unstable_focusRing","checkered","focusRing","toneProp","parent","compat_provider","createElement","Checkbox","forwardedRef","checked","indeterminate","readOnly","useRef","useImperativeHandle","checkbox","checkboxInput","CheckmarkIcon","RemoveIcon","LazyRefractor","lazy","Code","languageProp","language","code","Suspense","Container","container","Flex","Grid","Heading","heading","Inline","KBD","kbd","origin","name","fn","middlewareData","placement","rects","side","split","floatingWidth","floating","floatingHeight","shiftX","shift","x","shiftY","y","isVerticalPlacement","originX","originY","clamp","data","num","min","moveTowardsLength","movingPoint","targetPoint","amount","distance","sqrt","moveTowardsFractional","fraction","getRoundedCommands","points","cmds","i","point","prevPoint","nextPoint","curveStart","curveEnd","startControl","endControl","compileCommands","n","join","Arrow","h","w","center","path","strokePath","fillPath","_arrow","_arrowStrokeMask","_arrowStroke","_arrowShape","BoundaryElementContext","BoundaryElementProvider","isRecord","DEFAULT_VALUE","useBoundaryElement","ConditionalWrapper","condition","wrapper","findMaxBreakpoints","ret","findMinBreakpoints","defaultBreakpoints","Object","values","BREAKPOINTS","ElementQuery","mediaProp","breakpoints","setElement","elementSize","innerWidth","eq","eq_0","getLayerContext","contextValue","LayerContext","LayerProvider","zOffset","zOffsetProp","parentContextValue","parentRegisterChild","registerChild","level","maxMediaIndex","mediaIndex","zIndex","setChildLayers","isTopLayer","childLevel","parentDispose","state","prevLen","nextState","keys","state_0","nextState_0","_temp2","v_0","v","useLayer","err","message","LayerChildren","onActivate","onFocus","lastFocusedRef","isTopLayerRef","activeElement","rootElement","handleFocus","Layer","elementKey","defaultContextValue","setAttribute","body","appendChild","PortalContext","usePortal","Portal","__unstable_name","portal","portalElement","default","createPortal","PortalProvider","__unstable_elements","elementsProp","useUnique","fallbackElement","emptySubscribe","valueRef","_isEqual","objA","objB","keysA","keysB","every","SrOnly","rest","srOnly","VirtualList","getItemKey","onChange","renderItem","items","wrapperRef","scrollTop","setScrollTop","scrollHeight","setScrollHeight","itemHeight","setItemHeight","gapValue","setGapValue","scrollEl","findScrollable","parentNode","HTMLElement","handleScroll","passive","ro","entries","handleScroll_0","scrollY","handleResize","innerHeight","fromIndex","floor","toIndex","ceil","offsetHeight","el_0","vars","item","_itemIndex","itemIndex","top","wrapperStyle","_scrollEl","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_PADDING","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_ARROW_RADIUS","DEFAULT_POPOVER_MARGINS","DEFAULT_FALLBACK_PLACEMENTS","options","apply","margins","args","platform","reference","detectOverflow","altBoundary","boundary","elementContext","rootBoundary","Infinity","maxHeight","floatingW","floatingH","left","right","bottom","availableWidth","availableHeight","referenceWidth","nextDimensions","getDimensions","targetH","targetW","reset","MotionCard","motion","create","PopoverCard","memo","animate","arrow","arrowRef","arrowX","arrowY","marginsProp","strategy","xProp","yProp","__unstable_margins","layer","rootStyle","arrowStyle","popoverCard","ViewportOverlay","Popover","boundaryElementContext","_animate","arrowProp","childProp","constrainSize","fallbackPlacements","matchReferenceWidth","floatingBoundary","modal","open","placementProp","preventOverflow","referenceBoundary","referenceElement","widthProp","updateRef","referenceWidthRef","middleware","useMemo","flip","offset","mainAxis","hide","refs","update","useFloating","whileElementsMounted","autoUpdate","referenceHidden","setArrow","useCallback","arrowEl","setFloating","setReference","childRef","getElementRef","Fragment","AnimatePresence","getter","getOwnPropertyDescriptor","mayWarn","isReactWarning","Radio","radio","Select","select","_inputElement","selectPresentation","ChevronDownIcon","Stack","stack","Switch","_switch","_switchElement","_switchPresentation","_switchTrack","_switchThumb","TextArea","textArea","_inputPresentation","CLEAR_BUTTON_BOX_STYLE","backgroundColor","TextInput","__unstable_disableFocusRing","clearButton","onClear","prefix","suffix","t20","t21","t22","t23","t24","_width","t25","t26","paddingArray","withClearButton","handleClearMouseDown","preventDefault","stopPropagation","focus","handleClearClick","clearButtonBoxPadding","_temp3","clearButtonPadding","clearButtonProps","textInput","t27","t28","CloseIcon","t29","t30","t31","useDelayedState","initialState","setState","delayedAction","delay","action","clearTimeout","setTimeout","onStateChange","DEFAULT_TOOLTIP_ARROW_WIDTH","DEFAULT_TOOLTIP_ARROW_HEIGHT","DEFAULT_TOOLTIP_ARROW_RADIUS","DEFAULT_TOOLTIP_DISTANCE","DEFAULT_TOOLTIP_PADDING","TooltipCard","tooltipCard","TooltipDelayGroupContext","TooltipDelayGroupProvider","isGroupActive","setIsGroupActive","openTooltipId","setOpenTooltipId","openDelay","closeDelay","close","useTooltipDelayGroup","Tooltip","fallbackPlacementsProp","portalProp","setReferenceElement","tooltipMaxWidth","setTooltipMaxWidth","floatingStyles","tooltipId","useId","isOpen","setIsOpen","delayGroupContext","showTooltip","isInsideGroup","openDelayProp","closeDelayProp","handleIsOpenChange","immediate","groupedOpenDelay","groupDeactivateDelay","minimumGroupDeactivateDelay","handleBlur","e","onBlur","handleClick","onClick","handleContextMenu","onContextMenu","handleMouseEnter","onMouseEnter","handleMouseLeave","onMouseLeave","handleWindowKeyDown","useLayoutEffect","availableWidths","offsetWidth","useCloseOnMouseLeave","teardown","onMouseMove","handleMouseMove","Hotkeys","MenuContext","_isFocusable","getAttribute","_getFocusableElements","_getDOMPath","parentElement","from","childNodes","unshift","EMPTY_PATH","_sortElements","_sort","a","b","_a","_b","aIndex","bIndex","sort","useMenuController","originElement","shouldFocus","rootElementRef","elementsRef","activeIndex","_setActiveIndex","activeIndexRef","mounted","setActiveIndex","nextActiveIndex","mount","selectedIndex","currentIndex","focusableElements","focusableLen","focusedElement","focusedIndex","handleItemMouseEnter","currentTarget","handleItemMouseLeave","rafId","Menu","_shouldFocus","onClickOutside","onEscape","onItemClick","onItemSelect","registerElement","focusFirst","focusLast","unregisterElementRef","handleRefChange","onItemMouseEnter","onItemMouseLeave","menu","MenuDivider","menuDivider","Selectable","_selectable","useMenu","MenuGroup","menuProps","_onItemMouseEnter","setRootElement","setOpen","setShouldFocus","active","withinMenu","setWithinMenu","handleMenuKeyDown","event_1","handleChildItemClick","handleMenuMouseEnter","childMenu","event_2","ChevronRightIcon","t32","MenuItem","hotkeys","selectedProp","_onItemMouseLeave","paddingProps","setRef","Tab","focused","id","focusedRef","_isReactElement","TabList","setFocusedIndex","tabs","numTabs","prevIndex","prevIndex_0"],"mappings":";;;;;;AAMO,MAAMA,cAAcC,MAAW,WAAA;ACGtC,SAASC,iBAAiB;AACpB,MAAA,OAAOC,aAAe,IAAoBA,QAAAA;AAC1C,MAAA,OAAOC,SAAW,IAAoBA,QAAAA;AACtC,MAAA,OAAOC,OAAS,IAAoBA,QAAAA;AACpC,MAAA,OAAOC,SAAW,IAAoBA,QAAAA;AAEpC,QAAA,IAAIC,MAAM,2CAA2C;AAC7D;AAEO,MAAMC,cAAcN,eAAe;ACJ1BO,SAAAA,0BAIdC,MACAC,cACsB;AAChBC,QAAAA,SAASC,OAAOC,IAAIJ,IAAG;AAK7B,SAAI,OAAOK,WAAa,MACfC,MAA2BL,cAAAA,YAAY,KAGhDH,YAAYI,MAAM,IAAIJ,YAAYI,MAAM,KAAKI,MAAAA,cAAiBL,YAAY,GAEnEH,YAAYI,MAAM;AAC3B;ACzBaK,MAAAA,cACXR,0BAAmD,2BAA2B,IAAI;ACH7E,SAAAS,aAAAC,OAAA;AAAAC,QAAAA,IAAAC,uBAAA,CAAA,GAOL;AAAA,IAAAC;AAAAA,IAAAC,UAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,EAAmDP,IAAAA,OAAlCI,WAAAC,OAAgBG,cAAhBH;AAAgB,MAAAI,IAAAC;AAAAT,IAAAG,CAAAA,MAAAA,YAAAH,SAAAM,UAAAN,EAAA,CAAA,MAAAK,QAEFI,KAAA;AAAA,IAAAN;AAAAA,IAAAE;AAAAA,IAAAC;AAAAA,EAAAA,GAAwBN,OAAAG,UAAAH,OAAAM,QAAAN,OAAAK,MAAAL,OAAAS,MAAAA,KAAAT,EAAA,CAAA,GAAAQ,KAAxBC;AAA/B,QAAAC,UAAgBF;AAAmEG,MAAAA;AAAA,SAAAX,EAAAE,CAAAA,MAAAA,YAAAF,SAAAU,WAE5EC,KAAAC,2BAAAA,IAAA,YAAA,UAAA,EAA6BF,OAAAA,SAAUR,SAAAA,CAAS,GAAuBF,OAAAE,UAAAF,OAAAU,SAAAV,OAAAW,MAAAA,KAAAX,EAAA,CAAA,GAAvEW;AAAuE;ACTnEE,MAAAA,eACXxB,0BAAoD,4BAA4B,IAAI;ACmB/E,SAAAyB,cAAAf,OAAA;AAAA,QAAAC,IAAAC,qBAAAA,EAAA,EAAA,GACLc,cAAoBC,MAAAA,WAAAH,YAAuB,GAC3C;AAAA,IAAAX;AAAAA,EAAAA,IAAmBH,OACnBO,SAAeP,MAAKO,WAAYS,aAAWT,UAAY,UACvDW,YAAkBlB,MAAKmB,UAAWH,aAAWG,SAAA,OAC7Cb,OAAaN,MAAKM,SAAUU,aAAWV,QAAU;AAAUD,MAAAA;AAAA,OAAA;AAAA,QAAA,CAGpDa,WAAS;AAAE,WAAA;AAAWE,YAAAA;AAAAA,IAAAA;AAAAX,QAAAA;AAAAR,MAAAiB,CAAAA,MAAAA,aAAAjB,SAAAM,UAAAN,EAAA,CAAA,MAAAK,QAEpBG,MAAA;AAAA,MAAAY,SAAA;AAAA,MAAAF,OAEED;AAAAA,MAASX;AAAAA,MAAAD;AAAAA,IAAAA,GAGjBL,OAAAiB,WAAAjB,OAAAM,QAAAN,OAAAK,MAAAL,OAAAQ,OAAAA,MAAAR,EAAA,CAAA,GALDI,KAAOI;AAAAA,EAAAA;AAHT,QAAAa,eAA+CjB;AASlBI,MAAAA;AAAA,OAAA;AAAA,QAAA,CAGtBS,WAAS;AAAE,WAAA;AAAWK,YAAAA;AAAAA,IAAAA;AAAAb,QAAAA;AAAAT,MAAAiB,CAAAA,MAAAA,aAAAjB,SAAAM,UAAAN,EAAA,CAAA,MAAAK,QAEpBI,MAAAc,qBAAeN,WAAWX,QAAQD,IAAI,GAACL,OAAAiB,WAAAjB,OAAAM,QAAAN,OAAAK,MAAAL,OAAAS,OAAAA,MAAAT,EAAA,CAAA,GAA9CQ,KAAOC;AAAAA,EAAAA;AAHT,QAAAS,UAA4BV;AAIC,MAAA,CAExBU,SAAK;AAAAT,QAAAA;AAAA,WAAAT,EAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KACDe,MAAsDG,2BAAA,IAAA,SAAjD,UAA2C,8CAAA,CAAA,GAAMZ,OAAAS,OAAAA,MAAAT,EAAA,CAAA,GAAtDS;AAAAA,EAAAA;AAAsDA,MAAAA;AAAAT,IAAAE,CAAAA,MAAAA,YAAAF,UAAAkB,WAczDT,KAACG,2BAAAA,IAAAY,iBAAAA,eAA2BN,EAAAA,OAAAA,SAAe,SAAE,CAAA,GAAsBlB,OAAAE,UAAAF,QAAAkB,SAAAlB,QAAAS,MAAAA,KAAAT,EAAA,EAAA;AAAAW,MAAAA;AAAAX,IAAAS,EAAAA,MAAAA,MAAAT,UAAAqB,gBADrEV,KAAAC,2BAAAA,IAAA,aAAA,UAAA,EAA8BS,OAAAA,cAC5BZ,UACF,GAAA,CAAA,GAAwBT,QAAAS,IAAAT,QAAAqB,cAAArB,QAAAW,MAAAA,KAAAX,EAAA,EAAA;AAAAyB,MAAAA;AAAA,SAAAzB,EAAAM,EAAAA,MAAAA,UAAAN,UAAAW,MAAAX,EAAA,EAAA,MAAAK,QAX1BoB,KAAAb,2BAAAA,IAAC,gBAIGc,iBAAiBA,oBAEXpB,QACFD,MAENM,UAAAA,GAAAA,CAGF,GAAeX,QAAAM,QAAAN,QAAAW,IAAAX,QAAAK,MAAAL,QAAAyB,MAAAA,KAAAzB,EAAA,EAAA,GAZfyB;AAYe;AAInBX,cAAca,cAAc;ACjErB,SAAAC,eAAA;AACLC,QAAAA,QAAcb,iBAAAH,YAAuB;AAAC,MAAA,CAEjCgB;AAAK1C,UAAAA,IAAAA,MACQ,uCAAuC;AAGlD0C,SAAAA;AAAK;ACGP,SAAAH,mBAAA3B,OAAA;AAAAC,QAAAA,IAAAC,uBAAA,CAAA,GACL;AAAA,IAAAC;AAAAA,IAAAI;AAAAA,IAAAD;AAAAA,EAAAA,IAAiCN,OACjC+B,OAAaF,gBAGYxB,KAAAE,UAAUwB,KAAIxB;AAAOE,MAAAA;AAAAR,SAAAA,EAAAE,CAAAA,MAAAA,YAAAF,SAAA8B,KAAAZ,SAAAlB,EAAAI,CAAAA,MAAAA,MAAAJ,SAAAK,QAA5CG,KAAAI,2BAAAA,IAAC,iBAAsB,QAAAR,IAA8B,OAAA0B,KAAIZ,OAAcb,MAC7D,UACV,GAAgBL,OAAAE,UAAAF,EAAA,CAAA,IAAA8B,KAAAZ,OAAAlB,OAAAI,IAAAJ,OAAAK,MAAAL,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAFhBQ;AAEgB;AAIpBkB,mBAAmBC,cAAc;ACvB1B,SAAAI,WAAA;AAAA,SACEC,0BAAe;AAAC;AAMlB,SAAAC,cAAA;AAAA,QAAAjC,IAAAC,qBAAAA,EAAA,CAAA,GACcG,KAAA4B,iBAAAA,SAAe;AAAUxB,MAAAA;AAAA,SAAAR,SAAAI,MAArCI,KAAA0B,kBAAY9B,EAAyB,GAACJ,OAAAI,IAAAJ,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAAtCQ;AAAsC;ACTxC,MAAM2B,cAAuB,CAAA,GAKvBC,eAAsC,CAAA,GAQtCC,uBAaT;AAAA,EACFC,MAAM;AAAA,IACJC,SAAS;AAAA,MACPC,OAAO;AAAA,MACPC,YAAY;AAAA,IACd;AAAA,IACAC,QAAQ;AAAA,MACNC,SAAS;AAAA,IACX;AAAA,IACAC,SAAS;AAAA,MACPD,SAAS;AAAA,MACTE,YAAY;AAAA,QACVC,MAAM;AAAA,QACNC,UAAUC;AAAAA,MAAAA;AAAAA,IAEd;AAAA,IACAC,SAAS;AAAA,MACPT,OAAO;AAAA,IACT;AAAA,IACAU,UAAU;AAAA,MACRV,OAAO;AAAA,IAAA;AAAA,EAEX;AAAA,EASAK,YAAY;AAAA,IACVM,MAAM;AAAA,IACNC,gBAAgBJ;AAAAA,IAChBK,QAAQ;AAAA,EAAA;AAEZ,GAaaC,YAAY;AAAA,EACvBC,QAAQ;AAAA,EACRC,SAAS;AAAA,EACTC,SAAS;AACX;ACjFO,SAASC,uBAAuBC,SAA+B;AACpE,SAAOC,oBAAoBD,OAAO,KAAKE,oBAAoBF,OAAO;AACpE;AAKO,SAASG,cAAcC,MAAoC;AAChE,SAAOA,gBAAgBC,QAAQD,KAAKE,aAAaD,KAAKE;AACxD;AAKO,SAASN,oBAAoBD,SAAgD;AAClF,SAAOG,cAAcH,OAAO,KAAKA,QAAQQ,aAAa;AACxD;AAKO,SAASC,mBAAmBT,SAA+C;AAChF,SAAOG,cAAcH,OAAO,KAAKA,QAAQQ,aAAa;AACxD;AAKO,SAASN,oBAAoBF,SAAgD;AAClF,SAAOG,cAAcH,OAAO,KAAKA,QAAQQ,aAAa;AACxD;AAKO,SAASE,oBAAoBV,SAAgD;AAClF,SAAOG,cAAcH,OAAO,KAAKA,QAAQQ,aAAa;AACxD;AAKO,SAASG,sBAAsBX,SAAkD;AACtF,SAAOG,cAAcH,OAAO,KAAKA,QAAQQ,aAAa;AACxD;AAKgBI,SAAAA,wBAAwBZ,SAAsBI,MAAqB;AACjF,SAAOJ,QAAQa,SAAST,IAAI,KAAKJ,YAAYI;AAC/C;ACjDgBU,SAAAA,cAAiBC,KAA0BC,YAAuB;AAC5ED,SAAAA,QAAQnE,SAAkBoE,cAAcxC,cAErCyC,MAAMC,QAAQH,GAAG,IAAIA,MAAM,CAACA,GAAG;AACxC;ACNO,SAASI,cAAcC,IAAmB;AAC3C,MAAA,EAAEA,cAAcC,SAAiB,QAAA;AAE/BC,QAAAA,QAAQjG,OAAOkG,iBAAiBH,EAAE;AAExC,SACEE,MAAME,UAAUC,SAAS,MAAM,KAC/BH,MAAME,UAAUC,SAAS,QAAQ,KACjCH,MAAMI,UAAUD,SAAS,MAAM,KAC/BH,MAAMI,UAAUD,SAAS,QAAQ;AAErC;ACFOE,SAAAA,aAAAZ,KAAAC,YAAA;AAAA3E,QAAAA,IAAAC,uBAAA,CAAA;AAAAG,MAAAA;AAAAJ,IAAA2E,CAAAA,MAAAA,cAAA3E,SAAA0E,OAC+DtE,KAAAA,MAAA,CAClEqE,cAAcC,KAAKC,UAAU,GAC7BY,KAAAC,UAAed,OAAOC,UAAU,CAAC,GAClC3E,OAAA2E,YAAA3E,OAAA0E,KAAA1E,OAAAI,MAAAA,KAAAJ,EAAA,CAAA;AAHD,QAAA,CAAAQ,IAAAiF,QAAA,IAA4CC,MAAAA,SAAwBtF,EAGnE,GAHM,CAAAuF,WAAAC,UAAA,IAAApF,IAKPqF,OAAaN,KAAAC,UAAed,OAAOC,UAAU;AAEzCkB,SAAAA,SAASD,cAIXH,SAAQ,CAAEhB,cAAcC,KAAKC,UAAU,GAAGkB,IAAI,CAAC,GAG1CF;AAAS;ACTXG,SAAAA,qBAAAC,UAAA3F,IAAA4F,iBAAA;AAAA,QAAAhG,IAAAC,qBAAA,EAAA,CAAA,GAELgG,cAAA7F,OAAgEG,SAAA2F,UAAhE9F;AAAgEI,MAAAA;AAAAR,IAAAgG,CAAAA,MAAAA,mBAAAhG,SAAAiG,eAAAjG,EAAA,CAAA,MAAA+F,YAOjCvF,KAAA2F,CAAA,QAAA;AAAA,QAAA,CACxBJ;AAAQ;AAIb,UAAAK,SAAeD,IAAGC;AAAO,QAEnBA,EAAAA,kBAAMpC;AAAgB;AAI5B,UAAAqC,0BAAgCL,kBAAe;AAAI,QAE/CK,2BAA4BA,CAAAA,wBAAuB7B,SAAU4B,MAAM;AAAC;AAIxEE,UAAAA,WAAiBL,YAAY,EAACM,KAAM;AAAC,eAEhCxB,MAAYuB;AAAQ,UAClBvB,OAEDqB,WAAWrB,MAAMA,GAAEP,SAAU4B,MAAM;AAAC;AAK1CL,aAASI,GAAG;AAAA,EAAA,GACbnG,OAAAgG,iBAAAhG,OAAAiG,aAAAjG,OAAA+F,UAAA/F,OAAAQ,MAAAA,KAAAR,EAAA,CAAA;AA5BD,QAAAwG,UAAgBC,eAAAA,eAAejG,EA4B9B,GAEDkG,cAAoBC,CAAQZ,CAAAA;AAAStF,MAAAA;AAAAT,IAAA0G,CAAAA,MAAAA,eAAA1G,SAAAwG,WAE3B/F,KAAAA,MAAA;AAAA,QAAA,CACHiG;AAAW;AAEhBE,UAAAA,cAAAC,CAAyCL,UAAAA,QAAQL,KAAG;AAEpDxG,WAAAA,SAAAmH,iBAA0B,aAAaF,WAAW,GAAC,MAAA;AAGjDG,eAAAA,oBAA6B,aAAaH,WAAW;AAAA,IAAC;AAAA,EAEzD5G,GAAAA,OAAA0G,aAAA1G,OAAAwG,SAAAxG,OAAAS,MAAAA,KAAAT,EAAA,CAAA;AAAAW,MAAAA;AAAAX,WAAA0G,eAAE/F,MAAC+F,WAAW,GAAC1G,OAAA0G,aAAA1G,OAAAW,MAAAA,KAAAX,EAAA,CAAA,GAVhBgH,MAAAA,UAAUvG,IAUPE,EAAa,GAEhBsG,MAAAA,cAAclB,WAAW,iBAAiB,eAAe;AAAC;AArDrD,SAAAG,UAAA;AAAA/D,SAAAA;AAAA;ACbA+E,SAAAA,kBAAAC,KAAAC,gBAAA;AAAApH,QAAAA,IAAAC,uBAAA,CAAA;AAAAG,MAAAA;AAAAJ,WAAAoH,kBAAApH,EAAAmH,CAAAA,MAAAA,IAAAE,WAIKjH,KAAAA,MAAA;AACLiH,QAAAA,SAAAC,kBAA4BF,kBAAkB,EAAE;AAAA,EAAA,GACpDpH,OAAAoH,gBAAApH,EAAA,CAAA,IAAAmH,IAAAE,SAAArH,OAAAI,MAAAA,KAAAJ,EAAA,CAAA;AAAAQ,MAAAA;AAAAR,IAAAoH,CAAAA,MAAAA,kBAAApH,SAAAmH,OAAE3G,KAAA,CAAC4G,gBAAgBD,GAAG,GAACnH,OAAAoH,gBAAApH,OAAAmH,KAAAnH,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAFxBgH,MAAAA,UAAU5G,IAEPI,EAAqB;AAAC;ACNd+G,MAAAA,kBACX,OAAO5H,WAAa,OAAe,OAAOX,SAAW,OAAeA,OAAOwI,iBACvExI,OAAOwI,iBACPC,eAAAA,gBCqCOC,uBAAuBC,2BAA2B;AAE/D,SAASC,kCAAwD;AACxD,SAAA;AAAA,IACLC,UAAUlE,SAASmE,YAAY;AAC7B,YAAMC,kBAAiB,IAAIR,gBAAgB,CAAC,CAACS,KAAK,MAAM;AAC3C,mBAAA;AAAA,UACTC,cAAcD,MAAME;AAAAA,UACpBC,QAAQ;AAAA,YACNC,OAAOJ,MAAMK,cAAc,CAAC,EAAEC;AAAAA,YAC9BC,QAAQP,MAAMK,cAAc,CAAC,EAAEG;AAAAA,UACjC;AAAA,UACAC,SAAS;AAAA,YACPL,OAAOJ,MAAME,YAAYE;AAAAA,YACzBG,QAAQP,MAAME,YAAYK;AAAAA,UAAAA;AAAAA,QAC5B,CACD;AAAA,MAAA,CACF;AAEcG,aAAAA,gBAAAA,QAAQ/E,OAAO,GAEvB,MAAM;AACXoE,QAAAA,gBAAeY,UAAUhF,OAAO,GAChCoE,gBAAea,WAAW;AAAA,MAC5B;AAAA,IAAA;AAAA,EAEJ;AACF;AAEA,SAASjB,6BAAmD;AAC1D,QAAMkB,eAAmBC,oBAAAA,QACnBC,GAAAA,uCAAuBD,QAA+C;AAErE,SAAA;AAAA,IACLjB,UAAUlE,SAASmE,YAAY;AAC7B,YAAMkB,cAAcD,iBAAiBE,IAAItF,OAAO,KAAK,CAAE;AAEnDuF,UAAAA,UAAUL,aAAaI,IAAItF,OAAO;AAEtC,aAAKoF,iBAAiBI,IAAIxF,OAAO,MAC/BoF,iBAAiBK,IAAIzF,SAASqF,WAAW,GAKzCE,UAHiBtB,gCAGEC,EAAAA,UAAUlE,SAAU0F,CAAgB,gBAAA;AACrD,mBAAWC,OAAON;AAChBM,cAAID,WAAW;AAAA,MAElB,CAAA,IAGHL,YAAYO,KAAKzB,UAAU,GAEpB,MAAM;AAGL0B,cAAAA,MAAMR,YAAYS,QAAQ3B,UAAU;AAEtC0B,cAAM,MACRR,YAAYU,OAAOF,KAAK,CAAC,GAGvBR,YAAYW,WAAW,KAErBT,WAASA,QAAQ;AAAA,MAEzB;AAAA,IAAA;AAAA,EAEJ;AACF;AC3GO,SAAAU,eAAAjG,SAAA;AAAA3D,QAAAA,IAAAC,uBAAA,CAAA,GACL,CAAA4J,OAAAC,OAAA,IAAwBpE,MAAAA,aAAiC;AAAC,MAAAtF,IAAAI;AAAA,SAAAR,SAAA2D,WAEhDvD,KAAAA,MAAA;AACHuD,QAAAA;AAEE+D,aAAAA,qBAAAG,UAA+BlE,SAASmG,OAAO;AAAA,EACrDtJ,GAAAA,MAACmD,OAAO,GAAC3D,OAAA2D,SAAA3D,OAAAI,IAAAJ,OAAAQ,OAAAJ,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA,IAJZgH,MAAAA,UAAU5G,IAIPI,EAAS,GAELqJ;AAAI;ACXN,SAAAE,iBAAAC,WAAA;AAAAhK,QAAAA,IAAAC,uBAAA,CAAA;AAAAG,MAAAA;AAAAJ,WAAAgK,aACgC5J,KAAA6J,CAAAA,UAA0BD,UAAUC,KAAK,GAACjK,OAAAgK,WAAAhK,OAAAI,MAAAA,KAAAJ,EAAA,CAAA;AAA/EkK,QAAAA,gBAAsBzD,8BAAerG,EAA0C;AAACI,MAAAA;AAAAR,WAAAkK,iBAEtE1J,KAAAA,MAAA;AACR2J,UAAAA,UAAAC,CAA0CF,YAAAA,cAAcD,OAAK;AAE7DnD,WAAAA,OAAAA,iBAAwB,WAAWqD,OAAO,GAAC,MAE9BnL,OAAA+H,oBAA2B,WAAWoD,OAAO;AAAA,EAAC,GAC5DnK,OAAAkK,eAAAlK,OAAAQ,MAAAA,KAAAR,EAAA,CAAA;AAAAS,MAAAA;AAAAT,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KAAEe,KAAA,IAAET,OAAAS,MAAAA,KAAAT,EAAA,CAAA,GANLgH,MAAAA,UAAUxG,IAMPC,EAAE;AAAC;ACND4J,SAAAA,cAAAC,kBAAAC,oBAAA;AAAAvK,QAAAA,IAAAC,uBAAA,CAAA;AAILgH,QAAAA,cAAcqD,gBAAgB;AAAClK,MAAAA;AAAAJ,WAAAsK,oBAI3BlK,KAAAoK,CAAA,kBAAA;AACEC,UAAAA,SAAczL,OAAA0L,WAAkBJ,gBAAgB;AAC3CxD,WAAAA,OAAAA,iBAAkB,UAAU0D,aAAa,GAAC,MAClCC,OAAK1D,oBAAqB,UAAUyD,aAAa;AAAA,EAAC,GAChExK,OAAAsK,kBAAAtK,OAAAI,MAAAA,KAAAJ,EAAA,CAAA;AAAAQ,MAAAA;AAAAR,SAAAA,SAAAsK,oBAGH9J,KAAAA,MAAMxB,OAAA0L,WAAkBJ,gBAAgB,EAACK,SAAQ3K,OAAAsK,kBAAAtK,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAT5C4K,MAAAA,qBACLxK,IAQAI,IACA+J,kBACF;AAAC;ACvBH,MAAME,QAAQ,CAAC,KAAK,KAAK,KAAK,MAAM,MAAM,IAAI;AAe9C,SAASI,eAAeJ,QAAiBK,OAA2B;AAC9DA,SAAAA,UAAU,IACL,0BAA0BL,OAAMK,KAAK,IAAI,CAAC,QAG/CA,UAAUL,OAAMd,SACX,0BAA0Bc,OAAMK,QAAQ,CAAC,CAAC,QAG5C,0BAA0BL,OAAMK,QAAQ,CAAC,CAAC,uBAAuBL,OAAMK,KAAK,IAAI,CAAC;AAC1F;AAEA,SAASC,oBAAiC;AACxC,QAAMC,WAAWP,MAAMd;AACnBsB,MAAAA;AAKJ,QAAMC,WAAWA,MAAM;AACrB,QAAI,CAACD,OAAO;AACVA,cAAQ,CAAE;AAEV,eAASH,QAAQE,UAAUF,QAAQ,IAAIA,SAAS,GAAG;AAC3CK,cAAAA,aAAaN,eAAeJ,OAAOK,KAAK;AAE9CG,cAAM1B,KAAK;AAAA,UAACuB;AAAAA,UAAOM,IAAIpM,OAAO0L,WAAWS,UAAU;AAAA,QAAA,CAAE;AAAA,MAAA;AAAA,IACvD;AAGKF,WAAAA;AAAAA,EACT;AA8BO,SAAA;AAAA,IAACI,aA5BYA,MAAM;AACb,iBAAA;AAAA,QAACP;AAAAA,QAAOM;AAAAA,WAAOF,SAAS;AAC7BE,YAAAA,GAAGT,QAAgBG,QAAAA;AAGlB,aAAA;AAAA,IACT;AAAA,IAsBqBjD,WApBF2C,CAA8B,kBAAA;AAC/C,YAAMc,aAA6B,CAAE;AAE1B,iBAAA;AAAA,QAACF;AAAAA,MAAE,KAAKF,YAAY;AAC7B,cAAMK,eAAeA,MAAM;AACrBH,aAAGT,WAASH,cAAc;AAAA,QAChC;AAEG1D,WAAAA,iBAAiB,UAAUyE,YAAY,GAE1CD,WAAW/B,KAAK,MAAM6B,GAAGrE,oBAAoB,UAAUwE,YAAY,CAAC;AAAA,MAAA;AAGtE,aAAO,MAAM;AACX,mBAAWC,aAAaF;AACZ,oBAAA;AAAA,MAEd;AAAA,IAAA;AAAA,EAG4B;AAChC;AASA,SAASf,oBAAoB;AACpB,SAAA;AACT;AAMO,SAAAkB,gBAAA;AAAAzL,QAAAA,IAAAC,uBAAA,CAAA;AAAA,MAAAG,IAAAI;AAAAR,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KACuBc,KAAAuK,kBAAAA,GAAmB/K,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAAAI,KAAnBI;AAA5B,QAAAkL,QAActL;AAAsC,SAE7CwK,MAAAA,qBAAqBc,MAAK7D,WAAY6D,MAAKL,aAAAd,iBAA+B;AAAC;ACvF7E,SAAAoB,eAAAvL,IAAA;AAAuD,SACrDiK,cAAc,gCADQjK,OAA+BG,SAAA2F,UAA/B9F,EACyC;AAAC;AADlE,SAAA8F,UAAA;AAAA,SAAA;AAAA;ACAA,SAAA0F,wBAAAxL,IAAA;AAAgE,SAC9DiK,cAAc,oCADiBjK,OAA+BG,SAAA2F,UAA/B9F,EACoC;AAAC;AADtE,SAAA8F,UAAA;AAAA,SAAA;AAAA;ACcA,MAAM2F,MAAMC,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,GAAA;AAAA8L,MAAAA,OAAAC,UAAAC,UAAAC,UAAAC,cAAAC,YAAAC,aAAAC,WAAAC,WAAAC,QAAAC,WAAAC,aAAAC,SAAAC,WAAAC,MAAAC,KAAAC,MAAAC,MAAAzE,QAAA0E,OAAAC,aAAAC,WAAAC,YAAAC,UAAAC,SAAAC,cAAAC,YAAAC,aAAAC,WAAAC,SAAAC,SAAAC,UAAAC,OAAAC,UAAAC,eAAAC,aAAAC,cAAAC,YAAAC,UAAAC,UAAAC,eAAAC,UAAAC,QAAAC,WAAAC,KAAAC,QAAAC,UAAAC,MAAAzO,IAAAI,IAAAC,IAAAE,IAAAc,IAAAqN,IAAAC,IAAA3G,OAAA4G;AAAAhP,WAAAD,SAI5B;AAAA,IAAAgM;AAAAA,IAAAkD,IAAA7O;AAAAA,IAAA4L;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAA/D,QAAA3H;AAAAA,IAAA8L;AAAAA,IAAAD;AAAAA,IAAAF;AAAAA,IAAAC;AAAAA,IAAAG;AAAAA,IAAAC;AAAAA,IAAAE;AAAAA,IAAAD;AAAAA,IAAAE;AAAAA,IAAAC;AAAAA,IAAAsC,SAAAzO;AAAAA,IAAAoM;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAzE;AAAAA,IAAA0E;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAA6B,QAAAxO;AAAAA,IAAAgN;AAAAA,IAAAC;AAAAA,IAAAF;AAAAA,IAAAD;AAAAA,IAAAF;AAAAA,IAAAC;AAAAA,IAAAK;AAAAA,IAAAuB,UAAA3N;AAAAA,IAAAsM;AAAAA,IAAAsB,SAAAP;AAAAA,IAAAV;AAAAA,IAAAC;AAAAA,IAAAF;AAAAA,IAAAD;AAAAA,IAAAF;AAAAA,IAAAC;AAAAA,IAAAK;AAAAA,IAAAC;AAAAA,IAAAT;AAAAA,IAAAU;AAAAA,IAAAE;AAAAA,IAAAG;AAAAA,IAAAD;AAAAA,IAAAD;AAAAA,IAAAW,QAAAP;AAAAA,IAAA3G;AAAAA,IAAA4G;AAAAA,IAAA,GAAAP;AAAAA,EAAA,IA0DI1O,OAAKC,OAAAD,OAAAC,OAAA+L,OAAA/L,OAAAgM,UAAAhM,OAAAiM,UAAAjM,OAAAkM,UAAAlM,OAAAmM,cAAAnM,OAAAoM,YAAApM,OAAAqM,aAAArM,OAAAsM,WAAAtM,OAAAuM,WAAAvM,QAAAwM,QAAAxM,QAAAyM,WAAAzM,QAAA0M,aAAA1M,QAAA2M,SAAA3M,QAAA4M,WAAA5M,QAAA6M,MAAA7M,QAAA8M,KAAA9M,QAAA+M,MAAA/M,QAAAgN,MAAAhN,QAAAuI,QAAAvI,QAAAiN,OAAAjN,QAAAkN,aAAAlN,QAAAmN,WAAAnN,QAAAoN,YAAApN,QAAAqN,UAAArN,QAAAsN,SAAAtN,QAAAuN,cAAAvN,QAAAwN,YAAAxN,QAAAyN,aAAAzN,QAAA0N,WAAA1N,QAAA2N,SAAA3N,QAAA4N,SAAA5N,QAAA6N,UAAA7N,QAAA8N,OAAA9N,QAAA+N,UAAA/N,QAAAgO,eAAAhO,QAAAiO,aAAAjO,QAAAkO,cAAAlO,QAAAmO,YAAAnO,QAAAoO,UAAApO,QAAAqO,UAAArO,QAAAsO,eAAAtO,QAAAuO,UAAAvO,QAAAwO,QAAAxO,QAAAyO,WAAAzO,QAAA0O,KAAA1O,QAAA2O,QAAA3O,QAAA4O,UAAA5O,QAAA6O,MAAA7O,QAAAI,IAAAJ,QAAAQ,IAAAR,QAAAS,IAAAT,QAAAW,IAAAX,QAAAyB,IAAAzB,QAAA8O,IAAA9O,QAAA+O,IAAA/O,QAAAoI,OAAApI,QAAAgP,SAAAjD,QAAA/L,EAAA,CAAA,GAAAgM,WAAAhM,EAAA,CAAA,GAAAiM,WAAAjM,EAAA,CAAA,GAAAkM,WAAAlM,EAAA,CAAA,GAAAmM,eAAAnM,EAAA,CAAA,GAAAoM,aAAApM,EAAA,CAAA,GAAAqM,cAAArM,EAAA,CAAA,GAAAsM,YAAAtM,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAwM,SAAAxM,EAAA,EAAA,GAAAyM,YAAAzM,EAAA,EAAA,GAAA0M,cAAA1M,EAAA,EAAA,GAAA2M,UAAA3M,EAAA,EAAA,GAAA4M,YAAA5M,EAAA,EAAA,GAAA6M,OAAA7M,EAAA,EAAA,GAAA8M,MAAA9M,EAAA,EAAA,GAAA+M,OAAA/M,EAAA,EAAA,GAAAgN,OAAAhN,EAAA,EAAA,GAAAuI,SAAAvI,EAAA,EAAA,GAAAiN,QAAAjN,EAAA,EAAA,GAAAkN,cAAAlN,EAAA,EAAA,GAAAmN,YAAAnN,EAAA,EAAA,GAAAoN,aAAApN,EAAA,EAAA,GAAAqN,WAAArN,EAAA,EAAA,GAAAsN,UAAAtN,EAAA,EAAA,GAAAuN,eAAAvN,EAAA,EAAA,GAAAwN,aAAAxN,EAAA,EAAA,GAAAyN,cAAAzN,EAAA,EAAA,GAAA0N,YAAA1N,EAAA,EAAA,GAAA2N,UAAA3N,EAAA,EAAA,GAAA4N,UAAA5N,EAAA,EAAA,GAAA6N,WAAA7N,EAAA,EAAA,GAAA8N,QAAA9N,EAAA,EAAA,GAAA+N,WAAA/N,EAAA,EAAA,GAAAgO,gBAAAhO,EAAA,EAAA,GAAAiO,cAAAjO,EAAA,EAAA,GAAAkO,eAAAlO,EAAA,EAAA,GAAAmO,aAAAnO,EAAA,EAAA,GAAAoO,WAAApO,EAAA,EAAA,GAAAqO,WAAArO,EAAA,EAAA,GAAAsO,gBAAAtO,EAAA,EAAA,GAAAuO,WAAAvO,EAAA,EAAA,GAAAwO,SAAAxO,EAAA,EAAA,GAAAyO,YAAAzO,EAAA,EAAA,GAAA0O,MAAA1O,EAAA,EAAA,GAAA2O,SAAA3O,EAAA,EAAA,GAAA4O,WAAA5O,EAAA,EAAA,GAAA6O,OAAA7O,EAAA,EAAA,GAAAI,KAAAJ,EAAA,EAAA,GAAAQ,KAAAR,EAAA,EAAA,GAAAS,KAAAT,EAAA,EAAA,GAAAW,KAAAX,EAAA,EAAA,GAAAyB,KAAAzB,EAAA,EAAA,GAAA8O,KAAA9O,EAAA,EAAA,GAAA+O,KAAA/O,EAAA,EAAA,GAAAoI,QAAApI,EAAA,EAAA,GAAAgP,OAAAhP,EAAA,EAAA;AAxDH,QAAAuP,KAAAnP,OAAUG,SAAL,QAALH,IAIJ+H,SAAA3H,OAAcD,cAAdC,IAWA0O,UAAAzO,OAAiBF,SAAP,UAAVE,IAYA0O,SAAAxO,OAAUJ,aAAVI,IAQAyO,WAAA3N,OAAYlB,aAAZkB,IAEA4N,UAAAP,OAAWvO,aAAXuO,IAeAQ,SAAAP,OAAiBxO,SAAR,WAATwO;AAAiBS,MAAAA;AAAAxP,YAAA+L,SAAA/L,EAAAgM,EAAAA,MAAAA,YAAAhM,EAAAiM,EAAAA,MAAAA,YAAAjM,EAAA,EAAA,MAAAkM,YAAAlM,EAAA,EAAA,MAAAmI,UAAAnI,EAAAmM,EAAAA,MAAAA,gBAAAnM,UAAAoM,cAAApM,EAAA,EAAA,MAAAqM,eAAArM,EAAAsM,EAAAA,MAAAA,aAAAtM,EAAAuM,EAAAA,MAAAA,aAAAvM,EAAA,EAAA,MAAAwM,UAAAxM,EAAA,EAAA,MAAAyM,aAAAzM,EAAA0M,EAAAA,MAAAA,eAAA1M,UAAA2M,WAAA3M,EAAA,EAAA,MAAA4M,aAAA5M,EAAAkP,EAAAA,MAAAA,WAAAlP,EAAA6M,EAAAA,MAAAA,QAAA7M,EAAA,EAAA,MAAA8M,OAAA9M,EAAA,EAAA,MAAA+M,QAAA/M,EAAAgN,EAAAA,MAAAA,QAAAhN,UAAAuI,UAAAvI,EAAA,EAAA,MAAAiN,SAAAjN,EAAAkN,EAAAA,MAAAA,eAAAlN,EAAAmN,EAAAA,MAAAA,aAAAnN,EAAA,EAAA,MAAAoN,cAAApN,EAAA,EAAA,MAAAqN,YAAArN,EAAAsN,EAAAA,MAAAA,WAAAtN,UAAAmP,UAAAnP,EAAAuN,EAAAA,MAAAA,gBAAAvN,EAAA,EAAA,MAAAwN,cAAAxN,EAAA,EAAA,MAAAyN,eAAAzN,EAAA0N,EAAAA,MAAAA,aAAA1N,UAAA2N,WAAA3N,EAAA,EAAA,MAAA4N,WAAA5N,EAAA6N,EAAAA,MAAAA,YAAA7N,EAAAoP,EAAAA,MAAAA,YAAApP,EAAA,EAAA,MAAA8N,SAAA9N,EAAA,EAAA,MAAA+N,YAAA/N,EAAAqP,EAAAA,MAAAA,WAAArP,UAAAgO,iBAAAhO,EAAA,EAAA,MAAAiO,eAAAjO,EAAAkO,EAAAA,MAAAA,gBAAAlO,EAAAmO,GAAAA,MAAAA,cAAAnO,EAAA,GAAA,MAAAoO,YAAApO,EAAA,GAAA,MAAAqO,YAAArO,EAAAsO,GAAAA,MAAAA,iBAAAtO,WAAAuO,YAAAvO,EAAA,GAAA,MAAAwO,UAAAxO,EAAA0O,GAAAA,MAAAA,OAAA1O,EAAA2O,GAAAA,MAAAA,UAAA3O,EAAA,GAAA,MAAA4O,YAAA5O,EAAA,GAAA,MAAA6O,QAAA7O,EAAAsP,GAAAA,MAAAA,UAAAtP,WAAAoI,SAAApI,EAAA,GAAA,MAAAgP,QAUJQ,KAAAC,sBACTlD,WACAmD,IAAAA,IAAA;AAAA,IAAA3D;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAA/D;AAAAA,IAAAmE;AAAAA,IAAAD;AAAAA,IAAAF;AAAAA,IAAAC;AAAAA,IAAAI;AAAAA,IAAAE;AAAAA,IAAAD;AAAAA,IAAAE;AAAAA,IAAAC;AAAAA,IAAAsC;AAAAA,IAAArC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAzE;AAAAA,IAAA0E;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAS;AAAAA,IAAAoB;AAAAA,IAAAxB;AAAAA,IAAAC;AAAAA,IAAAF;AAAAA,IAAAD;AAAAA,IAAAF;AAAAA,IAAAC;AAAAA,IAAAK;AAAAA,IAAAuB;AAAAA,IAAAtB;AAAAA,IAAAuB;AAAAA,IAAAjB;AAAAA,IAAAC;AAAAA,IAAAF;AAAAA,IAAAD;AAAAA,IAAAF;AAAAA,IAAAC;AAAAA,IAAAK;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAE;AAAAA,IAAAG;AAAAA,IAAAD;AAAAA,IAAAD;AAAAA,IAAAW;AAAAA,IAAAlH;AAAAA,IAAA4G;AAAAA,EAuDC,CAAA,CACH,GAAChP,QAAA+L,OAAA/L,QAAAgM,UAAAhM,QAAAiM,UAAAjM,QAAAkM,UAAAlM,QAAAmI,QAAAnI,QAAAmM,cAAAnM,QAAAoM,YAAApM,QAAAqM,aAAArM,QAAAsM,WAAAtM,QAAAuM,WAAAvM,QAAAwM,QAAAxM,QAAAyM,WAAAzM,QAAA0M,aAAA1M,QAAA2M,SAAA3M,QAAA4M,WAAA5M,QAAAkP,SAAAlP,QAAA6M,MAAA7M,QAAA8M,KAAA9M,QAAA+M,MAAA/M,QAAAgN,MAAAhN,QAAAuI,QAAAvI,QAAAiN,OAAAjN,QAAAkN,aAAAlN,QAAAmN,WAAAnN,QAAAoN,YAAApN,QAAAqN,UAAArN,QAAAsN,SAAAtN,QAAAmP,QAAAnP,QAAAuN,cAAAvN,QAAAwN,YAAAxN,QAAAyN,aAAAzN,QAAA0N,WAAA1N,QAAA2N,SAAA3N,QAAA4N,SAAA5N,QAAA6N,UAAA7N,QAAAoP,UAAApP,QAAA8N,OAAA9N,QAAA+N,UAAA/N,QAAAqP,SAAArP,QAAAgO,eAAAhO,QAAAiO,aAAAjO,QAAAkO,cAAAlO,SAAAmO,YAAAnO,SAAAoO,UAAApO,SAAAqO,UAAArO,SAAAsO,eAAAtO,SAAAuO,UAAAvO,SAAAwO,QAAAxO,SAAA0O,KAAA1O,SAAA2O,QAAA3O,SAAA4O,UAAA5O,SAAA6O,MAAA7O,SAAAsP,QAAAtP,SAAAoI,OAAApI,SAAAgP,MAAAhP,SAAAwP,MAAAA,KAAAxP,EAAA,GAAA;AAAA2P,MAAAA;AAAA,SAAA3P,WAAAuP,MAAAvP,EAAAD,GAAAA,MAAAA,MAAAG,YAAAF,EAAAmH,GAAAA,MAAAA,OAAAnH,EAAA,GAAA,MAAAyO,aAAAzO,WAAAwP,MA7DHG,KAAC/O,2BAAAA,IAAA,IAAA,EACS,WAAA,OAAK,GACT6N,WACO,WAAAe,IA2DNrI,KAEJpH,UAAKG,MAAAA,SACR,CAAA,GAAKF,SAAAuP,IAAAvP,EAAA,GAAA,IAAAD,MAAAG,UAAAF,SAAAmH,KAAAnH,SAAAyO,WAAAzO,SAAAwP,IAAAxP,SAAA2P,MAAAA,KAAA3P,EAAA,GAAA,GAjEL2P;AAiEK,CAER;AAED9D,IAAIlK,cAAc;ACrIX,MAAMiO,QAAQ9D,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA4P,MAAAA,QAAA9D,OAAA7L,UAAAqM,WAAAkC,WAAArO,IAAAI,IAAAC,IAAAE,IAAAmP;AAAA9P,WAAAD,SAI9B;AAAA,IAAA8P;AAAAA,IAAA9D;AAAAA,IAAAkD,IAAA7O;AAAAA,IAAAF;AAAAA,IAAAqM;AAAAA,IAAAuB,OAAAtN;AAAAA,IAAAqJ,MAAApJ;AAAAA,IAAAsP,cAAAD;AAAAA,IAAAE,QAAArP;AAAAA,IAAA,GAAA8N;AAAAA,EAAAA,IAWI1O,OAAKC,OAAAD,OAAAC,OAAA6P,QAAA7P,OAAA+L,OAAA/L,OAAAE,UAAAF,OAAAuM,WAAAvM,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,IAAAR,OAAAS,IAAAT,OAAAW,IAAAX,QAAA8P,qBAAAD,SAAA7P,EAAA,CAAA,GAAA+L,QAAA/L,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA,GAAAS,KAAAT,EAAA,CAAA,GAAAW,KAAAX,EAAA,CAAA,GAAA8P,mBAAA9P,EAAA,EAAA;AARH,QAAAuP,KAAAnP,OAAUG,SAAL,QAALH,IAGJ0N,QAAAtN,OAAaD,cAAbC,IACAqJ,QAAApJ,OAAQF,aAARE,IAEAuP,SAAArP,OAAiBJ,SAAR,WAATI;AAAiBc,MAAAA;AAAAzB,YAAA6P,UAAA7P,EAAA+L,EAAAA,MAAAA,SAAA/L,EAAAuM,EAAAA,MAAAA,aAAAvM,EAAA,EAAA,MAAA8N,SAAA9N,UAAA6J,SAAA7J,EAAA,EAAA,MAAAgQ,UAQJvO,KAAAgO,sBACTlD,WACA0D,IAAAA,MAAA;AAAA,IAAAJ;AAAAA,IAAA9D;AAAAA,IAAA+B;AAAAA,IAAAjE,MAAAA;AAAAA,IAAAmG;AAAAA,EAMC,CAAA,CACH,GAAChQ,QAAA6P,QAAA7P,QAAA+L,OAAA/L,QAAAuM,WAAAvM,QAAA8N,OAAA9N,QAAA6J,OAAA7J,QAAAgQ,QAAAhQ,QAAAyB,MAAAA,KAAAzB,EAAA,EAAA;AAAA8O,MAAAA;AAAA9O,YAAA8P,oBAGgBhB,KAAAiB,IAAAA,aAAA;AAAA,IAAAA,cAA4BD;AAAAA,EAAiB,CAAA,GAAC9P,QAAA8P,kBAAA9P,QAAA8O,MAAAA,KAAA9O,EAAA,EAAA;AAAA+O,MAAAA;AAAA/O,IAAAE,EAAAA,MAAAA,YAAAF,UAAA8O,MAA/DC,KAAAnO,2BAAAA,IAAA,QAAiB,EAAA,WAAAkO,IAAiD5O,SAAAA,CAAS,GAAOF,QAAAE,UAAAF,QAAA8O,IAAA9O,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA;AAAAwP,MAAAA;AAAAxP,SAAAA,EAAAuP,EAAAA,MAAAA,MAAAvP,EAAA,EAAA,MAAAmH,OAAAnH,EAAAyO,EAAAA,MAAAA,aAAAzO,EAAA,EAAA,MAAAyB,MAAAzB,UAAA+O,MAfpFS,KAAC5O,2BAAA,IAAA,IAAA,EACS,WAAA,SACJ6N,GAAAA,WACO,WAAAhN,IAUN0F,KAEL4H,UAAAA,GAAAA,CACF,GAAK/O,QAAAuP,IAAAvP,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAyB,IAAAzB,QAAA+O,IAAA/O,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GAhBLwP;AAgBK,CAER;AAEDI,MAAMjO,cAAc;ACvBb,MAAMuO,SAASpE,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAAkQ,MAAAA,4BAAAC,kBAAAC,mBAAAC,QAAA/D,WAAAgE,UAAAC,kBAAA/B,WAAAgC,KAAArQ,IAAAI,IAAAC,IAAAiQ;AAAA1Q,WAAAD,SAI/B;AAAA,IAAAoQ;AAAAA,IAAAlB,IAAAqB;AAAAA,IAAA/D;AAAAA,IAAAoE,OAAAvQ;AAAAA,IAAAqQ;AAAAA,IAAAC;AAAAA,IAAAH;AAAAA,IAAAC;AAAAA,IAAAI,eAAAP;AAAAA,IAAAD;AAAAA,IAAAS,QAAArQ;AAAAA,IAAAqJ,MAAApJ;AAAAA,IAAA,GAAAgO;AAAAA,EAAA,IAcI1O,OAAKC,OAAAD,OAAAC,OAAAmQ,4BAAAnQ,OAAAoQ,kBAAApQ,OAAAqQ,mBAAArQ,OAAAsQ,QAAAtQ,OAAAuM,WAAAvM,OAAAuQ,UAAAvQ,OAAAwQ,kBAAAxQ,OAAAyO,WAAAzO,OAAAyQ,KAAAzQ,QAAAI,IAAAJ,QAAAQ,IAAAR,QAAAS,IAAAT,QAAA0Q,UAAAP,6BAAAnQ,EAAA,CAAA,GAAAoQ,mBAAApQ,EAAA,CAAA,GAAAqQ,oBAAArQ,EAAA,CAAA,GAAAsQ,SAAAtQ,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAuQ,WAAAvQ,EAAA,CAAA,GAAAwQ,mBAAAxQ,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAyQ,MAAAzQ,EAAA,CAAA,GAAAI,KAAAJ,EAAA,EAAA,GAAAQ,KAAAR,EAAA,EAAA,GAAAS,KAAAT,EAAA,EAAA,GAAA0Q,QAAA1Q,EAAA,EAAA;AAVP,QAAA2Q,QAAAvQ,OAAcG,SAAN,SAARH,IAOAyQ,SAAArQ,OAAiBD,SAAR,WAATC,IACMsQ,WAAArQ,OAAYF,aAAZE,IAGR8O,KAAWwB,iBAAAA,QAAAC,mBAA2BV,MAAM,IAAIA,SAAS,OACzDzG,QAAavE,aAAawL,QAAQ,GAElCF,CAAAA,eAAAK,gBAAA,IAA0CvL,MAAAA,SACxC0K,oBAAoBC,qBAAqB,QAC3C,GAEA,CAAAa,YAAAC,aAAA,IAAoCzL,iBAAuB;AAAC,MAAA/E,IAAAc;AAAAzB,IAAA4Q,EAAAA,MAAAA,iBAAA5Q,UAAAqQ,qBAElD1P,KAAAA,MAAA;AAAA,QACJiQ,kBAAkBP;AAAiB;AAGvC,UAAAe,MAAYC,sBAAA,MAA4BJ,iBAAiBZ,iBAAiB,CAAC;AAE9DiB,WAAAA,MAAAA,qBAAqBF,GAAG;AAAA,EACpC3P,GAAAA,KAAA,CAACmP,eAAeP,iBAAiB,GAACrQ,QAAA4Q,eAAA5Q,QAAAqQ,mBAAArQ,QAAAW,IAAAX,QAAAyB,OAAAd,KAAAX,EAAA,EAAA,GAAAyB,KAAAzB,EAAA,EAAA,IAPrCgH,MAAAA,UAAUrG,IAOPc,EAAkC;AAAC,MAAAqN,IAAAC;AAAA/O,YAAAyQ,OAE5B3B,KAAAA,MAAA;AACJ2B,WAAKU,gBAAmB;AAAA,EAAC,GAC5BpC,MAAC0B,GAAG,GAACzQ,QAAAyQ,KAAAzQ,QAAA8O,IAAA9O,QAAA+O,OAAAD,KAAA9O,EAAA,EAAA,GAAA+O,KAAA/O,EAAA,EAAA,IAFRgH,gBAAU8H,IAEPC,EAAK;AAACS,MAAAA;AAAAxP,YAAAwQ,oBAE4BhB,KAAAA,MAAA;AACnC2B,oBAAkB,GAEdX,oBACFA,iBAAgBrR,IAAAA,MAAW,kCAAkC,CAAC;AAAA,EAAC,GAElEa,QAAAwQ,kBAAAxQ,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA;AAND,QAAAuR,mBAAyB/B;AAMH,MAAAG,IAAA6B;AAAAxR,YAAA6J,SAIlB2H,KAAA3H,MAAI4H,IAAAvL,OAMH,GAAClG,QAAA6J,OAAA7J,QAAAwR,MAAAA,KAAAxR,EAAA,EAAA,GAAA2P,KANF6B;AAFJ,QAAAE,eAAqB/B,IAeOgC,MAAAxB,6BAA6B,KAAE5P;AAAYqR,MAAAA;AAAA5R,IAAAuM,EAAAA,MAAAA,aAAAvM,UAAA2Q,SAAA3Q,EAAA,EAAA,MAAA8Q,YAIxDc,MAAAnC,IAAAA,kBAAkBlD,WAAWsF,IAAAA,OAAA;AAAA,IAAAlB;AAAAA,IAAA9G,MAAqBiH;AAAAA,EAAAA,CAAS,CAAC,GAAC9Q,QAAAuM,WAAAvM,QAAA2Q,OAAA3Q,QAAA8Q,UAAA9Q,QAAA4R,OAAAA,MAAA5R,EAAA,EAAA;AAEtD8R,QAAAA,MAAAZ,aAAa,KAAE3Q;AAAYwR,MAAAA;AAAA/R,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAK5BqS,MAAAC,IAAY,YAAA,GAAChS,QAAA+R,OAAAA,MAAA/R,EAAA,EAAA;AAAAiS,MAAAA;AAAAjS,YAAA2Q,SAA9BsB,6CAAiB,EAAA,WAAAF,KACf,UAAAnR,2BAAAA,IAAA,SAAW,OAAA,MAAY,QAAA,KAAY,SAAA,YAAgB,MAAA,QACjD,UAGEA,2BAAA,IAAA,QAAA,EAFE,GAAA,gGACI+P,aAAK,EAAA,CAEf,EACF,CAAA,GAAO3Q,QAAA2Q,OAAA3Q,QAAAiS,OAAAA,MAAAjS,EAAA,EAAA;AAAAkS,MAAAA;AAAAlS,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAKMwS,MAAAC,IAAe,eAAA,GAACnS,QAAAkS,OAAAA,MAAAlS,EAAA,EAAA;AAAAoS,MAAAA;AAAApS,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAUlB0S,MAAA;AAAA,IAAAzB,OAAQ;AAAA,EAAA,GAAU3Q,QAAAoS,OAAAA,MAAApS,EAAA,EAAA;AAAAqS,MAAAA;AAAArS,IAAAuQ,EAAAA,MAAAA,YAAAvQ,UAAA0R,gBAb7BW,MAACzR,2BAAAA,IAAA,KACO,EAAA,OAAA,UACH,IAAA,QACQ,WAAAsR,KACH,SAAA,QACA,SAAA,UACC,UAAA,YACF,OAAC,GAER,UAACtR,2BAAA,IAAA,OAAA,EACO,OAAA,UACH,IAAA,QACG8Q,MAAAA,cACC,OAAAU,KACA,QAAA,UAEC,UACV,SAAA,CAAA,EACF,CAAA,GAAMpS,QAAAuQ,UAAAvQ,QAAA0R,cAAA1R,QAAAqS,OAAAA,MAAArS,EAAA,EAAA;AAAAsS,MAAAA;AAAAtS,IAAAuR,EAAAA,MAAAA,oBAAAvR,UAAAuQ,YAAAvQ,EAAA,EAAA,MAAAyQ,OAEL6B,MAAA7B,uCACE,KAAe,EAAA,WAAA8B,mBAAsB,UAAY,UAAA,YAChD,UAAA;AAAA,IAAA3R,2BAAA,IAA2D,OAAjD2P,EAAAA,KAAAA,UAAmBgB,SAAe,kBAAQd,KAAG;AAAA,2CAEzD,CAAA,CAAA;AAAA,EAAA,GAAA,GACDzQ,QAAAuR,kBAAAvR,QAAAuQ,UAAAvQ,QAAAyQ,KAAAzQ,QAAAsS,OAAAA,MAAAtS,EAAA,EAAA;AAAAwS,MAAAA;AAAA,SAAAxS,UAAAuP,MAAAvP,EAAA4Q,EAAAA,MAAAA,iBAAA5Q,EAAA,EAAA,MAAAmH,OAAAnH,UAAAyO,aAAAzO,EAAA6Q,EAAAA,MAAAA,UAAA7Q,EAAA2R,EAAAA,MAAAA,OAAA3R,EAAA,EAAA,MAAA4R,OAAA5R,UAAA8R,OAAA9R,EAAAiS,EAAAA,MAAAA,OAAAjS,EAAA,EAAA,MAAAqS,OAAArS,UAAAsS,OAAAtS,EAAA,EAAA,MAAA0Q,SA/CH8B,sCAAC,IAEyB,EAAA,0BAAAb,KAChB,WAAA,UACJlD,GAAAA,WACQiC,cAAAA,OACD,WAAAkB,KACUhB,sCACH,oBAAAkB,KACLjB,eAAK,QACb1J,KACEuJ,OAEPuB,UAAAA;AAAAA,IAAAA;AAAAA,IASAI;AAAAA,IAoBCC;AAAAA,EAMH,EAAA,CAAA,GAAKtS,QAAAuP,IAAAvP,QAAA4Q,eAAA5Q,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAA6Q,QAAA7Q,QAAA2R,KAAA3R,QAAA4R,KAAA5R,QAAA8R,KAAA9R,QAAAiS,KAAAjS,QAAAqS,KAAArS,QAAAsS,KAAAtS,QAAA0Q,OAAA1Q,QAAAwS,OAAAA,MAAAxS,EAAA,EAAA,GAhDLwS;AAgDK,CAER;AAEDtC,OAAOvO,cAAc;AAlHY,SAAAuE,QAAAuM,GAAA;AAoDrBA,SAAAA,MAAO,IAAA,IACPA,MAAO,IAAA,IACPA,MAAO,IAAA,IAAA;AAAA;AC1EZ,MAAMC,gBAAgB5G,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAAsM,MAAAA,WAAAoG,OAAAlE,WAAArO;AAAAJ,WAAAD,SAItC;AAAA,IAAAwM;AAAAA,IAAAoG;AAAAA,IAAA9I,MAAAzJ;AAAAA,IAAA,GAAAqO;AAAAA,EAAAA,IAA6D1O,OAAKC,OAAAD,OAAAC,OAAAuM,WAAAvM,OAAA2S,OAAA3S,OAAAyO,WAAAzO,OAAAI,OAAAmM,YAAAvM,EAAA,CAAA,GAAA2S,QAAA3S,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA;AAClE,QAAA6J,QAAavE,aADkBlF,OAAYG,aAAZH,EACG;AAAC,MAAAI,IAAAC;AAAAT,WAAA6J,SAI/BpJ,KAAAoJ,MAAI4H,IAAAvL,OAMH,GAAClG,OAAA6J,OAAA7J,OAAAS,MAAAA,KAAAT,EAAA,CAAA,GAAAQ,KANFC;AAFJ,QAAAmS,WAAiBpS;AAUhBG,MAAAA;AAAAX,IAAAuM,CAAAA,MAAAA,aAAAvM,SAAA6J,SAOclJ,KAAA8O,sBAAkBlD,WAAWsG,IAAAA,cAAA;AAAA,IAAAhJ,MAAAA;AAAAA,EAAAA,CAAoB,CAAC,GAAC7J,OAAAuM,WAAAvM,OAAA6J,OAAA7J,OAAAW,MAAAA,KAAAX,EAAA,CAAA;AAAAyB,MAAAA;AAAAzB,IAAA2S,EAAAA,MAAAA,SAAA3S,UAAA4S,YAO9DnR,oCAAC,OAAY,EAAA,OAAA,UAAY,IAAA,QAAamR,MAAO,UAAU,QAAA,UAChD,iBACP,GAAQ5S,QAAA2S,OAAA3S,QAAA4S,UAAA5S,QAAAyB,MAAAA,KAAAzB,EAAA,EAAA;AAAA8O,MAAAA;AAAA,SAAA9O,EAAA,EAAA,MAAAmH,OAAAnH,EAAAyO,EAAAA,MAAAA,aAAAzO,EAAAW,EAAAA,MAAAA,MAAAX,UAAAyB,MAbVqN,KAAAlO,2BAAA,IAAC,KACS,EAAA,WAAA,iBAAe,GACnB6N,WACE,OAAA,UACK,WAAA9N,IACH,SAAA,QACA,SAAA,UACE,UAAC,GACNwG,KACE,QAAA,UAEP1F,UAGF,GAAA,CAAA,GAAMzB,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAW,IAAAX,QAAAyB,IAAAzB,QAAA8O,MAAAA,KAAA9O,EAAA,EAAA,GAdN8O;AAcM,CAET;AAED4D,cAAc/Q,cAAc;AAtCY,SAAAuE,QAAAuM,GAAA;AAU5BA,SAAAA,MAAO,IAAA,IACPA,MAAO,IAAA,IACPA,MAAO,IAAA,IAAA;AAAA;ACNZ,MAAMK,cAAchH,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA8S,MAAAA,cAAAxG,WAAAkC,WAAArO,IAAAI;AAAAR,WAAAD,SAIpC;AAAA,IAAAG,UAAA6S;AAAAA,IAAAxG;AAAAA,IAAAyG,WAAA5S;AAAAA,IAAAyJ,MAAArJ;AAAAA,IAAA,GAAAiO;AAAAA,EAAAA,IAMI1O,OAAKC,OAAAD,OAAAC,OAAA+S,cAAA/S,OAAAuM,WAAAvM,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,OAAAuS,eAAA/S,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA;AAHIiT,QAAAA,gBAAA7S,OAAiBG,aAAjBH,IACL0Q,WAAAtQ,OAAYD,aAAZC,IAGRN,WAAiBgT,eAAAC,QAAiBJ,YAAY,EAACK,OAAAC,MAAsB,cAAA,GAGrEL,YAAkBM,KAAAC,IAASN,gBAAgB,GAC3CpJ,QAAavE,aAAawL,QAAQ,GAElC0C,MAAYtT,SAAQyJ,QACpB8J,eAAqBT,YAAa,GAClCU,aAAmBF,MAAMC,cACzBE,kBAAwBD,aAAU,IAAOxT,SAAQ0T,MAAOF,YAAYF,GAAG,IAAItT,UAGxE2T,KAAAhI,KACSpL,KAAa,eAEfE,KAAQ;AAAAc,MAAAA;AAAAzB,IAAAuM,CAAAA,MAAAA,aAAAvM,SAAA6J,SACHpI,KAAAgO,sBAAkBlD,WAAWuH,IAAAA,YAAA;AAAA,IAAAjK,MAAAA;AAAAA,EAAAA,CAAkB,CAAC,GAAC7J,OAAAuM,WAAAvM,OAAA6J,OAAA7J,OAAAyB,MAAAA,KAAAzB,EAAA,CAAA;AACpD,QAAA8O,KAAM,QAGbC,KAAAyE,QAAS,KACR5S,2BAAA,IAAC,KAAS,EAAA,MAAA,QACR,UAAAA,+BAAC,eAAqB4S,EAAAA,OAAE,KAAS3J,MAAAA,OAAI,EAAA,CACvC,GAGD2F,KAAAgE,QAAG,KAAUE,aAAc,KACzB9S,2BAAA,IAAA,KAAA,EAAS,MAAA,QACR,UAACA,2BAAA,IAAA,eAAA,EAAqB8S,OAAAA,YAAkB7J,MAAAA,MAC1C,CAAA,GAAA;AACD8F,MAAAA;AAAA3P,WAAA6J,SAEoB8F,KAAAA,CAAAoE,OAAAC,eAClBpT,2BAAA,IAAA,KAAA,EAAS,MAAA,QACPqT,6BAAaF,OAAK;AAAA,IAAAlK,MAAAA;AAAAA,EAAAA,CAAQ,EADPqK,GAAAA,OAAOF,UAAU,CAEvC,GACDhU,OAAA6J,OAAA7J,QAAA2P,MAAAA,KAAA3P,EAAA,EAAA;AAJAwR,QAAAA,KAAAmC,gBAAelC,IAAK9B,EAIpB;AAACgC,MAAAA;AAAA,SAAA3R,EAAA6T,EAAAA,MAAAA,MAAA7T,EAAAmH,EAAAA,MAAAA,OAAAnH,EAAAyO,EAAAA,MAAAA,aAAAzO,UAAAyB,MAAAzB,EAAA,EAAA,MAAA+O,MAAA/O,EAAA,EAAA,MAAAwP,MAAAxP,EAAA,EAAA,MAAAwR,MAxBJG,MAACwC,2BAAA,KAAA,IAAA,EACS,WAAA1T,IACJgO,GAAAA,WACE,OAAA9N,IACK,WAAAc,IACH,SAAAqN,IACH3H,KAEJ4H,UAAAA;AAAAA,IAAAA;AAAAA,IAMAS;AAAAA,IAMAgC;AAAAA,EAAAA,EAKH,CAAA,GAAMxR,QAAA6T,IAAA7T,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAyB,IAAAzB,QAAA+O,IAAA/O,QAAAwP,IAAAxP,QAAAwR,IAAAxR,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA,GAzBN2R;AAyBM,CAET;AAEDmB,YAAYnR,cAAc;AC1DnB,MAAMyS,OAAOtI,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA8L,MAAAA,OAAA7L,UAAAqM,WAAAM,MAAA4B,WAAArO,IAAAI,IAAAC,IAAAE,IAAAmP,kBAAAE;AAAAhQ,WAAAD,SAI7B;AAAA,IAAA8P,QAAAzP;AAAAA,IAAA2L;AAAAA,IAAAkD,IAAAzO;AAAAA,IAAAN;AAAAA,IAAAqM;AAAAA,IAAAM;AAAAA,IAAAiB,OAAArN;AAAAA,IAAAoJ,MAAAlJ;AAAAA,IAAAoP,cAAAD;AAAAA,IAAAE;AAAAA,IAAA,GAAAvB;AAAAA,EAAAA,IAYI1O,OAAKC,OAAAD,OAAAC,OAAA+L,OAAA/L,OAAAE,UAAAF,OAAAuM,WAAAvM,OAAA6M,MAAA7M,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,IAAAR,OAAAS,IAAAT,OAAAW,IAAAX,QAAA8P,kBAAA9P,QAAAgQ,WAAAjE,QAAA/L,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAA6M,OAAA7M,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA,GAAAS,KAAAT,EAAA,CAAA,GAAAW,KAAAX,EAAA,CAAA,GAAA8P,mBAAA9P,EAAA,EAAA,GAAAgQ,SAAAhQ,EAAA,EAAA;AAXP,QAAA6P,SAAAzP,OAAcG,cAAdH,IAEImP,KAAA/O,OAAUD,SAAL,QAALC,IAIJsN,QAAArN,OAAaF,cAAbE,IACAoJ,QAAAlJ,OAAQJ,aAARI;AAAQc,MAAAA;AAAAzB,IAAA6P,EAAAA,MAAAA,UAAA7P,EAAA+L,EAAAA,MAAAA,SAAA/L,EAAAuM,EAAAA,MAAAA,aAAAvM,UAAA6M,QAAA7M,EAAA,EAAA,MAAA8N,SAAA9N,EAAA,EAAA,MAAA6J,SAAA7J,EAAA,EAAA,MAAAgQ,UAWKvO,KAAAgO,IAAAA,kBACTlD,WACA8H,IAAAA,KAAA;AAAA,IAAAxE;AAAAA,IAAA9D;AAAAA,IAAAc;AAAAA,IAAAiB;AAAAA,IAAAjE,MAAAA;AAAAA,IAAAmG;AAAAA,EAAAA,CAOC,CACH,GAAChQ,QAAA6P,QAAA7P,QAAA+L,OAAA/L,QAAAuM,WAAAvM,QAAA6M,MAAA7M,QAAA8N,OAAA9N,QAAA6J,OAAA7J,QAAAgQ,QAAAhQ,QAAAyB,MAAAA,KAAAzB,EAAA,EAAA;AAAA8O,MAAAA;AAAA9O,YAAA8P,oBAEgBhB,KAAAiB,IAAAA,aAAA;AAAA,IAAAA,cAA4BD;AAAAA,EAAiB,CAAA,GAAC9P,QAAA8P,kBAAA9P,QAAA8O,MAAAA,KAAA9O,EAAA,EAAA;AAAA+O,MAAAA;AAAA/O,IAAAE,EAAAA,MAAAA,YAAAF,UAAA8O,MAA/DC,KAAAnO,2BAAAA,IAAA,QAAiB,EAAA,WAAAkO,IAAiD5O,SAAAA,CAAS,GAAOF,QAAAE,UAAAF,QAAA8O,IAAA9O,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA;AAAAwP,MAAAA;AAAAxP,SAAAA,EAAAuP,EAAAA,MAAAA,MAAAvP,EAAA,EAAA,MAAAmH,OAAAnH,EAAAyO,EAAAA,MAAAA,aAAAzO,EAAA,EAAA,MAAAyB,MAAAzB,UAAA+O,MAhBpFS,KAAC5O,2BAAA,IAAA,IAAA,EACS,WAAA,QACJ6N,GAAAA,WACCtH,KACM,WAAA1F,IAYXsN,UAAAA,GAAAA,CACF,GAAK/O,QAAAuP,IAAAvP,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAyB,IAAAzB,QAAA+O,IAAA/O,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GAjBLwP;AAiBK,CAER;AAED4E,KAAKzS,cAAc;ACxCZ,MAAM2S,QAAQxI,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAC,UAAAqM,WAAAkC,WAAArO,IAAAI,IAAAC,IAAAE,IAAAc,IAAA8S;AAAAvU,MAAAA,SAAAD,OAAA;AAI9B,UAAA;AAAA,MAAAG,UAAA4O;AAAAA,MAAAvC,WAAAwC;AAAAA,MAAAG,SAAAM;AAAAA,MAAAoD,UAAAjD;AAAAA,MAAA6E,MAAAC;AAAAA,MAAApF,SAAAmC;AAAAA,MAAAhD,QAAAmD;AAAAA,MAAA4C,WAAA3C;AAAAA,MAAAvR,MAAAyR;AAAAA,MAAA,GAAAC;AAAAA,IAAAA,IAYIhS;AAZJ+O,eAAAA,KAAAvC,YAAAwC,KAAA3O,KAAAoP,KAAAhP,KAAAmP,IAAAlP,KAAA+Q,IAAA7Q,KAAAgR,KAAA4C,YAAA3C,KAAAnQ,KAAAqQ,KAAArD,YAAAsD,KAYS/R,OAAAD,OAAAC,OAAAE,UAAAF,OAAAuM,WAAAvM,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,IAAAR,OAAAS,IAAAT,OAAAW,IAAAX,OAAAyB,IAAAzB,OAAAuU;AAAAA,EAAA;AAAArU,eAAAF,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA,GAAAS,KAAAT,EAAA,CAAA,GAAAW,KAAAX,EAAA,CAAA,GAAAyB,KAAAzB,EAAA,CAAA,GAAAuU,YAAAvU,EAAA,CAAA;AATPkP,QAAAA,UAAA9O,OAAwBG,SAAd,iBAAVH,IACAwS,WAAApS,OAAYD,aAAZC,IAGA6O,UAAA5O,OAAWF,aAAXE,IACA+N,SAAA7N,OAAUJ,aAAVI,IAEAN,OAAAoB,OAAgBlB,SAAT,YAAPkB;AAAgBqN,MAAAA;AAAA9O,IAAAuM,EAAAA,MAAAA,aAAAvM,UAAAwO,UAAAxO,EAAA,EAAA,MAAAK,QAQHyO,KAAAW,IAAAA,kBACTlD,WACAmI,IAAAA,MAAA;AAAA,IAAAlG;AAAAA,IAAAnO;AAAAA,EAAAA,CAGC,CACH,GAACL,QAAAuM,WAAAvM,QAAAwO,QAAAxO,QAAAK,MAAAL,QAAA8O,MAAAA,KAAA9O,EAAA,EAAA;AAAA+O,MAAAA;AAAA/O,IAAAE,EAAAA,MAAAA,YAAAF,UAAA4S,YAAA5S,EAAA,EAAA,MAAAuU,aAKDxF,oCAAC,MAAYwF,EAAAA,kBAAiB3B,yBAE9B,CAAA,GAAO5S,QAAAE,UAAAF,QAAA4S,UAAA5S,QAAAuU,WAAAvU,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA;AAAAwP,MAAAA;AAAA,SAAAxP,UAAAkP,WAAAlP,EAAAqP,EAAAA,MAAAA,WAAArP,EAAAmH,EAAAA,MAAAA,OAAAnH,EAAA,EAAA,MAAAyO,aAAAzO,UAAA8O,MAAA9O,EAAA,EAAA,MAAA+O,MAhBTS,KAAC5O,2BAAA,IAAA,KAAA,EACS,WAAA,SAAO,GACX6N,WACO,WAAAK,IAOFI,SACAG,SACJlI,KAEL4H,UAGF,GAAA,CAAA,GAAM/O,QAAAkP,SAAAlP,QAAAqP,SAAArP,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAA8O,IAAA9O,QAAA+O,IAAA/O,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GAjBNwP;AAiBM,CAET;AAED8E,MAAM3S,cAAc;AC1Db,SAAAgT,oBAAA5U,OAAA;AAAAC,QAAAA,IAAAC,uBAAA,CAAA;AAAA,MAAAsM,WAAAkC;AAAAzO,WAAAD,SACL;AAAA,IAAAwM;AAAAA,IAAA,GAAAkC;AAAAA,EAAAA,IAAkC1O,OAAKC,OAAAD,OAAAC,OAAAuM,WAAAvM,OAAAyO,cAAAlC,YAAAvM,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA;AAAAI,MAAAA;AAAAJ,WAAAuM,aAMxBnM,KAAAqP,IAAAA,kBAAkBlD,WAAWqI,yBAAqB,GAAC5U,OAAAuM,WAAAvM,OAAAI,MAAAA,KAAAJ,EAAA,CAAA;AAAAQ,MAAAA;AAAA,SAAAR,EAAAyO,CAAAA,MAAAA,aAAAzO,SAAAI,MAHhEI,KAACI,2BAAAA,IAAAiU,MAAAA,aAAA,EACKpG,GAAAA,WACa,oBAAA,oBACN,WAAArO,GACX,CAAA,GAAAJ,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAJFQ;AAIE;ACQC,MAAMsU,UAAUhJ,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,CAAA;AAAAG,MAAAA;AAAAJ,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KAKgBU,KAAA2U,IAAQ,QAAA,GAAC/U,OAAAI,MAAAA,KAAAJ,EAAA,CAAA;AAAAQ,MAAAA;AAAAR,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KACrDc,KAACI,2BAAA,IAAA,qBAAA,CAAsB,CAAA,GAAAZ,OAAAQ,MAAAA,KAAAR,EAAA,CAAA;AAAAS,MAAAA;AAAA,SAAAT,EAAAD,CAAAA,MAAAA,SAAAC,SAAAmH,OADzB1G,oCAAC,MAAa,EAAA,WAAA,WAAcV,GAAAA,OAAkB,WAAAK,IAAgB+G,KAC5D3G,UAAAA,GACF,CAAA,GAAOR,OAAAD,OAAAC,OAAAmH,KAAAnH,OAAAS,MAAAA,KAAAT,EAAA,CAAA,GAFPS;AAEO,CAEV;AAEDqU,QAAQnT,cAAc;ACuBf,MAAMqT,SAASlJ,MAAAA,WAAW,SAC/B/L,OACAoH,KACA;AACM,QAAA;AAAA;AAAA,IAEJ8H,IAAIM,KAAK;AAAA,IACTrP;AAAAA,IACAqM;AAAAA,IACAK;AAAAA,IACAqI;AAAAA,IACA/F,UAAU;AAAA,IACVrC;AAAAA,IACA+F,WAAW;AAAA,IACX9F,MAAM/M,MAAMmV,SAASnV,MAAMsP,WAAW;AAAA,IACtCtC;AAAAA,IACAC;AAAAA,IACAmI;AAAAA,IACAC,MAAMC;AAAAA,IACNC,WAAWC;AAAAA,IACXjI,UAAU;AAAA,IACVkI;AAAAA,IACAhB,OAAO;AAAA,IACPnF,UAAU;AAAA,IACVjB;AAAAA,IACAC;AAAAA,IACAF;AAAAA,IACAH;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAM,SAAS;AAAA,IACTiH;AAAAA,IACAP,QAAQnV,MAAM+M,OAAO/M,MAAMmV,SAASnV,MAAMsP,WAAW;AAAA;AAAA,IACrDgF;AAAAA,IACAE;AAAAA,IACAxE,eAAe;AAAA,IACf2F,aAAa;AAAA,IACbrV,OAAO;AAAA,IACP8C,OAAO;AAAA,IACP2K,QAAQ;AAAA,IACR1F;AAAAA;AAAAA,IAEA,GAAGqG;AAAAA,EAAAA,IACD1O;AAGF,SAAAoU,gCAAC,MACC,WAAQ,UACJ1F,GAAAA,WACJ,WAAWgB,IAAAA,kBAAkBlD,WAAWoJ,WAAO;AAAA,IAACzG;AAAAA,IAASrC;AAAAA,IAAM2H;AAAAA,IAAMhG;AAAAA,IAAQnO;AAAAA,IAAM+H;AAAAA,EAAAA,CAAM,CAAC,GAC1F,iBAAeoN,WAAWP,WAAW,KAAK1U,QAC1C,iBAAekV,WAAW,KAAKlV,QAC/B,UAAUoG,GAAQ6O,WAAWP,WAC7B,MAAMA,WAAW1U,SAAY4U,MAC7B,KACA,MAECxO,UAAAA;AAAAA,IAAQ6O,CAAAA,CAAAA,0CACN,KACC,EAAA,OAAM,UACN,IAAG,QACH,WAAWI,IAAAA,iBAAAA,GACX,SAAQ,QACR,MAAM,GACN,SAAQ,UACR,OAAM,QAEN,UAAChV,2BAAA,IAAA,SAAA,EAAQ,MAAMgS,SAAAA,CAAS,EAC1B,CAAA;AAAA,KAGAyC,iBAAiBhB,QAAQkB,uBACzBpB,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,IAAG;AAAA,QACH;AAAA,QACA,SAAQ;AAAA,QACR,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAICkB,UAAAA;AAAAA,UACC,iBAAAlB,2BAAAA,KAAC,QAAK,IAAG,QAAO,MAAK,QAAO,OAAK,IAAC,MAAMvB,UACrCS,UAAAA;AAAAA,YAAAA,MAAAA,eAAegC,aAAa,KAAKA;AAAAA,YACjCrE,QAAAA,mBAAmBqE,aAAa,KAAKzU,2BAAA,IAAC,eAAgB,CAAA,CAAA;AAAA,UAAA,GACzD;AAAA,UAGDyT,QACCzT,2BAAA,IAAC,MACC,EAAA,OAAO2T,WACP,IAAG,QACH,MAAK,QACL,OACA,MAAM3B,UACN,cACA,QAAQ8C,YAEPrB,UACH,MAAA;AAAA,UAGDkB,sBACEpB,2BAAAA,KAAA,MAAA,EAAK,IAAG,QAAO,MAAK,QAAO,OAAK,IAAC,MAAMvB,UACrCS,UAAAA;AAAAA,YAAAA,MAAAA,eAAekC,kBAAkB,KAAKA;AAAAA,YACtCvE,QAAAA,mBAAmBuE,kBAAkB,KAAK3U,2BAAA,IAAC,oBAAqB,CAAA,CAAA;AAAA,UAAA,EACnE,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,IAGDV,YACCU,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,IAAG;AAAA,QAGH,MAAM;AAAA,QAKN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAICV;AAAAA,MAAAA;AAAAA,IAAAA;AAAAA,EACH,GAEJ;AAEJ,CAAC;AAED8U,OAAOrT,cAAc;ACzMd,SAAAkU,UAAA;AAAA,SACE7U,MAAAA,WAAAnB,WAAsB;AAAC;AC+BzB,MAAMiW,OAAOhK,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAAqQ,MAAAA,QAAA/D,WAAAwJ,SAAAtH,WAAAuH,YAAAP,UAAAQ,QAAAhR,OAAA7E,IAAAI,IAAAC,IAAAE;AAAAX,WAAAD,SAI7B;AAAA,IAAAmW,sBAAA9V;AAAAA,IAAA+V,sBAAA3V;AAAAA,IAAAyO,IAAAqB;AAAAA,IAAA/D;AAAAA,IAAAwJ;AAAAA,IAAAvH,QAAA/N;AAAAA,IAAAH,QAAA0V;AAAAA,IAAAP;AAAAA,IAAAQ;AAAAA,IAAAhR;AAAAA,IAAA5E,MAAAM;AAAAA,IAAA,GAAA8N;AAAAA,EAAAA,IAcI1O,OAAKC,OAAAD,OAAAC,OAAAsQ,QAAAtQ,OAAAuM,WAAAvM,OAAA+V,SAAA/V,OAAAyO,WAAAzO,OAAAgW,YAAAhW,OAAAyV,UAAAzV,OAAAiW,QAAAjW,OAAAiF,OAAAjF,OAAAI,IAAAJ,QAAAQ,IAAAR,QAAAS,IAAAT,QAAAW,OAAA2P,SAAAtQ,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAA+V,UAAA/V,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAgW,aAAAhW,EAAA,CAAA,GAAAyV,WAAAzV,EAAA,CAAA,GAAAiW,SAAAjW,EAAA,CAAA,GAAAiF,QAAAjF,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,EAAA,GAAAS,KAAAT,EAAA,EAAA,GAAAW,KAAAX,EAAA,EAAA;AAbe,QAAAoW,YAAAhW,OAAiBG,cAAjBH,IACAiW,YAAA7V,OAAiBD,cAAjBC,IAItBgO,SAAA/N,OAAUF,aAAVE,IAMM6V,WAAA3V,OAAoBJ,SAAT,YAAXI,IAIRsO,KAAW+B,QAAAA,mBAAmBV,MAAM,IAAIA,SAAS,OAEjDiG,SAAeV,QAAQ,GAGfpU,KAAA8U,QAAMlW,QAAU,WACdyO,KAAAyH,QAAMjW,UAAY;AAAOyO,MAAAA;AAAA/O,IAAAyB,EAAAA,MAAAA,MAAAzB,UAAA8O,MAFnBC,KAAA;AAAA,IAAA1O,MACRoB;AAAAA,IAAyBnB,QACvBwO;AAAAA,EACT9O,GAAAA,QAAAyB,IAAAzB,QAAA8O,IAAA9O,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA;AAHD,QAAAU,UAAgBqO,IAKhB1O,OAAaiW,aAAa,YAAY5V,QAAOL,OAAQiW,UACrDhW,SAAe0V,eAAUzV,SAAiBG,QAAOJ,SAAU0V,YAU3CxG,KAAAlP,WAAWI,QAAOJ,SAAOC,SAAeD;AAAMqP,MAAAA;AAAA3P,IAAA,EAAA,MAAAuM,aAAAvM,EAAAiW,EAAAA,MAAAA,UAAAjW,EAAAwP,EAAAA,MAAAA,MAAAxP,UAAAK,QAH/CsP,KAAAF,IAAAA,kBACTlD,WACAjK,SAAA;AAAA,IAAAhC,QACUkP;AAAAA,IAA8CyG;AAAAA,IAAA5V;AAAAA,EAAAA,CAGvD,CACH,GAACL,QAAAuM,WAAAvM,QAAAiW,QAAAjW,QAAAwP,IAAAxP,QAAAK,MAAAL,QAAA2P,MAAAA,KAAA3P,EAAA,EAAA;AACe,QAAAwR,KAAA4E,YAAY,KAAE7V,QACboR,MAAA0E,YAAY,KAAE9V,QACjBqR,MAAAmE,UAAU,KAAExV,QACXuR,MAAA2D,WAAW,KAAElV;AAAYwR,MAAAA;AAAA/R,IAAAiP,EAAAA,MAAAA,MAAAjP,UAAAwO,UAAAxO,EAAA,EAAA,MAAAmH,OAAAnH,UAAAyO,aAAAzO,EAAAiF,EAAAA,MAAAA,SAAAjF,UAAA2R,OAAA3R,EAAA,EAAA,MAAA4R,OAAA5R,EAAA8R,EAAAA,MAAAA,OAAA9R,EAAA,EAAA,MAAA2P,MAAA3P,UAAAwR,MAf1CO,MAACnR,2BAAAA,IAAA,KAAA,EACS,WAAA,QAAM,GACV6N,WACAQ,IACO,WAAAU,IAQK,kBAAA6B,IACC,mBAAAG,KACH,gBAAAC,KACC,iBAAAE,KACPtD,QACHrH,KACElC,MACP,CAAA,GAAAjF,QAAAiP,IAAAjP,QAAAwO,QAAAxO,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAiF,OAAAjF,QAAA2R,KAAA3R,QAAA4R,KAAA5R,QAAA8R,KAAA9R,QAAA2P,IAAA3P,QAAAwR,IAAAxR,QAAA+R,OAAAA,MAAA/R,EAAA,EAAA;AApBJ,MAAA+D,OACEgO;AAoBD,MAEGzR,WAAWI,QAAOJ,UAAWD,SAASK,QAAOL;AACxC0D,WAAAA;AAKY,QAAAkO,MAAAsE,QAAMC,iBAGjBtE,MAAA7R,QAAQK,QAAOL;AAAK+R,MAAAA;AAAApS,MAAAA,EAAA,EAAA,MAAA+D,QAAA/D,EAAAM,EAAAA,MAAAA,UAAAN,EAAAiS,EAAAA,MAAAA,OAAAjS,UAAAkS,OAJ5BE,MAACxR,+BAAA,cAAA,EACkB,iBAAAqR,KACP,UAAA,IACF3R,QACF,MAAA4R,KAELnO,UAAAA,KACH,CAAA,GAAe/D,QAAA+D,MAAA/D,QAAAM,QAAAN,QAAAiS,KAAAjS,QAAAkS,KAAAlS,QAAAoS,OAAAA,MAAApS,EAAA,EAAA,GARjB+D,OACEA,KAUEwS,QAAMC,iBAAA;AAIAnE,UAAAA,MAAAhS,QAAQK,QAAOL;AAAKiS,QAAAA;AAAAtS,WAAAA,EAAA+D,EAAAA,MAAAA,QAAA/D,UAAAuW,OAAAC,mBAAAxW,EAAAM,EAAAA,MAAAA,UAAAN,UAAAqS,OAHrBC,MAAAmE,MAAAA,cAAcF,OAAMC,iBAAA;AAAA,MAAAtW,UACf6D;AAAAA,MAAIzD;AAAAA,MAAAD,MAERgS;AAAAA,IACP,CAAA,GAACrS,QAAA+D,MAAA/D,EAAA,EAAA,IAAAuW,OAAAC,iBAAAxW,QAAAM,QAAAN,QAAAqS,KAAArS,QAAAsS,OAAAA,MAAAtS,EAAA,EAAA,GAJKsS;AAAAA,EAAAA;AAOFvO,SAAAA;AAAI,CACZ;AAED+R,KAAKnU,cAAc;ACjGZ,MAAM+U,WAAW5K,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAA2W,SAAArK,WAAAnF,gBAAA6N,UAAA4B,eAAAC,UAAArI,WAAAxJ;AAAAjF,WAAAD,SAIjC;AAAA,IAAA6W;AAAAA,IAAArK;AAAAA,IAAA0I;AAAAA,IAAA4B;AAAAA,IAAAzP;AAAAA,IAAA0P;AAAAA,IAAA7R;AAAAA,IAAA,GAAAwJ;AAAAA,EASI1O,IAAAA,OAAKC,OAAAD,OAAAC,OAAA4W,SAAA5W,OAAAuM,WAAAvM,OAAAoH,gBAAApH,OAAAiV,UAAAjV,OAAA6W,eAAA7W,OAAA8W,UAAA9W,OAAAyO,WAAAzO,OAAAiF,UAAA2R,UAAA5W,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAoH,iBAAApH,EAAA,CAAA,GAAAiV,WAAAjV,EAAA,CAAA,GAAA6W,gBAAA7W,EAAA,CAAA,GAAA8W,WAAA9W,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAiF,QAAAjF,EAAA,CAAA;AAETmH,QAAAA,MAAY4P,aAAA,IAAoC;AAAC3W,MAAAA;AAAAJ,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KAI/CU,KAAAA,MAAM+G,IAAGE,SAAQrH,OAAAI,MAAAA,KAAAJ,EAAA,CAAA,GAFnBgX,MAAAA,oBACEL,cACAvW,EACF;AAAC,MAAAI,IAAAC;AAAAT,YAAA6W,iBAESrW,KAAAA,MAAA;AACJ2G,QAAGE,YAELF,IAAGE,QAAAwP,gBAAyBA,iBAAsB;AAAA,EAEnDpW,GAAAA,MAACoW,aAAa,GAAC7W,QAAA6W,eAAA7W,QAAAQ,IAAAR,QAAAS,OAAAD,KAAAR,EAAA,EAAA,GAAAS,KAAAT,EAAA,EAAA,IALlBgH,MAAAA,UAAUxG,IAKPC,EAAe,GAElByG,kBAAkBC,KAAKC,cAAc;AAACzG,MAAAA;AAAAX,YAAAuM,aAGnB5L,KAAA8O,IAAAA,kBAAkBlD,WAAW0K,cAAU,GAACjX,QAAAuM,WAAAvM,QAAAW,MAAAA,KAAAX,EAAA,EAAA;AAAAyB,MAAAA;AAAAzB,YAAAuM,aAI1C9K,KAAAgO,IAAAA,kBAAkBlD,WAAW2K,mBAAe,GAAClX,QAAAuM,WAAAvM,QAAAyB,MAAAA,KAAAzB,EAAA,EAAA;AACzC,QAAA8O,KAAAmG,WAAW,KAAE1U,QACZwO,MAACkG,YAAY6B,WAAW,KAAEvW,QAC9BiP,KAAApI,iBAAiB,KAAE7G,QACrBoP,KAAAsF,YAAY6B;AAAQtF,MAAAA;AAAAxR,IAAA,EAAA,MAAA4W,WAAA5W,EAAA,EAAA,MAAA8W,YAAA9W,EAAA,EAAA,MAAAyO,aAAAzO,EAAAyB,EAAAA,MAAAA,MAAAzB,EAAA8O,EAAAA,MAAAA,MAAA9O,EAAA+O,EAAAA,MAAAA,MAAA/O,EAAAwP,EAAAA,MAAAA,MAAAxP,UAAA2P,MAPhC6B,oCAAA,SACM/C,EAAAA,GAAAA,WACKmI,SACE,WAAAnV,IACI,iBAAAqN,IACC,kBAAAC,IACJ,cAAAS,IACF,UAAAG,IACL,MAAA,YACKmH,UACL3P,KACL,GAAAnH,QAAA4W,SAAA5W,QAAA8W,UAAA9W,QAAAyO,WAAAzO,QAAAyB,IAAAzB,QAAA8O,IAAA9O,QAAA+O,IAAA/O,QAAAwP,IAAAxP,QAAA2P,IAAA3P,QAAAwR,MAAAA,KAAAxR,EAAA,EAAA;AAAA2R,MAAAA;AAAA3R,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KACFiS,MAAAwC,2BAAA,KAAA,QACE,EAAA,UAAA;AAAA,IAAAvT,2BAAA,IAACuW;mCACAC,MACH,YAAA,CAAA,CAAA;AAAA,EAAA,EAAA,CAAA,GAAOpX,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA;AAAA4R,MAAAA;AAAA,SAAA5R,EAAAiF,EAAAA,MAAAA,SAAAjF,UAAAW,MAAAX,EAAA,EAAA,MAAAwR,MAhBTI,MAAAuC,2BAAAA,KAAA,QAAA,EAAiB,WAAAxT,IAAkD,WAAA,YAAkBsE,OACnFuM,UAAAA;AAAAA,IAAAA;AAAAA,IAYAG;AAAAA,EAAAA,GAIF,GAAO3R,QAAAiF,OAAAjF,QAAAW,IAAAX,QAAAwR,IAAAxR,QAAA4R,OAAAA,MAAA5R,EAAA,EAAA,GAjBP4R;AAiBO,CAEV;AAED8E,SAAS/U,cAAc;ACpEvB,MAAM0V,gBAAgBC,MAAAA,KAAK,MAAM,QAAO,QAAA,EAAA,KAAA,WAAA;AAAA,SAAA,QAAA,gBAAa;EAAC,GAczCC,OAAOzL,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAC,UAAAqM,WAAAiL,cAAA/I,WAAArO,IAAAI,IAAAwP;AAAAhQ,WAAAD,SAI7B;AAAA,IAAAkP,IAAA7O;AAAAA,IAAAF;AAAAA,IAAAqM;AAAAA,IAAAkL,UAAAD;AAAAA,IAAA3N,MAAArJ;AAAAA,IAAAwP;AAAAA,IAAA,GAAAvB;AAAAA,EAQI1O,IAAAA,OAAKC,OAAAD,OAAAC,OAAAE,UAAAF,OAAAuM,WAAAvM,OAAAwX,cAAAxX,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,IAAAR,OAAAgQ,WAAA9P,WAAAF,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAwX,eAAAxX,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA,GAAAgQ,SAAAhQ,EAAA,CAAA;AAPH,QAAAuP,KAAAnP,OAAUG,SAAL,QAALH,IAIJyJ,QAAArJ,OAAQD,aAARC,IAIFiX,WAAiB,OAAOD,gBAAiB,WAAWA,eAAYjX;AAAYE,MAAAA;AAAAT,IAAAuM,CAAAA,MAAAA,aAAAvM,SAAA6J,SAAA7J,EAAA,EAAA,MAAAgQ,UAM7DvP,KAAAgP,IAAAA,kBAAkBlD,WAAWmL,IAAAA,KAAA;AAAA,IAAA7N,MAAAA;AAAAA,IAAAmG;AAAAA,EAAAA,CAAmB,CAAC,GAAChQ,OAAAuM,WAAAvM,OAAA6J,OAAA7J,QAAAgQ,QAAAhQ,QAAAS,MAAAA,KAAAT,EAAA,EAAA;AAAAW,MAAAA;AAAAX,YAAAE,YAGzCS,KAAuBC,2BAAAA,IAAA,UAAT,UAAE,GAAOZ,QAAAE,UAAAF,QAAAW,MAAAA,KAAAX,EAAA,EAAA;AAAAyB,MAAAA;AAAAzB,IAAAE,EAAAA,MAAAA,YAAAF,UAAAyX,YACzChW,KAACb,2BAAAA,IAAA,eAAwB6W,EAAAA,UAAiBvX,OAAO,SAAA,CAAK,GAAAF,QAAAE,UAAAF,QAAAyX,UAAAzX,QAAAyB,MAAAA,KAAAzB,EAAA,EAAA;AAAA8O,MAAAA;AAAA9O,IAAAW,EAAAA,MAAAA,MAAAX,UAAAyB,MADxDqN,KAAClO,2BAAA,IAAA+W,MAAmB,UAAA,EAAA,UAAAhX,IAClBc,UAAAA,IACF,GAAWzB,QAAAW,IAAAX,QAAAyB,IAAAzB,QAAA8O,MAAAA,KAAA9O,EAAA,EAAA;AAAA+O,MAAAA;AAAA/O,SAAAA,EAAAuP,EAAAA,MAAAA,MAAAvP,EAAA,EAAA,MAAAmH,OAAAnH,EAAAyO,EAAAA,MAAAA,aAAAzO,EAAA,EAAA,MAAAS,MAAAT,UAAA8O,MARbC,KAACnO,2BAAA,IAAA,IAAA,EACS,WAAA,QACJ6N,GAAAA,WACO,WAAAhO,IACN0G,KAEL2H,UAAAA,GAAAA,CAGF,GAAK9O,QAAAuP,IAAAvP,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAS,IAAAT,QAAA8O,IAAA9O,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA,GATL+O;AASK,CAER;AAEDwI,KAAK5V,cAAc;AChCZ,MAAMiW,YAAY9L,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAAgP,MAAAA,IAAA1C,WAAAkC,WAAArO,IAAAI;AAAAR,WAAAD,SAIlC;AAAA,IAAAkP;AAAAA,IAAA1C;AAAAA,IAAA+C,QAAAlP;AAAAA,IAAAgI,OAAA5H;AAAAA,IAAA,GAAAiO;AAAAA,EAAAA,IAAoE1O,OAAKC,OAAAD,OAAAC,OAAAiP,IAAAjP,OAAAuM,WAAAvM,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,OAAAyO,KAAAjP,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA;AAAnDsP,QAAAA,SAAAlP,OAAiBG,SAAR,WAATH,IAAmBgI,QAAA5H,OAASD,aAATC;AAASC,MAAAA;AAAAT,IAAAuM,CAAAA,MAAAA,aAAAvM,SAAAoI,SAOnC3H,KAAAgP,sBAAkBlD,WAAWsL,IAAAA,UAAA;AAAA,IAAAzP;AAAAA,EAAAA,CAAiB,CAAC,GAACpI,OAAAuM,WAAAvM,OAAAoI,OAAApI,OAAAS,MAAAA,KAAAT,EAAA,CAAA;AAAAW,MAAAA;AAAA,SAAAX,EAAAiP,CAAAA,MAAAA,MAAAjP,EAAA,EAAA,MAAAmH,OAAAnH,EAAAyO,EAAAA,MAAAA,aAAAzO,EAAA,EAAA,MAAAsP,UAAAtP,UAAAS,MAJ7DE,KAACC,2BAAA,IAAA,KACS,EAAA,WAAA,aACJ6N,GAAAA,WACAQ,IACO,WAAAxO,IACN0G,KACGmI,OAAAA,CACR,GAAAtP,OAAAiP,IAAAjP,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAsP,QAAAtP,QAAAS,IAAAT,QAAAW,MAAAA,KAAAX,EAAA,EAAA,GAPFW;AAOE,CAEL;AAEDiX,UAAUjW,cAAc;ACjBjB,MAAMmW,OAAOhM,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,CAAA;AAAA,MAAAgP,IAAAR,WAAArO;AAAAJ,WAAAD,SAI7B;AAAA,IAAAkP;AAAAA,IAAArC,WAAAxM;AAAAA,IAAA,GAAAqO;AAAAA,EAA8C1O,IAAAA,OAAKC,OAAAD,OAAAC,OAAAiP,IAAAjP,OAAAyO,WAAAzO,OAAAI,OAAA6O,KAAAjP,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA;AAAxC4M,QAAAA,YAAAxM,OAAiBG,SAAL,QAAZH;AAAiBI,MAAAA;AAAAR,SAAAA,EAAA,CAAA,MAAAiP,MAAAjP,EAAA4M,CAAAA,MAAAA,aAAA5M,EAAAmH,CAAAA,MAAAA,OAAAnH,SAAAyO,aAG1BjO,KAACI,2BAAAA,IAAA,KAAA,EAAY,WAAA,QAAM,GAAK6N,WAAeQ,IAAerC,WAAmB,SAAA,QAAYzF,IAAO,CAAA,GAAAnH,OAAAiP,IAAAjP,OAAA4M,WAAA5M,OAAAmH,KAAAnH,OAAAyO,WAAAzO,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAA5FQ;AAA4F,CAE/F;AAEDsX,KAAKnW,cAAc;ACZZ,MAAMoW,OAAOjM,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,CAAA;AAAA,MAAAgP,IAAA/O,UAAAuO;AAAAzO,WAAAD,SAI7B;AAAA,IAAAkP;AAAAA,IAAA/O;AAAAA,IAAA,GAAAuO;AAAAA,EAAqC1O,IAAAA,OAAKC,OAAAD,OAAAC,OAAAiP,IAAAjP,OAAAE,UAAAF,OAAAyO,cAAAQ,KAAAjP,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA;AAAAI,MAAAA;AAAAJ,SAAAA,EAAA,CAAA,MAAAiP,MAAAjP,EAAAE,CAAAA,MAAAA,YAAAF,EAAAmH,CAAAA,MAAAA,OAAAnH,SAAAyO,aAGxCrO,KAACQ,2BAAAA,IAAA,KAAA,EAAY,WAAA,QAAM,GAAK6N,WAAeQ,IAAY,SAAA,QAAY9H,KACrD,SACV,CAAA,GAAMnH,OAAAiP,IAAAjP,OAAAE,UAAAF,OAAAmH,KAAAnH,OAAAyO,WAAAzO,OAAAI,MAAAA,KAAAJ,EAAA,CAAA,GAFNI;AAEM,CAET;AAED2X,KAAKpW,cAAc;ACRZ,MAAMqW,UAAUlM,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA8L,MAAAA,OAAA7L,UAAAqM,WAAAM,MAAA4B,WAAArO,IAAAI,IAAAC,IAAAE,IAAAmP,kBAAAE;AAAAhQ,WAAAD,SAIhC;AAAA,IAAA8P,QAAAzP;AAAAA,IAAA2L;AAAAA,IAAAkD,IAAAzO;AAAAA,IAAAN;AAAAA,IAAAqM;AAAAA,IAAAM;AAAAA,IAAAiB,OAAArN;AAAAA,IAAAoJ,MAAAlJ;AAAAA,IAAAoP,cAAAD;AAAAA,IAAAE;AAAAA,IAAA,GAAAvB;AAAAA,EAAAA,IAYI1O,OAAKC,OAAAD,OAAAC,OAAA+L,OAAA/L,OAAAE,UAAAF,OAAAuM,WAAAvM,OAAA6M,MAAA7M,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,IAAAR,OAAAS,IAAAT,OAAAW,IAAAX,QAAA8P,kBAAA9P,QAAAgQ,WAAAjE,QAAA/L,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAA6M,OAAA7M,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA,GAAAS,KAAAT,EAAA,CAAA,GAAAW,KAAAX,EAAA,CAAA,GAAA8P,mBAAA9P,EAAA,EAAA,GAAAgQ,SAAAhQ,EAAA,EAAA;AAXP,QAAA6P,SAAAzP,OAAcG,cAAdH,IAEImP,KAAA/O,OAAUD,SAAL,QAALC,IAIJsN,QAAArN,OAAaF,cAAbE,IACAoJ,QAAAlJ,OAAQJ,aAARI;AAAQc,MAAAA;AAAAzB,IAAA6P,EAAAA,MAAAA,UAAA7P,EAAA+L,EAAAA,MAAAA,SAAA/L,EAAAuM,EAAAA,MAAAA,aAAAvM,UAAA6M,QAAA7M,EAAA,EAAA,MAAA8N,SAAA9N,EAAA,EAAA,MAAA6J,SAAA7J,EAAA,EAAA,MAAAgQ,UAUKvO,KAAAgO,IAAAA,kBACTlD,WACA0L,IAAAA,QAAA;AAAA,IAAApI;AAAAA,IAAA9D;AAAAA,IAAAc;AAAAA,IAAAiB;AAAAA,IAAAjE,MAAAA;AAAAA,IAAAmG;AAAAA,EAAAA,CAOC,CACH,GAAChQ,QAAA6P,QAAA7P,QAAA+L,OAAA/L,QAAAuM,WAAAvM,QAAA6M,MAAA7M,QAAA8N,OAAA9N,QAAA6J,OAAA7J,QAAAgQ,QAAAhQ,QAAAyB,MAAAA,KAAAzB,EAAA,EAAA;AAAA8O,MAAAA;AAAA9O,YAAA8P,oBAGgBhB,KAAAiB,IAAAA,aAAA;AAAA,IAAAA,cAA4BD;AAAAA,EAAiB,CAAA,GAAC9P,QAAA8P,kBAAA9P,QAAA8O,MAAAA,KAAA9O,EAAA,EAAA;AAAA+O,MAAAA;AAAA/O,IAAAE,EAAAA,MAAAA,YAAAF,UAAA8O,MAA/DC,KAAAnO,2BAAAA,IAAA,QAAiB,EAAA,WAAAkO,IAAiD5O,SAAAA,CAAS,GAAOF,QAAAE,UAAAF,QAAA8O,IAAA9O,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA;AAAAwP,MAAAA;AAAAxP,SAAAA,EAAAuP,EAAAA,MAAAA,MAAAvP,EAAA,EAAA,MAAAmH,OAAAnH,EAAAyO,EAAAA,MAAAA,aAAAzO,EAAA,EAAA,MAAAyB,MAAAzB,UAAA+O,MAhBpFS,KAAC5O,2BAAA,IAAA,IAAA,EACS,WAAA,WACJ6N,GAAAA,WACO,WAAAhN,IAWN0F,KAEL4H,UAAAA,GAAAA,CACF,GAAK/O,QAAAuP,IAAAvP,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAyB,IAAAzB,QAAA+O,IAAA/O,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GAjBLwP;AAiBK,CAER;AAEDwI,QAAQrW,cAAc;ACzCf,MAAMuW,SAASpM,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAgP,IAAA8D,cAAAjG,KAAAC,MAAAC,MAAAyB,WAAAyG;AAAAlV,WAAAD,SAI/B;AAAA,IAAAkP;AAAAA,IAAA/O,UAAA6S;AAAAA,IAAAjG;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAkI;AAAAA,IAAA,GAAAzG;AAAAA,EAA2E1O,IAAAA,OAAKC,OAAAD,OAAAC,OAAAiP,IAAAjP,OAAA+S,cAAA/S,OAAA8M,KAAA9M,OAAA+M,MAAA/M,OAAAgN,MAAAhN,OAAAyO,WAAAzO,OAAAkV,UAAAjG,KAAAjP,EAAA,CAAA,GAAA+S,eAAA/S,EAAA,CAAA,GAAA8M,MAAA9M,EAAA,CAAA,GAAA+M,OAAA/M,EAAA,CAAA,GAAAgN,OAAAhN,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAkV,QAAAlV,EAAA,CAAA;AAAA,MAAAI,IAAAI;AAAAR,WAAA+S,gBAGxEvS,KAAA0S,MAAAzB,SAAAA,IAAasB,cAAY7M,OAAwD,GAAClG,OAAA+S,cAAA/S,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAAAI,KAAlFI;AADRN,QAAAA,WAAiBE,IAYRK,KAAAqM,OAAOoI;AAAKvU,MAAAA;AAAA,SAAAX,EAAAiP,EAAAA,MAAAA,MAAAjP,EAAAE,EAAAA,MAAAA,YAAAF,EAAA+M,EAAAA,MAAAA,QAAA/M,UAAAgN,QAAAhN,EAAA,EAAA,MAAAmH,OAAAnH,EAAA,EAAA,MAAAyO,aAAAzO,EAAA,EAAA,MAAAS,MANnBE,KAACC,2BAAA,IAAA,KAAA,EACS,WAAA,UAAQ,GACZ6N,WACE,OAAA,UACFQ,IACI,SAAA,QACH,KAAAxO,IACCsM,MACAC,MACD7F,KACA,MAAA,QAEG,UACV,GAAMnH,QAAAiP,IAAAjP,QAAAE,UAAAF,QAAA+M,MAAA/M,QAAAgN,MAAAhN,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAS,IAAAT,QAAAW,MAAAA,KAAAX,EAAA,EAAA,GAbNW;AAaM,CAET;AAEDuX,OAAOvW,cAAc;AA7BY,SAAAuE,QAAA6N,OAAA;AAAA,SAOeA,SAASnT,2BAAA,IAAC,KAAa,EAAA,UAAA,QAAQmT,UAAM,OAAA;AAAM;ACNpF,MAAMoE,MAAMrM,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAC,UAAAqM,WAAAkC,WAAArO,IAAAI,IAAAC,IAAAE,IAAAc;AAAAzB,WAAAD,SAI5B;AAAA,IAAAkP,IAAA7O;AAAAA,IAAAF;AAAAA,IAAAqM;AAAAA,IAAA2C,SAAA1O;AAAAA,IAAAoS,UAAAnS;AAAAA,IAAA4O,SAAA1O;AAAAA,IAAA6N,QAAA/M;AAAAA,IAAA,GAAAgN;AAAAA,EASI1O,IAAAA,OAAKC,OAAAD,OAAAC,OAAAE,UAAAF,OAAAuM,WAAAvM,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,IAAAR,OAAAS,IAAAT,OAAAW,IAAAX,OAAAyB,OAAAvB,WAAAF,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA,GAAAS,KAAAT,EAAA,CAAA,GAAAW,KAAAX,EAAA,CAAA,GAAAyB,KAAAzB,EAAA,CAAA;AARPiP,QAAAA,KAAA7O,OAAUG,SAAL,QAALH,IAGA8O,UAAA1O,OAAwBD,SAAd,iBAAVC,IACAoS,WAAAnS,OAAYF,aAAZE,IACA4O,UAAA1O,OAAWJ,aAAXI,IACA6N,SAAA/M,OAAUlB,aAAVkB;AAAUqN,MAAAA;AAAA9O,IAAAuM,CAAAA,MAAAA,aAAAvM,UAAAwO,UASGM,KAAAW,sBAAkBlD,WAAW6L,IAAAA,IAAA;AAAA,IAAA5J;AAAAA,EAAAA,CAAY,CAAC,GAACxO,OAAAuM,WAAAvM,QAAAwO,QAAAxO,QAAA8O,MAAAA,KAAA9O,EAAA,EAAA;AAAA+O,MAAAA;AAAA/O,IAAAE,EAAAA,MAAAA,YAAAF,UAAA4S,YAMtD7D,oCAAC,MAAQ,EAAA,IAAA,QAAO,OAAA,IAAY6D,MAAAA,UAAiB,QAAA,YACnC,UACV,GAAO5S,QAAAE,UAAAF,QAAA4S,UAAA5S,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA;AAAAwP,MAAAA;AAAA,SAAAxP,EAAAiP,EAAAA,MAAAA,MAAAjP,EAAAkP,EAAAA,MAAAA,WAAAlP,EAAAqP,EAAAA,MAAAA,WAAArP,UAAAmH,OAAAnH,EAAA,EAAA,MAAAyO,aAAAzO,EAAA,EAAA,MAAA8O,MAAA9O,EAAA,EAAA,MAAA+O,MAZTS,KAAC5O,+BAAA,KAAA,EACS,WAAA,OAAK,GACT6N,WACAQ,IACO,WAAAH,IACFI,SACT,OAAA,IACSG,SACJlI,KAEL4H,UAGF,GAAA,CAAA,GAAM/O,QAAAiP,IAAAjP,QAAAkP,SAAAlP,QAAAqP,SAAArP,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAA8O,IAAA9O,QAAA+O,IAAA/O,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GAbNwP;AAaM,CAET;AAED2I,IAAIxW,cAAc;AC3CX,MAAM0W,SAAqB;AAAA,EAChCC,MAAM;AAAA,EACNC,GAAG;AAAA,IAACC;AAAAA,IAAgBC;AAAAA,IAAWC;AAAAA,EAAAA,GAAQ;AAC/B,UAAA,CAACC,IAAI,IAAIF,UAAUG,MAAM,GAAG,GAE5BC,gBAAgBH,MAAMI,SAAS1Q,OAC/B2Q,iBAAiBL,MAAMI,SAASvQ,QAEhCyQ,SAASR,eAAeS,OAAOC,KAAK,GACpCC,SAASX,eAAeS,OAAOG,KAAK;AAEtCP,QAAAA,iBAAiB,KAAKE,kBAAkB;AAC1C,aAAO,CAAC;AAGV,UAAMM,sBAAsB,CAAC,UAAU,KAAK,EAAEjU,SAASuT,IAAI,GAErD;AAAA,MAACW;AAAAA,MAASC;AAAAA,QAA+CF,sBAC3D;AAAA,MACEC,SAASE,MAAM,MAAMR,SAASH,eAAe,GAAG,CAAC;AAAA,MACjDU,SAASZ,SAAS,WAAW,IAAI;AAAA,IAAA,IAEnC;AAAA,MACEW,SAASX,SAAS,SAAS,IAAI;AAAA,MAC/BY,SAASC,MAAM,MAAML,SAASJ,gBAAgB,GAAG,CAAC;AAAA,IACpD;AAEG,WAAA;AAAA,MACLU,MAAM;AAAA,QAACH;AAAAA,QAASC;AAAAA,MAAAA;AAAAA,IAClB;AAAA,EAAA;AAEJ;AAEA,SAASC,MAAME,KAAaC,KAAapG,KAAa;AACpD,SAAOD,KAAKqG,IAAIrG,KAAKC,IAAImG,KAAKC,GAAG,GAAGpG,GAAG;AACzC;ACxBA,SAASqG,kBAAkBC,aAAoBC,aAAoBC,QAAgB;AACjF,QAAM3R,QAAQ0R,YAAYZ,IAAIW,YAAYX,GACpC3Q,SAASuR,YAAYV,IAAIS,YAAYT,GAErCY,WAAW1G,KAAK2G,KAAK7R,QAAQA,QAAQG,SAASA,MAAM;AAEnD2R,SAAAA,sBAAsBL,aAAaC,aAAaxG,KAAKqG,IAAI,GAAGI,SAASC,QAAQ,CAAC;AACvF;AAEA,SAASE,sBAAsBL,aAAoBC,aAAoBK,UAAyB;AACvF,SAAA;AAAA,IACLjB,GAAGW,YAAYX,KAAKY,YAAYZ,IAAIW,YAAYX,KAAKiB;AAAAA,IACrDf,GAAGS,YAAYT,KAAKU,YAAYV,IAAIS,YAAYT,KAAKe;AAAAA,EACvD;AACF;AAEO,SAASC,mBAAmBC,QAAwB;AACzD,QAAM7G,MAAM6G,OAAO1Q,QAEb2Q,OAAc,CAAE;AAEtB,WAASC,IAAI,GAAGA,IAAI/G,KAAK+G,KAAK,GAAG;AAC/B,UAAMC,QAAQH,OAAOE,CAAC,GAChBE,YAAYJ,OAAOE,IAAI,CAAC,GACxBG,YAAYL,OAAOE,IAAI,CAAC;AAE1BE,QAAAA,aAAaD,MAAMhM,QAAQ;AACvBmM,YAAAA,aAAaf,kBAAkBY,OAAOC,WAAWD,MAAMhM,MAAM,GAC7DoM,WAAWhB,kBAAkBY,OAAOE,WAAWF,MAAMhM,MAAM,GAC3DqM,eAAeX,sBAAsBS,YAAYH,OAAO,GAAG,GAC3DM,aAAaZ,sBAAsBM,OAAOI,UAAU,GAAG;AAE7DN,WAAK/Q,KAAK;AAAA,QACRpG,MAAM;AAAA,QACN,GAAGwX;AAAAA,MAAAA,CACJ,GAEDL,KAAK/Q,KAAK;AAAA,QACRpG,MAAM;AAAA,QACNyX;AAAAA,QACAC;AAAAA,QACAC;AAAAA,MAAAA,CACD;AAAA,IACH;AACER,WAAK/Q,KAAK;AAAA,QACRpG,MAAM;AAAA,QACN,GAAGqX;AAAAA,MAAAA,CACJ;AAAA,EAAA;AAIEF,SAAAA;AACT;AAEO,SAASS,gBAAgBT,MAAqB;AAC5CA,SAAAA,KACJ7I,IAAI,CAACuJ,GAAGxR,QACHwR,EAAE7X,SAAS,UACN,GAAGqG,QAAQ,IAAI,MAAM,GAAG,IAAIwR,EAAE9B,CAAC,IAAI8B,EAAE5B,CAAC,KAG3C4B,EAAE7X,SAAS,UACN,KAAK6X,EAAEH,aAAa3B,CAAC,IAAI8B,EAAEH,aAAazB,CAAC,IAAI4B,EAAEF,WAAW5B,CAAC,IAAI8B,EAAEF,WAAW1B,CAAC,IAAI4B,EAAEJ,SAAS1B,CAAC,IAAI8B,EAAEJ,SAASxB,CAAC,KAG/G,EACR,EACA6B,KAAK,GAAG;AACb;ACnFO,MAAMC,QAAQpP,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAAkb,MAAAA,GAAA1M,WAAAxJ,OAAA7E,IAAAgb;AAAApb,WAAAD,SAI9B;AAAA,IAAAqI,OAAAgT;AAAAA,IAAA7S,QAAA4S;AAAAA,IAAA3M,QAAApO;AAAAA,IAAA6E;AAAAA,IAAA,GAAAwJ;AAAAA,EAAAA,IAA+D1O,OAAKC,OAAAD,OAAAC,OAAAmb,GAAAnb,OAAAyO,WAAAzO,OAAAiF,OAAAjF,OAAAI,IAAAJ,OAAAob,MAAAD,IAAAnb,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAiF,QAAAjF,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAob,IAAApb,EAAA,CAAA;AAAxC,QAAAwO,SAAApO,OAAUG,aAAVH,IAE5Bib,SAAeD,IAAK;AAAA5a,MAAAA;AAGlB,QAAA6Z,SAAA,CAAA;AAAA,IAAAnB,GAAA;AAAA,IAAAE,GAAA;AAAA,EAAA,GAAA;AAAA,IAAAF,GAEM1K;AAAAA,IAAM4K,GAAA;AAAA,IAAA5K;AAAAA,EAAAA,GAAA;AAAA,IAAA0K,GACNmC;AAAAA,IAAMjC,GAAK+B,IAAK;AAAA,IAAA3M;AAAAA,EAAAA,GAAA;AAAA,IAAA0K,GAChBkC,IAAI5M;AAAAA,IAAM4K,GAAA;AAAA,IAAA5K;AAAAA,EAAAA,GAAA;AAAA,IAAA0K,GACVkC;AAAAA,IAAChC,GAAA;AAAA,EAAA,CAAA,GAGPkB,OAAaF,mBAAmBC,MAAM;AAEtC7Z,OAAOua,gBAAgBT,IAAI;AAX7BgB,QAAAA,OAAa9a,IAcb+a,aAAmB,GAAGD,IAAI,IAC1BE,WAAiB,GAAGF,IAAI,MAAMF,CAAC;AAAc3a,MAAAA;AAAAT,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KAK9Be,KAAAgb,IAAO,OAAA,GAACzb,OAAAS,MAAAA,KAAAT,EAAA,CAAA;AAEeW,QAAAA,KAAGya,GAAAA,CAAC;AAAI3Z,MAAAA;AAAAzB,IAAAiF,CAAAA,MAAAA,SAAAjF,SAAAW,MAAnCc,KAAA;AAAA,IAAA,GAAIwD;AAAAA,IAAK,gBAAkBtE;AAAAA,EAASX,GAAAA,OAAAiF,OAAAjF,OAAAW,IAAAX,OAAAyB,MAAAA,KAAAzB,EAAA,CAAA;AAApC,QAAA8O,KAAArN,IAE4BsN,KAAA,OAAOqM,CAAC,IAAIA,CAAC;AAAE5L,MAAAA;AAAAxP,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAE7B8P,KAAAkM,IAAiB,iBAAA,GAAC1b,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA;AAAA2P,MAAAA;AAAA3P,YAAAob,KADrCzL,KAEO/O,2BAAA,IAAA,QAAA,EAFE,IAAA,eACP,UAAAA,2BAAA,IAAA,QAAA,EAAiB,WAAA4O,IAAuB,GAAC,GAAS4L,OAAA,GAAWA,QAAA,GAAQ,MAAA,QAAO,CAAA,EAAA,CAC9E,GAAOpb,QAAAob,GAAApb,QAAA2P,MAAAA,KAAA3P,EAAA,EAAA;AAAAwR,MAAAA;AAAAxR,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KACU8R,KAAAmK,IAAa,aAAA,GAAC3b,QAAAwR,MAAAA,KAAAxR,EAAA,EAAA;AAAA2R,MAAAA;AAAA3R,YAAAub,cAA/B5J,6CAAiB,EAAA,WAAAH,IAAmB+J,eAAiB,MAAA,qBAAsB,GAAAvb,QAAAub,YAAAvb,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA;AAAA4R,MAAAA;AAAA5R,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAC1DkS,MAAAgK,IAAY,YAAA,GAAC5b,QAAA4R,OAAAA,MAAA5R,EAAA,EAAA;AAAA8R,MAAAA;AAAA9R,YAAAwb,YAA9B1J,MAA+ClR,+BAAA,QAAA,EAA9B,WAAAgR,KAAkB4J,GAAO,UAAK,GAAAxb,QAAAwb,UAAAxb,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA;AAAA+R,MAAAA;AAAA/R,IAAA2R,EAAAA,MAAAA,OAAA3R,EAAA,EAAA,MAAA8R,OAAA9R,EAAA+O,EAAAA,MAAAA,MAAA/O,EAAA,EAAA,MAAA2P,MAAA3P,UAAAob,KALjDrJ,MAMMoC,2BAAAA,KAAA,OANMiH,EAAAA,OAAA,GAAWA,QAAAA,GAAY,SAAArM,IACjCY,UAAAA;AAAAA,IAAAA;AAAAA,IAGAgC;AAAAA,IACAG;AAAAA,EACF,EAAA,CAAA,GAAM9R,QAAA2R,KAAA3R,QAAA8R,KAAA9R,QAAA+O,IAAA/O,QAAA2P,IAAA3P,QAAAob,GAAApb,QAAA+R,OAAAA,MAAA/R,EAAA,EAAA;AAAAiS,MAAAA;AAAAjS,SAAAA,EAAA,EAAA,MAAAmH,OAAAnH,EAAAyO,EAAAA,MAAAA,aAAAzO,EAAA+R,EAAAA,MAAAA,OAAA/R,UAAA8O,MAZRmD,MAAArR,2BAAAA,IAAA,SACM6N,GAAAA,WACO,WAAAhO,IACN0G,KACE,OAAA2H,IAEPiD,UAOF,IAAA,CAAA,GAAM/R,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAA+R,KAAA/R,QAAA8O,IAAA9O,QAAAiS,OAAAA,MAAAjS,EAAA,EAAA,GAbNiS;AAaM,CAET;AAEDiJ,MAAMvZ,cAAc;AC/CPka,MAAAA,yBAAyBxc,0BACpC,sCACA,IACF;ACUO,SAAAyc,wBAAA/b,OAAA;AAAAC,QAAAA,IAAAC,uBAAA,CAAA,GACL;AAAA,IAAAC;AAAAA,IAAAyD;AAAAA,EAAAA,IAA4B5D;AAAK,MAAAK,IAAAI;AAAAR,WAAA2D,WACyBnD,KAAA;AAAA,IAAAY,SAAA;AAAA,IAAAuC;AAAAA,EAAuB3D,GAAAA,OAAA2D,SAAA3D,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAAAI,KAAvBI;AAA1D,QAAAqB,QAA2CzB;AAAmDK,MAAAA;AAAA,SAAAT,EAAAE,CAAAA,MAAAA,YAAAF,SAAA6B,SAEvFpB,KAAAG,2BAAA,IAAA,uBAAA,UAAA,EAAwCiB,OAAQ3B,SAAS,CAAA,GAAkCF,OAAAE,UAAAF,OAAA6B,OAAA7B,OAAAS,MAAAA,KAAAT,EAAA,CAAA,GAA3FS;AAA2F;AAGpGqb,wBAAwBna,cAAc;ACvB/B,SAASoa,SAASla,OAAkD;AAClE8E,SAAAA,CAAAA,EAAQ9E,SAAS,OAAOA,SAAU,YAAY,CAAC+C,MAAMC,QAAQhD,KAAK;AAC3E;ACIA,MAAMma,gBAA6C;AAAA,EACjD5a,SAAS;AAAA,EACTuC,SAAS;AACX;AAKO,SAAAsY,qBAAA;AACLpa,QAAAA,QAAcb,iBAAA6a,sBAAiC;AAAC,MAK5Cha,UAAU,CAACka,SAASla,KAAK,KAAKA,MAAKT,YAAA;AAAiBjC,UAAAA,IAAAA,MACtC,2DAA2D;AAAA,SAGtE0C,SAAKma;AAAiB;AClBxB,SAASE,mBAAmB;AAAA,EACjChc;AAAAA,EACAic;AAAAA,EACAC;AAKF,GAAc;AACPD,SAAAA,YAIEC,QAAQlc,QAAQ,IAHdA;AAIX;AAEAgc,mBAAmBva,cAAc;ACtBjB0a,SAAAA,mBAAmB5R,QAAiBrC,OAAyB;AAC3E,QAAMkU,MAAgB,CAAE;AAExB,WAAS/B,IAAI,GAAGA,IAAI9P,OAAMd,QAAQ4Q,KAAK;AAC1B9P,IAAAA,OAAM8P,CAAC,IAETnS,SACPkU,IAAI/S,KAAKgR,CAAC;AAIP+B,SAAAA;AACT;AAEgBC,SAAAA,mBAAmB9R,QAAiBrC,OAAyB;AAC3E,QAAMkU,MAAgB,CAAE;AAExB,WAAS/B,IAAI,GAAGA,IAAI9P,OAAMd,QAAQ4Q,KAAK;AAC1B9P,IAAAA,OAAM8P,CAAC,KAERnS,SACRkU,IAAI/S,KAAKgR,CAAC;AAIP+B,SAAAA;AACT;ACXA,MAAME,qBAAqBC,OAAOC,OAAOC,eAAW,GAMvCC,eAAe9Q,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAC,UAAA2c,WAAApO;AAAAzO,WAAAD,SAIrC;AAAA,IAAAG;AAAAA,IAAAuK,OAAAoS;AAAAA,IAAA,GAAApO;AAAAA,EAAmD1O,IAAAA,OAAKC,OAAAD,OAAAC,OAAAE,UAAAF,OAAA6c,WAAA7c,OAAAyO,cAAAvO,WAAAF,EAAA,CAAA,GAAA6c,YAAA7c,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA;AACxD,QAAA8c,cAAoBD,aAASL,oBAE7B,CAAA7Y,SAAAoZ,UAAA,IAA8BrX,MAAAA,aAAoC,GAClEsX,cAAoBpT,eAAejG,OAAO;AAACvD,MAAAA;AACf4c,OAAAA,aAAW7U,OAAAC,SAAApJ,OAAAie;AAAvC,QAAA7U,QAAchI;AAA4E,MAAAI,IAAAC;AAAA,MAAAT,EAAA8c,CAAAA,MAAAA,eAAA9c,SAAAoI,OAAA;AAGxF8U,UAAAA,KAAWb,mBAAmBS,aAAa1U,KAAK;AAEzC3H,SAAAyc,GAAEvT,SAAUuT,GAAEjC,KAAM,GAAG,IAAC1a,QAAYP,OAAA8c,aAAA9c,OAAAoI,OAAApI,OAAAS;AAAAA,EAAA;AAAAA,SAAAT,EAAA,CAAA;AAApCS,OAAAA;AAHT,QAAA8S,MAAY/S;AAIY,MAAAG,IAAAc;AAAA,MAAAzB,EAAA8c,CAAAA,MAAAA,eAAA9c,SAAAoI,OAAA;AAGtB+U,UAAAA,OAAWZ,mBAAmBO,aAAa1U,KAAK;AAEzC3G,SAAAyb,KAAEvT,SAAUuT,KAAEjC,KAAM,GAAG,IAAC1a,QAAYP,OAAA8c,aAAA9c,OAAAoI,OAAApI,OAAAyB;AAAAA,EAAA;AAAAA,SAAAzB,EAAA,CAAA;AAApCyB,OAAAA;AAHT,QAAAkY,MAAYhZ;AAIY,MAAAmO,IAAAC;AAAA/O,YAAA2D,WAEwDmL,KAAAA,MAAMnL,SAASoL,MAC7FpL,OAAO,GACR3D,QAAA2D,SAAA3D,QAAA8O,IAAA9O,QAAA+O,OAAAD,KAAA9O,EAAA,EAAA,GAAA+O,KAAA/O,EAAA,EAAA,IAFDgX,MAAkEL,oBAAAA,cAAc7H,IAAeC,EAE9F;AAACS,MAAAA;AAAAxP,SAAAA,EAAA,EAAA,MAAAE,YAAAF,EAAAuT,EAAAA,MAAAA,OAAAvT,EAAA2Z,EAAAA,MAAAA,OAAA3Z,UAAAyO,aAGAe,KAAA5O,2BAAA,IAAA,OAAA,EAAa,WAAA,gBAAmB6N,GAAAA,WAAwB8E,eAAAA,KAAkBoG,eAAAA,KAAUoD,KAAS,YAC1F7c,UACH,GAAMF,QAAAE,UAAAF,QAAAuT,KAAAvT,QAAA2Z,KAAA3Z,QAAAyO,WAAAzO,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GAFNwP;AAEM,CAET;AACDoN,aAAajb,cAAc;ACnDpB,SAASyb,gBAAgBC,cAAoD;AAIlF,MAAI,CAACtB,SAASsB,YAAY,KAAKA,aAAajc,YAAY;AAChD,UAAA,IAAIjC,MAAM,qCAAqC;AAGvD,MAAI,CAACke;AACG,UAAA,IAAIle,MAAM,uEAAuE;AAGzF,MAAIke,aAAajc,YAAY;AACpBic,WAAAA;AAGH,QAAA,IAAIle,MAAM,6BAA6B;AAC/C;ACjBame,MAAAA,eAAeje,0BAC1B,4BACA,IACF;ACYO,SAAAke,cAAAxd,OAAA;AAAAC,QAAAA,IAAAC,uBAAA,EAAA,GACL;AAAA,IAAAC;AAAAA,IAAAsd,SAAApd;AAAAA,EAAAA,IAA6CL,OAAnB0d,cAAArd,OAAeG,aAAfH,IAG1Bsd,qBAA2B1c,MAAAA,WAAAsc,YAAuB;AAAC9c,MAAAA;AAAAR,WAAA0d,sBACpCld,KAAAkd,sBAAsBN,gBAAgBM,kBAAkB,GAAC1d,OAAA0d,oBAAA1d,OAAAQ,MAAAA,KAAAR,EAAA,CAAA;AAAxE,QAAAuW,SAAe/V,IACfmd,sBAA4BpH,QAAMqH,eAIlCC,SAHoBtH,QAAMsH,SAAY,KAGT,GAG7BL,UAAgBlY,aAAamY,WAAW,GAGxCK,gBAAsBN,QAAO7T,SAAW,GACxCoU,aAAmBzK,KAAAqG,IAASlO,cAAiBqS,GAAAA,aAAa,GAC1DE,SAAezH,SAASA,OAAMyH,UAAWR,QAAQO,UAAU,KAAM,KAAKP,QAAQO,UAAU,KAAO;AAAAtd,MAAAA;AAAAT,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KAGnCe,KAAA,CAAA,GAAET,OAAAS,MAAAA,KAAAT,EAAA,CAAA;AAA9D,QAAA,CAAAie,EAAAA,cAAA,IAA2BvY,eAAiCjF,EAAE,GAG9D,CAAAoJ,OAAAC,OAAA,IAAwBpE,MAAAA,UAAU,GAElCwY,aAAmBrU,UAAU;AAAAlJ,MAAAA;AAAAX,IAAA2d,CAAAA,MAAAA,uBAAA3d,SAAAie,kBAG3Btd,KAAAwd,CAAA,eAAA;AAEEC,UAAAA,gBAAsBT,sBAAsBQ,UAAU;AAElDA,WAAAA,eAAU5d,SACZ0d,eAAcI,CAAA,UAAA;AACZ,YAAAC,UAAgBD,MAAMF,UAAU,KAAM,GACtCI,YAAA;AAAA,QAAA,GAAsBF;AAAAA,QAAK,CAAGF,UAAU,GAAGG,UAAO;AAAA,MAAI;AAEtDxU,aAAAA,QAAQ2S,OAAA+B,KAAYD,SAAS,EAAC5U,MAAO,GAE9B4U;AAAAA,IAAAA,CACR,IAGDzU,QAAO5D,OAAa,GAAC,MAAA;AAIjBiY,qBAAU5d,SACZ0d,eAAcQ,CAAA,YAAA;AACZ,cAAAC,cAAA;AAAA,UAAA,GAAsBL;AAAAA,QAAK;AAEvBE,eAAAA,YAAUJ,UAAU,MAAO,KAAA,OACtBI,YAAUJ,UAAU,GAE3BrU,QAAQ2S,OAAA+B,KAAYD,WAAS,EAAC5U,MAAO,KAErC4U,YAAUJ,UAAU,IAApBI,YAAUJ,UAAU,IAAC,GAGhBI;AAAAA,MACR,CAAA,IAGDzU,QAAO6U,QAAa,GAGtBP,gBAAa;AAAA,IAAA;AAAA,EAEhBpe,GAAAA,OAAA2d,qBAAA3d,OAAAie,gBAAAje,OAAAW,MAAAA,KAAAX,EAAA,CAAA;AAzCH,QAAA4d,gBAAsBjd;AA2CrB,MAAAc,IAAAqN;AAAA9O,IAAA6d,CAAAA,MAAAA,SAAA7d,SAAA2d,uBAGSlc,KAAAA,MAAMkc,sBAAsBE,KAAK,GAAG/O,KAAA,CAAC+O,OAAOF,mBAAmB,GAAC3d,OAAA6d,OAAA7d,OAAA2d,qBAAA3d,OAAAyB,IAAAzB,OAAA8O,OAAArN,KAAAzB,EAAA,CAAA,GAAA8O,KAAA9O,EAAA,CAAA,IAA1EgH,MAAAA,UAAUvF,IAAoCqN,EAA4B;AAAC,MAAAC,IAAAS;AAAAxP,IAAAke,EAAAA,MAAAA,cAAAle,EAAA,EAAA,MAAA6d,SAAA7d,EAAA4d,EAAAA,MAAAA,iBAAA5d,EAAA,EAAA,MAAA6J,SAAA7J,UAAAge,UAGlExO,KAAA;AAAA,IAAApO,SAAA;AAAA,IAAA8c;AAAAA,IAAAL;AAAAA,IAAAD;AAAAA,IAAA/T,MAAAA;AAAAA,IAAAmU;AAAAA,EAONhe,GAAAA,QAAAke,YAAAle,QAAA6d,OAAA7d,QAAA4d,eAAA5d,QAAA6J,OAAA7J,QAAAge,QAAAhe,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GAAA+O,KAPMS;AADT,QAAA3N,QAAiCkN;AAUhCY,MAAAA;AAAA,SAAA3P,EAAAE,EAAAA,MAAAA,YAAAF,UAAA6B,SAEM8N,KAAA/O,2BAAA,IAAA,aAAA,UAAA,EAA8BiB,OAAQ3B,SAAS,CAAA,GAAwBF,QAAAE,UAAAF,QAAA6B,OAAA7B,QAAA2P,MAAAA,KAAA3P,EAAA,EAAA,GAAvE2P;AAAuE;AAxFzE,SAAAgP,SAAAC,KAAA;AAAA,SAgEkBC,MAAK;AAAA;AAhEvB,SAAA3Y,QAAA2Y,GAAA;AAAA,SA4CgBA,IAAK;AAAA;AA+C5BtB,cAAc5b,cAAc;ACpGrB,SAAAmd,WAAA;AAAA,QAAA9e,IAAAC,qBAAAA,EAAA,CAAA,GACL4B,QAAcb,iBAAAsc,YAAuB;AAAC,MAAA,CAEjCzb;AAAK1C,UAAAA,IAAAA,MACQ,mCAAmC;AAAA,MAAA;AAAAqB,QAAAA;AAAA,WAAAR,SAAA6B,SAI5CrB,KAAA4c,gBAAgBvb,KAAK,GAAC7B,OAAA6B,OAAA7B,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAAtBQ;AAAAA,WAAsBJ,IAAA;AACtB2e,UAAAA,MAAAA;AAAG,UACNA,eAAG5f,QAAiB,IAAAA,MACN,eAAe4f,IAAGC,OAAA,EAAU,IAAA,IAAA7f,MAE5B,eAAe4f,GAAG,EAAE;AAAA,EAAA;AAAA;ACQ1C,MAAME,gBAAgBnT,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAC,UAAAgf,YAAAC,SAAA1Q,WAAArO,IAAAI;AAAAR,WAAAD,SAI/B;AAAA,IAAAG;AAAAA,IAAAgf;AAAAA,IAAAC;AAAAA,IAAA5Q,UAAAnO;AAAAA,IAAA6E,OAAAzE;AAAAA,IAAA,GAAAiO;AAAAA,EAAA,IAOI1O,OAAKC,OAAAD,OAAAC,OAAAE,UAAAF,OAAAkf,YAAAlf,OAAAmf,SAAAnf,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,OAAAN,WAAAF,EAAA,CAAA,GAAAkf,aAAAlf,EAAA,CAAA,GAAAmf,UAAAnf,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA;AAHPuO,QAAAA,WAAAnO,OAAqBG,SAAV,aAAXH,IACA6E,QAAAzE,OAAoBD,SAAA6B,eAApB5B,IAGF;AAAA,IAAAwd;AAAAA,IAAAE;AAAAA,EAA6BY,IAAAA,SAC7BM,GAAAA,iBAAuBrI,MAAAA,OAAA,IAA+B,GACtD5P,MAAY4P,MAAAA,OAAA,IAAkC,GAC9CsI,gBAAsBtI,MAAAA,OAAgBmH,UAAU;AAACzd,MAAAA;AAAAT,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KAE+Be,KAAAA,MAAM0G,IAAGE,SAAQrH,OAAAS,MAAAA,KAAAT,EAAA,CAAA,GAAjGgX,MAAAA,oBAAkEL,cAAclW,EAAiB;AAAC,MAAAE,IAAAc;AAAAzB,IAAAke,CAAAA,MAAAA,cAAAle,SAAAkf,cAKxFve,KAAAA,MAAA;AACe0e,kBAAahY,YAAa6W,cAAcA,cAG7DgB,aAAU;AAAA,MAAAI,eAAmBF,eAAc/X;AAAAA,IAAAA,CAAA,GAG7CgY,cAAahY,UAAW6W;AAAAA,EACvBzc,GAAAA,KAAA,CAACyc,YAAYgB,UAAU,GAAClf,OAAAke,YAAAle,OAAAkf,YAAAlf,QAAAW,IAAAX,QAAAyB,OAAAd,KAAAX,EAAA,EAAA,GAAAyB,KAAAzB,EAAA,EAAA,IAR3BgH,MAAAA,UAAUrG,IAQPc,EAAwB;AAACqN,MAAAA;AAAA9O,IAAAke,EAAAA,MAAAA,cAAAle,UAAAmf,WAG1BrQ,KAAA7E,CAAA,UAAA;AAEEkV,cAAUlV,KAAK;AAEf,UAAAsV,cAAoBpY,IAAGE,SACvBjB,SAAAzG,SAAA2f;AAEI,KAACpB,cAAeqB,CAAAA,gBAAgBnZ,UAEhCtC,cAAcsC,MAAM,KAAK7B,wBAAwBgb,aAAanZ,MAAM,MACtEgZ,eAAc/X,UAAWjB;AAAAA,EAE5BpG,GAAAA,QAAAke,YAAAle,QAAAmf,SAAAnf,QAAA8O,MAAAA,KAAA9O,EAAA,EAAA;AAbH,QAAAwf,cAAoB1Q;AAenBC,MAAAA;AAAA/O,IAAAiF,EAAAA,MAAAA,SAAAjF,UAAAge,UASUjP,KAAA;AAAA,IAAA,GAAI9J;AAAAA,IAAK+Y;AAAAA,EAAShe,GAAAA,QAAAiF,OAAAjF,QAAAge,QAAAhe,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA;AAAAwP,MAAAA;AAAA,SAAAxP,EAAAE,EAAAA,MAAAA,YAAAF,EAAA,EAAA,MAAAwf,eAAAxf,EAAAuO,EAAAA,MAAAA,YAAAvO,EAAA,EAAA,MAAAyO,aAAAzO,UAAA+O,MAN3BS,KAAC5O,2BAAA,IAAA,KACS,EAAA,WAAA,SAAO,GACX6N,WACK+Q,SAAAA,aACCjR,UACLpH,KACE,OAAA4H,IAEN7O,SACH,CAAA,GAAMF,QAAAE,UAAAF,QAAAwf,aAAAxf,QAAAuO,UAAAvO,QAAAyO,WAAAzO,QAAA+O,IAAA/O,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GATNwP;AASM,CAET,GAKYiQ,QAAQ3T,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAC,UAAAuO,WAAArO;AAAAJ,WAAAD,SAI9B;AAAA,IAAAG;AAAAA,IAAAsd,SAAApd;AAAAA,IAAA,GAAAqO;AAAAA,EAA8C1O,IAAAA,OAAKC,OAAAD,OAAAC,OAAAE,UAAAF,OAAAyO,WAAAzO,OAAAI,OAAAF,WAAAF,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA;AAAlCwd,QAAAA,UAAApd,OAAWG,aAAXH;AAAWI,MAAAA;AAAAR,IAAAE,CAAAA,MAAAA,YAAAF,SAAAmH,OAAAnH,EAAA,CAAA,MAAAyO,aAIxBjO,oCAAC,eAAkBiO,EAAAA,GAAAA,WAAgBtH,KAChCjH,SAAAA,CACH,GAAgBF,OAAAE,UAAAF,OAAAmH,KAAAnH,OAAAyO,WAAAzO,OAAAQ,MAAAA,KAAAR,EAAA,CAAA;AAAAS,MAAAA;AAAA,SAAAT,EAAAQ,CAAAA,MAAAA,MAAAR,SAAAwd,WAHlB/c,KAACG,2BAAA,IAAA,eAAuB4c,EAAAA,SACtBhd,UAGF,GAAA,CAAA,GAAgBR,OAAAQ,IAAAR,OAAAwd,SAAAxd,QAAAS,MAAAA,KAAAT,EAAA,EAAA,GAJhBS;AAIgB,CAEnB;AAEDgf,MAAM9d,cAAc;AC3GpB,MAAMrC,MAAM,6BACNogB,aAAajgB,OAAOC,IAAI,GAAGJ,GAAG,UAAU;AAE9CF,YAAYsgB,UAAU,IAAI;AAEnB,MAAMC,sBAA0C;AAAA,EACrDve,SAAS;AAAA,EACT4E,iBAAiB;AAAA,EACjB,IAAIrC,UAAU;AACZ,WAAI,OAAOhE,WAAa,MACf,QAGLP,YAAYsgB,UAAU,MAI1BtgB,YAAYsgB,UAAU,IAAI/f,SAAS8W,cAAc,KAAK,GACtDrX,YAAYsgB,UAAU,EAAEE,aAAa,eAAe,EAAE,GAEtDjgB,SAASkgB,KAAKC,YAAY1gB,YAAYsgB,UAAU,CAAC,IAE1CtgB,YAAYsgB,UAAU;AAAA,EAAA;AAEjC,GAEaK,gBAAgB1gB,0BAA8CC,KAAKqgB,mBAAmB;ACrB5F,SAAAK,YAAA;AACLne,QAAAA,QAAcb,iBAAA+e,aAAwB;AAAC,MAAA,CAElCle;AAAK1C,UAAAA,IAAAA,MACQ,oCAAoC;AAAA,MAMlD,CAAC4c,SAASla,KAAK,KAAKA,MAAKT,YAAgB;AAAAjC,UAAAA,IAAAA,MAC3B,kDAAkD;AAG7D0C,SAAAA;AAAK;ACHP,SAAAoe,OAAAlgB,OAAA;AAAAC,QAAAA,IAAAC,uBAAA,CAAA,GACL;AAAA,IAAAC;AAAAA,IAAAggB,iBAAA5H;AAAAA,EAAAA,IAA0CvY,OAC1CuC,OAAauT,QACbsK,GAAAA,SAAeH,UACfI,GAAAA,iBACG9H,OAAO6H,OAAM7Z,YAAa6Z,OAAM7Z,SAAUgS,IAAI,IAAI6H,OAAMxc,YAAawc,OAAM7Z,UAAA+Z;AAAkB,MAAA,CAE3FD;AAAa,WAAA;AAUJhgB,QAAAA,KAAAkC,MAAIhC,UAAY;AAAOE,MAAAA;AAAA,SAAAR,EAAAE,CAAAA,MAAAA,YAAAF,SAAAogB,iBAAApgB,EAAA,CAAA,MAAAI,MAN9BI,KAAA8f,SAAAA,aACL7J,oBAAA3W,cAAA;AAAA,IAAAK,UAAA;AAAA,IAAAE,MAIU;AAAA,IAAaC,QACXF;AAAAA,EAAAA,GAEVF,QACF,GACAkgB,aACF,GAACpgB,OAAAE,UAAAF,OAAAogB,eAAApgB,OAAAI,IAAAJ,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAXMQ;AAWN;AAGHyf,OAAOte,cAAc;ACrBd,SAAA4e,eAAAxgB,OAAA;AAAAC,QAAAA,IAAAC,uBAAA,CAAA,GACL;AAAA,IAAA+F;AAAAA,IAAA9F;AAAAA,IAAAyD;AAAAA,IAAA6c,qBAAAC;AAAAA,EAAAA,IAAgF1gB,OAChFuG,WAAiBoa,UAAUD,YAAY,GACvCE,kBAAwB/V,2BAAAgW,gBAAA1a,SAAAyY,QAIxB;AAACve,MAAAA;AAKoB,QAAAI,KAAAwF,mBAAuB,MAC/BvF,KAAAkD,WAAWgd;AAAehgB,MAAAA;AAAAX,IAAAsG,CAAAA,MAAAA,YAAAtG,SAAAQ,MAAAR,EAAA,CAAA,MAAAS,MAH9BE,KAAA;AAAA,IAAAS,SAAA;AAAA,IAAA4E,iBAEYxF;AAAAA,IAAuBmD,SAC/BlD;AAAAA,IAA0B6F;AAAAA,EAAAA,GAEpCtG,OAAAsG,UAAAtG,OAAAQ,IAAAR,OAAAS,IAAAT,OAAAW,MAAAA,KAAAX,EAAA,CAAA,GALDI,KAAOO;AADT,QAAAkB,QAAkCzB;AAOuBqB,MAAAA;AAAA,SAAAzB,EAAAE,CAAAA,MAAAA,YAAAF,SAAA6B,SAElDJ,KAAAb,2BAAA,IAAA,cAAA,UAAA,EAA+BiB,OAAQ3B,SAAS,CAAA,GAAyBF,OAAAE,UAAAF,OAAA6B,OAAA7B,OAAAyB,MAAAA,KAAAzB,EAAA,CAAA,GAAzEyB;AAAyE;AAlB3E,SAAAkd,WAAA;AAAA,SAAA;AAAA;AAAA,SAAAzY,UAAA;AAAA,SAAAvG,SAAAkgB;AAAA;AAqBPU,eAAe5e,cAAc;AAE7B,MAAMif,iBAAiBA,MAAM,MAAM;AAAC;AAMpC,SAASF,UAAqD7e,OAA6B;AACnFgf,QAAAA,WAAW9J,aAAkBlV,KAAK;AAEnCif,SAAAA,SAASD,SAASxZ,SAASxF,KAAK,MACnCgf,SAASxZ,UAAUxF,QAGdgf,SAASxZ;AAClB;AAEA,SAASyZ,SAASC,MAAkBC,MAA2B;AACzD,MAAA,CAACD,QAAQ,CAACC;AACZ,WAAOD,SAASC;AAGZC,QAAAA,QAAQxE,OAAO+B,KAAKuC,IAAI,GACxBG,QAAQzE,OAAO+B,KAAKwC,IAAI;AAE9B,SAAIC,MAAMtX,WAAWuX,MAAMvX,SAClB,KAGFsX,MAAME,MAAO7hB,CAAAA,SAAQyhB,KAAKzhB,IAAG,MAAM0hB,KAAK1hB,IAAG,CAAC;AACrD;AC7DO,MAAM8hB,SAAStV,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAAC,MAAAA,UAAAqM,WAAA8U,MAAAjhB;AAAAJ,WAAAD,SAI/B;AAAA,IAAAkP,IAAA7O;AAAAA,IAAAF;AAAAA,IAAAqM;AAAAA,IAAA,GAAA8U;AAAAA,EAAAA,IAAuDthB,OAAKC,OAAAD,OAAAC,OAAAE,UAAAF,OAAAuM,WAAAvM,OAAAqhB,MAAArhB,OAAAI,OAAAF,WAAAF,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAqhB,OAAArhB,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA;AAAjDuP,QAAAA,KAAAnP,OAAUG,SAAL,QAALH;AAAUI,MAAAA;AAAAR,WAAAuM,aAON/L,KAAAiP,IAAAA,kBAAkBlD,WAAW+U,YAAQ,GAACthB,OAAAuM,WAAAvM,OAAAQ,MAAAA,KAAAR,EAAA,CAAA;AAAAS,MAAAA;AAAA,SAAAT,EAAAuP,CAAAA,MAAAA,MAAAvP,EAAA,CAAA,MAAAE,YAAAF,EAAAmH,CAAAA,MAAAA,OAAAnH,EAAA,EAAA,MAAAqhB,QAAArhB,UAAAQ,MAJnDC,KAACG,2BAAAA,IAAA,IACS,EAAA,WAAA,UACJygB,GAAAA,MACJ,eAAA,IACW,WAAA7gB,IACN2G,KAEJjH,SACH,CAAA,GAAKF,OAAAuP,IAAAvP,OAAAE,UAAAF,OAAAmH,KAAAnH,QAAAqhB,MAAArhB,QAAAQ,IAAAR,QAAAS,MAAAA,KAAAT,EAAA,EAAA,GARLS;AAQK,CAER;AAED2gB,OAAOzf,cAAc;ACYd,MAAM4f,cAAczV,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAuhB,YAAAC,UAAAC,YAAAjT,WAAArO,IAAAI;AAAAR,WAAAD,SAIpC;AAAA,IAAA+M,KAAA1M;AAAAA,IAAAohB;AAAAA,IAAAG,OAAAnhB;AAAAA,IAAAihB;AAAAA,IAAAC;AAAAA,IAAA,GAAAjT;AAAAA,EAAA,IAA8E1O,OAAKC,OAAAD,OAAAC,OAAAwhB,YAAAxhB,OAAAyhB,UAAAzhB,OAAA0hB,YAAA1hB,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,OAAAghB,aAAAxhB,EAAA,CAAA,GAAAyhB,WAAAzhB,EAAA,CAAA,GAAA0hB,aAAA1hB,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA;AAA5E8M,QAAAA,MAAA1M,OAAOG,aAAPH;AAAOK,MAAAA;AAAAT,WAAAQ,MAAcC,KAAAD,OAAUD,UAAVC,IAAAA,IAAUR,OAAAQ,IAAAR,OAAAS,MAAAA,KAAAT,EAAA,CAAA;AAAV,QAAA2hB,QAAAlhB,IAC5B0G,MAAY4P,MAAAA,OAAA,IAAkC,GAC9C6K,aAAmB7K,MAAAA,OAAA,IAAkC,GACrD,CAAA8K,WAAAC,YAAA,IAAkCpc,MAAAA,UAAU,GAC5C,CAAAqc,cAAAC,eAAA,IAAwCtc,gBAAU,GAClD,CAAAuc,YAAAC,aAAA,IAAoCxc,MAAAA,WAAW,GAE/C,CAAAyc,UAAAC,WAAA,IAAgC1c,gBAAU;AAAC/E,MAAAA;AAAAX,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KAGqCiB,KAAAA,MAAMwG,IAAGE,SAAQrH,OAAAW,MAAAA,KAAAX,EAAA,CAAA,GAAjGgX,MAAAA,oBAAkEL,cAAchW,EAAiB;AAAC,MAAAc,IAAAqN;AAAA9O,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAExF+B,KAAAA,MAAA;AAAA,QACH0F,CAAAA,IAAGE;AAAA;AAER,UAAAgb,WAAiBC,eAAenb,IAAGE,QAAAkb,UAAmB;AAAC,QAEnDF,UAAQ;AAAA,UACJA,EAAAA,oBAAQG;AAAuB;AAErC,YAAAC,eAAAA,MAAA;AACEX,qBAAaO,SAAQR,SAAU;AAAA,MAAC;AAG1B/a,eAAAA,iBAAkB,UAAU2b,cAAY;AAAA,QAAAC,SAAA;AAAA,MAAA,CAAiB;AAEjEC,YAAAA,KAAA,IAAApb,gBAAAqb,CAAA,YAAA;AACEZ,wBAAgBY,QAAO,CAAA,EAAA1a,YAAAK,MAAsB;AAAA,MAAA,CAAC;AAGhDoa,aAAAA,GAAEja,QAAS2Z,QAAQ,GAEnBI,gBAAc,MAAA;AAGJ1b,iBAAAA,oBAAqB,UAAU0b,YAAY,GAEnDE,GAAEha,UAAW0Z,QAAQ,GACrBM,GAAE/Z,WAAY;AAAA,MAAC;AAAA,IAAA;AAInB,UAAAia,iBAAAA,MAAA;AACEf,mBAAY9iB,OAAA8jB,OAAe;AAAA,IAAC,GAG9BC,eAAAA,MAAA;AACEf,sBAAehjB,OAAAgkB,WAAmB;AAAA,IAAC;AAGrClc,WAAAA,OAAAA,iBAAwB,UAAU2b,gBAAY;AAAA,MAAAC,SAAA;AAAA,IAAiB,CAAA,GAC/D1jB,OAAA8H,iBAAwB,UAAUic,YAAY,GAE9Cf,gBAAehjB,OAAAgkB,WAAmB,GAElCP,kBAAc,MAAA;AAGZzjB,aAAA+H,oBAA2B,UAAU0b,cAAY,GACjDzjB,OAAA+H,oBAA2B,UAAUgc,YAAY;AAAA,IAAC;AAAA,EAAA,GAEnDjU,KAAA,CAAA,GAAE9O,QAAAyB,IAAAzB,QAAA8O,OAAArN,KAAAzB,EAAA,EAAA,GAAA8O,KAAA9O,EAAA,EAAA,IAjDLgH,MAAAA,UAAUvF,IAiDPqN,EAAE;AAEL,QAAA0E,MAAYmO,MAAKhY,QACjBpB,SAAe0Z,aAAazO,OAAOyO,aAAaE,YAAYA,WAAY,GACxEc,YAAkB1a,SAAS+K,KAAAC,IAASD,KAAA4P,MAAYrB,YAAYtZ,SAAUiL,GAAG,IAAC,GAAO,CAAA,IAAK,GACtF2P,UAAgB5a,SAAS+K,KAAA8P,MAAYvB,YAAYE,gBAAgBxZ,SAAUiL,GAAG,QAAS;AAAA,MAAAzE,IAAAS;AAAAxP,IAAAijB,EAAAA,MAAAA,aAAAjjB,EAAAmiB,EAAAA,MAAAA,YAAAniB,EAAAiiB,EAAAA,MAAAA,cAAAjiB,UAAAyhB,YAAAzhB,EAAA,EAAA,MAAA+hB,gBAAA/hB,EAAA,EAAA,MAAA6hB,aAAA7hB,EAAA,EAAA,MAAAmjB,WAE7EpU,KAAAA,MAAA;AACA,eAAA;AAAA,MAAAkU;AAAAA,MAAAnW,KAEDqV;AAAAA,MAAQF;AAAAA,MAAAF;AAAAA,MAAAF;AAAAA,MAAAsB;AAAAA,IAAAA,CAAA;AAAA,EAAA,GAMd3T,KAACyT,CAAAA,WAAWd,UAAUF,YAAYR,UAAUM,cAAcF,WAAWsB,OAAO,GAACnjB,QAAAijB,WAAAjjB,QAAAmiB,UAAAniB,QAAAiiB,YAAAjiB,QAAAyhB,UAAAzhB,QAAA+hB,cAAA/hB,QAAA6hB,WAAA7hB,QAAAmjB,SAAAnjB,QAAA+O,IAAA/O,QAAAwP,OAAAT,KAAA/O,EAAA,EAAA,GAAAwP,KAAAxP,EAAA,EAAA,IAThFgH,gBAAU+H,IASPS,EAA6E;AAACG,MAAAA;AAAA,OAAA;AAAA,QAG3E,CAAC+R,cAAcC,MAAKhY,WAAa,GAAA;AAAE,WAAA;AAAWxI,YAAAA;AAAAA,IAAAA;AAAA,QAE9C8gB,eAAiB,IAAA;AAAAzQ,UAAAA;AAAAxR,QAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAIR8R,MAAAzM,CAASA,OAAAA,KAAKmd,cAAcnd,GAAEse,YAAa,IAAC9iB,QAAaP,QAAAwR,OAAAA,MAAAxR,EAAA,EAAA;AAAA2R,UAAAA;AAAA3R,QAAA2hB,EAAAA,MAAAA,MAAA3hB,CAAAA,KAAAA,UAAA0hB,cAO7D/P,OAAA+P,WAAWC,QAAQ,GAAC3hB,QAAA2hB,MAAA,CAAA,GAAA3hB,QAAA0hB,YAAA1hB,QAAA2R,QAAAA,OAAA3R,EAAA,EAAA;AAAA4R,UAAAA;AAAA5R,gBAAA2R,QARvBC,OAAChR,2BAAAA,IAAA,KACM,EAAA,KAAA4Q,KACK,UAAA,GACC,WAAC,GACA,YAAC,GAEJ,UAAA,YAERG,UAAAA,KAAAA,IACH,GAAM3R,QAAA2R,MAAA3R,QAAA4R,QAAAA,OAAA5R,EAAA,EAAA;AAAA8R,UAAAA;AAAA9R,QAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAECoS,OAAAwR,CAASve,SAAAA,OAAKqd,YAAYrd,KAAEse,YAAa,IAAC9iB,QAAaP,QAAA8R,QAAAA,OAAA9R,EAAA,EAAA;AAC5C+R,YAAAA,MAAAwR,IAAAA,KAAArO,MAAWpI,GAAG;AAACmF,UAAAA;AAAAjS,gBAAA+R,OAFjCE,MAAArR,+BAAA,OAAA,EACO,KAAAkR,MACE,OAAA;AAAA,QAAAvJ,QAASwJ;AAAAA,MAChB,EAAA,CAAA,GAAA/R,QAAA+R,KAAA/R,QAAAiS,OAAAA,MAAAjS,EAAA,EAAA;AAAAkS,UAAAA;AAAAlS,QAAA4R,EAAAA,MAAAA,QAAA5R,UAAAiS,OAfCC,OAEHN,2BAAAA,KAAAA,WAAAA,UAAAA,EAAAA,UAAAA;AAAAA,QAAAA;AAAAA,QAUAK;AAAAA,MAAAA,EAGE,CAAA,CAAA,GAELjS,QAAA4R,MAAA5R,QAAAiS,KAAAjS,QAAAkS,OAAAA,MAAAlS,EAAA,EAAA,GAjBD2P,KAAOuC;AAiBN/Q,YAAAA;AAAAA,IAAAA;AAAAqQ,QAAAA;AAAAxR,QAAAA,EAAAijB,EAAAA,MAAAA,aAAAjjB,EAAAmiB,EAAAA,MAAAA,YAAAniB,EAAAwhB,EAAAA,MAAAA,cAAAxhB,UAAAiiB,cAAAjiB,EAAA,EAAA,MAAA2hB,SAAA3hB,EAAA,EAAA,MAAA0hB,cAAA1hB,EAAA,EAAA,MAAAmjB,SAAA;AAAAxR,UAAAA;AAAA3R,QAAAijB,EAAAA,MAAAA,aAAAjjB,EAAA,EAAA,MAAAmiB,YAAAniB,EAAAwhB,EAAAA,MAAAA,cAAAxhB,EAAA,EAAA,MAAAiiB,cAAAjiB,UAAA0hB,cAGwC/P,OAAAA,CAAA6R,MAAAC,eAAA;AACzC,cAAAC,YAAkBT,YAAYQ,YAC9B1f,OAAa2d,WAAW8B,IAAI,GAC5BlkB,OAAYkiB,aAAaA,WAAWgC,MAAME,SAAS,IAAIA;AAGrD,eAAA9iB,2BAAA,IAAC,OACY,WAAC,GACA,YAAA,GAEH,UAAA,YACF,OAAA;AAAA,UAAA+iB,KAAMD,aAAazB,aAAaE,YAAYA;AAAAA,QAAAA,GAElDpe,sBACH;AAAA,MAEH/D,GAAAA,QAAAijB,WAAAjjB,QAAAmiB,UAAAniB,QAAAwhB,YAAAxhB,QAAAiiB,YAAAjiB,QAAA0hB,YAAA1hB,QAAA2R,QAAAA,OAAA3R,EAAA,EAAA,GAhBMwR,MAAAmQ,MAAK/N,MAAOqP,WAAWE,OAAO,EAAC1R,IAAKE,IAgB1C,GAAC3R,QAAAijB,WAAAjjB,QAAAmiB,UAAAniB,QAAAwhB,YAAAxhB,QAAAiiB,YAAAjiB,QAAA2hB,OAAA3hB,QAAA0hB,YAAA1hB,QAAAmjB,SAAAnjB,QAAAwR;AAAAA,IAAA;AAAAA,YAAAxR,EAAA,EAAA;AAhBKwR,SAAAA;AAAAA,EAAAA;AAxBT,QAAAtR,WAAiByP;AAyCiE,MAAA6B,IAAAG;AAAA3R,YAAAuI,UAE/BoJ,MAAA;AAAA,IAAApJ;AAAAA,EAAQvI,GAAAA,QAAAuI,QAAAvI,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA,GAAAwR,KAARG;AAAnD,QAAAiS,eAAoCpS;AAAmCI,MAAAA;AAAA5R,IAAAE,EAAAA,MAAAA,YAAAF,UAAA4jB,gBAInEhS,MAEMhR,2BAAAA,IAAA,OAFIghB,EAAAA,iBAAmBgC,qBACnB,SACV,CAAA,GAAM5jB,QAAAE,UAAAF,QAAA4jB,cAAA5jB,QAAA4R,OAAAA,MAAA5R,EAAA,EAAA;AAAA8R,MAAAA;AAAA,SAAA9R,EAAAyO,EAAAA,MAAAA,aAAAzO,UAAA4R,OAHRE,qCAAC,KAAY,EAAA,WAAA,eAAa,GAAKrD,WAAoB,UAAA,YAAgBtH,KACjEyK,UAAAA,IAGF,CAAA,GAAM5R,QAAAyO,WAAAzO,QAAA4R,KAAA5R,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA,GAJN8R;AAIM,CAET;AAEDyP,YAAY5f,cAAc;AAE1B,SAAS2gB,eAAeC,YAA+B;AACrD,MAAIsB,YAAYtB;AAETsB,SAAAA,aAAa,CAAC/e,cAAc+e,SAAS;AAC1CA,gBAAYA,UAAUtB;AAGjBsB,SAAAA;AACT;AC/LO,MAAMC,2BAA2B,GAC3BC,0BAA0B,GAC1BC,8BAA8B,IAC9BC,+BAA+B,GAC/BC,+BAA+B,GAC/BC,0BAA0C,CAAC,GAAG,GAAG,GAAG,CAAC,GACrDC,gCAA8D;AAAA,EACzE,KAAO,CAAC,UAAU,QAAQ,OAAO;AAAA,EACjC,aAAa,CAAC,gBAAgB,cAAc,aAAa;AAAA,EACzD,WAAW,CAAC,cAAc,YAAY,WAAW;AAAA,EACjD,QAAU,CAAC,OAAO,QAAQ,OAAO;AAAA,EACjC,gBAAgB,CAAC,aAAa,cAAc,aAAa;AAAA,EACzD,cAAc,CAAC,WAAW,YAAY,WAAW;AAAA,EACjD,MAAQ,CAAC,SAAS,OAAO,QAAQ;AAAA,EACjC,cAAc,CAAC,eAAe,aAAa,cAAc;AAAA,EACzD,YAAY,CAAC,aAAa,WAAW,YAAY;AAAA,EACjD,OAAS,CAAC,QAAQ,OAAO,QAAQ;AAAA,EACjC,eAAe,CAAC,cAAc,aAAa,cAAc;AAAA,EACzD,aAAa,CAAC,YAAY,WAAW,YAAY;AACnD;ACVO,SAASva,KAAKwa,SAON;AACP,QAAA;AAAA,IAACC;AAAAA,IAAOC;AAAAA,IAASlV,UAAU;AAAA,EAAA,IAAKgV;AAE/B,SAAA;AAAA,IACL/L,MAAM;AAAA,IACN,MAAMC,GAAGiM,MAAM;AACP,YAAA;AAAA,QAACle;AAAAA,QAAUmS;AAAAA,QAAWgM;AAAAA,QAAU/L;AAAAA,UAAS8L,MACzC;AAAA,QAAC1L;AAAAA,QAAU4L;AAAAA,MAAahM,IAAAA,OAExB3K,WAAW,MAAM4W,WAAAA,eAAeH,MAAM;AAAA,QAC1CI,aAAa;AAAA,QACbC,UAAUR,QAAQre,mBAAmBzF;AAAAA,QACrCukB,gBAAgB;AAAA,QAChBzV;AAAAA,QACA0V,cAAc;AAAA,MAAA,CACf;AAEGlX,UAAAA,WAAWmX,OACXC,YAAYD;AAEhB,YAAME,YAAYpM,SAAS1Q,OACrB+c,YAAYrM,SAASvQ;AAEvBkQ,gBAAUrT,SAAS,KAAK,MAC1ByI,WAAWqX,aAAanX,SAASqX,OAAOrX,SAASsX,QACjDJ,YAAYE,YAAYpX,SAAS4V,MAG/BlL,UAAUrT,SAAS,OAAO,MAC5ByI,WAAWqX,YAAYnX,SAASsX,OAChCJ,YAAYE,aAAapX,SAAS4V,MAAM5V,SAASuX,UAG/C7M,UAAUrT,SAAS,QAAQ,MAC7ByI,WAAWqX,aAAanX,SAASqX,OAAOrX,SAASsX,QACjDJ,YAAYE,YAAYpX,SAASuX,SAG/B7M,UAAUrT,SAAS,MAAM,MAC3ByI,WAAWqX,YAAYnX,SAASqX,MAChCH,YAAYE,aAAapX,SAAS4V,MAAM5V,SAASuX,UAKnDhB,MAAM;AAAA,QACJiB,gBAAgB1X,WAAW0W,QAAQ,CAAC,IAAIA,QAAQ,CAAC;AAAA,QACjDiB,iBAAiBP,YAAYV,QAAQ,CAAC,IAAIA,QAAQ,CAAC;AAAA,QACnDje;AAAAA,QACAmf,gBAAgBf,UAAUtc,QAAQmc,QAAQ,CAAC,IAAIA,QAAQ,CAAC;AAAA,MAAA,CACzD;AAEKmB,YAAAA,iBAAiB,MAAMjB,SAASkB,cAAcrf,SAASwS,QAAQ,GAE/D8M,UAAUF,eAAend,QACzBsd,UAAUH,eAAetd;AAE3B8c,aAAAA,cAAcW,WAAWV,cAAcS,UAClC;AAAA,QAACE,OAAO;AAAA,UAACpN,OAAO;AAAA,QAAA;AAAA,MAAI,IAGtB,CAAC;AAAA,IAAA;AAAA,EAEZ;AACF;AC/CA,MAAMqN,eAAaC,aAAAA,OAAOC,OAAOnQ,IAAI,GAKxBoQ,cAAcC,MAAAA,KACzBra,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAAmmB,MAAAA,SAAAC,OAAAC,UAAAC,QAAAC,QAAAtmB,UAAAumB,aAAA5Y,UAAAyL,SAAAC,SAAAxL,UAAAsB,SAAAoJ,WAAAjK,QAAAiX,gBAAAhX,WAAAwH,QAAAyQ,UAAAzhB,OAAA7E,IAAAumB,OAAAC;AAAA5mB,WAAAD,SAIT;AAAA,IAAA8mB,oBAAAJ;AAAAA,IAAAL;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAtmB;AAAAA,IAAA2N;AAAAA,IAAAwB;AAAAA,IAAAoJ;AAAAA,IAAAa;AAAAA,IAAAC;AAAAA,IAAAxL;AAAAA,IAAAS;AAAAA,IAAAiX;AAAAA,IAAAxP;AAAAA,IAAAyQ;AAAAA,IAAAzhB;AAAAA,IAAA5E,MAAAD;AAAAA,IAAA8Y,GAAAyN;AAAAA,IAAAvN,GAAAwN;AAAAA,IAAA,GAAAnY;AAAAA,EAAAA,IAyBI1O,OAAKC,OAAAD,OAAAC,OAAAomB,SAAApmB,OAAAqmB,OAAArmB,OAAAsmB,UAAAtmB,OAAAumB,QAAAvmB,OAAAwmB,QAAAxmB,OAAAE,UAAAF,OAAAymB,aAAAzmB,OAAA6N,UAAA7N,OAAAsZ,SAAAtZ,QAAAuZ,SAAAvZ,QAAA+N,UAAA/N,QAAAqP,SAAArP,QAAAyY,WAAAzY,QAAAwO,QAAAxO,QAAAylB,gBAAAzlB,QAAAyO,WAAAzO,QAAAiW,QAAAjW,QAAA0mB,UAAA1mB,QAAAiF,OAAAjF,QAAAI,IAAAJ,QAAA2mB,OAAA3mB,QAAA4mB,UAAAR,UAAApmB,EAAA,CAAA,GAAAqmB,QAAArmB,EAAA,CAAA,GAAAsmB,WAAAtmB,EAAA,CAAA,GAAAumB,SAAAvmB,EAAA,CAAA,GAAAwmB,SAAAxmB,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAAymB,cAAAzmB,EAAA,CAAA,GAAA6N,WAAA7N,EAAA,CAAA,GAAAsZ,UAAAtZ,EAAA,CAAA,GAAAuZ,UAAAvZ,EAAA,EAAA,GAAA+N,WAAA/N,EAAA,EAAA,GAAAqP,UAAArP,EAAA,EAAA,GAAAyY,YAAAzY,EAAA,EAAA,GAAAwO,SAAAxO,EAAA,EAAA,GAAAylB,iBAAAzlB,EAAA,EAAA,GAAAyO,YAAAzO,EAAA,EAAA,GAAAiW,SAAAjW,EAAA,EAAA,GAAA0mB,WAAA1mB,EAAA,EAAA,GAAAiF,QAAAjF,EAAA,EAAA,GAAAI,KAAAJ,EAAA,EAAA,GAAA2mB,QAAA3mB,EAAA,EAAA,GAAA4mB,QAAA5mB,EAAA,EAAA;AALP,QAAAK,OAAAD,OAAgBG,SAAT,YAAPH,IAYF0mB,QAAchI,SAAS;AAACte,MAAAA;AAAAA,OAIhBimB,eAAWtC;AADnB,QAAAI,UAAgC/jB,IAMhC0Y,KAAWyN,SAAU,KAAIpC,QAAU,CAAA,GACnCnL,KAAWwN,SAAU,KAAIrC,QAAU,CAAA;AAAA9jB,MAAAA;AAUvB,QAAAE,KAAAmmB,MAAK9I,UAAc,KACfvc,KAAA2kB,UAAU,cAAW7lB;AAAYuO,MAAAA;AAAA9O,IAAA,EAAA,MAAAsZ,WAAAtZ,EAAAuZ,EAAAA,MAAAA,WAAAvZ,UAAAylB,kBAAAzlB,EAAA,EAAA,MAAA0mB,YAAA1mB,EAAAiF,EAAAA,MAAAA,SAAAjF,EAAAW,EAAAA,MAAAA,MAAAX,EAAA,EAAA,MAAAyB,MAAAzB,EAAAkZ,EAAAA,MAAAA,KAAAlZ,UAAAoZ,KARxCtK,KAAA;AAAA,IAAAsW,MACClM;AAAAA,IAACI;AAAAA,IAAAC;AAAAA,IAAAhL,UAGGmY;AAAAA,IAAQ/C,KACbvK;AAAAA,IAAChR,OACCqd;AAAAA,IAAczH,QACbrd;AAAAA,IAAmB8B,YACfhB;AAAAA,IAAiC,GAC1CwD;AAAAA,EAAAA,GACJjF,QAAAsZ,SAAAtZ,QAAAuZ,SAAAvZ,QAAAylB,gBAAAzlB,QAAA0mB,UAAA1mB,QAAAiF,OAAAjF,QAAAW,IAAAX,QAAAyB,IAAAzB,QAAAkZ,GAAAlZ,QAAAoZ,GAAApZ,QAAA8O,MAAAA,KAAA9O,EAAA,EAAA,GAAAS,KAVMqO;AADT,QAAAiY,YAAiCtmB;AAahCsO,MAAAA;AAISS,QAAAA,KAAA+W,kBAAkBA,SAAMhmB,QACzBoP,KAAA6W,kBAAkBA,SAAMjmB;AAAYiR,MAAAA;AAAAxR,IAAAwP,EAAAA,MAAAA,MAAAxP,UAAA2P,MAFpC6B,KAAA;AAAA,IAAA4T,MACC5V;AAAAA,IAAoCmU,KACrChU;AAAAA,IAAoC0V,OAAA9kB;AAAAA,IAAA+kB,QAAA/kB;AAAAA,EAAAA,GAG1CP,QAAAwP,IAAAxP,QAAA2P,IAAA3P,QAAAwR,MAAAA,KAAAxR,EAAA,EAAA,GAAA+O,KALMyC;AADT,QAAAwV,aAAkCjY;AAQjC4C,MAAAA;AAAA3R,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAIciS,MAAAsV,IAAY,YAAA,GAACjnB,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA;AAEnB,QAAA4R,MAAAnD;AAAoCqD,MAAAA;AAAA9R,YAAAomB,WAchCtU,MAAAsU,UAAO,CAAI,UAAU,SAAS,IAAA7lB,QAAaP,QAAAomB,SAAApmB,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA;AAAA+R,MAAAA;AAAA/R,YAAAomB,WAC3CrU,MAAAqU,UAAO,CAAI,WAAW,SAAS,IAAA7lB,QAAaP,QAAAomB,SAAApmB,QAAA+R,OAAAA,MAAA/R,EAAA,EAAA;AAAAiS,MAAAA;AAAAjS,YAAAomB,WAC/CnU,MAAAmU,UAAO,CAAI,UAAU,UAAU,IAAA7lB,QAAaP,QAAAomB,SAAApmB,QAAAiS,OAAAA,MAAAjS,EAAA,EAAA;AAAAkS,MAAAA;AAAAlS,IAAAE,EAAAA,MAAAA,YAAAF,UAAAqP,WAShD6C,MAACtR,2BAAA,IAAA,MAAA,EAAe,WAAA,UAAe,MAAA,GAAYyO,kBAE3C,CAAA,GAAOrP,QAAAE,UAAAF,QAAAqP,SAAArP,QAAAkS,OAAAA,MAAAlS,EAAA,EAAA;AAAAoS,MAAAA;AAAApS,IAAA6N,EAAAA,MAAAA,YAAA7N,UAAA+N,YAAA/N,EAAA,EAAA,MAAAkS,OATTE,MAACxR,2BAAAA,IAAA,MAAA,EACS,WAAA,oBACE,WAAA,UACJ,MAAC,GACGiN,UACAE,UAEVmE,UAAAA,IAGF,CAAA,GAAOlS,QAAA6N,UAAA7N,QAAA+N,UAAA/N,QAAAkS,KAAAlS,QAAAoS,OAAAA,MAAApS,EAAA,EAAA;AAAAqS,MAAAA;AAAArS,IAAAqmB,EAAAA,MAAAA,SAAArmB,UAAAsmB,YAAAtmB,EAAA,EAAA,MAAAgnB,cAEN3U,MAAAgU,SACEzlB,+BAAA,OAAA,EACM0lB,KAAO,UACLU,OAAS,YACThD,OAAAA,6BACCC,QAA2BA,8BAC3BC,QAAAA,8BAEX,GAAAlkB,QAAAqmB,OAAArmB,QAAAsmB,UAAAtmB,QAAAgnB,YAAAhnB,QAAAqS,OAAAA,MAAArS,EAAA,EAAA;AAAAsS,MAAAA;AAAA,SAAAtS,UAAAyY,aAAAzY,EAAAwO,EAAAA,MAAAA,UAAAxO,EAAA,EAAA,MAAAmH,OAAAnH,UAAA+mB,aAAA/mB,EAAAiW,EAAAA,MAAAA,UAAAjW,EAAA4R,EAAAA,MAAAA,OAAA5R,EAAA,EAAA,MAAA8R,OAAA9R,UAAA+R,OAAA/R,EAAAiS,EAAAA,MAAAA,OAAAjS,EAAA,EAAA,MAAAoS,OAAApS,UAAAqS,OAAArS,EAAA,EAAA,MAAAK,QAzCHiS,MAAA6B,gCAAC4R,gBACY,WAAApU,KACH,WAAA,WACHC,GAAAA,KACcvR,qBAAAA,MACHoY,kBAAAA,WACN,WAAA,UACF,SAAA,QACAjK,QACHrH,KAEG8O,QACD,QAAA,UACA8Q,OAAAA,WACD1mB,MACI,UAAAgC,qBAAAC,MACE,YAAAD,qBAAAQ,YACH,SAAAiP,KACA,SAAAC,KACH,MAAAE,KAENG,UAAAA;AAAAA,IAAAA;AAAAA,IAYCC;AAAAA,EASH,EAAA,CAAA,GAAarS,QAAAyY,WAAAzY,QAAAwO,QAAAxO,QAAAmH,KAAAnH,QAAA+mB,WAAA/mB,QAAAiW,QAAAjW,QAAA4R,KAAA5R,QAAA8R,KAAA9R,QAAA+R,KAAA/R,QAAAiS,KAAAjS,QAAAoS,KAAApS,QAAAqS,KAAArS,QAAAK,MAAAL,QAAAsS,OAAAA,MAAAtS,EAAA,EAAA,GA1CbsS;AA0Ca,CAEhB,CACH;AACA4T,YAAYvkB,cAAc;ACrD1B,MAAMulB,kBAAkBA,MAAA;AAAAlnB,QAAAA,IAAAC,uBAAA,CAAA,GACtB;AAAA,IAAA+d;AAAAA,MAAiBc,SAAS;AAAC1e,MAAAA;AAAA,SAAAJ,SAAAge,UAGzB5d,KAAAQ,+BAAA,SACS,OAAA;AAAA,IAAA2N,UACK;AAAA,IAAOtB,OAAA;AAAA,IAAA7E,OAEV;AAAA,IAAOG,QACN;AAAA,IAAOyV;AAAAA,EAGjB,EAAA,CAAA,GAAAhe,OAAAge,QAAAhe,OAAAI,MAAAA,KAAAJ,EAAA,CAAA,GARFI;AAQE,GASO+mB,UAAUhB,MAAAA,KACrBra,MAAAA,WAAW,SACT/L,OACA4W,cACc;AACRyQ,QAAAA,yBAAyBnL,sBAEzB;AAAA,IACJ4K,oBAAoBtC,UAAUJ;AAAAA,IAC9BiC,SAASiB,WAAW;AAAA,IACpBhB,OAAOiB,YAAY;AAAA;AAAA,IAEnBthB,kBAAkBohB,uBAAuBzjB;AAAAA,IACzCzD,UAAUqnB;AAAAA,IACVC,gBAAgB;AAAA,IAChB/e;AAAAA,IACAwM;AAAAA,IACAwS,qBAAqB1nB,MAAM0nB,sBACzBrD,8BAA4BrkB,MAAM0Y,aAAa,QAAQ;AAAA,IACzDiP;AAAAA,IACAC,mBAAmB5nB,MAAMiG,mBAAmBohB,uBAAuBzjB;AAAAA,IACnEikB;AAAAA;AAAAA,IAEA1I;AAAAA,IACA2I;AAAAA,IACA9Z,WAAW;AAAA,IACXsB;AAAAA,IACAoJ,WAAWqP,gBAAgB;AAAA,IAC3B3H;AAAAA,IACA4H,kBAAkB;AAAA,IAClBvZ,SAAS;AAAA,IACTwZ,oBAAoBjoB,MAAMiG,mBAAmBohB,uBAAuBzjB;AAAAA,IACpEskB;AAAAA,IACA3nB;AAAAA,IACA2V,SAAS;AAAA,IACT5V,OAAO;AAAA,IACP+H,OAAO8f,YAAY;AAAA,IACnB1K,SAASC,cAAcna,UAAUE;AAAAA,IACjC2kB;AAAAA,IACA,GAAG1Z;AAAAA,EAAAA,IACD1O,OAEEuC,OAAOuT,WAGPuQ,UADuBxa,4BACU,KAAQyb,UACzC7J,UAAUlY,aAAamY,WAAW,GAClCtW,MAAM4P,MAA8B,OAAA,IAAI,GACxCuP,WAAWvP,aAA8B,IAAI,GAC7CgO,eAA6B;AAGjCpO,QAAAA,oBAAAA,cACA,MAAMxP,IAAIE,OACZ;AAGA,QAAM+gB,oBAAoBrR,MAAAA,OAAexW,MAAS,GAE5C8nB,aAAaC,cAAQ,MAAM;AAC/B,UAAMhM,MAAoB,CAAE;AAG5B,YAAIkL,iBAAiBO,oBACnBzL,IAAI/S,KACFgf,WAAAA,KAAK;AAAA,MACH1D,UAAU8C,oBAAoBpnB;AAAAA,MAC9BknB;AAAAA,MACApY,SAAS0U;AAAAA,MACTgB;AAAAA,IACD,CAAA,CACH,GAIFzI,IAAI/S,KAAKif,kBAAO;AAAA,MAACC,UAAU3E;AAAAA,IAAAA,CAAyB,CAAC,IAGjD0D,iBAAiBE,wBACnBpL,IAAI/S,KACFM,KAAK;AAAA,MACHya,MAAM;AAAA,QAACiB;AAAAA,QAAgBC;AAAAA,QAAiBlf;AAAAA,QAAUmf;AAAAA,MAAAA,GAAiB;AAG/Cpe,0BAAAA,UAAUoe,gBAExBiC,wBACFphB,SAASwS,SAAS7T,MAAMmD,QAAQ,GAAGqd,cAAc,OAG/C+B,kBACFlhB,SAASwS,SAAS7T,MAAM4I,WAAW,GAAG0X,cAAc,MACpDjf,SAASwS,SAAS7T,MAAMggB,YAAY,GAAGO,eAAe;AAAA,MAE1D;AAAA,MACAxf,iBAAiB2hB,oBAAoBpnB;AAAAA,MAErCgkB;AAAAA,MAEAlV,SAAS0U;AAAAA,IACV,CAAA,CACH,GAIEgE,mBACFzL,IAAI/S,KACF0P,WAAAA,MAAM;AAAA,MACJ4L,UAAU8C,oBAAoBpnB;AAAAA,MAC9BwkB;AAAAA,MACA1V,SAAS0U;AAAAA,IACV,CAAA,CACH,GAIEuD,aACFhL,IAAI/S,KACF8c,WAAAA,MAAM;AAAA,MACJ1iB,SAAS2iB;AAAAA,MACTjX,SAAS0U;AAAAA,IAAAA,CACV,CACH,GAKEqC,WACF9J,IAAI/S,KAAK8O,MAAM,GAGjBiE,IAAI/S,KACFmf,gBAAK;AAAA,MACH7D,UAAUmD,qBAAqBznB;AAAAA,MAC/B8O,SAAS0U;AAAAA,MACT2C,UAAU;AAAA,IACX,CAAA,CACH,GAEOpK;AAAAA,EACN,GAAA,CACD8J,SACAkB,WACAE,eACAC,oBACAE,kBACApD,SACAmD,qBACAK,iBACAC,iBAAiB,CAClB,GAEK;AAAA,IAAC9O;AAAAA,IAAGE;AAAAA,IAAGZ;AAAAA,IAAgBC;AAAAA,IAAWkQ;AAAAA,IAAMjC;AAAAA,IAAUkC;AAAAA,MAAUC,uBAAY;AAAA,IAC5ER;AAAAA,IACA5P,WAAWqP;AAAAA,IACXgB,sBAAsBC,WAAAA;AAAAA,IACtBziB,UAAU2hB,mBACN;AAAA,MACEvD,WAAWuD;AAAAA,IAAAA,IAEb1nB;AAAAA,EACL,CAAA,GAEKyoB,kBAAkBxQ,eAAekQ,MAAMM,iBAEvCzC,SAAS/N,eAAe6N,OAAOnN,GAC/BsN,SAAShO,eAAe6N,OAAOjN,GAE/BE,UAAUd,eAAe,mBAAmB,GAAGc,SAC/CC,UAAUf,eAAe,mBAAmB,GAAGe,SAE/C0P,WAAWC,MAAAA,YAAaC,CAAmC,YAAA;AAC/D7C,aAASjf,UAAU8hB;AAAAA,KAClB,CAAE,CAAA,GAECC,cAAcF,kBACjBnlB,CAAgC,SAAA;AAC/BoD,QAAIE,UAAUtD,MACd4kB,KAAKS,YAAYrlB,IAAI;AAAA,EAAA,GAEvB,CAAC4kB,IAAI,CACP,GAEMU,eAAeH,kBAClBnlB,CAA6B,WAAA;AAC5B4kB,SAAKU,aAAatlB,MAAI;AAEhBulB,UAAAA,WAAWC,gBAAchC,SAAgB;AAE3C,WAAO+B,YAAa,aACtBA,SAASvlB,MAAI,IACJulB,aACTA,SAASjiB,UAAUtD;AAAAA,EAGvB,GAAA,CAACwjB,WAAWoB,IAAI,CAClB,GAEM5U,QAAQuU,MAAAA,QAAQ,MAEhBL,mBAAyBV,YAExBA,YAEEtT,MAAAA,aAAasT,WAAW;AAAA,IAACpgB,KAAKkiB;AAAAA,EAAa,CAAA,IAF3B,MAGtB,CAAC9B,WAAWU,kBAAkBoB,YAAY,CAAC;AAY9C,MAVAriB,gBAAU,MAAM;AACVmhB,kBACE,OAAOA,aAAc,aACvBA,UAAUS,MAAM,IACPT,cACTA,UAAU9gB,UAAUuhB;AAAAA,EAGvB,GAAA,CAACA,QAAQT,SAAS,CAAC,GAElBlT;AACF,WAAOsS,aAAe3mB,2BAAAA,IAAA4oB,WAAA,UAAA,EAAA;AAGlBhmB,QAAAA,UACH2Q,2BAAA,KAAA,eAAA,EAAc,SAGZyT,UAAAA;AAAAA,IAAAA,wCAAU,iBAAkB,EAAA;AAAA,IAE5BhnB,2BAAA,IAAA,aAAA,EACC,GAAI6N,WACJ,oBAAoB8V,SACpB,SACA,OAAO+C,WACP,UAAU2B,UACV,QACA,QACA,QAAQD,iBACR,UAAUd,WACV,UACA,SACA,WACA,QACA,KAAKkB,aACL,QACA,QACA,SACA,SACA,UACA,GACA,GAEC3gB,UACH,QAAA,CAAA;AAAA,EAAA,EACF,CAAA,GAGIvI,WACJ2nB,SACC1H,SACCvf,2BAAAA,IAAC,QAAO,EAAA,iBAAiB,OAAOuf,UAAW,WAAWA,SAAS5f,QAC7D,UAAAK,2BAAAA,IAAC,gBACC,MAAMP,SAAS,YAAaiC,MAAMjC,QAAQ,YAAaA,MACvD,QAAQC,UAAU,SAEjBkD,UACH,QAAA,CAAA,EAAA,CACF,IAEAA;AAGJ,SAGK4iB,2BAAAA,KAAAA,qBAAAA,EAAAA,UAAAA;AAAAA,IAAU,UAAAxlB,2BAAAA,IAAC6oB,aAAAA,iBAAiBvpB,EAAAA,SAAAA,CAAS,IAAqBA;AAAAA,IAG1D6T;AAAAA,EAAAA,GACH;AAEJ,CAAC,CACH;AAEAoT,QAAQxlB,cAAc;AAOtB,SAAS4nB,gBACP5lB,SAC2B;AAE3B,MAAI+lB,SAASjN,OAAOkN,yBAAyBhmB,QAAQ5D,OAAO,KAAK,GAAGkJ,KAChE2gB,UAAUF,UAAU,oBAAoBA,UAAUA,OAAOG;AAEzDD,SAAAA,UACMjmB,QAAgBwD,OAI1BuiB,SAASjN,OAAOkN,yBAAyBhmB,SAAS,KAAK,GAAGsF,KAC1D2gB,UAAUF,UAAU,oBAAoBA,UAAUA,OAAOG,gBAErDD,UACKjmB,QAAQ5D,MAAMoH,MAIhBxD,QAAQ5D,MAAMoH,OAAQxD,QAAgBwD;AAC/C;ACraO,MAAM2iB,QAAQhe,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAsM,WAAAnF,gBAAA6N,UAAA6B,UAAArI,WAAAxJ;AAAAjF,WAAAD,SAI9B;AAAA,IAAAwM;AAAAA,IAAA0I;AAAAA,IAAAhQ;AAAAA,IAAAmC;AAAAA,IAAA0P;AAAAA,IAAA,GAAArI;AAAAA,EAAA,IAA6E1O,OAAKC,OAAAD,OAAAC,OAAAuM,WAAAvM,OAAAoH,gBAAApH,OAAAiV,UAAAjV,OAAA8W,UAAA9W,OAAAyO,WAAAzO,OAAAiF,UAAAsH,YAAAvM,EAAA,CAAA,GAAAoH,iBAAApH,EAAA,CAAA,GAAAiV,WAAAjV,EAAA,CAAA,GAAA8W,WAAA9W,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAiF,QAAAjF,EAAA,CAAA;AAClFmH,QAAAA,MAAY4P,aAAA,IAAoC;AAAC3W,MAAAA;AAAAJ,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KAI/CU,KAAAA,MAAM+G,IAAGE,SAAQrH,OAAAI,MAAAA,KAAAJ,EAAA,CAAA,GAFnBgX,MAAAA,oBACEL,cACAvW,EACF,GAEA8G,kBAAkBC,KAAKC,cAAc;AAAC5G,MAAAA;AAAAR,WAAAuM,aAGpB/L,KAAAiP,IAAAA,kBAAkBlD,WAAWwd,WAAO,GAAC/pB,OAAAuM,WAAAvM,OAAAQ,MAAAA,KAAAR,EAAA,CAAA;AAEjCS,QAAAA,MAACwU,YAAY6B,WAAW,KAAEvW,QAC9BI,KAAAyG,iBAAiB,KAAE7G,QAErBkB,KAAAwT,YAAY6B;AAAQhI,MAAAA;AAAA9O,IAAA8W,EAAAA,MAAAA,YAAA9W,EAAA,EAAA,MAAAyO,aAAAzO,EAAAS,EAAAA,MAAAA,MAAAT,EAAA,EAAA,MAAAW,MAAAX,UAAAyB,MAJhCqN,KAQElO,2BAAAA,IAAA,SAPgB,EAAA,kBAAAH,IACJ,cAAAE,IAA+B,GACvC8N,WACM,UAAAhN,IACAqV,UACL3P,KACA,MAAA,SACL,GAAAnH,QAAA8W,UAAA9W,QAAAyO,WAAAzO,QAAAS,IAAAT,QAAAW,IAAAX,QAAAyB,IAAAzB,QAAA8O,MAAAA,KAAA9O,EAAA,EAAA;AAAA+O,MAAAA;AAAA/O,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KACFqP,KAAQnO,2BAAA,IAAA,QAAA,CAAA,CAAA,GAAAZ,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA;AAAAwP,MAAAA;AAAA,SAAAxP,EAAAiF,EAAAA,MAAAA,SAAAjF,UAAAQ,MAAAR,EAAA,EAAA,MAAA8O,MAVVU,KAAA2E,2BAAAA,KAAA,OAAA,EAAgB,WAAA3T,IAA+C,WAAA,SAAeyE,OAC5E6J,UAAAA;AAAAA,IAAAA;AAAAA,IASAC;AAAAA,EAAAA,GACF,GAAM/O,QAAAiF,OAAAjF,QAAAQ,IAAAR,QAAA8O,IAAA9O,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GAXNwP;AAWM,CAET;AAEDsa,MAAMnoB,cAAc;ACjBb,MAAMqoB,SAASle,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAAC,MAAAA,UAAAkH,gBAAA6N,UAAAnI,KAAAgK,UAAArI,WAAArO,IAAAI,IAAAC,IAAAE,IAAAc;AAAAzB,WAAAD,SAI/B;AAAA,IAAAoI,QAAA/H;AAAAA,IAAAF;AAAAA,IAAAkH;AAAAA,IAAA6N;AAAAA,IAAArC,UAAApS;AAAAA,IAAAsM;AAAAA,IAAAuC,SAAA5O;AAAAA,IAAA+N,QAAA7N;AAAAA,IAAAmW;AAAAA,IAAA5B,OAAAzT;AAAAA,IAAA,GAAAgN;AAAAA,EAAAA,IAYI1O,OAAKC,OAAAD,OAAAC,OAAAE,UAAAF,OAAAoH,gBAAApH,OAAAiV,UAAAjV,OAAA8M,KAAA9M,OAAA8W,UAAA9W,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,IAAAR,OAAAS,IAAAT,QAAAW,IAAAX,QAAAyB,OAAAvB,WAAAF,EAAA,CAAA,GAAAoH,iBAAApH,EAAA,CAAA,GAAAiV,WAAAjV,EAAA,CAAA,GAAA8M,MAAA9M,EAAA,CAAA,GAAA8W,WAAA9W,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA,GAAAS,KAAAT,EAAA,CAAA,GAAAW,KAAAX,EAAA,EAAA,GAAAyB,KAAAzB,EAAA,EAAA;AAXPmI,QAAAA,SAAA/H,OAAaG,cAAbH,IAIAwS,WAAApS,OAAYD,aAAZC,IAEA6O,UAAA5O,OAAWF,aAAXE,IACA+N,SAAA7N,OAAUJ,aAAVI,IAEAuU,QAAAzT,OAASlB,aAATkB,IAIF0F,MAAY4P,MAAAA,OAAA,IAAqC;AAACjI,MAAAA;AAAA9O,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAIhDoP,KAAAA,MAAM3H,IAAGE,SAAQrH,QAAA8O,MAAAA,KAAA9O,EAAA,EAAA,GAFnBgX,MAAAA,oBACEL,cACA7H,EACF,GAEA5H,kBAAkBC,KAAKC,cAAc;AAK0B,QAAA2H,KAAAjC,OAAOoI;AAAK1F,MAAAA;AAAAxP,IAAAmI,EAAAA,MAAAA,UAAAnI,EAAA,EAAA,MAAA4S,YAAA5S,EAAAqP,EAAAA,MAAAA,WAAArP,EAAA,EAAA,MAAAwO,UAAAxO,UAAA+O,MAA5DS,KAAAya,WAAA;AAAA,IAAA9hB;AAAAA,IAAAyK;AAAAA,IAAAvD;AAAAA,IAAAb;AAAAA,IAAA1B,KAAgDiC;AAAAA,EAAa,CAAA,GAAC/O,QAAAmI,QAAAnI,QAAA4S,UAAA5S,QAAAqP,SAAArP,QAAAwO,QAAAxO,QAAA+O,IAAA/O,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA;AAIvD,QAAA2P,MAACsF,YAAY6B,WAAW,KAAEvW;AAAYiR,MAAAA;AAAAxR,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAE3C8R,KAAA0Y,IAAc,cAAA,GAAClqB,QAAAwR,MAAAA,KAAAxR,EAAA,EAAA;AAChB,QAAA2R,MAAAsD,YAAY6B;AAAQlF,MAAAA;AAAA5R,IAAA,EAAA,MAAAE,YAAAF,EAAAyO,EAAAA,MAAAA,aAAAzO,EAAA2R,EAAAA,MAAAA,OAAA3R,UAAA2P,MAJhCiC,MAQShR,2BAAA,IAAA,UAAA,EAPS,kBAAA+O,IAAsC,GAClDlB,WACO,WAAA+C,IACD,UAAAG,KACLxK,KAEG,SAAA,CACV,GAASnH,QAAAE,UAAAF,QAAAyO,WAAAzO,QAAA2R,KAAA3R,QAAA2P,IAAA3P,QAAA4R,OAAAA,MAAA5R,EAAA,EAAA;AAAA8R,MAAAA;AAAA9R,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KACQoS,MAAAqY,IAAmB,mBAAA,GAACnqB,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA;AAAA+R,MAAAA;AAAA/R,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAG/BqS,MAACnR,2BAAA,IAAAwpB,MAAA,iBAAA,CAAkB,CAAA,GAAApqB,QAAA+R,OAAAA,MAAA/R,EAAA,EAAA;AAAAiS,MAAAA;AAAAjS,YAAA4S,YADrBX,MAACrR,+BAAA,MAAA,EAAWgS,MAAAA,UACVb,UAAAA,KACF,GAAO/R,QAAA4S,UAAA5S,QAAAiS,OAAAA,MAAAjS,EAAA,EAAA;AAAAkS,MAAAA;AAAAlS,IAAAqP,EAAAA,MAAAA,WAAArP,UAAAiS,OAJXC,MAMOtR,2BAAA,IAAA,UANU,WAAAkR,KACf,UAAClR,2BAAAA,IAAA,KAAA,EAAO,IAAA,QAAe,SAAA,gBAAwByO,SAC7C4C,eAGF,EACF,CAAA,GAAOjS,QAAAqP,SAAArP,QAAAiS,KAAAjS,QAAAkS,OAAAA,MAAAlS,EAAA,EAAA;AAAAoS,MAAAA;AAAApS,SAAAA,EAAA4R,EAAAA,MAAAA,OAAA5R,UAAAkS,OAAAlS,EAAA,EAAA,MAAAwP,MApBT4C,sCAAA,OACU,EAAA,WAAA,UACG,WAAA5C,IACK,mBAAA,IAEhBoC,UAAAA;AAAAA,IAAAA;AAAAA,IASAM;AAAAA,EAAAA,GAOF,GAAMlS,QAAA4R,KAAA5R,QAAAkS,KAAAlS,QAAAwP,IAAAxP,QAAAoS,OAAAA,MAAApS,EAAA,EAAA,GArBNoS;AAqBM,CAET;AAED4X,OAAOroB,cAAc;AC5Dd,MAAM0oB,QAAQve,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAAgP,MAAAA,IAAA1C,WAAAO,KAAA2B,WAAAyG;AAAAlV,WAAAD,SAI9B;AAAA,IAAAkP;AAAAA,IAAA1C;AAAAA,IAAAO;AAAAA,IAAAoI;AAAAA,IAAA,GAAAzG;AAAAA,EAAAA,IAAkD1O,OAAKC,OAAAD,OAAAC,OAAAiP,IAAAjP,OAAAuM,WAAAvM,OAAA8M,KAAA9M,OAAAyO,WAAAzO,OAAAkV,UAAAjG,KAAAjP,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAA8M,MAAA9M,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAkV,QAAAlV,EAAA,CAAA;AAAAI,MAAAA;AAAAJ,WAAAuM,aAQxCnM,KAAAqP,IAAAA,kBAAkBlD,WAAW+d,WAAO,GAACtqB,OAAAuM,WAAAvM,OAAAI,MAAAA,KAAAJ,EAAA,CAAA;AAE3C,QAAAQ,KAAAsM,OAAOoI;AAAKzU,MAAAA;AAAA,SAAAT,EAAAiP,CAAAA,MAAAA,MAAAjP,EAAA,CAAA,MAAAmH,OAAAnH,EAAAyO,EAAAA,MAAAA,aAAAzO,EAAA,EAAA,MAAAI,MAAAJ,UAAAQ,MAPnBC,KAACG,2BAAA,IAAA,KAAA,EACS,WAAA,SACJ6N,GAAAA,WACAQ,IACK,UAAA,OACE,WAAA7O,IACH,SAAA,QACH,KAAAI,IACA2G,IACL,CAAA,GAAAnH,OAAAiP,IAAAjP,OAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAI,IAAAJ,QAAAQ,IAAAR,QAAAS,MAAAA,KAAAT,EAAA,EAAA,GATFS;AASE,CAEL;AAED4pB,MAAM1oB,cAAc;ACjBb,MAAM4oB,SAASze,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAA2W,SAAArK,WAAA0I,UAAA4B,eAAAC,UAAArI,WAAAxJ;AAAAjF,WAAAD,SAI/B;AAAA,IAAA6W;AAAAA,IAAArK;AAAAA,IAAA0I;AAAAA,IAAA4B;AAAAA,IAAAC;AAAAA,IAAA7R;AAAAA,IAAA,GAAAwJ;AAAAA,EAAqF1O,IAAAA,OAAKC,OAAAD,OAAAC,OAAA4W,SAAA5W,OAAAuM,WAAAvM,OAAAiV,UAAAjV,OAAA6W,eAAA7W,OAAA8W,UAAA9W,OAAAyO,WAAAzO,OAAAiF,UAAA2R,UAAA5W,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAiV,WAAAjV,EAAA,CAAA,GAAA6W,gBAAA7W,EAAA,CAAA,GAAA8W,WAAA9W,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAiF,QAAAjF,EAAA,CAAA;AAC1FmH,QAAAA,MAAY4P,aAAA,IAAoC;AAAC3W,MAAAA;AAAAJ,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KAI/CU,KAAAA,MAAM+G,IAAGE,SAAQrH,OAAAI,MAAAA,KAAAJ,EAAA,CAAA,GAFnBgX,MAAAA,oBACEL,cACAvW,EACF;AAAC,MAAAI,IAAAC;AAAAT,WAAA6W,iBAESrW,KAAAA,MAAA;AACJ2G,QAAGE,YAELF,IAAGE,QAAAwP,gBAAyBA,iBAAsB;AAAA,EAAA,GAEnDpW,MAACoW,aAAa,GAAC7W,OAAA6W,eAAA7W,QAAAQ,IAAAR,QAAAS,OAAAD,KAAAR,EAAA,EAAA,GAAAS,KAAAT,EAAA,EAAA,IALlBgH,gBAAUxG,IAKPC,EAAe;AAACE,MAAAA;AAAAX,YAAAuM,aAIJ5L,KAAA8O,IAAAA,kBAAkBlD,WAAWie,aAAS,GAACxqB,QAAAuM,WAAAvM,QAAAW,MAAAA,KAAAX,EAAA,EAAA;AACpCyB,QAAAA,KAAAmV,UAAU,KAAErW,QACNuO,KAAA+H,gBAAgB,KAAEtW,QAQ3BwO,KAAA8H,kBAAa,MAAaD;AAAOpH,MAAAA;AAAAxP,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAC/B8P,KAAAib,IAAe,eAAA,GAACzqB,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA;AACZ2P,QAAAA,KAAAsF,WAAW,KAAE1U,QACZiR,MAACyD,YAAY6B,WAAW,KAAEvW,QAChCoR,MAAAsD,YAAY6B;AAAQlF,MAAAA;AAAA5R,IAAAyO,EAAAA,MAAAA,aAAAzO,EAAA,EAAA,MAAA2R,OAAA3R,EAAA+O,EAAAA,MAAAA,MAAA/O,EAAA,EAAA,MAAA2P,MAAA3P,UAAAwR,MANhCI,gDACMnD,GAAAA,WACK,SAAAM,IACE,WAAAS,IACI,iBAAAG,IACC,kBAAA6B,IACN,UAAAG,KACL,MAAA,YACAxK,IAAAA,CACL,GAAAnH,QAAAyO,WAAAzO,QAAA2R,KAAA3R,QAAA+O,IAAA/O,QAAA2P,IAAA3P,QAAAwR,IAAAxR,QAAA4R,OAAAA,MAAA5R,EAAA,EAAA;AAAA8R,MAAAA;AAAA9R,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KACFoS,MAGOqC,2BAAA,KAAA,QAHD,EAAA,mBAAuB,WAAAuW,IAAAA,oBAC3B,GAAA,UAAA;AAAA,IAAmC9pB,2BAAAA,IAAA,QAAA,EAAlB,WAAA+pB,IAAAA;IACkB/pB,2BAAAA,IAAA,QAAA,EAAlB,WAAAgqB,IAAAA,aAAAA,EAAc,CAAA;AAAA,EAAA,EACjC,CAAA,GAAO5qB,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA;AAAA+R,MAAAA;AAAA,SAAA/R,EAAAiF,EAAAA,MAAAA,SAAAjF,EAAA,EAAA,MAAA4R,OAAA5R,EAAAW,EAAAA,MAAAA,MAAAX,EAAA,EAAA,MAAAyB,MAAAzB,UAAA8O,MAtBTiD,MAAAoC,2BAAAA,KAAC,KACY,EAAA,WAAAxT,IACG,gBAAAc,IACM,sBAAAqN,IACZ,WAAA,UACA,SAAA,gBACC,UAAA,YACF7J,OAEP2M,UAAAA;AAAAA,IAAAA;AAAAA,IAUAE;AAAAA,EAAAA,EAAAA,CAIF,GAAM9R,QAAAiF,OAAAjF,QAAA4R,KAAA5R,QAAAW,IAAAX,QAAAyB,IAAAzB,QAAA8O,IAAA9O,QAAA+R,OAAAA,MAAA/R,EAAA,EAAA,GAvBN+R;AAuBM,CAET;AAEDwY,OAAO5oB,cAAc;AC1Cd,MAAMkpB,WAAW/e,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAmH,gBAAA0F,KAAA2B,WAAArO,IAAAI,IAAAC,IAAAE,IAAAc,IAAAqN;AAAA9O,WAAAD,SAIjC;AAAA,IAAAoI,QAAA/H;AAAAA,IAAAgH;AAAAA,IAAA6N,UAAAzU;AAAAA,IAAAoS,UAAAnS;AAAAA,IAAAqM;AAAAA,IAAAuC,SAAA1O;AAAAA,IAAA6N,QAAA/M;AAAAA,IAAAyT,OAAApG;AAAAA,IAAA,GAAAL;AAAAA,EAAAA,IAYI1O,OAAKC,OAAAD,OAAAC,OAAAoH,gBAAApH,OAAA8M,KAAA9M,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,IAAAR,OAAAS,IAAAT,OAAAW,IAAAX,OAAAyB,IAAAzB,OAAA8O,OAAA1H,iBAAApH,EAAA,CAAA,GAAA8M,MAAA9M,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,CAAA,GAAAS,KAAAT,EAAA,CAAA,GAAAW,KAAAX,EAAA,CAAA,GAAAyB,KAAAzB,EAAA,CAAA,GAAA8O,KAAA9O,EAAA,CAAA;AAXP,QAAAmI,SAAA/H,OAAaG,cAAbH,IAEA6U,WAAAzU,OAAgBD,cAAhBC,IACAoS,WAAAnS,OAAYF,aAAZE,IAEA4O,UAAA1O,OAAWJ,aAAXI,IACA6N,SAAA/M,OAAUlB,aAAVkB,IACAyT,QAAApG,OAASvO,aAATuO,IAMF3H,MAAY4P,aAAA,IAAuC;AAAChI,MAAAA;AAAA/O,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAIlDqP,KAAAA,MAAM5H,IAAGE,SAAQrH,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA,GAFnBgX,MAAAA,oBACEL,cACA5H,EACF,GAEA7H,kBAAkBC,KAAKC,cAAc;AAI4B,QAAAoI,KAAA1C,OAAOoI;AAAKvF,MAAAA;AAAA3P,IAAAmI,EAAAA,MAAAA,UAAAnI,EAAA,EAAA,MAAA4S,YAAA5S,EAAAqP,EAAAA,MAAAA,WAAArP,EAAA,EAAA,MAAAwO,UAAAxO,UAAAwP,MAA9DG,KAAAmb,aAAA;AAAA,IAAA3iB;AAAAA,IAAAyK;AAAAA,IAAAvD;AAAAA,IAAAb;AAAAA,IAAA1B,KAAkD0C;AAAAA,EAAa,CAAA,GAACxP,QAAAmI,QAAAnI,QAAA4S,UAAA5S,QAAAqP,SAAArP,QAAAwO,QAAAxO,QAAAwP,IAAAxP,QAAA2P,MAAAA,KAAA3P,EAAA,EAAA;AAAAwR,MAAAA;AAAAxR,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAGvC8R,KAAA0Y,IAAc,cAAA,GAAClqB,QAAAwR,MAAAA,KAAAxR,EAAA,EAAA;AAAA2R,MAAAA;AAAA3R,IAAAiV,EAAAA,MAAAA,YAAAjV,UAAAyO,aAAnDkD,mDAAclD,GAAAA,WAAsB,WAAA+C,IAA2ByD,UAAe9N,IAAO,CAAA,GAAAnH,QAAAiV,UAAAjV,QAAAyO,WAAAzO,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA;AAAA4R,MAAAA;AAAA5R,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KACrFkS,MAAAhR,2BAAA,IAAA,QAAA,EAAiB,WAAAmqB,uBAAmB,EAAA,CAAK,GAAA/qB,QAAA4R,OAAAA,MAAA5R,EAAA,EAAA;AAAA8R,MAAAA;AAAA,SAAA9R,EAAA2R,EAAAA,MAAAA,OAAA3R,UAAA2P,MAL3CmC,gDACa,WAAAnC,IACH,WAAA,YAERgC,UAAAA;AAAAA,IAAAA;AAAAA,IACAC;AAAAA,EAAAA,EACF,CAAA,GAAO5R,QAAA2R,KAAA3R,QAAA2P,IAAA3P,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA,GANP8R;AAMO,CAEV;AAED+Y,SAASlpB,cAAc;ACgBvB,MAAMqpB,yBAAwC;AAAA,EAC5CC,iBAAiB;AAAA,EACjBtH,KAAK;AAAA,EACL0B,OAAO;AAAA,EACPrH,QAAQ;AACV,GAOakN,YAAYpf,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAoV,eAAAE,oBAAA4V,6BAAA5e,WAAA6e,aAAAhkB,gBAAA0F,KAAAue,SAAAC,QAAAxU,UAAArI,WAAA8c,QAAAnrB,IAAAI,IAAAC,IAAAE,IAAAc,IAAAqN,IAAAC,IAAA3G;AAAApI,MAAAA,SAAAD,OAAA;AAIlC,UAAA;AAAA,MAAAorB,6BAAA3b;AAAAA,MAAArH,QAAAwH;AAAAA,MAAApD,WAAAiF;AAAAA,MAAA4Z,aAAAzZ;AAAAA,MAAAsD,UAAArD;AAAAA,MAAAgB,UAAAd;AAAAA,MAAAhF,KAAAiF;AAAAA,MAAAqD,MAAAnD;AAAAA,MAAAqD,WAAApD;AAAAA,MAAAmZ,SAAAjZ;AAAAA,MAAA/C,SAAAgD;AAAAA,MAAAiZ,QAAAhZ;AAAAA,MAAA9D,QAAAgE;AAAAA,MAAAsE,UAAA0U;AAAAA,MAAAtW,OAAAuW;AAAAA,MAAAF,QAAAG;AAAAA,MAAAtkB,gBAAAukB;AAAAA,MAAAxoB,MAAAyoB;AAAAA,MAAA5b,QAAA6b;AAAAA,MAAAzjB,OAAA0jB;AAAAA,MAAA,GAAAC;AAAAA,IAAAA,IAsBIhsB;AAtBJyP,kCAAAA,KAAApP,KAAAuP,KAAApD,YAAAiF,KAAA4Z,cAAAzZ,MAAAnR,KAAAoR,MAAAnR,KAAAqR,MAAAhF,MAAAiF,MAAAsD,gBAAApD,MAAAsD,qBAAArD,MAAAmZ,UAAAjZ,MAAAzR,KAAA0R,MAAAiZ,SAAAhZ,MAAA7Q,KAAA+Q,MAAAsE,WAAA0U,MAAA1c,KAAA2c,MAAAF,SAAAG,MAAAtkB,iBAAAukB,MAAA5c,KAAA6c,MAAAxjB,QAAA0jB,MAAArd,YAAAsd,MAsBS/rB,OAAAD,OAAAC,OAAAqV,eAAArV,OAAAuV,oBAAAvV,OAAAmrB,6BAAAnrB,OAAAuM,WAAAvM,OAAAorB,aAAAprB,OAAAoH,gBAAApH,OAAA8M,KAAA9M,OAAAqrB,SAAArrB,OAAAsrB,QAAAtrB,QAAA8W,UAAA9W,QAAAyO,WAAAzO,QAAAurB,QAAAvrB,QAAAI,IAAAJ,QAAAQ,IAAAR,QAAAS,IAAAT,QAAAW,IAAAX,QAAAyB,IAAAzB,QAAA8O,IAAA9O,QAAA+O,IAAA/O,QAAAoI;AAAAA,EAAA;AAAAiN,oBAAArV,EAAA,CAAA,GAAAuV,qBAAAvV,EAAA,CAAA,GAAAmrB,8BAAAnrB,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAAorB,cAAAprB,EAAA,CAAA,GAAAoH,iBAAApH,EAAA,CAAA,GAAA8M,MAAA9M,EAAA,CAAA,GAAAqrB,UAAArrB,EAAA,CAAA,GAAAsrB,SAAAtrB,EAAA,CAAA,GAAA8W,WAAA9W,EAAA,EAAA,GAAAyO,YAAAzO,EAAA,EAAA,GAAAurB,SAAAvrB,EAAA,EAAA,GAAAI,KAAAJ,EAAA,EAAA,GAAAQ,KAAAR,EAAA,EAAA,GAAAS,KAAAT,EAAA,EAAA,GAAAW,KAAAX,EAAA,EAAA,GAAAyB,KAAAzB,EAAA,EAAA,GAAA8O,KAAA9O,EAAA,EAAA,GAAA+O,KAAA/O,EAAA,EAAA,GAAAoI,QAAApI,EAAA,EAAA;AApBPmI,QAAAA,SAAA/H,OAAaG,cAAbH,IAGA6U,WAAAzU,OAAgBD,cAAhBC,IACAoS,WAAAnS,OAAYF,aAAZE,IAKA4O,UAAA1O,OAAWJ,aAAXI,IAEA6N,SAAA/M,OAAUlB,aAAVkB,IAEAyT,QAAApG,OAASvO,aAATuO,IAGA3L,OAAA4L,OAAaxO,SAAN,SAAPwO,IAKF5H,MAAY4P,aAAA,IAAoC,GAEhDiV,eAAqB1mB,aAAa+J,OAAO,GAEzC4c,kBAAwBtlB,CAAQykB,CAAAA;AAAY5b,MAAAA;AAAAxP,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAI1C8P,KAAAA,MAAMrI,IAAGE,SAAQrH,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GAFnBgX,MAAAA,oBACEL,cACAnH,EACF,GAEAtI,kBAAkBC,KAAKC,cAAc;AAGrC,QAAA8kB,uBAAAhmB;AAGMyJ,MAAAA;AAAA3P,YAAAqrB,WAGJ1b,KAAAvF,CAAA,YAAA;AACO+hB,YAAAA,eAAAA,GACLliB,QAAKmiB,gBAAiB,GAElBf,WAASA,WAGblkB,IAAGE,SAAAglB,MAAA;AAAA,EAAA,GACJrsB,QAAAqrB,SAAArrB,QAAA2P,MAAAA,KAAA3P,EAAA,EAAA;AATH,QAAAssB,mBAAyB3c;AAWxB,MAAA6B,IAAAG;AAAA3R,YAAAgsB,gBAIGra,MAAAqa,aAAYva,IAAAkN,MAMX,GAAC3e,QAAAgsB,cAAAhsB,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA,GAAAwR,KANFG;AAFJ,QAAA4a,wBAA8B/a;AAU7B,MAAAI,KAAAE;AAAA9R,YAAAgsB,gBAIGla,MAAAka,aAAYva,IAAA+a,MAMX,GAACxsB,QAAAgsB,cAAAhsB,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA,GAAA4R,MANFE;AAFJ,QAAA2a,qBAA2B7a;AAU1BG,MAAAA;AAGQgK,QAAAA,SAASqP,WAAW,IAAIA,cAAWhpB;AAD5CsqB,QAAAA,mBAAoD3a,KAgBvCE,MAAAnF,OAAOoI;AAAKhD,MAAAA;AAAAlS,IAAAmI,EAAAA,MAAAA,UAAAnI,EAAAuM,EAAAA,MAAAA,aAAAvM,EAAA4S,EAAAA,MAAAA,YAAA5S,UAAAqP,WAAArP,EAAA,EAAA,MAAAwO,UAAAxO,EAAA,EAAA,MAAAiS,OAAAjS,EAAA,EAAA,MAAAoI,SAPV8J,MAAAzC,IAAAA,kBACTlD,WACAogB,IAAAA,UAAA;AAAA,IAAAxkB;AAAAA,IAAAyK;AAAAA,IAAAvD;AAAAA,IAAAb;AAAAA,IAAA1B,KAKOmF;AAAAA,IAAY7J;AAAAA,EAAAA,CAElB,CACH,GAACpI,QAAAmI,QAAAnI,QAAAuM,WAAAvM,QAAA4S,UAAA5S,QAAAqP,SAAArP,QAAAwO,QAAAxO,QAAAiS,KAAAjS,QAAAoI,OAAApI,QAAAkS,OAAAA,MAAAlS,EAAA,EAAA;AACe,QAAAoS,MAAAiD,gBAAgB,KAAE9U,QACjB8R,MAAAkD,qBAAqB,KAAEhV,QAC3B+R,MAAAgZ,SAAS,KAAE/qB,QACXiS,MAAA+Y,SAAS,KAAEhrB;AAAYirB,MAAAA;AAAAxrB,YAAAsrB,UAInCE,MAAAF,UACE1qB,2BAAAA,IAAA,KAAA,EAAO,IAAA,QAAiB,WAAA,qBAA2B,QAAA,UAClD,UAAAA,2BAAAA,IAAA,QAAA,EAAO0qB,UAAO,OAAA,CAAA,EAAA,CAChB,GACDtrB,QAAAsrB,QAAAtrB,QAAAwrB,OAAAA,MAAAxrB,EAAA,EAAA;AAAAyrB,MAAAA;AAAAzrB,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAMc+rB,MAAAvB,IAAc,cAAA,GAAClqB,QAAAyrB,OAAAA,MAAAzrB,EAAA,EAAA;AAAA0rB,MAAAA;AAAA1rB,IAAA,EAAA,MAAAiV,YAAAjV,EAAA8W,EAAAA,MAAAA,YAAA9W,EAAAyO,EAAAA,MAAAA,aAAAzO,UAAAmD,QAH5BuoB,MAQE9qB,2BAAAA,IAAA,WAAA,GANI6N,WACO,WAAAgd,KACDxW,UACA6B,UACL3P,KACChE,MACN,GAAAnD,QAAAiV,UAAAjV,QAAA8W,UAAA9W,QAAAyO,WAAAzO,QAAAmD,MAAAnD,QAAA0rB,OAAAA,MAAA1rB,EAAA,EAAA;AAAA2rB,MAAAA;AAAA3rB,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAKWisB,MAAAZ,IAAmB,mBAAA,GAAC/qB,QAAA2rB,OAAAA,MAAA3rB,EAAA,EAAA;AACN4rB,QAAAA,MAAAT,8BAA8B,KAAE5qB;AAAYurB,MAAAA;AAAA9rB,IAAAqV,EAAAA,MAAAA,iBAAArV,UAAA4S,YAAA5S,EAAA,EAAA,MAAAqP,WAGpEyc,MAAAzW,iBACEzU,+BAAA,KAAA,EAAO,IAAA,QAAgByO,SAAkB,UAAA,YAAkB,OAAA;AAAA,IAAAsU,KAAA;AAAA,IAAAyB,MAAA;AAAA,EAAA,GAC1D,UAAAjR,2BAAAA,KAAC,MAAWvB,EAAAA,MAAO,UAChBS,UAAAA;AAAAA,IAAAA,MAAAA,eAAegC,aAAa,KAAKA;AAAAA,IACjCrE,QAAAA,mBAAmBqE,aAAa,KAAKzU,2BAAA,IAAC,eAAa,CAAA,CAAA;AAAA,EAAA,GACtD,EAAA,CACF,GACDZ,QAAAqV,eAAArV,QAAA4S,UAAA5S,QAAAqP,SAAArP,QAAA8rB,OAAAA,MAAA9rB,EAAA,EAAA;AAAA+rB,MAAAA;AAAA/rB,IAAA,EAAA,MAAAuV,sBAAAvV,EAAA4S,EAAAA,MAAAA,YAAA5S,EAAAqP,EAAAA,MAAAA,WAAArP,UAAAisB,mBAEAF,MAAA,CAACE,mBAAmB1W,sBACnB3U,2BAAA,IAAC,KAAO,EAAA,IAAA,QAAgByO,SAAkB,UAAA,YAAkB,OAAA;AAAA,IAAAsU,KAAA;AAAA,IAAA0B,OAAA;AAAA,EAAA,GAC1D,UAAAlR,2BAAAA,KAAC,MAAWvB,EAAAA,MAAO,UAChBS,UAAAA;AAAAA,IAAAA,MAAAA,eAAekC,kBAAkB,KAAKA;AAAAA,IACtCvE,QAAAA,mBAAmBuE,kBAAkB,KAAK3U,2BAAA,IAAC,oBAAkB,CAAA,CAAA;AAAA,EAChE,EAAA,CAAA,EACF,CAAA,GACDZ,QAAAuV,oBAAAvV,QAAA4S,UAAA5S,QAAAqP,SAAArP,QAAAisB,iBAAAjsB,QAAA+rB,OAAAA,MAAA/rB,EAAA,EAAA;AAAA4sB,MAAAA;AAAA5sB,IAAA4rB,EAAAA,MAAAA,OAAA5rB,UAAA8rB,OAAA9rB,EAAA,EAAA,MAAA+rB,OAvBHa,MAACzY,2BAAA,KAAA,OACI,IAAA,QAEQ,WAAAwX,KACc,2BAAAC,KAChB,UAAA,YAERE,UAAAA;AAAAA,IAAAA;AAAAA,IASAC;AAAAA,EAAAA,GAQH,GAAM/rB,QAAA4rB,KAAA5rB,QAAA8rB,KAAA9rB,QAAA+rB,KAAA/rB,QAAA4sB,OAAAA,MAAA5sB,EAAA,EAAA;AAAA6sB,MAAAA;AAAA7sB,IAAA,EAAA,MAAAorB,eAAAprB,EAAAusB,EAAAA,MAAAA,yBAAAvsB,UAAAysB,sBAAAzsB,EAAA,EAAA,MAAA0sB,oBAAA1sB,EAAAiV,EAAAA,MAAAA,YAAAjV,EAAA4S,EAAAA,MAAAA,YAAA5S,EAAA,EAAA,MAAAssB,oBAAAtsB,EAAAwO,EAAAA,MAAAA,UAAAxO,UAAA8W,YAEL+V,OAAC5X,YAAQ,CAAK6B,YAAYsU,eACzBxqB,2BAAAA,IAAC,KACI,EAAA,IAAA,QACM2rB,gCACA,UAAA,YACFvB,OAAAA,wBAGP,UAAApqB,2BAAA,IAAC,QACY,EAAA,cAAA,SACH,WAAA,gBACA,SAAA,SACEgS,UACJka,MAAQA,MACT,WAAA,MAAA,SACIL,SAAiB,oBAClBje,WACJke,kBACKJ,SAAAA,kBACIJ,aAAAA,qBAAAA,CAEjB,GAAA,GACDlsB,QAAAorB,aAAAprB,QAAAusB,uBAAAvsB,QAAAysB,oBAAAzsB,QAAA0sB,kBAAA1sB,QAAAiV,UAAAjV,QAAA4S,UAAA5S,QAAAssB,kBAAAtsB,QAAAwO,QAAAxO,QAAA8W,UAAA9W,QAAA6sB,OAAAA,MAAA7sB,EAAA,EAAA;AAAA+sB,MAAAA;AAAA/sB,IAAA0rB,EAAAA,MAAAA,OAAA1rB,UAAA4sB,OAAA5sB,EAAA,EAAA,MAAA6sB,OA3DHE,sCAAC,KAAO,EAAA,IAAA,QAAa,MAAC,GAAW,UAAA,YAC/BrB,UAAAA;AAAAA,IAAAA;AAAAA,IAUAkB;AAAAA,IA0BCC;AAAAA,EAAAA,GAuBH,GAAM7sB,QAAA0rB,KAAA1rB,QAAA4sB,KAAA5sB,QAAA6sB,KAAA7sB,QAAA+sB,OAAAA,MAAA/sB,EAAA,EAAA;AAAAgtB,MAAAA;AAAAhtB,YAAAurB,UAELyB,MAAAzB,UACE3qB,2BAAAA,IAAA,KAAA,EAAO,IAAA,QAAiB,WAAA,qBAA2B,QAAA,UAClD,UAAAA,2BAAAA,IAAA,QAAA,EAAO2qB,UAAO,OAAA,CAAA,EAAA,CAChB,GACDvrB,QAAAurB,QAAAvrB,QAAAgtB,OAAAA,MAAAhtB,EAAA,EAAA;AAAAitB,MAAAA;AAAAjtB,SAAAA,EAAA,EAAA,MAAAkS,OAAAlS,EAAA,EAAA,MAAAoS,OAAApS,EAAA,EAAA,MAAAqS,OAAArS,EAAAsS,EAAAA,MAAAA,OAAAtS,EAAAwS,EAAAA,MAAAA,OAAAxS,EAAAwrB,EAAAA,MAAAA,OAAAxrB,EAAA+sB,EAAAA,MAAAA,OAAA/sB,UAAAgtB,OA7FHC,sCAAC,KACO,EAAA,OAAA,UACH,IAAA,QACQ,WAAA/a,KAWK,kBAAAE,KACC,mBAAAC,KACJ,eAAAC,KACA,eAAAE,KACL,WAAA,aACA,SAAA,QAEPgZ,UAAAA;AAAAA,IAAAA;AAAAA,IAMDuB;AAAAA,IA8DCC;AAAAA,EAAAA,EAKH,CAAA,GAAMhtB,QAAAkS,KAAAlS,QAAAoS,KAAApS,QAAAqS,KAAArS,QAAAsS,KAAAtS,QAAAwS,KAAAxS,QAAAwrB,KAAAxrB,QAAA+sB,KAAA/sB,QAAAgtB,KAAAhtB,QAAAitB,OAAAA,MAAAjtB,EAAA,EAAA,GA9FNitB;AA8FM,CAET;AAED/B,UAAUvpB,cAAc;AA3LY,SAAAuE,MAAA+D,OAAA;AA0C3BkiB,QAAAA,eAAAA,GACLliB,MAAKmiB,gBAAiB;AAAC;AA3CS,SAAAzN,OAAAE,GAAA;AAAA,SA8DxBA,MAAO,IAAA,IACPA,MAAO,KACPA,MAAO,IAAA,IAEJ,OAAOA,KAAM,WAAWA,QAAS;AAAA;AAlEZ,SAAA2N,OAAA5N,KAAA;AA0EjB,SAAPC,QAAO,KACPA,QAAO,IAAA,IACPA,QAAO,IAAA,IAEJ,OAAOA,OAAM,WAAWA,UAAS;AAAA;AC3KzC,SAAAqO,gBAAAC,cAAA;AAAA,QAAAntB,IAAAC,qBAAAA,EAAA,CAAA,GAGL,CAAAoe,OAAA+O,QAAA,IAA0B1nB,MAAAA,SAASynB,YAAY,GAC/CE,gBAAsBtW,MAAAA,OAAAxW,MAA4C;AAACH,MAAAA;AAAAJ,IAAA,CAAA,MAAAP,OAAAC,IAAA,2BAAA,KAEjCU,KAAAA,CAAAme,WAAA+O,UAAA;AAChC,UAAAC,SAAAA,MAAA;AACEH,eAAS7O,SAAS;AAAA,IAAC;AAIjB8O,QAAAA,cAAahmB,YACfmmB,aAAaH,cAAahmB,OAAQ,GAClCgmB,cAAahmB,UAAA9G,SAAA,CAGV+sB;AAAK,aAASC,OAAO;AACblmB,kBAAAA,UAAWomB,WAAWF,QAAQD,KAAK;AAAA,EAAA,GACjDttB,OAAAI,MAAAA,KAAAJ,EAAA,CAAA;AAbD,QAAA0tB,gBAAsBttB;AAahBI,MAAAA;AAAAR,SAAAA,SAAAqe,SAEC7d,KAAA,CAAC6d,OAAOqP,aAAa,GAAC1tB,OAAAqe,OAAAre,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAAtBQ;AAAsB;ACpBxB,SAAS+oB,cAAc5lB,SAA6B;AAEzD,MAAI+lB,SAASjN,OAAOkN,yBAAyBhmB,QAAQ5D,OAAO,KAAK,GAAGkJ,KAChE2gB,UAAUF,UAAU,oBAAoBA,UAAUA,OAAOG;AAEzDD,SAAAA,UACMjmB,QAAgBwD,OAI1BuiB,SAASjN,OAAOkN,yBAAyBhmB,SAAS,KAAK,GAAGsF,KAC1D2gB,UAAUF,UAAU,oBAAoBA,UAAUA,OAAOG,gBAErDD,UACMjmB,QAAQ5D,MAAqCoH,MAI/CxD,QAAQ5D,MAAqCoH,OAAQxD,QAAgBwD;AAC/E;ACvBawmB,MAAAA,8BAA8B,IAC9BC,+BAA+B,GAC/BC,+BAA+B,GAE/BC,2BAA2B,GAC3BC,0BAA0B,GAE1B3J,8BAA8D;AAAA,EACzE,KAAO,CAAC,WAAW,aAAa,UAAU,QAAQ,OAAO;AAAA,EACzD,aAAa,CAAC,OAAO,WAAW,gBAAgB,cAAc,aAAa;AAAA,EAC3E,WAAW,CAAC,OAAO,aAAa,cAAc,YAAY,WAAW;AAAA,EACrE,QAAU,CAAC,cAAc,gBAAgB,OAAO,QAAQ,OAAO;AAAA,EAC/D,gBAAgB,CAAC,UAAU,cAAc,aAAa,cAAc,aAAa;AAAA,EACjF,cAAc,CAAC,UAAU,gBAAgB,WAAW,YAAY,WAAW;AAAA,EAC3E,MAAQ,CAAC,YAAY,cAAc,SAAS,OAAO,QAAQ;AAAA,EAC3D,cAAc,CAAC,QAAQ,YAAY,eAAe,aAAa,cAAc;AAAA,EAC7E,YAAY,CAAC,QAAQ,cAAc,aAAa,WAAW,YAAY;AAAA,EACvE,OAAS,CAAC,aAAa,eAAe,QAAQ,OAAO,QAAQ;AAAA,EAC7D,eAAe,CAAC,SAAS,aAAa,cAAc,aAAa,cAAc;AAAA,EAC/E,aAAa,CAAC,SAAS,eAAe,YAAY,WAAW,YAAY;AAC3E,GCRM2B,aAAaC,aAAAA,OAAOC,OAAOnQ,IAAI,GAiBxBkY,cAAc7H,MAAAA,KACzBra,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAmmB,SAAAC,OAAAC,UAAAC,QAAAC,QAAAtmB,UAAAoZ,SAAAC,SAAAlK,SAAAoJ,WAAAjK,QAAAC,WAAAnO,QAAA2V,QAAAhR,OAAA7E;AAAAJ,WAAAD,SAOT;AAAA,IAAAqmB;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAtmB;AAAAA,IAAAoZ;AAAAA,IAAAC;AAAAA,IAAAlK;AAAAA,IAAAoJ;AAAAA,IAAAjK;AAAAA,IAAAlO;AAAAA,IAAA2V;AAAAA,IAAAhR;AAAAA,IAAA5E,MAAAD;AAAAA,IAAA,GAAAqO;AAAAA,EAiBI1O,IAAAA,OAAKC,OAAAD,OAAAC,OAAAomB,SAAApmB,OAAAqmB,OAAArmB,OAAAsmB,UAAAtmB,OAAAumB,QAAAvmB,OAAAwmB,QAAAxmB,OAAAE,UAAAF,OAAAsZ,SAAAtZ,OAAAuZ,SAAAvZ,OAAAqP,SAAArP,QAAAyY,WAAAzY,QAAAwO,QAAAxO,QAAAyO,WAAAzO,QAAAM,QAAAN,QAAAiW,QAAAjW,QAAAiF,OAAAjF,QAAAI,OAAAgmB,UAAApmB,EAAA,CAAA,GAAAqmB,QAAArmB,EAAA,CAAA,GAAAsmB,WAAAtmB,EAAA,CAAA,GAAAumB,SAAAvmB,EAAA,CAAA,GAAAwmB,SAAAxmB,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAAsZ,UAAAtZ,EAAA,CAAA,GAAAuZ,UAAAvZ,EAAA,CAAA,GAAAqP,UAAArP,EAAA,CAAA,GAAAyY,YAAAzY,EAAA,EAAA,GAAAwO,SAAAxO,EAAA,EAAA,GAAAyO,YAAAzO,EAAA,EAAA,GAAAM,SAAAN,EAAA,EAAA,GAAAiW,SAAAjW,EAAA,EAAA,GAAAiF,QAAAjF,EAAA,EAAA,GAAAI,KAAAJ,EAAA,EAAA;AAFPK,QAAAA,OAAAD,OAAgBG,SAAT,YAAPH;AAAgBI,MAAAA;AAQFC,QAAAA,KAAA2lB,UAAU,cAAW7lB;AAAYI,MAAAA;AAAAX,IAAA,EAAA,MAAAsZ,WAAAtZ,EAAAuZ,EAAAA,MAAAA,WAAAvZ,EAAAiF,EAAAA,MAAAA,SAAAjF,UAAAS,MAHxCE,KAAA;AAAA,IAAA2Y;AAAAA,IAAAC;AAAAA,IAAA9W,YAGOhC;AAAAA,IAAiC,GAC1CwE;AAAAA,EAAK,GACTjF,QAAAsZ,SAAAtZ,QAAAuZ,SAAAvZ,QAAAiF,OAAAjF,QAAAS,IAAAT,QAAAW,MAAAA,KAAAX,EAAA,EAAA,GAAAQ,KALMG;AADT,QAAAomB,YAAiCvmB;AAQhCiB,MAAAA;AAISqN,QAAAA,KAAAyX,kBAAkBA,SAAMhmB,QACzBwO,KAAAyX,kBAAkBA,SAAMjmB;AAAYiP,MAAAA;AAAAxP,IAAA8O,EAAAA,MAAAA,MAAA9O,UAAA+O,MAFpCS,KAAA;AAAA,IAAA4V,MACCtW;AAAAA,IAAoC6U,KACrC5U;AAAAA,IAAoCsW,OAAA9kB;AAAAA,IAAA+kB,QAAA/kB;AAAAA,EAAAA,GAG1CP,QAAA8O,IAAA9O,QAAA+O,IAAA/O,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GAAAyB,KALM+N;AADT,QAAAwX,aAAkCvlB,IAchBkO,KAAAyW,UAAU,KAAE7lB;AAAYiR,MAAAA;AAAAxR,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAC3B8R,KAAAyc,IAAY,YAAA,GAACjuB,QAAAwR,MAAAA,KAAAxR,EAAA,EAAA;AAAA2R,MAAAA;AAAA3R,YAAAomB,WAUfzU,MAAAyU,UAAO,CAAI,UAAU,SAAS,IAAA7lB,QAAaP,QAAAomB,SAAApmB,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA;AAAA4R,MAAAA;AAAA5R,YAAAomB,WAC3CxU,MAAAwU,UAAO,CAAI,WAAW,SAAS,IAAA7lB,QAAaP,QAAAomB,SAAApmB,QAAA4R,OAAAA,MAAA5R,EAAA,EAAA;AAAA8R,MAAAA;AAAA9R,YAAAomB,WAC/CtU,MAAAsU,UAAO,CAAI,UAAU,UAAU,IAAA7lB,QAAaP,QAAAomB,SAAApmB,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA;AAAA+R,MAAAA;AAAA/R,IAAAqmB,EAAAA,MAAAA,SAAArmB,UAAAsmB,YAAAtmB,EAAA,EAAA,MAAAgnB,cAKjDjV,MAAAsU,SACEzlB,+BAAA,OAAA,EACM0lB,KAAO,UACLU,OAAS,YACT2G,OAAAA,6BACCC,QAA2BA,8BAC3BC,QAAAA,8BAEX,GAAA7tB,QAAAqmB,OAAArmB,QAAAsmB,UAAAtmB,QAAAgnB,YAAAhnB,QAAA+R,OAAAA,MAAA/R,EAAA,EAAA;AAAAiS,MAAAA;AAAAjS,SAAAA,EAAAE,EAAAA,MAAAA,YAAAF,EAAAqP,EAAAA,MAAAA,WAAArP,EAAAyY,EAAAA,MAAAA,aAAAzY,EAAAwO,EAAAA,MAAAA,UAAAxO,EAAAmH,EAAAA,MAAAA,OAAAnH,EAAAyO,EAAAA,MAAAA,aAAAzO,EAAA+mB,EAAAA,MAAAA,aAAA/mB,UAAAM,UAAAN,EAAA,EAAA,MAAAiW,UAAAjW,EAAA,EAAA,MAAA2R,OAAA3R,EAAA,EAAA,MAAA4R,OAAA5R,EAAA,EAAA,MAAA8R,OAAA9R,EAAA,EAAA,MAAA+R,OAAA/R,EAAA,EAAA,MAAA2P,MAAA3P,EAAA,EAAA,MAAAK,QA7BH4R,sCAAC,YACS,EAAA,WAAA,iBAAe,GACnBxD,WACU,gBAAAkB,IACH,WAAA6B,IACKiH,kBAAAA,WACPpJ,SACDb,QACHrH,KACG7G,QACA2V,QACD8Q,OAAAA,WACG,UAAA1kB,qBAAAC,MACE,YAAAD,qBAAAQ,YACH,SAAA8O,KACA,SAAAC,KACH,MAAAE,KACAzR,MAEE,UAAA;AAAA,IAAA;AAAA,IAEP0R;AAAAA,EAAAA,EAAAA,CASH,GAAa/R,QAAAE,UAAAF,QAAAqP,SAAArP,QAAAyY,WAAAzY,QAAAwO,QAAAxO,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAA+mB,WAAA/mB,QAAAM,QAAAN,QAAAiW,QAAAjW,QAAA2R,KAAA3R,QAAA4R,KAAA5R,QAAA8R,KAAA9R,QAAA+R,KAAA/R,QAAA2P,IAAA3P,QAAAK,MAAAL,QAAAiS,OAAAA,MAAAjS,EAAA,EAAA,GA9BbiS;AA8Ba,CAEhB,CACH;AAEA+b,YAAYrsB,cAAc;AC5GbusB,MAAAA,2BACX7uB,0BACE,wCACA,IACF;ACmBK,SAAA8uB,0BAAApuB,OAAA;AAAAC,QAAAA,IAAAC,uBAAA,CAAA,GACL;AAAA,IAAAC;AAAAA,IAAAotB;AAAAA,EAA0BvtB,IAAAA,OAC1B,CAAAquB,eAAAC,gBAAA,IAA0CnB,kBAAqB,GAC/D,CAAAoB,eAAAC,gBAAA,IAA0CrB,oBAAmC,GAE7EsB,YAAkB,OAAOlB,SAAU,WAAWA,QAAQA,OAAKzF,QAAW,GACtE4G,aAAmB,OAAOnB,SAAU,WAAWA,QAAQA,OAAKoB,SAAY;AAAAtuB,MAAAA;AAQzDI,QAAAA,KAAA4tB,gBAAa,IAAOI;AAAS/tB,MAAAA;AAAAT,IAAAyuB,CAAAA,MAAAA,cAAAzuB,EAAA,CAAA,MAAAsuB,iBAAAtuB,EAAAquB,CAAAA,MAAAA,oBAAAruB,EAAA,CAAA,MAAAuuB,oBAAAvuB,SAAAQ,MALnCC,KAAA;AAAA,IAAA4tB;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC,WAKMhuB;AAAAA,IAA6BiuB;AAAAA,EAEzCzuB,GAAAA,OAAAyuB,YAAAzuB,OAAAsuB,eAAAtuB,OAAAquB,kBAAAruB,OAAAuuB,kBAAAvuB,OAAAQ,IAAAR,OAAAS,MAAAA,KAAAT,EAAA,CAAA,GAAAI,KAPMK;AADT,QAAAoB,QAA6CzB;AAU5CO,MAAAA;AAAA,SAAAX,EAAAE,CAAAA,MAAAA,YAAAF,SAAA6B,SAGClB,KAAAC,2BAAA,IAAA,yBAAA,UAAA,EAA0CiB,OAAQ3B,SAAS,CAAA,GAAoCF,OAAAE,UAAAF,OAAA6B,OAAA7B,OAAAW,MAAAA,KAAAX,EAAA,CAAA,GAA/FW;AAA+F;AAInGwtB,0BAA0BxsB,cAAc;AC9CjC,SAAAgtB,uBAAA;AAC6C,SAApC3tB,MAAAA,WAAAktB,wBAAmC;AAErC;AC8EP,MAAMU,UAAU9iB,MAAAA,WAAW,SAChC/L,OACA4W,cACA;AACMyQ,QAAAA,yBAAyBnL,sBACzB;AAAA,IACJmK,SAASiB,WAAW;AAAA,IACpBhB,OAAOiB,YAAY;AAAA,IACnBthB,kBAAkBohB,wBAAwBzjB;AAAAA,IAC1CzD,UAAUqnB;AAAAA,IACVhb;AAAAA,IACA9D;AAAAA,IACA6kB;AAAAA,IACArY;AAAAA,IACAwS,oBAAoBoH,yBAAyB9uB,MAAM0nB,sBACjDrD,4BAA4BrkB,MAAM0Y,aAAa,QAAQ;AAAA,IACzDpJ,UAAU;AAAA,IACVoJ,WAAWqP,gBAAgB;AAAA,IAC3B3H,QAAQ2O;AAAAA,IACRtgB,SAAS;AAAA,IACTlO;AAAAA,IACA2V,SAAS;AAAA,IACTuH,UAAUla,UAAUG;AAAAA,IACpBpD,OAAO;AAAA,IACP,GAAGoO;AAAAA,EAAAA,IACD1O,OACEuC,OAAOuT,QAAQ,GAEfuQ,UADuBxa,wBAAwB,IACd,KAAQyb,UACzCI,qBAAqBniB,aAAaupB,sBAAsB,GACxD1nB,MAAM4P,aAA8B,IAAI,GACxC,CAACkR,kBAAkB8G,mBAAmB,IAAIrpB,MAAAA,SAA6B,IAAI,GAC3E4gB,WAAWvP,MAAAA,OAA8B,IAAI,GAC7CgO,eAA6B,YAC7B,CAACiK,iBAAiBC,kBAAkB,IAAIvpB,eAAS,CAAC;AAEUiR,QAAAA,oBAAAA,cAAc,MAAMxP,IAAIE,OAAO;AAEjG,QAAM8Y,SAASH,UAAU,GACnBI,gBACJ,OAAO0O,cAAe,WAAW3O,OAAO7Z,WAAWwoB,UAAU,KAAK,OAAO3O,OAAOxc,SAE5E0kB,aAAaC,MAAAA,QAAQ,MAAM;AAC/B,UAAMhM,MAAoB,CAAE;AAG5BA,WAAAA,IAAI/S,KACFgf,gBAAK;AAAA,MACH1D,UAAU7e,mBAAmBzF;AAAAA,MAC7BknB;AAAAA,MACApY,SAAS0e;AAAAA,MACThJ;AAAAA,IACD,CAAA,CACH,GAGAzI,IAAI/S,KAAKif,kBAAO;AAAA,MAACC,UAAUqF;AAAAA,IAAyB,CAAA,CAAC,GAGrDxR,IAAI/S,KACF0P,iBAAM;AAAA,MACJ4L,UAAU7e,mBAAmBzF;AAAAA,MAC7BwkB;AAAAA,MACA1V,SAAS0e;AAAAA,IACV,CAAA,CACH,GAGIzG,aACFhL,IAAI/S,KAAK8c,WAAAA,MAAM;AAAA,MAAC1iB,SAAS2iB;AAAAA,MAAUjX,SAAS0e;AAAAA,IAAAA,CAAwB,CAAC,GAKnE3H,WACF9J,IAAI/S,KAAK8O,MAAM,GAGViE;AAAAA,KACN,CAAC8J,SAASkB,WAAWthB,iBAAiByhB,kBAAkB,CAAC,GAEtD;AAAA,IAACyH;AAAAA,IAAgBzW;AAAAA,IAAWD;AAAAA,IAAgBmQ;AAAAA,IAAMC;AAAAA,MAAUC,uBAAY;AAAA,IAC5ER;AAAAA,IACA5P,WAAWqP;AAAAA,IACXgB,sBAAsBC,WAAAA;AAAAA,IACtBziB,UAAU;AAAA,MAACoe,WAAWuD;AAAAA,IAAAA;AAAAA,EACvB,CAAA,GAEK1B,SAAS/N,eAAe6N,OAAOnN,GAC/BsN,SAAShO,eAAe6N,OAAOjN,GAE/BE,UAAUd,eAAe,mBAAmB,GAAGc,SAC/CC,UAAUf,eAAe,mBAAmB,GAAGe,SAE/C4V,YAAYC,MAAAA,SACZ,CAACC,QAAQC,SAAS,IAAIpC,gBAAgB,EAAK,GAC3CqC,oBAAoBZ,wBACpB;AAAA,IAACN;AAAAA,IAAkBE;AAAAA,EAAAA,IAAoBgB,qBAAqB,IAC5DC,cAAcH,UAAUE,mBAAmBjB,kBAAkBa,WAE7DM,gBAAgBF,sBAAsB,MACtCG,gBAAgB,OAAOpC,SAAU,WAAWA,QAAQA,OAAOzF,QAAQ,GACnE8H,iBAAiB,OAAOrC,SAAU,WAAWA,QAAQA,OAAOoB,SAAS,GAErEF,YAAYiB,gBAAgBF,kBAAkBf,YAAYkB,eAC1DjB,aAAagB,gBAAgBF,kBAAkBd,aAAakB,gBAE5DC,qBAAqB1G,MACzB,YAAA,CAACrB,MAAegI,cAAwB;AAClCJ,QAAAA;AAEF,UAAI5H,MAAM;AACFiI,cAAAA,mBAAmBD,YAAY,IAAIrB;AAEzCH,2BAAmBxG,MAAMiI,gBAAgB,GACzCvB,mBAAmBY,WAAWW,gBAAgB;AAAA,MAAA,OACzC;AAECC,cAAAA,uBACJtB,aAAauB,MAA8BvB,aAAauB;AAE1D3B,2BAAmBxG,MAAMkI,oBAAoB,GAC7CxB,mBAAmB,MAAMsB,YAAY,IAAIpB,UAAU;AAAA,MAAA;AAAA;AAMrDa,gBAAUzH,MAHcgI,YAAY,IAAIhI,OAAO2G,YAAYC,UAG5B;AAAA,EAGnC,GAAA,CACEgB,eACAjB,WACAH,kBACAE,kBACAY,WACAV,YACAa,SAAS,CAEb,GAEMW,aAAa/G,kBAChBgH,CAAkB,MAAA;AACjBN,uBAAmB,EAAK,GACxBrI,WAAWxnB,OAAOowB,SAASD,CAAC;AAAA,EAAA,GAE9B,CAAC3I,WAAWxnB,OAAO6vB,kBAAkB,CACvC,GACMQ,cAAclH,MAAAA,YACjBgH,CAAkB,QAAA;AACjBN,uBAAmB,IAAO,EAAI,GAC9BrI,WAAWxnB,MAAMswB,UAAUH,GAAC;AAAA,EAAA,GAE9B,CAAC3I,WAAWxnB,OAAO6vB,kBAAkB,CACvC,GACMU,oBAAoBpH,MAAAA,YACvBgH,CAAkB,QAAA;AACjBN,uBAAmB,IAAO,EAAI,GAC9BrI,WAAWxnB,MAAMwwB,gBAAgBL,GAAC;AAAA,EAAA,GAEpC,CAAC3I,WAAWxnB,OAAO6vB,kBAAkB,CACvC,GACMpQ,cAAc0J,MAAAA,YACjBgH,CAAkB,QAAA;AACjBN,uBAAmB,EAAI,GACvBrI,WAAWxnB,OAAOof,UAAU+Q,GAAC;AAAA,EAAA,GAE/B,CAAC3I,WAAWxnB,OAAO6vB,kBAAkB,CACvC,GACMY,mBAAmBtH,MAAAA,YACtBgH,CAAkB,QAAA;AACjBN,uBAAmB,EAAI,GACvBrI,WAAWxnB,OAAO0wB,eAAeP,GAAC;AAAA,EAAA,GAEpC,CAAC3I,WAAWxnB,OAAO6vB,kBAAkB,CACvC,GACMc,mBAAmBxH,MAAAA,YACtBgH,CAAkB,QAAA;AACjBN,uBAAmB,EAAK,GACxBrI,WAAWxnB,OAAO4wB,eAAeT,GAAC;AAAA,EAEpC,GAAA,CAAC3I,WAAWxnB,OAAO6vB,kBAAkB,CACvC;AAGqB,uBAAA;AAAA,IAACA;AAAAA,IAAoB3H;AAAAA,IAAkBuH;AAAAA,IAAaC;AAAAA,EAAAA,CAAc,GAGvFzoB,MAAAA,UAAU,MAAM;AACViO,gBAAYua,eAAaI,mBAAmB,EAAK;AAAA,EAAA,GACpD,CAAC3a,UAAU2a,oBAAoBJ,WAAW,CAAC,GAG9CxoB,gBAAU,MAAM;AACV,KAACyB,WAAW+mB,eAAaI,mBAAmB,EAAK;AAAA,EAAA,GACpD,CAACnnB,SAASmnB,oBAAoBJ,WAAW,CAAC,GAE7CxoB,gBAAU,MAAM;AAEd,QAAI,CAACwoB,YAAa;AAElB,aAASoB,oBAAoB3mB,OAAsB;AAC7CA,YAAM3K,QAAQ,YAChBswB,mBAAmB,IAAO,EAAI;AAAA,IAAA;AAIlC5wB,WAAAA,OAAO8H,iBAAiB,WAAW8pB,mBAAmB,GAE/C,MAAM;AACJ7pB,aAAAA,oBAAoB,WAAW6pB,mBAAmB;AAAA,IAC3D;AAAA,KACC,CAAChB,oBAAoBJ,WAAW,CAAC,GAGpCqB,sBAAgB,MAAM;AAIpB,UAAMC,kBAAkB,CACtB,GAAI9qB,kBAAkB,CAACA,gBAAgB+qB,WAAW,IAAI,CACtD3Q,GAAAA,eAAe2Q,eAAepxB,SAASkgB,KAAKkR,WAAW;AAGzD9B,uBAAmB3b,KAAKqG,IAAI,GAAGmX,eAAe,IAAI/C,0BAA0B,CAAC;AAAA,EAAA,GAC5E,CAAC/nB,iBAAiBoa,aAAa,CAAC;AAE7B6I,QAAAA,WAAWC,kBACdC,CAAmC,YAAA;AACzB9hB,aAAAA,UAAU8hB,SACnBP,OAAO;AAAA,EAAA,GAET,CAACA,MAAM,CACT,GAEMQ,cAAcF,kBACjBnlB,CAAgC,SAAA;AAC/BoD,QAAIE,UAAUtD,MACd4kB,KAAKS,YAAYrlB,IAAI;AAAA,EAAA,GAEvB,CAAC4kB,IAAI,CACP,GAEM5U,QAAQuU,MAAQ,QAAA,MACff,YAEEtT,MAAAA,aAAasT,WAAW;AAAA,IAC7B4I,QAAQF;AAAAA,IACR9Q,SAASK;AAAAA,IACTiR,cAAcD;AAAAA,IACdG,cAAcD;AAAAA,IACdL,SAASD;AAAAA,IACTG,eAAeD;AAAAA,IACfnpB,KAAK4nB;AAAAA,EAAAA,CACN,IAVsB,MAWtB,CACDxH,WACA0I,YACAG,aACAE,mBACA9Q,aACAgR,kBACAE,gBAAgB,CACjB;AAQD,MAJA1Z,MAAAA,oBAAoBuQ,YAAYgC,cAAchC,SAAS,IAAI,MAAM,MAAMU,kBAAkB,CACvFA,gBAAgB,CACjB,GAEG,CAAClU,cAAgBnT,2BAAA,IAAA4oB,WAAA,UAAA,EAAA;AAErB,MAAIvU,SAAiBlB,QAAAA;AAErB,QAAMhQ,SACJnD,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAQ;AAAA,MAER,WAAW6O,IAAAA,kBAAkBlD,WAAW9I,IAAAA,SAAS;AAAA,MACjD,KAAK2lB;AAAAA,MACL,OAAO;AAAA,QACL,GAAG8F;AAAAA,QACHrhB,UAAUmhB,kBAAkB,IAAI,GAAGA,eAAe,OAAOzuB;AAAAA,MAC3D;AAAA,MACA;AAAA,MAEA,UAAAK,2BAAA,IAAC,kBACK6N,WACJ,SACA,OAAO6Y,WACP,UAAU2B,UACV,QACA,QACA,SACA,SACA,SACA,WACA,QACA,KAAKG,aACL,QACA,QACA,MAEC3gB,UACH,QAAA,CAAA;AAAA,IAAA;AAAA,EACF,GAGIvI,WACJsvB,gBACCV,aACCluB,2BAAA,IAAC,QAAO,EAAA,iBAAiB,OAAOkuB,cAAe,WAAWA,aAAavuB,QACrE,UAAAK,2BAAA,IAAC,gBACC,MAAMP,SAAS,YAAaiC,MAAMjC,QAAQ,YAAaA,MACvD,QAAQC,UAAU,SAEjByD,UACH,OAAA,CAAA,EACF,CAAA,IAEAA;AAGJ,SAGKqiB,2BAAAA,KAAAA,qBAAAA,EAAAA,UAAAA;AAAAA,IAAU,UAAAxlB,2BAAAA,IAAC6oB,aAAAA,iBAAiBvpB,EAAAA,SAAAA,CAAS,IAAqBA;AAAAA,IAG1D6T;AAAAA,EAAAA,GACH;AAEJ,CAAC;AAED6a,QAAQjtB,cAAc;AAMtB,SAAAqvB,qBAAA5wB,IAAA;AAAAJ,QAAAA,IAAAC,uBAAA,EAAA,GAA8B;AAAA,IAAA2vB;AAAAA,IAAA3H;AAAAA,IAAAuH;AAAAA,IAAAC;AAAAA,EAAAA,IAAArvB;AAU7BI,MAAAA;AAAAR,IAAA4vB,CAAAA,MAAAA,sBAAA5vB,SAAAioB,oBAIoCznB,KAAAA,CAAA4F,QAAA6qB,aAAA;AAAA,IAC5BhJ,qBAGHA,qBAAqB7hB,UAAWA,kBAAMpC,QAAoBikB,iBAAgBzjB,SAAU4B,MAAM,MAG1FwpB,qBAAwB,GAExBqB,SAAS;AAAA,EAEZjxB,GAAAA,OAAA4vB,oBAAA5vB,OAAAioB,kBAAAjoB,OAAAQ,MAAAA,KAAAR,EAAA,CAAA;AAXDkxB,QAAAA,cAAoBzqB,8BAAejG,EAWlC;AAACC,MAAAA;AAAAT,IAAAyvB,CAAAA,MAAAA,iBAAAzvB,SAAAkxB,eAAAlxB,EAAA,CAAA,MAAAwvB,eAKQ/uB,KAAAA,MAAA;AAAA,QACJ,CAAC+uB,eAAeC;AAAa;AAEjC,UAAA0B,kBAAAlnB,CAAA,UAAA;AACEinB,kBAAYjnB,MAAK7D,QAAepH,MAAAA,OAAA+H,oBAA2B,aAAaoqB,eAAe,CAAC;AAAA,IAAC;AAG3FrqB,WAAAA,OAAAA,iBAAwB,aAAaqqB,eAAe,GAAC,MAExCnyB,OAAA+H,oBAA2B,aAAaoqB,eAAe;AAAA,EAAA,GACrEnxB,OAAAyvB,eAAAzvB,OAAAkxB,aAAAlxB,OAAAwvB,aAAAxvB,OAAAS,MAAAA,KAAAT,EAAA,CAAA;AAAAW,MAAAA;AAAAX,IAAAyvB,CAAAA,MAAAA,iBAAAzvB,SAAAwvB,eAAE7uB,KAAA,CAAC8uB,eAAeD,WAAW,GAACxvB,OAAAyvB,eAAAzvB,OAAAwvB,aAAAxvB,OAAAW,MAAAA,KAAAX,EAAA,CAAA,GAV/BgH,MAAAA,UAAUvG,IAUPE,EAA4B;AAAC;AChc3B,MAAMywB,UAAUtlB,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAA2S,UAAA9F,KAAAC,MAAAC,MAAAwR,MAAAnP,SAAAb,QAAAC,WAAArO;AAAAJ,WAAAD,SAIhC;AAAA,IAAA6S;AAAAA,IAAA9F;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAwR;AAAAA,IAAAnP;AAAAA,IAAAb;AAAAA,IAAA0G,OAAA9U;AAAAA,IAAA,GAAAqO;AAAAA,EAAAA,IAAsF1O,OAAKC,OAAAD,OAAAC,OAAA4S,UAAA5S,OAAA8M,KAAA9M,OAAA+M,MAAA/M,OAAAgN,MAAAhN,OAAAwe,MAAAxe,OAAAqP,SAAArP,OAAAwO,QAAAxO,OAAAyO,WAAAzO,OAAAI,OAAAwS,WAAA5S,EAAA,CAAA,GAAA8M,MAAA9M,EAAA,CAAA,GAAA+M,OAAA/M,EAAA,CAAA,GAAAgN,OAAAhN,EAAA,CAAA,GAAAwe,OAAAxe,EAAA,CAAA,GAAAqP,UAAArP,EAAA,CAAA,GAAAwO,SAAAxO,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA;AAAlCkV,QAAAA,QAAA9U,OAAWG,eAAXH;AAErD,MAAA,CAACoe,QAAQA,KAAI7U,WAAa;AAAA;AAUrB,QAAAnJ,KAAAsM,OAAOoI;AAAKzU,MAAAA;AAAA,MAAAT,EAAA,EAAA,MAAA4S,YAAA5S,EAAAwe,EAAAA,MAAAA,QAAAxe,EAAAqP,EAAAA,MAAAA,WAAArP,UAAAwO,QAAA;AAAA7N,QAAAA;AAAAX,MAAA4S,EAAAA,MAAAA,YAAA5S,UAAAqP,WAAArP,EAAA,EAAA,MAAAwO,UAKP7N,MAAAA,CAAArB,MAAAib,MACR3Z,2BAAA,IAAC,KAAcgS,EAAAA,UAA2BvD,SAAiBb,QACxDlP,kBAD2B,CAE9B,GACDU,QAAA4S,UAAA5S,QAAAqP,SAAArP,QAAAwO,QAAAxO,QAAAW,OAAAA,MAAAX,EAAA,EAAA,GAJAS,KAAA+d,KAAI/M,IAAK9Q,GAIT,GAACX,QAAA4S,UAAA5S,QAAAwe,MAAAxe,QAAAqP,SAAArP,QAAAwO,QAAAxO,QAAAS;AAAAA,EAAA;AAAAA,SAAAT,EAAA,EAAA;AAAAW,MAAAA;AAAA,SAAAX,UAAA+M,QAAA/M,EAAAgN,EAAAA,MAAAA,QAAAhN,EAAAmH,EAAAA,MAAAA,OAAAnH,EAAA,EAAA,MAAAyO,aAAAzO,UAAAQ,MAAAR,EAAA,EAAA,MAAAS,MAdJE,oCAAC,KACI,EAAA,IAAA,OACK,WAAA,WACJ8N,GAAAA,WACI,SAAA,QACH,KAAAjO,IACCuM,MACAC,MACD7F,KAEJ1G,UAKH,GAAA,CAAA,GAAMT,QAAA+M,MAAA/M,QAAAgN,MAAAhN,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAQ,IAAAR,QAAAS,IAAAT,QAAAW,MAAAA,KAAAX,EAAA,EAAA,GAfNW;AAeM,CAET;AAEDywB,QAAQzvB,cAAc;AC1BT0vB,MAAAA,cAAchyB,0BACzB,2BACA,IACF;ACzBA,SAASiyB,aAAa3tB,SAAsB;AAC1C,SACGC,oBAAoBD,OAAO,KAAKA,QAAQ4tB,aAAa,eAAe,MAAM,UAC1E1tB,oBAAoBF,OAAO,KAAK,CAACA,QAAQsR;AAE9C;AAKO,SAASuc,sBAAsBlrB,UAAwC;AACrEA,SAAAA,SAAS8M,OAAOke,YAAY;AACrC;AAKgBG,SAAAA,YAAYlS,aAA0Bxa,IAA2B;AAC/E,QAAMuW,OAAiB,CAAE;AAEzB,MAAI4U,IAAInrB;AAER,SAAOmrB,MAAM3Q,eAAa;AACxB,UAAMmS,gBAAgBxB,EAAEwB;AAEpB,QAAA,CAACA,cAAsBpW,QAAAA;AAG3B,UAAMxQ,QADWlG,MAAM+sB,KAAKD,cAAcE,UAAU,EAC7BnoB,QAAQymB,CAAC;AAIhC,QAFA5U,KAAKuW,QAAQ/mB,KAAK,GAEd4mB,kBAAkBnS;AACbjE,aAAAA;AAGLoW,QAAAA;AAAAA,EAAAA;AAGCpW,SAAAA;AACT;AAEA,MAAMwW,aAAuB,CAAE;AAKfC,SAAAA,cAAcxS,aAAiCjZ,UAA+B;AAC5F,MAAI,CAACiZ,YAAa;AAEZ9N,QAAAA,0BAAU3I,QAA+B;AAE/C,aAAW/D,MAAMuB;AACfmL,QAAIrI,IAAIrE,IAAI0sB,YAAYlS,aAAaxa,EAAE,CAAC;AAGpCitB,QAAAA,QAAQA,CAACC,GAAgBC,MAAmB;AAChD,UAAMC,KAAK1gB,IAAIxI,IAAIgpB,CAAC,KAAKH,YACnBM,KAAK3gB,IAAIxI,IAAIipB,CAAC,KAAKJ,YAEnBte,MAAMF,KAAKC,IAAI4e,GAAGxoB,QAAQyoB,GAAGzoB,MAAM;AAGzC,aAAS4Q,IAAI,GAAGA,IAAI/G,KAAK+G,KAAK,GAAG;AACzB8X,YAAAA,SAASF,GAAG5X,CAAC,KAAK,IAClB+X,SAASF,GAAG7X,CAAC,KAAK;AAExB,UAAI8X,WAAWC;AACb,eAAOD,SAASC;AAAAA,IAAAA;AAIb,WAAA;AAAA,EACT;AAEAhsB,WAASisB,KAAKP,KAAK;AACrB;AClDO,SAASQ,kBAAkBzyB,OAKf;AACX,QAAA;AAAA,IAACiK;AAAAA,IAAWyoB;AAAAA,IAAeC;AAAAA,IAAaC;AAAAA,EAAAA,IAAkB5yB,OAC1D6yB,cAAc7b,MAAAA,OAAsB,CAAA,CAAE,GACtC,CAAC8b,aAAaC,eAAe,IAAIptB,MAAS,SAAA,EAAE,GAC5CqtB,iBAAiBhc,MAAAA,OAAO8b,WAAW,GACnCvT,gBAAgBgJ,MAAAA,QAAQ,MAAMsK,YAAYvrB,QAAQwrB,WAAW,KAAK,MAAM,CAACA,WAAW,CAAC,GACrFG,UAAUrsB,CAAQgsB,CAAAA,eAAetrB,SAEjC4rB,iBAAiB/J,MAAAA,YAAagK,CAA4B,oBAAA;AAC9CA,oBAAAA,eAAe,GAC/BH,eAAe1rB,UAAU6rB;AAAAA,EAAAA,GACxB,CAAA,CAAE,GAECC,QAAQjK,MACZ,YAAA,CAACvlB,SAA6B8R,aAAqC;AAC7D,QAAA,CAAC9R,QAAS,QAAO;;AAOrB,QALIivB,YAAYvrB,QAAQoC,QAAQ9F,OAAO,MAAM,OAC3CivB,YAAYvrB,QAAQkC,KAAK5F,OAAO,GAChCouB,cAAcY,eAAetrB,SAASurB,YAAYvrB,OAAO,IAGvDoO,UAAU;AACZ,YAAM2d,gBAAgBR,YAAYvrB,QAAQoC,QAAQ9F,OAAO;AAEzDsvB,qBAAeG,aAAa;AAAA,IAAA;AAG9B,WAAO,MAAM;AACX,YAAM5pB,MAAMopB,YAAYvrB,QAAQoC,QAAQ9F,OAAO;AAE3C6F,YAAM,MACRopB,YAAYvrB,QAAQqC,OAAOF,KAAK,CAAC;AAAA,IAErC;AAAA,EAAA,GAEF,CAACmpB,gBAAgBM,cAAc,CACjC,GAEM/oB,gBAAgBgf,MAAAA,YACnBjf,CAAyC,UAAA;AAEpCA,QAAAA,MAAM3K,QAAQ,OAAO;AACnBmzB,uBACFA,cAAcpG,MAAM;AAGtB;AAAA,IAAA;AAIEpiB,QAAAA,MAAM3K,QAAQ,QAAQ;AAClB6sB,YAAAA,eAAAA,GACNliB,MAAMmiB,gBAAgB;AAGtB,YAAMrnB,KADoBysB,sBAAsBoB,YAAYvrB,OAAO,EACtC,CAAC;AAE9B,UAAI,CAACtC,GAAI;AAET,YAAMsuB,eAAeT,YAAYvrB,QAAQoC,QAAQ1E,EAAE;AAEnDkuB,qBAAeI,YAAY;AAE3B;AAAA,IAAA;AAIEppB,QAAAA,MAAM3K,QAAQ,OAAO;AACjB6sB,YAAAA,eAAAA,GACNliB,MAAMmiB,gBAAgB;AAEhBkH,YAAAA,sBAAoB9B,sBAAsBoB,YAAYvrB,OAAO,GAC7DtC,OAAKuuB,oBAAkBA,oBAAkB3pB,SAAS,CAAC;AAEzD,UAAI,CAAC5E,KAAI;AAET,YAAMsuB,iBAAeT,YAAYvrB,QAAQoC,QAAQ1E,IAAE;AAEnDkuB,qBAAeI,cAAY;AAE3B;AAAA,IAAA;AAGEppB,QAAAA,MAAM3K,QAAQ,WAAW;AACrB6sB,YAAAA,eAAAA,GACNliB,MAAMmiB,gBAAgB;AAEtB,YAAMkH,sBAAoB9B,sBAAsBoB,YAAYvrB,OAAO,GAC7DksB,eAAeD,oBAAkB3pB;AAEvC,UAAI4pB,iBAAiB,EAAG;AAExB,YAAMC,iBAAiBZ,YAAYvrB,QAAQ0rB,eAAe1rB,OAAO;AAE7DosB,UAAAA,eAAeH,oBAAkB7pB,QAAQ+pB,cAAc;AAE3CC,sBAAAA,eAAe,IAAIF,gBAAgBA;AAE7CxuB,YAAAA,OAAKuuB,oBAAkBG,YAAY,GACnCJ,iBAAeT,YAAYvrB,QAAQoC,QAAQ1E,IAAE;AAEnDkuB,qBAAeI,cAAY;AAE3B;AAAA,IAAA;AAGEppB,QAAAA,MAAM3K,QAAQ,aAAa;AACvB6sB,YAAAA,eAAAA,GACNliB,MAAMmiB,gBAAgB;AAEtB,YAAMkH,sBAAoB9B,sBAAsBoB,YAAYvrB,OAAO,GAC7DksB,iBAAeD,oBAAkB3pB;AAEvC,UAAI4pB,mBAAiB,EAAG;AAExB,YAAMC,mBAAiBZ,YAAYvrB,QAAQ0rB,eAAe1rB,OAAO;AAE7DosB,UAAAA,iBAAeH,oBAAkB7pB,QAAQ+pB,gBAAc;AAE3DC,wBAAgBA,iBAAe,KAAKF;AAE9BxuB,YAAAA,OAAKuuB,oBAAkBG,cAAY,GACnCJ,iBAAeT,YAAYvrB,QAAQoC,QAAQ1E,IAAE;AAEnDkuB,qBAAeI,cAAY;AAE3B;AAAA,IAAA;AAGErpB,iBACFA,UAAUC,KAAK;AAAA,EAAA,GAGnB,CAACD,WAAWyoB,eAAeQ,cAAc,CAC3C,GAEMS,uBAAuBxK,MAAAA,YAC1Bjf,CAAmC,YAAA;AAClC,UAAMtG,YAAUsG,QAAM0pB,eAChBN,iBAAeT,YAAYvrB,QAAQoC,QAAQ9F,SAAO;AAExDsvB,mBAAeI,cAAY;AAAA,KAE7B,CAACJ,cAAc,CACjB,GAEMW,uBAAuB1K,kBAAY,MAAM;AAM7C+J,mBAAe,EAAE,GACjBN,eAAetrB,SAASglB,MAAM;AAAA,EAAA,GAC7B,CAACsG,gBAAgBM,cAAc,CAAC;AAGnCjsB,SAAAA,MAAAA,UAAU,MAAM;AACd,QAAI,CAACgsB,QAAS;AAERa,UAAAA,QAAQxiB,sBAAsB,MAAM;AACxC,UAAIwhB,gBAAgB,IAAI;AACtB,YAAIH,gBAAgB,SAAS;AAE3B,gBAAM3tB,OADoBysB,sBAAsBoB,YAAYvrB,OAAO,EACtC,CAAC;AAE9B,cAAItC,MAAI;AACN,kBAAMsuB,iBAAeT,YAAYvrB,QAAQoC,QAAQ1E,IAAE;AAEnDkuB,2BAAeI,cAAY;AAAA,UAAA;AAAA,QAC7B;AAGF,YAAIX,gBAAgB,QAAQ;AACpBY,gBAAAA,sBAAoB9B,sBAAsBoB,YAAYvrB,OAAO,GAC7DtC,OAAKuuB,oBAAkBA,oBAAkB3pB,SAAS,CAAC;AAEzD,cAAI5E,MAAI;AACN,kBAAMsuB,iBAAeT,YAAYvrB,QAAQoC,QAAQ1E,IAAE;AAEnDkuB,2BAAeI,cAAY;AAAA,UAAA;AAAA,QAC7B;AAGF;AAAA,MAAA;AAKF1vB,OAFgBivB,YAAYvrB,QAAQwrB,WAAW,KAAK,OAE3CxG,MAAM;AAAA,IAAA,CAChB;AAEM,WAAA,MAAM/a,qBAAqBuiB,KAAK;AAAA,KACtC,CAAChB,aAAaG,SAASC,gBAAgBP,WAAW,CAAC,GAE/C;AAAA,IACLpT;AAAAA,IACAuT;AAAAA,IACAa;AAAAA,IACAE;AAAAA,IACA1pB;AAAAA,IACAipB;AAAAA,EACF;AACF;ACzLO,MAAMW,OAAOhoB,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAA8zB,cAAA7zB,UAAAqM,WAAAO,KAAAknB,gBAAAC,UAAAC,aAAAC,cAAAnqB,WAAAyoB,eAAA2B,iBAAA3lB,WAAArO,IAAAI;AAAAR,MAAAA,SAAAD,OAAA;AAI7B,UAAA;AAAA,MAAAG,UAAAO;AAAAA,MAAA8L,WAAA5L;AAAAA,MAAA0zB;AAAAA,MAAAC;AAAAA,MAAAxnB,KAAArL;AAAAA,MAAAuyB,gBAAAllB;AAAAA,MAAAmlB,UAAAllB;AAAAA,MAAAmlB,aAAA1kB;AAAAA,MAAA2kB,cAAAxkB;AAAAA,MAAA3F,WAAAwH;AAAAA,MAAAihB,eAAA9gB;AAAAA,MAAAtC,SAAAuC;AAAAA,MAAAwiB,iBAAAtiB;AAAAA,MAAA4gB,aAAA3gB;AAAAA,MAAAmD,OAAAjD;AAAAA,MAAA,GAAAC;AAAAA,IAAAA,IAoBInS;AApBJG,eAAAO,KAAA8L,YAAA5L,KAAAmM,MAAArL,KAAAuyB,iBAAAllB,KAAAmlB,WAAAllB,KAAAmlB,cAAA1kB,KAAA2kB,eAAAxkB,KAAA3F,YAAAwH,KAAAihB,gBAAA9gB,MAAAvR,KAAAwR,MAAAwiB,kBAAAtiB,MAAAiiB,eAAAhiB,MAAAvR,KAAAyR,MAAAxD,YAAAyD,MAoBSlS,OAAAD,OAAAC,OAAA+zB,cAAA/zB,OAAAE,UAAAF,OAAAuM,WAAAvM,OAAA8M,KAAA9M,OAAAg0B,gBAAAh0B,OAAAi0B,UAAAj0B,OAAAk0B,aAAAl0B,OAAAm0B,cAAAn0B,OAAAgK,WAAAhK,QAAAyyB,eAAAzyB,QAAAo0B,iBAAAp0B,QAAAyO,WAAAzO,QAAAI,IAAAJ,QAAAQ;AAAAA,EAAA;AAAAR,mBAAAA,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAAuM,YAAAvM,EAAA,CAAA,GAAA8M,MAAA9M,EAAA,CAAA,GAAAg0B,iBAAAh0B,EAAA,CAAA,GAAAi0B,WAAAj0B,EAAA,CAAA,GAAAk0B,cAAAl0B,EAAA,CAAA,GAAAm0B,eAAAn0B,EAAA,CAAA,GAAAgK,YAAAhK,EAAA,CAAA,GAAAyyB,gBAAAzyB,EAAA,EAAA,GAAAo0B,kBAAAp0B,EAAA,EAAA,GAAAyO,YAAAzO,EAAA,EAAA,GAAAI,KAAAJ,EAAA,EAAA,GAAAQ,KAAAR,EAAA,EAAA;AALPqP,QAAAA,UAAAjP,OAAWG,aAAXH,IAGA8U,QAAA1U,OAASD,aAATC,IAGFkyB,cACEqB,iBAAkBh0B,MAAKs0B,cAAe,WAAat0B,MAAKu0B,aAAc,iBAExEntB,MAAY4P,MAAAA,OAAA,IAAkC;AAACtW,MAAAA;AAAAT,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAEiCe,KAAAA,MAAM0G,IAAGE,SAAQrH,QAAAS,MAAAA,KAAAT,EAAA,EAAA,GAAjGgX,MAAAA,oBAAkEL,cAAclW,EAAiB;AAEjG,QAAA;AAAA,IAAAyd;AAAAA,MAAqBY,SAAS;AAACne,MAAAA;AAAAX,IAAAgK,EAAAA,MAAAA,aAAAhK,UAAAyyB,iBAAAzyB,EAAA,EAAA,MAAA0yB,eAST/xB,KAAA;AAAA,IAAAqJ;AAAAA,IAAAyoB;AAAAA,IAAAC;AAAAA,IAAAC,gBAIJxrB;AAAAA,EAAAA,GACjBnH,QAAAgK,WAAAhK,QAAAyyB,eAAAzyB,QAAA0yB,aAAA1yB,QAAAW,MAAAA,KAAAX,EAAA,EAAA;AAZD,QAAA;AAAA,IAAAsf;AAAAA,IAAAuT;AAAAA,IAAAa;AAAAA,IAAAE;AAAAA,IAAA1pB;AAAAA,IAAAipB;AAAAA,MAOIX,kBAAkB7xB,EAKrB,GAED4zB,uBAA6Bxd,MAAAA,OAAA,IAAgC;AAACtV,MAAAA;AAAAzB,YAAAo0B,mBAE5D3yB,KAAAsD,CAAA,OAAA;AAEMwvB,yBAAoBltB,YAKtBktB,qBAAoBltB,WACpBktB,qBAAoBltB,UAAA,OAGtBF,IAAGE,UAAWtC,IAGVoC,IAAGE,WAAY+sB,oBACjBG,qBAAoBltB,UAAW+sB,gBAAgBjtB,IAAGE,OAAQ;AAAA,EAAC,GAE9DrH,QAAAo0B,iBAAAp0B,QAAAyB,MAAAA,KAAAzB,EAAA,EAAA;AAlBH,QAAAw0B,kBAAwB/yB;AAoBvB,MAAAqN,IAAAC;AAAA/O,IAAA6yB,EAAAA,MAAAA,eAAA7yB,UAAAm0B,gBAGSrlB,KAAAA,MAAA;AACJqlB,oBAAcA,aAAatB,WAAW;AAAA,EACzC9jB,GAAAA,KAAA,CAAC8jB,aAAasB,YAAY,GAACn0B,QAAA6yB,aAAA7yB,QAAAm0B,cAAAn0B,QAAA8O,IAAA9O,QAAA+O,OAAAD,KAAA9O,EAAA,EAAA,GAAA+O,KAAA/O,EAAA,EAAA,IAF9BgH,MAAAA,UAAU8H,IAEPC,EAA2B;AAACS,MAAAA;AAAAxP,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAGoB8P,KAAAA,MAAOrI,CAAAA,IAAGE,OAAA,GAASrH,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA,GAAtE8F,qBAAqBoY,cAAc8V,gBAAgBxkB,EAAmB;AAACG,MAAAA;AAAA3P,IAAAke,EAAAA,MAAAA,cAAAle,UAAAi0B,YAKnEtkB,KAAA1F,CAAA,UAAA;AACOiU,kBAEDjU,MAAK3K,QAAS,aAChB2K,MAAKmiB,gBAAiB,GAClB6H,YAAUA;EAAS,GAE1Bj0B,QAAAke,YAAAle,QAAAi0B,UAAAj0B,QAAA2P,MAAAA,KAAA3P,EAAA,EAAA,GATL+J,iBACE4F,EAWF;AAAC,MAAA6B,IAAAG;AAAA3R,IAAA,EAAA,MAAAsf,iBAAAtf,EAAA6yB,EAAAA,MAAAA,eAAA7yB,UAAA0zB,wBAAA1zB,EAAA,EAAA,MAAA4zB,wBAAA5zB,EAAAmzB,EAAAA,MAAAA,SAAAnzB,EAAAg0B,EAAAA,MAAAA,kBAAAh0B,EAAA,EAAA,MAAAi0B,YAAAj0B,EAAAk0B,EAAAA,MAAAA,eAAAl0B,UAAAo0B,mBAGQziB,MAAA;AAAA,IAAAvQ,SAAA;AAAA,IAAAke;AAAAA,IAAAuT;AAAAA,IAAAM;AAAAA,IAAAa;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAO,kBAQaf;AAAAA,IAAoBgB,kBACpBd;AAAAA,IAAoBQ;AAAAA,IAAA3D,cAIxBiD;AAAAA,IAAoB/C,cACpBiD;AAAAA,EAAAA,GACf5zB,QAAAsf,eAAAtf,QAAA6yB,aAAA7yB,QAAA0zB,sBAAA1zB,QAAA4zB,sBAAA5zB,QAAAmzB,OAAAnzB,QAAAg0B,gBAAAh0B,QAAAi0B,UAAAj0B,QAAAk0B,aAAAl0B,QAAAo0B,iBAAAp0B,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA,GAAAwR,KAfMG;AADT,QAAA9P,QAAgC2P;AA4B/BI,MAAAA;AAAA5R,YAAAuM,aAOgBqF,MAAAnC,IAAAA,kBAAkBlD,WAAWooB,UAAM,GAAC30B,QAAAuM,WAAAvM,QAAA4R,OAAAA,MAAA5R,EAAA,EAAA;AASnC,QAAA8R,MAAAhF,OAAOoI;AAAKnD,MAAAA;AAAA/R,IAAAE,EAAAA,MAAAA,YAAAF,UAAA8R,OAAxBC,MAACnR,2BAAAA,IAAA,OAAW,EAAA,KAAAkR,KAAe5R,SAAAA,CAAS,GAAQF,QAAAE,UAAAF,QAAA8R,KAAA9R,QAAA+R,OAAAA,MAAA/R,EAAA,EAAA;AAAAiS,MAAAA;AAAAjS,YAAAkK,iBAAAlK,EAAAw0B,EAAAA,MAAAA,mBAAAx0B,EAAAqP,EAAAA,MAAAA,WAAArP,EAAA,EAAA,MAAAyO,aAAAzO,UAAA4R,OAAA5R,EAAA,EAAA,MAAA+R,OAZ9CE,qCAAC,KACS,EAAA,WAAA,QACJxD,GAAAA,WACO,WAAAmD,KACA1H,WAAY,eACd,UAAA,QACD,SAAA,QACCmF,SACJmlB,KAAAA,iBACA,MAAA,QACK,UAAA,IAEVziB,cACF,CAAA,GAAM/R,QAAAkK,eAAAlK,QAAAw0B,iBAAAx0B,QAAAqP,SAAArP,QAAAyO,WAAAzO,QAAA4R,KAAA5R,QAAA+R,KAAA/R,QAAAiS,OAAAA,MAAAjS,EAAA,EAAA;AAAAkS,MAAAA;AAAA,SAAAlS,EAAAiS,EAAAA,MAAAA,OAAAjS,UAAA6B,SAdRqQ,MAAAtR,2BAAAA,IAAA,YAAA,UAAA,EAA6BiB,OAC3BoQ,UAAAA,IAAAA,CAcF,GAAuBjS,QAAAiS,KAAAjS,QAAA6B,OAAA7B,QAAAkS,OAAAA,MAAAlS,EAAA,EAAA,GAfvBkS;AAeuB,CAE1B;AAED4hB,KAAKnyB,cAAc;AC3LZ,MAAMizB,cAAc9oB,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,CAAA;AAAA,MAAAsM,WAAAkC;AAAAzO,WAAAD,SAIpC;AAAA,IAAAwM;AAAAA,IAAA,GAAAkC;AAAAA,EAAAA,IAAkC1O,OAAKC,OAAAD,OAAAC,OAAAuM,WAAAvM,OAAAyO,cAAAlC,YAAAvM,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA;AAAAI,MAAAA;AAAAJ,WAAAuM,aAEFnM,KAAAqP,IAAAA,kBAAkBlD,WAAWsoB,iBAAa,GAAC70B,OAAAuM,WAAAvM,OAAAI,MAAAA,KAAAJ,EAAA,CAAA;AAAAQ,MAAAA;AAAA,SAAAR,EAAAmH,CAAAA,MAAAA,OAAAnH,SAAAyO,aAAAzO,EAAA,CAAA,MAAAI,MAAzEI,KAAuFI,+BAAA,QAAA,GAA/E6N,WAAsB,WAAArO,IAAkD+G,IAAO,CAAA,GAAAnH,OAAAmH,KAAAnH,OAAAyO,WAAAzO,OAAAI,IAAAJ,OAAAQ,MAAAA,KAAAR,EAAA,CAAA,GAAvFQ;AAAuF,CAC/F;AAEDo0B,YAAYjzB,cAAc;ACNnB,MAAMmzB,aAAahpB,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAAsM,MAAAA,WAAAiC,QAAAC,WAAApO;AAAAL,WAAAD,SAInC;AAAA,IAAAwM;AAAAA,IAAAiC;AAAAA,IAAAnO;AAAAA,IAAA,GAAAoO;AAAAA,EAAAA,IAAgD1O,OAAKC,OAAAD,OAAAC,OAAAuM,WAAAvM,OAAAwO,QAAAxO,OAAAyO,WAAAzO,OAAAK,SAAAkM,YAAAvM,EAAA,CAAA,GAAAwO,SAAAxO,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAK,OAAAL,EAAA,CAAA;AAAAI,MAAAA;AAAAJ,IAAAuM,CAAAA,MAAAA,aAAAvM,SAAAwO,UAAAxO,EAAA,CAAA,MAAAK,QAKtCD,KAAAqP,IAAAA,kBAAkBlD,WAAWwoB,IAAAA,YAAA;AAAA,IAAAvmB;AAAAA,IAAAnO;AAAAA,EAAAA,CAA0B,CAAC,GAACL,OAAAuM,WAAAvM,OAAAwO,QAAAxO,OAAAK,MAAAL,OAAAI,MAAAA,KAAAJ,EAAA,CAAA;AAAAQ,MAAAA;AAAA,SAAAR,EAAAmH,CAAAA,MAAAA,OAAAnH,UAAAyO,aAAAzO,EAAA,EAAA,MAAAI,MAFtEI,KAACI,+BAAA,OACK6N,GAAAA,WACO,WAAArO,IACN+G,IACL,CAAA,GAAAnH,OAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAAI,IAAAJ,QAAAQ,MAAAA,KAAAR,EAAA,EAAA,GAJFQ;AAIE,CAEL;AAEDs0B,WAAWnzB,cAAc;ACzBlB,SAAAqzB,UAAA;AACLnzB,QAAAA,QAAcb,iBAAAqwB,WAAsB;AAAC,MAAA,CAEhCxvB;AAAK1C,UAAAA,IAAAA,MACQ,kCAAkC;AAAA,MAMhD,CAAC4c,SAASla,KAAK,KAAKA,MAAKT,YAAgB;AAAAjC,UAAAA,IAAAA,MAC3B,gDAAgD;AAG3D0C,SAAAA;AAAK;ACiCP,SAAAozB,UAAAl1B,OAAA;AAAAC,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAoV,eAAAnV,UAAA4M,KAAAC,MAAAC,MAAAkoB,WAAA7E,SAAA7sB,SAAAiL,WAAArO,IAAAI,IAAAC,IAAAE,IAAAc,IAAAqN,IAAAuF;AAAArU,WAAAD,SACL;AAAA,IAAAkP,IAAA7O;AAAAA,IAAAF;AAAAA,IAAA0S,UAAApS;AAAAA,IAAAsM;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAoI,MAAAC;AAAAA,IAAAsf,MAAAO;AAAAA,IAAA7E;AAAAA,IAAAhhB,SAAA5O;AAAAA,IAAA+C;AAAAA,IAAAgL,QAAA7N;AAAAA,IAAAuU,OAAAzT;AAAAA,IAAA4S;AAAAA,IAAAhU,MAAAyO;AAAAA,IAAA,GAAAL;AAAAA,EAiBI1O,IAAAA,OAAKC,OAAAD,OAAAC,OAAAqV,eAAArV,OAAAE,UAAAF,OAAA8M,KAAA9M,OAAA+M,MAAA/M,OAAAgN,MAAAhN,OAAAk1B,WAAAl1B,OAAAqwB,SAAArwB,OAAAwD,SAAAxD,OAAAyO,WAAAzO,QAAAI,IAAAJ,QAAAQ,IAAAR,QAAAS,IAAAT,QAAAW,IAAAX,QAAAyB,IAAAzB,QAAA8O,IAAA9O,QAAAqU,SAAAgB,gBAAArV,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAA8M,MAAA9M,EAAA,CAAA,GAAA+M,OAAA/M,EAAA,CAAA,GAAAgN,OAAAhN,EAAA,CAAA,GAAAk1B,YAAAl1B,EAAA,CAAA,GAAAqwB,UAAArwB,EAAA,CAAA,GAAAwD,UAAAxD,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAI,KAAAJ,EAAA,EAAA,GAAAQ,KAAAR,EAAA,EAAA,GAAAS,KAAAT,EAAA,EAAA,GAAAW,KAAAX,EAAA,EAAA,GAAAyB,KAAAzB,EAAA,EAAA,GAAA8O,KAAA9O,EAAA,EAAA,GAAAqU,OAAArU,EAAA,EAAA;AAhBP,QAAAiP,KAAA7O,OAAaG,SAAR,WAALH,IAEAwS,WAAApS,OAAYD,aAAZC,IAOA6O,UAAA5O,OAAWF,aAAXE,IAEA+N,SAAA7N,OAAUJ,aAAVI,IACAuU,QAAAzT,OAASlB,aAATkB,IAEApB,OAAAyO,OAAgBvO,SAAT,YAAPuO,IAGF6lB,OAAaK,WAEb;AAAA,IAAA1V;AAAAA,IAAA6T;AAAAA,IAAAa;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAO,kBAAAU;AAAAA,IAAAf;AAAAA,EAAAA,IAQIO,MACJF,mBAAyBU,qBAAqBR,KAAIlE,cAClD,CAAAlR,aAAA6V,cAAA,IAAsC1vB,MAAAA,aAAwD,GAC9F,CAAAmiB,MAAAwN,OAAA,IAAwB3vB,iBAAc,GACtC,CAAAgtB,aAAA4C,cAAA,IAAsC5vB,MAAAA,aAAsC,GAC5E6vB,SAAe5uB,CAAQ2Y,CAAAA,iBAAkBA,kBAAkBC,aAC3D,CAAAiW,YAAAC,aAAA,IAAoC/vB,iBAAc;AAACqJ,MAAAA;AAAA/O,YAAAy0B,oBAGjD1lB,KAAA9E,CAAA,UAAA;AACEwrB,oBAAmB,GACnBhB,iBAAiBxqB,KAAK,GACtBorB,UAAY;AAAA,EAAC,GACdr1B,QAAAy0B,kBAAAz0B,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA;AALH,QAAAwwB,mBAAyBzhB;AAOxBS,MAAAA;AAAAxP,YAAAuf,eAGC/P,KAAApF,CAAA,YAAA;AACMH,YAAK3K,QAAS,gBAChB2K,QAAKmiB,mBAELiJ,UAAa,GAEbhkB,sBAAA,MAAA;AACEkO,mBAAW8M,MAAA;AAAA,IAAA,CACZ;AAAA,EAAC,GAELrsB,QAAAuf,aAAAvf,QAAAwP,MAAAA,KAAAxP,EAAA,EAAA;AAXH,QAAA01B,oBAA0BlmB;AAazBG,MAAAA;AAAA3P,YAAAqwB,WAGC1gB,KAAAgmB,CAAA,YAAA;AACEtF,cAAUpmB,OAAK,GAEfqrB,eAAe,OAAO,GACtBD,UAAY;AAAA,EAAC,GACdr1B,QAAAqwB,SAAArwB,QAAA2P,MAAAA,KAAA3P,EAAA,EAAA;AANH,QAAAowB,cAAoBzgB;AAQnB6B,MAAAA;AAAAxR,YAAAk0B,eAEwC1iB,KAAAA,MAAA;cAC1B,GACb0iB,cAAW;AAAA,EAAA,GACZl0B,QAAAk0B,aAAAl0B,QAAAwR,MAAAA,KAAAxR,EAAA,EAAA;AAHD,QAAA41B,uBAA6BpkB;AAGZG,MAAAA;AAAA3R,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAEwBiS,MAAAA,MAAM8jB,gBAAkB,GAACz1B,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA;AAAlE,QAAA61B,uBAA6BlkB;AAA0C,MAAAC,KAAAE;AAAA9R,IAAAmzB,EAAAA,MAAAA,SAAAnzB,UAAAuf,eAG7D3N,MAAAA,MAAMuhB,MAAM5T,WAAW,GAAGzN,MAAA,CAACqhB,OAAO5T,WAAW,GAACvf,QAAAmzB,OAAAnzB,QAAAuf,aAAAvf,QAAA4R,KAAA5R,QAAA8R,QAAAF,MAAA5R,EAAA,EAAA,GAAA8R,MAAA9R,EAAA,EAAA,IAAxDgH,MAAAA,UAAU4K,KAA0BE,GAAoB;AAAC,MAAAC,KAAAE;AAAAjS,YAAAu1B,UAG/CxjB,MAAAA,MAAA;AACHwjB,cAAQF,UAAa;AAAA,EAAC,GAC1BpjB,OAACsjB,MAAM,GAACv1B,QAAAu1B,QAAAv1B,QAAA+R,KAAA/R,QAAAiS,QAAAF,MAAA/R,EAAA,EAAA,GAAAiS,MAAAjS,EAAA,EAAA,IAFXgH,gBAAU+K,KAEPE,GAAQ;AAAC,MAAAC,KAAAE;AAAApS,YAAA6nB,QAGF3V,MAAAA,MAAA;AACH2V,YAAM4N,gBAAmB;AAAA,EAAC,GAC9BrjB,OAACyV,IAAI,GAAC7nB,QAAA6nB,MAAA7nB,QAAAkS,KAAAlS,QAAAoS,QAAAF,MAAAlS,EAAA,EAAA,GAAAoS,MAAApS,EAAA,EAAA,IAFTgH,gBAAUkL,KAEPE,GAAM;AAAC,MAAAC,KAAAC;AAAAtS,YAAA0yB,eAGArgB,MAAAA,MAAA;AAAA,QAAA,CACHqgB;AAAW;AAGhB,UAAAmB,QAAcxiB,4BAA4BikB,eAAc,IAAK,CAAC;AAEjDhkB,WAAAA,MAAAA,qBAAqBuiB,KAAK;AAAA,EAAC,GACvCvhB,OAACogB,WAAW,GAAC1yB,QAAA0yB,aAAA1yB,QAAAqS,KAAArS,QAAAsS,QAAAD,MAAArS,EAAA,EAAA,GAAAsS,MAAAtS,EAAA,EAAA,IAPhBgH,gBAAUqL,KAOPC,GAAa;AAACE,MAAAA;AAAAxS,IAAA,EAAA,MAAAE,YAAAF,EAAA,EAAA,MAAA41B,wBAAA51B,EAAA,EAAA,MAAA01B,qBAAA11B,EAAAk1B,EAAAA,MAAAA,aAAAl1B,EAAAg0B,EAAAA,MAAAA,kBAAAh0B,EAAAi0B,EAAAA,MAAAA,YAAAj0B,EAAAo0B,EAAAA,MAAAA,mBAAAp0B,UAAA0yB,eAGflgB,MAAA5R,2BAAA,IAAC,QACKs0B,GAAAA,WACYlB,gBACNC,UACG2B,aAAmB,sBACrBF,8BACGG,cAAAA,sBACGzB,iBACJ1B,sBAGf,CAAA,GAAO1yB,QAAAE,UAAAF,QAAA41B,sBAAA51B,QAAA01B,mBAAA11B,QAAAk1B,WAAAl1B,QAAAg0B,gBAAAh0B,QAAAi0B,UAAAj0B,QAAAo0B,iBAAAp0B,QAAA0yB,aAAA1yB,QAAAwS,OAAAA,MAAAxS,EAAA,EAAA;AAZT,QAAA81B,YACEtjB;AAYDgZ,MAAAA;AAAAxrB,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAEiC8rB,MAAAuK,CAAA,YAAA;AAChC,UAAA3vB,SAAe6D,QAAK0pB;AAAc,QAE9Bh0B,SAAA2f,kBAA2BlZ,UAI3B6D,QAAK3K,QAAS,cAAY;AAC5Bg2B,qBAAe,OAAO,GACtBD,UAAY,GACZI,gBAAkB;AAAC;AAAA,IAAA;AAAA,EAAA,GAItBz1B,QAAAwrB,OAAAA,MAAAxrB,EAAA,EAAA;AAdDkK,QAAAA,gBAAsBshB,KAuBFC,MAAAxc,OAAO,WAAWumB,aAAUj1B,QAE5BmrB,MAAAzc,OAAO,WAAWumB,aAAUj1B,QAC3BorB,OAAC6J,cAAcD,SAAS,KAAEh1B,QAQnCqrB,MAAA3c,OAAO,WAAW,WAAQ1O,QAErBurB,MAAAhf,OAAOoI;AAAK6W,MAAAA;AAAA/rB,IAAAqV,EAAAA,MAAAA,iBAAArV,UAAA4S,YACpBmZ,MAAA1W,iBACElB,2BAAA,KAAA,MAAA,EAAWvB,MAAO,UAChBS,UAAAA;AAAAA,IAAAA,MAAAA,eAAegC,aAAa,KAAKA;AAAAA,IACjCrE,QAAAA,mBAAmBqE,aAAa,KAAKzU,2BAAA,IAAC,eAAa,CAAA,CAAA;AAAA,EAAA,EACtD,CAAA,GACDZ,QAAAqV,eAAArV,QAAA4S,UAAA5S,QAAA+rB,OAAAA,MAAA/rB,EAAA,EAAA;AAAA4sB,MAAAA;AAAA5sB,IAAA4S,EAAAA,MAAAA,YAAA5S,UAAAqU,QAEDuY,MAAChsB,2BAAA,IAAA,OAAU,MAAA,GACT,yCAAC,MAAWgS,EAAAA,gBAAuB,cAAA,YAAkB,QAAA,UAC/C,eACN,CAAA,EACF,CAAA,GAAM5S,QAAA4S,UAAA5S,QAAAqU,MAAArU,QAAA4sB,OAAAA,MAAA5sB,EAAA,EAAA;AAAA6sB,MAAAA;AAAA7sB,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAGJmtB,MAACjsB,2BAAA,IAAAo1B,MAAA,kBAAA,CAAmB,CAAA,GAAAh2B,QAAA6sB,OAAAA,MAAA7sB,EAAA,EAAA;AAAA+sB,MAAAA;AAAA/sB,YAAA4S,YADtBma,MAACnsB,+BAAA,MAAA,EAAWgS,MAAAA,UACVia,UAAAA,KACF,GAAO7sB,QAAA4S,UAAA5S,QAAA+sB,OAAAA,MAAA/sB,EAAA,EAAA;AAAAgtB,MAAAA;AAAAhtB,IAAA+M,EAAAA,MAAAA,QAAA/M,EAAAgN,EAAAA,MAAAA,QAAAhN,EAAAqP,EAAAA,MAAAA,WAAArP,UAAA8rB,OAAA9rB,EAAA,EAAA,MAAA+rB,OAAA/rB,EAAA,EAAA,MAAA4sB,OAAA5sB,EAAA,EAAA,MAAA+sB,OAhBTC,sCAAC,MAAU,EAAA,KAAAlB,KAAoB/e,MAAYC,MAAeqC,SACvD0c,UAAAA;AAAAA,IAAAA;AAAAA,IAODa;AAAAA,IAMAG;AAAAA,EAAAA,EAGF,CAAA,GAAO/sB,QAAA+M,MAAA/M,QAAAgN,MAAAhN,QAAAqP,SAAArP,QAAA8rB,KAAA9rB,QAAA+rB,KAAA/rB,QAAA4sB,KAAA5sB,QAAA+sB,KAAA/sB,QAAAgtB,OAAAA,MAAAhtB,EAAA,EAAA;AAAAitB,MAAAA;AAAAjtB,IAAAiP,EAAAA,MAAAA,MAAAjP,EAAA,EAAA,MAAAowB,eAAApwB,UAAAwwB,oBAAAxwB,EAAAwO,EAAAA,MAAAA,UAAAxO,EAAA,EAAA,MAAAyO,aAAAzO,EAAAyrB,EAAAA,MAAAA,OAAAzrB,EAAA,EAAA,MAAA0rB,OAAA1rB,UAAA2rB,OAAA3rB,EAAA4rB,EAAAA,MAAAA,OAAA5rB,EAAA,EAAA,MAAAgtB,OAAAhtB,UAAAK,QAnCT4sB,qCAAC,YAES,EAAA,WAAA,aAEJxe,GAAAA,WACU,gBAAAgd,KACVxc,IACU,gBAAAyc,KACC,iBAAAC,KACNyE,SAAU,aACRlmB,WAAY,eACTsmB,cAAe,kBACrBhiB,QACH4mB,KAAa,gBACR,UAAC,IACL/0B,MACA,MAAAurB,KAENoB,UAkBF,IAAA,CAAA,GAAahtB,QAAAiP,IAAAjP,QAAAowB,aAAApwB,QAAAwwB,kBAAAxwB,QAAAwO,QAAAxO,QAAAyO,WAAAzO,QAAAyrB,KAAAzrB,QAAA0rB,KAAA1rB,QAAA2rB,KAAA3rB,QAAA4rB,KAAA5rB,QAAAgtB,KAAAhtB,QAAAK,MAAAL,QAAAitB,OAAAA,MAAAjtB,EAAA,EAAA;AAAAi2B,MAAAA;AAAAj2B,SAAAA,EAAA,EAAA,MAAA81B,aAAA91B,EAAA6nB,EAAAA,MAAAA,QAAA7nB,EAAAwD,EAAAA,MAAAA,WAAAxD,UAAAitB,OArCfgJ,MAAAr1B,2BAAAA,IAAC,WAAO,GAAK4C,SAAkBsyB,SAAAA,WAAmB,WAAA,sBAA2BjO,MAC3EoF,UAqCF,IAAA,CAAA,GAAUjtB,QAAA81B,WAAA91B,QAAA6nB,MAAA7nB,QAAAwD,SAAAxD,QAAAitB,KAAAjtB,QAAAi2B,OAAAA,MAAAj2B,EAAA,EAAA,GAtCVi2B;AAsCU;AAIdhB,UAAUtzB,cAAc;ACvLjB,MAAMu0B,WAAWpqB,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAAoV,MAAAA,eAAAE,oBAAArV,UAAA+U,UAAAnI,KAAAC,MAAAC,MAAAmpB,SAAA9F,SAAAriB,eAAAC,aAAAC,cAAAC,YAAAC,UAAAC,UAAA0H,SAAAtH,WAAA2nB,cAAAh2B,IAAAI,IAAAC,IAAAE,IAAAc,IAAAqN,IAAAuF;AAAArU,WAAAD,SAIjC;AAAA,IAAAkP,IAAA7O;AAAAA,IAAAF;AAAAA,IAAA+U;AAAAA,IAAArC,UAAApS;AAAAA,IAAAsM;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAmpB;AAAAA,IAAA/gB,MAAAC;AAAAA,IAAAC,WAAAC;AAAAA,IAAA8a;AAAAA,IAAAhhB,SAAA5O;AAAAA,IAAA2N;AAAAA,IAAAC;AAAAA,IAAAF;AAAAA,IAAAD;AAAAA,IAAAF;AAAAA,IAAAC;AAAAA,IAAA8H;AAAAA,IAAAvH,QAAA7N;AAAAA,IAAA8U,UAAA2gB;AAAAA,IAAAlhB,OAAAzT;AAAAA,IAAA4S;AAAAA,IAAAhU,MAAAyO;AAAAA,IAAA,GAAAL;AAAAA,EAAAA,IA0BI1O,OAAKC,OAAAD,OAAAC,OAAAqV,eAAArV,OAAAuV,oBAAAvV,OAAAE,UAAAF,OAAAiV,UAAAjV,OAAA8M,KAAA9M,OAAA+M,MAAA/M,OAAAgN,MAAAhN,OAAAm2B,SAAAn2B,OAAAqwB,SAAArwB,QAAAgO,eAAAhO,QAAAiO,aAAAjO,QAAAkO,cAAAlO,QAAAmO,YAAAnO,QAAAoO,UAAApO,QAAAqO,UAAArO,QAAA+V,SAAA/V,QAAAyO,WAAAzO,QAAAo2B,cAAAp2B,QAAAI,IAAAJ,QAAAQ,IAAAR,QAAAS,IAAAT,QAAAW,IAAAX,QAAAyB,IAAAzB,QAAA8O,IAAA9O,QAAAqU,SAAAgB,gBAAArV,EAAA,CAAA,GAAAuV,qBAAAvV,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAAiV,WAAAjV,EAAA,CAAA,GAAA8M,MAAA9M,EAAA,CAAA,GAAA+M,OAAA/M,EAAA,CAAA,GAAAgN,OAAAhN,EAAA,CAAA,GAAAm2B,UAAAn2B,EAAA,CAAA,GAAAqwB,UAAArwB,EAAA,CAAA,GAAAgO,gBAAAhO,EAAA,EAAA,GAAAiO,cAAAjO,EAAA,EAAA,GAAAkO,eAAAlO,EAAA,EAAA,GAAAmO,aAAAnO,EAAA,EAAA,GAAAoO,WAAApO,EAAA,EAAA,GAAAqO,WAAArO,EAAA,EAAA,GAAA+V,UAAA/V,EAAA,EAAA,GAAAyO,YAAAzO,EAAA,EAAA,GAAAo2B,eAAAp2B,EAAA,EAAA,GAAAI,KAAAJ,EAAA,EAAA,GAAAQ,KAAAR,EAAA,EAAA,GAAAS,KAAAT,EAAA,EAAA,GAAAW,KAAAX,EAAA,EAAA,GAAAyB,KAAAzB,EAAA,EAAA,GAAA8O,KAAA9O,EAAA,EAAA,GAAAqU,OAAArU,EAAA,EAAA;AAzBP,QAAAiP,KAAA7O,OAAaG,SAAR,WAALH,IAGAwS,WAAApS,OAAYD,aAAZC,IAQA6O,UAAA5O,OAAWF,aAAXE,IAQA+N,SAAA7N,OAAUJ,aAAVI,IAEAuU,QAAAzT,OAASlB,aAATkB,IAEApB,OAAAyO,OAAgBvO,SAAT,YAAPuO,IAIF6lB,OAAaK,WACb;AAAA,IAAA1V;AAAAA,IAAA6T;AAAAA,IAAAe;AAAAA,IAAAO,kBAAAU;AAAAA,IAAAT,kBAAA2B;AAAAA,EAAA,IAMI1B,MACJF,mBAAyBU,qBAAqBR,KAAIlE,cAClDiE,mBAAyB2B,qBAAqB1B,KAAIhE,cAClD,CAAApR,aAAA6V,cAAA,IAAsC1vB,mBAAoC,GAC1E6vB,SAAe5uB,CAAAA,CAAQ2Y,iBAAkBA,kBAAkBC,aAC3DpY,MAAY4P,MAAAA,OAAA,IAAkC;AAAChI,MAAAA;AAAA/O,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAEiCqP,KAAAA,MAAM5H,IAAGE,SAAQrH,QAAA+O,MAAAA,KAAA/O,EAAA,EAAA,GAAjGgX,MAAAA,oBAAkEL,cAAc5H,EAAiB;AAAC,MAAAS,IAAAG;AAAA3P,IAAAmzB,EAAAA,MAAAA,SAAAnzB,UAAAuf,eAAAvf,EAAA,EAAA,MAAAo2B,gBAExF5mB,KAAAA,MAAM2jB,MAAM5T,aAAa6W,YAAY,GAAGzmB,KAACwjB,CAAAA,OAAO5T,aAAa6W,YAAY,GAACp2B,QAAAmzB,OAAAnzB,QAAAuf,aAAAvf,QAAAo2B,cAAAp2B,QAAAwP,IAAAxP,QAAA2P,OAAAH,KAAAxP,EAAA,EAAA,GAAA2P,KAAA3P,EAAA,EAAA,IAApFgH,gBAAUwI,IAAwCG,EAAkC;AAAC6B,MAAAA;AAAAxR,IAAAiV,EAAAA,MAAAA,YAAAjV,UAAAqwB,WAAArwB,EAAA,EAAA,MAAAk0B,eAGnF1iB,KAAAvH,CAAA,UAAA;AACMgL,iBACAob,WAASA,QAAQpmB,KAAK,GACtBiqB,eAAaA;EAAY,GAC9Bl0B,QAAAiV,UAAAjV,QAAAqwB,SAAArwB,QAAAk0B,aAAAl0B,QAAAwR,MAAAA,KAAAxR,EAAA,EAAA;AALH,QAAAowB,cAAoB5e;AAOnB,MAAAG,KAAAC;AAAA5R,IAAAqP,EAAAA,MAAAA,WAAArP,EAAAgO,EAAAA,MAAAA,iBAAAhO,EAAAiO,EAAAA,MAAAA,eAAAjO,UAAAkO,gBAAAlO,EAAA,EAAA,MAAAmO,cAAAnO,EAAA,EAAA,MAAAoO,YAAApO,EAAA,EAAA,MAAAqO,YAGQuD,MAAA;AAAA,IAAAvC;AAAAA,IAAAjB;AAAAA,IAAAC;AAAAA,IAAAF;AAAAA,IAAAD;AAAAA,IAAAF;AAAAA,IAAAC;AAAAA,EAAAA,GAQNjO,QAAAqP,SAAArP,QAAAgO,eAAAhO,QAAAiO,aAAAjO,QAAAkO,cAAAlO,QAAAmO,YAAAnO,QAAAoO,UAAApO,QAAAqO,UAAArO,QAAA4R,OAAAA,MAAA5R,EAAA,EAAA,GAAA2R,MARMC;AADT,QAAA0kB,eAAqB3kB;AAWpBG,MAAAA;AAAA9R,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAE0BoS,MAAA/M,CAAA,OAAA;AACtBsC,QAAAA,UAAWtC,IACdqwB,eAAerwB,EAAE;AAAA,EAAA,GAClB/E,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA;AAHD,QAAAu2B,SAAezkB,KAWGC,MAAAgE,UAAU,KAAExV,QACX0R,MAAAsjB,SAAS,KAAEh1B,QACX2R,MAAA+C,WAAW,KAAE1U,QAStB6R,MAAAnD,OAAO,WAAW,WAAQ1O;AAAY8R,MAAAA;AAAArS,IAAAqV,EAAAA,MAAAA,iBAAArV,UAAAuV,sBAAAvV,EAAA,EAAA,MAAA4S,YAAA5S,UAAA8M,OAAA9M,EAAA+M,EAAAA,MAAAA,QAAA/M,UAAAgN,QAAAhN,EAAA,EAAA,MAAAm2B,WAAAn2B,EAAAs2B,EAAAA,MAAAA,gBAAAt2B,EAAA,EAAA,MAAAkV,SAAAlV,UAAAqU,QAE3ChC,OAACgD,iBAAiBhB,QAAQkB,uBACxBpB,2BAAAA,KAAA,MAAA,EAAQ,IAAA,QAAY,KAAArH,OAAOoI,OAAanI,MAAYC,MAAY,OAAA,UAAaspB,GAAAA,cAC3EjhB,UAAAA;AAAAA,IAAAA,iBACElB,2BAAAA,KAAA,MAAA,EAAK,OAAA,IAAYvB,MAAO,UACtBS,UAAAA;AAAAA,MAAAA,MAAAA,eAAegC,aAAa,KAAKA;AAAAA,MACjCrE,QAAAA,mBAAmBqE,aAAa,KAAKzU,2BAAA,IAAC,eAAe,CAAA,CAAA;AAAA,IAAA,GACxD;AAAA,IAGDyT,QACCzT,2BAAAA,IAAC,KAAU,EAAA,MAAC,GACV,UAACA,2BAAA,IAAA,MAAA,EAAWgS,MAAAA,UAAuB,cAAA,YAAkB,QAAA,UAClDyB,eACH,CAAA,GACF;AAAA,IAGD8hB,WACEv1B,2BAAAA,IAAA,SAAA,EAAa,KAAE,KAASu1B,MAAAA,SAAgB,OAAA;AAAA,MAAAzoB,WAAA;AAAA,MAAAH,cAAA;AAAA,IAAA,GAC3C;AAAA,IAECgI,sBACEpB,2BAAAA,KAAA,MAAA,EAAK,OAAA,IAAYvB,MAAO,UACtBS,UAAAA;AAAAA,MAAAA,MAAAA,eAAekC,kBAAkB,KAAKA;AAAAA,MACtCvE,QAAAA,mBAAmBuE,kBAAkB,KAAK3U,2BAAA,IAAC,oBAAkB,CAAA,CAAA;AAAA,IAAA,EAChE,CAAA;AAAA,EAAA,GAEJ,GACDZ,QAAAqV,eAAArV,QAAAuV,oBAAAvV,QAAA4S,UAAA5S,QAAA8M,KAAA9M,QAAA+M,MAAA/M,QAAAgN,MAAAhN,QAAAm2B,SAAAn2B,QAAAs2B,cAAAt2B,QAAAkV,OAAAlV,QAAAqU,MAAArU,QAAAqS,OAAAA,MAAArS,EAAA,EAAA;AAAAsS,MAAAA;AAAAtS,IAAAE,EAAAA,MAAAA,YAAAF,UAAAs2B,gBAEAhkB,MAAApS,YACCU,2BAAA,IAAC,KAAO,EAAA,IAAA,QAAM,GAAK01B,cAChBp2B,SACH,CAAA,GACDF,QAAAE,UAAAF,QAAAs2B,cAAAt2B,QAAAsS,OAAAA,MAAAtS,EAAA,EAAA;AAAAwS,MAAAA;AAAA,SAAAxS,EAAAiP,EAAAA,MAAAA,MAAAjP,UAAAiV,YAAAjV,EAAA,EAAA,MAAAowB,eAAApwB,EAAAy0B,EAAAA,MAAAA,oBAAAz0B,EAAA00B,EAAAA,MAAAA,oBAAA10B,EAAAwO,EAAAA,MAAAA,UAAAxO,EAAAyO,EAAAA,MAAAA,aAAAzO,EAAA,EAAA,MAAA+R,OAAA/R,EAAA,EAAA,MAAAiS,OAAAjS,EAAAkS,EAAAA,MAAAA,OAAAlS,UAAAoS,OAAApS,EAAA,EAAA,MAAAqS,OAAArS,EAAA,EAAA,MAAAsS,OAAAtS,EAAA,EAAA,MAAAK,QApDHmS,MAAC2B,2BAAA,KAAA,YAAA,EACS,WAAA,YACH,MAAA,YACD1F,GAAAA,WACAQ,IACU,gBAAA8C,KACC,iBAAAE,KACA,iBAAAC,KACP1D,QACEyG,UACDmb,SAAU,aACLqE,gCACAC,cAAAA,kBACT6B,KAAK,QACA,cACJl2B,MACA,MAAA+R,KAELC,UAAAA;AAAAA,IAAAA;AAAAA,IA8BAC;AAAAA,EAAAA,EAAAA,CAKH,GAAatS,QAAAiP,IAAAjP,QAAAiV,UAAAjV,QAAAowB,aAAApwB,QAAAy0B,kBAAAz0B,QAAA00B,kBAAA10B,QAAAwO,QAAAxO,QAAAyO,WAAAzO,QAAA+R,KAAA/R,QAAAiS,KAAAjS,QAAAkS,KAAAlS,QAAAoS,KAAApS,QAAAqS,KAAArS,QAAAsS,KAAAtS,QAAAK,MAAAL,QAAAwS,OAAAA,MAAAxS,EAAA,EAAA,GArDbwS;AAqDa,CAEhB;AAED0jB,SAASv0B,cAAc;AC7IhB,MAAM60B,MAAM1qB,MAAAA,WAAW,SAAA/L,OAAA4W,cAAA;AAAA3W,QAAAA,IAAAC,uBAAA,EAAA;AAAAw2B,MAAAA,SAAArhB,MAAAshB,IAAAzmB,OAAAogB,SAAAlR,SAAA1Q,WAAAgH,UAAArV,IAAAI;AAAAR,WAAAD,SAI5B;AAAA,IAAAqV;AAAAA,IAAAshB;AAAAA,IAAAD;AAAAA,IAAA7jB,UAAAxS;AAAAA,IAAA6P;AAAAA,IAAAogB;AAAAA,IAAAlR;AAAAA,IAAA9P,SAAA7O;AAAAA,IAAAiV;AAAAA,IAAA,GAAAhH;AAAAA,EAAAA,IAWI1O,OAAKC,OAAAD,OAAAC,OAAAy2B,SAAAz2B,OAAAoV,MAAApV,OAAA02B,IAAA12B,OAAAiQ,OAAAjQ,OAAAqwB,SAAArwB,OAAAmf,SAAAnf,OAAAyO,WAAAzO,OAAAyV,UAAAzV,OAAAI,IAAAJ,QAAAQ,OAAAi2B,UAAAz2B,EAAA,CAAA,GAAAoV,OAAApV,EAAA,CAAA,GAAA02B,KAAA12B,EAAA,CAAA,GAAAiQ,QAAAjQ,EAAA,CAAA,GAAAqwB,UAAArwB,EAAA,CAAA,GAAAmf,UAAAnf,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA,GAAAyV,WAAAzV,EAAA,CAAA,GAAAI,KAAAJ,EAAA,CAAA,GAAAQ,KAAAR,EAAA,EAAA;AAPP,QAAA4S,WAAAxS,OAAYG,aAAZH,IAIAiP,UAAA7O,OAAWD,aAAXC,IAIF2G,MAAY4P,MAAA,OAAA,IAAqC,GACjD4f,aAAmB5f,aAAA,EAAY;AAACtW,MAAAA;AAAAT,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAI9Be,KAAAA,MAAM0G,IAAGE,SAAQrH,QAAAS,MAAAA,KAAAT,EAAA,EAAA,GAFnBgX,MAAAA,oBACEL,cACAlW,EACF;AAACE,MAAAA;AAAAX,IAAA,EAAA,MAAAP,OAAAC,IAAA,2BAAA,KAE8BiB,KAAAA,MAAA;AAC7Bg2B,eAAUtvB,UAAA;AAAA,EAAA,GACXrH,QAAAW,MAAAA,KAAAX,EAAA,EAAA;AAFD,QAAAiwB,aAAmBtvB;AAEbc,MAAAA;AAAAzB,YAAAmf,WAGJ1d,KAAAwI,CAAA,UAAA;AACE0sB,eAAUtvB,UAAA,IACN8X,WAASA,QAAQlV,KAAK;AAAA,EAAC,GAC5BjK,QAAAmf,SAAAnf,QAAAyB,MAAAA,KAAAzB,EAAA,EAAA;AAJH,QAAAwf,cAAoB/d;AAMnB,MAAAqN,IAAAC;AAAA/O,YAAAy2B,WAES3nB,KAAAA,MAAA;AACJ2nB,eAAO,CAAKE,WAAUtvB,YACpBF,IAAGE,WAAUF,IAAGE,QAAAglB,MACpBsK,GAAAA,WAAUtvB,UAAA;AAAA,EAAA,GAEX0H,MAAC0nB,OAAO,GAACz2B,QAAAy2B,SAAAz2B,QAAA8O,IAAA9O,QAAA+O,OAAAD,KAAA9O,EAAA,EAAA,GAAA+O,KAAA/O,EAAA,EAAA,IALZgH,gBAAU8H,IAKPC,EAAS;AAMO,QAAAS,KAAAiG,WAAW,SAAS,SAYzB9F,KAAA8F,WAAiB,IAAA;AAAAjE,MAAAA;AAAA,SAAAxR,EAAA4S,EAAAA,MAAAA,YAAA5S,EAAA,EAAA,MAAAwf,eAAAxf,UAAAoV,QAAApV,EAAA02B,EAAAA,MAAAA,MAAA12B,EAAA,EAAA,MAAAiQ,SAAAjQ,EAAAqwB,EAAAA,MAAAA,WAAArwB,EAAA,EAAA,MAAAqP,WAAArP,UAAAyO,aAAAzO,EAAAyV,EAAAA,MAAAA,YAAAzV,EAAA,EAAA,MAAAwP,MAAAxP,UAAA2P,MAf7B6B,oCAAC,QACS,EAAA,WAAA,OACJ/C,GAAAA,WACW,iBAAAe,IACLoD,UACJwC,MACFshB,IACC,MAAA,SACIrG,SACDJ,QAAS,YACRzQ,SAAU,aACVnQ,SACJlI,KACA,MAAA,OACKsO,UACA,UAAA9F,IACJM,MAAI,OACL,MAAA,SACL,CAAA,GAAAjQ,QAAA4S,UAAA5S,QAAAwf,aAAAxf,QAAAoV,MAAApV,QAAA02B,IAAA12B,QAAAiQ,OAAAjQ,QAAAqwB,SAAArwB,QAAAqP,SAAArP,QAAAyO,WAAAzO,QAAAyV,UAAAzV,QAAAwP,IAAAxP,QAAA2P,IAAA3P,QAAAwR,MAAAA,KAAAxR,EAAA,EAAA,GAlBFwR;AAkBE,CAEL;AAEDglB,IAAI70B,cAAc;AC7ElB,SAASi1B,gBAAgB7yB,MAAgE;AACvF,SAAO4C,CAAQ5C,CAAAA;AACjB;AAKO,MAAM8yB,UAAU/qB,MAAAA,WAAW,SAAA/L,OAAAoH,KAAA;AAAAnH,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAA8S,cAAAtE;AAAAzO,WAAAD,SAIhC;AAAA,IAAAG,UAAA6S;AAAAA,IAAA,GAAAtE;AAAAA,EAAAA,IAA+C1O,OAAKC,OAAAD,OAAAC,OAAA+S,cAAA/S,OAAAyO,cAAAsE,eAAA/S,EAAA,CAAA,GAAAyO,YAAAzO,EAAA,CAAA;AACpD,QAAA,CAAAyzB,cAAAqD,eAAA,IAAwCpxB,MAAAA,WAAW;AAACtF,MAAAA;AAAA,MAAAJ,EAAA+S,CAAAA,MAAAA,gBAAA/S,SAAAyzB,cAAA;AAEpD,UAAAvzB,WAAiBgT,MAAAA,SAAAC,QAAiBJ,YAAY,EAACK,OAAAwjB,eAAuB;AAACp2B,QAAAA;AAAAR,aAAAyzB,gBAE7CjzB,MAAAA,CAAAuT,OAAAC,eACxBC,MAAAA,aAAaF,OAAK;AAAA,MAAA0iB,SACPhD,iBAAiBzf;AAAAA,MAAU1U,KAC/B0U;AAAAA,MAAUmL,SAAAA,MACA2X,gBAAgB9iB,UAAU;AAAA,IAC1C,CAAA,GAAChU,OAAAyzB,cAAAzzB,OAAAQ,OAAAA,MAAAR,EAAA,CAAA,GALSI,KAAAF,SAAQuR,IAAKjR,GAM1B,GAACR,OAAA+S,cAAA/S,OAAAyzB,cAAAzzB,OAAAI;AAAAA,EAAA;AAAAA,SAAAJ,EAAA,CAAA;AAND+2B,QAAAA,OAAa32B,IAQb42B,UAAgBD,KAAIptB;AAAOnJ,MAAAA;AAAAR,WAAAg3B,WAGzBx2B,KAAAyJ,CAAA,UAAA;AACMA,UAAK3K,QAAS,eAChBw3B,gBAAeG,CAAAA,eAAiBA,YAAYD,UAAO,KAAQA,OAAO,GAGhE/sB,MAAK3K,QAAS,gBAChBw3B,gBAAeI,CAAiBD,iBAAAA,cAAa,KAAID,OAAO;AAAA,EAAC,GAE5Dh3B,OAAAg3B,SAAAh3B,OAAAQ,MAAAA,KAAAR,EAAA,CAAA;AATH,QAAAkK,gBAAsB1J;AAWrBC,MAAAA;AAAAT,SAAAA,EAAA,EAAA,MAAAkK,iBAAAlK,EAAAmH,EAAAA,MAAAA,OAAAnH,EAAAyO,EAAAA,MAAAA,aAAAzO,UAAA+2B,QAGCt2B,KAACG,2BAAA,IAAA,QAAA,EAAe,WAAA,WAAS,GAAK6N,WAAsBvE,WAAY,eAAQ/C,KAAU,MAAA,WAC5E,UAAA,MACN,GAASnH,QAAAkK,eAAAlK,QAAAmH,KAAAnH,QAAAyO,WAAAzO,QAAA+2B,MAAA/2B,QAAAS,MAAAA,KAAAT,EAAA,EAAA,GAFTS;AAES,CAEZ;AAEDo2B,QAAQl1B,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|