@framework-m/ui 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/theme/ThemeContext.tsx","../src/theme/ThemeToggle.tsx","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/pseudoDescriptors.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mergeProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/objectIdentityKey.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/createStyledContext.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/contexts/ComponentContext.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/contexts/GroupContext.mjs","../../../node_modules/.pnpm/@tamagui+is-equal-shallow@2.0.0-rc.26_react@19.2.4/node_modules/@tamagui/is-equal-shallow/dist/esm/index.mjs","../../../node_modules/.pnpm/@tamagui+constants@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/constants/dist/esm/constants.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/constants/constants.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/config.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mediaObjectToString.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mediaState.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getGroupPropParts.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/createMediaStyle.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/matchMedia.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/hooks/useMedia.mjs","../../../node_modules/.pnpm/@tamagui+simple-hash@2.0.0-rc.26/node_modules/@tamagui/simple-hash/dist/esm/index.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/clamp.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/composeEventHandlers.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/types.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/shouldRenderNativePlatform.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/webOnlyStyleProps.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/validStyleProps.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/withStaticProperties.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createVariable.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/hooks/getThemeProxied.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/hooks/useThemeState.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/hooks/useTheme.mjs","../../../node_modules/.pnpm/@tamagui+compose-refs@2.0.0-rc.26_react@19.2.4/node_modules/@tamagui/compose-refs/dist/esm/compose-refs.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/constants/isDevTools.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/defaultComponentState.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/eventHandling.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getDefaultProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/resolveAnimationDriver.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/defaultOffset.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/normalizeShadow.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/expandStyles.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/normalizeColor.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/normalizeValueWithProperty.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/transformsToString.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getCSSStylesAtomic.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/insertStyleRule.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/isActivePlatform.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/isActiveTheme.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/log.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/expandStyle.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getVariantExtras.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getTokenForKey.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/isObj.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/normalizeStyle.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/platformResolveValue.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/resolveCompoundTokens.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/resolveRem.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/nativeOnlyProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/skipProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/propMapper.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/sortString.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getSplitStyles.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mergeSlotStyleProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mergeRenderElementProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/pseudoTransitions.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/setupHooks.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/setElementProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/subscribeToContextGroup.mjs","../../../node_modules/.pnpm/@tamagui+use-did-finish-ssr@2.0.0-rc.26_react@19.2.4/node_modules/@tamagui/use-did-finish-ssr/dist/esm/ClientOnly.mjs","../../../node_modules/.pnpm/@tamagui+use-did-finish-ssr@2.0.0-rc.26_react@19.2.4/node_modules/@tamagui/use-did-finish-ssr/dist/esm/index.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/ThemeDebug.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/Theme.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/themeable.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/wrapStyleTags.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/hooks/useComponentState.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/Slot.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createComponent.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/registerCSSVariable.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getThemeCSSRules.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/proxyThemeToParents.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/themes.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createFont.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createVariables.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/defaultAnimationDriver.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/createDesignSystem.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/insertFont.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/Tamagui.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createTamagui.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createTokens.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/setupReactNative.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mergeVariants.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/styled.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/View.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/TamaguiRoot.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/ThemeProvider.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/TamaguiProvider.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/Text.mjs","../../../node_modules/.pnpm/@tamagui+use-element-layout@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+r_c790c9e569c9c637ae5691fedd2b0e36/node_modules/@tamagui/use-element-layout/dist/esm/index.mjs","../../../node_modules/.pnpm/@tamagui+core@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+cor_c2f4871598b58906851f19c16dfae040/node_modules/@tamagui/core/dist/esm/getBaseViews.mjs","../../../node_modules/.pnpm/@tamagui+core@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+cor_c2f4871598b58906851f19c16dfae040/node_modules/@tamagui/core/dist/esm/index.mjs","../src/tokens/config.ts","../src/theme/mThemeConfig.ts","../src/theme/MProvider.tsx","../src/components/StateBadge.tsx","../src/components/LocaleSwitcher.tsx","../src/components/Skeleton.tsx","../src/components/Primitives.tsx","../src/components/Button.tsx","../src/components/Card.tsx","../src/components/Input.tsx","../src/components/DatePicker.tsx","../src/components/Select.tsx","../src/components/Toast.tsx"],"sourcesContent":["/**\n * ThemeContext — Theme management (light/dark mode)\n *\n * Pure presentational context — no Framework M or Refine dependencies.\n * Provides theme state, persistence to localStorage, and system preference detection.\n *\n * @example\n * ```tsx\n * import { ThemeProvider, useTheme } from \"@framework-m/ui\";\n *\n * function App() {\n * return (\n * <ThemeProvider>\n * <MyComponent />\n * </ThemeProvider>\n * );\n * }\n *\n * function MyComponent() {\n * const { theme, toggleTheme } = useTheme();\n * return <button onClick={toggleTheme}>Current: {theme}</button>;\n * }\n * ```\n */\n\nimport {\n createContext,\n useContext,\n useState,\n useEffect,\n type ReactNode,\n} from \"react\";\n\nexport type Theme = \"light\" | \"dark\";\n\nexport interface ThemeContextType {\n theme: Theme;\n setTheme: (theme: Theme) => void;\n toggleTheme: () => void;\n}\n\nconst ThemeContext = createContext<ThemeContextType | null>(null);\n\nconst STORAGE_KEY = \"framework-m-theme\";\n\nfunction getInitialTheme(): Theme {\n const savedTheme = localStorage.getItem(STORAGE_KEY) as Theme | null;\n if (savedTheme === \"light\" || savedTheme === \"dark\") {\n return savedTheme;\n }\n\n if (\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ) {\n return \"dark\";\n }\n\n return \"light\";\n}\n\nfunction applyTheme(theme: Theme) {\n const root = document.documentElement;\n if (theme === \"dark\") {\n root.classList.add(\"dark\");\n } else {\n root.classList.remove(\"dark\");\n }\n}\n\nexport interface ThemeProviderProps {\n children: ReactNode;\n}\n\nexport function ThemeProvider({ children }: ThemeProviderProps) {\n const [theme, setThemeState] = useState<Theme>(getInitialTheme);\n\n useEffect(() => {\n applyTheme(theme);\n }, [theme]);\n\n useEffect(() => {\n const mediaQuery = window.matchMedia(\"(prefers-color-scheme: dark)\");\n\n const handleChange = (e: MediaQueryListEvent) => {\n const savedTheme = localStorage.getItem(STORAGE_KEY);\n if (!savedTheme) {\n setThemeState(e.matches ? \"dark\" : \"light\");\n }\n };\n\n mediaQuery.addEventListener(\"change\", handleChange);\n return () => mediaQuery.removeEventListener(\"change\", handleChange);\n }, []);\n\n const setTheme = (newTheme: Theme) => {\n setThemeState(newTheme);\n localStorage.setItem(STORAGE_KEY, newTheme);\n applyTheme(newTheme);\n };\n\n const toggleTheme = () => {\n setTheme(theme === \"light\" ? \"dark\" : \"light\");\n };\n\n const value: ThemeContextType = { theme, setTheme, toggleTheme };\n\n return (\n <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>\n );\n}\n\nexport function useTheme(): ThemeContextType {\n const context = useContext(ThemeContext);\n if (!context) {\n throw new Error(\"useTheme must be used within ThemeProvider\");\n }\n return context;\n}\n","/**\n * ThemeToggle — Switch between light and dark themes.\n *\n * Pure presentational component — uses only ThemeContext from this package.\n *\n * @example\n * ```tsx\n * import { ThemeToggle } from \"@framework-m/ui\";\n * <ThemeToggle />\n * ```\n */\n\nimport { useTheme } from \"./ThemeContext\";\n\nfunction SunIcon() {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\" />\n <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\" />\n <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\" />\n <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\" />\n <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\" />\n <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\" />\n <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\" />\n <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\" />\n </svg>\n );\n}\n\nfunction MoonIcon() {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\" />\n </svg>\n );\n}\n\nexport function ThemeToggle() {\n const { theme, toggleTheme } = useTheme();\n\n return (\n <button\n onClick={toggleTheme}\n className=\"theme-toggle\"\n aria-label={`Switch to ${theme === \"light\" ? \"dark\" : \"light\"} mode`}\n title={`Current theme: ${theme}`}\n type=\"button\"\n >\n {theme === \"light\" ? <MoonIcon /> : <SunIcon />}\n\n <style>{`\n .theme-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: 8px;\n color: var(--text-color, #333);\n transition: all 0.2s ease;\n }\n\n .theme-toggle:hover {\n background: var(--hover-bg, rgba(0, 0, 0, 0.05));\n }\n\n .theme-toggle:active {\n transform: scale(0.95);\n }\n\n .theme-toggle:focus-visible {\n outline: 2px solid var(--primary-color, #3b82f6);\n outline-offset: 2px;\n }\n\n .dark .theme-toggle {\n color: var(--text-color-dark, #e5e7eb);\n }\n\n .dark .theme-toggle:hover {\n background: var(--hover-bg-dark, rgba(255, 255, 255, 0.1));\n }\n `}</style>\n </button>\n );\n}\n","const pseudoDescriptorsBase = {\n // order of keys here important! in priority order\n hoverStyle: {\n name: \"hover\",\n priority: 2\n },\n pressStyle: {\n name: \"active\",\n stateKey: \"press\",\n priority: 3\n },\n focusVisibleStyle: {\n name: \"focus-visible\",\n priority: 4,\n stateKey: \"focusVisible\"\n },\n focusStyle: {\n name: \"focus\",\n priority: 4\n },\n focusWithinStyle: {\n name: \"focus-within\",\n priority: 4,\n stateKey: \"focusWithin\"\n },\n disabledStyle: {\n name: \"disabled\",\n priority: 5,\n stateKey: \"disabled\"\n }\n },\n pseudoPriorities = {\n hover: pseudoDescriptorsBase.hoverStyle.priority,\n press: pseudoDescriptorsBase.pressStyle.priority,\n focus: pseudoDescriptorsBase.focusStyle.priority,\n focusVisible: pseudoDescriptorsBase.focusVisibleStyle.priority,\n focusWithin: pseudoDescriptorsBase.focusWithinStyle.priority,\n disabled: pseudoDescriptorsBase.disabledStyle.priority\n },\n pseudoDescriptors = {\n ...pseudoDescriptorsBase,\n enterStyle: {\n name: \"enter\",\n selector: \".t_unmounted\",\n priority: 4\n },\n exitStyle: {\n name: \"exit\",\n priority: 5\n }\n },\n defaultMediaImportance = Object.keys(pseudoDescriptors).length;\nexport { defaultMediaImportance, pseudoDescriptors, pseudoDescriptorsBase, pseudoPriorities };\n//# sourceMappingURL=pseudoDescriptors.mjs.map\n","import { pseudoDescriptors } from \"./pseudoDescriptors.mjs\";\nconst mergeProps = (defaultProps, props) => {\n const out = {};\n for (const key in defaultProps) key in props || (out[key] = defaultProps[key]);\n for (const key in props) mergeProp(out, defaultProps, props, key);\n return out;\n },\n mergeComponentProps = (defaultProps, contextProps, props) => {\n let overriddenContext = null;\n if (!defaultProps && !contextProps) return [props, overriddenContext];\n if (defaultProps && !contextProps) return [mergeProps(defaultProps, props), overriddenContext];\n const out = {};\n for (const key in defaultProps) key in props || (out[key] = defaultProps[key]);\n for (const key in contextProps) {\n if (key in props) continue;\n const contextValue = contextProps[key];\n contextValue !== void 0 && (out[key] = contextValue);\n }\n for (const key in props) mergeProp(out, defaultProps, props, key), contextProps && key in contextProps && (overriddenContext ||= {}, overriddenContext[key] = props[key]);\n return [out, overriddenContext];\n };\nfunction mergeProp(out, defaultProps, props, key) {\n let val = props[key];\n if (defaultProps && key in defaultProps && (key in pseudoDescriptors || key[0] === \"$\") && val && typeof val == \"object\") {\n const defaultVal = defaultProps[key];\n defaultVal && typeof defaultVal == \"object\" && (val = mergeProps(defaultVal, val));\n }\n out[key] = val;\n}\nexport { mergeComponentProps, mergeProps };\n//# sourceMappingURL=mergeProps.mjs.map\n","function objectIdentityKey(obj) {\n let k = \"\";\n for (const key in obj) {\n k += key;\n const arg = obj[key];\n let type = typeof arg;\n if (!arg || type !== \"object\" && type !== \"function\") k += type + arg;else if (cache.has(arg)) k += cache.get(arg);else {\n let v = Math.random();\n cache.set(arg, v), k += v;\n }\n }\n return k;\n}\nconst cache = /* @__PURE__ */new WeakMap();\nexport { objectIdentityKey };\n//# sourceMappingURL=objectIdentityKey.mjs.map\n","import React from \"react\";\nimport { mergeProps } from \"./mergeProps.mjs\";\nimport { objectIdentityKey } from \"./objectIdentityKey.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nconst createStyledContext = (defaultValues, namespace = \"\") => {\n \"use no memo\";\n\n const createReactContext = React[Math.random(), \"createContext\"],\n useReactMemo = React[Math.random(), \"useMemo\"],\n useReactContext = React[Math.random(), \"useContext\"],\n OGContext = createReactContext(defaultValues),\n OGProvider = OGContext.Provider,\n Context = OGContext,\n scopedContexts = /* @__PURE__ */new Map(),\n LastScopeInNamespace = createReactContext(namespace);\n function getOrCreateScopedContext(scope) {\n let ScopedContext = scopedContexts.get(scope);\n return ScopedContext || (ScopedContext = createReactContext(defaultValues), scopedContexts.set(scope, ScopedContext)), ScopedContext;\n }\n const getNamespacedScope = scope => namespace ? `${namespace}--${scope}` : scope,\n Provider = ({\n children,\n scope: scopeIn,\n // performance: avoid creating objects\n __disableMergeDefaultValues,\n ...values\n }) => {\n const scope = getNamespacedScope(scopeIn),\n next = useReactMemo(() => __disableMergeDefaultValues ? values : mergeProps(defaultValues, values), [objectIdentityKey(values)]);\n let ScopedProvider = OGProvider;\n return scope && (ScopedProvider = getOrCreateScopedContext(scope).Provider), /* @__PURE__ */jsx(LastScopeInNamespace.Provider, {\n value: scope,\n children: /* @__PURE__ */jsx(ScopedProvider, {\n value: next,\n children\n })\n });\n },\n useStyledContext = (scopeIn = \"\") => {\n const lastScopeInNamespace = useReactContext(LastScopeInNamespace),\n scope = namespace ? scopeIn ? getNamespacedScope(scopeIn) : lastScopeInNamespace : scopeIn,\n context = scope ? getOrCreateScopedContext(scope) : OGContext;\n return useReactContext(context);\n };\n return Context.Provider = Provider, Context.props = defaultValues, Context.context = OGContext, Context.useStyledContext = useStyledContext, Context;\n};\nexport { createStyledContext };\n//# sourceMappingURL=createStyledContext.mjs.map\n","import { useContext } from \"react\";\nimport { createStyledContext } from \"../helpers/createStyledContext.mjs\";\nconst ComponentContext = createStyledContext({\n disableSSR: void 0,\n inText: !1,\n language: null,\n animationDriver: null,\n setParentFocusState: null,\n insets: null\n }),\n useConfiguration = () => useContext(ComponentContext);\nexport { ComponentContext, useConfiguration };\n//# sourceMappingURL=ComponentContext.mjs.map\n","import { createContext } from \"react\";\nconst GroupContext = createContext(null);\nexport { GroupContext };\n//# sourceMappingURL=GroupContext.mjs.map\n","import { useCallback } from \"react\";\nfunction useCreateShallowSetState(setter, debug) {\n return useCallback(stateOrGetState => {\n setter(prev => {\n const next = typeof stateOrGetState == \"function\" ? stateOrGetState(prev) : stateOrGetState,\n update = mergeIfNotShallowEqual(prev, next);\n return process.env.NODE_ENV === \"development\" && debug && update !== prev && (console.groupCollapsed(\"setStateShallow CHANGE\", \"=>\", update), console.info(\"previously\", prev), console.trace(), console.groupEnd()), update;\n });\n }, [setter, debug]);\n}\nfunction mergeIfNotShallowEqual(prev, next) {\n return !prev || !next || isEqualShallow(prev, next) ? prev || next : {\n ...prev,\n ...next\n };\n}\nfunction isEqualShallow(prev, next) {\n for (const key in next) if (prev[key] !== next[key]) return !1;\n return !0;\n}\nexport { isEqualShallow, mergeIfNotShallowEqual, useCreateShallowSetState };\n//# sourceMappingURL=index.mjs.map\n","import { useEffect, useLayoutEffect } from \"react\";\nconst isWeb = !0,\n isBrowser = typeof window < \"u\",\n isServer = isWeb && !isBrowser,\n isClient = isWeb && isBrowser,\n isWindowDefined = isBrowser,\n useIsomorphicLayoutEffect = isServer ? useEffect : useLayoutEffect,\n isChrome = typeof navigator < \"u\" && /Chrome/.test(navigator.userAgent || \"\"),\n isWebTouchable = isClient && (\"ontouchstart\" in window || navigator.maxTouchPoints > 0),\n isTouchable = !isWeb || isWebTouchable,\n isAndroid = !1,\n isIos = process.env.TEST_NATIVE_PLATFORM === \"ios\",\n currentPlatform = \"web\";\nexport { currentPlatform, isAndroid, isBrowser, isChrome, isClient, isIos, isServer, isTouchable, isWeb, isWebTouchable, isWindowDefined, useIsomorphicLayoutEffect };\n//# sourceMappingURL=constants.mjs.map\n","const THEME_NAME_SEPARATOR = \"_\",\n THEME_CLASSNAME_PREFIX = \"t_\",\n FONT_DATA_ATTRIBUTE_NAME = \"data-tamagui-font\",\n MISSING_THEME_MESSAGE = process.env.NODE_ENV === \"development\" ? `Can't find Tamagui configuration.\n \nMost of the time this is due to having mis-matched versions of Tamagui dependencies, or bundlers somehow duplicating them.\nFirst step is to ensure every \"tamagui\" and \"@tamagui/*\" dependency is on the same version, we have a CLI tool to help: \n\n npx @tamagui/cli check\n` : \"Missing theme.\";\nexport { FONT_DATA_ATTRIBUTE_NAME, MISSING_THEME_MESSAGE, THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR };\n//# sourceMappingURL=constants.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { MISSING_THEME_MESSAGE } from \"./constants/constants.mjs\";\nlet conf,\n setConfigCalledByThisInstance = !1;\nconst haventCalledErrorMessage = process.env.NODE_ENV === \"development\" ? `\nHaven't called createTamagui yet. ${MISSING_THEME_MESSAGE}\n` : \"\\u274C Error 001\",\n getConfigFromGlobalOrLocal = () => conf || (globalThis.__tamaguiConfig ? (process.env.NODE_ENV === \"development\" && !globalThis.__tamaguiHasWarnedGlobalFallback && !globalThis.__tamaguiPendingCheck && (globalThis.__tamaguiPendingCheck = !0, setTimeout(() => {\n !setConfigCalledByThisInstance && !globalThis.__tamaguiHasWarnedGlobalFallback && (globalThis.__tamaguiHasWarnedGlobalFallback = !0, console.warn(\"Tamagui: Using global config fallback. This may indicate duplicate tamagui instances (e.g., from Vite SSR bundling). This is handled automatically, but may cause issues.\")), globalThis.__tamaguiPendingCheck = !1;\n }, 500)), globalThis.__tamaguiConfig) : null),\n getSetting = key => {\n const config = getConfigFromGlobalOrLocal();\n if (process.env.NODE_ENV === \"development\" && !config) throw new Error(haventCalledErrorMessage);\n return config.settings[key] ??\n // @ts-expect-error\n config[key];\n },\n setConfig = next => {\n setConfigCalledByThisInstance = !0, conf = next, globalThis.__tamaguiConfig = next;\n },\n setConfigFont = (name, font, fontParsed) => {\n const config = getConfigFromGlobalOrLocal();\n if (process.env.NODE_ENV === \"development\" && !config) throw new Error(haventCalledErrorMessage);\n config.fonts[name] = font, config.fontsParsed[`$${name}`] = fontParsed;\n },\n getConfig = () => {\n const config = getConfigFromGlobalOrLocal();\n if (!config) throw new Error(process.env.NODE_ENV !== \"production\" ? \"Missing tamagui config, you either have a duplicate config, or haven't set it up. Be sure createTamagui is called before rendering. Also, make sure all of your tamagui dependencies are on the same version (`tamagui`, `@tamagui/package-name`, etc.) not just in your package.json, but in your lockfile.\" : \"Err0\");\n return config;\n },\n getConfigMaybe = () => getConfigFromGlobalOrLocal();\nlet tokensMerged;\nfunction setTokens(_) {\n tokensMerged = _;\n}\nconst getTokens = ({\n prefixed\n } = {}) => {\n const config = getConfigFromGlobalOrLocal();\n if (process.env.NODE_ENV === \"development\" && !config) throw new Error(haventCalledErrorMessage);\n const {\n tokens,\n tokensParsed\n } = config;\n return prefixed === !1 ? tokens : prefixed === !0 ? tokensParsed : tokensMerged;\n },\n getTokenObject = (value, group) => getConfigFromGlobalOrLocal().specificTokens[value] ?? (group ? tokensMerged[group]?.[value] : tokensMerged[Object.keys(tokensMerged).find(cat => tokensMerged[cat][value]) || \"\"]?.[value]),\n getToken = (value, group, useVariable = isWeb) => {\n const token = getTokenObject(value, group);\n return useVariable ? token?.variable : token?.val;\n },\n getTokenValue = (value, group) => {\n if (!(value === \"unset\" || value === \"auto\")) return getToken(value, group, !1);\n },\n useTokens = getTokens,\n getThemes = () => getConfigFromGlobalOrLocal().themes,\n updateConfig = (key, value) => {\n const config = getConfigFromGlobalOrLocal();\n Object.assign(config[key], value);\n },\n getFont = name => {\n const conf2 = getConfig();\n return conf2.fontsParsed[name] ?? Object.entries(conf2.fontsParsed).find(([k]) => conf2.fontsParsed[k]?.family?.val === name)?.[1];\n };\nlet devConfig;\nfunction setupDev(conf2) {\n process.env.NODE_ENV === \"development\" && (devConfig = conf2);\n}\nfunction loadAnimationDriver(name, driver) {\n const config = getConfigFromGlobalOrLocal();\n if (!config) {\n process.env.NODE_ENV === \"development\" && console.warn(\"loadAnimationDriver called before createTamagui\");\n return;\n }\n config.animations && !(\"default\" in config.animations) && (config.animations = {\n default: config.animations\n }), config.animations ? config.animations[name] = driver : config.animations = {\n default: driver,\n [name]: driver\n };\n}\nexport { devConfig, getConfig, getConfigMaybe, getFont, getSetting, getThemes, getToken, getTokenObject, getTokenValue, getTokens, loadAnimationDriver, setConfig, setConfigFont, setTokens, setupDev, updateConfig, useTokens };\n//# sourceMappingURL=config.mjs.map\n","function camelToHyphen(str) {\n return str.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`).toLowerCase();\n}\nconst cache = /* @__PURE__ */new WeakMap();\nfunction mediaObjectToString(query) {\n if (typeof query == \"string\") return query;\n if (cache.has(query)) return cache.get(query);\n const res = Object.entries(query).map(([feature, value]) => (feature = camelToHyphen(feature), typeof value == \"string\" ? `(${feature}: ${value})` : (typeof value == \"number\" && /[height|width]$/.test(feature) && (value = `${value}px`), `(${feature}: ${value})`))).join(\" and \");\n return cache.set(query, res), res;\n}\nexport { mediaObjectToString };\n//# sourceMappingURL=mediaObjectToString.mjs.map\n","let mediaState =\n// development only safeguard\nprocess.env.NODE_ENV === \"development\" ? new Proxy({}, {\n get(target, key) {\n if (typeof key == \"string\" && key[0] === \"$\" &&\n // dont error on $$typeof\n key[1] !== \"$\") throw new Error(`Access mediaState should not use \"$\": ${key}`);\n return Reflect.get(target, key);\n }\n}) : {};\nconst setMediaState = next => {\n mediaState = next;\n },\n mediaQueryConfig = {},\n getMedia = () => mediaState,\n mediaKeys = /* @__PURE__ */new Set();\nexport { getMedia, mediaKeys, mediaQueryConfig, mediaState, setMediaState };\n//# sourceMappingURL=mediaState.mjs.map\n","import { getMedia } from \"./mediaState.mjs\";\nimport { pseudoPriorities } from \"./pseudoDescriptors.mjs\";\nfunction kebabToCamel(str) {\n return str.replace(/-([a-z])/g, (_, c) => c.toUpperCase());\n}\nfunction isValidPseudo(str) {\n return str ? kebabToCamel(str) in pseudoPriorities : !1;\n}\nfunction getGroupPropParts(groupProp) {\n const m = getMedia(),\n [_, name, a, b, c] = groupProp.split(\"-\"),\n m2 = a && b ? `${a}-${b}` : \"\",\n media = m2 && m2 in m && m2 || a && a in m && a || void 0;\n let pseudoCandidate = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : \"\"}` : void 0 : a ? `${a}${b ? `-${b}` : \"\"}${c ? `-${c}` : \"\"}` : void 0;\n return pseudoCandidate && !isValidPseudo(pseudoCandidate) && (process.env.NODE_ENV === \"development\" && console.warn(`Unknown group prop part \"${pseudoCandidate}\" in \"${groupProp}\". If this is a media query, ensure it's defined in your tamagui config.`), pseudoCandidate = void 0), {\n name,\n pseudo: pseudoCandidate,\n media\n };\n}\nexport { getGroupPropParts };\n//# sourceMappingURL=getGroupPropParts.mjs.map\n","import { getSetting } from \"../config.mjs\";\nimport { mediaObjectToString } from \"./mediaObjectToString.mjs\";\nimport { getGroupPropParts } from \"./getGroupPropParts.mjs\";\nconst MEDIA_SEP = \"_\";\nlet prefixes = null,\n selectors = null;\nfunction resetMediaStyleCache() {\n prefixes = null, selectors = null;\n}\nconst groupPseudoToPseudoCSSMap = {\n press: \"active\",\n focusVisible: \"focus-visible\",\n focusWithin: \"focus-within\"\n },\n specificities = new Array(12).fill(0).map((_, i) => new Array(i).fill(\":root\").join(\"\"));\nfunction getThemeOrGroupSelector(name, styleInner, isGroup, groupParts, isTheme = !1, precedenceImportancePrefix = \"\") {\n const selectorStart = styleInner.lastIndexOf(\":root\") + 5,\n selectorEnd = styleInner.lastIndexOf(\"{\"),\n selector = styleInner.slice(selectorStart, selectorEnd),\n precedenceSpace = getSetting(\"addThemeClassName\") !== !1 && isTheme ? \"\" : \" \",\n pseudoSelectorName = groupParts.pseudo ? groupPseudoToPseudoCSSMap[groupParts.pseudo] || groupParts.pseudo : void 0,\n pseudoSelector = pseudoSelectorName ? `:${pseudoSelectorName}` : \"\",\n presedencePrefix = `:root${precedenceImportancePrefix}${precedenceSpace}`,\n mediaSelector = `.t_${isGroup ? \"group_\" : \"\"}${name}${pseudoSelector}`;\n return [selector, `${presedencePrefix}${mediaSelector} ${selector.replaceAll(\":root\", \"\")}`];\n}\nconst createMediaStyle = (styleObject, mediaKeyIn, mediaQueries, type, negate, priority) => {\n const [property,, identifier, pseudoIn, rules] = styleObject,\n isTheme = type === \"theme\",\n isPlatform = type === \"platform\",\n isGroup = type === \"group\",\n isNonWindowMedia = isTheme || isPlatform || isGroup,\n negKey = negate ? \"0\" : \"\",\n ogPrefix = identifier.slice(0, identifier.indexOf(\"-\") + 1),\n id = `${ogPrefix}${MEDIA_SEP}${mediaKeyIn.replace(\"-\", \"\")}${negKey}${MEDIA_SEP}`;\n let styleRule = \"\",\n groupPriority = \"\",\n groupMediaKey,\n containerName,\n nextIdentifier = identifier.replace(ogPrefix, id),\n styleInner = rules.map(rule => rule.replaceAll(identifier, nextIdentifier)).join(\";\"),\n isHover = !1;\n if (isNonWindowMedia) {\n let specificity = (priority || 0) + (isGroup || isPlatform ? 1 : 0);\n if (isTheme || isGroup) {\n const groupParts = getGroupPropParts(isTheme ? \"theme-\" + mediaKeyIn : mediaKeyIn),\n {\n name,\n media,\n pseudo\n } = groupParts;\n groupMediaKey = media, isGroup && (containerName = name), (pseudo === \"press\" || pseudoIn === \"active\") && (specificity += 2), pseudo === \"hover\" && (isHover = !0);\n const [selector, nextSelector] = getThemeOrGroupSelector(name, styleInner, isGroup, groupParts, isTheme, specificities[specificity]);\n styleRule = styleInner.replace(selector, nextSelector);\n } else styleRule = `${specificities[specificity]}${styleInner}`;\n }\n if (!isNonWindowMedia || groupMediaKey) {\n if (!selectors) {\n const mediaKeys = Object.keys(mediaQueries);\n selectors = Object.fromEntries(mediaKeys.map(key => [key, mediaObjectToString(mediaQueries[key])])), prefixes = Object.fromEntries(mediaKeys.map((k, index) => [k, new Array(index + 1).fill(\":root\").join(\"\")]));\n }\n const mediaKey = groupMediaKey || mediaKeyIn,\n mediaSelector = selectors[mediaKey],\n mediaQuery = `${negate ? \"not all and \" : \"\"}${mediaSelector}`,\n precedenceImportancePrefix = groupMediaKey ? groupPriority : prefixes[mediaKey],\n prefix = groupMediaKey ? `@container ${containerName}` : \"@media\";\n groupMediaKey && (styleInner = styleRule), styleInner.includes(prefix) ? styleRule = styleInner.replace(\"{\", ` and ${mediaQuery} {`).replace(\"and screen and\", \"and\") : styleRule = `${prefix} ${mediaQuery}{${precedenceImportancePrefix}${styleInner}}`, groupMediaKey && (styleRule = `@supports (contain: ${getSetting(\"webContainerType\") || \"inline-size\"}) {${styleRule}}`);\n }\n return isHover && (styleRule = `@media (hover:hover){${styleRule}}`), [property, void 0, nextIdentifier, void 0, [styleRule]];\n};\nexport { MEDIA_SEP, createMediaStyle, resetMediaStyleCache };\n//# sourceMappingURL=createMediaStyle.mjs.map\n","const matchMedia = typeof window < \"u\" && window.matchMedia || matchMediaFallback;\nfunction matchMediaFallback(_) {\n return {\n match: (a, b) => !1,\n addListener() {},\n removeListener() {},\n matches: !1\n };\n}\nfunction setupMatchMedia(_) {}\nexport { matchMedia, setupMatchMedia };\n//# sourceMappingURL=matchMedia.mjs.map\n","import { isServer, isWeb } from \"@tamagui/constants\";\nimport { useRef, useSyncExternalStore } from \"react\";\nimport { getSetting } from \"../config.mjs\";\nimport { resetMediaStyleCache } from \"../helpers/createMediaStyle.mjs\";\nimport { matchMedia } from \"../helpers/matchMedia.mjs\";\nimport { mediaObjectToString } from \"../helpers/mediaObjectToString.mjs\";\nimport { getMedia, mediaKeys, mediaQueryConfig, setMediaState } from \"../helpers/mediaState.mjs\";\nimport { defaultMediaImportance } from \"../helpers/pseudoDescriptors.mjs\";\nconst mediaKeyRegex = /\\$(platform|theme|group)-/,\n isMediaKey = key => key[0] !== \"$\" ? !1 : !!(mediaKeys.has(key) || mediaKeyRegex.test(key)),\n getMediaKey = key => {\n if (key[0] !== \"$\") return !1;\n if (mediaKeys.has(key)) return !0;\n const match = key.match(mediaKeyRegex);\n return match ? match[1] : !1;\n };\nlet initState, mediaKeysOrdered;\nconst getMediaKeyImportance = key => {\n if (process.env.NODE_ENV === \"development\" && key[0] === \"$\") throw new Error(\"use short key\");\n return mediaKeysOrdered.indexOf(key) + 100;\n },\n dispose = /* @__PURE__ */new Set();\nlet mediaVersion = 0;\nconst configureMedia = config => {\n const {\n media\n } = config,\n mediaQueryDefaultActive = getSetting(\"mediaQueryDefaultActive\");\n if (media) {\n mediaVersion++, resetMediaStyleCache();\n for (const key in media) getMedia()[key] = mediaQueryDefaultActive?.[key] || !1, mediaKeys.add(`$${key}`);\n Object.assign(mediaQueryConfig, media), initState = {\n ...getMedia()\n }, mediaKeysOrdered = Object.keys(media), setupMediaListeners();\n }\n};\nfunction unlisten() {\n dispose.forEach(cb => cb()), dispose.clear();\n}\nlet setupVersion = -1;\nfunction setupMediaListeners() {\n if (!(isWeb && isServer) && !process.env.IS_STATIC && setupVersion !== mediaVersion) {\n setupVersion = mediaVersion, unlisten();\n for (const key in mediaQueryConfig) {\n let update = function () {\n const next = !!getMatch().matches;\n next !== getMedia()[key] && (setMediaState({\n ...getMedia(),\n [key]: next\n }), updateMediaListeners());\n };\n const str = mediaObjectToString(mediaQueryConfig[key]),\n getMatch = () => matchMedia(str),\n match = getMatch();\n if (!match) throw new Error(\"\\u26A0\\uFE0F No match\");\n match.addListener(update), dispose.add(() => {\n match.removeListener(update);\n }), update();\n }\n }\n}\nconst listeners = /* @__PURE__ */new Set();\nfunction updateMediaListeners() {\n listeners.forEach(cb => cb(getMedia()));\n}\nconst States = /* @__PURE__ */new WeakMap();\nfunction setMediaShouldUpdate(ref, enabled, keys) {\n const cur = States.get(ref);\n (!cur || cur.enabled !== enabled || keys) && States.set(ref, {\n ...cur,\n enabled,\n keys\n });\n}\nfunction subscribe(subscriber) {\n return listeners.add(subscriber), () => {\n listeners.delete(subscriber);\n };\n}\nfunction useMedia(componentContext, debug) {\n \"use no memo\";\n\n const componentState = componentContext ? States.get(componentContext) : null,\n internalRef = useRef(null);\n internalRef.current || (internalRef.current = {\n keys: /* @__PURE__ */new Set(),\n lastState: getMedia()\n }), internalRef.current.pendingState && (internalRef.current.lastState = internalRef.current.pendingState, internalRef.current.pendingState = void 0);\n const {\n keys\n } = internalRef.current;\n keys.size && keys.clear();\n const state = useSyncExternalStore(subscribe, () => {\n const curKeys = componentState?.keys || keys,\n {\n lastState,\n pendingState\n } = internalRef.current;\n if (!curKeys.size) return lastState;\n const ms = getMedia();\n for (const key of curKeys) if (ms[key] !== (pendingState || lastState)[key]) return process.env.NODE_ENV === \"development\" && debug && console.warn(\"useMedia() \\u270D\\uFE0F\", key, lastState[key], \"=>\", ms[key]), componentContext?.mediaEmit ? (componentContext.mediaEmit(ms), internalRef.current.pendingState = ms, lastState) : (internalRef.current.lastState = ms, ms);\n return lastState;\n }, getServerSnapshot);\n return new Proxy(state, {\n get(_, key) {\n return !disableMediaTouch && typeof key == \"string\" && keys.add(key), Reflect.get(state, key);\n }\n });\n}\nconst getServerSnapshot = () => initState;\nlet disableMediaTouch = !1;\nfunction _disableMediaTouch(val) {\n disableMediaTouch = val;\n}\nfunction getMediaState(mediaGroups, layout) {\n disableMediaTouch = !0;\n let res;\n try {\n res = Object.fromEntries([...mediaGroups].map(mediaKey => [mediaKey, mediaKeyMatch(mediaKey, layout)]));\n } finally {\n disableMediaTouch = !1;\n }\n return res;\n}\nconst getMediaImportanceIfMoreImportant = (mediaKey, key, styleState, isSizeMedia) => {\n const importance = isSizeMedia ? getMediaKeyImportance(mediaKey) : defaultMediaImportance,\n usedKeys = styleState.usedKeys;\n return !usedKeys[key] || importance > usedKeys[key] ? importance : null;\n },\n cachedMediaKeyToQuery = {};\nfunction mediaKeyToQuery(key) {\n return cachedMediaKeyToQuery[key] || (cachedMediaKeyToQuery[key] = mediaObjectToString(mediaQueryConfig[key]));\n}\nfunction mediaKeyMatch(key, dimensions) {\n const mediaQueries = mediaQueryConfig[key];\n return Object.keys(mediaQueries).every(query => {\n const expectedVal = +mediaQueries[query],\n isMax = query.startsWith(\"max\"),\n isWidth = query.endsWith(\"Width\"),\n givenVal = dimensions[isWidth ? \"width\" : \"height\"];\n return isMax ? givenVal < expectedVal : givenVal > expectedVal;\n });\n}\nexport { _disableMediaTouch, configureMedia, getMediaImportanceIfMoreImportant, getMediaKey, getMediaKeyImportance, getMediaState, isMediaKey, mediaKeyMatch, mediaKeyToQuery, setMediaShouldUpdate, setupMediaListeners, updateMediaListeners, useMedia };\n//# sourceMappingURL=useMedia.mjs.map\n","const cache = /* @__PURE__ */new Map();\nlet cacheSize = 0;\nconst simpleHash = (strIn, hashMin = 10) => {\n if (cache.has(strIn)) return cache.get(strIn);\n let str = strIn;\n str[0] === \"v\" && str.startsWith(\"var(\") && (str = str.slice(6, str.length - 1));\n let hash = 0,\n valids = \"\",\n added = 0;\n const len = str.length;\n for (let i = 0; i < len; i++) {\n if (hashMin !== \"strict\" && added <= hashMin) {\n const char = str.charCodeAt(i);\n if (char === 46) {\n valids += \"--\";\n continue;\n }\n if (isValidCSSCharCode(char)) {\n added++, valids += str[i];\n continue;\n }\n }\n hash = hashChar(hash, str[i]);\n }\n const res = valids + (hash ? Math.abs(hash) : \"\");\n return cacheSize > 1e4 && (cache.clear(), cacheSize = 0), cache.set(strIn, res), cacheSize++, res;\n },\n hashChar = (hash, c) => Math.imul(31, hash) + c.charCodeAt(0) | 0;\nfunction isValidCSSCharCode(code) {\n return (\n // A-Z\n code >= 65 && code <= 90 ||\n // a-z\n code >= 97 && code <= 122 ||\n // _\n code === 95 ||\n // -\n code === 45 ||\n // 0-9\n code >= 48 && code <= 57\n );\n}\nexport { simpleHash };\n//# sourceMappingURL=index.mjs.map\n","function clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport { clamp };\n//# sourceMappingURL=clamp.mjs.map\n","function composeEventHandlers(og, next, {\n checkDefaultPrevented = !0\n} = {}) {\n return !og || !next ? next || og || void 0 : event => {\n if (og?.(event), !event || !(checkDefaultPrevented && typeof event == \"object\" && \"defaultPrevented\" in event) ||\n // @ts-ignore\n \"defaultPrevented\" in event && !event.defaultPrevented) return next?.(event);\n };\n}\nexport { composeEventHandlers };\n//# sourceMappingURL=composeEventHandlers.mjs.map\n","const StyleObjectProperty = 0,\n StyleObjectValue = 1,\n StyleObjectIdentifier = 2,\n StyleObjectPseudo = 3,\n StyleObjectRules = 4;\nexport { StyleObjectIdentifier, StyleObjectProperty, StyleObjectPseudo, StyleObjectRules, StyleObjectValue };\n//# sourceMappingURL=types.mjs.map\n","import { currentPlatform } from \"@tamagui/constants\";\nconst ALL_PLATFORMS = [\"web\", \"android\", \"ios\"];\nfunction shouldRenderNativePlatform(nativeProp) {\n if (!nativeProp) return null;\n const userRequestedPlatforms = resolvePlatformNames(nativeProp);\n for (const platform of ALL_PLATFORMS) if (platform === currentPlatform && userRequestedPlatforms.has(platform)) return platform;\n return null;\n}\nfunction resolvePlatformNames(nativeProp) {\n const platforms = nativeProp === !0 ? ALL_PLATFORMS : nativeProp === !1 ? [] : Array.isArray(nativeProp) ? nativeProp : [nativeProp],\n set = new Set(platforms);\n return set.has(\"mobile\") && (set.add(\"android\"), set.add(\"ios\"), set.delete(\"mobile\")), set;\n}\nexport { shouldRenderNativePlatform };\n//# sourceMappingURL=shouldRenderNativePlatform.mjs.map\n","const nonAnimatableWebViewProps = {\n backgroundAttachment: !0,\n backgroundBlendMode: !0,\n backgroundClip: !0,\n backgroundOrigin: !0,\n backgroundRepeat: !0,\n borderBottomStyle: !0,\n borderLeftStyle: !0,\n borderRightStyle: !0,\n borderTopStyle: !0,\n contain: !0,\n containerType: !0,\n content: !0,\n float: !0,\n maskBorderMode: !0,\n maskBorderRepeat: !0,\n maskClip: !0,\n maskComposite: !0,\n maskMode: !0,\n maskOrigin: !0,\n maskRepeat: !0,\n maskType: !0,\n objectFit: !0,\n overflowBlock: !0,\n overflowInline: !0,\n overflowX: !0,\n overflowY: !0,\n // NOTE: pointerEvents is NOT web-only - it's a core React Native View prop (not a style)\n pointerEvents: !0,\n scrollbarWidth: !0,\n textWrap: !0,\n touchAction: !0,\n transformStyle: !0,\n willChange: !0\n },\n nonAnimatableWebTextProps = {\n whiteSpace: !0,\n wordWrap: !0,\n textOverflow: !0,\n WebkitBoxOrient: !0\n },\n webOnlyStylePropsView = {\n ...nonAnimatableWebViewProps,\n transition: !0,\n backdropFilter: !0,\n WebkitBackdropFilter: !0,\n background: !0,\n borderTop: !0,\n borderRight: !0,\n borderBottom: !0,\n borderLeft: !0,\n backgroundPosition: !0,\n backgroundSize: !0,\n borderImage: !0,\n caretColor: !0,\n clipPath: !0,\n mask: !0,\n maskBorder: !0,\n maskBorderOutset: !0,\n maskBorderSlice: !0,\n maskBorderSource: !0,\n maskBorderWidth: !0,\n maskImage: !0,\n maskPosition: !0,\n maskSize: !0,\n objectPosition: !0,\n textEmphasis: !0,\n userSelect: !0\n },\n webOnlyStylePropsText = {\n ...nonAnimatableWebTextProps,\n textDecorationDistance: !0,\n // cursor: now cross-platform - in stylePropsView\n WebkitLineClamp: !0\n };\nexport { nonAnimatableWebTextProps, nonAnimatableWebViewProps, webOnlyStylePropsText, webOnlyStylePropsView };\n//# sourceMappingURL=webOnlyStyleProps.mjs.map\n","import { isAndroid } from \"@tamagui/constants\";\nimport { nonAnimatableWebTextProps, nonAnimatableWebViewProps, webOnlyStylePropsText, webOnlyStylePropsView } from \"./webOnlyStyleProps.mjs\";\nconst cssShorthandLonghands = {\n // border longhands\n borderWidth: !0,\n borderStyle: !0,\n borderColor: !0,\n borderTopWidth: !0,\n borderTopStyle: !0,\n borderTopColor: !0,\n borderRightWidth: !0,\n borderRightStyle: !0,\n borderRightColor: !0,\n borderBottomWidth: !0,\n borderBottomStyle: !0,\n borderBottomColor: !0,\n borderLeftWidth: !0,\n borderLeftStyle: !0,\n borderLeftColor: !0,\n // outline longhands\n outlineWidth: !0,\n outlineStyle: !0,\n outlineColor: !0,\n outlineOffset: !0\n },\n textColors = {\n color: !0,\n textDecorationColor: !0,\n textShadowColor: !0\n },\n tokenCategories = {\n radius: {\n borderRadius: !0,\n borderTopLeftRadius: !0,\n borderTopRightRadius: !0,\n borderBottomLeftRadius: !0,\n borderBottomRightRadius: !0,\n // logical\n borderStartStartRadius: !0,\n borderStartEndRadius: !0,\n borderEndStartRadius: !0,\n borderEndEndRadius: !0\n },\n size: {\n width: !0,\n height: !0,\n minWidth: !0,\n minHeight: !0,\n maxWidth: !0,\n maxHeight: !0,\n blockSize: !0,\n minBlockSize: !0,\n maxBlockSize: !0,\n inlineSize: !0,\n minInlineSize: !0,\n maxInlineSize: !0\n },\n zIndex: {\n zIndex: !0\n },\n color: {\n backgroundColor: !0,\n borderColor: !0,\n borderBlockStartColor: !0,\n borderBlockEndColor: !0,\n borderBlockColor: !0,\n borderBottomColor: !0,\n borderInlineColor: !0,\n borderInlineStartColor: !0,\n borderInlineEndColor: !0,\n borderTopColor: !0,\n borderLeftColor: !0,\n borderRightColor: !0,\n borderEndColor: !0,\n borderStartColor: !0,\n shadowColor: !0,\n ...textColors,\n // outlineColor is supported on RN 0.77+ (New Architecture)\n outlineColor: !0,\n caretColor: !0\n }\n },\n nonAnimatableViewProps = {\n alignContent: !0,\n alignItems: !0,\n alignSelf: !0,\n backfaceVisibility: !0,\n borderCurve: !0,\n borderStyle: !0,\n borderBlockStyle: !0,\n borderBlockEndStyle: !0,\n borderBlockStartStyle: !0,\n borderInlineStyle: !0,\n borderInlineEndStyle: !0,\n borderInlineStartStyle: !0,\n boxSizing: !0,\n cursor: !0,\n direction: !0,\n display: !0,\n flexDirection: !0,\n flexWrap: !0,\n isolation: !0,\n justifyContent: !0,\n mixBlendMode: !0,\n outlineStyle: !0,\n overflow: !0,\n position: !0\n },\n nonAnimatableFontProps = {\n fontFamily: !0,\n fontStyle: !0,\n fontVariant: !0,\n textTransform: !0\n },\n nonAnimatableTextOnlyProps = {\n textAlign: !0,\n textDecorationLine: !0,\n textDecorationStyle: !0,\n userSelect: !0\n },\n nonAnimatableUnitlessProps = {\n WebkitLineClamp: !0,\n lineClamp: !0,\n gridTemplateColumns: !0,\n gridTemplateAreas: !0\n },\n nonAnimatableStyleProps = {\n ...nonAnimatableViewProps,\n ...nonAnimatableFontProps,\n ...nonAnimatableTextOnlyProps,\n ...nonAnimatableUnitlessProps,\n ...nonAnimatableWebViewProps,\n ...nonAnimatableWebTextProps\n },\n stylePropsUnitless = {\n ...nonAnimatableUnitlessProps,\n animationIterationCount: !0,\n aspectRatio: !0,\n borderImageOutset: !0,\n borderImageSlice: !0,\n borderImageWidth: !0,\n columnCount: !0,\n flex: !0,\n flexGrow: !0,\n flexOrder: !0,\n flexPositive: !0,\n flexShrink: !0,\n flexNegative: !0,\n fontWeight: !0,\n gridRow: !0,\n gridRowEnd: !0,\n gridRowGap: !0,\n gridRowStart: !0,\n gridColumn: !0,\n gridColumnEnd: !0,\n gridColumnGap: !0,\n gridColumnStart: !0,\n opacity: !0,\n order: !0,\n orphans: !0,\n tabSize: !0,\n widows: !0,\n zIndex: !0,\n zoom: !0,\n scale: !0,\n scaleX: !0,\n scaleY: !0,\n scaleZ: !0,\n shadowOpacity: !0\n },\n stylePropsTransform = {\n x: !0,\n y: !0,\n scale: !0,\n perspective: !0,\n scaleX: !0,\n scaleY: !0,\n skewX: !0,\n skewY: !0,\n matrix: !0,\n rotate: !0,\n rotateY: !0,\n rotateX: !0,\n rotateZ: !0\n },\n stylePropsView = {\n ...nonAnimatableViewProps,\n borderBottomEndRadius: !0,\n borderBottomStartRadius: !0,\n borderBottomWidth: !0,\n borderLeftWidth: !0,\n borderRightWidth: !0,\n borderBlockWidth: !0,\n borderBlockEndWidth: !0,\n borderBlockStartWidth: !0,\n borderInlineWidth: !0,\n borderInlineEndWidth: !0,\n borderInlineStartWidth: !0,\n borderTopEndRadius: !0,\n borderTopStartRadius: !0,\n borderTopWidth: !0,\n borderWidth: !0,\n transform: !0,\n transformOrigin: !0,\n borderEndWidth: !0,\n borderStartWidth: !0,\n bottom: !0,\n end: !0,\n flexBasis: !0,\n gap: !0,\n columnGap: !0,\n rowGap: !0,\n left: !0,\n margin: !0,\n marginBlock: !0,\n marginBlockEnd: !0,\n marginBlockStart: !0,\n marginInline: !0,\n marginInlineStart: !0,\n marginInlineEnd: !0,\n marginBottom: !0,\n marginEnd: !0,\n marginHorizontal: !0,\n marginLeft: !0,\n marginRight: !0,\n marginStart: !0,\n marginTop: !0,\n marginVertical: !0,\n padding: !0,\n paddingBottom: !0,\n paddingInline: !0,\n paddingBlock: !0,\n paddingBlockStart: !0,\n paddingInlineEnd: !0,\n paddingInlineStart: !0,\n paddingEnd: !0,\n paddingHorizontal: !0,\n paddingLeft: !0,\n paddingRight: !0,\n paddingStart: !0,\n paddingTop: !0,\n paddingVertical: !0,\n right: !0,\n start: !0,\n top: !0,\n inset: !0,\n insetBlock: !0,\n insetBlockEnd: !0,\n insetBlockStart: !0,\n insetInline: !0,\n insetInlineEnd: !0,\n insetInlineStart: !0,\n shadowOffset: !0,\n shadowRadius: !0,\n ...tokenCategories.color,\n ...tokenCategories.radius,\n ...tokenCategories.size,\n ...stylePropsTransform,\n ...stylePropsUnitless,\n ...(isAndroid ? {\n elevationAndroid: !0\n } : {}),\n boxShadow: !0,\n border: !0,\n filter: !0,\n // RN 0.76+ supports linear-gradient via backgroundImage\n backgroundImage: !0,\n // the actual RN 0.76+ prop name (backgroundImage expands to this on native)\n experimental_backgroundImage: !0,\n // RN 0.76/0.77+ style props (New Architecture)\n outline: !0,\n outlineColor: !0,\n outlineOffset: !0,\n outlineWidth: !0,\n // web-only for convenience - tree-shaken on native\n ...webOnlyStylePropsView\n },\n stylePropsFont = {\n ...nonAnimatableFontProps,\n fontSize: !0,\n fontWeight: !0,\n letterSpacing: !0,\n lineHeight: !0\n },\n stylePropsTextOnly = {\n ...stylePropsFont,\n ...nonAnimatableTextOnlyProps,\n ...textColors,\n textShadow: !0,\n textShadowOffset: !0,\n textShadowRadius: !0,\n verticalAlign: !0,\n // web-only text props - tree-shaken on native\n ...webOnlyStylePropsText\n },\n stylePropsText = {\n ...stylePropsView,\n ...stylePropsTextOnly\n },\n stylePropsAll = stylePropsText,\n validPseudoKeys = {\n enterStyle: !0,\n exitStyle: !0,\n hoverStyle: !0,\n pressStyle: !0,\n focusStyle: !0,\n disabledStyle: !0,\n focusWithinStyle: !0,\n focusVisibleStyle: !0\n },\n validStyles = stylePropsView;\nexport { cssShorthandLonghands, nonAnimatableStyleProps, stylePropsAll, stylePropsText, stylePropsTextOnly, stylePropsTransform, stylePropsUnitless, stylePropsView, tokenCategories, validPseudoKeys, validStyles };\n//# sourceMappingURL=validStyleProps.mjs.map\n","const Decorated = /* @__PURE__ */Symbol(),\n withStaticProperties = (component, staticProps) => (Object.assign(component, staticProps), component[Decorated] = !0, component);\nexport { withStaticProperties };\n//# sourceMappingURL=withStaticProperties.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport { getConfig } from \"./config.mjs\";\nfunction constructCSSVariableName(name) {\n return `var(--${process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\"}${name})`;\n}\nconst createVariable = (props, skipHash = !1) => {\n if (!skipHash && isVariable(props)) return props;\n const {\n key,\n name,\n val\n } = props;\n return {\n isVar: !0,\n key,\n name: skipHash ? name : simpleHash(name, 40),\n val,\n variable: isWeb ? skipHash ? constructCSSVariableName(name) : createCSSVariable(name) : \"\"\n };\n};\nfunction variableToString(vrble, getValue = !1) {\n return isVariable(vrble) ? !getValue && isWeb && vrble.variable ? vrble.variable : `${vrble.val}` : `${vrble || \"\"}`;\n}\nfunction isVariable(v) {\n return v && typeof v == \"object\" && \"isVar\" in v;\n}\nfunction getVariable(nameOrVariable, group = \"size\") {\n if (nameOrVariable?.dynamic) return nameOrVariable;\n if (setDidGetVariableValue(!0), isVariable(nameOrVariable)) return variableToString(nameOrVariable);\n const tokens = getConfig().tokensParsed;\n return variableToString(tokens[group]?.[nameOrVariable] ?? nameOrVariable);\n}\nlet accessed = !1;\nconst setDidGetVariableValue = val => accessed = val,\n didGetVariableValue = () => accessed;\nfunction getVariableValue(v, group) {\n if (isVariable(v)) return setDidGetVariableValue(!0), v.val;\n if (group) {\n const token = getConfig().tokensParsed[group]?.[v];\n if (token) return setDidGetVariableValue(!0), token.val;\n }\n return v;\n}\nfunction getVariableName(v) {\n return isVariable(v) ? v.name : v;\n}\nfunction getVariableVariable(v) {\n return isVariable(v) ? v.variable : v;\n}\nconst createCSSVariable = (nameProp, includeVar = !0) => {\n if (process.env.NODE_ENV === \"development\" && (!nameProp || typeof nameProp != \"string\")) throw new Error(`createCSSVariable expected string, got: ${nameProp}`);\n const name = simpleHash(nameProp, 60);\n return includeVar ? constructCSSVariableName(name) : name;\n};\nfunction px(value) {\n return {\n val: value,\n needsPx: !0\n };\n}\nexport { createCSSVariable, createVariable, didGetVariableValue, getVariable, getVariableName, getVariableValue, getVariableVariable, isVariable, px, setDidGetVariableValue, variableToString };\n//# sourceMappingURL=createVariable.mjs.map\n","import \"@tamagui/constants\";\nimport { getConfig } from \"../config.mjs\";\nimport { getVariable } from \"../createVariable.mjs\";\nimport \"../helpers/getDynamicVal.mjs\";\nimport \"./doesRootSchemeMatchSystem.mjs\";\nconst cache = /* @__PURE__ */new Map();\nlet curKeys, curSchemeKeys, curProps, curState;\nconst emptyObject = {};\nfunction getThemeProxied(_props, _state, _keys, _schemeKeys) {\n if (!_state?.theme) return emptyObject;\n if (curKeys = _keys, curSchemeKeys = _schemeKeys, curProps = _props, curState = _state, cache.has(curState.theme)) return cache.get(curState.theme);\n const config = getConfig();\n function track(key, schemeOptimized = !1) {\n curKeys && (curKeys.current || (curKeys.current = /* @__PURE__ */new Set()), curKeys.current.add(key), schemeOptimized && curSchemeKeys && (curSchemeKeys.current || (curSchemeKeys.current = /* @__PURE__ */new Set()), curSchemeKeys.current.add(key)), process.env.NODE_ENV === \"development\" && curProps.debug && console.info(` \\u{1F3A8} useTheme() tracking key: ${key} schemeOptimized=${schemeOptimized}`));\n }\n const proxied = Object.fromEntries(Object.entries(_state.theme).flatMap(([key, value]) => {\n const proxied2 = {\n ...value,\n get val() {\n return globalThis.tamaguiAvoidTracking || track(key, !1), value.val;\n },\n get(platform) {\n if (!curState) return;\n const outVal = getVariable(value),\n {\n name,\n scheme\n } = curState;\n return outVal;\n }\n };\n return [[key, proxied2], [`$${key}`, proxied2]];\n }));\n return cache.set(_state.theme, proxied), proxied;\n}\nexport { getThemeProxied };\n//# sourceMappingURL=getThemeProxied.mjs.map\n","import \"@tamagui/constants\";\nimport { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useCallback, useContext, useId, useSyncExternalStore } from \"react\";\nimport { getConfig } from \"../config.mjs\";\nimport { MISSING_THEME_MESSAGE } from \"../constants/constants.mjs\";\nconst ThemeStateContext = createContext(\"\"),\n allListeners = /* @__PURE__ */new Map(),\n listenersByParent = {},\n HasRenderedOnce = /* @__PURE__ */new WeakMap(),\n HadTheme = /* @__PURE__ */new WeakMap(),\n PendingUpdate = /* @__PURE__ */new Map(),\n states = /* @__PURE__ */new Map(),\n localStates = /* @__PURE__ */new Map();\nlet shouldForce = !1;\nconst forceUpdateThemes = () => {\n cacheVersion++, shouldForce = !0, allListeners.forEach(cb => cb());\n },\n getThemeState = id => states.get(id);\nlet cacheVersion = 0;\nconst themeNameCache = /* @__PURE__ */new Map();\nlet themeNameCacheVer = -1,\n themes = null,\n rootThemeState = null;\nconst getRootThemeState = () => rootThemeState;\nconst useThemeState = (props, isRoot = !1, keys, schemeKeys) => {\n \"use no memo\";\n\n const {\n disable\n } = props,\n parentId = useContext(ThemeStateContext);\n if (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === \"development\" ? `${MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no parent theme context was found (parentId: ${parentId}).` : MISSING_THEME_MESSAGE);\n if (disable) return states.get(parentId) || {\n id: \"\",\n name: \"light\",\n theme: getConfig().themes.light\n // inverses: 0,\n };\n const id = useId(),\n subscribe = useCallback(cb => (listenersByParent[parentId] = listenersByParent[parentId] || /* @__PURE__ */new Set(), listenersByParent[parentId].add(id), allListeners.set(id, () => {\n PendingUpdate.set(id, shouldForce ? \"force\" : !0), cb();\n }), () => {\n allListeners.delete(id), listenersByParent[parentId].delete(id), localStates.delete(id), states.delete(id), PendingUpdate.delete(id);\n }), [id, parentId]),\n propsKey = getPropsKey(props),\n getSnapshot = () => {\n let local = localStates.get(id);\n const parentState = states.get(parentId);\n if (local && !PendingUpdate.has(id) && parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;\n const isSchemeOnlyChange = !1,\n keysSize = keys?.current?.size ?? 0,\n allKeysSchemeOptimized = (schemeKeys?.current?.size ?? 0) === keysSize && keysSize > 0,\n canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized,\n needsUpdate = props.passThrough ? !1 : isRoot || props.name === \"light\" || props.name === \"dark\" || props.name === null ? !0 : HasRenderedOnce.get(keys) ? canSkipForSchemeChange ? !1 : keys?.current?.size ? !0 : props.needsUpdate?.() : !0,\n [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n return PendingUpdate.delete(id), (!local || rerender) && (local = {\n ...next\n }, localStates.set(id, local)), process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && (console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, \">\", next.name), console.info({\n props,\n propsKey,\n isRoot,\n parentId,\n local,\n next,\n needsUpdate,\n isSchemeOnlyChange,\n allKeysSchemeOptimized,\n canSkipForSchemeChange\n }), console.groupEnd()), next !== local && (Object.assign(local, next), local.id = id), local._parentName = parentState?.name, local._propsKey = propsKey, states.set(id, next), local;\n };\n process.env.NODE_ENV === \"development\" && globalThis.time && globalThis.time`theme-prep-uses`;\n const state = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n return useIsomorphicLayoutEffect(() => {\n if (!HasRenderedOnce.get(keys)) {\n HasRenderedOnce.set(keys, !0);\n return;\n }\n if (!propsKey) {\n HadTheme.get(keys) && scheduleUpdate(id), HadTheme.set(keys, !1);\n return;\n }\n process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && console.warn(` \\xB7 useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name), scheduleUpdate(id), HadTheme.set(keys, !0);\n }, [keys, propsKey]), state;\n },\n getNextState = (lastState, props, propsKey, isRoot = !1, id, parentId, needsUpdate, pendingUpdate) => {\n const {\n debug\n } = props,\n parentState = states.get(parentId);\n if (props.passThrough) return [!1, lastState || parentState || {\n name: \"\"\n }];\n themes || (themes = getConfig().themes);\n const name = !propsKey && (!lastState || !lastState?.isNew) ? null : getNewThemeName(parentState?.name, props, pendingUpdate === \"force\" ? !0 : !!needsUpdate),\n isSameAsParent = parentState && (!name || name === parentState.name),\n shouldRerender = !!(pendingUpdate === \"force\" || needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name));\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n const message = ` \\xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;\n console.groupCollapsed(message), console.trace({\n name,\n lastState,\n parentState,\n props,\n propsKey,\n id,\n isSameAsParent\n }), console.groupEnd();\n }\n if (isSameAsParent) return !shouldRerender && lastState ? [!1, lastState] : [shouldRerender, {\n ...parentState,\n isNew: !1\n }];\n if (!name) {\n const next = lastState ?? parentState;\n if (!next) throw new Error(process.env.NODE_ENV === \"development\" ? `${MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : MISSING_THEME_MESSAGE);\n return shouldRerender ? [!0, {\n ...(parentState || lastState)\n }] : [!1, next];\n }\n const scheme = getScheme(name),\n isInverse = parentState && scheme !== parentState.scheme,\n nextState = {\n id,\n name,\n theme: themes[name],\n scheme,\n parentId,\n parentName: parentState?.name,\n // inverses,\n isInverse,\n isNew: !0\n };\n if (isRoot && (rootThemeState = nextState), pendingUpdate !== \"force\" && lastState && lastState.name === name) return [!1, nextState];\n const shouldAvoidRerender = pendingUpdate !== \"force\" && lastState && !needsUpdate && nextState.name === lastState.name;\n return process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(` \\xB7 useTheme(${id}) \\u23ED\\uFE0F ${name} shouldAvoidRerender: ${shouldAvoidRerender}`), console.info({\n lastState,\n needsUpdate,\n nextState,\n pendingUpdate\n }), console.groupEnd()), shouldAvoidRerender ? [!1, nextState] : [!0, nextState];\n };\nfunction scheduleUpdate(id) {\n const queue = [id],\n visited = /* @__PURE__ */new Set();\n for (; queue.length;) {\n const parent = queue.shift(),\n children = listenersByParent[parent];\n if (children) for (const childId of children) visited.has(childId) || (visited.add(childId), queue.push(childId));\n }\n visited.forEach(childId => {\n allListeners.get(childId)?.();\n });\n}\nconst validSchemes = {\n light: \"light\",\n dark: \"dark\"\n};\nfunction getScheme(name) {\n return validSchemes[name.split(\"_\")[0]];\n}\nfunction getNewThemeName(parentName = \"\", props, forceUpdate = !1) {\n const {\n name,\n reset\n } = props,\n componentName = props.unstyled ? void 0 : props.componentName;\n if (name && reset) throw new Error(process.env.NODE_ENV === \"production\" ? \"\\u274C004\" : \"Cannot reset and set a new name at the same time.\");\n const cacheKey = `${parentName}|${name || \"\"}|${componentName || \"\"}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`;\n if (themeNameCacheVer !== cacheVersion) themeNameCache.clear(), themeNameCacheVer = cacheVersion;else {\n const cached = themeNameCache.get(cacheKey);\n if (cached !== void 0) return cached;\n }\n const {\n themes: themes2\n } = getConfig();\n if (reset) {\n if (parentName === \"light\" || parentName === \"dark\") {\n const result2 = parentName === \"light\" ? \"dark\" : \"light\";\n return themeNameCache.set(cacheKey, result2), result2;\n }\n const lastPartIndex = parentName.lastIndexOf(\"_\"),\n name2 = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex),\n scheme = parentName.slice(0, lastPartIndex),\n result = themes2[name2] ? name2 : scheme;\n return themeNameCache.set(cacheKey, result), result;\n }\n const parentParts = parentName.split(\"_\"),\n lastName = parentParts[parentParts.length - 1];\n lastName && lastName[0].toLowerCase() !== lastName[0] && parentParts.pop();\n const subNames = [name && componentName ? `${name}_${componentName}` : void 0, name, componentName].filter(Boolean);\n let found = null;\n if (name) {\n const nameHasScheme = getScheme(name);\n if (nameHasScheme) {\n for (const subName of subNames) if (subName in themes2) {\n found = subName;\n break;\n }\n }\n if (!found && !nameHasScheme && getScheme(parentName)) {\n const potentialBases = [];\n for (let i = parentParts.length; i >= 1; i--) potentialBases.push(parentParts.slice(0, i).join(\"_\"));\n outer: for (const base of potentialBases) {\n const candidates = [componentName ? `${base}_${name}_${componentName}` : void 0, `${base}_${name}`].filter(Boolean);\n for (const potential of candidates) if (potential in themes2) {\n found = potential;\n break outer;\n }\n }\n }\n }\n if (!found) if (!name && componentName) {\n const potential = `${parentParts.join(\"_\")}_${componentName}`;\n potential in themes2 && (found = potential);\n } else {\n const max = parentParts.length;\n for (let i = 0; i <= max; i++) {\n const base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join(\"_\");\n for (const subName of subNames) {\n const potential = base ? `${base}_${subName}` : subName;\n if (potential in themes2) {\n found = potential;\n break;\n }\n }\n if (found) break;\n }\n }\n return !forceUpdate && found === parentName &&\n // if its a scheme only sub-theme, we always consider it \"new\" because it likely inverses\n // and we want to avoid reparenting\n !validSchemes[found] ? (themeNameCache.set(cacheKey, null), null) : (themeNameCache.set(cacheKey, found), found);\n}\nconst getPropsKey = ({\n name,\n reset,\n forceClassName,\n componentName\n }) => `${name || \"\"}${reset || \"\"}${forceClassName || \"\"}${componentName || \"\"}`,\n hasThemeUpdatingProps = props => \"name\" in props || \"reset\" in props || \"forceClassName\" in props;\nexport { ThemeStateContext, forceUpdateThemes, getRootThemeState, getThemeState, hasThemeUpdatingProps, useThemeState };\n//# sourceMappingURL=useThemeState.mjs.map\n","import { useRef } from \"react\";\nimport { getThemeProxied } from \"./getThemeProxied.mjs\";\nimport { useThemeState } from \"./useThemeState.mjs\";\nconst EMPTY = {},\n useTheme = () => {\n \"use no memo\";\n\n const [theme] = useThemeWithState(EMPTY);\n return theme;\n },\n useThemeWithState = (props, isRoot = !1) => {\n \"use no memo\";\n\n const keys = useRef(null),\n schemeKeys = useRef(null),\n themeState = useThemeState(props, isRoot, keys, schemeKeys);\n return process.env.NODE_ENV === \"development\" && !props.passThrough && !themeState?.theme && process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== \"1\" && console.error(`[tamagui] No theme found, this could be due to an invalid theme name (given theme props ${JSON.stringify(props)}).\n\nIf this is intended and you are using Tamagui without any themes, you can disable this warning by setting the environment variable TAMAGUI_DISABLE_NO_THEME_WARNING=1`), [props.passThrough ? {} : getThemeProxied(props, themeState, keys, schemeKeys), themeState];\n };\nexport { useTheme, useThemeWithState };\n//# sourceMappingURL=useTheme.mjs.map\n","import * as React from \"react\";\nfunction setRef(ref, value) {\n typeof ref == \"function\" ? ref(value) : ref && (ref.current = value);\n}\nfunction composeRefs(...refs) {\n return node => refs.forEach(ref => setRef(ref, node));\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport { composeRefs, setRef, useComposedRefs };\n//# sourceMappingURL=compose-refs.mjs.map\n","const isDevTools = (() => {\n if (process.env.NODE_ENV === \"development\") try {\n return new Function(\"try {return this===window;}catch(e){ return false;}\")();\n } catch {}\n return !1;\n})();\nexport { isDevTools };\n//# sourceMappingURL=isDevTools.mjs.map\n","const defaultComponentState = {\n hover: !1,\n press: !1,\n pressIn: !1,\n focus: !1,\n focusVisible: !1,\n focusWithin: !1,\n unmounted: !0,\n disabled: !1\n },\n defaultComponentStateMounted = {\n ...defaultComponentState,\n unmounted: !1\n },\n defaultComponentStateShouldEnter = {\n ...defaultComponentState,\n unmounted: \"should-enter\"\n };\nexport { defaultComponentState, defaultComponentStateMounted, defaultComponentStateShouldEnter };\n//# sourceMappingURL=defaultComponentState.mjs.map\n","function getWebEvents(events, webStyle = !0) {\n return {\n onMouseEnter: events.onMouseEnter,\n onMouseLeave: events.onMouseLeave,\n [webStyle ? \"onClick\" : \"onPress\"]: events.onPress,\n onMouseDown: events.onPressIn,\n onMouseUp: events.onPressOut,\n onTouchStart: events.onPressIn,\n onTouchEnd: events.onPressOut,\n onFocus: events.onFocus,\n onBlur: events.onBlur\n };\n}\nfunction wrapWithGestureDetector(content, _gesture, _stateRef, _isHOC) {\n return content;\n}\nfunction useEvents(_events, _viewProps, _stateRef, _staticConfig, _isHOC, _isInsideNativeMenu) {\n return null;\n}\nexport { getWebEvents, useEvents, wrapWithGestureDetector };\n//# sourceMappingURL=eventHandling.mjs.map\n","import { getConfig } from \"../config.mjs\";\nconst getDefaultProps = (staticConfig, propsComponentName) => {\n let defaultProps = staticConfig?.defaultProps;\n const conf = getConfig(),\n name = propsComponentName || staticConfig?.componentName || (\n // important: this is how we end up getting the defaultProps we set in createTamagui\n staticConfig.isText ? \"Text\" : \"View\"),\n userDefaultProps = conf?.defaultProps?.[name];\n return userDefaultProps && (defaultProps = defaultProps ? {\n ...userDefaultProps,\n ...defaultProps\n } : userDefaultProps), defaultProps;\n};\nexport { getDefaultProps };\n//# sourceMappingURL=getDefaultProps.mjs.map\n","function resolveAnimationDriver(driver) {\n return driver ? typeof driver.useAnimations == \"function\" ? driver : \"default\" in driver && typeof driver.default?.useAnimations == \"function\" ? driver.default : null : null;\n}\nexport { resolveAnimationDriver };\n//# sourceMappingURL=resolveAnimationDriver.mjs.map\n","const defaultOffset = {\n height: 0,\n width: 0\n};\nexport { defaultOffset };\n//# sourceMappingURL=defaultOffset.mjs.map\n","import { defaultOffset } from \"./defaultOffset.mjs\";\nfunction normalizeShadow({\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius\n}) {\n const {\n height,\n width\n } = shadowOffset || defaultOffset;\n return {\n shadowOffset: {\n width: width || 0,\n height: height || 0\n },\n shadowRadius: shadowRadius || 0,\n // pass color through as-is, opacity applied via color-mix in getCSSStylesAtomic\n shadowColor,\n // default to 1 if not specified (color-mix will handle the opacity)\n shadowOpacity: shadowOpacity ?? 1\n };\n}\nexport { normalizeShadow };\n//# sourceMappingURL=normalizeShadow.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { normalizeShadow } from \"./normalizeShadow.mjs\";\nfunction fixStyles(style) {\n (style.shadowRadius != null || style.shadowColor || style.shadowOpacity != null || style.shadowOffset) && Object.assign(style, normalizeShadow(style));\n for (const key in borderDefaults) key in style && (style[borderDefaults[key]] ||= \"solid\");\n}\nconst nativeStyle = isWeb ? null : \"borderStyle\",\n borderDefaults = {\n borderWidth: \"borderStyle\",\n borderBottomWidth: nativeStyle || \"borderBottomStyle\",\n borderTopWidth: nativeStyle || \"borderTopStyle\",\n borderLeftWidth: nativeStyle || \"borderLeftStyle\",\n borderRightWidth: nativeStyle || \"borderRightStyle\"\n // TODO: need to add borderBlock and borderInline here, but they are alot and might impact performance\n };\nexport { fixStyles };\n//# sourceMappingURL=expandStyles.mjs.map\n","const normalizeColor = (color, opacity) => {\n if (color) return typeof color != \"string\" ? color : color === \"transparent\" ? \"rgba(0, 0, 0, 0)\" : typeof opacity == \"number\" && opacity < 1 ? `color-mix(in srgb, ${color} ${Math.round(opacity * 100)}%, transparent)` : color;\n },\n getRgba = _color => {};\nexport { getRgba, normalizeColor };\n//# sourceMappingURL=normalizeColor.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { stylePropsAll, stylePropsUnitless } from \"@tamagui/helpers\";\nconst stylePropsAllPlusTransforms = {\n ...stylePropsAll,\n translateX: !0,\n translateY: !0\n};\nfunction normalizeValueWithProperty(value, property = \"\") {\n if (!isWeb || stylePropsUnitless[property] || property && !stylePropsAllPlusTransforms[property] || typeof value == \"boolean\") return value;\n if (value && typeof value == \"object\") if (typeof value.__getValue == \"function\") value = value.__getValue();else return value;\n let res = value;\n return typeof value == \"number\" ? res = `${value}px` : property && (res = `${res}`), res;\n}\nexport { normalizeValueWithProperty };\n//# sourceMappingURL=normalizeValueWithProperty.mjs.map\n","import { normalizeValueWithProperty } from \"./normalizeValueWithProperty.mjs\";\nfunction transformsToString(transforms) {\n return transforms.map(\n // { scale: 2 } => 'scale(2)'\n // { translateX: 20 } => 'translateX(20px)'\n // { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\n // { perspective: 1000 } => perspective(1000px)\n transform => {\n const type = Object.keys(transform)[0],\n value = transform[type];\n return type === \"matrix\" || type === \"matrix3d\" ? `${type}(${value.join(\",\")})` : `${type}(${normalizeValueWithProperty(value, type)})`;\n }).join(\" \");\n}\nexport { transformsToString };\n//# sourceMappingURL=transformsToString.mjs.map\n","import { cssShorthandLonghands, simpleHash } from \"@tamagui/helpers\";\nimport { getConfigMaybe } from \"../config.mjs\";\nimport { isMediaKey } from \"../hooks/useMedia.mjs\";\nimport { defaultOffset } from \"./defaultOffset.mjs\";\nimport { normalizeColor } from \"./normalizeColor.mjs\";\nimport { normalizeValueWithProperty } from \"./normalizeValueWithProperty.mjs\";\nimport { pseudoDescriptors } from \"./pseudoDescriptors.mjs\";\nimport { transformsToString } from \"./transformsToString.mjs\";\nfunction getCSSStylesAtomic(style) {\n styleToCSS(style);\n const out = [];\n for (const key in style) {\n if (key === \"$$css\") continue;\n const val = style[key];\n if (key in pseudoDescriptors) val && out.push(...getStyleAtomic(val, pseudoDescriptors[key]));else if (isMediaKey(key)) for (const subKey in val) {\n const so = getStyleObject(val, subKey);\n so && (so[0] = key, out.push(so));\n } else {\n const so = getStyleObject(style, key);\n so && out.push(so);\n }\n }\n return out;\n}\nconst getStyleAtomic = (style, pseudo) => {\n styleToCSS(style);\n const out = [];\n for (const key in style) {\n const so = getStyleObject(style, key, pseudo);\n so && out.push(so);\n }\n return out;\n};\nlet conf = null;\nconst getStyleObject = (style, key, pseudo) => {\n let val = style[key];\n if (val == null) return;\n key === \"transform\" && Array.isArray(style.transform) && (val = transformsToString(val));\n const value = normalizeValueWithProperty(val, key),\n hash = simpleHash(typeof value == \"string\" ? value : `${value}`),\n pseudoPrefix = pseudo ? `0${pseudo.name}-` : \"\";\n conf ||= getConfigMaybe();\n let identifier = `_${conf?.inverseShorthands[key] || key}-${pseudoPrefix}${hash}`;\n key === \"pointerEvents\" && !pseudo && (value === \"box-none\" ? identifier = \"_pe-boxnone\" : value === \"box-only\" && (identifier = \"_pe-boxonly\"));\n const rules = createAtomicRules(identifier, key, value, pseudo);\n return [\n // array for performance\n key, value, identifier, pseudo?.name, rules];\n};\nfunction styleToCSS(style) {\n const {\n shadowOffset,\n shadowRadius,\n shadowColor,\n shadowOpacity\n } = style;\n if (shadowRadius != null || shadowColor || shadowOffset != null || shadowOpacity != null) {\n const offset = shadowOffset || defaultOffset,\n width = normalizeValueWithProperty(offset.width),\n height = normalizeValueWithProperty(offset.height),\n radius = normalizeValueWithProperty(shadowRadius),\n color = normalizeColor(shadowColor, shadowOpacity);\n if (color) {\n const shadow = `${width} ${height} ${radius} ${color}`;\n style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow;\n }\n delete style.shadowOffset, delete style.shadowRadius, delete style.shadowColor, delete style.shadowOpacity;\n }\n const {\n textShadowColor,\n textShadowOffset,\n textShadowRadius\n } = style;\n if (textShadowColor || textShadowOffset || textShadowRadius) {\n const {\n height,\n width\n } = textShadowOffset || defaultOffset,\n radius = textShadowRadius || 0,\n color = normalizeValueWithProperty(textShadowColor, \"textShadowColor\");\n if (color && (height !== 0 || width !== 0 || radius !== 0)) {\n const blurRadius = normalizeValueWithProperty(radius),\n offsetX = normalizeValueWithProperty(width),\n offsetY = normalizeValueWithProperty(height);\n style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`;\n }\n delete style.textShadowColor, delete style.textShadowOffset, delete style.textShadowRadius;\n }\n}\nfunction createDeclarationBlock(style, important = !1) {\n let next = \"\";\n for (const [key, value] of style) next += `${hyphenateStyleName(key)}:${value}${important ? \" !important\" : \"\"};`;\n return `{${next}}`;\n}\nconst hcache = {},\n toHyphenLower = match => `-${match.toLowerCase()}`,\n hyphenateStyleName = key => {\n if (key in hcache) return hcache[key];\n const val = key.replace(/[A-Z]/g, toHyphenLower);\n return hcache[key] = val, val;\n },\n selectorPriority = (() => {\n const res = {};\n for (const key in pseudoDescriptors) {\n const pseudo = pseudoDescriptors[key];\n res[pseudo.name] = `${[...Array(pseudo.priority)].map(() => \":root\").join(\"\")} `;\n }\n return res;\n })();\nfunction createAtomicRules(identifier, property, value, pseudo) {\n const pseudoIdPostfix = pseudo ? pseudo.name === \"disabled\" ? \"[aria-disabled]\" : `:${pseudo.name}` : \"\",\n pseudoSelector = pseudo?.selector,\n cls = property in cssShorthandLonghands ? `.${identifier}.${identifier}` : `.${identifier}`;\n let selector = pseudo ? pseudoSelector ? `${pseudoSelector} ${cls}` : `${selectorPriority[pseudo.name]} ${cls}${pseudoIdPostfix}` : `:root ${cls}`;\n pseudoSelector === pseudoDescriptors.enterStyle.selector && (selector = `${selector}, .${identifier}${pseudoSelector}`);\n const important = !!pseudo;\n let rules = [];\n switch (property) {\n // Equivalent to using '::placeholder'\n case \"placeholderTextColor\":\n {\n const block = createDeclarationBlock([[\"color\", value], [\"opacity\", 1]], important);\n rules.push(`${selector}::placeholder${block}`);\n break;\n }\n // all webkit prefixed rules\n case \"backgroundClip\":\n case \"userSelect\":\n {\n const webkitProperty = `Webkit${`${property[0].toUpperCase()}${property.slice(1)}`}`,\n block = createDeclarationBlock([[property, value], [webkitProperty, value]], important);\n rules.push(`${selector}${block}`);\n break;\n }\n // Polyfill for additional 'pointer-events' values\n case \"pointerEvents\":\n {\n let finalValue = value;\n value === \"auto\" || value === \"box-only\" ? finalValue = \"auto\" : (value === \"none\" || value === \"box-none\") && (finalValue = \"none\");\n const block = createDeclarationBlock([[\"pointerEvents\", finalValue]], !0);\n rules.push(`${selector}${block}`);\n break;\n }\n default:\n {\n const block = createDeclarationBlock([[property, value]], important);\n rules.push(`${selector}${block}`);\n break;\n }\n }\n return pseudo?.name === \"hover\" && (rules = rules.map(r => `@media (hover) {${r}}`)), rules;\n}\nexport { getCSSStylesAtomic, getStyleAtomic, styleToCSS };\n//# sourceMappingURL=getCSSStylesAtomic.mjs.map\n","import { StyleObjectIdentifier, StyleObjectRules } from \"@tamagui/helpers\";\nimport { createVariable } from \"../createVariable.mjs\";\nconst scannedCache = /* @__PURE__ */new WeakMap(),\n totalSelectorsInserted = /* @__PURE__ */new Map(),\n allSelectors = {},\n allRules = {},\n getAllSelectors = () => allSelectors,\n getAllRules = () => process.env.TAMAGUI_DID_OUTPUT_CSS ? [] : Object.keys(allRules).sort().map(key => allRules[key]);\nlet lastScannedSheets = null;\nfunction scanAllSheets(collectThemes = !1, tokens) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n if (process.env.NODE_ENV === \"test\") return;\n let themes;\n const sheets = document.styleSheets || [],\n prev = lastScannedSheets,\n current = new Set(sheets);\n for (const sheet2 of current) if (sheet2) {\n const out = updateSheetStyles(sheet2, !1, collectThemes, tokens);\n out && (themes = out);\n }\n if (lastScannedSheets = current, prev) for (const sheet2 of prev) sheet2 && !current.has(sheet2) && updateSheetStyles(sheet2, !0);\n return themes;\n }\n}\nfunction trackInsertedStyle(id) {\n const next = (totalSelectorsInserted.get(id) || 0) + 1;\n return totalSelectorsInserted.set(id, next), next;\n}\nconst bailAfterEnv = process.env.TAMAGUI_BAIL_AFTER_SCANNING_X_CSS_RULES,\n bailAfter = bailAfterEnv ? +bailAfterEnv : 8e3;\nfunction updateSheetStyles(sheet2, remove = !1, collectThemes = !1, tokens) {\n let rules;\n try {\n if (rules = sheet2.cssRules, !rules) return;\n } catch {\n return;\n }\n const firstSelector = getTamaguiSelector(rules[0], collectThemes)?.[0],\n lastSelector = getTamaguiSelector(rules[rules.length - 1], collectThemes)?.[0],\n cacheKey = `${rules.length}${firstSelector}${lastSelector}`,\n lastScanned = scannedCache.get(sheet2);\n if (!remove && lastScanned === cacheKey) return;\n const len = rules.length;\n let fails = 0,\n dedupedThemes;\n const nameToTheme = {};\n for (let i = 0; i < len; i++) {\n const rule = rules[i];\n if (!(rule instanceof CSSStyleRule)) continue;\n const response = getTamaguiSelector(rule, collectThemes);\n if (response) fails = 0;else {\n if (fails++, fails > bailAfter) return;\n continue;\n }\n const [identifier, cssRule, isTheme] = response;\n if (isTheme) {\n const deduped = addThemesFromCSS(cssRule, tokens);\n if (deduped) {\n for (const name of deduped.names) nameToTheme[name] ? (Object.apply(nameToTheme[name], deduped.theme), deduped.names = deduped.names.filter(x => x !== name)) : nameToTheme[name] = deduped.theme;\n dedupedThemes ||= [], dedupedThemes.push(deduped);\n }\n continue;\n }\n }\n return scannedCache.set(sheet2, cacheKey), dedupedThemes;\n}\nlet colorVarToVal,\n rootComputedStyle = null;\nfunction addThemesFromCSS(cssStyleRule, tokens) {\n const selectors = cssStyleRule.selectorText.split(\",\");\n if (!selectors.length) return;\n if (tokens?.color && !colorVarToVal) {\n colorVarToVal = {};\n for (const key in tokens.color) {\n const token = tokens.color[key];\n token && (colorVarToVal[token.name] = token.val);\n }\n }\n const rules = (cssStyleRule.cssText || \"\").slice(cssStyleRule.selectorText.length + 2, -1).split(\";\"),\n values = {};\n for (const rule of rules) {\n const sepI = rule.indexOf(\":\");\n if (sepI === -1) continue;\n const varIndex = rule.indexOf(\"--\");\n let key = rule.slice(varIndex === -1 ? 0 : varIndex + 2, sepI);\n process.env.TAMAGUI_CSS_VARIABLE_PREFIX && (key = key.replace(process.env.TAMAGUI_CSS_VARIABLE_PREFIX, \"\"));\n const val = rule.slice(sepI + 2);\n let value;\n if (val[0] === \"v\" && val.startsWith(\"var(\")) {\n const varName = val.slice(6, -1),\n tokenVal = colorVarToVal?.[varName];\n tokenVal ? value = tokenVal : (rootComputedStyle ||= getComputedStyle(document.body), value = rootComputedStyle.getPropertyValue(\"--\" + varName));\n } else value = val;\n values[key] = createVariable({\n key,\n name: key,\n val: value\n }, !0);\n }\n const names = /* @__PURE__ */new Set();\n for (const selector of selectors) {\n if (selector === \" .tm_xxt\") continue;\n const lastThemeSelectorIndex = selector.lastIndexOf(\".t_\"),\n name = selector.slice(lastThemeSelectorIndex).slice(3),\n [schemeChar] = selector[lastThemeSelectorIndex - 5],\n scheme = schemeChar === \"d\" ? \"dark\" : schemeChar === \"i\" ? \"light\" : \"\",\n themeName = scheme && scheme !== name ? `${scheme}_${name}` : name;\n !themeName || themeName === \"light_dark\" || themeName === \"dark_light\" || names.add(themeName);\n }\n return {\n names: [...names],\n theme: values\n };\n}\nconst tamaguiSelectorRegex = /\\.tm_xxt/;\nfunction getTamaguiSelector(rule, collectThemes = !1) {\n if (rule instanceof CSSStyleRule) {\n const text = rule.selectorText;\n if (text[0] === \":\" && text[1] === \"r\" && tamaguiSelectorRegex.test(text)) {\n const id = getIdentifierFromTamaguiSelector(\n // next.js minifies it so its in front\n text.replace(tamaguiSelectorRegex, \"\"));\n return collectThemes ? [id, rule, !0] : [id, rule];\n }\n } else if (rule instanceof CSSMediaRule) return rule.cssRules.length > 1 ? void 0 : getTamaguiSelector(rule.cssRules[0]);\n}\nconst getIdentifierFromTamaguiSelector = selector => {\n const dotIndex = selector.indexOf(\":\");\n return dotIndex > -1 ? selector.slice(7, dotIndex) : selector.slice(7);\n};\nlet sheet = null,\n trackAllRules = !0;\nfunction stopAccumulatingRules() {\n trackAllRules = !1;\n}\nfunction updateRules(identifier, rules) {\n return trackAllRules && (allRules[identifier] = rules.join(\" \")), !0;\n}\nlet nonce = \"\";\nfunction setNonce(_) {\n nonce = _;\n}\nfunction insertStyleRules(rulesToInsert) {\n if (!sheet && document.head) {\n const styleTag = document.createElement(\"style\");\n styleTag.id = \"_tamagui-styles\", nonce && (styleTag.nonce = nonce), sheet = document.head.appendChild(styleTag).sheet;\n }\n if (sheet) for (const key in rulesToInsert) {\n const styleObject = rulesToInsert[key],\n identifier = styleObject[StyleObjectIdentifier];\n if (!shouldInsertStyleRules(identifier)) continue;\n const rules = styleObject[StyleObjectRules];\n allSelectors[identifier] = rules.join(`\n`), trackInsertedStyle(identifier), updateRules(identifier, rules);\n try {\n for (const rule of rules) sheet.insertRule(rule, sheet.cssRules.length);\n } catch {\n process.env.NODE_ENV === \"production\" && console.error(\"Error inserting style rule\", rules);\n }\n }\n}\nconst maxToInsert = process.env.TAMAGUI_INSERT_SELECTOR_TRIES ? +process.env.TAMAGUI_INSERT_SELECTOR_TRIES : 1;\nfunction shouldInsertStyleRules(identifier) {\n if (process.env.IS_STATIC === \"is_static\") return !0;\n const total = totalSelectorsInserted.get(identifier) || 0;\n return process.env.NODE_ENV === \"development\" && total > +(process.env.TAMAGUI_STYLE_INSERTION_WARNING_LIMIT || 10) && console.warn('Warning: inserting many CSS rules, you may be animating something and generating many CSS insertions, which can degrade performance. Instead, try using the \"disableClassName\" property on elements that change styles often. To disable this warning set TAMAGUI_STYLE_INSERTION_WARNING_LIMIT from 50000 to something higher'), total < maxToInsert;\n}\nexport { getAllRules, getAllSelectors, insertStyleRules, scanAllSheets, setNonce, shouldInsertStyleRules, stopAccumulatingRules, updateRules };\n//# sourceMappingURL=insertStyleRule.mjs.map\n","import { currentPlatform } from \"@tamagui/constants\";\nfunction isActivePlatform(key) {\n if (!key.startsWith(\"$platform\")) return !0;\n const platform = key.slice(10);\n return (\n // web, ios, android\n platform === currentPlatform ||\n // web, native\n platform === \"web\"\n );\n}\nexport { isActivePlatform };\n//# sourceMappingURL=isActivePlatform.mjs.map\n","function isActiveTheme(key, activeThemeName) {\n if (key.startsWith(\"$theme-\")) return key.slice(7).startsWith(activeThemeName);\n}\nexport { isActiveTheme };\n//# sourceMappingURL=isActiveTheme.mjs.map\n","import { _disableMediaTouch } from \"../hooks/useMedia.mjs\";\nfunction log(...args) {\n if (process.env.NODE_ENV !== \"production\") {\n _disableMediaTouch(!0);\n try {\n return console.info(...args);\n } catch (err) {\n console.error(err);\n } finally {\n _disableMediaTouch(!1);\n }\n }\n}\nexport { log };\n//# sourceMappingURL=log.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { getSetting } from \"../config.mjs\";\nimport \"./parseBorderShorthand.mjs\";\nimport \"./parseOutlineShorthand.mjs\";\nconst neg1Flex = [[\"flexGrow\", 0], [\"flexShrink\", 1], [\"flexBasis\", \"auto\"]];\nfunction expandStyle(key, value) {\n if (key === \"flex\") return value === -1 ? neg1Flex : [[\"flexGrow\", value], [\"flexShrink\", 1], [\"flexBasis\", getSetting(\"styleCompat\") === \"legacy\" ? \"auto\" : 0]];\n switch (key) {\n case \"writingDirection\":\n return [[\"direction\", value]];\n // some safari-based browsers seem not to support without -webkit prefix\n case \"backdropFilter\":\n return [[\"backdropFilter\", value], [\"WebkitBackdropFilter\", value]];\n }\n if (key in EXPANSIONS) return EXPANSIONS[key].map(k => [k, value]);\n}\nconst all = [\"Top\", \"Right\", \"Bottom\", \"Left\"],\n horiz = [\"Right\", \"Left\"],\n vert = [\"Top\", \"Bottom\"],\n xy = [\"X\", \"Y\"],\n EXPANSIONS = {\n borderColor: [\"TopColor\", \"RightColor\", \"BottomColor\", \"LeftColor\"],\n borderRadius: [\"TopLeftRadius\", \"TopRightRadius\", \"BottomRightRadius\", \"BottomLeftRadius\"],\n borderWidth: [\"TopWidth\", \"RightWidth\", \"BottomWidth\", \"LeftWidth\"],\n margin: all,\n marginHorizontal: horiz,\n marginVertical: vert,\n padding: all,\n paddingHorizontal: horiz,\n paddingVertical: vert,\n ...(isWeb && {\n // react-native only supports borderStyle\n borderStyle: [\"TopStyle\", \"RightStyle\", \"BottomStyle\", \"LeftStyle\"],\n // react-native doesn't support X / Y\n overflow: xy,\n overscrollBehavior: xy\n })\n };\nfor (const parent in EXPANSIONS) {\n const prefix = parent.slice(0, /[A-Z]/.exec(parent)?.index ?? parent.length);\n EXPANSIONS[parent] = EXPANSIONS[parent].map(k => `${prefix}${k}`);\n}\nexport { expandStyle };\n//# sourceMappingURL=expandStyle.mjs.map\n","import { getSetting } from \"../config.mjs\";\nimport { getVariableValue } from \"../createVariable.mjs\";\nconst cache = /* @__PURE__ */new WeakMap(),\n getVariantExtras = styleState => {\n if (cache.has(styleState)) return cache.get(styleState);\n const {\n props,\n conf,\n context,\n theme,\n styleProps\n } = styleState,\n styledContext = styleProps.styledContext;\n let fonts = conf.fontsParsed;\n context?.language && (fonts = getFontsForLanguage(conf.fontsParsed, context.language));\n const next = {\n fonts,\n tokens: conf.tokensParsed,\n theme,\n context: styledContext,\n get fontFamily() {\n return getVariableValue(styleState.fontFamily || styleState.props.fontFamily) || props.fontFamily || getVariableValue(getSetting(\"defaultFont\"));\n },\n get font() {\n return fonts[this.fontFamily] || (!props.fontFamily || props.fontFamily[0] === \"$\" ? fonts[getSetting(\"defaultFont\") || \"\"] : void 0);\n },\n props\n };\n return cache.set(styleState, next), next;\n },\n fontLanguageCache = /* @__PURE__ */new WeakMap();\nfunction getFontsForLanguage(fonts, language) {\n if (fontLanguageCache.has(language)) return fontLanguageCache.get(language);\n const next = {\n ...fonts,\n ...Object.fromEntries(Object.entries(language).flatMap(([name, lang]) => {\n if (lang === \"default\") return [];\n const langKey = `$${name}_${lang}`;\n return [[`$${name}`, fonts[langKey]]];\n }))\n };\n return fontLanguageCache.set(language, next), next;\n}\nexport { getFontsForLanguage, getVariantExtras };\n//# sourceMappingURL=getVariantExtras.mjs.map\n","import { tokenCategories } from \"@tamagui/helpers\";\nimport { getConfig } from \"../config.mjs\";\nimport { isVariable } from \"../createVariable.mjs\";\nimport { getFontsForLanguage } from \"./getVariantExtras.mjs\";\nconst fontShorthand = {\n fontSize: \"size\",\n fontWeight: \"weight\"\n};\nlet didLogMissingToken = !1,\n _lastFontFamilyToken = null;\nfunction getLastFontFamilyToken() {\n return _lastFontFamilyToken;\n}\nfunction setLastFontFamilyToken(value) {\n _lastFontFamilyToken = value;\n}\nconst getTokenForKey = (key, value, styleProps, styleState) => {\n let resolveAs = styleProps.resolveValues || \"none\";\n if (resolveAs === \"none\") return value;\n const {\n theme,\n conf = getConfig(),\n context,\n fontFamily,\n staticConfig\n } = styleState,\n themeValue = theme ? theme[value] || theme[value.slice(1)] : void 0,\n tokensParsed = conf.tokensParsed;\n let valOrVar,\n hasSet = !1;\n const customTokenAccept = staticConfig?.accept?.[key];\n if (customTokenAccept) {\n const val = themeValue ?? tokensParsed[customTokenAccept]?.[value];\n val != null && (resolveAs = \"value\", valOrVar = val, hasSet = !0);\n }\n if (themeValue) {\n if (resolveAs === \"except-theme\") return value;\n valOrVar = themeValue, process.env.NODE_ENV === \"development\" && styleState.debug === \"verbose\" && (globalThis.tamaguiAvoidTracking = !0, console.info(` - resolving ${key} to theme value ${value} resolveAs ${resolveAs}`, valOrVar), globalThis.tamaguiAvoidTracking = !1), hasSet = !0;\n } else {\n if (value in conf.specificTokens) hasSet = !0, valOrVar = conf.specificTokens[value];else {\n switch (key) {\n case \"fontFamily\":\n {\n valOrVar = (context?.language ? getFontsForLanguage(conf.fontsParsed, context.language) : conf.fontsParsed)[value]?.family || value, setLastFontFamilyToken(value), hasSet = !0;\n break;\n }\n case \"fontSize\":\n case \"lineHeight\":\n case \"letterSpacing\":\n case \"fontWeight\":\n {\n const fam = fontFamily || conf.defaultFontToken;\n if (fam) {\n const fontsParsed = context?.language ? getFontsForLanguage(conf.fontsParsed, context.language) : conf.fontsParsed;\n valOrVar = (fontsParsed[fam] || fontsParsed[conf.defaultFontToken])?.[fontShorthand[key] || key]?.[value] || value, hasSet = !0;\n }\n break;\n }\n }\n for (const cat in tokenCategories) if (key in tokenCategories[cat]) {\n const res = tokensParsed[cat]?.[value];\n res != null ? (valOrVar = res, hasSet = !0) : process.env.NODE_ENV === \"development\" && process.env.TAMAGUI_DISABLE_MISSING_TOKEN_LOG !== \"1\" && (didLogMissingToken || (didLogMissingToken = !0, console.groupCollapsed(`[tamagui] Warning: missing token ${key} in category ${cat} - ${value} (open for details)`), console.info(`Note: this could just be due to you not setting all the theme tokens Tamagui expects, which is harmless, but\n it also often can be because you have a duplicated Tamagui in your bundle, which can cause tricky bugs.`), console.info(`To see if you have duplicated dependencies, in Chrome DevTools hit CMD+P and type TamaguiProvider.\n If you see both a .cjs and a .mjs entry, it's duplicated.`), console.info(\"You can debug that issue by opening the .mjs and .cjs files and setting a breakpoint at the top of each.\"), console.info(\"We only log this warning one time as it's sometimes harmless, to disable this log entirely set process.env.TAMAGUI_DISABLE_MISSING_TOKEN_LOG=1.\"), console.groupEnd()));\n }\n }\n if (!hasSet) {\n const spaceVar = tokensParsed.space[value];\n spaceVar != null && (valOrVar = spaceVar, hasSet = !0);\n }\n }\n if (hasSet) {\n const out = resolveVariableValue(key, valOrVar, resolveAs);\n return process.env.NODE_ENV === \"development\" && styleState.debug === \"verbose\" && (globalThis.tamaguiAvoidTracking = !0, console.info(\"resolved\", resolveAs, valOrVar, out), globalThis.tamaguiAvoidTracking = !1), out;\n }\n process.env.NODE_ENV === \"development\" && styleState.debug === \"verbose\" && console.warn(`Warning: no token found for ${key}, omitting`);\n};\nfunction resolveVariableValue(key, valOrVar, resolveValues) {\n if (resolveValues === \"none\") return valOrVar;\n if (isVariable(valOrVar)) {\n if (resolveValues === \"value\") return valOrVar.val;\n const get = valOrVar?.get;\n return typeof get == \"function\" ? get(resolveValues === \"web\" ? \"web\" : void 0) : valOrVar.variable;\n }\n return valOrVar;\n}\nexport { getLastFontFamilyToken, getTokenForKey, resolveVariableValue, setLastFontFamilyToken };\n//# sourceMappingURL=getTokenForKey.mjs.map\n","const isObj = x => x && !Array.isArray(x) && typeof x == \"object\";\nexport { isObj };\n//# sourceMappingURL=isObj.mjs.map\n","import { expandStyle } from \"./expandStyle.mjs\";\nimport { fixStyles } from \"./expandStyles.mjs\";\nimport { isObj } from \"./isObj.mjs\";\nimport { normalizeValueWithProperty } from \"./normalizeValueWithProperty.mjs\";\nimport { pseudoDescriptors } from \"./pseudoDescriptors.mjs\";\nfunction normalizeStyle(style, disableNormalize = !1) {\n const res = {};\n for (let key in style) {\n const prop = style[key];\n if (prop == null) continue;\n if (key in pseudoDescriptors ||\n // this should capture all parent-based styles like media, group, etc\n key[0] === \"$\" && isObj(prop)) {\n res[key] = normalizeStyle(prop, disableNormalize);\n continue;\n }\n const value = disableNormalize ? prop : normalizeValueWithProperty(prop, key),\n out = expandStyle(key, value);\n out ? Object.assign(res, Object.fromEntries(out)) : res[key] = value;\n }\n return fixStyles(res), res;\n}\nexport { normalizeStyle };\n//# sourceMappingURL=normalizeStyle.mjs.map\n","import { getTokenForKey } from \"./getTokenForKey.mjs\";\nconst tokenPattern = /(\\$[\\w.-]+)/g;\nfunction platformResolveValue(_key, value, styleProps, styleState) {\n return value.replace(tokenPattern, t => {\n let r = getTokenForKey(\"size\", t, styleProps, styleState);\n return r == null && (r = getTokenForKey(\"color\", t, styleProps, styleState)), r != null ? String(r) : t;\n });\n}\nexport { platformResolveValue };\n//# sourceMappingURL=platformResolveValue.mjs.map\n","import { platformResolveValue } from \"./platformResolveValue.mjs\";\nconst compoundKeys = {\n boxShadow: !0,\n textShadow: !0,\n filter: !0,\n backgroundImage: !0,\n border: !0,\n outline: !0\n};\nfunction resolveCompoundTokens(key, value, styleProps, styleState) {\n return !value.includes(\"$\") || !compoundKeys[key] ? value : platformResolveValue(key, value, styleProps, styleState);\n}\nexport { resolveCompoundTokens };\n//# sourceMappingURL=resolveCompoundTokens.mjs.map\n","function resolveRem(value) {\n return value;\n}\nfunction isRemValue(value) {\n return typeof value == \"string\" && value.includes(\"rem\");\n}\nexport { isRemValue, resolveRem };\n//# sourceMappingURL=resolveRem.mjs.map\n","const nativeOnlyProps = {\n accessibilityElementsHidden: 1,\n accessibilityIgnoresInvertColors: 1,\n accessibilityLanguage: 1,\n adjustsFontSizeToFit: 1,\n allowFontScaling: 1,\n android_hyphenationFrequency: 1,\n dataDetectorType: 1,\n dynamicTypeRamp: 1,\n elevationAndroid: 1,\n ellipsizeMode: 1,\n hapticFeedback: 1,\n hapticStyle: 1,\n hitSlop: 1,\n importantForAccessibility: 1,\n lineBreakStrategyIOS: 1,\n maxFontSizeMultiplier: 1,\n minimumFontScale: 1,\n needsOffscreenAlphaCompositing: 1,\n nextFocusDown: 1,\n nextFocusForward: 1,\n nextFocusLeft: 1,\n nextFocusRight: 1,\n nextFocusUp: 1,\n onAccessibilityAction: 1,\n onAccessibilityEscape: 1,\n onAccessibilityTap: 1,\n onMagicTap: 1,\n onTextLayout: 1,\n pressRetentionOffset: 1,\n selectionColor: 1,\n shouldRasterizeIOS: 1,\n suppressHighlighting: 1,\n textBreakStrategy: 1\n};\nexport { nativeOnlyProps };\n//# sourceMappingURL=nativeOnlyProps.mjs.map\n","import { nativeOnlyProps } from \"./nativeOnlyProps.mjs\";\nimport \"./webPropsToSkip.mjs\";\nconst skipProps = {\n untilMeasured: 1,\n transition: 1,\n space: 1,\n animateOnly: 1,\n animatedBy: 1,\n disableClassName: 1,\n debug: 1,\n componentName: 1,\n disableOptimization: 1,\n render: 1,\n style: 1,\n // handled after loop so pseudos set usedKeys and override it if necessary\n group: 1,\n animatePresence: 1\n};\nprocess.env.NODE_ENV === \"test\" && (skipProps[\"data-test-renders\"] = 1);\nObject.assign(skipProps, nativeOnlyProps);\nexport { skipProps };\n//# sourceMappingURL=skipProps.mjs.map\n","import \"@tamagui/constants\";\nimport { getVariableValue, isVariable } from \"../createVariable.mjs\";\nimport { expandStyle } from \"./expandStyle.mjs\";\nimport { getLastFontFamilyToken, getTokenForKey, resolveVariableValue, setLastFontFamilyToken } from \"./getTokenForKey.mjs\";\nimport { getVariantExtras } from \"./getVariantExtras.mjs\";\nimport { isObj } from \"./isObj.mjs\";\nimport { normalizeStyle } from \"./normalizeStyle.mjs\";\nimport \"./parseNativeStyle.mjs\";\nimport { pseudoDescriptors } from \"./pseudoDescriptors.mjs\";\nimport { resolveCompoundTokens } from \"./resolveCompoundTokens.mjs\";\nimport { isRemValue, resolveRem } from \"./resolveRem.mjs\";\nimport { skipProps } from \"./skipProps.mjs\";\nimport { getTokenForKey as getTokenForKey2 } from \"./getTokenForKey.mjs\";\nconst propMapper = (key, value, styleState, disabled, map) => {\n if (disabled) return map(key, value);\n if (setLastFontFamilyToken(null), key === \"elevationAndroid\") return;\n const {\n conf,\n styleProps,\n staticConfig\n } = styleState,\n {\n variants\n } = staticConfig;\n if (!styleProps.noExpand && variants && key in variants) {\n const variantValue = resolveVariants(key, value, styleProps, styleState, \"\");\n if (variantValue) {\n variantValue.forEach(([key2, value2]) => map(key2, value2));\n return;\n }\n }\n styleProps.disableExpandShorthands || key in conf.shorthands && (key = conf.shorthands[key]);\n const originalValue = value;\n if (value != null) if (typeof value == \"string\") {\n if (value[0] === \"$\") value = getTokenForKey(key, value, styleProps, styleState);else {\n const resolved = resolveCompoundTokens(key, value, styleProps, styleState);\n value = resolved !== value ? resolved : isRemValue(value) ? resolveRem(value) : value;\n }\n } else isVariable(value) ? value = resolveVariableValue(key, value, styleProps.resolveValues) : isRemValue(value) && (value = resolveRem(value));\n if (value != null) {\n const fontToken = getLastFontFamilyToken();\n key === \"fontFamily\" && fontToken && (styleState.fontFamily = fontToken);\n const expanded = styleProps.noExpand ? null : expandStyle(key, value);\n if (expanded) {\n const max = expanded.length;\n for (let i = 0; i < max; i++) {\n const [nkey, nvalue] = expanded[i];\n map(nkey, nvalue, originalValue);\n }\n } else map(key, value, originalValue);\n }\n },\n resolveVariants = (key, value, styleProps, styleState, parentVariantKey) => {\n const {\n staticConfig,\n conf,\n debug\n } = styleState,\n {\n variants\n } = staticConfig;\n if (!variants) return;\n let variantValue = getVariantDefinition(variants[key], value, conf, styleState);\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(`\\u2666\\uFE0F\\u2666\\uFE0F\\u2666\\uFE0F resolve variant ${key}`), console.info({\n key,\n value,\n variantValue,\n variants\n }), console.groupEnd()), !variantValue) {\n if (process.env.TAMAGUI_WARN_ON_MISSING_VARIANT === \"1\" && typeof value != \"boolean\") {\n const name = staticConfig.componentName || \"[UnnamedComponent]\";\n console.warn(`No variant found: ${name} has variant \"${key}\", but no matching value \"${value}\"`);\n }\n return;\n }\n if (typeof variantValue == \"function\") {\n const fn = variantValue,\n extras = getVariantExtras(styleState);\n variantValue = fn(value, extras), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(\" expanded functional variant\", key), console.info({\n fn,\n variantValue,\n extras\n }), console.groupEnd());\n }\n let fontFamilyResult;\n if (isObj(variantValue)) {\n const fontFamilyUpdate = variantValue.fontFamily || variantValue[conf.inverseShorthands.fontFamily];\n fontFamilyUpdate && (fontFamilyResult = getFontFamilyFromNameOrVariable(fontFamilyUpdate, conf), styleState.fontFamily = fontFamilyResult, process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\" updating font family\", fontFamilyResult)), variantValue = resolveTokensAndVariants(key, variantValue, styleProps, styleState, parentVariantKey);\n }\n if (variantValue) {\n const expanded = normalizeStyle(variantValue, !!styleProps.noNormalize);\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\" expanding styles from \", variantValue, \"to\", expanded);\n const next = Object.entries(expanded);\n return fontFamilyResult && fontFamilyResult[0] === \"$\" && setLastFontFamilyToken(getVariableValue(fontFamilyResult)), next;\n }\n };\nfunction getFontFamilyFromNameOrVariable(input, conf) {\n if (isVariable(input)) {\n const val = variableToFontNameCache.get(input);\n if (val) return val;\n for (const key in conf.fontsParsed) {\n const familyVariable = conf.fontsParsed[key].family;\n if (isVariable(familyVariable) && (variableToFontNameCache.set(familyVariable, key), familyVariable === input)) return key;\n }\n } else if (typeof input == \"string\" && input[0] === \"$\") return input;\n}\nconst variableToFontNameCache = /* @__PURE__ */new WeakMap(),\n resolveTokensAndVariants = (key, value, styleProps, styleState, parentVariantKey) => {\n const {\n conf,\n staticConfig,\n debug,\n theme\n } = styleState,\n {\n variants\n } = staticConfig,\n res = {};\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\" - resolveTokensAndVariants\", key, value);\n for (const _key in value) {\n const subKey = conf.shorthands[_key] || _key,\n val = value[_key];\n if (!(!styleProps.noSkip && subKey in skipProps)) {\n if (staticConfig) {\n const contextProps = staticConfig.context?.props || staticConfig.parentStaticConfig?.context?.props;\n contextProps && subKey in contextProps && (styleState.overriddenContextProps ||= {}, styleState.overriddenContextProps[subKey] = val, styleState.originalContextPropValues ||= {}, styleState.originalContextPropValues[subKey] = val);\n }\n if (styleProps.noExpand) res[subKey] = val;else if (variants && subKey in variants) {\n if (parentVariantKey && parentVariantKey === key) res[subKey] = val[0] === \"$\" ? getTokenForKey(subKey, val, styleProps, styleState) : val;else {\n const variantOut = resolveVariants(subKey, val, styleProps, styleState, key);\n if (variantOut) for (const [key2, val2] of variantOut) val2 != null && (key2 in pseudoDescriptors ? (res[key2] ??= {}, Object.assign(res[key2], val2)) : res[key2] = val2);\n }\n continue;\n }\n if (isVariable(val)) {\n res[subKey] = resolveVariableValue(subKey, val, styleProps.resolveValues), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\"variable\", subKey, res[subKey]);\n continue;\n }\n if (typeof val == \"string\") {\n const fVal = val[0] === \"$\" ? getTokenForKey(subKey, val, styleProps, styleState) : resolveCompoundTokens(subKey, val, styleProps, styleState);\n res[subKey] = fVal === val && isRemValue(val) ? resolveRem(val) : fVal;\n continue;\n }\n if (isObj(val)) {\n const subObject = resolveTokensAndVariants(subKey, val, styleProps, styleState, key);\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\"object\", subKey, subObject), res[subKey] ??= {}, Object.assign(res[subKey], subObject);\n } else res[subKey] = val;\n process.env.NODE_ENV === \"development\" && debug && res[subKey]?.[0] === \"$\" && console.warn(`\\u26A0\\uFE0F Missing token in theme ${theme.name}:`, subKey, res[subKey], theme);\n }\n }\n return res;\n },\n tokenCats = [\"size\", \"color\", \"radius\", \"space\", \"zIndex\"].map(name => ({\n name,\n spreadName: `...${name}`\n }));\nfunction getVariantDefinition(variant, value, conf, {\n theme\n}) {\n if (!variant) return;\n if (typeof variant == \"function\") return variant;\n const exact = variant[value];\n if (exact) return exact;\n if (value != null) {\n const {\n tokensParsed\n } = conf;\n for (const {\n name,\n spreadName\n } of tokenCats) if (spreadName in variant && (name in tokensParsed && value in tokensParsed[name] || name === \"color\" && theme && typeof value == \"string\" && value[0] === \"$\" && value.slice(1) in theme)) return variant[spreadName];\n const fontSizeVariant = variant[\"...fontSize\"];\n if (fontSizeVariant && conf.fontSizeTokens.has(value)) return fontSizeVariant;\n }\n return variant[`:${typeof value}`] || variant[\"...\"];\n}\nexport { getFontFamilyFromNameOrVariable, getTokenForKey2 as getTokenForKey, propMapper };\n//# sourceMappingURL=propMapper.mjs.map\n","const sortString = (a, b) => a < b ? -1 : a > b ? 1 : 0;\nexport { sortString };\n//# sourceMappingURL=sortString.mjs.map\n","import { isClient, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { StyleObjectIdentifier, StyleObjectProperty, StyleObjectPseudo, StyleObjectRules, nonAnimatableStyleProps, stylePropsText, stylePropsTransform, tokenCategories, validPseudoKeys, validStyles as validStylesView } from \"@tamagui/helpers\";\nimport React from \"react\";\nimport { getConfig } from \"../config.mjs\";\nimport { isDevTools } from \"../constants/isDevTools.mjs\";\nimport { getMediaImportanceIfMoreImportant, getMediaKey, mediaKeyMatch } from \"../hooks/useMedia.mjs\";\nimport { mediaState as globalMediaState, mediaQueryConfig } from \"./mediaState.mjs\";\nimport { createMediaStyle } from \"./createMediaStyle.mjs\";\nimport { fixStyles } from \"./expandStyles.mjs\";\nimport { getCSSStylesAtomic, getStyleAtomic, styleToCSS } from \"./getCSSStylesAtomic.mjs\";\nimport { getDefaultProps } from \"./getDefaultProps.mjs\";\nimport \"./getDynamicVal.mjs\";\nimport { getGroupPropParts } from \"./getGroupPropParts.mjs\";\nimport { insertStyleRules, shouldInsertStyleRules, updateRules } from \"./insertStyleRule.mjs\";\nimport { isActivePlatform } from \"./isActivePlatform.mjs\";\nimport { isActiveTheme } from \"./isActiveTheme.mjs\";\nimport { log } from \"./log.mjs\";\nimport { normalizeValueWithProperty } from \"./normalizeValueWithProperty.mjs\";\nimport { propMapper } from \"./propMapper.mjs\";\nimport { pseudoDescriptors, pseudoPriorities } from \"./pseudoDescriptors.mjs\";\nimport { skipProps } from \"./skipProps.mjs\";\nimport { sortString } from \"./sortString.mjs\";\nimport { transformsToString } from \"./transformsToString.mjs\";\nlet conf;\nconst styleOriginalValues = /* @__PURE__ */new WeakMap(),\n PROP_SPLIT = \"-\";\nfunction normalizeGroupKey(key, groupContext) {\n const parts = key.split(\"-\"),\n plen = parts.length;\n if (\n // check if its actually a simple group selector to avoid breaking selectors\n plen === 2 || plen === 3 && pseudoPriorities[parts[parts.length - 1]]) {\n const name = parts[1];\n if (name !== \"true\" && groupContext && !groupContext[name]) return key.replace(\"$group-\", \"$group-true-\");\n }\n return key;\n}\nfunction isValidStyleKey(key, validStyles, accept) {\n return key in validStyles ? !0 : accept && key in accept;\n}\nconst getSplitStyles = (props, staticConfig, theme, themeName, componentState, styleProps, parentSplitStyles, componentContext, groupContext, elementType, startedUnhydrated, debug, animationDriver) => {\n conf = conf || getConfig();\n const driver = animationDriver || componentContext?.animationDriver || conf.animations;\n if (props.passThrough) return null;\n isWeb && styleProps.isAnimated && driver?.isReactNative && !styleProps.noNormalize && (styleProps.noNormalize = \"values\");\n const {\n shorthands\n } = conf,\n {\n isHOC,\n isText,\n isInput,\n variants,\n isReactNative,\n inlineProps,\n inlineWhenUnflattened,\n parentStaticConfig,\n acceptsClassName\n } = staticConfig,\n viewProps = {},\n mediaState = styleProps.mediaState || globalMediaState,\n shouldDoClasses = acceptsClassName && isWeb && !styleProps.noClass,\n rulesToInsert = {},\n classNames = {};\n let space = props.space,\n pseudos = null,\n hasMedia = !1,\n dynamicThemeAccess,\n pseudoGroups,\n mediaGroups,\n className = props.className || \"\",\n mediaStylesSeen = 0;\n const validStyles = staticConfig.validStyles || (staticConfig.isText || staticConfig.isInput ? stylePropsText : validStylesView);\n process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`split-styles-setup`;\n const styleState = {\n classNames,\n conf,\n props,\n styleProps,\n componentState,\n staticConfig,\n style: null,\n theme,\n usedKeys: {},\n viewProps,\n context: componentContext,\n debug,\n // resolved animation driver (respects animatedBy prop)\n animationDriver: driver\n };\n if (process.env.IS_STATIC === \"is_static\") {\n const {\n fallbackProps\n } = styleProps;\n fallbackProps && (styleState.props = new Proxy(props, {\n get(_, key, val) {\n return Reflect.has(props, key) ? Reflect.get(props, key) : Reflect.get(fallbackProps, key);\n }\n }));\n }\n process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`style-state`, process.env.NODE_ENV === \"development\" && debug === \"verbose\" && isClient && isDevTools && (console.groupCollapsed(\"\\u{1F539} getSplitStyles \\u{1F447}\"), log({\n props,\n staticConfig,\n shouldDoClasses,\n styleProps,\n rulesToInsert,\n componentState,\n styleState,\n theme: {\n ...theme\n }\n }));\n const {\n asChild\n } = props,\n {\n accept\n } = staticConfig,\n {\n noSkip,\n disableExpandShorthands,\n noExpand,\n styledContext\n } = styleProps,\n {\n webContainerType\n } = conf.settings,\n parentVariants = parentStaticConfig?.variants;\n for (const keyOg in props) {\n let keyInit = keyOg,\n valInit = props[keyInit];\n if (keyInit === \"children\") {\n viewProps[keyInit] = valInit;\n continue;\n }\n if (process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`before-prop-${keyInit}`, process.env.NODE_ENV === \"test\" && keyInit === \"jestAnimatedStyle\") continue;\n if (accept) {\n const accepted = accept[keyInit];\n if ((accepted === \"style\" || accepted === \"textStyle\") && valInit && typeof valInit == \"object\") {\n viewProps[keyInit] = getSubStyle(styleState, keyInit, valInit, styleProps.noClass);\n continue;\n }\n }\n if (disableExpandShorthands || keyInit in shorthands && (keyInit = shorthands[keyInit]), keyInit === \"className\") continue;\n if (asChild) {\n const defaults = getDefaultProps(staticConfig);\n if (defaults) {\n const defaultVal = defaults[keyOg] ?? defaults[keyInit];\n if (defaultVal !== void 0 && valInit === defaultVal) continue;\n }\n }\n if (keyInit in skipProps && !noSkip && !isHOC) {\n if (keyInit === \"group\") {\n const identifier = `t_group_${valInit}`,\n containerCSS = [\"continer\", void 0, identifier, void 0, [`.${identifier} { container-name: ${valInit}; container-type: ${webContainerType || \"inline-size\"}; }`]];\n addStyleToInsertRules(rulesToInsert, containerCSS);\n }\n continue;\n }\n let isValidStyleKeyInit = isValidStyleKey(keyInit, validStyles, accept);\n if (staticConfig.isReactNative && keyInit.startsWith(\"data-\")) {\n keyInit = keyInit.replace(\"data-\", \"\"), viewProps.dataSet ||= {}, viewProps.dataSet[keyInit] = valInit;\n continue;\n }\n if (!noExpand) {\n if (keyInit === \"disabled\" && valInit === !0 && (viewProps[\"aria-disabled\"] = !0, (elementType === \"button\" || elementType === \"form\" || elementType === \"input\" || elementType === \"select\" || elementType === \"textarea\") && (viewProps.disabled = !0), !variants?.disabled)) continue;\n if (keyInit === \"testID\") {\n isReactNative ? viewProps.testID = valInit : (viewProps[\"data-testid\"] = valInit, styleProps.isAnimated && driver?.isReactNative && (viewProps.testID = valInit));\n continue;\n }\n if (keyInit === \"id\") {\n viewProps.id = valInit;\n continue;\n }\n }\n let isVariant = !isValidStyleKeyInit && variants && keyInit in variants;\n const isStyleLikeKey = isValidStyleKeyInit || isVariant;\n let isPseudo = keyInit in validPseudoKeys,\n isMedia = !isStyleLikeKey && !isPseudo ? getMediaKey(keyInit) : !1,\n isMediaOrPseudo = !!(isMedia || isPseudo);\n isMediaOrPseudo && isMedia === \"group\" && (keyInit = normalizeGroupKey(keyInit, groupContext));\n const isStyleProp = isValidStyleKeyInit || isMediaOrPseudo || isVariant && !noExpand;\n if (isStyleProp && (asChild === \"except-style\" || asChild === \"except-style-web\")) continue;\n const shouldPassProp = !isStyleProp && isHOC ||\n // is in parent variants\n isHOC && parentVariants && keyInit in parentVariants || inlineProps?.has(keyInit),\n parentVariant = parentVariants?.[keyInit],\n isHOCShouldPassThrough = !!(isHOC && (isValidStyleKeyInit || isMediaOrPseudo || parentVariant || keyInit in skipProps)),\n shouldPassThrough = shouldPassProp || isHOCShouldPassThrough;\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(` \\u{1F511} ${keyOg}${keyInit !== keyOg ? ` (shorthand for ${keyInit})` : \"\"} ${shouldPassThrough ? \"(pass)\" : \"\"}`), log({\n isVariant,\n valInit,\n shouldPassProp\n }), isClient && log({\n variants,\n variant: variants?.[keyInit],\n isVariant,\n isHOCShouldPassThrough,\n usedKeys: {\n ...styleState.usedKeys\n },\n parentStaticConfig\n })), shouldPassThrough && (passDownProp(viewProps, keyInit, valInit, isMediaOrPseudo), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.groupEnd(), !isVariant)) continue;\n if (!noSkip && keyInit in skipProps) {\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.groupEnd();\n continue;\n }\n (isText || isInput) && valInit && (keyInit === \"fontFamily\" || keyInit === shorthands.fontFamily) && valInit in conf.fontsParsed && (styleState.fontFamily = valInit);\n const disablePropMap = isMediaOrPseudo || !isStyleLikeKey;\n if (propMapper(keyInit, valInit, styleState, disablePropMap, (key, val, originalVal) => {\n const isStyledContextProp = styledContext && key in styledContext;\n if (!isHOC && disablePropMap && !isStyledContextProp && !isMediaOrPseudo) {\n viewProps[key] = val;\n return;\n }\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(\" \\u{1F4A0} expanded\", keyInit, \"=>\", key), log(val), console.groupEnd()), val == null) return;\n if (!isHOC && isValidStyleKey(key, validStyles, accept)) {\n mergeStyle(styleState, key, val, 1, !1, originalVal);\n return;\n }\n if (isPseudo = key in validPseudoKeys, isMedia = isPseudo ? !1 : getMediaKey(key), isMediaOrPseudo = !!(isMedia || isPseudo), isVariant = variants && key in variants, isMedia === \"group\" && (key = normalizeGroupKey(key, groupContext)), (inlineProps?.has(key) || process.env.IS_STATIC === \"is_static\" && inlineWhenUnflattened?.has(key)) && (viewProps[key] = props[key] ?? val), styleProps.noExpand && isPseudo || isHOC && (isMediaOrPseudo || parentStaticConfig?.variants?.[keyInit])) {\n passDownProp(viewProps, key, val, isMediaOrPseudo), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(` - passing down prop ${key}`), log({\n val,\n after: {\n ...viewProps[key]\n }\n }), console.groupEnd());\n return;\n }\n if (isPseudo) {\n if (!val) return;\n const pseudoStyleObject = getSubStyle(styleState, key, val, styleProps.noClass && process.env.IS_STATIC !== \"is_static\");\n if ((!shouldDoClasses || process.env.IS_STATIC === \"is_static\") && (pseudos ||= {}, pseudos[key] ||= {}, process.env.IS_STATIC === \"is_static\")) {\n Object.assign(pseudos[key], pseudoStyleObject);\n return;\n }\n const descriptor = pseudoDescriptors[key],\n isEnter = key === \"enterStyle\",\n isExit = key === \"exitStyle\";\n if (!descriptor) return;\n if (shouldDoClasses && !isExit) {\n const pseudoStyles = getStyleAtomic(pseudoStyleObject, descriptor);\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\"pseudo:\", key, pseudoStyleObject, pseudoStyles);\n for (const psuedoStyle of pseudoStyles) {\n const fullKey = `${psuedoStyle[StyleObjectProperty]}${PROP_SPLIT}${descriptor.name}`;\n addStyleToInsertRules(rulesToInsert, psuedoStyle), classNames[fullKey] = psuedoStyle[StyleObjectIdentifier];\n }\n }\n if (!shouldDoClasses || isExit || isEnter) {\n const descriptorKey = descriptor.stateKey || descriptor.name;\n let isDisabled = componentState[descriptorKey] === !1;\n isExit && (isDisabled = !styleProps.isExiting), isEnter && componentState.unmounted === !1 && (isDisabled = !0), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(\"pseudo\", key, {\n isDisabled\n }), log({\n pseudoStyleObject,\n isDisabled,\n descriptor,\n componentState\n }), console.groupEnd());\n const importance = descriptor.priority,\n pseudoOriginalValues = styleOriginalValues.get(pseudoStyleObject);\n for (const pkey in pseudoStyleObject) {\n const val2 = pseudoStyleObject[pkey];\n if (isDisabled) applyDefaultStyle(pkey, styleState);else {\n const curImportance = styleState.usedKeys[pkey] || 0,\n shouldMerge = importance >= curImportance;\n shouldMerge && (process.env.IS_STATIC === \"is_static\" && (pseudos ||= {}, pseudos[key] ||= {}, pseudos[key][pkey] = val2), mergeStyle(styleState, pkey, val2, importance, !1, pseudoOriginalValues?.[pkey])), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(\" subKey\", pkey, shouldMerge, {\n importance,\n curImportance,\n pkey,\n val: val2\n });\n }\n }\n if (!isDisabled) for (const key2 in val) {\n const k = shorthands[key2] || key2;\n styleState.usedKeys[k] = Math.max(importance, styleState.usedKeys[k] || 0);\n }\n }\n return;\n }\n if (isMedia) {\n if (!val) return;\n const mediaKeyShort = key.slice(isMedia == \"theme\" ? 7 : 1);\n if (hasMedia ||= !0, (val.space || !shouldDoClasses || styleProps.willBeAnimated) && ((!hasMedia || typeof hasMedia == \"boolean\") && (hasMedia = /* @__PURE__ */new Set()), hasMedia.add(mediaKeyShort)), isMedia === \"platform\" && !isActivePlatform(key)) return;\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(` \\u{1F4FA} ${key}`, {\n key,\n val,\n props,\n shouldDoClasses,\n acceptsClassName,\n componentState,\n mediaState\n });\n const priority = mediaStylesSeen;\n if (mediaStylesSeen += 1, shouldDoClasses) {\n const mediaStyle = getSubStyle(styleState, key, val, !1),\n mediaStyles = getCSSStylesAtomic(mediaStyle);\n for (const style of mediaStyles) {\n const property = style[StyleObjectProperty],\n isSubStyle = property[0] === \"$\";\n if (isSubStyle && !isActivePlatform(property)) continue;\n const out = createMediaStyle(style, mediaKeyShort, mediaQueryConfig, isMedia, !1, priority);\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(\"\\u{1F4FA} media style:\", out);\n const subKey = isSubStyle ? style[2] : \"\",\n fullKey = `${style[StyleObjectProperty]}${subKey}${PROP_SPLIT}${mediaKeyShort}${style[StyleObjectPseudo] || \"\"}`;\n addStyleToInsertRules(rulesToInsert, out), classNames[fullKey] = out[StyleObjectIdentifier];\n }\n } else {\n let mergeMediaStyle = function (key2, val2, originalVal2) {\n styleState.style ||= {}, mergeMediaByImportance(styleState, mediaKeyShort, key2, val2, mediaState[mediaKeyShort], importanceBump, debug, originalVal2) && key2 === \"fontFamily\" && (styleState.fontFamily = mediaStyle.fontFamily);\n };\n const isThemeMedia = isMedia === \"theme\",\n isGroupMedia = isMedia === \"group\";\n if (!isThemeMedia && !(isMedia === \"platform\") && !isGroupMedia) {\n if (!mediaState[mediaKeyShort]) {\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(` \\u{1F4FA} \\u274C DISABLED ${mediaKeyShort}`);\n return;\n }\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(` \\u{1F4FA} \\u2705 ENABLED ${mediaKeyShort}`);\n }\n const mediaStyle = getSubStyle(styleState, key, val, !0);\n let importanceBump = 0;\n if (isThemeMedia) {\n if (dynamicThemeAccess = !0, !(themeName === mediaKeyShort || themeName.startsWith(mediaKeyShort))) return;\n } else if (isGroupMedia) {\n const groupInfo = getGroupPropParts(mediaKeyShort),\n groupName = groupInfo.name,\n groupState = groupContext?.[groupName]?.state,\n groupPseudoKey = groupInfo.pseudo,\n groupMediaKey = groupInfo.media;\n if (!groupState) {\n process.env.NODE_ENV === \"development\" && debug && log(`No parent with group prop, skipping styles: ${groupName}`), pseudoGroups ||= /* @__PURE__ */new Set();\n return;\n }\n const componentGroupState = componentState.group?.[groupName];\n if (groupMediaKey) {\n mediaGroups ||= /* @__PURE__ */new Set(), mediaGroups.add(groupMediaKey);\n const mediaState2 = componentGroupState?.media;\n let isActive = mediaState2?.[groupMediaKey];\n if (!mediaState2 && groupState.layout && (isActive = mediaKeyMatch(groupMediaKey, groupState.layout)), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(` \\u{1F3D8}\\uFE0F GROUP media ${groupMediaKey} active? ${isActive}`, {\n ...mediaState2,\n usedKeys: {\n ...styleState.usedKeys\n }\n }), !isActive) {\n for (const pkey in mediaStyle) applyDefaultStyle(pkey, styleState);\n return;\n }\n importanceBump = 2;\n }\n if (groupPseudoKey) {\n pseudoGroups ||= /* @__PURE__ */new Set(), pseudoGroups.add(groupName);\n const componentGroupPseudoState = (componentGroupState ||\n // fallback to context initially\n groupContext?.[groupName].state)?.pseudo,\n isActive = componentGroupPseudoState?.[groupPseudoKey],\n priority2 = pseudoPriorities[groupPseudoKey];\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(` \\u{1F3D8}\\uFE0F GROUP pseudo ${groupMediaKey} active? ${isActive}, priority ${priority2}`, {\n componentGroupPseudoState: {\n ...componentGroupPseudoState\n },\n usedKeys: {\n ...styleState.usedKeys\n }\n }), !isActive) {\n for (const pkey in mediaStyle) applyDefaultStyle(pkey, styleState);\n return;\n }\n importanceBump = priority2;\n }\n }\n const mediaOriginalValues = styleOriginalValues.get(mediaStyle);\n isGroupMedia && mediaStyle.transition && (styleState.pseudoTransitions ||= {}, styleState.pseudoTransitions[`$${mediaKeyShort}`] = mediaStyle.transition);\n for (const subKey in mediaStyle) if (subKey !== \"space\") if (subKey[0] === \"$\") {\n if (!isActivePlatform(subKey) || !isActiveTheme(subKey, themeName)) continue;\n const subOriginalValues = styleOriginalValues.get(mediaStyle[subKey]);\n for (const subSubKey in mediaStyle[subKey]) mergeMediaStyle(subSubKey, mediaStyle[subKey][subSubKey], subOriginalValues?.[subSubKey]);\n } else mergeMediaStyle(subKey, mediaStyle[subKey], mediaOriginalValues?.[subKey]);\n }\n return;\n }\n if (!isVariant) {\n if (isStyledContextProp) return;\n viewProps[key] = val;\n }\n }), process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n try {\n log(\" \\u2714\\uFE0F expand complete\", keyInit), log(\"style\", {\n ...styleState.style\n }), log(\"viewProps\", {\n ...viewProps\n }), log(\"transforms\", {\n ...styleState.flatTransforms\n });\n } catch {}\n console.groupEnd();\n }\n }\n if (process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`split-styles-propsend`, !(styleProps.noNormalize === !1) && (styleState.style && (fixStyles(styleState.style), !styleProps.noExpand && !styleProps.noMergeStyle && isWeb && (!isReactNative || driver?.inputStyle !== \"css\") && styleToCSS(styleState.style)), styleState.flatTransforms && (styleState.style ||= {}, mergeFlatTransforms(styleState.style, styleState.flatTransforms)), parentSplitStyles)) {\n if (shouldDoClasses) for (const key in parentSplitStyles.classNames) {\n const val = parentSplitStyles.classNames[key];\n styleState.style && key in styleState.style || key in classNames || (classNames[key] = val);\n }\n if (!shouldDoClasses) for (const key in parentSplitStyles.style) key in classNames || styleState.style && key in styleState.style || (styleState.style ||= {}, styleState.style[key] = parentSplitStyles.style[key]);\n }\n if (!styleProps.noNormalize && !staticConfig.isReactNative && !staticConfig.isHOC && (!styleProps.isAnimated || driver?.inputStyle === \"css\") && Array.isArray(styleState.style?.transform) && (styleState.style.transform = transformsToString(styleState.style.transform)), !styleProps.noMergeStyle && styleState.style && shouldDoClasses) {\n let retainedStyles,\n shouldRetain = !1;\n if (!styleState.style.$$css) {\n const atomic = getCSSStylesAtomic(styleState.style);\n for (const atomicStyle of atomic) {\n const [key, value, identifier] = atomicStyle,\n isAnimatedAndTransitionOnly = styleProps.isAnimated && styleProps.noClass && props.animateOnly?.includes(key),\n nonAnimatedTransitionOnly = !isAnimatedAndTransitionOnly && !styleProps.isAnimated && isClient && driver?.outputStyle === \"css\" && props.animateOnly?.includes(key);\n isAnimatedAndTransitionOnly ? (retainedStyles ||= {}, retainedStyles[key] = styleState.style[key]) : nonAnimatedTransitionOnly ? (retainedStyles ||= {}, retainedStyles[key] = value, shouldRetain = !0) : (addStyleToInsertRules(rulesToInsert, atomicStyle), classNames[key] = identifier);\n }\n process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && (console.groupCollapsed(\"\\u{1F539} getSplitStyles final style object\"), console.info(styleState.style), console.info(\"retainedStyles\", retainedStyles), console.groupEnd()), (shouldRetain || process.env.IS_STATIC !== \"is_static\") && (styleState.style = retainedStyles || {});\n }\n }\n if (!styleProps.noMergeStyle && styleState.style && !shouldDoClasses && styleProps.isAnimated && !driver?.isReactNative && !styleState.style.$$css) {\n const toConvert = {};\n let hasProps = !1;\n const animateOnly = props.animateOnly;\n for (const key in styleState.style) key in nonAnimatableStyleProps && (toConvert[key] = styleState.style[key], delete styleState.style[key], hasProps = !0);\n if (hasProps) {\n const atomic = getCSSStylesAtomic(toConvert);\n for (const atomicStyle of atomic) addStyleToInsertRules(rulesToInsert, atomicStyle), classNames[atomicStyle[StyleObjectProperty]] = atomicStyle[StyleObjectIdentifier];\n }\n }\n const styleProp = props.style;\n if (!styleProps.noMergeStyle && styleProp) if (isHOC) viewProps.style = normalizeStyle(styleProp);else {\n const isArray = Array.isArray(styleProp),\n len = isArray ? styleProp.length : 1;\n for (let i = 0; i < len; i++) {\n const style = isArray ? styleProp[i] : styleProp;\n style && (style.$$css ? Object.assign(styleState.classNames, style) : (styleState.style ||= {}, Object.assign(styleState.style, normalizeStyle(style))));\n }\n }\n process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`split-styles-pre-result`;\n const result = {\n hasMedia,\n fontFamily: styleState.fontFamily,\n viewProps,\n style: styleState.style,\n pseudos,\n classNames,\n rulesToInsert,\n dynamicThemeAccess,\n pseudoGroups,\n mediaGroups,\n overriddenContextProps: styleState.overriddenContextProps,\n pseudoTransitions: styleState.pseudoTransitions\n },\n asChildExceptStyleLike = asChild === \"except-style\" || asChild === \"except-style-web\";\n if (!styleProps.noMergeStyle && !asChildExceptStyleLike) {\n const style = styleState.style;\n {\n let fontFamily = isText || isInput ? styleState.fontFamily : null;\n fontFamily && fontFamily[0] === \"$\" && (fontFamily = fontFamily.slice(1));\n const fontFamilyClassName = fontFamily ? `font_${fontFamily}` : \"\",\n groupClassName = props.group ? `t_group_${props.group}` : \"\",\n componentNameFinal = props.componentName || staticConfig.componentName,\n componentNameClassName = props.asChild || !componentNameFinal || componentNameFinal === \"Text\" ? \"\" : `is_${componentNameFinal}`;\n let classList = [];\n componentNameClassName && classList.push(componentNameClassName), isText ? classList.push(\"is_Text\") : classList.push(\"is_View\"), fontFamilyClassName && classList.push(fontFamilyClassName), classNames && classList.push(Object.values(classNames).join(\" \")), groupClassName && classList.push(groupClassName), props.className && classList.push(props.className);\n const finalClassName = classList.join(\" \"),\n needsCssStyles = isReactNative || styleProps.isAnimated && driver?.isReactNative;\n if (styleProps.isAnimated && driver?.inputStyle === \"css\") viewProps.className = finalClassName, style && (viewProps.style = style);else if (needsCssStyles) {\n let cnStyles;\n for (const name of finalClassName.split(\" \")) cnStyles ||= {\n $$css: !0\n }, cnStyles[name] = name;\n viewProps.style = cnStyles ? [...(Array.isArray(style) ? style : [style]), cnStyles] : [style];\n } else finalClassName && (viewProps.className = finalClassName), style && (viewProps.style = style);\n }\n }\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\" && isClient && isDevTools) {\n console.groupEnd(), console.groupCollapsed(\"\\u{1F539} getSplitStyles ===>\");\n try {\n const logs = {\n ...result,\n className,\n componentState,\n viewProps,\n rulesToInsert,\n parentSplitStyles\n };\n for (const key in logs) log(key, logs[key]);\n } catch {}\n console.groupEnd();\n }\n return process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`split-styles-done`, result;\n};\nfunction mergeFlatTransforms(target, flatTransforms) {\n Object.entries(flatTransforms).sort(([a], [b]) => sortString(a, b)).forEach(([key, val]) => {\n mergeTransform(target, key, val, !0);\n });\n}\nfunction mergeStyle(styleState, key, val, importance, disableNormalize = !1, originalVal) {\n const {\n viewProps,\n styleProps,\n staticConfig,\n usedKeys\n } = styleState;\n if ((usedKeys[key] || 0) > importance) return;\n const contextProps = staticConfig.context?.props || staticConfig.parentStaticConfig?.context?.props;\n if (contextProps && key in contextProps) {\n styleState.overriddenContextProps ||= {};\n const originalFromState = styleState.originalContextPropValues?.[key];\n styleState.overriddenContextProps[key] = originalVal ?? originalFromState ?? val;\n }\n if (key in stylePropsTransform) styleState.flatTransforms ||= {}, usedKeys[key] = importance, styleState.flatTransforms[key] = val;else {\n const out = isWeb && !disableNormalize && !styleProps.noNormalize ? normalizeValueWithProperty(val, key) : val;\n // accept is for props not styles\n staticConfig.accept && key in staticConfig.accept ? viewProps[key] = out : (styleState.style ||= {}, usedKeys[key] = importance, styleState.style[key] =\n // if you dont do this you'll be passing props.transform arrays directly here and then mutating them\n // if theres any flatTransforms later, causing issues (mutating props is bad, in strict mode styles get borked)\n key === \"transform\" && Array.isArray(out) ? [...out] : out);\n }\n}\nconst getSubStyle = (styleState, subKey, styleIn, avoidMergeTransform) => {\n const {\n staticConfig,\n conf: conf2,\n styleProps\n } = styleState,\n styleOut = {};\n let originalValues;\n for (let key in styleIn) {\n const val = styleIn[key];\n if (key = conf2.shorthands[key] || key, key === \"transition\") {\n styleState.pseudoTransitions ||= {}, styleState.pseudoTransitions[subKey] = val;\n const driver = styleState.animationDriver;\n if (driver?.outputStyle === \"css\") {\n const animationConfig = driver.animations?.[val];\n if (animationConfig) {\n const important = subKey[0] === \"$\" ? \" !important\" : \"\";\n styleOut.transition = `all ${animationConfig}${important}`;\n }\n }\n continue;\n }\n !staticConfig.isHOC && key in skipProps && !styleProps.noSkip || propMapper(key, val, styleState, !1, (skey, sval, originalVal) => {\n originalVal !== void 0 && (originalValues ||= {}, originalValues[skey] = originalVal), skey in validPseudoKeys && (sval = getSubStyle(styleState, skey, sval, avoidMergeTransform)), !avoidMergeTransform && skey in stylePropsTransform ? mergeTransform(styleOut, skey, sval) : styleOut[skey] = styleProps.noNormalize ? sval : normalizeValueWithProperty(sval, key);\n });\n }\n if (!avoidMergeTransform) {\n const parentTransform = styleState.style?.transform,\n flatTransforms = styleState.flatTransforms,\n styleOutTransform = styleOut.transform;\n if (Array.isArray(styleOutTransform) && styleOutTransform.length) {\n const len = styleOutTransform.length;\n if (Array.isArray(parentTransform)) {\n const merged = [];\n outer: for (let i = 0; i < parentTransform.length; i++) {\n const pt = parentTransform[i];\n for (const pk in pt) {\n for (let j = 0; j < len; j++) for (const sk in styleOutTransform[j]) {\n if (pk === sk) continue outer;\n break;\n }\n merged.push(pt);\n break;\n }\n }\n for (let i = 0; i < len; i++) merged.push(styleOutTransform[i]);\n styleOut.transform = merged;\n }\n if (flatTransforms) outer: for (const fk in flatTransforms) {\n const ck = fk === \"x\" ? \"translateX\" : fk === \"y\" ? \"translateY\" : fk;\n for (let j = 0; j < len; j++) for (const sk in styleOutTransform[j]) {\n if (ck === sk) continue outer;\n break;\n }\n mergeTransform(styleOut, fk, flatTransforms[fk]);\n }\n } else flatTransforms && mergeFlatTransforms(styleOut, flatTransforms);\n }\n return styleProps.noNormalize || fixStyles(styleOut), originalValues && styleOriginalValues.set(styleOut, originalValues), styleOut;\n },\n useInsertEffectCompat = isWeb ? React.useInsertionEffect || useIsomorphicLayoutEffect : () => {},\n useSplitStyles = (a, b, c, d, e, f, g, h, i, j, k, l, m) => {\n \"use no memo\";\n\n const res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m);\n return useInsertEffectCompat(() => {\n res && insertStyleRules(res.rulesToInsert);\n }, [res?.rulesToInsert]), res;\n };\nfunction addStyleToInsertRules(rulesToInsert, styleObject) {\n {\n const identifier = styleObject[StyleObjectIdentifier];\n shouldInsertStyleRules(identifier) && (updateRules(identifier, styleObject[StyleObjectRules]), rulesToInsert[identifier] = styleObject);\n }\n}\nconst defaultColor = process.env.TAMAGUI_DEFAULT_COLOR || \"rgba(0,0,0,0)\",\n animatableDefaults = {\n ...Object.fromEntries(Object.entries(tokenCategories.color).map(([k, v]) => [k, defaultColor])),\n opacity: 1,\n scale: 1,\n scaleX: 1,\n scaleY: 1,\n rotate: \"0deg\",\n rotateX: \"0deg\",\n rotateY: \"0deg\",\n rotateZ: \"0deg\",\n skewX: \"0deg\",\n skewY: \"0deg\",\n x: 0,\n y: 0,\n borderRadius: 0\n },\n mergeTransform = (obj, key, val, backwards = !1) => {\n typeof obj.transform != \"string\" && (obj.transform ||= [], obj.transform[backwards ? \"unshift\" : \"push\"]({\n [mapTransformKeys[key] || key]: val\n }));\n },\n mapTransformKeys = {\n x: \"translateX\",\n y: \"translateY\"\n };\nfunction passDownProp(viewProps, key, val, shouldMergeObject = !1) {\n if (shouldMergeObject) {\n const next = {\n ...viewProps[key],\n ...val\n };\n delete viewProps[key], viewProps[key] = next;\n } else viewProps[key] = val;\n}\nfunction mergeMediaByImportance(styleState, mediaKey, key, value, isSizeMedia, importanceBump, debugProp, originalVal) {\n const usedKeys = styleState.usedKeys;\n let importance = getMediaImportanceIfMoreImportant(mediaKey, key, styleState, isSizeMedia);\n if (importanceBump && (importance = (importance || 0) + importanceBump), process.env.NODE_ENV === \"development\" && debugProp === \"verbose\" && log(`mergeMediaByImportance ${key} importance usedKey ${usedKeys[key]} next ${importance}`), importance === null) return !1;\n if (key in pseudoDescriptors) {\n const descriptor = pseudoDescriptors[key],\n descriptorKey = descriptor.stateKey || descriptor.name;\n if (styleState.componentState[descriptorKey] === !1) return !1;\n const pseudoOriginalValues = styleOriginalValues.get(value);\n for (const subKey in value) mergeStyle(styleState, subKey, value[subKey], importance, !1, pseudoOriginalValues?.[subKey]);\n } else mergeStyle(styleState, key, value, importance, !1, originalVal);\n return !0;\n}\nfunction normalizeStyle(style) {\n const out = {};\n for (const key in style) {\n const val = style[key];\n key in stylePropsTransform ? mergeTransform(out, key, val) : out[key] = normalizeValueWithProperty(val, key);\n }\n return isWeb && Array.isArray(out.transform) && (out.transform = transformsToString(out.transform)), fixStyles(out), out;\n}\nfunction applyDefaultStyle(pkey, styleState) {\n const defaultValues = animatableDefaults[pkey];\n defaultValues != null && !(pkey in styleState.usedKeys) && (!styleState.style || !(pkey in styleState.style)) && mergeStyle(styleState, pkey, defaultValues, 1);\n}\nexport { PROP_SPLIT, getSplitStyles, getSubStyle, styleOriginalValues, useSplitStyles };\n//# sourceMappingURL=getSplitStyles.mjs.map\n","import { composeRefs } from \"@tamagui/compose-refs\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nconst isEventHandler = /^on[A-Z]/;\nfunction mergeSlotStyleProps(base, overlay) {\n for (const key in overlay) {\n const baseVal = base[key],\n overlayVal = overlay[key];\n overlayVal !== void 0 && (key === \"style\" ? base.style = baseVal && overlayVal ? {\n ...baseVal,\n ...overlayVal\n } : overlayVal || baseVal : key === \"className\" ? base.className = baseVal && overlayVal ? `${baseVal} ${overlayVal}` : overlayVal || baseVal : key === \"ref\" ? base.ref = baseVal && overlayVal ? composeRefs(baseVal, overlayVal) : overlayVal || baseVal : isEventHandler.test(key) && typeof baseVal == \"function\" && typeof overlayVal == \"function\" ? base[key] = composeEventHandlers(baseVal, overlayVal) : base[key] = overlayVal);\n }\n return base;\n}\nexport { mergeSlotStyleProps };\n//# sourceMappingURL=mergeSlotStyleProps.mjs.map\n","import { mergeSlotStyleProps } from \"./mergeSlotStyleProps.mjs\";\nfunction mergeRenderElementProps(elementProps, viewProps, children) {\n const merged = mergeSlotStyleProps({\n ...elementProps\n }, viewProps);\n return merged.children = children, merged;\n}\nexport { mergeRenderElementProps };\n//# sourceMappingURL=mergeRenderElementProps.mjs.map\n","function resolveEffectivePseudoTransition(prev, next, pseudoTransitions, baseTransition) {\n if (!pseudoTransitions) return baseTransition;\n const prevState = prev || {\n hover: !1,\n press: !1,\n focus: !1,\n groups: {}\n };\n if (next.press && !prevState.press && pseudoTransitions.pressStyle) return pseudoTransitions.pressStyle;\n if (next.hover && !prevState.hover && pseudoTransitions.hoverStyle) return pseudoTransitions.hoverStyle;\n if (next.focus && !prevState.focus && pseudoTransitions.focusStyle) return pseudoTransitions.focusStyle;\n for (const key in pseudoTransitions) if (key.startsWith(\"$group-\")) {\n const match = key.match(/^\\$group-(.+)-(hover|press|focus)$/);\n if (!match) continue;\n const groupName = match[1],\n pseudoType = match[2],\n nextGroupPseudo = next.group?.[groupName]?.pseudo,\n prevGroupPseudo = prevState.groups?.[groupName];\n if (nextGroupPseudo?.[pseudoType] && !prevGroupPseudo?.[pseudoType]) return pseudoTransitions[key];\n }\n return baseTransition;\n}\nfunction extractPseudoState(state) {\n const groups = {};\n if (state.group) for (const groupName in state.group) {\n const pseudo = state.group[groupName]?.pseudo;\n pseudo && (groups[groupName] = {\n hover: pseudo.hover,\n press: pseudo.press,\n focus: pseudo.focus\n });\n }\n return {\n hover: state.hover,\n press: state.press,\n focus: state.focus,\n groups\n };\n}\nexport { extractPseudoState, resolveEffectivePseudoTransition };\n//# sourceMappingURL=pseudoTransitions.mjs.map\n","const hooks = {};\nfunction setupHooks(next) {\n Object.assign(hooks, next);\n}\nexport { hooks, setupHooks };\n//# sourceMappingURL=setupHooks.mjs.map\n","import { hooks } from \"../setupHooks.mjs\";\nconst setElementProps = node => {\n hooks.setElementProps?.(node);\n};\nexport { setElementProps };\n//# sourceMappingURL=setElementProps.mjs.map\n","import { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { getMediaState } from \"../hooks/useMedia.mjs\";\nconst subscribeToContextGroup = props => {\n const {\n pseudoGroups,\n mediaGroups,\n groupContext\n } = props;\n if (pseudoGroups || mediaGroups) {\n process.env.NODE_ENV === \"development\" && !groupContext && console.debug(\"No context group found\");\n const disposables = /* @__PURE__ */new Set();\n if (pseudoGroups) for (const name of pseudoGroups) disposables.add(createGroupListener(name, props));\n if (mediaGroups) for (const name of mediaGroups) disposables.add(createGroupListener(name, props));\n return () => {\n disposables.forEach(d => d());\n };\n }\n },\n createGroupListener = (name, {\n setStateShallow,\n pseudoGroups,\n mediaGroups,\n groupContext\n }) => {\n const parent = groupContext?.[name];\n if (!parent) return () => {};\n const dispose = parent.subscribe(({\n layout,\n pseudo\n }) => {\n setStateShallow(prev => {\n let didChange = !1;\n const group = prev.group?.[name] || {\n pseudo: {},\n media: {}\n };\n if (pseudo && pseudoGroups?.has(name)) group.pseudo ||= {}, mergeIfNotShallowEqual(group.pseudo, pseudo) !== group.pseudo && (Object.assign(group.pseudo, pseudo), didChange = !0);else if (layout && mediaGroups) {\n group.media ||= {};\n const mediaState = getMediaState(mediaGroups, layout),\n next = mergeIfNotShallowEqual(group.media, mediaState);\n next !== group.media && (Object.assign(group.media, next), didChange = !0);\n }\n return didChange ? {\n group: {\n ...prev.group,\n [name]: group\n }\n } : prev;\n });\n });\n return () => {\n dispose(), setStateShallow({\n group: {}\n });\n };\n };\nexport { subscribeToContextGroup };\n//# sourceMappingURL=subscribeToContextGroup.mjs.map\n","import { createContext, useContext } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst ClientOnlyContext = createContext(!1),\n ClientOnly = ({\n children,\n enabled\n }) => {\n const existingValue = useContext(ClientOnlyContext);\n return /* @__PURE__ */jsx(ClientOnlyContext.Provider, {\n value: enabled ?? existingValue,\n children\n });\n };\nexport { ClientOnly, ClientOnlyContext };\n//# sourceMappingURL=ClientOnly.mjs.map\n","import * as React from \"react\";\nimport { ClientOnlyContext } from \"./ClientOnly.mjs\";\nimport { ClientOnly, ClientOnlyContext as ClientOnlyContext2 } from \"./ClientOnly.mjs\";\nconst useIsClientOnly = () => React.useContext(ClientOnlyContext);\nfunction useDidFinishSSR() {\n return React.useContext(ClientOnlyContext) ? !0 : React.useSyncExternalStore(subscribe, () => !0, () => !1);\n}\nconst subscribe = () => () => {};\nfunction useClientValue(value) {\n return useDidFinishSSR() ? typeof value == \"function\" ? value() : value : void 0;\n}\nexport { ClientOnly, ClientOnlyContext2 as ClientOnlyContext, useClientValue, useDidFinishSSR, useIsClientOnly };\n//# sourceMappingURL=index.mjs.map\n","import { useDidFinishSSR } from \"@tamagui/use-did-finish-ssr\";\nimport { useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { getThemeState } from \"../hooks/useThemeState.mjs\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nlet node;\nfunction ThemeDebug({\n themeState,\n themeProps,\n children\n}) {\n if (process.env.NODE_ENV === \"development\") {\n const isHydrated = useDidFinishSSR();\n if (process.env.NODE_ENV === \"development\" && typeof document < \"u\" && (node || (node = document.createElement(\"div\"), node.style.height = \"200px\", node.style.overflowY = \"scroll\", node.style.position = \"fixed\", node.style.zIndex = 1e7, node.style.bottom = \"30px\", node.style.left = \"30px\", node.style.right = \"30px\", node.style.display = \"flex\", node.style.border = \"1px solid #888\", node.style.flexDirection = \"row\", node.style.background = \"var(--background)\")), useEffect(() => {\n document.body.appendChild(node);\n }, []), themeProps[\"disable-child-theme\"] || !isHydrated) return children;\n const parentState = themeState.parentId ? getThemeState(themeState.parentId) : null;\n return /* @__PURE__ */jsxs(Fragment, {\n children: [createPortal(/* @__PURE__ */jsxs(\"code\", {\n style: {\n whiteSpace: \"pre\",\n maxWidth: 250,\n overflow: \"auto\",\n padding: 5\n },\n children: [\"<Theme \", themeState.id, \" />\\xA0\", JSON.stringify({\n name: themeState.name,\n color1: themeState.theme.color1.val,\n parentId: themeState.parentId,\n // inverses: themeState.inverses,\n isNew: themeState.isNew,\n themeProps: {\n name: themeProps.name,\n componentName: themeProps.componentName,\n reset: themeProps.reset\n },\n parentState: {\n name: parentState?.name,\n isNew: parentState?.isNew\n }\n }, null, 2)]\n }), node), /* @__PURE__ */jsx(\"div\", {\n style: {\n color: \"red\"\n },\n children: themeState.id\n }), children]\n });\n }\n return children;\n}\nThemeDebug.displayName = \"ThemeDebug\";\nexport { ThemeDebug };\n//# sourceMappingURL=ThemeDebug.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport React, { Children, cloneElement, forwardRef, isValidElement, useRef } from \"react\";\nimport { variableToString } from \"../createVariable.mjs\";\nimport { useThemeWithState } from \"../hooks/useTheme.mjs\";\nimport { getThemeState, hasThemeUpdatingProps, ThemeStateContext } from \"../hooks/useThemeState.mjs\";\nimport { ThemeDebug } from \"./ThemeDebug.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nconst Theme = forwardRef(function (props, ref) {\n \"use no memo\";\n\n if (props.disable) return props.children;\n const {\n passThrough\n } = props,\n isRoot = !!props._isRoot,\n [_, themeState] = useThemeWithState(props, isRoot);\n let finalChildren = props[\"disable-child-theme\"] ? Children.map(props.children, child => passThrough || !isValidElement(child) ? child : cloneElement(child, {\n \"data-disable-theme\": !0\n })) : props.children;\n if (ref) try {\n React.Children.only(finalChildren), finalChildren = cloneElement(finalChildren, {\n ref\n });\n } catch {}\n const stateRef = useRef({\n hasEverThemed: !1\n });\n return getThemedChildren(themeState, finalChildren, props, isRoot, stateRef, passThrough);\n});\nTheme.avoidForwardRef = !0;\nfunction getThemedChildren(themeState, children, props, isRoot = !1, stateRef, passThrough = !1) {\n const {\n shallow,\n forceClassName\n } = props,\n state = stateRef.current;\n let shouldRenderChildrenWithTheme = state.hasEverThemed || themeState.isNew || isRoot || hasThemeUpdatingProps(props);\n if (process.env.NODE_ENV === \"development\" && props.debug === \"visualize\" && (children = /* @__PURE__ */jsx(ThemeDebug, {\n themeState,\n themeProps: props,\n children\n })), !shouldRenderChildrenWithTheme) return children;\n children = /* @__PURE__ */jsx(ThemeStateContext.Provider, {\n value: themeState.id,\n children\n });\n const {\n isInverse,\n name\n } = themeState,\n requiresExtraWrapper = isInverse || forceClassName;\n if (state.hasEverThemed || (state.hasEverThemed = !0), (requiresExtraWrapper ||\n // if the theme is exactly dark or light, its likely to change between dark/light\n // and that would require wrapping which would re-parent, so to avoid re-parenting do this\n themeState.name === \"dark\" || themeState.name === \"light\") && (state.hasEverThemed = \"wrapped\"), shallow && themeState.parentId) {\n const parentState = getThemeState(themeState.isNew ? themeState.id : themeState.parentId);\n if (!parentState) throw new Error(\"\\u203C\\uFE0F010\");\n children = Children.toArray(children).map(child => isValidElement(child) ? passThrough ? child : cloneElement(child, void 0, /* @__PURE__ */jsx(Theme, {\n name: parentState.name,\n children: child.props.children\n })) : child);\n }\n if (process.env.NODE_ENV === \"development\" && !passThrough && props.debug && console.warn(\" getThemedChildren\", {\n requiresExtraWrapper,\n forceClassName,\n themeState,\n state,\n themeSpanProps: getThemeClassNameAndColor(themeState, props, isRoot)\n }), forceClassName === !1) return children;\n if (isWeb) {\n const baseStyle = props.contain ? inertContainedStyle : inertStyle,\n {\n className = \"\",\n color\n } = passThrough ? {} : getThemeClassNameAndColor(themeState, props, isRoot);\n if (children = /* @__PURE__ */jsx(\"span\", {\n className: `${className} is_Theme`,\n style: passThrough ? baseStyle : {\n color,\n ...baseStyle\n },\n children\n }), state.hasEverThemed === \"wrapped\") {\n const className2 = requiresExtraWrapper ? `${name.startsWith(\"light\") ? \"t_light\" : name.startsWith(\"dark\") ? \"t_dark\" : \"\"} _dsp_contents` : \"_dsp_contents\";\n children = /* @__PURE__ */jsx(\"span\", {\n className: className2,\n children\n });\n }\n return children;\n }\n return children;\n}\nconst inertStyle = {\n display: \"contents\"\n },\n inertContainedStyle = {\n display: \"contents\",\n contain: \"strict\"\n },\n empty = {\n className: \"\",\n color: void 0\n };\nfunction getThemeClassNameAndColor(themeState, props, isRoot = !1) {\n if (!themeState.isNew && !props.forceClassName) return empty;\n const themeColor = themeState?.theme && themeState.isNew ? variableToString(themeState.theme.color) : \"\",\n style = themeColor ? {\n color: themeColor\n } : void 0,\n themeClassName = themeState.name.replace(schemePrefix, \"\"),\n themeNameParts = themeClassName.split(\"_\");\n let themeClasses = `t_${themeClassName}`;\n if (themeNameParts.length > 1) {\n const hierarchyClasses = [];\n for (let i = 1; i <= themeNameParts.length; i++) hierarchyClasses.push(`t_${themeNameParts.slice(0, i).join(\"_\")}`);\n themeClasses = hierarchyClasses.join(\" \");\n }\n const className = `${isRoot ? \"\" : \"t_sub_theme\"} ${themeClasses}`;\n return {\n color: themeColor,\n className\n };\n}\nconst schemePrefix = /^(dark|light)_/;\nexport { Theme, getThemedChildren };\n//# sourceMappingURL=Theme.mjs.map\n","import React from \"react\";\nimport { Theme } from \"../views/Theme.mjs\";\nimport { getDefaultProps } from \"./getDefaultProps.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction themeable(Component, staticConfig, optimize = !1) {\n const withTheme = React.forwardRef(function (props, ref) {\n \"use no memo\";\n\n const userDefaults = getDefaultProps(staticConfig, props.componentName),\n defaultTheme = userDefaults?.theme,\n defaultResetTheme = userDefaults?.themeReset,\n {\n theme,\n componentName,\n themeReset,\n ...rest\n } = props;\n let overriddenContextProps;\n const context = staticConfig?.context;\n if (context) for (const key in context.props) {\n const val = props[key];\n val !== void 0 && (overriddenContextProps = overriddenContextProps || {}, overriddenContextProps[key] = val);\n }\n const element =\n // @ts-expect-error its ok\n /* @__PURE__ */\n jsx(Component, {\n ref,\n ...rest,\n \"data-disable-theme\": !0\n });\n let filteredProps = null;\n const compName = componentName || staticConfig?.componentName;\n if (compName && (filteredProps = filteredProps || {}, filteredProps.componentName = compName), \"debug\" in props && (filteredProps = filteredProps || {}, filteredProps.debug = props.debug), (\"theme\" in props || defaultTheme) && (filteredProps = filteredProps || {}, filteredProps.name = \"theme\" in props ? props.theme : defaultTheme), (\"themeReset\" in props || defaultResetTheme) && (filteredProps = filteredProps || {}, filteredProps.reset = \"themeReset\" in props ? themeReset : defaultResetTheme), optimize && !filteredProps) return element;\n let contents = /* @__PURE__ */jsx(Theme, {\n \"disable-child-theme\": !0,\n ...filteredProps,\n children: element\n });\n if (context) {\n const Provider = context.Provider,\n contextValue = React.useContext(context);\n contents = /* @__PURE__ */jsx(Provider, {\n ...contextValue,\n ...overriddenContextProps,\n children: contents\n });\n }\n return contents;\n });\n return withTheme.displayName = `Themed(${Component?.displayName || Component?.name || \"Anonymous\"})`, withTheme;\n}\nexport { themeable };\n//# sourceMappingURL=themeable.mjs.map\n","import { StyleObjectIdentifier, StyleObjectRules } from \"@tamagui/helpers\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nfunction getStyleTags(styles) {\n if (styles.length) return /* @__PURE__ */jsx(Fragment, {\n children: styles.map(styleObject => {\n const identifier = styleObject[StyleObjectIdentifier];\n return /* @__PURE__ */jsx(\"style\", {\n href: `t_${identifier}`,\n precedence: \"default\",\n suppressHydrationWarning: !0,\n children: styleObject[StyleObjectRules].join(`\n`)\n }, identifier);\n })\n });\n}\nexport { getStyleTags };\n//# sourceMappingURL=wrapStyleTags.mjs.map\n","import { isServer, isWeb } from \"@tamagui/constants\";\nimport { useCreateShallowSetState } from \"@tamagui/is-equal-shallow\";\nimport { useDidFinishSSR, useIsClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport { useRef, useState } from \"react\";\nimport { getSetting } from \"../config.mjs\";\nimport { defaultComponentState, defaultComponentStateMounted, defaultComponentStateShouldEnter } from \"../defaultComponentState.mjs\";\nimport { isObj } from \"../helpers/isObj.mjs\";\nimport { log } from \"../helpers/log.mjs\";\nconst useComponentState = (props, animationDriver, staticConfig, config) => {\n \"use no memo\";\n\n const isHydrated = useDidFinishSSR(),\n needsHydration = !useIsClientOnly(),\n useAnimations = animationDriver?.isStub ? void 0 : animationDriver?.useAnimations,\n {\n isHOC\n } = staticConfig,\n stateRef = useRef(\n // performance: avoid creating object every render\n void 0);\n stateRef.current || (stateRef.current = {\n startedUnhydrated: needsHydration && !isHydrated\n });\n const hasAnimationProp = !!(!isHOC && \"transition\" in props || props.style && hasAnimatedStyleValue(props.style)),\n inputStyle = animationDriver?.inputStyle ?? \"css\",\n outputStyle = animationDriver?.outputStyle ?? \"css\",\n curStateRef = stateRef.current;\n !needsHydration && hasAnimationProp && (curStateRef.hasAnimated = !0);\n const willBeAnimatedClient = !!(!!(hasAnimationProp && !isHOC && useAnimations) || curStateRef.hasAnimated),\n willBeAnimated = !isServer && willBeAnimatedClient;\n willBeAnimated && !curStateRef.hasAnimated && (curStateRef.hasAnimated = !0);\n const {\n disableClassName\n } = props,\n presence = !isHOC && willBeAnimated && props.animatePresence !== !1 && animationDriver?.usePresence?.() || null,\n presenceState = presence?.[2],\n isExiting = presenceState?.isPresent === !1,\n isEntering = presenceState?.isPresent === !0 && presenceState.initial !== !1,\n hasEnterStyle = !!props.enterStyle,\n hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && (animationDriver?.isReactNative || inputStyle !== \"css\"),\n initialState = !isHOC && (hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate ||\n // disableClassName doesnt work server side, only client, so needs hydrate\n // this is just for a better ux, supports css variables for light/dark, media queries, etc\n disableClassName) ?\n // on the very first render we switch all spring animation drivers to css rendering\n // this is because we need to use css variables, which they don't support to do proper SSR\n // without flickers of the wrong colors.\n // but once we do that initial hydration and we are in client side rendering mode,\n // we can avoid the extra re-render on mount\n hasEnterStyle || isEntering ? defaultComponentStateShouldEnter : defaultComponentState : defaultComponentStateMounted,\n disabled = isDisabled(props);\n disabled != null && (initialState.disabled = disabled);\n const states = useState(initialState),\n state = props.forceStyle ? {\n ...states[0],\n [props.forceStyle]: !0\n } : states[0],\n setState = states[1];\n let isAnimated = willBeAnimated;\n isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated && (isAnimated = !1, curStateRef.willHydrate = !0), disabled !== state.disabled && (disabled && Object.assign(state, defaultComponentStateMounted), state.disabled = disabled, setState(_ => ({\n ...state\n })));\n const groupName = props.group,\n setStateShallow = useCreateShallowSetState(setState, props.debug);\n if (presenceState && isAnimated && isHydrated && staticConfig.variants) {\n process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && console.warn(`has presenceState ${JSON.stringify(presenceState)}`);\n const {\n enterVariant,\n exitVariant,\n enterExitVariant,\n custom\n } = presenceState;\n isObj(custom) && Object.assign(props, custom);\n const exv = exitVariant ?? enterExitVariant,\n env = enterVariant ?? enterExitVariant;\n state.unmounted && env && staticConfig.variants[env] ? (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && console.warn(`Animating presence ENTER \"${env}\"`), props[env] = !0) : isExiting && exv && (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && console.warn(`Animating presence EXIT \"${exv}\"`), props[exv] = exitVariant !== enterExitVariant);\n }\n let noClass = !isWeb || !!props.forceStyle;\n if (!isHydrated) noClass = !1;else if (isWeb && isHydrated) {\n const isAnimatedAndHydrated = isAnimated && isHydrated,\n isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting(\"disableSSR\") || !state.unmounted),\n isDisabledManually = disableClassName && !state.unmounted;\n // Only disable className for animation drivers that output inline styles (not css)\n (isAnimatedAndHydrated && outputStyle !== \"css\" || isDisabledManually || isClassNameDisabled) && (noClass = !0, process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && log(\"avoiding className\", {\n isAnimatedAndHydrated,\n isDisabledManually,\n isClassNameDisabled\n }));\n }\n return {\n startedUnhydrated: curStateRef.startedUnhydrated,\n curStateRef,\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n setStateShallow,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient\n };\n};\nfunction hasAnimatedStyleValue(style) {\n return Object.keys(style).some(k => {\n const val = style[k];\n return val && typeof val == \"object\" && \"_animation\" in val;\n });\n}\nconst isDisabled = props => props.disabled || props.passThrough || props.accessibilityState?.disabled || props[\"aria-disabled\"] || props.accessibilityDisabled || !1;\nexport { useComponentState };\n//# sourceMappingURL=useComponentState.mjs.map\n","import { composeRefs } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { Children, cloneElement, forwardRef, isValidElement, memo } from \"react\";\nimport { mergeSlotStyleProps } from \"../helpers/mergeSlotStyleProps.mjs\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nconst Slot = memo(forwardRef(function (props, forwardedRef) {\n const {\n children,\n ...slotProps\n } = props;\n if (isValidElement(children)) {\n const mergedProps = mergeSlotProps(children, slotProps);\n return cloneElement(children, children.type.avoidForwardRef ? mergedProps : {\n ...mergedProps,\n ref: composeRefs(forwardedRef, children.props.ref)\n });\n }\n return Children.count(children) > 1 ? Children.only(null) : null;\n })),\n Slottable = ({\n children\n }) => /* @__PURE__ */jsx(Fragment, {\n children\n });\nSlottable.displayName = \"Slottable\";\nconst pressMap = isWeb ? {\n onPress: \"onClick\",\n onPressOut: \"onMouseUp\",\n onPressIn: \"onMouseDown\"\n} : {};\nfunction mergeSlotProps(child, slotProps) {\n const childProps = child.props,\n isHTMLChild = typeof child.type == \"string\";\n if (isHTMLChild) for (const key in pressMap) key in slotProps && (slotProps[pressMap[key]] = slotProps[key], delete slotProps[key]);\n const merged = mergeSlotStyleProps(slotProps, childProps);\n if (isHTMLChild) for (const key in pressMap) key in merged && (merged[pressMap[key]] = merged[key], delete merged[key]);\n return merged;\n}\nexport { Slot, Slottable };\n//# sourceMappingURL=Slot.mjs.map\n","import { composeRefs } from \"@tamagui/compose-refs\";\nimport { isClient, isServer, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport \"@tamagui/native\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport { isEqualShallow } from \"@tamagui/is-equal-shallow\";\nimport React, { useMemo } from \"react\";\nimport { devConfig, getConfig } from \"./config.mjs\";\nimport { isDevTools } from \"./constants/isDevTools.mjs\";\nimport { ComponentContext } from \"./contexts/ComponentContext.mjs\";\nimport { GroupContext } from \"./contexts/GroupContext.mjs\";\nimport { didGetVariableValue, setDidGetVariableValue } from \"./createVariable.mjs\";\nimport { defaultComponentStateMounted } from \"./defaultComponentState.mjs\";\nimport { getWebEvents } from \"./eventHandling.mjs\";\nimport { getDefaultProps } from \"./helpers/getDefaultProps.mjs\";\nimport { resolveAnimationDriver } from \"./helpers/resolveAnimationDriver.mjs\";\nimport { getSplitStyles, useSplitStyles } from \"./helpers/getSplitStyles.mjs\";\nimport { log } from \"./helpers/log.mjs\";\nimport { mergeComponentProps } from \"./helpers/mergeProps.mjs\";\nimport { mergeRenderElementProps } from \"./helpers/mergeRenderElementProps.mjs\";\nimport { objectIdentityKey } from \"./helpers/objectIdentityKey.mjs\";\nimport { usePointerEvents } from \"./helpers/pointerEvents.mjs\";\nimport { extractPseudoState, resolveEffectivePseudoTransition } from \"./helpers/pseudoTransitions.mjs\";\nimport { setElementProps } from \"./helpers/setElementProps.mjs\";\nimport { subscribeToContextGroup } from \"./helpers/subscribeToContextGroup.mjs\";\nimport { themeable } from \"./helpers/themeable.mjs\";\nimport { getStyleTags } from \"./helpers/wrapStyleTags.mjs\";\nimport { useComponentState } from \"./hooks/useComponentState.mjs\";\nimport { setMediaShouldUpdate, useMedia } from \"./hooks/useMedia.mjs\";\nimport { useThemeWithState } from \"./hooks/useTheme.mjs\";\nimport { hooks } from \"./setupHooks.mjs\";\nimport { Slot } from \"./views/Slot.mjs\";\nimport { getThemedChildren } from \"./views/Theme.mjs\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nlet time, debugKeyListeners, startVisualizer;\nconst componentSetStates = /* @__PURE__ */new Set(),\n avoidReRenderKeys = /* @__PURE__ */new Set([\"hover\", \"press\", \"pressIn\", \"group\", \"focus\", \"focusWithin\", \"media\", \"group\"]);\nif (typeof window < \"u\") {\n const cancelPresses = () => {\n componentSetStates.forEach(setState => setState(prev => prev.press || prev.pressIn ? {\n ...prev,\n press: !1,\n pressIn: !1\n } : prev)), componentSetStates.clear();\n },\n cancelTouches = () => {\n componentSetStates.forEach(setState => setState(prev => prev.press || prev.pressIn || prev.hover ? {\n ...prev,\n press: !1,\n pressIn: !1,\n hover: !1\n } : prev)), componentSetStates.clear();\n };\n addEventListener(\"mouseup\", cancelPresses), addEventListener(\"touchend\", cancelTouches), addEventListener(\"touchcancel\", cancelTouches), process.env.NODE_ENV === \"development\" && (startVisualizer = () => {\n const devVisualizerConfig = devConfig?.visualizer;\n if (devVisualizerConfig && !globalThis.__tamaguiDevVisualizer) {\n let show = function (val) {\n clearTimeout(tm), isShowing = val, debugKeyListeners?.forEach(l => l(val)), !val && resizeListener && (window.removeEventListener(\"resize\", resizeListener), resizeListener = null);\n },\n cancelShow = function () {\n clearTimeout(tm), resizeListener && (window.removeEventListener(\"resize\", resizeListener), resizeListener = null);\n };\n globalThis.__tamaguiDevVisualizer = !0, debugKeyListeners = /* @__PURE__ */new Set();\n let tm,\n isShowing = !1,\n resizeListener = null;\n const options = {\n key: \"Alt\",\n delay: 800,\n ...(typeof devVisualizerConfig == \"object\" ? devVisualizerConfig : {})\n };\n window.addEventListener(\"blur\", () => {\n show(!1);\n }), window.addEventListener(\"keydown\", ({\n key,\n metaKey,\n defaultPrevented\n }) => {\n clearTimeout(tm), !defaultPrevented && (metaKey || key === options.key && (resizeListener || (resizeListener = () => cancelShow(), window.addEventListener(\"resize\", resizeListener)), tm = setTimeout(() => {\n show(!0);\n }, options.delay)));\n }), window.addEventListener(\"keyup\", ({\n defaultPrevented\n }) => {\n defaultPrevented || (cancelShow(), isShowing && show(!1));\n });\n }\n });\n}\nlet BaseText, BaseView;\nconst lastInteractionWasKeyboard = {\n value: !1\n },\n lastInteractionWasTouch = {\n value: !1\n };\nisWeb && typeof document < \"u\" && (document.addEventListener(\"keydown\", () => {\n lastInteractionWasKeyboard.value || (lastInteractionWasKeyboard.value = !0);\n}), document.addEventListener(\"mousedown\", () => {\n lastInteractionWasKeyboard.value && (lastInteractionWasKeyboard.value = !1);\n}), document.addEventListener(\"mousemove\", () => {\n lastInteractionWasKeyboard.value && (lastInteractionWasKeyboard.value = !1), lastInteractionWasTouch.value = !1;\n}), document.addEventListener(\"touchstart\", () => {\n lastInteractionWasTouch.value = !0;\n}));\nfunction createComponent(staticConfig) {\n let config = null;\n const {\n Component,\n isText,\n isHOC\n } = staticConfig,\n component = React.forwardRef((propsIn, forwardedRef) => {\n \"use no memo\";\n\n config = config || getConfig();\n const internalID = process.env.NODE_ENV === \"development\" ? React.useId() : \"\";\n process.env.NODE_ENV === \"development\" && startVisualizer && (startVisualizer(), startVisualizer = void 0), process.env.NODE_ENV === \"test\" && propsIn[\"data-test-renders\"] && (propsIn[\"data-test-renders\"].current = propsIn[\"data-test-renders\"].current ?? 0, propsIn[\"data-test-renders\"].current += 1);\n const {\n context,\n isReactNative\n } = staticConfig,\n debugProp = propsIn.debug,\n styledContextValue = context ? React.useContext(context) : void 0;\n let overriddenContextProps = null;\n const componentContext = React.useContext(ComponentContext),\n hasTextAncestor = !!(isWeb && isText && componentContext.inText),\n isInsideNativeMenu = !1;\n !process.env.TAMAGUI_IS_CORE_NODE && process.env.NODE_ENV === \"development\" && debugProp === \"profile\" && !time && (time = require(\"@tamagui/timer\").timer().start(), globalThis.time = time), process.env.NODE_ENV === \"development\" && !time && globalThis.time && (time = globalThis.time), process.env.NODE_ENV === \"development\" && time && time`non-tamagui time (ignore)`;\n let props = propsIn;\n const componentName = props.componentName || staticConfig.componentName,\n defaultProps = getDefaultProps(staticConfig, props.componentName),\n [nextProps, overrides] = mergeComponentProps(defaultProps, styledContextValue, propsIn);\n props = nextProps, overriddenContextProps = overrides, process.env.NODE_ENV === \"development\" && isClient && React.useEffect(() => {\n let node,\n overlay = null;\n const remove = () => {\n if (overlay) try {\n overlay.parentNode?.removeChild(overlay), overlay = null;\n } catch {}\n },\n debugVisualizerHandler = (show = !1) => {\n if (node = stateRef.current.host, !!node) if (show) {\n overlay || (overlay = document.createElement(\"span\"), overlay.style.inset = \"0px\", overlay.style.zIndex = \"1000000\", overlay.style.position = \"absolute\", overlay.style.borderColor = \"red\", overlay.style.borderWidth = \"1px\", overlay.style.borderStyle = \"dotted\");\n const dataAt = node.getAttribute(\"data-at\") || \"\",\n dataIn = node.getAttribute(\"data-in\") || \"\",\n tooltip = document.createElement(\"span\");\n tooltip.style.position = \"absolute\", tooltip.style.top = \"0px\", tooltip.style.left = \"0px\", tooltip.style.padding = \"3px\", tooltip.style.background = \"rgba(0,0,0,0.75)\", tooltip.style.color = \"rgba(255,255,255,1)\", tooltip.style.fontSize = \"12px\", tooltip.style.lineHeight = \"12px\", tooltip.style.fontFamily = \"monospace\", tooltip.innerText = `${componentName || \"\"} ${dataAt} ${dataIn}`.trim(), overlay.appendChild(tooltip), node.appendChild(overlay);\n } else remove();\n };\n return debugKeyListeners = debugKeyListeners || /* @__PURE__ */new Set(), debugKeyListeners.add(debugVisualizerHandler), () => {\n remove(), debugKeyListeners?.delete(debugVisualizerHandler);\n };\n }, [componentName]);\n const groupContextParent = React.useContext(GroupContext),\n animationDriver = props.animatedBy && config ? config.animationDrivers ? config.animationDrivers[props.animatedBy] ?? config.animations : props.animatedBy === \"default\" ? config.animations : null : resolveAnimationDriver(componentContext.animationDriver) ?? resolveAnimationDriver(config?.animations) ?? null,\n useAnimations = animationDriver?.useAnimations,\n componentState = useComponentState(props, animationDriver?.isStub ? null : animationDriver, staticConfig, config),\n {\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient,\n startedUnhydrated\n } = componentState;\n hasAnimationProp && animationDriver?.avoidReRenders && useIsomorphicLayoutEffect(() => {\n const pendingState = stateRef.current.nextState;\n pendingState && (stateRef.current.nextState = void 0, componentState.setStateShallow(pendingState));\n });\n const allGroupContexts = useMemo(() => {\n if (!groupName || props.passThrough) return groupContextParent;\n const listeners = /* @__PURE__ */new Set();\n return stateRef.current.group?.listeners?.clear(), stateRef.current.group = {\n listeners,\n emit(state2) {\n listeners.forEach(l => l(state2));\n },\n subscribe(cb) {\n return listeners.add(cb), listeners.size === 1 && setStateShallow({\n hasDynGroupChildren: !0\n }), () => {\n listeners.delete(cb), listeners.size === 0 && setStateShallow({\n hasDynGroupChildren: !1\n });\n };\n }\n }, {\n ...groupContextParent,\n [groupName]: {\n state: {\n pseudo: defaultComponentStateMounted\n },\n subscribe: listener => {\n const dispose = stateRef.current.group?.subscribe(listener);\n return () => {\n dispose?.();\n };\n }\n }\n };\n }, [stateRef, groupName, groupContextParent]);\n let setStateShallow = componentState.setStateShallow;\n process.env.NODE_ENV === \"development\" && time && time`use-state`;\n const renderProp = props.render,\n element = isWeb && (!Component || typeof Component == \"string\") && renderProp || Component,\n BaseComponent = isText ? BaseText || element || \"span\" : BaseView || element || (hasTextAncestor ? \"span\" : \"div\");\n let elementType = BaseComponent;\n animationDriver && isAnimated && animationDriver.needsCustomComponent && (elementType = animationDriver[isText ? \"Text\" : \"View\"] || elementType);\n const disableTheme = props[\"data-disable-theme\"] || isHOC;\n process.env.NODE_ENV === \"development\" && time && time`theme-props`;\n const themeStateProps = {\n componentName,\n disable: disableTheme,\n shallow: props.themeShallow,\n debug: debugProp,\n unstyled: props.unstyled\n };\n if (\"theme\" in props && (themeStateProps.name = props.theme), themeStateProps.needsUpdate = () => !!stateRef.current.isListeningToTheme, process.env.NODE_ENV === \"development\" && debugProp && debugProp !== \"profile\") {\n const name = `${componentName || Component?.displayName || Component?.name || \"[Unnamed Component]\"}`,\n type = (hasEnterStyle ? \"(hasEnter)\" : \" \") + (isAnimated ? \"(animated)\" : \" \") + (isReactNative ? \"(rnw)\" : \" \") + (noClass ? \"(noClass)\" : \" \") + (state.press || state.pressIn ? \"(PRESSED)\" : \" \") + (state.hover ? \"(HOVERED)\" : \" \") + (state.focus ? \"(FOCUSED)\" : \" \") + (state.focusWithin ? \"(WITHIN FOCUSED)\" : \" \") + (presenceState?.isPresent === !1 ? \"(EXIT)\" : \"\"),\n dataIs = propsIn[\"data-is\"] || \"\",\n banner = `<${name} /> ${internalID} ${dataIs ? ` ${dataIs}` : \"\"} ${type.trim()} (hydrated: ${isHydrated}) (unmounted: ${state.unmounted})`,\n ch = propsIn.children;\n let childLog = typeof ch == \"string\" ? ch.length > 4 ? ch.slice(0, 4) + \"...\" : ch : \"\";\n childLog.length && (childLog = `(children: ${childLog})`), isWeb ? (console.info(`%c ${banner}`, \"background: green; color: white;\"), isServer ? log({\n noClass,\n isAnimated,\n isWeb,\n inputStyle\n }) : (console.groupEnd(), console.groupCollapsed(`${childLog} [inspect props, state, context \\u{1F447}]`), log(\"props in:\", propsIn), log(\"final props:\", props, Object.keys(props)), log({\n state,\n staticConfig,\n elementType,\n themeStateProps\n }), log({\n context,\n overriddenContextProps,\n componentContext\n }), log({\n presence,\n isAnimated,\n isHOC,\n hasAnimationProp,\n useAnimations\n }), console.groupEnd())) : (console.info(`\n\n------------------------------\n${banner}\n------------------------------\n`), log(\"children:\", props.children), log({\n overriddenContextProps,\n styledContextValue\n }), log({\n noClass,\n isAnimated,\n isWeb,\n inputStyle\n }));\n }\n process.env.NODE_ENV === \"development\" && time && time`pre-theme-media`;\n const [theme, themeState] = useThemeWithState(themeStateProps);\n process.env.NODE_ENV === \"development\" && time && time`theme`, elementType = element || elementType;\n const isStringElement = typeof elementType == \"string\",\n mediaState = useMedia(componentContext, debugProp);\n setDidGetVariableValue(!1), process.env.NODE_ENV === \"development\" && time && time`media`;\n const resolveValues =\n // if HOC + mounted + has animation prop, resolve as value so it passes non-variable to child\n isAnimated && inputStyle !== \"css\" || isHOC && state.unmounted == !1 && hasAnimationProp ? \"value\" : \"auto\",\n styleProps = {\n mediaState,\n noClass,\n resolveValues,\n isExiting,\n isAnimated,\n willBeAnimated,\n styledContext: styledContextValue\n },\n themeName = themeState?.name || \"\";\n process.env.NODE_ENV === \"development\" && time && time`split-styles-prepare`;\n const splitStyles = useSplitStyles(props, staticConfig, theme, themeName, state, styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver),\n isPassthrough = !splitStyles;\n let contextForOverride = staticConfig.context;\n if (splitStyles?.overriddenContextProps) {\n const contextForProps = staticConfig.context || staticConfig.parentStaticConfig?.context;\n if (contextForProps) {\n for (const key in splitStyles.overriddenContextProps) overriddenContextProps = overriddenContextProps || {}, overriddenContextProps[key] = splitStyles.overriddenContextProps[key];\n staticConfig.context || (contextForOverride = contextForProps);\n }\n }\n const groupContext = groupName && allGroupContexts?.[groupName] || null;\n if (!isPassthrough && groupContext &&\n // avoids onLayout if we don't need it\n props.containerType !== \"normal\") {\n const groupState = groupContext?.state;\n groupState && groupState.layout === void 0 && (splitStyles.style?.width || splitStyles.style?.height) && (groupState.layout = {\n width: fromPx(splitStyles.style.width),\n height: fromPx(splitStyles.style.height)\n });\n }\n const hasEnterExitTransition = props.transition && typeof props.transition == \"object\" && !Array.isArray(props.transition) && (\"enter\" in props.transition || \"exit\" in props.transition);\n if (!isPassthrough && (hasAnimationProp || groupName) && animationDriver?.avoidReRenders && !hasEnterExitTransition) {\n let updateGroupListeners = function () {\n const updatedState = stateRef.current.nextState;\n if (groupContext) {\n const {\n group,\n hasDynGroupChildren,\n unmounted,\n transition,\n ...childrenGroupState\n } = updatedState;\n notifyGroupSubscribers(groupContext, stateRef.current.group || null, childrenGroupState);\n }\n };\n const ogSetStateShallow = setStateShallow;\n if (stateRef.current.updateStyleListener = () => {\n const useStyleListener = stateRef.current.useStyleListener;\n if (!useStyleListener) {\n const pendingState = stateRef.current.nextState;\n pendingState && (stateRef.current.nextState = void 0, ogSetStateShallow(pendingState));\n return;\n }\n const updatedState = stateRef.current.nextState || state,\n mediaState2 = stateRef.current.nextMedia,\n nextStyles = getSplitStyles(props, staticConfig, theme, themeName, updatedState, mediaState2 ? {\n ...styleProps,\n mediaState: mediaState2\n } : styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver),\n effectiveTransition = resolveEffectivePseudoTransition(stateRef.current.prevPseudoState, updatedState, nextStyles?.pseudoTransitions, props.transition);\n stateRef.current.prevPseudoState = extractPseudoState(updatedState), useStyleListener(nextStyles?.style || {}, effectiveTransition);\n }, componentContext.mediaEmitListeners = componentContext.mediaEmitListeners || /* @__PURE__ */new Set(), !stateRef.current.mediaEmitCleanup) {\n const updateListener = next => {\n stateRef.current.nextMedia = next, stateRef.current.updateStyleListener?.();\n };\n componentContext.mediaEmitListeners.add(updateListener), stateRef.current.mediaEmitCleanup = () => {\n componentContext.mediaEmitListeners?.delete(updateListener);\n };\n }\n componentContext.mediaEmit = componentContext.mediaEmit || (next => {\n for (const listener of componentContext.mediaEmitListeners) listener(next);\n }), stateRef.current.setStateShallow = nextOrGetNext => {\n const prev = stateRef.current.nextState || state,\n next = typeof nextOrGetNext == \"function\" ? nextOrGetNext(prev) : nextOrGetNext;\n if (next === prev || isEqualShallow(prev, next)) return;\n const canAvoidReRender = Object.keys(next).every(key => avoidReRenderKeys.has(key)),\n updatedState = {\n ...prev,\n ...next\n };\n stateRef.current.nextState = updatedState, canAvoidReRender ? (process.env.NODE_ENV === \"development\" && debugProp && debugProp !== \"profile\" && (console.groupCollapsed(\"[\\u26A1\\uFE0F] avoid setState\", componentName, next, {\n updatedState,\n props\n }), console.info(stateRef.current.host), console.groupEnd()), updateGroupListeners(), stateRef.current.updateStyleListener?.()) : (process.env.NODE_ENV === \"development\" && debugProp && debugProp !== \"profile\" && console.info(\"[\\u{1F40C}] re-render\", {\n canAvoidReRender,\n next\n }), ogSetStateShallow(next));\n }, setStateShallow = state2 => {\n stateRef.current.setStateShallow?.(state2);\n };\n }\n process.env.NODE_ENV === \"development\" && time && time`split-styles`, splitStyles && (props.group && props.untilMeasured === \"hide\" && !stateRef.current.hasMeasured && (splitStyles.style = splitStyles.style || {}, splitStyles.style.opacity = 0), splitStyles.dynamicThemeAccess != null && (stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess));\n const hasRuntimeMediaKeys = splitStyles?.hasMedia && splitStyles.hasMedia !== !0,\n shouldListenForMedia = didGetVariableValue() || hasRuntimeMediaKeys || noClass && splitStyles?.hasMedia === !0,\n mediaListeningKeys = hasRuntimeMediaKeys ? splitStyles.hasMedia : null;\n process.env.NODE_ENV === \"development\" && debugProp === \"verbose\" && console.info(\"useMedia() createComponent\", shouldListenForMedia, mediaListeningKeys), setMediaShouldUpdate(componentContext, shouldListenForMedia, mediaListeningKeys);\n const {\n viewProps: viewPropsIn,\n pseudos,\n style: splitStylesStyle,\n classNames,\n pseudoGroups,\n mediaGroups\n } = splitStyles || {},\n propsWithAnimation = props,\n {\n asChild,\n children,\n themeShallow,\n spaceDirection: _spaceDirection,\n onPress,\n onLongPress,\n onPressIn,\n onPressOut,\n onHoverIn,\n onHoverOut,\n onMouseUp,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur,\n separator,\n // ignore from here on out\n passThrough,\n forceStyle: _forceStyle,\n // @ts-ignore for next/link compat etc\n onClick,\n theme: _themeProp,\n ...nonTamaguiProps\n } = viewPropsIn || {};\n let viewProps = nonTamaguiProps;\n props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && (typeof _themeProp < \"u\" && (viewProps.theme = _themeProp), typeof passThrough < \"u\" && (viewProps.passThrough = passThrough));\n let animationStyles;\n const shouldUseAnimation =\n // if it supports css vars we run it on server too to get matching initial style\n (inputStyle === \"css\" ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC;\n let animatedRef;\n if (shouldUseAnimation) {\n const useStyleEmitter = animationDriver?.avoidReRenders ? listener => {\n stateRef.current.useStyleListener = listener;\n } : void 0,\n effectiveTransition = resolveEffectivePseudoTransition(stateRef.current.prevPseudoState, state, splitStyles?.pseudoTransitions, props.transition);\n splitStyles && (splitStyles.effectiveTransition = effectiveTransition), stateRef.current.prevPseudoState = extractPseudoState(state);\n const animations = useAnimations({\n props: propsWithAnimation,\n // clone style to prevent animation driver mutations from leaking to viewProps\n // during SSR/pre-hydration (CSS driver mutates style.transition in place)\n style: isHydrated ? splitStylesStyle || {} : {\n ...splitStylesStyle\n },\n // @ts-ignore\n styleState: splitStyles,\n useStyleEmitter,\n presence,\n componentState: state,\n styleProps,\n theme,\n themeName,\n pseudos: pseudos || null,\n staticConfig,\n stateRef\n });\n animations && (animations.ref && (animatedRef = animations.ref), isHydrated && animations && (animationStyles = animations.style, viewProps.style = animationStyles, animations.className && (viewProps.className = `${state.unmounted === \"should-enter\" ? \"t_unmounted \" : \"\"}${viewProps.className || \"\"} ${animations.className}`))), process.env.NODE_ENV === \"development\" && time && time`animations`;\n }\n process.env.NODE_ENV === \"development\" && props.untilMeasured && !props.group && console.warn(`You set the untilMeasured prop without setting group. This doesn't work, be sure to set untilMeasured on the parent that sets group, not the children that use the $group- prop.\n\nIf you meant to do this, you can disable this warning - either change untilMeasured and group at the same time, or do group={conditional ? 'name' : undefined}`), process.env.NODE_ENV === \"development\" && time && time`destructure`, !isPassthrough && groupContext &&\n // avoids onLayout if we don't need it\n props.containerType !== \"normal\" && (nonTamaguiProps.onLayout = composeEventHandlers(nonTamaguiProps.onLayout, e => {\n const layout = e.nativeEvent.layout;\n groupContext.state.layout = layout, stateRef.current.group?.emit({\n layout\n }), !stateRef.current.hasMeasured && props.untilMeasured === \"hide\" && setState(prev => ({\n ...prev\n })), stateRef.current.hasMeasured = !0;\n })), viewProps = hooks.usePropsTransform?.(elementType, nonTamaguiProps, stateRef, stateRef.current.willHydrate) || nonTamaguiProps, stateRef.current.composedRef || (stateRef.current.composedRef = composeRefs(x => stateRef.current.host = x, forwardedRef, setElementProps, animatedRef)), viewProps.ref = stateRef.current.composedRef, usePointerEvents(props, viewProps), process.env.NODE_ENV === \"development\" && !isReactNative && !isText && isWeb && !isHOC && React.Children.toArray(props.children).forEach(item => {\n typeof item == \"string\" && item !== `\n` && console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <${staticConfig.componentName || propsIn.tag || \"View\"}>.`, props);\n }), process.env.NODE_ENV === \"development\" && time && time`events-hooks`;\n const unPress = () => {\n setStateShallow({\n press: !1,\n pressIn: !1\n });\n };\n process.env.NODE_ENV === \"development\" && isWeb && useIsomorphicLayoutEffect(() => {\n if (debugProp === \"verbose\") {\n let cssStyleDeclarationToObject = function (style) {\n const styleObject = {};\n for (let i = 0; i < style.length; i++) {\n let prop = style[i];\n styleObject[prop] = style.getPropertyValue(prop);\n }\n return styleObject;\n };\n const computed = stateRef.current.host ? cssStyleDeclarationToObject(getComputedStyle(stateRef.current.host)) : {};\n console.groupCollapsed(`Rendered > (opacity: ${computed.opacity})`), console.warn(stateRef.current.host), console.warn(computed), console.groupEnd();\n }\n }), useIsomorphicLayoutEffect(() => {\n if (state.unmounted === !0 && hasEnterStyle) {\n setStateShallow({\n unmounted: \"should-enter\"\n });\n return;\n }\n if (state.unmounted) {\n if (inputStyle === \"css\") {\n let cancelled = !1;\n return requestAnimationFrame(() => {\n cancelled || requestAnimationFrame(() => {\n cancelled || setStateShallow({\n unmounted: !1\n });\n });\n }), () => {\n cancelled = !0;\n };\n }\n setStateShallow({\n unmounted: !1\n });\n }\n return () => {\n componentSetStates.delete(setState), stateRef.current.mediaEmitCleanup?.();\n };\n }, [state.unmounted, inputStyle]), useIsomorphicLayoutEffect(() => {\n if (!disabled && !(!pseudoGroups && !mediaGroups) && allGroupContexts) return subscribeToContextGroup({\n groupContext: allGroupContexts,\n setStateShallow,\n mediaGroups,\n pseudoGroups\n });\n }, [allGroupContexts, disabled, pseudoGroups ? objectIdentityKey(pseudoGroups) : 0, mediaGroups ? objectIdentityKey(mediaGroups) : 0]);\n const groupEmitter = stateRef.current.group;\n useIsomorphicLayoutEffect(() => {\n !groupContext || !groupEmitter || notifyGroupSubscribers(groupContext, groupEmitter, state);\n }, [groupContext, groupEmitter, state]);\n const runtimePressStyle = !disabled && noClass && pseudos?.pressStyle,\n runtimeFocusStyle = !disabled && noClass && pseudos?.focusStyle,\n runtimeFocusVisibleStyle = !disabled && noClass && pseudos?.focusVisibleStyle,\n attachFocus = !!(runtimePressStyle || runtimeFocusStyle || runtimeFocusVisibleStyle || onFocus || onBlur || componentContext.setParentFocusState),\n hasDynamicGroupChildren = !!(groupName && state.hasDynGroupChildren),\n attachPress = !!(hasDynamicGroupChildren || runtimePressStyle || onPress || onPressOut || onPressIn || onMouseDown || onMouseUp || onLongPress || onClick || pseudos?.focusVisibleStyle),\n runtimeHoverStyle = !disabled && noClass && pseudos?.hoverStyle,\n needsHoverState = !!(hasDynamicGroupChildren || runtimeHoverStyle),\n attachHover = isWeb && !!(hasDynamicGroupChildren || needsHoverState || onMouseEnter || onMouseLeave),\n shouldAttach = !disabled && !props.asChild && !!(attachFocus || attachPress || attachHover || runtimePressStyle || runtimeHoverStyle || runtimeFocusStyle),\n needsPressState = !!(hasDynamicGroupChildren || runtimePressStyle);\n process.env.NODE_ENV === \"development\" && time && time`events-setup`, process.env.NODE_ENV === \"development\" && debugProp === \"verbose\" && log(\"\\u{1FAA9} events()\", {\n runtimeFocusStyle,\n runtimePressStyle,\n runtimeHoverStyle,\n runtimeFocusVisibleStyle,\n attachPress,\n attachFocus,\n attachHover,\n shouldAttach,\n needsHoverState,\n pseudos\n });\n const events = shouldAttach ? {\n onPressOut: attachPress ? e => {\n unPress(), onPressOut?.(e), onMouseUp?.(e);\n } : void 0,\n ...((attachHover || attachPress) && {\n onMouseEnter: e => {\n const next = {};\n needsHoverState && !lastInteractionWasTouch.value && (next.hover = !0), needsPressState && state.pressIn && (next.press = !0), setStateShallow(next), onHoverIn?.(e), onMouseEnter?.(e);\n },\n onMouseLeave: e => {\n const next = {};\n needsHoverState && (next.hover = !1), needsPressState && (next.press = !1, next.pressIn = !1), setStateShallow(next), onHoverOut?.(e), onMouseLeave?.(e);\n }\n }),\n onPressIn: attachPress ? e => {\n needsPressState && setStateShallow({\n press: !0,\n pressIn: !0\n }), onPressIn?.(e), onMouseDown?.(e), isWeb && componentSetStates.add(setState);\n } : void 0,\n onPress: attachPress ? e => {\n unPress(), isWeb && onClick?.(e), onPress?.(e), onLongPress?.(e);\n } : void 0,\n ...(attachFocus && {\n onFocus: e => {\n const next = {};\n componentContext.setParentFocusState && (next.focusWithin = !0), pseudos?.focusVisibleStyle && lastInteractionWasKeyboard.value ? next.focusVisible = !0 : next.focus = !0, setStateShallow(next), onFocus?.(e);\n },\n onBlur: e => {\n componentContext.setParentFocusState && componentContext.setParentFocusState({\n focusWithin: !1\n }), setStateShallow({\n focus: !1,\n focusVisible: !1,\n focusWithin: !1\n }), onBlur?.(e);\n }\n })\n } : null;\n events && !isReactNative && Object.assign(viewProps, getWebEvents(events)), process.env.NODE_ENV === \"development\" && time && time`events`, process.env.NODE_ENV === \"development\" && debugProp === \"verbose\" && log(\"events\", {\n events,\n attachHover,\n attachPress\n });\n const pressGesture = null;\n if (process.env.NODE_ENV === \"development\" && time && time`hooks`, asChild) {\n elementType = Slot;\n {\n const passEvents = getWebEvents({\n onPress,\n onLongPress,\n onPressIn,\n onPressOut,\n onMouseUp,\n onMouseDown,\n onMouseEnter,\n onMouseLeave\n }, asChild === \"web\" || asChild === \"except-style-web\");\n Object.assign(viewProps, passEvents);\n }\n }\n process.env.NODE_ENV === \"development\" && time && time`spaced-as-child`;\n let content;\n if (isPassthrough) content = React.createElement(BaseComponent, {\n style: {\n display: \"contents\"\n }\n }, propsIn.children);else {\n hooks.useChildren && (content = hooks.useChildren(elementType, content || children, viewProps));\n const isRenderPropString = typeof renderProp == \"string\";\n if (renderProp && !isRenderPropString) {\n const out = getCustomRender(renderProp, content || children, viewProps, componentState);\n out && (viewProps = out.viewProps, elementType = out.elementType);\n }\n content || (isRenderPropString && viewProps.render, content = React.createElement(elementType, viewProps, content || children)), process.env.NODE_ENV === \"development\" && time && time`use-children`;\n }\n const ResetPresence = animationDriver?.ResetPresence,\n needsReset = !!(\n // not when passing down to child\n !asChild &&\n // not when passThrough\n splitStyles &&\n // not when HOC\n !isHOC && ResetPresence && willBeAnimated && (hasEnterStyle || presenceState)),\n hasEverReset = stateRef.current.hasEverResetPresence;\n if (needsReset && !hasEverReset && (stateRef.current.hasEverResetPresence = !0), (needsReset || hasEverReset) && ResetPresence && (content = /* @__PURE__ */jsx(ResetPresence, {\n disabled: !needsReset,\n children: content\n })), process.env.NODE_ENV === \"development\" && time && time`create-element`, \"focusWithinStyle\" in propsIn && (content = /* @__PURE__ */jsx(ComponentContext.Provider, {\n ...componentContext,\n setParentFocusState: setStateShallow,\n children: content\n })), \"group\" in props && (content = /* @__PURE__ */jsx(GroupContext.Provider, {\n value: allGroupContexts,\n children: content\n })), !asChild && isText && !hasTextAncestor && (content = /* @__PURE__ */jsx(ComponentContext.Provider, {\n ...componentContext,\n inText: !0,\n children: content\n })), process.env.NODE_ENV === \"development\" && time && time`group-context`, content = disableTheme || !splitStyles ? content : getThemedChildren(themeState, content, themeStateProps, !1, stateRef), process.env.NODE_ENV === \"development\" && time && time`themed-children`, isReactNative && !asChild && (content = /* @__PURE__ */jsx(\"span\", {\n className: \"_dsp_contents\",\n ...(!isPassthrough && isHydrated && events && getWebEvents(events)),\n children: content\n })), overriddenContextProps && contextForOverride) {\n const Provider = contextForOverride.Provider;\n for (const key in styledContextValue) key in overriddenContextProps || (overriddenContextProps[key] = styledContextValue[key]);\n content = /* @__PURE__ */jsx(Provider, {\n __disableMergeDefaultValues: !0,\n ...overriddenContextProps,\n children: content\n });\n }\n if (process.env.NODE_ENV === \"development\" && time && time`context-override`, startedUnhydrated && splitStyles && (content = /* @__PURE__ */jsxs(Fragment, {\n children: [content, isHydrated ? null : getStyleTags(Object.values(splitStyles.rulesToInsert))]\n })), process.env.NODE_ENV === \"development\" && time && time`style-tags`, process.env.NODE_ENV === \"development\" && debugProp && debugProp !== \"profile\") {\n const title = `render <${typeof elementType == \"string\" ? elementType : \"Component\"} /> (${internalID}) with props`;\n if (!isWeb || !isClient) {\n log(title), log(\"state: \", state), isDevTools && log(\"viewProps\", viewProps), log(\"final styles:\");\n for (const key in splitStylesStyle) log(key, splitStylesStyle[key]);\n } else {\n console.groupCollapsed(title);\n try {\n log(\"viewProps\", viewProps), log(\"children\", content), typeof window < \"u\" && log({\n propsIn,\n props,\n attachPress,\n animationStyles,\n classNames,\n content,\n elementType,\n events,\n isAnimated,\n hasRuntimeMediaKeys,\n isStringElement,\n mediaListeningKeys,\n pseudos,\n shouldAttach,\n noClass,\n shouldListenForMedia,\n splitStyles,\n splitStylesStyle,\n state,\n stateRef,\n staticConfig,\n styleProps,\n themeState,\n viewProps,\n willBeAnimated,\n startedUnhydrated\n });\n } catch {} finally {\n console.groupEnd();\n }\n }\n }\n return process.env.NODE_ENV === \"development\" && time && (time`rest`, globalThis.willPrint || (globalThis.willPrint = !0, setTimeout(() => {\n delete globalThis.willPrint, time.print(), time = null;\n }, 50))), content;\n });\n function notifyGroupSubscribers(groupContext, groupEmitter, pseudo) {\n if (!groupContext || !groupEmitter) return;\n const nextState = {\n ...groupContext.state,\n pseudo\n };\n groupEmitter.emit(nextState), groupContext.state = nextState;\n }\n staticConfig.componentName && (component.displayName = staticConfig.componentName);\n let res = component;\n res = React.memo(res), res.staticConfig = staticConfig;\n function extendStyledConfig(extended) {\n return {\n ...staticConfig,\n ...extended,\n neverFlatten: !0,\n isHOC: !0,\n isStyledHOC: !1\n };\n }\n function styleable(Component2, options) {\n let out = typeof Component2 == \"function\" && Component2.length === 1 ? Component2 : React.forwardRef(Component2);\n const extendedConfig = extendStyledConfig(options?.staticConfig);\n return out = options?.disableTheme ? out : themeable(out, extendedConfig, !0), (extendedConfig.memo || process.env.TAMAGUI_MEMOIZE_STYLEABLE) && (out = React.memo(out)), out.staticConfig = extendedConfig, out.styleable = styleable, out;\n }\n return res.styleable = styleable, res;\n}\nconst fromPx = val => typeof val == \"number\" ? val : typeof val == \"string\" ? +val.replace(\"px\", \"\") : 0,\n getCustomRender = (renderProp, content, viewProps, state) => {\n if (typeof renderProp == \"function\") {\n const out = renderProp(viewProps, state);\n renderProp = out;\n }\n if (renderProp && typeof renderProp == \"object\" && React.isValidElement(renderProp) && renderProp) {\n const elementProps = renderProp.props,\n mergedProps = elementProps ? mergeRenderElementProps(elementProps, viewProps, content) : viewProps;\n return {\n elementType: renderProp.type,\n viewProps: mergedProps\n };\n }\n };\nexport { componentSetStates, createComponent };\n//# sourceMappingURL=createComponent.mjs.map\n","import { createCSSVariable, getVariableValue } from \"../createVariable.mjs\";\nconst registerCSSVariable = v => {\n process.env.TAMAGUI_DID_OUTPUT_CSS || tokensValueToVariable.set(getVariableValue(v), v);\n },\n variableToCSS = (v, unitless = !1) => process.env.TAMAGUI_DID_OUTPUT_CSS ? \"\" : `--${process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\"}${createCSSVariable(v.name, !1)}:${!unitless && typeof v.val == \"number\" ? `${v.val}px` : v.val}`,\n tokensValueToVariable = /* @__PURE__ */new Map();\nlet autoVarId = 0;\nconst autoVariables = [],\n getOrCreateVariable = val => {\n if (tokensValueToVariable.has(val)) return tokensValueToVariable.get(val);\n const name = `t${autoVarId++}`,\n variable = `var(--${name})`,\n v = {\n val,\n name,\n variable\n };\n return tokensValueToVariable.set(val, v), autoVariables.push(v), v;\n };\nlet mutatedVarId = 1e4;\nconst mutatedAutoVariables = [],\n mutatedTokensValueToVariable = /* @__PURE__ */new Map(),\n getOrCreateMutatedVariable = val => {\n if (mutatedTokensValueToVariable.has(val)) return mutatedTokensValueToVariable.get(val);\n const name = `t${mutatedVarId++}`,\n variable = `var(--${name})`,\n v = {\n val,\n name,\n variable\n };\n return mutatedTokensValueToVariable.set(val, v), mutatedAutoVariables.push(v), v;\n };\nexport { autoVariables, getOrCreateMutatedVariable, getOrCreateVariable, mutatedAutoVariables, registerCSSVariable, tokensValueToVariable, variableToCSS };\n//# sourceMappingURL=registerCSSVariable.mjs.map\n","import { simpleHash } from \"@tamagui/helpers\";\nimport { getSetting } from \"../config.mjs\";\nimport { THEME_CLASSNAME_PREFIX } from \"../constants/constants.mjs\";\nimport { variableToString } from \"../createVariable.mjs\";\nimport { getOrCreateVariable, getOrCreateMutatedVariable } from \"./registerCSSVariable.mjs\";\nimport { sortString } from \"./sortString.mjs\";\nconst darkLight = [\"dark\", \"light\"],\n lightDark = [\"light\", \"dark\"];\nfunction getThemeCSSRules(props) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n if (!process.env.TAMAGUI_DOES_SSR_CSS || process.env.TAMAGUI_DOES_SSR_CSS === \"mutates-themes\" || process.env.TAMAGUI_DOES_SSR_CSS === \"false\") {\n const cssRuleSets = [],\n {\n config,\n themeName,\n theme,\n names\n } = props,\n hasDarkLight = props.hasDarkLight ?? (config.themes && (\"light\" in config.themes || \"dark\" in config.themes)),\n CNP = `.${THEME_CLASSNAME_PREFIX}`;\n let vars = \"\";\n const variableCreator = props.useMutatedVariables ? getOrCreateMutatedVariable : getOrCreateVariable;\n for (const themeKey in theme) {\n const variable = theme[themeKey],\n value = variableCreator(variable.val).variable;\n vars += `--${process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\"}${simpleHash(themeKey, 40)}:${value};`;\n }\n const isDarkBase = themeName === \"dark\",\n isLightBase = themeName === \"light\",\n baseSelectors = names.map(name => `${CNP}${name}`),\n selectorsSet = new Set(isDarkBase || isLightBase ? baseSelectors : []);\n if (hasDarkLight) for (const subName of names) {\n const isDark = isDarkBase || subName.startsWith(\"dark_\"),\n isLight = !isDark && (isLightBase || subName.startsWith(\"light_\"));\n if (!(isDark || isLight)) {\n selectorsSet.add(`${CNP}${subName}`);\n continue;\n }\n const childSelector = `${CNP}${subName.replace(/^(dark|light)_/, \"\")}`,\n order = isDark ? darkLight : lightDark,\n [stronger, weaker] = order,\n numSelectors = Math.round(2 * 1.5);\n for (let depth = 0; depth < numSelectors; depth++) {\n const isOdd = depth % 2 === 1;\n if (isOdd && depth < 3) continue;\n const parents = new Array(depth + 1).fill(0).map((_, idx) => `${CNP}${idx % 2 === 0 ? stronger : weaker}`);\n let parentSelectors = parents.length > 1 ? parents.slice(1) : parents;\n if (isOdd) {\n const [_first, second, ...rest] = parentSelectors;\n parentSelectors = [second, ...rest, second];\n }\n const lastParentSelector = parentSelectors[parentSelectors.length - 1],\n nextChildSelector = childSelector === lastParentSelector ? \"\" : childSelector,\n parentSelectorString = parentSelectors.join(\" \");\n selectorsSet.add(`${parentSelectorString} ${nextChildSelector}`);\n }\n }\n const selectors = [...selectorsSet].sort(sortString),\n css = `${selectors.map(x => {\n const addTo = getSetting(\"addThemeClassName\");\n return isBaseTheme(x) && (addTo === \"html\" || addTo === \"body\") ? `${addTo === \"body\" ? \"body\" : \":root\"}${x}` : `:root ${x}`;\n }).join(\", \") + \", .tm_xxt\"} {${vars}}`;\n if (cssRuleSets.push(css), getSetting(\"shouldAddPrefersColorThemes\")) {\n const isDark = themeName.startsWith(\"dark\"),\n baseName = isDark ? \"dark\" : \"light\",\n lessSpecificSelectors = selectors.map(x => {\n if (x == darkSelector || x === lightSelector) return \":root\";\n if (!(isDark && x.startsWith(lightSelector) || !isDark && x.startsWith(darkSelector))) return x.replace(/^\\.t_(dark|light) /, \"\").trim();\n }).filter(Boolean).join(\", \"),\n isBase = !themeName.includes(\"_\");\n let bodyRulesString = \"\";\n if (isBase) {\n const bgString = theme.background ? `background:${variableToString(theme.background)};` : \"\",\n fgString = theme.color ? `color:${variableToString(theme.color)}` : \"\";\n bodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}\n ` : \"\";\n }\n const themeRules = `${lessSpecificSelectors} {${vars}}`,\n prefersMediaSelectors = `@media(prefers-color-scheme:${baseName}){\n ${bodyRulesString}${themeRules}\n }`;\n cssRuleSets.push(prefersMediaSelectors);\n }\n const selectionStyles = getSetting(\"selectionStyles\");\n if (selectionStyles) {\n const rules = selectionStyles(theme);\n if (rules) {\n const selectionSelectors = baseSelectors.map(s => `${s} ::selection`).join(\", \"),\n styles = Object.entries(rules).flatMap(([k, v]) => v ? `${k === \"backgroundColor\" ? \"background\" : k}:${variableToString(v)}` : []).join(\";\");\n if (styles) {\n const css2 = `${selectionSelectors}{${styles}}`;\n cssRuleSets.push(css2);\n }\n }\n }\n return cssRuleSets;\n }\n }\n return [];\n}\nconst darkSelector = \".t_dark\",\n lightSelector = \".t_light\",\n isBaseTheme = x => x === darkSelector || x === lightSelector || x.startsWith(\".t_dark \") || x.startsWith(\".t_light \");\nexport { getThemeCSSRules };\n//# sourceMappingURL=getThemeCSSRules.mjs.map\n","const themesRaw = {};\nfunction proxyThemesToParents(dedupedThemes) {\n for (const {\n names,\n theme\n } of dedupedThemes) for (const name of names) themesRaw[name] = theme;\n const themes = {};\n for (const {\n names,\n theme\n } of dedupedThemes) for (const themeName of names) {\n const proxiedTheme = proxyThemeToParents(themeName, theme);\n themes[themeName] = proxiedTheme;\n }\n return themes;\n}\nfunction proxyThemeToParents(themeName, theme) {\n const out = {},\n cur = [],\n parents = themeName.split(\"_\").slice(0, -1).map(part => (cur.push(part), cur.join(\"_\")));\n for (const parent of parents) Object.assign(out, themesRaw[parent]);\n return Object.assign(out, theme), out;\n}\nexport { proxyThemeToParents, proxyThemesToParents };\n//# sourceMappingURL=proxyThemeToParents.mjs.map\n","import { createVariable, isVariable } from \"../createVariable.mjs\";\nfunction ensureThemeVariable(theme, key) {\n const val = theme[key];\n isVariable(val) ? val.name !== key && (theme[key] = createVariable({\n key: val.name,\n name: key,\n val: val.val\n })) : theme[key] = createVariable({\n key,\n name: key,\n val\n });\n}\nexport { ensureThemeVariable };\n//# sourceMappingURL=themes.mjs.map\n","const fontWeights = [\"100\", \"200\", \"300\", \"400\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n processSection = (section, keys, defaultValue) => {\n if (typeof section == \"string\") return section;\n const sectionKeys = Object.keys(section);\n let fillValue = section[sectionKeys[0]];\n return Object.fromEntries([... /* @__PURE__ */new Set([...keys, ...sectionKeys])].map(key => {\n const value = section[key] ?? defaultValue ?? fillValue;\n return fillValue = value, defaultValue = value, [key, value];\n }));\n },\n createFont = font => {\n const sizeKeys = Object.keys(font.size || {}),\n processedFont = Object.fromEntries(Object.entries(font).map(([key, section]) => [key, processSection(section, key === \"face\" ? fontWeights : sizeKeys, key === \"face\" ? {\n normal: font.family\n } : void 0)]));\n return Object.freeze(processedFont);\n };\nexport { createFont };\n//# sourceMappingURL=createFont.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport { createVariable, isVariable } from \"./createVariable.mjs\";\nconst cache = /* @__PURE__ */new WeakMap(),\n createVariables = (tokens, parentPath = \"\", isFont = !1) => {\n if (cache.has(tokens)) return tokens;\n const res = {};\n let i = 0;\n for (let keyIn in tokens) {\n i++;\n const val = tokens[keyIn],\n isPrefixed = keyIn[0] === \"$\",\n keyWithPrefix = isPrefixed ? keyIn : `$${keyIn}`,\n key = isPrefixed ? keyWithPrefix.slice(1) : keyIn;\n if (isVariable(val)) {\n res[key] = val;\n continue;\n }\n const niceKey = simpleHash(key, 1e3),\n name = parentPath && parentPath !== \"t-color\" ? `${parentPath}-${niceKey}` : `c-${niceKey}`;\n if (val && typeof val == \"object\" && \"needsPx\" in val && \"val\" in val) {\n const finalValue2 = createVariable({\n val: val.val,\n name,\n key: keyWithPrefix\n });\n isWeb && (finalValue2.needsPx = val.needsPx), res[key] = finalValue2;\n continue;\n }\n if (val && typeof val == \"object\") {\n res[key] = createVariables(tokens[key], name, !1\n /* note: don't pass isFont down, we want to avoid it past the first level */);\n continue;\n }\n const finalValue = isVariable(val) ? val : createVariable({\n val,\n name,\n key: keyWithPrefix\n });\n res[key] = finalValue;\n }\n return cache.set(res, !0), res;\n };\nexport { createVariables };\n//# sourceMappingURL=createVariables.mjs.map\n","const noAnimationDriver = method => {\n console.warn(`No animation driver configured. To use ${method}, you must pass \\`animations\\` to createTamagui. See: https://tamagui.dev/docs/core/animations`);\n },\n createEmptyAnimationDriver = () => ({\n isReactNative: !1,\n inputStyle: \"css\",\n outputStyle: \"css\",\n isStub: !0,\n animations: {},\n useAnimations: () => noAnimationDriver(\"animations\"),\n usePresence: () => noAnimationDriver(\"usePresence\"),\n ResetPresence: () => noAnimationDriver(\"ResetPresence\"),\n useAnimatedNumber: () => noAnimationDriver(\"useAnimatedNumber\"),\n useAnimatedNumberStyle: () => noAnimationDriver(\"useAnimatedNumberStyle\"),\n useAnimatedNumberReaction: () => noAnimationDriver(\"useAnimatedNumberReaction\")\n }),\n defaultAnimationDriver = createEmptyAnimationDriver();\nexport { defaultAnimationDriver };\n//# sourceMappingURL=defaultAnimationDriver.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { getVariableVariable, isVariable } from \"../createVariable.mjs\";\nimport { autoVariables, registerCSSVariable, variableToCSS } from \"./registerCSSVariable.mjs\";\nimport { getThemeCSSRules } from \"./getThemeCSSRules.mjs\";\nimport { getAllRules } from \"./insertStyleRule.mjs\";\nfunction getFontPropertyDeclarations(fontParsed, tokenKey = \"$true\") {\n const props = [\"font-family: var(--f-family)\"],\n getVarRef = obj => {\n const val = obj?.[tokenKey];\n if (isVariable(val)) return getVariableVariable(val);\n },\n letterSpacing = getVarRef(fontParsed.letterSpacing);\n letterSpacing && props.push(`letter-spacing: ${letterSpacing}`);\n const lineHeight = getVarRef(fontParsed.lineHeight);\n lineHeight && props.push(`line-height: ${lineHeight}`);\n const fontStyle = getVarRef(fontParsed.style);\n fontStyle && props.push(`font-style: ${fontStyle}`);\n const fontWeight = getVarRef(fontParsed.weight);\n return fontWeight && props.push(`font-weight: ${fontWeight}`), props;\n}\nfunction createTokenCSS(tokens, shouldTokenCategoryHaveUnits) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n const declarations = [],\n sortedTokenKeys = Object.keys(tokens).sort();\n for (const key of sortedTokenKeys) {\n const sortedSubKeys = Object.keys(tokens[key]).sort();\n for (const skey of sortedSubKeys) {\n const variable = tokens[key][skey];\n if (isWeb) {\n registerCSSVariable(variable);\n const variableNeedsPx = variable.needsPx === !0,\n categoryNeedsPx = shouldTokenCategoryHaveUnits(key),\n shouldBeUnitless = !(variableNeedsPx || categoryNeedsPx);\n declarations.push(variableToCSS(variable, shouldBeUnitless));\n }\n }\n }\n return declarations;\n }\n return [];\n}\nfunction createFontCSS(fontsParsed, registerFontVariables) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n const fontDeclarations = {};\n if (!fontsParsed) return fontDeclarations;\n const sortedFontKeys = Object.keys(fontsParsed).sort();\n for (const key of sortedFontKeys) {\n const fontParsed = fontsParsed[key],\n [name, language] = key.includes(\"_\") ? key.split(\"_\") : [key],\n fontVars = registerFontVariables(fontParsed);\n fontDeclarations[key] = {\n name: name.slice(1),\n declarations: fontVars,\n language,\n fontParsed\n };\n }\n return fontDeclarations;\n }\n return {};\n}\nfunction buildCSSRuleSets(declarations, fontDeclarations, defaultFontToken = \"$true\") {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n let declarationsToRuleSet = function (decs, selector = \"\") {\n return `:root${selector} { ${[...decs].join(\"; \")}\n}`;\n };\n const cssRuleSets = [];\n declarations.length && cssRuleSets.push(declarationsToRuleSet(declarations));\n const fontSelectors = [],\n sortedFontDeclarationKeys = Object.keys(fontDeclarations).sort();\n for (const key of sortedFontDeclarationKeys) {\n const {\n name,\n declarations: declarations2,\n language = \"default\"\n } = fontDeclarations[key],\n fontSelector = `.font_${name}`;\n fontSelectors.push(fontSelector);\n const langSelector = `:root .t_lang-${name}-${language} ${fontSelector}`,\n selectors = language === \"default\" ? ` ${fontSelector}, ${langSelector}` : langSelector,\n specificRuleSet = declarationsToRuleSet(declarations2, selectors);\n cssRuleSets.push(specificRuleSet);\n }\n if (fontSelectors.length) {\n const firstFont = fontDeclarations[sortedFontDeclarationKeys[0]];\n if (firstFont?.fontParsed) {\n const fontProps = getFontPropertyDeclarations(firstFont.fontParsed, defaultFontToken),\n sharedSelectors = [...fontSelectors, \".is_View\"].join(\", \");\n cssRuleSets.push(`${sharedSelectors} {${fontProps.join(\"; \")}}`);\n }\n }\n return cssRuleSets;\n }\n return [];\n}\nfunction createThemeCSS(dedupedThemes, configIn) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n let themeRuleSets = [];\n if (isWeb) for (const {\n names,\n theme\n } of dedupedThemes) {\n const nextRules = getThemeCSSRules({\n config: configIn,\n themeName: names[0],\n names,\n theme\n });\n themeRuleSets = [...themeRuleSets, ...nextRules];\n }\n return themeRuleSets;\n }\n return [];\n}\nfunction getCSS(themeConfig, opts = {}, lastIndex) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n const {\n separator = `\n`,\n sinceLastCall,\n exclude\n } = opts;\n if (sinceLastCall && lastIndex.value >= 0) {\n const rules = getAllRules(),\n newRules = rules.slice(lastIndex.value);\n return lastIndex.value = rules.length, newRules.join(separator);\n }\n lastIndex.value = 0;\n const runtimeStyles = getAllRules().join(separator);\n if (exclude === \"design-system\") return runtimeStyles;\n const themeRules = exclude ? \"\" : themeConfig.getThemeRulesSets().join(separator);\n return `${`._ovs-contain {overscroll-behavior:contain;}\n.is_View { display: flex; align-items: stretch; flex-direction: column; flex-basis: auto; box-sizing: border-box; min-height: 0; min-width: 0; flex-shrink: 0; }\n.is_Text { display: inline; box-sizing: border-box; word-wrap: break-word; white-space: pre-wrap; margin: 0; }\n@scope (.is_Text) to (.is_View) { .is_Text { white-space: inherit; word-wrap: inherit; } }\n._dsp_contents {display:contents;}\n._no_backdrop::backdrop {display: none;}\n.is_Input::selection, .is_TextArea::selection {background-color: var(--selectionColor);}\n.is_Input::placeholder, .is_TextArea::placeholder {color: var(--placeholderColor);}\n:root ._pe-boxonly>* {pointer-events:none;}\n:root ._pe-boxnone>* {pointer-events:auto;}\n._hsb-x::-webkit-scrollbar:horizontal { display: none !important; }\n._hsb-y::-webkit-scrollbar:vertical { display: none !important; }\n._hsb-x { scrollbar-width: none !important; }\n._hsb-y { scrollbar-width: none !important; }\n${autoVariables.length ? `:root{${autoVariables.map(v => `--${v.name}:${v.val}`).join(\";\")}}` : \"\"}\n${themeConfig.cssRuleSets.join(separator)}`}\n${themeRules}\n${runtimeStyles}`;\n }\n return \"\";\n}\nexport { buildCSSRuleSets, createFontCSS, createThemeCSS, createTokenCSS, getCSS, getFontPropertyDeclarations };\n//# sourceMappingURL=createDesignSystem.mjs.map\n","import { setConfigFont } from \"./config.mjs\";\nimport { FONT_DATA_ATTRIBUTE_NAME } from \"./constants/constants.mjs\";\nimport { createFont } from \"./createFont.mjs\";\nimport { createVariables } from \"./createVariables.mjs\";\nimport { registerCSSVariable, variableToCSS } from \"./helpers/registerCSSVariable.mjs\";\nfunction insertFont(name, fontIn) {\n const font = createFont(fontIn),\n tokened = createVariables(font, name),\n parsed = parseFont(tokened);\n if (typeof document < \"u\") {\n const fontVars = registerFontVariables(parsed),\n styleElement = document.querySelector(`style[${FONT_DATA_ATTRIBUTE_NAME}=\"${name}\"]`) || document.createElement(\"style\");\n styleElement.innerText = `:root .font_${name} {${fontVars.join(\";\")}}`, styleElement.setAttribute(FONT_DATA_ATTRIBUTE_NAME, name), document.head.appendChild(styleElement);\n }\n return setConfigFont(name, tokened, parsed), parsed;\n}\nconst updateFont = insertFont;\nfunction parseFont(definition) {\n const parsed = {};\n for (const attrKey in definition) {\n const attr = definition[attrKey];\n if (attrKey === \"family\" || attrKey === \"face\") parsed[attrKey] = attr;else {\n parsed[attrKey] = {};\n for (const key in attr) {\n let val = attr[key];\n val.val?.[0] === \"$\" && (val = val.val), parsed[attrKey][`$${key}`] = val;\n }\n }\n }\n return parsed;\n}\nfunction registerFontVariables(parsedFont) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n const response = [];\n for (const fkey in parsedFont) if (fkey !== \"face\") {\n if (fkey === \"family\") {\n const val = parsedFont[fkey];\n registerCSSVariable(val), response.push(variableToCSS(val));\n } else for (const fskey in parsedFont[fkey]) if (typeof parsedFont[fkey][fskey] != \"string\") {\n const val = parsedFont[fkey][fskey];\n registerCSSVariable(val), response.push(variableToCSS(val));\n }\n }\n return response;\n }\n return [];\n}\nexport { insertFont, parseFont, registerFontVariables, updateFont };\n//# sourceMappingURL=insertFont.mjs.map\n","import * as Helpers from \"@tamagui/helpers\";\nimport { getConfig } from \"./config.mjs\";\nimport { getAllRules, getAllSelectors } from \"./helpers/insertStyleRule.mjs\";\nimport { mediaState } from \"./helpers/mediaState.mjs\";\nconst Tamagui = (() => {\n if (process.env.NODE_ENV === \"development\") {\n class TamaguiManager {\n Helpers = Helpers;\n get mediaState() {\n return {\n ...mediaState\n };\n }\n get config() {\n return getConfig();\n }\n get insertedRules() {\n return getAllRules();\n }\n get allSelectors() {\n return getAllSelectors();\n }\n get identifierToValue() {\n return identifierToValue;\n }\n }\n return new TamaguiManager();\n }\n })(),\n identifierToValue = /* @__PURE__ */new Map(),\n getValueFromIdentifier = identifier => identifierToValue.get(identifier),\n setIdentifierValue = (identifier, value) => {\n identifierToValue.set(identifier, value);\n };\nexport { Tamagui, getValueFromIdentifier, setIdentifierValue };\n//# sourceMappingURL=Tamagui.mjs.map\n","import { getConfigMaybe, setConfig, setTokens } from \"./config.mjs\";\nimport { createVariables } from \"./createVariables.mjs\";\nimport { defaultAnimationDriver } from \"./helpers/defaultAnimationDriver.mjs\";\nimport { resolveAnimationDriver } from \"./helpers/resolveAnimationDriver.mjs\";\nimport { buildCSSRuleSets, createFontCSS, createThemeCSS, createTokenCSS, getCSS as getCSSHelper } from \"./helpers/createDesignSystem.mjs\";\nimport { scanAllSheets } from \"./helpers/insertStyleRule.mjs\";\nimport { proxyThemesToParents } from \"./helpers/proxyThemeToParents.mjs\";\nimport { ensureThemeVariable } from \"./helpers/themes.mjs\";\nimport { configureMedia } from \"./hooks/useMedia.mjs\";\nimport { parseFont, registerFontVariables } from \"./insertFont.mjs\";\nimport { Tamagui } from \"./Tamagui.mjs\";\nfunction shouldTokenCategoryHaveUnits(category) {\n return (/* @__PURE__ */new Set([\"size\", \"space\", \"radius\"])).has(category);\n}\nfunction createTamagui(configIn) {\n const existingConfig = getConfigMaybe();\n existingConfig && (configIn = {\n ...existingConfig,\n ...configIn\n });\n const tokensParsed = {},\n tokens = createVariables(configIn.tokens || {});\n if (configIn.tokens) {\n const tokensMerged = {};\n for (const cat in tokens) {\n tokensParsed[cat] = {}, tokensMerged[cat] = {};\n const tokenCat = tokens[cat];\n for (const key in tokenCat) {\n const val = tokenCat[key],\n prefixedKey = `$${key}`;\n tokensParsed[cat][prefixedKey] = val, tokensMerged[cat][prefixedKey] = val, tokensMerged[cat][key] = val;\n }\n }\n setTokens(tokensMerged);\n }\n let foundThemes;\n if (configIn.themes) {\n const noThemes = Object.keys(configIn.themes).length === 0;\n noThemes && !process.env.TAMAGUI_DID_OUTPUT_CSS && (foundThemes = scanAllSheets(noThemes, tokensParsed));\n }\n let fontSizeTokens = null,\n fontsParsed;\n if (configIn.fonts) {\n const fontTokens = Object.fromEntries(Object.entries(configIn.fonts).map(([k, v]) => [k, createVariables(v, \"f\", !0)]));\n fontsParsed = (() => {\n const res = {};\n for (const familyName in fontTokens) {\n const font = fontTokens[familyName],\n fontParsed = parseFont(font);\n res[`$${familyName}`] = fontParsed, !fontSizeTokens && fontParsed.size && (fontSizeTokens = new Set(Object.keys(fontParsed.size)));\n }\n return res;\n })();\n }\n const specificTokens = {},\n themeConfig = (() => {\n const sortedTokenKeys = Object.keys(tokens).sort();\n for (const key of sortedTokenKeys) {\n const sortedSubKeys = Object.keys(tokens[key]).sort();\n for (const skey of sortedSubKeys) {\n const variable = tokens[key][skey];\n if (specificTokens[`$${key}.${skey}`] = variable, process.env.NODE_ENV === \"development\" && typeof variable > \"u\") throw new Error(`No value for tokens.${key}.${skey}:\n${JSON.stringify(variable, null, 2)}`);\n }\n }\n const declarations = createTokenCSS(tokens, shouldTokenCategoryHaveUnits),\n fontDeclarations = createFontCSS(fontsParsed, registerFontVariables),\n cssRuleSets = buildCSSRuleSets(declarations, fontDeclarations),\n themesIn = configIn.themes,\n dedupedThemes = foundThemes ?? getThemesDeduped(themesIn, tokens.color);\n return {\n themes: proxyThemesToParents(dedupedThemes),\n cssRuleSets,\n getThemeRulesSets() {\n return createThemeCSS(dedupedThemes, configIn);\n }\n };\n })(),\n userShorthands = configIn.shorthands || {},\n shorthands = {\n ...builtinShorthands,\n ...userShorthands\n },\n lastCSSIndex = {\n value: -1\n },\n getCSS = (opts = {}) => getCSSHelper(themeConfig, opts, lastCSSIndex),\n getNewCSS = opts => getCSS({\n ...opts,\n sinceLastCall: !0\n }),\n defaultFontSetting = configIn.settings?.defaultFont,\n defaultFont = (() => {\n let val = defaultFontSetting;\n return val?.[0] === \"$\" && (val = val.slice(1)), val;\n })(),\n defaultPositionSetting = configIn.settings?.defaultPosition || \"static\",\n defaultProps = configIn.defaultProps || {};\n defaultPositionSetting !== \"static\" && (defaultProps.View = {\n ...defaultProps.View,\n position: defaultPositionSetting\n });\n const defaultFontToken = defaultFont ? `$${defaultFont}` : \"\",\n inputAnimations = configIn.animations,\n resolvedDriver = resolveAnimationDriver(inputAnimations),\n config = {\n fonts: {},\n onlyAllowShorthands: !1,\n fontLanguages: [],\n media: {},\n ...configIn,\n // normalized animations (resolved from multi-driver format if needed)\n animations: resolvedDriver ?? inputAnimations ?? defaultAnimationDriver,\n animationDrivers: resolvedDriver !== null && resolvedDriver !== inputAnimations ? inputAnimations : void 0,\n defaultProps,\n settings: {\n webContainerType: \"inline-size\",\n ...configIn.settings\n },\n tokens,\n // vite made this into a function if it wasn't set\n shorthands,\n userShorthands,\n inverseShorthands: shorthands ? Object.fromEntries(Object.entries(shorthands).map(([k, v]) => [v, k])) : {},\n themes: themeConfig.themes,\n fontsParsed: fontsParsed || {},\n themeConfig,\n tokensParsed,\n parsed: !0,\n getNewCSS,\n getCSS,\n defaultFont,\n fontSizeTokens: fontSizeTokens || /* @__PURE__ */new Set(),\n specificTokens,\n defaultFontToken\n // const tokens = [...getToken(tokens.size[0])]\n // .spacer-sm + ._dsp_contents._dsp-sm-hidden { margin-left: -var(--${}) }\n };\n return setConfig(config), configureMedia(config), process.env.NODE_ENV === \"development\" && (process.env.DEBUG?.startsWith(\"tamagui\") && console.info(\"Tamagui config:\", config), globalThis.Tamagui || (globalThis.Tamagui = Tamagui)), config;\n}\nfunction getThemesDeduped(themes, colorTokens) {\n const dedupedThemes = [],\n existing = /* @__PURE__ */new Map(),\n sortedThemeNames = Object.keys(themes).sort();\n for (const themeName of sortedThemeNames) {\n const darkOrLightSpecificPrefix = themeName.startsWith(\"dark\") ? \"dark\" : themeName.startsWith(\"light\") ? \"light\" : \"\",\n rawTheme = themes[themeName],\n key = darkOrLightSpecificPrefix + JSON.stringify(rawTheme);\n if (existing.has(key)) {\n existing.get(key).names.push(themeName);\n continue;\n }\n const theme = {\n ...colorTokens,\n ...rawTheme\n };\n for (const key2 in theme) ensureThemeVariable(theme, key2);\n const deduped = {\n names: [themeName],\n theme\n };\n dedupedThemes.push(deduped), existing.set(key, deduped);\n }\n return dedupedThemes;\n}\nconst builtinShorthands = {\n bblr: \"borderBottomLeftRadius\",\n bbrr: \"borderBottomRightRadius\",\n bbs: \"borderBottomStyle\",\n bls: \"borderLeftStyle\",\n brc: \"borderRightColor\",\n brs: \"borderRightStyle\",\n brw: \"borderRightWidth\",\n bs: \"borderStyle\",\n btc: \"borderTopColor\",\n btlr: \"borderTopLeftRadius\",\n btrr: \"borderTopRightRadius\",\n bts: \"borderTopStyle\",\n btw: \"borderTopWidth\",\n bw: \"borderWidth\",\n bxs: \"boxSizing\",\n bxsh: \"boxShadow\",\n col: \"color\",\n cur: \"cursor\",\n dsp: \"display\",\n fb: \"flexBasis\",\n fd: \"flexDirection\",\n ff: \"fontFamily\",\n fs: \"fontSize\",\n fst: \"fontStyle\",\n fw: \"fontWeight\",\n fwr: \"flexWrap\",\n // height: 'h',\n lh: \"lineHeight\",\n ls: \"letterSpacing\",\n o: \"opacity\",\n ov: \"overflow\",\n ox: \"overflowX\",\n oy: \"overflowY\",\n pe: \"pointerEvents\",\n pos: \"position\",\n td: \"textDecorationLine\",\n tr: \"transform\",\n tt: \"textTransform\",\n va: \"verticalAlign\",\n wb: \"wordBreak\",\n // width: 'w',\n ws: \"whiteSpace\",\n ww: \"wordWrap\"\n};\nexport { createTamagui };\n//# sourceMappingURL=createTamagui.mjs.map\n","import { createVariables } from \"./createVariables.mjs\";\nfunction createTokens(tokens) {\n return createVariables(tokens, process.env.TAMAGUI_TOKEN_PREFIX ?? \"t\");\n}\nexport { createTokens };\n//# sourceMappingURL=createTokens.mjs.map\n","const ReactNativeStaticConfigs = /* @__PURE__ */new WeakMap();\nfunction getReactNativeConfig(Component) {\n if (Component) return Component.getSize && Component.prefetch ? RNConfigs.Image : Component.displayName === \"Text\" && Component.render ? RNConfigs.Text : Component.render && (Component.displayName === \"ScrollView\" || Component.displayName === \"View\") ? RNConfigs.default : Component.State?.blurTextInput ? RNConfigs.TextInput : ReactNativeStaticConfigs.get(Component);\n}\nconst RNConfigs = {\n Image: {\n isReactNative: !0,\n inlineProps: /* @__PURE__ */new Set([\"src\", \"width\", \"height\"])\n },\n Text: {\n isReactNative: !0,\n isText: !0\n },\n TextInput: {\n isReactNative: !0,\n isInput: !0,\n isText: !0\n },\n default: {\n isReactNative: !0\n }\n};\nexport { getReactNativeConfig };\n//# sourceMappingURL=setupReactNative.mjs.map\n","const mergeVariants = (parentVariants, ourVariants, level = 0) => {\n const variants = {};\n for (const key in ourVariants) {\n const parentVariant = parentVariants?.[key],\n ourVariant = ourVariants[key];\n !parentVariant || typeof ourVariant == \"function\" ? variants[key] = ourVariant : parentVariant && !ourVariant ? variants[key] = parentVariant[key] : level === 0 ? variants[key] = mergeVariants(parentVariant, ourVariant, level + 1) : variants[key] = {\n ...parentVariant,\n ...ourVariant\n };\n }\n return {\n ...parentVariants,\n ...variants\n };\n};\nexport { mergeVariants };\n//# sourceMappingURL=mergeVariants.mjs.map\n","import { createComponent } from \"./createComponent.mjs\";\nimport { mergeVariants } from \"./helpers/mergeVariants.mjs\";\nimport { getReactNativeConfig } from \"./setupReactNative.mjs\";\nconst textLikeElements = /* @__PURE__ */new Set([\"a\", \"abbr\", \"b\", \"bdi\", \"bdo\", \"cite\", \"code\", \"data\", \"del\", \"dfn\", \"em\", \"i\", \"ins\", \"kbd\", \"label\", \"mark\", \"q\", \"s\", \"samp\", \"small\", \"span\", \"strong\", \"sub\", \"sup\", \"time\", \"u\", \"var\"]);\nfunction styledHtml(tag, options) {\n const isText = textLikeElements.has(tag),\n {\n variants,\n name,\n defaultVariants,\n context,\n ...defaultProps\n } = options || {},\n conf = {\n Component: tag,\n variants,\n defaultProps,\n defaultVariants,\n componentName: name,\n isReactNative: !1,\n isText,\n acceptsClassName: !0,\n context\n };\n return (defaultProps.children || context) && (conf.neverFlatten = !0), createComponent(conf);\n}\nfunction styled(ComponentIn, options, config) {\n if (process.env.NODE_ENV !== \"production\" && !ComponentIn) throw new Error(\"No component given to styled()\");\n const parentStaticConfig = ComponentIn.staticConfig,\n isPlainStyledComponent = !!parentStaticConfig && !(parentStaticConfig.isReactNative || parentStaticConfig.isHOC);\n let Component = parentStaticConfig?.isHOC && !parentStaticConfig?.isStyledHOC || isPlainStyledComponent ? ComponentIn : parentStaticConfig?.Component || ComponentIn;\n const reactNativeConfig = parentStaticConfig ? void 0 : getReactNativeConfig(Component),\n isReactNative = !!(reactNativeConfig || config?.isReactNative || parentStaticConfig?.isReactNative),\n staticConfigProps = (() => {\n let {\n variants,\n name,\n defaultVariants,\n context,\n ...defaultProps\n } = options || {},\n parentDefaultVariants,\n parentDefaultProps;\n if (parentStaticConfig && !(parentStaticConfig.isHOC && !parentStaticConfig.isStyledHOC)) {\n const pdp = parentStaticConfig.defaultProps;\n for (const key in pdp) {\n const val = pdp[key];\n parentStaticConfig.defaultVariants && key in parentStaticConfig.defaultVariants && (!defaultVariants || !(key in defaultVariants)) && (parentDefaultVariants ||= {}, parentDefaultVariants[key] = val), !(key in defaultProps) && (!defaultVariants || !(key in defaultVariants)) && (parentDefaultProps ||= {}, parentDefaultProps[key] = pdp[key]);\n }\n parentStaticConfig.variants && (variants = mergeVariants(parentStaticConfig.variants, variants));\n }\n (parentDefaultProps || defaultVariants || parentDefaultVariants) && (defaultProps = {\n ...parentDefaultProps,\n ...parentDefaultVariants,\n ...defaultProps,\n ...defaultVariants\n }), parentStaticConfig?.isHOC && name && (defaultProps.componentName = name);\n const isText = !!(config?.isText || parentStaticConfig?.isText),\n acceptsClassName = config?.acceptsClassName ?? (isPlainStyledComponent || isReactNative || parentStaticConfig?.isHOC && parentStaticConfig?.acceptsClassName),\n conf = {\n ...parentStaticConfig,\n ...config,\n ...(!isPlainStyledComponent && {\n Component\n }),\n // @ts-expect-error\n variants,\n defaultProps,\n defaultVariants,\n componentName: name || parentStaticConfig?.componentName,\n isReactNative,\n isText,\n acceptsClassName,\n context,\n ...reactNativeConfig,\n isStyledHOC: !!parentStaticConfig?.isHOC,\n parentStaticConfig\n };\n return (defaultProps.children || !acceptsClassName || context) && (conf.neverFlatten = !0), conf;\n })(),\n component = createComponent(staticConfigProps || {});\n for (const key in ComponentIn) key !== \"propTypes\" && (key in component || (component[key] = ComponentIn[key]));\n return component;\n}\nconst styledExport = new Proxy(styled, {\n get(target, prop) {\n return prop in target ? target[prop] : options => styledHtml(prop, options);\n }\n});\nexport { styledExport as styled, styledHtml };\n//# sourceMappingURL=styled.mjs.map\n","import { validStyles } from \"@tamagui/helpers\";\nimport { createComponent } from \"../createComponent.mjs\";\nconst View = createComponent({\n acceptsClassName: !0,\n validStyles\n});\nexport { View };\n//# sourceMappingURL=View.mjs.map\n","import React from \"react\";\nimport { getConfig } from \"../config.mjs\";\nimport { Theme } from \"./Theme.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nlet defaultFontClass = \"\";\nfunction TamaguiRoot({\n children,\n theme,\n isRootRoot,\n passThrough,\n style\n}) {\n const [mounted, setMounted] = React.useState(!isRootRoot);\n if (React.useEffect(() => {\n mounted || setMounted(!0);\n }, []), !defaultFontClass) {\n const defaultFont = getConfig().defaultFont;\n defaultFont && (defaultFontClass = `font_${defaultFont}`);\n }\n const contents = /* @__PURE__ */jsx(\"span\", {\n style,\n className: `_dsp_contents ${mounted ? \"\" : \"t_unmounted\"} ${defaultFontClass}`,\n children\n });\n return isRootRoot ? contents : /* @__PURE__ */jsx(Theme, {\n passThrough,\n contain: !0,\n forceClassName: !0,\n name: theme,\n children: contents\n });\n}\nexport { TamaguiRoot };\n//# sourceMappingURL=TamaguiRoot.mjs.map\n","import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { useId } from \"react\";\nimport { getSetting } from \"../config.mjs\";\nimport { THEME_CLASSNAME_PREFIX } from \"../constants/constants.mjs\";\nimport { Theme } from \"./Theme.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nconst ThemeProvider = props => {\n \"use no memo\";\n\n const addThemeClassName = getSetting(\"addThemeClassName\");\n useIsomorphicLayoutEffect(() => {\n if (addThemeClassName === !1) return;\n const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`,\n target = getSetting(\"addThemeClassName\") === \"html\" ? document.documentElement : document.body;\n return target.classList.add(cn), () => {\n target.classList.remove(cn);\n };\n }, [props.defaultTheme, addThemeClassName]);\n const forceClassName = addThemeClassName === void 0;\n return /* @__PURE__ */jsx(Theme, {\n className: props.className,\n name: props.defaultTheme,\n forceClassName,\n _isRoot: useId,\n children: props.children\n });\n};\nexport { ThemeProvider };\n//# sourceMappingURL=ThemeProvider.mjs.map\n","import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { ClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport React, { useEffect } from \"react\";\nimport { getSetting } from \"../config.mjs\";\nimport { ComponentContext } from \"../contexts/ComponentContext.mjs\";\nimport { stopAccumulatingRules } from \"../helpers/insertStyleRule.mjs\";\nimport { updateMediaListeners } from \"../hooks/useMedia.mjs\";\nimport { resolveAnimationDriver } from \"../helpers/resolveAnimationDriver.mjs\";\nimport { TamaguiRoot } from \"./TamaguiRoot.mjs\";\nimport { ThemeProvider } from \"./ThemeProvider.mjs\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nfunction TamaguiProvider({\n children,\n disableInjectCSS,\n config,\n className,\n defaultTheme,\n reset,\n insets\n}) {\n useIsomorphicLayoutEffect(() => {\n stopAccumulatingRules(), updateMediaListeners();\n }, []);\n const memoizedInsets = React.useMemo(() => insets, [insets?.top, insets?.right, insets?.bottom, insets?.left]),\n defaultAnimationDriver = React.useMemo(() => resolveAnimationDriver(config?.animations), [config?.animations]);\n useEffect(() => {\n defaultAnimationDriver?.onMount?.();\n }, []);\n let contents = /* @__PURE__ */jsx(ComponentContext.Provider, {\n animationDriver: defaultAnimationDriver,\n insets: memoizedInsets,\n children: /* @__PURE__ */jsx(ThemeProvider, {\n defaultTheme,\n reset,\n className,\n children: /* @__PURE__ */jsx(TamaguiRoot, {\n theme: defaultTheme,\n isRootRoot: !0,\n children\n })\n })\n });\n return getSetting(\"disableSSR\") && (contents = /* @__PURE__ */jsx(ClientOnly, {\n enabled: !0,\n children: contents\n })), /* @__PURE__ */jsxs(Fragment, {\n children: [contents, config && !disableInjectCSS && /* @__PURE__ */jsx(\"style\", {\n precedence: \"default\",\n href: \"tamagui-css\",\n children: config.getCSS()\n }, \"tamagui-css\")]\n });\n}\nexport { TamaguiProvider };\n//# sourceMappingURL=TamaguiProvider.mjs.map\n","import { stylePropsTextOnly, validStyles } from \"@tamagui/helpers\";\nimport { createComponent } from \"../createComponent.mjs\";\nconst ellipsisStyle = {\n maxWidth: \"100%\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\"\n },\n Text = createComponent({\n componentName: \"Text\",\n acceptsClassName: !0,\n isText: !0,\n defaultProps: void 0,\n inlineWhenUnflattened: /* @__PURE__ */new Set([\"fontFamily\"]),\n variants: {\n numberOfLines: {\n 1: ellipsisStyle,\n \":number\": numberOfLines => numberOfLines >= 1 ? {\n WebkitLineClamp: numberOfLines,\n WebkitBoxOrient: \"vertical\",\n display: \"-webkit-box\",\n overflow: \"hidden\"\n } : null\n },\n ellipsis: {\n true: ellipsisStyle\n }\n },\n validStyles: {\n ...validStyles,\n ...stylePropsTextOnly\n }\n });\nexport { Text };\n//# sourceMappingURL=Text.mjs.map\n","import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useId } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst LayoutHandlers = /* @__PURE__ */new WeakMap(),\n LayoutDisableKey = /* @__PURE__ */new WeakMap(),\n Nodes = /* @__PURE__ */new Set(),\n IntersectionState = /* @__PURE__ */new WeakMap(),\n usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === !0 || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === \"1\";\nlet _debugLayout;\nfunction isDebugLayout() {\n return _debugLayout === void 0 && (_debugLayout = typeof window < \"u\" && new URLSearchParams(window.location.search).has(\"__tamaDebugLayout\")), _debugLayout;\n}\nconst DisableLayoutContextValues = {},\n DisableLayoutContextKey = createContext(\"\"),\n ENABLE = typeof IntersectionObserver < \"u\",\n LayoutMeasurementController = ({\n disable,\n children\n }) => {\n const id = useId();\n return useIsomorphicLayoutEffect(() => {\n DisableLayoutContextValues[id] = disable;\n }, [disable, id]), /* @__PURE__ */jsx(DisableLayoutContextKey.Provider, {\n value: id,\n children\n });\n };\nlet globalIntersectionObserver = null,\n strategy = \"async\";\nfunction setOnLayoutStrategy(state) {\n strategy = state;\n}\nconst NodeRectCache = /* @__PURE__ */new WeakMap();\nlet avoidUpdates = !0;\nconst queuedUpdates = /* @__PURE__ */new Map();\nfunction enable() {\n avoidUpdates && (avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(cb => cb()), queuedUpdates.clear()));\n}\nfunction startGlobalObservers() {\n !ENABLE || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(entries => {\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i],\n node = entry.target;\n IntersectionState.get(node) !== entry.isIntersecting && IntersectionState.set(node, entry.isIntersecting);\n }\n }, {\n threshold: 0\n }));\n}\nfunction rectsEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nif (ENABLE) {\n let ensureRectFetchObserver = function () {\n return rectFetchObserver || (rectFetchObserver = new IntersectionObserver(entries => {\n lastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);\n for (let i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);\n process.env.NODE_ENV === \"development\" && isDebugLayout() && lastCallbackDelay > 50 && console.warn(\"[onLayout-io-delay]\", lastCallbackDelay + \"ms\", entries.length, \"entries\"), rectFetchResolve && (rectFetchResolve(!0), rectFetchResolve = null);\n }, {\n threshold: 0\n }), rectFetchObserver);\n };\n const BoundingRects = /* @__PURE__ */new WeakMap();\n let rectFetchObserver = null,\n rectFetchResolve = null,\n rectFetchStartTime = 0,\n lastCallbackDelay = 0;\n async function updateLayoutIfChanged(node) {\n const onLayout = LayoutHandlers.get(node);\n if (typeof onLayout != \"function\") return;\n const parentNode = node.parentElement;\n if (!parentNode) return;\n let nodeRect, parentRect;\n if (strategy === \"async\") {\n if (nodeRect = BoundingRects.get(node), parentRect = BoundingRects.get(parentNode), !nodeRect || !parentRect) return;\n } else nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();\n const cachedRect = NodeRectCache.get(node),\n cachedParentRect = NodeRectCache.get(parentNode),\n nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect),\n parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);\n if (nodeChanged || parentChanged) {\n NodeRectCache.set(node, nodeRect), NodeRectCache.set(parentNode, parentRect);\n const event = getElementLayoutEvent(nodeRect, parentRect, node);\n process.env.NODE_ENV === \"development\" && isDebugLayout() && console.log(\"[useElementLayout] change\", {\n tag: node.tagName,\n id: node.id || void 0,\n className: (node.className || \"\").slice(0, 60) || void 0,\n layout: event.nativeEvent.layout,\n first: !cachedRect\n }), avoidUpdates ? queuedUpdates.set(node, () => onLayout(event)) : onLayout(event);\n }\n }\n const rAF = typeof requestAnimationFrame < \"u\" ? requestAnimationFrame : void 0,\n userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP,\n BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10,\n MAX_SKIP_FRAMES = 20;\n let skipFrames = BASE_SKIP_FRAMES,\n frameCount = 0;\n async function layoutOnAnimationFrame() {\n if (frameCount++ % skipFrames !== 0) {\n rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\n return;\n }\n if (frameCount >= Number.MAX_SAFE_INTEGER && (frameCount = 0), strategy !== \"off\") {\n const visibleNodes = [],\n parentsToObserve = /* @__PURE__ */new Set();\n for (const node of Nodes) {\n const parentElement = node.parentElement;\n if (!(parentElement instanceof HTMLElement)) {\n cleanupNode(node);\n continue;\n }\n const disableKey = LayoutDisableKey.get(node);\n disableKey && DisableLayoutContextValues[disableKey] === !0 || IntersectionState.get(node) !== !1 && (visibleNodes.push(node), parentsToObserve.add(parentElement));\n }\n if (visibleNodes.length > 0) {\n const io = ensureRectFetchObserver();\n rectFetchStartTime = performance.now();\n for (let i = 0; i < visibleNodes.length; i++) io.observe(visibleNodes[i]);\n for (const parent of parentsToObserve) io.observe(parent);\n await new Promise(res => {\n rectFetchResolve = res;\n });\n for (let i = 0; i < visibleNodes.length; i++) io.unobserve(visibleNodes[i]);\n for (const parent of parentsToObserve) io.unobserve(parent);\n lastCallbackDelay > 50 ? skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES) : lastCallbackDelay < 20 && (skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES));\n for (let i = 0; i < visibleNodes.length; i++) updateLayoutIfChanged(visibleNodes[i]);\n }\n }\n rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\n }\n layoutOnAnimationFrame();\n}\nconst getElementLayoutEvent = (nodeRect, parentRect, node) => ({\n nativeEvent: {\n layout: getRelativeDimensions(nodeRect, parentRect, node),\n target: nodeRect\n },\n timeStamp: Date.now()\n }),\n getPreTransformDimensions = node => ({\n width: node.offsetWidth,\n height: node.offsetHeight\n }),\n getRelativeDimensions = (a, b, aNode) => {\n const {\n left,\n top\n } = a,\n x = left - b.left,\n y = top - b.top,\n {\n width,\n height\n } = usePretransformDimensions() && aNode ? getPreTransformDimensions(aNode) : {\n width: a.width,\n height: a.height\n };\n return {\n x,\n y,\n width,\n height,\n pageX: a.left,\n pageY: a.top\n };\n };\nfunction registerLayoutNode(node, onChange, disableKey) {\n return Nodes.add(node), LayoutHandlers.set(node, onChange), disableKey && LayoutDisableKey.set(node, disableKey), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node), IntersectionState.set(node, !0)), () => cleanupNode(node);\n}\nfunction cleanupNode(node) {\n Nodes.delete(node), LayoutHandlers.delete(node), LayoutDisableKey.delete(node), NodeRectCache.delete(node), IntersectionState.delete(node), globalIntersectionObserver && globalIntersectionObserver.unobserve(node);\n}\nconst PrevHostNode = /* @__PURE__ */new WeakMap();\nfunction useElementLayout(ref, onLayout) {\n const disableKey = useContext(DisableLayoutContextKey),\n node = ensureWebElement(ref.current?.host);\n node && onLayout && (LayoutHandlers.set(node, onLayout), LayoutDisableKey.set(node, disableKey)), useIsomorphicLayoutEffect(() => {\n if (!onLayout) return;\n const nextNode = ensureWebElement(ref.current?.host),\n prevNode = PrevHostNode.get(ref);\n if (nextNode === prevNode || (prevNode && cleanupNode(prevNode), PrevHostNode.set(ref, nextNode), !nextNode)) return;\n Nodes.add(nextNode), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(nextNode), IntersectionState.set(nextNode, !0));\n const handler = LayoutHandlers.get(nextNode);\n if (typeof handler != \"function\") return;\n const parentNode = nextNode.parentElement;\n if (!parentNode) return;\n const nodeRect = nextNode.getBoundingClientRect(),\n parentRect = parentNode.getBoundingClientRect();\n NodeRectCache.set(nextNode, nodeRect), NodeRectCache.set(parentNode, parentRect), handler(getElementLayoutEvent(nodeRect, parentRect, nextNode));\n }), useIsomorphicLayoutEffect(() => {\n if (!onLayout) return;\n const node2 = ref.current?.host;\n if (!node2) return;\n Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0)), process.env.NODE_ENV === \"development\" && isDebugLayout() && console.log(\"[useElementLayout] register\", {\n tag: node2.tagName,\n id: node2.id || void 0,\n className: (node2.className || \"\").slice(0, 60) || void 0,\n totalNodes: Nodes.size\n });\n const parentNode = node2.parentNode;\n return parentNode && onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect(), node2)), () => {\n cleanupNode(node2);\n const swappedNode = PrevHostNode.get(ref);\n swappedNode && swappedNode !== node2 && cleanupNode(swappedNode), PrevHostNode.delete(ref);\n };\n }, [ref, !!onLayout]);\n}\nfunction ensureWebElement(x) {\n if (!(typeof HTMLElement > \"u\")) return x instanceof HTMLElement ? x : void 0;\n}\nconst getBoundingClientRectAsync = node => new Promise(res => {\n if (!node || node.nodeType !== 1) return res(!1);\n const io = new IntersectionObserver(entries => (io.disconnect(), res(entries[0].boundingClientRect)), {\n threshold: 0\n });\n io.observe(node);\n }),\n measureNode = async (node, relativeTo) => {\n const relativeNode = relativeTo || node?.parentElement;\n if (relativeNode instanceof HTMLElement) {\n const [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);\n if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);\n }\n return null;\n },\n measure = async (node, callback) => {\n const out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);\n return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;\n };\nfunction createMeasure(node) {\n return callback => measure(node, callback);\n}\nconst measureInWindow = async (node, callback) => {\n const out = await measureNode(node, null);\n return out && callback?.(out.pageX, out.pageY, out.width, out.height), out;\n },\n createMeasureInWindow = node => callback => measureInWindow(node, callback),\n measureLayout = async (node, relativeNode, callback) => {\n const out = await measureNode(node, relativeNode);\n return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;\n };\nfunction createMeasureLayout(node) {\n return (relativeTo, callback) => measureLayout(node, relativeTo, callback);\n}\nexport { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, registerLayoutNode, setOnLayoutStrategy, useElementLayout };\n//# sourceMappingURL=index.mjs.map\n","function getBaseViews() {\n return null;\n}\nexport { getBaseViews };\n//# sourceMappingURL=getBaseViews.mjs.map\n","export * from \"@tamagui/web\";\nimport \"@tamagui/react-native-media-driver\";\nimport { createMeasure, createMeasureInWindow, createMeasureLayout, enable, useElementLayout } from \"@tamagui/use-element-layout\";\nimport { TamaguiProvider as WebTamaguiProvider, Text as WebText, View as WebView, createTamagui as createTamaguiWeb, setupHooks, useIsomorphicLayoutEffect } from \"@tamagui/web\";\nimport \"./createOptimizedView.mjs\";\nimport { getBaseViews } from \"./getBaseViews.mjs\";\nimport { LayoutMeasurementController, registerLayoutNode, setOnLayoutStrategy } from \"@tamagui/use-element-layout\";\nexport * from \"./reactNativeTypes.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nconst TamaguiProvider = props => (useIsomorphicLayoutEffect(() => {\n enable();\n }, []), /* @__PURE__ */jsx(WebTamaguiProvider, {\n ...props\n })),\n createTamagui = conf => createTamaguiWeb(conf),\n baseViews = getBaseViews();\nsetupHooks({\n getBaseViews,\n setElementProps: node => {\n node && !node.measure && (node.measure ||= createMeasure(node), node.measureInWindow ||= createMeasureInWindow(node), node.measureLayout ||= createMeasureLayout(node));\n },\n usePropsTransform(elementType, propsIn, stateRef, willHydrate) {\n {\n const isDOM = typeof elementType == \"string\",\n {\n // remove event props handles by useResponderEvents\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture,\n // android\n collapsable,\n focusable,\n // deprecated,\n accessible,\n accessibilityDisabled,\n onLayout,\n hrefAttrs,\n ...plainDOMProps\n } = propsIn;\n if ((willHydrate || isDOM) && useElementLayout(stateRef, isDOM ? onLayout : void 0), isDOM) {\n if (plainDOMProps.href && hrefAttrs) {\n const {\n download,\n rel,\n target\n } = hrefAttrs;\n download != null && (plainDOMProps.download = download), rel && (plainDOMProps.rel = rel), typeof target == \"string\" && (plainDOMProps.target = target.charAt(0) !== \"_\" ? `_${target}` : target);\n }\n return plainDOMProps;\n }\n }\n }\n});\nconst View = WebView,\n Text = WebText;\nexport { LayoutMeasurementController, TamaguiProvider, Text, View, createTamagui, registerLayoutNode, setOnLayoutStrategy };\n//# sourceMappingURL=index.mjs.map\n","import colors from \"./colors.json\";\nimport spacing from \"./spacing.json\";\nimport typography from \"./typography.json\";\n\nexport interface MTokenScale {\n [key: string]: string | number;\n}\n\nexport interface MTokens {\n color: Record<string, string>;\n space: Record<string, number>;\n size: Record<string, number>;\n radius: Record<string, number>;\n zIndex: Record<string, number>;\n}\n\nexport interface MTheme {\n [key: string]: string | number;\n background: string;\n backgroundSecondary: string;\n backgroundTertiary: string;\n color: string;\n colorSecondary: string;\n colorMuted: string;\n borderColor: string;\n borderColorMuted: string;\n placeholderColor: string;\n primary: string;\n secondary: string;\n success: string;\n warning: string;\n error: string;\n shadowColor: string;\n}\n\nexport interface MDesignConfig {\n tokens: MTokens;\n themes: {\n light: MTheme;\n dark: MTheme;\n };\n}\n\nfunction buildColorTokens(): Record<string, string> {\n return {\n primary: colors.semantic.light.primary,\n secondary: colors.semantic.light.secondary,\n white: \"#ffffff\",\n black: \"#000000\",\n transparent: \"transparent\",\n };\n}\n\nfunction buildSizeTokens(): Record<string, number> {\n const tokens: Record<string, number> = {};\n Object.entries(typography.fontSize).forEach(([key, value]) => {\n const numeric = parseFloat(value.toString());\n tokens[key] = isNaN(numeric) ? 16 : numeric * 16;\n });\n return tokens;\n}\n\nfunction buildTheme(mode: \"light\" | \"dark\"): MTheme {\n const themeSource = colors.semantic[mode];\n \n return {\n background: themeSource.bg,\n backgroundSecondary: themeSource.bgSecondary,\n backgroundTertiary: themeSource.bgTertiary,\n color: themeSource.text,\n colorSecondary: themeSource.textSecondary || themeSource.secondary,\n colorMuted: themeSource.textMuted || \"#94a3b8\",\n borderColor: themeSource.border,\n borderColorMuted: themeSource.borderColorMuted || themeSource.border,\n placeholderColor: themeSource.textMuted || \"#94a3b8\",\n primary: themeSource.primary,\n secondary: themeSource.secondary,\n success: themeSource.success,\n warning: themeSource.warning,\n error: themeSource.error,\n shadowColor: mode === \"light\" ? \"rgba(0,0,0,0.05)\" : \"rgba(0,0,0,0.4)\",\n ...Object.entries(themeSource).reduce((acc, [key, value]) => {\n const kebab = key.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n acc[kebab] = value as string | number;\n return acc;\n }, {} as any)\n };\n}\n\nfunction buildSpaceTokens(): Record<string, number> {\n const tokens: Record<string, number> = {};\n Object.entries(spacing.spacing).forEach(([key, value]) => {\n const numeric = parseFloat(value.toString());\n tokens[key] = isNaN(numeric) ? 0 : numeric * 16;\n });\n return tokens;\n}\n\nfunction buildRadiusTokens(): Record<string, number> {\n const tokens: Record<string, number> = {};\n Object.entries(spacing.borderRadius).forEach(([key, value]) => {\n const numeric = parseFloat(value.toString());\n tokens[key] = isNaN(numeric) ? 0 : numeric;\n });\n tokens[\"full\"] = 9999;\n tokens[\"pill\"] = 9999;\n tokens[\"round\"] = 8;\n return tokens;\n}\n\nexport function generateMDesignConfig(): MDesignConfig {\n return {\n tokens: {\n color: buildColorTokens(),\n space: buildSpaceTokens(),\n size: buildSizeTokens(),\n radius: buildRadiusTokens(),\n zIndex: {\n base: 0,\n dropdown: 100,\n modal: 1200,\n toast: 1400,\n },\n },\n themes: {\n light: buildTheme(\"light\"),\n dark: buildTheme(\"dark\"),\n },\n };\n}\n","import { createTamagui, createTokens, createFont } from \"@tamagui/core\";\nimport { generateMDesignConfig } from \"../tokens\";\nimport typography from \"../tokens/typography.json\";\n\nconst generated = generateMDesignConfig();\n\nconst tokens = createTokens({\n color: generated.tokens.color,\n space: generated.tokens.space,\n size: generated.tokens.size,\n radius: generated.tokens.radius,\n zIndex: generated.tokens.zIndex,\n});\n\n// Create Font system\nconst headingFont = createFont({\n family: typography.fontFamily.sans,\n size: generated.tokens.size,\n lineHeight: {\n tight: 1.3,\n normal: 1.5,\n },\n weight: {\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n },\n letterSpacing: {\n base: 0,\n lg: -0.2,\n },\n});\n\nconst bodyFont = createFont({\n family: typography.fontFamily.sans,\n size: generated.tokens.size,\n lineHeight: {\n tight: 1.3,\n normal: 1.5,\n },\n weight: {\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n },\n});\n\nexport const mThemeConfig = createTamagui({\n tokens,\n themes: generated.themes,\n fonts: {\n heading: headingFont,\n body: bodyFont,\n },\n defaultTheme: \"light\",\n});\n\nexport type MThemeConfig = typeof mThemeConfig;\n","import { TamaguiProvider as CoreTamaguiProvider } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { useTheme } from \"./ThemeContext\";\nimport { mThemeConfig } from \"./mThemeConfig\";\n\nexport interface MProviderProps {\n children: ReactNode;\n}\n\nexport function MProvider({ children }: Readonly<MProviderProps>) {\n const { theme } = useTheme();\n\n return (\n <CoreTamaguiProvider\n config={mThemeConfig}\n defaultTheme={theme}\n >\n {children}\n </CoreTamaguiProvider>\n );\n}\n","/**\n * StateBadge — Displays workflow state as a styled badge.\n *\n * Pure presentational component — no data layer or Refine dependencies.\n * Renders a colored badge based on workflow state name or docstatus.\n *\n * @example\n * ```tsx\n * import { StateBadge } from \"@framework-m/ui\";\n *\n * <StateBadge state=\"Pending Approval\" />\n * <StateBadge state=\"Approved\" />\n * <StateBadge state=\"Draft\" docstatus={0} />\n * ```\n */\n\nimport type { CSSProperties } from \"react\";\n\nconst STATE_COLORS: Record<string, { bg: string; text: string }> = {\n draft: { bg: \"#e0e0e0\", text: \"#333\" },\n pending: { bg: \"#fff3cd\", text: \"#856404\" },\n submitted: { bg: \"#cce5ff\", text: \"#004085\" },\n approved: { bg: \"#d4edda\", text: \"#155724\" },\n rejected: { bg: \"#f8d7da\", text: \"#721c24\" },\n cancelled: { bg: \"#f5f5f5\", text: \"#666\" },\n completed: { bg: \"#d4edda\", text: \"#155724\" },\n on_hold: { bg: \"#fff3cd\", text: \"#856404\" },\n default: { bg: \"#e9ecef\", text: \"#495057\" },\n};\n\nfunction getStateColor(state: string | undefined): { bg: string; text: string } {\n if (!state) return STATE_COLORS.default;\n const normalizedState = state.toLowerCase().replace(/\\s+/g, \"_\");\n return STATE_COLORS[normalizedState] ?? STATE_COLORS.default;\n}\n\nexport interface StateBadgeProps {\n /** Current workflow state */\n state?: string;\n /** Document status (0=Draft, 1=Submitted, 2=Cancelled) */\n docstatus?: number;\n /** Custom className */\n className?: string;\n /** Custom style */\n style?: CSSProperties;\n}\n\nexport function StateBadge({\n state,\n docstatus,\n className,\n style,\n}: StateBadgeProps) {\n const displayState =\n state ??\n (docstatus === 0\n ? \"Draft\"\n : docstatus === 1\n ? \"Submitted\"\n : docstatus === 2\n ? \"Cancelled\"\n : undefined);\n\n if (!displayState) return null;\n\n const colors = getStateColor(displayState);\n\n return (\n <span\n className={className}\n style={{\n display: \"inline-block\",\n padding: \"0.25rem 0.75rem\",\n borderRadius: \"9999px\",\n fontSize: \"0.75rem\",\n fontWeight: 500,\n textTransform: \"capitalize\",\n backgroundColor: colors.bg,\n color: colors.text,\n ...style,\n }}\n >\n {displayState}\n </span>\n );\n}\n","/**\n * LocaleSwitcher — Language selection dropdown.\n *\n * Pure presentational component — manages its own locale list.\n * Delegates language change to a callback prop for maximum flexibility.\n *\n * @example\n * ```tsx\n * import { LocaleSwitcher } from \"@framework-m/ui\";\n *\n * <LocaleSwitcher\n * language=\"en\"\n * onChangeLanguage={(locale) => i18n.changeLanguage(locale)}\n * />\n * ```\n */\n\nexport interface LocaleSwitcherProps {\n /** Current language code */\n language: string;\n /** Called when user selects a new language */\n onChangeLanguage: (locale: string) => void | Promise<void>;\n /** Available locales. Defaults to en, hi, ta, es, fr. */\n locales?: Array<{ code: string; label: string }>;\n}\n\nconst DEFAULT_LOCALES = [\n { code: \"en\", label: \"English\" },\n { code: \"hi\", label: \"हिन्दी\" },\n { code: \"ta\", label: \"தமிழ்\" },\n { code: \"es\", label: \"Español\" },\n { code: \"fr\", label: \"Français\" },\n];\n\nexport function LocaleSwitcher({\n language,\n onChangeLanguage,\n locales = DEFAULT_LOCALES,\n}: LocaleSwitcherProps) {\n const handleChange = async (event: React.ChangeEvent<HTMLSelectElement>) => {\n await onChangeLanguage(event.target.value);\n };\n\n return (\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <label\n htmlFor=\"locale-select\"\n style={{ fontSize: \"14px\", color: \"var(--color-text)\" }}\n >\n 🌐\n </label>\n <select\n id=\"locale-select\"\n value={language}\n onChange={handleChange}\n style={{\n padding: \"4px 8px\",\n borderRadius: \"4px\",\n border: \"1px solid var(--color-border)\",\n backgroundColor: \"var(--color-bg)\",\n color: \"var(--color-text)\",\n cursor: \"pointer\",\n fontSize: \"14px\",\n }}\n >\n {locales.map(locale => (\n <option key={locale.code} value={locale.code}>\n {locale.label}\n </option>\n ))}\n </select>\n </div>\n );\n}\n","/**\n * Skeleton — Shimmer loading placeholder.\n *\n * Uses pure CSS animation (no external deps).\n * Variants: text, heading, avatar, button, or custom dimensions.\n *\n * @example\n * ```tsx\n * <Skeleton variant=\"text\" />\n * <Skeleton variant=\"heading\" />\n * <Skeleton width={200} height={40} />\n * ```\n */\n\nimport React from \"react\";\n\nexport interface SkeletonProps {\n /** Preset variant */\n variant?: \"text\" | \"text-short\" | \"heading\" | \"avatar\" | \"button\";\n /** Custom width (overrides variant) */\n width?: number | string;\n /** Custom height (overrides variant) */\n height?: number | string;\n /** Additional CSS class */\n className?: string;\n /** Number of skeleton lines to render (for text variant) */\n count?: number;\n}\n\n/**\n * Skeleton loading placeholder with shimmer animation.\n *\n * Renders one or more shimmer bars as placeholder content\n * while actual content loads. Uses CSS-only animation\n * defined in App.css (.skeleton, .skeleton-text, etc).\n */\nexport function Skeleton({\n variant = \"text\",\n width,\n height,\n className = \"\",\n count = 1,\n}: SkeletonProps): React.ReactElement {\n const variantClass = `skeleton-${variant}`;\n\n const style: React.CSSProperties = {};\n if (width) style.width = typeof width === \"number\" ? `${width}px` : width;\n if (height) style.height = typeof height === \"number\" ? `${height}px` : height;\n\n if (count > 1) {\n return (\n <div aria-busy=\"true\" aria-label=\"Loading content\">\n {Array.from({ length: count }, (_, i) => (\n <div\n key={i}\n className={`skeleton ${variantClass} ${className}`}\n style={i === count - 1 ? { ...style, width: \"60%\" } : style}\n />\n ))}\n </div>\n );\n }\n\n return (\n <div\n className={`skeleton ${variantClass} ${className}`}\n style={style}\n aria-busy=\"true\"\n aria-label=\"Loading\"\n />\n );\n}\n","import { View, Text, styled, type GetProps } from \"@tamagui/core\";\n\nexport interface MStackProps extends GetProps<typeof View> {\n tag?: any;\n title?: string;\n elevation?: any;\n fullscreen?: boolean;\n}\n\nexport interface MTextProps extends GetProps<typeof Text> {\n tag?: any;\n title?: string;\n size?: any;\n}\n\nexport const MStack = styled(View, {\n name: \"MStack\",\n display: \"flex\",\n flexDirection: \"column\",\n variants: {\n fullscreen: {\n true: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: 0,\n },\n },\n } as const,\n}) as any as (typeof View & React.FC<MStackProps>);\n\nconst _XStack = styled(View, {\n name: \"XStack\",\n display: \"flex\",\n flexDirection: \"row\",\n variants: {\n fullscreen: {\n true: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: 0,\n },\n },\n } as const,\n});\nexport const XStack = _XStack as any as (typeof _XStack & React.FC<MStackProps>);\n\nconst _YStack = styled(View, {\n name: \"YStack\",\n display: \"flex\",\n flexDirection: \"column\",\n variants: {\n fullscreen: {\n true: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: 0,\n },\n },\n } as const,\n});\nexport const YStack = _YStack as any as (typeof _YStack & React.FC<MStackProps>);\n\nconst _ZStack = styled(View, {\n name: \"ZStack\",\n display: \"flex\",\n position: \"relative\",\n variants: {\n fullscreen: {\n true: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: 0,\n },\n },\n } as const,\n});\nexport const ZStack = _ZStack as any as (typeof _ZStack & React.FC<MStackProps>);\n\nconst _MText = styled(Text, {\n name: \"MText\",\n fontFamily: \"$body\",\n display: \"inline-flex\",\n color: \"$color\",\n variants: {\n size: {\n \"$xs\": { fontSize: \"$xs\" },\n \"$sm\": { fontSize: \"$sm\" },\n \"$md\": { fontSize: \"$md\" },\n \"$lg\": { fontSize: \"$lg\" },\n \"$xl\": { fontSize: \"$xl\" },\n \"$xxl\": { fontSize: \"$xxl\" },\n },\n color: {\n secondary: { color: \"$colorSecondary\" },\n muted: { color: \"$colorMuted\" },\n },\n } as const,\n});\nexport const MText = _MText as any as (typeof _MText & React.FC<MTextProps>);\n\nconst _Paragraph = styled(Text, {\n name: \"Paragraph\",\n fontFamily: \"$body\",\n display: \"inline-flex\",\n color: \"$color\",\n variants: {\n size: {\n \"$xs\": { fontSize: \"$xs\" },\n \"$sm\": { fontSize: \"$sm\" },\n \"$md\": { fontSize: \"$md\" },\n \"$lg\": { fontSize: \"$lg\" },\n \"$xl\": { fontSize: \"$xl\" },\n \"$xxl\": { fontSize: \"$xxl\" },\n },\n } as const,\n});\nexport const Paragraph = _Paragraph as any as (typeof _Paragraph & React.FC<MTextProps>);\n\nconst _Heading = styled(Text, {\n name: \"Heading\",\n fontFamily: \"$body\",\n fontWeight: \"800\",\n display: \"inline-flex\",\n color: \"$color\",\n variants: {\n size: {\n \"$xs\": { fontSize: \"$xs\" },\n \"$sm\": { fontSize: \"$sm\" },\n \"$md\": { fontSize: \"$md\" },\n \"$lg\": { fontSize: \"$lg\" },\n \"$xl\": { fontSize: \"$xl\" },\n \"$xxl\": { fontSize: \"$xxl\" },\n },\n } as const,\n});\nexport const Heading = _Heading as any as (typeof _Heading & React.FC<MTextProps>);\n","import { styled, View, type GetProps } from \"@tamagui/core\";\nimport { MText } from \"./Primitives\";\n\nconst StyledButton = styled(View, {\n name: \"Button\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n borderRadius: \"$round\",\n cursor: \"pointer\",\n gap: \"$xs\",\n \n hoverStyle: {\n opacity: 0.8,\n backgroundColor: \"$backgroundTertiary\",\n },\n \n pressStyle: {\n opacity: 0.7,\n scale: 0.97,\n },\n \n variants: {\n variant: {\n default: {\n backgroundColor: \"$background\",\n borderWidth: 1,\n borderStyle: \"solid\",\n borderColor: \"$borderColorMuted\",\n shadowColor: \"$shadowColor\",\n shadowRadius: 5,\n shadowOffset: { width: 0, height: 2 },\n },\n primary: {\n backgroundColor: \"$primary\",\n borderWidth: 0,\n shadowColor: \"$primary\",\n shadowOpacity: 0.3,\n shadowRadius: 8,\n shadowOffset: { width: 0, height: 4 },\n hoverStyle: {\n backgroundColor: \"$primary\",\n opacity: 0.9,\n scale: 0.98,\n },\n },\n ghost: {\n backgroundColor: \"transparent\",\n borderWidth: 0,\n },\n danger: {\n backgroundColor: \"$error\",\n borderWidth: 0,\n hoverStyle: {\n backgroundColor: \"$error\",\n opacity: 0.9,\n scale: 0.98,\n },\n },\n },\n size: {\n sm: {\n paddingVertical: 5,\n paddingHorizontal: 12,\n minHeight: 28,\n },\n md: {\n paddingVertical: 8,\n paddingHorizontal: 16,\n minHeight: 36,\n },\n lg: {\n paddingVertical: 12,\n paddingHorizontal: 20,\n minHeight: 44,\n },\n },\n disabled: {\n true: {\n opacity: 0.5,\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n },\n },\n } as const,\n \n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\ntype StyledButtonProps = GetProps<typeof StyledButton>;\n\nexport interface ButtonProps extends Omit<StyledButtonProps, \"variant\" | \"size\"> {\n /** Visual variant */\n variant?: \"default\" | \"primary\" | \"ghost\" | \"danger\";\n /** Button size */\n size?: \"sm\" | \"md\" | \"lg\";\n /** Show loading spinner */\n loading?: boolean;\n /** Custom tag (e.g. 'button', 'a') */\n tag?: any;\n /** Button type for forms */\n type?: \"button\" | \"submit\" | \"reset\";\n /** Click/Press handler */\n onPress?: (e: any) => void;\n /** Web-compatible click handler */\n onClick?: (e: any) => void;\n /** Explicit layout and style props */\n width?: any;\n height?: any;\n style?: any;\n title?: string;\n}\n\n/**\n * Cross-platform Button powered by Tamagui.\n */\nexport function Button({ \n children, \n variant = \"default\", \n size = \"md\", \n loading, \n disabled, \n tag = \"button\",\n ...props \n}: ButtonProps) {\n const Comp = StyledButton as any;\n return (\n <Comp\n tag={tag}\n type={props.type}\n variant={variant}\n size={size}\n disabled={disabled || loading}\n {...props}\n >\n <MText\n color={variant === \"primary\" || variant === \"danger\" ? \"$white\" : \"$color\"}\n fontWeight=\"600\"\n fontSize={size === \"sm\" ? \"$xs\" : \"$sm\"}\n pointerEvents=\"none\"\n >\n {loading ? \"...\" : children}\n </MText>\n </Comp>\n );\n}\n","import { styled, View, type GetProps } from \"@tamagui/core\";\n\nconst _Card = styled(View, {\n name: \"Card\",\n flexDirection: \"column\",\n backgroundColor: \"$background\",\n borderRadius: \"$round\",\n padding: \"$md\",\n display: \"flex\",\n \n variants: {\n elevated: {\n true: {\n shadowColor: \"$shadowColor\",\n shadowOffset: { width: 0, height: 10 },\n shadowOpacity: 0.1,\n shadowRadius: 30,\n elevation: 10,\n borderWidth: 1,\n borderColor: \"$borderColorMuted\",\n },\n },\n outlined: {\n true: {\n borderWidth: 1,\n borderColor: \"$borderColor\",\n },\n },\n padded: {\n sm: { padding: \"$sm\" },\n md: { padding: \"$md\" },\n lg: { padding: \"$lg\" },\n xl: { padding: \"$xl\" },\n },\n } as const,\n \n defaultVariants: {\n elevated: true,\n padded: \"md\",\n },\n});\n\nexport type CardProps = GetProps<typeof _Card> & {\n tag?: any;\n title?: string;\n};\n\n/**\n * Card Component\n * \n * A surface for grouped content with elevation and radius tokens.\n * Port/Adapter implementation wrapping Tamagui.\n */\nexport const Card = _Card as any as (typeof _Card & React.FC<CardProps>);\n","import React from \"react\";\nimport { styled, type TamaguiElement } from \"@tamagui/core\";\n\n/**\n * Universal Input Component\n * \n * High-performance, cross-platform input powered by Tamagui's atomic CSS engine.\n * Uses a native 'input' base on the web for 100% reliable browser interaction.\n */\nconst StyledInput = styled(\"input\" as any, {\n name: \"Input\",\n backgroundColor: \"$backgroundSecondary\",\n borderRadius: \"$round\",\n borderWidth: 1,\n borderStyle: \"solid\",\n borderColor: \"$borderColor\",\n paddingLeft: \"$md\",\n paddingRight: \"$md\",\n fontSize: \"$sm\",\n color: \"$color\",\n width: \"100%\",\n outlineWidth: 0,\n \n // @ts-ignore\n cursor: \"text\",\n // @ts-ignore\n userSelect: \"text\",\n focusStyle: {\n borderColor: \"$primary\",\n backgroundColor: \"$backgroundSecondary\",\n outlineWidth: 0,\n shadowColor: \"$primary\",\n shadowRadius: 15,\n shadowOpacity: 0.3,\n borderWidth: 2,\n },\n\n hoverStyle: {\n borderColor: \"$primary\",\n backgroundColor: \"$background\",\n },\n\n variants: {\n size: {\n sm: { height: 32, fontSize: \"$xs\" },\n md: { height: 40, fontSize: \"$sm\" },\n lg: { height: 52, fontSize: \"$md\" },\n },\n error: {\n true: {\n borderColor: \"$error\",\n focusStyle: {\n borderColor: \"$error\",\n },\n },\n },\n } as const,\n\n defaultVariants: {\n size: \"md\",\n },\n} as any) as any;\n\nexport interface InputProps {\n error?: boolean;\n size?: \"sm\" | \"md\" | \"lg\";\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;\n onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\n onChangeText?: (text: string) => void;\n placeholder?: string;\n type?: string;\n disabled?: boolean;\n name?: string;\n autoFocus?: boolean;\n autoComplete?: string;\n required?: boolean;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n onKeyUp?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n style?: any;\n /** Tamagui-compatible props */\n [key: string]: any;\n}\n\n/**\n * Input Component\n * \n * Styled input with consistent brand aesthetics.\n * 100% functional on web with native focus and selection.\n */\nexport const Input = React.forwardRef<HTMLInputElement | TamaguiElement, InputProps>(({ \n onChange,\n onChangeText,\n value,\n ...props \n}, ref) => {\n const isControlled = value !== undefined;\n\n return (\n <StyledInput\n ref={ref}\n {...(isControlled ? { value } : {})}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e);\n onChangeText?.(e.target.value);\n }}\n {...props}\n />\n );\n});\n\nInput.displayName = \"Input\";\n","import React, { useState, useMemo, useEffect, useRef } from \"react\";\nimport { type TamaguiElement, View } from \"@tamagui/core\";\nimport { Input, type InputProps } from \"./Input\";\nimport { XStack, YStack, MText, MStack } from \"./Primitives\";\nimport { Button } from \"./Button\";\nimport { Card } from \"./Card\";\n\n/**\n * Android/Material Inspired DatePicker.\n * Features:\n * - Double-click to edit Year/Month/Time\n * - ENTER to commit manual edits\n * - \"Now\" button for instant synchronization\n * - Pixel-perfect vertical alignment for AM/PM\n */\nexport const DatePicker = React.forwardRef<HTMLInputElement | TamaguiElement, InputProps>(({ \n value,\n onChange,\n onChangeText,\n type = \"date\",\n placeholder,\n ...props \n}, ref) => {\n const [showPicker, setShowPicker] = useState(false);\n const [isEditingYear, setIsEditingYear] = useState(false);\n const [isEditingMonth, setIsEditingMonth] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n \n const toLocalISO = (date: Date) => {\n const pad = (n: number) => n.toString().padStart(2, '0');\n const yyyy = date.getFullYear();\n const mm = pad(date.getMonth() + 1);\n const dd = pad(date.getDate());\n const hh = pad(date.getHours());\n const min = pad(date.getMinutes());\n const sec = pad(date.getSeconds());\n \n return type === \"date\" \n ? `${yyyy}-${mm}-${dd}`\n : `${yyyy}-${mm}-${dd}T${hh}:${min}:${sec}`;\n };\n\n const selectedDate = useMemo(() => {\n if (!value) return new Date();\n const d = new Date(value as string);\n return isNaN(d.getTime()) ? new Date() : d;\n }, [value]);\n\n const [viewDate, setViewDate] = useState(new Date(selectedDate));\n \n useEffect(() => {\n setViewDate(new Date(selectedDate));\n }, [selectedDate]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setShowPicker(false);\n setIsEditingYear(false);\n setIsEditingMonth(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\n }, []);\n\n const handleSelection = (date: Date) => {\n const formatted = toLocalISO(date);\n onChange?.(formatted as any);\n onChangeText?.(formatted);\n };\n\n const handleDayClick = (day: number) => {\n const newDate = new Date(viewDate);\n newDate.setDate(day);\n newDate.setHours(selectedDate.getHours());\n newDate.setMinutes(selectedDate.getMinutes());\n newDate.setSeconds(selectedDate.getSeconds());\n handleSelection(newDate);\n if (type === \"date\") setShowPicker(false);\n };\n\n const handleTimeChange = (deltaHours: number, deltaMinutes: number, deltaSeconds: number = 0) => {\n const newDate = new Date(selectedDate);\n newDate.setHours(newDate.getHours() + deltaHours);\n newDate.setMinutes(newDate.getMinutes() + deltaMinutes);\n newDate.setSeconds(newDate.getSeconds() + deltaSeconds);\n handleSelection(newDate);\n };\n\n const toggleAMPM = () => {\n const newDate = new Date(selectedDate);\n const h = newDate.getHours();\n newDate.setHours(h >= 12 ? h - 12 : h + 12);\n handleSelection(newDate);\n };\n\n const setNow = () => {\n const now = new Date();\n handleSelection(now);\n setViewDate(new Date(now));\n if (type === \"date\") setShowPicker(false);\n };\n\n const daysInMonth = (month: number, year: number) => new Date(year, month + 1, 0).getDate();\n const firstDayOfMonth = (month: number, year: number) => new Date(year, month, 1).getDay();\n\n const days = useMemo(() => {\n const count = daysInMonth(viewDate.getMonth(), viewDate.getFullYear());\n const offset = firstDayOfMonth(viewDate.getMonth(), viewDate.getFullYear());\n const result = [];\n for (let i = 0; i < offset; i++) result.push(null);\n for (let i = 1; i <= count; i++) result.push(i);\n return result;\n }, [viewDate]);\n\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n\n return (\n <YStack \n ref={containerRef as any}\n position=\"relative\" \n width=\"100%\" \n >\n <XStack alignItems=\"center\" position=\"relative\">\n <Input\n ref={ref}\n value={value}\n readOnly\n onPressIn={() => setShowPicker(!showPicker)}\n placeholder={placeholder || (type === \"date\" ? \"Select Date...\" : \"Select Date & Time...\")}\n paddingRight={40}\n {...props}\n />\n <XStack\n position=\"absolute\"\n right={12}\n pointerEvents=\"none\"\n opacity={0.6}\n >\n <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" style={{ color: \"var(--primary)\" }}>\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>\n <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"></line>\n <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"></line>\n <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"></line>\n </svg>\n </XStack>\n </XStack>\n\n {showPicker && (\n <Card\n elevated\n position=\"absolute\"\n top=\"100%\"\n left={0}\n marginTop=\"$2\"\n zIndex={1000}\n width={320}\n padding=\"$3\"\n backgroundColor=\"$background\"\n borderColor=\"$borderColor\"\n borderWidth={1}\n >\n {/* Calendar Header */}\n <XStack justifyContent=\"space-between\" alignItems=\"center\" marginBottom=\"$3\">\n <Button \n size=\"sm\" \n borderRadius={100} \n width={28} \n height={28}\n padding={0}\n onPress={() => setViewDate(new Date(viewDate.setMonth(viewDate.getMonth() - 1)))}\n >\n <MText fontSize={12} position=\"relative\" left={-1}>&lt;</MText>\n </Button>\n \n <XStack alignItems=\"center\" cursor=\"pointer\">\n <YStack onDoubleClick={() => setIsEditingMonth(true)}>\n {isEditingMonth ? (\n <Input \n size=\"sm\" \n autoFocus\n width={100}\n textAlign=\"center\"\n paddingHorizontal={4}\n defaultValue={viewDate.getMonth() + 1}\n onKeyDown={(e: any) => e.key === 'Enter' && e.currentTarget.blur()}\n onBlur={(e: React.FocusEvent<HTMLInputElement>) => {\n const m = parseInt(e.target.value);\n if (!isNaN(m) && m > 0 && m <= 12) setViewDate(new Date(viewDate.setMonth(m - 1)));\n setIsEditingMonth(false);\n }}\n />\n ) : (\n <MText fontSize={12} fontWeight=\"700\" color=\"$primary\">{monthNames[viewDate.getMonth()]}</MText>\n )}\n </YStack>\n\n <View width={12} />\n\n <YStack onDoubleClick={() => setIsEditingYear(true)}>\n {isEditingYear ? (\n <Input \n size=\"sm\" \n autoFocus\n width={60}\n textAlign=\"center\"\n paddingHorizontal={4}\n defaultValue={viewDate.getFullYear().toString()}\n onKeyDown={(e: any) => e.key === 'Enter' && e.currentTarget.blur()}\n onBlur={(e: React.FocusEvent<HTMLInputElement>) => {\n const y = parseInt(e.target.value);\n if (!isNaN(y)) setViewDate(new Date(viewDate.setFullYear(y)));\n setIsEditingYear(false);\n }}\n />\n ) : (\n <MText fontWeight=\"700\" color=\"$primary\">{viewDate.getFullYear()}</MText>\n )}\n </YStack>\n </XStack>\n\n <Button \n size=\"sm\" \n borderRadius={100} \n width={28} \n height={28}\n padding={0}\n onPress={() => setViewDate(new Date(viewDate.setMonth(viewDate.getMonth() + 1)))}\n >\n <MText fontSize={12} position=\"relative\" left={1}>&gt;</MText>\n </Button>\n </XStack>\n\n {/* Days Grid */}\n <XStack flexWrap=\"wrap\" gap={2} marginBottom=\"$2\">\n <XStack width=\"100%\" justifyContent=\"space-around\">\n {[\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"].map(d => (\n <MStack key={d} width={36} alignItems=\"center\">\n <MText fontSize={10} color=\"muted\" fontWeight=\"600\">{d}</MText>\n </MStack>\n ))}\n </XStack>\n {days.map((day, idx) => {\n const isSelected = day === selectedDate.getDate() && \n viewDate.getMonth() === selectedDate.getMonth() && \n viewDate.getFullYear() === selectedDate.getFullYear();\n return (\n <MStack \n key={idx} \n width={36} \n height={36} \n alignItems=\"center\" \n justifyContent=\"center\"\n borderRadius=\"$2\"\n cursor={day ? \"pointer\" : \"default\"}\n backgroundColor={isSelected ? \"$primary\" : \"transparent\"}\n hoverStyle={day ? { backgroundColor: isSelected ? \"$primary\" : \"$backgroundHover\" } : {}}\n onPress={() => day && handleDayClick(day)}\n >\n <MText color={isSelected ? \"#fff\" : \"$color\"} fontSize={12} fontWeight={isSelected ? \"700\" : \"400\"}>\n {day || \"\"}\n </MText>\n </MStack>\n );\n })}\n </XStack>\n\n {/* Time Selection */}\n {type === \"datetime-local\" && (\n <YStack marginTop=\"$2\" paddingTop=\"$3\" borderTopWidth={1} borderColor=\"$borderColor\" gap=\"$2\">\n <XStack justifyContent=\"space-around\" alignItems=\"center\">\n {/* Hour */}\n <YStack alignItems=\"center\" gap=\"$1\">\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(1, 0, 0)}>\n <MText fontSize={16}>+</MText>\n </Button>\n <Input \n size=\"sm\" \n width={52} \n textAlign=\"center\"\n paddingHorizontal={4}\n onKeyDown={(e: any) => e.key === 'Enter' && e.currentTarget.blur()}\n value={(selectedDate.getHours() % 12 || 12).toString()}\n onChangeText={(val: string) => {\n let h = parseInt(val);\n if (!isNaN(h)) {\n if (h === 12) h = 0;\n const newDate = new Date(selectedDate);\n const isPM = newDate.getHours() >= 12;\n newDate.setHours(isPM ? h + 12 : h);\n handleSelection(newDate);\n }\n }}\n />\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(-1, 0, 0)}>\n <MText fontSize={16}>-</MText>\n </Button>\n </YStack>\n\n <MText fontSize={16} color=\"muted\" marginTop={10} position=\"relative\" top={-2}>:</MText>\n\n {/* Minute */}\n <YStack alignItems=\"center\" gap=\"$1\">\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(0, 5, 0)}>\n <MText fontSize={16}>+</MText>\n </Button>\n <Input \n size=\"sm\" \n width={52} \n textAlign=\"center\"\n paddingHorizontal={4}\n onKeyDown={(e: any) => e.key === 'Enter' && e.currentTarget.blur()}\n value={selectedDate.getMinutes().toString().padStart(2, '0')}\n onChangeText={(val: string) => {\n const m = parseInt(val);\n if (!isNaN(m) && m >= 0 && m < 60) {\n const newDate = new Date(selectedDate);\n newDate.setMinutes(m);\n handleSelection(newDate);\n }\n }}\n />\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(0, -5, 0)}>\n <MText fontSize={16}>-</MText>\n </Button>\n </YStack>\n\n <MText fontSize={16} color=\"muted\" marginTop={10} position=\"relative\" top={-2}>:</MText>\n\n {/* Second */}\n <YStack alignItems=\"center\" gap=\"$1\">\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(0, 0, 10)}>\n <MText fontSize={16}>+</MText>\n </Button>\n <Input \n size=\"sm\" \n width={52} \n textAlign=\"center\"\n paddingHorizontal={4}\n onKeyDown={(e: any) => e.key === 'Enter' && e.currentTarget.blur()}\n value={selectedDate.getSeconds().toString().padStart(2, '0')}\n onChangeText={(val: string) => {\n const s = parseInt(val);\n if (!isNaN(s) && s >= 0 && s < 60) {\n const newDate = new Date(selectedDate);\n newDate.setSeconds(s);\n handleSelection(newDate);\n }\n }}\n />\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(0, 0, -10)}>\n <MText fontSize={16}>-</MText>\n </Button>\n </YStack>\n\n {/* AM/PM - VERTICALLY CENTERED WITH NUMBERS */}\n <YStack justifyContent=\"center\" marginTop={10} position=\"relative\" top={-2}>\n <Button \n size=\"sm\" \n variant=\"primary\" \n paddingHorizontal=\"$2\" \n onPress={toggleAMPM}\n borderRadius=\"$2\"\n minWidth={46}\n backgroundColor=\"$primary\"\n >\n <MText fontSize={10} fontWeight=\"900\" color=\"#fff\">{selectedDate.getHours() >= 12 ? \"PM\" : \"AM\"}</MText>\n </Button>\n </YStack>\n </XStack>\n \n <XStack marginTop=\"$1\">\n <Button \n variant=\"default\"\n size=\"sm\" \n onPress={setNow}\n flex={1}\n >\n Now\n </Button>\n \n <View width={8} />\n\n <Button \n variant=\"primary\"\n size=\"sm\" \n onPress={() => setShowPicker(false)}\n flex={2}\n >\n Apply Selection\n </Button>\n </XStack>\n </YStack>\n )}\n </Card>\n )}\n </YStack>\n );\n});\n\nDatePicker.displayName = \"DatePicker\";\n","import React from \"react\";\nimport { styled, type TamaguiElement } from \"@tamagui/core\";\nimport { YStack, type MStackProps } from \"./Primitives\";\n\nexport interface SelectOption {\n value: string;\n label: string;\n}\n\n/**\n * Universal Styled Select\n * \n * Powered by Tamagui tokens but using a native 'select' element for 100% browser interaction.\n */\nconst StyledSelect = styled(\"select\" as any, {\n name: \"Select\",\n backgroundColor: \"$backgroundSecondary\",\n borderRadius: \"$round\",\n borderWidth: 1,\n borderStyle: \"solid\",\n borderColor: \"$borderColor\",\n color: \"$color\",\n paddingLeft: \"$md\",\n paddingRight: 40, // Space for arrow\n fontSize: \"$sm\",\n width: \"100%\",\n outlineWidth: 0,\n appearance: \"none\",\n webkitappearance: \"none\",\n mozappearance: \"none\",\n cursor: \"pointer\",\n\n focusStyle: {\n borderColor: \"$primary\",\n backgroundColor: \"$background\",\n outlineWidth: 0,\n },\n\n hoverStyle: {\n borderColor: \"$primary\",\n backgroundColor: \"$background\",\n },\n\n variants: {\n size: {\n sm: { height: 32, fontSize: \"$xs\" },\n md: { height: 40, fontSize: \"$sm\" },\n lg: { height: 52, fontSize: \"$md\" },\n },\n error: {\n true: {\n borderColor: \"$error\",\n focusStyle: {\n borderColor: \"$error\",\n },\n },\n },\n } as const,\n\n defaultVariants: {\n size: \"md\",\n },\n} as any) as any;\n\nexport interface SelectProps extends Omit<MStackProps, \"children\" | \"onChange\" | \"onFocus\" | \"onBlur\"> {\n error?: boolean;\n size?: \"sm\" | \"md\" | \"lg\";\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLSelectElement>) => void;\n // RN-friendly change handler\n onValueChange?: (value: string) => void;\n options: SelectOption[];\n placeholder?: string;\n disabled?: boolean;\n name?: string;\n color?: any;\n}\n\n/**\n * Select Component\n * \n * Choice primitive with brand aesthetics and native accessibility.\n */\nexport const Select = React.forwardRef<HTMLSelectElement | TamaguiElement, SelectProps>(({\n error,\n size = \"md\",\n value,\n onChange,\n onValueChange,\n options,\n placeholder,\n disabled,\n name,\n ...stackProps\n}, ref) => {\n const isControlled = value !== undefined;\n\n return (\n <YStack\n position=\"relative\"\n width={stackProps.width || \"100%\"}\n minWidth={stackProps.minWidth}\n pointerEvents=\"box-none\"\n >\n <StyledSelect\n ref={ref}\n {...(isControlled ? { value } : {})}\n error={error}\n size={size}\n onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {\n onChange?.(e);\n onValueChange?.(e.target.value);\n }}\n disabled={disabled}\n name={name}\n {...stackProps}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {options.map((opt) => (\n <option key={opt.value} value={opt.value}>\n {opt.label}\n </option>\n ))}\n </StyledSelect>\n \n {/* Visual arrow indicator (Overlay) */}\n <YStack\n position=\"absolute\"\n right={12}\n top=\"50%\"\n marginTop={-3}\n width={0}\n height={0}\n borderLeftWidth={5}\n borderLeftColor=\"transparent\"\n borderRightWidth={5}\n borderRightColor=\"transparent\"\n borderTopWidth={6}\n borderTopColor=\"$colorMuted\"\n pointerEvents=\"none\"\n opacity={0.6}\n />\n </YStack>\n );\n});\n\nSelect.displayName = \"Select\";\n","/**\n * Toast — Accessible notification component.\n *\n * Pure CSS animation (no external deps).\n * Supports success, error, warning, and info variants.\n * Uses ARIA live regions for screen reader support.\n *\n * @example\n * ```tsx\n * <Toast message=\"Record saved\" variant=\"success\" onDismiss={() => {}} />\n * ```\n */\n\nimport React, { useEffect } from \"react\";\n\nexport interface ToastProps {\n /** Message to display */\n message: string;\n /** Visual variant */\n variant?: \"success\" | \"error\" | \"warning\" | \"info\";\n /** Auto-dismiss after ms (0 = no auto-dismiss) */\n duration?: number;\n /** Called when toast is dismissed */\n onDismiss?: () => void;\n}\n\nconst VARIANT_STYLES: Record<string, React.CSSProperties> = {\n success: { borderLeft: \"3px solid var(--color-success)\" },\n error: { borderLeft: \"3px solid var(--color-error)\" },\n warning: { borderLeft: \"3px solid var(--color-warning)\" },\n info: { borderLeft: \"3px solid var(--color-primary)\" },\n};\n\nconst VARIANT_ICONS: Record<string, string> = {\n success: \"✓\",\n error: \"✕\",\n warning: \"⚠\",\n info: \"ℹ\",\n};\n\n/**\n * Toast notification with auto-dismiss and ARIA live region.\n *\n * Renders as a fixed bottom-right overlay using CSS classes\n * defined in App.css (.toast, .toast-success, etc).\n * Announces content to screen readers via aria-live=\"assertive\".\n */\nexport function Toast({\n message,\n variant = \"info\",\n duration = 4000,\n onDismiss,\n}: ToastProps): React.ReactElement {\n useEffect(() => {\n if (duration > 0 && onDismiss) {\n const timer = setTimeout(onDismiss, duration);\n return () => clearTimeout(timer);\n }\n return undefined;\n }, [duration, onDismiss]);\n\n return (\n <div\n className={`toast toast-${variant}`}\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n style={VARIANT_STYLES[variant]}\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--spacing-sm)\",\n }}\n >\n <span aria-hidden=\"true\" style={{ fontWeight: 600 }}>\n {VARIANT_ICONS[variant]}\n </span>\n <span>{message}</span>\n {onDismiss && (\n <button\n onClick={onDismiss}\n aria-label=\"Dismiss notification\"\n style={{\n marginLeft: \"auto\",\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n color: \"var(--color-text-muted)\",\n fontSize: \"1rem\",\n padding: \"0 var(--spacing-xs)\",\n }}\n >\n ✕\n </button>\n )}\n </div>\n </div>\n );\n}\n\n/**\n * ToastContainer — manages a list of toasts.\n *\n * Renders toasts stacked from the bottom-right corner.\n * Use with a state array of ToastProps objects.\n */\nexport interface ToastItem extends ToastProps {\n id: string;\n}\n\nexport interface ToastContainerProps {\n toasts: ToastItem[];\n onDismiss: (id: string) => void;\n}\n\nexport function ToastContainer({\n toasts,\n onDismiss,\n}: ToastContainerProps): React.ReactElement {\n return (\n <div\n aria-label=\"Notifications\"\n style={{\n position: \"fixed\",\n bottom: \"var(--spacing-lg)\",\n right: \"var(--spacing-lg)\",\n zIndex: 60,\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--spacing-sm)\",\n pointerEvents: \"none\",\n }}\n >\n {toasts.map((toast) => (\n <div key={toast.id} style={{ pointerEvents: \"auto\" }}>\n <Toast {...toast} onDismiss={() => onDismiss(toast.id)} />\n </div>\n ))}\n </div>\n );\n}\n"],"names":["ThemeContext","createContext","STORAGE_KEY","getInitialTheme","savedTheme","applyTheme","theme","root","ThemeProvider","children","setThemeState","useState","useEffect","mediaQuery","handleChange","e","setTheme","newTheme","value","jsx","useTheme","context","useContext","SunIcon","jsxs","MoonIcon","ThemeToggle","toggleTheme","pseudoDescriptorsBase","pseudoPriorities","pseudoDescriptors","defaultMediaImportance","mergeProps","defaultProps","props","out","key","mergeProp","mergeComponentProps","contextProps","overriddenContext","contextValue","val","defaultVal","objectIdentityKey","obj","k","arg","type","cache","v","createStyledContext","defaultValues","namespace","createReactContext","React","useReactMemo","useReactContext","OGContext","OGProvider","Context","scopedContexts","LastScopeInNamespace","getOrCreateScopedContext","scope","ScopedContext","getNamespacedScope","Provider","scopeIn","__disableMergeDefaultValues","values","next","ScopedProvider","useStyledContext","lastScopeInNamespace","ComponentContext","GroupContext","useCreateShallowSetState","setter","debug","useCallback","stateOrGetState","prev","update","mergeIfNotShallowEqual","isEqualShallow","isWeb","isBrowser","isServer","isClient","useIsomorphicLayoutEffect","useLayoutEffect","currentPlatform","THEME_CLASSNAME_PREFIX","MISSING_THEME_MESSAGE","conf","setConfigCalledByThisInstance","haventCalledErrorMessage","getConfigFromGlobalOrLocal","getSetting","config","setConfig","getConfig","getConfigMaybe","camelToHyphen","str","m","mediaObjectToString","query","res","feature","mediaState","target","setMediaState","mediaQueryConfig","getMedia","mediaKeys","kebabToCamel","_","c","isValidPseudo","getGroupPropParts","groupProp","name","a","b","m2","media","pseudoCandidate","MEDIA_SEP","prefixes","selectors","resetMediaStyleCache","groupPseudoToPseudoCSSMap","specificities","i","getThemeOrGroupSelector","styleInner","isGroup","groupParts","isTheme","precedenceImportancePrefix","selectorStart","selectorEnd","selector","precedenceSpace","pseudoSelectorName","pseudoSelector","presedencePrefix","mediaSelector","createMediaStyle","styleObject","mediaKeyIn","mediaQueries","negate","priority","property","identifier","pseudoIn","rules","isPlatform","isNonWindowMedia","negKey","ogPrefix","id","styleRule","groupPriority","groupMediaKey","containerName","nextIdentifier","rule","isHover","specificity","pseudo","nextSelector","index","mediaKey","prefix","matchMedia","matchMediaFallback","mediaKeyRegex","isMediaKey","getMediaKey","match","initState","mediaKeysOrdered","getMediaKeyImportance","dispose","mediaVersion","configureMedia","mediaQueryDefaultActive","setupMediaListeners","unlisten","cb","setupVersion","getMatch","updateMediaListeners","listeners","States","setMediaShouldUpdate","ref","enabled","keys","cur","subscribe","subscriber","useMedia","componentContext","componentState","internalRef","useRef","state","useSyncExternalStore","curKeys","lastState","pendingState","ms","getServerSnapshot","disableMediaTouch","_disableMediaTouch","getMediaState","mediaGroups","layout","mediaKeyMatch","getMediaImportanceIfMoreImportant","styleState","isSizeMedia","importance","usedKeys","dimensions","expectedVal","isMax","isWidth","givenVal","cacheSize","simpleHash","strIn","hashMin","hash","valids","added","len","char","isValidCSSCharCode","hashChar","code","clamp","min","max","composeEventHandlers","og","checkDefaultPrevented","event","StyleObjectProperty","StyleObjectValue","StyleObjectIdentifier","StyleObjectPseudo","StyleObjectRules","ALL_PLATFORMS","shouldRenderNativePlatform","nativeProp","userRequestedPlatforms","resolvePlatformNames","platform","platforms","set","nonAnimatableWebViewProps","nonAnimatableWebTextProps","webOnlyStylePropsView","webOnlyStylePropsText","cssShorthandLonghands","textColors","tokenCategories","nonAnimatableViewProps","nonAnimatableFontProps","nonAnimatableTextOnlyProps","nonAnimatableUnitlessProps","nonAnimatableStyleProps","stylePropsUnitless","stylePropsTransform","stylePropsView","stylePropsFont","stylePropsTextOnly","stylePropsText","stylePropsAll","validPseudoKeys","validStyles","Decorated","withStaticProperties","component","staticProps","constructCSSVariableName","createVariable","skipHash","isVariable","createCSSVariable","variableToString","vrble","getValue","getVariable","nameOrVariable","group","setDidGetVariableValue","tokens","_a","accessed","didGetVariableValue","getVariableValue","getVariableVariable","nameProp","includeVar","curSchemeKeys","curProps","curState","emptyObject","getThemeProxied","_props","_state","_keys","_schemeKeys","track","schemeOptimized","proxied","proxied2","outVal","scheme","ThemeStateContext","allListeners","listenersByParent","HasRenderedOnce","HadTheme","PendingUpdate","states","localStates","getThemeState","cacheVersion","themeNameCache","themeNameCacheVer","themes","useThemeState","isRoot","schemeKeys","disable","parentId","useId","propsKey","getPropsKey","getSnapshot","local","parentState","isSchemeOnlyChange","keysSize","allKeysSchemeOptimized","_b","canSkipForSchemeChange","needsUpdate","_c","_d","rerender","getNextState","scheduleUpdate","pendingUpdate","getNewThemeName","isSameAsParent","shouldRerender","message","getScheme","isInverse","nextState","shouldAvoidRerender","queue","visited","parent","childId","validSchemes","parentName","forceUpdate","reset","componentName","cacheKey","cached","themes2","result2","lastPartIndex","name2","result","parentParts","lastName","subNames","found","nameHasScheme","subName","potentialBases","outer","base","candidates","potential","forceClassName","hasThemeUpdatingProps","useThemeWithState","themeState","setRef","composeRefs","refs","node","isDevTools","defaultComponentState","defaultComponentStateMounted","defaultComponentStateShouldEnter","getWebEvents","events","webStyle","getDefaultProps","staticConfig","propsComponentName","userDefaultProps","resolveAnimationDriver","driver","defaultOffset","normalizeShadow","shadowColor","shadowOffset","shadowOpacity","shadowRadius","height","width","fixStyles","style","borderDefaults","normalizeColor","color","opacity","stylePropsAllPlusTransforms","normalizeValueWithProperty","transformsToString","transforms","transform","getCSSStylesAtomic","styleToCSS","getStyleAtomic","subKey","so","getStyleObject","pseudoPrefix","createAtomicRules","offset","radius","shadow","textShadowColor","textShadowOffset","textShadowRadius","blurRadius","offsetX","offsetY","createDeclarationBlock","important","hyphenateStyleName","hcache","toHyphenLower","selectorPriority","pseudoIdPostfix","cls","block","webkitProperty","finalValue","r","scannedCache","totalSelectorsInserted","allSelectors","allRules","getAllSelectors","getAllRules","lastScannedSheets","scanAllSheets","collectThemes","sheets","current","sheet2","updateSheetStyles","trackInsertedStyle","bailAfterEnv","bailAfter","remove","firstSelector","getTamaguiSelector","lastSelector","lastScanned","fails","dedupedThemes","nameToTheme","response","cssRule","deduped","addThemesFromCSS","x","colorVarToVal","rootComputedStyle","cssStyleRule","token","sepI","varIndex","varName","tokenVal","names","lastThemeSelectorIndex","schemeChar","themeName","tamaguiSelectorRegex","text","getIdentifierFromTamaguiSelector","dotIndex","sheet","trackAllRules","stopAccumulatingRules","updateRules","insertStyleRules","rulesToInsert","styleTag","shouldInsertStyleRules","maxToInsert","total","isActivePlatform","isActiveTheme","activeThemeName","log","args","err","neg1Flex","expandStyle","EXPANSIONS","all","horiz","vert","xy","getVariantExtras","styleProps","styledContext","fonts","getFontsForLanguage","fontLanguageCache","language","lang","langKey","fontShorthand","didLogMissingToken","_lastFontFamilyToken","getLastFontFamilyToken","setLastFontFamilyToken","getTokenForKey","resolveAs","fontFamily","themeValue","tokensParsed","valOrVar","hasSet","customTokenAccept","fam","fontsParsed","_e","cat","_f","spaceVar","resolveVariableValue","resolveValues","get","isObj","normalizeStyle","disableNormalize","prop","tokenPattern","platformResolveValue","_key","t","compoundKeys","resolveCompoundTokens","isRemValue","nativeOnlyProps","skipProps","propMapper","disabled","map","variants","variantValue","resolveVariants","key2","value2","originalValue","resolved","fontToken","expanded","nkey","nvalue","parentVariantKey","getVariantDefinition","fn","extras","fontFamilyResult","fontFamilyUpdate","getFontFamilyFromNameOrVariable","resolveTokensAndVariants","input","variableToFontNameCache","familyVariable","variantOut","val2","fVal","subObject","tokenCats","variant","exact","spreadName","fontSizeVariant","sortString","styleOriginalValues","PROP_SPLIT","normalizeGroupKey","groupContext","parts","plen","isValidStyleKey","accept","getSplitStyles","parentSplitStyles","elementType","startedUnhydrated","animationDriver","shorthands","isHOC","isText","isInput","isReactNative","inlineProps","inlineWhenUnflattened","parentStaticConfig","acceptsClassName","viewProps","globalMediaState","shouldDoClasses","classNames","pseudos","hasMedia","dynamicThemeAccess","pseudoGroups","className","mediaStylesSeen","validStylesView","fallbackProps","asChild","noSkip","disableExpandShorthands","noExpand","webContainerType","parentVariants","keyOg","keyInit","valInit","accepted","getSubStyle","defaults","containerCSS","addStyleToInsertRules","isValidStyleKeyInit","isVariant","isStyleLikeKey","isPseudo","isMedia","isMediaOrPseudo","isStyleProp","shouldPassProp","parentVariant","isHOCShouldPassThrough","shouldPassThrough","passDownProp","disablePropMap","originalVal","isStyledContextProp","mergeStyle","pseudoStyleObject","descriptor","isEnter","isExit","pseudoStyles","psuedoStyle","fullKey","descriptorKey","isDisabled","pseudoOriginalValues","pkey","applyDefaultStyle","curImportance","shouldMerge","mediaKeyShort","mediaStyle","mediaStyles","isSubStyle","mergeMediaStyle","originalVal2","mergeMediaByImportance","importanceBump","isThemeMedia","isGroupMedia","groupInfo","groupName","groupState","groupPseudoKey","componentGroupState","mediaState2","isActive","componentGroupPseudoState","priority2","mediaOriginalValues","subOriginalValues","subSubKey","mergeFlatTransforms","retainedStyles","shouldRetain","atomic","atomicStyle","isAnimatedAndTransitionOnly","nonAnimatedTransitionOnly","toConvert","hasProps","styleProp","isArray","asChildExceptStyleLike","fontFamilyClassName","groupClassName","componentNameFinal","componentNameClassName","classList","finalClassName","needsCssStyles","cnStyles","logs","flatTransforms","mergeTransform","originalFromState","styleIn","avoidMergeTransform","conf2","styleOut","originalValues","animationConfig","skey","sval","parentTransform","styleOutTransform","merged","pt","pk","j","sk","fk","ck","useInsertEffectCompat","useSplitStyles","d","f","g","h","l","defaultColor","animatableDefaults","backwards","mapTransformKeys","shouldMergeObject","debugProp","isEventHandler","mergeSlotStyleProps","overlay","baseVal","overlayVal","mergeRenderElementProps","elementProps","resolveEffectivePseudoTransition","pseudoTransitions","baseTransition","prevState","pseudoType","nextGroupPseudo","prevGroupPseudo","extractPseudoState","groups","hooks","setupHooks","setElementProps","subscribeToContextGroup","disposables","createGroupListener","setStateShallow","didChange","ClientOnlyContext","ClientOnly","existingValue","useIsClientOnly","useDidFinishSSR","ThemeDebug","themeProps","isHydrated","Fragment","createPortal","Theme","forwardRef","passThrough","finalChildren","Children","child","isValidElement","cloneElement","stateRef","getThemedChildren","shallow","shouldRenderChildrenWithTheme","requiresExtraWrapper","getThemeClassNameAndColor","baseStyle","inertContainedStyle","inertStyle","className2","empty","themeColor","themeClassName","schemePrefix","themeNameParts","themeClasses","hierarchyClasses","themeable","Component","optimize","withTheme","userDefaults","defaultTheme","defaultResetTheme","themeReset","rest","overriddenContextProps","element","filteredProps","compName","contents","getStyleTags","styles","useComponentState","needsHydration","useAnimations","hasAnimationProp","hasAnimatedStyleValue","inputStyle","outputStyle","curStateRef","willBeAnimatedClient","willBeAnimated","disableClassName","presence","presenceState","isExiting","isEntering","hasEnterStyle","hasAnimationThatNeedsHydrate","initialState","setState","isAnimated","enterVariant","exitVariant","enterExitVariant","custom","exv","env","noClass","isAnimatedAndHydrated","isClassNameDisabled","isDisabledManually","Slot","memo","forwardedRef","slotProps","mergedProps","mergeSlotProps","pressMap","childProps","isHTMLChild","time","debugKeyListeners","startVisualizer","componentSetStates","avoidReRenderKeys","cancelPresses","cancelTouches","lastInteractionWasKeyboard","lastInteractionWasTouch","createComponent","propsIn","internalID","styledContextValue","hasTextAncestor","nextProps","overrides","debugVisualizerHandler","show","dataAt","dataIn","tooltip","groupContextParent","allGroupContexts","useMemo","state2","listener","renderProp","BaseComponent","disableTheme","themeStateProps","dataIs","banner","ch","childLog","isStringElement","splitStyles","isPassthrough","contextForOverride","contextForProps","fromPx","hasEnterExitTransition","updateGroupListeners","updatedState","hasDynGroupChildren","unmounted","transition","childrenGroupState","notifyGroupSubscribers","ogSetStateShallow","useStyleListener","nextStyles","effectiveTransition","updateListener","nextOrGetNext","canAvoidReRender","hasRuntimeMediaKeys","shouldListenForMedia","mediaListeningKeys","viewPropsIn","splitStylesStyle","propsWithAnimation","themeShallow","_spaceDirection","onPress","onLongPress","onPressIn","onPressOut","onHoverIn","onHoverOut","onMouseUp","onMouseDown","onMouseEnter","onMouseLeave","onFocus","onBlur","separator","_forceStyle","onClick","_themeProp","nonTamaguiProps","animationStyles","shouldUseAnimation","animatedRef","useStyleEmitter","animations","item","unPress","cssStyleDeclarationToObject","computed","cancelled","groupEmitter","runtimePressStyle","runtimeFocusStyle","runtimeFocusVisibleStyle","attachFocus","hasDynamicGroupChildren","attachPress","runtimeHoverStyle","needsHoverState","attachHover","shouldAttach","needsPressState","passEvents","content","isRenderPropString","getCustomRender","ResetPresence","needsReset","hasEverReset","title","extendStyledConfig","extended","styleable","Component2","options","extendedConfig","registerCSSVariable","tokensValueToVariable","variableToCSS","unitless","autoVarId","autoVariables","getOrCreateVariable","variable","mutatedVarId","mutatedTokensValueToVariable","getOrCreateMutatedVariable","darkLight","lightDark","getThemeCSSRules","cssRuleSets","hasDarkLight","CNP","vars","variableCreator","themeKey","isDarkBase","isLightBase","baseSelectors","selectorsSet","isDark","isLight","childSelector","order","stronger","weaker","numSelectors","depth","isOdd","parents","idx","parentSelectors","_first","second","lastParentSelector","nextChildSelector","parentSelectorString","css","addTo","isBaseTheme","baseName","lessSpecificSelectors","darkSelector","lightSelector","isBase","bodyRulesString","bgString","fgString","themeRules","prefersMediaSelectors","selectionStyles","selectionSelectors","s","css2","themesRaw","proxyThemesToParents","proxiedTheme","proxyThemeToParents","part","ensureThemeVariable","fontWeights","processSection","section","defaultValue","sectionKeys","fillValue","createFont","font","sizeKeys","processedFont","createVariables","parentPath","isFont","keyIn","isPrefixed","keyWithPrefix","niceKey","finalValue2","noAnimationDriver","method","createEmptyAnimationDriver","defaultAnimationDriver","getFontPropertyDeclarations","fontParsed","tokenKey","getVarRef","letterSpacing","lineHeight","fontStyle","fontWeight","createTokenCSS","shouldTokenCategoryHaveUnits","declarations","sortedTokenKeys","sortedSubKeys","variableNeedsPx","categoryNeedsPx","shouldBeUnitless","createFontCSS","registerFontVariables","fontDeclarations","sortedFontKeys","fontVars","buildCSSRuleSets","defaultFontToken","declarationsToRuleSet","decs","fontSelectors","sortedFontDeclarationKeys","declarations2","fontSelector","langSelector","specificRuleSet","firstFont","fontProps","sharedSelectors","createThemeCSS","configIn","themeRuleSets","nextRules","getCSS","themeConfig","opts","lastIndex","sinceLastCall","exclude","newRules","runtimeStyles","parseFont","definition","parsed","attrKey","attr","parsedFont","fkey","fskey","Tamagui","TamaguiManager","__publicField","Helpers","identifierToValue","category","createTamagui","existingConfig","tokensMerged","tokenCat","prefixedKey","foundThemes","noThemes","fontSizeTokens","fontTokens","familyName","specificTokens","themesIn","getThemesDeduped","userShorthands","builtinShorthands","lastCSSIndex","getCSSHelper","getNewCSS","defaultFontSetting","defaultFont","defaultPositionSetting","inputAnimations","resolvedDriver","colorTokens","existing","sortedThemeNames","darkOrLightSpecificPrefix","rawTheme","createTokens","ReactNativeStaticConfigs","getReactNativeConfig","RNConfigs","mergeVariants","ourVariants","level","ourVariant","textLikeElements","styledHtml","tag","defaultVariants","styled","ComponentIn","isPlainStyledComponent","reactNativeConfig","staticConfigProps","parentDefaultVariants","parentDefaultProps","pdp","styledExport","View","defaultFontClass","TamaguiRoot","isRootRoot","mounted","setMounted","addThemeClassName","cn","TamaguiProvider","disableInjectCSS","insets","memoizedInsets","ellipsisStyle","Text","numberOfLines","LayoutHandlers","LayoutDisableKey","Nodes","IntersectionState","usePretransformDimensions","_debugLayout","isDebugLayout","DisableLayoutContextValues","DisableLayoutContextKey","ENABLE","globalIntersectionObserver","strategy","NodeRectCache","avoidUpdates","queuedUpdates","enable","startGlobalObservers","entries","entry","rectsEqual","ensureRectFetchObserver","rectFetchObserver","lastCallbackDelay","rectFetchStartTime","BoundingRects","rectFetchResolve","updateLayoutIfChanged","onLayout","parentNode","nodeRect","parentRect","cachedRect","cachedParentRect","nodeChanged","parentChanged","getElementLayoutEvent","rAF","userSkipVal","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","layoutOnAnimationFrame","visibleNodes","parentsToObserve","parentElement","cleanupNode","disableKey","io","getRelativeDimensions","getPreTransformDimensions","aNode","left","top","y","PrevHostNode","useElementLayout","ensureWebElement","nextNode","prevNode","handler","node2","swappedNode","getBoundingClientRectAsync","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","measure","callback","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout","getBaseViews","WebTamaguiProvider","createTamaguiWeb","willHydrate","isDOM","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderGrant","onResponderMove","onResponderReject","onResponderRelease","onResponderStart","onResponderTerminate","onResponderTerminationRequest","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","collapsable","focusable","accessible","accessibilityDisabled","hrefAttrs","plainDOMProps","download","rel","WebView","WebText","buildColorTokens","colors","buildSizeTokens","typography","numeric","buildTheme","mode","themeSource","acc","kebab","buildSpaceTokens","spacing","buildRadiusTokens","generateMDesignConfig","generated","headingFont","bodyFont","mThemeConfig","MProvider","CoreTamaguiProvider","STATE_COLORS","getStateColor","normalizedState","StateBadge","docstatus","displayState","DEFAULT_LOCALES","LocaleSwitcher","onChangeLanguage","locales","locale","Skeleton","count","variantClass","MStack","_XStack","XStack","_YStack","YStack","_ZStack","ZStack","_MText","MText","_Paragraph","Paragraph","_Heading","Heading","StyledButton","Button","size","loading","_Card","Card","StyledInput","Input","onChange","onChangeText","DatePicker","placeholder","showPicker","setShowPicker","isEditingYear","setIsEditingYear","isEditingMonth","setIsEditingMonth","containerRef","toLocalISO","date","pad","n","yyyy","mm","dd","hh","sec","selectedDate","viewDate","setViewDate","handleClickOutside","handleSelection","formatted","handleDayClick","day","newDate","handleTimeChange","deltaHours","deltaMinutes","deltaSeconds","toggleAMPM","setNow","now","daysInMonth","month","year","firstDayOfMonth","days","monthNames","isSelected","isPM","StyledSelect","Select","error","onValueChange","stackProps","isControlled","opt","VARIANT_STYLES","VARIANT_ICONS","Toast","duration","onDismiss","timer","ToastContainer","toasts","toast"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97]}
1
+ {"version":3,"file":"index.js","sources":["../src/theme/ThemeContext.tsx","../src/theme/ThemeToggle.tsx","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/pseudoDescriptors.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mergeProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/objectIdentityKey.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/createStyledContext.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/contexts/ComponentContext.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/contexts/GroupContext.mjs","../../../node_modules/.pnpm/@tamagui+is-equal-shallow@2.0.0-rc.26_react@19.2.4/node_modules/@tamagui/is-equal-shallow/dist/esm/index.mjs","../../../node_modules/.pnpm/@tamagui+constants@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/constants/dist/esm/constants.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/constants/constants.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/config.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mediaObjectToString.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mediaState.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getGroupPropParts.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/createMediaStyle.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/matchMedia.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/hooks/useMedia.mjs","../../../node_modules/.pnpm/@tamagui+simple-hash@2.0.0-rc.26/node_modules/@tamagui/simple-hash/dist/esm/index.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/clamp.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/composeEventHandlers.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/types.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/shouldRenderNativePlatform.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/webOnlyStyleProps.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/validStyleProps.mjs","../../../node_modules/.pnpm/@tamagui+helpers@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/@tamagui/helpers/dist/esm/withStaticProperties.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createVariable.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/hooks/getThemeProxied.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/hooks/useThemeState.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/hooks/useTheme.mjs","../../../node_modules/.pnpm/@tamagui+compose-refs@2.0.0-rc.26_react@19.2.4/node_modules/@tamagui/compose-refs/dist/esm/compose-refs.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/constants/isDevTools.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/defaultComponentState.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/eventHandling.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getDefaultProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/resolveAnimationDriver.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/defaultOffset.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/normalizeShadow.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/expandStyles.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/normalizeColor.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/normalizeValueWithProperty.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/transformsToString.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getCSSStylesAtomic.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/insertStyleRule.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/isActivePlatform.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/isActiveTheme.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/log.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/expandStyle.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getVariantExtras.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getTokenForKey.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/isObj.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/normalizeStyle.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/platformResolveValue.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/resolveCompoundTokens.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/resolveRem.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/nativeOnlyProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/skipProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/propMapper.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/sortString.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getSplitStyles.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mergeSlotStyleProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mergeRenderElementProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/pseudoTransitions.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/setupHooks.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/setElementProps.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/subscribeToContextGroup.mjs","../../../node_modules/.pnpm/@tamagui+use-did-finish-ssr@2.0.0-rc.26_react@19.2.4/node_modules/@tamagui/use-did-finish-ssr/dist/esm/ClientOnly.mjs","../../../node_modules/.pnpm/@tamagui+use-did-finish-ssr@2.0.0-rc.26_react@19.2.4/node_modules/@tamagui/use-did-finish-ssr/dist/esm/index.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/ThemeDebug.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/Theme.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/themeable.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/wrapStyleTags.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/hooks/useComponentState.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/Slot.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createComponent.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/registerCSSVariable.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/getThemeCSSRules.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/proxyThemeToParents.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/themes.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createFont.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createVariables.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/defaultAnimationDriver.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/createDesignSystem.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/insertFont.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/Tamagui.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createTamagui.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/createTokens.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/setupReactNative.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/helpers/mergeVariants.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/styled.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/View.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/TamaguiRoot.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/ThemeProvider.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/TamaguiProvider.mjs","../../../node_modules/.pnpm/@tamagui+web@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+core_3ab4c0617df2bce20805ae6fc2310f52/node_modules/@tamagui/web/dist/esm/views/Text.mjs","../../../node_modules/.pnpm/@tamagui+use-element-layout@2.0.0-rc.26_react-native@0.84.1_@babel+core@7.29.0_@types+r_c790c9e569c9c637ae5691fedd2b0e36/node_modules/@tamagui/use-element-layout/dist/esm/index.mjs","../../../node_modules/.pnpm/@tamagui+core@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+cor_c2f4871598b58906851f19c16dfae040/node_modules/@tamagui/core/dist/esm/getBaseViews.mjs","../../../node_modules/.pnpm/@tamagui+core@2.0.0-rc.26_react-dom@19.2.4_react@19.2.4__react-native@0.84.1_@babel+cor_c2f4871598b58906851f19c16dfae040/node_modules/@tamagui/core/dist/esm/index.mjs","../src/tokens/config.ts","../src/theme/mThemeConfig.ts","../src/theme/MProvider.tsx","../src/components/StateBadge.tsx","../src/components/LocaleSwitcher.tsx","../src/components/Skeleton.tsx","../src/components/Primitives.tsx","../src/components/Button.tsx","../src/components/Card.tsx","../src/components/Input.tsx","../src/components/DatePicker.tsx","../src/components/Select.tsx","../src/components/Toast.tsx"],"sourcesContent":["/**\n * ThemeContext — Theme management (light/dark mode)\n *\n * Pure presentational context — no Framework M or Refine dependencies.\n * Provides theme state, persistence to localStorage, and system preference detection.\n *\n * @example\n * ```tsx\n * import { ThemeProvider, useTheme } from \"@framework-m/ui\";\n *\n * function App() {\n * return (\n * <ThemeProvider>\n * <MyComponent />\n * </ThemeProvider>\n * );\n * }\n *\n * function MyComponent() {\n * const { theme, toggleTheme } = useTheme();\n * return <button onClick={toggleTheme}>Current: {theme}</button>;\n * }\n * ```\n */\n\nimport {\n createContext,\n useContext,\n useState,\n useEffect,\n type ReactNode,\n} from \"react\";\n\nexport type Theme = \"light\" | \"dark\";\n\nexport interface ThemeContextType {\n theme: Theme;\n setTheme: (theme: Theme) => void;\n toggleTheme: () => void;\n}\n\nconst ThemeContext = createContext<ThemeContextType | null>(null);\n\nconst STORAGE_KEY = \"framework-m-theme\";\n\nfunction getInitialTheme(): Theme {\n const savedTheme = localStorage.getItem(STORAGE_KEY) as Theme | null;\n if (savedTheme === \"light\" || savedTheme === \"dark\") {\n return savedTheme;\n }\n\n if (\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ) {\n return \"dark\";\n }\n\n return \"light\";\n}\n\nfunction applyTheme(theme: Theme) {\n const root = document.documentElement;\n if (theme === \"dark\") {\n root.classList.add(\"dark\");\n } else {\n root.classList.remove(\"dark\");\n }\n}\n\nexport interface ThemeProviderProps {\n children: ReactNode;\n}\n\nexport function ThemeProvider({ children }: ThemeProviderProps) {\n const [theme, setThemeState] = useState<Theme>(getInitialTheme);\n\n useEffect(() => {\n applyTheme(theme);\n }, [theme]);\n\n useEffect(() => {\n const mediaQuery = window.matchMedia(\"(prefers-color-scheme: dark)\");\n\n const handleChange = (e: MediaQueryListEvent) => {\n const savedTheme = localStorage.getItem(STORAGE_KEY);\n if (!savedTheme) {\n setThemeState(e.matches ? \"dark\" : \"light\");\n }\n };\n\n mediaQuery.addEventListener(\"change\", handleChange);\n return () => mediaQuery.removeEventListener(\"change\", handleChange);\n }, []);\n\n const setTheme = (newTheme: Theme) => {\n setThemeState(newTheme);\n localStorage.setItem(STORAGE_KEY, newTheme);\n applyTheme(newTheme);\n };\n\n const toggleTheme = () => {\n setTheme(theme === \"light\" ? \"dark\" : \"light\");\n };\n\n const value: ThemeContextType = { theme, setTheme, toggleTheme };\n\n return (\n <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>\n );\n}\n\nexport function useTheme(): ThemeContextType {\n const context = useContext(ThemeContext);\n if (!context) {\n throw new Error(\"useTheme must be used within ThemeProvider\");\n }\n return context;\n}\n","/**\n * ThemeToggle — Switch between light and dark themes.\n *\n * Pure presentational component — uses only ThemeContext from this package.\n *\n * @example\n * ```tsx\n * import { ThemeToggle } from \"@framework-m/ui\";\n * <ThemeToggle />\n * ```\n */\n\nimport { useTheme } from \"./ThemeContext\";\n\nfunction SunIcon() {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\" />\n <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\" />\n <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\" />\n <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\" />\n <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\" />\n <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\" />\n <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\" />\n <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\" />\n </svg>\n );\n}\n\nfunction MoonIcon() {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\" />\n </svg>\n );\n}\n\nexport function ThemeToggle() {\n const { theme, toggleTheme } = useTheme();\n\n return (\n <button\n onClick={toggleTheme}\n className=\"theme-toggle\"\n aria-label={`Switch to ${theme === \"light\" ? \"dark\" : \"light\"} mode`}\n title={`Current theme: ${theme}`}\n type=\"button\"\n >\n {theme === \"light\" ? <MoonIcon /> : <SunIcon />}\n\n <style>{`\n .theme-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: 8px;\n color: var(--text-color, #333);\n transition: all 0.2s ease;\n }\n\n .theme-toggle:hover {\n background: var(--hover-bg, rgba(0, 0, 0, 0.05));\n }\n\n .theme-toggle:active {\n transform: scale(0.95);\n }\n\n .theme-toggle:focus-visible {\n outline: 2px solid var(--primary-color, #3b82f6);\n outline-offset: 2px;\n }\n\n .dark .theme-toggle {\n color: var(--text-color-dark, #e5e7eb);\n }\n\n .dark .theme-toggle:hover {\n background: var(--hover-bg-dark, rgba(255, 255, 255, 0.1));\n }\n `}</style>\n </button>\n );\n}\n","const pseudoDescriptorsBase = {\n // order of keys here important! in priority order\n hoverStyle: {\n name: \"hover\",\n priority: 2\n },\n pressStyle: {\n name: \"active\",\n stateKey: \"press\",\n priority: 3\n },\n focusVisibleStyle: {\n name: \"focus-visible\",\n priority: 4,\n stateKey: \"focusVisible\"\n },\n focusStyle: {\n name: \"focus\",\n priority: 4\n },\n focusWithinStyle: {\n name: \"focus-within\",\n priority: 4,\n stateKey: \"focusWithin\"\n },\n disabledStyle: {\n name: \"disabled\",\n priority: 5,\n stateKey: \"disabled\"\n }\n },\n pseudoPriorities = {\n hover: pseudoDescriptorsBase.hoverStyle.priority,\n press: pseudoDescriptorsBase.pressStyle.priority,\n focus: pseudoDescriptorsBase.focusStyle.priority,\n focusVisible: pseudoDescriptorsBase.focusVisibleStyle.priority,\n focusWithin: pseudoDescriptorsBase.focusWithinStyle.priority,\n disabled: pseudoDescriptorsBase.disabledStyle.priority\n },\n pseudoDescriptors = {\n ...pseudoDescriptorsBase,\n enterStyle: {\n name: \"enter\",\n selector: \".t_unmounted\",\n priority: 4\n },\n exitStyle: {\n name: \"exit\",\n priority: 5\n }\n },\n defaultMediaImportance = Object.keys(pseudoDescriptors).length;\nexport { defaultMediaImportance, pseudoDescriptors, pseudoDescriptorsBase, pseudoPriorities };\n//# sourceMappingURL=pseudoDescriptors.mjs.map\n","import { pseudoDescriptors } from \"./pseudoDescriptors.mjs\";\nconst mergeProps = (defaultProps, props) => {\n const out = {};\n for (const key in defaultProps) key in props || (out[key] = defaultProps[key]);\n for (const key in props) mergeProp(out, defaultProps, props, key);\n return out;\n },\n mergeComponentProps = (defaultProps, contextProps, props) => {\n let overriddenContext = null;\n if (!defaultProps && !contextProps) return [props, overriddenContext];\n if (defaultProps && !contextProps) return [mergeProps(defaultProps, props), overriddenContext];\n const out = {};\n for (const key in defaultProps) key in props || (out[key] = defaultProps[key]);\n for (const key in contextProps) {\n if (key in props) continue;\n const contextValue = contextProps[key];\n contextValue !== void 0 && (out[key] = contextValue);\n }\n for (const key in props) mergeProp(out, defaultProps, props, key), contextProps && key in contextProps && (overriddenContext ||= {}, overriddenContext[key] = props[key]);\n return [out, overriddenContext];\n };\nfunction mergeProp(out, defaultProps, props, key) {\n let val = props[key];\n if (defaultProps && key in defaultProps && (key in pseudoDescriptors || key[0] === \"$\") && val && typeof val == \"object\") {\n const defaultVal = defaultProps[key];\n defaultVal && typeof defaultVal == \"object\" && (val = mergeProps(defaultVal, val));\n }\n out[key] = val;\n}\nexport { mergeComponentProps, mergeProps };\n//# sourceMappingURL=mergeProps.mjs.map\n","function objectIdentityKey(obj) {\n let k = \"\";\n for (const key in obj) {\n k += key;\n const arg = obj[key];\n let type = typeof arg;\n if (!arg || type !== \"object\" && type !== \"function\") k += type + arg;else if (cache.has(arg)) k += cache.get(arg);else {\n let v = Math.random();\n cache.set(arg, v), k += v;\n }\n }\n return k;\n}\nconst cache = /* @__PURE__ */new WeakMap();\nexport { objectIdentityKey };\n//# sourceMappingURL=objectIdentityKey.mjs.map\n","import React from \"react\";\nimport { mergeProps } from \"./mergeProps.mjs\";\nimport { objectIdentityKey } from \"./objectIdentityKey.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nconst createStyledContext = (defaultValues, namespace = \"\") => {\n \"use no memo\";\n\n const createReactContext = React[Math.random(), \"createContext\"],\n useReactMemo = React[Math.random(), \"useMemo\"],\n useReactContext = React[Math.random(), \"useContext\"],\n OGContext = createReactContext(defaultValues),\n OGProvider = OGContext.Provider,\n Context = OGContext,\n scopedContexts = /* @__PURE__ */new Map(),\n LastScopeInNamespace = createReactContext(namespace);\n function getOrCreateScopedContext(scope) {\n let ScopedContext = scopedContexts.get(scope);\n return ScopedContext || (ScopedContext = createReactContext(defaultValues), scopedContexts.set(scope, ScopedContext)), ScopedContext;\n }\n const getNamespacedScope = scope => namespace ? `${namespace}--${scope}` : scope,\n Provider = ({\n children,\n scope: scopeIn,\n // performance: avoid creating objects\n __disableMergeDefaultValues,\n ...values\n }) => {\n const scope = getNamespacedScope(scopeIn),\n next = useReactMemo(() => __disableMergeDefaultValues ? values : mergeProps(defaultValues, values), [objectIdentityKey(values)]);\n let ScopedProvider = OGProvider;\n return scope && (ScopedProvider = getOrCreateScopedContext(scope).Provider), /* @__PURE__ */jsx(LastScopeInNamespace.Provider, {\n value: scope,\n children: /* @__PURE__ */jsx(ScopedProvider, {\n value: next,\n children\n })\n });\n },\n useStyledContext = (scopeIn = \"\") => {\n const lastScopeInNamespace = useReactContext(LastScopeInNamespace),\n scope = namespace ? scopeIn ? getNamespacedScope(scopeIn) : lastScopeInNamespace : scopeIn,\n context = scope ? getOrCreateScopedContext(scope) : OGContext;\n return useReactContext(context);\n };\n return Context.Provider = Provider, Context.props = defaultValues, Context.context = OGContext, Context.useStyledContext = useStyledContext, Context;\n};\nexport { createStyledContext };\n//# sourceMappingURL=createStyledContext.mjs.map\n","import { useContext } from \"react\";\nimport { createStyledContext } from \"../helpers/createStyledContext.mjs\";\nconst ComponentContext = createStyledContext({\n disableSSR: void 0,\n inText: !1,\n language: null,\n animationDriver: null,\n setParentFocusState: null,\n insets: null\n }),\n useConfiguration = () => useContext(ComponentContext);\nexport { ComponentContext, useConfiguration };\n//# sourceMappingURL=ComponentContext.mjs.map\n","import { createContext } from \"react\";\nconst GroupContext = createContext(null);\nexport { GroupContext };\n//# sourceMappingURL=GroupContext.mjs.map\n","import { useCallback } from \"react\";\nfunction useCreateShallowSetState(setter, debug) {\n return useCallback(stateOrGetState => {\n setter(prev => {\n const next = typeof stateOrGetState == \"function\" ? stateOrGetState(prev) : stateOrGetState,\n update = mergeIfNotShallowEqual(prev, next);\n return process.env.NODE_ENV === \"development\" && debug && update !== prev && (console.groupCollapsed(\"setStateShallow CHANGE\", \"=>\", update), console.info(\"previously\", prev), console.trace(), console.groupEnd()), update;\n });\n }, [setter, debug]);\n}\nfunction mergeIfNotShallowEqual(prev, next) {\n return !prev || !next || isEqualShallow(prev, next) ? prev || next : {\n ...prev,\n ...next\n };\n}\nfunction isEqualShallow(prev, next) {\n for (const key in next) if (prev[key] !== next[key]) return !1;\n return !0;\n}\nexport { isEqualShallow, mergeIfNotShallowEqual, useCreateShallowSetState };\n//# sourceMappingURL=index.mjs.map\n","import { useEffect, useLayoutEffect } from \"react\";\nconst isWeb = !0,\n isBrowser = typeof window < \"u\",\n isServer = isWeb && !isBrowser,\n isClient = isWeb && isBrowser,\n isWindowDefined = isBrowser,\n useIsomorphicLayoutEffect = isServer ? useEffect : useLayoutEffect,\n isChrome = typeof navigator < \"u\" && /Chrome/.test(navigator.userAgent || \"\"),\n isWebTouchable = isClient && (\"ontouchstart\" in window || navigator.maxTouchPoints > 0),\n isTouchable = !isWeb || isWebTouchable,\n isAndroid = !1,\n isIos = process.env.TEST_NATIVE_PLATFORM === \"ios\",\n currentPlatform = \"web\";\nexport { currentPlatform, isAndroid, isBrowser, isChrome, isClient, isIos, isServer, isTouchable, isWeb, isWebTouchable, isWindowDefined, useIsomorphicLayoutEffect };\n//# sourceMappingURL=constants.mjs.map\n","const THEME_NAME_SEPARATOR = \"_\",\n THEME_CLASSNAME_PREFIX = \"t_\",\n FONT_DATA_ATTRIBUTE_NAME = \"data-tamagui-font\",\n MISSING_THEME_MESSAGE = process.env.NODE_ENV === \"development\" ? `Can't find Tamagui configuration.\n \nMost of the time this is due to having mis-matched versions of Tamagui dependencies, or bundlers somehow duplicating them.\nFirst step is to ensure every \"tamagui\" and \"@tamagui/*\" dependency is on the same version, we have a CLI tool to help: \n\n npx @tamagui/cli check\n` : \"Missing theme.\";\nexport { FONT_DATA_ATTRIBUTE_NAME, MISSING_THEME_MESSAGE, THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR };\n//# sourceMappingURL=constants.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { MISSING_THEME_MESSAGE } from \"./constants/constants.mjs\";\nlet conf,\n setConfigCalledByThisInstance = !1;\nconst haventCalledErrorMessage = process.env.NODE_ENV === \"development\" ? `\nHaven't called createTamagui yet. ${MISSING_THEME_MESSAGE}\n` : \"\\u274C Error 001\",\n getConfigFromGlobalOrLocal = () => conf || (globalThis.__tamaguiConfig ? (process.env.NODE_ENV === \"development\" && !globalThis.__tamaguiHasWarnedGlobalFallback && !globalThis.__tamaguiPendingCheck && (globalThis.__tamaguiPendingCheck = !0, setTimeout(() => {\n !setConfigCalledByThisInstance && !globalThis.__tamaguiHasWarnedGlobalFallback && (globalThis.__tamaguiHasWarnedGlobalFallback = !0, console.warn(\"Tamagui: Using global config fallback. This may indicate duplicate tamagui instances (e.g., from Vite SSR bundling). This is handled automatically, but may cause issues.\")), globalThis.__tamaguiPendingCheck = !1;\n }, 500)), globalThis.__tamaguiConfig) : null),\n getSetting = key => {\n const config = getConfigFromGlobalOrLocal();\n if (process.env.NODE_ENV === \"development\" && !config) throw new Error(haventCalledErrorMessage);\n return config.settings[key] ??\n // @ts-expect-error\n config[key];\n },\n setConfig = next => {\n setConfigCalledByThisInstance = !0, conf = next, globalThis.__tamaguiConfig = next;\n },\n setConfigFont = (name, font, fontParsed) => {\n const config = getConfigFromGlobalOrLocal();\n if (process.env.NODE_ENV === \"development\" && !config) throw new Error(haventCalledErrorMessage);\n config.fonts[name] = font, config.fontsParsed[`$${name}`] = fontParsed;\n },\n getConfig = () => {\n const config = getConfigFromGlobalOrLocal();\n if (!config) throw new Error(process.env.NODE_ENV !== \"production\" ? \"Missing tamagui config, you either have a duplicate config, or haven't set it up. Be sure createTamagui is called before rendering. Also, make sure all of your tamagui dependencies are on the same version (`tamagui`, `@tamagui/package-name`, etc.) not just in your package.json, but in your lockfile.\" : \"Err0\");\n return config;\n },\n getConfigMaybe = () => getConfigFromGlobalOrLocal();\nlet tokensMerged;\nfunction setTokens(_) {\n tokensMerged = _;\n}\nconst getTokens = ({\n prefixed\n } = {}) => {\n const config = getConfigFromGlobalOrLocal();\n if (process.env.NODE_ENV === \"development\" && !config) throw new Error(haventCalledErrorMessage);\n const {\n tokens,\n tokensParsed\n } = config;\n return prefixed === !1 ? tokens : prefixed === !0 ? tokensParsed : tokensMerged;\n },\n getTokenObject = (value, group) => getConfigFromGlobalOrLocal().specificTokens[value] ?? (group ? tokensMerged[group]?.[value] : tokensMerged[Object.keys(tokensMerged).find(cat => tokensMerged[cat][value]) || \"\"]?.[value]),\n getToken = (value, group, useVariable = isWeb) => {\n const token = getTokenObject(value, group);\n return useVariable ? token?.variable : token?.val;\n },\n getTokenValue = (value, group) => {\n if (!(value === \"unset\" || value === \"auto\")) return getToken(value, group, !1);\n },\n useTokens = getTokens,\n getThemes = () => getConfigFromGlobalOrLocal().themes,\n updateConfig = (key, value) => {\n const config = getConfigFromGlobalOrLocal();\n Object.assign(config[key], value);\n },\n getFont = name => {\n const conf2 = getConfig();\n return conf2.fontsParsed[name] ?? Object.entries(conf2.fontsParsed).find(([k]) => conf2.fontsParsed[k]?.family?.val === name)?.[1];\n };\nlet devConfig;\nfunction setupDev(conf2) {\n process.env.NODE_ENV === \"development\" && (devConfig = conf2);\n}\nfunction loadAnimationDriver(name, driver) {\n const config = getConfigFromGlobalOrLocal();\n if (!config) {\n process.env.NODE_ENV === \"development\" && console.warn(\"loadAnimationDriver called before createTamagui\");\n return;\n }\n config.animations && !(\"default\" in config.animations) && (config.animations = {\n default: config.animations\n }), config.animations ? config.animations[name] = driver : config.animations = {\n default: driver,\n [name]: driver\n };\n}\nexport { devConfig, getConfig, getConfigMaybe, getFont, getSetting, getThemes, getToken, getTokenObject, getTokenValue, getTokens, loadAnimationDriver, setConfig, setConfigFont, setTokens, setupDev, updateConfig, useTokens };\n//# sourceMappingURL=config.mjs.map\n","function camelToHyphen(str) {\n return str.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`).toLowerCase();\n}\nconst cache = /* @__PURE__ */new WeakMap();\nfunction mediaObjectToString(query) {\n if (typeof query == \"string\") return query;\n if (cache.has(query)) return cache.get(query);\n const res = Object.entries(query).map(([feature, value]) => (feature = camelToHyphen(feature), typeof value == \"string\" ? `(${feature}: ${value})` : (typeof value == \"number\" && /[height|width]$/.test(feature) && (value = `${value}px`), `(${feature}: ${value})`))).join(\" and \");\n return cache.set(query, res), res;\n}\nexport { mediaObjectToString };\n//# sourceMappingURL=mediaObjectToString.mjs.map\n","let mediaState =\n// development only safeguard\nprocess.env.NODE_ENV === \"development\" ? new Proxy({}, {\n get(target, key) {\n if (typeof key == \"string\" && key[0] === \"$\" &&\n // dont error on $$typeof\n key[1] !== \"$\") throw new Error(`Access mediaState should not use \"$\": ${key}`);\n return Reflect.get(target, key);\n }\n}) : {};\nconst setMediaState = next => {\n mediaState = next;\n },\n mediaQueryConfig = {},\n getMedia = () => mediaState,\n mediaKeys = /* @__PURE__ */new Set();\nexport { getMedia, mediaKeys, mediaQueryConfig, mediaState, setMediaState };\n//# sourceMappingURL=mediaState.mjs.map\n","import { getMedia } from \"./mediaState.mjs\";\nimport { pseudoPriorities } from \"./pseudoDescriptors.mjs\";\nfunction kebabToCamel(str) {\n return str.replace(/-([a-z])/g, (_, c) => c.toUpperCase());\n}\nfunction isValidPseudo(str) {\n return str ? kebabToCamel(str) in pseudoPriorities : !1;\n}\nfunction getGroupPropParts(groupProp) {\n const m = getMedia(),\n [_, name, a, b, c] = groupProp.split(\"-\"),\n m2 = a && b ? `${a}-${b}` : \"\",\n media = m2 && m2 in m && m2 || a && a in m && a || void 0;\n let pseudoCandidate = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : \"\"}` : void 0 : a ? `${a}${b ? `-${b}` : \"\"}${c ? `-${c}` : \"\"}` : void 0;\n return pseudoCandidate && !isValidPseudo(pseudoCandidate) && (process.env.NODE_ENV === \"development\" && console.warn(`Unknown group prop part \"${pseudoCandidate}\" in \"${groupProp}\". If this is a media query, ensure it's defined in your tamagui config.`), pseudoCandidate = void 0), {\n name,\n pseudo: pseudoCandidate,\n media\n };\n}\nexport { getGroupPropParts };\n//# sourceMappingURL=getGroupPropParts.mjs.map\n","import { getSetting } from \"../config.mjs\";\nimport { mediaObjectToString } from \"./mediaObjectToString.mjs\";\nimport { getGroupPropParts } from \"./getGroupPropParts.mjs\";\nconst MEDIA_SEP = \"_\";\nlet prefixes = null,\n selectors = null;\nfunction resetMediaStyleCache() {\n prefixes = null, selectors = null;\n}\nconst groupPseudoToPseudoCSSMap = {\n press: \"active\",\n focusVisible: \"focus-visible\",\n focusWithin: \"focus-within\"\n },\n specificities = new Array(12).fill(0).map((_, i) => new Array(i).fill(\":root\").join(\"\"));\nfunction getThemeOrGroupSelector(name, styleInner, isGroup, groupParts, isTheme = !1, precedenceImportancePrefix = \"\") {\n const selectorStart = styleInner.lastIndexOf(\":root\") + 5,\n selectorEnd = styleInner.lastIndexOf(\"{\"),\n selector = styleInner.slice(selectorStart, selectorEnd),\n precedenceSpace = getSetting(\"addThemeClassName\") !== !1 && isTheme ? \"\" : \" \",\n pseudoSelectorName = groupParts.pseudo ? groupPseudoToPseudoCSSMap[groupParts.pseudo] || groupParts.pseudo : void 0,\n pseudoSelector = pseudoSelectorName ? `:${pseudoSelectorName}` : \"\",\n presedencePrefix = `:root${precedenceImportancePrefix}${precedenceSpace}`,\n mediaSelector = `.t_${isGroup ? \"group_\" : \"\"}${name}${pseudoSelector}`;\n return [selector, `${presedencePrefix}${mediaSelector} ${selector.replaceAll(\":root\", \"\")}`];\n}\nconst createMediaStyle = (styleObject, mediaKeyIn, mediaQueries, type, negate, priority) => {\n const [property,, identifier, pseudoIn, rules] = styleObject,\n isTheme = type === \"theme\",\n isPlatform = type === \"platform\",\n isGroup = type === \"group\",\n isNonWindowMedia = isTheme || isPlatform || isGroup,\n negKey = negate ? \"0\" : \"\",\n ogPrefix = identifier.slice(0, identifier.indexOf(\"-\") + 1),\n id = `${ogPrefix}${MEDIA_SEP}${mediaKeyIn.replace(\"-\", \"\")}${negKey}${MEDIA_SEP}`;\n let styleRule = \"\",\n groupPriority = \"\",\n groupMediaKey,\n containerName,\n nextIdentifier = identifier.replace(ogPrefix, id),\n styleInner = rules.map(rule => rule.replaceAll(identifier, nextIdentifier)).join(\";\"),\n isHover = !1;\n if (isNonWindowMedia) {\n let specificity = (priority || 0) + (isGroup || isPlatform ? 1 : 0);\n if (isTheme || isGroup) {\n const groupParts = getGroupPropParts(isTheme ? \"theme-\" + mediaKeyIn : mediaKeyIn),\n {\n name,\n media,\n pseudo\n } = groupParts;\n groupMediaKey = media, isGroup && (containerName = name), (pseudo === \"press\" || pseudoIn === \"active\") && (specificity += 2), pseudo === \"hover\" && (isHover = !0);\n const [selector, nextSelector] = getThemeOrGroupSelector(name, styleInner, isGroup, groupParts, isTheme, specificities[specificity]);\n styleRule = styleInner.replace(selector, nextSelector);\n } else styleRule = `${specificities[specificity]}${styleInner}`;\n }\n if (!isNonWindowMedia || groupMediaKey) {\n if (!selectors) {\n const mediaKeys = Object.keys(mediaQueries);\n selectors = Object.fromEntries(mediaKeys.map(key => [key, mediaObjectToString(mediaQueries[key])])), prefixes = Object.fromEntries(mediaKeys.map((k, index) => [k, new Array(index + 1).fill(\":root\").join(\"\")]));\n }\n const mediaKey = groupMediaKey || mediaKeyIn,\n mediaSelector = selectors[mediaKey],\n mediaQuery = `${negate ? \"not all and \" : \"\"}${mediaSelector}`,\n precedenceImportancePrefix = groupMediaKey ? groupPriority : prefixes[mediaKey],\n prefix = groupMediaKey ? `@container ${containerName}` : \"@media\";\n groupMediaKey && (styleInner = styleRule), styleInner.includes(prefix) ? styleRule = styleInner.replace(\"{\", ` and ${mediaQuery} {`).replace(\"and screen and\", \"and\") : styleRule = `${prefix} ${mediaQuery}{${precedenceImportancePrefix}${styleInner}}`, groupMediaKey && (styleRule = `@supports (contain: ${getSetting(\"webContainerType\") || \"inline-size\"}) {${styleRule}}`);\n }\n return isHover && (styleRule = `@media (hover:hover){${styleRule}}`), [property, void 0, nextIdentifier, void 0, [styleRule]];\n};\nexport { MEDIA_SEP, createMediaStyle, resetMediaStyleCache };\n//# sourceMappingURL=createMediaStyle.mjs.map\n","const matchMedia = typeof window < \"u\" && window.matchMedia || matchMediaFallback;\nfunction matchMediaFallback(_) {\n return {\n match: (a, b) => !1,\n addListener() {},\n removeListener() {},\n matches: !1\n };\n}\nfunction setupMatchMedia(_) {}\nexport { matchMedia, setupMatchMedia };\n//# sourceMappingURL=matchMedia.mjs.map\n","import { isServer, isWeb } from \"@tamagui/constants\";\nimport { useRef, useSyncExternalStore } from \"react\";\nimport { getSetting } from \"../config.mjs\";\nimport { resetMediaStyleCache } from \"../helpers/createMediaStyle.mjs\";\nimport { matchMedia } from \"../helpers/matchMedia.mjs\";\nimport { mediaObjectToString } from \"../helpers/mediaObjectToString.mjs\";\nimport { getMedia, mediaKeys, mediaQueryConfig, setMediaState } from \"../helpers/mediaState.mjs\";\nimport { defaultMediaImportance } from \"../helpers/pseudoDescriptors.mjs\";\nconst mediaKeyRegex = /\\$(platform|theme|group)-/,\n isMediaKey = key => key[0] !== \"$\" ? !1 : !!(mediaKeys.has(key) || mediaKeyRegex.test(key)),\n getMediaKey = key => {\n if (key[0] !== \"$\") return !1;\n if (mediaKeys.has(key)) return !0;\n const match = key.match(mediaKeyRegex);\n return match ? match[1] : !1;\n };\nlet initState, mediaKeysOrdered;\nconst getMediaKeyImportance = key => {\n if (process.env.NODE_ENV === \"development\" && key[0] === \"$\") throw new Error(\"use short key\");\n return mediaKeysOrdered.indexOf(key) + 100;\n },\n dispose = /* @__PURE__ */new Set();\nlet mediaVersion = 0;\nconst configureMedia = config => {\n const {\n media\n } = config,\n mediaQueryDefaultActive = getSetting(\"mediaQueryDefaultActive\");\n if (media) {\n mediaVersion++, resetMediaStyleCache();\n for (const key in media) getMedia()[key] = mediaQueryDefaultActive?.[key] || !1, mediaKeys.add(`$${key}`);\n Object.assign(mediaQueryConfig, media), initState = {\n ...getMedia()\n }, mediaKeysOrdered = Object.keys(media), setupMediaListeners();\n }\n};\nfunction unlisten() {\n dispose.forEach(cb => cb()), dispose.clear();\n}\nlet setupVersion = -1;\nfunction setupMediaListeners() {\n if (!(isWeb && isServer) && !process.env.IS_STATIC && setupVersion !== mediaVersion) {\n setupVersion = mediaVersion, unlisten();\n for (const key in mediaQueryConfig) {\n let update = function () {\n const next = !!getMatch().matches;\n next !== getMedia()[key] && (setMediaState({\n ...getMedia(),\n [key]: next\n }), updateMediaListeners());\n };\n const str = mediaObjectToString(mediaQueryConfig[key]),\n getMatch = () => matchMedia(str),\n match = getMatch();\n if (!match) throw new Error(\"\\u26A0\\uFE0F No match\");\n match.addListener(update), dispose.add(() => {\n match.removeListener(update);\n }), update();\n }\n }\n}\nconst listeners = /* @__PURE__ */new Set();\nfunction updateMediaListeners() {\n listeners.forEach(cb => cb(getMedia()));\n}\nconst States = /* @__PURE__ */new WeakMap();\nfunction setMediaShouldUpdate(ref, enabled, keys) {\n const cur = States.get(ref);\n (!cur || cur.enabled !== enabled || keys) && States.set(ref, {\n ...cur,\n enabled,\n keys\n });\n}\nfunction subscribe(subscriber) {\n return listeners.add(subscriber), () => {\n listeners.delete(subscriber);\n };\n}\nfunction useMedia(componentContext, debug) {\n \"use no memo\";\n\n const componentState = componentContext ? States.get(componentContext) : null,\n internalRef = useRef(null);\n internalRef.current || (internalRef.current = {\n keys: /* @__PURE__ */new Set(),\n lastState: getMedia()\n }), internalRef.current.pendingState && (internalRef.current.lastState = internalRef.current.pendingState, internalRef.current.pendingState = void 0);\n const {\n keys\n } = internalRef.current;\n keys.size && keys.clear();\n const state = useSyncExternalStore(subscribe, () => {\n const curKeys = componentState?.keys || keys,\n {\n lastState,\n pendingState\n } = internalRef.current;\n if (!curKeys.size) return lastState;\n const ms = getMedia();\n for (const key of curKeys) if (ms[key] !== (pendingState || lastState)[key]) return process.env.NODE_ENV === \"development\" && debug && console.warn(\"useMedia() \\u270D\\uFE0F\", key, lastState[key], \"=>\", ms[key]), componentContext?.mediaEmit ? (componentContext.mediaEmit(ms), internalRef.current.pendingState = ms, lastState) : (internalRef.current.lastState = ms, ms);\n return lastState;\n }, getServerSnapshot);\n return new Proxy(state, {\n get(_, key) {\n return !disableMediaTouch && typeof key == \"string\" && keys.add(key), Reflect.get(state, key);\n }\n });\n}\nconst getServerSnapshot = () => initState;\nlet disableMediaTouch = !1;\nfunction _disableMediaTouch(val) {\n disableMediaTouch = val;\n}\nfunction getMediaState(mediaGroups, layout) {\n disableMediaTouch = !0;\n let res;\n try {\n res = Object.fromEntries([...mediaGroups].map(mediaKey => [mediaKey, mediaKeyMatch(mediaKey, layout)]));\n } finally {\n disableMediaTouch = !1;\n }\n return res;\n}\nconst getMediaImportanceIfMoreImportant = (mediaKey, key, styleState, isSizeMedia) => {\n const importance = isSizeMedia ? getMediaKeyImportance(mediaKey) : defaultMediaImportance,\n usedKeys = styleState.usedKeys;\n return !usedKeys[key] || importance > usedKeys[key] ? importance : null;\n },\n cachedMediaKeyToQuery = {};\nfunction mediaKeyToQuery(key) {\n return cachedMediaKeyToQuery[key] || (cachedMediaKeyToQuery[key] = mediaObjectToString(mediaQueryConfig[key]));\n}\nfunction mediaKeyMatch(key, dimensions) {\n const mediaQueries = mediaQueryConfig[key];\n return Object.keys(mediaQueries).every(query => {\n const expectedVal = +mediaQueries[query],\n isMax = query.startsWith(\"max\"),\n isWidth = query.endsWith(\"Width\"),\n givenVal = dimensions[isWidth ? \"width\" : \"height\"];\n return isMax ? givenVal < expectedVal : givenVal > expectedVal;\n });\n}\nexport { _disableMediaTouch, configureMedia, getMediaImportanceIfMoreImportant, getMediaKey, getMediaKeyImportance, getMediaState, isMediaKey, mediaKeyMatch, mediaKeyToQuery, setMediaShouldUpdate, setupMediaListeners, updateMediaListeners, useMedia };\n//# sourceMappingURL=useMedia.mjs.map\n","const cache = /* @__PURE__ */new Map();\nlet cacheSize = 0;\nconst simpleHash = (strIn, hashMin = 10) => {\n if (cache.has(strIn)) return cache.get(strIn);\n let str = strIn;\n str[0] === \"v\" && str.startsWith(\"var(\") && (str = str.slice(6, str.length - 1));\n let hash = 0,\n valids = \"\",\n added = 0;\n const len = str.length;\n for (let i = 0; i < len; i++) {\n if (hashMin !== \"strict\" && added <= hashMin) {\n const char = str.charCodeAt(i);\n if (char === 46) {\n valids += \"--\";\n continue;\n }\n if (isValidCSSCharCode(char)) {\n added++, valids += str[i];\n continue;\n }\n }\n hash = hashChar(hash, str[i]);\n }\n const res = valids + (hash ? Math.abs(hash) : \"\");\n return cacheSize > 1e4 && (cache.clear(), cacheSize = 0), cache.set(strIn, res), cacheSize++, res;\n },\n hashChar = (hash, c) => Math.imul(31, hash) + c.charCodeAt(0) | 0;\nfunction isValidCSSCharCode(code) {\n return (\n // A-Z\n code >= 65 && code <= 90 ||\n // a-z\n code >= 97 && code <= 122 ||\n // _\n code === 95 ||\n // -\n code === 45 ||\n // 0-9\n code >= 48 && code <= 57\n );\n}\nexport { simpleHash };\n//# sourceMappingURL=index.mjs.map\n","function clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport { clamp };\n//# sourceMappingURL=clamp.mjs.map\n","function composeEventHandlers(og, next, {\n checkDefaultPrevented = !0\n} = {}) {\n return !og || !next ? next || og || void 0 : event => {\n if (og?.(event), !event || !(checkDefaultPrevented && typeof event == \"object\" && \"defaultPrevented\" in event) ||\n // @ts-ignore\n \"defaultPrevented\" in event && !event.defaultPrevented) return next?.(event);\n };\n}\nexport { composeEventHandlers };\n//# sourceMappingURL=composeEventHandlers.mjs.map\n","const StyleObjectProperty = 0,\n StyleObjectValue = 1,\n StyleObjectIdentifier = 2,\n StyleObjectPseudo = 3,\n StyleObjectRules = 4;\nexport { StyleObjectIdentifier, StyleObjectProperty, StyleObjectPseudo, StyleObjectRules, StyleObjectValue };\n//# sourceMappingURL=types.mjs.map\n","import { currentPlatform } from \"@tamagui/constants\";\nconst ALL_PLATFORMS = [\"web\", \"android\", \"ios\"];\nfunction shouldRenderNativePlatform(nativeProp) {\n if (!nativeProp) return null;\n const userRequestedPlatforms = resolvePlatformNames(nativeProp);\n for (const platform of ALL_PLATFORMS) if (platform === currentPlatform && userRequestedPlatforms.has(platform)) return platform;\n return null;\n}\nfunction resolvePlatformNames(nativeProp) {\n const platforms = nativeProp === !0 ? ALL_PLATFORMS : nativeProp === !1 ? [] : Array.isArray(nativeProp) ? nativeProp : [nativeProp],\n set = new Set(platforms);\n return set.has(\"mobile\") && (set.add(\"android\"), set.add(\"ios\"), set.delete(\"mobile\")), set;\n}\nexport { shouldRenderNativePlatform };\n//# sourceMappingURL=shouldRenderNativePlatform.mjs.map\n","const nonAnimatableWebViewProps = {\n backgroundAttachment: !0,\n backgroundBlendMode: !0,\n backgroundClip: !0,\n backgroundOrigin: !0,\n backgroundRepeat: !0,\n borderBottomStyle: !0,\n borderLeftStyle: !0,\n borderRightStyle: !0,\n borderTopStyle: !0,\n contain: !0,\n containerType: !0,\n content: !0,\n float: !0,\n maskBorderMode: !0,\n maskBorderRepeat: !0,\n maskClip: !0,\n maskComposite: !0,\n maskMode: !0,\n maskOrigin: !0,\n maskRepeat: !0,\n maskType: !0,\n objectFit: !0,\n overflowBlock: !0,\n overflowInline: !0,\n overflowX: !0,\n overflowY: !0,\n // NOTE: pointerEvents is NOT web-only - it's a core React Native View prop (not a style)\n pointerEvents: !0,\n scrollbarWidth: !0,\n textWrap: !0,\n touchAction: !0,\n transformStyle: !0,\n willChange: !0\n },\n nonAnimatableWebTextProps = {\n whiteSpace: !0,\n wordWrap: !0,\n textOverflow: !0,\n WebkitBoxOrient: !0\n },\n webOnlyStylePropsView = {\n ...nonAnimatableWebViewProps,\n transition: !0,\n backdropFilter: !0,\n WebkitBackdropFilter: !0,\n background: !0,\n borderTop: !0,\n borderRight: !0,\n borderBottom: !0,\n borderLeft: !0,\n backgroundPosition: !0,\n backgroundSize: !0,\n borderImage: !0,\n caretColor: !0,\n clipPath: !0,\n mask: !0,\n maskBorder: !0,\n maskBorderOutset: !0,\n maskBorderSlice: !0,\n maskBorderSource: !0,\n maskBorderWidth: !0,\n maskImage: !0,\n maskPosition: !0,\n maskSize: !0,\n objectPosition: !0,\n textEmphasis: !0,\n userSelect: !0\n },\n webOnlyStylePropsText = {\n ...nonAnimatableWebTextProps,\n textDecorationDistance: !0,\n // cursor: now cross-platform - in stylePropsView\n WebkitLineClamp: !0\n };\nexport { nonAnimatableWebTextProps, nonAnimatableWebViewProps, webOnlyStylePropsText, webOnlyStylePropsView };\n//# sourceMappingURL=webOnlyStyleProps.mjs.map\n","import { isAndroid } from \"@tamagui/constants\";\nimport { nonAnimatableWebTextProps, nonAnimatableWebViewProps, webOnlyStylePropsText, webOnlyStylePropsView } from \"./webOnlyStyleProps.mjs\";\nconst cssShorthandLonghands = {\n // border longhands\n borderWidth: !0,\n borderStyle: !0,\n borderColor: !0,\n borderTopWidth: !0,\n borderTopStyle: !0,\n borderTopColor: !0,\n borderRightWidth: !0,\n borderRightStyle: !0,\n borderRightColor: !0,\n borderBottomWidth: !0,\n borderBottomStyle: !0,\n borderBottomColor: !0,\n borderLeftWidth: !0,\n borderLeftStyle: !0,\n borderLeftColor: !0,\n // outline longhands\n outlineWidth: !0,\n outlineStyle: !0,\n outlineColor: !0,\n outlineOffset: !0\n },\n textColors = {\n color: !0,\n textDecorationColor: !0,\n textShadowColor: !0\n },\n tokenCategories = {\n radius: {\n borderRadius: !0,\n borderTopLeftRadius: !0,\n borderTopRightRadius: !0,\n borderBottomLeftRadius: !0,\n borderBottomRightRadius: !0,\n // logical\n borderStartStartRadius: !0,\n borderStartEndRadius: !0,\n borderEndStartRadius: !0,\n borderEndEndRadius: !0\n },\n size: {\n width: !0,\n height: !0,\n minWidth: !0,\n minHeight: !0,\n maxWidth: !0,\n maxHeight: !0,\n blockSize: !0,\n minBlockSize: !0,\n maxBlockSize: !0,\n inlineSize: !0,\n minInlineSize: !0,\n maxInlineSize: !0\n },\n zIndex: {\n zIndex: !0\n },\n color: {\n backgroundColor: !0,\n borderColor: !0,\n borderBlockStartColor: !0,\n borderBlockEndColor: !0,\n borderBlockColor: !0,\n borderBottomColor: !0,\n borderInlineColor: !0,\n borderInlineStartColor: !0,\n borderInlineEndColor: !0,\n borderTopColor: !0,\n borderLeftColor: !0,\n borderRightColor: !0,\n borderEndColor: !0,\n borderStartColor: !0,\n shadowColor: !0,\n ...textColors,\n // outlineColor is supported on RN 0.77+ (New Architecture)\n outlineColor: !0,\n caretColor: !0\n }\n },\n nonAnimatableViewProps = {\n alignContent: !0,\n alignItems: !0,\n alignSelf: !0,\n backfaceVisibility: !0,\n borderCurve: !0,\n borderStyle: !0,\n borderBlockStyle: !0,\n borderBlockEndStyle: !0,\n borderBlockStartStyle: !0,\n borderInlineStyle: !0,\n borderInlineEndStyle: !0,\n borderInlineStartStyle: !0,\n boxSizing: !0,\n cursor: !0,\n direction: !0,\n display: !0,\n flexDirection: !0,\n flexWrap: !0,\n isolation: !0,\n justifyContent: !0,\n mixBlendMode: !0,\n outlineStyle: !0,\n overflow: !0,\n position: !0\n },\n nonAnimatableFontProps = {\n fontFamily: !0,\n fontStyle: !0,\n fontVariant: !0,\n textTransform: !0\n },\n nonAnimatableTextOnlyProps = {\n textAlign: !0,\n textDecorationLine: !0,\n textDecorationStyle: !0,\n userSelect: !0\n },\n nonAnimatableUnitlessProps = {\n WebkitLineClamp: !0,\n lineClamp: !0,\n gridTemplateColumns: !0,\n gridTemplateAreas: !0\n },\n nonAnimatableStyleProps = {\n ...nonAnimatableViewProps,\n ...nonAnimatableFontProps,\n ...nonAnimatableTextOnlyProps,\n ...nonAnimatableUnitlessProps,\n ...nonAnimatableWebViewProps,\n ...nonAnimatableWebTextProps\n },\n stylePropsUnitless = {\n ...nonAnimatableUnitlessProps,\n animationIterationCount: !0,\n aspectRatio: !0,\n borderImageOutset: !0,\n borderImageSlice: !0,\n borderImageWidth: !0,\n columnCount: !0,\n flex: !0,\n flexGrow: !0,\n flexOrder: !0,\n flexPositive: !0,\n flexShrink: !0,\n flexNegative: !0,\n fontWeight: !0,\n gridRow: !0,\n gridRowEnd: !0,\n gridRowGap: !0,\n gridRowStart: !0,\n gridColumn: !0,\n gridColumnEnd: !0,\n gridColumnGap: !0,\n gridColumnStart: !0,\n opacity: !0,\n order: !0,\n orphans: !0,\n tabSize: !0,\n widows: !0,\n zIndex: !0,\n zoom: !0,\n scale: !0,\n scaleX: !0,\n scaleY: !0,\n scaleZ: !0,\n shadowOpacity: !0\n },\n stylePropsTransform = {\n x: !0,\n y: !0,\n scale: !0,\n perspective: !0,\n scaleX: !0,\n scaleY: !0,\n skewX: !0,\n skewY: !0,\n matrix: !0,\n rotate: !0,\n rotateY: !0,\n rotateX: !0,\n rotateZ: !0\n },\n stylePropsView = {\n ...nonAnimatableViewProps,\n borderBottomEndRadius: !0,\n borderBottomStartRadius: !0,\n borderBottomWidth: !0,\n borderLeftWidth: !0,\n borderRightWidth: !0,\n borderBlockWidth: !0,\n borderBlockEndWidth: !0,\n borderBlockStartWidth: !0,\n borderInlineWidth: !0,\n borderInlineEndWidth: !0,\n borderInlineStartWidth: !0,\n borderTopEndRadius: !0,\n borderTopStartRadius: !0,\n borderTopWidth: !0,\n borderWidth: !0,\n transform: !0,\n transformOrigin: !0,\n borderEndWidth: !0,\n borderStartWidth: !0,\n bottom: !0,\n end: !0,\n flexBasis: !0,\n gap: !0,\n columnGap: !0,\n rowGap: !0,\n left: !0,\n margin: !0,\n marginBlock: !0,\n marginBlockEnd: !0,\n marginBlockStart: !0,\n marginInline: !0,\n marginInlineStart: !0,\n marginInlineEnd: !0,\n marginBottom: !0,\n marginEnd: !0,\n marginHorizontal: !0,\n marginLeft: !0,\n marginRight: !0,\n marginStart: !0,\n marginTop: !0,\n marginVertical: !0,\n padding: !0,\n paddingBottom: !0,\n paddingInline: !0,\n paddingBlock: !0,\n paddingBlockStart: !0,\n paddingInlineEnd: !0,\n paddingInlineStart: !0,\n paddingEnd: !0,\n paddingHorizontal: !0,\n paddingLeft: !0,\n paddingRight: !0,\n paddingStart: !0,\n paddingTop: !0,\n paddingVertical: !0,\n right: !0,\n start: !0,\n top: !0,\n inset: !0,\n insetBlock: !0,\n insetBlockEnd: !0,\n insetBlockStart: !0,\n insetInline: !0,\n insetInlineEnd: !0,\n insetInlineStart: !0,\n shadowOffset: !0,\n shadowRadius: !0,\n ...tokenCategories.color,\n ...tokenCategories.radius,\n ...tokenCategories.size,\n ...stylePropsTransform,\n ...stylePropsUnitless,\n ...(isAndroid ? {\n elevationAndroid: !0\n } : {}),\n boxShadow: !0,\n border: !0,\n filter: !0,\n // RN 0.76+ supports linear-gradient via backgroundImage\n backgroundImage: !0,\n // the actual RN 0.76+ prop name (backgroundImage expands to this on native)\n experimental_backgroundImage: !0,\n // RN 0.76/0.77+ style props (New Architecture)\n outline: !0,\n outlineColor: !0,\n outlineOffset: !0,\n outlineWidth: !0,\n // web-only for convenience - tree-shaken on native\n ...webOnlyStylePropsView\n },\n stylePropsFont = {\n ...nonAnimatableFontProps,\n fontSize: !0,\n fontWeight: !0,\n letterSpacing: !0,\n lineHeight: !0\n },\n stylePropsTextOnly = {\n ...stylePropsFont,\n ...nonAnimatableTextOnlyProps,\n ...textColors,\n textShadow: !0,\n textShadowOffset: !0,\n textShadowRadius: !0,\n verticalAlign: !0,\n // web-only text props - tree-shaken on native\n ...webOnlyStylePropsText\n },\n stylePropsText = {\n ...stylePropsView,\n ...stylePropsTextOnly\n },\n stylePropsAll = stylePropsText,\n validPseudoKeys = {\n enterStyle: !0,\n exitStyle: !0,\n hoverStyle: !0,\n pressStyle: !0,\n focusStyle: !0,\n disabledStyle: !0,\n focusWithinStyle: !0,\n focusVisibleStyle: !0\n },\n validStyles = stylePropsView;\nexport { cssShorthandLonghands, nonAnimatableStyleProps, stylePropsAll, stylePropsText, stylePropsTextOnly, stylePropsTransform, stylePropsUnitless, stylePropsView, tokenCategories, validPseudoKeys, validStyles };\n//# sourceMappingURL=validStyleProps.mjs.map\n","const Decorated = /* @__PURE__ */Symbol(),\n withStaticProperties = (component, staticProps) => (Object.assign(component, staticProps), component[Decorated] = !0, component);\nexport { withStaticProperties };\n//# sourceMappingURL=withStaticProperties.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport { getConfig } from \"./config.mjs\";\nfunction constructCSSVariableName(name) {\n return `var(--${process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\"}${name})`;\n}\nconst createVariable = (props, skipHash = !1) => {\n if (!skipHash && isVariable(props)) return props;\n const {\n key,\n name,\n val\n } = props;\n return {\n isVar: !0,\n key,\n name: skipHash ? name : simpleHash(name, 40),\n val,\n variable: isWeb ? skipHash ? constructCSSVariableName(name) : createCSSVariable(name) : \"\"\n };\n};\nfunction variableToString(vrble, getValue = !1) {\n return isVariable(vrble) ? !getValue && isWeb && vrble.variable ? vrble.variable : `${vrble.val}` : `${vrble || \"\"}`;\n}\nfunction isVariable(v) {\n return v && typeof v == \"object\" && \"isVar\" in v;\n}\nfunction getVariable(nameOrVariable, group = \"size\") {\n if (nameOrVariable?.dynamic) return nameOrVariable;\n if (setDidGetVariableValue(!0), isVariable(nameOrVariable)) return variableToString(nameOrVariable);\n const tokens = getConfig().tokensParsed;\n return variableToString(tokens[group]?.[nameOrVariable] ?? nameOrVariable);\n}\nlet accessed = !1;\nconst setDidGetVariableValue = val => accessed = val,\n didGetVariableValue = () => accessed;\nfunction getVariableValue(v, group) {\n if (isVariable(v)) return setDidGetVariableValue(!0), v.val;\n if (group) {\n const token = getConfig().tokensParsed[group]?.[v];\n if (token) return setDidGetVariableValue(!0), token.val;\n }\n return v;\n}\nfunction getVariableName(v) {\n return isVariable(v) ? v.name : v;\n}\nfunction getVariableVariable(v) {\n return isVariable(v) ? v.variable : v;\n}\nconst createCSSVariable = (nameProp, includeVar = !0) => {\n if (process.env.NODE_ENV === \"development\" && (!nameProp || typeof nameProp != \"string\")) throw new Error(`createCSSVariable expected string, got: ${nameProp}`);\n const name = simpleHash(nameProp, 60);\n return includeVar ? constructCSSVariableName(name) : name;\n};\nfunction px(value) {\n return {\n val: value,\n needsPx: !0\n };\n}\nexport { createCSSVariable, createVariable, didGetVariableValue, getVariable, getVariableName, getVariableValue, getVariableVariable, isVariable, px, setDidGetVariableValue, variableToString };\n//# sourceMappingURL=createVariable.mjs.map\n","import \"@tamagui/constants\";\nimport { getConfig } from \"../config.mjs\";\nimport { getVariable } from \"../createVariable.mjs\";\nimport \"../helpers/getDynamicVal.mjs\";\nimport \"./doesRootSchemeMatchSystem.mjs\";\nconst cache = /* @__PURE__ */new Map();\nlet curKeys, curSchemeKeys, curProps, curState;\nconst emptyObject = {};\nfunction getThemeProxied(_props, _state, _keys, _schemeKeys) {\n if (!_state?.theme) return emptyObject;\n if (curKeys = _keys, curSchemeKeys = _schemeKeys, curProps = _props, curState = _state, cache.has(curState.theme)) return cache.get(curState.theme);\n const config = getConfig();\n function track(key, schemeOptimized = !1) {\n curKeys && (curKeys.current || (curKeys.current = /* @__PURE__ */new Set()), curKeys.current.add(key), schemeOptimized && curSchemeKeys && (curSchemeKeys.current || (curSchemeKeys.current = /* @__PURE__ */new Set()), curSchemeKeys.current.add(key)), process.env.NODE_ENV === \"development\" && curProps.debug && console.info(` \\u{1F3A8} useTheme() tracking key: ${key} schemeOptimized=${schemeOptimized}`));\n }\n const proxied = Object.fromEntries(Object.entries(_state.theme).flatMap(([key, value]) => {\n const proxied2 = {\n ...value,\n get val() {\n return globalThis.tamaguiAvoidTracking || track(key, !1), value.val;\n },\n get(platform) {\n if (!curState) return;\n const outVal = getVariable(value),\n {\n name,\n scheme\n } = curState;\n return outVal;\n }\n };\n return [[key, proxied2], [`$${key}`, proxied2]];\n }));\n return cache.set(_state.theme, proxied), proxied;\n}\nexport { getThemeProxied };\n//# sourceMappingURL=getThemeProxied.mjs.map\n","import \"@tamagui/constants\";\nimport { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useCallback, useContext, useId, useSyncExternalStore } from \"react\";\nimport { getConfig } from \"../config.mjs\";\nimport { MISSING_THEME_MESSAGE } from \"../constants/constants.mjs\";\nconst ThemeStateContext = createContext(\"\"),\n allListeners = /* @__PURE__ */new Map(),\n listenersByParent = {},\n HasRenderedOnce = /* @__PURE__ */new WeakMap(),\n HadTheme = /* @__PURE__ */new WeakMap(),\n PendingUpdate = /* @__PURE__ */new Map(),\n states = /* @__PURE__ */new Map(),\n localStates = /* @__PURE__ */new Map();\nlet shouldForce = !1;\nconst forceUpdateThemes = () => {\n cacheVersion++, shouldForce = !0, allListeners.forEach(cb => cb());\n },\n getThemeState = id => states.get(id);\nlet cacheVersion = 0;\nconst themeNameCache = /* @__PURE__ */new Map();\nlet themeNameCacheVer = -1,\n themes = null,\n rootThemeState = null;\nconst getRootThemeState = () => rootThemeState;\nconst useThemeState = (props, isRoot = !1, keys, schemeKeys) => {\n \"use no memo\";\n\n const {\n disable\n } = props,\n parentId = useContext(ThemeStateContext);\n if (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === \"development\" ? `${MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no parent theme context was found (parentId: ${parentId}).` : MISSING_THEME_MESSAGE);\n if (disable) return states.get(parentId) || {\n id: \"\",\n name: \"light\",\n theme: getConfig().themes.light\n // inverses: 0,\n };\n const id = useId(),\n subscribe = useCallback(cb => (listenersByParent[parentId] = listenersByParent[parentId] || /* @__PURE__ */new Set(), listenersByParent[parentId].add(id), allListeners.set(id, () => {\n PendingUpdate.set(id, shouldForce ? \"force\" : !0), cb();\n }), () => {\n allListeners.delete(id), listenersByParent[parentId].delete(id), localStates.delete(id), states.delete(id), PendingUpdate.delete(id);\n }), [id, parentId]),\n propsKey = getPropsKey(props),\n getSnapshot = () => {\n let local = localStates.get(id);\n const parentState = states.get(parentId);\n if (local && !PendingUpdate.has(id) && parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;\n const isSchemeOnlyChange = !1,\n keysSize = keys?.current?.size ?? 0,\n allKeysSchemeOptimized = (schemeKeys?.current?.size ?? 0) === keysSize && keysSize > 0,\n canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized,\n needsUpdate = props.passThrough ? !1 : isRoot || props.name === \"light\" || props.name === \"dark\" || props.name === null ? !0 : HasRenderedOnce.get(keys) ? canSkipForSchemeChange ? !1 : keys?.current?.size ? !0 : props.needsUpdate?.() : !0,\n [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n return PendingUpdate.delete(id), (!local || rerender) && (local = {\n ...next\n }, localStates.set(id, local)), process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && (console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, \">\", next.name), console.info({\n props,\n propsKey,\n isRoot,\n parentId,\n local,\n next,\n needsUpdate,\n isSchemeOnlyChange,\n allKeysSchemeOptimized,\n canSkipForSchemeChange\n }), console.groupEnd()), next !== local && (Object.assign(local, next), local.id = id), local._parentName = parentState?.name, local._propsKey = propsKey, states.set(id, next), local;\n };\n process.env.NODE_ENV === \"development\" && globalThis.time && globalThis.time`theme-prep-uses`;\n const state = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n return useIsomorphicLayoutEffect(() => {\n if (!HasRenderedOnce.get(keys)) {\n HasRenderedOnce.set(keys, !0);\n return;\n }\n if (!propsKey) {\n HadTheme.get(keys) && scheduleUpdate(id), HadTheme.set(keys, !1);\n return;\n }\n process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && console.warn(` \\xB7 useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name), scheduleUpdate(id), HadTheme.set(keys, !0);\n }, [keys, propsKey]), state;\n },\n getNextState = (lastState, props, propsKey, isRoot = !1, id, parentId, needsUpdate, pendingUpdate) => {\n const {\n debug\n } = props,\n parentState = states.get(parentId);\n if (props.passThrough) return [!1, lastState || parentState || {\n name: \"\"\n }];\n themes || (themes = getConfig().themes);\n const name = !propsKey && (!lastState || !lastState?.isNew) ? null : getNewThemeName(parentState?.name, props, pendingUpdate === \"force\" ? !0 : !!needsUpdate),\n isSameAsParent = parentState && (!name || name === parentState.name),\n shouldRerender = !!(pendingUpdate === \"force\" || needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name));\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n const message = ` \\xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;\n console.groupCollapsed(message), console.trace({\n name,\n lastState,\n parentState,\n props,\n propsKey,\n id,\n isSameAsParent\n }), console.groupEnd();\n }\n if (isSameAsParent) return !shouldRerender && lastState ? [!1, lastState] : [shouldRerender, {\n ...parentState,\n isNew: !1\n }];\n if (!name) {\n const next = lastState ?? parentState;\n if (!next) throw new Error(process.env.NODE_ENV === \"development\" ? `${MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : MISSING_THEME_MESSAGE);\n return shouldRerender ? [!0, {\n ...(parentState || lastState)\n }] : [!1, next];\n }\n const scheme = getScheme(name),\n isInverse = parentState && scheme !== parentState.scheme,\n nextState = {\n id,\n name,\n theme: themes[name],\n scheme,\n parentId,\n parentName: parentState?.name,\n // inverses,\n isInverse,\n isNew: !0\n };\n if (isRoot && (rootThemeState = nextState), pendingUpdate !== \"force\" && lastState && lastState.name === name) return [!1, nextState];\n const shouldAvoidRerender = pendingUpdate !== \"force\" && lastState && !needsUpdate && nextState.name === lastState.name;\n return process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(` \\xB7 useTheme(${id}) \\u23ED\\uFE0F ${name} shouldAvoidRerender: ${shouldAvoidRerender}`), console.info({\n lastState,\n needsUpdate,\n nextState,\n pendingUpdate\n }), console.groupEnd()), shouldAvoidRerender ? [!1, nextState] : [!0, nextState];\n };\nfunction scheduleUpdate(id) {\n const queue = [id],\n visited = /* @__PURE__ */new Set();\n for (; queue.length;) {\n const parent = queue.shift(),\n children = listenersByParent[parent];\n if (children) for (const childId of children) visited.has(childId) || (visited.add(childId), queue.push(childId));\n }\n visited.forEach(childId => {\n allListeners.get(childId)?.();\n });\n}\nconst validSchemes = {\n light: \"light\",\n dark: \"dark\"\n};\nfunction getScheme(name) {\n return validSchemes[name.split(\"_\")[0]];\n}\nfunction getNewThemeName(parentName = \"\", props, forceUpdate = !1) {\n const {\n name,\n reset\n } = props,\n componentName = props.unstyled ? void 0 : props.componentName;\n if (name && reset) throw new Error(process.env.NODE_ENV === \"production\" ? \"\\u274C004\" : \"Cannot reset and set a new name at the same time.\");\n const cacheKey = `${parentName}|${name || \"\"}|${componentName || \"\"}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`;\n if (themeNameCacheVer !== cacheVersion) themeNameCache.clear(), themeNameCacheVer = cacheVersion;else {\n const cached = themeNameCache.get(cacheKey);\n if (cached !== void 0) return cached;\n }\n const {\n themes: themes2\n } = getConfig();\n if (reset) {\n if (parentName === \"light\" || parentName === \"dark\") {\n const result2 = parentName === \"light\" ? \"dark\" : \"light\";\n return themeNameCache.set(cacheKey, result2), result2;\n }\n const lastPartIndex = parentName.lastIndexOf(\"_\"),\n name2 = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex),\n scheme = parentName.slice(0, lastPartIndex),\n result = themes2[name2] ? name2 : scheme;\n return themeNameCache.set(cacheKey, result), result;\n }\n const parentParts = parentName.split(\"_\"),\n lastName = parentParts[parentParts.length - 1];\n lastName && lastName[0].toLowerCase() !== lastName[0] && parentParts.pop();\n const subNames = [name && componentName ? `${name}_${componentName}` : void 0, name, componentName].filter(Boolean);\n let found = null;\n if (name) {\n const nameHasScheme = getScheme(name);\n if (nameHasScheme) {\n for (const subName of subNames) if (subName in themes2) {\n found = subName;\n break;\n }\n }\n if (!found && !nameHasScheme && getScheme(parentName)) {\n const potentialBases = [];\n for (let i = parentParts.length; i >= 1; i--) potentialBases.push(parentParts.slice(0, i).join(\"_\"));\n outer: for (const base of potentialBases) {\n const candidates = [componentName ? `${base}_${name}_${componentName}` : void 0, `${base}_${name}`].filter(Boolean);\n for (const potential of candidates) if (potential in themes2) {\n found = potential;\n break outer;\n }\n }\n }\n }\n if (!found) if (!name && componentName) {\n const potential = `${parentParts.join(\"_\")}_${componentName}`;\n potential in themes2 && (found = potential);\n } else {\n const max = parentParts.length;\n for (let i = 0; i <= max; i++) {\n const base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join(\"_\");\n for (const subName of subNames) {\n const potential = base ? `${base}_${subName}` : subName;\n if (potential in themes2) {\n found = potential;\n break;\n }\n }\n if (found) break;\n }\n }\n return !forceUpdate && found === parentName &&\n // if its a scheme only sub-theme, we always consider it \"new\" because it likely inverses\n // and we want to avoid reparenting\n !validSchemes[found] ? (themeNameCache.set(cacheKey, null), null) : (themeNameCache.set(cacheKey, found), found);\n}\nconst getPropsKey = ({\n name,\n reset,\n forceClassName,\n componentName\n }) => `${name || \"\"}${reset || \"\"}${forceClassName || \"\"}${componentName || \"\"}`,\n hasThemeUpdatingProps = props => \"name\" in props || \"reset\" in props || \"forceClassName\" in props;\nexport { ThemeStateContext, forceUpdateThemes, getRootThemeState, getThemeState, hasThemeUpdatingProps, useThemeState };\n//# sourceMappingURL=useThemeState.mjs.map\n","import { useRef } from \"react\";\nimport { getThemeProxied } from \"./getThemeProxied.mjs\";\nimport { useThemeState } from \"./useThemeState.mjs\";\nconst EMPTY = {},\n useTheme = () => {\n \"use no memo\";\n\n const [theme] = useThemeWithState(EMPTY);\n return theme;\n },\n useThemeWithState = (props, isRoot = !1) => {\n \"use no memo\";\n\n const keys = useRef(null),\n schemeKeys = useRef(null),\n themeState = useThemeState(props, isRoot, keys, schemeKeys);\n return process.env.NODE_ENV === \"development\" && !props.passThrough && !themeState?.theme && process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== \"1\" && console.error(`[tamagui] No theme found, this could be due to an invalid theme name (given theme props ${JSON.stringify(props)}).\n\nIf this is intended and you are using Tamagui without any themes, you can disable this warning by setting the environment variable TAMAGUI_DISABLE_NO_THEME_WARNING=1`), [props.passThrough ? {} : getThemeProxied(props, themeState, keys, schemeKeys), themeState];\n };\nexport { useTheme, useThemeWithState };\n//# sourceMappingURL=useTheme.mjs.map\n","import * as React from \"react\";\nfunction setRef(ref, value) {\n typeof ref == \"function\" ? ref(value) : ref && (ref.current = value);\n}\nfunction composeRefs(...refs) {\n return node => refs.forEach(ref => setRef(ref, node));\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport { composeRefs, setRef, useComposedRefs };\n//# sourceMappingURL=compose-refs.mjs.map\n","const isDevTools = (() => {\n if (process.env.NODE_ENV === \"development\") try {\n return new Function(\"try {return this===window;}catch(e){ return false;}\")();\n } catch {}\n return !1;\n})();\nexport { isDevTools };\n//# sourceMappingURL=isDevTools.mjs.map\n","const defaultComponentState = {\n hover: !1,\n press: !1,\n pressIn: !1,\n focus: !1,\n focusVisible: !1,\n focusWithin: !1,\n unmounted: !0,\n disabled: !1\n },\n defaultComponentStateMounted = {\n ...defaultComponentState,\n unmounted: !1\n },\n defaultComponentStateShouldEnter = {\n ...defaultComponentState,\n unmounted: \"should-enter\"\n };\nexport { defaultComponentState, defaultComponentStateMounted, defaultComponentStateShouldEnter };\n//# sourceMappingURL=defaultComponentState.mjs.map\n","function getWebEvents(events, webStyle = !0) {\n return {\n onMouseEnter: events.onMouseEnter,\n onMouseLeave: events.onMouseLeave,\n [webStyle ? \"onClick\" : \"onPress\"]: events.onPress,\n onMouseDown: events.onPressIn,\n onMouseUp: events.onPressOut,\n onTouchStart: events.onPressIn,\n onTouchEnd: events.onPressOut,\n onFocus: events.onFocus,\n onBlur: events.onBlur\n };\n}\nfunction wrapWithGestureDetector(content, _gesture, _stateRef, _isHOC) {\n return content;\n}\nfunction useEvents(_events, _viewProps, _stateRef, _staticConfig, _isHOC, _isInsideNativeMenu) {\n return null;\n}\nexport { getWebEvents, useEvents, wrapWithGestureDetector };\n//# sourceMappingURL=eventHandling.mjs.map\n","import { getConfig } from \"../config.mjs\";\nconst getDefaultProps = (staticConfig, propsComponentName) => {\n let defaultProps = staticConfig?.defaultProps;\n const conf = getConfig(),\n name = propsComponentName || staticConfig?.componentName || (\n // important: this is how we end up getting the defaultProps we set in createTamagui\n staticConfig.isText ? \"Text\" : \"View\"),\n userDefaultProps = conf?.defaultProps?.[name];\n return userDefaultProps && (defaultProps = defaultProps ? {\n ...userDefaultProps,\n ...defaultProps\n } : userDefaultProps), defaultProps;\n};\nexport { getDefaultProps };\n//# sourceMappingURL=getDefaultProps.mjs.map\n","function resolveAnimationDriver(driver) {\n return driver ? typeof driver.useAnimations == \"function\" ? driver : \"default\" in driver && typeof driver.default?.useAnimations == \"function\" ? driver.default : null : null;\n}\nexport { resolveAnimationDriver };\n//# sourceMappingURL=resolveAnimationDriver.mjs.map\n","const defaultOffset = {\n height: 0,\n width: 0\n};\nexport { defaultOffset };\n//# sourceMappingURL=defaultOffset.mjs.map\n","import { defaultOffset } from \"./defaultOffset.mjs\";\nfunction normalizeShadow({\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius\n}) {\n const {\n height,\n width\n } = shadowOffset || defaultOffset;\n return {\n shadowOffset: {\n width: width || 0,\n height: height || 0\n },\n shadowRadius: shadowRadius || 0,\n // pass color through as-is, opacity applied via color-mix in getCSSStylesAtomic\n shadowColor,\n // default to 1 if not specified (color-mix will handle the opacity)\n shadowOpacity: shadowOpacity ?? 1\n };\n}\nexport { normalizeShadow };\n//# sourceMappingURL=normalizeShadow.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { normalizeShadow } from \"./normalizeShadow.mjs\";\nfunction fixStyles(style) {\n (style.shadowRadius != null || style.shadowColor || style.shadowOpacity != null || style.shadowOffset) && Object.assign(style, normalizeShadow(style));\n for (const key in borderDefaults) key in style && (style[borderDefaults[key]] ||= \"solid\");\n}\nconst nativeStyle = isWeb ? null : \"borderStyle\",\n borderDefaults = {\n borderWidth: \"borderStyle\",\n borderBottomWidth: nativeStyle || \"borderBottomStyle\",\n borderTopWidth: nativeStyle || \"borderTopStyle\",\n borderLeftWidth: nativeStyle || \"borderLeftStyle\",\n borderRightWidth: nativeStyle || \"borderRightStyle\"\n // TODO: need to add borderBlock and borderInline here, but they are alot and might impact performance\n };\nexport { fixStyles };\n//# sourceMappingURL=expandStyles.mjs.map\n","const normalizeColor = (color, opacity) => {\n if (color) return typeof color != \"string\" ? color : color === \"transparent\" ? \"rgba(0, 0, 0, 0)\" : typeof opacity == \"number\" && opacity < 1 ? `color-mix(in srgb, ${color} ${Math.round(opacity * 100)}%, transparent)` : color;\n },\n getRgba = _color => {};\nexport { getRgba, normalizeColor };\n//# sourceMappingURL=normalizeColor.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { stylePropsAll, stylePropsUnitless } from \"@tamagui/helpers\";\nconst stylePropsAllPlusTransforms = {\n ...stylePropsAll,\n translateX: !0,\n translateY: !0\n};\nfunction normalizeValueWithProperty(value, property = \"\") {\n if (!isWeb || stylePropsUnitless[property] || property && !stylePropsAllPlusTransforms[property] || typeof value == \"boolean\") return value;\n if (value && typeof value == \"object\") if (typeof value.__getValue == \"function\") value = value.__getValue();else return value;\n let res = value;\n return typeof value == \"number\" ? res = `${value}px` : property && (res = `${res}`), res;\n}\nexport { normalizeValueWithProperty };\n//# sourceMappingURL=normalizeValueWithProperty.mjs.map\n","import { normalizeValueWithProperty } from \"./normalizeValueWithProperty.mjs\";\nfunction transformsToString(transforms) {\n return transforms.map(\n // { scale: 2 } => 'scale(2)'\n // { translateX: 20 } => 'translateX(20px)'\n // { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\n // { perspective: 1000 } => perspective(1000px)\n transform => {\n const type = Object.keys(transform)[0],\n value = transform[type];\n return type === \"matrix\" || type === \"matrix3d\" ? `${type}(${value.join(\",\")})` : `${type}(${normalizeValueWithProperty(value, type)})`;\n }).join(\" \");\n}\nexport { transformsToString };\n//# sourceMappingURL=transformsToString.mjs.map\n","import { cssShorthandLonghands, simpleHash } from \"@tamagui/helpers\";\nimport { getConfigMaybe } from \"../config.mjs\";\nimport { isMediaKey } from \"../hooks/useMedia.mjs\";\nimport { defaultOffset } from \"./defaultOffset.mjs\";\nimport { normalizeColor } from \"./normalizeColor.mjs\";\nimport { normalizeValueWithProperty } from \"./normalizeValueWithProperty.mjs\";\nimport { pseudoDescriptors } from \"./pseudoDescriptors.mjs\";\nimport { transformsToString } from \"./transformsToString.mjs\";\nfunction getCSSStylesAtomic(style) {\n styleToCSS(style);\n const out = [];\n for (const key in style) {\n if (key === \"$$css\") continue;\n const val = style[key];\n if (key in pseudoDescriptors) val && out.push(...getStyleAtomic(val, pseudoDescriptors[key]));else if (isMediaKey(key)) for (const subKey in val) {\n const so = getStyleObject(val, subKey);\n so && (so[0] = key, out.push(so));\n } else {\n const so = getStyleObject(style, key);\n so && out.push(so);\n }\n }\n return out;\n}\nconst getStyleAtomic = (style, pseudo) => {\n styleToCSS(style);\n const out = [];\n for (const key in style) {\n const so = getStyleObject(style, key, pseudo);\n so && out.push(so);\n }\n return out;\n};\nlet conf = null;\nconst getStyleObject = (style, key, pseudo) => {\n let val = style[key];\n if (val == null) return;\n key === \"transform\" && Array.isArray(style.transform) && (val = transformsToString(val));\n const value = normalizeValueWithProperty(val, key),\n hash = simpleHash(typeof value == \"string\" ? value : `${value}`),\n pseudoPrefix = pseudo ? `0${pseudo.name}-` : \"\";\n conf ||= getConfigMaybe();\n let identifier = `_${conf?.inverseShorthands[key] || key}-${pseudoPrefix}${hash}`;\n key === \"pointerEvents\" && !pseudo && (value === \"box-none\" ? identifier = \"_pe-boxnone\" : value === \"box-only\" && (identifier = \"_pe-boxonly\"));\n const rules = createAtomicRules(identifier, key, value, pseudo);\n return [\n // array for performance\n key, value, identifier, pseudo?.name, rules];\n};\nfunction styleToCSS(style) {\n const {\n shadowOffset,\n shadowRadius,\n shadowColor,\n shadowOpacity\n } = style;\n if (shadowRadius != null || shadowColor || shadowOffset != null || shadowOpacity != null) {\n const offset = shadowOffset || defaultOffset,\n width = normalizeValueWithProperty(offset.width),\n height = normalizeValueWithProperty(offset.height),\n radius = normalizeValueWithProperty(shadowRadius),\n color = normalizeColor(shadowColor, shadowOpacity);\n if (color) {\n const shadow = `${width} ${height} ${radius} ${color}`;\n style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow;\n }\n delete style.shadowOffset, delete style.shadowRadius, delete style.shadowColor, delete style.shadowOpacity;\n }\n const {\n textShadowColor,\n textShadowOffset,\n textShadowRadius\n } = style;\n if (textShadowColor || textShadowOffset || textShadowRadius) {\n const {\n height,\n width\n } = textShadowOffset || defaultOffset,\n radius = textShadowRadius || 0,\n color = normalizeValueWithProperty(textShadowColor, \"textShadowColor\");\n if (color && (height !== 0 || width !== 0 || radius !== 0)) {\n const blurRadius = normalizeValueWithProperty(radius),\n offsetX = normalizeValueWithProperty(width),\n offsetY = normalizeValueWithProperty(height);\n style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`;\n }\n delete style.textShadowColor, delete style.textShadowOffset, delete style.textShadowRadius;\n }\n}\nfunction createDeclarationBlock(style, important = !1) {\n let next = \"\";\n for (const [key, value] of style) next += `${hyphenateStyleName(key)}:${value}${important ? \" !important\" : \"\"};`;\n return `{${next}}`;\n}\nconst hcache = {},\n toHyphenLower = match => `-${match.toLowerCase()}`,\n hyphenateStyleName = key => {\n if (key in hcache) return hcache[key];\n const val = key.replace(/[A-Z]/g, toHyphenLower);\n return hcache[key] = val, val;\n },\n selectorPriority = (() => {\n const res = {};\n for (const key in pseudoDescriptors) {\n const pseudo = pseudoDescriptors[key];\n res[pseudo.name] = `${[...Array(pseudo.priority)].map(() => \":root\").join(\"\")} `;\n }\n return res;\n })();\nfunction createAtomicRules(identifier, property, value, pseudo) {\n const pseudoIdPostfix = pseudo ? pseudo.name === \"disabled\" ? \"[aria-disabled]\" : `:${pseudo.name}` : \"\",\n pseudoSelector = pseudo?.selector,\n cls = property in cssShorthandLonghands ? `.${identifier}.${identifier}` : `.${identifier}`;\n let selector = pseudo ? pseudoSelector ? `${pseudoSelector} ${cls}` : `${selectorPriority[pseudo.name]} ${cls}${pseudoIdPostfix}` : `:root ${cls}`;\n pseudoSelector === pseudoDescriptors.enterStyle.selector && (selector = `${selector}, .${identifier}${pseudoSelector}`);\n const important = !!pseudo;\n let rules = [];\n switch (property) {\n // Equivalent to using '::placeholder'\n case \"placeholderTextColor\":\n {\n const block = createDeclarationBlock([[\"color\", value], [\"opacity\", 1]], important);\n rules.push(`${selector}::placeholder${block}`);\n break;\n }\n // all webkit prefixed rules\n case \"backgroundClip\":\n case \"userSelect\":\n {\n const webkitProperty = `Webkit${`${property[0].toUpperCase()}${property.slice(1)}`}`,\n block = createDeclarationBlock([[property, value], [webkitProperty, value]], important);\n rules.push(`${selector}${block}`);\n break;\n }\n // Polyfill for additional 'pointer-events' values\n case \"pointerEvents\":\n {\n let finalValue = value;\n value === \"auto\" || value === \"box-only\" ? finalValue = \"auto\" : (value === \"none\" || value === \"box-none\") && (finalValue = \"none\");\n const block = createDeclarationBlock([[\"pointerEvents\", finalValue]], !0);\n rules.push(`${selector}${block}`);\n break;\n }\n default:\n {\n const block = createDeclarationBlock([[property, value]], important);\n rules.push(`${selector}${block}`);\n break;\n }\n }\n return pseudo?.name === \"hover\" && (rules = rules.map(r => `@media (hover) {${r}}`)), rules;\n}\nexport { getCSSStylesAtomic, getStyleAtomic, styleToCSS };\n//# sourceMappingURL=getCSSStylesAtomic.mjs.map\n","import { StyleObjectIdentifier, StyleObjectRules } from \"@tamagui/helpers\";\nimport { createVariable } from \"../createVariable.mjs\";\nconst scannedCache = /* @__PURE__ */new WeakMap(),\n totalSelectorsInserted = /* @__PURE__ */new Map(),\n allSelectors = {},\n allRules = {},\n getAllSelectors = () => allSelectors,\n getAllRules = () => process.env.TAMAGUI_DID_OUTPUT_CSS ? [] : Object.keys(allRules).sort().map(key => allRules[key]);\nlet lastScannedSheets = null;\nfunction scanAllSheets(collectThemes = !1, tokens) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n if (process.env.NODE_ENV === \"test\") return;\n let themes;\n const sheets = document.styleSheets || [],\n prev = lastScannedSheets,\n current = new Set(sheets);\n for (const sheet2 of current) if (sheet2) {\n const out = updateSheetStyles(sheet2, !1, collectThemes, tokens);\n out && (themes = out);\n }\n if (lastScannedSheets = current, prev) for (const sheet2 of prev) sheet2 && !current.has(sheet2) && updateSheetStyles(sheet2, !0);\n return themes;\n }\n}\nfunction trackInsertedStyle(id) {\n const next = (totalSelectorsInserted.get(id) || 0) + 1;\n return totalSelectorsInserted.set(id, next), next;\n}\nconst bailAfterEnv = process.env.TAMAGUI_BAIL_AFTER_SCANNING_X_CSS_RULES,\n bailAfter = bailAfterEnv ? +bailAfterEnv : 8e3;\nfunction updateSheetStyles(sheet2, remove = !1, collectThemes = !1, tokens) {\n let rules;\n try {\n if (rules = sheet2.cssRules, !rules) return;\n } catch {\n return;\n }\n const firstSelector = getTamaguiSelector(rules[0], collectThemes)?.[0],\n lastSelector = getTamaguiSelector(rules[rules.length - 1], collectThemes)?.[0],\n cacheKey = `${rules.length}${firstSelector}${lastSelector}`,\n lastScanned = scannedCache.get(sheet2);\n if (!remove && lastScanned === cacheKey) return;\n const len = rules.length;\n let fails = 0,\n dedupedThemes;\n const nameToTheme = {};\n for (let i = 0; i < len; i++) {\n const rule = rules[i];\n if (!(rule instanceof CSSStyleRule)) continue;\n const response = getTamaguiSelector(rule, collectThemes);\n if (response) fails = 0;else {\n if (fails++, fails > bailAfter) return;\n continue;\n }\n const [identifier, cssRule, isTheme] = response;\n if (isTheme) {\n const deduped = addThemesFromCSS(cssRule, tokens);\n if (deduped) {\n for (const name of deduped.names) nameToTheme[name] ? (Object.apply(nameToTheme[name], deduped.theme), deduped.names = deduped.names.filter(x => x !== name)) : nameToTheme[name] = deduped.theme;\n dedupedThemes ||= [], dedupedThemes.push(deduped);\n }\n continue;\n }\n }\n return scannedCache.set(sheet2, cacheKey), dedupedThemes;\n}\nlet colorVarToVal,\n rootComputedStyle = null;\nfunction addThemesFromCSS(cssStyleRule, tokens) {\n const selectors = cssStyleRule.selectorText.split(\",\");\n if (!selectors.length) return;\n if (tokens?.color && !colorVarToVal) {\n colorVarToVal = {};\n for (const key in tokens.color) {\n const token = tokens.color[key];\n token && (colorVarToVal[token.name] = token.val);\n }\n }\n const rules = (cssStyleRule.cssText || \"\").slice(cssStyleRule.selectorText.length + 2, -1).split(\";\"),\n values = {};\n for (const rule of rules) {\n const sepI = rule.indexOf(\":\");\n if (sepI === -1) continue;\n const varIndex = rule.indexOf(\"--\");\n let key = rule.slice(varIndex === -1 ? 0 : varIndex + 2, sepI);\n process.env.TAMAGUI_CSS_VARIABLE_PREFIX && (key = key.replace(process.env.TAMAGUI_CSS_VARIABLE_PREFIX, \"\"));\n const val = rule.slice(sepI + 2);\n let value;\n if (val[0] === \"v\" && val.startsWith(\"var(\")) {\n const varName = val.slice(6, -1),\n tokenVal = colorVarToVal?.[varName];\n tokenVal ? value = tokenVal : (rootComputedStyle ||= getComputedStyle(document.body), value = rootComputedStyle.getPropertyValue(\"--\" + varName));\n } else value = val;\n values[key] = createVariable({\n key,\n name: key,\n val: value\n }, !0);\n }\n const names = /* @__PURE__ */new Set();\n for (const selector of selectors) {\n if (selector === \" .tm_xxt\") continue;\n const lastThemeSelectorIndex = selector.lastIndexOf(\".t_\"),\n name = selector.slice(lastThemeSelectorIndex).slice(3),\n [schemeChar] = selector[lastThemeSelectorIndex - 5],\n scheme = schemeChar === \"d\" ? \"dark\" : schemeChar === \"i\" ? \"light\" : \"\",\n themeName = scheme && scheme !== name ? `${scheme}_${name}` : name;\n !themeName || themeName === \"light_dark\" || themeName === \"dark_light\" || names.add(themeName);\n }\n return {\n names: [...names],\n theme: values\n };\n}\nconst tamaguiSelectorRegex = /\\.tm_xxt/;\nfunction getTamaguiSelector(rule, collectThemes = !1) {\n if (rule instanceof CSSStyleRule) {\n const text = rule.selectorText;\n if (text[0] === \":\" && text[1] === \"r\" && tamaguiSelectorRegex.test(text)) {\n const id = getIdentifierFromTamaguiSelector(\n // next.js minifies it so its in front\n text.replace(tamaguiSelectorRegex, \"\"));\n return collectThemes ? [id, rule, !0] : [id, rule];\n }\n } else if (rule instanceof CSSMediaRule) return rule.cssRules.length > 1 ? void 0 : getTamaguiSelector(rule.cssRules[0]);\n}\nconst getIdentifierFromTamaguiSelector = selector => {\n const dotIndex = selector.indexOf(\":\");\n return dotIndex > -1 ? selector.slice(7, dotIndex) : selector.slice(7);\n};\nlet sheet = null,\n trackAllRules = !0;\nfunction stopAccumulatingRules() {\n trackAllRules = !1;\n}\nfunction updateRules(identifier, rules) {\n return trackAllRules && (allRules[identifier] = rules.join(\" \")), !0;\n}\nlet nonce = \"\";\nfunction setNonce(_) {\n nonce = _;\n}\nfunction insertStyleRules(rulesToInsert) {\n if (!sheet && document.head) {\n const styleTag = document.createElement(\"style\");\n styleTag.id = \"_tamagui-styles\", nonce && (styleTag.nonce = nonce), sheet = document.head.appendChild(styleTag).sheet;\n }\n if (sheet) for (const key in rulesToInsert) {\n const styleObject = rulesToInsert[key],\n identifier = styleObject[StyleObjectIdentifier];\n if (!shouldInsertStyleRules(identifier)) continue;\n const rules = styleObject[StyleObjectRules];\n allSelectors[identifier] = rules.join(`\n`), trackInsertedStyle(identifier), updateRules(identifier, rules);\n try {\n for (const rule of rules) sheet.insertRule(rule, sheet.cssRules.length);\n } catch {\n process.env.NODE_ENV === \"production\" && console.error(\"Error inserting style rule\", rules);\n }\n }\n}\nconst maxToInsert = process.env.TAMAGUI_INSERT_SELECTOR_TRIES ? +process.env.TAMAGUI_INSERT_SELECTOR_TRIES : 1;\nfunction shouldInsertStyleRules(identifier) {\n if (process.env.IS_STATIC === \"is_static\") return !0;\n const total = totalSelectorsInserted.get(identifier) || 0;\n return process.env.NODE_ENV === \"development\" && total > +(process.env.TAMAGUI_STYLE_INSERTION_WARNING_LIMIT || 10) && console.warn('Warning: inserting many CSS rules, you may be animating something and generating many CSS insertions, which can degrade performance. Instead, try using the \"disableClassName\" property on elements that change styles often. To disable this warning set TAMAGUI_STYLE_INSERTION_WARNING_LIMIT from 50000 to something higher'), total < maxToInsert;\n}\nexport { getAllRules, getAllSelectors, insertStyleRules, scanAllSheets, setNonce, shouldInsertStyleRules, stopAccumulatingRules, updateRules };\n//# sourceMappingURL=insertStyleRule.mjs.map\n","import { currentPlatform } from \"@tamagui/constants\";\nfunction isActivePlatform(key) {\n if (!key.startsWith(\"$platform\")) return !0;\n const platform = key.slice(10);\n return (\n // web, ios, android\n platform === currentPlatform ||\n // web, native\n platform === \"web\"\n );\n}\nexport { isActivePlatform };\n//# sourceMappingURL=isActivePlatform.mjs.map\n","function isActiveTheme(key, activeThemeName) {\n if (key.startsWith(\"$theme-\")) return key.slice(7).startsWith(activeThemeName);\n}\nexport { isActiveTheme };\n//# sourceMappingURL=isActiveTheme.mjs.map\n","import { _disableMediaTouch } from \"../hooks/useMedia.mjs\";\nfunction log(...args) {\n if (process.env.NODE_ENV !== \"production\") {\n _disableMediaTouch(!0);\n try {\n return console.info(...args);\n } catch (err) {\n console.error(err);\n } finally {\n _disableMediaTouch(!1);\n }\n }\n}\nexport { log };\n//# sourceMappingURL=log.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { getSetting } from \"../config.mjs\";\nimport \"./parseBorderShorthand.mjs\";\nimport \"./parseOutlineShorthand.mjs\";\nconst neg1Flex = [[\"flexGrow\", 0], [\"flexShrink\", 1], [\"flexBasis\", \"auto\"]];\nfunction expandStyle(key, value) {\n if (key === \"flex\") return value === -1 ? neg1Flex : [[\"flexGrow\", value], [\"flexShrink\", 1], [\"flexBasis\", getSetting(\"styleCompat\") === \"legacy\" ? \"auto\" : 0]];\n switch (key) {\n case \"writingDirection\":\n return [[\"direction\", value]];\n // some safari-based browsers seem not to support without -webkit prefix\n case \"backdropFilter\":\n return [[\"backdropFilter\", value], [\"WebkitBackdropFilter\", value]];\n }\n if (key in EXPANSIONS) return EXPANSIONS[key].map(k => [k, value]);\n}\nconst all = [\"Top\", \"Right\", \"Bottom\", \"Left\"],\n horiz = [\"Right\", \"Left\"],\n vert = [\"Top\", \"Bottom\"],\n xy = [\"X\", \"Y\"],\n EXPANSIONS = {\n borderColor: [\"TopColor\", \"RightColor\", \"BottomColor\", \"LeftColor\"],\n borderRadius: [\"TopLeftRadius\", \"TopRightRadius\", \"BottomRightRadius\", \"BottomLeftRadius\"],\n borderWidth: [\"TopWidth\", \"RightWidth\", \"BottomWidth\", \"LeftWidth\"],\n margin: all,\n marginHorizontal: horiz,\n marginVertical: vert,\n padding: all,\n paddingHorizontal: horiz,\n paddingVertical: vert,\n ...(isWeb && {\n // react-native only supports borderStyle\n borderStyle: [\"TopStyle\", \"RightStyle\", \"BottomStyle\", \"LeftStyle\"],\n // react-native doesn't support X / Y\n overflow: xy,\n overscrollBehavior: xy\n })\n };\nfor (const parent in EXPANSIONS) {\n const prefix = parent.slice(0, /[A-Z]/.exec(parent)?.index ?? parent.length);\n EXPANSIONS[parent] = EXPANSIONS[parent].map(k => `${prefix}${k}`);\n}\nexport { expandStyle };\n//# sourceMappingURL=expandStyle.mjs.map\n","import { getSetting } from \"../config.mjs\";\nimport { getVariableValue } from \"../createVariable.mjs\";\nconst cache = /* @__PURE__ */new WeakMap(),\n getVariantExtras = styleState => {\n if (cache.has(styleState)) return cache.get(styleState);\n const {\n props,\n conf,\n context,\n theme,\n styleProps\n } = styleState,\n styledContext = styleProps.styledContext;\n let fonts = conf.fontsParsed;\n context?.language && (fonts = getFontsForLanguage(conf.fontsParsed, context.language));\n const next = {\n fonts,\n tokens: conf.tokensParsed,\n theme,\n context: styledContext,\n get fontFamily() {\n return getVariableValue(styleState.fontFamily || styleState.props.fontFamily) || props.fontFamily || getVariableValue(getSetting(\"defaultFont\"));\n },\n get font() {\n return fonts[this.fontFamily] || (!props.fontFamily || props.fontFamily[0] === \"$\" ? fonts[getSetting(\"defaultFont\") || \"\"] : void 0);\n },\n props\n };\n return cache.set(styleState, next), next;\n },\n fontLanguageCache = /* @__PURE__ */new WeakMap();\nfunction getFontsForLanguage(fonts, language) {\n if (fontLanguageCache.has(language)) return fontLanguageCache.get(language);\n const next = {\n ...fonts,\n ...Object.fromEntries(Object.entries(language).flatMap(([name, lang]) => {\n if (lang === \"default\") return [];\n const langKey = `$${name}_${lang}`;\n return [[`$${name}`, fonts[langKey]]];\n }))\n };\n return fontLanguageCache.set(language, next), next;\n}\nexport { getFontsForLanguage, getVariantExtras };\n//# sourceMappingURL=getVariantExtras.mjs.map\n","import { tokenCategories } from \"@tamagui/helpers\";\nimport { getConfig } from \"../config.mjs\";\nimport { isVariable } from \"../createVariable.mjs\";\nimport { getFontsForLanguage } from \"./getVariantExtras.mjs\";\nconst fontShorthand = {\n fontSize: \"size\",\n fontWeight: \"weight\"\n};\nlet didLogMissingToken = !1,\n _lastFontFamilyToken = null;\nfunction getLastFontFamilyToken() {\n return _lastFontFamilyToken;\n}\nfunction setLastFontFamilyToken(value) {\n _lastFontFamilyToken = value;\n}\nconst getTokenForKey = (key, value, styleProps, styleState) => {\n let resolveAs = styleProps.resolveValues || \"none\";\n if (resolveAs === \"none\") return value;\n const {\n theme,\n conf = getConfig(),\n context,\n fontFamily,\n staticConfig\n } = styleState,\n themeValue = theme ? theme[value] || theme[value.slice(1)] : void 0,\n tokensParsed = conf.tokensParsed;\n let valOrVar,\n hasSet = !1;\n const customTokenAccept = staticConfig?.accept?.[key];\n if (customTokenAccept) {\n const val = themeValue ?? tokensParsed[customTokenAccept]?.[value];\n val != null && (resolveAs = \"value\", valOrVar = val, hasSet = !0);\n }\n if (themeValue) {\n if (resolveAs === \"except-theme\") return value;\n valOrVar = themeValue, process.env.NODE_ENV === \"development\" && styleState.debug === \"verbose\" && (globalThis.tamaguiAvoidTracking = !0, console.info(` - resolving ${key} to theme value ${value} resolveAs ${resolveAs}`, valOrVar), globalThis.tamaguiAvoidTracking = !1), hasSet = !0;\n } else {\n if (value in conf.specificTokens) hasSet = !0, valOrVar = conf.specificTokens[value];else {\n switch (key) {\n case \"fontFamily\":\n {\n valOrVar = (context?.language ? getFontsForLanguage(conf.fontsParsed, context.language) : conf.fontsParsed)[value]?.family || value, setLastFontFamilyToken(value), hasSet = !0;\n break;\n }\n case \"fontSize\":\n case \"lineHeight\":\n case \"letterSpacing\":\n case \"fontWeight\":\n {\n const fam = fontFamily || conf.defaultFontToken;\n if (fam) {\n const fontsParsed = context?.language ? getFontsForLanguage(conf.fontsParsed, context.language) : conf.fontsParsed;\n valOrVar = (fontsParsed[fam] || fontsParsed[conf.defaultFontToken])?.[fontShorthand[key] || key]?.[value] || value, hasSet = !0;\n }\n break;\n }\n }\n for (const cat in tokenCategories) if (key in tokenCategories[cat]) {\n const res = tokensParsed[cat]?.[value];\n res != null ? (valOrVar = res, hasSet = !0) : process.env.NODE_ENV === \"development\" && process.env.TAMAGUI_DISABLE_MISSING_TOKEN_LOG !== \"1\" && (didLogMissingToken || (didLogMissingToken = !0, console.groupCollapsed(`[tamagui] Warning: missing token ${key} in category ${cat} - ${value} (open for details)`), console.info(`Note: this could just be due to you not setting all the theme tokens Tamagui expects, which is harmless, but\n it also often can be because you have a duplicated Tamagui in your bundle, which can cause tricky bugs.`), console.info(`To see if you have duplicated dependencies, in Chrome DevTools hit CMD+P and type TamaguiProvider.\n If you see both a .cjs and a .mjs entry, it's duplicated.`), console.info(\"You can debug that issue by opening the .mjs and .cjs files and setting a breakpoint at the top of each.\"), console.info(\"We only log this warning one time as it's sometimes harmless, to disable this log entirely set process.env.TAMAGUI_DISABLE_MISSING_TOKEN_LOG=1.\"), console.groupEnd()));\n }\n }\n if (!hasSet) {\n const spaceVar = tokensParsed.space[value];\n spaceVar != null && (valOrVar = spaceVar, hasSet = !0);\n }\n }\n if (hasSet) {\n const out = resolveVariableValue(key, valOrVar, resolveAs);\n return process.env.NODE_ENV === \"development\" && styleState.debug === \"verbose\" && (globalThis.tamaguiAvoidTracking = !0, console.info(\"resolved\", resolveAs, valOrVar, out), globalThis.tamaguiAvoidTracking = !1), out;\n }\n process.env.NODE_ENV === \"development\" && styleState.debug === \"verbose\" && console.warn(`Warning: no token found for ${key}, omitting`);\n};\nfunction resolveVariableValue(key, valOrVar, resolveValues) {\n if (resolveValues === \"none\") return valOrVar;\n if (isVariable(valOrVar)) {\n if (resolveValues === \"value\") return valOrVar.val;\n const get = valOrVar?.get;\n return typeof get == \"function\" ? get(resolveValues === \"web\" ? \"web\" : void 0) : valOrVar.variable;\n }\n return valOrVar;\n}\nexport { getLastFontFamilyToken, getTokenForKey, resolveVariableValue, setLastFontFamilyToken };\n//# sourceMappingURL=getTokenForKey.mjs.map\n","const isObj = x => x && !Array.isArray(x) && typeof x == \"object\";\nexport { isObj };\n//# sourceMappingURL=isObj.mjs.map\n","import { expandStyle } from \"./expandStyle.mjs\";\nimport { fixStyles } from \"./expandStyles.mjs\";\nimport { isObj } from \"./isObj.mjs\";\nimport { normalizeValueWithProperty } from \"./normalizeValueWithProperty.mjs\";\nimport { pseudoDescriptors } from \"./pseudoDescriptors.mjs\";\nfunction normalizeStyle(style, disableNormalize = !1) {\n const res = {};\n for (let key in style) {\n const prop = style[key];\n if (prop == null) continue;\n if (key in pseudoDescriptors ||\n // this should capture all parent-based styles like media, group, etc\n key[0] === \"$\" && isObj(prop)) {\n res[key] = normalizeStyle(prop, disableNormalize);\n continue;\n }\n const value = disableNormalize ? prop : normalizeValueWithProperty(prop, key),\n out = expandStyle(key, value);\n out ? Object.assign(res, Object.fromEntries(out)) : res[key] = value;\n }\n return fixStyles(res), res;\n}\nexport { normalizeStyle };\n//# sourceMappingURL=normalizeStyle.mjs.map\n","import { getTokenForKey } from \"./getTokenForKey.mjs\";\nconst tokenPattern = /(\\$[\\w.-]+)/g;\nfunction platformResolveValue(_key, value, styleProps, styleState) {\n return value.replace(tokenPattern, t => {\n let r = getTokenForKey(\"size\", t, styleProps, styleState);\n return r == null && (r = getTokenForKey(\"color\", t, styleProps, styleState)), r != null ? String(r) : t;\n });\n}\nexport { platformResolveValue };\n//# sourceMappingURL=platformResolveValue.mjs.map\n","import { platformResolveValue } from \"./platformResolveValue.mjs\";\nconst compoundKeys = {\n boxShadow: !0,\n textShadow: !0,\n filter: !0,\n backgroundImage: !0,\n border: !0,\n outline: !0\n};\nfunction resolveCompoundTokens(key, value, styleProps, styleState) {\n return !value.includes(\"$\") || !compoundKeys[key] ? value : platformResolveValue(key, value, styleProps, styleState);\n}\nexport { resolveCompoundTokens };\n//# sourceMappingURL=resolveCompoundTokens.mjs.map\n","function resolveRem(value) {\n return value;\n}\nfunction isRemValue(value) {\n return typeof value == \"string\" && value.includes(\"rem\");\n}\nexport { isRemValue, resolveRem };\n//# sourceMappingURL=resolveRem.mjs.map\n","const nativeOnlyProps = {\n accessibilityElementsHidden: 1,\n accessibilityIgnoresInvertColors: 1,\n accessibilityLanguage: 1,\n adjustsFontSizeToFit: 1,\n allowFontScaling: 1,\n android_hyphenationFrequency: 1,\n dataDetectorType: 1,\n dynamicTypeRamp: 1,\n elevationAndroid: 1,\n ellipsizeMode: 1,\n hapticFeedback: 1,\n hapticStyle: 1,\n hitSlop: 1,\n importantForAccessibility: 1,\n lineBreakStrategyIOS: 1,\n maxFontSizeMultiplier: 1,\n minimumFontScale: 1,\n needsOffscreenAlphaCompositing: 1,\n nextFocusDown: 1,\n nextFocusForward: 1,\n nextFocusLeft: 1,\n nextFocusRight: 1,\n nextFocusUp: 1,\n onAccessibilityAction: 1,\n onAccessibilityEscape: 1,\n onAccessibilityTap: 1,\n onMagicTap: 1,\n onTextLayout: 1,\n pressRetentionOffset: 1,\n selectionColor: 1,\n shouldRasterizeIOS: 1,\n suppressHighlighting: 1,\n textBreakStrategy: 1\n};\nexport { nativeOnlyProps };\n//# sourceMappingURL=nativeOnlyProps.mjs.map\n","import { nativeOnlyProps } from \"./nativeOnlyProps.mjs\";\nimport \"./webPropsToSkip.mjs\";\nconst skipProps = {\n untilMeasured: 1,\n transition: 1,\n space: 1,\n animateOnly: 1,\n animatedBy: 1,\n disableClassName: 1,\n debug: 1,\n componentName: 1,\n disableOptimization: 1,\n render: 1,\n style: 1,\n // handled after loop so pseudos set usedKeys and override it if necessary\n group: 1,\n animatePresence: 1\n};\nprocess.env.NODE_ENV === \"test\" && (skipProps[\"data-test-renders\"] = 1);\nObject.assign(skipProps, nativeOnlyProps);\nexport { skipProps };\n//# sourceMappingURL=skipProps.mjs.map\n","import \"@tamagui/constants\";\nimport { getVariableValue, isVariable } from \"../createVariable.mjs\";\nimport { expandStyle } from \"./expandStyle.mjs\";\nimport { getLastFontFamilyToken, getTokenForKey, resolveVariableValue, setLastFontFamilyToken } from \"./getTokenForKey.mjs\";\nimport { getVariantExtras } from \"./getVariantExtras.mjs\";\nimport { isObj } from \"./isObj.mjs\";\nimport { normalizeStyle } from \"./normalizeStyle.mjs\";\nimport \"./parseNativeStyle.mjs\";\nimport { pseudoDescriptors } from \"./pseudoDescriptors.mjs\";\nimport { resolveCompoundTokens } from \"./resolveCompoundTokens.mjs\";\nimport { isRemValue, resolveRem } from \"./resolveRem.mjs\";\nimport { skipProps } from \"./skipProps.mjs\";\nimport { getTokenForKey as getTokenForKey2 } from \"./getTokenForKey.mjs\";\nconst propMapper = (key, value, styleState, disabled, map) => {\n if (disabled) return map(key, value);\n if (setLastFontFamilyToken(null), key === \"elevationAndroid\") return;\n const {\n conf,\n styleProps,\n staticConfig\n } = styleState,\n {\n variants\n } = staticConfig;\n if (!styleProps.noExpand && variants && key in variants) {\n const variantValue = resolveVariants(key, value, styleProps, styleState, \"\");\n if (variantValue) {\n variantValue.forEach(([key2, value2]) => map(key2, value2));\n return;\n }\n }\n styleProps.disableExpandShorthands || key in conf.shorthands && (key = conf.shorthands[key]);\n const originalValue = value;\n if (value != null) if (typeof value == \"string\") {\n if (value[0] === \"$\") value = getTokenForKey(key, value, styleProps, styleState);else {\n const resolved = resolveCompoundTokens(key, value, styleProps, styleState);\n value = resolved !== value ? resolved : isRemValue(value) ? resolveRem(value) : value;\n }\n } else isVariable(value) ? value = resolveVariableValue(key, value, styleProps.resolveValues) : isRemValue(value) && (value = resolveRem(value));\n if (value != null) {\n const fontToken = getLastFontFamilyToken();\n key === \"fontFamily\" && fontToken && (styleState.fontFamily = fontToken);\n const expanded = styleProps.noExpand ? null : expandStyle(key, value);\n if (expanded) {\n const max = expanded.length;\n for (let i = 0; i < max; i++) {\n const [nkey, nvalue] = expanded[i];\n map(nkey, nvalue, originalValue);\n }\n } else map(key, value, originalValue);\n }\n },\n resolveVariants = (key, value, styleProps, styleState, parentVariantKey) => {\n const {\n staticConfig,\n conf,\n debug\n } = styleState,\n {\n variants\n } = staticConfig;\n if (!variants) return;\n let variantValue = getVariantDefinition(variants[key], value, conf, styleState);\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(`\\u2666\\uFE0F\\u2666\\uFE0F\\u2666\\uFE0F resolve variant ${key}`), console.info({\n key,\n value,\n variantValue,\n variants\n }), console.groupEnd()), !variantValue) {\n if (process.env.TAMAGUI_WARN_ON_MISSING_VARIANT === \"1\" && typeof value != \"boolean\") {\n const name = staticConfig.componentName || \"[UnnamedComponent]\";\n console.warn(`No variant found: ${name} has variant \"${key}\", but no matching value \"${value}\"`);\n }\n return;\n }\n if (typeof variantValue == \"function\") {\n const fn = variantValue,\n extras = getVariantExtras(styleState);\n variantValue = fn(value, extras), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(\" expanded functional variant\", key), console.info({\n fn,\n variantValue,\n extras\n }), console.groupEnd());\n }\n let fontFamilyResult;\n if (isObj(variantValue)) {\n const fontFamilyUpdate = variantValue.fontFamily || variantValue[conf.inverseShorthands.fontFamily];\n fontFamilyUpdate && (fontFamilyResult = getFontFamilyFromNameOrVariable(fontFamilyUpdate, conf), styleState.fontFamily = fontFamilyResult, process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\" updating font family\", fontFamilyResult)), variantValue = resolveTokensAndVariants(key, variantValue, styleProps, styleState, parentVariantKey);\n }\n if (variantValue) {\n const expanded = normalizeStyle(variantValue, !!styleProps.noNormalize);\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\" expanding styles from \", variantValue, \"to\", expanded);\n const next = Object.entries(expanded);\n return fontFamilyResult && fontFamilyResult[0] === \"$\" && setLastFontFamilyToken(getVariableValue(fontFamilyResult)), next;\n }\n };\nfunction getFontFamilyFromNameOrVariable(input, conf) {\n if (isVariable(input)) {\n const val = variableToFontNameCache.get(input);\n if (val) return val;\n for (const key in conf.fontsParsed) {\n const familyVariable = conf.fontsParsed[key].family;\n if (isVariable(familyVariable) && (variableToFontNameCache.set(familyVariable, key), familyVariable === input)) return key;\n }\n } else if (typeof input == \"string\" && input[0] === \"$\") return input;\n}\nconst variableToFontNameCache = /* @__PURE__ */new WeakMap(),\n resolveTokensAndVariants = (key, value, styleProps, styleState, parentVariantKey) => {\n const {\n conf,\n staticConfig,\n debug,\n theme\n } = styleState,\n {\n variants\n } = staticConfig,\n res = {};\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\" - resolveTokensAndVariants\", key, value);\n for (const _key in value) {\n const subKey = conf.shorthands[_key] || _key,\n val = value[_key];\n if (!(!styleProps.noSkip && subKey in skipProps)) {\n if (staticConfig) {\n const contextProps = staticConfig.context?.props || staticConfig.parentStaticConfig?.context?.props;\n contextProps && subKey in contextProps && (styleState.overriddenContextProps ||= {}, styleState.overriddenContextProps[subKey] = val, styleState.originalContextPropValues ||= {}, styleState.originalContextPropValues[subKey] = val);\n }\n if (styleProps.noExpand) res[subKey] = val;else if (variants && subKey in variants) {\n if (parentVariantKey && parentVariantKey === key) res[subKey] = val[0] === \"$\" ? getTokenForKey(subKey, val, styleProps, styleState) : val;else {\n const variantOut = resolveVariants(subKey, val, styleProps, styleState, key);\n if (variantOut) for (const [key2, val2] of variantOut) val2 != null && (key2 in pseudoDescriptors ? (res[key2] ??= {}, Object.assign(res[key2], val2)) : res[key2] = val2);\n }\n continue;\n }\n if (isVariable(val)) {\n res[subKey] = resolveVariableValue(subKey, val, styleProps.resolveValues), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\"variable\", subKey, res[subKey]);\n continue;\n }\n if (typeof val == \"string\") {\n const fVal = val[0] === \"$\" ? getTokenForKey(subKey, val, styleProps, styleState) : resolveCompoundTokens(subKey, val, styleProps, styleState);\n res[subKey] = fVal === val && isRemValue(val) ? resolveRem(val) : fVal;\n continue;\n }\n if (isObj(val)) {\n const subObject = resolveTokensAndVariants(subKey, val, styleProps, styleState, key);\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\"object\", subKey, subObject), res[subKey] ??= {}, Object.assign(res[subKey], subObject);\n } else res[subKey] = val;\n process.env.NODE_ENV === \"development\" && debug && res[subKey]?.[0] === \"$\" && console.warn(`\\u26A0\\uFE0F Missing token in theme ${theme.name}:`, subKey, res[subKey], theme);\n }\n }\n return res;\n },\n tokenCats = [\"size\", \"color\", \"radius\", \"space\", \"zIndex\"].map(name => ({\n name,\n spreadName: `...${name}`\n }));\nfunction getVariantDefinition(variant, value, conf, {\n theme\n}) {\n if (!variant) return;\n if (typeof variant == \"function\") return variant;\n const exact = variant[value];\n if (exact) return exact;\n if (value != null) {\n const {\n tokensParsed\n } = conf;\n for (const {\n name,\n spreadName\n } of tokenCats) if (spreadName in variant && (name in tokensParsed && value in tokensParsed[name] || name === \"color\" && theme && typeof value == \"string\" && value[0] === \"$\" && value.slice(1) in theme)) return variant[spreadName];\n const fontSizeVariant = variant[\"...fontSize\"];\n if (fontSizeVariant && conf.fontSizeTokens.has(value)) return fontSizeVariant;\n }\n return variant[`:${typeof value}`] || variant[\"...\"];\n}\nexport { getFontFamilyFromNameOrVariable, getTokenForKey2 as getTokenForKey, propMapper };\n//# sourceMappingURL=propMapper.mjs.map\n","const sortString = (a, b) => a < b ? -1 : a > b ? 1 : 0;\nexport { sortString };\n//# sourceMappingURL=sortString.mjs.map\n","import { isClient, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { StyleObjectIdentifier, StyleObjectProperty, StyleObjectPseudo, StyleObjectRules, nonAnimatableStyleProps, stylePropsText, stylePropsTransform, tokenCategories, validPseudoKeys, validStyles as validStylesView } from \"@tamagui/helpers\";\nimport React from \"react\";\nimport { getConfig } from \"../config.mjs\";\nimport { isDevTools } from \"../constants/isDevTools.mjs\";\nimport { getMediaImportanceIfMoreImportant, getMediaKey, mediaKeyMatch } from \"../hooks/useMedia.mjs\";\nimport { mediaState as globalMediaState, mediaQueryConfig } from \"./mediaState.mjs\";\nimport { createMediaStyle } from \"./createMediaStyle.mjs\";\nimport { fixStyles } from \"./expandStyles.mjs\";\nimport { getCSSStylesAtomic, getStyleAtomic, styleToCSS } from \"./getCSSStylesAtomic.mjs\";\nimport { getDefaultProps } from \"./getDefaultProps.mjs\";\nimport \"./getDynamicVal.mjs\";\nimport { getGroupPropParts } from \"./getGroupPropParts.mjs\";\nimport { insertStyleRules, shouldInsertStyleRules, updateRules } from \"./insertStyleRule.mjs\";\nimport { isActivePlatform } from \"./isActivePlatform.mjs\";\nimport { isActiveTheme } from \"./isActiveTheme.mjs\";\nimport { log } from \"./log.mjs\";\nimport { normalizeValueWithProperty } from \"./normalizeValueWithProperty.mjs\";\nimport { propMapper } from \"./propMapper.mjs\";\nimport { pseudoDescriptors, pseudoPriorities } from \"./pseudoDescriptors.mjs\";\nimport { skipProps } from \"./skipProps.mjs\";\nimport { sortString } from \"./sortString.mjs\";\nimport { transformsToString } from \"./transformsToString.mjs\";\nlet conf;\nconst styleOriginalValues = /* @__PURE__ */new WeakMap(),\n PROP_SPLIT = \"-\";\nfunction normalizeGroupKey(key, groupContext) {\n const parts = key.split(\"-\"),\n plen = parts.length;\n if (\n // check if its actually a simple group selector to avoid breaking selectors\n plen === 2 || plen === 3 && pseudoPriorities[parts[parts.length - 1]]) {\n const name = parts[1];\n if (name !== \"true\" && groupContext && !groupContext[name]) return key.replace(\"$group-\", \"$group-true-\");\n }\n return key;\n}\nfunction isValidStyleKey(key, validStyles, accept) {\n return key in validStyles ? !0 : accept && key in accept;\n}\nconst getSplitStyles = (props, staticConfig, theme, themeName, componentState, styleProps, parentSplitStyles, componentContext, groupContext, elementType, startedUnhydrated, debug, animationDriver) => {\n conf = conf || getConfig();\n const driver = animationDriver || componentContext?.animationDriver || conf.animations;\n if (props.passThrough) return null;\n isWeb && styleProps.isAnimated && driver?.isReactNative && !styleProps.noNormalize && (styleProps.noNormalize = \"values\");\n const {\n shorthands\n } = conf,\n {\n isHOC,\n isText,\n isInput,\n variants,\n isReactNative,\n inlineProps,\n inlineWhenUnflattened,\n parentStaticConfig,\n acceptsClassName\n } = staticConfig,\n viewProps = {},\n mediaState = styleProps.mediaState || globalMediaState,\n shouldDoClasses = acceptsClassName && isWeb && !styleProps.noClass,\n rulesToInsert = {},\n classNames = {};\n let space = props.space,\n pseudos = null,\n hasMedia = !1,\n dynamicThemeAccess,\n pseudoGroups,\n mediaGroups,\n className = props.className || \"\",\n mediaStylesSeen = 0;\n const validStyles = staticConfig.validStyles || (staticConfig.isText || staticConfig.isInput ? stylePropsText : validStylesView);\n process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`split-styles-setup`;\n const styleState = {\n classNames,\n conf,\n props,\n styleProps,\n componentState,\n staticConfig,\n style: null,\n theme,\n usedKeys: {},\n viewProps,\n context: componentContext,\n debug,\n // resolved animation driver (respects animatedBy prop)\n animationDriver: driver\n };\n if (process.env.IS_STATIC === \"is_static\") {\n const {\n fallbackProps\n } = styleProps;\n fallbackProps && (styleState.props = new Proxy(props, {\n get(_, key, val) {\n return Reflect.has(props, key) ? Reflect.get(props, key) : Reflect.get(fallbackProps, key);\n }\n }));\n }\n process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`style-state`, process.env.NODE_ENV === \"development\" && debug === \"verbose\" && isClient && isDevTools && (console.groupCollapsed(\"\\u{1F539} getSplitStyles \\u{1F447}\"), log({\n props,\n staticConfig,\n shouldDoClasses,\n styleProps,\n rulesToInsert,\n componentState,\n styleState,\n theme: {\n ...theme\n }\n }));\n const {\n asChild\n } = props,\n {\n accept\n } = staticConfig,\n {\n noSkip,\n disableExpandShorthands,\n noExpand,\n styledContext\n } = styleProps,\n {\n webContainerType\n } = conf.settings,\n parentVariants = parentStaticConfig?.variants;\n for (const keyOg in props) {\n let keyInit = keyOg,\n valInit = props[keyInit];\n if (keyInit === \"children\") {\n viewProps[keyInit] = valInit;\n continue;\n }\n if (process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`before-prop-${keyInit}`, process.env.NODE_ENV === \"test\" && keyInit === \"jestAnimatedStyle\") continue;\n if (accept) {\n const accepted = accept[keyInit];\n if ((accepted === \"style\" || accepted === \"textStyle\") && valInit && typeof valInit == \"object\") {\n viewProps[keyInit] = getSubStyle(styleState, keyInit, valInit, styleProps.noClass);\n continue;\n }\n }\n if (disableExpandShorthands || keyInit in shorthands && (keyInit = shorthands[keyInit]), keyInit === \"className\") continue;\n if (asChild) {\n const defaults = getDefaultProps(staticConfig);\n if (defaults) {\n const defaultVal = defaults[keyOg] ?? defaults[keyInit];\n if (defaultVal !== void 0 && valInit === defaultVal) continue;\n }\n }\n if (keyInit in skipProps && !noSkip && !isHOC) {\n if (keyInit === \"group\") {\n const identifier = `t_group_${valInit}`,\n containerCSS = [\"continer\", void 0, identifier, void 0, [`.${identifier} { container-name: ${valInit}; container-type: ${webContainerType || \"inline-size\"}; }`]];\n addStyleToInsertRules(rulesToInsert, containerCSS);\n }\n continue;\n }\n let isValidStyleKeyInit = isValidStyleKey(keyInit, validStyles, accept);\n if (staticConfig.isReactNative && keyInit.startsWith(\"data-\")) {\n keyInit = keyInit.replace(\"data-\", \"\"), viewProps.dataSet ||= {}, viewProps.dataSet[keyInit] = valInit;\n continue;\n }\n if (!noExpand) {\n if (keyInit === \"disabled\" && valInit === !0 && (viewProps[\"aria-disabled\"] = !0, (elementType === \"button\" || elementType === \"form\" || elementType === \"input\" || elementType === \"select\" || elementType === \"textarea\") && (viewProps.disabled = !0), !variants?.disabled)) continue;\n if (keyInit === \"testID\") {\n isReactNative ? viewProps.testID = valInit : (viewProps[\"data-testid\"] = valInit, styleProps.isAnimated && driver?.isReactNative && (viewProps.testID = valInit));\n continue;\n }\n if (keyInit === \"id\") {\n viewProps.id = valInit;\n continue;\n }\n }\n let isVariant = !isValidStyleKeyInit && variants && keyInit in variants;\n const isStyleLikeKey = isValidStyleKeyInit || isVariant;\n let isPseudo = keyInit in validPseudoKeys,\n isMedia = !isStyleLikeKey && !isPseudo ? getMediaKey(keyInit) : !1,\n isMediaOrPseudo = !!(isMedia || isPseudo);\n isMediaOrPseudo && isMedia === \"group\" && (keyInit = normalizeGroupKey(keyInit, groupContext));\n const isStyleProp = isValidStyleKeyInit || isMediaOrPseudo || isVariant && !noExpand;\n if (isStyleProp && (asChild === \"except-style\" || asChild === \"except-style-web\")) continue;\n const shouldPassProp = !isStyleProp && isHOC ||\n // is in parent variants\n isHOC && parentVariants && keyInit in parentVariants || inlineProps?.has(keyInit),\n parentVariant = parentVariants?.[keyInit],\n isHOCShouldPassThrough = !!(isHOC && (isValidStyleKeyInit || isMediaOrPseudo || parentVariant || keyInit in skipProps)),\n shouldPassThrough = shouldPassProp || isHOCShouldPassThrough;\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(` \\u{1F511} ${keyOg}${keyInit !== keyOg ? ` (shorthand for ${keyInit})` : \"\"} ${shouldPassThrough ? \"(pass)\" : \"\"}`), log({\n isVariant,\n valInit,\n shouldPassProp\n }), isClient && log({\n variants,\n variant: variants?.[keyInit],\n isVariant,\n isHOCShouldPassThrough,\n usedKeys: {\n ...styleState.usedKeys\n },\n parentStaticConfig\n })), shouldPassThrough && (passDownProp(viewProps, keyInit, valInit, isMediaOrPseudo), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.groupEnd(), !isVariant)) continue;\n if (!noSkip && keyInit in skipProps) {\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.groupEnd();\n continue;\n }\n (isText || isInput) && valInit && (keyInit === \"fontFamily\" || keyInit === shorthands.fontFamily) && valInit in conf.fontsParsed && (styleState.fontFamily = valInit);\n const disablePropMap = isMediaOrPseudo || !isStyleLikeKey;\n if (propMapper(keyInit, valInit, styleState, disablePropMap, (key, val, originalVal) => {\n const isStyledContextProp = styledContext && key in styledContext;\n if (!isHOC && disablePropMap && !isStyledContextProp && !isMediaOrPseudo) {\n viewProps[key] = val;\n return;\n }\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(\" \\u{1F4A0} expanded\", keyInit, \"=>\", key), log(val), console.groupEnd()), val == null) return;\n if (!isHOC && isValidStyleKey(key, validStyles, accept)) {\n mergeStyle(styleState, key, val, 1, !1, originalVal);\n return;\n }\n if (isPseudo = key in validPseudoKeys, isMedia = isPseudo ? !1 : getMediaKey(key), isMediaOrPseudo = !!(isMedia || isPseudo), isVariant = variants && key in variants, isMedia === \"group\" && (key = normalizeGroupKey(key, groupContext)), (inlineProps?.has(key) || process.env.IS_STATIC === \"is_static\" && inlineWhenUnflattened?.has(key)) && (viewProps[key] = props[key] ?? val), styleProps.noExpand && isPseudo || isHOC && (isMediaOrPseudo || parentStaticConfig?.variants?.[keyInit])) {\n passDownProp(viewProps, key, val, isMediaOrPseudo), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(` - passing down prop ${key}`), log({\n val,\n after: {\n ...viewProps[key]\n }\n }), console.groupEnd());\n return;\n }\n if (isPseudo) {\n if (!val) return;\n const pseudoStyleObject = getSubStyle(styleState, key, val, styleProps.noClass && process.env.IS_STATIC !== \"is_static\");\n if ((!shouldDoClasses || process.env.IS_STATIC === \"is_static\") && (pseudos ||= {}, pseudos[key] ||= {}, process.env.IS_STATIC === \"is_static\")) {\n Object.assign(pseudos[key], pseudoStyleObject);\n return;\n }\n const descriptor = pseudoDescriptors[key],\n isEnter = key === \"enterStyle\",\n isExit = key === \"exitStyle\";\n if (!descriptor) return;\n if (shouldDoClasses && !isExit) {\n const pseudoStyles = getStyleAtomic(pseudoStyleObject, descriptor);\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && console.info(\"pseudo:\", key, pseudoStyleObject, pseudoStyles);\n for (const psuedoStyle of pseudoStyles) {\n const fullKey = `${psuedoStyle[StyleObjectProperty]}${PROP_SPLIT}${descriptor.name}`;\n addStyleToInsertRules(rulesToInsert, psuedoStyle), classNames[fullKey] = psuedoStyle[StyleObjectIdentifier];\n }\n }\n if (!shouldDoClasses || isExit || isEnter) {\n const descriptorKey = descriptor.stateKey || descriptor.name;\n let isDisabled = componentState[descriptorKey] === !1;\n isExit && (isDisabled = !styleProps.isExiting), isEnter && componentState.unmounted === !1 && (isDisabled = !0), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && (console.groupCollapsed(\"pseudo\", key, {\n isDisabled\n }), log({\n pseudoStyleObject,\n isDisabled,\n descriptor,\n componentState\n }), console.groupEnd());\n const importance = descriptor.priority,\n pseudoOriginalValues = styleOriginalValues.get(pseudoStyleObject);\n for (const pkey in pseudoStyleObject) {\n const val2 = pseudoStyleObject[pkey];\n if (isDisabled) applyDefaultStyle(pkey, styleState);else {\n const curImportance = styleState.usedKeys[pkey] || 0,\n shouldMerge = importance >= curImportance;\n shouldMerge && (process.env.IS_STATIC === \"is_static\" && (pseudos ||= {}, pseudos[key] ||= {}, pseudos[key][pkey] = val2), mergeStyle(styleState, pkey, val2, importance, !1, pseudoOriginalValues?.[pkey])), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(\" subKey\", pkey, shouldMerge, {\n importance,\n curImportance,\n pkey,\n val: val2\n });\n }\n }\n if (!isDisabled) for (const key2 in val) {\n const k = shorthands[key2] || key2;\n styleState.usedKeys[k] = Math.max(importance, styleState.usedKeys[k] || 0);\n }\n }\n return;\n }\n if (isMedia) {\n if (!val) return;\n const mediaKeyShort = key.slice(isMedia == \"theme\" ? 7 : 1);\n if (hasMedia ||= !0, (val.space || !shouldDoClasses || styleProps.willBeAnimated) && ((!hasMedia || typeof hasMedia == \"boolean\") && (hasMedia = /* @__PURE__ */new Set()), hasMedia.add(mediaKeyShort)), isMedia === \"platform\" && !isActivePlatform(key)) return;\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(` \\u{1F4FA} ${key}`, {\n key,\n val,\n props,\n shouldDoClasses,\n acceptsClassName,\n componentState,\n mediaState\n });\n const priority = mediaStylesSeen;\n if (mediaStylesSeen += 1, shouldDoClasses) {\n const mediaStyle = getSubStyle(styleState, key, val, !1),\n mediaStyles = getCSSStylesAtomic(mediaStyle);\n for (const style of mediaStyles) {\n const property = style[StyleObjectProperty],\n isSubStyle = property[0] === \"$\";\n if (isSubStyle && !isActivePlatform(property)) continue;\n const out = createMediaStyle(style, mediaKeyShort, mediaQueryConfig, isMedia, !1, priority);\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(\"\\u{1F4FA} media style:\", out);\n const subKey = isSubStyle ? style[2] : \"\",\n fullKey = `${style[StyleObjectProperty]}${subKey}${PROP_SPLIT}${mediaKeyShort}${style[StyleObjectPseudo] || \"\"}`;\n addStyleToInsertRules(rulesToInsert, out), classNames[fullKey] = out[StyleObjectIdentifier];\n }\n } else {\n let mergeMediaStyle = function (key2, val2, originalVal2) {\n styleState.style ||= {}, mergeMediaByImportance(styleState, mediaKeyShort, key2, val2, mediaState[mediaKeyShort], importanceBump, debug, originalVal2) && key2 === \"fontFamily\" && (styleState.fontFamily = mediaStyle.fontFamily);\n };\n const isThemeMedia = isMedia === \"theme\",\n isGroupMedia = isMedia === \"group\";\n if (!isThemeMedia && !(isMedia === \"platform\") && !isGroupMedia) {\n if (!mediaState[mediaKeyShort]) {\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(` \\u{1F4FA} \\u274C DISABLED ${mediaKeyShort}`);\n return;\n }\n process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(` \\u{1F4FA} \\u2705 ENABLED ${mediaKeyShort}`);\n }\n const mediaStyle = getSubStyle(styleState, key, val, !0);\n let importanceBump = 0;\n if (isThemeMedia) {\n if (dynamicThemeAccess = !0, !(themeName === mediaKeyShort || themeName.startsWith(mediaKeyShort))) return;\n } else if (isGroupMedia) {\n const groupInfo = getGroupPropParts(mediaKeyShort),\n groupName = groupInfo.name,\n groupState = groupContext?.[groupName]?.state,\n groupPseudoKey = groupInfo.pseudo,\n groupMediaKey = groupInfo.media;\n if (!groupState) {\n process.env.NODE_ENV === \"development\" && debug && log(`No parent with group prop, skipping styles: ${groupName}`), pseudoGroups ||= /* @__PURE__ */new Set();\n return;\n }\n const componentGroupState = componentState.group?.[groupName];\n if (groupMediaKey) {\n mediaGroups ||= /* @__PURE__ */new Set(), mediaGroups.add(groupMediaKey);\n const mediaState2 = componentGroupState?.media;\n let isActive = mediaState2?.[groupMediaKey];\n if (!mediaState2 && groupState.layout && (isActive = mediaKeyMatch(groupMediaKey, groupState.layout)), process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(` \\u{1F3D8}\\uFE0F GROUP media ${groupMediaKey} active? ${isActive}`, {\n ...mediaState2,\n usedKeys: {\n ...styleState.usedKeys\n }\n }), !isActive) {\n for (const pkey in mediaStyle) applyDefaultStyle(pkey, styleState);\n return;\n }\n importanceBump = 2;\n }\n if (groupPseudoKey) {\n pseudoGroups ||= /* @__PURE__ */new Set(), pseudoGroups.add(groupName);\n const componentGroupPseudoState = (componentGroupState ||\n // fallback to context initially\n groupContext?.[groupName].state)?.pseudo,\n isActive = componentGroupPseudoState?.[groupPseudoKey],\n priority2 = pseudoPriorities[groupPseudoKey];\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\" && log(` \\u{1F3D8}\\uFE0F GROUP pseudo ${groupMediaKey} active? ${isActive}, priority ${priority2}`, {\n componentGroupPseudoState: {\n ...componentGroupPseudoState\n },\n usedKeys: {\n ...styleState.usedKeys\n }\n }), !isActive) {\n for (const pkey in mediaStyle) applyDefaultStyle(pkey, styleState);\n return;\n }\n importanceBump = priority2;\n }\n }\n const mediaOriginalValues = styleOriginalValues.get(mediaStyle);\n isGroupMedia && mediaStyle.transition && (styleState.pseudoTransitions ||= {}, styleState.pseudoTransitions[`$${mediaKeyShort}`] = mediaStyle.transition);\n for (const subKey in mediaStyle) if (subKey !== \"space\") if (subKey[0] === \"$\") {\n if (!isActivePlatform(subKey) || !isActiveTheme(subKey, themeName)) continue;\n const subOriginalValues = styleOriginalValues.get(mediaStyle[subKey]);\n for (const subSubKey in mediaStyle[subKey]) mergeMediaStyle(subSubKey, mediaStyle[subKey][subSubKey], subOriginalValues?.[subSubKey]);\n } else mergeMediaStyle(subKey, mediaStyle[subKey], mediaOriginalValues?.[subKey]);\n }\n return;\n }\n if (!isVariant) {\n if (isStyledContextProp) return;\n viewProps[key] = val;\n }\n }), process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n try {\n log(\" \\u2714\\uFE0F expand complete\", keyInit), log(\"style\", {\n ...styleState.style\n }), log(\"viewProps\", {\n ...viewProps\n }), log(\"transforms\", {\n ...styleState.flatTransforms\n });\n } catch {}\n console.groupEnd();\n }\n }\n if (process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`split-styles-propsend`, !(styleProps.noNormalize === !1) && (styleState.style && (fixStyles(styleState.style), !styleProps.noExpand && !styleProps.noMergeStyle && isWeb && (!isReactNative || driver?.inputStyle !== \"css\") && styleToCSS(styleState.style)), styleState.flatTransforms && (styleState.style ||= {}, mergeFlatTransforms(styleState.style, styleState.flatTransforms)), parentSplitStyles)) {\n if (shouldDoClasses) for (const key in parentSplitStyles.classNames) {\n const val = parentSplitStyles.classNames[key];\n styleState.style && key in styleState.style || key in classNames || (classNames[key] = val);\n }\n if (!shouldDoClasses) for (const key in parentSplitStyles.style) key in classNames || styleState.style && key in styleState.style || (styleState.style ||= {}, styleState.style[key] = parentSplitStyles.style[key]);\n }\n if (!styleProps.noNormalize && !staticConfig.isReactNative && !staticConfig.isHOC && (!styleProps.isAnimated || driver?.inputStyle === \"css\") && Array.isArray(styleState.style?.transform) && (styleState.style.transform = transformsToString(styleState.style.transform)), !styleProps.noMergeStyle && styleState.style && shouldDoClasses) {\n let retainedStyles,\n shouldRetain = !1;\n if (!styleState.style.$$css) {\n const atomic = getCSSStylesAtomic(styleState.style);\n for (const atomicStyle of atomic) {\n const [key, value, identifier] = atomicStyle,\n isAnimatedAndTransitionOnly = styleProps.isAnimated && styleProps.noClass && props.animateOnly?.includes(key),\n nonAnimatedTransitionOnly = !isAnimatedAndTransitionOnly && !styleProps.isAnimated && isClient && driver?.outputStyle === \"css\" && props.animateOnly?.includes(key);\n isAnimatedAndTransitionOnly ? (retainedStyles ||= {}, retainedStyles[key] = styleState.style[key]) : nonAnimatedTransitionOnly ? (retainedStyles ||= {}, retainedStyles[key] = value, shouldRetain = !0) : (addStyleToInsertRules(rulesToInsert, atomicStyle), classNames[key] = identifier);\n }\n process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && (console.groupCollapsed(\"\\u{1F539} getSplitStyles final style object\"), console.info(styleState.style), console.info(\"retainedStyles\", retainedStyles), console.groupEnd()), (shouldRetain || process.env.IS_STATIC !== \"is_static\") && (styleState.style = retainedStyles || {});\n }\n }\n if (!styleProps.noMergeStyle && styleState.style && !shouldDoClasses && styleProps.isAnimated && !driver?.isReactNative && !styleState.style.$$css) {\n const toConvert = {};\n let hasProps = !1;\n const animateOnly = props.animateOnly;\n for (const key in styleState.style) key in nonAnimatableStyleProps && (toConvert[key] = styleState.style[key], delete styleState.style[key], hasProps = !0);\n if (hasProps) {\n const atomic = getCSSStylesAtomic(toConvert);\n for (const atomicStyle of atomic) addStyleToInsertRules(rulesToInsert, atomicStyle), classNames[atomicStyle[StyleObjectProperty]] = atomicStyle[StyleObjectIdentifier];\n }\n }\n const styleProp = props.style;\n if (!styleProps.noMergeStyle && styleProp) if (isHOC) viewProps.style = normalizeStyle(styleProp);else {\n const isArray = Array.isArray(styleProp),\n len = isArray ? styleProp.length : 1;\n for (let i = 0; i < len; i++) {\n const style = isArray ? styleProp[i] : styleProp;\n style && (style.$$css ? Object.assign(styleState.classNames, style) : (styleState.style ||= {}, Object.assign(styleState.style, normalizeStyle(style))));\n }\n }\n process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`split-styles-pre-result`;\n const result = {\n hasMedia,\n fontFamily: styleState.fontFamily,\n viewProps,\n style: styleState.style,\n pseudos,\n classNames,\n rulesToInsert,\n dynamicThemeAccess,\n pseudoGroups,\n mediaGroups,\n overriddenContextProps: styleState.overriddenContextProps,\n pseudoTransitions: styleState.pseudoTransitions\n },\n asChildExceptStyleLike = asChild === \"except-style\" || asChild === \"except-style-web\";\n if (!styleProps.noMergeStyle && !asChildExceptStyleLike) {\n const style = styleState.style;\n {\n let fontFamily = isText || isInput ? styleState.fontFamily : null;\n fontFamily && fontFamily[0] === \"$\" && (fontFamily = fontFamily.slice(1));\n const fontFamilyClassName = fontFamily ? `font_${fontFamily}` : \"\",\n groupClassName = props.group ? `t_group_${props.group}` : \"\",\n componentNameFinal = props.componentName || staticConfig.componentName,\n componentNameClassName = props.asChild || !componentNameFinal || componentNameFinal === \"Text\" ? \"\" : `is_${componentNameFinal}`;\n let classList = [];\n componentNameClassName && classList.push(componentNameClassName), isText ? classList.push(\"is_Text\") : classList.push(\"is_View\"), fontFamilyClassName && classList.push(fontFamilyClassName), classNames && classList.push(Object.values(classNames).join(\" \")), groupClassName && classList.push(groupClassName), props.className && classList.push(props.className);\n const finalClassName = classList.join(\" \"),\n needsCssStyles = isReactNative || styleProps.isAnimated && driver?.isReactNative;\n if (styleProps.isAnimated && driver?.inputStyle === \"css\") viewProps.className = finalClassName, style && (viewProps.style = style);else if (needsCssStyles) {\n let cnStyles;\n for (const name of finalClassName.split(\" \")) cnStyles ||= {\n $$css: !0\n }, cnStyles[name] = name;\n viewProps.style = cnStyles ? [...(Array.isArray(style) ? style : [style]), cnStyles] : [style];\n } else finalClassName && (viewProps.className = finalClassName), style && (viewProps.style = style);\n }\n }\n if (process.env.NODE_ENV === \"development\" && debug === \"verbose\" && isClient && isDevTools) {\n console.groupEnd(), console.groupCollapsed(\"\\u{1F539} getSplitStyles ===>\");\n try {\n const logs = {\n ...result,\n className,\n componentState,\n viewProps,\n rulesToInsert,\n parentSplitStyles\n };\n for (const key in logs) log(key, logs[key]);\n } catch {}\n console.groupEnd();\n }\n return process.env.NODE_ENV === \"development\" && (debug === \"profile\" || globalThis.time) && time`split-styles-done`, result;\n};\nfunction mergeFlatTransforms(target, flatTransforms) {\n Object.entries(flatTransforms).sort(([a], [b]) => sortString(a, b)).forEach(([key, val]) => {\n mergeTransform(target, key, val, !0);\n });\n}\nfunction mergeStyle(styleState, key, val, importance, disableNormalize = !1, originalVal) {\n const {\n viewProps,\n styleProps,\n staticConfig,\n usedKeys\n } = styleState;\n if ((usedKeys[key] || 0) > importance) return;\n const contextProps = staticConfig.context?.props || staticConfig.parentStaticConfig?.context?.props;\n if (contextProps && key in contextProps) {\n styleState.overriddenContextProps ||= {};\n const originalFromState = styleState.originalContextPropValues?.[key];\n styleState.overriddenContextProps[key] = originalVal ?? originalFromState ?? val;\n }\n if (key in stylePropsTransform) styleState.flatTransforms ||= {}, usedKeys[key] = importance, styleState.flatTransforms[key] = val;else {\n const out = isWeb && !disableNormalize && !styleProps.noNormalize ? normalizeValueWithProperty(val, key) : val;\n // accept is for props not styles\n staticConfig.accept && key in staticConfig.accept ? viewProps[key] = out : (styleState.style ||= {}, usedKeys[key] = importance, styleState.style[key] =\n // if you dont do this you'll be passing props.transform arrays directly here and then mutating them\n // if theres any flatTransforms later, causing issues (mutating props is bad, in strict mode styles get borked)\n key === \"transform\" && Array.isArray(out) ? [...out] : out);\n }\n}\nconst getSubStyle = (styleState, subKey, styleIn, avoidMergeTransform) => {\n const {\n staticConfig,\n conf: conf2,\n styleProps\n } = styleState,\n styleOut = {};\n let originalValues;\n for (let key in styleIn) {\n const val = styleIn[key];\n if (key = conf2.shorthands[key] || key, key === \"transition\") {\n styleState.pseudoTransitions ||= {}, styleState.pseudoTransitions[subKey] = val;\n const driver = styleState.animationDriver;\n if (driver?.outputStyle === \"css\") {\n const animationConfig = driver.animations?.[val];\n if (animationConfig) {\n const important = subKey[0] === \"$\" ? \" !important\" : \"\";\n styleOut.transition = `all ${animationConfig}${important}`;\n }\n }\n continue;\n }\n !staticConfig.isHOC && key in skipProps && !styleProps.noSkip || propMapper(key, val, styleState, !1, (skey, sval, originalVal) => {\n originalVal !== void 0 && (originalValues ||= {}, originalValues[skey] = originalVal), skey in validPseudoKeys && (sval = getSubStyle(styleState, skey, sval, avoidMergeTransform)), !avoidMergeTransform && skey in stylePropsTransform ? mergeTransform(styleOut, skey, sval) : styleOut[skey] = styleProps.noNormalize ? sval : normalizeValueWithProperty(sval, key);\n });\n }\n if (!avoidMergeTransform) {\n const parentTransform = styleState.style?.transform,\n flatTransforms = styleState.flatTransforms,\n styleOutTransform = styleOut.transform;\n if (Array.isArray(styleOutTransform) && styleOutTransform.length) {\n const len = styleOutTransform.length;\n if (Array.isArray(parentTransform)) {\n const merged = [];\n outer: for (let i = 0; i < parentTransform.length; i++) {\n const pt = parentTransform[i];\n for (const pk in pt) {\n for (let j = 0; j < len; j++) for (const sk in styleOutTransform[j]) {\n if (pk === sk) continue outer;\n break;\n }\n merged.push(pt);\n break;\n }\n }\n for (let i = 0; i < len; i++) merged.push(styleOutTransform[i]);\n styleOut.transform = merged;\n }\n if (flatTransforms) outer: for (const fk in flatTransforms) {\n const ck = fk === \"x\" ? \"translateX\" : fk === \"y\" ? \"translateY\" : fk;\n for (let j = 0; j < len; j++) for (const sk in styleOutTransform[j]) {\n if (ck === sk) continue outer;\n break;\n }\n mergeTransform(styleOut, fk, flatTransforms[fk]);\n }\n } else flatTransforms && mergeFlatTransforms(styleOut, flatTransforms);\n }\n return styleProps.noNormalize || fixStyles(styleOut), originalValues && styleOriginalValues.set(styleOut, originalValues), styleOut;\n },\n useInsertEffectCompat = isWeb ? React.useInsertionEffect || useIsomorphicLayoutEffect : () => {},\n useSplitStyles = (a, b, c, d, e, f, g, h, i, j, k, l, m) => {\n \"use no memo\";\n\n const res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m);\n return useInsertEffectCompat(() => {\n res && insertStyleRules(res.rulesToInsert);\n }, [res?.rulesToInsert]), res;\n };\nfunction addStyleToInsertRules(rulesToInsert, styleObject) {\n {\n const identifier = styleObject[StyleObjectIdentifier];\n shouldInsertStyleRules(identifier) && (updateRules(identifier, styleObject[StyleObjectRules]), rulesToInsert[identifier] = styleObject);\n }\n}\nconst defaultColor = process.env.TAMAGUI_DEFAULT_COLOR || \"rgba(0,0,0,0)\",\n animatableDefaults = {\n ...Object.fromEntries(Object.entries(tokenCategories.color).map(([k, v]) => [k, defaultColor])),\n opacity: 1,\n scale: 1,\n scaleX: 1,\n scaleY: 1,\n rotate: \"0deg\",\n rotateX: \"0deg\",\n rotateY: \"0deg\",\n rotateZ: \"0deg\",\n skewX: \"0deg\",\n skewY: \"0deg\",\n x: 0,\n y: 0,\n borderRadius: 0\n },\n mergeTransform = (obj, key, val, backwards = !1) => {\n typeof obj.transform != \"string\" && (obj.transform ||= [], obj.transform[backwards ? \"unshift\" : \"push\"]({\n [mapTransformKeys[key] || key]: val\n }));\n },\n mapTransformKeys = {\n x: \"translateX\",\n y: \"translateY\"\n };\nfunction passDownProp(viewProps, key, val, shouldMergeObject = !1) {\n if (shouldMergeObject) {\n const next = {\n ...viewProps[key],\n ...val\n };\n delete viewProps[key], viewProps[key] = next;\n } else viewProps[key] = val;\n}\nfunction mergeMediaByImportance(styleState, mediaKey, key, value, isSizeMedia, importanceBump, debugProp, originalVal) {\n const usedKeys = styleState.usedKeys;\n let importance = getMediaImportanceIfMoreImportant(mediaKey, key, styleState, isSizeMedia);\n if (importanceBump && (importance = (importance || 0) + importanceBump), process.env.NODE_ENV === \"development\" && debugProp === \"verbose\" && log(`mergeMediaByImportance ${key} importance usedKey ${usedKeys[key]} next ${importance}`), importance === null) return !1;\n if (key in pseudoDescriptors) {\n const descriptor = pseudoDescriptors[key],\n descriptorKey = descriptor.stateKey || descriptor.name;\n if (styleState.componentState[descriptorKey] === !1) return !1;\n const pseudoOriginalValues = styleOriginalValues.get(value);\n for (const subKey in value) mergeStyle(styleState, subKey, value[subKey], importance, !1, pseudoOriginalValues?.[subKey]);\n } else mergeStyle(styleState, key, value, importance, !1, originalVal);\n return !0;\n}\nfunction normalizeStyle(style) {\n const out = {};\n for (const key in style) {\n const val = style[key];\n key in stylePropsTransform ? mergeTransform(out, key, val) : out[key] = normalizeValueWithProperty(val, key);\n }\n return isWeb && Array.isArray(out.transform) && (out.transform = transformsToString(out.transform)), fixStyles(out), out;\n}\nfunction applyDefaultStyle(pkey, styleState) {\n const defaultValues = animatableDefaults[pkey];\n defaultValues != null && !(pkey in styleState.usedKeys) && (!styleState.style || !(pkey in styleState.style)) && mergeStyle(styleState, pkey, defaultValues, 1);\n}\nexport { PROP_SPLIT, getSplitStyles, getSubStyle, styleOriginalValues, useSplitStyles };\n//# sourceMappingURL=getSplitStyles.mjs.map\n","import { composeRefs } from \"@tamagui/compose-refs\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nconst isEventHandler = /^on[A-Z]/;\nfunction mergeSlotStyleProps(base, overlay) {\n for (const key in overlay) {\n const baseVal = base[key],\n overlayVal = overlay[key];\n overlayVal !== void 0 && (key === \"style\" ? base.style = baseVal && overlayVal ? {\n ...baseVal,\n ...overlayVal\n } : overlayVal || baseVal : key === \"className\" ? base.className = baseVal && overlayVal ? `${baseVal} ${overlayVal}` : overlayVal || baseVal : key === \"ref\" ? base.ref = baseVal && overlayVal ? composeRefs(baseVal, overlayVal) : overlayVal || baseVal : isEventHandler.test(key) && typeof baseVal == \"function\" && typeof overlayVal == \"function\" ? base[key] = composeEventHandlers(baseVal, overlayVal) : base[key] = overlayVal);\n }\n return base;\n}\nexport { mergeSlotStyleProps };\n//# sourceMappingURL=mergeSlotStyleProps.mjs.map\n","import { mergeSlotStyleProps } from \"./mergeSlotStyleProps.mjs\";\nfunction mergeRenderElementProps(elementProps, viewProps, children) {\n const merged = mergeSlotStyleProps({\n ...elementProps\n }, viewProps);\n return merged.children = children, merged;\n}\nexport { mergeRenderElementProps };\n//# sourceMappingURL=mergeRenderElementProps.mjs.map\n","function resolveEffectivePseudoTransition(prev, next, pseudoTransitions, baseTransition) {\n if (!pseudoTransitions) return baseTransition;\n const prevState = prev || {\n hover: !1,\n press: !1,\n focus: !1,\n groups: {}\n };\n if (next.press && !prevState.press && pseudoTransitions.pressStyle) return pseudoTransitions.pressStyle;\n if (next.hover && !prevState.hover && pseudoTransitions.hoverStyle) return pseudoTransitions.hoverStyle;\n if (next.focus && !prevState.focus && pseudoTransitions.focusStyle) return pseudoTransitions.focusStyle;\n for (const key in pseudoTransitions) if (key.startsWith(\"$group-\")) {\n const match = key.match(/^\\$group-(.+)-(hover|press|focus)$/);\n if (!match) continue;\n const groupName = match[1],\n pseudoType = match[2],\n nextGroupPseudo = next.group?.[groupName]?.pseudo,\n prevGroupPseudo = prevState.groups?.[groupName];\n if (nextGroupPseudo?.[pseudoType] && !prevGroupPseudo?.[pseudoType]) return pseudoTransitions[key];\n }\n return baseTransition;\n}\nfunction extractPseudoState(state) {\n const groups = {};\n if (state.group) for (const groupName in state.group) {\n const pseudo = state.group[groupName]?.pseudo;\n pseudo && (groups[groupName] = {\n hover: pseudo.hover,\n press: pseudo.press,\n focus: pseudo.focus\n });\n }\n return {\n hover: state.hover,\n press: state.press,\n focus: state.focus,\n groups\n };\n}\nexport { extractPseudoState, resolveEffectivePseudoTransition };\n//# sourceMappingURL=pseudoTransitions.mjs.map\n","const hooks = {};\nfunction setupHooks(next) {\n Object.assign(hooks, next);\n}\nexport { hooks, setupHooks };\n//# sourceMappingURL=setupHooks.mjs.map\n","import { hooks } from \"../setupHooks.mjs\";\nconst setElementProps = node => {\n hooks.setElementProps?.(node);\n};\nexport { setElementProps };\n//# sourceMappingURL=setElementProps.mjs.map\n","import { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { getMediaState } from \"../hooks/useMedia.mjs\";\nconst subscribeToContextGroup = props => {\n const {\n pseudoGroups,\n mediaGroups,\n groupContext\n } = props;\n if (pseudoGroups || mediaGroups) {\n process.env.NODE_ENV === \"development\" && !groupContext && console.debug(\"No context group found\");\n const disposables = /* @__PURE__ */new Set();\n if (pseudoGroups) for (const name of pseudoGroups) disposables.add(createGroupListener(name, props));\n if (mediaGroups) for (const name of mediaGroups) disposables.add(createGroupListener(name, props));\n return () => {\n disposables.forEach(d => d());\n };\n }\n },\n createGroupListener = (name, {\n setStateShallow,\n pseudoGroups,\n mediaGroups,\n groupContext\n }) => {\n const parent = groupContext?.[name];\n if (!parent) return () => {};\n const dispose = parent.subscribe(({\n layout,\n pseudo\n }) => {\n setStateShallow(prev => {\n let didChange = !1;\n const group = prev.group?.[name] || {\n pseudo: {},\n media: {}\n };\n if (pseudo && pseudoGroups?.has(name)) group.pseudo ||= {}, mergeIfNotShallowEqual(group.pseudo, pseudo) !== group.pseudo && (Object.assign(group.pseudo, pseudo), didChange = !0);else if (layout && mediaGroups) {\n group.media ||= {};\n const mediaState = getMediaState(mediaGroups, layout),\n next = mergeIfNotShallowEqual(group.media, mediaState);\n next !== group.media && (Object.assign(group.media, next), didChange = !0);\n }\n return didChange ? {\n group: {\n ...prev.group,\n [name]: group\n }\n } : prev;\n });\n });\n return () => {\n dispose(), setStateShallow({\n group: {}\n });\n };\n };\nexport { subscribeToContextGroup };\n//# sourceMappingURL=subscribeToContextGroup.mjs.map\n","import { createContext, useContext } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst ClientOnlyContext = createContext(!1),\n ClientOnly = ({\n children,\n enabled\n }) => {\n const existingValue = useContext(ClientOnlyContext);\n return /* @__PURE__ */jsx(ClientOnlyContext.Provider, {\n value: enabled ?? existingValue,\n children\n });\n };\nexport { ClientOnly, ClientOnlyContext };\n//# sourceMappingURL=ClientOnly.mjs.map\n","import * as React from \"react\";\nimport { ClientOnlyContext } from \"./ClientOnly.mjs\";\nimport { ClientOnly, ClientOnlyContext as ClientOnlyContext2 } from \"./ClientOnly.mjs\";\nconst useIsClientOnly = () => React.useContext(ClientOnlyContext);\nfunction useDidFinishSSR() {\n return React.useContext(ClientOnlyContext) ? !0 : React.useSyncExternalStore(subscribe, () => !0, () => !1);\n}\nconst subscribe = () => () => {};\nfunction useClientValue(value) {\n return useDidFinishSSR() ? typeof value == \"function\" ? value() : value : void 0;\n}\nexport { ClientOnly, ClientOnlyContext2 as ClientOnlyContext, useClientValue, useDidFinishSSR, useIsClientOnly };\n//# sourceMappingURL=index.mjs.map\n","import { useDidFinishSSR } from \"@tamagui/use-did-finish-ssr\";\nimport { useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { getThemeState } from \"../hooks/useThemeState.mjs\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nlet node;\nfunction ThemeDebug({\n themeState,\n themeProps,\n children\n}) {\n if (process.env.NODE_ENV === \"development\") {\n const isHydrated = useDidFinishSSR();\n if (process.env.NODE_ENV === \"development\" && typeof document < \"u\" && (node || (node = document.createElement(\"div\"), node.style.height = \"200px\", node.style.overflowY = \"scroll\", node.style.position = \"fixed\", node.style.zIndex = 1e7, node.style.bottom = \"30px\", node.style.left = \"30px\", node.style.right = \"30px\", node.style.display = \"flex\", node.style.border = \"1px solid #888\", node.style.flexDirection = \"row\", node.style.background = \"var(--background)\")), useEffect(() => {\n document.body.appendChild(node);\n }, []), themeProps[\"disable-child-theme\"] || !isHydrated) return children;\n const parentState = themeState.parentId ? getThemeState(themeState.parentId) : null;\n return /* @__PURE__ */jsxs(Fragment, {\n children: [createPortal(/* @__PURE__ */jsxs(\"code\", {\n style: {\n whiteSpace: \"pre\",\n maxWidth: 250,\n overflow: \"auto\",\n padding: 5\n },\n children: [\"<Theme \", themeState.id, \" />\\xA0\", JSON.stringify({\n name: themeState.name,\n color1: themeState.theme.color1.val,\n parentId: themeState.parentId,\n // inverses: themeState.inverses,\n isNew: themeState.isNew,\n themeProps: {\n name: themeProps.name,\n componentName: themeProps.componentName,\n reset: themeProps.reset\n },\n parentState: {\n name: parentState?.name,\n isNew: parentState?.isNew\n }\n }, null, 2)]\n }), node), /* @__PURE__ */jsx(\"div\", {\n style: {\n color: \"red\"\n },\n children: themeState.id\n }), children]\n });\n }\n return children;\n}\nThemeDebug.displayName = \"ThemeDebug\";\nexport { ThemeDebug };\n//# sourceMappingURL=ThemeDebug.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport React, { Children, cloneElement, forwardRef, isValidElement, useRef } from \"react\";\nimport { variableToString } from \"../createVariable.mjs\";\nimport { useThemeWithState } from \"../hooks/useTheme.mjs\";\nimport { getThemeState, hasThemeUpdatingProps, ThemeStateContext } from \"../hooks/useThemeState.mjs\";\nimport { ThemeDebug } from \"./ThemeDebug.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nconst Theme = forwardRef(function (props, ref) {\n \"use no memo\";\n\n if (props.disable) return props.children;\n const {\n passThrough\n } = props,\n isRoot = !!props._isRoot,\n [_, themeState] = useThemeWithState(props, isRoot);\n let finalChildren = props[\"disable-child-theme\"] ? Children.map(props.children, child => passThrough || !isValidElement(child) ? child : cloneElement(child, {\n \"data-disable-theme\": !0\n })) : props.children;\n if (ref) try {\n React.Children.only(finalChildren), finalChildren = cloneElement(finalChildren, {\n ref\n });\n } catch {}\n const stateRef = useRef({\n hasEverThemed: !1\n });\n return getThemedChildren(themeState, finalChildren, props, isRoot, stateRef, passThrough);\n});\nTheme.avoidForwardRef = !0;\nfunction getThemedChildren(themeState, children, props, isRoot = !1, stateRef, passThrough = !1) {\n const {\n shallow,\n forceClassName\n } = props,\n state = stateRef.current;\n let shouldRenderChildrenWithTheme = state.hasEverThemed || themeState.isNew || isRoot || hasThemeUpdatingProps(props);\n if (process.env.NODE_ENV === \"development\" && props.debug === \"visualize\" && (children = /* @__PURE__ */jsx(ThemeDebug, {\n themeState,\n themeProps: props,\n children\n })), !shouldRenderChildrenWithTheme) return children;\n children = /* @__PURE__ */jsx(ThemeStateContext.Provider, {\n value: themeState.id,\n children\n });\n const {\n isInverse,\n name\n } = themeState,\n requiresExtraWrapper = isInverse || forceClassName;\n if (state.hasEverThemed || (state.hasEverThemed = !0), (requiresExtraWrapper ||\n // if the theme is exactly dark or light, its likely to change between dark/light\n // and that would require wrapping which would re-parent, so to avoid re-parenting do this\n themeState.name === \"dark\" || themeState.name === \"light\") && (state.hasEverThemed = \"wrapped\"), shallow && themeState.parentId) {\n const parentState = getThemeState(themeState.isNew ? themeState.id : themeState.parentId);\n if (!parentState) throw new Error(\"\\u203C\\uFE0F010\");\n children = Children.toArray(children).map(child => isValidElement(child) ? passThrough ? child : cloneElement(child, void 0, /* @__PURE__ */jsx(Theme, {\n name: parentState.name,\n children: child.props.children\n })) : child);\n }\n if (process.env.NODE_ENV === \"development\" && !passThrough && props.debug && console.warn(\" getThemedChildren\", {\n requiresExtraWrapper,\n forceClassName,\n themeState,\n state,\n themeSpanProps: getThemeClassNameAndColor(themeState, props, isRoot)\n }), forceClassName === !1) return children;\n if (isWeb) {\n const baseStyle = props.contain ? inertContainedStyle : inertStyle,\n {\n className = \"\",\n color\n } = passThrough ? {} : getThemeClassNameAndColor(themeState, props, isRoot);\n if (children = /* @__PURE__ */jsx(\"span\", {\n className: `${className} is_Theme`,\n style: passThrough ? baseStyle : {\n color,\n ...baseStyle\n },\n children\n }), state.hasEverThemed === \"wrapped\") {\n const className2 = requiresExtraWrapper ? `${name.startsWith(\"light\") ? \"t_light\" : name.startsWith(\"dark\") ? \"t_dark\" : \"\"} _dsp_contents` : \"_dsp_contents\";\n children = /* @__PURE__ */jsx(\"span\", {\n className: className2,\n children\n });\n }\n return children;\n }\n return children;\n}\nconst inertStyle = {\n display: \"contents\"\n },\n inertContainedStyle = {\n display: \"contents\",\n contain: \"strict\"\n },\n empty = {\n className: \"\",\n color: void 0\n };\nfunction getThemeClassNameAndColor(themeState, props, isRoot = !1) {\n if (!themeState.isNew && !props.forceClassName) return empty;\n const themeColor = themeState?.theme && themeState.isNew ? variableToString(themeState.theme.color) : \"\",\n style = themeColor ? {\n color: themeColor\n } : void 0,\n themeClassName = themeState.name.replace(schemePrefix, \"\"),\n themeNameParts = themeClassName.split(\"_\");\n let themeClasses = `t_${themeClassName}`;\n if (themeNameParts.length > 1) {\n const hierarchyClasses = [];\n for (let i = 1; i <= themeNameParts.length; i++) hierarchyClasses.push(`t_${themeNameParts.slice(0, i).join(\"_\")}`);\n themeClasses = hierarchyClasses.join(\" \");\n }\n const className = `${isRoot ? \"\" : \"t_sub_theme\"} ${themeClasses}`;\n return {\n color: themeColor,\n className\n };\n}\nconst schemePrefix = /^(dark|light)_/;\nexport { Theme, getThemedChildren };\n//# sourceMappingURL=Theme.mjs.map\n","import React from \"react\";\nimport { Theme } from \"../views/Theme.mjs\";\nimport { getDefaultProps } from \"./getDefaultProps.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction themeable(Component, staticConfig, optimize = !1) {\n const withTheme = React.forwardRef(function (props, ref) {\n \"use no memo\";\n\n const userDefaults = getDefaultProps(staticConfig, props.componentName),\n defaultTheme = userDefaults?.theme,\n defaultResetTheme = userDefaults?.themeReset,\n {\n theme,\n componentName,\n themeReset,\n ...rest\n } = props;\n let overriddenContextProps;\n const context = staticConfig?.context;\n if (context) for (const key in context.props) {\n const val = props[key];\n val !== void 0 && (overriddenContextProps = overriddenContextProps || {}, overriddenContextProps[key] = val);\n }\n const element =\n // @ts-expect-error its ok\n /* @__PURE__ */\n jsx(Component, {\n ref,\n ...rest,\n \"data-disable-theme\": !0\n });\n let filteredProps = null;\n const compName = componentName || staticConfig?.componentName;\n if (compName && (filteredProps = filteredProps || {}, filteredProps.componentName = compName), \"debug\" in props && (filteredProps = filteredProps || {}, filteredProps.debug = props.debug), (\"theme\" in props || defaultTheme) && (filteredProps = filteredProps || {}, filteredProps.name = \"theme\" in props ? props.theme : defaultTheme), (\"themeReset\" in props || defaultResetTheme) && (filteredProps = filteredProps || {}, filteredProps.reset = \"themeReset\" in props ? themeReset : defaultResetTheme), optimize && !filteredProps) return element;\n let contents = /* @__PURE__ */jsx(Theme, {\n \"disable-child-theme\": !0,\n ...filteredProps,\n children: element\n });\n if (context) {\n const Provider = context.Provider,\n contextValue = React.useContext(context);\n contents = /* @__PURE__ */jsx(Provider, {\n ...contextValue,\n ...overriddenContextProps,\n children: contents\n });\n }\n return contents;\n });\n return withTheme.displayName = `Themed(${Component?.displayName || Component?.name || \"Anonymous\"})`, withTheme;\n}\nexport { themeable };\n//# sourceMappingURL=themeable.mjs.map\n","import { StyleObjectIdentifier, StyleObjectRules } from \"@tamagui/helpers\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nfunction getStyleTags(styles) {\n if (styles.length) return /* @__PURE__ */jsx(Fragment, {\n children: styles.map(styleObject => {\n const identifier = styleObject[StyleObjectIdentifier];\n return /* @__PURE__ */jsx(\"style\", {\n href: `t_${identifier}`,\n precedence: \"default\",\n suppressHydrationWarning: !0,\n children: styleObject[StyleObjectRules].join(`\n`)\n }, identifier);\n })\n });\n}\nexport { getStyleTags };\n//# sourceMappingURL=wrapStyleTags.mjs.map\n","import { isServer, isWeb } from \"@tamagui/constants\";\nimport { useCreateShallowSetState } from \"@tamagui/is-equal-shallow\";\nimport { useDidFinishSSR, useIsClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport { useRef, useState } from \"react\";\nimport { getSetting } from \"../config.mjs\";\nimport { defaultComponentState, defaultComponentStateMounted, defaultComponentStateShouldEnter } from \"../defaultComponentState.mjs\";\nimport { isObj } from \"../helpers/isObj.mjs\";\nimport { log } from \"../helpers/log.mjs\";\nconst useComponentState = (props, animationDriver, staticConfig, config) => {\n \"use no memo\";\n\n const isHydrated = useDidFinishSSR(),\n needsHydration = !useIsClientOnly(),\n useAnimations = animationDriver?.isStub ? void 0 : animationDriver?.useAnimations,\n {\n isHOC\n } = staticConfig,\n stateRef = useRef(\n // performance: avoid creating object every render\n void 0);\n stateRef.current || (stateRef.current = {\n startedUnhydrated: needsHydration && !isHydrated\n });\n const hasAnimationProp = !!(!isHOC && \"transition\" in props || props.style && hasAnimatedStyleValue(props.style)),\n inputStyle = animationDriver?.inputStyle ?? \"css\",\n outputStyle = animationDriver?.outputStyle ?? \"css\",\n curStateRef = stateRef.current;\n !needsHydration && hasAnimationProp && (curStateRef.hasAnimated = !0);\n const willBeAnimatedClient = !!(!!(hasAnimationProp && !isHOC && useAnimations) || curStateRef.hasAnimated),\n willBeAnimated = !isServer && willBeAnimatedClient;\n willBeAnimated && !curStateRef.hasAnimated && (curStateRef.hasAnimated = !0);\n const {\n disableClassName\n } = props,\n presence = !isHOC && willBeAnimated && props.animatePresence !== !1 && animationDriver?.usePresence?.() || null,\n presenceState = presence?.[2],\n isExiting = presenceState?.isPresent === !1,\n isEntering = presenceState?.isPresent === !0 && presenceState.initial !== !1,\n hasEnterStyle = !!props.enterStyle,\n hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && (animationDriver?.isReactNative || inputStyle !== \"css\"),\n initialState = !isHOC && (hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate ||\n // disableClassName doesnt work server side, only client, so needs hydrate\n // this is just for a better ux, supports css variables for light/dark, media queries, etc\n disableClassName) ?\n // on the very first render we switch all spring animation drivers to css rendering\n // this is because we need to use css variables, which they don't support to do proper SSR\n // without flickers of the wrong colors.\n // but once we do that initial hydration and we are in client side rendering mode,\n // we can avoid the extra re-render on mount\n hasEnterStyle || isEntering ? defaultComponentStateShouldEnter : defaultComponentState : defaultComponentStateMounted,\n disabled = isDisabled(props);\n disabled != null && (initialState.disabled = disabled);\n const states = useState(initialState),\n state = props.forceStyle ? {\n ...states[0],\n [props.forceStyle]: !0\n } : states[0],\n setState = states[1];\n let isAnimated = willBeAnimated;\n isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated && (isAnimated = !1, curStateRef.willHydrate = !0), disabled !== state.disabled && (disabled && Object.assign(state, defaultComponentStateMounted), state.disabled = disabled, setState(_ => ({\n ...state\n })));\n const groupName = props.group,\n setStateShallow = useCreateShallowSetState(setState, props.debug);\n if (presenceState && isAnimated && isHydrated && staticConfig.variants) {\n process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && console.warn(`has presenceState ${JSON.stringify(presenceState)}`);\n const {\n enterVariant,\n exitVariant,\n enterExitVariant,\n custom\n } = presenceState;\n isObj(custom) && Object.assign(props, custom);\n const exv = exitVariant ?? enterExitVariant,\n env = enterVariant ?? enterExitVariant;\n state.unmounted && env && staticConfig.variants[env] ? (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && console.warn(`Animating presence ENTER \"${env}\"`), props[env] = !0) : isExiting && exv && (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && console.warn(`Animating presence EXIT \"${exv}\"`), props[exv] = exitVariant !== enterExitVariant);\n }\n let noClass = !isWeb || !!props.forceStyle;\n if (!isHydrated) noClass = !1;else if (isWeb && isHydrated) {\n const isAnimatedAndHydrated = isAnimated && isHydrated,\n isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting(\"disableSSR\") || !state.unmounted),\n isDisabledManually = disableClassName && !state.unmounted;\n // Only disable className for animation drivers that output inline styles (not css)\n (isAnimatedAndHydrated && outputStyle !== \"css\" || isDisabledManually || isClassNameDisabled) && (noClass = !0, process.env.NODE_ENV === \"development\" && props.debug === \"verbose\" && log(\"avoiding className\", {\n isAnimatedAndHydrated,\n isDisabledManually,\n isClassNameDisabled\n }));\n }\n return {\n startedUnhydrated: curStateRef.startedUnhydrated,\n curStateRef,\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n setStateShallow,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient\n };\n};\nfunction hasAnimatedStyleValue(style) {\n return Object.keys(style).some(k => {\n const val = style[k];\n return val && typeof val == \"object\" && \"_animation\" in val;\n });\n}\nconst isDisabled = props => props.disabled || props.passThrough || props.accessibilityState?.disabled || props[\"aria-disabled\"] || props.accessibilityDisabled || !1;\nexport { useComponentState };\n//# sourceMappingURL=useComponentState.mjs.map\n","import { composeRefs } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { Children, cloneElement, forwardRef, isValidElement, memo } from \"react\";\nimport { mergeSlotStyleProps } from \"../helpers/mergeSlotStyleProps.mjs\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nconst Slot = memo(forwardRef(function (props, forwardedRef) {\n const {\n children,\n ...slotProps\n } = props;\n if (isValidElement(children)) {\n const mergedProps = mergeSlotProps(children, slotProps);\n return cloneElement(children, children.type.avoidForwardRef ? mergedProps : {\n ...mergedProps,\n ref: composeRefs(forwardedRef, children.props.ref)\n });\n }\n return Children.count(children) > 1 ? Children.only(null) : null;\n })),\n Slottable = ({\n children\n }) => /* @__PURE__ */jsx(Fragment, {\n children\n });\nSlottable.displayName = \"Slottable\";\nconst pressMap = isWeb ? {\n onPress: \"onClick\",\n onPressOut: \"onMouseUp\",\n onPressIn: \"onMouseDown\"\n} : {};\nfunction mergeSlotProps(child, slotProps) {\n const childProps = child.props,\n isHTMLChild = typeof child.type == \"string\";\n if (isHTMLChild) for (const key in pressMap) key in slotProps && (slotProps[pressMap[key]] = slotProps[key], delete slotProps[key]);\n const merged = mergeSlotStyleProps(slotProps, childProps);\n if (isHTMLChild) for (const key in pressMap) key in merged && (merged[pressMap[key]] = merged[key], delete merged[key]);\n return merged;\n}\nexport { Slot, Slottable };\n//# sourceMappingURL=Slot.mjs.map\n","import { composeRefs } from \"@tamagui/compose-refs\";\nimport { isClient, isServer, isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport \"@tamagui/native\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport { isEqualShallow } from \"@tamagui/is-equal-shallow\";\nimport React, { useMemo } from \"react\";\nimport { devConfig, getConfig } from \"./config.mjs\";\nimport { isDevTools } from \"./constants/isDevTools.mjs\";\nimport { ComponentContext } from \"./contexts/ComponentContext.mjs\";\nimport { GroupContext } from \"./contexts/GroupContext.mjs\";\nimport { didGetVariableValue, setDidGetVariableValue } from \"./createVariable.mjs\";\nimport { defaultComponentStateMounted } from \"./defaultComponentState.mjs\";\nimport { getWebEvents } from \"./eventHandling.mjs\";\nimport { getDefaultProps } from \"./helpers/getDefaultProps.mjs\";\nimport { resolveAnimationDriver } from \"./helpers/resolveAnimationDriver.mjs\";\nimport { getSplitStyles, useSplitStyles } from \"./helpers/getSplitStyles.mjs\";\nimport { log } from \"./helpers/log.mjs\";\nimport { mergeComponentProps } from \"./helpers/mergeProps.mjs\";\nimport { mergeRenderElementProps } from \"./helpers/mergeRenderElementProps.mjs\";\nimport { objectIdentityKey } from \"./helpers/objectIdentityKey.mjs\";\nimport { usePointerEvents } from \"./helpers/pointerEvents.mjs\";\nimport { extractPseudoState, resolveEffectivePseudoTransition } from \"./helpers/pseudoTransitions.mjs\";\nimport { setElementProps } from \"./helpers/setElementProps.mjs\";\nimport { subscribeToContextGroup } from \"./helpers/subscribeToContextGroup.mjs\";\nimport { themeable } from \"./helpers/themeable.mjs\";\nimport { getStyleTags } from \"./helpers/wrapStyleTags.mjs\";\nimport { useComponentState } from \"./hooks/useComponentState.mjs\";\nimport { setMediaShouldUpdate, useMedia } from \"./hooks/useMedia.mjs\";\nimport { useThemeWithState } from \"./hooks/useTheme.mjs\";\nimport { hooks } from \"./setupHooks.mjs\";\nimport { Slot } from \"./views/Slot.mjs\";\nimport { getThemedChildren } from \"./views/Theme.mjs\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nlet time, debugKeyListeners, startVisualizer;\nconst componentSetStates = /* @__PURE__ */new Set(),\n avoidReRenderKeys = /* @__PURE__ */new Set([\"hover\", \"press\", \"pressIn\", \"group\", \"focus\", \"focusWithin\", \"media\", \"group\"]);\nif (typeof window < \"u\") {\n const cancelPresses = () => {\n componentSetStates.forEach(setState => setState(prev => prev.press || prev.pressIn ? {\n ...prev,\n press: !1,\n pressIn: !1\n } : prev)), componentSetStates.clear();\n },\n cancelTouches = () => {\n componentSetStates.forEach(setState => setState(prev => prev.press || prev.pressIn || prev.hover ? {\n ...prev,\n press: !1,\n pressIn: !1,\n hover: !1\n } : prev)), componentSetStates.clear();\n };\n addEventListener(\"mouseup\", cancelPresses), addEventListener(\"touchend\", cancelTouches), addEventListener(\"touchcancel\", cancelTouches), process.env.NODE_ENV === \"development\" && (startVisualizer = () => {\n const devVisualizerConfig = devConfig?.visualizer;\n if (devVisualizerConfig && !globalThis.__tamaguiDevVisualizer) {\n let show = function (val) {\n clearTimeout(tm), isShowing = val, debugKeyListeners?.forEach(l => l(val)), !val && resizeListener && (window.removeEventListener(\"resize\", resizeListener), resizeListener = null);\n },\n cancelShow = function () {\n clearTimeout(tm), resizeListener && (window.removeEventListener(\"resize\", resizeListener), resizeListener = null);\n };\n globalThis.__tamaguiDevVisualizer = !0, debugKeyListeners = /* @__PURE__ */new Set();\n let tm,\n isShowing = !1,\n resizeListener = null;\n const options = {\n key: \"Alt\",\n delay: 800,\n ...(typeof devVisualizerConfig == \"object\" ? devVisualizerConfig : {})\n };\n window.addEventListener(\"blur\", () => {\n show(!1);\n }), window.addEventListener(\"keydown\", ({\n key,\n metaKey,\n defaultPrevented\n }) => {\n clearTimeout(tm), !defaultPrevented && (metaKey || key === options.key && (resizeListener || (resizeListener = () => cancelShow(), window.addEventListener(\"resize\", resizeListener)), tm = setTimeout(() => {\n show(!0);\n }, options.delay)));\n }), window.addEventListener(\"keyup\", ({\n defaultPrevented\n }) => {\n defaultPrevented || (cancelShow(), isShowing && show(!1));\n });\n }\n });\n}\nlet BaseText, BaseView;\nconst lastInteractionWasKeyboard = {\n value: !1\n },\n lastInteractionWasTouch = {\n value: !1\n };\nisWeb && typeof document < \"u\" && (document.addEventListener(\"keydown\", () => {\n lastInteractionWasKeyboard.value || (lastInteractionWasKeyboard.value = !0);\n}), document.addEventListener(\"mousedown\", () => {\n lastInteractionWasKeyboard.value && (lastInteractionWasKeyboard.value = !1);\n}), document.addEventListener(\"mousemove\", () => {\n lastInteractionWasKeyboard.value && (lastInteractionWasKeyboard.value = !1), lastInteractionWasTouch.value = !1;\n}), document.addEventListener(\"touchstart\", () => {\n lastInteractionWasTouch.value = !0;\n}));\nfunction createComponent(staticConfig) {\n let config = null;\n const {\n Component,\n isText,\n isHOC\n } = staticConfig,\n component = React.forwardRef((propsIn, forwardedRef) => {\n \"use no memo\";\n\n config = config || getConfig();\n const internalID = process.env.NODE_ENV === \"development\" ? React.useId() : \"\";\n process.env.NODE_ENV === \"development\" && startVisualizer && (startVisualizer(), startVisualizer = void 0), process.env.NODE_ENV === \"test\" && propsIn[\"data-test-renders\"] && (propsIn[\"data-test-renders\"].current = propsIn[\"data-test-renders\"].current ?? 0, propsIn[\"data-test-renders\"].current += 1);\n const {\n context,\n isReactNative\n } = staticConfig,\n debugProp = propsIn.debug,\n styledContextValue = context ? React.useContext(context) : void 0;\n let overriddenContextProps = null;\n const componentContext = React.useContext(ComponentContext),\n hasTextAncestor = !!(isWeb && isText && componentContext.inText),\n isInsideNativeMenu = !1;\n !process.env.TAMAGUI_IS_CORE_NODE && process.env.NODE_ENV === \"development\" && debugProp === \"profile\" && !time && (time = require(\"@tamagui/timer\").timer().start(), globalThis.time = time), process.env.NODE_ENV === \"development\" && !time && globalThis.time && (time = globalThis.time), process.env.NODE_ENV === \"development\" && time && time`non-tamagui time (ignore)`;\n let props = propsIn;\n const componentName = props.componentName || staticConfig.componentName,\n defaultProps = getDefaultProps(staticConfig, props.componentName),\n [nextProps, overrides] = mergeComponentProps(defaultProps, styledContextValue, propsIn);\n props = nextProps, overriddenContextProps = overrides, process.env.NODE_ENV === \"development\" && isClient && React.useEffect(() => {\n let node,\n overlay = null;\n const remove = () => {\n if (overlay) try {\n overlay.parentNode?.removeChild(overlay), overlay = null;\n } catch {}\n },\n debugVisualizerHandler = (show = !1) => {\n if (node = stateRef.current.host, !!node) if (show) {\n overlay || (overlay = document.createElement(\"span\"), overlay.style.inset = \"0px\", overlay.style.zIndex = \"1000000\", overlay.style.position = \"absolute\", overlay.style.borderColor = \"red\", overlay.style.borderWidth = \"1px\", overlay.style.borderStyle = \"dotted\");\n const dataAt = node.getAttribute(\"data-at\") || \"\",\n dataIn = node.getAttribute(\"data-in\") || \"\",\n tooltip = document.createElement(\"span\");\n tooltip.style.position = \"absolute\", tooltip.style.top = \"0px\", tooltip.style.left = \"0px\", tooltip.style.padding = \"3px\", tooltip.style.background = \"rgba(0,0,0,0.75)\", tooltip.style.color = \"rgba(255,255,255,1)\", tooltip.style.fontSize = \"12px\", tooltip.style.lineHeight = \"12px\", tooltip.style.fontFamily = \"monospace\", tooltip.innerText = `${componentName || \"\"} ${dataAt} ${dataIn}`.trim(), overlay.appendChild(tooltip), node.appendChild(overlay);\n } else remove();\n };\n return debugKeyListeners = debugKeyListeners || /* @__PURE__ */new Set(), debugKeyListeners.add(debugVisualizerHandler), () => {\n remove(), debugKeyListeners?.delete(debugVisualizerHandler);\n };\n }, [componentName]);\n const groupContextParent = React.useContext(GroupContext),\n animationDriver = props.animatedBy && config ? config.animationDrivers ? config.animationDrivers[props.animatedBy] ?? config.animations : props.animatedBy === \"default\" ? config.animations : null : resolveAnimationDriver(componentContext.animationDriver) ?? resolveAnimationDriver(config?.animations) ?? null,\n useAnimations = animationDriver?.useAnimations,\n componentState = useComponentState(props, animationDriver?.isStub ? null : animationDriver, staticConfig, config),\n {\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient,\n startedUnhydrated\n } = componentState;\n hasAnimationProp && animationDriver?.avoidReRenders && useIsomorphicLayoutEffect(() => {\n const pendingState = stateRef.current.nextState;\n pendingState && (stateRef.current.nextState = void 0, componentState.setStateShallow(pendingState));\n });\n const allGroupContexts = useMemo(() => {\n if (!groupName || props.passThrough) return groupContextParent;\n const listeners = /* @__PURE__ */new Set();\n return stateRef.current.group?.listeners?.clear(), stateRef.current.group = {\n listeners,\n emit(state2) {\n listeners.forEach(l => l(state2));\n },\n subscribe(cb) {\n return listeners.add(cb), listeners.size === 1 && setStateShallow({\n hasDynGroupChildren: !0\n }), () => {\n listeners.delete(cb), listeners.size === 0 && setStateShallow({\n hasDynGroupChildren: !1\n });\n };\n }\n }, {\n ...groupContextParent,\n [groupName]: {\n state: {\n pseudo: defaultComponentStateMounted\n },\n subscribe: listener => {\n const dispose = stateRef.current.group?.subscribe(listener);\n return () => {\n dispose?.();\n };\n }\n }\n };\n }, [stateRef, groupName, groupContextParent]);\n let setStateShallow = componentState.setStateShallow;\n process.env.NODE_ENV === \"development\" && time && time`use-state`;\n const renderProp = props.render,\n element = isWeb && (!Component || typeof Component == \"string\") && renderProp || Component,\n BaseComponent = isText ? BaseText || element || \"span\" : BaseView || element || (hasTextAncestor ? \"span\" : \"div\");\n let elementType = BaseComponent;\n animationDriver && isAnimated && animationDriver.needsCustomComponent && (elementType = animationDriver[isText ? \"Text\" : \"View\"] || elementType);\n const disableTheme = props[\"data-disable-theme\"] || isHOC;\n process.env.NODE_ENV === \"development\" && time && time`theme-props`;\n const themeStateProps = {\n componentName,\n disable: disableTheme,\n shallow: props.themeShallow,\n debug: debugProp,\n unstyled: props.unstyled\n };\n if (\"theme\" in props && (themeStateProps.name = props.theme), themeStateProps.needsUpdate = () => !!stateRef.current.isListeningToTheme, process.env.NODE_ENV === \"development\" && debugProp && debugProp !== \"profile\") {\n const name = `${componentName || Component?.displayName || Component?.name || \"[Unnamed Component]\"}`,\n type = (hasEnterStyle ? \"(hasEnter)\" : \" \") + (isAnimated ? \"(animated)\" : \" \") + (isReactNative ? \"(rnw)\" : \" \") + (noClass ? \"(noClass)\" : \" \") + (state.press || state.pressIn ? \"(PRESSED)\" : \" \") + (state.hover ? \"(HOVERED)\" : \" \") + (state.focus ? \"(FOCUSED)\" : \" \") + (state.focusWithin ? \"(WITHIN FOCUSED)\" : \" \") + (presenceState?.isPresent === !1 ? \"(EXIT)\" : \"\"),\n dataIs = propsIn[\"data-is\"] || \"\",\n banner = `<${name} /> ${internalID} ${dataIs ? ` ${dataIs}` : \"\"} ${type.trim()} (hydrated: ${isHydrated}) (unmounted: ${state.unmounted})`,\n ch = propsIn.children;\n let childLog = typeof ch == \"string\" ? ch.length > 4 ? ch.slice(0, 4) + \"...\" : ch : \"\";\n childLog.length && (childLog = `(children: ${childLog})`), isWeb ? (console.info(`%c ${banner}`, \"background: green; color: white;\"), isServer ? log({\n noClass,\n isAnimated,\n isWeb,\n inputStyle\n }) : (console.groupEnd(), console.groupCollapsed(`${childLog} [inspect props, state, context \\u{1F447}]`), log(\"props in:\", propsIn), log(\"final props:\", props, Object.keys(props)), log({\n state,\n staticConfig,\n elementType,\n themeStateProps\n }), log({\n context,\n overriddenContextProps,\n componentContext\n }), log({\n presence,\n isAnimated,\n isHOC,\n hasAnimationProp,\n useAnimations\n }), console.groupEnd())) : (console.info(`\n\n------------------------------\n${banner}\n------------------------------\n`), log(\"children:\", props.children), log({\n overriddenContextProps,\n styledContextValue\n }), log({\n noClass,\n isAnimated,\n isWeb,\n inputStyle\n }));\n }\n process.env.NODE_ENV === \"development\" && time && time`pre-theme-media`;\n const [theme, themeState] = useThemeWithState(themeStateProps);\n process.env.NODE_ENV === \"development\" && time && time`theme`, elementType = element || elementType;\n const isStringElement = typeof elementType == \"string\",\n mediaState = useMedia(componentContext, debugProp);\n setDidGetVariableValue(!1), process.env.NODE_ENV === \"development\" && time && time`media`;\n const resolveValues =\n // if HOC + mounted + has animation prop, resolve as value so it passes non-variable to child\n isAnimated && inputStyle !== \"css\" || isHOC && state.unmounted == !1 && hasAnimationProp ? \"value\" : \"auto\",\n styleProps = {\n mediaState,\n noClass,\n resolveValues,\n isExiting,\n isAnimated,\n willBeAnimated,\n styledContext: styledContextValue\n },\n themeName = themeState?.name || \"\";\n process.env.NODE_ENV === \"development\" && time && time`split-styles-prepare`;\n const splitStyles = useSplitStyles(props, staticConfig, theme, themeName, state, styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver),\n isPassthrough = !splitStyles;\n let contextForOverride = staticConfig.context;\n if (splitStyles?.overriddenContextProps) {\n const contextForProps = staticConfig.context || staticConfig.parentStaticConfig?.context;\n if (contextForProps) {\n for (const key in splitStyles.overriddenContextProps) overriddenContextProps = overriddenContextProps || {}, overriddenContextProps[key] = splitStyles.overriddenContextProps[key];\n staticConfig.context || (contextForOverride = contextForProps);\n }\n }\n const groupContext = groupName && allGroupContexts?.[groupName] || null;\n if (!isPassthrough && groupContext &&\n // avoids onLayout if we don't need it\n props.containerType !== \"normal\") {\n const groupState = groupContext?.state;\n groupState && groupState.layout === void 0 && (splitStyles.style?.width || splitStyles.style?.height) && (groupState.layout = {\n width: fromPx(splitStyles.style.width),\n height: fromPx(splitStyles.style.height)\n });\n }\n const hasEnterExitTransition = props.transition && typeof props.transition == \"object\" && !Array.isArray(props.transition) && (\"enter\" in props.transition || \"exit\" in props.transition);\n if (!isPassthrough && (hasAnimationProp || groupName) && animationDriver?.avoidReRenders && !hasEnterExitTransition) {\n let updateGroupListeners = function () {\n const updatedState = stateRef.current.nextState;\n if (groupContext) {\n const {\n group,\n hasDynGroupChildren,\n unmounted,\n transition,\n ...childrenGroupState\n } = updatedState;\n notifyGroupSubscribers(groupContext, stateRef.current.group || null, childrenGroupState);\n }\n };\n const ogSetStateShallow = setStateShallow;\n if (stateRef.current.updateStyleListener = () => {\n const useStyleListener = stateRef.current.useStyleListener;\n if (!useStyleListener) {\n const pendingState = stateRef.current.nextState;\n pendingState && (stateRef.current.nextState = void 0, ogSetStateShallow(pendingState));\n return;\n }\n const updatedState = stateRef.current.nextState || state,\n mediaState2 = stateRef.current.nextMedia,\n nextStyles = getSplitStyles(props, staticConfig, theme, themeName, updatedState, mediaState2 ? {\n ...styleProps,\n mediaState: mediaState2\n } : styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver),\n effectiveTransition = resolveEffectivePseudoTransition(stateRef.current.prevPseudoState, updatedState, nextStyles?.pseudoTransitions, props.transition);\n stateRef.current.prevPseudoState = extractPseudoState(updatedState), useStyleListener(nextStyles?.style || {}, effectiveTransition);\n }, componentContext.mediaEmitListeners = componentContext.mediaEmitListeners || /* @__PURE__ */new Set(), !stateRef.current.mediaEmitCleanup) {\n const updateListener = next => {\n stateRef.current.nextMedia = next, stateRef.current.updateStyleListener?.();\n };\n componentContext.mediaEmitListeners.add(updateListener), stateRef.current.mediaEmitCleanup = () => {\n componentContext.mediaEmitListeners?.delete(updateListener);\n };\n }\n componentContext.mediaEmit = componentContext.mediaEmit || (next => {\n for (const listener of componentContext.mediaEmitListeners) listener(next);\n }), stateRef.current.setStateShallow = nextOrGetNext => {\n const prev = stateRef.current.nextState || state,\n next = typeof nextOrGetNext == \"function\" ? nextOrGetNext(prev) : nextOrGetNext;\n if (next === prev || isEqualShallow(prev, next)) return;\n const canAvoidReRender = Object.keys(next).every(key => avoidReRenderKeys.has(key)),\n updatedState = {\n ...prev,\n ...next\n };\n stateRef.current.nextState = updatedState, canAvoidReRender ? (process.env.NODE_ENV === \"development\" && debugProp && debugProp !== \"profile\" && (console.groupCollapsed(\"[\\u26A1\\uFE0F] avoid setState\", componentName, next, {\n updatedState,\n props\n }), console.info(stateRef.current.host), console.groupEnd()), updateGroupListeners(), stateRef.current.updateStyleListener?.()) : (process.env.NODE_ENV === \"development\" && debugProp && debugProp !== \"profile\" && console.info(\"[\\u{1F40C}] re-render\", {\n canAvoidReRender,\n next\n }), ogSetStateShallow(next));\n }, setStateShallow = state2 => {\n stateRef.current.setStateShallow?.(state2);\n };\n }\n process.env.NODE_ENV === \"development\" && time && time`split-styles`, splitStyles && (props.group && props.untilMeasured === \"hide\" && !stateRef.current.hasMeasured && (splitStyles.style = splitStyles.style || {}, splitStyles.style.opacity = 0), splitStyles.dynamicThemeAccess != null && (stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess));\n const hasRuntimeMediaKeys = splitStyles?.hasMedia && splitStyles.hasMedia !== !0,\n shouldListenForMedia = didGetVariableValue() || hasRuntimeMediaKeys || noClass && splitStyles?.hasMedia === !0,\n mediaListeningKeys = hasRuntimeMediaKeys ? splitStyles.hasMedia : null;\n process.env.NODE_ENV === \"development\" && debugProp === \"verbose\" && console.info(\"useMedia() createComponent\", shouldListenForMedia, mediaListeningKeys), setMediaShouldUpdate(componentContext, shouldListenForMedia, mediaListeningKeys);\n const {\n viewProps: viewPropsIn,\n pseudos,\n style: splitStylesStyle,\n classNames,\n pseudoGroups,\n mediaGroups\n } = splitStyles || {},\n propsWithAnimation = props,\n {\n asChild,\n children,\n themeShallow,\n spaceDirection: _spaceDirection,\n onPress,\n onLongPress,\n onPressIn,\n onPressOut,\n onHoverIn,\n onHoverOut,\n onMouseUp,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur,\n separator,\n // ignore from here on out\n passThrough,\n forceStyle: _forceStyle,\n // @ts-ignore for next/link compat etc\n onClick,\n theme: _themeProp,\n ...nonTamaguiProps\n } = viewPropsIn || {};\n let viewProps = nonTamaguiProps;\n props.forceStyle && (viewProps.forceStyle = props.forceStyle), isHOC && (typeof _themeProp < \"u\" && (viewProps.theme = _themeProp), typeof passThrough < \"u\" && (viewProps.passThrough = passThrough));\n let animationStyles;\n const shouldUseAnimation =\n // if it supports css vars we run it on server too to get matching initial style\n (inputStyle === \"css\" ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC;\n let animatedRef;\n if (shouldUseAnimation) {\n const useStyleEmitter = animationDriver?.avoidReRenders ? listener => {\n stateRef.current.useStyleListener = listener;\n } : void 0,\n effectiveTransition = resolveEffectivePseudoTransition(stateRef.current.prevPseudoState, state, splitStyles?.pseudoTransitions, props.transition);\n splitStyles && (splitStyles.effectiveTransition = effectiveTransition), stateRef.current.prevPseudoState = extractPseudoState(state);\n const animations = useAnimations({\n props: propsWithAnimation,\n // clone style to prevent animation driver mutations from leaking to viewProps\n // during SSR/pre-hydration (CSS driver mutates style.transition in place)\n style: isHydrated ? splitStylesStyle || {} : {\n ...splitStylesStyle\n },\n // @ts-ignore\n styleState: splitStyles,\n useStyleEmitter,\n presence,\n componentState: state,\n styleProps,\n theme,\n themeName,\n pseudos: pseudos || null,\n staticConfig,\n stateRef\n });\n animations && (animations.ref && (animatedRef = animations.ref), isHydrated && animations && (animationStyles = animations.style, viewProps.style = animationStyles, animations.className && (viewProps.className = `${state.unmounted === \"should-enter\" ? \"t_unmounted \" : \"\"}${viewProps.className || \"\"} ${animations.className}`))), process.env.NODE_ENV === \"development\" && time && time`animations`;\n }\n process.env.NODE_ENV === \"development\" && props.untilMeasured && !props.group && console.warn(`You set the untilMeasured prop without setting group. This doesn't work, be sure to set untilMeasured on the parent that sets group, not the children that use the $group- prop.\n\nIf you meant to do this, you can disable this warning - either change untilMeasured and group at the same time, or do group={conditional ? 'name' : undefined}`), process.env.NODE_ENV === \"development\" && time && time`destructure`, !isPassthrough && groupContext &&\n // avoids onLayout if we don't need it\n props.containerType !== \"normal\" && (nonTamaguiProps.onLayout = composeEventHandlers(nonTamaguiProps.onLayout, e => {\n const layout = e.nativeEvent.layout;\n groupContext.state.layout = layout, stateRef.current.group?.emit({\n layout\n }), !stateRef.current.hasMeasured && props.untilMeasured === \"hide\" && setState(prev => ({\n ...prev\n })), stateRef.current.hasMeasured = !0;\n })), viewProps = hooks.usePropsTransform?.(elementType, nonTamaguiProps, stateRef, stateRef.current.willHydrate) || nonTamaguiProps, stateRef.current.composedRef || (stateRef.current.composedRef = composeRefs(x => stateRef.current.host = x, forwardedRef, setElementProps, animatedRef)), viewProps.ref = stateRef.current.composedRef, usePointerEvents(props, viewProps), process.env.NODE_ENV === \"development\" && !isReactNative && !isText && isWeb && !isHOC && React.Children.toArray(props.children).forEach(item => {\n typeof item == \"string\" && item !== `\n` && console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <${staticConfig.componentName || propsIn.tag || \"View\"}>.`, props);\n }), process.env.NODE_ENV === \"development\" && time && time`events-hooks`;\n const unPress = () => {\n setStateShallow({\n press: !1,\n pressIn: !1\n });\n };\n process.env.NODE_ENV === \"development\" && isWeb && useIsomorphicLayoutEffect(() => {\n if (debugProp === \"verbose\") {\n let cssStyleDeclarationToObject = function (style) {\n const styleObject = {};\n for (let i = 0; i < style.length; i++) {\n let prop = style[i];\n styleObject[prop] = style.getPropertyValue(prop);\n }\n return styleObject;\n };\n const computed = stateRef.current.host ? cssStyleDeclarationToObject(getComputedStyle(stateRef.current.host)) : {};\n console.groupCollapsed(`Rendered > (opacity: ${computed.opacity})`), console.warn(stateRef.current.host), console.warn(computed), console.groupEnd();\n }\n }), useIsomorphicLayoutEffect(() => {\n if (state.unmounted === !0 && hasEnterStyle) {\n setStateShallow({\n unmounted: \"should-enter\"\n });\n return;\n }\n if (state.unmounted) {\n if (inputStyle === \"css\") {\n let cancelled = !1;\n return requestAnimationFrame(() => {\n cancelled || requestAnimationFrame(() => {\n cancelled || setStateShallow({\n unmounted: !1\n });\n });\n }), () => {\n cancelled = !0;\n };\n }\n setStateShallow({\n unmounted: !1\n });\n }\n return () => {\n componentSetStates.delete(setState), stateRef.current.mediaEmitCleanup?.();\n };\n }, [state.unmounted, inputStyle]), useIsomorphicLayoutEffect(() => {\n if (!disabled && !(!pseudoGroups && !mediaGroups) && allGroupContexts) return subscribeToContextGroup({\n groupContext: allGroupContexts,\n setStateShallow,\n mediaGroups,\n pseudoGroups\n });\n }, [allGroupContexts, disabled, pseudoGroups ? objectIdentityKey(pseudoGroups) : 0, mediaGroups ? objectIdentityKey(mediaGroups) : 0]);\n const groupEmitter = stateRef.current.group;\n useIsomorphicLayoutEffect(() => {\n !groupContext || !groupEmitter || notifyGroupSubscribers(groupContext, groupEmitter, state);\n }, [groupContext, groupEmitter, state]);\n const runtimePressStyle = !disabled && noClass && pseudos?.pressStyle,\n runtimeFocusStyle = !disabled && noClass && pseudos?.focusStyle,\n runtimeFocusVisibleStyle = !disabled && noClass && pseudos?.focusVisibleStyle,\n attachFocus = !!(runtimePressStyle || runtimeFocusStyle || runtimeFocusVisibleStyle || onFocus || onBlur || componentContext.setParentFocusState),\n hasDynamicGroupChildren = !!(groupName && state.hasDynGroupChildren),\n attachPress = !!(hasDynamicGroupChildren || runtimePressStyle || onPress || onPressOut || onPressIn || onMouseDown || onMouseUp || onLongPress || onClick || pseudos?.focusVisibleStyle),\n runtimeHoverStyle = !disabled && noClass && pseudos?.hoverStyle,\n needsHoverState = !!(hasDynamicGroupChildren || runtimeHoverStyle),\n attachHover = isWeb && !!(hasDynamicGroupChildren || needsHoverState || onMouseEnter || onMouseLeave),\n shouldAttach = !disabled && !props.asChild && !!(attachFocus || attachPress || attachHover || runtimePressStyle || runtimeHoverStyle || runtimeFocusStyle),\n needsPressState = !!(hasDynamicGroupChildren || runtimePressStyle);\n process.env.NODE_ENV === \"development\" && time && time`events-setup`, process.env.NODE_ENV === \"development\" && debugProp === \"verbose\" && log(\"\\u{1FAA9} events()\", {\n runtimeFocusStyle,\n runtimePressStyle,\n runtimeHoverStyle,\n runtimeFocusVisibleStyle,\n attachPress,\n attachFocus,\n attachHover,\n shouldAttach,\n needsHoverState,\n pseudos\n });\n const events = shouldAttach ? {\n onPressOut: attachPress ? e => {\n unPress(), onPressOut?.(e), onMouseUp?.(e);\n } : void 0,\n ...((attachHover || attachPress) && {\n onMouseEnter: e => {\n const next = {};\n needsHoverState && !lastInteractionWasTouch.value && (next.hover = !0), needsPressState && state.pressIn && (next.press = !0), setStateShallow(next), onHoverIn?.(e), onMouseEnter?.(e);\n },\n onMouseLeave: e => {\n const next = {};\n needsHoverState && (next.hover = !1), needsPressState && (next.press = !1, next.pressIn = !1), setStateShallow(next), onHoverOut?.(e), onMouseLeave?.(e);\n }\n }),\n onPressIn: attachPress ? e => {\n needsPressState && setStateShallow({\n press: !0,\n pressIn: !0\n }), onPressIn?.(e), onMouseDown?.(e), isWeb && componentSetStates.add(setState);\n } : void 0,\n onPress: attachPress ? e => {\n unPress(), isWeb && onClick?.(e), onPress?.(e), onLongPress?.(e);\n } : void 0,\n ...(attachFocus && {\n onFocus: e => {\n const next = {};\n componentContext.setParentFocusState && (next.focusWithin = !0), pseudos?.focusVisibleStyle && lastInteractionWasKeyboard.value ? next.focusVisible = !0 : next.focus = !0, setStateShallow(next), onFocus?.(e);\n },\n onBlur: e => {\n componentContext.setParentFocusState && componentContext.setParentFocusState({\n focusWithin: !1\n }), setStateShallow({\n focus: !1,\n focusVisible: !1,\n focusWithin: !1\n }), onBlur?.(e);\n }\n })\n } : null;\n events && !isReactNative && Object.assign(viewProps, getWebEvents(events)), process.env.NODE_ENV === \"development\" && time && time`events`, process.env.NODE_ENV === \"development\" && debugProp === \"verbose\" && log(\"events\", {\n events,\n attachHover,\n attachPress\n });\n const pressGesture = null;\n if (process.env.NODE_ENV === \"development\" && time && time`hooks`, asChild) {\n elementType = Slot;\n {\n const passEvents = getWebEvents({\n onPress,\n onLongPress,\n onPressIn,\n onPressOut,\n onMouseUp,\n onMouseDown,\n onMouseEnter,\n onMouseLeave\n }, asChild === \"web\" || asChild === \"except-style-web\");\n Object.assign(viewProps, passEvents);\n }\n }\n process.env.NODE_ENV === \"development\" && time && time`spaced-as-child`;\n let content;\n if (isPassthrough) content = React.createElement(BaseComponent, {\n style: {\n display: \"contents\"\n }\n }, propsIn.children);else {\n hooks.useChildren && (content = hooks.useChildren(elementType, content || children, viewProps));\n const isRenderPropString = typeof renderProp == \"string\";\n if (renderProp && !isRenderPropString) {\n const out = getCustomRender(renderProp, content || children, viewProps, componentState);\n out && (viewProps = out.viewProps, elementType = out.elementType);\n }\n content || (isRenderPropString && viewProps.render, content = React.createElement(elementType, viewProps, content || children)), process.env.NODE_ENV === \"development\" && time && time`use-children`;\n }\n const ResetPresence = animationDriver?.ResetPresence,\n needsReset = !!(\n // not when passing down to child\n !asChild &&\n // not when passThrough\n splitStyles &&\n // not when HOC\n !isHOC && ResetPresence && willBeAnimated && (hasEnterStyle || presenceState)),\n hasEverReset = stateRef.current.hasEverResetPresence;\n if (needsReset && !hasEverReset && (stateRef.current.hasEverResetPresence = !0), (needsReset || hasEverReset) && ResetPresence && (content = /* @__PURE__ */jsx(ResetPresence, {\n disabled: !needsReset,\n children: content\n })), process.env.NODE_ENV === \"development\" && time && time`create-element`, \"focusWithinStyle\" in propsIn && (content = /* @__PURE__ */jsx(ComponentContext.Provider, {\n ...componentContext,\n setParentFocusState: setStateShallow,\n children: content\n })), \"group\" in props && (content = /* @__PURE__ */jsx(GroupContext.Provider, {\n value: allGroupContexts,\n children: content\n })), !asChild && isText && !hasTextAncestor && (content = /* @__PURE__ */jsx(ComponentContext.Provider, {\n ...componentContext,\n inText: !0,\n children: content\n })), process.env.NODE_ENV === \"development\" && time && time`group-context`, content = disableTheme || !splitStyles ? content : getThemedChildren(themeState, content, themeStateProps, !1, stateRef), process.env.NODE_ENV === \"development\" && time && time`themed-children`, isReactNative && !asChild && (content = /* @__PURE__ */jsx(\"span\", {\n className: \"_dsp_contents\",\n ...(!isPassthrough && isHydrated && events && getWebEvents(events)),\n children: content\n })), overriddenContextProps && contextForOverride) {\n const Provider = contextForOverride.Provider;\n for (const key in styledContextValue) key in overriddenContextProps || (overriddenContextProps[key] = styledContextValue[key]);\n content = /* @__PURE__ */jsx(Provider, {\n __disableMergeDefaultValues: !0,\n ...overriddenContextProps,\n children: content\n });\n }\n if (process.env.NODE_ENV === \"development\" && time && time`context-override`, startedUnhydrated && splitStyles && (content = /* @__PURE__ */jsxs(Fragment, {\n children: [content, isHydrated ? null : getStyleTags(Object.values(splitStyles.rulesToInsert))]\n })), process.env.NODE_ENV === \"development\" && time && time`style-tags`, process.env.NODE_ENV === \"development\" && debugProp && debugProp !== \"profile\") {\n const title = `render <${typeof elementType == \"string\" ? elementType : \"Component\"} /> (${internalID}) with props`;\n if (!isWeb || !isClient) {\n log(title), log(\"state: \", state), isDevTools && log(\"viewProps\", viewProps), log(\"final styles:\");\n for (const key in splitStylesStyle) log(key, splitStylesStyle[key]);\n } else {\n console.groupCollapsed(title);\n try {\n log(\"viewProps\", viewProps), log(\"children\", content), typeof window < \"u\" && log({\n propsIn,\n props,\n attachPress,\n animationStyles,\n classNames,\n content,\n elementType,\n events,\n isAnimated,\n hasRuntimeMediaKeys,\n isStringElement,\n mediaListeningKeys,\n pseudos,\n shouldAttach,\n noClass,\n shouldListenForMedia,\n splitStyles,\n splitStylesStyle,\n state,\n stateRef,\n staticConfig,\n styleProps,\n themeState,\n viewProps,\n willBeAnimated,\n startedUnhydrated\n });\n } catch {} finally {\n console.groupEnd();\n }\n }\n }\n return process.env.NODE_ENV === \"development\" && time && (time`rest`, globalThis.willPrint || (globalThis.willPrint = !0, setTimeout(() => {\n delete globalThis.willPrint, time.print(), time = null;\n }, 50))), content;\n });\n function notifyGroupSubscribers(groupContext, groupEmitter, pseudo) {\n if (!groupContext || !groupEmitter) return;\n const nextState = {\n ...groupContext.state,\n pseudo\n };\n groupEmitter.emit(nextState), groupContext.state = nextState;\n }\n staticConfig.componentName && (component.displayName = staticConfig.componentName);\n let res = component;\n res = React.memo(res), res.staticConfig = staticConfig;\n function extendStyledConfig(extended) {\n return {\n ...staticConfig,\n ...extended,\n neverFlatten: !0,\n isHOC: !0,\n isStyledHOC: !1\n };\n }\n function styleable(Component2, options) {\n let out = typeof Component2 == \"function\" && Component2.length === 1 ? Component2 : React.forwardRef(Component2);\n const extendedConfig = extendStyledConfig(options?.staticConfig);\n return out = options?.disableTheme ? out : themeable(out, extendedConfig, !0), (extendedConfig.memo || process.env.TAMAGUI_MEMOIZE_STYLEABLE) && (out = React.memo(out)), out.staticConfig = extendedConfig, out.styleable = styleable, out;\n }\n return res.styleable = styleable, res;\n}\nconst fromPx = val => typeof val == \"number\" ? val : typeof val == \"string\" ? +val.replace(\"px\", \"\") : 0,\n getCustomRender = (renderProp, content, viewProps, state) => {\n if (typeof renderProp == \"function\") {\n const out = renderProp(viewProps, state);\n renderProp = out;\n }\n if (renderProp && typeof renderProp == \"object\" && React.isValidElement(renderProp) && renderProp) {\n const elementProps = renderProp.props,\n mergedProps = elementProps ? mergeRenderElementProps(elementProps, viewProps, content) : viewProps;\n return {\n elementType: renderProp.type,\n viewProps: mergedProps\n };\n }\n };\nexport { componentSetStates, createComponent };\n//# sourceMappingURL=createComponent.mjs.map\n","import { createCSSVariable, getVariableValue } from \"../createVariable.mjs\";\nconst registerCSSVariable = v => {\n process.env.TAMAGUI_DID_OUTPUT_CSS || tokensValueToVariable.set(getVariableValue(v), v);\n },\n variableToCSS = (v, unitless = !1) => process.env.TAMAGUI_DID_OUTPUT_CSS ? \"\" : `--${process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\"}${createCSSVariable(v.name, !1)}:${!unitless && typeof v.val == \"number\" ? `${v.val}px` : v.val}`,\n tokensValueToVariable = /* @__PURE__ */new Map();\nlet autoVarId = 0;\nconst autoVariables = [],\n getOrCreateVariable = val => {\n if (tokensValueToVariable.has(val)) return tokensValueToVariable.get(val);\n const name = `t${autoVarId++}`,\n variable = `var(--${name})`,\n v = {\n val,\n name,\n variable\n };\n return tokensValueToVariable.set(val, v), autoVariables.push(v), v;\n };\nlet mutatedVarId = 1e4;\nconst mutatedAutoVariables = [],\n mutatedTokensValueToVariable = /* @__PURE__ */new Map(),\n getOrCreateMutatedVariable = val => {\n if (mutatedTokensValueToVariable.has(val)) return mutatedTokensValueToVariable.get(val);\n const name = `t${mutatedVarId++}`,\n variable = `var(--${name})`,\n v = {\n val,\n name,\n variable\n };\n return mutatedTokensValueToVariable.set(val, v), mutatedAutoVariables.push(v), v;\n };\nexport { autoVariables, getOrCreateMutatedVariable, getOrCreateVariable, mutatedAutoVariables, registerCSSVariable, tokensValueToVariable, variableToCSS };\n//# sourceMappingURL=registerCSSVariable.mjs.map\n","import { simpleHash } from \"@tamagui/helpers\";\nimport { getSetting } from \"../config.mjs\";\nimport { THEME_CLASSNAME_PREFIX } from \"../constants/constants.mjs\";\nimport { variableToString } from \"../createVariable.mjs\";\nimport { getOrCreateVariable, getOrCreateMutatedVariable } from \"./registerCSSVariable.mjs\";\nimport { sortString } from \"./sortString.mjs\";\nconst darkLight = [\"dark\", \"light\"],\n lightDark = [\"light\", \"dark\"];\nfunction getThemeCSSRules(props) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n if (!process.env.TAMAGUI_DOES_SSR_CSS || process.env.TAMAGUI_DOES_SSR_CSS === \"mutates-themes\" || process.env.TAMAGUI_DOES_SSR_CSS === \"false\") {\n const cssRuleSets = [],\n {\n config,\n themeName,\n theme,\n names\n } = props,\n hasDarkLight = props.hasDarkLight ?? (config.themes && (\"light\" in config.themes || \"dark\" in config.themes)),\n CNP = `.${THEME_CLASSNAME_PREFIX}`;\n let vars = \"\";\n const variableCreator = props.useMutatedVariables ? getOrCreateMutatedVariable : getOrCreateVariable;\n for (const themeKey in theme) {\n const variable = theme[themeKey],\n value = variableCreator(variable.val).variable;\n vars += `--${process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\"}${simpleHash(themeKey, 40)}:${value};`;\n }\n const isDarkBase = themeName === \"dark\",\n isLightBase = themeName === \"light\",\n baseSelectors = names.map(name => `${CNP}${name}`),\n selectorsSet = new Set(isDarkBase || isLightBase ? baseSelectors : []);\n if (hasDarkLight) for (const subName of names) {\n const isDark = isDarkBase || subName.startsWith(\"dark_\"),\n isLight = !isDark && (isLightBase || subName.startsWith(\"light_\"));\n if (!(isDark || isLight)) {\n selectorsSet.add(`${CNP}${subName}`);\n continue;\n }\n const childSelector = `${CNP}${subName.replace(/^(dark|light)_/, \"\")}`,\n order = isDark ? darkLight : lightDark,\n [stronger, weaker] = order,\n numSelectors = Math.round(2 * 1.5);\n for (let depth = 0; depth < numSelectors; depth++) {\n const isOdd = depth % 2 === 1;\n if (isOdd && depth < 3) continue;\n const parents = new Array(depth + 1).fill(0).map((_, idx) => `${CNP}${idx % 2 === 0 ? stronger : weaker}`);\n let parentSelectors = parents.length > 1 ? parents.slice(1) : parents;\n if (isOdd) {\n const [_first, second, ...rest] = parentSelectors;\n parentSelectors = [second, ...rest, second];\n }\n const lastParentSelector = parentSelectors[parentSelectors.length - 1],\n nextChildSelector = childSelector === lastParentSelector ? \"\" : childSelector,\n parentSelectorString = parentSelectors.join(\" \");\n selectorsSet.add(`${parentSelectorString} ${nextChildSelector}`);\n }\n }\n const selectors = [...selectorsSet].sort(sortString),\n css = `${selectors.map(x => {\n const addTo = getSetting(\"addThemeClassName\");\n return isBaseTheme(x) && (addTo === \"html\" || addTo === \"body\") ? `${addTo === \"body\" ? \"body\" : \":root\"}${x}` : `:root ${x}`;\n }).join(\", \") + \", .tm_xxt\"} {${vars}}`;\n if (cssRuleSets.push(css), getSetting(\"shouldAddPrefersColorThemes\")) {\n const isDark = themeName.startsWith(\"dark\"),\n baseName = isDark ? \"dark\" : \"light\",\n lessSpecificSelectors = selectors.map(x => {\n if (x == darkSelector || x === lightSelector) return \":root\";\n if (!(isDark && x.startsWith(lightSelector) || !isDark && x.startsWith(darkSelector))) return x.replace(/^\\.t_(dark|light) /, \"\").trim();\n }).filter(Boolean).join(\", \"),\n isBase = !themeName.includes(\"_\");\n let bodyRulesString = \"\";\n if (isBase) {\n const bgString = theme.background ? `background:${variableToString(theme.background)};` : \"\",\n fgString = theme.color ? `color:${variableToString(theme.color)}` : \"\";\n bodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}\n ` : \"\";\n }\n const themeRules = `${lessSpecificSelectors} {${vars}}`,\n prefersMediaSelectors = `@media(prefers-color-scheme:${baseName}){\n ${bodyRulesString}${themeRules}\n }`;\n cssRuleSets.push(prefersMediaSelectors);\n }\n const selectionStyles = getSetting(\"selectionStyles\");\n if (selectionStyles) {\n const rules = selectionStyles(theme);\n if (rules) {\n const selectionSelectors = baseSelectors.map(s => `${s} ::selection`).join(\", \"),\n styles = Object.entries(rules).flatMap(([k, v]) => v ? `${k === \"backgroundColor\" ? \"background\" : k}:${variableToString(v)}` : []).join(\";\");\n if (styles) {\n const css2 = `${selectionSelectors}{${styles}}`;\n cssRuleSets.push(css2);\n }\n }\n }\n return cssRuleSets;\n }\n }\n return [];\n}\nconst darkSelector = \".t_dark\",\n lightSelector = \".t_light\",\n isBaseTheme = x => x === darkSelector || x === lightSelector || x.startsWith(\".t_dark \") || x.startsWith(\".t_light \");\nexport { getThemeCSSRules };\n//# sourceMappingURL=getThemeCSSRules.mjs.map\n","const themesRaw = {};\nfunction proxyThemesToParents(dedupedThemes) {\n for (const {\n names,\n theme\n } of dedupedThemes) for (const name of names) themesRaw[name] = theme;\n const themes = {};\n for (const {\n names,\n theme\n } of dedupedThemes) for (const themeName of names) {\n const proxiedTheme = proxyThemeToParents(themeName, theme);\n themes[themeName] = proxiedTheme;\n }\n return themes;\n}\nfunction proxyThemeToParents(themeName, theme) {\n const out = {},\n cur = [],\n parents = themeName.split(\"_\").slice(0, -1).map(part => (cur.push(part), cur.join(\"_\")));\n for (const parent of parents) Object.assign(out, themesRaw[parent]);\n return Object.assign(out, theme), out;\n}\nexport { proxyThemeToParents, proxyThemesToParents };\n//# sourceMappingURL=proxyThemeToParents.mjs.map\n","import { createVariable, isVariable } from \"../createVariable.mjs\";\nfunction ensureThemeVariable(theme, key) {\n const val = theme[key];\n isVariable(val) ? val.name !== key && (theme[key] = createVariable({\n key: val.name,\n name: key,\n val: val.val\n })) : theme[key] = createVariable({\n key,\n name: key,\n val\n });\n}\nexport { ensureThemeVariable };\n//# sourceMappingURL=themes.mjs.map\n","const fontWeights = [\"100\", \"200\", \"300\", \"400\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n processSection = (section, keys, defaultValue) => {\n if (typeof section == \"string\") return section;\n const sectionKeys = Object.keys(section);\n let fillValue = section[sectionKeys[0]];\n return Object.fromEntries([... /* @__PURE__ */new Set([...keys, ...sectionKeys])].map(key => {\n const value = section[key] ?? defaultValue ?? fillValue;\n return fillValue = value, defaultValue = value, [key, value];\n }));\n },\n createFont = font => {\n const sizeKeys = Object.keys(font.size || {}),\n processedFont = Object.fromEntries(Object.entries(font).map(([key, section]) => [key, processSection(section, key === \"face\" ? fontWeights : sizeKeys, key === \"face\" ? {\n normal: font.family\n } : void 0)]));\n return Object.freeze(processedFont);\n };\nexport { createFont };\n//# sourceMappingURL=createFont.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport { createVariable, isVariable } from \"./createVariable.mjs\";\nconst cache = /* @__PURE__ */new WeakMap(),\n createVariables = (tokens, parentPath = \"\", isFont = !1) => {\n if (cache.has(tokens)) return tokens;\n const res = {};\n let i = 0;\n for (let keyIn in tokens) {\n i++;\n const val = tokens[keyIn],\n isPrefixed = keyIn[0] === \"$\",\n keyWithPrefix = isPrefixed ? keyIn : `$${keyIn}`,\n key = isPrefixed ? keyWithPrefix.slice(1) : keyIn;\n if (isVariable(val)) {\n res[key] = val;\n continue;\n }\n const niceKey = simpleHash(key, 1e3),\n name = parentPath && parentPath !== \"t-color\" ? `${parentPath}-${niceKey}` : `c-${niceKey}`;\n if (val && typeof val == \"object\" && \"needsPx\" in val && \"val\" in val) {\n const finalValue2 = createVariable({\n val: val.val,\n name,\n key: keyWithPrefix\n });\n isWeb && (finalValue2.needsPx = val.needsPx), res[key] = finalValue2;\n continue;\n }\n if (val && typeof val == \"object\") {\n res[key] = createVariables(tokens[key], name, !1\n /* note: don't pass isFont down, we want to avoid it past the first level */);\n continue;\n }\n const finalValue = isVariable(val) ? val : createVariable({\n val,\n name,\n key: keyWithPrefix\n });\n res[key] = finalValue;\n }\n return cache.set(res, !0), res;\n };\nexport { createVariables };\n//# sourceMappingURL=createVariables.mjs.map\n","const noAnimationDriver = method => {\n console.warn(`No animation driver configured. To use ${method}, you must pass \\`animations\\` to createTamagui. See: https://tamagui.dev/docs/core/animations`);\n },\n createEmptyAnimationDriver = () => ({\n isReactNative: !1,\n inputStyle: \"css\",\n outputStyle: \"css\",\n isStub: !0,\n animations: {},\n useAnimations: () => noAnimationDriver(\"animations\"),\n usePresence: () => noAnimationDriver(\"usePresence\"),\n ResetPresence: () => noAnimationDriver(\"ResetPresence\"),\n useAnimatedNumber: () => noAnimationDriver(\"useAnimatedNumber\"),\n useAnimatedNumberStyle: () => noAnimationDriver(\"useAnimatedNumberStyle\"),\n useAnimatedNumberReaction: () => noAnimationDriver(\"useAnimatedNumberReaction\")\n }),\n defaultAnimationDriver = createEmptyAnimationDriver();\nexport { defaultAnimationDriver };\n//# sourceMappingURL=defaultAnimationDriver.mjs.map\n","import { isWeb } from \"@tamagui/constants\";\nimport { getVariableVariable, isVariable } from \"../createVariable.mjs\";\nimport { autoVariables, registerCSSVariable, variableToCSS } from \"./registerCSSVariable.mjs\";\nimport { getThemeCSSRules } from \"./getThemeCSSRules.mjs\";\nimport { getAllRules } from \"./insertStyleRule.mjs\";\nfunction getFontPropertyDeclarations(fontParsed, tokenKey = \"$true\") {\n const props = [\"font-family: var(--f-family)\"],\n getVarRef = obj => {\n const val = obj?.[tokenKey];\n if (isVariable(val)) return getVariableVariable(val);\n },\n letterSpacing = getVarRef(fontParsed.letterSpacing);\n letterSpacing && props.push(`letter-spacing: ${letterSpacing}`);\n const lineHeight = getVarRef(fontParsed.lineHeight);\n lineHeight && props.push(`line-height: ${lineHeight}`);\n const fontStyle = getVarRef(fontParsed.style);\n fontStyle && props.push(`font-style: ${fontStyle}`);\n const fontWeight = getVarRef(fontParsed.weight);\n return fontWeight && props.push(`font-weight: ${fontWeight}`), props;\n}\nfunction createTokenCSS(tokens, shouldTokenCategoryHaveUnits) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n const declarations = [],\n sortedTokenKeys = Object.keys(tokens).sort();\n for (const key of sortedTokenKeys) {\n const sortedSubKeys = Object.keys(tokens[key]).sort();\n for (const skey of sortedSubKeys) {\n const variable = tokens[key][skey];\n if (isWeb) {\n registerCSSVariable(variable);\n const variableNeedsPx = variable.needsPx === !0,\n categoryNeedsPx = shouldTokenCategoryHaveUnits(key),\n shouldBeUnitless = !(variableNeedsPx || categoryNeedsPx);\n declarations.push(variableToCSS(variable, shouldBeUnitless));\n }\n }\n }\n return declarations;\n }\n return [];\n}\nfunction createFontCSS(fontsParsed, registerFontVariables) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n const fontDeclarations = {};\n if (!fontsParsed) return fontDeclarations;\n const sortedFontKeys = Object.keys(fontsParsed).sort();\n for (const key of sortedFontKeys) {\n const fontParsed = fontsParsed[key],\n [name, language] = key.includes(\"_\") ? key.split(\"_\") : [key],\n fontVars = registerFontVariables(fontParsed);\n fontDeclarations[key] = {\n name: name.slice(1),\n declarations: fontVars,\n language,\n fontParsed\n };\n }\n return fontDeclarations;\n }\n return {};\n}\nfunction buildCSSRuleSets(declarations, fontDeclarations, defaultFontToken = \"$true\") {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n let declarationsToRuleSet = function (decs, selector = \"\") {\n return `:root${selector} { ${[...decs].join(\"; \")}\n}`;\n };\n const cssRuleSets = [];\n declarations.length && cssRuleSets.push(declarationsToRuleSet(declarations));\n const fontSelectors = [],\n sortedFontDeclarationKeys = Object.keys(fontDeclarations).sort();\n for (const key of sortedFontDeclarationKeys) {\n const {\n name,\n declarations: declarations2,\n language = \"default\"\n } = fontDeclarations[key],\n fontSelector = `.font_${name}`;\n fontSelectors.push(fontSelector);\n const langSelector = `:root .t_lang-${name}-${language} ${fontSelector}`,\n selectors = language === \"default\" ? ` ${fontSelector}, ${langSelector}` : langSelector,\n specificRuleSet = declarationsToRuleSet(declarations2, selectors);\n cssRuleSets.push(specificRuleSet);\n }\n if (fontSelectors.length) {\n const firstFont = fontDeclarations[sortedFontDeclarationKeys[0]];\n if (firstFont?.fontParsed) {\n const fontProps = getFontPropertyDeclarations(firstFont.fontParsed, defaultFontToken),\n sharedSelectors = [...fontSelectors, \".is_View\"].join(\", \");\n cssRuleSets.push(`${sharedSelectors} {${fontProps.join(\"; \")}}`);\n }\n }\n return cssRuleSets;\n }\n return [];\n}\nfunction createThemeCSS(dedupedThemes, configIn) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n let themeRuleSets = [];\n if (isWeb) for (const {\n names,\n theme\n } of dedupedThemes) {\n const nextRules = getThemeCSSRules({\n config: configIn,\n themeName: names[0],\n names,\n theme\n });\n themeRuleSets = [...themeRuleSets, ...nextRules];\n }\n return themeRuleSets;\n }\n return [];\n}\nfunction getCSS(themeConfig, opts = {}, lastIndex) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n const {\n separator = `\n`,\n sinceLastCall,\n exclude\n } = opts;\n if (sinceLastCall && lastIndex.value >= 0) {\n const rules = getAllRules(),\n newRules = rules.slice(lastIndex.value);\n return lastIndex.value = rules.length, newRules.join(separator);\n }\n lastIndex.value = 0;\n const runtimeStyles = getAllRules().join(separator);\n if (exclude === \"design-system\") return runtimeStyles;\n const themeRules = exclude ? \"\" : themeConfig.getThemeRulesSets().join(separator);\n return `${`._ovs-contain {overscroll-behavior:contain;}\n.is_View { display: flex; align-items: stretch; flex-direction: column; flex-basis: auto; box-sizing: border-box; min-height: 0; min-width: 0; flex-shrink: 0; }\n.is_Text { display: inline; box-sizing: border-box; word-wrap: break-word; white-space: pre-wrap; margin: 0; }\n@scope (.is_Text) to (.is_View) { .is_Text { white-space: inherit; word-wrap: inherit; } }\n._dsp_contents {display:contents;}\n._no_backdrop::backdrop {display: none;}\n.is_Input::selection, .is_TextArea::selection {background-color: var(--selectionColor);}\n.is_Input::placeholder, .is_TextArea::placeholder {color: var(--placeholderColor);}\n:root ._pe-boxonly>* {pointer-events:none;}\n:root ._pe-boxnone>* {pointer-events:auto;}\n._hsb-x::-webkit-scrollbar:horizontal { display: none !important; }\n._hsb-y::-webkit-scrollbar:vertical { display: none !important; }\n._hsb-x { scrollbar-width: none !important; }\n._hsb-y { scrollbar-width: none !important; }\n${autoVariables.length ? `:root{${autoVariables.map(v => `--${v.name}:${v.val}`).join(\";\")}}` : \"\"}\n${themeConfig.cssRuleSets.join(separator)}`}\n${themeRules}\n${runtimeStyles}`;\n }\n return \"\";\n}\nexport { buildCSSRuleSets, createFontCSS, createThemeCSS, createTokenCSS, getCSS, getFontPropertyDeclarations };\n//# sourceMappingURL=createDesignSystem.mjs.map\n","import { setConfigFont } from \"./config.mjs\";\nimport { FONT_DATA_ATTRIBUTE_NAME } from \"./constants/constants.mjs\";\nimport { createFont } from \"./createFont.mjs\";\nimport { createVariables } from \"./createVariables.mjs\";\nimport { registerCSSVariable, variableToCSS } from \"./helpers/registerCSSVariable.mjs\";\nfunction insertFont(name, fontIn) {\n const font = createFont(fontIn),\n tokened = createVariables(font, name),\n parsed = parseFont(tokened);\n if (typeof document < \"u\") {\n const fontVars = registerFontVariables(parsed),\n styleElement = document.querySelector(`style[${FONT_DATA_ATTRIBUTE_NAME}=\"${name}\"]`) || document.createElement(\"style\");\n styleElement.innerText = `:root .font_${name} {${fontVars.join(\";\")}}`, styleElement.setAttribute(FONT_DATA_ATTRIBUTE_NAME, name), document.head.appendChild(styleElement);\n }\n return setConfigFont(name, tokened, parsed), parsed;\n}\nconst updateFont = insertFont;\nfunction parseFont(definition) {\n const parsed = {};\n for (const attrKey in definition) {\n const attr = definition[attrKey];\n if (attrKey === \"family\" || attrKey === \"face\") parsed[attrKey] = attr;else {\n parsed[attrKey] = {};\n for (const key in attr) {\n let val = attr[key];\n val.val?.[0] === \"$\" && (val = val.val), parsed[attrKey][`$${key}`] = val;\n }\n }\n }\n return parsed;\n}\nfunction registerFontVariables(parsedFont) {\n if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n const response = [];\n for (const fkey in parsedFont) if (fkey !== \"face\") {\n if (fkey === \"family\") {\n const val = parsedFont[fkey];\n registerCSSVariable(val), response.push(variableToCSS(val));\n } else for (const fskey in parsedFont[fkey]) if (typeof parsedFont[fkey][fskey] != \"string\") {\n const val = parsedFont[fkey][fskey];\n registerCSSVariable(val), response.push(variableToCSS(val));\n }\n }\n return response;\n }\n return [];\n}\nexport { insertFont, parseFont, registerFontVariables, updateFont };\n//# sourceMappingURL=insertFont.mjs.map\n","import * as Helpers from \"@tamagui/helpers\";\nimport { getConfig } from \"./config.mjs\";\nimport { getAllRules, getAllSelectors } from \"./helpers/insertStyleRule.mjs\";\nimport { mediaState } from \"./helpers/mediaState.mjs\";\nconst Tamagui = (() => {\n if (process.env.NODE_ENV === \"development\") {\n class TamaguiManager {\n Helpers = Helpers;\n get mediaState() {\n return {\n ...mediaState\n };\n }\n get config() {\n return getConfig();\n }\n get insertedRules() {\n return getAllRules();\n }\n get allSelectors() {\n return getAllSelectors();\n }\n get identifierToValue() {\n return identifierToValue;\n }\n }\n return new TamaguiManager();\n }\n })(),\n identifierToValue = /* @__PURE__ */new Map(),\n getValueFromIdentifier = identifier => identifierToValue.get(identifier),\n setIdentifierValue = (identifier, value) => {\n identifierToValue.set(identifier, value);\n };\nexport { Tamagui, getValueFromIdentifier, setIdentifierValue };\n//# sourceMappingURL=Tamagui.mjs.map\n","import { getConfigMaybe, setConfig, setTokens } from \"./config.mjs\";\nimport { createVariables } from \"./createVariables.mjs\";\nimport { defaultAnimationDriver } from \"./helpers/defaultAnimationDriver.mjs\";\nimport { resolveAnimationDriver } from \"./helpers/resolveAnimationDriver.mjs\";\nimport { buildCSSRuleSets, createFontCSS, createThemeCSS, createTokenCSS, getCSS as getCSSHelper } from \"./helpers/createDesignSystem.mjs\";\nimport { scanAllSheets } from \"./helpers/insertStyleRule.mjs\";\nimport { proxyThemesToParents } from \"./helpers/proxyThemeToParents.mjs\";\nimport { ensureThemeVariable } from \"./helpers/themes.mjs\";\nimport { configureMedia } from \"./hooks/useMedia.mjs\";\nimport { parseFont, registerFontVariables } from \"./insertFont.mjs\";\nimport { Tamagui } from \"./Tamagui.mjs\";\nfunction shouldTokenCategoryHaveUnits(category) {\n return (/* @__PURE__ */new Set([\"size\", \"space\", \"radius\"])).has(category);\n}\nfunction createTamagui(configIn) {\n const existingConfig = getConfigMaybe();\n existingConfig && (configIn = {\n ...existingConfig,\n ...configIn\n });\n const tokensParsed = {},\n tokens = createVariables(configIn.tokens || {});\n if (configIn.tokens) {\n const tokensMerged = {};\n for (const cat in tokens) {\n tokensParsed[cat] = {}, tokensMerged[cat] = {};\n const tokenCat = tokens[cat];\n for (const key in tokenCat) {\n const val = tokenCat[key],\n prefixedKey = `$${key}`;\n tokensParsed[cat][prefixedKey] = val, tokensMerged[cat][prefixedKey] = val, tokensMerged[cat][key] = val;\n }\n }\n setTokens(tokensMerged);\n }\n let foundThemes;\n if (configIn.themes) {\n const noThemes = Object.keys(configIn.themes).length === 0;\n noThemes && !process.env.TAMAGUI_DID_OUTPUT_CSS && (foundThemes = scanAllSheets(noThemes, tokensParsed));\n }\n let fontSizeTokens = null,\n fontsParsed;\n if (configIn.fonts) {\n const fontTokens = Object.fromEntries(Object.entries(configIn.fonts).map(([k, v]) => [k, createVariables(v, \"f\", !0)]));\n fontsParsed = (() => {\n const res = {};\n for (const familyName in fontTokens) {\n const font = fontTokens[familyName],\n fontParsed = parseFont(font);\n res[`$${familyName}`] = fontParsed, !fontSizeTokens && fontParsed.size && (fontSizeTokens = new Set(Object.keys(fontParsed.size)));\n }\n return res;\n })();\n }\n const specificTokens = {},\n themeConfig = (() => {\n const sortedTokenKeys = Object.keys(tokens).sort();\n for (const key of sortedTokenKeys) {\n const sortedSubKeys = Object.keys(tokens[key]).sort();\n for (const skey of sortedSubKeys) {\n const variable = tokens[key][skey];\n if (specificTokens[`$${key}.${skey}`] = variable, process.env.NODE_ENV === \"development\" && typeof variable > \"u\") throw new Error(`No value for tokens.${key}.${skey}:\n${JSON.stringify(variable, null, 2)}`);\n }\n }\n const declarations = createTokenCSS(tokens, shouldTokenCategoryHaveUnits),\n fontDeclarations = createFontCSS(fontsParsed, registerFontVariables),\n cssRuleSets = buildCSSRuleSets(declarations, fontDeclarations),\n themesIn = configIn.themes,\n dedupedThemes = foundThemes ?? getThemesDeduped(themesIn, tokens.color);\n return {\n themes: proxyThemesToParents(dedupedThemes),\n cssRuleSets,\n getThemeRulesSets() {\n return createThemeCSS(dedupedThemes, configIn);\n }\n };\n })(),\n userShorthands = configIn.shorthands || {},\n shorthands = {\n ...builtinShorthands,\n ...userShorthands\n },\n lastCSSIndex = {\n value: -1\n },\n getCSS = (opts = {}) => getCSSHelper(themeConfig, opts, lastCSSIndex),\n getNewCSS = opts => getCSS({\n ...opts,\n sinceLastCall: !0\n }),\n defaultFontSetting = configIn.settings?.defaultFont,\n defaultFont = (() => {\n let val = defaultFontSetting;\n return val?.[0] === \"$\" && (val = val.slice(1)), val;\n })(),\n defaultPositionSetting = configIn.settings?.defaultPosition || \"static\",\n defaultProps = configIn.defaultProps || {};\n defaultPositionSetting !== \"static\" && (defaultProps.View = {\n ...defaultProps.View,\n position: defaultPositionSetting\n });\n const defaultFontToken = defaultFont ? `$${defaultFont}` : \"\",\n inputAnimations = configIn.animations,\n resolvedDriver = resolveAnimationDriver(inputAnimations),\n config = {\n fonts: {},\n onlyAllowShorthands: !1,\n fontLanguages: [],\n media: {},\n ...configIn,\n // normalized animations (resolved from multi-driver format if needed)\n animations: resolvedDriver ?? inputAnimations ?? defaultAnimationDriver,\n animationDrivers: resolvedDriver !== null && resolvedDriver !== inputAnimations ? inputAnimations : void 0,\n defaultProps,\n settings: {\n webContainerType: \"inline-size\",\n ...configIn.settings\n },\n tokens,\n // vite made this into a function if it wasn't set\n shorthands,\n userShorthands,\n inverseShorthands: shorthands ? Object.fromEntries(Object.entries(shorthands).map(([k, v]) => [v, k])) : {},\n themes: themeConfig.themes,\n fontsParsed: fontsParsed || {},\n themeConfig,\n tokensParsed,\n parsed: !0,\n getNewCSS,\n getCSS,\n defaultFont,\n fontSizeTokens: fontSizeTokens || /* @__PURE__ */new Set(),\n specificTokens,\n defaultFontToken\n // const tokens = [...getToken(tokens.size[0])]\n // .spacer-sm + ._dsp_contents._dsp-sm-hidden { margin-left: -var(--${}) }\n };\n return setConfig(config), configureMedia(config), process.env.NODE_ENV === \"development\" && (process.env.DEBUG?.startsWith(\"tamagui\") && console.info(\"Tamagui config:\", config), globalThis.Tamagui || (globalThis.Tamagui = Tamagui)), config;\n}\nfunction getThemesDeduped(themes, colorTokens) {\n const dedupedThemes = [],\n existing = /* @__PURE__ */new Map(),\n sortedThemeNames = Object.keys(themes).sort();\n for (const themeName of sortedThemeNames) {\n const darkOrLightSpecificPrefix = themeName.startsWith(\"dark\") ? \"dark\" : themeName.startsWith(\"light\") ? \"light\" : \"\",\n rawTheme = themes[themeName],\n key = darkOrLightSpecificPrefix + JSON.stringify(rawTheme);\n if (existing.has(key)) {\n existing.get(key).names.push(themeName);\n continue;\n }\n const theme = {\n ...colorTokens,\n ...rawTheme\n };\n for (const key2 in theme) ensureThemeVariable(theme, key2);\n const deduped = {\n names: [themeName],\n theme\n };\n dedupedThemes.push(deduped), existing.set(key, deduped);\n }\n return dedupedThemes;\n}\nconst builtinShorthands = {\n bblr: \"borderBottomLeftRadius\",\n bbrr: \"borderBottomRightRadius\",\n bbs: \"borderBottomStyle\",\n bls: \"borderLeftStyle\",\n brc: \"borderRightColor\",\n brs: \"borderRightStyle\",\n brw: \"borderRightWidth\",\n bs: \"borderStyle\",\n btc: \"borderTopColor\",\n btlr: \"borderTopLeftRadius\",\n btrr: \"borderTopRightRadius\",\n bts: \"borderTopStyle\",\n btw: \"borderTopWidth\",\n bw: \"borderWidth\",\n bxs: \"boxSizing\",\n bxsh: \"boxShadow\",\n col: \"color\",\n cur: \"cursor\",\n dsp: \"display\",\n fb: \"flexBasis\",\n fd: \"flexDirection\",\n ff: \"fontFamily\",\n fs: \"fontSize\",\n fst: \"fontStyle\",\n fw: \"fontWeight\",\n fwr: \"flexWrap\",\n // height: 'h',\n lh: \"lineHeight\",\n ls: \"letterSpacing\",\n o: \"opacity\",\n ov: \"overflow\",\n ox: \"overflowX\",\n oy: \"overflowY\",\n pe: \"pointerEvents\",\n pos: \"position\",\n td: \"textDecorationLine\",\n tr: \"transform\",\n tt: \"textTransform\",\n va: \"verticalAlign\",\n wb: \"wordBreak\",\n // width: 'w',\n ws: \"whiteSpace\",\n ww: \"wordWrap\"\n};\nexport { createTamagui };\n//# sourceMappingURL=createTamagui.mjs.map\n","import { createVariables } from \"./createVariables.mjs\";\nfunction createTokens(tokens) {\n return createVariables(tokens, process.env.TAMAGUI_TOKEN_PREFIX ?? \"t\");\n}\nexport { createTokens };\n//# sourceMappingURL=createTokens.mjs.map\n","const ReactNativeStaticConfigs = /* @__PURE__ */new WeakMap();\nfunction getReactNativeConfig(Component) {\n if (Component) return Component.getSize && Component.prefetch ? RNConfigs.Image : Component.displayName === \"Text\" && Component.render ? RNConfigs.Text : Component.render && (Component.displayName === \"ScrollView\" || Component.displayName === \"View\") ? RNConfigs.default : Component.State?.blurTextInput ? RNConfigs.TextInput : ReactNativeStaticConfigs.get(Component);\n}\nconst RNConfigs = {\n Image: {\n isReactNative: !0,\n inlineProps: /* @__PURE__ */new Set([\"src\", \"width\", \"height\"])\n },\n Text: {\n isReactNative: !0,\n isText: !0\n },\n TextInput: {\n isReactNative: !0,\n isInput: !0,\n isText: !0\n },\n default: {\n isReactNative: !0\n }\n};\nexport { getReactNativeConfig };\n//# sourceMappingURL=setupReactNative.mjs.map\n","const mergeVariants = (parentVariants, ourVariants, level = 0) => {\n const variants = {};\n for (const key in ourVariants) {\n const parentVariant = parentVariants?.[key],\n ourVariant = ourVariants[key];\n !parentVariant || typeof ourVariant == \"function\" ? variants[key] = ourVariant : parentVariant && !ourVariant ? variants[key] = parentVariant[key] : level === 0 ? variants[key] = mergeVariants(parentVariant, ourVariant, level + 1) : variants[key] = {\n ...parentVariant,\n ...ourVariant\n };\n }\n return {\n ...parentVariants,\n ...variants\n };\n};\nexport { mergeVariants };\n//# sourceMappingURL=mergeVariants.mjs.map\n","import { createComponent } from \"./createComponent.mjs\";\nimport { mergeVariants } from \"./helpers/mergeVariants.mjs\";\nimport { getReactNativeConfig } from \"./setupReactNative.mjs\";\nconst textLikeElements = /* @__PURE__ */new Set([\"a\", \"abbr\", \"b\", \"bdi\", \"bdo\", \"cite\", \"code\", \"data\", \"del\", \"dfn\", \"em\", \"i\", \"ins\", \"kbd\", \"label\", \"mark\", \"q\", \"s\", \"samp\", \"small\", \"span\", \"strong\", \"sub\", \"sup\", \"time\", \"u\", \"var\"]);\nfunction styledHtml(tag, options) {\n const isText = textLikeElements.has(tag),\n {\n variants,\n name,\n defaultVariants,\n context,\n ...defaultProps\n } = options || {},\n conf = {\n Component: tag,\n variants,\n defaultProps,\n defaultVariants,\n componentName: name,\n isReactNative: !1,\n isText,\n acceptsClassName: !0,\n context\n };\n return (defaultProps.children || context) && (conf.neverFlatten = !0), createComponent(conf);\n}\nfunction styled(ComponentIn, options, config) {\n if (process.env.NODE_ENV !== \"production\" && !ComponentIn) throw new Error(\"No component given to styled()\");\n const parentStaticConfig = ComponentIn.staticConfig,\n isPlainStyledComponent = !!parentStaticConfig && !(parentStaticConfig.isReactNative || parentStaticConfig.isHOC);\n let Component = parentStaticConfig?.isHOC && !parentStaticConfig?.isStyledHOC || isPlainStyledComponent ? ComponentIn : parentStaticConfig?.Component || ComponentIn;\n const reactNativeConfig = parentStaticConfig ? void 0 : getReactNativeConfig(Component),\n isReactNative = !!(reactNativeConfig || config?.isReactNative || parentStaticConfig?.isReactNative),\n staticConfigProps = (() => {\n let {\n variants,\n name,\n defaultVariants,\n context,\n ...defaultProps\n } = options || {},\n parentDefaultVariants,\n parentDefaultProps;\n if (parentStaticConfig && !(parentStaticConfig.isHOC && !parentStaticConfig.isStyledHOC)) {\n const pdp = parentStaticConfig.defaultProps;\n for (const key in pdp) {\n const val = pdp[key];\n parentStaticConfig.defaultVariants && key in parentStaticConfig.defaultVariants && (!defaultVariants || !(key in defaultVariants)) && (parentDefaultVariants ||= {}, parentDefaultVariants[key] = val), !(key in defaultProps) && (!defaultVariants || !(key in defaultVariants)) && (parentDefaultProps ||= {}, parentDefaultProps[key] = pdp[key]);\n }\n parentStaticConfig.variants && (variants = mergeVariants(parentStaticConfig.variants, variants));\n }\n (parentDefaultProps || defaultVariants || parentDefaultVariants) && (defaultProps = {\n ...parentDefaultProps,\n ...parentDefaultVariants,\n ...defaultProps,\n ...defaultVariants\n }), parentStaticConfig?.isHOC && name && (defaultProps.componentName = name);\n const isText = !!(config?.isText || parentStaticConfig?.isText),\n acceptsClassName = config?.acceptsClassName ?? (isPlainStyledComponent || isReactNative || parentStaticConfig?.isHOC && parentStaticConfig?.acceptsClassName),\n conf = {\n ...parentStaticConfig,\n ...config,\n ...(!isPlainStyledComponent && {\n Component\n }),\n // @ts-expect-error\n variants,\n defaultProps,\n defaultVariants,\n componentName: name || parentStaticConfig?.componentName,\n isReactNative,\n isText,\n acceptsClassName,\n context,\n ...reactNativeConfig,\n isStyledHOC: !!parentStaticConfig?.isHOC,\n parentStaticConfig\n };\n return (defaultProps.children || !acceptsClassName || context) && (conf.neverFlatten = !0), conf;\n })(),\n component = createComponent(staticConfigProps || {});\n for (const key in ComponentIn) key !== \"propTypes\" && (key in component || (component[key] = ComponentIn[key]));\n return component;\n}\nconst styledExport = new Proxy(styled, {\n get(target, prop) {\n return prop in target ? target[prop] : options => styledHtml(prop, options);\n }\n});\nexport { styledExport as styled, styledHtml };\n//# sourceMappingURL=styled.mjs.map\n","import { validStyles } from \"@tamagui/helpers\";\nimport { createComponent } from \"../createComponent.mjs\";\nconst View = createComponent({\n acceptsClassName: !0,\n validStyles\n});\nexport { View };\n//# sourceMappingURL=View.mjs.map\n","import React from \"react\";\nimport { getConfig } from \"../config.mjs\";\nimport { Theme } from \"./Theme.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nlet defaultFontClass = \"\";\nfunction TamaguiRoot({\n children,\n theme,\n isRootRoot,\n passThrough,\n style\n}) {\n const [mounted, setMounted] = React.useState(!isRootRoot);\n if (React.useEffect(() => {\n mounted || setMounted(!0);\n }, []), !defaultFontClass) {\n const defaultFont = getConfig().defaultFont;\n defaultFont && (defaultFontClass = `font_${defaultFont}`);\n }\n const contents = /* @__PURE__ */jsx(\"span\", {\n style,\n className: `_dsp_contents ${mounted ? \"\" : \"t_unmounted\"} ${defaultFontClass}`,\n children\n });\n return isRootRoot ? contents : /* @__PURE__ */jsx(Theme, {\n passThrough,\n contain: !0,\n forceClassName: !0,\n name: theme,\n children: contents\n });\n}\nexport { TamaguiRoot };\n//# sourceMappingURL=TamaguiRoot.mjs.map\n","import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { useId } from \"react\";\nimport { getSetting } from \"../config.mjs\";\nimport { THEME_CLASSNAME_PREFIX } from \"../constants/constants.mjs\";\nimport { Theme } from \"./Theme.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nconst ThemeProvider = props => {\n \"use no memo\";\n\n const addThemeClassName = getSetting(\"addThemeClassName\");\n useIsomorphicLayoutEffect(() => {\n if (addThemeClassName === !1) return;\n const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`,\n target = getSetting(\"addThemeClassName\") === \"html\" ? document.documentElement : document.body;\n return target.classList.add(cn), () => {\n target.classList.remove(cn);\n };\n }, [props.defaultTheme, addThemeClassName]);\n const forceClassName = addThemeClassName === void 0;\n return /* @__PURE__ */jsx(Theme, {\n className: props.className,\n name: props.defaultTheme,\n forceClassName,\n _isRoot: useId,\n children: props.children\n });\n};\nexport { ThemeProvider };\n//# sourceMappingURL=ThemeProvider.mjs.map\n","import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { ClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport React, { useEffect } from \"react\";\nimport { getSetting } from \"../config.mjs\";\nimport { ComponentContext } from \"../contexts/ComponentContext.mjs\";\nimport { stopAccumulatingRules } from \"../helpers/insertStyleRule.mjs\";\nimport { updateMediaListeners } from \"../hooks/useMedia.mjs\";\nimport { resolveAnimationDriver } from \"../helpers/resolveAnimationDriver.mjs\";\nimport { TamaguiRoot } from \"./TamaguiRoot.mjs\";\nimport { ThemeProvider } from \"./ThemeProvider.mjs\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nfunction TamaguiProvider({\n children,\n disableInjectCSS,\n config,\n className,\n defaultTheme,\n reset,\n insets\n}) {\n useIsomorphicLayoutEffect(() => {\n stopAccumulatingRules(), updateMediaListeners();\n }, []);\n const memoizedInsets = React.useMemo(() => insets, [insets?.top, insets?.right, insets?.bottom, insets?.left]),\n defaultAnimationDriver = React.useMemo(() => resolveAnimationDriver(config?.animations), [config?.animations]);\n useEffect(() => {\n defaultAnimationDriver?.onMount?.();\n }, []);\n let contents = /* @__PURE__ */jsx(ComponentContext.Provider, {\n animationDriver: defaultAnimationDriver,\n insets: memoizedInsets,\n children: /* @__PURE__ */jsx(ThemeProvider, {\n defaultTheme,\n reset,\n className,\n children: /* @__PURE__ */jsx(TamaguiRoot, {\n theme: defaultTheme,\n isRootRoot: !0,\n children\n })\n })\n });\n return getSetting(\"disableSSR\") && (contents = /* @__PURE__ */jsx(ClientOnly, {\n enabled: !0,\n children: contents\n })), /* @__PURE__ */jsxs(Fragment, {\n children: [contents, config && !disableInjectCSS && /* @__PURE__ */jsx(\"style\", {\n precedence: \"default\",\n href: \"tamagui-css\",\n children: config.getCSS()\n }, \"tamagui-css\")]\n });\n}\nexport { TamaguiProvider };\n//# sourceMappingURL=TamaguiProvider.mjs.map\n","import { stylePropsTextOnly, validStyles } from \"@tamagui/helpers\";\nimport { createComponent } from \"../createComponent.mjs\";\nconst ellipsisStyle = {\n maxWidth: \"100%\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\"\n },\n Text = createComponent({\n componentName: \"Text\",\n acceptsClassName: !0,\n isText: !0,\n defaultProps: void 0,\n inlineWhenUnflattened: /* @__PURE__ */new Set([\"fontFamily\"]),\n variants: {\n numberOfLines: {\n 1: ellipsisStyle,\n \":number\": numberOfLines => numberOfLines >= 1 ? {\n WebkitLineClamp: numberOfLines,\n WebkitBoxOrient: \"vertical\",\n display: \"-webkit-box\",\n overflow: \"hidden\"\n } : null\n },\n ellipsis: {\n true: ellipsisStyle\n }\n },\n validStyles: {\n ...validStyles,\n ...stylePropsTextOnly\n }\n });\nexport { Text };\n//# sourceMappingURL=Text.mjs.map\n","import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useId } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst LayoutHandlers = /* @__PURE__ */new WeakMap(),\n LayoutDisableKey = /* @__PURE__ */new WeakMap(),\n Nodes = /* @__PURE__ */new Set(),\n IntersectionState = /* @__PURE__ */new WeakMap(),\n usePretransformDimensions = () => globalThis.__TAMAGUI_ONLAYOUT_PRETRANSFORM === !0 || process.env.TAMAGUI_ONLAYOUT_PRETRANSFORM === \"1\";\nlet _debugLayout;\nfunction isDebugLayout() {\n return _debugLayout === void 0 && (_debugLayout = typeof window < \"u\" && new URLSearchParams(window.location.search).has(\"__tamaDebugLayout\")), _debugLayout;\n}\nconst DisableLayoutContextValues = {},\n DisableLayoutContextKey = createContext(\"\"),\n ENABLE = typeof IntersectionObserver < \"u\",\n LayoutMeasurementController = ({\n disable,\n children\n }) => {\n const id = useId();\n return useIsomorphicLayoutEffect(() => {\n DisableLayoutContextValues[id] = disable;\n }, [disable, id]), /* @__PURE__ */jsx(DisableLayoutContextKey.Provider, {\n value: id,\n children\n });\n };\nlet globalIntersectionObserver = null,\n strategy = \"async\";\nfunction setOnLayoutStrategy(state) {\n strategy = state;\n}\nconst NodeRectCache = /* @__PURE__ */new WeakMap();\nlet avoidUpdates = !0;\nconst queuedUpdates = /* @__PURE__ */new Map();\nfunction enable() {\n avoidUpdates && (avoidUpdates = !1, queuedUpdates && (queuedUpdates.forEach(cb => cb()), queuedUpdates.clear()));\n}\nfunction startGlobalObservers() {\n !ENABLE || globalIntersectionObserver || (globalIntersectionObserver = new IntersectionObserver(entries => {\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i],\n node = entry.target;\n IntersectionState.get(node) !== entry.isIntersecting && IntersectionState.set(node, entry.isIntersecting);\n }\n }, {\n threshold: 0\n }));\n}\nfunction rectsEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nif (ENABLE) {\n let ensureRectFetchObserver = function () {\n return rectFetchObserver || (rectFetchObserver = new IntersectionObserver(entries => {\n lastCallbackDelay = Math.round(performance.now() - rectFetchStartTime);\n for (let i = 0; i < entries.length; i++) BoundingRects.set(entries[i].target, entries[i].boundingClientRect);\n process.env.NODE_ENV === \"development\" && isDebugLayout() && lastCallbackDelay > 50 && console.warn(\"[onLayout-io-delay]\", lastCallbackDelay + \"ms\", entries.length, \"entries\"), rectFetchResolve && (rectFetchResolve(!0), rectFetchResolve = null);\n }, {\n threshold: 0\n }), rectFetchObserver);\n };\n const BoundingRects = /* @__PURE__ */new WeakMap();\n let rectFetchObserver = null,\n rectFetchResolve = null,\n rectFetchStartTime = 0,\n lastCallbackDelay = 0;\n async function updateLayoutIfChanged(node) {\n const onLayout = LayoutHandlers.get(node);\n if (typeof onLayout != \"function\") return;\n const parentNode = node.parentElement;\n if (!parentNode) return;\n let nodeRect, parentRect;\n if (strategy === \"async\") {\n if (nodeRect = BoundingRects.get(node), parentRect = BoundingRects.get(parentNode), !nodeRect || !parentRect) return;\n } else nodeRect = node.getBoundingClientRect(), parentRect = parentNode.getBoundingClientRect();\n const cachedRect = NodeRectCache.get(node),\n cachedParentRect = NodeRectCache.get(parentNode),\n nodeChanged = !cachedRect || !rectsEqual(cachedRect, nodeRect),\n parentChanged = !cachedParentRect || !rectsEqual(cachedParentRect, parentRect);\n if (nodeChanged || parentChanged) {\n NodeRectCache.set(node, nodeRect), NodeRectCache.set(parentNode, parentRect);\n const event = getElementLayoutEvent(nodeRect, parentRect, node);\n process.env.NODE_ENV === \"development\" && isDebugLayout() && console.log(\"[useElementLayout] change\", {\n tag: node.tagName,\n id: node.id || void 0,\n className: (node.className || \"\").slice(0, 60) || void 0,\n layout: event.nativeEvent.layout,\n first: !cachedRect\n }), avoidUpdates ? queuedUpdates.set(node, () => onLayout(event)) : onLayout(event);\n }\n }\n const rAF = typeof requestAnimationFrame < \"u\" ? requestAnimationFrame : void 0,\n userSkipVal = process.env.TAMAGUI_LAYOUT_FRAME_SKIP,\n BASE_SKIP_FRAMES = userSkipVal ? +userSkipVal : 10,\n MAX_SKIP_FRAMES = 20;\n let skipFrames = BASE_SKIP_FRAMES,\n frameCount = 0;\n async function layoutOnAnimationFrame() {\n if (frameCount++ % skipFrames !== 0) {\n rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\n return;\n }\n if (frameCount >= Number.MAX_SAFE_INTEGER && (frameCount = 0), strategy !== \"off\") {\n const visibleNodes = [],\n parentsToObserve = /* @__PURE__ */new Set();\n for (const node of Nodes) {\n const parentElement = node.parentElement;\n if (!(parentElement instanceof HTMLElement)) {\n cleanupNode(node);\n continue;\n }\n const disableKey = LayoutDisableKey.get(node);\n disableKey && DisableLayoutContextValues[disableKey] === !0 || IntersectionState.get(node) !== !1 && (visibleNodes.push(node), parentsToObserve.add(parentElement));\n }\n if (visibleNodes.length > 0) {\n const io = ensureRectFetchObserver();\n rectFetchStartTime = performance.now();\n for (let i = 0; i < visibleNodes.length; i++) io.observe(visibleNodes[i]);\n for (const parent of parentsToObserve) io.observe(parent);\n await new Promise(res => {\n rectFetchResolve = res;\n });\n for (let i = 0; i < visibleNodes.length; i++) io.unobserve(visibleNodes[i]);\n for (const parent of parentsToObserve) io.unobserve(parent);\n lastCallbackDelay > 50 ? skipFrames = Math.min(skipFrames + 2, MAX_SKIP_FRAMES) : lastCallbackDelay < 20 && (skipFrames = Math.max(skipFrames - 1, BASE_SKIP_FRAMES));\n for (let i = 0; i < visibleNodes.length; i++) updateLayoutIfChanged(visibleNodes[i]);\n }\n }\n rAF ? rAF(layoutOnAnimationFrame) : setTimeout(layoutOnAnimationFrame, 16);\n }\n layoutOnAnimationFrame();\n}\nconst getElementLayoutEvent = (nodeRect, parentRect, node) => ({\n nativeEvent: {\n layout: getRelativeDimensions(nodeRect, parentRect, node),\n target: nodeRect\n },\n timeStamp: Date.now()\n }),\n getPreTransformDimensions = node => ({\n width: node.offsetWidth,\n height: node.offsetHeight\n }),\n getRelativeDimensions = (a, b, aNode) => {\n const {\n left,\n top\n } = a,\n x = left - b.left,\n y = top - b.top,\n {\n width,\n height\n } = usePretransformDimensions() && aNode ? getPreTransformDimensions(aNode) : {\n width: a.width,\n height: a.height\n };\n return {\n x,\n y,\n width,\n height,\n pageX: a.left,\n pageY: a.top\n };\n };\nfunction registerLayoutNode(node, onChange, disableKey) {\n return Nodes.add(node), LayoutHandlers.set(node, onChange), disableKey && LayoutDisableKey.set(node, disableKey), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node), IntersectionState.set(node, !0)), () => cleanupNode(node);\n}\nfunction cleanupNode(node) {\n Nodes.delete(node), LayoutHandlers.delete(node), LayoutDisableKey.delete(node), NodeRectCache.delete(node), IntersectionState.delete(node), globalIntersectionObserver && globalIntersectionObserver.unobserve(node);\n}\nconst PrevHostNode = /* @__PURE__ */new WeakMap();\nfunction useElementLayout(ref, onLayout) {\n const disableKey = useContext(DisableLayoutContextKey),\n node = ensureWebElement(ref.current?.host);\n node && onLayout && (LayoutHandlers.set(node, onLayout), LayoutDisableKey.set(node, disableKey)), useIsomorphicLayoutEffect(() => {\n if (!onLayout) return;\n const nextNode = ensureWebElement(ref.current?.host),\n prevNode = PrevHostNode.get(ref);\n if (nextNode === prevNode || (prevNode && cleanupNode(prevNode), PrevHostNode.set(ref, nextNode), !nextNode)) return;\n Nodes.add(nextNode), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(nextNode), IntersectionState.set(nextNode, !0));\n const handler = LayoutHandlers.get(nextNode);\n if (typeof handler != \"function\") return;\n const parentNode = nextNode.parentElement;\n if (!parentNode) return;\n const nodeRect = nextNode.getBoundingClientRect(),\n parentRect = parentNode.getBoundingClientRect();\n NodeRectCache.set(nextNode, nodeRect), NodeRectCache.set(parentNode, parentRect), handler(getElementLayoutEvent(nodeRect, parentRect, nextNode));\n }), useIsomorphicLayoutEffect(() => {\n if (!onLayout) return;\n const node2 = ref.current?.host;\n if (!node2) return;\n Nodes.add(node2), startGlobalObservers(), globalIntersectionObserver && (globalIntersectionObserver.observe(node2), IntersectionState.set(node2, !0)), process.env.NODE_ENV === \"development\" && isDebugLayout() && console.log(\"[useElementLayout] register\", {\n tag: node2.tagName,\n id: node2.id || void 0,\n className: (node2.className || \"\").slice(0, 60) || void 0,\n totalNodes: Nodes.size\n });\n const parentNode = node2.parentNode;\n return parentNode && onLayout(getElementLayoutEvent(node2.getBoundingClientRect(), parentNode.getBoundingClientRect(), node2)), () => {\n cleanupNode(node2);\n const swappedNode = PrevHostNode.get(ref);\n swappedNode && swappedNode !== node2 && cleanupNode(swappedNode), PrevHostNode.delete(ref);\n };\n }, [ref, !!onLayout]);\n}\nfunction ensureWebElement(x) {\n if (!(typeof HTMLElement > \"u\")) return x instanceof HTMLElement ? x : void 0;\n}\nconst getBoundingClientRectAsync = node => new Promise(res => {\n if (!node || node.nodeType !== 1) return res(!1);\n const io = new IntersectionObserver(entries => (io.disconnect(), res(entries[0].boundingClientRect)), {\n threshold: 0\n });\n io.observe(node);\n }),\n measureNode = async (node, relativeTo) => {\n const relativeNode = relativeTo || node?.parentElement;\n if (relativeNode instanceof HTMLElement) {\n const [nodeDim, relativeNodeDim] = await Promise.all([getBoundingClientRectAsync(node), getBoundingClientRectAsync(relativeNode)]);\n if (relativeNodeDim && nodeDim) return getRelativeDimensions(nodeDim, relativeNodeDim, node);\n }\n return null;\n },\n measure = async (node, callback) => {\n const out = await measureNode(node, node.parentNode instanceof HTMLElement ? node.parentNode : null);\n return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;\n };\nfunction createMeasure(node) {\n return callback => measure(node, callback);\n}\nconst measureInWindow = async (node, callback) => {\n const out = await measureNode(node, null);\n return out && callback?.(out.pageX, out.pageY, out.width, out.height), out;\n },\n createMeasureInWindow = node => callback => measureInWindow(node, callback),\n measureLayout = async (node, relativeNode, callback) => {\n const out = await measureNode(node, relativeNode);\n return out && callback?.(out.x, out.y, out.width, out.height, out.pageX, out.pageY), out;\n };\nfunction createMeasureLayout(node) {\n return (relativeTo, callback) => measureLayout(node, relativeTo, callback);\n}\nexport { LayoutMeasurementController, createMeasure, createMeasureInWindow, createMeasureLayout, enable, getBoundingClientRectAsync, getElementLayoutEvent, measure, measureInWindow, measureLayout, measureNode, registerLayoutNode, setOnLayoutStrategy, useElementLayout };\n//# sourceMappingURL=index.mjs.map\n","function getBaseViews() {\n return null;\n}\nexport { getBaseViews };\n//# sourceMappingURL=getBaseViews.mjs.map\n","export * from \"@tamagui/web\";\nimport \"@tamagui/react-native-media-driver\";\nimport { createMeasure, createMeasureInWindow, createMeasureLayout, enable, useElementLayout } from \"@tamagui/use-element-layout\";\nimport { TamaguiProvider as WebTamaguiProvider, Text as WebText, View as WebView, createTamagui as createTamaguiWeb, setupHooks, useIsomorphicLayoutEffect } from \"@tamagui/web\";\nimport \"./createOptimizedView.mjs\";\nimport { getBaseViews } from \"./getBaseViews.mjs\";\nimport { LayoutMeasurementController, registerLayoutNode, setOnLayoutStrategy } from \"@tamagui/use-element-layout\";\nexport * from \"./reactNativeTypes.mjs\";\nimport { jsx } from \"react/jsx-runtime\";\nconst TamaguiProvider = props => (useIsomorphicLayoutEffect(() => {\n enable();\n }, []), /* @__PURE__ */jsx(WebTamaguiProvider, {\n ...props\n })),\n createTamagui = conf => createTamaguiWeb(conf),\n baseViews = getBaseViews();\nsetupHooks({\n getBaseViews,\n setElementProps: node => {\n node && !node.measure && (node.measure ||= createMeasure(node), node.measureInWindow ||= createMeasureInWindow(node), node.measureLayout ||= createMeasureLayout(node));\n },\n usePropsTransform(elementType, propsIn, stateRef, willHydrate) {\n {\n const isDOM = typeof elementType == \"string\",\n {\n // remove event props handles by useResponderEvents\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture,\n // android\n collapsable,\n focusable,\n // deprecated,\n accessible,\n accessibilityDisabled,\n onLayout,\n hrefAttrs,\n ...plainDOMProps\n } = propsIn;\n if ((willHydrate || isDOM) && useElementLayout(stateRef, isDOM ? onLayout : void 0), isDOM) {\n if (plainDOMProps.href && hrefAttrs) {\n const {\n download,\n rel,\n target\n } = hrefAttrs;\n download != null && (plainDOMProps.download = download), rel && (plainDOMProps.rel = rel), typeof target == \"string\" && (plainDOMProps.target = target.charAt(0) !== \"_\" ? `_${target}` : target);\n }\n return plainDOMProps;\n }\n }\n }\n});\nconst View = WebView,\n Text = WebText;\nexport { LayoutMeasurementController, TamaguiProvider, Text, View, createTamagui, registerLayoutNode, setOnLayoutStrategy };\n//# sourceMappingURL=index.mjs.map\n","import colors from \"./colors.json\";\nimport spacing from \"./spacing.json\";\nimport typography from \"./typography.json\";\n\nexport interface MTokenScale {\n [key: string]: string | number;\n}\n\nexport interface MTokens {\n color: Record<string, string>;\n space: Record<string, number>;\n size: Record<string, number>;\n radius: Record<string, number>;\n zIndex: Record<string, number>;\n}\n\nexport interface MTheme {\n [key: string]: string | number;\n background: string;\n backgroundSecondary: string;\n backgroundTertiary: string;\n color: string;\n colorSecondary: string;\n colorMuted: string;\n borderColor: string;\n borderColorMuted: string;\n placeholderColor: string;\n primary: string;\n secondary: string;\n success: string;\n warning: string;\n error: string;\n shadowColor: string;\n}\n\nexport interface MDesignConfig {\n tokens: MTokens;\n themes: {\n light: MTheme;\n dark: MTheme;\n };\n}\n\nfunction buildColorTokens(): Record<string, string> {\n return {\n primary: colors.semantic.light.primary,\n secondary: colors.semantic.light.secondary,\n white: \"#ffffff\",\n black: \"#000000\",\n transparent: \"transparent\",\n };\n}\n\nfunction buildSizeTokens(): Record<string, number> {\n const tokens: Record<string, number> = {};\n Object.entries(typography.fontSize).forEach(([key, value]) => {\n const numeric = parseFloat(value.toString());\n tokens[key] = isNaN(numeric) ? 16 : numeric * 16;\n });\n return tokens;\n}\n\nfunction buildTheme(mode: \"light\" | \"dark\"): MTheme {\n const themeSource = colors.semantic[mode];\n \n return {\n background: themeSource.bg,\n backgroundSecondary: themeSource.bgSecondary,\n backgroundTertiary: themeSource.bgTertiary,\n color: themeSource.text,\n colorSecondary: themeSource.textSecondary || themeSource.secondary,\n colorMuted: themeSource.textMuted || \"#94a3b8\",\n borderColor: themeSource.border,\n borderColorMuted: themeSource.borderColorMuted || themeSource.border,\n placeholderColor: themeSource.textMuted || \"#94a3b8\",\n primary: themeSource.primary,\n secondary: themeSource.secondary,\n success: themeSource.success,\n warning: themeSource.warning,\n error: themeSource.error,\n shadowColor: mode === \"light\" ? \"rgba(0,0,0,0.05)\" : \"rgba(0,0,0,0.4)\",\n ...Object.entries(themeSource).reduce((acc, [key, value]) => {\n const kebab = key.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n acc[kebab] = value as string | number;\n return acc;\n }, {} as any)\n };\n}\n\nfunction buildSpaceTokens(): Record<string, number> {\n const tokens: Record<string, number> = {};\n Object.entries(spacing.spacing).forEach(([key, value]) => {\n const numeric = parseFloat(value.toString());\n tokens[key] = isNaN(numeric) ? 0 : numeric * 16;\n });\n return tokens;\n}\n\nfunction buildRadiusTokens(): Record<string, number> {\n const tokens: Record<string, number> = {};\n Object.entries(spacing.borderRadius).forEach(([key, value]) => {\n const numeric = parseFloat(value.toString());\n tokens[key] = isNaN(numeric) ? 0 : numeric;\n });\n tokens[\"full\"] = 9999;\n tokens[\"pill\"] = 9999;\n tokens[\"round\"] = 8;\n return tokens;\n}\n\nexport function generateMDesignConfig(): MDesignConfig {\n return {\n tokens: {\n color: buildColorTokens(),\n space: buildSpaceTokens(),\n size: buildSizeTokens(),\n radius: buildRadiusTokens(),\n zIndex: {\n base: 0,\n dropdown: 100,\n modal: 1200,\n toast: 1400,\n },\n },\n themes: {\n light: buildTheme(\"light\"),\n dark: buildTheme(\"dark\"),\n },\n };\n}\n","import { createTamagui, createTokens, createFont } from \"@tamagui/core\";\nimport { generateMDesignConfig } from \"../tokens\";\nimport typography from \"../tokens/typography.json\";\n\nconst generated = generateMDesignConfig();\n\nconst tokens = createTokens({\n color: generated.tokens.color,\n space: generated.tokens.space,\n size: generated.tokens.size,\n radius: generated.tokens.radius,\n zIndex: generated.tokens.zIndex,\n});\n\n// Create Font system\nconst headingFont = createFont({\n family: typography.fontFamily.sans,\n size: generated.tokens.size,\n lineHeight: {\n tight: 1.3,\n normal: 1.5,\n },\n weight: {\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n },\n letterSpacing: {\n base: 0,\n lg: -0.2,\n },\n});\n\nconst bodyFont = createFont({\n family: typography.fontFamily.sans,\n size: generated.tokens.size,\n lineHeight: {\n tight: 1.3,\n normal: 1.5,\n },\n weight: {\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n },\n});\n\nexport const mThemeConfig = createTamagui({\n tokens,\n themes: generated.themes,\n fonts: {\n heading: headingFont,\n body: bodyFont,\n },\n defaultTheme: \"light\",\n media: {\n xs: { maxWidth: 659 },\n sm: { maxWidth: 800 },\n md: { maxWidth: 1024 },\n lg: { maxWidth: 1280 },\n xl: { maxWidth: 1420 },\n gtXs: { minWidth: 660 },\n gtSm: { minWidth: 801 },\n gtMd: { minWidth: 1025 },\n gtLg: { minWidth: 1281 },\n short: { maxHeight: 820 },\n tall: { minHeight: 821 },\n hoverNone: { hover: \"none\" },\n pointerCoarse: { pointer: \"coarse\" },\n },\n});\n\nexport type MThemeConfig = typeof mThemeConfig;\n","import { TamaguiProvider as CoreTamaguiProvider } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { useTheme } from \"./ThemeContext\";\nimport { mThemeConfig } from \"./mThemeConfig\";\n\nexport interface MProviderProps {\n children: ReactNode;\n}\n\nexport function MProvider({ children }: Readonly<MProviderProps>) {\n const { theme } = useTheme();\n\n return (\n <CoreTamaguiProvider\n config={mThemeConfig}\n defaultTheme={theme}\n >\n {children}\n </CoreTamaguiProvider>\n );\n}\n","/**\n * StateBadge — Displays workflow state as a styled badge.\n *\n * Pure presentational component — no data layer or Refine dependencies.\n * Renders a colored badge based on workflow state name or docstatus.\n *\n * @example\n * ```tsx\n * import { StateBadge } from \"@framework-m/ui\";\n *\n * <StateBadge state=\"Pending Approval\" />\n * <StateBadge state=\"Approved\" />\n * <StateBadge state=\"Draft\" docstatus={0} />\n * ```\n */\n\nimport type { CSSProperties } from \"react\";\n\nconst STATE_COLORS: Record<string, { bg: string; text: string }> = {\n draft: { bg: \"#e0e0e0\", text: \"#333\" },\n pending: { bg: \"#fff3cd\", text: \"#856404\" },\n submitted: { bg: \"#cce5ff\", text: \"#004085\" },\n approved: { bg: \"#d4edda\", text: \"#155724\" },\n rejected: { bg: \"#f8d7da\", text: \"#721c24\" },\n cancelled: { bg: \"#f5f5f5\", text: \"#666\" },\n completed: { bg: \"#d4edda\", text: \"#155724\" },\n on_hold: { bg: \"#fff3cd\", text: \"#856404\" },\n default: { bg: \"#e9ecef\", text: \"#495057\" },\n};\n\nfunction getStateColor(state: string | undefined): { bg: string; text: string } {\n if (!state) return STATE_COLORS.default;\n const normalizedState = state.toLowerCase().replace(/\\s+/g, \"_\");\n return STATE_COLORS[normalizedState] ?? STATE_COLORS.default;\n}\n\nexport interface StateBadgeProps {\n /** Current workflow state */\n state?: string;\n /** Document status (0=Draft, 1=Submitted, 2=Cancelled) */\n docstatus?: number;\n /** Custom className */\n className?: string;\n /** Custom style */\n style?: CSSProperties;\n}\n\nexport function StateBadge({\n state,\n docstatus,\n className,\n style,\n}: StateBadgeProps) {\n const displayState =\n state ??\n (docstatus === 0\n ? \"Draft\"\n : docstatus === 1\n ? \"Submitted\"\n : docstatus === 2\n ? \"Cancelled\"\n : undefined);\n\n if (!displayState) return null;\n\n const colors = getStateColor(displayState);\n\n return (\n <span\n className={className}\n style={{\n display: \"inline-block\",\n padding: \"0.25rem 0.75rem\",\n borderRadius: \"9999px\",\n fontSize: \"0.75rem\",\n fontWeight: 500,\n textTransform: \"capitalize\",\n backgroundColor: colors.bg,\n color: colors.text,\n ...style,\n }}\n >\n {displayState}\n </span>\n );\n}\n","/**\n * LocaleSwitcher — Language selection dropdown.\n *\n * Pure presentational component — manages its own locale list.\n * Delegates language change to a callback prop for maximum flexibility.\n *\n * @example\n * ```tsx\n * import { LocaleSwitcher } from \"@framework-m/ui\";\n *\n * <LocaleSwitcher\n * language=\"en\"\n * onChangeLanguage={(locale) => i18n.changeLanguage(locale)}\n * />\n * ```\n */\n\nexport interface LocaleSwitcherProps {\n /** Current language code */\n language: string;\n /** Called when user selects a new language */\n onChangeLanguage: (locale: string) => void | Promise<void>;\n /** Available locales. Defaults to en, hi, ta, es, fr. */\n locales?: Array<{ code: string; label: string }>;\n}\n\nconst DEFAULT_LOCALES = [\n { code: \"en\", label: \"English\" },\n { code: \"hi\", label: \"हिन्दी\" },\n { code: \"ta\", label: \"தமிழ்\" },\n { code: \"es\", label: \"Español\" },\n { code: \"fr\", label: \"Français\" },\n];\n\nexport function LocaleSwitcher({\n language,\n onChangeLanguage,\n locales = DEFAULT_LOCALES,\n}: LocaleSwitcherProps) {\n const handleChange = async (event: React.ChangeEvent<HTMLSelectElement>) => {\n await onChangeLanguage(event.target.value);\n };\n\n return (\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <label\n htmlFor=\"locale-select\"\n style={{ fontSize: \"14px\", color: \"var(--color-text)\" }}\n >\n 🌐\n </label>\n <select\n id=\"locale-select\"\n value={language}\n onChange={handleChange}\n style={{\n padding: \"4px 8px\",\n borderRadius: \"4px\",\n border: \"1px solid var(--color-border)\",\n backgroundColor: \"var(--color-bg)\",\n color: \"var(--color-text)\",\n cursor: \"pointer\",\n fontSize: \"14px\",\n }}\n >\n {locales.map(locale => (\n <option key={locale.code} value={locale.code}>\n {locale.label}\n </option>\n ))}\n </select>\n </div>\n );\n}\n","import { styled, View, type GetProps } from \"@tamagui/core\";\nimport React from \"react\";\n\nconst _SkeletonFrame = styled(View, {\n name: \"Skeleton\",\n backgroundColor: \"$colorBgTertiary\",\n borderRadius: \"$md\",\n display: \"flex\",\n \n variants: {\n variant: {\n text: {\n height: 14,\n width: \"80%\",\n marginBottom: \"$sm\",\n },\n \"text-short\": {\n height: 14,\n width: \"40%\",\n marginBottom: \"$sm\",\n },\n heading: {\n height: 24,\n width: \"60%\",\n marginBottom: \"$md\",\n },\n avatar: {\n width: 40,\n height: 40,\n borderRadius: 1000,\n },\n button: {\n height: 36,\n width: 100,\n borderRadius: \"$md\",\n },\n },\n } as const,\n\n defaultVariants: {\n variant: \"text\",\n },\n});\n\nexport type SkeletonProps = GetProps<typeof _SkeletonFrame> & {\n /** Number of skeleton lines to render (for text variant) */\n count?: number;\n};\n\n/**\n * Skeleton loading placeholder with shimmer animation.\n * \n * React Native compatible via Tamagui.\n * Uses the .skeleton CSS class for web-based shimmer.\n */\nexport const Skeleton: React.FC<SkeletonProps> = ({ \n count = 1, \n className = \"\",\n ...props \n}) => {\n // We add the 'skeleton' class for the shimmer animation on web\n const combinedClassName = `skeleton ${className}`.trim();\n\n if (count > 1) {\n return (\n <View aria-busy={true} aria-label=\"Loading content\">\n {Array.from({ length: count }, (_, i) => (\n <_SkeletonFrame\n key={i}\n className={combinedClassName}\n {...props}\n // For the last line of a multi-line text, we often want it shorter\n {...(i === count - 1 && props.variant === \"text\" ? { width: \"60%\" } : {})}\n />\n ))}\n </View>\n );\n }\n\n return (\n <_SkeletonFrame\n className={combinedClassName}\n aria-busy={true}\n aria-label=\"Loading\"\n {...props}\n />\n );\n};\n","import { View, Text, styled, type GetProps } from \"@tamagui/core\";\n\nexport interface MStackProps extends GetProps<typeof View> {\n tag?: any;\n title?: string;\n elevation?: any;\n fullscreen?: boolean;\n}\n\nexport interface MTextProps extends GetProps<typeof Text> {\n tag?: any;\n title?: string;\n size?: any;\n}\n\nexport const MStack = styled(View, {\n name: \"MStack\",\n display: \"flex\",\n flexDirection: \"column\",\n variants: {\n fullscreen: {\n true: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: 0,\n },\n },\n } as const,\n}) as any as (typeof View & React.FC<MStackProps>);\n\nconst _XStack = styled(View, {\n name: \"XStack\",\n display: \"flex\",\n flexDirection: \"row\",\n variants: {\n fullscreen: {\n true: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: 0,\n },\n },\n } as const,\n});\nexport const XStack = _XStack as any as (typeof _XStack & React.FC<MStackProps>);\n\nconst _YStack = styled(View, {\n name: \"YStack\",\n display: \"flex\",\n flexDirection: \"column\",\n variants: {\n fullscreen: {\n true: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: 0,\n },\n },\n } as const,\n});\nexport const YStack = _YStack as any as (typeof _YStack & React.FC<MStackProps>);\n\nconst _ZStack = styled(View, {\n name: \"ZStack\",\n display: \"flex\",\n position: \"relative\",\n variants: {\n fullscreen: {\n true: {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n zIndex: 0,\n },\n },\n } as const,\n});\nexport const ZStack = _ZStack as any as (typeof _ZStack & React.FC<MStackProps>);\n\nconst _MText = styled(Text, {\n name: \"MText\",\n fontFamily: \"$body\",\n display: \"inline-flex\",\n color: \"$color\",\n variants: {\n size: {\n \"$xs\": { fontSize: \"$xs\" },\n \"$sm\": { fontSize: \"$sm\" },\n \"$md\": { fontSize: \"$md\" },\n \"$lg\": { fontSize: \"$lg\" },\n \"$xl\": { fontSize: \"$xl\" },\n \"$xxl\": { fontSize: \"$xxl\" },\n },\n color: {\n secondary: { color: \"$colorSecondary\" },\n muted: { color: \"$colorMuted\" },\n },\n } as const,\n});\nexport const MText = _MText as any as (typeof _MText & React.FC<MTextProps>);\n\nconst _Paragraph = styled(Text, {\n name: \"Paragraph\",\n fontFamily: \"$body\",\n display: \"inline-flex\",\n color: \"$color\",\n variants: {\n size: {\n \"$xs\": { fontSize: \"$xs\" },\n \"$sm\": { fontSize: \"$sm\" },\n \"$md\": { fontSize: \"$md\" },\n \"$lg\": { fontSize: \"$lg\" },\n \"$xl\": { fontSize: \"$xl\" },\n \"$xxl\": { fontSize: \"$xxl\" },\n },\n } as const,\n});\nexport const Paragraph = _Paragraph as any as (typeof _Paragraph & React.FC<MTextProps>);\n\nconst _Heading = styled(Text, {\n name: \"Heading\",\n fontFamily: \"$body\",\n fontWeight: \"800\",\n display: \"inline-flex\",\n color: \"$color\",\n variants: {\n size: {\n \"$xs\": { fontSize: \"$xs\" },\n \"$sm\": { fontSize: \"$sm\" },\n \"$md\": { fontSize: \"$md\" },\n \"$lg\": { fontSize: \"$lg\" },\n \"$xl\": { fontSize: \"$xl\" },\n \"$xxl\": { fontSize: \"$xxl\" },\n },\n } as const,\n});\nexport const Heading = _Heading as any as (typeof _Heading & React.FC<MTextProps>);\n","import { styled, View, type GetProps } from \"@tamagui/core\";\nimport { MText } from \"./Primitives\";\n\nconst StyledButton = styled(View, {\n name: \"Button\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n borderRadius: \"$round\",\n cursor: \"pointer\",\n gap: \"$xs\",\n \n hoverStyle: {\n opacity: 0.8,\n backgroundColor: \"$backgroundTertiary\",\n },\n \n pressStyle: {\n opacity: 0.7,\n scale: 0.97,\n },\n \n variants: {\n variant: {\n default: {\n backgroundColor: \"$background\",\n borderWidth: 1,\n borderStyle: \"solid\",\n borderColor: \"$borderColorMuted\",\n shadowColor: \"$shadowColor\",\n shadowRadius: 5,\n shadowOffset: { width: 0, height: 2 },\n },\n primary: {\n backgroundColor: \"$primary\",\n borderWidth: 0,\n shadowColor: \"$primary\",\n shadowOpacity: 0.3,\n shadowRadius: 8,\n shadowOffset: { width: 0, height: 4 },\n hoverStyle: {\n backgroundColor: \"$primary\",\n opacity: 0.9,\n scale: 0.98,\n },\n },\n ghost: {\n backgroundColor: \"transparent\",\n borderWidth: 0,\n },\n danger: {\n backgroundColor: \"$error\",\n borderWidth: 0,\n hoverStyle: {\n backgroundColor: \"$error\",\n opacity: 0.9,\n scale: 0.98,\n },\n },\n },\n size: {\n sm: {\n paddingVertical: 5,\n paddingHorizontal: 12,\n minHeight: 28,\n },\n md: {\n paddingVertical: 8,\n paddingHorizontal: 16,\n minHeight: 36,\n },\n lg: {\n paddingVertical: 12,\n paddingHorizontal: 20,\n minHeight: 44,\n },\n },\n disabled: {\n true: {\n opacity: 0.5,\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n },\n },\n } as const,\n \n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\ntype StyledButtonProps = GetProps<typeof StyledButton>;\n\nexport interface ButtonProps extends Omit<StyledButtonProps, \"variant\" | \"size\"> {\n /** Visual variant */\n variant?: \"default\" | \"primary\" | \"ghost\" | \"danger\";\n /** Button size */\n size?: \"sm\" | \"md\" | \"lg\";\n /** Show loading spinner */\n loading?: boolean;\n /** Custom tag (e.g. 'button', 'a') */\n tag?: any;\n /** Button type for forms */\n type?: \"button\" | \"submit\" | \"reset\";\n /** Click/Press handler */\n onPress?: (e: any) => void;\n /** Web-compatible click handler */\n onClick?: (e: any) => void;\n /** Explicit layout and style props */\n width?: any;\n height?: any;\n style?: any;\n title?: string;\n}\n\n/**\n * Cross-platform Button powered by Tamagui.\n */\nexport function Button({ \n children, \n variant = \"default\", \n size = \"md\", \n loading, \n disabled, \n tag = \"button\",\n ...props \n}: ButtonProps) {\n const Comp = StyledButton as any;\n return (\n <Comp\n tag={tag}\n type={props.type}\n variant={variant}\n size={size}\n disabled={disabled || loading}\n {...props}\n >\n <MText\n color={variant === \"primary\" || variant === \"danger\" ? \"$white\" : \"$color\"}\n fontWeight=\"600\"\n fontSize={size === \"sm\" ? \"$xs\" : \"$sm\"}\n pointerEvents=\"none\"\n >\n {loading ? \"...\" : children}\n </MText>\n </Comp>\n );\n}\n","import { styled, View, type GetProps } from \"@tamagui/core\";\n\nconst _Card = styled(View, {\n name: \"Card\",\n flexDirection: \"column\",\n backgroundColor: \"$background\",\n borderRadius: \"$round\",\n padding: \"$md\",\n display: \"flex\",\n \n variants: {\n elevated: {\n true: {\n shadowColor: \"$shadowColor\",\n shadowOffset: { width: 0, height: 10 },\n shadowOpacity: 0.1,\n shadowRadius: 30,\n elevation: 10,\n borderWidth: 1,\n borderColor: \"$borderColorMuted\",\n },\n },\n outlined: {\n true: {\n borderWidth: 1,\n borderColor: \"$borderColor\",\n },\n },\n padded: {\n sm: { padding: \"$sm\" },\n md: { padding: \"$md\" },\n lg: { padding: \"$lg\" },\n xl: { padding: \"$xl\" },\n },\n } as const,\n \n defaultVariants: {\n elevated: true,\n padded: \"md\",\n },\n});\n\nexport type CardProps = GetProps<typeof _Card> & {\n tag?: any;\n title?: string;\n};\n\n/**\n * Card Component\n * \n * A surface for grouped content with elevation and radius tokens.\n * Port/Adapter implementation wrapping Tamagui.\n */\nexport const Card = _Card as any as (typeof _Card & React.FC<CardProps>);\n","import React from \"react\";\nimport { styled, type TamaguiElement } from \"@tamagui/core\";\n\n/**\n * Universal Input Component\n * \n * High-performance, cross-platform input powered by Tamagui's atomic CSS engine.\n * Uses a native 'input' base on the web for 100% reliable browser interaction.\n */\nconst StyledInput = styled(\"input\" as any, {\n name: \"Input\",\n backgroundColor: \"$backgroundSecondary\",\n borderRadius: \"$round\",\n borderWidth: 1,\n borderStyle: \"solid\",\n borderColor: \"$borderColor\",\n paddingLeft: \"$md\",\n paddingRight: \"$md\",\n fontSize: \"$sm\",\n color: \"$color\",\n width: \"100%\",\n outlineWidth: 0,\n \n // @ts-ignore\n cursor: \"text\",\n // @ts-ignore\n userSelect: \"text\",\n focusStyle: {\n borderColor: \"$primary\",\n backgroundColor: \"$backgroundSecondary\",\n outlineWidth: 0,\n shadowColor: \"$primary\",\n shadowRadius: 15,\n shadowOpacity: 0.3,\n borderWidth: 2,\n },\n\n hoverStyle: {\n borderColor: \"$primary\",\n backgroundColor: \"$background\",\n },\n\n variants: {\n size: {\n sm: { height: 32, fontSize: \"$xs\" },\n md: { height: 40, fontSize: \"$sm\" },\n lg: { height: 52, fontSize: \"$md\" },\n },\n error: {\n true: {\n borderColor: \"$error\",\n focusStyle: {\n borderColor: \"$error\",\n },\n },\n },\n } as const,\n\n defaultVariants: {\n size: \"md\",\n },\n} as any) as any;\n\nexport interface InputProps {\n error?: boolean;\n size?: \"sm\" | \"md\" | \"lg\";\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;\n onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\n onChangeText?: (text: string) => void;\n placeholder?: string;\n type?: string;\n disabled?: boolean;\n name?: string;\n autoFocus?: boolean;\n autoComplete?: string;\n required?: boolean;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n onKeyUp?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n style?: any;\n /** Tamagui-compatible props */\n [key: string]: any;\n}\n\n/**\n * Input Component\n * \n * Styled input with consistent brand aesthetics.\n * 100% functional on web with native focus and selection.\n */\nexport const Input = React.forwardRef<HTMLInputElement | TamaguiElement, InputProps>(({ \n onChange,\n onChangeText,\n value,\n ...props \n}, ref) => {\n const isControlled = value !== undefined;\n\n return (\n <StyledInput\n ref={ref}\n {...(isControlled ? { value } : {})}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e);\n onChangeText?.(e.target.value);\n }}\n {...props}\n />\n );\n});\n\nInput.displayName = \"Input\";\n","import React, { useState, useMemo, useEffect, useRef } from \"react\";\nimport { type TamaguiElement, View } from \"@tamagui/core\";\nimport { Input, type InputProps } from \"./Input\";\nimport { XStack, YStack, MText, MStack } from \"./Primitives\";\nimport { Button } from \"./Button\";\nimport { Card } from \"./Card\";\n\n/**\n * Android/Material Inspired DatePicker.\n * Features:\n * - Double-click to edit Year/Month/Time\n * - ENTER to commit manual edits\n * - \"Now\" button for instant synchronization\n * - Pixel-perfect vertical alignment for AM/PM\n */\nexport const DatePicker = React.forwardRef<HTMLInputElement | TamaguiElement, InputProps>(({ \n value,\n onChange,\n onChangeText,\n type = \"date\",\n placeholder,\n ...props \n}, ref) => {\n const [showPicker, setShowPicker] = useState(false);\n const [isEditingYear, setIsEditingYear] = useState(false);\n const [isEditingMonth, setIsEditingMonth] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n \n const toLocalISO = (date: Date) => {\n const pad = (n: number) => n.toString().padStart(2, '0');\n const yyyy = date.getFullYear();\n const mm = pad(date.getMonth() + 1);\n const dd = pad(date.getDate());\n const hh = pad(date.getHours());\n const min = pad(date.getMinutes());\n const sec = pad(date.getSeconds());\n \n return type === \"date\" \n ? `${yyyy}-${mm}-${dd}`\n : `${yyyy}-${mm}-${dd}T${hh}:${min}:${sec}`;\n };\n\n const selectedDate = useMemo(() => {\n if (!value) return new Date();\n const d = new Date(value as string);\n return isNaN(d.getTime()) ? new Date() : d;\n }, [value]);\n\n const [viewDate, setViewDate] = useState(new Date(selectedDate));\n \n useEffect(() => {\n setViewDate(new Date(selectedDate));\n }, [selectedDate]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setShowPicker(false);\n setIsEditingYear(false);\n setIsEditingMonth(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\n }, []);\n\n const handleSelection = (date: Date) => {\n const formatted = toLocalISO(date);\n onChange?.(formatted as any);\n onChangeText?.(formatted);\n };\n\n const handleDayClick = (day: number) => {\n const newDate = new Date(viewDate);\n newDate.setDate(day);\n newDate.setHours(selectedDate.getHours());\n newDate.setMinutes(selectedDate.getMinutes());\n newDate.setSeconds(selectedDate.getSeconds());\n handleSelection(newDate);\n if (type === \"date\") setShowPicker(false);\n };\n\n const handleTimeChange = (deltaHours: number, deltaMinutes: number, deltaSeconds: number = 0) => {\n const newDate = new Date(selectedDate);\n newDate.setHours(newDate.getHours() + deltaHours);\n newDate.setMinutes(newDate.getMinutes() + deltaMinutes);\n newDate.setSeconds(newDate.getSeconds() + deltaSeconds);\n handleSelection(newDate);\n };\n\n const toggleAMPM = () => {\n const newDate = new Date(selectedDate);\n const h = newDate.getHours();\n newDate.setHours(h >= 12 ? h - 12 : h + 12);\n handleSelection(newDate);\n };\n\n const setNow = () => {\n const now = new Date();\n handleSelection(now);\n setViewDate(new Date(now));\n if (type === \"date\") setShowPicker(false);\n };\n\n const daysInMonth = (month: number, year: number) => new Date(year, month + 1, 0).getDate();\n const firstDayOfMonth = (month: number, year: number) => new Date(year, month, 1).getDay();\n\n const days = useMemo(() => {\n const count = daysInMonth(viewDate.getMonth(), viewDate.getFullYear());\n const offset = firstDayOfMonth(viewDate.getMonth(), viewDate.getFullYear());\n const result = [];\n for (let i = 0; i < offset; i++) result.push(null);\n for (let i = 1; i <= count; i++) result.push(i);\n return result;\n }, [viewDate]);\n\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n\n return (\n <YStack \n ref={containerRef as any}\n position=\"relative\" \n width=\"100%\" \n >\n <XStack alignItems=\"center\" position=\"relative\">\n <Input\n ref={ref}\n value={value}\n readOnly\n onPressIn={() => setShowPicker(!showPicker)}\n placeholder={placeholder || (type === \"date\" ? \"Select Date...\" : \"Select Date & Time...\")}\n paddingRight={40}\n {...props}\n />\n <XStack\n position=\"absolute\"\n right={12}\n pointerEvents=\"none\"\n opacity={0.6}\n >\n <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" style={{ color: \"var(--primary)\" }}>\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>\n <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"></line>\n <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"></line>\n <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"></line>\n </svg>\n </XStack>\n </XStack>\n\n {showPicker && (\n <Card\n elevated\n position=\"absolute\"\n top=\"100%\"\n left={0}\n marginTop=\"$2\"\n zIndex={1000}\n width={320}\n padding=\"$3\"\n backgroundColor=\"$background\"\n borderColor=\"$borderColor\"\n borderWidth={1}\n >\n {/* Calendar Header */}\n <XStack justifyContent=\"space-between\" alignItems=\"center\" marginBottom=\"$3\">\n <Button \n size=\"sm\" \n borderRadius={100} \n width={28} \n height={28}\n padding={0}\n onPress={() => setViewDate(new Date(viewDate.setMonth(viewDate.getMonth() - 1)))}\n >\n <MText fontSize={12} position=\"relative\" left={-1}>&lt;</MText>\n </Button>\n \n <XStack alignItems=\"center\" cursor=\"pointer\">\n <YStack onDoubleClick={() => setIsEditingMonth(true)}>\n {isEditingMonth ? (\n <Input \n size=\"sm\" \n autoFocus\n width={100}\n textAlign=\"center\"\n paddingHorizontal={4}\n defaultValue={viewDate.getMonth() + 1}\n onKeyDown={(e: any) => e.key === 'Enter' && e.currentTarget.blur()}\n onBlur={(e: React.FocusEvent<HTMLInputElement>) => {\n const m = parseInt(e.target.value);\n if (!isNaN(m) && m > 0 && m <= 12) setViewDate(new Date(viewDate.setMonth(m - 1)));\n setIsEditingMonth(false);\n }}\n />\n ) : (\n <MText fontSize={12} fontWeight=\"700\" color=\"$primary\">{monthNames[viewDate.getMonth()]}</MText>\n )}\n </YStack>\n\n <View width={12} />\n\n <YStack onDoubleClick={() => setIsEditingYear(true)}>\n {isEditingYear ? (\n <Input \n size=\"sm\" \n autoFocus\n width={60}\n textAlign=\"center\"\n paddingHorizontal={4}\n defaultValue={viewDate.getFullYear().toString()}\n onKeyDown={(e: any) => e.key === 'Enter' && e.currentTarget.blur()}\n onBlur={(e: React.FocusEvent<HTMLInputElement>) => {\n const y = parseInt(e.target.value);\n if (!isNaN(y)) setViewDate(new Date(viewDate.setFullYear(y)));\n setIsEditingYear(false);\n }}\n />\n ) : (\n <MText fontWeight=\"700\" color=\"$primary\">{viewDate.getFullYear()}</MText>\n )}\n </YStack>\n </XStack>\n\n <Button \n size=\"sm\" \n borderRadius={100} \n width={28} \n height={28}\n padding={0}\n onPress={() => setViewDate(new Date(viewDate.setMonth(viewDate.getMonth() + 1)))}\n >\n <MText fontSize={12} position=\"relative\" left={1}>&gt;</MText>\n </Button>\n </XStack>\n\n {/* Days Grid */}\n <XStack flexWrap=\"wrap\" gap={2} marginBottom=\"$2\">\n <XStack width=\"100%\" justifyContent=\"space-around\">\n {[\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"].map(d => (\n <MStack key={d} width={36} alignItems=\"center\">\n <MText fontSize={10} color=\"muted\" fontWeight=\"600\">{d}</MText>\n </MStack>\n ))}\n </XStack>\n {days.map((day, idx) => {\n const isSelected = day === selectedDate.getDate() && \n viewDate.getMonth() === selectedDate.getMonth() && \n viewDate.getFullYear() === selectedDate.getFullYear();\n return (\n <MStack \n key={idx} \n width={36} \n height={36} \n alignItems=\"center\" \n justifyContent=\"center\"\n borderRadius=\"$2\"\n cursor={day ? \"pointer\" : \"default\"}\n backgroundColor={isSelected ? \"$primary\" : \"transparent\"}\n hoverStyle={day ? { backgroundColor: isSelected ? \"$primary\" : \"$backgroundHover\" } : {}}\n onPress={() => day && handleDayClick(day)}\n >\n <MText color={isSelected ? \"#fff\" : \"$color\"} fontSize={12} fontWeight={isSelected ? \"700\" : \"400\"}>\n {day || \"\"}\n </MText>\n </MStack>\n );\n })}\n </XStack>\n\n {/* Time Selection */}\n {type === \"datetime-local\" && (\n <YStack marginTop=\"$2\" paddingTop=\"$3\" borderTopWidth={1} borderColor=\"$borderColor\" gap=\"$2\">\n <XStack justifyContent=\"space-around\" alignItems=\"center\">\n {/* Hour */}\n <YStack alignItems=\"center\" gap=\"$1\">\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(1, 0, 0)}>\n <MText fontSize={16}>+</MText>\n </Button>\n <Input \n size=\"sm\" \n width={52} \n textAlign=\"center\"\n paddingHorizontal={4}\n onKeyDown={(e: any) => e.key === 'Enter' && e.currentTarget.blur()}\n value={(selectedDate.getHours() % 12 || 12).toString()}\n onChangeText={(val: string) => {\n let h = parseInt(val);\n if (!isNaN(h)) {\n if (h === 12) h = 0;\n const newDate = new Date(selectedDate);\n const isPM = newDate.getHours() >= 12;\n newDate.setHours(isPM ? h + 12 : h);\n handleSelection(newDate);\n }\n }}\n />\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(-1, 0, 0)}>\n <MText fontSize={16}>-</MText>\n </Button>\n </YStack>\n\n <MText fontSize={16} color=\"muted\" marginTop={10} position=\"relative\" top={-2}>:</MText>\n\n {/* Minute */}\n <YStack alignItems=\"center\" gap=\"$1\">\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(0, 5, 0)}>\n <MText fontSize={16}>+</MText>\n </Button>\n <Input \n size=\"sm\" \n width={52} \n textAlign=\"center\"\n paddingHorizontal={4}\n onKeyDown={(e: any) => e.key === 'Enter' && e.currentTarget.blur()}\n value={selectedDate.getMinutes().toString().padStart(2, '0')}\n onChangeText={(val: string) => {\n const m = parseInt(val);\n if (!isNaN(m) && m >= 0 && m < 60) {\n const newDate = new Date(selectedDate);\n newDate.setMinutes(m);\n handleSelection(newDate);\n }\n }}\n />\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(0, -5, 0)}>\n <MText fontSize={16}>-</MText>\n </Button>\n </YStack>\n\n <MText fontSize={16} color=\"muted\" marginTop={10} position=\"relative\" top={-2}>:</MText>\n\n {/* Second */}\n <YStack alignItems=\"center\" gap=\"$1\">\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(0, 0, 10)}>\n <MText fontSize={16}>+</MText>\n </Button>\n <Input \n size=\"sm\" \n width={52} \n textAlign=\"center\"\n paddingHorizontal={4}\n onKeyDown={(e: any) => e.key === 'Enter' && e.currentTarget.blur()}\n value={selectedDate.getSeconds().toString().padStart(2, '0')}\n onChangeText={(val: string) => {\n const s = parseInt(val);\n if (!isNaN(s) && s >= 0 && s < 60) {\n const newDate = new Date(selectedDate);\n newDate.setSeconds(s);\n handleSelection(newDate);\n }\n }}\n />\n <Button size=\"sm\" variant=\"ghost\" padding={0} onPress={() => handleTimeChange(0, 0, -10)}>\n <MText fontSize={16}>-</MText>\n </Button>\n </YStack>\n\n {/* AM/PM - VERTICALLY CENTERED WITH NUMBERS */}\n <YStack justifyContent=\"center\" marginTop={10} position=\"relative\" top={-2}>\n <Button \n size=\"sm\" \n variant=\"primary\" \n paddingHorizontal=\"$2\" \n onPress={toggleAMPM}\n borderRadius=\"$2\"\n minWidth={46}\n backgroundColor=\"$primary\"\n >\n <MText fontSize={10} fontWeight=\"900\" color=\"#fff\">{selectedDate.getHours() >= 12 ? \"PM\" : \"AM\"}</MText>\n </Button>\n </YStack>\n </XStack>\n \n <XStack marginTop=\"$1\">\n <Button \n variant=\"default\"\n size=\"sm\" \n onPress={setNow}\n flex={1}\n >\n Now\n </Button>\n \n <View width={8} />\n\n <Button \n variant=\"primary\"\n size=\"sm\" \n onPress={() => setShowPicker(false)}\n flex={2}\n >\n Apply Selection\n </Button>\n </XStack>\n </YStack>\n )}\n </Card>\n )}\n </YStack>\n );\n});\n\nDatePicker.displayName = \"DatePicker\";\n","import React from \"react\";\nimport { styled, type TamaguiElement } from \"@tamagui/core\";\nimport { YStack, type MStackProps } from \"./Primitives\";\n\nexport interface SelectOption {\n value: string;\n label: string;\n}\n\n/**\n * Universal Styled Select\n * \n * Powered by Tamagui tokens but using a native 'select' element for 100% browser interaction.\n */\nconst StyledSelect = styled(\"select\" as any, {\n name: \"Select\",\n backgroundColor: \"$backgroundSecondary\",\n borderRadius: \"$round\",\n borderWidth: 1,\n borderStyle: \"solid\",\n borderColor: \"$borderColor\",\n color: \"$color\",\n paddingLeft: \"$md\",\n paddingRight: 40, // Space for arrow\n fontSize: \"$sm\",\n width: \"100%\",\n outlineWidth: 0,\n appearance: \"none\",\n webkitappearance: \"none\",\n mozappearance: \"none\",\n cursor: \"pointer\",\n\n focusStyle: {\n borderColor: \"$primary\",\n backgroundColor: \"$background\",\n outlineWidth: 0,\n },\n\n hoverStyle: {\n borderColor: \"$primary\",\n backgroundColor: \"$background\",\n },\n\n variants: {\n size: {\n sm: { height: 32, fontSize: \"$xs\" },\n md: { height: 40, fontSize: \"$sm\" },\n lg: { height: 52, fontSize: \"$md\" },\n },\n error: {\n true: {\n borderColor: \"$error\",\n focusStyle: {\n borderColor: \"$error\",\n },\n },\n },\n } as const,\n\n defaultVariants: {\n size: \"md\",\n },\n} as any) as any;\n\nexport interface SelectProps extends Omit<MStackProps, \"children\" | \"onChange\" | \"onFocus\" | \"onBlur\"> {\n error?: boolean;\n size?: \"sm\" | \"md\" | \"lg\";\n value?: string;\n onChange?: (e: React.ChangeEvent<HTMLSelectElement>) => void;\n // RN-friendly change handler\n onValueChange?: (value: string) => void;\n options: SelectOption[];\n placeholder?: string;\n disabled?: boolean;\n name?: string;\n color?: any;\n}\n\n/**\n * Select Component\n * \n * Choice primitive with brand aesthetics and native accessibility.\n */\nexport const Select = React.forwardRef<HTMLSelectElement | TamaguiElement, SelectProps>(({\n error,\n size = \"md\",\n value,\n onChange,\n onValueChange,\n options,\n placeholder,\n disabled,\n name,\n ...stackProps\n}, ref) => {\n const isControlled = value !== undefined;\n\n return (\n <YStack\n position=\"relative\"\n width={stackProps.width || \"100%\"}\n minWidth={stackProps.minWidth}\n pointerEvents=\"box-none\"\n >\n <StyledSelect\n ref={ref}\n {...(isControlled ? { value } : {})}\n error={error}\n size={size}\n onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {\n onChange?.(e);\n onValueChange?.(e.target.value);\n }}\n disabled={disabled}\n name={name}\n {...stackProps}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {options.map((opt) => (\n <option key={opt.value} value={opt.value}>\n {opt.label}\n </option>\n ))}\n </StyledSelect>\n \n {/* Visual arrow indicator (Overlay) */}\n <YStack\n position=\"absolute\"\n right={12}\n top=\"50%\"\n marginTop={-3}\n width={0}\n height={0}\n borderLeftWidth={5}\n borderLeftColor=\"transparent\"\n borderRightWidth={5}\n borderRightColor=\"transparent\"\n borderTopWidth={6}\n borderTopColor=\"$colorMuted\"\n pointerEvents=\"none\"\n opacity={0.6}\n />\n </YStack>\n );\n});\n\nSelect.displayName = \"Select\";\n","/**\n * Toast — Accessible notification component.\n *\n * Pure CSS animation (no external deps).\n * Supports success, error, warning, and info variants.\n * Uses ARIA live regions for screen reader support.\n *\n * @example\n * ```tsx\n * <Toast message=\"Record saved\" variant=\"success\" onDismiss={() => {}} />\n * ```\n */\n\nimport React, { useEffect } from \"react\";\n\nexport interface ToastProps {\n /** Message to display */\n message: string;\n /** Visual variant */\n variant?: \"success\" | \"error\" | \"warning\" | \"info\";\n /** Auto-dismiss after ms (0 = no auto-dismiss) */\n duration?: number;\n /** Called when toast is dismissed */\n onDismiss?: () => void;\n}\n\nconst VARIANT_STYLES: Record<string, React.CSSProperties> = {\n success: { borderLeft: \"3px solid var(--color-success)\" },\n error: { borderLeft: \"3px solid var(--color-error)\" },\n warning: { borderLeft: \"3px solid var(--color-warning)\" },\n info: { borderLeft: \"3px solid var(--color-primary)\" },\n};\n\nconst VARIANT_ICONS: Record<string, string> = {\n success: \"✓\",\n error: \"✕\",\n warning: \"⚠\",\n info: \"ℹ\",\n};\n\n/**\n * Toast notification with auto-dismiss and ARIA live region.\n *\n * Renders as a fixed bottom-right overlay using CSS classes\n * defined in App.css (.toast, .toast-success, etc).\n * Announces content to screen readers via aria-live=\"assertive\".\n */\nexport function Toast({\n message,\n variant = \"info\",\n duration = 4000,\n onDismiss,\n}: ToastProps): React.ReactElement {\n useEffect(() => {\n if (duration > 0 && onDismiss) {\n const timer = setTimeout(onDismiss, duration);\n return () => clearTimeout(timer);\n }\n return undefined;\n }, [duration, onDismiss]);\n\n return (\n <div\n className={`toast toast-${variant}`}\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n style={VARIANT_STYLES[variant]}\n >\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--spacing-sm)\",\n }}\n >\n <span aria-hidden=\"true\" style={{ fontWeight: 600 }}>\n {VARIANT_ICONS[variant]}\n </span>\n <span>{message}</span>\n {onDismiss && (\n <button\n onClick={onDismiss}\n aria-label=\"Dismiss notification\"\n style={{\n marginLeft: \"auto\",\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n color: \"var(--color-text-muted)\",\n fontSize: \"1rem\",\n padding: \"0 var(--spacing-xs)\",\n }}\n >\n ✕\n </button>\n )}\n </div>\n </div>\n );\n}\n\n/**\n * ToastContainer — manages a list of toasts.\n *\n * Renders toasts stacked from the bottom-right corner.\n * Use with a state array of ToastProps objects.\n */\nexport interface ToastItem extends ToastProps {\n id: string;\n}\n\nexport interface ToastContainerProps {\n toasts: ToastItem[];\n onDismiss: (id: string) => void;\n}\n\nexport function ToastContainer({\n toasts,\n onDismiss,\n}: ToastContainerProps): React.ReactElement {\n return (\n <div\n aria-label=\"Notifications\"\n style={{\n position: \"fixed\",\n bottom: \"var(--spacing-lg)\",\n right: \"var(--spacing-lg)\",\n zIndex: 60,\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--spacing-sm)\",\n pointerEvents: \"none\",\n }}\n >\n {toasts.map((toast) => (\n <div key={toast.id} style={{ pointerEvents: \"auto\" }}>\n <Toast {...toast} onDismiss={() => onDismiss(toast.id)} />\n </div>\n ))}\n </div>\n );\n}\n"],"names":["ThemeContext","createContext","STORAGE_KEY","getInitialTheme","savedTheme","applyTheme","theme","root","ThemeProvider","children","setThemeState","useState","useEffect","mediaQuery","handleChange","e","setTheme","newTheme","value","jsx","useTheme","context","useContext","SunIcon","jsxs","MoonIcon","ThemeToggle","toggleTheme","pseudoDescriptorsBase","pseudoPriorities","pseudoDescriptors","defaultMediaImportance","mergeProps","defaultProps","props","out","key","mergeProp","mergeComponentProps","contextProps","overriddenContext","contextValue","val","defaultVal","objectIdentityKey","obj","k","arg","type","cache","v","createStyledContext","defaultValues","namespace","createReactContext","React","useReactMemo","useReactContext","OGContext","OGProvider","Context","scopedContexts","LastScopeInNamespace","getOrCreateScopedContext","scope","ScopedContext","getNamespacedScope","Provider","scopeIn","__disableMergeDefaultValues","values","next","ScopedProvider","useStyledContext","lastScopeInNamespace","ComponentContext","GroupContext","useCreateShallowSetState","setter","debug","useCallback","stateOrGetState","prev","update","mergeIfNotShallowEqual","isEqualShallow","isWeb","isBrowser","isServer","isClient","useIsomorphicLayoutEffect","useLayoutEffect","currentPlatform","THEME_CLASSNAME_PREFIX","MISSING_THEME_MESSAGE","conf","setConfigCalledByThisInstance","haventCalledErrorMessage","getConfigFromGlobalOrLocal","getSetting","config","setConfig","getConfig","getConfigMaybe","camelToHyphen","str","m","mediaObjectToString","query","res","feature","mediaState","target","setMediaState","mediaQueryConfig","getMedia","mediaKeys","kebabToCamel","_","c","isValidPseudo","getGroupPropParts","groupProp","name","a","b","m2","media","pseudoCandidate","MEDIA_SEP","prefixes","selectors","resetMediaStyleCache","groupPseudoToPseudoCSSMap","specificities","i","getThemeOrGroupSelector","styleInner","isGroup","groupParts","isTheme","precedenceImportancePrefix","selectorStart","selectorEnd","selector","precedenceSpace","pseudoSelectorName","pseudoSelector","presedencePrefix","mediaSelector","createMediaStyle","styleObject","mediaKeyIn","mediaQueries","negate","priority","property","identifier","pseudoIn","rules","isPlatform","isNonWindowMedia","negKey","ogPrefix","id","styleRule","groupPriority","groupMediaKey","containerName","nextIdentifier","rule","isHover","specificity","pseudo","nextSelector","index","mediaKey","prefix","matchMedia","matchMediaFallback","mediaKeyRegex","isMediaKey","getMediaKey","match","initState","mediaKeysOrdered","getMediaKeyImportance","dispose","mediaVersion","configureMedia","mediaQueryDefaultActive","setupMediaListeners","unlisten","cb","setupVersion","getMatch","updateMediaListeners","listeners","States","setMediaShouldUpdate","ref","enabled","keys","cur","subscribe","subscriber","useMedia","componentContext","componentState","internalRef","useRef","state","useSyncExternalStore","curKeys","lastState","pendingState","ms","getServerSnapshot","disableMediaTouch","_disableMediaTouch","getMediaState","mediaGroups","layout","mediaKeyMatch","getMediaImportanceIfMoreImportant","styleState","isSizeMedia","importance","usedKeys","dimensions","expectedVal","isMax","isWidth","givenVal","cacheSize","simpleHash","strIn","hashMin","hash","valids","added","len","char","isValidCSSCharCode","hashChar","code","clamp","min","max","composeEventHandlers","og","checkDefaultPrevented","event","StyleObjectProperty","StyleObjectValue","StyleObjectIdentifier","StyleObjectPseudo","StyleObjectRules","ALL_PLATFORMS","shouldRenderNativePlatform","nativeProp","userRequestedPlatforms","resolvePlatformNames","platform","platforms","set","nonAnimatableWebViewProps","nonAnimatableWebTextProps","webOnlyStylePropsView","webOnlyStylePropsText","cssShorthandLonghands","textColors","tokenCategories","nonAnimatableViewProps","nonAnimatableFontProps","nonAnimatableTextOnlyProps","nonAnimatableUnitlessProps","nonAnimatableStyleProps","stylePropsUnitless","stylePropsTransform","stylePropsView","stylePropsFont","stylePropsTextOnly","stylePropsText","stylePropsAll","validPseudoKeys","validStyles","Decorated","withStaticProperties","component","staticProps","constructCSSVariableName","createVariable","skipHash","isVariable","createCSSVariable","variableToString","vrble","getValue","getVariable","nameOrVariable","group","setDidGetVariableValue","tokens","_a","accessed","didGetVariableValue","getVariableValue","getVariableVariable","nameProp","includeVar","curSchemeKeys","curProps","curState","emptyObject","getThemeProxied","_props","_state","_keys","_schemeKeys","track","schemeOptimized","proxied","proxied2","outVal","scheme","ThemeStateContext","allListeners","listenersByParent","HasRenderedOnce","HadTheme","PendingUpdate","states","localStates","getThemeState","cacheVersion","themeNameCache","themeNameCacheVer","themes","useThemeState","isRoot","schemeKeys","disable","parentId","useId","propsKey","getPropsKey","getSnapshot","local","parentState","isSchemeOnlyChange","keysSize","allKeysSchemeOptimized","_b","canSkipForSchemeChange","needsUpdate","_c","_d","rerender","getNextState","scheduleUpdate","pendingUpdate","getNewThemeName","isSameAsParent","shouldRerender","message","getScheme","isInverse","nextState","shouldAvoidRerender","queue","visited","parent","childId","validSchemes","parentName","forceUpdate","reset","componentName","cacheKey","cached","themes2","result2","lastPartIndex","name2","result","parentParts","lastName","subNames","found","nameHasScheme","subName","potentialBases","outer","base","candidates","potential","forceClassName","hasThemeUpdatingProps","useThemeWithState","themeState","setRef","composeRefs","refs","node","isDevTools","defaultComponentState","defaultComponentStateMounted","defaultComponentStateShouldEnter","getWebEvents","events","webStyle","getDefaultProps","staticConfig","propsComponentName","userDefaultProps","resolveAnimationDriver","driver","defaultOffset","normalizeShadow","shadowColor","shadowOffset","shadowOpacity","shadowRadius","height","width","fixStyles","style","borderDefaults","normalizeColor","color","opacity","stylePropsAllPlusTransforms","normalizeValueWithProperty","transformsToString","transforms","transform","getCSSStylesAtomic","styleToCSS","getStyleAtomic","subKey","so","getStyleObject","pseudoPrefix","createAtomicRules","offset","radius","shadow","textShadowColor","textShadowOffset","textShadowRadius","blurRadius","offsetX","offsetY","createDeclarationBlock","important","hyphenateStyleName","hcache","toHyphenLower","selectorPriority","pseudoIdPostfix","cls","block","webkitProperty","finalValue","r","scannedCache","totalSelectorsInserted","allSelectors","allRules","getAllSelectors","getAllRules","lastScannedSheets","scanAllSheets","collectThemes","sheets","current","sheet2","updateSheetStyles","trackInsertedStyle","bailAfterEnv","bailAfter","remove","firstSelector","getTamaguiSelector","lastSelector","lastScanned","fails","dedupedThemes","nameToTheme","response","cssRule","deduped","addThemesFromCSS","x","colorVarToVal","rootComputedStyle","cssStyleRule","token","sepI","varIndex","varName","tokenVal","names","lastThemeSelectorIndex","schemeChar","themeName","tamaguiSelectorRegex","text","getIdentifierFromTamaguiSelector","dotIndex","sheet","trackAllRules","stopAccumulatingRules","updateRules","insertStyleRules","rulesToInsert","styleTag","shouldInsertStyleRules","maxToInsert","total","isActivePlatform","isActiveTheme","activeThemeName","log","args","err","neg1Flex","expandStyle","EXPANSIONS","all","horiz","vert","xy","getVariantExtras","styleProps","styledContext","fonts","getFontsForLanguage","fontLanguageCache","language","lang","langKey","fontShorthand","didLogMissingToken","_lastFontFamilyToken","getLastFontFamilyToken","setLastFontFamilyToken","getTokenForKey","resolveAs","fontFamily","themeValue","tokensParsed","valOrVar","hasSet","customTokenAccept","fam","fontsParsed","_e","cat","_f","spaceVar","resolveVariableValue","resolveValues","get","isObj","normalizeStyle","disableNormalize","prop","tokenPattern","platformResolveValue","_key","t","compoundKeys","resolveCompoundTokens","isRemValue","nativeOnlyProps","skipProps","propMapper","disabled","map","variants","variantValue","resolveVariants","key2","value2","originalValue","resolved","fontToken","expanded","nkey","nvalue","parentVariantKey","getVariantDefinition","fn","extras","fontFamilyResult","fontFamilyUpdate","getFontFamilyFromNameOrVariable","resolveTokensAndVariants","input","variableToFontNameCache","familyVariable","variantOut","val2","fVal","subObject","tokenCats","variant","exact","spreadName","fontSizeVariant","sortString","styleOriginalValues","PROP_SPLIT","normalizeGroupKey","groupContext","parts","plen","isValidStyleKey","accept","getSplitStyles","parentSplitStyles","elementType","startedUnhydrated","animationDriver","shorthands","isHOC","isText","isInput","isReactNative","inlineProps","inlineWhenUnflattened","parentStaticConfig","acceptsClassName","viewProps","globalMediaState","shouldDoClasses","classNames","pseudos","hasMedia","dynamicThemeAccess","pseudoGroups","className","mediaStylesSeen","validStylesView","fallbackProps","asChild","noSkip","disableExpandShorthands","noExpand","webContainerType","parentVariants","keyOg","keyInit","valInit","accepted","getSubStyle","defaults","containerCSS","addStyleToInsertRules","isValidStyleKeyInit","isVariant","isStyleLikeKey","isPseudo","isMedia","isMediaOrPseudo","isStyleProp","shouldPassProp","parentVariant","isHOCShouldPassThrough","shouldPassThrough","passDownProp","disablePropMap","originalVal","isStyledContextProp","mergeStyle","pseudoStyleObject","descriptor","isEnter","isExit","pseudoStyles","psuedoStyle","fullKey","descriptorKey","isDisabled","pseudoOriginalValues","pkey","applyDefaultStyle","curImportance","shouldMerge","mediaKeyShort","mediaStyle","mediaStyles","isSubStyle","mergeMediaStyle","originalVal2","mergeMediaByImportance","importanceBump","isThemeMedia","isGroupMedia","groupInfo","groupName","groupState","groupPseudoKey","componentGroupState","mediaState2","isActive","componentGroupPseudoState","priority2","mediaOriginalValues","subOriginalValues","subSubKey","mergeFlatTransforms","retainedStyles","shouldRetain","atomic","atomicStyle","isAnimatedAndTransitionOnly","nonAnimatedTransitionOnly","toConvert","hasProps","styleProp","isArray","asChildExceptStyleLike","fontFamilyClassName","groupClassName","componentNameFinal","componentNameClassName","classList","finalClassName","needsCssStyles","cnStyles","logs","flatTransforms","mergeTransform","originalFromState","styleIn","avoidMergeTransform","conf2","styleOut","originalValues","animationConfig","skey","sval","parentTransform","styleOutTransform","merged","pt","pk","j","sk","fk","ck","useInsertEffectCompat","useSplitStyles","d","f","g","h","l","defaultColor","animatableDefaults","backwards","mapTransformKeys","shouldMergeObject","debugProp","isEventHandler","mergeSlotStyleProps","overlay","baseVal","overlayVal","mergeRenderElementProps","elementProps","resolveEffectivePseudoTransition","pseudoTransitions","baseTransition","prevState","pseudoType","nextGroupPseudo","prevGroupPseudo","extractPseudoState","groups","hooks","setupHooks","setElementProps","subscribeToContextGroup","disposables","createGroupListener","setStateShallow","didChange","ClientOnlyContext","ClientOnly","existingValue","useIsClientOnly","useDidFinishSSR","ThemeDebug","themeProps","isHydrated","Fragment","createPortal","Theme","forwardRef","passThrough","finalChildren","Children","child","isValidElement","cloneElement","stateRef","getThemedChildren","shallow","shouldRenderChildrenWithTheme","requiresExtraWrapper","getThemeClassNameAndColor","baseStyle","inertContainedStyle","inertStyle","className2","empty","themeColor","themeClassName","schemePrefix","themeNameParts","themeClasses","hierarchyClasses","themeable","Component","optimize","withTheme","userDefaults","defaultTheme","defaultResetTheme","themeReset","rest","overriddenContextProps","element","filteredProps","compName","contents","getStyleTags","styles","useComponentState","needsHydration","useAnimations","hasAnimationProp","hasAnimatedStyleValue","inputStyle","outputStyle","curStateRef","willBeAnimatedClient","willBeAnimated","disableClassName","presence","presenceState","isExiting","isEntering","hasEnterStyle","hasAnimationThatNeedsHydrate","initialState","setState","isAnimated","enterVariant","exitVariant","enterExitVariant","custom","exv","env","noClass","isAnimatedAndHydrated","isClassNameDisabled","isDisabledManually","Slot","memo","forwardedRef","slotProps","mergedProps","mergeSlotProps","pressMap","childProps","isHTMLChild","time","debugKeyListeners","startVisualizer","componentSetStates","avoidReRenderKeys","cancelPresses","cancelTouches","lastInteractionWasKeyboard","lastInteractionWasTouch","createComponent","propsIn","internalID","styledContextValue","hasTextAncestor","nextProps","overrides","debugVisualizerHandler","show","dataAt","dataIn","tooltip","groupContextParent","allGroupContexts","useMemo","state2","listener","renderProp","BaseComponent","disableTheme","themeStateProps","dataIs","banner","ch","childLog","isStringElement","splitStyles","isPassthrough","contextForOverride","contextForProps","fromPx","hasEnterExitTransition","updateGroupListeners","updatedState","hasDynGroupChildren","unmounted","transition","childrenGroupState","notifyGroupSubscribers","ogSetStateShallow","useStyleListener","nextStyles","effectiveTransition","updateListener","nextOrGetNext","canAvoidReRender","hasRuntimeMediaKeys","shouldListenForMedia","mediaListeningKeys","viewPropsIn","splitStylesStyle","propsWithAnimation","themeShallow","_spaceDirection","onPress","onLongPress","onPressIn","onPressOut","onHoverIn","onHoverOut","onMouseUp","onMouseDown","onMouseEnter","onMouseLeave","onFocus","onBlur","separator","_forceStyle","onClick","_themeProp","nonTamaguiProps","animationStyles","shouldUseAnimation","animatedRef","useStyleEmitter","animations","item","unPress","cssStyleDeclarationToObject","computed","cancelled","groupEmitter","runtimePressStyle","runtimeFocusStyle","runtimeFocusVisibleStyle","attachFocus","hasDynamicGroupChildren","attachPress","runtimeHoverStyle","needsHoverState","attachHover","shouldAttach","needsPressState","passEvents","content","isRenderPropString","getCustomRender","ResetPresence","needsReset","hasEverReset","title","extendStyledConfig","extended","styleable","Component2","options","extendedConfig","registerCSSVariable","tokensValueToVariable","variableToCSS","unitless","autoVarId","autoVariables","getOrCreateVariable","variable","mutatedVarId","mutatedTokensValueToVariable","getOrCreateMutatedVariable","darkLight","lightDark","getThemeCSSRules","cssRuleSets","hasDarkLight","CNP","vars","variableCreator","themeKey","isDarkBase","isLightBase","baseSelectors","selectorsSet","isDark","isLight","childSelector","order","stronger","weaker","numSelectors","depth","isOdd","parents","idx","parentSelectors","_first","second","lastParentSelector","nextChildSelector","parentSelectorString","css","addTo","isBaseTheme","baseName","lessSpecificSelectors","darkSelector","lightSelector","isBase","bodyRulesString","bgString","fgString","themeRules","prefersMediaSelectors","selectionStyles","selectionSelectors","s","css2","themesRaw","proxyThemesToParents","proxiedTheme","proxyThemeToParents","part","ensureThemeVariable","fontWeights","processSection","section","defaultValue","sectionKeys","fillValue","createFont","font","sizeKeys","processedFont","createVariables","parentPath","isFont","keyIn","isPrefixed","keyWithPrefix","niceKey","finalValue2","noAnimationDriver","method","createEmptyAnimationDriver","defaultAnimationDriver","getFontPropertyDeclarations","fontParsed","tokenKey","getVarRef","letterSpacing","lineHeight","fontStyle","fontWeight","createTokenCSS","shouldTokenCategoryHaveUnits","declarations","sortedTokenKeys","sortedSubKeys","variableNeedsPx","categoryNeedsPx","shouldBeUnitless","createFontCSS","registerFontVariables","fontDeclarations","sortedFontKeys","fontVars","buildCSSRuleSets","defaultFontToken","declarationsToRuleSet","decs","fontSelectors","sortedFontDeclarationKeys","declarations2","fontSelector","langSelector","specificRuleSet","firstFont","fontProps","sharedSelectors","createThemeCSS","configIn","themeRuleSets","nextRules","getCSS","themeConfig","opts","lastIndex","sinceLastCall","exclude","newRules","runtimeStyles","parseFont","definition","parsed","attrKey","attr","parsedFont","fkey","fskey","Tamagui","TamaguiManager","__publicField","Helpers","identifierToValue","category","createTamagui","existingConfig","tokensMerged","tokenCat","prefixedKey","foundThemes","noThemes","fontSizeTokens","fontTokens","familyName","specificTokens","themesIn","getThemesDeduped","userShorthands","builtinShorthands","lastCSSIndex","getCSSHelper","getNewCSS","defaultFontSetting","defaultFont","defaultPositionSetting","inputAnimations","resolvedDriver","colorTokens","existing","sortedThemeNames","darkOrLightSpecificPrefix","rawTheme","createTokens","ReactNativeStaticConfigs","getReactNativeConfig","RNConfigs","mergeVariants","ourVariants","level","ourVariant","textLikeElements","styledHtml","tag","defaultVariants","styled","ComponentIn","isPlainStyledComponent","reactNativeConfig","staticConfigProps","parentDefaultVariants","parentDefaultProps","pdp","styledExport","View","defaultFontClass","TamaguiRoot","isRootRoot","mounted","setMounted","addThemeClassName","cn","TamaguiProvider","disableInjectCSS","insets","memoizedInsets","ellipsisStyle","Text","numberOfLines","LayoutHandlers","LayoutDisableKey","Nodes","IntersectionState","usePretransformDimensions","_debugLayout","isDebugLayout","DisableLayoutContextValues","DisableLayoutContextKey","ENABLE","globalIntersectionObserver","strategy","NodeRectCache","avoidUpdates","queuedUpdates","enable","startGlobalObservers","entries","entry","rectsEqual","ensureRectFetchObserver","rectFetchObserver","lastCallbackDelay","rectFetchStartTime","BoundingRects","rectFetchResolve","updateLayoutIfChanged","onLayout","parentNode","nodeRect","parentRect","cachedRect","cachedParentRect","nodeChanged","parentChanged","getElementLayoutEvent","rAF","userSkipVal","BASE_SKIP_FRAMES","MAX_SKIP_FRAMES","skipFrames","frameCount","layoutOnAnimationFrame","visibleNodes","parentsToObserve","parentElement","cleanupNode","disableKey","io","getRelativeDimensions","getPreTransformDimensions","aNode","left","top","y","PrevHostNode","useElementLayout","ensureWebElement","nextNode","prevNode","handler","node2","swappedNode","getBoundingClientRectAsync","measureNode","relativeTo","relativeNode","nodeDim","relativeNodeDim","measure","callback","createMeasure","measureInWindow","createMeasureInWindow","measureLayout","createMeasureLayout","getBaseViews","WebTamaguiProvider","createTamaguiWeb","willHydrate","isDOM","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderGrant","onResponderMove","onResponderReject","onResponderRelease","onResponderStart","onResponderTerminate","onResponderTerminationRequest","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","collapsable","focusable","accessible","accessibilityDisabled","hrefAttrs","plainDOMProps","download","rel","WebView","WebText","buildColorTokens","colors","buildSizeTokens","typography","numeric","buildTheme","mode","themeSource","acc","kebab","buildSpaceTokens","spacing","buildRadiusTokens","generateMDesignConfig","generated","headingFont","bodyFont","mThemeConfig","MProvider","CoreTamaguiProvider","STATE_COLORS","getStateColor","normalizedState","StateBadge","docstatus","displayState","DEFAULT_LOCALES","LocaleSwitcher","onChangeLanguage","locales","locale","_SkeletonFrame","Skeleton","count","combinedClassName","MStack","_XStack","XStack","_YStack","YStack","_ZStack","ZStack","_MText","MText","_Paragraph","Paragraph","_Heading","Heading","StyledButton","Button","size","loading","_Card","Card","StyledInput","Input","onChange","onChangeText","DatePicker","placeholder","showPicker","setShowPicker","isEditingYear","setIsEditingYear","isEditingMonth","setIsEditingMonth","containerRef","toLocalISO","date","pad","n","yyyy","mm","dd","hh","sec","selectedDate","viewDate","setViewDate","handleClickOutside","handleSelection","formatted","handleDayClick","day","newDate","handleTimeChange","deltaHours","deltaMinutes","deltaSeconds","toggleAMPM","setNow","now","daysInMonth","month","year","firstDayOfMonth","days","monthNames","isSelected","isPM","StyledSelect","Select","error","onValueChange","stackProps","isControlled","opt","VARIANT_STYLES","VARIANT_ICONS","Toast","duration","onDismiss","timer","ToastContainer","toasts","toast"],"mappings":";;;;;;;AAyCA,MAAMA,KAAeC,GAAuC,IAAI,GAE1DC,KAAc;AAEpB,SAASC,KAAyB;AAChC,QAAMC,IAAa,aAAa,QAAQF,EAAW;AACnD,SAAIE,MAAe,WAAWA,MAAe,SACpCA,IAIP,OAAO,cACP,OAAO,WAAW,8BAA8B,EAAE,UAE3C,SAGF;AACT;AAEA,SAASC,GAAWC,GAAc;AAChC,QAAMC,IAAO,SAAS;AACtB,EAAID,MAAU,SACZC,EAAK,UAAU,IAAI,MAAM,IAEzBA,EAAK,UAAU,OAAO,MAAM;AAEhC;AAMO,SAASC,GAAc,EAAE,UAAAC,KAAgC;AAC9D,QAAM,CAACH,GAAOI,CAAa,IAAIC,GAAgBR,EAAe;AAE9D,EAAAS,GAAU,MAAM;AACd,IAAAP,GAAWC,CAAK;AAAA,EAClB,GAAG,CAACA,CAAK,CAAC,GAEVM,GAAU,MAAM;AACd,UAAMC,IAAa,OAAO,WAAW,8BAA8B,GAE7DC,IAAe,CAACC,MAA2B;AAE/C,MADmB,aAAa,QAAQb,EAAW,KAEjDQ,EAAcK,EAAE,UAAU,SAAS,OAAO;AAAA,IAE9C;AAEA,WAAAF,EAAW,iBAAiB,UAAUC,CAAY,GAC3C,MAAMD,EAAW,oBAAoB,UAAUC,CAAY;AAAA,EACpE,GAAG,CAAA,CAAE;AAEL,QAAME,IAAW,CAACC,MAAoB;AACpC,IAAAP,EAAcO,CAAQ,GACtB,aAAa,QAAQf,IAAae,CAAQ,GAC1CZ,GAAWY,CAAQ;AAAA,EACrB,GAMMC,IAA0B,EAAE,OAAAZ,GAAO,UAAAU,GAAU,aAJ/B,MAAM;AACxB,IAAAA,EAASV,MAAU,UAAU,SAAS,OAAO;AAAA,EAC/C,EAEmD;AAEnD,SACE,gBAAAa,EAACnB,GAAa,UAAb,EAAsB,OAAAkB,GAAe,UAAAT,EAAA,CAAS;AAEnD;AAEO,SAASW,KAA6B;AAC3C,QAAMC,IAAUC,GAAWtB,EAAY;AACvC,MAAI,CAACqB;AACH,UAAM,IAAI,MAAM,4CAA4C;AAE9D,SAAOA;AACT;ACxGA,SAASE,KAAU;AACjB,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MAEf,UAAA;AAAA,QAAA,gBAAAL,EAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI;AAAA,QAC9B,gBAAAA,EAAC,UAAK,IAAG,MAAK,IAAG,KAAI,IAAG,MAAK,IAAG,IAAA,CAAI;AAAA,QACpC,gBAAAA,EAAC,UAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,KAAA,CAAK;AAAA,QACtC,gBAAAA,EAAC,UAAK,IAAG,QAAO,IAAG,QAAO,IAAG,QAAO,IAAG,OAAA,CAAO;AAAA,QAC9C,gBAAAA,EAAC,UAAK,IAAG,SAAQ,IAAG,SAAQ,IAAG,SAAQ,IAAG,QAAA,CAAQ;AAAA,QAClD,gBAAAA,EAAC,UAAK,IAAG,KAAI,IAAG,MAAK,IAAG,KAAI,IAAG,KAAA,CAAK;AAAA,QACpC,gBAAAA,EAAC,UAAK,IAAG,MAAK,IAAG,MAAK,IAAG,MAAK,IAAG,KAAA,CAAK;AAAA,QACtC,gBAAAA,EAAC,UAAK,IAAG,QAAO,IAAG,SAAQ,IAAG,QAAO,IAAG,QAAA,CAAQ;AAAA,QAChD,gBAAAA,EAAC,UAAK,IAAG,SAAQ,IAAG,QAAO,IAAG,SAAQ,IAAG,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGtD;AAEA,SAASM,KAAW;AAClB,SACE,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MAEf,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,kDAAA,CAAkD;AAAA,IAAA;AAAA,EAAA;AAGhE;AAEO,SAASO,KAAc;AAC5B,QAAM,EAAE,OAAApB,GAAO,aAAAqB,EAAA,IAAgBP,GAAA;AAE/B,SACE,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAASG;AAAA,MACT,WAAU;AAAA,MACV,cAAY,aAAarB,MAAU,UAAU,SAAS,OAAO;AAAA,MAC7D,OAAO,kBAAkBA,CAAK;AAAA,MAC9B,MAAK;AAAA,MAEJ,UAAA;AAAA,QAAAA,MAAU,UAAU,gBAAAa,EAACM,IAAA,CAAA,CAAS,sBAAMF,IAAA,EAAQ;AAAA,0BAE5C,SAAA,EAAO,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAmCN;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGR;AC7GA,MAAMK,KAAwB;AAAA;AAAA,EAE1B,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,EAChB;AAAA,EACI,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EAChB;AAAA,EACI,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EAChB;AAAA,EACI,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,EAChB;AAAA,EACI,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EAChB;AAAA,EACI,eAAe;AAAA,IACb,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EAChB;AACA,GACEC,KAAmB;AAAA,EACjB,OAAOD,GAAsB,WAAW;AAAA,EACxC,OAAOA,GAAsB,WAAW;AAAA,EACxC,OAAOA,GAAsB,WAAW;AAAA,EACxC,cAAcA,GAAsB,kBAAkB;AAAA,EACtD,aAAaA,GAAsB,iBAAiB;AAAA,EACpD,UAAUA,GAAsB,cAAc;AAClD,GACEE,KAAoB;AAAA,EAClB,GAAGF;AAAA,EACH,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EAChB;AAAA,EACI,WAAW;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AAAA,EAChB;AACA,GACEG,KAAyB,OAAO,KAAKD,EAAiB,EAAE,QClDpDE,KAAa,CAACC,GAAcC,MAAU;AACxC,QAAMC,IAAM,CAAA;AACZ,aAAWC,KAAOH,EAAc,CAAAG,KAAOF,MAAUC,EAAIC,CAAG,IAAIH,EAAaG,CAAG;AAC5E,aAAWA,KAAOF,EAAO,CAAAG,GAAUF,GAAKF,GAAcC,GAAOE,CAAG;AAChE,SAAOD;AACT,GACAG,KAAsB,CAACL,GAAcM,GAAcL,MAAU;AAC3D,MAAIM,IAAoB;AACxB,MAAI,CAACP,KAAgB,CAACM,EAAc,QAAO,CAACL,GAAOM,CAAiB;AACpE,MAAIP,KAAgB,CAACM,EAAc,QAAO,CAACP,GAAWC,GAAcC,CAAK,GAAGM,CAAiB;AAC7F,QAAML,IAAM,CAAA;AACZ,aAAWC,KAAOH,EAAc,CAAAG,KAAOF,MAAUC,EAAIC,CAAG,IAAIH,EAAaG,CAAG;AAC5E,aAAWA,KAAOG,GAAc;AAC9B,QAAIH,KAAOF,EAAO;AAClB,UAAMO,IAAeF,EAAaH,CAAG;AACrC,IAAAK,MAAiB,WAAWN,EAAIC,CAAG,IAAIK;AAAA,EACzC;AACA,aAAWL,KAAOF,EAAO,CAAAG,GAAUF,GAAKF,GAAcC,GAAOE,CAAG,GAAGG,KAAgBH,KAAOG,MAAiBC,UAAsB,KAAIA,EAAkBJ,CAAG,IAAIF,EAAME,CAAG;AACvK,SAAO,CAACD,GAAKK,CAAiB;AAChC;AACF,SAASH,GAAUF,GAAKF,GAAcC,GAAOE,GAAK;AAChD,MAAIM,IAAMR,EAAME,CAAG;AACnB,MAAIH,KAAgBG,KAAOH,MAAiBG,KAAON,MAAqBM,EAAI,CAAC,MAAM,QAAQM,KAAO,OAAOA,KAAO,UAAU;AACxH,UAAMC,IAAaV,EAAaG,CAAG;AACnC,IAAAO,KAAc,OAAOA,KAAc,aAAaD,IAAMV,GAAWW,GAAYD,CAAG;AAAA,EAClF;AACA,EAAAP,EAAIC,CAAG,IAAIM;AACb;AC5BA,SAASE,GAAkBC,GAAK;AAC9B,MAAIC,IAAI;AACR,aAAWV,KAAOS,GAAK;AACrB,IAAAC,KAAKV;AACL,UAAMW,IAAMF,EAAIT,CAAG;AACnB,QAAIY,IAAO,OAAOD;AAClB,QAAI,CAACA,KAAOC,MAAS,YAAYA,MAAS,WAAY,CAAAF,KAAKE,IAAOD;AAAA,aAAaE,GAAM,IAAIF,CAAG,EAAG,CAAAD,KAAKG,GAAM,IAAIF,CAAG;AAAA,SAAO;AACtH,UAAIG,IAAI,KAAK,OAAM;AACnBD,MAAAA,GAAM,IAAIF,GAAKG,CAAC,GAAGJ,KAAKI;AAAA,IAC1B;AAAA,EACF;AACA,SAAOJ;AACT;AACA,MAAMG,KAAuB,oBAAI,QAAO,GCTlCE,KAAsB,CAACC,GAAeC,IAAY,OAAO;AAC7D;AAEA,QAAMC,IAAqBC,EAAqB,eAC9CC,IAAeD,EAAqB,SACpCE,IAAkBF,EAAqB,YACvCG,IAAYJ,EAAmBF,CAAa,GAC5CO,IAAaD,EAAU,UACvBE,IAAUF,GACVG,IAAgC,oBAAI,IAAG,GACvCC,IAAuBR,EAAmBD,CAAS;AACrD,WAASU,EAAyBC,GAAO;AACvC,QAAIC,IAAgBJ,EAAe,IAAIG,CAAK;AAC5C,WAAOC,MAAkBA,IAAgBX,EAAmBF,CAAa,GAAGS,EAAe,IAAIG,GAAOC,CAAa,IAAIA;AAAA,EACzH;AACA,QAAMC,IAAqB,CAAAF,MAASX,IAAY,GAAGA,CAAS,KAAKW,CAAK,KAAKA,GACzEG,IAAW,CAAC;AAAA,IACV,UAAA1D;AAAA,IACA,OAAO2D;AAAA;AAAA,IAEP,6BAAAC;AAAA,IACA,GAAGC;AAAA,EACT,MAAU;AACJ,UAAMN,IAAQE,EAAmBE,CAAO,GACtCG,IAAOf,EAAa,MAAMa,IAA8BC,IAAStC,GAAWoB,GAAekB,CAAM,GAAG,CAAC1B,GAAkB0B,CAAM,CAAC,CAAC;AACjI,QAAIE,IAAiBb;AACrB,WAAOK,MAAUQ,IAAiBT,EAAyBC,CAAK,EAAE,WAA0B,gBAAA7C,EAAI2C,EAAqB,UAAU;AAAA,MAC7H,OAAOE;AAAA,MACP,UAAyB,gBAAA7C,EAAIqD,GAAgB;AAAA,QAC3C,OAAOD;AAAA,QACP,UAAA9D;AAAA,MACV,CAAS;AAAA,IACT,CAAO;AAAA,EACH,GACAgE,IAAmB,CAACL,IAAU,OAAO;AACnC,UAAMM,IAAuBjB,EAAgBK,CAAoB,GAC/DE,IAAQX,IAAYe,IAAUF,EAAmBE,CAAO,IAAIM,IAAuBN,GACnF/C,IAAU2C,IAAQD,EAAyBC,CAAK,IAAIN;AACtD,WAAOD,EAAgBpC,CAAO;AAAA,EAChC;AACF,SAAOuC,EAAQ,WAAWO,GAAUP,EAAQ,QAAQR,GAAeQ,EAAQ,UAAUF,GAAWE,EAAQ,mBAAmBa,GAAkBb;AAC/I,GC3CMe,KAAmBxB,GAAoB;AAAA,EACzC,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,QAAQ;AACZ,CAAG,GCRGyB,KAAe3E,GAAc,IAAI;ACAvC,SAAS4E,GAAyBC,GAAQC,GAAO;AAC/C,SAAOC,GAAY,CAAAC,MAAmB;AACpC,IAAAH,EAAO,CAAAI,MAAQ;AACb,YAAMX,IAAO,OAAOU,KAAmB,aAAaA,EAAgBC,CAAI,IAAID,GAC1EE,IAASC,GAAuBF,GAAMX,CAAI;AAC5C,aAAO,QAAQ,IAAI,aAAa,iBAAiBQ,KAASI,MAAWD,MAAS,QAAQ,eAAe,0BAA0B,MAAMC,CAAM,GAAG,QAAQ,KAAK,cAAcD,CAAI,GAAG,QAAQ,SAAS,QAAQ,SAAQ,IAAKC;AAAA,IACxN,CAAC;AAAA,EACH,GAAG,CAACL,GAAQC,CAAK,CAAC;AACpB;AACA,SAASK,GAAuBF,GAAMX,GAAM;AAC1C,SAAO,CAACW,KAAQ,CAACX,KAAQc,GAAeH,GAAMX,CAAI,IAAIW,KAAQX,IAAO;AAAA,IACnE,GAAGW;AAAA,IACH,GAAGX;AAAA,EACP;AACA;AACA,SAASc,GAAeH,GAAMX,GAAM;AAClC,aAAWnC,KAAOmC,EAAM,KAAIW,EAAK9C,CAAG,MAAMmC,EAAKnC,CAAG,EAAG,QAAO;AAC5D,SAAO;AACT;AClBK,MAACkD,KAAQ,IACZC,KAAY,OAAO,SAAS,KAC5BC,KAAoB,CAACD,IACrBE,KAAoBF,IAEpBG,KAA4BF,KAAW5E,KAAY+E;AAK3C,QAAQ,IAAI;AACtB,MAAEC,KAAkB,OCXlBC,KAAyB,MAEzBC,KAAwB,QAAQ,IAAI,aAAa,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM/D;ACPJ,IAAIC,IACFC,KAAgC;AAC7B,MAACC,KAA2B,QAAQ,IAAI,aAAa,gBAAgB;AAAA,oCACtCH,EAAqB;AAAA,IACrD,eACFI,KAA6B,MAAMH,OAAS,WAAW,mBAAmB,QAAQ,IAAI,aAAa,iBAAiB,CAAC,WAAW,oCAAoC,CAAC,WAAW,0BAA0B,WAAW,wBAAwB,IAAI,WAAW,MAAM;AAChQ,GAACC,MAAiC,CAAC,WAAW,qCAAqC,WAAW,mCAAmC,IAAI,QAAQ,KAAK,2KAA2K,IAAI,WAAW,wBAAwB;AACtW,GAAG,GAAG,IAAI,WAAW,mBAAmB,OACxCG,KAAa,CAAA/D,MAAO;AAClB,QAAMgE,IAASF,GAA0B;AACzC,MAAI,QAAQ,IAAI,aAAa,iBAAiB,CAACE,EAAQ,OAAM,IAAI,MAAMH,EAAwB;AAC/F,SAAOG,EAAO,SAAShE,CAAG;AAAA,EAE1BgE,EAAOhE,CAAG;AACZ,GACAiE,KAAY,CAAA9B,MAAQ;AAClB,EAAAyB,KAAgC,IAAID,KAAOxB,GAAM,WAAW,kBAAkBA;AAChF,GAMA+B,KAAY,MAAM;AAChB,QAAMF,IAASF,GAA0B;AACzC,MAAI,CAACE,EAAQ,OAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,iTAAiT,MAAM;AAC5X,SAAOA;AACT,GACAG,KAAiB,MAAML,GAA0B;AC9BnD,SAASM,GAAcC,GAAK;AAC1B,SAAOA,EAAI,QAAQ,UAAU,CAAAC,MAAK,IAAIA,EAAE,YAAW,CAAE,EAAE,EAAE,YAAW;AACtE;AACA,MAAMzD,KAAuB,oBAAI,QAAO;AACxC,SAAS0D,GAAoBC,GAAO;AAClC,MAAI,OAAOA,KAAS,SAAU,QAAOA;AACrC,MAAI3D,GAAM,IAAI2D,CAAK,EAAG,QAAO3D,GAAM,IAAI2D,CAAK;AAC5C,QAAMC,IAAM,OAAO,QAAQD,CAAK,EAAE,IAAI,CAAC,CAACE,GAAS5F,CAAK,OAAO4F,IAAUN,GAAcM,CAAO,GAAG,OAAO5F,KAAS,WAAW,IAAI4F,CAAO,KAAK5F,CAAK,OAAO,OAAOA,KAAS,YAAY,kBAAkB,KAAK4F,CAAO,MAAM5F,IAAQ,GAAGA,CAAK,OAAO,IAAI4F,CAAO,KAAK5F,CAAK,KAAK,EAAE,KAAK,OAAO;AACrR,SAAO+B,GAAM,IAAI2D,GAAOC,CAAG,GAAGA;AAChC;ACTA,IAAIE;AAAA;AAAA,EAEJ,QAAQ,IAAI,aAAa,gBAAgB,IAAI,MAAM,CAAA,GAAI;AAAA,IACrD,IAAIC,GAAQ5E,GAAK;AACf,UAAI,OAAOA,KAAO,YAAYA,EAAI,CAAC,MAAM;AAAA,MAEzCA,EAAI,CAAC,MAAM,IAAK,OAAM,IAAI,MAAM,yCAAyCA,CAAG,EAAE;AAC9E,aAAO,QAAQ,IAAI4E,GAAQ5E,CAAG;AAAA,IAChC;AAAA,EACF,CAAC,IAAI,CAAA;AAAA;AACL,MAAM6E,KAAgB,CAAA1C,MAAQ;AAC1B,EAAAwC,KAAaxC;AACf,GACA2C,KAAmB,CAAA,GACnBC,KAAW,MAAMJ,IACjBK,KAA2B,oBAAI,IAAG;ACbpC,SAASC,GAAaZ,GAAK;AACzB,SAAOA,EAAI,QAAQ,aAAa,CAACa,GAAGC,MAAMA,EAAE,aAAa;AAC3D;AACA,SAASC,GAAcf,GAAK;AAC1B,SAAOA,IAAMY,GAAaZ,CAAG,KAAK5E,KAAmB;AACvD;AACA,SAAS4F,GAAkBC,GAAW;AACpC,QAAMhB,IAAIS,GAAQ,GAChB,CAACG,GAAGK,GAAMC,GAAGC,GAAGN,CAAC,IAAIG,EAAU,MAAM,GAAG,GACxCI,IAAKF,KAAKC,IAAI,GAAGD,CAAC,IAAIC,CAAC,KAAK,IAC5BE,IAAQD,KAAMA,KAAMpB,KAAKoB,KAAMF,KAAKA,KAAKlB,KAAKkB,KAAK;AACrD,MAAII,IAAkBD,IAAQA,MAAUD,IAAKP,IAAIM,IAAI,GAAGA,CAAC,GAAGN,IAAI,IAAIA,CAAC,KAAK,EAAE,KAAK,SAASK,IAAI,GAAGA,CAAC,GAAGC,IAAI,IAAIA,CAAC,KAAK,EAAE,GAAGN,IAAI,IAAIA,CAAC,KAAK,EAAE,KAAK;AAC7I,SAAOS,KAAmB,CAACR,GAAcQ,CAAe,MAAM,QAAQ,IAAI,aAAa,iBAAiB,QAAQ,KAAK,4BAA4BA,CAAe,SAASN,CAAS,0EAA0E,GAAGM,IAAkB,SAAS;AAAA,IACxR,MAAAL;AAAA,IACA,QAAQK;AAAA,IACR,OAAAD;AAAA,EACJ;AACA;AChBA,MAAME,KAAY;AAClB,IAAIC,KAAW,MACbC,KAAY;AACd,SAASC,KAAuB;AAC9B,EAAAF,KAAW,MAAMC,KAAY;AAC/B;AACA,MAAME,KAA4B;AAAA,EAC9B,OAAO;AAAA,EACP,cAAc;AAAA,EACd,aAAa;AACjB,GACEC,KAAgB,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAChB,GAAGiB,MAAM,IAAI,MAAMA,CAAC,EAAE,KAAK,OAAO,EAAE,KAAK,EAAE,CAAC;AACzF,SAASC,GAAwBb,GAAMc,GAAYC,GAASC,GAAYC,IAAU,IAAIC,IAA6B,IAAI;AACrH,QAAMC,IAAgBL,EAAW,YAAY,OAAO,IAAI,GACtDM,IAAcN,EAAW,YAAY,GAAG,GACxCO,IAAWP,EAAW,MAAMK,GAAeC,CAAW,GACtDE,IAAkB9C,GAAW,mBAAmB,MAAM,MAAMyC,IAAU,KAAK,KAC3EM,IAAqBP,EAAW,SAASN,GAA0BM,EAAW,MAAM,KAAKA,EAAW,SAAS,QAC7GQ,IAAiBD,IAAqB,IAAIA,CAAkB,KAAK,IACjEE,IAAmB,QAAQP,CAA0B,GAAGI,CAAe,IACvEI,IAAgB,MAAMX,IAAU,WAAW,EAAE,GAAGf,CAAI,GAAGwB,CAAc;AACvE,SAAO,CAACH,GAAU,GAAGI,CAAgB,GAAGC,CAAa,IAAIL,EAAS,WAAW,SAAS,EAAE,CAAC,EAAE;AAC7F;AACA,MAAMM,KAAmB,CAACC,GAAaC,GAAYC,GAAczG,GAAM0G,GAAQC,MAAa;AAC1F,QAAM,CAACC,GAAQ,EAAGC,GAAYC,GAAUC,CAAK,IAAIR,GAC/CX,IAAU5F,MAAS,SACnBgH,IAAahH,MAAS,YACtB0F,IAAU1F,MAAS,SACnBiH,IAAmBrB,KAAWoB,KAActB,GAC5CwB,IAAwB,IACxBC,IAAWN,EAAW,MAAM,GAAGA,EAAW,QAAQ,GAAG,IAAI,CAAC,GAC1DO,IAAK,GAAGD,CAAQ,GAAGlC,EAAS,GAAGuB,EAAW,QAAQ,KAAK,EAAE,CAAC,GAAGU,CAAM,GAAGjC,EAAS;AACjF,MAAIoC,IAAY,IACdC,IAAgB,IAChBC,GACAC,GACAC,IAAiBZ,EAAW,QAAQM,GAAUC,CAAE,GAChD3B,IAAasB,EAAM,IAAI,CAAAW,MAAQA,EAAK,WAAWb,GAAYY,CAAc,CAAC,EAAE,KAAK,GAAG,GACpFE,IAAU;AACZ,MAAIV,GAAkB;AACpB,QAAIW,KAAejB,KAAY,MAAMjB,KAAWsB,IAAa,IAAI;AACjE,QAAIpB,KAAWF,GAAS;AACtB,YAAMC,IAAalB,GAAkBmB,IAAU,WAAWY,IAAaA,CAAU,GAC/E;AAAA,QACE,MAAA7B;AAAA,QACA,OAAAI;AAAA,QACA,QAAA8C;AAAA,MACV,IAAYlC;AACN,MAAA4B,IAAgBxC,GAAOW,MAAY8B,IAAgB7C,KAAQkD,MAAW,WAAWf,MAAa,cAAcc,KAAe,IAAIC,MAAW,YAAYF,IAAU;AAChK,YAAM,CAAC3B,GAAU8B,CAAY,IAAItC,GAAwBb,GAAMc,GAAYC,GAASC,GAAYC,GAASN,GAAcsC,CAAW,CAAC;AACnI,MAAAP,IAAY5B,EAAW,QAAQO,GAAU8B,CAAY;AAAA,IACvD,MAAO,CAAAT,IAAY,GAAG/B,GAAcsC,CAAW,CAAC,GAAGnC,CAAU;AAAA,EAC/D;AACA,MAAI,CAACwB,KAAoBM,GAAe;AACtC,QAAI,CAACpC,IAAW;AACd,YAAMf,IAAY,OAAO,KAAKqC,CAAY;AAC1C,MAAAtB,KAAY,OAAO,YAAYf,EAAU,IAAI,CAAAhF,MAAO,CAACA,GAAKuE,GAAoB8C,EAAarH,CAAG,CAAC,CAAC,CAAC,CAAC,GAAG8F,KAAW,OAAO,YAAYd,EAAU,IAAI,CAACtE,GAAGiI,OAAU,CAACjI,GAAG,IAAI,MAAMiI,KAAQ,CAAC,EAAE,KAAK,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAAA,IAClN;AACA,UAAMC,IAAWT,KAAiBf,GAChCH,IAAgBlB,GAAU6C,CAAQ,GAClCnK,IAAa,GAAkCwI,CAAa,IAC5DR,IAA6B0B,IAAgBD,IAAgBpC,GAAS8C,CAAQ,GAC9EC,IAASV,IAAgB,cAAcC,CAAa,KAAK;AAC3D,IAAAD,MAAkB9B,IAAa4B,IAAY5B,EAAW,SAASwC,CAAM,IAAIZ,IAAY5B,EAAW,QAAQ,KAAK,QAAQ5H,CAAU,IAAI,EAAE,QAAQ,kBAAkB,KAAK,IAAIwJ,IAAY,GAAGY,CAAM,IAAIpK,CAAU,IAAIgI,CAA0B,GAAGJ,CAAU,KAAK8B,MAAkBF,IAAY,uBAAuBlE,GAAW,kBAAkB,KAAK,aAAa,MAAMkE,CAAS;AAAA,EAChX;AACA,SAAOM,MAAYN,IAAY,wBAAwBA,CAAS,MAAM,CAACT,GAAU,QAAQa,GAAgB,QAAQ,CAACJ,CAAS,CAAC;AAC9H,GCrEMa,KAAa,OAAO,SAAS,OAAO,OAAO,cAAcC;AAC/D,SAASA,GAAmB7D,GAAG;AAC7B,SAAO;AAAA,IACL,OAAO,CAACM,GAAGC,MAAM;AAAA,IACjB,cAAc;AAAA,IAAC;AAAA,IACf,iBAAiB;AAAA,IAAC;AAAA,IAClB,SAAS;AAAA,EACb;AACA;ACAA,MAAMuD,KAAgB,6BACpBC,KAAa,CAAAjJ,MAAOA,EAAI,CAAC,MAAM,MAAM,KAAK,CAAC,EAAEgF,GAAU,IAAIhF,CAAG,KAAKgJ,GAAc,KAAKhJ,CAAG,IACzFkJ,KAAc,CAAAlJ,MAAO;AACnB,MAAIA,EAAI,CAAC,MAAM,IAAK,QAAO;AAC3B,MAAIgF,GAAU,IAAIhF,CAAG,EAAG,QAAO;AAC/B,QAAMmJ,IAAQnJ,EAAI,MAAMgJ,EAAa;AACrC,SAAOG,IAAQA,EAAM,CAAC,IAAI;AAC5B;AACF,IAAIC,IAAWC;AACf,MAAMC,KAAwB,CAAAtJ,MAAO;AACjC,MAAI,QAAQ,IAAI,aAAa,iBAAiBA,EAAI,CAAC,MAAM,IAAK,OAAM,IAAI,MAAM,eAAe;AAC7F,SAAOqJ,GAAiB,QAAQrJ,CAAG,IAAI;AACzC,GACAuJ,KAAyB,oBAAI,IAAG;AAClC,IAAIC,KAAe;AACnB,MAAMC,KAAiB,CAAAzF,MAAU;AAC/B,QAAM;AAAA,IACF,OAAA2B;AAAA,EACN,IAAQ3B,GACJ0F,IAA0B3F,GAAW,yBAAyB;AAChE,MAAI4B,GAAO;AACT,IAAA6D,MAAgBxD,GAAoB;AACpC,eAAWhG,KAAO2F,EAAO,CAAAZ,GAAQ,EAAG/E,CAAG,KAAI0J,KAAA,gBAAAA,EAA0B1J,OAAQ,IAAIgF,GAAU,IAAI,IAAIhF,CAAG,EAAE;AACxG,WAAO,OAAO8E,IAAkBa,CAAK,GAAGyD,KAAY;AAAA,MAClD,GAAGrE,GAAQ;AAAA,IACjB,GAAOsE,KAAmB,OAAO,KAAK1D,CAAK,GAAGgE,GAAmB;AAAA,EAC/D;AACF;AACA,SAASC,KAAW;AAClB,EAAAL,GAAQ,QAAQ,CAAAM,MAAMA,EAAE,CAAE,GAAGN,GAAQ,MAAK;AAC5C;AACA,IAAIO,KAAe;AACnB,SAASH,KAAsB;AAC7B,MAAI,CAAWvG,MAAa,CAAC,QAAQ,IAAI,aAAa0G,OAAiBN,IAAc;AACnF,IAAAM,KAAeN,IAAcI,GAAQ;AACrC,eAAW5J,KAAO8E,IAAkB;AAClC,UAAI/B,IAAS,WAAY;AACvB,cAAMZ,IAAO,CAAC,CAAC4H,EAAQ,EAAG;AAC1B,QAAA5H,MAAS4C,GAAQ,EAAG/E,CAAG,MAAM6E,GAAc;AAAA,UACzC,GAAGE,GAAQ;AAAA,UACX,CAAC/E,CAAG,GAAGmC;AAAA,QACjB,CAAS,GAAG6H,GAAoB;AAAA,MAC1B;AACA,YAAM3F,IAAME,GAAoBO,GAAiB9E,CAAG,CAAC,GACnD+J,IAAW,MAAMjB,GAAWzE,CAAG,GAC/B8E,IAAQY,EAAQ;AAClB,UAAI,CAACZ,EAAO,OAAM,IAAI,MAAM,aAAuB;AACnD,MAAAA,EAAM,YAAYpG,CAAM,GAAGwG,GAAQ,IAAI,MAAM;AAC3C,QAAAJ,EAAM,eAAepG,CAAM;AAAA,MAC7B,CAAC,GAAGA,EAAM;AAAA,IACZ;AAAA,EACF;AACF;AACA,MAAMkH,KAA2B,oBAAI,IAAG;AACxC,SAASD,KAAuB;AAC9B,EAAAC,GAAU,QAAQ,CAAAJ,MAAMA,EAAG9E,GAAQ,CAAE,CAAC;AACxC;AACA,MAAMmF,KAAwB,oBAAI,QAAO;AACzC,SAASC,GAAqBC,GAAKC,GAASC,GAAM;AAChD,QAAMC,IAAML,GAAO,IAAIE,CAAG;AAC1B,GAAC,CAACG,KAAOA,EAAI,YAAYF,KAAWC,MAASJ,GAAO,IAAIE,GAAK;AAAA,IAC3D,GAAGG;AAAA,IACH,SAAAF;AAAA,IACA,MAAAC;AAAA,EACJ,CAAG;AACH;AACA,SAASE,GAAUC,GAAY;AAC7B,SAAOR,GAAU,IAAIQ,CAAU,GAAG,MAAM;AACtC,IAAAR,GAAU,OAAOQ,CAAU;AAAA,EAC7B;AACF;AACA,SAASC,GAASC,GAAkBhI,GAAO;AACzC;AAEA,QAAMiI,IAAiBD,IAAmBT,GAAO,IAAIS,CAAgB,IAAI,MACvEE,IAAcC,GAAO,IAAI;AAC3B,EAAAD,EAAY,YAAYA,EAAY,UAAU;AAAA,IAC5C,MAAqB,oBAAI,IAAG;AAAA,IAC5B,WAAW9F,GAAQ;AAAA,EACvB,IAAM8F,EAAY,QAAQ,iBAAiBA,EAAY,QAAQ,YAAYA,EAAY,QAAQ,cAAcA,EAAY,QAAQ,eAAe;AAC9I,QAAM;AAAA,IACJ,MAAAP;AAAA,EACJ,IAAMO,EAAY;AAChB,EAAAP,EAAK,QAAQA,EAAK,MAAK;AACvB,QAAMS,IAAQC,GAAqBR,IAAW,MAAM;AAClD,UAAMS,KAAUL,KAAA,gBAAAA,EAAgB,SAAQN,GACtC;AAAA,MACE,WAAAY;AAAA,MACA,cAAAC;AAAA,IACR,IAAUN,EAAY;AAClB,QAAI,CAACI,EAAQ,KAAM,QAAOC;AAC1B,UAAME,IAAKrG,GAAQ;AACnB,eAAW/E,KAAOiL,EAAS,KAAIG,EAAGpL,CAAG,OAAOmL,KAAgBD,GAAWlL,CAAG,EAAG,QAAO,QAAQ,IAAI,aAAa,iBAAiB2C,KAAS,QAAQ,KAAK,iBAA2B3C,GAAKkL,EAAUlL,CAAG,GAAG,MAAMoL,EAAGpL,CAAG,CAAC,GAAG2K,KAAA,QAAAA,EAAkB,aAAaA,EAAiB,UAAUS,CAAE,GAAGP,EAAY,QAAQ,eAAeO,GAAIF,MAAcL,EAAY,QAAQ,YAAYO,GAAIA;AAC5W,WAAOF;AAAA,EACT,GAAGG,EAAiB;AACpB,SAAO,IAAI,MAAMN,GAAO;AAAA,IACtB,IAAI7F,GAAGlF,GAAK;AACV,aAAO,CAACsL,MAAqB,OAAOtL,KAAO,YAAYsK,EAAK,IAAItK,CAAG,GAAG,QAAQ,IAAI+K,GAAO/K,CAAG;AAAA,IAC9F;AAAA,EACJ,CAAG;AACH;AACA,MAAMqL,KAAoB,MAAMjC;AAChC,IAAIkC,KAAoB;AACxB,SAASC,GAAmBjL,GAAK;AAC/B,EAAAgL,KAAoBhL;AACtB;AACA,SAASkL,GAAcC,GAAaC,GAAQ;AAC1C,EAAAJ,KAAoB;AACpB,MAAI7G;AACJ,MAAI;AACF,IAAAA,IAAM,OAAO,YAAY,CAAC,GAAGgH,CAAW,EAAE,IAAI,CAAA7C,MAAY,CAACA,GAAU+C,GAAc/C,GAAU8C,CAAM,CAAC,CAAC,CAAC;AAAA,EACxG,UAAC;AACC,IAAAJ,KAAoB;AAAA,EACtB;AACA,SAAO7G;AACT;AACK,MAACmH,KAAoC,CAAChD,GAAU5I,GAAK6L,GAAYC,MAAgB;AAClF,QAAMC,IAAaD,IAAcxC,GAAsBV,CAAQ,IAAIjJ,IACjEqM,IAAWH,EAAW;AACxB,SAAO,CAACG,EAAShM,CAAG,KAAK+L,IAAaC,EAAShM,CAAG,IAAI+L,IAAa;AACrE;AAKF,SAASJ,GAAc3L,GAAKiM,GAAY;AACtC,QAAM5E,IAAevC,GAAiB9E,CAAG;AACzC,SAAO,OAAO,KAAKqH,CAAY,EAAE,MAAM,CAAA7C,MAAS;AAC9C,UAAM0H,IAAc,CAAC7E,EAAa7C,CAAK,GACrC2H,IAAQ3H,EAAM,WAAW,KAAK,GAC9B4H,IAAU5H,EAAM,SAAS,OAAO,GAChC6H,IAAWJ,EAAWG,IAAU,UAAU,QAAQ;AACpD,WAAOD,IAAQE,IAAWH,IAAcG,IAAWH;AAAA,EACrD,CAAC;AACH;AC9IA,MAAMrL,KAAuB,oBAAI,IAAG;AACpC,IAAIyL,KAAY;AAChB,MAAMC,KAAa,CAACC,GAAOC,IAAU,OAAO;AACxC,MAAI5L,GAAM,IAAI2L,CAAK,EAAG,QAAO3L,GAAM,IAAI2L,CAAK;AAC5C,MAAInI,IAAMmI;AACV,EAAAnI,EAAI,CAAC,MAAM,OAAOA,EAAI,WAAW,MAAM,MAAMA,IAAMA,EAAI,MAAM,GAAGA,EAAI,SAAS,CAAC;AAC9E,MAAIqI,IAAO,GACTC,IAAS,IACTC,IAAQ;AACV,QAAMC,IAAMxI,EAAI;AAChB,WAAS8B,IAAI,GAAGA,IAAI0G,GAAK1G,KAAK;AAC5B,QAAIsG,MAAY,YAAYG,KAASH,GAAS;AAC5C,YAAMK,IAAOzI,EAAI,WAAW8B,CAAC;AAC7B,UAAI2G,MAAS,IAAI;AACf,QAAAH,KAAU;AACV;AAAA,MACF;AACA,UAAII,GAAmBD,CAAI,GAAG;AAC5B,QAAAF,KAASD,KAAUtI,EAAI8B,CAAC;AACxB;AAAA,MACF;AAAA,IACF;AACA,IAAAuG,IAAOM,GAASN,GAAMrI,EAAI8B,CAAC,CAAC;AAAA,EAC9B;AACA,QAAM1B,IAAMkI,KAAUD,IAAO,KAAK,IAAIA,CAAI,IAAI;AAC9C,SAAOJ,KAAY,QAAQzL,GAAM,MAAK,GAAIyL,KAAY,IAAIzL,GAAM,IAAI2L,GAAO/H,CAAG,GAAG6H,MAAa7H;AAChG,GACAuI,KAAW,CAACN,GAAMvH,MAAM,KAAK,KAAK,IAAIuH,CAAI,IAAIvH,EAAE,WAAW,CAAC,IAAI;AAClE,SAAS4H,GAAmBE,GAAM;AAChC;AAAA;AAAA,IAEEA,KAAQ,MAAMA,KAAQ;AAAA,IAEtBA,KAAQ,MAAMA,KAAQ;AAAA,IAEtBA,MAAS;AAAA,IAETA,MAAS;AAAA,IAETA,KAAQ,MAAMA,KAAQ;AAAA;AAE1B;ACzCA,SAASC,GAAMpO,GAAO,CAACqO,GAAKC,CAAG,GAAG;AAChC,SAAO,KAAK,IAAIA,GAAK,KAAK,IAAID,GAAKrO,CAAK,CAAC;AAC3C;ACFA,SAASuO,GAAqBC,GAAInL,GAAM;AAAA,EACtC,uBAAAoL,IAAwB;AAC1B,IAAI,IAAI;AACN,SAAO,CAACD,KAAM,CAACnL,IAAOA,KAAQmL,KAAM,SAAS,CAAAE,MAAS;AACpD,QAAIF,KAAA,QAAAA,EAAKE,IAAQ,CAACA,KAAS,EAAED,KAAyB,OAAOC,KAAS,YAAY,sBAAsBA;AAAA,IAExG,sBAAsBA,KAAS,CAACA,EAAM,iBAAkB,QAAOrL,KAAA,gBAAAA,EAAOqL;AAAA,EACxE;AACF;ACRA,MAAMC,KAAsB,GAC1BC,KAAmB,GACnBC,KAAwB,GACxBC,KAAoB,GACpBC,KAAmB,GCHfC,KAAgB,CAAC,OAAO,WAAW,KAAK;AAC9C,SAASC,GAA2BC,GAAY;AAC9C,MAAI,CAACA,EAAY,QAAO;AACxB,QAAMC,IAAyBC,GAAqBF,CAAU;AAC9D,aAAWG,KAAYL,GAAe,KAAIK,MAAa3K,MAAmByK,EAAuB,IAAIE,CAAQ,EAAG,QAAOA;AACvH,SAAO;AACT;AACA,SAASD,GAAqBF,GAAY;AACxC,QAAMI,IAAYJ,MAAe,KAAKF,KAAgBE,MAAe,KAAK,KAAK,MAAM,QAAQA,CAAU,IAAIA,IAAa,CAACA,CAAU,GACjIK,IAAM,IAAI,IAAID,CAAS;AACzB,SAAOC,EAAI,IAAI,QAAQ,MAAMA,EAAI,IAAI,SAAS,GAAGA,EAAI,IAAI,KAAK,GAAGA,EAAI,OAAO,QAAQ,IAAIA;AAC1F;ACZA,MAAMC,KAA4B;AAAA,EAC9B,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,eAAe;AAAA,EACf,SAAS;AAAA,EACT,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,eAAe;AAAA,EACf,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,WAAW;AAAA;AAAA,EAEX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,YAAY;AAChB,GACEC,KAA4B;AAAA,EAC1B,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAAA,EACd,iBAAiB;AACrB,GACEC,KAAwB;AAAA,EACtB,GAAGF;AAAA,EACH,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,cAAc;AAAA,EACd,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,YAAY;AAChB,GACEG,KAAwB;AAAA,EACtB,GAAGF;AAAA,EACH,wBAAwB;AAAA;AAAA,EAExB,iBAAiB;AACrB,GCxEMG,KAAwB;AAAA;AAAA,EAE1B,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA;AAAA,EAEjB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AACnB,GACEC,KAAa;AAAA,EACX,OAAO;AAAA,EACP,qBAAqB;AAAA,EACrB,iBAAiB;AACrB,GACEC,KAAkB;AAAA,EAChB,QAAQ;AAAA,IACN,cAAc;AAAA,IACd,qBAAqB;AAAA,IACrB,sBAAsB;AAAA,IACtB,wBAAwB;AAAA,IACxB,yBAAyB;AAAA;AAAA,IAEzB,wBAAwB;AAAA,IACxB,sBAAsB;AAAA,IACtB,sBAAsB;AAAA,IACtB,oBAAoB;AAAA,EAC1B;AAAA,EACI,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,IACX,UAAU;AAAA,IACV,WAAW;AAAA,IACX,WAAW;AAAA,IACX,cAAc;AAAA,IACd,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,EACrB;AAAA,EACI,QAAQ;AAAA,IACN,QAAQ;AAAA,EACd;AAAA,EACI,OAAO;AAAA,IACL,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,uBAAuB;AAAA,IACvB,qBAAqB;AAAA,IACrB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,wBAAwB;AAAA,IACxB,sBAAsB;AAAA,IACtB,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,aAAa;AAAA,IACb,GAAGD;AAAA;AAAA,IAEH,cAAc;AAAA,IACd,YAAY;AAAA,EAClB;AACA,GACEE,KAAyB;AAAA,EACvB,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,SAAS;AAAA,EACT,eAAe;AAAA,EACf,UAAU;AAAA,EACV,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,UAAU;AAAA,EACV,UAAU;AACd,GACEC,KAAyB;AAAA,EACvB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,aAAa;AAAA,EACb,eAAe;AACnB,GACEC,KAA6B;AAAA,EAC3B,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,YAAY;AAChB,GACEC,KAA6B;AAAA,EAC3B,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,qBAAqB;AAAA,EACrB,mBAAmB;AACvB,GACEC,KAA0B;AAAA,EACxB,GAAGJ;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGV;AAAA,EACH,GAAGC;AACP,GACEW,KAAqB;AAAA,EACnB,GAAGF;AAAA,EACH,yBAAyB;AAAA,EACzB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,eAAe;AACnB,GACEG,KAAsB;AAAA,EACpB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,OAAO;AAAA,EACP,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACb,GACEC,KAAiB;AAAA,EACf,GAAGP;AAAA,EACH,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,WAAW;AAAA,EACX,KAAK;AAAA,EACL,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA,EACb,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,eAAe;AAAA,EACf,eAAe;AAAA,EACf,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,KAAK;AAAA,EACL,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,GAAGD,GAAgB;AAAA,EACnB,GAAGA,GAAgB;AAAA,EACnB,GAAGA,GAAgB;AAAA,EACnB,GAAGO;AAAA,EACH,GAAGD;AAAA,EAIH,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA;AAAA,EAER,iBAAiB;AAAA;AAAA,EAEjB,8BAA8B;AAAA;AAAA,EAE9B,SAAS;AAAA,EACT,cAAc;AAAA,EACd,eAAe;AAAA,EACf,cAAc;AAAA;AAAA,EAEd,GAAGV;AACP,GACEa,KAAiB;AAAA,EACf,GAAGP;AAAA,EACH,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,YAAY;AAChB,GACEQ,KAAqB;AAAA,EACnB,GAAGD;AAAA,EACH,GAAGN;AAAA,EACH,GAAGJ;AAAA,EACH,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,eAAe;AAAA;AAAA,EAEf,GAAGF;AACP,GACEc,KAAiB;AAAA,EACf,GAAGH;AAAA,EACH,GAAGE;AACP,GACEE,KAAgBD,IAChBE,KAAkB;AAAA,EAChB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,mBAAmB;AACvB,GACEC,KAAcN,ICtTVO,KAA2B,uBAAM,GACrCC,KAAuB,CAACC,GAAWC,OAAiB,OAAO,OAAOD,GAAWC,CAAW,GAAGD,EAAUF,EAAS,IAAI,IAAIE;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACExH,SAASE,GAAyBxK,GAAM;AACtC,SAAO,SAAS,QAAQ,IAAI,+BAA+B,EAAE,GAAGA,CAAI;AACtE;AACA,MAAMyK,KAAiB,CAAClQ,GAAOmQ,IAAW,OAAO;AAC/C,MAAI,CAACA,KAAYC,GAAWpQ,CAAK,EAAG,QAAOA;AAC3C,QAAM;AAAA,IACJ,KAAAE;AAAA,IACA,MAAAuF;AAAA,IACA,KAAAjF;AAAA,EACJ,IAAMR;AACJ,SAAO;AAAA,IACL,OAAO;AAAA,IACP,KAAAE;AAAA,IACA,MAAMiQ,IAAW1K,IAAOgH,GAAWhH,GAAM,EAAE;AAAA,IAC3C,KAAAjF;AAAA,IACA,UAAkB2P,IAAWF,GAAyBxK,CAAI,IAAI4K,GAAkB5K,CAAI;AAAA,EACxF;AACA;AACA,SAAS6K,GAAiBC,GAAOC,IAAW,IAAI;AAC9C,SAAOJ,GAAWG,CAAK,IAAI,CAACC,KAAYpN,MAASmN,EAAM,WAAWA,EAAM,WAAW,GAAGA,EAAM,GAAG,KAAK,GAAGA,KAAS,EAAE;AACpH;AACA,SAASH,GAAWpP,GAAG;AACrB,SAAOA,KAAK,OAAOA,KAAK,YAAY,WAAWA;AACjD;AACA,SAASyP,GAAYC,GAAgBC,IAAQ,QAAQ;;AACnD,MAAID,KAAA,QAAAA,EAAgB,QAAS,QAAOA;AACpC,MAAIE,GAAuB,EAAE,GAAGR,GAAWM,CAAc,EAAG,QAAOJ,GAAiBI,CAAc;AAClG,QAAMG,IAASzM,GAAS,EAAG;AAC3B,SAAOkM,KAAiBQ,IAAAD,EAAOF,CAAK,MAAZ,gBAAAG,EAAgBJ,OAAmBA,CAAc;AAC3E;AACA,IAAIK,KAAW;AACf,MAAMH,KAAyB,CAAApQ,MAAOuQ,KAAWvQ,GAC/CwQ,KAAsB,MAAMD;AAC9B,SAASE,GAAiBjQ,GAAG2P,GAAO;AAClC,SAAIP,GAAWpP,CAAC,KAAU4P,GAAuB,EAAE,GAAG5P,EAAE,OAKjDA;AACT;AAIA,SAASkQ,GAAoBlQ,GAAG;AAC9B,SAAOoP,GAAWpP,CAAC,IAAIA,EAAE,WAAWA;AACtC;AACA,MAAMqP,KAAoB,CAACc,GAAUC,IAAa,OAAO;AACvD,MAAI,QAAQ,IAAI,aAAa,kBAAkB,CAACD,KAAY,OAAOA,KAAY,UAAW,OAAM,IAAI,MAAM,2CAA2CA,CAAQ,EAAE;AAC/J,QAAM1L,IAAOgH,GAAW0E,GAAU,EAAE;AACpC,SAAOC,IAAanB,GAAyBxK,CAAI,IAAIA;AACvD,GCjDM1E,KAAuB,oBAAI,IAAG;AACpC,IAAIoK,IAASkG,IAAeC,IAAUC;AACtC,MAAMC,KAAc,CAAA;AACpB,SAASC,GAAgBC,GAAQC,GAAQC,GAAOC,GAAa;AAC3D,MAAI,EAACF,KAAA,QAAAA,EAAQ,OAAO,QAAOH;AAC3B,MAAIrG,KAAUyG,GAAOP,KAAgBQ,GAAaP,KAAWI,GAAQH,KAAWI,GAAQ5Q,GAAM,IAAIwQ,GAAS,KAAK,EAAG,QAAOxQ,GAAM,IAAIwQ,GAAS,KAAK;AACnI,EAAAnN,GAAS;AACxB,WAAS0N,EAAM5R,GAAK6R,IAAkB,IAAI;AACxC,IAAA5G,OAAYA,GAAQ,YAAYA,GAAQ,UAAyB,oBAAI,IAAG,IAAKA,GAAQ,QAAQ,IAAIjL,CAAG,GAAG6R,KAAmBV,OAAkBA,GAAc,YAAYA,GAAc,UAAyB,oBAAI,IAAG,IAAKA,GAAc,QAAQ,IAAInR,CAAG,IAAI,QAAQ,IAAI,aAAa,iBAAiBoR,GAAS,SAAS,QAAQ,KAAK,gCAAuCpR,CAAG,oBAAoB6R,CAAe,EAAE;AAAA,EACpZ;AACA,QAAMC,IAAU,OAAO,YAAY,OAAO,QAAQL,EAAO,KAAK,EAAE,QAAQ,CAAC,CAACzR,GAAKlB,CAAK,MAAM;AACxF,UAAMiT,IAAW;AAAA,MACf,GAAGjT;AAAA,MACH,IAAI,MAAM;AACR,eAAO,WAAW,wBAAwB8S,EAAM5R,GAAK,EAAE,GAAGlB,EAAM;AAAA,MAClE;AAAA,MACA,IAAIqP,GAAU;AACZ,YAAI,CAACkD,GAAU;AACf,cAAMW,IAASzB,GAAYzR,CAAK,GAC9B;AAAA,UACE,MAAAyG;AAAA,UACA,QAAA0M;AAAA,QACZ,IAAcZ;AACN,eAAOW;AAAA,MACT;AAAA,IACN;AACI,WAAO,CAAC,CAAChS,GAAK+R,CAAQ,GAAG,CAAC,IAAI/R,CAAG,IAAI+R,CAAQ,CAAC;AAAA,EAChD,CAAC,CAAC;AACF,SAAOlR,GAAM,IAAI4Q,EAAO,OAAOK,CAAO,GAAGA;AAC3C;AC7BA,MAAMI,KAAoBrU,GAAc,EAAE,GACxCsU,KAA8B,oBAAI,IAAG,GACrCC,KAAoB,CAAA,GACpBC,KAAiC,oBAAI,QAAO,GAC5CC,KAA0B,oBAAI,QAAO,GACrCC,KAA+B,oBAAI,IAAG,GACtCC,KAAwB,oBAAI,IAAG,GAC/BC,KAA6B,oBAAI,IAAG,GAKpCC,KAAgB,CAAA1K,MAAMwK,GAAO,IAAIxK,CAAE;AACrC,IAAI2K,KAAe;AACnB,MAAMC,KAAgC,oBAAI,IAAG;AAC1C,IAACC,KAAoB,IACtBC,KAAS;AAGX,MAAMC,KAAgB,CAACjT,GAAOkT,IAAS,IAAI1I,GAAM2I,MAAe;AAC5D;AAEA,QAAM;AAAA,IACF,SAAAC;AAAA,EACR,IAAUpT,GACJqT,IAAWjU,GAAWgT,EAAiB;AACzC,MAAI,CAACiB,KAAY,CAACH,EAAQ,OAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,gBAAgB,GAAGtP,EAAqB;AAAA;AAAA,kBAE7F5D,EAAM,OAAO,KAAKA,EAAM,IAAI,MAAM,EAAE,GAAGA,EAAM,gBAAgB,gBAAgBA,EAAM,aAAa,MAAM,EAAE,sDAAsDqT,CAAQ,OAAOzP,EAAqB;AAChN,MAAIwP,EAAS,QAAOV,GAAO,IAAIW,CAAQ,KAAK;AAAA,IAC1C,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,OAAOjP,GAAS,EAAG,OAAO;AAAA;AAAA,EAEhC;AACI,QAAM8D,IAAKoL,GAAK,GACd5I,IAAY5H,GAAY,CAAAiH,OAAOuI,GAAkBe,CAAQ,IAAIf,GAAkBe,CAAQ,KAAoB,oBAAI,IAAG,GAAIf,GAAkBe,CAAQ,EAAE,IAAInL,CAAE,GAAGmK,GAAa,IAAInK,GAAI,MAAM;AACpL,IAAAuK,GAAc,IAAIvK,GAA4B,EAAE,GAAG6B,EAAE;AAAA,EACvD,CAAC,GAAG,MAAM;AACR,IAAAsI,GAAa,OAAOnK,CAAE,GAAGoK,GAAkBe,CAAQ,EAAE,OAAOnL,CAAE,GAAGyK,GAAY,OAAOzK,CAAE,GAAGwK,GAAO,OAAOxK,CAAE,GAAGuK,GAAc,OAAOvK,CAAE;AAAA,EACrI,IAAI,CAACA,GAAImL,CAAQ,CAAC,GAClBE,IAAWC,GAAYxT,CAAK,GAC5ByT,IAAc,MAAM;;AAClB,QAAIC,IAAQf,GAAY,IAAIzK,CAAE;AAC9B,UAAMyL,IAAcjB,GAAO,IAAIW,CAAQ;AACvC,QAAIK,KAAS,CAACjB,GAAc,IAAIvK,CAAE,KAAKyL,KAAeD,EAAM,gBAAgBC,EAAY,QAAQD,EAAM,cAAcH,EAAU,QAAOG;AACrI,UAAME,IAAqB,IACzBC,MAAW/C,IAAAtG,KAAA,gBAAAA,EAAM,YAAN,gBAAAsG,EAAe,SAAQ,GAClCgD,OAA0BC,IAAAZ,KAAA,gBAAAA,EAAY,YAAZ,gBAAAY,EAAqB,SAAQ,OAAOF,KAAYA,IAAW,GACrFG,IAAyBJ,GACzBK,IAAcjU,EAAM,cAAc,KAAKkT,KAAUlT,EAAM,SAAS,WAAWA,EAAM,SAAS,UAAUA,EAAM,SAAS,OAAO,KAAKuS,GAAgB,IAAI/H,CAAI,KAAkC0J,IAAA1J,KAAA,gBAAAA,EAAM,YAAN,QAAA0J,EAAe,OAAO,MAAKC,IAAAnU,EAAM,gBAAN,gBAAAmU,EAAA,KAAAnU,KAAwB,IAC5O,CAACoU,GAAU/R,CAAI,IAAIgS,GAAaX,GAAO1T,GAAOuT,GAAUL,GAAQhL,GAAImL,GAAUY,GAAaxB,GAAc,IAAIvK,CAAE,CAAC;AAClH,WAAOuK,GAAc,OAAOvK,CAAE,IAAI,CAACwL,KAASU,OAAcV,IAAQ;AAAA,MAChE,GAAGrR;AAAA,IACb,GAAWsQ,GAAY,IAAIzK,GAAIwL,CAAK,IAAI,QAAQ,IAAI,aAAa,iBAAiB1T,EAAM,UAAU,cAAc,QAAQ,eAAe,IAAIkI,CAAE,gBAAgBkM,CAAQ,IAAIV,EAAM,MAAM,KAAKrR,EAAK,IAAI,GAAG,QAAQ,KAAK;AAAA,MACzM,OAAArC;AAAA,MACA,UAAAuT;AAAA,MACA,QAAAL;AAAA,MACA,UAAAG;AAAA,MACA,OAAAK;AAAA,MACA,MAAArR;AAAA,MACA,aAAA4R;AAAA,MACA,oBAAAL;AAAA,MACA,wBAAAE;AAAA,MACA,wBAAAE;AAAA,IACV,CAAS,GAAG,QAAQ,SAAQ,IAAK3R,MAASqR,MAAU,OAAO,OAAOA,GAAOrR,CAAI,GAAGqR,EAAM,KAAKxL,IAAKwL,EAAM,cAAcC,KAAA,gBAAAA,EAAa,MAAMD,EAAM,YAAYH,GAAUb,GAAO,IAAIxK,GAAI7F,CAAI,GAAGqR;AAAA,EACnL;AACF,UAAQ,IAAI,aAAa,iBAAiB,WAAW,QAAQ,WAAW;AACxE,QAAMzI,IAAQC,GAAqBR,GAAW+I,GAAaA,CAAW;AACtE,SAAOjQ,GAA0B,MAAM;;AACrC,QAAI,CAAC+O,GAAgB,IAAI/H,CAAI,GAAG;AAC9B,MAAA+H,GAAgB,IAAI/H,GAAM,EAAE;AAC5B;AAAA,IACF;AACA,QAAI,CAAC+I,GAAU;AACb,MAAAf,GAAS,IAAIhI,CAAI,KAAK8J,GAAepM,CAAE,GAAGsK,GAAS,IAAIhI,GAAM,EAAE;AAC/D;AAAA,IACF;AACA,YAAQ,IAAI,aAAa,iBAAiBxK,EAAM,UAAU,aAAa,QAAQ,KAAK,eAAkBkI,CAAE,oBAAoBqL,IAAUzC,IAAA4B,GAAO,IAAIxK,CAAE,MAAb,gBAAA4I,EAAgB,IAAI,GAAGwD,GAAepM,CAAE,GAAGsK,GAAS,IAAIhI,GAAM,EAAE;AAAA,EACxM,GAAG,CAACA,GAAM+I,CAAQ,CAAC,GAAGtI;AACxB,GACAoJ,KAAe,CAACjJ,GAAWpL,GAAOuT,GAAUL,IAAS,IAAIhL,GAAImL,GAAUY,GAAaM,MAAkB;AACpG,QAAM;AAAA,IACF,OAAA1R;AAAA,EACR,IAAU7C,GACJ2T,IAAcjB,GAAO,IAAIW,CAAQ;AACnC,MAAIrT,EAAM,YAAa,QAAO,CAAC,IAAIoL,KAAauI,KAAe;AAAA,IAC7D,MAAM;AAAA,EACZ,CAAK;AACD,EAAAX,OAAWA,KAAS5O,GAAS,EAAG;AAChC,QAAMqB,IAAO,CAAC8N,MAAa,CAACnI,KAAa,EAACA,KAAA,QAAAA,EAAW,UAAS,OAAOoJ,GAAgBb,KAAA,gBAAAA,EAAa,MAAM3T,GAAOuU,MAAkB,UAAU,KAAK,CAAC,CAACN,CAAW,GAC3JQ,IAAiBd,MAAgB,CAAClO,KAAQA,MAASkO,EAAY,OAC/De,IAAiB,CAAC,EAAEH,MAAkB,WAAWN,MAAgBM,MAAiBnJ,KAAA,gBAAAA,EAAW,WAASuI,KAAA,gBAAAA,EAAa;AACrH,MAAI,QAAQ,IAAI,aAAa,iBAAiB9Q,MAAU,WAAW;AACjE,UAAM8R,IAAU,eAAkBzM,CAAE,qBAAqBzC,CAAI,gBAAgBwO,CAAW,mBAAmBS,CAAc;AACzH,YAAQ,eAAeC,CAAO,GAAG,QAAQ,MAAM;AAAA,MAC7C,MAAAlP;AAAA,MACA,WAAA2F;AAAA,MACA,aAAAuI;AAAA,MACA,OAAA3T;AAAA,MACA,UAAAuT;AAAA,MACA,IAAArL;AAAA,MACA,gBAAAuM;AAAA,IACR,CAAO,GAAG,QAAQ,SAAQ;AAAA,EACtB;AACA,MAAIA,EAAgB,QAAO,CAACC,KAAkBtJ,IAAY,CAAC,IAAIA,CAAS,IAAI,CAACsJ,GAAgB;AAAA,IAC3F,GAAGf;AAAA,IACH,OAAO;AAAA,EACb,CAAK;AACD,MAAI,CAAClO,GAAM;AACT,UAAMpD,IAAO+I,KAAauI;AAC1B,QAAI,CAACtR,EAAM,OAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,gBAAgB,GAAGuB,EAAqB;AAAA;AAAA,kBAEhF5D,EAAM,OAAO,KAAKA,EAAM,IAAI,MAAM,EAAE,GAAGA,EAAM,gBAAgB,gBAAgBA,EAAM,aAAa,MAAM,EAAE,gDAAgDqT,CAAQ,SAASnL,CAAE,OAAOtE,EAAqB;AACnN,WAAO8Q,IAAiB,CAAC,IAAI;AAAA,MAC3B,GAAIf,KAAevI;AAAA,IAC3B,CAAO,IAAI,CAAC,IAAI/I,CAAI;AAAA,EAChB;AACA,QAAM8P,IAASyC,GAAUnP,CAAI,GAC3BoP,IAAYlB,KAAexB,MAAWwB,EAAY,QAClDmB,IAAY;AAAA,IACV,IAAA5M;AAAA,IACA,MAAAzC;AAAA,IACA,OAAOuN,GAAOvN,CAAI;AAAA,IAClB,QAAA0M;AAAA,IACA,UAAAkB;AAAA,IACA,YAAYM,KAAA,gBAAAA,EAAa;AAAA;AAAA,IAEzB,WAAAkB;AAAA,IACA,OAAO;AAAA,EACf;AACI,MAA4CN,MAAkB,WAAWnJ,KAAaA,EAAU,SAAS3F,EAAM,QAAO,CAAC,IAAIqP,CAAS;AACpI,QAAMC,IAAsBR,MAAkB,WAAWnJ,KAAa,CAAC6I,KAAea,EAAU,SAAS1J,EAAU;AACnH,SAAO,QAAQ,IAAI,aAAa,iBAAiBvI,MAAU,cAAc,QAAQ,eAAe,eAAkBqF,CAAE,QAAkBzC,CAAI,yBAAyBsP,CAAmB,EAAE,GAAG,QAAQ,KAAK;AAAA,IACtM,WAAA3J;AAAA,IACA,aAAA6I;AAAA,IACA,WAAAa;AAAA,IACA,eAAAP;AAAA,EACN,CAAK,GAAG,QAAQ,SAAQ,IAAKQ,IAAsB,CAAC,IAAID,CAAS,IAAI,CAAC,IAAIA,CAAS;AACjF;AACF,SAASR,GAAepM,GAAI;AAC1B,QAAM8M,IAAQ,CAAC9M,CAAE,GACf+M,IAAyB,oBAAI,IAAG;AAClC,SAAOD,EAAM,UAAS;AACpB,UAAME,IAASF,EAAM,MAAK,GACxBzW,IAAW+T,GAAkB4C,CAAM;AACrC,QAAI3W,EAAU,YAAW4W,KAAW5W,EAAU,CAAA0W,EAAQ,IAAIE,CAAO,MAAMF,EAAQ,IAAIE,CAAO,GAAGH,EAAM,KAAKG,CAAO;AAAA,EACjH;AACA,EAAAF,EAAQ,QAAQ,CAAAE,MAAW;;AACzB,KAAArE,IAAAuB,GAAa,IAAI8C,CAAO,MAAxB,QAAArE;AAAA,EACF,CAAC;AACH;AACA,MAAMsE,KAAe;AAAA,EACnB,OAAO;AAAA,EACP,MAAM;AACR;AACA,SAASR,GAAUnP,GAAM;AACvB,SAAO2P,GAAa3P,EAAK,MAAM,GAAG,EAAE,CAAC,CAAC;AACxC;AACA,SAAS+O,GAAgBa,IAAa,IAAIrV,GAAOsV,IAAc,IAAI;AACjE,QAAM;AAAA,IACF,MAAA7P;AAAA,IACA,OAAA8P;AAAA,EACN,IAAQvV,GACJwV,IAAgBxV,EAAM,WAAW,SAASA,EAAM;AAClD,MAAIyF,KAAQ8P,EAAO,OAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,SAAc,mDAAmD;AAC5I,QAAME,IAAW,GAAGJ,CAAU,IAAI5P,KAAQ,EAAE,IAAI+P,KAAiB,EAAE,IAAID,IAAQ,IAAI,CAAC,IAAID,IAAc,IAAI,CAAC;AAC3G,MAAIvC,OAAsBF,GAAc,CAAAC,GAAe,MAAK,GAAIC,KAAoBF;AAAA,OAAkB;AACpG,UAAM6C,IAAS5C,GAAe,IAAI2C,CAAQ;AAC1C,QAAIC,MAAW,OAAQ,QAAOA;AAAA,EAChC;AACA,QAAM;AAAA,IACJ,QAAQC;AAAA,EACZ,IAAMvR,GAAS;AACb,MAAImR,GAAO;AACT,QAAIF,MAAe,WAAWA,MAAe,QAAQ;AACnD,YAAMO,IAAUP,MAAe,UAAU,SAAS;AAClD,aAAOvC,GAAe,IAAI2C,GAAUG,CAAO,GAAGA;AAAA,IAChD;AACA,UAAMC,IAAgBR,EAAW,YAAY,GAAG,GAC9CS,IAAQD,KAAiB,IAAIR,IAAaA,EAAW,MAAMQ,CAAa,GACxE1D,IAASkD,EAAW,MAAM,GAAGQ,CAAa,GAC1CE,IAASJ,EAAQG,CAAK,IAAIA,IAAQ3D;AACpC,WAAOW,GAAe,IAAI2C,GAAUM,CAAM,GAAGA;AAAA,EAC/C;AACA,QAAMC,IAAcX,EAAW,MAAM,GAAG,GACtCY,IAAWD,EAAYA,EAAY,SAAS,CAAC;AAC/C,EAAAC,KAAYA,EAAS,CAAC,EAAE,YAAW,MAAOA,EAAS,CAAC,KAAKD,EAAY,IAAG;AACxE,QAAME,IAAW,CAACzQ,KAAQ+P,IAAgB,GAAG/P,CAAI,IAAI+P,CAAa,KAAK,QAAQ/P,GAAM+P,CAAa,EAAE,OAAO,OAAO;AAClH,MAAIW,IAAQ;AACZ,MAAI1Q,GAAM;AACR,UAAM2Q,IAAgBxB,GAAUnP,CAAI;AACpC,QAAI2Q;AACF,iBAAWC,KAAWH,EAAU,KAAIG,KAAWV,GAAS;AACtD,QAAAQ,IAAQE;AACR;AAAA,MACF;AAAA;AAEF,QAAI,CAACF,KAAS,CAACC,KAAiBxB,GAAUS,CAAU,GAAG;AACrD,YAAMiB,IAAiB,CAAA;AACvB,eAASjQ,IAAI2P,EAAY,QAAQ3P,KAAK,GAAGA,IAAK,CAAAiQ,EAAe,KAAKN,EAAY,MAAM,GAAG3P,CAAC,EAAE,KAAK,GAAG,CAAC;AACnG,MAAAkQ,EAAO,YAAWC,KAAQF,GAAgB;AACxC,cAAMG,IAAa,CAACjB,IAAgB,GAAGgB,CAAI,IAAI/Q,CAAI,IAAI+P,CAAa,KAAK,QAAQ,GAAGgB,CAAI,IAAI/Q,CAAI,EAAE,EAAE,OAAO,OAAO;AAClH,mBAAWiR,KAAaD,EAAY,KAAIC,KAAaf,GAAS;AAC5D,UAAAQ,IAAQO;AACR,gBAAMH;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAACJ,EAAO,KAAI,CAAC1Q,KAAQ+P,GAAe;AACtC,UAAMkB,IAAY,GAAGV,EAAY,KAAK,GAAG,CAAC,IAAIR,CAAa;AAC3D,IAAAkB,KAAaf,MAAYQ,IAAQO;AAAA,EACnC,OAAO;AACL,UAAMpJ,IAAM0I,EAAY;AACxB,aAAS3P,IAAI,GAAGA,KAAKiH,GAAKjH,KAAK;AAC7B,YAAMmQ,KAAQnQ,MAAM,IAAI2P,IAAcA,EAAY,MAAM,GAAG,CAAC3P,CAAC,GAAG,KAAK,GAAG;AACxE,iBAAWgQ,KAAWH,GAAU;AAC9B,cAAMQ,IAAYF,IAAO,GAAGA,CAAI,IAAIH,CAAO,KAAKA;AAChD,YAAIK,KAAaf,GAAS;AACxB,UAAAQ,IAAQO;AACR;AAAA,QACF;AAAA,MACF;AACA,UAAIP,EAAO;AAAA,IACb;AAAA,EACF;AACA,SAAO,CAACb,KAAea,MAAUd;AAAA;AAAA,EAGjC,CAACD,GAAae,CAAK,KAAKrD,GAAe,IAAI2C,GAAU,IAAI,GAAG,SAAS3C,GAAe,IAAI2C,GAAUU,CAAK,GAAGA;AAC5G;AACA,MAAM3C,KAAc,CAAC;AAAA,EACjB,MAAA/N;AAAA,EACA,OAAA8P;AAAA,EACA,gBAAAoB;AAAA,EACA,eAAAnB;AACJ,MAAQ,GAAG/P,KAAQ,EAAE,GAAG8P,KAAS,EAAE,GAAGoB,KAAkB,EAAE,GAAGnB,KAAiB,EAAE,IAC9EoB,KAAwB,CAAA5W,MAAS,UAAUA,KAAS,WAAWA,KAAS,oBAAoBA,GCzO5F6W,KAAoB,CAAC7W,GAAOkT,IAAS,OAAO;AAC1C;AAEA,QAAM1I,IAAOQ,GAAO,IAAI,GACtBmI,IAAanI,GAAO,IAAI,GACxB8L,IAAa7D,GAAcjT,GAAOkT,GAAQ1I,GAAM2I,CAAU;AAC5D,SAAO,QAAQ,IAAI,aAAa,iBAAiB,CAACnT,EAAM,eAAe,EAAC8W,KAAA,QAAAA,EAAY,UAAS,QAAQ,IAAI,qCAAqC,OAAO,QAAQ,MAAM,2FAA2F,KAAK,UAAU9W,CAAK,CAAC;AAAA;AAAA,sKAEjH,GAAG,CAACA,EAAM,cAAc,CAAA,IAAKyR,GAAgBzR,GAAO8W,GAAYtM,GAAM2I,CAAU,GAAG2D,CAAU;AACjQ;AClBF,SAASC,GAAOzM,GAAKtL,GAAO;AAC1B,SAAOsL,KAAO,aAAaA,EAAItL,CAAK,IAAIsL,MAAQA,EAAI,UAAUtL;AAChE;AACA,SAASgY,MAAeC,GAAM;AAC5B,SAAO,CAAAC,MAAQD,EAAK,QAAQ,CAAA3M,MAAOyM,GAAOzM,GAAK4M,CAAI,CAAC;AACtD;ACNA,MAAMC,MAAc,MAAM;AACxB,MAAI,QAAQ,IAAI,aAAa,cAAe,KAAI;AAC9C,WAAO,IAAI,SAAS,qDAAqD,EAAC;AAAA,EAC5E,QAAQ;AAAA,EAAC;AACT,SAAO;AACT,GAAC,GCLKC,KAAwB;AAAA,EAC1B,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,cAAc;AAAA,EACd,aAAa;AAAA,EACb,WAAW;AAAA,EACX,UAAU;AACd,GACEC,KAA+B;AAAA,EAC7B,GAAGD;AAAA,EACH,WAAW;AACf,GACEE,KAAmC;AAAA,EACjC,GAAGF;AAAA,EACH,WAAW;AACf;ACjBA,SAASG,GAAaC,GAAQC,IAAW,IAAI;AAC3C,SAAO;AAAA,IACL,cAAcD,EAAO;AAAA,IACrB,cAAcA,EAAO;AAAA,IACrB,CAACC,IAAW,YAAY,SAAS,GAAGD,EAAO;AAAA,IAC3C,aAAaA,EAAO;AAAA,IACpB,WAAWA,EAAO;AAAA,IAClB,cAAcA,EAAO;AAAA,IACrB,YAAYA,EAAO;AAAA,IACnB,SAASA,EAAO;AAAA,IAChB,QAAQA,EAAO;AAAA,EACnB;AACA;ACXA,MAAME,KAAkB,CAACC,GAAcC,MAAuB;;AAC5D,MAAI7X,IAAe4X,KAAA,gBAAAA,EAAc;AACjC,QAAM9T,IAAOO,GAAS,GACpBqB,IAAOmS,MAAsBD,KAAA,gBAAAA,EAAc;AAAA,GAE3CA,EAAa,SAAS,SAAS,SAC/BE,KAAmB/G,IAAAjN,KAAA,gBAAAA,EAAM,iBAAN,gBAAAiN,EAAqBrL;AAC1C,SAAOoS,MAAqB9X,IAAeA,IAAe;AAAA,IACxD,GAAG8X;AAAA,IACH,GAAG9X;AAAA,EACP,IAAM8X,IAAmB9X;AACzB;ACZA,SAAS+X,GAAuBC,GAAQ;;AACtC,SAAOA,IAAS,OAAOA,EAAO,iBAAiB,aAAaA,IAAS,aAAaA,KAAU,SAAOjH,IAAAiH,EAAO,YAAP,gBAAAjH,EAAgB,kBAAiB,aAAaiH,EAAO,UAAU,OAAO;AAC3K;ACFA,MAAMC,KAAgB;AAAA,EACpB,QAAQ;AAAA,EACR,OAAO;AACT;ACFA,SAASC,GAAgB;AAAA,EACvB,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC;AAAA,EACA,cAAAC;AACF,GAAG;AACD,QAAM;AAAA,IACJ,QAAAC;AAAA,IACA,OAAAC;AAAA,EACJ,IAAMJ,KAAgBH;AACpB,SAAO;AAAA,IACL,cAAc;AAAA,MACZ,OAAOO,KAAS;AAAA,MAChB,QAAQD,KAAU;AAAA,IACxB;AAAA,IACI,cAAcD,KAAgB;AAAA;AAAA,IAE9B,aAAAH;AAAA;AAAA,IAEA,eAAeE,KAAiB;AAAA,EACpC;AACA;ACpBA,SAASI,GAAUC,GAAO;;AACxB,GAACA,EAAM,gBAAgB,QAAQA,EAAM,eAAeA,EAAM,iBAAiB,QAAQA,EAAM,iBAAiB,OAAO,OAAOA,GAAOR,GAAgBQ,CAAK,CAAC;AACrJ,aAAWvY,KAAOwY,GAAgB,CAAAxY,KAAOuY,MAAUA,EAAA3H,IAAM4H,GAAexY,CAAG,OAAxBuY,EAAA3H,KAA+B;AACpF;AACK,MACH4H,KAAiB;AAAA,EACf,aAAa;AAAA,EACb,mBAAkC;AAAA,EAClC,gBAA+B;AAAA,EAC/B,iBAAgC;AAAA,EAChC,kBAAiC;AAAA;AAErC,GCdMC,KAAiB,CAACC,GAAOC,MAAY;AACvC,MAAID,EAAO,QAAO,OAAOA,KAAS,WAAWA,IAAQA,MAAU,gBAAgB,qBAAqB,OAAOC,KAAW,YAAYA,IAAU,IAAI,sBAAsBD,CAAK,IAAI,KAAK,MAAMC,IAAU,GAAG,CAAC,oBAAoBD;AAC9N,GCAIE,KAA8B;AAAA,EAClC,GAAGpJ;AAAA,EACH,YAAY;AAAA,EACZ,YAAY;AACd;AACA,SAASqJ,GAA2B/Z,GAAO0I,IAAW,IAAI;AACxD,MAAc0H,GAAmB1H,CAAQ,KAAKA,KAAY,CAACoR,GAA4BpR,CAAQ,KAAK,OAAO1I,KAAS,UAAW,QAAOA;AACtI,MAAIA,KAAS,OAAOA,KAAS,SAAU,KAAI,OAAOA,EAAM,cAAc,WAAY,CAAAA,IAAQA,EAAM,WAAU;AAAA,MAAQ,QAAOA;AACzH,MAAI2F,IAAM3F;AACV,SAAO,OAAOA,KAAS,WAAW2F,IAAM,GAAG3F,CAAK,OAAO0I,MAAa/C,IAAM,GAAGA,CAAG,KAAKA;AACvF;ACXA,SAASqU,GAAmBC,GAAY;AACtC,SAAOA,EAAW;AAAA;AAAA;AAAA;AAAA;AAAA,IAKlB,CAAAC,MAAa;AACX,YAAMpY,IAAO,OAAO,KAAKoY,CAAS,EAAE,CAAC,GACnCla,IAAQka,EAAUpY,CAAI;AACxB,aAAOA,MAAS,YAAYA,MAAS,aAAa,GAAGA,CAAI,IAAI9B,EAAM,KAAK,GAAG,CAAC,MAAM,GAAG8B,CAAI,IAAIiY,GAA2B/Z,GAAO8B,CAAI,CAAC;AAAA,IACtI;AAAA,EAAC,EAAE,KAAK,GAAG;AACb;ACJA,SAASqY,GAAmBV,GAAO;AACjC,EAAAW,GAAWX,CAAK;AAChB,QAAMxY,IAAM,CAAA;AACZ,aAAWC,KAAOuY,GAAO;AACvB,QAAIvY,MAAQ,QAAS;AACrB,UAAMM,IAAMiY,EAAMvY,CAAG;AACrB,QAAIA,KAAON,GAAmB,CAAAY,KAAOP,EAAI,KAAK,GAAGoZ,GAAe7Y,GAAKZ,GAAkBM,CAAG,CAAC,CAAC;AAAA,aAAWiJ,GAAWjJ,CAAG,EAAG,YAAWoZ,KAAU9Y,GAAK;AAChJ,YAAM+Y,IAAKC,GAAehZ,GAAK8Y,CAAM;AACrC,MAAAC,MAAOA,EAAG,CAAC,IAAIrZ,GAAKD,EAAI,KAAKsZ,CAAE;AAAA,IACjC;AAAA,SAAO;AACL,YAAMA,IAAKC,GAAef,GAAOvY,CAAG;AACpC,MAAAqZ,KAAMtZ,EAAI,KAAKsZ,CAAE;AAAA,IACnB;AAAA,EACF;AACA,SAAOtZ;AACT;AACA,MAAMoZ,KAAiB,CAACZ,GAAO9P,MAAW;AACxC,EAAAyQ,GAAWX,CAAK;AAChB,QAAMxY,IAAM,CAAA;AACZ,aAAWC,KAAOuY,GAAO;AACvB,UAAMc,IAAKC,GAAef,GAAOvY,GAAKyI,CAAM;AAC5C,IAAA4Q,KAAMtZ,EAAI,KAAKsZ,CAAE;AAAA,EACnB;AACA,SAAOtZ;AACT;AACA,IAAI4D,KAAO;AACX,MAAM2V,KAAiB,CAACf,GAAOvY,GAAKyI,MAAW;AAC7C,MAAInI,IAAMiY,EAAMvY,CAAG;AACnB,MAAIM,KAAO,KAAM;AACjB,EAAAN,MAAQ,eAAe,MAAM,QAAQuY,EAAM,SAAS,MAAMjY,IAAMwY,GAAmBxY,CAAG;AACtF,QAAMxB,IAAQ+Z,GAA2BvY,GAAKN,CAAG,GAC/C0M,IAAOH,GAAW,OAAOzN,KAAS,WAAWA,IAAQ,GAAGA,CAAK,EAAE,GAC/Dya,IAAe9Q,IAAS,IAAIA,EAAO,IAAI,MAAM;AAC/C9E,EAAAA,YAASQ,GAAc;AACvB,MAAIsD,IAAa,KAAI9D,MAAAA,gBAAAA,GAAM,kBAAkB3D,OAAQA,CAAG,IAAIuZ,CAAY,GAAG7M,CAAI;AAC/E,EAAA1M,MAAQ,mBAAmB,CAACyI,MAAW3J,MAAU,aAAa2I,IAAa,gBAAgB3I,MAAU,eAAe2I,IAAa;AACjI,QAAME,IAAQ6R,GAAkB/R,GAAYzH,GAAKlB,GAAO2J,CAAM;AAC9D,SAAO;AAAA;AAAA,IAEPzI;AAAA,IAAKlB;AAAA,IAAO2I;AAAA,IAAYgB,KAAA,gBAAAA,EAAQ;AAAA,IAAMd;AAAA,EAAK;AAC7C;AACA,SAASuR,GAAWX,GAAO;AACzB,QAAM;AAAA,IACJ,cAAAN;AAAA,IACA,cAAAE;AAAA,IACA,aAAAH;AAAA,IACA,eAAAE;AAAA,EACJ,IAAMK;AACJ,MAAIJ,KAAgB,QAAQH,KAAeC,KAAgB,QAAQC,KAAiB,MAAM;AACxF,UAAMuB,IAASxB,KAAgBH,IAC7BO,IAAQQ,GAA2BY,EAAO,KAAK,GAC/CrB,IAASS,GAA2BY,EAAO,MAAM,GACjDC,IAASb,GAA2BV,CAAY,GAChDO,IAAQD,GAAeT,GAAaE,CAAa;AACnD,QAAIQ,GAAO;AACT,YAAMiB,IAAS,GAAGtB,CAAK,IAAID,CAAM,IAAIsB,CAAM,IAAIhB,CAAK;AACpD,MAAAH,EAAM,YAAYA,EAAM,YAAY,GAAGA,EAAM,SAAS,KAAKoB,CAAM,KAAKA;AAAA,IACxE;AACA,WAAOpB,EAAM,cAAc,OAAOA,EAAM,cAAc,OAAOA,EAAM,aAAa,OAAOA,EAAM;AAAA,EAC/F;AACA,QAAM;AAAA,IACJ,iBAAAqB;AAAA,IACA,kBAAAC;AAAA,IACA,kBAAAC;AAAA,EACJ,IAAMvB;AACJ,MAAIqB,KAAmBC,KAAoBC,GAAkB;AAC3D,UAAM;AAAA,MACF,QAAA1B;AAAA,MACA,OAAAC;AAAA,IACR,IAAUwB,KAAoB/B,IACxB4B,IAASI,KAAoB,GAC7BpB,IAAQG,GAA2Be,GAAiB,iBAAiB;AACvE,QAAIlB,MAAUN,MAAW,KAAKC,MAAU,KAAKqB,MAAW,IAAI;AAC1D,YAAMK,IAAalB,GAA2Ba,CAAM,GAClDM,IAAUnB,GAA2BR,CAAK,GAC1C4B,IAAUpB,GAA2BT,CAAM;AAC7C,MAAAG,EAAM,aAAa,GAAGyB,CAAO,IAAIC,CAAO,IAAIF,CAAU,IAAIrB,CAAK;AAAA,IACjE;AACA,WAAOH,EAAM,iBAAiB,OAAOA,EAAM,kBAAkB,OAAOA,EAAM;AAAA,EAC5E;AACF;AACA,SAAS2B,GAAuB3B,GAAO4B,IAAY,IAAI;AACrD,MAAIhY,IAAO;AACX,aAAW,CAACnC,GAAKlB,CAAK,KAAKyZ,EAAO,CAAApW,KAAQ,GAAGiY,GAAmBpa,CAAG,CAAC,IAAIlB,CAAK,GAAGqb,IAAY,gBAAgB,EAAE;AAC9G,SAAO,IAAIhY,CAAI;AACjB;AACA,MAAMkY,KAAS,CAAA,GACbC,KAAgB,CAAAnR,MAAS,IAAIA,EAAM,YAAW,CAAE,IAChDiR,KAAqB,CAAApa,MAAO;AAC1B,MAAIA,KAAOqa,GAAQ,QAAOA,GAAOra,CAAG;AACpC,QAAMM,IAAMN,EAAI,QAAQ,UAAUsa,EAAa;AAC/C,SAAOD,GAAOra,CAAG,IAAIM,GAAKA;AAC5B,GACAia,MAAoB,MAAM;AACxB,QAAM9V,IAAM,CAAA;AACZ,aAAWzE,KAAON,IAAmB;AACnC,UAAM+I,IAAS/I,GAAkBM,CAAG;AACpC,IAAAyE,EAAIgE,EAAO,IAAI,IAAI,GAAG,CAAC,GAAG,MAAMA,EAAO,QAAQ,CAAC,EAAE,IAAI,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC;AAAA,EAC/E;AACA,SAAOhE;AACT,GAAC;AACH,SAAS+U,GAAkB/R,GAAYD,GAAU1I,GAAO2J,GAAQ;AAC9D,QAAM+R,IAAkB/R,IAASA,EAAO,SAAS,aAAa,oBAAoB,IAAIA,EAAO,IAAI,KAAK,IACpG1B,IAAiB0B,KAAA,gBAAAA,EAAQ,UACzBgS,IAAMjT,KAAYkH,KAAwB,IAAIjH,CAAU,IAAIA,CAAU,KAAK,IAAIA,CAAU;AAC3F,MAAIb,IAAW6B,IAAS1B,IAAiB,GAAGA,CAAc,IAAI0T,CAAG,KAAK,GAAGF,GAAiB9R,EAAO,IAAI,CAAC,IAAIgS,CAAG,GAAGD,CAAe,KAAK,SAASC,CAAG;AAChJ,EAAA1T,MAAmBrH,GAAkB,WAAW,aAAakH,IAAW,GAAGA,CAAQ,MAAMa,CAAU,GAAGV,CAAc;AACpH,QAAMoT,IAAY,CAAC,CAAC1R;AACpB,MAAId,IAAQ,CAAA;AACZ,UAAQH,GAAQ;AAAA;AAAA,IAEd,KAAK,wBACH;AACE,YAAMkT,IAAQR,GAAuB,CAAC,CAAC,SAASpb,CAAK,GAAG,CAAC,WAAW,CAAC,CAAC,GAAGqb,CAAS;AAClF,MAAAxS,EAAM,KAAK,GAAGf,CAAQ,gBAAgB8T,CAAK,EAAE;AAC7C;AAAA,IACF;AAAA;AAAA,IAEF,KAAK;AAAA,IACL,KAAK,cACH;AACE,YAAMC,IAAiB,SAAS,GAAGnT,EAAS,CAAC,EAAE,YAAW,CAAE,GAAGA,EAAS,MAAM,CAAC,CAAC,EAAE,IAChFkT,IAAQR,GAAuB,CAAC,CAAC1S,GAAU1I,CAAK,GAAG,CAAC6b,GAAgB7b,CAAK,CAAC,GAAGqb,CAAS;AACxF,MAAAxS,EAAM,KAAK,GAAGf,CAAQ,GAAG8T,CAAK,EAAE;AAChC;AAAA,IACF;AAAA;AAAA,IAEF,KAAK,iBACH;AACE,UAAIE,IAAa9b;AACjB,MAAAA,MAAU,UAAUA,MAAU,aAAa8b,IAAa,UAAU9b,MAAU,UAAUA,MAAU,gBAAgB8b,IAAa;AAC7H,YAAMF,IAAQR,GAAuB,CAAC,CAAC,iBAAiBU,CAAU,CAAC,GAAG,EAAE;AACxE,MAAAjT,EAAM,KAAK,GAAGf,CAAQ,GAAG8T,CAAK,EAAE;AAChC;AAAA,IACF;AAAA,IACF,SACE;AACE,YAAMA,IAAQR,GAAuB,CAAC,CAAC1S,GAAU1I,CAAK,CAAC,GAAGqb,CAAS;AACnE,MAAAxS,EAAM,KAAK,GAAGf,CAAQ,GAAG8T,CAAK,EAAE;AAChC;AAAA,IACF;AAAA,EACN;AACE,UAAOjS,KAAA,gBAAAA,EAAQ,UAAS,YAAYd,IAAQA,EAAM,IAAI,CAAAkT,MAAK,mBAAmBA,CAAC,GAAG,IAAIlT;AACxF;ACrJA,MAAMmT,KAA8B,oBAAI,QAAO,GAC7CC,KAAwC,oBAAI,IAAG,GAC/CC,KAAe,CAAA,GACfC,KAAW,CAAA,GACXC,KAAkB,MAAMF,IACxBG,KAAc,MAAM,QAAQ,IAAI,yBAAyB,CAAA,IAAK,OAAO,KAAKF,EAAQ,EAAE,KAAI,EAAG,IAAI,CAAAjb,MAAOib,GAASjb,CAAG,CAAC;AACrH,IAAIob,KAAoB;AACxB,SAASC,GAAcC,IAAgB,IAAI3K,GAAQ;AACjD,MAAI,CAAC,QAAQ,IAAI,wBAAwB;AACvC,QAAI,QAAQ,IAAI,aAAa,OAAQ;AACrC,QAAImC;AACJ,UAAMyI,IAAS,SAAS,eAAe,CAAA,GACrCzY,IAAOsY,IACPI,IAAU,IAAI,IAAID,CAAM;AAC1B,eAAWE,KAAUD,EAAS,KAAIC,GAAQ;AACxC,YAAM1b,IAAM2b,GAAkBD,GAAQ,IAAIH,GAAe3K,CAAM;AAC/D,MAAA5Q,MAAQ+S,IAAS/S;AAAA,IACnB;AACA,QAAIqb,KAAoBI,GAAS1Y,EAAM,YAAW2Y,KAAU3Y,EAAM,CAAA2Y,KAAU,CAACD,EAAQ,IAAIC,CAAM,KAAKC,GAAkBD,GAAQ,EAAE;AAChI,WAAO3I;AAAA,EACT;AACF;AACA,SAAS6I,GAAmB3T,GAAI;AAC9B,QAAM7F,KAAQ4Y,GAAuB,IAAI/S,CAAE,KAAK,KAAK;AACrD,SAAO+S,GAAuB,IAAI/S,GAAI7F,CAAI,GAAGA;AAC/C;AACA,MAAMyZ,KAAe,QAAQ,IAAI,yCAC/BC,KAAYD,KAAe,CAACA,KAAe;AAC7C,SAASF,GAAkBD,GAAQK,IAAS,IAAIR,IAAgB,IAAI3K,GAAQ;;AAC1E,MAAIhJ;AACJ,MAAI;AACF,QAAIA,IAAQ8T,EAAO,UAAU,CAAC9T,EAAO;AAAA,EACvC,QAAQ;AACN;AAAA,EACF;AACA,QAAMoU,KAAgBnL,IAAAoL,GAAmBrU,EAAM,CAAC,GAAG2T,CAAa,MAA1C,gBAAA1K,EAA8C,IAClEqL,KAAepI,IAAAmI,GAAmBrU,EAAMA,EAAM,SAAS,CAAC,GAAG2T,CAAa,MAAzD,gBAAAzH,EAA6D,IAC5E0B,IAAW,GAAG5N,EAAM,MAAM,GAAGoU,CAAa,GAAGE,CAAY,IACzDC,IAAcpB,GAAa,IAAIW,CAAM;AACvC,MAAI,CAACK,KAAUI,MAAgB3G,EAAU;AACzC,QAAM1I,IAAMlF,EAAM;AAClB,MAAIwU,IAAQ,GACVC;AACF,QAAMC,IAAc,CAAA;AACpB,WAASlW,IAAI,GAAGA,IAAI0G,GAAK1G,KAAK;AAC5B,UAAMmC,IAAOX,EAAMxB,CAAC;AACpB,QAAI,EAAEmC,aAAgB,cAAe;AACrC,UAAMgU,IAAWN,GAAmB1T,GAAMgT,CAAa;AACvD,QAAIgB,EAAU,CAAAH,IAAQ;AAAA,SAAO;AAC3B,UAAIA,KAASA,IAAQN,GAAW;AAChC;AAAA,IACF;AACA,UAAM,CAACpU,GAAY8U,GAAS/V,CAAO,IAAI8V;AACvC,QAAI9V,GAAS;AACX,YAAMgW,IAAUC,GAAiBF,GAAS5L,CAAM;AAChD,UAAI6L,GAAS;AACX,mBAAWjX,KAAQiX,EAAQ,MAAO,CAAAH,EAAY9W,CAAI,KAAK,OAAO,MAAM8W,EAAY9W,CAAI,GAAGiX,EAAQ,KAAK,GAAGA,EAAQ,QAAQA,EAAQ,MAAM,OAAO,CAAAE,MAAKA,MAAMnX,CAAI,KAAK8W,EAAY9W,CAAI,IAAIiX,EAAQ;AAC5L,QAAAJ,UAAkB,CAAA,IAAIA,EAAc,KAAKI,CAAO;AAAA,MAClD;AACA;AAAA,IACF;AAAA,EACF;AACA,SAAO1B,GAAa,IAAIW,GAAQlG,CAAQ,GAAG6G;AAC7C;AACA,IAAIO,IACFC,KAAoB;AACtB,SAASH,GAAiBI,GAAclM,GAAQ;AAC9C,QAAM5K,IAAY8W,EAAa,aAAa,MAAM,GAAG;AACrD,MAAI,CAAC9W,EAAU,OAAQ;AACvB,MAAI4K,KAAA,QAAAA,EAAQ,SAAS,CAACgM,IAAe;AACnC,IAAAA,KAAgB,CAAA;AAChB,eAAW3c,KAAO2Q,EAAO,OAAO;AAC9B,YAAMmM,IAAQnM,EAAO,MAAM3Q,CAAG;AAC9B,MAAA8c,MAAUH,GAAcG,EAAM,IAAI,IAAIA,EAAM;AAAA,IAC9C;AAAA,EACF;AACA,QAAMnV,KAASkV,EAAa,WAAW,IAAI,MAAMA,EAAa,aAAa,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,GAClG3a,IAAS,CAAA;AACX,aAAWoG,KAAQX,GAAO;AACxB,UAAMoV,IAAOzU,EAAK,QAAQ,GAAG;AAC7B,QAAIyU,MAAS,GAAI;AACjB,UAAMC,IAAW1U,EAAK,QAAQ,IAAI;AAClC,QAAItI,IAAMsI,EAAK,MAAM0U,MAAa,KAAK,IAAIA,IAAW,GAAGD,CAAI;AAC7D,YAAQ,IAAI,gCAAgC/c,IAAMA,EAAI,QAAQ,QAAQ,IAAI,6BAA6B,EAAE;AACzG,UAAMM,IAAMgI,EAAK,MAAMyU,IAAO,CAAC;AAC/B,QAAIje;AACJ,QAAIwB,EAAI,CAAC,MAAM,OAAOA,EAAI,WAAW,MAAM,GAAG;AAC5C,YAAM2c,IAAU3c,EAAI,MAAM,GAAG,EAAE,GAC7B4c,IAAWP,MAAA,gBAAAA,GAAgBM;AAC7B,MAAAC,IAAWpe,IAAQoe,KAAYN,YAAsB,iBAAiB,SAAS,IAAI,IAAG9d,IAAQ8d,GAAkB,iBAAiB,OAAOK,CAAO;AAAA,IACjJ,MAAO,CAAAne,IAAQwB;AACf,IAAA4B,EAAOlC,CAAG,IAAIgQ,GAAe;AAAA,MAC3B,KAAAhQ;AAAA,MACA,MAAMA;AAAA,MACN,KAAKlB;AAAA,IACX,GAAO,EAAE;AAAA,EACP;AACA,QAAMqe,IAAuB,oBAAI,IAAG;AACpC,aAAWvW,KAAYb,GAAW;AAChC,QAAIa,MAAa,WAAY;AAC7B,UAAMwW,IAAyBxW,EAAS,YAAY,KAAK,GACvDrB,IAAOqB,EAAS,MAAMwW,CAAsB,EAAE,MAAM,CAAC,GACrD,CAACC,CAAU,IAAIzW,EAASwW,IAAyB,CAAC,GAClDnL,IAASoL,MAAe,MAAM,SAASA,MAAe,MAAM,UAAU,IACtEC,IAAYrL,KAAUA,MAAW1M,IAAO,GAAG0M,CAAM,IAAI1M,CAAI,KAAKA;AAChE,KAAC+X,KAAaA,MAAc,gBAAgBA,MAAc,gBAAgBH,EAAM,IAAIG,CAAS;AAAA,EAC/F;AACA,SAAO;AAAA,IACL,OAAO,CAAC,GAAGH,CAAK;AAAA,IAChB,OAAOjb;AAAA,EACX;AACA;AACA,MAAMqb,KAAuB;AAC7B,SAASvB,GAAmB1T,GAAMgT,IAAgB,IAAI;AACpD,MAAIhT,aAAgB,cAAc;AAChC,UAAMkV,IAAOlV,EAAK;AAClB,QAAIkV,EAAK,CAAC,MAAM,OAAOA,EAAK,CAAC,MAAM,OAAOD,GAAqB,KAAKC,CAAI,GAAG;AACzE,YAAMxV,IAAKyV;AAAA;AAAA,QAEXD,EAAK,QAAQD,IAAsB,EAAE;AAAA,MAAC;AACtC,aAAOjC,IAAgB,CAACtT,GAAIM,GAAM,EAAE,IAAI,CAACN,GAAIM,CAAI;AAAA,IACnD;AAAA,EACF,WAAWA,aAAgB,aAAc,QAAOA,EAAK,SAAS,SAAS,IAAI,SAAS0T,GAAmB1T,EAAK,SAAS,CAAC,CAAC;AACzH;AACA,MAAMmV,KAAmC,CAAA7W,MAAY;AACnD,QAAM8W,IAAW9W,EAAS,QAAQ,GAAG;AACrC,SAAO8W,IAAW,KAAK9W,EAAS,MAAM,GAAG8W,CAAQ,IAAI9W,EAAS,MAAM,CAAC;AACvE;AACA,IAAI+W,KAAQ,MACVC,KAAgB;AAClB,SAASC,KAAwB;AAC/B,EAAAD,KAAgB;AAClB;AACA,SAASE,GAAYrW,GAAYE,GAAO;AACtC,SAAOiW,OAAkB3C,GAASxT,CAAU,IAAIE,EAAM,KAAK,GAAG,IAAI;AACpE;AAKA,SAASoW,GAAiBC,GAAe;AACvC,MAAI,CAACL,MAAS,SAAS,MAAM;AAC3B,UAAMM,IAAW,SAAS,cAAc,OAAO;AAC/C,IAAAA,EAAS,KAAK,mBAAsDN,KAAQ,SAAS,KAAK,YAAYM,CAAQ,EAAE;AAAA,EAClH;AACA,MAAIN,GAAO,YAAW3d,KAAOge,GAAe;AAC1C,UAAM7W,IAAc6W,EAAche,CAAG,GACnCyH,IAAaN,EAAYwG,EAAqB;AAChD,QAAI,CAACuQ,GAAuBzW,CAAU,EAAG;AACzC,UAAME,IAAQR,EAAY0G,EAAgB;AAC1C,IAAAmN,GAAavT,CAAU,IAAIE,EAAM,KAAK;AAAA,CACzC,GAAGgU,GAAmBlU,CAAU,GAAGqW,GAAYrW,GAAYE,CAAK;AAC7D,QAAI;AACF,iBAAWW,KAAQX,EAAO,CAAAgW,GAAM,WAAWrV,GAAMqV,GAAM,SAAS,MAAM;AAAA,IACxE,QAAQ;AACN,cAAQ,IAAI,aAAa,gBAAgB,QAAQ,MAAM,8BAA8BhW,CAAK;AAAA,IAC5F;AAAA,EACF;AACF;AACA,MAAMwW,KAAc,QAAQ,IAAI,gCAAgC,CAAC,QAAQ,IAAI,gCAAgC;AAC7G,SAASD,GAAuBzW,GAAY;AAC1C,MAAI,QAAQ,IAAI,cAAc,YAAa,QAAO;AAClD,QAAM2W,IAAQrD,GAAuB,IAAItT,CAAU,KAAK;AACxD,SAAO,QAAQ,IAAI,aAAa,iBAAiB2W,IAAQ,EAAE,QAAQ,IAAI,yCAAyC,OAAO,QAAQ,KAAK,gUAAgU,GAAGA,IAAQD;AACjd;ACrKA,SAASE,GAAiBre,GAAK;AAC7B,MAAI,CAACA,EAAI,WAAW,WAAW,EAAG,QAAO;AACzC,QAAMmO,IAAWnO,EAAI,MAAM,EAAE;AAC7B;AAAA;AAAA,IAEEmO,MAAa3K;AAAA,IAEb2K,MAAa;AAAA;AAEjB;ACVA,SAASmQ,GAActe,GAAKue,GAAiB;AAC3C,MAAIve,EAAI,WAAW,SAAS,EAAG,QAAOA,EAAI,MAAM,CAAC,EAAE,WAAWue,CAAe;AAC/E;ACDA,SAASC,KAAOC,GAAM;AACpB,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,IAAAlT,GAAmB,EAAE;AACrB,QAAI;AACF,aAAO,QAAQ,KAAK,GAAGkT,CAAI;AAAA,IAC7B,SAASC,GAAK;AACZ,cAAQ,MAAMA,CAAG;AAAA,IACnB,UAAC;AACC,MAAAnT,GAAmB,EAAE;AAAA,IACvB;AAAA,EACF;AACF;ACRA,MAAMoT,KAAW,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC;AAC3E,SAASC,GAAY5e,GAAKlB,GAAO;AAC/B,MAAIkB,MAAQ,OAAQ,QAAOlB,MAAU,KAAK6f,KAAW,CAAC,CAAC,YAAY7f,CAAK,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,aAAaiF,GAAW,aAAa,MAAM,WAAW,SAAS,CAAC,CAAC;AAChK,UAAQ/D,GAAG;AAAA,IACT,KAAK;AACH,aAAO,CAAC,CAAC,aAAalB,CAAK,CAAC;AAAA;AAAA,IAE9B,KAAK;AACH,aAAO,CAAC,CAAC,kBAAkBA,CAAK,GAAG,CAAC,wBAAwBA,CAAK,CAAC;AAAA,EACxE;AACE,MAAIkB,KAAO6e,GAAY,QAAOA,GAAW7e,CAAG,EAAE,IAAI,CAAAU,MAAK,CAACA,GAAG5B,CAAK,CAAC;AACnE;AACA,MAAMggB,KAAM,CAAC,OAAO,SAAS,UAAU,MAAM,GAC3CC,KAAQ,CAAC,SAAS,MAAM,GACxBC,KAAO,CAAC,OAAO,QAAQ,GACvBC,KAAK,CAAC,KAAK,GAAG,GACdJ,KAAa;AAAA,EACX,aAAa,CAAC,YAAY,cAAc,eAAe,WAAW;AAAA,EAClE,cAAc,CAAC,iBAAiB,kBAAkB,qBAAqB,kBAAkB;AAAA,EACzF,aAAa,CAAC,YAAY,cAAc,eAAe,WAAW;AAAA,EAClE,QAAQC;AAAA,EACR,kBAAkBC;AAAA,EAClB,gBAAgBC;AAAA,EAChB,SAASF;AAAA,EACT,mBAAmBC;AAAA,EACnB,iBAAiBC;AAAA;AAAA,EAGf,aAAa,CAAC,YAAY,cAAc,eAAe,WAAW;AAAA;AAAA,EAElE,UAAUC;AAAA,EACV,oBAAoBA;AAE1B;;AACA,WAAWjK,KAAU6J,IAAY;AAC/B,QAAMhW,IAASmM,EAAO,MAAM,KAAGpE,KAAA,QAAQ,KAAKoE,CAAM,MAAnB,gBAAApE,GAAsB,UAASoE,EAAO,MAAM;AAC3E,EAAA6J,GAAW7J,CAAM,IAAI6J,GAAW7J,CAAM,EAAE,IAAI,CAAAtU,MAAK,GAAGmI,CAAM,GAAGnI,CAAC,EAAE;AAClE;ACvCA,MAAMG,KAAuB,oBAAI,QAAO,GACtCqe,KAAmB,CAAArT,MAAc;AAC/B,MAAIhL,GAAM,IAAIgL,CAAU,EAAG,QAAOhL,GAAM,IAAIgL,CAAU;AACtD,QAAM;AAAA,IACF,OAAA/L;AAAA,IACA,MAAA6D;AAAA,IACA,SAAA1E;AAAA,IACA,OAAAf;AAAA,IACA,YAAAihB;AAAA,EACR,IAAUtT,GACJuT,IAAgBD,EAAW;AAC7B,MAAIE,IAAQ1b,EAAK;AACjB,EAAA1E,KAAA,QAAAA,EAAS,aAAaogB,IAAQC,GAAoB3b,EAAK,aAAa1E,EAAQ,QAAQ;AACpF,QAAMkD,IAAO;AAAA,IACX,OAAAkd;AAAA,IACA,QAAQ1b,EAAK;AAAA,IACb,OAAAzF;AAAA,IACA,SAASkhB;AAAA,IACT,IAAI,aAAa;AACf,aAAOrO,GAAiBlF,EAAW,cAAcA,EAAW,MAAM,UAAU,KAAK/L,EAAM,cAAciR,GAAiBhN,GAAW,aAAa,CAAC;AAAA,IACjJ;AAAA,IACA,IAAI,OAAO;AACT,aAAOsb,EAAM,KAAK,UAAU,MAAM,CAACvf,EAAM,cAAcA,EAAM,WAAW,CAAC,MAAM,MAAMuf,EAAMtb,GAAW,aAAa,KAAK,EAAE,IAAI;AAAA,IAChI;AAAA,IACA,OAAAjE;AAAA,EACN;AACI,SAAOe,GAAM,IAAIgL,GAAY1J,CAAI,GAAGA;AACtC,GACAod,KAAmC,oBAAI,QAAO;AAChD,SAASD,GAAoBD,GAAOG,GAAU;AAC5C,MAAID,GAAkB,IAAIC,CAAQ,EAAG,QAAOD,GAAkB,IAAIC,CAAQ;AAC1E,QAAMrd,IAAO;AAAA,IACX,GAAGkd;AAAA,IACH,GAAG,OAAO,YAAY,OAAO,QAAQG,CAAQ,EAAE,QAAQ,CAAC,CAACja,GAAMka,CAAI,MAAM;AACvE,UAAIA,MAAS,UAAW,QAAO,CAAA;AAC/B,YAAMC,IAAU,IAAIna,CAAI,IAAIka,CAAI;AAChC,aAAO,CAAC,CAAC,IAAIla,CAAI,IAAI8Z,EAAMK,CAAO,CAAC,CAAC;AAAA,IACtC,CAAC,CAAC;AAAA,EACN;AACE,SAAOH,GAAkB,IAAIC,GAAUrd,CAAI,GAAGA;AAChD;ACtCA,MAAMwd,KAAgB;AAAA,EACpB,UAAU;AAAA,EACV,YAAY;AACd;AACA,IAAIC,KAAqB,IACvBC,KAAuB;AACzB,SAASC,KAAyB;AAChC,SAAOD;AACT;AACA,SAASE,GAAuBjhB,GAAO;AACrC,EAAA+gB,KAAuB/gB;AACzB;AACA,MAAMkhB,KAAiB,CAAChgB,GAAKlB,GAAOqgB,GAAYtT,MAAe;;AAC7D,MAAIoU,IAAYd,EAAW,iBAAiB;AAC5C,MAAIc,MAAc,OAAQ,QAAOnhB;AACjC,QAAM;AAAA,IACF,OAAAZ;AAAA,IACA,MAAAyF,IAAOO,GAAS;AAAA,IAChB,SAAAjF;AAAA,IACA,YAAAihB;AAAA,IACA,cAAAzI;AAAA,EACN,IAAQ5L,GACJsU,IAAajiB,IAAQA,EAAMY,CAAK,KAAKZ,EAAMY,EAAM,MAAM,CAAC,CAAC,IAAI,QAC7DshB,IAAezc,EAAK;AACtB,MAAI0c,GACFC,IAAS;AACX,QAAMC,KAAoB3P,IAAA6G,KAAA,gBAAAA,EAAc,WAAd,gBAAA7G,EAAuB5Q;AACjD,MAAIugB,GAAmB;AACrB,UAAMjgB,IAAM6f,OAActM,IAAAuM,EAAaG,CAAiB,MAA9B,gBAAA1M,EAAkC/U;AAC5D,IAAAwB,KAAO,SAAS2f,IAAY,SAASI,IAAW/f,GAAKggB,IAAS;AAAA,EAChE;AACA,MAAIH,GAAY;AACd,QAAIF,MAAc,eAAgB,QAAOnhB;AACzC,IAAAuhB,IAAWF,GAAY,QAAQ,IAAI,aAAa,iBAAiBtU,EAAW,UAAU,cAAc,WAAW,uBAAuB,IAAI,QAAQ,KAAK,gBAAgB7L,CAAG,mBAAmBlB,CAAK,cAAcmhB,CAAS,IAAII,CAAQ,GAAG,WAAW,uBAAuB,KAAKC,IAAS;AAAA,EAC1R,OAAO;AACL,QAAIxhB,KAAS6E,EAAK,eAAgB,CAAA2c,IAAS,IAAID,IAAW1c,EAAK,eAAe7E,CAAK;AAAA,SAAO;AACxF,cAAQkB,GAAG;AAAA,QACT,KAAK,cACH;AACE,UAAAqgB,MAAYrM,KAAA/U,KAAA,QAAAA,EAAS,WAAWqgB,GAAoB3b,EAAK,aAAa1E,EAAQ,QAAQ,IAAI0E,EAAK,aAAa7E,CAAK,MAArG,gBAAAkV,EAAwG,WAAUlV,GAAOihB,GAAuBjhB,CAAK,GAAGwhB,IAAS;AAC7K;AAAA,QACF;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK,cACH;AACE,gBAAME,IAAMN,KAAcvc,EAAK;AAC/B,cAAI6c,GAAK;AACP,kBAAMC,IAAcxhB,KAAA,QAAAA,EAAS,WAAWqgB,GAAoB3b,EAAK,aAAa1E,EAAQ,QAAQ,IAAI0E,EAAK;AACvG,YAAA0c,MAAYK,KAAAzM,IAAAwM,EAAYD,CAAG,KAAKC,EAAY9c,EAAK,gBAAgB,MAArD,gBAAAsQ,EAA0D0L,GAAc3f,CAAG,KAAKA,OAAhF,gBAAA0gB,EAAuF5hB,OAAUA,GAAOwhB,IAAS;AAAA,UAC/H;AACA;AAAA,QACF;AAAA,MACV;AACM,iBAAWK,KAAO/R,GAAiB,KAAI5O,KAAO4O,GAAgB+R,CAAG,GAAG;AAClE,cAAMlc,KAAMmc,IAAAR,EAAaO,CAAG,MAAhB,gBAAAC,EAAoB9hB;AAChC,QAAA2F,KAAO,QAAQ4b,IAAW5b,GAAK6b,IAAS,MAAM,QAAQ,IAAI,aAAa,iBAAiB,QAAQ,IAAI,sCAAsC,QAAQV,OAAuBA,KAAqB,IAAI,QAAQ,eAAe,oCAAoC5f,CAAG,gBAAgB2gB,CAAG,MAAM7hB,CAAK,qBAAqB,GAAG,QAAQ,KAAK;AAAA,4HAC/M,GAAG,QAAQ,KAAK;AAAA,8EAC9D,GAAG,QAAQ,KAAK,0GAA0G,GAAG,QAAQ,KAAK,iJAAiJ,GAAG,QAAQ,SAAQ;AAAA,MACtX;AAAA,IACF;AACA,QAAI,CAACwhB,GAAQ;AACX,YAAMO,IAAWT,EAAa,MAAMthB,CAAK;AACzC,MAAA+hB,KAAY,SAASR,IAAWQ,GAAUP,IAAS;AAAA,IACrD;AAAA,EACF;AACA,MAAIA,GAAQ;AACV,UAAMvgB,IAAM+gB,GAAqB9gB,GAAKqgB,GAAUJ,CAAS;AACzD,WAAO,QAAQ,IAAI,aAAa,iBAAiBpU,EAAW,UAAU,cAAc,WAAW,uBAAuB,IAAI,QAAQ,KAAK,YAAYoU,GAAWI,GAAUtgB,CAAG,GAAG,WAAW,uBAAuB,KAAKA;AAAA,EACvN;AACA,UAAQ,IAAI,aAAa,iBAAiB8L,EAAW,UAAU,aAAa,QAAQ,KAAK,+BAA+B7L,CAAG,YAAY;AACzI;AACA,SAAS8gB,GAAqB9gB,GAAKqgB,GAAUU,GAAe;AAC1D,MAAIA,MAAkB,OAAQ,QAAOV;AACrC,MAAInQ,GAAWmQ,CAAQ,GAAG;AACxB,QAAIU,MAAkB,QAAS,QAAOV,EAAS;AAC/C,UAAMW,IAAMX,KAAA,gBAAAA,EAAU;AACtB,WAAO,OAAOW,KAAO,aAAaA,EAAID,MAAkB,QAAQ,QAAQ,MAAM,IAAIV,EAAS;AAAA,EAC7F;AACA,SAAOA;AACT;ACrFA,MAAMY,KAAQ,CAAAvE,MAAKA,KAAK,CAAC,MAAM,QAAQA,CAAC,KAAK,OAAOA,KAAK;ACKzD,SAASwE,GAAe3I,GAAO4I,IAAmB,IAAI;AACpD,QAAM1c,IAAM,CAAA;AACZ,WAASzE,KAAOuY,GAAO;AACrB,UAAM6I,IAAO7I,EAAMvY,CAAG;AACtB,QAAIohB,KAAQ,KAAM;AAClB,QAAIphB,KAAON;AAAA,IAEXM,EAAI,CAAC,MAAM,OAAOihB,GAAMG,CAAI,GAAG;AAC7B,MAAA3c,EAAIzE,CAAG,IAAIkhB,GAAeE,GAAMD,CAAgB;AAChD;AAAA,IACF;AACA,UAAMriB,IAAQqiB,IAAmBC,IAAOvI,GAA2BuI,GAAMphB,CAAG,GAC1ED,IAAM6e,GAAY5e,GAAKlB,CAAK;AAC9B,IAAAiB,IAAM,OAAO,OAAO0E,GAAK,OAAO,YAAY1E,CAAG,CAAC,IAAI0E,EAAIzE,CAAG,IAAIlB;AAAA,EACjE;AACA,SAAOwZ,GAAU7T,CAAG,GAAGA;AACzB;ACpBA,MAAM4c,KAAe;AACrB,SAASC,GAAqBC,GAAMziB,GAAOqgB,GAAYtT,GAAY;AACjE,SAAO/M,EAAM,QAAQuiB,IAAc,CAAAG,MAAK;AACtC,QAAI3G,IAAImF,GAAe,QAAQwB,GAAGrC,GAAYtT,CAAU;AACxD,WAAOgP,KAAK,SAASA,IAAImF,GAAe,SAASwB,GAAGrC,GAAYtT,CAAU,IAAIgP,KAAK,OAAO,OAAOA,CAAC,IAAI2G;AAAA,EACxG,CAAC;AACH;ACNA,MAAMC,KAAe;AAAA,EACnB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,QAAQ;AAAA,EACR,SAAS;AACX;AACA,SAASC,GAAsB1hB,GAAKlB,GAAOqgB,GAAYtT,GAAY;AACjE,SAAO,CAAC/M,EAAM,SAAS,GAAG,KAAK,CAAC2iB,GAAazhB,CAAG,IAAIlB,IAAQwiB,GAAqBthB,GAAKlB,GAAOqgB,GAAYtT,CAAU;AACrH;ACRA,SAAS8V,GAAW7iB,GAAO;AACzB,SAAO,OAAOA,KAAS,YAAYA,EAAM,SAAS,KAAK;AACzD;ACLA,MAAM8iB,KAAkB;AAAA,EACtB,6BAA6B;AAAA,EAC7B,kCAAkC;AAAA,EAClC,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,8BAA8B;AAAA,EAC9B,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,SAAS;AAAA,EACT,2BAA2B;AAAA,EAC3B,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,kBAAkB;AAAA,EAClB,gCAAgC;AAAA,EAChC,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,mBAAmB;AACrB,GChCMC,KAAY;AAAA,EAChB,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,QAAQ;AAAA,EACR,OAAO;AAAA;AAAA,EAEP,OAAO;AAAA,EACP,iBAAiB;AACnB;AACA,QAAQ,IAAI,aAAa,WAAWA,GAAU,mBAAmB,IAAI;AACrE,OAAO,OAAOA,IAAWD,EAAe;ACNxC,MAAME,KAAa,CAAC9hB,GAAKlB,GAAO+M,GAAYkW,GAAUC,MAAQ;AAC1D,MAAID,EAAU,QAAOC,EAAIhiB,GAAKlB,CAAK;AACnC,MAAIihB,GAAuB,IAAI,GAAG/f,MAAQ,mBAAoB;AAC9D,QAAM;AAAA,IACF,MAAA2D;AAAA,IACA,YAAAwb;AAAA,IACA,cAAA1H;AAAA,EACR,IAAU5L,GACJ;AAAA,IACE,UAAAoW;AAAA,EACR,IAAUxK;AACN,MAAI,CAAC0H,EAAW,YAAY8C,KAAYjiB,KAAOiiB,GAAU;AACvD,UAAMC,IAAeC,GAAgBniB,GAAKlB,GAAOqgB,GAAYtT,GAAY,EAAE;AAC3E,QAAIqW,GAAc;AAChB,MAAAA,EAAa,QAAQ,CAAC,CAACE,GAAMC,CAAM,MAAML,EAAII,GAAMC,CAAM,CAAC;AAC1D;AAAA,IACF;AAAA,EACF;AACA,EAAAlD,EAAW,2BAA2Bnf,KAAO2D,EAAK,eAAe3D,IAAM2D,EAAK,WAAW3D,CAAG;AAC1F,QAAMsiB,IAAgBxjB;AACtB,MAAIA,KAAS,KAAM,KAAI,OAAOA,KAAS;AACrC,QAAIA,EAAM,CAAC,MAAM,IAAK,CAAAA,IAAQkhB,GAAehgB,GAAKlB,GAAOqgB,GAAYtT,CAAU;AAAA,SAAO;AACpF,YAAM0W,IAAWb,GAAsB1hB,GAAKlB,GAAOqgB,GAAYtT,CAAU;AACzE,MAAA/M,IAAQyjB,MAAazjB,IAAQyjB,IAAWZ,GAAW7iB,CAAK,IAAeA,IAASA;AAAA,IAClF;AAAA,MACK,CAAAoR,GAAWpR,CAAK,IAAIA,IAAQgiB,GAAqB9gB,GAAKlB,GAAOqgB,EAAW,aAAa,IAAIwC,GAAW7iB,CAAK,MAAMA,IAAmBA;AACzI,MAAIA,KAAS,MAAM;AACjB,UAAM0jB,IAAY1C,GAAsB;AACxC,IAAA9f,MAAQ,gBAAgBwiB,MAAc3W,EAAW,aAAa2W;AAC9D,UAAMC,IAAWtD,EAAW,WAAW,OAAOP,GAAY5e,GAAKlB,CAAK;AACpE,QAAI2jB,GAAU;AACZ,YAAMrV,IAAMqV,EAAS;AACrB,eAAStc,IAAI,GAAGA,IAAIiH,GAAKjH,KAAK;AAC5B,cAAM,CAACuc,GAAMC,CAAM,IAAIF,EAAStc,CAAC;AACjC,QAAA6b,EAAIU,GAAMC,GAAQL,CAAa;AAAA,MACjC;AAAA,IACF,MAAO,CAAAN,EAAIhiB,GAAKlB,GAAOwjB,CAAa;AAAA,EACtC;AACF,GACAH,KAAkB,CAACniB,GAAKlB,GAAOqgB,GAAYtT,GAAY+W,MAAqB;AAC1E,QAAM;AAAA,IACF,cAAAnL;AAAA,IACA,MAAA9T;AAAA,IACA,OAAAhB;AAAA,EACR,IAAUkJ,GACJ;AAAA,IACE,UAAAoW;AAAA,EACR,IAAUxK;AACN,MAAI,CAACwK,EAAU;AACf,MAAIC,IAAeW,GAAqBZ,EAASjiB,CAAG,GAAGlB,GAAO6E,GAAMkI,CAAU;AAC9E,MAAI,QAAQ,IAAI,aAAa,iBAAiBlJ,MAAU,cAAc,QAAQ,eAAe,0BAAwD3C,CAAG,EAAE,GAAG,QAAQ,KAAK;AAAA,IACxK,KAAAA;AAAA,IACA,OAAAlB;AAAA,IACA,cAAAojB;AAAA,IACA,UAAAD;AAAA,EACN,CAAK,GAAG,QAAQ,aAAa,CAACC,GAAc;AACtC,QAAI,QAAQ,IAAI,oCAAoC,OAAO,OAAOpjB,KAAS,WAAW;AACpF,YAAMyG,IAAOkS,EAAa,iBAAiB;AAC3C,cAAQ,KAAK,qBAAqBlS,CAAI,iBAAiBvF,CAAG,6BAA6BlB,CAAK,GAAG;AAAA,IACjG;AACA;AAAA,EACF;AACA,MAAI,OAAOojB,KAAgB,YAAY;AACrC,UAAMY,IAAKZ,GACTa,IAAS7D,GAAiBrT,CAAU;AACtC,IAAAqW,IAAeY,EAAGhkB,GAAOikB,CAAM,GAAG,QAAQ,IAAI,aAAa,iBAAiBpgB,MAAU,cAAc,QAAQ,eAAe,kCAAkC3C,CAAG,GAAG,QAAQ,KAAK;AAAA,MAC9K,IAAA8iB;AAAA,MACA,cAAAZ;AAAA,MACA,QAAAa;AAAA,IACR,CAAO,GAAG,QAAQ;EACd;AACA,MAAIC;AACJ,MAAI/B,GAAMiB,CAAY,GAAG;AACvB,UAAMe,IAAmBf,EAAa,cAAcA,EAAave,EAAK,kBAAkB,UAAU;AAClG,IAAAsf,MAAqBD,IAAmBE,GAAgCD,GAAkBtf,CAAI,GAAGkI,EAAW,aAAamX,GAAkB,QAAQ,IAAI,aAAa,iBAAiBrgB,MAAU,aAAa,QAAQ,KAAK,2BAA2BqgB,CAAgB,IAAId,IAAeiB,GAAyBnjB,GAAKkiB,GAAc/C,GAAYtT,GAAY+W,CAAgB;AAAA,EAC7W;AACA,MAAIV,GAAc;AAChB,UAAMO,IAAWvB,GAAegB,GAAc,CAAC,CAAC/C,EAAW,WAAW;AACtE,YAAQ,IAAI,aAAa,iBAAiBxc,MAAU,aAAa,QAAQ,KAAK,6BAA6Buf,GAAc,MAAMO,CAAQ;AACvI,UAAMtgB,IAAO,OAAO,QAAQsgB,CAAQ;AACpC,WAAOO,KAAoBA,EAAiB,CAAC,MAAM,OAAOjD,GAAuBhP,GAAiBiS,CAAgB,CAAC,GAAG7gB;AAAA,EACxH;AACF;AACF,SAAS+gB,GAAgCE,GAAOzf,GAAM;AACpD,MAAIuM,GAAWkT,CAAK,GAAG;AACrB,UAAM9iB,IAAM+iB,GAAwB,IAAID,CAAK;AAC7C,QAAI9iB,EAAK,QAAOA;AAChB,eAAWN,KAAO2D,EAAK,aAAa;AAClC,YAAM2f,IAAiB3f,EAAK,YAAY3D,CAAG,EAAE;AAC7C,UAAIkQ,GAAWoT,CAAc,MAAMD,GAAwB,IAAIC,GAAgBtjB,CAAG,GAAGsjB,MAAmBF,GAAQ,QAAOpjB;AAAA,IACzH;AAAA,EACF,WAAW,OAAOojB,KAAS,YAAYA,EAAM,CAAC,MAAM,IAAK,QAAOA;AAClE;AACA,MAAMC,KAAyC,oBAAI,QAAO,GACxDF,KAA2B,CAACnjB,GAAKlB,GAAOqgB,GAAYtT,GAAY+W,MAAqB;;AACnF,QAAM;AAAA,IACF,MAAAjf;AAAA,IACA,cAAA8T;AAAA,IACA,OAAA9U;AAAA,IACA,OAAAzE;AAAA,EACR,IAAU2N,GACJ;AAAA,IACE,UAAAoW;AAAA,EACR,IAAUxK,GACJhT,IAAM,CAAA;AACR,UAAQ,IAAI,aAAa,iBAAiB9B,MAAU,aAAa,QAAQ,KAAK,iCAAiC3C,GAAKlB,CAAK;AACzH,aAAWyiB,KAAQziB,GAAO;AACxB,UAAMsa,IAASzV,EAAK,WAAW4d,CAAI,KAAKA,GACtCjhB,IAAMxB,EAAMyiB,CAAI;AAClB,QAAI,EAAE,CAACpC,EAAW,UAAU/F,KAAUyI,KAAY;AAChD,UAAIpK,GAAc;AAChB,cAAMtX,MAAeyQ,IAAA6G,EAAa,YAAb,gBAAA7G,EAAsB,YAASoD,KAAAH,IAAA4D,EAAa,uBAAb,gBAAA5D,EAAiC,YAAjC,gBAAAG,EAA0C;AAC9F,QAAA7T,KAAgBiZ,KAAUjZ,MAAiB0L,EAAW,2BAAXA,EAAW,yBAA2B,CAAA,IAAIA,EAAW,uBAAuBuN,CAAM,IAAI9Y,GAAKuL,EAAW,8BAAXA,EAAW,4BAA8B,CAAA,IAAIA,EAAW,0BAA0BuN,CAAM,IAAI9Y;AAAA,MACpO;AACA,UAAI6e,EAAW,SAAU,CAAA1a,EAAI2U,CAAM,IAAI9Y;AAAA,eAAa2hB,KAAY7I,KAAU6I,GAAU;AAClF,YAAIW,KAAoBA,MAAqB5iB,EAAK,CAAAyE,EAAI2U,CAAM,IAAI9Y,EAAI,CAAC,MAAM,MAAM0f,GAAe5G,GAAQ9Y,GAAK6e,GAAYtT,CAAU,IAAIvL;AAAA,aAAS;AAC9I,gBAAMijB,IAAapB,GAAgB/I,GAAQ9Y,GAAK6e,GAAYtT,GAAY7L,CAAG;AAC3E,cAAIujB,EAAY,YAAW,CAACnB,GAAMoB,CAAI,KAAKD,EAAY,CAAAC,KAAQ,SAASpB,KAAQ1iB,MAAqB+E,EAAA2d,OAAA3d,EAAA2d,KAAc,KAAI,OAAO,OAAO3d,EAAI2d,CAAI,GAAGoB,CAAI,KAAK/e,EAAI2d,CAAI,IAAIoB;AAAA,QACvK;AACA;AAAA,MACF;AACA,UAAItT,GAAW5P,CAAG,GAAG;AACnB,QAAAmE,EAAI2U,CAAM,IAAI0H,GAAqB1H,GAAQ9Y,GAAK6e,EAAW,aAAa,GAAG,QAAQ,IAAI,aAAa,iBAAiBxc,MAAU,aAAa,QAAQ,KAAK,YAAYyW,GAAQ3U,EAAI2U,CAAM,CAAC;AACxL;AAAA,MACF;AACA,UAAI,OAAO9Y,KAAO,UAAU;AAC1B,cAAMmjB,IAAOnjB,EAAI,CAAC,MAAM,MAAM0f,GAAe5G,GAAQ9Y,GAAK6e,GAAYtT,CAAU,IAAI6V,GAAsBtI,GAAQ9Y,GAAK6e,GAAYtT,CAAU;AAC7I,QAAApH,EAAI2U,CAAM,IAAIqK,MAASnjB,KAAOqhB,GAAWrhB,CAAG,IAAeA,IAAOmjB;AAClE;AAAA,MACF;AACA,UAAIxC,GAAM3gB,CAAG,GAAG;AACd,cAAMojB,IAAYP,GAAyB/J,GAAQ9Y,GAAK6e,GAAYtT,GAAY7L,CAAG;AACnF,gBAAQ,IAAI,aAAa,iBAAiB2C,MAAU,aAAa,QAAQ,KAAK,UAAUyW,GAAQsK,CAAS,GAAGjf,EAAA2U,OAAA3U,EAAA2U,KAAgB,KAAI,OAAO,OAAO3U,EAAI2U,CAAM,GAAGsK,CAAS;AAAA,MACtK,MAAO,CAAAjf,EAAI2U,CAAM,IAAI9Y;AACrB,cAAQ,IAAI,aAAa,iBAAiBqC,OAASsR,IAAAxP,EAAI2U,CAAM,MAAV,gBAAAnF,EAAc,QAAO,OAAO,QAAQ,KAAK,6BAAuC/V,EAAM,IAAI,KAAKkb,GAAQ3U,EAAI2U,CAAM,GAAGlb,CAAK;AAAA,IAC9K;AAAA,EACF;AACA,SAAOuG;AACT,GACAkf,KAAY,CAAC,QAAQ,SAAS,UAAU,SAAS,QAAQ,EAAE,IAAI,CAAApe,OAAS;AAAA,EACtE,MAAAA;AAAA,EACA,YAAY,MAAMA,CAAI;AAC1B,EAAI;AACJ,SAASsd,GAAqBe,GAAS9kB,GAAO6E,GAAM;AAAA,EAClD,OAAAzF;AACF,GAAG;AACD,MAAI,CAAC0lB,EAAS;AACd,MAAI,OAAOA,KAAW,WAAY,QAAOA;AACzC,QAAMC,IAAQD,EAAQ9kB,CAAK;AAC3B,MAAI+kB,EAAO,QAAOA;AAClB,MAAI/kB,KAAS,MAAM;AACjB,UAAM;AAAA,MACJ,cAAAshB;AAAA,IACN,IAAQzc;AACJ,eAAW;AAAA,MACT,MAAA4B;AAAA,MACA,YAAAue;AAAA,IACN,KAASH,GAAW,KAAIG,KAAcF,MAAYre,KAAQ6a,KAAgBthB,KAASshB,EAAa7a,CAAI,KAAKA,MAAS,WAAWrH,KAAS,OAAOY,KAAS,YAAYA,EAAM,CAAC,MAAM,OAAOA,EAAM,MAAM,CAAC,KAAKZ,GAAQ,QAAO0lB,EAAQE,CAAU;AACrO,UAAMC,IAAkBH,EAAQ,aAAa;AAC7C,QAAIG,KAAmBpgB,EAAK,eAAe,IAAI7E,CAAK,EAAG,QAAOilB;AAAA,EAChE;AACA,SAAOH,EAAQ,IAAI,OAAO9kB,CAAK,EAAE,KAAK8kB,EAAQ,KAAK;AACrD;AC/KA,MAAMI,KAAa,CAACxe,GAAGC,MAAMD,IAAIC,IAAI,KAAKD,IAAIC,IAAI,IAAI;ACuBtD,IAAI9B;AACJ,MAAMsgB,KAAqC,oBAAI,QAAO,GACpDC,KAAa;AACf,SAASC,GAAkBnkB,GAAKokB,GAAc;AAC5C,QAAMC,IAAQrkB,EAAI,MAAM,GAAG,GACzBskB,IAAOD,EAAM;AACf;AAAA;AAAA,IAEAC,MAAS,KAAKA,MAAS,KAAK7kB,GAAiB4kB,EAAMA,EAAM,SAAS,CAAC,CAAC;AAAA,IAAG;AACrE,UAAM9e,IAAO8e,EAAM,CAAC;AACpB,QAAI9e,MAAS,UAAU6e,KAAgB,CAACA,EAAa7e,CAAI,EAAG,QAAOvF,EAAI,QAAQ,WAAW,cAAc;AAAA,EAC1G;AACA,SAAOA;AACT;AACA,SAASukB,GAAgBvkB,GAAK0P,GAAa8U,GAAQ;AACjD,SAAOxkB,KAAO0P,IAAc,KAAK8U,KAAUxkB,KAAOwkB;AACpD;AACA,MAAMC,KAAiB,CAAC3kB,GAAO2X,GAAcvZ,GAAOof,GAAW1S,GAAgBuU,GAAYuF,GAAmB/Z,GAAkByZ,GAAcO,GAAaC,GAAmBjiB,GAAOkiB,MAAoB;;AACvM,EAAAlhB,KAAOA,MAAQO,GAAS;AACxB,QAAM2T,IAASgN,MAAmBla,KAAA,gBAAAA,EAAkB,oBAAmBhH,GAAK;AAC5E,MAAI7D,EAAM,YAAa,QAAO;AACrB,EAAAqf,EAAW,eAActH,KAAA,QAAAA,EAAQ,kBAAiB,CAACsH,EAAW,gBAAgBA,EAAW,cAAc;AAChH,QAAM;AAAA,IACF,YAAA2F;AAAA,EACN,IAAQnhB,IACJ;AAAA,IACE,OAAAohB;AAAA,IACA,QAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAhD;AAAA,IACA,eAAAiD;AAAA,IACA,aAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,EACN,IAAQ7N,GACJ8N,IAAY,CAAA,GACZ5gB,IAAawa,EAAW,cAAcqG,IACtCC,IAAkBH,KAAoBpiB,MAAS,CAACic,EAAW,SAC3DnB,IAAgB,CAAA,GAChB0H,IAAa,CAAA;AACH,EAAA5lB,EAAM;AACpB,MAAI6lB,IAAU,MACVC,IAAW,IACXC,IACAC,IACAra,GACAsa,KAAYjmB,EAAM,aAAa,IAC/BkmB,KAAkB;AACpB,QAAMtW,KAAc+H,EAAa,gBAAgBA,EAAa,UAAUA,EAAa,UAAUlI,KAAiB0W;AAChH,UAAQ,IAAI,aAAa,kBAAkBtjB,MAAU,aAAa,WAAW,SAAS;AACtF,QAAMkJ,IAAa;AAAA,IACjB,YAAA6Z;AAAA,IACA,MAAA/hB;AAAA,IACA,OAAA7D;AAAA,IACA,YAAAqf;AAAA,IACA,gBAAAvU;AAAA,IACA,cAAA6M;AAAA,IACA,OAAO;AAAA,IACP,OAAAvZ;AAAA,IACA,UAAU,CAAA;AAAA,IACV,WAAAqnB;AAAA,IACA,SAAS5a;AAAA,IACT,OAAAhI;AAAA;AAAA,IAEA,iBAAiBkV;AAAA,EACrB;AACE,MAAI,QAAQ,IAAI,cAAc,aAAa;AACzC,UAAM;AAAA,MACJ,eAAAqO;AAAA,IACN,IAAQ/G;AACJ,IAAA+G,MAAkBra,EAAW,QAAQ,IAAI,MAAM/L,GAAO;AAAA,MACpD,IAAIoF,GAAGlF,GAAKM,IAAK;AACf,eAAO,QAAQ,IAAIR,GAAOE,CAAG,IAAI,QAAQ,IAAIF,GAAOE,CAAG,IAAI,QAAQ,IAAIkmB,GAAelmB,CAAG;AAAA,MAC3F;AAAA,IACN,CAAK;AAAA,EACH;AACA,UAAQ,IAAI,aAAa,kBAAkB2C,MAAU,aAAa,WAAW,SAAS,mBAAmB,QAAQ,IAAI,aAAa,iBAAiBA,MAAU,aAAaU,MAAY4T,OAAe,QAAQ,eAAe,sBAAoC,GAAGuH,EAAI;AAAA,IACrQ,OAAA1e;AAAA,IACA,cAAA2X;AAAA,IACA,iBAAAgO;AAAA,IACA,YAAAtG;AAAA,IACA,eAAAnB;AAAA,IACA,gBAAApT;AAAA,IACA,YAAAiB;AAAA,IACA,OAAO;AAAA,MACL,GAAG3N;AAAA,IACT;AAAA,EACA,CAAG;AACD,QAAM;AAAA,IACF,SAAAioB;AAAA,EACN,IAAQrmB,GACJ;AAAA,IACE,QAAA0kB;AAAA,EACN,IAAQ/M,GACJ;AAAA,IACE,QAAA2O;AAAA,IACA,yBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAlH;AAAA,EACN,IAAQD,GACJ;AAAA,IACE,kBAAAoH;AAAA,EACN,IAAQ5iB,GAAK,UACT6iB,KAAiBnB,KAAA,gBAAAA,EAAoB;AACvC,aAAWoB,KAAS3mB,GAAO;AACzB,QAAI4mB,IAAUD,GACZE,IAAU7mB,EAAM4mB,CAAO;AACzB,QAAIA,MAAY,YAAY;AAC1B,MAAAnB,EAAUmB,CAAO,IAAIC;AACrB;AAAA,IACF;AACA,QAAI,QAAQ,IAAI,aAAa,kBAAkBhkB,MAAU,aAAa,WAAW,SAAS,mBAAmB+jB,CAAO,IAAI,QAAQ,IAAI,aAAa,UAAUA,MAAY,oBAAqB;AAC5L,QAAIlC,IAAQ;AACV,YAAMoC,IAAWpC,GAAOkC,CAAO;AAC/B,WAAKE,MAAa,WAAWA,MAAa,gBAAgBD,KAAW,OAAOA,KAAW,UAAU;AAC/F,QAAApB,EAAUmB,CAAO,IAAIG,GAAYhb,GAAY6a,GAASC,GAASxH,EAAW,OAAO;AACjF;AAAA,MACF;AAAA,IACF;AACA,QAAIkH,KAA2BK,KAAW5B,MAAe4B,IAAU5B,EAAW4B,CAAO,IAAIA,MAAY,YAAa;AAClH,QAAIP,IAAS;AACX,YAAMW,IAAWtP,GAAgBC,CAAY;AAC7C,UAAIqP,GAAU;AACZ,cAAMvmB,KAAaumB,EAASL,CAAK,KAAKK,EAASJ,CAAO;AACtD,YAAInmB,OAAe,UAAUomB,MAAYpmB,GAAY;AAAA,MACvD;AAAA,IACF;AACA,QAAImmB,KAAW7E,MAAa,CAACuE,KAAU,CAACrB,GAAO;AAC7C,UAAI2B,MAAY,SAAS;AACvB,cAAMjf,IAAa,WAAWkf,CAAO,IACnCI,KAAe,CAAC,YAAY,QAAQtf,GAAY,QAAQ,CAAC,IAAIA,CAAU,sBAAsBkf,CAAO,qBAAqBJ,MAAoB,aAAa,KAAK,CAAC;AAClK,QAAAS,GAAsBhJ,GAAe+I,EAAY;AAAA,MACnD;AACA;AAAA,IACF;AACA,QAAIE,KAAsB1C,GAAgBmC,GAAShX,IAAa8U,EAAM;AACtE,QAAI/M,EAAa,iBAAiBiP,EAAQ,WAAW,OAAO,GAAG;AAC7D,MAAAA,IAAUA,EAAQ,QAAQ,SAAS,EAAE,GAAGnB,EAAU,YAAVA,EAAU,UAAY,CAAA,IAAIA,EAAU,QAAQmB,CAAO,IAAIC;AAC/F;AAAA,IACF;AACA,QAAI,CAACL,IAAU;AACb,UAAII,MAAY,cAAcC,MAAY,OAAOpB,EAAU,eAAe,IAAI,KAAKZ,MAAgB,YAAYA,MAAgB,UAAUA,MAAgB,WAAWA,MAAgB,YAAYA,MAAgB,gBAAgBY,EAAU,WAAW,KAAK,EAACtD,KAAA,QAAAA,EAAU,WAAW;AAChR,UAAIyE,MAAY,UAAU;AACxB,QAAAxB,IAAgBK,EAAU,SAASoB,KAAWpB,EAAU,aAAa,IAAIoB,GAASxH,EAAW,eAActH,KAAA,QAAAA,EAAQ,mBAAkB0N,EAAU,SAASoB;AACxJ;AAAA,MACF;AACA,UAAID,MAAY,MAAM;AACpB,QAAAnB,EAAU,KAAKoB;AACf;AAAA,MACF;AAAA,IACF;AACA,QAAIO,KAAY,CAACD,MAAuBhF,KAAYyE,KAAWzE;AAC/D,UAAMkF,KAAiBF,MAAuBC;AAC9C,QAAIE,KAAWV,KAAWjX,IACxB4X,KAAU,CAACF,MAAkB,CAACC,KAAWle,GAAYwd,CAAO,IAAI,IAChEY,KAAkB,CAAC,EAAED,MAAWD;AAClC,IAAAE,MAAmBD,OAAY,YAAYX,IAAUvC,GAAkBuC,GAAStC,CAAY;AAC5F,UAAMmD,KAAcN,MAAuBK,MAAmBJ,MAAa,CAACZ;AAC5E,QAAIiB,OAAgBpB,OAAY,kBAAkBA,OAAY,oBAAqB;AACnF,UAAMqB,IAAiB,CAACD,MAAexC;AAAA,IAErCA,KAASyB,MAAkBE,KAAWF,OAAkBrB,KAAA,gBAAAA,EAAa,IAAIuB,KACzEe,KAAgBjB,MAAA,gBAAAA,GAAiBE,IACjCgB,KAAyB,CAAC,EAAE3C,MAAUkC,MAAuBK,MAAmBG,MAAiBf,KAAW7E,MAC5G8F,KAAoBH,KAAkBE;AACxC,QAAI,QAAQ,IAAI,aAAa,iBAAiB/kB,MAAU,cAAc,QAAQ,eAAe,QAAe8jB,CAAK,GAAGC,MAAYD,IAAQ,mBAAmBC,CAAO,MAAM,EAAE,IAAIiB,KAAoB,WAAW,EAAE,EAAE,GAAGnJ,EAAI;AAAA,MACtN,WAAA0I;AAAA,MACA,SAAAP;AAAA,MACA,gBAAAa;AAAA,IACN,CAAK,GAAGnkB,MAAYmb,EAAI;AAAA,MAClB,UAAAyD;AAAA,MACA,SAASA,KAAA,gBAAAA,EAAWyE;AAAA,MACpB,WAAAQ;AAAA,MACA,wBAAAQ;AAAA,MACA,UAAU;AAAA,QACR,GAAG7b,EAAW;AAAA,MACtB;AAAA,MACM,oBAAAwZ;AAAA,IACN,CAAK,IAAIsC,OAAsBC,GAAarC,GAAWmB,GAASC,GAASW,EAAe,GAAG,QAAQ,IAAI,aAAa,iBAAiB3kB,MAAU,aAAa,QAAQ,SAAQ,GAAI,CAACukB,IAAY;AACzL,QAAI,CAACd,KAAUM,KAAW7E,IAAW;AACnC,cAAQ,IAAI,aAAa,iBAAiBlf,MAAU,aAAa,QAAQ,SAAQ;AACjF;AAAA,IACF;AACA,KAACqiB,KAAUC,MAAY0B,MAAYD,MAAY,gBAAgBA,MAAY5B,EAAW,eAAe6B,KAAWhjB,GAAK,gBAAgBkI,EAAW,aAAa8a;AAC7J,UAAMkB,KAAiBP,MAAmB,CAACH;AAC3C,QAAIrF,GAAW4E,GAASC,GAAS9a,GAAYgc,IAAgB,CAAC7nB,GAAKM,IAAKwnB,OAAgB;;AACtF,YAAMC,KAAsB3I,MAAiBpf,KAAOof;AACpD,UAAI,CAAC2F,KAAS8C,MAAkB,CAACE,MAAuB,CAACT,IAAiB;AACxE,QAAA/B,EAAUvlB,CAAG,IAAIM;AACjB;AAAA,MACF;AACA,UAAI,QAAQ,IAAI,aAAa,iBAAiBqC,MAAU,cAAc,QAAQ,eAAe,iBAAwB+jB,GAAS,MAAM1mB,CAAG,GAAGwe,EAAIle,EAAG,GAAG,QAAQ,SAAQ,IAAKA,MAAO,MAChL;AAAA,YAAI,CAACykB,KAASR,GAAgBvkB,GAAK0P,IAAa8U,EAAM,GAAG;AACvD,UAAAwD,GAAWnc,GAAY7L,GAAKM,IAAK,GAAG,IAAIwnB,EAAW;AACnD;AAAA,QACF;AACA,YAAIV,KAAWpnB,KAAOyP,IAAiB4X,KAAUD,KAAW,KAAKle,GAAYlJ,CAAG,GAAGsnB,KAAkB,CAAC,EAAED,MAAWD,KAAWF,KAAYjF,KAAYjiB,KAAOiiB,GAAUoF,OAAY,YAAYrnB,IAAMmkB,GAAkBnkB,GAAKokB,CAAY,KAAKe,KAAA,QAAAA,EAAa,IAAInlB,MAAQ,QAAQ,IAAI,cAAc,gBAAeolB,KAAA,QAAAA,EAAuB,IAAIplB,SAAUulB,EAAUvlB,CAAG,IAAIF,EAAME,CAAG,KAAKM,KAAM6e,EAAW,YAAYiI,MAAYrC,MAAUuC,QAAmB1W,KAAAyU,KAAA,gBAAAA,EAAoB,aAApB,gBAAAzU,GAA+B8V,MAAW;AACje,UAAAkB,GAAarC,GAAWvlB,GAAKM,IAAKgnB,EAAe,GAAG,QAAQ,IAAI,aAAa,iBAAiB3kB,MAAU,cAAc,QAAQ,eAAe,wBAAwB3C,CAAG,EAAE,GAAGwe,EAAI;AAAA,YAC/K,KAAAle;AAAA,YACA,OAAO;AAAA,cACL,GAAGilB,EAAUvlB,CAAG;AAAA,YAC5B;AAAA,UACA,CAAS,GAAG,QAAQ;AACZ;AAAA,QACF;AACA,YAAIonB,IAAU;AACZ,cAAI,CAAC9mB,GAAK;AACV,gBAAM2nB,KAAoBpB,GAAYhb,GAAY7L,GAAKM,IAAK6e,EAAW,WAAW,QAAQ,IAAI,cAAc,WAAW;AACvH,eAAK,CAACsG,KAAmB,QAAQ,IAAI,cAAc,iBAAiBE,UAAY,CAAA,IAAIA,EAAA3lB,OAAA2lB,EAAA3lB,KAAiB,KAAI,QAAQ,IAAI,cAAc,cAAc;AAC/I,mBAAO,OAAO2lB,EAAQ3lB,CAAG,GAAGioB,EAAiB;AAC7C;AAAA,UACF;AACA,gBAAMC,KAAaxoB,GAAkBM,CAAG,GACtCmoB,KAAUnoB,MAAQ,cAClBooB,KAASpoB,MAAQ;AACnB,cAAI,CAACkoB,GAAY;AACjB,cAAIzC,KAAmB,CAAC2C,IAAQ;AAC9B,kBAAMC,KAAelP,GAAe8O,IAAmBC,EAAU;AACjE,oBAAQ,IAAI,aAAa,iBAAiBvlB,MAAU,aAAa,QAAQ,KAAK,WAAW3C,GAAKioB,IAAmBI,EAAY;AAC7H,uBAAWC,KAAeD,IAAc;AACtC,oBAAME,KAAU,GAAGD,EAAY7a,EAAmB,CAAC,GAAGyW,EAAU,GAAGgE,GAAW,IAAI;AAClF,cAAAlB,GAAsBhJ,GAAesK,CAAW,GAAG5C,EAAW6C,EAAO,IAAID,EAAY3a,EAAqB;AAAA,YAC5G;AAAA,UACF;AACA,cAAI,CAAC8X,KAAmB2C,MAAUD,IAAS;AACzC,kBAAMK,KAAgBN,GAAW,YAAYA,GAAW;AACxD,gBAAIO,IAAa7d,EAAe4d,EAAa,MAAM;AACnD,YAAAJ,OAAWK,IAAa,CAACtJ,EAAW,YAAYgJ,MAAWvd,EAAe,cAAc,OAAO6d,IAAa,KAAK,QAAQ,IAAI,aAAa,iBAAiB9lB,MAAU,cAAc,QAAQ,eAAe,UAAU3C,GAAK;AAAA,cACvN,YAAAyoB;AAAA,YACZ,CAAW,GAAGjK,EAAI;AAAA,cACN,mBAAAyJ;AAAA,cACA,YAAAQ;AAAA,cACA,YAAAP;AAAA,cACA,gBAAAtd;AAAA,YACZ,CAAW,GAAG,QAAQ;AACZ,kBAAMmB,KAAamc,GAAW,UAC5BQ,KAAuBzE,GAAoB,IAAIgE,EAAiB;AAClE,uBAAWU,KAAQV,IAAmB;AACpC,oBAAMzE,IAAOyE,GAAkBU,CAAI;AACnC,kBAAIF,EAAY,CAAAG,GAAkBD,GAAM9c,CAAU;AAAA,mBAAO;AACvD,sBAAMgd,KAAgBhd,EAAW,SAAS8c,CAAI,KAAK,GACjDG,KAAc/c,MAAc8c;AAC9B,gBAAAC,OAAgB,QAAQ,IAAI,cAAc,gBAAgBnD,UAAY,CAAA,IAAIA,EAAA3lB,OAAA2lB,EAAA3lB,KAAiB,CAAA,IAAI2lB,EAAQ3lB,CAAG,EAAE2oB,CAAI,IAAInF,IAAOwE,GAAWnc,GAAY8c,GAAMnF,GAAMzX,IAAY,IAAI2c,MAAA,gBAAAA,GAAuBC,EAAK,IAAI,QAAQ,IAAI,aAAa,iBAAiBhmB,MAAU,aAAa6b,EAAI,cAAcmK,GAAMG,IAAa;AAAA,kBAClT,YAAA/c;AAAA,kBACA,eAAA8c;AAAA,kBACA,MAAAF;AAAA,kBACA,KAAKnF;AAAA,gBACrB,CAAe;AAAA,cACH;AAAA,YACF;AACA,gBAAI,CAACiF,EAAY,YAAWrG,KAAQ9hB,IAAK;AACvC,oBAAMI,IAAIokB,EAAW1C,CAAI,KAAKA;AAC9B,cAAAvW,EAAW,SAASnL,CAAC,IAAI,KAAK,IAAIqL,IAAYF,EAAW,SAASnL,CAAC,KAAK,CAAC;AAAA,YAC3E;AAAA,UACF;AACA;AAAA,QACF;AACA,YAAI2mB,IAAS;AACX,cAAI,CAAC/mB,GAAK;AACV,gBAAMyoB,KAAgB/oB,EAAI,MAAMqnB,MAAW,UAAU,IAAI,CAAC;AAC1D,cAAIzB,UAAa,MAAKtlB,GAAI,SAAS,CAACmlB,KAAmBtG,EAAW,qBAAqB,CAACyG,KAAY,OAAOA,KAAY,eAAeA,IAA0B,oBAAI,IAAG,IAAKA,EAAS,IAAImD,EAAa,IAAI1B,OAAY,cAAc,CAAChJ,GAAiBre,CAAG,EAAG;AAC5P,kBAAQ,IAAI,aAAa,iBAAiB2C,MAAU,aAAa6b,EAAI,QAAexe,CAAG,IAAI;AAAA,YACzF,KAAAA;AAAA,YACA,KAAAM;AAAA,YACA,OAAAR;AAAA,YACA,iBAAA2lB;AAAA,YACA,kBAAAH;AAAA,YACA,gBAAA1a;AAAA,YACV,YAAUjG;AAAAA,UACV,CAAS;AACD,gBAAM4C,KAAWye;AACjB,cAAIA,MAAmB,GAAGP,GAAiB;AACzC,kBAAMuD,KAAanC,GAAYhb,GAAY7L,GAAKM,IAAK,EAAE,GACrD2oB,KAAchQ,GAAmB+P,EAAU;AAC7C,uBAAWzQ,MAAS0Q,IAAa;AAC/B,oBAAMzhB,IAAW+Q,GAAM9K,EAAmB,GACxCyb,KAAa1hB,EAAS,CAAC,MAAM;AAC/B,kBAAI0hB,MAAc,CAAC7K,GAAiB7W,CAAQ,EAAG;AAC/C,oBAAMzH,KAAMmH,GAAiBqR,IAAOwQ,IAAejkB,IAAkBuiB,IAAS,IAAI9f,EAAQ;AAC1F,sBAAQ,IAAI,aAAa,iBAAiB5E,MAAU,aAAa6b,EAAI,mBAA0Bze,EAAG;AAClG,oBAAMqZ,IAAS8P,KAAa3Q,GAAM,CAAC,IAAI,IACrCgQ,IAAU,GAAGhQ,GAAM9K,EAAmB,CAAC,GAAG2L,CAAM,GAAG8K,EAAU,GAAG6E,EAAa,GAAGxQ,GAAM3K,EAAiB,KAAK,EAAE;AAChH,cAAAoZ,GAAsBhJ,GAAeje,EAAG,GAAG2lB,EAAW6C,CAAO,IAAIxoB,GAAI4N,EAAqB;AAAA,YAC5F;AAAA,UACF,OAAO;AACL,gBAAIwb,KAAkB,SAAU/G,GAAMoB,GAAM4F,IAAc;AACxD,cAAAvd,EAAW,UAAXA,EAAW,QAAU,CAAA,IAAIwd,GAAuBxd,GAAYkd,IAAe3G,GAAMoB,GAAM7e,EAAWokB,EAAa,GAAGO,IAAgB3mB,GAAOymB,EAAY,KAAKhH,MAAS,iBAAiBvW,EAAW,aAAamd,EAAW;AAAA,YACzN;AACA,kBAAMO,KAAelC,OAAY,SAC/BmC,KAAenC,OAAY;AAC7B,gBAAI,CAACkC,MAAkBlC,OAAY,cAAe,CAACmC,IAAc;AAC/D,kBAAI,CAAC7kB,EAAWokB,EAAa,GAAG;AAC9B,wBAAQ,IAAI,aAAa,iBAAiBpmB,MAAU,aAAa6b,EAAI,mBAA+BuK,EAAa,EAAE;AACnH;AAAA,cACF;AACA,sBAAQ,IAAI,aAAa,iBAAiBpmB,MAAU,aAAa6b,EAAI,kBAA8BuK,EAAa,EAAE;AAAA,YACpH;AACA,kBAAMC,IAAanC,GAAYhb,GAAY7L,GAAKM,IAAK,EAAE;AACvD,gBAAIgpB,KAAiB;AACrB,gBAAIC;AACF,kBAAI1D,KAAqB,IAAI,EAAEvI,MAAcyL,MAAiBzL,EAAU,WAAWyL,EAAa,GAAI;AAAA,uBAC3FS,IAAc;AACvB,oBAAMC,IAAYpkB,GAAkB0jB,EAAa,GAC/CW,IAAYD,EAAU,MACtBE,MAAa9V,KAAAuQ,KAAA,gBAAAA,EAAesF,OAAf,gBAAA7V,GAA2B,OACxC+V,KAAiBH,EAAU,QAC3BthB,KAAgBshB,EAAU;AAC5B,kBAAI,CAACE,IAAY;AACf,wBAAQ,IAAI,aAAa,iBAAiBhnB,KAAS6b,EAAI,+CAA+CkL,CAAS,EAAE,GAAG5D,YAAgC,oBAAI,IAAG;AAC3J;AAAA,cACF;AACA,oBAAM+D,MAAsB7V,KAAApJ,EAAe,UAAf,gBAAAoJ,GAAuB0V;AACnD,kBAAIvhB,IAAe;AACjB,gBAAAsD,UAA+B,oBAAI,IAAG,IAAIA,EAAY,IAAItD,EAAa;AACvE,sBAAM2hB,KAAcD,MAAA,gBAAAA,GAAqB;AACzC,oBAAIE,KAAWD,MAAA,gBAAAA,GAAc3hB;AAC7B,oBAAI,CAAC2hB,MAAeH,GAAW,WAAWI,KAAWpe,GAAcxD,IAAewhB,GAAW,MAAM,IAAI,QAAQ,IAAI,aAAa,iBAAiBhnB,MAAU,aAAa6b,EAAI,oBAAgCrW,EAAa,YAAY4hB,EAAQ,IAAI;AAAA,kBAC/O,GAAGD;AAAA,kBACH,UAAU;AAAA,oBACR,GAAGje,EAAW;AAAA,kBAChC;AAAA,gBACA,CAAe,GAAG,CAACke,IAAU;AACb,6BAAWpB,MAAQK,EAAY,CAAAJ,GAAkBD,IAAM9c,CAAU;AACjE;AAAA,gBACF;AACA,gBAAAyd,KAAiB;AAAA,cACnB;AACA,kBAAIM,IAAgB;AAClB,gBAAA9D,YAAgC,oBAAI,IAAG,IAAIA,GAAa,IAAI4D,CAAS;AACrE,sBAAMM,MAA6B/V,KAAA4V;AAAA,iBAEjCzF,KAAA,gBAAAA,EAAesF,GAAW,WAFO,gBAAAzV,GAEC,QAClC8V,KAAWC,MAAA,gBAAAA,GAA4BJ,KACvCK,KAAYxqB,GAAiBmqB,EAAc;AAC7C,oBAAI,QAAQ,IAAI,aAAa,iBAAiBjnB,MAAU,aAAa6b,EAAI,qBAAiCrW,EAAa,YAAY4hB,EAAQ,cAAcE,EAAS,IAAI;AAAA,kBACpK,2BAA2B;AAAA,oBACzB,GAAGD;AAAA,kBACrB;AAAA,kBACgB,UAAU;AAAA,oBACR,GAAGne,EAAW;AAAA,kBAChC;AAAA,gBACA,CAAe,GAAG,CAACke,IAAU;AACb,6BAAWpB,MAAQK,EAAY,CAAAJ,GAAkBD,IAAM9c,CAAU;AACjE;AAAA,gBACF;AACA,gBAAAyd,KAAiBW;AAAA,cACnB;AAAA,YACF;AACA,kBAAMC,KAAsBjG,GAAoB,IAAI+E,CAAU;AAC9D,YAAAQ,MAAgBR,EAAW,eAAend,EAAW,sBAAXA,EAAW,oBAAsB,CAAA,IAAIA,EAAW,kBAAkB,IAAIkd,EAAa,EAAE,IAAIC,EAAW;AAC9I,uBAAW5P,KAAU4P,EAAY,KAAI5P,MAAW,QAAS,KAAIA,EAAO,CAAC,MAAM,KAAK;AAC9E,kBAAI,CAACiF,GAAiBjF,CAAM,KAAK,CAACkF,GAAclF,GAAQkE,CAAS,EAAG;AACpE,oBAAM6M,IAAoBlG,GAAoB,IAAI+E,EAAW5P,CAAM,CAAC;AACpE,yBAAWgR,MAAapB,EAAW5P,CAAM,EAAG,CAAA+P,GAAgBiB,IAAWpB,EAAW5P,CAAM,EAAEgR,EAAS,GAAGD,KAAA,gBAAAA,EAAoBC,GAAU;AAAA,YACtI,MAAO,CAAAjB,GAAgB/P,GAAQ4P,EAAW5P,CAAM,GAAG8Q,MAAA,gBAAAA,GAAsB9Q,EAAO;AAAA,UAClF;AACA;AAAA,QACF;AACA,YAAI,CAAC8N,IAAW;AACd,cAAIa,GAAqB;AACzB,UAAAxC,EAAUvlB,CAAG,IAAIM;AAAA,QACnB;AAAA;AAAA,IACF,CAAC,GAAG,QAAQ,IAAI,aAAa,iBAAiBqC,MAAU,WAAW;AACjE,UAAI;AACF,QAAA6b,EAAI,uBAAiCkI,CAAO,GAAGlI,EAAI,SAAS;AAAA,UAC1D,GAAG3S,EAAW;AAAA,QACxB,CAAS,GAAG2S,EAAI,aAAa;AAAA,UACnB,GAAG+G;AAAA,QACb,CAAS,GAAG/G,EAAI,cAAc;AAAA,UACpB,GAAG3S,EAAW;AAAA,QACxB,CAAS;AAAA,MACH,QAAQ;AAAA,MAAC;AACT,cAAQ,SAAQ;AAAA,IAClB;AAAA,EACF;AAQA,MAPI,QAAQ,IAAI,aAAa,kBAAkBlJ,MAAU,aAAa,WAAW,SAAS,6BAA+Bwc,EAAW,gBAAgB,OAAQtT,EAAW,UAAUyM,GAAUzM,EAAW,KAAK,GAAG,CAACsT,EAAW,YAAY,CAACA,EAAW,gBAAgBjc,OAAU,CAACgiB,MAAiBrN,KAAA,gBAAAA,EAAQ,gBAAe,UAAUqB,GAAWrN,EAAW,KAAK,IAAIA,EAAW,mBAAmBA,EAAW,UAAXA,EAAW,QAAU,CAAA,IAAIwe,GAAoBxe,EAAW,OAAOA,EAAW,cAAc,KAOhd,CAACsT,EAAW,eAAe,CAAC1H,EAAa,iBAAiB,CAACA,EAAa,UAAU,CAAC0H,EAAW,eAActH,KAAA,gBAAAA,EAAQ,gBAAe,UAAU,MAAM,SAAQjH,KAAA/E,EAAW,UAAX,gBAAA+E,GAAkB,SAAS,MAAM/E,EAAW,MAAM,YAAYiN,GAAmBjN,EAAW,MAAM,SAAS,IAAI,CAACsT,EAAW,gBAAgBtT,EAAW,SAAS4Z,GAAiB;AAC7U,QAAI6E,GACFC,IAAe;AACjB,QAAI,CAAC1e,EAAW,MAAM,OAAO;AAC3B,YAAM2e,IAASvR,GAAmBpN,EAAW,KAAK;AAClD,iBAAW4e,MAAeD,GAAQ;AAChC,cAAM,CAACxqB,IAAKlB,IAAO2I,EAAU,IAAIgjB,IAC/BC,KAA8BvL,EAAW,cAAcA,EAAW,aAAWtL,KAAA/T,EAAM,gBAAN,gBAAA+T,GAAmB,SAAS7T,MACzG2qB,KAA4B,CAACD,MAA+B,CAACvL,EAAW,cAAc9b,OAAYwU,KAAA,gBAAAA,EAAQ,iBAAgB,WAAS7D,KAAAlU,EAAM,gBAAN,gBAAAkU,GAAmB,SAAShU;AACjK,QAAA0qB,MAA+BJ,UAAmB,KAAIA,EAAetqB,EAAG,IAAI6L,EAAW,MAAM7L,EAAG,KAAK2qB,MAA6BL,UAAmB,CAAA,IAAIA,EAAetqB,EAAG,IAAIlB,IAAOyrB,IAAe,OAAOvD,GAAsBhJ,GAAeyM,EAAW,GAAG/E,EAAW1lB,EAAG,IAAIyH;AAAA,MACnR;AACA,cAAQ,IAAI,aAAa,iBAAiB3H,EAAM,UAAU,cAAc,QAAQ,eAAe,sCAA6C,GAAG,QAAQ,KAAK+L,EAAW,KAAK,GAAG,QAAQ,KAAK,kBAAkBye,CAAc,GAAG,QAAQ,SAAQ,KAAMC,KAAgB,QAAQ,IAAI,cAAc,iBAAiB1e,EAAW,QAAQye,KAAkB;IACvV;AAAA,EACF;AACA,MAAI,CAACnL,EAAW,gBAAgBtT,EAAW,SAAS,CAAC4Z,KAAmBtG,EAAW,cAAc,EAACtH,KAAA,QAAAA,EAAQ,kBAAiB,CAAChM,EAAW,MAAM,OAAO;AAClJ,UAAM+e,IAAY,CAAA;AAClB,QAAIC,IAAW;AACK,IAAA/qB,EAAM;AAC1B,eAAWE,KAAO6L,EAAW,MAAO,CAAA7L,KAAOiP,OAA4B2b,EAAU5qB,CAAG,IAAI6L,EAAW,MAAM7L,CAAG,GAAG,OAAO6L,EAAW,MAAM7L,CAAG,GAAG6qB,IAAW;AACxJ,QAAIA,GAAU;AACZ,YAAML,IAASvR,GAAmB2R,CAAS;AAC3C,iBAAWH,MAAeD,EAAQ,CAAAxD,GAAsBhJ,GAAeyM,EAAW,GAAG/E,EAAW+E,GAAYhd,EAAmB,CAAC,IAAIgd,GAAY9c,EAAqB;AAAA,IACvK;AAAA,EACF;AACA,QAAMmd,KAAYhrB,EAAM;AACxB,MAAI,CAACqf,EAAW,gBAAgB2L,GAAW,KAAI/F,EAAO,CAAAQ,EAAU,QAAQrE,GAAe4J,EAAS;AAAA,OAAO;AACrG,UAAMC,IAAU,MAAM,QAAQD,EAAS,GACrCje,IAAMke,IAAUD,GAAU,SAAS;AACrC,aAAS3kB,IAAI,GAAGA,IAAI0G,GAAK1G,KAAK;AAC5B,YAAMoS,KAAQwS,IAAUD,GAAU3kB,CAAC,IAAI2kB;AACvC,MAAAvS,OAAUA,GAAM,QAAQ,OAAO,OAAO1M,EAAW,YAAY0M,EAAK,KAAK1M,EAAW,UAAXA,EAAW,QAAU,CAAA,IAAI,OAAO,OAAOA,EAAW,OAAOqV,GAAe3I,EAAK,CAAC;AAAA,IACvJ;AAAA,EACF;AACA,UAAQ,IAAI,aAAa,kBAAkB5V,MAAU,aAAa,WAAW,SAAS;AACtF,QAAMkT,KAAS;AAAA,IACX,UAAA+P;AAAA,IACA,YAAY/Z,EAAW;AAAA,IACvB,WAAA0Z;AAAA,IACA,OAAO1Z,EAAW;AAAA,IAClB,SAAA8Z;AAAA,IACA,YAAAD;AAAA,IACA,eAAA1H;AAAA,IACA,oBAAA6H;AAAA,IACA,cAAAC;AAAA,IACA,aAAAra;AAAA,IACA,wBAAwBI,EAAW;AAAA,IACnC,mBAAmBA,EAAW;AAAA,EACpC,GACImf,KAAyB7E,OAAY,kBAAkBA,OAAY;AACrE,MAAI,CAAChH,EAAW,gBAAgB,CAAC6L,IAAwB;AACvD,UAAMzS,IAAQ1M,EAAW;AACzB;AACE,UAAIqU,IAAa8E,KAAUC,IAAUpZ,EAAW,aAAa;AAC7D,MAAAqU,KAAcA,EAAW,CAAC,MAAM,QAAQA,IAAaA,EAAW,MAAM,CAAC;AACvE,YAAM+K,IAAsB/K,IAAa,QAAQA,CAAU,KAAK,IAC9DgL,KAAiBprB,EAAM,QAAQ,WAAWA,EAAM,KAAK,KAAK,IAC1DqrB,KAAqBrrB,EAAM,iBAAiB2X,EAAa,eACzD2T,KAAyBtrB,EAAM,WAAW,CAACqrB,MAAsBA,OAAuB,SAAS,KAAK,MAAMA,EAAkB;AAChI,UAAIE,KAAY,CAAA;AAChB,MAAAD,MAA0BC,GAAU,KAAKD,EAAsB,GAAGpG,IAASqG,GAAU,KAAK,SAAS,IAAIA,GAAU,KAAK,SAAS,GAAGJ,KAAuBI,GAAU,KAAKJ,CAAmB,GAAGvF,KAAc2F,GAAU,KAAK,OAAO,OAAO3F,CAAU,EAAE,KAAK,GAAG,CAAC,GAAGwF,MAAkBG,GAAU,KAAKH,EAAc,GAAGprB,EAAM,aAAaurB,GAAU,KAAKvrB,EAAM,SAAS;AACpW,YAAMwrB,KAAiBD,GAAU,KAAK,GAAG,GACvCE,KAAiBrG,KAAiB/F,EAAW,eAActH,KAAA,gBAAAA,EAAQ;AACrE,UAAIsH,EAAW,eAActH,KAAA,gBAAAA,EAAQ,gBAAe,MAAO,CAAA0N,EAAU,YAAY+F,IAAgB/S,MAAUgN,EAAU,QAAQhN;AAAA,eAAgBgT,IAAgB;AAC3J,YAAIC;AACJ,mBAAWjmB,KAAQ+lB,GAAe,MAAM,GAAG,EAAG,CAAAE,YAAa;AAAA,UACzD,OAAO;AAAA,QACjB,IAAWA,GAASjmB,CAAI,IAAIA;AACpB,QAAAggB,EAAU,QAAQiG,KAAW,CAAC,GAAI,MAAM,QAAQjT,CAAK,IAAIA,IAAQ,CAACA,CAAK,GAAIiT,EAAQ,IAAI,CAACjT,CAAK;AAAA,MAC/F,MAAO,CAAA+S,OAAmB/F,EAAU,YAAY+F,KAAiB/S,MAAUgN,EAAU,QAAQhN;AAAA,IAC/F;AAAA,EACF;AACA,MAAI,QAAQ,IAAI,aAAa,iBAAiB5V,MAAU,aAAaU,MAAY4T,IAAY;AAC3F,YAAQ,SAAQ,GAAI,QAAQ,eAAe,wBAA+B;AAC1E,QAAI;AACF,YAAMwU,IAAO;AAAA,QACX,GAAG5V;AAAA,QACH,WAAAkQ;AAAA,QACA,gBAAAnb;AAAA,QACA,WAAA2a;AAAA,QACA,eAAAvH;AAAA,QACA,mBAAA0G;AAAA,MACR;AACM,iBAAW1kB,KAAOyrB,EAAM,CAAAjN,EAAIxe,GAAKyrB,EAAKzrB,CAAG,CAAC;AAAA,IAC5C,QAAQ;AAAA,IAAC;AACT,YAAQ,SAAQ;AAAA,EAClB;AACA,SAAO,QAAQ,IAAI,aAAa,kBAAkB2C,MAAU,aAAa,WAAW,SAAS,yBAAyBkT;AACxH;AACA,SAASwU,GAAoBzlB,GAAQ8mB,GAAgB;AACnD,SAAO,QAAQA,CAAc,EAAE,KAAK,CAAC,CAAClmB,CAAC,GAAG,CAACC,CAAC,MAAMue,GAAWxe,GAAGC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAACzF,GAAKM,CAAG,MAAM;AAC1F,IAAAqrB,GAAe/mB,GAAQ5E,GAAKM,GAAK,EAAE;AAAA,EACrC,CAAC;AACH;AACA,SAAS0nB,GAAWnc,GAAY7L,GAAKM,GAAKyL,GAAYoV,IAAmB,IAAI2G,GAAa;;AACxF,QAAM;AAAA,IACJ,WAAAvC;AAAA,IACA,YAAApG;AAAA,IACA,cAAA1H;AAAA,IACA,UAAAzL;AAAA,EACJ,IAAMH;AACJ,OAAKG,EAAShM,CAAG,KAAK,KAAK+L,EAAY;AACvC,QAAM5L,MAAeyQ,IAAA6G,EAAa,YAAb,gBAAA7G,EAAsB,YAASoD,KAAAH,IAAA4D,EAAa,uBAAb,gBAAA5D,EAAiC,YAAjC,gBAAAG,EAA0C;AAC9F,MAAI7T,KAAgBH,KAAOG,GAAc;AACvC,IAAA0L,EAAW,2BAAXA,EAAW,yBAA2B,CAAA;AACtC,UAAM+f,KAAoB3X,IAAApI,EAAW,8BAAX,gBAAAoI,EAAuCjU;AACjE,IAAA6L,EAAW,uBAAuB7L,CAAG,IAAI8nB,KAAe8D,KAAqBtrB;AAAA,EAC/E;AACA,MAAIN,KAAOmP,GAAqB,CAAAtD,EAAW,mBAAXA,EAAW,iBAAmB,CAAA,IAAIG,EAAShM,CAAG,IAAI+L,GAAYF,EAAW,eAAe7L,CAAG,IAAIM;AAAA,OAAS;AACtI,UAAMP,IAAe,CAACohB,KAAoB,CAAChC,EAAW,cAActG,GAA2BvY,GAAKN,CAAG,IAAIM;AAE3G,IAAAmX,EAAa,UAAUzX,KAAOyX,EAAa,SAAS8N,EAAUvlB,CAAG,IAAID,KAAO8L,EAAW,UAAXA,EAAW,QAAU,CAAA,IAAIG,EAAShM,CAAG,IAAI+L,GAAYF,EAAW,MAAM7L,CAAG;AAAA;AAAA,IAGrJA,MAAQ,eAAe,MAAM,QAAQD,CAAG,IAAI,CAAC,GAAGA,CAAG,IAAIA;AAAA,EACzD;AACF;AACA,MAAM8mB,KAAc,CAAChb,GAAYuN,GAAQyS,GAASC,MAAwB;;AACtE,QAAM;AAAA,IACF,cAAArU;AAAA,IACA,MAAMsU;AAAA,IACN,YAAA5M;AAAA,EACR,IAAUtT,GACJmgB,IAAW,CAAA;AACb,MAAIC;AACJ,WAASjsB,KAAO6rB,GAAS;AACvB,UAAMvrB,IAAMurB,EAAQ7rB,CAAG;AACvB,QAAIA,IAAM+rB,EAAM,WAAW/rB,CAAG,KAAKA,GAAKA,MAAQ,cAAc;AAC5D,MAAA6L,EAAW,sBAAXA,EAAW,oBAAsB,CAAA,IAAIA,EAAW,kBAAkBuN,CAAM,IAAI9Y;AAC5E,YAAMuX,IAAShM,EAAW;AAC1B,WAAIgM,KAAA,gBAAAA,EAAQ,iBAAgB,OAAO;AACjC,cAAMqU,KAAkBtb,IAAAiH,EAAO,eAAP,gBAAAjH,EAAoBtQ;AAC5C,YAAI4rB,GAAiB;AACnB,gBAAM/R,IAAYf,EAAO,CAAC,MAAM,MAAM,gBAAgB;AACtD,UAAA4S,EAAS,aAAa,OAAOE,CAAe,GAAG/R,CAAS;AAAA,QAC1D;AAAA,MACF;AACA;AAAA,IACF;AACA,KAAC1C,EAAa,SAASzX,KAAO6hB,MAAa,CAAC1C,EAAW,UAAU2C,GAAW9hB,GAAKM,GAAKuL,GAAY,IAAI,CAACsgB,GAAMC,GAAMtE,MAAgB;AACjI,MAAAA,MAAgB,WAAWmE,UAAmB,CAAA,IAAIA,EAAeE,CAAI,IAAIrE,IAAcqE,KAAQ1c,OAAoB2c,IAAOvF,GAAYhb,GAAYsgB,GAAMC,GAAMN,CAAmB,IAAI,CAACA,KAAuBK,KAAQhd,KAAsBwc,GAAeK,GAAUG,GAAMC,CAAI,IAAIJ,EAASG,CAAI,IAAIhN,EAAW,cAAciN,IAAOvT,GAA2BuT,GAAMpsB,CAAG;AAAA,IACzW,CAAC;AAAA,EACH;AACA,MAAI,CAAC8rB,GAAqB;AACxB,UAAMO,KAAkBxY,IAAAhI,EAAW,UAAX,gBAAAgI,EAAkB,WACxC6X,IAAiB7f,EAAW,gBAC5BygB,IAAoBN,EAAS;AAC/B,QAAI,MAAM,QAAQM,CAAiB,KAAKA,EAAkB,QAAQ;AAChE,YAAMzf,IAAMyf,EAAkB;AAC9B,UAAI,MAAM,QAAQD,CAAe,GAAG;AAClC,cAAME,IAAS,CAAA;AACf,QAAAlW,EAAO,UAASlQ,IAAI,GAAGA,IAAIkmB,EAAgB,QAAQlmB,KAAK;AACtD,gBAAMqmB,IAAKH,EAAgBlmB,CAAC;AAC5B,qBAAWsmB,KAAMD,GAAI;AACnB,qBAASE,IAAI,GAAGA,IAAI7f,GAAK6f,IAAK,YAAWC,KAAML,EAAkBI,CAAC,GAAG;AACnE,kBAAID,MAAOE,EAAI,UAAStW;AACxB;AAAA,YACF;AACA,YAAAkW,EAAO,KAAKC,CAAE;AACd;AAAA,UACF;AAAA,QACF;AACA,iBAASrmB,IAAI,GAAGA,IAAI0G,GAAK1G,IAAK,CAAAomB,EAAO,KAAKD,EAAkBnmB,CAAC,CAAC;AAC9D,QAAA6lB,EAAS,YAAYO;AAAA,MACvB;AACA,UAAIb,EAAgB,CAAArV,EAAO,YAAWuW,KAAMlB,GAAgB;AAC1D,cAAMmB,IAAKD,MAAO,MAAM,eAAeA,MAAO,MAAM,eAAeA;AACnE,iBAASF,IAAI,GAAGA,IAAI7f,GAAK6f,IAAK,YAAWC,KAAML,EAAkBI,CAAC,GAAG;AACnE,cAAIG,MAAOF,EAAI,UAAStW;AACxB;AAAA,QACF;AACA,QAAAsV,GAAeK,GAAUY,GAAIlB,EAAekB,CAAE,CAAC;AAAA,MACjD;AAAA,IACF,MAAO,CAAAlB,KAAkBrB,GAAoB2B,GAAUN,CAAc;AAAA,EACvE;AACA,SAAOvM,EAAW,eAAe7G,GAAU0T,CAAQ,GAAGC,KAAkBhI,GAAoB,IAAI+H,GAAUC,CAAc,GAAGD;AAC7H,GACAc,KAAgC3rB,EAAM,sBAAsBmC,IAC5DypB,KAAiB,CAACvnB,GAAGC,GAAGN,GAAG6nB,GAAGruB,GAAGsuB,GAAGC,GAAGC,GAAGhnB,GAAGumB,GAAGhsB,GAAG0sB,GAAG,MAAM;AAC1D;AAEA,QAAM3oB,IAAMggB,GAAejf,GAAGC,GAAGN,GAAG6nB,GAAGruB,GAAGsuB,GAAGC,GAAGC,GAAGhnB,GAAGumB,GAAGhsB,GAAG0sB,GAAG,CAAC;AAChE,SAAON,GAAsB,MAAM;AACjC,IAAAroB,KAAOsZ,GAAiBtZ,EAAI,aAAa;AAAA,EAC3C,GAAG,CAACA,KAAA,gBAAAA,EAAK,aAAa,CAAC,GAAGA;AAC5B;AACF,SAASuiB,GAAsBhJ,GAAe7W,GAAa;AACzD;AACE,UAAMM,IAAaN,EAAYwG,EAAqB;AACpD,IAAAuQ,GAAuBzW,CAAU,MAAMqW,GAAYrW,GAAYN,EAAY0G,EAAgB,CAAC,GAAGmQ,EAAcvW,CAAU,IAAIN;AAAA,EAC7H;AACF;AACA,MAAMkmB,KAAe,QAAQ,IAAI,yBAAyB,iBACxDC,KAAqB;AAAA,EACnB,GAAG,OAAO,YAAY,OAAO,QAAQ1e,GAAgB,KAAK,EAAE,IAAI,CAAC,CAAClO,GAAGI,CAAC,MAAM,CAACJ,GAAG2sB,EAAY,CAAC,CAAC;AAAA,EAC9F,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,GAAG;AAAA,EACH,GAAG;AAAA,EACH,cAAc;AAClB,GACE1B,KAAiB,CAAClrB,GAAKT,GAAKM,GAAKitB,IAAY,OAAO;AAClD,SAAO9sB,EAAI,aAAa,aAAaA,EAAI,cAAJA,EAAI,YAAc,KAAIA,EAAI,UAAU8sB,IAAY,YAAY,MAAM,EAAE;AAAA,IACvG,CAACC,GAAiBxtB,CAAG,KAAKA,CAAG,GAAGM;AAAA,EACtC,CAAK;AACH,GACAktB,KAAmB;AAAA,EACjB,GAAG;AAAA,EACH,GAAG;AACP;AACA,SAAS5F,GAAarC,GAAWvlB,GAAKM,GAAKmtB,IAAoB,IAAI;AACjE,MAAIA,GAAmB;AACrB,UAAMtrB,IAAO;AAAA,MACX,GAAGojB,EAAUvlB,CAAG;AAAA,MAChB,GAAGM;AAAA,IACT;AACI,WAAOilB,EAAUvlB,CAAG,GAAGulB,EAAUvlB,CAAG,IAAImC;AAAA,EAC1C,MAAO,CAAAojB,EAAUvlB,CAAG,IAAIM;AAC1B;AACA,SAAS+oB,GAAuBxd,GAAYjD,GAAU5I,GAAKlB,GAAOgN,GAAawd,GAAgBoE,GAAW5F,GAAa;AACrH,QAAM9b,IAAWH,EAAW;AAC5B,MAAIE,IAAaH,GAAkChD,GAAU5I,GAAK6L,GAAYC,CAAW;AACzF,MAAIwd,MAAmBvd,KAAcA,KAAc,KAAKud,IAAiB,QAAQ,IAAI,aAAa,iBAAiBoE,MAAc,aAAalP,EAAI,0BAA0Bxe,CAAG,uBAAuBgM,EAAShM,CAAG,CAAC,SAAS+L,CAAU,EAAE,GAAGA,MAAe,KAAM,QAAO;AACvQ,MAAI/L,KAAON,IAAmB;AAC5B,UAAMwoB,IAAaxoB,GAAkBM,CAAG,GACtCwoB,IAAgBN,EAAW,YAAYA,EAAW;AACpD,QAAIrc,EAAW,eAAe2c,CAAa,MAAM,GAAI,QAAO;AAC5D,UAAME,IAAuBzE,GAAoB,IAAInlB,CAAK;AAC1D,eAAWsa,KAAUta,EAAO,CAAAkpB,GAAWnc,GAAYuN,GAAQta,EAAMsa,CAAM,GAAGrN,GAAY,IAAI2c,KAAA,gBAAAA,EAAuBtP,EAAO;AAAA,EAC1H,MAAO,CAAA4O,GAAWnc,GAAY7L,GAAKlB,GAAOiN,GAAY,IAAI+b,CAAW;AACrE,SAAO;AACT;AACA,SAAS5G,GAAe3I,GAAO;AAC7B,QAAMxY,IAAM,CAAA;AACZ,aAAWC,KAAOuY,GAAO;AACvB,UAAMjY,IAAMiY,EAAMvY,CAAG;AACrB,IAAAA,KAAOmP,KAAsBwc,GAAe5rB,GAAKC,GAAKM,CAAG,IAAIP,EAAIC,CAAG,IAAI6Y,GAA2BvY,GAAKN,CAAG;AAAA,EAC7G;AACA,SAAgB,MAAM,QAAQD,EAAI,SAAS,MAAMA,EAAI,YAAY+Y,GAAmB/Y,EAAI,SAAS,IAAIuY,GAAUvY,CAAG,GAAGA;AACvH;AACA,SAAS6oB,GAAkBD,GAAM9c,GAAY;AAC3C,QAAM7K,IAAgBssB,GAAmB3E,CAAI;AAC7C,EAAA3nB,KAAiB,QAAQ,EAAE2nB,KAAQ9c,EAAW,cAAc,CAACA,EAAW,SAAS,EAAE8c,KAAQ9c,EAAW,WAAWmc,GAAWnc,GAAY8c,GAAM3nB,GAAe,CAAC;AAChK;AC9oBA,MAAM2sB,KAAiB;AACvB,SAASC,GAAoBtX,GAAMuX,GAAS;AAC1C,aAAW7tB,KAAO6tB,GAAS;AACzB,UAAMC,IAAUxX,EAAKtW,CAAG,GACtB+tB,IAAaF,EAAQ7tB,CAAG;AAC1B,IAAA+tB,MAAe,WAAW/tB,MAAQ,UAAUsW,EAAK,QAAQwX,KAAWC,IAAa;AAAA,MAC/E,GAAGD;AAAA,MACH,GAAGC;AAAA,IACT,IAAQA,KAAcD,IAAU9tB,MAAQ,cAAcsW,EAAK,YAAYwX,KAAWC,IAAa,GAAGD,CAAO,IAAIC,CAAU,KAAKA,KAAcD,IAAU9tB,MAAQ,QAAQsW,EAAK,MAAMwX,KAAWC,IAAajX,GAAYgX,GAASC,CAAU,IAAIA,KAAcD,IAAUH,GAAe,KAAK3tB,CAAG,KAAK,OAAO8tB,KAAW,cAAc,OAAOC,KAAc,aAAazX,EAAKtW,CAAG,IAAIqN,GAAqBygB,GAASC,CAAU,IAAIzX,EAAKtW,CAAG,IAAI+tB;AAAA,EACla;AACA,SAAOzX;AACT;ACZA,SAAS0X,GAAwBC,GAAc1I,GAAWlnB,GAAU;AAClE,QAAMkuB,IAASqB,GAAoB;AAAA,IACjC,GAAGK;AAAA,EACP,GAAK1I,CAAS;AACZ,SAAOgH,EAAO,WAAWluB,GAAUkuB;AACrC;ACNA,SAAS2B,GAAiCprB,GAAMX,GAAMgsB,GAAmBC,GAAgB;;AACvF,MAAI,CAACD,EAAmB,QAAOC;AAC/B,QAAMC,IAAYvrB,KAAQ;AAAA,IACxB,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ,CAAA;AAAA,EACZ;AACE,MAAIX,EAAK,SAAS,CAACksB,EAAU,SAASF,EAAkB,WAAY,QAAOA,EAAkB;AAC7F,MAAIhsB,EAAK,SAAS,CAACksB,EAAU,SAASF,EAAkB,WAAY,QAAOA,EAAkB;AAC7F,MAAIhsB,EAAK,SAAS,CAACksB,EAAU,SAASF,EAAkB,WAAY,QAAOA,EAAkB;AAC7F,aAAWnuB,KAAOmuB,EAAmB,KAAInuB,EAAI,WAAW,SAAS,GAAG;AAClE,UAAMmJ,IAAQnJ,EAAI,MAAM,oCAAoC;AAC5D,QAAI,CAACmJ,EAAO;AACZ,UAAMugB,IAAYvgB,EAAM,CAAC,GACvBmlB,IAAanlB,EAAM,CAAC,GACpBolB,KAAkB1a,KAAAjD,IAAAzO,EAAK,UAAL,gBAAAyO,EAAa8Y,OAAb,gBAAA7V,EAAyB,QAC3C2a,KAAkBxa,IAAAqa,EAAU,WAAV,gBAAAra,EAAmB0V;AACvC,QAAI6E,KAAA,QAAAA,EAAkBD,MAAe,EAACE,KAAA,QAAAA,EAAkBF,IAAa,QAAOH,EAAkBnuB,CAAG;AAAA,EACnG;AACA,SAAOouB;AACT;AACA,SAASK,GAAmB1jB,GAAO;;AACjC,QAAM2jB,IAAS,CAAA;AACf,MAAI3jB,EAAM,MAAO,YAAW2e,KAAa3e,EAAM,OAAO;AACpD,UAAMtC,KAASmI,IAAA7F,EAAM,MAAM2e,CAAS,MAArB,gBAAA9Y,EAAwB;AACvC,IAAAnI,MAAWimB,EAAOhF,CAAS,IAAI;AAAA,MAC7B,OAAOjhB,EAAO;AAAA,MACd,OAAOA,EAAO;AAAA,MACd,OAAOA,EAAO;AAAA,IACpB;AAAA,EACE;AACA,SAAO;AAAA,IACL,OAAOsC,EAAM;AAAA,IACb,OAAOA,EAAM;AAAA,IACb,OAAOA,EAAM;AAAA,IACb,QAAA2jB;AAAA,EACJ;AACA;ACtCA,MAAMC,KAAQ,CAAA;AACd,SAASC,GAAWzsB,GAAM;AACxB,SAAO,OAAOwsB,IAAOxsB,CAAI;AAC3B;ACFA,MAAM0sB,KAAkB,CAAA7X,MAAQ;;AAC9B,GAAApG,IAAA+d,GAAM,oBAAN,QAAA/d,EAAA,KAAA+d,IAAwB3X;AAC1B,GCDM8X,KAA0B,CAAAhvB,MAAS;AACrC,QAAM;AAAA,IACJ,cAAAgmB;AAAA,IACA,aAAAra;AAAA,IACA,cAAA2Y;AAAA,EACN,IAAQtkB;AACJ,MAAIgmB,KAAgBra,GAAa;AAC/B,YAAQ,IAAI,aAAa,iBAAiB,CAAC2Y,KAAgB,QAAQ,MAAM,wBAAwB;AACjG,UAAM2K,IAA6B,oBAAI,IAAG;AAC1C,QAAIjJ,EAAc,YAAWvgB,KAAQugB,EAAc,CAAAiJ,EAAY,IAAIC,GAAoBzpB,GAAMzF,CAAK,CAAC;AACnG,QAAI2L,EAAa,YAAWlG,KAAQkG,EAAa,CAAAsjB,EAAY,IAAIC,GAAoBzpB,GAAMzF,CAAK,CAAC;AACjG,WAAO,MAAM;AACX,MAAAivB,EAAY,QAAQ,CAAA/B,MAAKA,GAAG;AAAA,IAC9B;AAAA,EACF;AACF,GACAgC,KAAsB,CAACzpB,GAAM;AAAA,EAC3B,iBAAA0pB;AAAA,EACA,cAAAnJ;AAAA,EACA,aAAAra;AAAA,EACA,cAAA2Y;AACJ,MAAQ;AACJ,QAAMpP,IAASoP,KAAA,gBAAAA,EAAe7e;AAC9B,MAAI,CAACyP,EAAQ,QAAO,MAAM;AAAA,EAAC;AAC3B,QAAMzL,IAAUyL,EAAO,UAAU,CAAC;AAAA,IAChC,QAAAtJ;AAAA,IACA,QAAAjD;AAAA,EACN,MAAU;AACJ,IAAAwmB,EAAgB,CAAAnsB,MAAQ;;AACtB,UAAIosB,IAAY;AAChB,YAAMze,MAAQG,IAAA9N,EAAK,UAAL,gBAAA8N,EAAarL,OAAS;AAAA,QAClC,QAAQ,CAAA;AAAA,QACR,OAAO,CAAA;AAAA,MACjB;AACQ,UAAIkD,MAAUqd,KAAA,QAAAA,EAAc,IAAIvgB,IAAO,CAAAkL,EAAM,WAANA,EAAM,SAAW,CAAA,IAAIzN,GAAuByN,EAAM,QAAQhI,CAAM,MAAMgI,EAAM,WAAW,OAAO,OAAOA,EAAM,QAAQhI,CAAM,GAAGymB,IAAY;AAAA,eAAaxjB,KAAUD,GAAa;AACjN,QAAAgF,EAAM,UAANA,EAAM,QAAU,CAAA;AAChB,cAAM9L,IAAa6G,GAAcC,GAAaC,CAAM,GAClDvJ,IAAOa,GAAuByN,EAAM,OAAO9L,CAAU;AACvD,QAAAxC,MAASsO,EAAM,UAAU,OAAO,OAAOA,EAAM,OAAOtO,CAAI,GAAG+sB,IAAY;AAAA,MACzE;AACA,aAAOA,IAAY;AAAA,QACjB,OAAO;AAAA,UACL,GAAGpsB,EAAK;AAAA,UACR,CAACyC,CAAI,GAAGkL;AAAA,QACpB;AAAA,MACA,IAAY3N;AAAA,IACN,CAAC;AAAA,EACH,CAAC;AACD,SAAO,MAAM;AACX,IAAAyG,EAAO,GAAI0lB,EAAgB;AAAA,MACzB,OAAO,CAAA;AAAA,IACf,CAAO;AAAA,EACH;AACF,GCrDIE,KAAoBtxB,GAAc,EAAE,GACxCuxB,KAAa,CAAC;AAAA,EACZ,UAAA/wB;AAAA,EACA,SAAAgM;AACJ,MAAQ;AACJ,QAAMglB,IAAgBnwB,GAAWiwB,EAAiB;AAClD,SAAsB,gBAAApwB,EAAIowB,GAAkB,UAAU;AAAA,IACpD,OAAO9kB,KAAWglB;AAAA,IAClB,UAAAhxB;AAAA,EACN,CAAK;AACH,GCTIixB,KAAkB,MAAMnuB,GAAM,WAAWguB,EAAiB;AAChE,SAASI,KAAkB;AACzB,SAAOpuB,GAAM,WAAWguB,EAAiB,IAAI,KAAKhuB,GAAM,qBAAqBqJ,IAAW,MAAM,IAAI,MAAM,EAAE;AAC5G;AACA,MAAMA,KAAY,MAAM,MAAM;AAAC;ACF/B,IAAIwM;AACJ,SAASwY,GAAW;AAAA,EAClB,YAAA5Y;AAAA,EACA,YAAA6Y;AAAA,EACA,UAAApxB;AACF,GAAG;AACD,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,UAAMqxB,IAAaH,GAAe;AAClC,QAAI,QAAQ,IAAI,aAAa,iBAAiB,OAAO,WAAW,QAAQvY,OAASA,KAAO,SAAS,cAAc,KAAK,GAAGA,GAAK,MAAM,SAAS,SAASA,GAAK,MAAM,YAAY,UAAUA,GAAK,MAAM,WAAW,SAASA,GAAK,MAAM,SAAS,KAAKA,GAAK,MAAM,SAAS,QAAQA,GAAK,MAAM,OAAO,QAAQA,GAAK,MAAM,QAAQ,QAAQA,GAAK,MAAM,UAAU,QAAQA,GAAK,MAAM,SAAS,kBAAkBA,GAAK,MAAM,gBAAgB,OAAOA,GAAK,MAAM,aAAa,uBAAuBxY,GAAU,MAAM;AAChe,eAAS,KAAK,YAAYwY,EAAI;AAAA,IAChC,GAAG,CAAA,CAAE,GAAGyY,EAAW,qBAAqB,KAAK,CAACC,EAAY,QAAOrxB;AACjE,UAAMoV,IAAcmD,EAAW,WAAWlE,GAAckE,EAAW,QAAQ,IAAI;AAC/E,WAAsB,gBAAAxX,GAAKuwB,IAAU;AAAA,MACnC,UAAU,CAACC,GAA4B,gBAAAxwB,GAAK,QAAQ;AAAA,QAClD,OAAO;AAAA,UACL,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,UAAU;AAAA,UACV,SAAS;AAAA,QACnB;AAAA,QACQ,UAAU,CAAC,WAAWwX,EAAW,IAAI,QAAW,KAAK,UAAU;AAAA,UAC7D,MAAMA,EAAW;AAAA,UACjB,QAAQA,EAAW,MAAM,OAAO;AAAA,UAChC,UAAUA,EAAW;AAAA;AAAA,UAErB,OAAOA,EAAW;AAAA,UAClB,YAAY;AAAA,YACV,MAAM6Y,EAAW;AAAA,YACjB,eAAeA,EAAW;AAAA,YAC1B,OAAOA,EAAW;AAAA,UAC9B;AAAA,UACU,aAAa;AAAA,YACX,MAAMhc,KAAA,gBAAAA,EAAa;AAAA,YACnB,OAAOA,KAAA,gBAAAA,EAAa;AAAA,UAChC;AAAA,QACA,GAAW,MAAM,CAAC,CAAC;AAAA,MACnB,CAAO,GAAGuD,EAAI,GAAkB,gBAAAjY,EAAI,OAAO;AAAA,QACnC,OAAO;AAAA,UACL,OAAO;AAAA,QACjB;AAAA,QACQ,UAAU6X,EAAW;AAAA,MAC7B,CAAO,GAAGvY,CAAQ;AAAA,IAClB,CAAK;AAAA,EACH;AACA,SAAOA;AACT;AACAmxB,GAAW,cAAc;AC5CzB,MAAMK,KAAQC,GAAW,SAAUhwB,GAAOsK,GAAK;AAC7C;AAEA,MAAItK,EAAM,QAAS,QAAOA,EAAM;AAChC,QAAM;AAAA,IACF,aAAAiwB;AAAA,EACN,IAAQjwB,GACJkT,IAAS,CAAC,CAAClT,EAAM,SACjB,CAACoF,GAAG0R,CAAU,IAAID,GAAkB7W,GAAOkT,CAAM;AACnD,MAAIgd,IAAgBlwB,EAAM,qBAAqB,IAAImwB,GAAS,IAAInwB,EAAM,UAAU,CAAAowB,MAASH,KAAe,CAACI,GAAeD,CAAK,IAAIA,IAAQE,GAAaF,GAAO;AAAA,IAC3J,sBAAsB;AAAA,EAC1B,CAAG,CAAC,IAAIpwB,EAAM;AACZ,MAAIsK,EAAK,KAAI;AACXjJ,IAAAA,EAAM,SAAS,KAAK6uB,CAAa,GAAGA,IAAgBI,GAAaJ,GAAe;AAAA,MAC9E,KAAA5lB;AAAA,IACN,CAAK;AAAA,EACH,QAAQ;AAAA,EAAC;AACT,QAAMimB,IAAWvlB,GAAO;AAAA,IACtB,eAAe;AAAA,EACnB,CAAG;AACD,SAAOwlB,GAAkB1Z,GAAYoZ,GAAelwB,GAAOkT,GAAQqd,GAAUN,CAAW;AAC1F,CAAC;AACDF,GAAM,kBAAkB;AACxB,SAASS,GAAkB1Z,GAAYvY,GAAUyB,GAAOkT,IAAS,IAAIqd,GAAUN,IAAc,IAAI;AAC/F,QAAM;AAAA,IACF,SAAAQ;AAAA,IACA,gBAAA9Z;AAAA,EACN,IAAQ3W,GACJiL,IAAQslB,EAAS;AACnB,MAAIG,IAAgCzlB,EAAM,iBAAiB6L,EAAW,SAAS5D,KAAU0D,GAAsB5W,CAAK;AACpH,MAAI,QAAQ,IAAI,aAAa,iBAAiBA,EAAM,UAAU,gBAAgBzB,IAA0B,gBAAAU,EAAIywB,IAAY;AAAA,IACtH,YAAA5Y;AAAA,IACA,YAAY9W;AAAA,IACZ,UAAAzB;AAAA,EACJ,CAAG,IAAI,CAACmyB,EAA+B,QAAOnyB;AAC5C,EAAAA,IAA0B,gBAAAU,EAAImT,GAAkB,UAAU;AAAA,IACxD,OAAO0E,EAAW;AAAA,IAClB,UAAAvY;AAAA,EACJ,CAAG;AACD,QAAM;AAAA,IACF,WAAAsW;AAAA,IACA,MAAApP;AAAA,EACN,IAAQqR,GACJ6Z,IAAuB9b,KAAa8B;AACtC,MAAI1L,EAAM,kBAAkBA,EAAM,gBAAgB,MAAM0lB;AAAA;AAAA,EAGxD7Z,EAAW,SAAS,UAAUA,EAAW,SAAS,aAAa7L,EAAM,gBAAgB,YAAYwlB,KAAW3Z,EAAW,UAAU;AAC/H,UAAMnD,IAAcf,GAAckE,EAAW,QAAQA,EAAW,KAAKA,EAAW,QAAQ;AACxF,QAAI,CAACnD,EAAa,OAAM,IAAI,MAAM,OAAiB;AACnD,IAAApV,IAAW4xB,GAAS,QAAQ5xB,CAAQ,EAAE,IAAI,CAAA6xB,MAASC,GAAeD,CAAK,IAAIH,IAAcG,IAAQE,GAAaF,GAAO,QAAuB,gBAAAnxB,EAAI8wB,IAAO;AAAA,MACrJ,MAAMpc,EAAY;AAAA,MAClB,UAAUyc,EAAM,MAAM;AAAA,IAC5B,CAAK,CAAC,IAAIA,CAAK;AAAA,EACb;AACA,MAAI,QAAQ,IAAI,aAAa,iBAAiB,CAACH,KAAejwB,EAAM,SAAS,QAAQ,KAAK,sBAAsB;AAAA,IAC9G,sBAAA2wB;AAAA,IACA,gBAAAha;AAAA,IACA,YAAAG;AAAA,IACA,OAAA7L;AAAA,IACA,gBAAgB2lB,GAA0B9Z,GAAY9W,GAAOkT,CAAM;AAAA,EACvE,CAAG,GAAGyD,MAAmB,GAAI,QAAOpY;AACvB;AACT,UAAMsyB,IAAY7wB,EAAM,UAAU8wB,KAAsBC,IACtD;AAAA,MACE,WAAA9K,IAAY;AAAA,MACZ,OAAArN;AAAA,IACR,IAAUqX,IAAc,CAAA,IAAKW,GAA0B9Z,GAAY9W,GAAOkT,CAAM;AAC5E,QAAI3U,IAA0B,gBAAAU,EAAI,QAAQ;AAAA,MACxC,WAAW,GAAGgnB,CAAS;AAAA,MACvB,OAAOgK,IAAcY,IAAY;AAAA,QAC/B,OAAAjY;AAAA,QACA,GAAGiY;AAAA,MACX;AAAA,MACM,UAAAtyB;AAAA,IACN,CAAK,GAAG0M,EAAM,kBAAkB,WAAW;AACrC,YAAM+lB,IAAaL,IAAuB,GAAGlrB,EAAK,WAAW,OAAO,IAAI,YAAYA,EAAK,WAAW,MAAM,IAAI,WAAW,EAAE,mBAAmB;AAC9I,MAAAlH,IAA0B,gBAAAU,EAAI,QAAQ;AAAA,QACpC,WAAW+xB;AAAA,QACX,UAAAzyB;AAAA,MACR,CAAO;AAAA,IACH;AACA,WAAOA;AAAA,EACT;AAEF;AACA,MAAMwyB,KAAa;AAAA,EACf,SAAS;AACb,GACED,KAAsB;AAAA,EACpB,SAAS;AAAA,EACT,SAAS;AACb,GACEG,KAAQ;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AACX;AACA,SAASL,GAA0B9Z,GAAY9W,GAAOkT,IAAS,IAAI;AACjE,MAAI,CAAC4D,EAAW,SAAS,CAAC9W,EAAM,eAAgB,QAAOixB;AAClD,QAACC,IAAapa,KAAA,QAAAA,EAAY,SAASA,EAAW,QAAQxG,GAAiBwG,EAAW,MAAM,KAAK,IAAI,IAIpGqa,IAAiBra,EAAW,KAAK,QAAQsa,IAAc,EAAE,GACzDC,IAAiBF,EAAe,MAAM,GAAG;AAC3C,MAAIG,IAAe,KAAKH,CAAc;AACtC,MAAIE,EAAe,SAAS,GAAG;AAC7B,UAAME,IAAmB,CAAA;AACzB,aAASlrB,IAAI,GAAGA,KAAKgrB,EAAe,QAAQhrB,IAAK,CAAAkrB,EAAiB,KAAK,KAAKF,EAAe,MAAM,GAAGhrB,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE;AAClH,IAAAirB,IAAeC,EAAiB,KAAK,GAAG;AAAA,EAC1C;AACA,QAAMtL,IAAY,GAAG/S,IAAS,KAAK,aAAa,IAAIoe,CAAY;AAChE,SAAO;AAAA,IACL,OAAOJ;AAAA,IACP,WAAAjL;AAAA,EACJ;AACA;AACA,MAAMmL,KAAe;ACxHrB,SAASI,GAAUC,GAAW9Z,GAAc+Z,IAAW,IAAI;AACzD,QAAMC,IAAYtwB,EAAM,WAAW,SAAUrB,GAAOsK,GAAK;AACvD;AAEA,UAAMsnB,IAAela,GAAgBC,GAAc3X,EAAM,aAAa,GACpE6xB,IAAeD,KAAA,gBAAAA,EAAc,OAC7BE,IAAoBF,KAAA,gBAAAA,EAAc,YAClC;AAAA,MACE,OAAAxzB;AAAA,MACA,eAAAoX;AAAA,MACA,YAAAuc;AAAA,MACA,GAAGC;AAAA,IACX,IAAUhyB;AACN,QAAIiyB;AACJ,UAAM9yB,IAAUwY,KAAA,gBAAAA,EAAc;AAC9B,QAAIxY,EAAS,YAAWe,KAAOf,EAAQ,OAAO;AAC5C,YAAMqB,IAAMR,EAAME,CAAG;AACrB,MAAAM,MAAQ,WAAWyxB,IAAyBA,KAA0B,CAAA,GAAIA,EAAuB/xB,CAAG,IAAIM;AAAA,IAC1G;AACA,UAAM0xB;AAAA;AAAA,MAGN,gBAAAjzB,EAAIwyB,GAAW;AAAA,QACb,KAAAnnB;AAAA,QACA,GAAG0nB;AAAA,QACH,sBAAsB;AAAA,MAC5B,CAAK;AAAA;AACD,QAAIG,IAAgB;AACpB,UAAMC,IAAW5c,MAAiBmC,KAAA,gBAAAA,EAAc;AAChD,QAAIya,MAAaD,IAAgBA,KAAiB,IAAIA,EAAc,gBAAgBC,IAAW,WAAWpyB,MAAUmyB,IAAgBA,KAAiB,CAAA,GAAIA,EAAc,QAAQnyB,EAAM,SAAS,WAAWA,KAAS6xB,OAAkBM,IAAgBA,KAAiB,CAAA,GAAIA,EAAc,OAAO,WAAWnyB,IAAQA,EAAM,QAAQ6xB,KAAgB,gBAAgB7xB,KAAS8xB,OAAuBK,IAAgBA,KAAiB,CAAA,GAAIA,EAAc,QAAQ,gBAAgBnyB,IAAQ+xB,IAAaD,IAAoBJ,KAAY,CAACS,EAAe,QAAOD;AACthB,QAAIG,IAA0B,gBAAApzB,EAAI8wB,IAAO;AAAA,MACvC,uBAAuB;AAAA,MACvB,GAAGoC;AAAA,MACH,UAAUD;AAAA,IAChB,CAAK;AACD,QAAI/yB,GAAS;AACX,YAAM8C,IAAW9C,EAAQ,UACvBoB,IAAec,EAAM,WAAWlC,CAAO;AACzC,MAAAkzB,IAA0B,gBAAApzB,EAAIgD,GAAU;AAAA,QACtC,GAAG1B;AAAA,QACH,GAAG0xB;AAAA,QACH,UAAUI;AAAA,MAClB,CAAO;AAAA,IACH;AACA,WAAOA;AAAA,EACT,CAAC;AACD,SAAOV,EAAU,cAAc,WAAUF,KAAA,gBAAAA,EAAW,iBAAeA,KAAA,gBAAAA,EAAW,SAAQ,WAAW,KAAKE;AACxG;ACjDA,SAASW,GAAaC,GAAQ;AAC5B,MAAIA,EAAO,OAAQ,QAAsB,gBAAAtzB,EAAI4wB,IAAU;AAAA,IACrD,UAAU0C,EAAO,IAAI,CAAAlrB,MAAe;AAClC,YAAMM,IAAaN,EAAYwG,EAAqB;AACpD,aAAsB,gBAAA5O,EAAI,SAAS;AAAA,QACjC,MAAM,KAAK0I,CAAU;AAAA,QACrB,YAAY;AAAA,QACZ,0BAA0B;AAAA,QAC1B,UAAUN,EAAY0G,EAAgB,EAAE,KAAK;AAAA,CACpD;AAAA,MACD,GAASpG,CAAU;AAAA,IACf,CAAC;AAAA,EACL,CAAG;AACH;ACPA,MAAM6qB,KAAoB,CAACxyB,GAAO+kB,GAAiBpN,GAAczT,MAAW;AAC1E;;AAEA,QAAM0rB,IAAaH,GAAe,GAChCgD,IAAiB,CAACjD,GAAe,GACjCkD,IAAgB3N,KAAA,QAAAA,EAAiB,UAAkBA,KAAA,OAAT,SAASA,EAAiB,eACpE;AAAA,IACE,OAAAE;AAAA,EACN,IAAQtN,GACJ4Y,IAAWvlB;AAAA;AAAA,IAEX;AAAA,EAAM;AACR,EAAAulB,EAAS,YAAYA,EAAS,UAAU;AAAA,IACtC,mBAAmBkC,KAAkB,CAAC7C;AAAA,EAC1C;AACE,QAAM+C,IAAmB,CAAC,EAAE,CAAC1N,KAAS,gBAAgBjlB,KAASA,EAAM,SAAS4yB,GAAsB5yB,EAAM,KAAK,IAC7G6yB,KAAa9N,KAAA,gBAAAA,EAAiB,eAAc,OAC5C+N,KAAc/N,KAAA,gBAAAA,EAAiB,gBAAe,OAC9CgO,IAAcxC,EAAS;AACzB,GAACkC,KAAkBE,MAAqBI,EAAY,cAAc;AAClE,QAAMC,IAAuB,CAAC,EAAKL,KAAoB,CAAC1N,KAASyN,KAAkBK,EAAY,cAC7FE,IAAiB,CAAC3vB,MAAY0vB;AAChC,EAAAC,KAAkB,CAACF,EAAY,gBAAgBA,EAAY,cAAc;AACzE,QAAM;AAAA,IACF,kBAAAG;AAAA,EACN,IAAQlzB,GACJmzB,IAAW,CAAClO,KAASgO,KAAkBjzB,EAAM,oBAAoB,QAAM8Q,KAAAiU,KAAA,gBAAAA,EAAiB,gBAAjB,gBAAAjU,GAAA,KAAAiU,OAAoC,MAC3GqO,IAAgBD,KAAA,gBAAAA,EAAW,IAC3BE,KAAYD,KAAA,gBAAAA,EAAe,eAAc,IACzCE,KAAaF,KAAA,gBAAAA,EAAe,eAAc,MAAMA,EAAc,YAAY,IAC1EG,IAAgB,CAAC,CAACvzB,EAAM,YACxBwzB,IAA+Bb,KAAoB,CAAC/C,OAAe7K,KAAA,gBAAAA,EAAiB,kBAAiB8N,MAAe,QACpHY,IAAe,CAACxO,MAAUsO,KAAiBD,KAAcE;AAAA;AAAA,EAGzDN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAK,KAAiBD,IAAahc,KAAmCF;AAAA,MAAwBC,IACzF4K,IAAW0G,GAAW3oB,CAAK;AAC7B,EAAAiiB,KAAY,SAASwR,EAAa,WAAWxR;AAC7C,QAAMvP,IAASjU,GAASg1B,CAAY,GAClCxoB,IAAQjL,EAAM,aAAa;AAAA,IACzB,GAAG0S,EAAO,CAAC;AAAA,IACX,CAAC1S,EAAM,UAAU,GAAG;AAAA,EAC1B,IAAQ0S,EAAO,CAAC,GACZghB,IAAWhhB,EAAO,CAAC;AACrB,MAAIihB,IAAaV;AACR,EAAAO,KAAgC,CAAC7b,EAAa,SAAS,CAACiY,MAAe+D,IAAa,IAAIZ,EAAY,cAAc,KAAK9Q,MAAahX,EAAM,aAAagX,KAAY,OAAO,OAAOhX,GAAOoM,EAA4B,GAAGpM,EAAM,WAAWgX,GAAUyR,EAAS,CAAAtuB,QAAM;AAAA,IACxQ,GAAG6F;AAAA,EACP,EAAI;AACF,QAAM2e,IAAY5pB,EAAM,OACtBmvB,IAAkBxsB,GAAyB+wB,GAAU1zB,EAAM,KAAK;AAClE,MAAIozB,KAAiBO,KAAc/D,KAAcjY,EAAa,UAAU;AACtE,YAAQ,IAAI,aAAa,iBAAiB3X,EAAM,UAAU,aAAa,QAAQ,KAAK,qBAAqB,KAAK,UAAUozB,CAAa,CAAC,EAAE;AACxI,UAAM;AAAA,MACJ,cAAAQ;AAAA,MACA,aAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,QAAAC;AAAA,IACN,IAAQX;AACJ,IAAAjS,GAAM4S,EAAM,KAAK,OAAO,OAAO/zB,GAAO+zB,EAAM;AAC5C,UAAMC,KAAMH,KAAeC,IACzBG,IAAML,MAAgBE;AACxB,IAAA7oB,EAAM,aAAagpB,KAAOtc,EAAa,SAASsc,CAAG,KAAK,QAAQ,IAAI,aAAa,iBAAiBj0B,EAAM,UAAU,aAAa,QAAQ,KAAK,6BAA6Bi0B,CAAG,GAAG,GAAGj0B,EAAMi0B,CAAG,IAAI,MAAMZ,KAAaW,OAAQ,QAAQ,IAAI,aAAa,iBAAiBh0B,EAAM,UAAU,aAAa,QAAQ,KAAK,4BAA4Bg0B,EAAG,GAAG,GAAGh0B,EAAMg0B,EAAG,IAAIH,MAAgBC;AAAA,EAClX;AACA,MAAII,IAAoB,CAAC,CAACl0B,EAAM;AAChC,MAAI,CAAC4vB,EAAY,CAAAsE,IAAU;AAAA,WAAqBtE,GAAY;AAC1D,UAAMuE,KAAwBR,KAAc/D,GAC1CwE,IAAsB,CAACzc,EAAa,qBAAqB1T,GAAW,YAAY,KAAK,CAACgH,EAAM,YAC5FopB,KAAqBnB,KAAoB,CAACjoB,EAAM;AAElD,KAACkpB,MAAyBrB,MAAgB,SAASuB,MAAsBD,OAAyBF,IAAU,IAAI,QAAQ,IAAI,aAAa,iBAAiBl0B,EAAM,UAAU,aAAa0e,EAAI,sBAAsB;AAAA,MAC/M,uBAAAyV;AAAA,MACA,oBAAAE;AAAA,MACA,qBAAAD;AAAA,IACN,CAAK;AAAA,EACH;AACA,SAAO;AAAA,IACL,mBAAmBrB,EAAY;AAAA,IAC/B,aAAAA;AAAA,IACA,UAAA9Q;AAAA,IACA,WAAA2H;AAAA,IACA,kBAAA+I;AAAA,IACA,eAAAY;AAAA,IACA,YAAAI;AAAA,IACA,WAAAN;AAAA,IACA,YAAAzD;AAAA,IACA,UAAAuD;AAAA,IACA,eAAAC;AAAA,IACA,UAAAM;AAAA,IACA,iBAAAvE;AAAA,IACA,SAAA+E;AAAA,IACA,OAAAjpB;AAAA,IACA,UAAAslB;AAAA,IACA,YAAAsC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAG;AAAA,IACA,sBAAAD;AAAA,EACJ;AACA;AACA,SAASJ,GAAsBna,GAAO;AACpC,SAAO,OAAO,KAAKA,CAAK,EAAE,KAAK,CAAA7X,MAAK;AAClC,UAAMJ,IAAMiY,EAAM7X,CAAC;AACnB,WAAOJ,KAAO,OAAOA,KAAO,YAAY,gBAAgBA;AAAA,EAC1D,CAAC;AACH;AACA,MAAMmoB,KAAa,CAAA3oB,MAAK;;AAAI,SAAAA,EAAM,YAAYA,EAAM,iBAAe8Q,IAAA9Q,EAAM,uBAAN,gBAAA8Q,EAA0B,aAAY9Q,EAAM,eAAe,KAAKA,EAAM,yBAAyB;AAAA,GCjH5Js0B,KAAOC,GAAKvE,GAAW,SAAUhwB,GAAOw0B,GAAc;AACxD,QAAM;AAAA,IACJ,UAAAj2B;AAAA,IACA,GAAGk2B;AAAA,EACT,IAAQz0B;AACJ,MAAIqwB,GAAe9xB,CAAQ,GAAG;AAC5B,UAAMm2B,IAAcC,GAAep2B,GAAUk2B,CAAS;AACtD,WAAOnE,GAAa/xB,GAAUA,EAAS,KAAK,kBAAkBm2B,IAAc;AAAA,MAC1E,GAAGA;AAAA,MACH,KAAK1d,GAAYwd,GAAcj2B,EAAS,MAAM,GAAG;AAAA,IACzD,CAAO;AAAA,EACH;AACA,SAAO4xB,GAAS,MAAM5xB,CAAQ,IAAI,IAAI4xB,GAAS,KAAK,IAAI,IAAI;AAC9D,CAAC,CAAC,GAOEyE,KAAmB;AAAA,EACvB,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AACb;AACA,SAASD,GAAevE,GAAOqE,GAAW;AACxC,QAAMI,IAAazE,EAAM,OACvB0E,IAAc,OAAO1E,EAAM,QAAQ;AACrC,MAAI0E,EAAa,YAAW50B,KAAO00B,GAAU,CAAA10B,KAAOu0B,MAAcA,EAAUG,GAAS10B,CAAG,CAAC,IAAIu0B,EAAUv0B,CAAG,GAAG,OAAOu0B,EAAUv0B,CAAG;AACjI,QAAMusB,IAASqB,GAAoB2G,GAAWI,CAAU;AACxD,MAAIC,EAAa,YAAW50B,KAAO00B,GAAU,CAAA10B,KAAOusB,MAAWA,EAAOmI,GAAS10B,CAAG,CAAC,IAAIusB,EAAOvsB,CAAG,GAAG,OAAOusB,EAAOvsB,CAAG;AACrH,SAAOusB;AACT;ACJA,IAAIsI,GAAMC,IAAmBC;AAC7B,MAAMC,KAAoC,oBAAI,IAAG,GAC/CC,KAAmC,oBAAI,IAAI,CAAC,SAAS,SAAS,WAAW,SAAS,SAAS,eAAe,SAAS,OAAO,CAAC;AAC7H,IAAI,OAAO,SAAS,KAAK;AACvB,QAAMC,IAAgB,MAAM;AACxB,IAAAF,GAAmB,QAAQ,CAAAxB,MAAYA,EAAS,CAAA1wB,MAAQA,EAAK,SAASA,EAAK,UAAU;AAAA,MACnF,GAAGA;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,IACjB,IAAUA,CAAI,CAAC,GAAGkyB,GAAmB,MAAK;AAAA,EACtC,GACAG,IAAgB,MAAM;AACpB,IAAAH,GAAmB,QAAQ,CAAAxB,MAAYA,EAAS,CAAA1wB,MAAQA,EAAK,SAASA,EAAK,WAAWA,EAAK,QAAQ;AAAA,MACjG,GAAGA;AAAA,MACH,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACf,IAAUA,CAAI,CAAC,GAAGkyB,GAAmB,MAAK;AAAA,EACtC;AACF,mBAAiB,WAAWE,CAAa,GAAG,iBAAiB,YAAYC,CAAa,GAAG,iBAAiB,eAAeA,CAAa,GAAG,QAAQ,IAAI,aAAa,kBAAkBJ,KAAkB,MAAM;AAAA,EAkC5M;AACF;AAEA,MAAMK,KAA6B;AAAA,EAC/B,OAAO;AACX,GACEC,KAA0B;AAAA,EACxB,OAAO;AACX;AACS,OAAO,WAAW,QAAQ,SAAS,iBAAiB,WAAW,MAAM;AAC5E,EAAAD,GAA2B,UAAUA,GAA2B,QAAQ;AAC1E,CAAC,GAAG,SAAS,iBAAiB,aAAa,MAAM;AAC/C,EAAAA,GAA2B,UAAUA,GAA2B,QAAQ;AAC1E,CAAC,GAAG,SAAS,iBAAiB,aAAa,MAAM;AAC/C,EAAAA,GAA2B,UAAUA,GAA2B,QAAQ,KAAKC,GAAwB,QAAQ;AAC/G,CAAC,GAAG,SAAS,iBAAiB,cAAc,MAAM;AAChD,EAAAA,GAAwB,QAAQ;AAClC,CAAC;AACD,SAASC,GAAgB7d,GAAc;AACrC,MAAIzT,IAAS;AACb,QAAM;AAAA,IACF,WAAAutB;AAAA,IACA,QAAAvM;AAAA,IACA,OAAAD;AAAA,EACN,IAAQtN,GACJ5H,IAAY1O,EAAM,WAAW,CAACo0B,GAASjB,MAAiB;AACtD;;AAEA,IAAAtwB,IAASA,KAAUE,GAAS;AAC5B,UAAMsxB,IAAa,QAAQ,IAAI,aAAa,gBAAgBr0B,EAAM,MAAK,IAAK;AAC5E,YAAQ,IAAI,aAAa,iBAAiB4zB,OAAoBA,GAAe,GAAIA,KAAkB,SAAS,QAAQ,IAAI,aAAa,UAAUQ,EAAQ,mBAAmB,MAAMA,EAAQ,mBAAmB,EAAE,UAAUA,EAAQ,mBAAmB,EAAE,WAAW,GAAGA,EAAQ,mBAAmB,EAAE,WAAW;AAC1S,UAAM;AAAA,MACF,SAAAt2B;AAAA,MACA,eAAAimB;AAAA,IACV,IAAYzN,GACJiW,IAAY6H,EAAQ,OACpBE,IAAqBx2B,IAAUkC,EAAM,WAAWlC,CAAO,IAAI;AAC7D,QAAI8yB,IAAyB;AACxB,UAACpnB,IAAmBxJ,EAAM,WAAWoB,EAAgB,GACxDmzB,IAAkB,CAAC,EAAW1Q,KAAUra,EAAiB;AAE3D,KAAC,QAAQ,IAAI,wBAAwB,QAAQ,IAAI,aAAa,iBAAiB+iB,MAAc,aAAa,CAACmH,MAASA,IAAO,QAAQ,gBAAgB,EAAE,QAAQ,MAAK,GAAI,WAAW,OAAOA,IAAO,QAAQ,IAAI,aAAa,iBAAiB,CAACA,KAAQ,WAAW,SAASA,IAAO,WAAW,OAAO,QAAQ,IAAI,aAAa,iBAAiBA,KAAQA;AACjV,QAAI/0B,IAAQy1B;AACZ,UAAMjgB,IAAgBxV,EAAM,iBAAiB2X,EAAa,eACxD5X,IAAe2X,GAAgBC,GAAc3X,EAAM,aAAa,GAChE,CAAC61B,GAAWC,CAAS,IAAI11B,GAAoBL,GAAc41B,GAAoBF,CAAO;AACxF,IAAAz1B,IAAQ61B,GAAW5D,IAAyB6D,GAAW,QAAQ,IAAI,aAAa,iBAAiBvyB,MAAYlC,EAAM,UAAU,MAAM;AACjI,UAAI6V,GACF6W,IAAU;AACZ,YAAM/R,IAAS,MAAM;;AACjB,YAAI+R,EAAS,KAAI;AACf,WAAAjd,IAAAid,EAAQ,eAAR,QAAAjd,EAAoB,YAAYid,IAAUA,IAAU;AAAA,QACtD,QAAQ;AAAA,QAAC;AAAA,MACX,GACAgI,IAAyB,CAACC,IAAO,OAAO;AACtC,YAAI9e,IAAOqZ,EAAS,QAAQ,MAAM,CAAC,CAACrZ,EAAM,KAAI8e,GAAM;AAClD,UAAAjI,MAAYA,IAAU,SAAS,cAAc,MAAM,GAAGA,EAAQ,MAAM,QAAQ,OAAOA,EAAQ,MAAM,SAAS,WAAWA,EAAQ,MAAM,WAAW,YAAYA,EAAQ,MAAM,cAAc,OAAOA,EAAQ,MAAM,cAAc,OAAOA,EAAQ,MAAM,cAAc;AAC5P,gBAAMkI,IAAS/e,EAAK,aAAa,SAAS,KAAK,IAC7Cgf,KAAShf,EAAK,aAAa,SAAS,KAAK,IACzCif,KAAU,SAAS,cAAc,MAAM;AACzC,UAAAA,GAAQ,MAAM,WAAW,YAAYA,GAAQ,MAAM,MAAM,OAAOA,GAAQ,MAAM,OAAO,OAAOA,GAAQ,MAAM,UAAU,OAAOA,GAAQ,MAAM,aAAa,oBAAoBA,GAAQ,MAAM,QAAQ,uBAAuBA,GAAQ,MAAM,WAAW,QAAQA,GAAQ,MAAM,aAAa,QAAQA,GAAQ,MAAM,aAAa,aAAaA,GAAQ,YAAY,GAAG3gB,KAAiB,EAAE,IAAIygB,CAAM,IAAIC,EAAM,GAAG,KAAI,GAAInI,EAAQ,YAAYoI,EAAO,GAAGjf,EAAK,YAAY6W,CAAO;AAAA,QACpc,MAAO,CAAA/R,EAAM;AAAA,MACf;AACF,aAAOgZ,KAAoBA,MAAoC,oBAAI,IAAG,GAAIA,GAAkB,IAAIe,CAAsB,GAAG,MAAM;AAC7H,QAAA/Z,KAAUgZ,MAAA,QAAAA,GAAmB,OAAOe;AAAA,MACtC;AAAA,IACF,GAAG,CAACvgB,CAAa,CAAC;AAClB,UAAM4gB,IAAqB/0B,EAAM,WAAWqB,EAAY,GACtDqiB,IAAkB/kB,EAAM,cAAckE,IAASA,EAAO,mBAAmBA,EAAO,iBAAiBlE,EAAM,UAAU,KAAKkE,EAAO,aAAalE,EAAM,eAAe,YAAYkE,EAAO,aAAa,OAAO4T,GAAuBjN,EAAiB,eAAe,KAAKiN,GAAuB5T,KAAA,gBAAAA,EAAQ,UAAU,KAAK,MAChTwuB,IAAgB3N,KAAA,gBAAAA,EAAiB,eACjCja,IAAiB0nB,GAAkBxyB,GAAO+kB,KAAA,QAAAA,EAAiB,SAAS,OAAOA,GAAiBpN,CAAoB,GAChH;AAAA,MACE,UAAAsK;AAAA,MACA,WAAA2H;AAAA,MACA,kBAAA+I;AAAA,MACA,eAAAY;AAAA,MACA,YAAAI;AAAA,MACA,WAAAN;AAAA,MACA,YAAAzD;AAAA,MACA,UAAAuD;AAAA,MACA,eAAAC;AAAA,MACA,UAAAM;AAAA,MACA,SAAAQ;AAAA,MACA,OAAAjpB;AAAA,MACA,UAAAslB;AAAA,MACA,YAAAsC;AAAA,MACA,aAAAC;AAAA,MACA,gBAAAG;AAAA,MACA,sBAAAD;AAAA,MACA,mBAAAlO;AAAA,IACV,IAAYha;AACN,IAAA6nB,OAAoB5N,KAAA,QAAAA,EAAiB,mBAAkBvhB,GAA0B,MAAM;AACrF,YAAM6H,IAAeklB,EAAS,QAAQ;AACtC,MAAAllB,MAAiBklB,EAAS,QAAQ,YAAY,QAAQzlB,EAAe,gBAAgBO,CAAY;AAAA,IACnG,CAAC;AACD,UAAMgrB,KAAmBC,GAAQ,MAAM;;AACrC,UAAI,CAAC1M,KAAa5pB,EAAM,YAAa,QAAOo2B;AAC5C,YAAMjsB,IAA2B,oBAAI,IAAG;AACxC,cAAO4J,KAAAjD,IAAAyf,EAAS,QAAQ,UAAjB,gBAAAzf,EAAwB,cAAxB,QAAAiD,EAAmC,SAASwc,EAAS,QAAQ,QAAQ;AAAA,QAC1E,WAAApmB;AAAA,QACA,KAAKosB,GAAQ;AACX,UAAApsB,EAAU,QAAQ,CAAAmjB,MAAKA,EAAEiJ,CAAM,CAAC;AAAA,QAClC;AAAA,QACA,UAAUxsB,GAAI;AACZ,iBAAOI,EAAU,IAAIJ,CAAE,GAAGI,EAAU,SAAS,KAAKglB,GAAgB;AAAA,YAChE,qBAAqB;AAAA,UACnC,CAAa,GAAG,MAAM;AACR,YAAAhlB,EAAU,OAAOJ,CAAE,GAAGI,EAAU,SAAS,KAAKglB,GAAgB;AAAA,cAC5D,qBAAqB;AAAA,YACrC,CAAe;AAAA,UACH;AAAA,QACF;AAAA,MACV,GAAW;AAAA,QACD,GAAGiH;AAAA,QACH,CAACxM,CAAS,GAAG;AAAA,UACX,OAAO;AAAA,YACL,QAAQvS;AAAA,UACtB;AAAA,UACY,WAAW,CAAAmf,MAAY;;AACrB,kBAAM/sB,KAAUqH,IAAAyf,EAAS,QAAQ,UAAjB,gBAAAzf,EAAwB,UAAU0lB;AAClD,mBAAO,MAAM;AACX,cAAA/sB,KAAA,QAAAA;AAAA,YACF;AAAA,UACF;AAAA,QACZ;AAAA,MACA;AAAA,IACM,GAAG,CAAC8mB,GAAU3G,GAAWwM,CAAkB,CAAC;AAC5C,QAAIjH,KAAkBrkB,EAAe;AACrC,YAAQ,IAAI,aAAa,iBAAiBiqB,KAAQA;AAClD,UAAM0B,KAAaz2B,EAAM,QACvBkyB,MAAoB,CAACT,KAAa,OAAOA,KAAa,aAAagF,MAAchF,GACjFiF,KAAgBxR,IAAqBgN,MAAW,SAAqBA,OAAY0D,IAAkB,SAAS;AAC9G,QAAI/Q,IAAc6R;AAClB,IAAA3R,KAAmB4O,KAAc5O,EAAgB,yBAAyBF,IAAcE,EAAgBG,IAAS,SAAS,MAAM,KAAKL;AACrI,UAAM8R,IAAe32B,EAAM,oBAAoB,KAAKilB;AACpD,YAAQ,IAAI,aAAa,iBAAiB8P,KAAQA;AAClD,UAAM6B,IAAkB;AAAA,MACtB,eAAAphB;AAAA,MACA,SAASmhB;AAAA,MACT,SAAS32B,EAAM;AAAA,MACf,OAAO4tB;AAAA,MACP,UAAU5tB,EAAM;AAAA,IACxB;AACM,QAAI,WAAWA,MAAU42B,EAAgB,OAAO52B,EAAM,QAAQ42B,EAAgB,cAAc,MAAM,CAAC,CAACrG,EAAS,QAAQ,oBAAoB,QAAQ,IAAI,aAAa,iBAAiB3C,KAAaA,MAAc,WAAW;AACvN,YAAMnoB,IAAO,GAAG+P,MAAiBic,KAAA,gBAAAA,EAAW,iBAAeA,KAAA,gBAAAA,EAAW,SAAQ,qBAAqB,IACjG3wB,KAAQyyB,KAAgB,eAAe,QAAQI,IAAa,eAAe,QAAQvO,IAAgB,UAAU,QAAQ8O,KAAU,cAAc,QAAQjpB,EAAM,SAASA,EAAM,UAAU,cAAc,QAAQA,EAAM,QAAQ,cAAc,QAAQA,EAAM,QAAQ,cAAc,QAAQA,EAAM,cAAc,qBAAqB,SAAQmoB,KAAA,gBAAAA,EAAe,eAAc,KAAK,WAAW,KAChXyD,IAASpB,EAAQ,SAAS,KAAK,IAC/BqB,IAAS,IAAIrxB,CAAI,OAAOiwB,CAAU,IAAImB,IAAS,IAAIA,CAAM,KAAK,EAAE,IAAI/1B,EAAK,MAAM,eAAe8uB,EAAU,iBAAiB3kB,EAAM,SAAS,KACxI8rB,IAAKtB,EAAQ;AACf,UAAIuB,IAAW,OAAOD,KAAM,WAAWA,EAAG,SAAS,IAAIA,EAAG,MAAM,GAAG,CAAC,IAAI,QAAQA,IAAK;AACrF,MAAAC,EAAS,WAAWA,IAAW,cAAcA,CAAQ,MAAe,QAAQ,KAAK,MAAMF,CAAM,IAAI,kCAAkC,GAAGxzB,KAAWob,EAAI;AAAA,QACnJ,SAAAwV;AAAA,QACA,YAAAP;AAAA,QACA,OAAAvwB;AAAA,QACA,YAAAyvB;AAAA,MACV,CAAS,KAAK,QAAQ,SAAQ,GAAI,QAAQ,eAAe,GAAGmE,CAAQ,qCAA4C,GAAGtY,EAAI,aAAa+W,CAAO,GAAG/W,EAAI,gBAAgB1e,GAAO,OAAO,KAAKA,CAAK,CAAC,GAAG0e,EAAI;AAAA,QACxL,OAAAzT;AAAA,QACA,cAAA0M;AAAA,QACA,aAAAkN;AAAA,QACA,iBAAA+R;AAAA,MACV,CAAS,GAAGlY,EAAI;AAAA,QACN,SAAAvf;AAAA,QACA,wBAAA8yB;AAAA,QACA,kBAAApnB;AAAA,MACV,CAAS,GAAG6T,EAAI;AAAA,QACN,UAAAyU;AAAA,QACA,YAAAQ;AAAA,QACA,OAAA1O;AAAA,QACA,kBAAA0N;AAAA,QACA,eAAAD;AAAA,MACV,CAAS,GAAG,QAAQ,SAAQ;AAAA,IActB;AACA,YAAQ,IAAI,aAAa,iBAAiBqC,KAAQA;AAClD,UAAM,CAAC32B,IAAO0Y,EAAU,IAAID,GAAkB+f,CAAe;AAC7D,YAAQ,IAAI,aAAa,iBAAiB7B,KAAQA,UAAalQ,IAAcqN,MAAWrN;AACxF,UAAMoS,KAAkB,OAAOpS,KAAe,UAC5ChgB,KAAa+F,GAASC,GAAkB+iB,CAAS;AACnD,IAAAhd,GAAuB,EAAE,GAAG,QAAQ,IAAI,aAAa,iBAAiBmkB,KAAQA;AAC9E,UAAM9T;AAAA;AAAA,MAEJ0S,KAAcd,OAAe,SAAS5N,KAASha,EAAM,aAAa,MAAM0nB,KAAmB,UAAU;AAAA,OACrGtT,KAAa;AAAA,MACX,YAAAxa;AAAA,MACA,SAAAqvB;AAAA,MACA,eAAAjT;AAAA,MACA,WAAAoS;AAAA,MACA,YAAAM;AAAA,MACA,gBAAAV;AAAA,MACA,eAAe0C;AAAA,IACzB,GACQnY,MAAY1G,MAAA,gBAAAA,GAAY,SAAQ;AAClC,YAAQ,IAAI,aAAa,iBAAiBie,KAAQA;AAClD,UAAMmC,IAAcjK,GAAejtB,GAAO2X,GAAcvZ,IAAOof,IAAWvS,GAAOoU,IAAY,MAAMxU,GAAkBwrB,IAAkBxR,GAAaC,IAAmB8I,GAAW7I,CAAe,GAC/LoS,KAAgB,CAACD;AACnB,QAAIE,KAAqBzf,EAAa;AACtC,QAAIuf,KAAA,QAAAA,EAAa,wBAAwB;AACvC,YAAMG,IAAkB1f,EAAa,aAAW7G,KAAA6G,EAAa,uBAAb,gBAAA7G,GAAiC;AACjF,UAAIumB,GAAiB;AACnB,mBAAWn3B,KAAOg3B,EAAY,uBAAwB,CAAAjF,IAAyBA,KAA0B,IAAIA,EAAuB/xB,CAAG,IAAIg3B,EAAY,uBAAuBh3B,CAAG;AACjL,QAAAyX,EAAa,YAAYyf,KAAqBC;AAAA,MAChD;AAAA,IACF;AACA,UAAM/S,KAAesF,MAAayM,MAAA,gBAAAA,GAAmBzM,OAAc;AACnE,QAAI,CAACuN,MAAiB7S;AAAA,IAEtBtkB,EAAM,kBAAkB,UAAU;AAChC,YAAM6pB,IAAavF,MAAA,gBAAAA,GAAc;AACjC,MAAAuF,KAAcA,EAAW,WAAW,YAAW9V,KAAAmjB,EAAY,UAAZ,QAAAnjB,GAAmB,UAASG,KAAAgjB,EAAY,UAAZ,QAAAhjB,GAAmB,YAAY2V,EAAW,SAAS;AAAA,QAC5H,OAAOyN,GAAOJ,EAAY,MAAM,KAAK;AAAA,QACrC,QAAQI,GAAOJ,EAAY,MAAM,MAAM;AAAA,MACjD;AAAA,IACM;AACA,UAAMK,KAAyBv3B,EAAM,cAAc,OAAOA,EAAM,cAAc,YAAY,CAAC,MAAM,QAAQA,EAAM,UAAU,MAAM,WAAWA,EAAM,cAAc,UAAUA,EAAM;AAC9K,QAAI,CAACm3B,OAAkBxE,MAAoB/I,OAAc7E,KAAA,QAAAA,EAAiB,mBAAkB,CAACwS,IAAwB;AACnH,UAAIC,IAAuB,WAAY;AACrC,cAAMC,IAAelH,EAAS,QAAQ;AACtC,YAAIjM,IAAc;AAChB,gBAAM;AAAA,YACJ,OAAA3T;AAAA,YACA,qBAAA+mB;AAAA,YACA,WAAAC;AAAA,YACA,YAAAC;AAAA,YACA,GAAGC;AAAA,UACjB,IAAgBJ;AACJ,UAAAK,EAAuBxT,IAAciM,EAAS,QAAQ,SAAS,MAAMsH,EAAkB;AAAA,QACzF;AAAA,MACF;AACA,YAAME,IAAoB5I;AAC1B,UAAIoB,EAAS,QAAQ,sBAAsB,MAAM;AAC/C,cAAMyH,IAAmBzH,EAAS,QAAQ;AAC1C,YAAI,CAACyH,GAAkB;AACrB,gBAAM3sB,KAAeklB,EAAS,QAAQ;AACtC,UAAAllB,OAAiBklB,EAAS,QAAQ,YAAY,QAAQwH,EAAkB1sB,EAAY;AACpF;AAAA,QACF;AACA,cAAMosB,IAAelH,EAAS,QAAQ,aAAatlB,GACjD+e,IAAcuG,EAAS,QAAQ,WAC/B0H,IAAatT,GAAe3kB,GAAO2X,GAAcvZ,IAAOof,IAAWia,GAAczN,IAAc;AAAA,UAC7F,GAAG3K;AAAA,UACH,YAAY2K;AAAA,QAC1B,IAAgB3K,IAAY,MAAMxU,GAAkBwrB,IAAkBxR,GAAaC,IAAmB8I,GAAW7I,CAAe,GACpHmT,KAAsB9J,GAAiCmC,EAAS,QAAQ,iBAAiBkH,GAAcQ,KAAA,gBAAAA,EAAY,mBAAmBj4B,EAAM,UAAU;AACxJ,QAAAuwB,EAAS,QAAQ,kBAAkB5B,GAAmB8I,CAAY,GAAGO,GAAiBC,KAAA,gBAAAA,EAAY,UAAS,CAAA,GAAIC,EAAmB;AAAA,MACpI,GAAGrtB,EAAiB,qBAAqBA,EAAiB,sBAAqC,oBAAI,IAAG,GAAI,CAAC0lB,EAAS,QAAQ,kBAAkB;AAC5I,cAAM4H,IAAiB,CAAA91B,MAAQ;;AAC7B,UAAAkuB,EAAS,QAAQ,YAAYluB,IAAM0R,KAAAjD,IAAAyf,EAAS,SAAQ,wBAAjB,QAAAxc,EAAA,KAAAjD;AAAA,QACrC;AACA,QAAAjG,EAAiB,mBAAmB,IAAIstB,CAAc,GAAG5H,EAAS,QAAQ,mBAAmB,MAAM;;AACjG,WAAAzf,IAAAjG,EAAiB,uBAAjB,QAAAiG,EAAqC,OAAOqnB;AAAA,QAC9C;AAAA,MACF;AACA,MAAAttB,EAAiB,YAAYA,EAAiB,cAAc,CAAAxI,MAAQ;AAClE,mBAAWm0B,KAAY3rB,EAAiB,mBAAoB,CAAA2rB,EAASn0B,CAAI;AAAA,MAC3E,IAAIkuB,EAAS,QAAQ,kBAAkB,CAAA6H,MAAiB;;AACtD,cAAMp1B,IAAOutB,EAAS,QAAQ,aAAatlB,GACzC5I,IAAO,OAAO+1B,KAAiB,aAAaA,EAAcp1B,CAAI,IAAIo1B;AACpE,YAAI/1B,MAASW,KAAQG,GAAeH,GAAMX,CAAI,EAAG;AACjD,cAAMg2B,IAAmB,OAAO,KAAKh2B,CAAI,EAAE,MAAM,CAAAnC,OAAOi1B,GAAkB,IAAIj1B,EAAG,CAAC,GAChFu3B,KAAe;AAAA,UACb,GAAGz0B;AAAA,UACH,GAAGX;AAAA,QACjB;AACU,QAAAkuB,EAAS,QAAQ,YAAYkH,IAAcY,KAAoB,QAAQ,IAAI,aAAa,iBAAiBzK,KAAaA,MAAc,cAAc,QAAQ,eAAe,uBAAiCpY,GAAenT,GAAM;AAAA,UAC7N,cAAAo1B;AAAA,UACA,OAAAz3B;AAAA,QACZ,CAAW,GAAG,QAAQ,KAAKuwB,EAAS,QAAQ,IAAI,GAAG,QAAQ,SAAQ,IAAKiH,EAAoB,IAAIzjB,MAAAjD,KAAAyf,EAAS,SAAQ,wBAAjB,QAAAxc,GAAA,KAAAjD,QAA6C,QAAQ,IAAI,aAAa,iBAAiB8c,KAAaA,MAAc,aAAa,QAAQ,KAAK,kBAAyB;AAAA,UACzP,kBAAAyK;AAAA,UACA,MAAAh2B;AAAA,QACZ,CAAW,GAAG01B,EAAkB11B,CAAI;AAAA,MAC5B,GAAG8sB,KAAkB,CAAAoH,MAAU;;AAC7B,SAAAxiB,KAAAjD,IAAAyf,EAAS,SAAQ,oBAAjB,QAAAxc,EAAA,KAAAjD,GAAmCylB;AAAA,MACrC;AAAA,IACF;AACA,YAAQ,IAAI,aAAa,iBAAiBxB,KAAQA,iBAAoBmC,MAAgBl3B,EAAM,SAASA,EAAM,kBAAkB,UAAU,CAACuwB,EAAS,QAAQ,gBAAgB2G,EAAY,QAAQA,EAAY,SAAS,CAAA,GAAIA,EAAY,MAAM,UAAU,IAAIA,EAAY,sBAAsB,SAAS3G,EAAS,QAAQ,qBAAqB2G,EAAY;AACnV,UAAMoB,KAAsBpB,KAAA,gBAAAA,EAAa,aAAYA,EAAY,aAAa,IAC5EqB,KAAuBvnB,GAAmB,KAAMsnB,KAAuBpE,OAAWgD,KAAA,gBAAAA,EAAa,cAAa,IAC5GsB,KAAqBF,IAAsBpB,EAAY,WAAW;AACpE,YAAQ,IAAI,aAAa,iBAAiBtJ,MAAc,aAAa,QAAQ,KAAK,8BAA8B2K,IAAsBC,EAAkB,GAAGnuB,GAAqBQ,GAAkB0tB,IAAsBC,EAAkB;AAC1O,UAAM;AAAA,MACF,WAAWC;AAAA,MACX,SAAA5S;AAAA,MACA,OAAO6S;AAAA,MACP,YAAA9S;AAAA,MACA,cAAAI;AAAA,MACA,aAAAra;AAAA,IACV,IAAYurB,KAAe,CAAA,GACnByB,KAAqB34B,GACrB;AAAA,MACE,SAAAqmB;AAAA,MACA,UAAA9nB;AAAA,MACA,cAAAq6B;AAAA,MACA,gBAAgBC;AAAA,MAChB,SAAAC;AAAA,MACA,aAAAC;AAAA,MACA,WAAAC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,SAAAC;AAAA,MACA,QAAAC;AAAA,MACA,WAAAC;AAAA;AAAA,MAEA,aAAAzJ;AAAA,MACA,YAAY0J;AAAA;AAAA,MAEZ,SAAAC;AAAA,MACA,OAAOC;AAAA,MACP,GAAGC;AAAA,IACb,IAAYrB,MAAe,CAAA;AACrB,QAAIhT,KAAYqU;AAChB,IAAA95B,EAAM,eAAeylB,GAAU,aAAazlB,EAAM,aAAailB,MAAU,OAAO4U,KAAa,QAAQpU,GAAU,QAAQoU,KAAa,OAAO5J,KAAc,QAAQxK,GAAU,cAAcwK;AACzL,QAAI8J;AACJ,UAAMC;AAAA;AAAA,OAELnH,OAAe,QAAQG,KAAuBC,OAAmBP,KAAiB,CAACzN;AAAA;AACpF,QAAIgV;AACJ,QAAID,IAAoB;AACtB,YAAME,IAAkBnV,KAAA,QAAAA,EAAiB,iBAAiB,CAAAyR,MAAY;AAClE,QAAAjG,EAAS,QAAQ,mBAAmBiG;AAAA,MACtC,IAAI,QACJ0B,IAAsB9J,GAAiCmC,EAAS,QAAQ,iBAAiBtlB,GAAOisB,KAAA,gBAAAA,EAAa,mBAAmBl3B,EAAM,UAAU;AAClJ,MAAAk3B,MAAgBA,EAAY,sBAAsBgB,IAAsB3H,EAAS,QAAQ,kBAAkB5B,GAAmB1jB,CAAK;AACnI,YAAMkvB,IAAazH,EAAc;AAAA,QAC/B,OAAOiG;AAAA;AAAA;AAAA,QAGP,OAAO/I,KAAa8I,MAAoB,KAAK;AAAA,UAC3C,GAAGA;AAAA,QACf;AAAA;AAAA,QAEU,YAAYxB;AAAA,QACZ,iBAAAgD;AAAA,QACA,UAAA/G;AAAA,QACA,gBAAgBloB;AAAA,QAChB,YAAAoU;AAAA,QACA,OAAAjhB;AAAA,QACA,WAAAof;AAAA,QACA,SAASqI,MAAW;AAAA,QACpB,cAAAlO;AAAA,QACA,UAAA4Y;AAAA,MACV,CAAS;AACD,MAAA4J,MAAeA,EAAW,QAAQF,KAAcE,EAAW,MAAMvK,MAAcuK,MAAeJ,KAAkBI,EAAW,OAAO1U,GAAU,QAAQsU,IAAiBI,EAAW,cAAc1U,GAAU,YAAY,GAAGxa,EAAM,cAAc,iBAAiB,iBAAiB,EAAE,GAAGwa,GAAU,aAAa,EAAE,IAAI0U,EAAW,SAAS,OAAO,QAAQ,IAAI,aAAa,iBAAiBpF,KAAQA;AAAAA,IAC9X;AACA,YAAQ,IAAI,aAAa,iBAAiB/0B,EAAM,iBAAiB,CAACA,EAAM,SAAS,QAAQ,KAAK;AAAA;AAAA,+JAE2D,GAAG,QAAQ,IAAI,aAAa,iBAAiB+0B,KAAQA,gBAAmB,CAACoC,MAAiB7S;AAAA,IAEnPtkB,EAAM,kBAAkB,aAAa85B,GAAgB,WAAWvsB,GAAqBusB,GAAgB,UAAU,CAAAj7B,MAAK;;AAClH,YAAM+M,IAAS/M,EAAE,YAAY;AAC7B,MAAAylB,GAAa,MAAM,SAAS1Y,IAAQkF,IAAAyf,EAAS,QAAQ,UAAjB,QAAAzf,EAAwB,KAAK;AAAA,QAC/D,QAAAlF;AAAA,MACV,IAAY,CAAC2kB,EAAS,QAAQ,eAAevwB,EAAM,kBAAkB,UAAU0zB,GAAS,CAAA1wB,OAAS;AAAA,QACvF,GAAGA;AAAA,MACb,EAAU,GAAGutB,EAAS,QAAQ,cAAc;AAAA,IACtC,CAAC,IAAI9K,OAAYtR,KAAA0a,GAAM,sBAAN,gBAAA1a,GAAA,KAAA0a,IAA0BhK,GAAaiV,IAAiBvJ,GAAUA,EAAS,QAAQ,iBAAgBuJ,IAAiBvJ,EAAS,QAAQ,gBAAgBA,EAAS,QAAQ,cAAcvZ,GAAY,CAAA4F,MAAK2T,EAAS,QAAQ,OAAO3T,GAAG4X,GAAczF,IAAiBkL,EAAW,IAAIxU,GAAU,MAAM8K,EAAS,QAAQ,aAAiD,QAAQ,IAAI,aAAa,iBAAiB,CAACnL,KAAiB,CAACF,KAAU9hB,MAAS,CAAC6hB,KAAS5jB,EAAM,SAAS,QAAQrB,EAAM,QAAQ,EAAE,QAAQ,CAAAo6B,MAAQ;AAChgB,aAAOA,KAAQ,YAAYA,MAAS;AAAA,KACvC,QAAQ,MAAM,yBAAyBA,CAAI,yCAAyCziB,EAAa,iBAAiB8d,EAAQ,OAAO,MAAM,MAAMz1B,CAAK;AAAA,IACjJ,CAAC,GAAG,QAAQ,IAAI,aAAa,iBAAiB+0B,KAAQA;AACtD,UAAMsF,KAAU,MAAM;AACpB,MAAAlL,GAAgB;AAAA,QACd,OAAO;AAAA,QACP,SAAS;AAAA,MACnB,CAAS;AAAA,IACH;AACA,YAAQ,IAAI,aAAa,iBAAiB/rB,MAASI,GAA0B,MAAM;AACjF,UAAIoqB,MAAc,WAAW;AAC3B,YAAI0M,IAA8B,SAAU7hB,GAAO;AACjD,gBAAMpR,IAAc,CAAA;AACpB,mBAAShB,IAAI,GAAGA,IAAIoS,EAAM,QAAQpS,KAAK;AACrC,gBAAIib,IAAO7I,EAAMpS,CAAC;AAClB,YAAAgB,EAAYia,CAAI,IAAI7I,EAAM,iBAAiB6I,CAAI;AAAA,UACjD;AACA,iBAAOja;AAAA,QACT;AACA,cAAMkzB,IAAWhK,EAAS,QAAQ,OAAO+J,EAA4B,iBAAiB/J,EAAS,QAAQ,IAAI,CAAC,IAAI,CAAA;AAChH,gBAAQ,eAAe,wBAAwBgK,EAAS,OAAO,GAAG,GAAG,QAAQ,KAAKhK,EAAS,QAAQ,IAAI,GAAG,QAAQ,KAAKgK,CAAQ,GAAG,QAAQ,SAAQ;AAAA,MACpJ;AAAA,IACF,CAAC,GAAG/2B,GAA0B,MAAM;AAClC,UAAIyH,EAAM,cAAc,MAAMsoB,IAAe;AAC3C,QAAApE,GAAgB;AAAA,UACd,WAAW;AAAA,QACvB,CAAW;AACD;AAAA,MACF;AACA,UAAIlkB,EAAM,WAAW;AACnB,YAAI4nB,OAAe,OAAO;AACxB,cAAI2H,IAAY;AAChB,iBAAO,sBAAsB,MAAM;AACjC,YAAAA,KAAa,sBAAsB,MAAM;AACvC,cAAAA,KAAarL,GAAgB;AAAA,gBAC3B,WAAW;AAAA,cAC7B,CAAiB;AAAA,YACH,CAAC;AAAA,UACH,CAAC,GAAG,MAAM;AACR,YAAAqL,IAAY;AAAA,UACd;AAAA,QACF;AACA,QAAArL,GAAgB;AAAA,UACd,WAAW;AAAA,QACvB,CAAW;AAAA,MACH;AACA,aAAO,MAAM;;AACX,QAAA+F,GAAmB,OAAOxB,EAAQ,IAAG3f,KAAAjD,IAAAyf,EAAS,SAAQ,qBAAjB,QAAAxc,EAAA,KAAAjD;AAAA,MACvC;AAAA,IACF,GAAG,CAAC7F,EAAM,WAAW4nB,EAAU,CAAC,GAAGrvB,GAA0B,MAAM;AACjE,UAAI,CAACye,KAAY,EAAE,CAAC+D,MAAgB,CAACra,OAAgB0qB,GAAkB,QAAOrH,GAAwB;AAAA,QACpG,cAAcqH;AAAA,QACd,iBAAAlH;AAAA,QACA,aAAAxjB;AAAA,QACA,cAAAqa;AAAA,MACV,CAAS;AAAA,IACH,GAAG,CAACqQ,IAAkBpU,GAAU+D,KAAetlB,GAAkBslB,EAAY,IAAI,GAAGra,KAAcjL,GAAkBiL,EAAW,IAAI,CAAC,CAAC;AACrI,UAAM8uB,KAAelK,EAAS,QAAQ;AACtC,IAAA/sB,GAA0B,MAAM;AAC9B,OAAC8gB,MAAgB,CAACmW,MAAgB3C,EAAuBxT,IAAcmW,IAAcxvB,CAAK;AAAA,IAC5F,GAAG,CAACqZ,IAAcmW,IAAcxvB,CAAK,CAAC;AACtC,UAAMyvB,KAAoB,CAACzY,KAAYiS,OAAWrO,MAAA,gBAAAA,GAAS,aACzD8U,KAAoB,CAAC1Y,KAAYiS,OAAWrO,MAAA,gBAAAA,GAAS,aACrD+U,KAA2B,CAAC3Y,KAAYiS,OAAWrO,MAAA,gBAAAA,GAAS,oBAC5DgV,KAAc,CAAC,EAAEH,MAAqBC,MAAqBC,MAA4BpB,MAAWC,MAAU5uB,EAAiB,sBAC7HiwB,KAA0B,CAAC,EAAElR,KAAa3e,EAAM,sBAChD8vB,KAAc,CAAC,EAAED,MAA2BJ,MAAqB5B,MAAWG,KAAcD,KAAaK,MAAeD,MAAaL,MAAea,MAAW/T,MAAA,QAAAA,GAAS,oBACtKmV,KAAoB,CAAC/Y,KAAYiS,OAAWrO,MAAA,gBAAAA,GAAS,aACrDoV,KAAkB,CAAC,EAAEH,MAA2BE,KAChDE,KAAuB,CAAC,EAAEJ,MAA2BG,MAAmB3B,MAAgBC,KACxF4B,KAAe,CAAClZ,KAAY,CAACjiB,EAAM,WAAW,CAAC,EAAE66B,MAAeE,MAAeG,MAAeR,MAAqBM,MAAqBL,KACxIS,KAAkB,CAAC,EAAEN,MAA2BJ;AAClD,YAAQ,IAAI,aAAa,iBAAiB3F,KAAQA,iBAAoB,QAAQ,IAAI,aAAa,iBAAiBnH,MAAc,aAAalP,EAAI,eAAsB;AAAA,MACnK,mBAAAic;AAAA,MACA,mBAAAD;AAAA,MACA,mBAAAM;AAAA,MACA,0BAAAJ;AAAA,MACA,aAAAG;AAAA,MACA,aAAAF;AAAA,MACA,aAAAK;AAAA,MACA,cAAAC;AAAA,MACA,iBAAAF;AAAA,MACA,SAAApV;AAAA,IACR,CAAO;AACD,UAAMrO,KAAS2jB,KAAe;AAAA,MAC5B,YAAYJ,KAAc,CAAAl8B,MAAK;AAC7B,QAAAw7B,GAAO,GAAIpB,KAAA,QAAAA,EAAap6B,IAAIu6B,MAAA,QAAAA,GAAYv6B;AAAA,MAC1C,IAAI;AAAA,MACJ,IAAKq8B,MAAeH,OAAgB;AAAA,QAClC,cAAc,CAAAl8B,MAAK;AACjB,gBAAMwD,IAAO,CAAA;AACb,UAAA44B,MAAmB,CAAC1F,GAAwB,UAAUlzB,EAAK,QAAQ,KAAK+4B,MAAmBnwB,EAAM,YAAY5I,EAAK,QAAQ,KAAK8sB,GAAgB9sB,CAAI,GAAG62B,MAAA,QAAAA,GAAYr6B,IAAIy6B,MAAA,QAAAA,GAAez6B;AAAA,QACvL;AAAA,QACA,cAAc,CAAAA,MAAK;AACjB,gBAAMwD,IAAO,CAAA;AACb,UAAA44B,OAAoB54B,EAAK,QAAQ,KAAK+4B,OAAoB/4B,EAAK,QAAQ,IAAIA,EAAK,UAAU,KAAK8sB,GAAgB9sB,CAAI,GAAG82B,MAAA,QAAAA,GAAat6B,IAAI06B,MAAA,QAAAA,GAAe16B;AAAA,QACxJ;AAAA,MACV;AAAA,MACQ,WAAWk8B,KAAc,CAAAl8B,MAAK;AAC5B,QAAAu8B,MAAmBjM,GAAgB;AAAA,UACjC,OAAO;AAAA,UACP,SAAS;AAAA,QACrB,CAAW,GAAG6J,KAAA,QAAAA,EAAYn6B,IAAIw6B,MAAA,QAAAA,GAAcx6B,IAAaq2B,GAAmB,IAAIxB,EAAQ;AAAA,MAChF,IAAI;AAAA,MACJ,SAASqH,KAAc,CAAAl8B,MAAK;AAC1B,QAAAw7B,GAAO,GAAaT,MAAA,QAAAA,GAAU/6B,IAAIi6B,MAAA,QAAAA,GAAUj6B,IAAIk6B,MAAA,QAAAA,GAAcl6B;AAAA,MAChE,IAAI;AAAA,MACJ,GAAIg8B,MAAe;AAAA,QACjB,SAAS,CAAAh8B,MAAK;AACZ,gBAAMwD,IAAO,CAAA;AACb,UAAAwI,EAAiB,wBAAwBxI,EAAK,cAAc,KAAKwjB,MAAA,QAAAA,GAAS,qBAAqByP,GAA2B,QAAQjzB,EAAK,eAAe,KAAKA,EAAK,QAAQ,IAAI8sB,GAAgB9sB,CAAI,GAAGm3B,MAAA,QAAAA,GAAU36B;AAAA,QAC/M;AAAA,QACA,QAAQ,CAAAA,MAAK;AACX,UAAAgM,EAAiB,uBAAuBA,EAAiB,oBAAoB;AAAA,YAC3E,aAAa;AAAA,UAC3B,CAAa,GAAGskB,GAAgB;AAAA,YAClB,OAAO;AAAA,YACP,cAAc;AAAA,YACd,aAAa;AAAA,UAC3B,CAAa,GAAGsK,MAAA,QAAAA,GAAS56B;AAAA,QACf;AAAA,MACV;AAAA,IACA,IAAU;AAOJ,QANA2Y,MAAU,CAAC4N,KAAiB,OAAO,OAAOK,IAAWlO,GAAaC,EAAM,CAAC,GAAG,QAAQ,IAAI,aAAa,iBAAiBud,KAAQA,WAAc,QAAQ,IAAI,aAAa,iBAAiBnH,MAAc,aAAalP,EAAI,UAAU;AAAA,MAC7N,QAAAlH;AAAA,MACA,aAAA0jB;AAAA,MACA,aAAAH;AAAA,IACR,CAAO,GAEG,QAAQ,IAAI,aAAa,iBAAiBhG,KAAQA,UAAa1O,IAAS;AAC1E,MAAAxB,IAAcyP;AACd;AACE,cAAM+G,IAAa9jB,GAAa;AAAA,UAC9B,SAAAuhB;AAAA,UAEA,WAAAE;AAAA,UACA,YAAAC;AAAA,UAGA,cAAAK;AAAA,UACA,cAAAC;AAAA,QACZ,GAAalT,OAAY,SAASA,OAAY,kBAAkB;AACtD,eAAO,OAAOZ,IAAW4V,CAAU;AAAA,MACrC;AAAA,IACF;AACA,YAAQ,IAAI,aAAa,iBAAiBtG,KAAQA;AAClD,QAAIuG;AACJ,QAAInE,GAAe,CAAAmE,IAAUj6B,EAAM,cAAcq1B,IAAe;AAAA,MAC9D,OAAO;AAAA,QACL,SAAS;AAAA,MACnB;AAAA,IACA,GAASjB,EAAQ,QAAQ;AAAA,SAAO;AACxB,MAAA5G,GAAM,gBAAgByM,IAAUzM,GAAM,YAAYhK,GAAayW,KAAW/8B,IAAUknB,EAAS;AAC7F,YAAM8V,IAAqB,OAAO9E,MAAc;AAChD,UAAIA,MAAc,CAAC8E,GAAoB;AACrC,cAAMt7B,IAAMu7B,GAAgB/E,IAAY6E,KAAW/8B,IAAUknB,IAAW3a,CAAc;AACtF,QAAA7K,MAAQwlB,KAAYxlB,EAAI,WAAW4kB,IAAc5kB,EAAI;AAAA,MACvD;AACA,MAAAq7B,MAAYC,KAAsB9V,GAAU,QAAQ6V,IAAUj6B,EAAM,cAAcwjB,GAAaY,IAAW6V,KAAW/8B,EAAQ,IAAI,QAAQ,IAAI,aAAa,iBAAiBw2B,KAAQA;AAAAA,IACrL;AACA,UAAM0G,KAAgB1W,KAAA,gBAAAA,EAAiB,eACrC2W,KAAa,CAAC;AAAA,KAEd,CAACrV;AAAA,IAED6Q;AAAA,IAEA,CAACjS,KAASwW,MAAiBxI,OAAmBM,MAAiBH,KAC/DuI,KAAepL,EAAS,QAAQ;AAClC,QAAImL,MAAc,CAACC,OAAiBpL,EAAS,QAAQ,uBAAuB,MAAMmL,MAAcC,OAAiBF,OAAkBH,IAAyB,gBAAAr8B,EAAIw8B,IAAe;AAAA,MAC7K,UAAU,CAACC;AAAA,MACX,UAAUJ;AAAA,IAClB,CAAO,IAAI,QAAQ,IAAI,aAAa,iBAAiBvG,KAAQA,mBAAsB,sBAAsBU,MAAY6F,IAAyB,gBAAAr8B,EAAIwD,GAAiB,UAAU;AAAA,MACrK,GAAGoI;AAAA,MACH,qBAAqBskB;AAAA,MACrB,UAAUmM;AAAA,IAClB,CAAO,IAAI,WAAWt7B,MAAUs7B,IAAyB,gBAAAr8B,EAAIyD,GAAa,UAAU;AAAA,MAC5E,OAAO2zB;AAAA,MACP,UAAUiF;AAAA,IAClB,CAAO,IAAI,CAACjV,MAAWnB,KAAU,CAAC0Q,MAAoB0F,IAAyB,gBAAAr8B,EAAIwD,GAAiB,UAAU;AAAA,MACtG,GAAGoI;AAAA,MACH,QAAQ;AAAA,MACR,UAAUywB;AAAA,IAClB,CAAO,IAAI,QAAQ,IAAI,aAAa,iBAAiBvG,KAAQA,kBAAqBuG,IAAU3E,KAAgB,CAACO,IAAcoE,IAAU9K,GAAkB1Z,IAAYwkB,GAAS1E,GAAiB,IAAIrG,CAAQ,GAAG,QAAQ,IAAI,aAAa,iBAAiBwE,KAAQA,oBAAuB3P,KAAiB,CAACiB,OAAYiV,IAAyB,gBAAAr8B,EAAI,QAAQ;AAAA,MAChV,WAAW;AAAA,MACX,GAAI,CAACk4B,MAAiBvH,MAAcpY,MAAUD,GAAaC,EAAM;AAAA,MACjE,UAAU8jB;AAAA,IAClB,CAAO,IAAIrJ,KAA0BmF,IAAoB;AACjD,YAAMn1B,IAAWm1B,GAAmB;AACpC,iBAAWl3B,KAAOy1B,EAAoB,CAAAz1B,KAAO+xB,MAA2BA,EAAuB/xB,CAAG,IAAIy1B,EAAmBz1B,CAAG;AAC5H,MAAAo7B,IAAyB,gBAAAr8B,EAAIgD,GAAU;AAAA,QACrC,6BAA6B;AAAA,QAC7B,GAAGgwB;AAAA,QACH,UAAUqJ;AAAA,MACpB,CAAS;AAAA,IACH;AACA,QAAI,QAAQ,IAAI,aAAa,iBAAiBvG,KAAQA,qBAAwBjQ,MAAqBoS,MAAgBoE,IAAyB,gBAAAh8B,GAAKuwB,IAAU;AAAA,MACzJ,UAAU,CAACyL,GAAS1L,KAAa,OAAO0C,GAAa,OAAO,OAAO4E,EAAY,aAAa,CAAC,CAAC;AAAA,IACtG,CAAO,IAAI,QAAQ,IAAI,aAAa,iBAAiBnC,KAAQA,eAAkB,QAAQ,IAAI,aAAa,iBAAiBnH,KAAaA,MAAc,WAAW;AACvJ,YAAMgO,IAAQ,WAAW,OAAO/W,KAAe,WAAWA,IAAc,WAAW,QAAQ6Q,CAAU;AACrG,UAAenyB,IAGR;AACL,gBAAQ,eAAeq4B,CAAK;AAC5B,YAAI;AACF,UAAAld,EAAI,aAAa+G,EAAS,GAAG/G,EAAI,YAAY4c,CAAO,GAAG,OAAO,SAAS,OAAO5c,EAAI;AAAA,YAChF,SAAA+W;AAAA,YACA,OAAAz1B;AAAA,YACA,aAAA+6B;AAAA,YACA,iBAAAhB;AAAA,YACA,YAAAnU;AAAA,YACA,SAAA0V;AAAA,YACA,aAAAzW;AAAA,YACA,QAAArN;AAAA,YACA,YAAAmc;AAAA,YACA,qBAAA2E;AAAA,YACA,iBAAArB;AAAA,YACA,oBAAAuB;AAAA,YACA,SAAA3S;AAAA,YACA,cAAAsV;AAAA,YACA,SAAAjH;AAAA,YACA,sBAAAqE;AAAA,YACA,aAAArB;AAAA,YACA,kBAAAwB;AAAA,YACA,OAAAztB;AAAA,YACA,UAAAslB;AAAA,YACA,cAAA5Y;AAAA,YACA,YAAA0H;AAAA,YACA,YAAAvI;AAAA,YACA,WAAA2O;AAAA,YACA,gBAAAwN;AAAA,YACA,mBAAAnO;AAAA,UACd,CAAa;AAAA,QACH,QAAQ;AAAA,QAAC,UAAC;AACR,kBAAQ,SAAQ;AAAA,QAClB;AAAA,MACF,OArCyB;AACvB,QAAApG,EAAIkd,CAAK,GAAGld,EAAI,WAAWzT,CAAK,GAAGkM,MAAcuH,EAAI,aAAa+G,EAAS,GAAG/G,EAAI,eAAe;AACjG,mBAAWxe,KAAOw4B,GAAkB,CAAAha,EAAIxe,GAAKw4B,GAAiBx4B,CAAG,CAAC;AAAA,MACpE;AAAA,IAmCF;AACA,WAAO,QAAQ,IAAI,aAAa,iBAAiB60B,MAASA,SAAY,WAAW,cAAc,WAAW,YAAY,IAAI,WAAW,MAAM;AACzI,aAAO,WAAW,WAAWA,EAAK,MAAK,GAAIA,IAAO;AAAA,IACpD,GAAG,EAAE,KAAKuG;AAAA,EACZ,CAAC;AACH,WAASxD,EAAuBxT,GAAcmW,GAAc9xB,GAAQ;AAClE,QAAI,CAAC2b,KAAgB,CAACmW,EAAc;AACpC,UAAM3lB,IAAY;AAAA,MAChB,GAAGwP,EAAa;AAAA,MAChB,QAAA3b;AAAA,IACN;AACI,IAAA8xB,EAAa,KAAK3lB,CAAS,GAAGwP,EAAa,QAAQxP;AAAA,EACrD;AACA,EAAA6C,EAAa,kBAAkB5H,EAAU,cAAc4H,EAAa;AACpE,MAAIhT,IAAMoL;AACV,EAAApL,IAAMtD,EAAM,KAAKsD,CAAG,GAAGA,EAAI,eAAegT;AAC1C,WAASkkB,EAAmBC,GAAU;AACpC,WAAO;AAAA,MACL,GAAGnkB;AAAA,MACH,GAAGmkB;AAAA,MACH,cAAc;AAAA,MACd,OAAO;AAAA,MACP,aAAa;AAAA,IACnB;AAAA,EACE;AACA,WAASC,EAAUC,GAAYC,GAAS;AACtC,QAAIh8B,IAAM,OAAO+7B,KAAc,cAAcA,EAAW,WAAW,IAAIA,IAAa36B,EAAM,WAAW26B,CAAU;AAC/G,UAAME,IAAiBL,EAAmBI,KAAA,gBAAAA,EAAS,YAAY;AAC/D,WAAOh8B,IAAMg8B,KAAA,QAAAA,EAAS,eAAeh8B,IAAMuxB,GAAUvxB,GAAKi8B,GAAgB,EAAE,IAAIA,EAAe,QAAQ,QAAQ,IAAI,+BAA+Bj8B,IAAMoB,EAAM,KAAKpB,CAAG,IAAIA,EAAI,eAAei8B,GAAgBj8B,EAAI,YAAY87B,GAAW97B;AAAA,EAC1O;AACA,SAAO0E,EAAI,YAAYo3B,GAAWp3B;AACpC;AACA,MAAM2yB,KAAS,CAAA92B,MAAO,OAAOA,KAAO,WAAWA,IAAM,OAAOA,KAAO,WAAW,CAACA,EAAI,QAAQ,MAAM,EAAE,IAAI,GACrGg7B,KAAkB,CAAC/E,GAAY6E,GAAS7V,GAAWxa,MAAU;AAK3D,MAJI,OAAOwrB,KAAc,eAEvBA,IADYA,EAAWhR,GAAWxa,CAAK,IAGrCwrB,KAAc,OAAOA,KAAc,YAAYp1B,EAAM,eAAeo1B,CAAU,KAAKA,GAAY;AACjG,UAAMtI,IAAesI,EAAW,OAC9B/B,IAAcvG,IAAeD,GAAwBC,GAAc1I,GAAW6V,CAAO,IAAI7V;AAC3F,WAAO;AAAA,MACL,aAAagR,EAAW;AAAA,MACxB,WAAW/B;AAAA,IACnB;AAAA,EACI;AACF,GCruBIyH,KAAsB,CAAAn7B,MAAK;AAC7B,UAAQ,IAAI,0BAA0Bo7B,GAAsB,IAAInrB,GAAiBjQ,CAAC,GAAGA,CAAC;AACxF,GACAq7B,KAAgB,CAACr7B,GAAGs7B,IAAW,OAAO,QAAQ,IAAI,yBAAyB,KAAK,KAAK,QAAQ,IAAI,+BAA+B,EAAE,GAAGjsB,GAAkBrP,EAAE,MAAM,EAAE,CAAC,IAAI,CAACs7B,KAAY,OAAOt7B,EAAE,OAAO,WAAW,GAAGA,EAAE,GAAG,OAAOA,EAAE,GAAG,IAClOo7B,KAAuC,oBAAI,IAAG;AAChD,IAAIG,KAAY;AAChB,MAAMC,KAAgB,CAAA,GACpBC,KAAsB,CAAAj8B,MAAO;AAC3B,MAAI47B,GAAsB,IAAI57B,CAAG,EAAG,QAAO47B,GAAsB,IAAI57B,CAAG;AACxE,QAAMiF,IAAO,IAAI82B,IAAW,IAC1BG,IAAW,SAASj3B,CAAI,KACxBzE,IAAI;AAAA,IACF,KAAAR;AAAA,IACA,MAAAiF;AAAA,IACA,UAAAi3B;AAAA,EACR;AACI,SAAON,GAAsB,IAAI57B,GAAKQ,CAAC,GAAGw7B,GAAc,KAAKx7B,CAAC,GAAGA;AACnE;AACF,IAAI27B,KAAe;AACd,MACHC,KAA8C,oBAAI,IAAG,GACrDC,KAA6B,CAAAr8B,MAAO;AAClC,MAAIo8B,GAA6B,IAAIp8B,CAAG,EAAG,QAAOo8B,GAA6B,IAAIp8B,CAAG;AACtF,QAAMiF,IAAO,IAAIk3B,IAAc,IAC7BD,IAAW,SAASj3B,CAAI,KACxBzE,IAAI;AAAA,IACF,KAAAR;AAAA,IACA,MAAAiF;AAAA,IACA,UAAAi3B;AAAA,EACR;AACI,SAAOE,GAA6B,IAAIp8B,GAAKQ,CAAC,GAAiCA;AACjF,GC1BI87B,KAAY,CAAC,QAAQ,OAAO,GAChCC,KAAY,CAAC,SAAS,MAAM;AAC9B,SAASC,GAAiBh9B,GAAO;AAC/B,MAAI,CAAC,QAAQ,IAAI,2BACX,CAAC,QAAQ,IAAI,wBAAwB,QAAQ,IAAI,yBAAyB,oBAAoB,QAAQ,IAAI,yBAAyB,UAAS;AAC9I,UAAMi9B,IAAc,CAAA,GAClB;AAAA,MACE,QAAA/4B;AAAA,MACA,WAAAsZ;AAAA,MACA,OAAApf;AAAA,MACA,OAAAif;AAAA,IACV,IAAYrd,GACJk9B,IAAel9B,EAAM,iBAAiBkE,EAAO,WAAW,WAAWA,EAAO,UAAU,UAAUA,EAAO,UACrGi5B,IAAM,IAAIx5B,EAAsB;AAClC,QAAIy5B,IAAO;AACX,UAAMC,IAAkBr9B,EAAM,sBAAsB68B,KAA6BJ;AACjF,eAAWa,KAAYl/B,GAAO;AAC5B,YAAMs+B,IAAWt+B,EAAMk/B,CAAQ,GAC7Bt+B,IAAQq+B,EAAgBX,EAAS,GAAG,EAAE;AACxC,MAAAU,KAAQ,KAAK,QAAQ,IAAI,+BAA+B,EAAE,GAAG3wB,GAAW6wB,GAAU,EAAE,CAAC,IAAIt+B,CAAK;AAAA,IAChG;AACA,UAAMu+B,IAAa/f,MAAc,QAC/BggB,IAAchgB,MAAc,SAC5BigB,IAAgBpgB,EAAM,IAAI,CAAA5X,MAAQ,GAAG03B,CAAG,GAAG13B,CAAI,EAAE,GACjDi4B,IAAe,IAAI,IAAIH,KAAcC,IAAcC,IAAgB,CAAA,CAAE;AACvE,QAAIP,EAAc,YAAW7mB,KAAWgH,GAAO;AAC7C,YAAMsgB,IAASJ,KAAclnB,EAAQ,WAAW,OAAO,GACrDunB,IAAU,CAACD,MAAWH,KAAennB,EAAQ,WAAW,QAAQ;AAClE,UAAI,EAAEsnB,KAAUC,IAAU;AACxB,QAAAF,EAAa,IAAI,GAAGP,CAAG,GAAG9mB,CAAO,EAAE;AACnC;AAAA,MACF;AACA,YAAMwnB,IAAgB,GAAGV,CAAG,GAAG9mB,EAAQ,QAAQ,kBAAkB,EAAE,CAAC,IAClEynB,IAAQH,IAASb,KAAYC,IAC7B,CAACgB,GAAUC,CAAM,IAAIF,GACrBG,IAAe,KAAK,MAAM,IAAI,GAAG;AACnC,eAASC,IAAQ,GAAGA,IAAQD,GAAcC,KAAS;AACjD,cAAMC,IAAQD,IAAQ,MAAM;AAC5B,YAAIC,KAASD,IAAQ,EAAG;AACxB,cAAME,IAAU,IAAI,MAAMF,IAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC94B,IAAGi5B,MAAQ,GAAGlB,CAAG,GAAGkB,IAAM,MAAM,IAAIN,IAAWC,CAAM,EAAE;AACzG,YAAIM,IAAkBF,EAAQ,SAAS,IAAIA,EAAQ,MAAM,CAAC,IAAIA;AAC9D,YAAID,GAAO;AACT,gBAAM,CAACI,IAAQC,GAAQ,GAAGxM,EAAI,IAAIsM;AAClC,UAAAA,IAAkB,CAACE,GAAQ,GAAGxM,IAAMwM,CAAM;AAAA,QAC5C;AACA,cAAMC,IAAqBH,EAAgBA,EAAgB,SAAS,CAAC,GACnEI,IAAoBb,MAAkBY,IAAqB,KAAKZ,GAChEc,KAAuBL,EAAgB,KAAK,GAAG;AACjD,QAAAZ,EAAa,IAAI,GAAGiB,EAAoB,IAAID,CAAiB,EAAE;AAAA,MACjE;AAAA,IACF;AACA,UAAMz4B,IAAY,CAAC,GAAGy3B,CAAY,EAAE,KAAKxZ,EAAU,GACjD0a,IAAM,GAAG34B,EAAU,IAAI,CAAA2W,MAAK;AAC1B,YAAMiiB,IAAQ56B,GAAW,mBAAmB;AAC5C,aAAO66B,GAAYliB,CAAC,MAAMiiB,MAAU,UAAUA,MAAU,UAAU,GAAGA,MAAU,SAAS,SAAS,OAAO,GAAGjiB,CAAC,KAAK,SAASA,CAAC;AAAA,IAC7H,CAAC,EAAE,KAAK,IAAI,IAAI,WAAW,KAAKwgB,CAAI;AACtC,QAAIH,EAAY,KAAK2B,CAAG,GAAG36B,GAAW,6BAA6B,GAAG;AACpE,YAAM05B,IAASngB,EAAU,WAAW,MAAM,GACxCuhB,IAAWpB,IAAS,SAAS,SAC7BqB,IAAwB/4B,EAAU,IAAI,CAAA2W,MAAK;AACzC,YAAIA,KAAKqiB,MAAgBriB,MAAMsiB,GAAe,QAAO;AACrD,YAAI,EAAEvB,KAAU/gB,EAAE,WAAWsiB,EAAa,KAAK,CAACvB,KAAU/gB,EAAE,WAAWqiB,EAAY,GAAI,QAAOriB,EAAE,QAAQ,sBAAsB,EAAE,EAAE,KAAI;AAAA,MACxI,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,GAC5BuiB,IAAS,CAAC3hB,EAAU,SAAS,GAAG;AAClC,UAAI4hB,IAAkB;AACtB,UAAID,GAAQ;AACV,cAAME,IAAWjhC,EAAM,aAAa,cAAckS,GAAiBlS,EAAM,UAAU,CAAC,MAAM,IACxFkhC,IAAWlhC,EAAM,QAAQ,SAASkS,GAAiBlS,EAAM,KAAK,CAAC,KAAK;AACtE,QAAAghC,IAAkBC,KAAYC,IAAW,QAAQD,CAAQ,GAAGC,CAAQ;AAAA,QACtE;AAAA,MACA;AACA,YAAMC,IAAa,GAAGP,CAAqB,KAAK5B,CAAI,KAClDoC,IAAwB,+BAA+BT,CAAQ;AAAA,MACnEK,CAAe,GAAGG,CAAU;AAAA;AAE1B,MAAAtC,EAAY,KAAKuC,CAAqB;AAAA,IACxC;AACA,UAAMC,IAAkBx7B,GAAW,iBAAiB;AACpD,QAAIw7B,GAAiB;AACnB,YAAM53B,IAAQ43B,EAAgBrhC,CAAK;AACnC,UAAIyJ,GAAO;AACT,cAAM63B,IAAqBjC,EAAc,IAAI,CAAAkC,MAAK,GAAGA,CAAC,cAAc,EAAE,KAAK,IAAI,GAC7EpN,IAAS,OAAO,QAAQ1qB,CAAK,EAAE,QAAQ,CAAC,CAACjH,GAAGI,CAAC,MAAMA,IAAI,GAAGJ,MAAM,oBAAoB,eAAeA,CAAC,IAAI0P,GAAiBtP,CAAC,CAAC,KAAK,CAAA,CAAE,EAAE,KAAK,GAAG;AAC9I,YAAIuxB,GAAQ;AACV,gBAAMqN,IAAO,GAAGF,CAAkB,IAAInN,CAAM;AAC5C,UAAA0K,EAAY,KAAK2C,CAAI;AAAA,QACvB;AAAA,MACF;AAAA,IACF;AACA,WAAO3C;AAAA,EACT;AAEF,SAAO,CAAA;AACT;AACA,MAAMgC,KAAe,WACnBC,KAAgB,YAChBJ,KAAc,CAAAliB,MAAKA,MAAMqiB,MAAgBriB,MAAMsiB,MAAiBtiB,EAAE,WAAW,UAAU,KAAKA,EAAE,WAAW,WAAW,GCtGhHijB,KAAY,CAAA;AAClB,SAASC,GAAqBxjB,GAAe;AAC3C,aAAW;AAAA,IACT,OAAAe;AAAA,IACA,OAAAjf;AAAA,EACJ,KAAOke,EAAe,YAAW7W,KAAQ4X,EAAO,CAAAwiB,GAAUp6B,CAAI,IAAIrH;AAChE,QAAM4U,IAAS,CAAA;AACf,aAAW;AAAA,IACT,OAAAqK;AAAA,IACA,OAAAjf;AAAA,EACJ,KAAOke,EAAe,YAAWkB,KAAaH,GAAO;AACjD,UAAM0iB,IAAeC,GAAoBxiB,GAAWpf,CAAK;AACzD,IAAA4U,EAAOwK,CAAS,IAAIuiB;AAAA,EACtB;AACA,SAAO/sB;AACT;AACA,SAASgtB,GAAoBxiB,GAAWpf,GAAO;AAC7C,QAAM6B,IAAM,CAAA,GACVwK,IAAM,CAAA,GACN2zB,IAAU5gB,EAAU,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,CAAAyiB,OAASx1B,EAAI,KAAKw1B,CAAI,GAAGx1B,EAAI,KAAK,GAAG,EAAE;AACzF,aAAWyK,KAAUkpB,EAAS,QAAO,OAAOn+B,GAAK4/B,GAAU3qB,CAAM,CAAC;AAClE,SAAO,OAAO,OAAOjV,GAAK7B,CAAK,GAAG6B;AACpC;ACrBA,SAASigC,GAAoB9hC,GAAO8B,GAAK;AACvC,QAAMM,IAAMpC,EAAM8B,CAAG;AACrB,EAAAkQ,GAAW5P,CAAG,IAAIA,EAAI,SAASN,MAAQ9B,EAAM8B,CAAG,IAAIgQ,GAAe;AAAA,IACjE,KAAK1P,EAAI;AAAA,IACT,MAAMN;AAAA,IACN,KAAKM,EAAI;AAAA,EACb,CAAG,KAAKpC,EAAM8B,CAAG,IAAIgQ,GAAe;AAAA,IAChC,KAAAhQ;AAAA,IACA,MAAMA;AAAA,IACN,KAAAM;AAAA,EACJ,CAAG;AACH;ACZA,MAAM2/B,KAAc,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK,GAChFC,KAAiB,CAACC,GAAS71B,GAAM81B,MAAiB;AAChD,MAAI,OAAOD,KAAW,SAAU,QAAOA;AACvC,QAAME,IAAc,OAAO,KAAKF,CAAO;AACvC,MAAIG,IAAYH,EAAQE,EAAY,CAAC,CAAC;AACtC,SAAO,OAAO,YAAY,CAAC,GAAmB,oBAAI,IAAI,CAAC,GAAG/1B,GAAM,GAAG+1B,CAAW,CAAC,CAAC,EAAE,IAAI,CAAArgC,MAAO;AAC3F,UAAMlB,IAAQqhC,EAAQngC,CAAG,KAAKogC,KAAgBE;AAC9C,WAAOA,IAAYxhC,GAAOshC,IAAethC,GAAO,CAACkB,GAAKlB,CAAK;AAAA,EAC7D,CAAC,CAAC;AACJ,GACAyhC,KAAa,CAAAC,MAAQ;AACnB,QAAMC,IAAW,OAAO,KAAKD,EAAK,QAAQ,CAAA,CAAE,GAC1CE,IAAgB,OAAO,YAAY,OAAO,QAAQF,CAAI,EAAE,IAAI,CAAC,CAACxgC,GAAKmgC,CAAO,MAAM,CAACngC,GAAKkgC,GAAeC,GAASngC,MAAQ,SAASigC,KAAcQ,GAAUzgC,MAAQ,SAAS;AAAA,IACtK,QAAQwgC,EAAK;AAAA,EACrB,IAAU,MAAM,CAAC,CAAC,CAAC;AACf,SAAO,OAAO,OAAOE,CAAa;AACpC,GCbI7/B,KAAuB,oBAAI,QAAO,GACtC8/B,KAAkB,CAAChwB,GAAQiwB,IAAa,IAAIC,IAAS,OAAO;AAC1D,MAAIhgC,GAAM,IAAI8P,CAAM,EAAG,QAAOA;AAC9B,QAAMlM,IAAM,CAAA;AAEZ,WAASq8B,KAASnwB,GAAQ;AAExB,UAAMrQ,IAAMqQ,EAAOmwB,CAAK,GACtBC,IAAaD,EAAM,CAAC,MAAM,KAC1BE,IAAgBD,IAAaD,IAAQ,IAAIA,CAAK,IAC9C9gC,IAAM+gC,IAAaC,EAAc,MAAM,CAAC,IAAIF;AAC9C,QAAI5wB,GAAW5P,CAAG,GAAG;AACnB,MAAAmE,EAAIzE,CAAG,IAAIM;AACX;AAAA,IACF;AACA,UAAM2gC,IAAU10B,GAAWvM,GAAK,GAAG,GACjCuF,IAAOq7B,KAAcA,MAAe,YAAY,GAAGA,CAAU,IAAIK,CAAO,KAAK,KAAKA,CAAO;AAC3F,QAAI3gC,KAAO,OAAOA,KAAO,YAAY,aAAaA,KAAO,SAASA,GAAK;AACrE,YAAM4gC,IAAclxB,GAAe;AAAA,QACjC,KAAK1P,EAAI;AAAA,QACT,MAAAiF;AAAA,QACA,KAAKy7B;AAAA,MACf,CAAS;AACQ,MAACE,EAAY,UAAU5gC,EAAI,SAAUmE,EAAIzE,CAAG,IAAIkhC;AACzD;AAAA,IACF;AACA,QAAI5gC,KAAO,OAAOA,KAAO,UAAU;AACjC,MAAAmE,EAAIzE,CAAG,IAAI2gC;AAAA,QAAgBhwB,EAAO3Q,CAAG;AAAA,QAAGuF;AAAA,QAAM;AAAA;AAAA,MACtD;AACQ;AAAA,IACF;AACA,UAAMqV,IAAa1K,GAAW5P,CAAG,IAAIA,IAAM0P,GAAe;AAAA,MACxD,KAAA1P;AAAA,MACA,MAAAiF;AAAA,MACA,KAAKy7B;AAAA,IACb,CAAO;AACD,IAAAv8B,EAAIzE,CAAG,IAAI4a;AAAA,EACb;AACA,SAAO/Z,GAAM,IAAI4D,GAAK,EAAE,GAAGA;AAC7B,GC1CI08B,KAAoB,CAAAC,MAAU;AAChC,UAAQ,KAAK,0CAA0CA,CAAM,gGAAgG;AAC/J,GACAC,KAA6B,OAAO;AAAA,EAClC,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,YAAY,CAAA;AAAA,EACZ,eAAe,MAAMF,GAAkB,YAAY;AAAA,EACnD,aAAa,MAAMA,GAAkB,aAAa;AAAA,EAClD,eAAe,MAAMA,GAAkB,eAAe;AAAA,EACtD,mBAAmB,MAAMA,GAAkB,mBAAmB;AAAA,EAC9D,wBAAwB,MAAMA,GAAkB,wBAAwB;AAAA,EACxE,2BAA2B,MAAMA,GAAkB,2BAA2B;AAClF,IACEG,KAAyBD,GAA0B;ACXrD,SAASE,GAA4BC,GAAYC,IAAW,SAAS;AACnE,QAAM3hC,IAAQ,CAAC,8BAA8B,GAC3C4hC,IAAY,CAAAjhC,MAAO;AACjB,UAAMH,IAAMG,KAAA,gBAAAA,EAAMghC;AAClB,QAAIvxB,GAAW5P,CAAG,EAAG,QAAO0Q,GAAoB1Q,CAAG;AAAA,EACrD,GACAqhC,IAAgBD,EAAUF,EAAW,aAAa;AACpD,EAAAG,KAAiB7hC,EAAM,KAAK,mBAAmB6hC,CAAa,EAAE;AAC9D,QAAMC,IAAaF,EAAUF,EAAW,UAAU;AAClD,EAAAI,KAAc9hC,EAAM,KAAK,gBAAgB8hC,CAAU,EAAE;AACrD,QAAMC,IAAYH,EAAUF,EAAW,KAAK;AAC5C,EAAAK,KAAa/hC,EAAM,KAAK,eAAe+hC,CAAS,EAAE;AAClD,QAAMC,IAAaJ,EAAUF,EAAW,MAAM;AAC9C,SAAOM,KAAchiC,EAAM,KAAK,gBAAgBgiC,CAAU,EAAE,GAAGhiC;AACjE;AACA,SAASiiC,GAAepxB,GAAQqxB,GAA8B;AAC5D,MAAI,CAAC,QAAQ,IAAI,wBAAwB;AACvC,UAAMC,IAAe,CAAA,GACnBC,IAAkB,OAAO,KAAKvxB,CAAM,EAAE,KAAI;AAC5C,eAAW3Q,KAAOkiC,GAAiB;AACjC,YAAMC,IAAgB,OAAO,KAAKxxB,EAAO3Q,CAAG,CAAC,EAAE,KAAI;AACnD,iBAAWmsB,KAAQgW,GAAe;AAChC,cAAM3F,IAAW7rB,EAAO3Q,CAAG,EAAEmsB,CAAI;AACtB;AACT,UAAA8P,GAAoBO,CAAQ;AAC5B,gBAAM4F,IAAkB5F,EAAS,YAAY,IAC3C6F,IAAkBL,EAA6BhiC,CAAG,GAClDsiC,IAAmB,EAAEF,KAAmBC;AAC1C,UAAAJ,EAAa,KAAK9F,GAAcK,GAAU8F,CAAgB,CAAC;AAAA,QAC7D;AAAA,MACF;AAAA,IACF;AACA,WAAOL;AAAA,EACT;AACA,SAAO,CAAA;AACT;AACA,SAASM,GAAc9hB,GAAa+hB,GAAuB;AACzD,MAAI,CAAC,QAAQ,IAAI,wBAAwB;AACvC,UAAMC,IAAmB,CAAA;AACzB,QAAI,CAAChiB,EAAa,QAAOgiB;AACzB,UAAMC,IAAiB,OAAO,KAAKjiB,CAAW,EAAE,KAAI;AACpD,eAAWzgB,KAAO0iC,GAAgB;AAChC,YAAMlB,IAAa/gB,EAAYzgB,CAAG,GAChC,CAACuF,GAAMia,CAAQ,IAAIxf,EAAI,SAAS,GAAG,IAAIA,EAAI,MAAM,GAAG,IAAI,CAACA,CAAG,GAC5D2iC,IAAWH,EAAsBhB,CAAU;AAC7C,MAAAiB,EAAiBziC,CAAG,IAAI;AAAA,QACtB,MAAMuF,EAAK,MAAM,CAAC;AAAA,QAClB,cAAco9B;AAAA,QACd,UAAAnjB;AAAA,QACA,YAAAgiB;AAAA,MACR;AAAA,IACI;AACA,WAAOiB;AAAA,EACT;AACA,SAAO,CAAA;AACT;AACA,SAASG,GAAiBX,GAAcQ,GAAkBI,IAAmB,SAAS;AACpF,MAAI,CAAC,QAAQ,IAAI,wBAAwB;AACvC,QAAIC,IAAwB,SAAUC,GAAMn8B,IAAW,IAAI;AACzD,aAAO,QAAQA,CAAQ,MAAM,CAAC,GAAGm8B,CAAI,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA,IAEnD;AACA,UAAMhG,IAAc,CAAA;AACpB,IAAAkF,EAAa,UAAUlF,EAAY,KAAK+F,EAAsBb,CAAY,CAAC;AAC3E,UAAMe,IAAgB,CAAA,GACpBC,IAA4B,OAAO,KAAKR,CAAgB,EAAE,KAAI;AAChE,eAAWziC,KAAOijC,GAA2B;AAC3C,YAAM;AAAA,QACF,MAAA19B;AAAA,QACA,cAAc29B;AAAA,QACd,UAAA1jB,IAAW;AAAA,MACrB,IAAYijB,EAAiBziC,CAAG,GACxBmjC,IAAe,SAAS59B,CAAI;AAC9B,MAAAy9B,EAAc,KAAKG,CAAY;AAC/B,YAAMC,IAAe,iBAAiB79B,CAAI,IAAIia,CAAQ,IAAI2jB,CAAY,IACpEp9B,IAAYyZ,MAAa,YAAY,IAAI2jB,CAAY,KAAKC,CAAY,KAAKA,GAC3EC,IAAkBP,EAAsBI,GAAen9B,CAAS;AAClE,MAAAg3B,EAAY,KAAKsG,CAAe;AAAA,IAClC;AACA,QAAIL,EAAc,QAAQ;AACxB,YAAMM,IAAYb,EAAiBQ,EAA0B,CAAC,CAAC;AAC/D,UAAIK,KAAA,QAAAA,EAAW,YAAY;AACzB,cAAMC,IAAYhC,GAA4B+B,EAAU,YAAYT,CAAgB,GAClFW,IAAkB,CAAC,GAAGR,GAAe,UAAU,EAAE,KAAK,IAAI;AAC5D,QAAAjG,EAAY,KAAK,GAAGyG,CAAe,KAAKD,EAAU,KAAK,IAAI,CAAC,GAAG;AAAA,MACjE;AAAA,IACF;AACA,WAAOxG;AAAA,EACT;AACA,SAAO,CAAA;AACT;AACA,SAAS0G,GAAernB,GAAesnB,GAAU;AAC/C,MAAI,CAAC,QAAQ,IAAI,wBAAwB;AACvC,QAAIC,IAAgB,CAAA;AACT,eAAW;AAAA,MACpB,OAAAxmB;AAAA,MACA,OAAAjf;AAAA,IACN,KAASke,GAAe;AAClB,YAAMwnB,IAAY9G,GAAiB;AAAA,QACjC,QAAQ4G;AAAA,QACR,WAAWvmB,EAAM,CAAC;AAAA,QAClB,OAAAA;AAAA,QACA,OAAAjf;AAAA,MACR,CAAO;AACD,MAAAylC,IAAgB,CAAC,GAAGA,GAAe,GAAGC,CAAS;AAAA,IACjD;AACA,WAAOD;AAAA,EACT;AACA,SAAO,CAAA;AACT;AACA,SAASE,GAAOC,GAAaC,IAAO,CAAA,GAAIC,GAAW;AACjD,MAAI,CAAC,QAAQ,IAAI,wBAAwB;AACvC,UAAM;AAAA,MACJ,WAAAxK,IAAY;AAAA;AAAA,MAEZ,eAAAyK;AAAA,MACA,SAAAC;AAAA,IACN,IAAQH;AACJ,QAAIE,KAAiBD,EAAU,SAAS,GAAG;AACzC,YAAMr8B,IAAQwT,GAAW,GACvBgpB,IAAWx8B,EAAM,MAAMq8B,EAAU,KAAK;AACxC,aAAOA,EAAU,QAAQr8B,EAAM,QAAQw8B,EAAS,KAAK3K,CAAS;AAAA,IAChE;AACA,IAAAwK,EAAU,QAAQ;AAClB,UAAMI,IAAgBjpB,KAAc,KAAKqe,CAAS;AAClD,QAAI0K,MAAY,gBAAiB,QAAOE;AACxC,UAAM/E,IAAa6E,IAAU,KAAKJ,EAAY,kBAAiB,EAAG,KAAKtK,CAAS;AAChF,WAAO,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcZ8C,GAAc,SAAS,SAASA,GAAc,IAAI,CAAAx7B,MAAK,KAAKA,EAAE,IAAI,IAAIA,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE;AAAA,EAChGgjC,EAAY,YAAY,KAAKtK,CAAS,CAAC,EAAE;AAAA,EACzC6F,CAAU;AAAA,EACV+E,CAAa;AAAA,EACb;AACA,SAAO;AACT;ACvIA,SAASC,GAAUC,GAAY;;AAC7B,QAAMC,IAAS,CAAA;AACf,aAAWC,KAAWF,GAAY;AAChC,UAAMG,IAAOH,EAAWE,CAAO;AAC/B,QAAIA,MAAY,YAAYA,MAAY,OAAQ,CAAAD,EAAOC,CAAO,IAAIC;AAAA,SAAU;AAC1E,MAAAF,EAAOC,CAAO,IAAI,CAAA;AAClB,iBAAWxkC,KAAOykC,GAAM;AACtB,YAAInkC,IAAMmkC,EAAKzkC,CAAG;AAClB,UAAA4Q,IAAAtQ,EAAI,QAAJ,gBAAAsQ,EAAU,QAAO,QAAQtQ,IAAMA,EAAI,MAAMikC,EAAOC,CAAO,EAAE,IAAIxkC,CAAG,EAAE,IAAIM;AAAA,MACxE;AAAA,IACF;AAAA,EACF;AACA,SAAOikC;AACT;AACA,SAAS/B,GAAsBkC,GAAY;AACzC,MAAI,CAAC,QAAQ,IAAI,wBAAwB;AACvC,UAAMpoB,IAAW,CAAA;AACjB,eAAWqoB,KAAQD,EAAY,KAAIC,MAAS;AAC1C,UAAIA,MAAS,UAAU;AACrB,cAAMrkC,IAAMokC,EAAWC,CAAI;AAC3B,QAAA1I,GAAoB37B,CAAG,GAAGgc,EAAS,KAAK6f,GAAc77B,CAAG,CAAC;AAAA,MAC5D,MAAO,YAAWskC,KAASF,EAAWC,CAAI,EAAG,KAAI,OAAOD,EAAWC,CAAI,EAAEC,CAAK,KAAK,UAAU;AAC3F,cAAMtkC,IAAMokC,EAAWC,CAAI,EAAEC,CAAK;AAClC,QAAA3I,GAAoB37B,CAAG,GAAGgc,EAAS,KAAK6f,GAAc77B,CAAG,CAAC;AAAA,MAC5D;AAAA;AAEF,WAAOgc;AAAA,EACT;AACA,SAAO,CAAA;AACT;AC1CK,MAACuoB,MAAW,MAAM;AACnB,MAAI,QAAQ,IAAI,aAAa,eAAe;AAAA,IAC1C,MAAMC,EAAe;AAAA,MAArB;AACE,QAAAC,GAAA,iBAAUC;AAAA;AAAA,MACV,IAAI,aAAa;AACf,eAAO;AAAA,UACL,GAAGrgC;AAAA,QACf;AAAA,MACQ;AAAA,MACA,IAAI,SAAS;AACX,eAAOT,GAAS;AAAA,MAClB;AAAA,MACA,IAAI,gBAAgB;AAClB,eAAOiX,GAAW;AAAA,MACpB;AAAA,MACA,IAAI,eAAe;AACjB,eAAOD,GAAe;AAAA,MACxB;AAAA,MACA,IAAI,oBAAoB;AACtB,eAAO+pB;AAAA,MACT;AAAA,IACR;AACM,WAAO,IAAIH,EAAc;AAAA,EAC3B;AACF,GAAC,GACDG,KAAmC,oBAAI,IAAG;AClB5C,SAASjD,GAA6BkD,GAAU;AAC9C,UAAuB,oBAAI,IAAI,CAAC,QAAQ,SAAS,QAAQ,CAAC,GAAG,IAAIA,CAAQ;AAC3E;AACA,SAASC,GAAczB,GAAU;;AAC/B,QAAM0B,IAAiBjhC,GAAc;AACrC,EAAAihC,MAAmB1B,IAAW;AAAA,IAC5B,GAAG0B;AAAA,IACH,GAAG1B;AAAA,EACP;AACE,QAAMtjB,IAAe,CAAA,GACnBzP,IAASgwB,GAAgB+C,EAAS,UAAU,CAAA,CAAE;AAChD,MAAIA,EAAS,QAAQ;AACnB,UAAM2B,IAAe,CAAA;AACrB,eAAW1kB,KAAOhQ,GAAQ;AACxB,MAAAyP,EAAaO,CAAG,IAAI,CAAA,GAAI0kB,EAAa1kB,CAAG,IAAI,CAAA;AAC5C,YAAM2kB,IAAW30B,EAAOgQ,CAAG;AAC3B,iBAAW3gB,KAAOslC,GAAU;AAC1B,cAAMhlC,IAAMglC,EAAStlC,CAAG,GACtBulC,IAAc,IAAIvlC,CAAG;AACvB,QAAAogB,EAAaO,CAAG,EAAE4kB,CAAW,IAAIjlC,GAAK+kC,EAAa1kB,CAAG,EAAE4kB,CAAW,IAAIjlC,GAAK+kC,EAAa1kB,CAAG,EAAE3gB,CAAG,IAAIM;AAAA,MACvG;AAAA,IACF;AAAA,EAEF;AACA,MAAIklC;AACJ,MAAI9B,EAAS,QAAQ;AACnB,UAAM+B,IAAW,OAAO,KAAK/B,EAAS,MAAM,EAAE,WAAW;AACzD,IAAA+B,KAAY,CAAC,QAAQ,IAAI,2BAA2BD,IAAcnqB,GAAcoqB,GAAUrlB,CAAY;AAAA,EACxG;AACA,MAAIslB,IAAiB,MACnBjlB;AACF,MAAIijB,EAAS,OAAO;AAClB,UAAMiC,IAAa,OAAO,YAAY,OAAO,QAAQjC,EAAS,KAAK,EAAE,IAAI,CAAC,CAAChjC,GAAG,CAAC,MAAM,CAACA,GAAGigC,GAAgB,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AACtH,IAAAlgB,KAAe,MAAM;AACnB,YAAMhc,IAAM,CAAA;AACZ,iBAAWmhC,KAAcD,GAAY;AACnC,cAAMnF,IAAOmF,EAAWC,CAAU,GAChCpE,IAAa6C,GAAU7D,CAAI;AAC7B,QAAA/7B,EAAI,IAAImhC,CAAU,EAAE,IAAIpE,GAAY,CAACkE,KAAkBlE,EAAW,SAASkE,IAAiB,IAAI,IAAI,OAAO,KAAKlE,EAAW,IAAI,CAAC;AAAA,MAClI;AACA,aAAO/8B;AAAA,IACT,GAAC;AAAA,EACH;AACA,QAAMohC,IAAiB,CAAA,GACrB/B,KAAe,MAAM;AACnB,UAAM5B,IAAkB,OAAO,KAAKvxB,CAAM,EAAE,KAAI;AAChD,eAAW3Q,MAAOkiC,GAAiB;AACjC,YAAMC,KAAgB,OAAO,KAAKxxB,EAAO3Q,EAAG,CAAC,EAAE,KAAI;AACnD,iBAAWmsB,KAAQgW,IAAe;AAChC,cAAM3F,KAAW7rB,EAAO3Q,EAAG,EAAEmsB,CAAI;AACjC,YAAI0Z,EAAe,IAAI7lC,EAAG,IAAImsB,CAAI,EAAE,IAAIqQ,IAAU,QAAQ,IAAI,aAAa,iBAAiB,OAAOA,KAAW,IAAK,OAAM,IAAI,MAAM,uBAAuBx8B,EAAG,IAAImsB,CAAI;AAAA,EAC7K,KAAK,UAAUqQ,IAAU,MAAM,CAAC,CAAC,EAAE;AAAA,MAC7B;AAAA,IACF;AACA,UAAMyF,IAAeF,GAAepxB,GAAQqxB,EAA4B,GACtES,IAAmBF,GAAc9hB,GAAa+hB,EAAqB,GACnEzF,IAAc6F,GAAiBX,GAAcQ,CAAgB,GAC7DqD,IAAWpC,EAAS,QACpBtnB,IAAgBopB,KAAeO,GAAiBD,GAAUn1B,EAAO,KAAK;AACxE,WAAO;AAAA,MACL,QAAQivB,GAAqBxjB,CAAa;AAAA,MAC1C,aAAA2gB;AAAA,MACA,oBAAoB;AAClB,eAAO0G,GAAernB,GAAesnB,CAAQ;AAAA,MAC/C;AAAA,IACR;AAAA,EACI,GAAC,GACDsC,IAAiBtC,EAAS,cAAc,CAAA,GACxC5e,IAAa;AAAA,IACX,GAAGmhB;AAAA,IACH,GAAGD;AAAA,EACT,GACIE,IAAe;AAAA,IACb,OAAO;AAAA,EACb,GACIrC,IAAS,CAACE,IAAO,CAAA,MAAOoC,GAAarC,GAAaC,GAAMmC,CAAY,GACpEE,IAAY,CAAArC,MAAQF,EAAO;AAAA,IACzB,GAAGE;AAAA,IACH,eAAe;AAAA,EACrB,CAAK,GACDsC,KAAqBz1B,IAAA8yB,EAAS,aAAT,gBAAA9yB,EAAmB,aACxC01B,KAAe,MAAM;AACnB,QAAIhmC,IAAM+lC;AACV,YAAO/lC,KAAA,gBAAAA,EAAM,QAAO,QAAQA,IAAMA,EAAI,MAAM,CAAC,IAAIA;AAAA,EACnD,GAAC,GACDimC,MAAyB1yB,IAAA6vB,EAAS,aAAT,gBAAA7vB,EAAmB,oBAAmB,UAC/DhU,IAAe6jC,EAAS,gBAAgB,CAAA;AAC1C,EAAA6C,MAA2B,aAAa1mC,EAAa,OAAO;AAAA,IAC1D,GAAGA,EAAa;AAAA,IAChB,UAAU0mC;AAAA,EACd;AACE,QAAM1D,IAAmByD,IAAc,IAAIA,CAAW,KAAK,IACzDE,IAAkB9C,EAAS,YAC3B+C,IAAiB7uB,GAAuB4uB,CAAe,GACvDxiC,IAAS;AAAA,IACP,OAAO,CAAA;AAAA,IACP,qBAAqB;AAAA,IACrB,eAAe,CAAA;AAAA,IACf,OAAO,CAAA;AAAA,IACP,GAAG0/B;AAAA;AAAA,IAEH,YAAY+C,KAAkBD,KAAmBlF;AAAA,IACjD,kBAAkBmF,MAAmB,QAAQA,MAAmBD,IAAkBA,IAAkB;AAAA,IACpG,cAAA3mC;AAAA,IACA,UAAU;AAAA,MACR,kBAAkB;AAAA,MAClB,GAAG6jC,EAAS;AAAA,IACpB;AAAA,IACM,QAAA/yB;AAAA;AAAA,IAEA,YAAAmU;AAAA,IACA,gBAAAkhB;AAAA,IACA,mBAAmBlhB,IAAa,OAAO,YAAY,OAAO,QAAQA,CAAU,EAAE,IAAI,CAAC,CAAC,GAAGhkB,CAAC,MAAM,CAACA,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;AAAA,IACzG,QAAQgjC,EAAY;AAAA,IACpB,aAAarjB,KAAe,CAAA;AAAA,IAC5B,aAAAqjB;AAAA,IACA,cAAA1jB;AAAA,IACA,QAAQ;AAAA,IACR,WAAAgmB;AAAA,IACN,QAAMvC;AAAAA,IACA,aAAAyC;AAAA,IACA,gBAAgBZ,KAAiC,oBAAI,IAAG;AAAA,IACxD,gBAAAG;AAAA,IACA,kBAAAhD;AAAA;AAAA;AAAA,EAGN;AACE,SAAO5+B,GAAUD,CAAM,GAAGyF,GAAezF,CAAM,GAAG,QAAQ,IAAI,aAAa,mBAAkBgQ,IAAA,QAAQ,IAAI,UAAZ,QAAAA,EAAmB,WAAW,cAAc,QAAQ,KAAK,mBAAmBhQ,CAAM,GAAG,WAAW,YAAY,WAAW,UAAU6gC,MAAW7gC;AAC3O;AACA,SAAS+hC,GAAiBjzB,GAAQ4zB,GAAa;AAC7C,QAAMtqB,IAAgB,CAAA,GACpBuqB,IAA0B,oBAAI,IAAG,GACjCC,IAAmB,OAAO,KAAK9zB,CAAM,EAAE,KAAI;AAC7C,aAAWwK,KAAaspB,GAAkB;AACxC,UAAMC,IAA4BvpB,EAAU,WAAW,MAAM,IAAI,SAASA,EAAU,WAAW,OAAO,IAAI,UAAU,IAClHwpB,IAAWh0B,EAAOwK,CAAS,GAC3Btd,IAAM6mC,IAA4B,KAAK,UAAUC,CAAQ;AAC3D,QAAIH,EAAS,IAAI3mC,CAAG,GAAG;AACrB,MAAA2mC,EAAS,IAAI3mC,CAAG,EAAE,MAAM,KAAKsd,CAAS;AACtC;AAAA,IACF;AACA,UAAMpf,IAAQ;AAAA,MACZ,GAAGwoC;AAAA,MACH,GAAGI;AAAA,IACT;AACI,eAAW1kB,KAAQlkB,EAAO,CAAA8hC,GAAoB9hC,GAAOkkB,CAAI;AACzD,UAAM5F,IAAU;AAAA,MACd,OAAO,CAACc,CAAS;AAAA,MACjB,OAAApf;AAAA,IACN;AACI,IAAAke,EAAc,KAAKI,CAAO,GAAGmqB,EAAS,IAAI3mC,GAAKwc,CAAO;AAAA,EACxD;AACA,SAAOJ;AACT;AACA,MAAM6pB,KAAoB;AAAA,EACxB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA;AAAA,EAEL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA;AAAA,EAEJ,IAAI;AAAA,EACJ,IAAI;AACN;AChNA,SAASc,GAAap2B,GAAQ;AAC5B,SAAOgwB,GAAgBhwB,GAAQ,QAAQ,IAAI,wBAAwB,GAAG;AACxE;ACHA,MAAMq2B,KAA0C,oBAAI,QAAO;AAC3D,SAASC,GAAqB1V,GAAW;;AACvC,MAAIA,EAAW,QAAOA,EAAU,WAAWA,EAAU,WAAW2V,GAAU,QAAQ3V,EAAU,gBAAgB,UAAUA,EAAU,SAAS2V,GAAU,OAAO3V,EAAU,WAAWA,EAAU,gBAAgB,gBAAgBA,EAAU,gBAAgB,UAAU2V,GAAU,WAAUt2B,IAAA2gB,EAAU,UAAV,QAAA3gB,EAAiB,gBAAgBs2B,GAAU,YAAYF,GAAyB,IAAIzV,CAAS;AAChX;AACA,MAAM2V,KAAY;AAAA,EAChB,OAAO;AAAA,IACL,eAAe;AAAA,IACf,aAA4B,oBAAI,IAAI,CAAC,OAAO,SAAS,QAAQ,CAAC;AAAA,EAClE;AAAA,EACE,MAAM;AAAA,IACJ,eAAe;AAAA,IACf,QAAQ;AAAA,EACZ;AAAA,EACE,WAAW;AAAA,IACT,eAAe;AAAA,IACf,SAAS;AAAA,IACT,QAAQ;AAAA,EACZ;AAAA,EACE,SAAS;AAAA,IACP,eAAe;AAAA,EACnB;AACA,GCrBMC,KAAgB,CAAC3gB,GAAgB4gB,GAAaC,IAAQ,MAAM;AAChE,QAAMplB,IAAW,CAAA;AACjB,aAAWjiB,KAAOonC,GAAa;AAC7B,UAAM3f,IAAgBjB,KAAA,gBAAAA,EAAiBxmB,IACrCsnC,IAAaF,EAAYpnC,CAAG;AAC9B,KAACynB,KAAiB,OAAO6f,KAAc,aAAarlB,EAASjiB,CAAG,IAAIsnC,IAAa7f,KAAiB,CAAC6f,IAAarlB,EAASjiB,CAAG,IAAIynB,EAAcznB,CAAG,IAAIqnC,MAAU,IAAIplB,EAASjiB,CAAG,IAAImnC,GAAc1f,GAAe6f,GAAYD,IAAQ,CAAC,IAAIplB,EAASjiB,CAAG,IAAI;AAAA,MACvP,GAAGynB;AAAA,MACH,GAAG6f;AAAA,IACT;AAAA,EACE;AACA,SAAO;AAAA,IACL,GAAG9gB;AAAA,IACH,GAAGvE;AAAA,EACP;AACA,GCXMslB,KAAkC,oBAAI,IAAI,CAAC,KAAK,QAAQ,KAAK,OAAO,OAAO,QAAQ,QAAQ,QAAQ,OAAO,OAAO,MAAM,KAAK,OAAO,OAAO,SAAS,QAAQ,KAAK,KAAK,QAAQ,SAAS,QAAQ,UAAU,OAAO,OAAO,QAAQ,KAAK,KAAK,CAAC;AAC/O,SAASC,GAAWC,GAAK1L,GAAS;AAChC,QAAM/W,IAASuiB,GAAiB,IAAIE,CAAG,GACrC;AAAA,IACE,UAAAxlB;AAAA,IACA,MAAA1c;AAAA,IACA,iBAAAmiC;AAAA,IACA,SAAAzoC;AAAA,IACA,GAAGY;AAAA,EACT,IAAQk8B,KAAW,CAAA,GACfp4B,IAAO;AAAA,IACL,WAAW8jC;AAAA,IACX,UAAAxlB;AAAA,IACA,cAAApiB;AAAA,IACA,iBAAA6nC;AAAA,IACA,eAAeniC;AAAA,IACf,eAAe;AAAA,IACf,QAAAyf;AAAA,IACA,kBAAkB;AAAA,IAClB,SAAA/lB;AAAA,EACN;AACE,UAAQY,EAAa,YAAYZ,OAAa0E,EAAK,eAAe,KAAK2xB,GAAgB3xB,CAAI;AAC7F;AACA,SAASgkC,GAAOC,GAAa7L,GAAS/3B,GAAQ;AAC5C,MAAI,QAAQ,IAAI,aAAa,gBAAgB,CAAC4jC,EAAa,OAAM,IAAI,MAAM,gCAAgC;AAC3G,QAAMviB,IAAqBuiB,EAAY,cACrCC,IAAyB,CAAC,CAACxiB,KAAsB,EAAEA,EAAmB,iBAAiBA,EAAmB;AAC5G,MAAIkM,IAAYlM,KAAA,QAAAA,EAAoB,SAAS,EAACA,KAAA,QAAAA,EAAoB,gBAAewiB,IAAyBD,KAAcviB,KAAA,gBAAAA,EAAoB,cAAauiB;AACzJ,QAAME,IAAoBziB,IAAqB,SAAS4hB,GAAqB1V,CAAS,GACpFrM,IAAgB,CAAC,EAAE4iB,KAAqB9jC,KAAA,QAAAA,EAAQ,iBAAiBqhB,KAAA,QAAAA,EAAoB,gBACrF0iB,KAAqB,MAAM;AACzB,QAAI;AAAA,MACA,UAAA9lB;AAAA,MACA,MAAA1c;AAAA,MACA,iBAAAmiC;AAAA,MACA,SAAAzoC;AAAA,MACA,GAAGY;AAAA,IACb,IAAYk8B,KAAW,CAAA,GACfiM,GACAC;AACF,QAAI5iB,KAAsB,EAAEA,EAAmB,SAAS,CAACA,EAAmB,cAAc;AACxF,YAAM6iB,IAAM7iB,EAAmB;AAC/B,iBAAWrlB,KAAOkoC,GAAK;AACrB,cAAM5nC,IAAM4nC,EAAIloC,CAAG;AACnB,QAAAqlB,EAAmB,mBAAmBrlB,KAAOqlB,EAAmB,oBAAoB,CAACqiB,KAAmB,EAAE1nC,KAAO0nC,QAAsBM,UAA0B,CAAA,IAAIA,EAAsBhoC,CAAG,IAAIM,IAAM,EAAEN,KAAOH,OAAkB,CAAC6nC,KAAmB,EAAE1nC,KAAO0nC,QAAsBO,UAAuB,CAAA,IAAIA,EAAmBjoC,CAAG,IAAIkoC,EAAIloC,CAAG;AAAA,MACpV;AACA,MAAAqlB,EAAmB,aAAapD,IAAWklB,GAAc9hB,EAAmB,UAAUpD,CAAQ;AAAA,IAChG;AACA,KAACgmB,KAAsBP,KAAmBM,OAA2BnoC,IAAe;AAAA,MAClF,GAAGooC;AAAA,MACH,GAAGD;AAAA,MACH,GAAGnoC;AAAA,MACH,GAAG6nC;AAAA,IACX,IAAUriB,KAAA,QAAAA,EAAoB,SAAS9f,MAAS1F,EAAa,gBAAgB0F;AACvE,UAAMyf,IAAS,CAAC,EAAEhhB,KAAA,QAAAA,EAAQ,UAAUqhB,KAAA,QAAAA,EAAoB,SACtDC,KAAmBthB,KAAA,gBAAAA,EAAQ,sBAAqB6jC,KAA0B3iB,MAAiBG,KAAA,gBAAAA,EAAoB,WAASA,KAAA,gBAAAA,EAAoB,oBAC5I1hB,IAAO;AAAA,MACL,GAAG0hB;AAAA,MACH,GAAGrhB;AAAA,MACH,GAAI,CAAC6jC,KAA0B;AAAA,QAC7B,WAAAtW;AAAA,MACZ;AAAA;AAAA,MAEU,UAAAtP;AAAA,MACA,cAAApiB;AAAA,MACA,iBAAA6nC;AAAA,MACA,eAAeniC,MAAQ8f,KAAA,gBAAAA,EAAoB;AAAA,MAC3C,eAAAH;AAAA,MACA,QAAAF;AAAA,MACA,kBAAAM;AAAA,MACA,SAAArmB;AAAA,MACA,GAAG6oC;AAAA,MACH,aAAa,CAAC,EAACziB,KAAA,QAAAA,EAAoB;AAAA,MACnC,oBAAAA;AAAA,IACV;AACM,YAAQxlB,EAAa,YAAY,CAACylB,KAAoBrmB,OAAa0E,EAAK,eAAe,KAAKA;AAAA,EAC9F,GAAC,GACDkM,IAAYylB,GAAgByS,KAAqB,EAAE;AACrD,aAAW/nC,KAAO4nC,EAAa,CAAA5nC,MAAQ,gBAAgBA,KAAO6P,MAAcA,EAAU7P,CAAG,IAAI4nC,EAAY5nC,CAAG;AAC5G,SAAO6P;AACT;AACA,MAAMs4B,KAAe,IAAI,MAAMR,IAAQ;AAAA,EACrC,IAAI/iC,GAAQwc,GAAM;AAChB,WAAOA,KAAQxc,IAASA,EAAOwc,CAAI,IAAI,CAAA2a,MAAWyL,GAAWpmB,GAAM2a,CAAO;AAAA,EAC5E;AACF,CAAC,GCtFKqM,KAAO9S,GAAgB;AAAA,EAC3B,kBAAkB;AAAA,EAClB,aAAA5lB;AACF,CAAC;ACDD,IAAI24B,KAAmB;AACvB,SAASC,GAAY;AAAA,EACnB,UAAAjqC;AAAA,EACA,OAAAH;AAAA,EACA,YAAAqqC;AAAA,EACA,aAAAxY;AAAA,EACA,OAAAxX;AACF,GAAG;AACD,QAAM,CAACiwB,GAASC,CAAU,IAAItnC,EAAM,SAAS,CAAConC,CAAU;AACxD,MAAIpnC,EAAM,UAAU,MAAM;AACxB,IAAAqnC,KAAWC,EAAW,EAAE;AAAA,EAC1B,GAAG,CAAA,CAAE,GAAG,CAACJ,IAAkB;AACzB,UAAM/B,IAAcpiC,GAAS,EAAG;AAChC,IAAAoiC,MAAgB+B,KAAmB,QAAQ/B,CAAW;AAAA,EACxD;AACA,QAAMnU,IAA0B,gBAAApzB,EAAI,QAAQ;AAAA,IAC1C,OAAAwZ;AAAA,IACA,WAAW,iBAAiBiwB,IAAU,KAAK,aAAa,IAAIH,EAAgB;AAAA,IAC5E,UAAAhqC;AAAA,EACJ,CAAG;AACD,SAAOkqC,IAAapW,IAA0B,gBAAApzB,EAAI8wB,IAAO;AAAA,IACvD,aAAAE;AAAA,IACA,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,MAAM7xB;AAAA,IACN,UAAUi0B;AAAA,EACd,CAAG;AACH;ACzBA,MAAM/zB,KAAgB,CAAA0B,MAAS;AAC7B;AAEA,QAAM4oC,IAAoB3kC,GAAW,mBAAmB;AACxD,EAAAT,GAA0B,MAAM;AAC9B,QAAIolC,MAAsB,GAAI;AAC9B,UAAMC,IAAK,GAAGllC,EAAsB,GAAG3D,EAAM,YAAY,IACvD8E,IAASb,GAAW,mBAAmB,MAAM,SAAS,SAAS,kBAAkB,SAAS;AAC5F,WAAOa,EAAO,UAAU,IAAI+jC,CAAE,GAAG,MAAM;AACrC,MAAA/jC,EAAO,UAAU,OAAO+jC,CAAE;AAAA,IAC5B;AAAA,EACF,GAAG,CAAC7oC,EAAM,cAAc4oC,CAAiB,CAAC;AAC1C,QAAMjyB,IAAiBiyB,MAAsB;AAC7C,SAAsB,gBAAA3pC,EAAI8wB,IAAO;AAAA,IAC/B,WAAW/vB,EAAM;AAAA,IACjB,MAAMA,EAAM;AAAA,IACZ,gBAAA2W;AAAA,IACA,SAASrD;AAAA,IACT,UAAUtT,EAAM;AAAA,EACpB,CAAG;AACH;ACfA,SAAS8oC,GAAgB;AAAA,EACvB,UAAAvqC;AAAA,EACA,kBAAAwqC;AAAA,EACA,QAAA7kC;AAAA,EACA,WAAA+hB;AAAA,EACA,cAAA4L;AAAA,EACA,OAAAtc;AAAA,EACA,QAAAyzB;AACF,GAAG;AACD,EAAAxlC,GAA0B,MAAM;AAC9B,IAAAua,GAAqB,GAAI7T,GAAoB;AAAA,EAC/C,GAAG,CAAA,CAAE;AACL,QAAM++B,IAAiB5nC,EAAM,QAAQ,MAAM2nC,GAAQ,CAACA,KAAA,gBAAAA,EAAQ,KAAKA,KAAA,gBAAAA,EAAQ,OAAOA,KAAA,gBAAAA,EAAQ,QAAQA,KAAA,gBAAAA,EAAQ,IAAI,CAAC,GAC3GxH,IAAyBngC,EAAM,QAAQ,MAAMyW,GAAuB5T,KAAA,gBAAAA,EAAQ,UAAU,GAAG,CAACA,KAAA,gBAAAA,EAAQ,UAAU,CAAC;AAC/G,EAAAxF,GAAU,MAAM;;AACd,KAAAoS,IAAA0wB,KAAA,gBAAAA,EAAwB,YAAxB,QAAA1wB,EAAA,KAAA0wB;AAAA,EACF,GAAG,CAAA,CAAE;AACL,MAAInP,IAA0B,gBAAApzB,EAAIwD,GAAiB,UAAU;AAAA,IAC3D,iBAAiB++B;AAAA,IACjB,QAAQyH;AAAA,IACR,UAAyB,gBAAAhqC,EAAIX,IAAe;AAAA,MAC1C,cAAAuzB;AAAA,MACA,OAAAtc;AAAA,MACA,WAAA0Q;AAAA,MACA,UAAyB,gBAAAhnB,EAAIupC,IAAa;AAAA,QACxC,OAAO3W;AAAA,QACP,YAAY;AAAA,QACZ,UAAAtzB;AAAA,MACR,CAAO;AAAA,IACP,CAAK;AAAA,EACL,CAAG;AACD,SAAO0F,GAAW,YAAY,MAAMouB,IAA0B,gBAAApzB,EAAIqwB,IAAY;AAAA,IAC5E,SAAS;AAAA,IACT,UAAU+C;AAAA,EACd,CAAG,IAAmB,gBAAA/yB,GAAKuwB,IAAU;AAAA,IACjC,UAAU,CAACwC,GAAUnuB,KAAU,CAAC6kC,KAAmC,gBAAA9pC,EAAI,SAAS;AAAA,MAC9E,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,UAAUiF,EAAO,OAAM;AAAA,IAC7B,GAAO,aAAa,CAAC;AAAA,EACrB,CAAG;AACH;AClDA,MAAMglC,KAAgB;AAAA,EAClB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AAChB,GACEC,KAAO3T,GAAgB;AAAA,EACrB,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,uBAAsC,oBAAI,IAAI,CAAC,YAAY,CAAC;AAAA,EAC5D,UAAU;AAAA,IACR,eAAe;AAAA,MACb,GAAG0T;AAAA,MACH,WAAW,CAAAE,MAAiBA,KAAiB,IAAI;AAAA,QAC/C,iBAAiBA;AAAA,QACjB,iBAAiB;AAAA,QACjB,SAAS;AAAA,QACT,UAAU;AAAA,MACpB,IAAY;AAAA,IACZ;AAAA,IACM,UAAU;AAAA,MACR,MAAMF;AAAA,IACd;AAAA,EACA;AAAA,EACI,aAAa;AAAA,IACX,GAAGt5B;AAAA,IACH,GAAGJ;AAAA,EACT;AACA,CAAG,GC7BG65B,KAAgC,oBAAI,QAAO,GAC/CC,KAAkC,oBAAI,QAAO,GAC7CC,KAAuB,oBAAI,IAAG,GAC9BC,KAAmC,oBAAI,QAAO,GAC9CC,KAA4B,MAAM,WAAW,oCAAoC,MAAM,QAAQ,IAAI,kCAAkC;AACvI,IAAIC;AACJ,SAASC,KAAgB;AACvB,SAAOD,OAAiB,WAAWA,KAAe,OAAO,SAAS,OAAO,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAI,mBAAmB,IAAIA;AAClJ;AACK,MAACE,KAA6B,CAAA,GACjCC,KAA0B9rC,GAAc,EAAE,GAC1C+rC,KAAS,OAAO,uBAAuB;AAazC,IAAIC,KAA6B,MAC/BC,KAAW;AAIb,MAAMC,KAA+B,oBAAI,QAAO;AAChD,IAAIC,KAAe;AACnB,MAAMC,KAA+B,oBAAI,IAAG;AAC5C,SAASC,KAAS;AAChB,EAAAF,OAAiBA,KAAe,IAAIC,OAAkBA,GAAc,QAAQ,CAAApgC,MAAMA,EAAE,CAAE,GAAGogC,GAAc,MAAK;AAC9G;AACA,SAASE,KAAuB;AAC9B,GAACP,MAAUC,OAA+BA,KAA6B,IAAI,qBAAqB,CAAAO,MAAW;AACzG,aAASjkC,IAAI,GAAGA,IAAIikC,EAAQ,QAAQjkC,KAAK;AACvC,YAAMkkC,IAAQD,EAAQjkC,CAAC,GACrB6Q,IAAOqzB,EAAM;AACf,MAAAf,GAAkB,IAAItyB,CAAI,MAAMqzB,EAAM,kBAAkBf,GAAkB,IAAItyB,GAAMqzB,EAAM,cAAc;AAAA,IAC1G;AAAA,EACF,GAAG;AAAA,IACD,WAAW;AAAA,EACf,CAAG;AACH;AACA,SAASC,GAAW9kC,GAAGC,GAAG;AACxB,SAAOD,EAAE,MAAMC,EAAE,KAAKD,EAAE,MAAMC,EAAE,KAAKD,EAAE,UAAUC,EAAE,SAASD,EAAE,WAAWC,EAAE;AAC7E;AACA,IAAImkC,IAAQ;AACV,MAAIW,IAA0B,WAAY;AACxC,WAAOC,MAAsBA,IAAoB,IAAI,qBAAqB,CAAAJ,MAAW;AACnF,MAAAK,IAAoB,KAAK,MAAM,YAAY,IAAG,IAAKC,CAAkB;AACrE,eAASvkC,IAAI,GAAGA,IAAIikC,EAAQ,QAAQjkC,IAAK,CAAAwkC,EAAc,IAAIP,EAAQjkC,CAAC,EAAE,QAAQikC,EAAQjkC,CAAC,EAAE,kBAAkB;AAC3G,cAAQ,IAAI,aAAa,iBAAiBsjC,QAAmBgB,IAAoB,MAAM,QAAQ,KAAK,uBAAuBA,IAAoB,MAAML,EAAQ,QAAQ,SAAS,GAAGQ,MAAqBA,EAAiB,EAAE,GAAGA,IAAmB;AAAA,IACjP,GAAG;AAAA,MACD,WAAW;AAAA,IACjB,CAAK,GAAGJ;AAAA,EACN;AACA,QAAMG,IAA+B,oBAAI,QAAO;AAChD,MAAIH,IAAoB,MACtBI,IAAmB,MACnBF,IAAqB,GACrBD,IAAoB;AACtB,iBAAeI,EAAsB7zB,GAAM;AACzC,UAAM8zB,IAAW3B,GAAe,IAAInyB,CAAI;AACxC,QAAI,OAAO8zB,KAAY,WAAY;AACnC,UAAMC,IAAa/zB,EAAK;AACxB,QAAI,CAAC+zB,EAAY;AACjB,QAAIC,GAAUC;AAEZ,QAAID,IAAWL,EAAc,IAAI3zB,CAAI,GAAGi0B,IAAaN,EAAc,IAAII,CAAU,GAAG,CAACC,KAAY,CAACC,EAAY;AAEhH,UAAMC,IAAanB,GAAc,IAAI/yB,CAAI,GACvCm0B,IAAmBpB,GAAc,IAAIgB,CAAU,GAC/CK,IAAc,CAACF,KAAc,CAACZ,GAAWY,GAAYF,CAAQ,GAC7DK,IAAgB,CAACF,KAAoB,CAACb,GAAWa,GAAkBF,CAAU;AAC/E,QAAIG,KAAeC,GAAe;AAChC,MAAAtB,GAAc,IAAI/yB,GAAMg0B,CAAQ,GAAGjB,GAAc,IAAIgB,GAAYE,CAAU;AAC3E,YAAMz9B,IAAQ89B,GAAsBN,GAAUC,GAAYj0B,CAAI;AAC9D,cAAQ,IAAI,aAAa,iBAAiByyB,GAAa,KAAM,QAAQ,IAAI,6BAA6B;AAAA,QACpG,KAAKzyB,EAAK;AAAA,QACV,IAAIA,EAAK,MAAM;AAAA,QACf,YAAYA,EAAK,aAAa,IAAI,MAAM,GAAG,EAAE,KAAK;AAAA,QAClD,QAAQxJ,EAAM,YAAY;AAAA,QAC1B,OAAO,CAAC09B;AAAA,MAChB,CAAO,GAAGlB,KAAeC,GAAc,IAAIjzB,GAAM,MAAM8zB,EAASt9B,CAAK,CAAC,IAAIs9B,EAASt9B,CAAK;AAAA,IACpF;AAAA,EACF;AACA,QAAM+9B,IAAM,OAAO,wBAAwB,MAAM,wBAAwB,QACvEC,IAAc,QAAQ,IAAI,2BAC1BC,IAAmBD,IAAc,CAACA,IAAc,IAChDE,IAAkB;AACpB,MAAIC,IAAaF,GACfG,IAAa;AACf,iBAAeC,IAAyB;AACtC,QAAID,MAAeD,MAAe,GAAG;AACnC,MAAAJ,IAAMA,EAAIM,CAAsB,IAAI,WAAWA,GAAwB,EAAE;AACzE;AAAA,IACF;AACA,QAAID,KAAc,OAAO,qBAAqBA,IAAa,IAAI9B,OAAa,OAAO;AACjF,YAAMgC,IAAe,CAAA,GACnBC,IAAkC,oBAAI,IAAG;AAC3C,iBAAW/0B,KAAQqyB,IAAO;AACxB,cAAM2C,IAAgBh1B,EAAK;AAC3B,YAAI,EAAEg1B,aAAyB,cAAc;AAC3C,UAAAC,GAAYj1B,CAAI;AAChB;AAAA,QACF;AACA,cAAMk1B,IAAa9C,GAAiB,IAAIpyB,CAAI;AAC5C,QAAAk1B,KAAcxC,GAA2BwC,CAAU,MAAM,MAAM5C,GAAkB,IAAItyB,CAAI,MAAM,OAAO80B,EAAa,KAAK90B,CAAI,GAAG+0B,EAAiB,IAAIC,CAAa;AAAA,MACnK;AACA,UAAIF,EAAa,SAAS,GAAG;AAC3B,cAAMK,IAAK5B,EAAuB;AAClC,QAAAG,IAAqB,YAAY,IAAG;AACpC,iBAASvkC,IAAI,GAAGA,IAAI2lC,EAAa,QAAQ3lC,IAAK,CAAAgmC,EAAG,QAAQL,EAAa3lC,CAAC,CAAC;AACxE,mBAAW6O,KAAU+2B,EAAkB,CAAAI,EAAG,QAAQn3B,CAAM;AACxD,cAAM,IAAI,QAAQ,CAAAvQ,MAAO;AACvB,UAAAmmC,IAAmBnmC;AAAA,QACrB,CAAC;AACD,iBAAS0B,IAAI,GAAGA,IAAI2lC,EAAa,QAAQ3lC,IAAK,CAAAgmC,EAAG,UAAUL,EAAa3lC,CAAC,CAAC;AAC1E,mBAAW6O,KAAU+2B,EAAkB,CAAAI,EAAG,UAAUn3B,CAAM;AAC1D,QAAAy1B,IAAoB,KAAKkB,IAAa,KAAK,IAAIA,IAAa,GAAGD,CAAe,IAAIjB,IAAoB,OAAOkB,IAAa,KAAK,IAAIA,IAAa,GAAGF,CAAgB;AACnK,iBAAStlC,IAAI,GAAGA,IAAI2lC,EAAa,QAAQ3lC,IAAK,CAAA0kC,EAAsBiB,EAAa3lC,CAAC,CAAC;AAAA,MACrF;AAAA,IACF;AACA,IAAAolC,IAAMA,EAAIM,CAAsB,IAAI,WAAWA,GAAwB,EAAE;AAAA,EAC3E;AACA,EAAAA,EAAsB;AACxB;AACA,MAAMP,KAAwB,CAACN,GAAUC,GAAYj0B,OAAU;AAAA,EAC3D,aAAa;AAAA,IACX,QAAQo1B,GAAsBpB,GAAUC,GAAYj0B,CAAI;AAAA,IACxD,QAAQg0B;AAAA,EACd;AAAA,EACI,WAAW,KAAK,IAAG;AACvB,IACEqB,KAA4B,CAAAr1B,OAAS;AAAA,EACnC,OAAOA,EAAK;AAAA,EACZ,QAAQA,EAAK;AACjB,IACEo1B,KAAwB,CAAC5mC,GAAGC,GAAG6mC,MAAU;AACvC,QAAM;AAAA,IACF,MAAAC;AAAA,IACA,KAAAC;AAAA,EACR,IAAUhnC,GACJkX,IAAI6vB,IAAO9mC,EAAE,MACbgnC,IAAID,IAAM/mC,EAAE,KACZ;AAAA,IACE,OAAA4S;AAAA,IACA,QAAAD;AAAA,EACR,IAAUmxB,GAAyB,KAAM+C,IAAQD,GAA0BC,CAAK,IAAI;AAAA,IAC5E,OAAO9mC,EAAE;AAAA,IACT,QAAQA,EAAE;AAAA,EAClB;AACI,SAAO;AAAA,IACL,GAAAkX;AAAA,IACA,GAAA+vB;AAAA,IACA,OAAAp0B;AAAA,IACA,QAAAD;AAAA,IACA,OAAO5S,EAAE;AAAA,IACT,OAAOA,EAAE;AAAA,EACf;AACE;AAIF,SAASymC,GAAYj1B,GAAM;AACzB,EAAAqyB,GAAM,OAAOryB,CAAI,GAAGmyB,GAAe,OAAOnyB,CAAI,GAAGoyB,GAAiB,OAAOpyB,CAAI,GAAG+yB,GAAc,OAAO/yB,CAAI,GAAGsyB,GAAkB,OAAOtyB,CAAI,GAAG6yB,MAA8BA,GAA2B,UAAU7yB,CAAI;AACrN;AACA,MAAM01B,KAA8B,oBAAI,QAAO;AAC/C,SAASC,GAAiBviC,GAAK0gC,GAAU;;AACvC,QAAMoB,IAAahtC,GAAWyqC,EAAuB,GACnD3yB,IAAO41B,IAAiBh8B,IAAAxG,EAAI,YAAJ,gBAAAwG,EAAa,IAAI;AAC3C,EAAAoG,KAAQ8zB,MAAa3B,GAAe,IAAInyB,GAAM8zB,CAAQ,GAAG1B,GAAiB,IAAIpyB,GAAMk1B,CAAU,IAAI5oC,GAA0B,MAAM;;AAChI,QAAI,CAACwnC,EAAU;AACf,UAAM+B,IAAWD,IAAiBh8B,IAAAxG,EAAI,YAAJ,gBAAAwG,EAAa,IAAI,GACjDk8B,IAAWJ,GAAa,IAAItiC,CAAG;AACjC,QAAIyiC,MAAaC,MAAaA,KAAYb,GAAYa,CAAQ,GAAGJ,GAAa,IAAItiC,GAAKyiC,CAAQ,GAAG,CAACA,GAAW;AAC9G,IAAAxD,GAAM,IAAIwD,CAAQ,GAAG1C,GAAoB,GAAIN,OAA+BA,GAA2B,QAAQgD,CAAQ,GAAGvD,GAAkB,IAAIuD,GAAU,EAAE;AAC5J,UAAME,IAAU5D,GAAe,IAAI0D,CAAQ;AAC3C,QAAI,OAAOE,KAAW,WAAY;AAClC,UAAMhC,IAAa8B,EAAS;AAC5B,QAAI,CAAC9B,EAAY;AACjB,UAAMC,IAAW6B,EAAS,sBAAqB,GAC7C5B,IAAaF,EAAW,sBAAqB;AAC/C,IAAAhB,GAAc,IAAI8C,GAAU7B,CAAQ,GAAGjB,GAAc,IAAIgB,GAAYE,CAAU,GAAG8B,EAAQzB,GAAsBN,GAAUC,GAAY4B,CAAQ,CAAC;AAAA,EACjJ,CAAC,GAAGvpC,GAA0B,MAAM;;AAClC,QAAI,CAACwnC,EAAU;AACf,UAAMkC,KAAQp8B,IAAAxG,EAAI,YAAJ,gBAAAwG,EAAa;AAC3B,QAAI,CAACo8B,EAAO;AACZ,IAAA3D,GAAM,IAAI2D,CAAK,GAAG7C,GAAoB,GAAIN,OAA+BA,GAA2B,QAAQmD,CAAK,GAAG1D,GAAkB,IAAI0D,GAAO,EAAE,IAAI,QAAQ,IAAI,aAAa,iBAAiBvD,GAAa,KAAM,QAAQ,IAAI,+BAA+B;AAAA,MAC7P,KAAKuD,EAAM;AAAA,MACX,IAAIA,EAAM,MAAM;AAAA,MAChB,YAAYA,EAAM,aAAa,IAAI,MAAM,GAAG,EAAE,KAAK;AAAA,MACnD,YAAY3D,GAAM;AAAA,IACxB,CAAK;AACD,UAAM0B,IAAaiC,EAAM;AACzB,WAAOjC,KAAcD,EAASQ,GAAsB0B,EAAM,yBAAyBjC,EAAW,sBAAqB,GAAIiC,CAAK,CAAC,GAAG,MAAM;AACpI,MAAAf,GAAYe,CAAK;AACjB,YAAMC,IAAcP,GAAa,IAAItiC,CAAG;AACxC,MAAA6iC,KAAeA,MAAgBD,KAASf,GAAYgB,CAAW,GAAGP,GAAa,OAAOtiC,CAAG;AAAA,IAC3F;AAAA,EACF,GAAG,CAACA,GAAK,CAAC,CAAC0gC,CAAQ,CAAC;AACtB;AACA,SAAS8B,GAAiBlwB,GAAG;AAC3B,MAAI,EAAE,OAAO,cAAc,KAAM,QAAOA,aAAa,cAAcA,IAAI;AACzE;AACA,MAAMwwB,KAA6B,CAAAl2B,MAAQ,IAAI,QAAQ,CAAAvS,MAAO;AAC1D,MAAI,CAACuS,KAAQA,EAAK,aAAa,EAAG,QAAOvS,EAAI,EAAE;AAC/C,QAAM0nC,IAAK,IAAI,qBAAqB,CAAA/B,OAAY+B,EAAG,cAAc1nC,EAAI2lC,EAAQ,CAAC,EAAE,kBAAkB,IAAI;AAAA,IACpG,WAAW;AAAA,EACjB,CAAK;AACD,EAAA+B,EAAG,QAAQn1B,CAAI;AACjB,CAAC,GACDm2B,KAAc,OAAOn2B,GAAMo2B,MAAe;AACxC,QAAMC,IAAeD,MAAcp2B,KAAA,gBAAAA,EAAM;AACzC,MAAIq2B,aAAwB,aAAa;AACvC,UAAM,CAACC,GAASC,CAAe,IAAI,MAAM,QAAQ,IAAI,CAACL,GAA2Bl2B,CAAI,GAAGk2B,GAA2BG,CAAY,CAAC,CAAC;AACjI,QAAIE,KAAmBD,EAAS,QAAOlB,GAAsBkB,GAASC,GAAiBv2B,CAAI;AAAA,EAC7F;AACA,SAAO;AACT,GACAw2B,KAAU,OAAOx2B,GAAMy2B,MAAa;AAClC,QAAM1tC,IAAM,MAAMotC,GAAYn2B,GAAMA,EAAK,sBAAsB,cAAcA,EAAK,aAAa,IAAI;AACnG,SAAOjX,MAAO0tC,KAAA,QAAAA,EAAW1tC,EAAI,GAAGA,EAAI,GAAGA,EAAI,OAAOA,EAAI,QAAQA,EAAI,OAAOA,EAAI,SAAQA;AACvF;AACF,SAAS2tC,GAAc12B,GAAM;AAC3B,SAAO,CAAAy2B,MAAYD,GAAQx2B,GAAMy2B,CAAQ;AAC3C;AACA,MAAME,KAAkB,OAAO32B,GAAMy2B,MAAa;AAC9C,QAAM1tC,IAAM,MAAMotC,GAAYn2B,GAAM,IAAI;AACxC,SAAOjX,MAAO0tC,KAAA,QAAAA,EAAW1tC,EAAI,OAAOA,EAAI,OAAOA,EAAI,OAAOA,EAAI,UAASA;AACzE,GACA6tC,KAAwB,CAAA52B,MAAQ,CAAAy2B,MAAYE,GAAgB32B,GAAMy2B,CAAQ,GAC1EI,KAAgB,OAAO72B,GAAMq2B,GAAcI,MAAa;AACtD,QAAM1tC,IAAM,MAAMotC,GAAYn2B,GAAMq2B,CAAY;AAChD,SAAOttC,MAAO0tC,KAAA,QAAAA,EAAW1tC,EAAI,GAAGA,EAAI,GAAGA,EAAI,OAAOA,EAAI,QAAQA,EAAI,OAAOA,EAAI,SAAQA;AACvF;AACF,SAAS+tC,GAAoB92B,GAAM;AACjC,SAAO,CAACo2B,GAAYK,MAAaI,GAAc72B,GAAMo2B,GAAYK,CAAQ;AAC3E;ACpPA,SAASM,KAAe;AACtB,SAAO;AACT;ACOK,MAACnF,KAAkB,CAAA9oC,OAAUwD,GAA0B,MAAM;AAC9D,EAAA4mC,GAAM;AACR,GAAG,CAAA,CAAE,GAAkB,gBAAAnrC,EAAIivC,IAAoB;AAAA,EAC7C,GAAGluC;AACP,CAAG,IACDqlC,KAAgB,CAAAxhC,MAAQsqC,GAAiBtqC,CAAI;AAE/CirB,GAAW;AAAA,EACT,cAAAmf;AAAA,EACA,iBAAiB,CAAA/2B,MAAQ;AACvB,IAAAA,KAAQ,CAACA,EAAK,YAAYA,EAAK,YAALA,EAAK,UAAY02B,GAAc12B,CAAI,IAAGA,EAAK,oBAALA,EAAK,kBAAoB42B,GAAsB52B,CAAI,IAAGA,EAAK,kBAALA,EAAK,gBAAkB82B,GAAoB92B,CAAI;AAAA,EACvK;AAAA,EACA,kBAAkB2N,GAAa4Q,GAASlF,GAAU6d,GAAa;AAC7D;AACE,YAAMC,IAAQ,OAAOxpB,KAAe,UAClC;AAAA;AAAA,QAEE,0BAAAypB;AAAA,QACA,iCAAAC;AAAA,QACA,gBAAAC;AAAA,QACA,kBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,mBAAAC;AAAA,QACA,oBAAAC;AAAA,QACA,kBAAAC;AAAA,QACA,sBAAAC;AAAA,QACA,+BAAAC;AAAA,QACA,4BAAAC;AAAA,QACA,mCAAAC;AAAA,QACA,qCAAAC;AAAA,QACA,4CAAAC;AAAA,QACA,2BAAAC;AAAA,QACA,kCAAAC;AAAA;AAAA,QAEA,aAAAC;AAAA,QACA,WAAAC;AAAA;AAAA,QAEA,YAAAC;AAAA,QACA,uBAAAC;AAAA,QACA,UAAAzE;AAAA,QACA,WAAA0E;AAAA,QACA,GAAGC;AAAA,MACb,IAAYla;AACN,WAAK2Y,KAAeC,MAAUxB,GAAiBtc,GAAU8d,IAAQrD,IAAW,MAAM,GAAGqD,GAAO;AAC1F,YAAIsB,EAAc,QAAQD,GAAW;AACnC,gBAAM;AAAA,YACJ,UAAAE;AAAA,YACA,KAAAC;AAAA,YACA,QAAA/qC;AAAA,UACZ,IAAc4qC;AACJ,UAAAE,KAAY,SAASD,EAAc,WAAWC,IAAWC,MAAQF,EAAc,MAAME,IAAM,OAAO/qC,KAAU,aAAa6qC,EAAc,SAAS7qC,EAAO,OAAO,CAAC,MAAM,MAAM,IAAIA,CAAM,KAAKA;AAAA,QAC5L;AACA,eAAO6qC;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF,CAAC;AACD,MAAMrH,KAAOwH,IACX3G,KAAO4G;;;;;;;;;;;;;ACxBT,SAASC,KAA2C;AAClD,SAAO;AAAA,IACL,SAASC,GAAO,SAAS,MAAM;AAAA,IAC/B,WAAWA,GAAO,SAAS,MAAM;AAAA,IACjC,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,EAAA;AAEjB;AAEA,SAASC,KAA0C;AACjD,QAAMr/B,IAAiC,CAAA;AACvC,gBAAO,QAAQs/B,GAAW,QAAQ,EAAE,QAAQ,CAAC,CAACjwC,GAAKlB,CAAK,MAAM;AAC5D,UAAMoxC,IAAU,WAAWpxC,EAAM,SAAA,CAAU;AAC3C,IAAA6R,EAAO3Q,CAAG,IAAI,MAAMkwC,CAAO,IAAI,KAAKA,IAAU;AAAA,EAChD,CAAC,GACMv/B;AACT;AAEA,SAASw/B,GAAWC,GAAgC;AAClD,QAAMC,IAAcN,GAAO,SAASK,CAAI;AAExC,SAAO;AAAA,IACL,YAAYC,EAAY;AAAA,IACxB,qBAAqBA,EAAY;AAAA,IACjC,oBAAoBA,EAAY;AAAA,IAChC,OAAOA,EAAY;AAAA,IACnB,gBAAgBA,EAAY,iBAAiBA,EAAY;AAAA,IACzD,YAAYA,EAAY,aAAa;AAAA,IACrC,aAAaA,EAAY;AAAA,IACzB,kBAAkBA,EAAY,oBAAoBA,EAAY;AAAA,IAC9D,kBAAkBA,EAAY,aAAa;AAAA,IAC3C,SAASA,EAAY;AAAA,IACrB,WAAWA,EAAY;AAAA,IACvB,SAASA,EAAY;AAAA,IACrB,SAASA,EAAY;AAAA,IACrB,OAAOA,EAAY;AAAA,IACnB,aAAaD,MAAS,UAAU,qBAAqB;AAAA,IACrD,GAAG,OAAO,QAAQC,CAAW,EAAE,OAAO,CAACC,GAAK,CAACtwC,GAAKlB,CAAK,MAAM;AACzD,YAAMyxC,IAAQvwC,EAAI,QAAQ,mBAAmB,OAAO,EAAE,YAAA;AACtD,aAAAswC,EAAIC,CAAK,IAAIzxC,GACNwxC;AAAA,IACX,GAAG,CAAA,CAAS;AAAA,EAAA;AAEhB;AAEA,SAASE,KAA2C;AAClD,QAAM7/B,IAAiC,CAAA;AACvC,gBAAO,QAAQ8/B,GAAQ,OAAO,EAAE,QAAQ,CAAC,CAACzwC,GAAKlB,CAAK,MAAM;AACxD,UAAMoxC,IAAU,WAAWpxC,EAAM,SAAA,CAAU;AAC3C,IAAA6R,EAAO3Q,CAAG,IAAI,MAAMkwC,CAAO,IAAI,IAAIA,IAAU;AAAA,EAC/C,CAAC,GACMv/B;AACT;AAEA,SAAS+/B,KAA4C;AACnD,QAAM//B,IAAiC,CAAA;AACvC,gBAAO,QAAQ8/B,GAAQ,YAAY,EAAE,QAAQ,CAAC,CAACzwC,GAAKlB,CAAK,MAAM;AAC7D,UAAMoxC,IAAU,WAAWpxC,EAAM,SAAA,CAAU;AAC3C,IAAA6R,EAAO3Q,CAAG,IAAI,MAAMkwC,CAAO,IAAI,IAAIA;AAAA,EACrC,CAAC,GACDv/B,EAAO,OAAU,MACjBA,EAAO,OAAU,MACjBA,EAAO,QAAW,GACXA;AACT;AAEO,SAASggC,KAAuC;AACrD,SAAO;AAAA,IACL,QAAQ;AAAA,MACN,OAAOb,GAAA;AAAA,MACP,OAAOU,GAAA;AAAA,MACP,MAAMR,GAAA;AAAA,MACN,QAAQU,GAAA;AAAA,MACR,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,OAAO;AAAA,QACP,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,QAAQ;AAAA,MACN,OAAOP,GAAW,OAAO;AAAA,MACzB,MAAMA,GAAW,MAAM;AAAA,IAAA;AAAA,EACzB;AAEJ;AC7HA,MAAMS,KAAYD,GAAA,GAEZhgC,KAASo2B,GAAa;AAAA,EAC1B,OAAO6J,GAAU,OAAO;AAAA,EACxB,OAAOA,GAAU,OAAO;AAAA,EACxB,MAAMA,GAAU,OAAO;AAAA,EACvB,QAAQA,GAAU,OAAO;AAAA,EACzB,QAAQA,GAAU,OAAO;AAC3B,CAAC,GAGKC,KAActQ,GAAW;AAAA,EAC7B,QAAQ0P,GAAW,WAAW;AAAA,EAC9B,MAAMW,GAAU,OAAO;AAAA,EACvB,YAAY;AAAA,IACV,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,MAAM;AAAA,EAAA;AAAA,EAER,eAAe;AAAA,IACb,MAAM;AAAA,IACN,IAAI;AAAA,EAAA;AAER,CAAC,GAEKE,KAAWvQ,GAAW;AAAA,EAC1B,QAAQ0P,GAAW,WAAW;AAAA,EAC9B,MAAMW,GAAU,OAAO;AAAA,EACvB,YAAY;AAAA,IACV,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,MAAM;AAAA,EAAA;AAEV,CAAC,GAEYG,KAAe5L,GAAc;AAAA,EACxC,QAAAx0B;AAAA,EACA,QAAQigC,GAAU;AAAA,EAClB,OAAO;AAAA,IACL,SAASC;AAAA,IACT,MAAMC;AAAA,EAAA;AAAA,EAER,cAAc;AAAA,EACd,OAAO;AAAA,IACL,IAAI,EAAE,UAAU,IAAA;AAAA,IAChB,IAAI,EAAE,UAAU,IAAA;AAAA,IAChB,IAAI,EAAE,UAAU,KAAA;AAAA,IAChB,IAAI,EAAE,UAAU,KAAA;AAAA,IAChB,IAAI,EAAE,UAAU,KAAA;AAAA,IAChB,MAAM,EAAE,UAAU,IAAA;AAAA,IAClB,MAAM,EAAE,UAAU,IAAA;AAAA,IAClB,MAAM,EAAE,UAAU,KAAA;AAAA,IAClB,MAAM,EAAE,UAAU,KAAA;AAAA,IAClB,OAAO,EAAE,WAAW,IAAA;AAAA,IACpB,MAAM,EAAE,WAAW,IAAA;AAAA,IACnB,WAAW,EAAE,OAAO,OAAA;AAAA,IACpB,eAAe,EAAE,SAAS,SAAA;AAAA,EAAS;AAEvC,CAAC;AC/DM,SAASE,GAAU,EAAE,UAAA3yC,KAAsC;AAChE,QAAM,EAAE,OAAAH,EAAA,IAAUc,GAAA;AAElB,SACE,gBAAAD;AAAA,IAACkyC;AAAAA,IAAA;AAAA,MACC,QAAQF;AAAA,MACR,cAAc7yC;AAAA,MAEb,UAAAG;AAAA,IAAA;AAAA,EAAA;AAGP;ACFA,MAAM6yC,KAA6D;AAAA,EACjE,OAAO,EAAE,IAAI,WAAW,MAAM,OAAA;AAAA,EAC9B,SAAS,EAAE,IAAI,WAAW,MAAM,UAAA;AAAA,EAChC,WAAW,EAAE,IAAI,WAAW,MAAM,UAAA;AAAA,EAClC,UAAU,EAAE,IAAI,WAAW,MAAM,UAAA;AAAA,EACjC,UAAU,EAAE,IAAI,WAAW,MAAM,UAAA;AAAA,EACjC,WAAW,EAAE,IAAI,WAAW,MAAM,OAAA;AAAA,EAClC,WAAW,EAAE,IAAI,WAAW,MAAM,UAAA;AAAA,EAClC,SAAS,EAAE,IAAI,WAAW,MAAM,UAAA;AAAA,EAChC,SAAS,EAAE,IAAI,WAAW,MAAM,UAAA;AAClC;AAEA,SAASC,GAAcpmC,GAAyD;AAC9E,MAAI,CAACA,EAAO,QAAOmmC,GAAa;AAChC,QAAME,IAAkBrmC,EAAM,YAAA,EAAc,QAAQ,QAAQ,GAAG;AAC/D,SAAOmmC,GAAaE,CAAe,KAAKF,GAAa;AACvD;AAaO,SAASG,GAAW;AAAA,EACzB,OAAAtmC;AAAA,EACA,WAAAumC;AAAA,EACA,WAAAvrB;AAAA,EACA,OAAAxN;AACF,GAAoB;AAClB,QAAMg5B,IACJxmC,MACCumC,MAAc,IACX,UACAA,MAAc,IACZ,cACAA,MAAc,IACZ,cACA;AAEV,MAAI,CAACC,EAAc,QAAO;AAE1B,QAAMxB,IAASoB,GAAcI,CAAY;AAEzC,SACE,gBAAAxyC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAAgnB;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,QACT,SAAS;AAAA,QACT,cAAc;AAAA,QACd,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,iBAAiBgqB,EAAO;AAAA,QACxB,OAAOA,EAAO;AAAA,QACd,GAAGx3B;AAAA,MAAA;AAAA,MAGJ,UAAAg5B;AAAA,IAAA;AAAA,EAAA;AAGP;AC3DA,MAAMC,KAAkB;AAAA,EACtB,EAAE,MAAM,MAAM,OAAO,UAAA;AAAA,EACrB,EAAE,MAAM,MAAM,OAAO,SAAA;AAAA,EACrB,EAAE,MAAM,MAAM,OAAO,QAAA;AAAA,EACrB,EAAE,MAAM,MAAM,OAAO,UAAA;AAAA,EACrB,EAAE,MAAM,MAAM,OAAO,WAAA;AACvB;AAEO,SAASC,GAAe;AAAA,EAC7B,UAAAjyB;AAAA,EACA,kBAAAkyB;AAAA,EACA,SAAAC,IAAUH;AACZ,GAAwB;AAKtB,SACE,gBAAApyC,GAAC,OAAA,EAAI,OAAO,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,MAAA,GACxD,UAAA;AAAA,IAAA,gBAAAL;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,OAAO,EAAE,UAAU,QAAQ,OAAO,oBAAA;AAAA,QACnC,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGD,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,OAAOygB;AAAA,QACP,UAfe,OAAOhS,MAAgD;AAC1E,gBAAMkkC,EAAiBlkC,EAAM,OAAO,KAAK;AAAA,QAC3C;AAAA,QAcM,OAAO;AAAA,UACL,SAAS;AAAA,UACT,cAAc;AAAA,UACd,QAAQ;AAAA,UACR,iBAAiB;AAAA,UACjB,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,QAAA;AAAA,QAGX,UAAAmkC,EAAQ,IAAI,CAAAC,MACX,gBAAA7yC,EAAC,UAAA,EAAyB,OAAO6yC,EAAO,MACrC,UAAAA,EAAO,MAAA,GADGA,EAAO,IAEpB,CACD;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GACF;AAEJ;ACtEA,MAAMC,KAAiBlK,GAAOS,IAAM;AAAA,EAClC,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,SAAS;AAAA,EAET,UAAU;AAAA,IACR,SAAS;AAAA,MACP,MAAM;AAAA,QACJ,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,cAAc;AAAA,MAAA;AAAA,MAEhB,cAAc;AAAA,QACZ,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,cAAc;AAAA,MAAA;AAAA,MAEhB,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,cAAc;AAAA,MAAA;AAAA,MAEhB,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,cAAc;AAAA,MAAA;AAAA,MAEhB,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,cAAc;AAAA,MAAA;AAAA,IAChB;AAAA,EACF;AAAA,EAGF,iBAAiB;AAAA,IACf,SAAS;AAAA,EAAA;AAEb,CAAC,GAaY0J,KAAoC,CAAC;AAAA,EAChD,OAAAC,IAAQ;AAAA,EACR,WAAAhsB,IAAY;AAAA,EACZ,GAAGjmB;AACL,MAAM;AAEJ,QAAMkyC,IAAoB,YAAYjsB,CAAS,GAAG,KAAA;AAElD,SAAIgsB,IAAQ,IAER,gBAAAhzC,EAACqpC,IAAA,EAAK,aAAW,IAAM,cAAW,mBAC/B,UAAA,MAAM,KAAK,EAAE,QAAQ2J,EAAA,GAAS,CAAC7sC,GAAGiB,MACjC,gBAAApH;AAAA,IAAC8yC;AAAA,IAAA;AAAA,MAEC,WAAWG;AAAA,MACV,GAAGlyC;AAAA,MAEH,GAAIqG,MAAM4rC,IAAQ,KAAKjyC,EAAM,YAAY,SAAS,EAAE,OAAO,UAAU,CAAA;AAAA,IAAC;AAAA,IAJlEqG;AAAA,EAAA,CAMR,GACH,IAKF,gBAAApH;AAAA,IAAC8yC;AAAA,IAAA;AAAA,MACC,WAAWG;AAAA,MACX,aAAW;AAAA,MACX,cAAW;AAAA,MACV,GAAGlyC;AAAA,IAAA;AAAA,EAAA;AAGV,GCxEamyC,KAAStK,GAAOS,IAAM;AAAA,EACjC,MAAM;AAAA,EACN,SAAS;AAAA,EACT,eAAe;AAAA,EACf,UAAU;AAAA,IACR,YAAY;AAAA,MACV,MAAM;AAAA,QACJ,UAAU;AAAA,QACV,KAAK;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAAA,IACV;AAAA,EACF;AAEJ,CAAC,GAEK8J,KAAUvK,GAAOS,IAAM;AAAA,EAC3B,MAAM;AAAA,EACN,SAAS;AAAA,EACT,eAAe;AAAA,EACf,UAAU;AAAA,IACR,YAAY;AAAA,MACV,MAAM;AAAA,QACJ,UAAU;AAAA,QACV,KAAK;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAAA,IACV;AAAA,EACF;AAEJ,CAAC,GACY+J,KAASD,IAEhBE,KAAUzK,GAAOS,IAAM;AAAA,EAC3B,MAAM;AAAA,EACN,SAAS;AAAA,EACT,eAAe;AAAA,EACf,UAAU;AAAA,IACR,YAAY;AAAA,MACV,MAAM;AAAA,QACJ,UAAU;AAAA,QACV,KAAK;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAAA,IACV;AAAA,EACF;AAEJ,CAAC,GACYiK,KAASD,IAEhBE,KAAU3K,GAAOS,IAAM;AAAA,EAC3B,MAAM;AAAA,EACN,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,IACR,YAAY;AAAA,MACV,MAAM;AAAA,QACJ,UAAU;AAAA,QACV,KAAK;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,MAAA;AAAA,IACV;AAAA,EACF;AAEJ,CAAC,GACYmK,KAASD,IAEhBE,KAAS7K,GAAOsB,IAAM;AAAA,EAC1B,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,MAAQ,EAAE,UAAU,OAAA;AAAA,IAAO;AAAA,IAE7B,OAAO;AAAA,MACL,WAAW,EAAE,OAAO,kBAAA;AAAA,MACpB,OAAO,EAAE,OAAO,cAAA;AAAA,IAAc;AAAA,EAChC;AAEJ,CAAC,GACYwJ,KAAQD,IAEfE,KAAa/K,GAAOsB,IAAM;AAAA,EAC9B,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,MAAQ,EAAE,UAAU,OAAA;AAAA,IAAO;AAAA,EAC7B;AAEJ,CAAC,GACY0J,KAAYD,IAEnBE,KAAWjL,GAAOsB,IAAM;AAAA,EAC5B,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,KAAO,EAAE,UAAU,MAAA;AAAA,MACnB,MAAQ,EAAE,UAAU,OAAA;AAAA,IAAO;AAAA,EAC7B;AAEJ,CAAC,GACY4J,KAAUD,ICxJjBE,KAAenL,GAAOS,IAAM;AAAA,EAChC,MAAM;AAAA,EACN,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,KAAK;AAAA,EAEL,YAAY;AAAA,IACV,SAAS;AAAA,IACT,iBAAiB;AAAA,EAAA;AAAA,EAGnB,YAAY;AAAA,IACV,SAAS;AAAA,IACT,OAAO;AAAA,EAAA;AAAA,EAGT,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP,iBAAiB;AAAA,QACjB,aAAa;AAAA,QACb,aAAa;AAAA,QACb,aAAa;AAAA,QACb,aAAa;AAAA,QACb,cAAc;AAAA,QACd,cAAc,EAAE,OAAO,GAAG,QAAQ,EAAA;AAAA,MAAE;AAAA,MAEtC,SAAS;AAAA,QACP,iBAAiB;AAAA,QACjB,aAAa;AAAA,QACb,aAAa;AAAA,QACb,eAAe;AAAA,QACf,cAAc;AAAA,QACd,cAAc,EAAE,OAAO,GAAG,QAAQ,EAAA;AAAA,QAClC,YAAY;AAAA,UACV,iBAAiB;AAAA,UACjB,SAAS;AAAA,UACT,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,MAEF,OAAO;AAAA,QACL,iBAAiB;AAAA,QACjB,aAAa;AAAA,MAAA;AAAA,MAEf,QAAQ;AAAA,QACN,iBAAiB;AAAA,QACjB,aAAa;AAAA,QACb,YAAY;AAAA,UACV,iBAAiB;AAAA,UACjB,SAAS;AAAA,UACT,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,IACF;AAAA,IAEF,MAAM;AAAA,MACJ,IAAI;AAAA,QACF,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,WAAW;AAAA,MAAA;AAAA,MAEb,IAAI;AAAA,QACF,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,WAAW;AAAA,MAAA;AAAA,MAEb,IAAI;AAAA,QACF,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,eAAe;AAAA,MAAA;AAAA,IACjB;AAAA,EACF;AAAA,EAGF,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,EAAA;AAEV,CAAC;AA6BM,SAAS2K,GAAO;AAAA,EACrB,UAAA10C;AAAA,EACA,SAAAulB,IAAU;AAAA,EACV,MAAAovB,IAAO;AAAA,EACP,SAAAC;AAAA,EACA,UAAAlxB;AAAA,EACA,KAAA0lB,IAAM;AAAA,EACN,GAAG3nC;AACL,GAAgB;AAEd,SACE,gBAAAf;AAAA,IAFW+zC;AAAA,IAEV;AAAA,MACC,KAAArL;AAAA,MACA,MAAM3nC,EAAM;AAAA,MACZ,SAAA8jB;AAAA,MACA,MAAAovB;AAAA,MACA,UAAUjxB,KAAYkxB;AAAA,MACrB,GAAGnzC;AAAA,MAEJ,UAAA,gBAAAf;AAAA,QAAC0zC;AAAA,QAAA;AAAA,UACC,OAAO7uB,MAAY,aAAaA,MAAY,WAAW,WAAW;AAAA,UAClE,YAAW;AAAA,UACX,UAAUovB,MAAS,OAAO,QAAQ;AAAA,UAClC,eAAc;AAAA,UAEb,cAAU,QAAQ30C;AAAA,QAAA;AAAA,MAAA;AAAA,IACrB;AAAA,EAAA;AAGN;AClJA,MAAM60C,KAAQvL,GAAOS,IAAM;AAAA,EACzB,MAAM;AAAA,EACN,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,SAAS;AAAA,EACT,SAAS;AAAA,EAET,UAAU;AAAA,IACR,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,aAAa;AAAA,QACb,cAAc,EAAE,OAAO,GAAG,QAAQ,GAAA;AAAA,QAClC,eAAe;AAAA,QACf,cAAc;AAAA,QACd,WAAW;AAAA,QACX,aAAa;AAAA,QACb,aAAa;AAAA,MAAA;AAAA,IACf;AAAA,IAEF,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,aAAa;AAAA,QACb,aAAa;AAAA,MAAA;AAAA,IACf;AAAA,IAEF,QAAQ;AAAA,MACN,IAAI,EAAE,SAAS,MAAA;AAAA,MACf,IAAI,EAAE,SAAS,MAAA;AAAA,MACf,IAAI,EAAE,SAAS,MAAA;AAAA,MACf,IAAI,EAAE,SAAS,MAAA;AAAA,IAAM;AAAA,EACvB;AAAA,EAGF,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,QAAQ;AAAA,EAAA;AAEZ,CAAC,GAaY+K,KAAOD,IC5CdE,KAAczL,GAAO,SAAgB;AAAA,EACzC,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,UAAU;AAAA,EACV,OAAO;AAAA,EACP,OAAO;AAAA,EACP,cAAc;AAAA;AAAA,EAGd,QAAQ;AAAA;AAAA,EAER,YAAY;AAAA,EACZ,YAAY;AAAA,IACV,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,cAAc;AAAA,IACd,eAAe;AAAA,IACf,aAAa;AAAA,EAAA;AAAA,EAGf,YAAY;AAAA,IACV,aAAa;AAAA,IACb,iBAAiB;AAAA,EAAA;AAAA,EAGnB,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI,EAAE,QAAQ,IAAI,UAAU,MAAA;AAAA,MAC5B,IAAI,EAAE,QAAQ,IAAI,UAAU,MAAA;AAAA,MAC5B,IAAI,EAAE,QAAQ,IAAI,UAAU,MAAA;AAAA,IAAM;AAAA,IAEpC,OAAO;AAAA,MACL,MAAM;AAAA,QACJ,aAAa;AAAA,QACb,YAAY;AAAA,UACV,aAAa;AAAA,QAAA;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EAGF,iBAAiB;AAAA,IACf,MAAM;AAAA,EAAA;AAEV,CAAQ,GA8BK0L,KAAQlyC,EAAM,WAA0D,CAAC;AAAA,EACpF,UAAAmyC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAz0C;AAAA,EACA,GAAGgB;AACL,GAAGsK,MAIC,gBAAArL;AAAA,EAACq0C;AAAA,EAAA;AAAA,IACC,KAAAhpC;AAAA,IACC,GALgBtL,MAAU,SAKP,EAAE,OAAAA,EAAA,IAAU,CAAA;AAAA,IAChC,UAAU,CAACH,MAA2C;AACpD,MAAA20C,KAAA,QAAAA,EAAW30C,IACX40C,KAAA,QAAAA,EAAe50C,EAAE,OAAO;AAAA,IAC1B;AAAA,IACC,GAAGmB;AAAA,EAAA;AAAA,CAGT;AAEDuzC,GAAM,cAAc;ACjGb,MAAMG,KAAaryC,EAAM,WAA0D,CAAC;AAAA,EACzF,OAAArC;AAAA,EACA,UAAAw0C;AAAA,EACA,cAAAC;AAAA,EACA,MAAA3yC,IAAO;AAAA,EACP,aAAA6yC;AAAA,EACA,GAAG3zC;AACL,GAAGsK,MAAQ;AACT,QAAM,CAACspC,GAAYC,CAAa,IAAIp1C,GAAS,EAAK,GAC5C,CAACq1C,GAAeC,CAAgB,IAAIt1C,GAAS,EAAK,GAClD,CAACu1C,GAAgBC,CAAiB,IAAIx1C,GAAS,EAAK,GACpDy1C,IAAelpC,GAAuB,IAAI,GAE1CmpC,IAAa,CAACC,MAAe;AACjC,UAAMC,IAAM,CAACC,OAAcA,GAAE,WAAW,SAAS,GAAG,GAAG,GACjDC,IAAOH,EAAK,YAAA,GACZI,IAAKH,EAAID,EAAK,SAAA,IAAa,CAAC,GAC5BK,KAAKJ,EAAID,EAAK,QAAA,CAAS,GACvBM,KAAKL,EAAID,EAAK,SAAA,CAAU,GACxB/mC,IAAMgnC,EAAID,EAAK,WAAA,CAAY,GAC3BO,KAAMN,EAAID,EAAK,WAAA,CAAY;AAEjC,WAAOtzC,MAAS,SACZ,GAAGyzC,CAAI,IAAIC,CAAE,IAAIC,EAAE,KACnB,GAAGF,CAAI,IAAIC,CAAE,IAAIC,EAAE,IAAIC,EAAE,IAAIrnC,CAAG,IAAIsnC,EAAG;AAAA,EAC7C,GAEMC,IAAete,GAAQ,MAAM;AACjC,QAAI,CAACt3B,EAAO,QAAO,oBAAI,KAAA;AACvB,UAAMkuB,IAAI,IAAI,KAAKluB,CAAe;AAClC,WAAO,MAAMkuB,EAAE,QAAA,CAAS,IAAI,oBAAI,SAASA;AAAA,EAC3C,GAAG,CAACluB,CAAK,CAAC,GAEJ,CAAC61C,GAAUC,CAAW,IAAIr2C,GAAS,IAAI,KAAKm2C,CAAY,CAAC;AAE/D,EAAAl2C,GAAU,MAAM;AACd,IAAAo2C,EAAY,IAAI,KAAKF,CAAY,CAAC;AAAA,EACpC,GAAG,CAACA,CAAY,CAAC,GAEjBl2C,GAAU,MAAM;AACd,UAAMq2C,IAAqB,CAACrnC,MAAsB;AAChD,MAAIwmC,EAAa,WAAW,CAACA,EAAa,QAAQ,SAASxmC,EAAM,MAAc,MAC7EmmC,EAAc,EAAK,GACnBE,EAAiB,EAAK,GACtBE,EAAkB,EAAK;AAAA,IAE3B;AACA,oBAAS,iBAAiB,aAAac,CAAkB,GAClD,MAAM,SAAS,oBAAoB,aAAaA,CAAkB;AAAA,EAC3E,GAAG,CAAA,CAAE;AAEL,QAAMC,IAAkB,CAACZ,MAAe;AACtC,UAAMa,IAAYd,EAAWC,CAAI;AACjC,IAAAZ,KAAA,QAAAA,EAAWyB,IACXxB,KAAA,QAAAA,EAAewB;AAAA,EACjB,GAEMC,IAAiB,CAACC,MAAgB;AACtC,UAAMC,IAAU,IAAI,KAAKP,CAAQ;AACjC,IAAAO,EAAQ,QAAQD,CAAG,GACnBC,EAAQ,SAASR,EAAa,UAAU,GACxCQ,EAAQ,WAAWR,EAAa,YAAY,GAC5CQ,EAAQ,WAAWR,EAAa,YAAY,GAC5CI,EAAgBI,CAAO,GACnBt0C,MAAS,UAAQ+yC,EAAc,EAAK;AAAA,EAC1C,GAEMwB,IAAmB,CAACC,GAAoBC,GAAsBC,IAAuB,MAAM;AAC/F,UAAMJ,IAAU,IAAI,KAAKR,CAAY;AACrC,IAAAQ,EAAQ,SAASA,EAAQ,SAAA,IAAaE,CAAU,GAChDF,EAAQ,WAAWA,EAAQ,WAAA,IAAeG,CAAY,GACtDH,EAAQ,WAAWA,EAAQ,WAAA,IAAeI,CAAY,GACtDR,EAAgBI,CAAO;AAAA,EACzB,GAEMK,IAAa,MAAM;AACvB,UAAML,IAAU,IAAI,KAAKR,CAAY,GAC/BvnB,IAAI+nB,EAAQ,SAAA;AAClB,IAAAA,EAAQ,SAAS/nB,KAAK,KAAKA,IAAI,KAAKA,IAAI,EAAE,GAC1C2nB,EAAgBI,CAAO;AAAA,EACzB,GAEMM,IAAS,MAAM;AACnB,UAAMC,wBAAU,KAAA;AAChB,IAAAX,EAAgBW,CAAG,GACnBb,EAAY,IAAI,KAAKa,CAAG,CAAC,GACrB70C,MAAS,UAAQ+yC,EAAc,EAAK;AAAA,EAC1C,GAEM+B,IAAc,CAACC,GAAeC,MAAiB,IAAI,KAAKA,GAAMD,IAAQ,GAAG,CAAC,EAAE,QAAA,GAC5EE,IAAkB,CAACF,GAAeC,MAAiB,IAAI,KAAKA,GAAMD,GAAO,CAAC,EAAE,OAAA,GAE5EG,IAAO1f,GAAQ,MAAM;AACzB,UAAM2b,IAAQ2D,EAAYf,EAAS,YAAYA,EAAS,aAAa,GAC/Dl7B,IAASo8B,EAAgBlB,EAAS,YAAYA,EAAS,aAAa,GACpE9+B,IAAS,CAAA;AACf,aAAS1P,IAAI,GAAGA,IAAIsT,GAAQtT,IAAK,CAAA0P,EAAO,KAAK,IAAI;AACjD,aAAS1P,IAAI,GAAGA,KAAK4rC,GAAO5rC,IAAK,CAAA0P,EAAO,KAAK1P,CAAC;AAC9C,WAAO0P;AAAA,EACT,GAAG,CAAC8+B,CAAQ,CAAC,GAEPoB,IAAa,CAAC,WAAW,YAAY,SAAS,SAAS,OAAO,QAAQ,QAAQ,UAAU,aAAa,WAAW,YAAY,UAAU;AAE5I,SACE,gBAAA32C;AAAA,IAACizC;AAAA,IAAA;AAAA,MACC,KAAK2B;AAAA,MACL,UAAS;AAAA,MACT,OAAM;AAAA,MAEN,UAAA;AAAA,QAAA,gBAAA50C,GAAC+yC,IAAA,EAAO,YAAW,UAAS,UAAS,YACnC,UAAA;AAAA,UAAA,gBAAApzC;AAAA,YAACs0C;AAAA,YAAA;AAAA,cACC,KAAAjpC;AAAA,cACA,OAAAtL;AAAA,cACA,UAAQ;AAAA,cACR,WAAW,MAAM60C,EAAc,CAACD,CAAU;AAAA,cAC1C,aAAaD,MAAgB7yC,MAAS,SAAS,mBAAmB;AAAA,cAClE,cAAc;AAAA,cACb,GAAGd;AAAA,YAAA;AAAA,UAAA;AAAA,UAEN,gBAAAf;AAAA,YAACozC;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,OAAO;AAAA,cACP,eAAc;AAAA,cACd,SAAS;AAAA,cAET,UAAA,gBAAA/yC,GAAC,SAAI,SAAQ,aAAY,OAAM,MAAK,QAAO,MAAK,MAAK,QAAO,QAAO,gBAAe,aAAY,KAAI,eAAc,SAAQ,gBAAe,SAAQ,OAAO,EAAE,OAAO,iBAAA,GAC7J,UAAA;AAAA,gBAAA,gBAAAL,EAAC,QAAA,EAAK,GAAE,KAAI,GAAE,KAAI,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,IAAG,KAAI;AAAA,gBACvD,gBAAAA,EAAC,UAAK,IAAG,MAAK,IAAG,KAAI,IAAG,MAAK,IAAG,IAAA,CAAI;AAAA,gBACpC,gBAAAA,EAAC,UAAK,IAAG,KAAI,IAAG,KAAI,IAAG,KAAI,IAAG,IAAA,CAAI;AAAA,gBAClC,gBAAAA,EAAC,UAAK,IAAG,KAAI,IAAG,MAAK,IAAG,MAAK,IAAG,KAAA,CAAK;AAAA,cAAA,EAAA,CACvC;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,GACF;AAAA,QAEC20C,KACC,gBAAAt0C;AAAA,UAAC+zC;AAAA,UAAA;AAAA,YACC,UAAQ;AAAA,YACR,UAAS;AAAA,YACT,KAAI;AAAA,YACJ,MAAM;AAAA,YACN,WAAU;AAAA,YACV,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,SAAQ;AAAA,YACR,iBAAgB;AAAA,YAChB,aAAY;AAAA,YACZ,aAAa;AAAA,YAGb,UAAA;AAAA,cAAA,gBAAA/zC,GAAC+yC,MAAO,gBAAe,iBAAgB,YAAW,UAAS,cAAa,MACtE,UAAA;AAAA,gBAAA,gBAAApzC;AAAA,kBAACg0C;AAAA,kBAAA;AAAA,oBACG,MAAK;AAAA,oBACL,cAAc;AAAA,oBACd,OAAO;AAAA,oBACP,QAAQ;AAAA,oBACR,SAAS;AAAA,oBACT,SAAS,MAAM6B,EAAY,IAAI,KAAKD,EAAS,SAASA,EAAS,SAAA,IAAa,CAAC,CAAC,CAAC;AAAA,oBAEjF,UAAA,gBAAA51C,EAAC0zC,MAAM,UAAU,IAAI,UAAS,YAAW,MAAM,IAAI,UAAA,IAAA,CAAI;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGzD,gBAAArzC,GAAC+yC,IAAA,EAAO,YAAW,UAAS,QAAO,WAC/B,UAAA;AAAA,kBAAA,gBAAApzC,EAACszC,MAAO,eAAe,MAAM0B,EAAkB,EAAI,GAC9C,UAAAD,IACG,gBAAA/0C;AAAA,oBAACs0C;AAAA,oBAAA;AAAA,sBACG,MAAK;AAAA,sBACL,WAAS;AAAA,sBACT,OAAO;AAAA,sBACP,WAAU;AAAA,sBACV,mBAAmB;AAAA,sBACnB,cAAcsB,EAAS,SAAA,IAAa;AAAA,sBACpC,WAAW,CAACh2C,MAAWA,EAAE,QAAQ,WAAWA,EAAE,cAAc,KAAA;AAAA,sBAC5D,QAAQ,CAACA,MAA0C;AAC/C,8BAAM2F,IAAI,SAAS3F,EAAE,OAAO,KAAK;AACjC,wBAAI,CAAC,MAAM2F,CAAC,KAAKA,IAAI,KAAKA,KAAK,MAAIswC,EAAY,IAAI,KAAKD,EAAS,SAASrwC,IAAI,CAAC,CAAC,CAAC,GACjFyvC,EAAkB,EAAK;AAAA,sBAC3B;AAAA,oBAAA;AAAA,kBAAA,IAGJ,gBAAAh1C,EAAC0zC,IAAA,EAAM,UAAU,IAAI,YAAW,OAAM,OAAM,YAAY,UAAAsD,EAAWpB,EAAS,SAAA,CAAU,GAAE,GAEhG;AAAA,kBAEA,gBAAA51C,EAACqpC,IAAA,EAAK,OAAO,GAAA,CAAI;AAAA,oCAEhBiK,IAAA,EAAO,eAAe,MAAMwB,EAAiB,EAAI,GAC7C,UAAAD,IACG,gBAAA70C;AAAA,oBAACs0C;AAAA,oBAAA;AAAA,sBACG,MAAK;AAAA,sBACL,WAAS;AAAA,sBACT,OAAO;AAAA,sBACP,WAAU;AAAA,sBACV,mBAAmB;AAAA,sBACnB,cAAcsB,EAAS,YAAA,EAAc,SAAA;AAAA,sBACrC,WAAW,CAACh2C,MAAWA,EAAE,QAAQ,WAAWA,EAAE,cAAc,KAAA;AAAA,sBAC5D,QAAQ,CAACA,MAA0C;AAC/C,8BAAM8tC,IAAI,SAAS9tC,EAAE,OAAO,KAAK;AACjC,wBAAK,MAAM8tC,CAAC,KAAGmI,EAAY,IAAI,KAAKD,EAAS,YAAYlI,CAAC,CAAC,CAAC,GAC5DoH,EAAiB,EAAK;AAAA,sBAC1B;AAAA,oBAAA;AAAA,kBAAA,IAGJ,gBAAA90C,EAAC0zC,IAAA,EAAM,YAAW,OAAM,OAAM,YAAY,UAAAkC,EAAS,YAAA,EAAY,CAAE,EAAA,CAEzE;AAAA,gBAAA,GACJ;AAAA,gBAEA,gBAAA51C;AAAA,kBAACg0C;AAAA,kBAAA;AAAA,oBACG,MAAK;AAAA,oBACL,cAAc;AAAA,oBACd,OAAO;AAAA,oBACP,QAAQ;AAAA,oBACR,SAAS;AAAA,oBACT,SAAS,MAAM6B,EAAY,IAAI,KAAKD,EAAS,SAASA,EAAS,SAAA,IAAa,CAAC,CAAC,CAAC;AAAA,oBAEjF,UAAA,gBAAA51C,EAAC0zC,MAAM,UAAU,IAAI,UAAS,YAAW,MAAM,GAAG,UAAA,IAAA,CAAI;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACxD,GACF;AAAA,iCAGCN,IAAA,EAAO,UAAS,QAAO,KAAK,GAAG,cAAa,MAC3C,UAAA;AAAA,gBAAA,gBAAApzC,EAACozC,IAAA,EAAO,OAAM,QAAO,gBAAe,gBACnC,UAAA,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,EAAE,IAAI,CAAAnlB,MAC9C,gBAAAjuB,EAACkzC,IAAA,EAAe,OAAO,IAAI,YAAW,UACpC,UAAA,gBAAAlzC,EAAC0zC,MAAM,UAAU,IAAI,OAAM,SAAQ,YAAW,OAAO,UAAAzlB,EAAA,CAAE,EAAA,GAD5CA,CAEb,CACD,GACD;AAAA,gBACC8oB,EAAK,IAAI,CAACb,GAAK9W,MAAQ;AACtB,wBAAM6X,IAAaf,MAAQP,EAAa,QAAA,KACtBC,EAAS,SAAA,MAAeD,EAAa,cACrCC,EAAS,YAAA,MAAkBD,EAAa,YAAA;AAC1D,yBACE,gBAAA31C;AAAA,oBAACkzC;AAAA,oBAAA;AAAA,sBAEC,OAAO;AAAA,sBACP,QAAQ;AAAA,sBACR,YAAW;AAAA,sBACX,gBAAe;AAAA,sBACf,cAAa;AAAA,sBACb,QAAQgD,IAAM,YAAY;AAAA,sBAC1B,iBAAiBe,IAAa,aAAa;AAAA,sBAC3C,YAAYf,IAAM,EAAE,iBAAiBe,IAAa,aAAa,mBAAA,IAAuB,CAAA;AAAA,sBACtF,SAAS,MAAMf,KAAOD,EAAeC,CAAG;AAAA,sBAExC,UAAA,gBAAAl2C,EAAC0zC,IAAA,EAAM,OAAOuD,IAAa,SAAS,UAAU,UAAU,IAAI,YAAYA,IAAa,QAAQ,OAC1F,eAAO,GAAA,CACV;AAAA,oBAAA;AAAA,oBAbK7X;AAAA,kBAAA;AAAA,gBAgBX,CAAC;AAAA,cAAA,GACH;AAAA,cAGCv9B,MAAS,oBACR,gBAAAxB,GAACizC,IAAA,EAAO,WAAU,MAAK,YAAW,MAAK,gBAAgB,GAAG,aAAY,gBAAe,KAAI,MACvF,UAAA;AAAA,gBAAA,gBAAAjzC,GAAC+yC,IAAA,EAAO,gBAAe,gBAAe,YAAW,UAE/C,UAAA;AAAA,kBAAA,gBAAA/yC,GAACizC,IAAA,EAAO,YAAW,UAAS,KAAI,MAC5B,UAAA;AAAA,oBAAA,gBAAAtzC,EAACg0C,MAAO,MAAK,MAAK,SAAQ,SAAQ,SAAS,GAAG,SAAS,MAAMoC,EAAiB,GAAG,GAAG,CAAC,GACjF,UAAA,gBAAAp2C,EAAC0zC,MAAM,UAAU,IAAI,eAAC,EAAA,CAC1B;AAAA,oBACA,gBAAA1zC;AAAA,sBAACs0C;AAAA,sBAAA;AAAA,wBACG,MAAK;AAAA,wBACL,OAAO;AAAA,wBACP,WAAU;AAAA,wBACV,mBAAmB;AAAA,wBACnB,WAAW,CAAC10C,MAAWA,EAAE,QAAQ,WAAWA,EAAE,cAAc,KAAA;AAAA,wBAC5D,QAAQ+1C,EAAa,SAAA,IAAa,MAAM,IAAI,SAAA;AAAA,wBAC5C,cAAc,CAACp0C,MAAgB;AAC3B,8BAAI6sB,IAAI,SAAS7sB,CAAG;AACpB,8BAAI,CAAC,MAAM6sB,CAAC,GAAG;AACX,4BAAIA,MAAM,OAAIA,IAAI;AAClB,kCAAM+nB,IAAU,IAAI,KAAKR,CAAY,GAC/BuB,IAAOf,EAAQ,SAAA,KAAc;AACnC,4BAAAA,EAAQ,SAASe,IAAO9oB,IAAI,KAAKA,CAAC,GAClC2nB,EAAgBI,CAAO;AAAA,0BAC3B;AAAA,wBACJ;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAEJ,gBAAAn2C,EAACg0C,MAAO,MAAK,MAAK,SAAQ,SAAQ,SAAS,GAAG,SAAS,MAAMoC,EAAiB,IAAI,GAAG,CAAC,GAClF,UAAA,gBAAAp2C,EAAC0zC,MAAM,UAAU,IAAI,eAAC,EAAA,CAC1B;AAAA,kBAAA,GACJ;AAAA,kBAEA,gBAAA1zC,EAAC0zC,IAAA,EAAM,UAAU,IAAI,OAAM,SAAQ,WAAW,IAAI,UAAS,YAAW,KAAK,IAAI,UAAA,KAAC;AAAA,kBAGhF,gBAAArzC,GAACizC,IAAA,EAAO,YAAW,UAAS,KAAI,MAC5B,UAAA;AAAA,oBAAA,gBAAAtzC,EAACg0C,MAAO,MAAK,MAAK,SAAQ,SAAQ,SAAS,GAAG,SAAS,MAAMoC,EAAiB,GAAG,GAAG,CAAC,GACjF,UAAA,gBAAAp2C,EAAC0zC,MAAM,UAAU,IAAI,eAAC,EAAA,CAC1B;AAAA,oBACA,gBAAA1zC;AAAA,sBAACs0C;AAAA,sBAAA;AAAA,wBACG,MAAK;AAAA,wBACL,OAAO;AAAA,wBACP,WAAU;AAAA,wBACV,mBAAmB;AAAA,wBACnB,WAAW,CAAC10C,MAAWA,EAAE,QAAQ,WAAWA,EAAE,cAAc,KAAA;AAAA,wBAC5D,OAAO+1C,EAAa,WAAA,EAAa,WAAW,SAAS,GAAG,GAAG;AAAA,wBAC3D,cAAc,CAACp0C,MAAgB;AAC3B,gCAAMgE,IAAI,SAAShE,CAAG;AACtB,8BAAI,CAAC,MAAMgE,CAAC,KAAKA,KAAK,KAAKA,IAAI,IAAI;AAC/B,kCAAM4wC,IAAU,IAAI,KAAKR,CAAY;AACrC,4BAAAQ,EAAQ,WAAW5wC,CAAC,GACpBwwC,EAAgBI,CAAO;AAAA,0BAC3B;AAAA,wBACJ;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAEJ,gBAAAn2C,EAACg0C,MAAO,MAAK,MAAK,SAAQ,SAAQ,SAAS,GAAG,SAAS,MAAMoC,EAAiB,GAAG,IAAI,CAAC,GAClF,UAAA,gBAAAp2C,EAAC0zC,MAAM,UAAU,IAAI,eAAC,EAAA,CAC1B;AAAA,kBAAA,GACJ;AAAA,kBAEA,gBAAA1zC,EAAC0zC,IAAA,EAAM,UAAU,IAAI,OAAM,SAAQ,WAAW,IAAI,UAAS,YAAW,KAAK,IAAI,UAAA,KAAC;AAAA,kBAGhF,gBAAArzC,GAACizC,IAAA,EAAO,YAAW,UAAS,KAAI,MAC5B,UAAA;AAAA,oBAAA,gBAAAtzC,EAACg0C,MAAO,MAAK,MAAK,SAAQ,SAAQ,SAAS,GAAG,SAAS,MAAMoC,EAAiB,GAAG,GAAG,EAAE,GAClF,UAAA,gBAAAp2C,EAAC0zC,MAAM,UAAU,IAAI,eAAC,EAAA,CAC1B;AAAA,oBACA,gBAAA1zC;AAAA,sBAACs0C;AAAA,sBAAA;AAAA,wBACG,MAAK;AAAA,wBACL,OAAO;AAAA,wBACP,WAAU;AAAA,wBACV,mBAAmB;AAAA,wBACnB,WAAW,CAAC10C,MAAWA,EAAE,QAAQ,WAAWA,EAAE,cAAc,KAAA;AAAA,wBAC5D,OAAO+1C,EAAa,WAAA,EAAa,WAAW,SAAS,GAAG,GAAG;AAAA,wBAC3D,cAAc,CAACp0C,MAAgB;AAC3B,gCAAMm/B,IAAI,SAASn/B,CAAG;AACtB,8BAAI,CAAC,MAAMm/B,CAAC,KAAKA,KAAK,KAAKA,IAAI,IAAI;AAC/B,kCAAMyV,IAAU,IAAI,KAAKR,CAAY;AACrC,4BAAAQ,EAAQ,WAAWzV,CAAC,GACpBqV,EAAgBI,CAAO;AAAA,0BAC3B;AAAA,wBACJ;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAEJ,gBAAAn2C,EAACg0C,MAAO,MAAK,MAAK,SAAQ,SAAQ,SAAS,GAAG,SAAS,MAAMoC,EAAiB,GAAG,GAAG,GAAG,GACnF,UAAA,gBAAAp2C,EAAC0zC,MAAM,UAAU,IAAI,eAAC,EAAA,CAC1B;AAAA,kBAAA,GACJ;AAAA,kBAGA,gBAAA1zC,EAACszC,MAAO,gBAAe,UAAS,WAAW,IAAI,UAAS,YAAW,KAAK,IACpE,UAAA,gBAAAtzC;AAAA,oBAACg0C;AAAA,oBAAA;AAAA,sBACG,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACR,mBAAkB;AAAA,sBAClB,SAASwC;AAAA,sBACT,cAAa;AAAA,sBACb,UAAU;AAAA,sBACV,iBAAgB;AAAA,sBAEhB,UAAA,gBAAAx2C,EAAC0zC,IAAA,EAAM,UAAU,IAAI,YAAW,OAAM,OAAM,QAAQ,UAAAiC,EAAa,SAAA,KAAc,KAAK,OAAO,KAAA,CAAK;AAAA,oBAAA;AAAA,kBAAA,EACpG,CACJ;AAAA,gBAAA,GACF;AAAA,gBAEA,gBAAAt1C,GAAC+yC,IAAA,EAAO,WAAU,MAChB,UAAA;AAAA,kBAAA,gBAAApzC;AAAA,oBAACg0C;AAAA,oBAAA;AAAA,sBACG,SAAQ;AAAA,sBACR,MAAK;AAAA,sBACL,SAASyC;AAAA,sBACT,MAAM;AAAA,sBACT,UAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAID,gBAAAz2C,EAACqpC,IAAA,EAAK,OAAO,EAAA,CAAG;AAAA,kBAEhB,gBAAArpC;AAAA,oBAACg0C;AAAA,oBAAA;AAAA,sBACG,SAAQ;AAAA,sBACR,MAAK;AAAA,sBACL,SAAS,MAAMY,EAAc,EAAK;AAAA,sBAClC,MAAM;AAAA,sBACT,UAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAED,EAAA,CACF;AAAA,cAAA,EAAA,CACF;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAEJ;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;AAEDH,GAAW,cAAc;ACnYzB,MAAM0C,KAAevO,GAAO,UAAiB;AAAA,EAC3C,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,OAAO;AAAA,EACP,aAAa;AAAA,EACb,cAAc;AAAA;AAAA,EACd,UAAU;AAAA,EACV,OAAO;AAAA,EACP,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,QAAQ;AAAA,EAER,YAAY;AAAA,IACV,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,cAAc;AAAA,EAAA;AAAA,EAGhB,YAAY;AAAA,IACV,aAAa;AAAA,IACb,iBAAiB;AAAA,EAAA;AAAA,EAGnB,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI,EAAE,QAAQ,IAAI,UAAU,MAAA;AAAA,MAC5B,IAAI,EAAE,QAAQ,IAAI,UAAU,MAAA;AAAA,MAC5B,IAAI,EAAE,QAAQ,IAAI,UAAU,MAAA;AAAA,IAAM;AAAA,IAEpC,OAAO;AAAA,MACL,MAAM;AAAA,QACJ,aAAa;AAAA,QACb,YAAY;AAAA,UACV,aAAa;AAAA,QAAA;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EAGF,iBAAiB;AAAA,IACf,MAAM;AAAA,EAAA;AAEV,CAAQ,GAqBKwO,KAASh1C,EAAM,WAA4D,CAAC;AAAA,EACvF,OAAAi1C;AAAA,EACA,MAAApD,IAAO;AAAA,EACP,OAAAl0C;AAAA,EACA,UAAAw0C;AAAA,EACA,eAAA+C;AAAA,EACA,SAAAta;AAAA,EACA,aAAA0X;AAAA,EACA,UAAA1xB;AAAA,EACA,MAAAxc;AAAA,EACA,GAAG+wC;AACL,GAAGlsC,MAAQ;AACT,QAAMmsC,IAAez3C,MAAU;AAE/B,SACE,gBAAAM;AAAA,IAACizC;AAAA,IAAA;AAAA,MACC,UAAS;AAAA,MACT,OAAOiE,EAAW,SAAS;AAAA,MAC3B,UAAUA,EAAW;AAAA,MACrB,eAAc;AAAA,MAEd,UAAA;AAAA,QAAA,gBAAAl3C;AAAA,UAAC82C;AAAA,UAAA;AAAA,YACC,KAAA9rC;AAAA,YACC,GAAImsC,IAAe,EAAE,OAAAz3C,EAAA,IAAU,CAAA;AAAA,YAChC,OAAAs3C;AAAA,YACA,MAAApD;AAAA,YACA,UAAU,CAACr0C,MAA4C;AACrD,cAAA20C,KAAA,QAAAA,EAAW30C,IACX03C,KAAA,QAAAA,EAAgB13C,EAAE,OAAO;AAAA,YAC3B;AAAA,YACA,UAAAojB;AAAA,YACA,MAAAxc;AAAA,YACC,GAAG+wC;AAAA,YAEH,UAAA;AAAA,cAAA7C,KAAe,gBAAA10C,EAAC,UAAA,EAAO,OAAM,IAAI,UAAA00C,GAAY;AAAA,cAC7C1X,EAAQ,IAAI,CAACya,MACZ,gBAAAz3C,EAAC,UAAA,EAAuB,OAAOy3C,EAAI,OAChC,UAAAA,EAAI,MAAA,GADMA,EAAI,KAEjB,CACD;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAIH,gBAAAz3C;AAAA,UAACszC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAO;AAAA,YACP,KAAI;AAAA,YACJ,WAAW;AAAA,YACX,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,iBAAiB;AAAA,YACjB,iBAAgB;AAAA,YAChB,kBAAkB;AAAA,YAClB,kBAAiB;AAAA,YACjB,gBAAgB;AAAA,YAChB,gBAAe;AAAA,YACf,eAAc;AAAA,YACd,SAAS;AAAA,UAAA;AAAA,QAAA;AAAA,MACX;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;AAED8D,GAAO,cAAc;ACxHrB,MAAMM,KAAsD;AAAA,EAC1D,SAAS,EAAE,YAAY,iCAAA;AAAA,EACvB,OAAO,EAAE,YAAY,+BAAA;AAAA,EACrB,SAAS,EAAE,YAAY,iCAAA;AAAA,EACvB,MAAM,EAAE,YAAY,iCAAA;AACtB,GAEMC,KAAwC;AAAA,EAC5C,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AACR;AASO,SAASC,GAAM;AAAA,EACpB,SAAAliC;AAAA,EACA,SAAAmP,IAAU;AAAA,EACV,UAAAgzB,IAAW;AAAA,EACX,WAAAC;AACF,GAAmC;AACjC,SAAAr4C,GAAU,MAAM;AACd,QAAIo4C,IAAW,KAAKC,GAAW;AAC7B,YAAMC,IAAQ,WAAWD,GAAWD,CAAQ;AAC5C,aAAO,MAAM,aAAaE,CAAK;AAAA,IACjC;AAAA,EAEF,GAAG,CAACF,GAAUC,CAAS,CAAC,GAGtB,gBAAA93C;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,eAAe6kB,CAAO;AAAA,MACjC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,eAAY;AAAA,MACZ,OAAO6yB,GAAe7yB,CAAO;AAAA,MAE7B,UAAA,gBAAAxkB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAO;AAAA,YACL,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,KAAK;AAAA,UAAA;AAAA,UAGP,UAAA;AAAA,YAAA,gBAAAL,EAAC,QAAA,EAAK,eAAY,QAAO,OAAO,EAAE,YAAY,IAAA,GAC3C,UAAA23C,GAAc9yB,CAAO,EAAA,CACxB;AAAA,YACA,gBAAA7kB,EAAC,UAAM,UAAA0V,EAAA,CAAQ;AAAA,YACdoiC,KACC,gBAAA93C;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,SAAS83C;AAAA,gBACT,cAAW;AAAA,gBACX,OAAO;AAAA,kBACL,YAAY;AAAA,kBACZ,YAAY;AAAA,kBACZ,QAAQ;AAAA,kBACR,QAAQ;AAAA,kBACR,OAAO;AAAA,kBACP,UAAU;AAAA,kBACV,SAAS;AAAA,gBAAA;AAAA,gBAEZ,UAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAED;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGN;AAiBO,SAASE,GAAe;AAAA,EAC7B,QAAAC;AAAA,EACA,WAAAH;AACF,GAA4C;AAC1C,SACE,gBAAA93C;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAW;AAAA,MACX,OAAO;AAAA,QACL,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,eAAe;AAAA,QACf,KAAK;AAAA,QACL,eAAe;AAAA,MAAA;AAAA,MAGhB,UAAAi4C,EAAO,IAAI,CAACC,MACX,gBAAAl4C,EAAC,SAAmB,OAAO,EAAE,eAAe,OAAA,GAC1C,UAAA,gBAAAA,EAAC43C,MAAO,GAAGM,GAAO,WAAW,MAAMJ,EAAUI,EAAM,EAAE,EAAA,CAAG,KADhDA,EAAM,EAEhB,CACD;AAAA,IAAA;AAAA,EAAA;AAGP;","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97]}