@react-querybuilder/antd 6.0.0-alpha.0 → 6.0.0-alpha.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/react/jsx-runtime.js","../src/AntDActionElement.tsx","../src/AntDDragHandle.tsx","../src/AntDNotToggle.tsx","../../../node_modules/classnames/index.js","../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../../node_modules/antd/node_modules/rc-util/es/omit.js","../../../node_modules/antd/node_modules/rc-util/es/warning.js","../../../node_modules/antd/es/_util/warning.js","../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/antd/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/antd/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/antd/node_modules/react-is/index.js","../../../node_modules/antd/node_modules/rc-util/es/ref.js","../../../node_modules/antd/node_modules/rc-util/es/Dom/isVisible.js","../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../node_modules/@ant-design/cssinjs/node_modules/@emotion/hash/dist/hash.browser.esm.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../node_modules/@ant-design/cssinjs/node_modules/rc-util/es/warning.js","../../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../node_modules/@babel/runtime/helpers/esm/createClass.js","../../../node_modules/@ant-design/cssinjs/es/Cache.js","../../../node_modules/@ant-design/cssinjs/es/StyleContext.js","../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../node_modules/@ant-design/cssinjs/es/hooks/useHMR.js","../../../node_modules/@ant-design/cssinjs/es/hooks/useGlobalCache.js","../../../node_modules/@ant-design/cssinjs/node_modules/rc-util/es/Dom/canUseDom.js","../../../node_modules/@ant-design/cssinjs/node_modules/rc-util/es/Dom/contains.js","../../../node_modules/@ant-design/cssinjs/node_modules/rc-util/es/Dom/dynamicCSS.js","../../../node_modules/@ant-design/cssinjs/es/util.js","../../../node_modules/@ant-design/cssinjs/es/hooks/useCacheToken.js","../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../../../node_modules/@ant-design/cssinjs/node_modules/stylis/src/Enum.js","../../../node_modules/@ant-design/cssinjs/node_modules/stylis/src/Utility.js","../../../node_modules/@ant-design/cssinjs/node_modules/stylis/src/Tokenizer.js","../../../node_modules/@ant-design/cssinjs/node_modules/stylis/src/Parser.js","../../../node_modules/@ant-design/cssinjs/node_modules/stylis/src/Serializer.js","../../../node_modules/@ant-design/cssinjs/es/linters/utils.js","../../../node_modules/@ant-design/cssinjs/es/linters/contentQuotesLinter.js","../../../node_modules/@ant-design/cssinjs/es/linters/hashedAnimationLinter.js","../../../node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister.js","../../../node_modules/@ant-design/cssinjs/es/Keyframes.js","../../../node_modules/@ant-design/cssinjs/es/theme/ThemeCache.js","../../../node_modules/@ant-design/cssinjs/es/theme/Theme.js","../../../node_modules/@ant-design/cssinjs/es/theme/createTheme.js","../../../node_modules/@ant-design/cssinjs/es/transformers/legacyLogicalProperties.js","../../../node_modules/antd/node_modules/@ant-design/icons/es/components/Context.js","../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/esm/inherits.js","../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../node_modules/@babel/runtime/helpers/esm/createSuper.js","../../../node_modules/rc-util/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/rc-util/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/rc-util/node_modules/react-is/index.js","../../../node_modules/rc-util/es/Children/toArray.js","../../../node_modules/rc-util/es/warning.js","../../../node_modules/rc-field-form/es/FieldContext.js","../../../node_modules/rc-field-form/es/utils/typeUtil.js","../../../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../../node_modules/async-validator/dist-web/index.js","../../../node_modules/rc-field-form/es/utils/messages.js","../../../node_modules/rc-util/es/utils/get.js","../../../node_modules/@babel/runtime/helpers/esm/toArray.js","../../../node_modules/rc-util/es/utils/set.js","../../../node_modules/rc-field-form/es/utils/cloneDeep.js","../../../node_modules/rc-field-form/es/utils/valueUtil.js","../../../node_modules/rc-field-form/es/utils/validateUtil.js","../../../node_modules/rc-field-form/es/Field.js","../../../node_modules/rc-field-form/es/ListContext.js","../../../node_modules/rc-field-form/es/List.js","../../../node_modules/rc-field-form/es/utils/asyncUtil.js","../../../node_modules/rc-field-form/es/utils/NameMap.js","../../../node_modules/rc-field-form/es/useForm.js","../../../node_modules/rc-field-form/es/FormContext.js","../../../node_modules/rc-field-form/es/Form.js","../../../node_modules/rc-field-form/es/useWatch.js","../../../node_modules/rc-field-form/es/index.js","../../../node_modules/rc-pagination/es/locale/en_US.js","../../../node_modules/antd/node_modules/rc-picker/es/locale/en_US.js","../../../node_modules/antd/es/time-picker/locale/en_US.js","../../../node_modules/antd/es/date-picker/locale/en_US.js","../../../node_modules/antd/es/locale/en_US.js","../../../node_modules/antd/es/locale/context.js","../../../node_modules/antd/es/locale/LocaleReceiver.js","../../../node_modules/antd/es/version/version.js","../../../node_modules/@ctrl/tinycolor/dist/module/util.js","../../../node_modules/@ctrl/tinycolor/dist/module/conversion.js","../../../node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","../../../node_modules/@ctrl/tinycolor/dist/module/format-input.js","../../../node_modules/@ctrl/tinycolor/dist/module/index.js","../../../node_modules/@ant-design/colors/es/generate.js","../../../node_modules/@ant-design/colors/es/index.js","../../../node_modules/antd/es/theme/themes/shared/genControlHeight.js","../../../node_modules/antd/es/theme/themes/shared/genSizeMapToken.js","../../../node_modules/antd/es/theme/themes/seed.js","../../../node_modules/antd/es/theme/themes/shared/genColorMapToken.js","../../../node_modules/antd/es/theme/themes/shared/genRadius.js","../../../node_modules/antd/es/theme/themes/shared/genCommonMapToken.js","../../../node_modules/antd/es/theme/themes/default/colorAlgorithm.js","../../../node_modules/antd/es/theme/themes/default/colors.js","../../../node_modules/antd/es/theme/themes/shared/genFontSizes.js","../../../node_modules/antd/es/theme/themes/shared/genFontMapToken.js","../../../node_modules/antd/es/theme/themes/default/index.js","../../../node_modules/antd/es/theme/util/getAlphaColor.js","../../../node_modules/antd/es/theme/util/alias.js","../../../node_modules/antd/es/style/roundedArrow.js","../../../node_modules/antd/es/style/index.js","../../../node_modules/antd/es/config-provider/context.js","../../../node_modules/antd/es/theme/util/genComponentStyleHook.js","../../../node_modules/antd/es/theme/util/statistic.js","../../../node_modules/antd/es/theme/internal.js","../../../node_modules/antd/es/config-provider/DisabledContext.js","../../../node_modules/antd/es/config-provider/SizeContext.js","../../../node_modules/antd/es/config-provider/index.js","../../../node_modules/antd/es/_util/reactNode.js","../../../node_modules/antd/es/_util/wave/style.js","../../../node_modules/antd/node_modules/rc-motion/node_modules/rc-util/es/Dom/findDOMNode.js","../../../node_modules/antd/node_modules/rc-motion/node_modules/rc-util/es/ref.js","../../../node_modules/antd/node_modules/rc-motion/node_modules/rc-util/es/Dom/canUseDom.js","../../../node_modules/antd/node_modules/rc-motion/es/util/motion.js","../../../node_modules/antd/node_modules/rc-motion/es/interface.js","../../../node_modules/antd/node_modules/rc-motion/node_modules/rc-util/es/hooks/useState.js","../../../node_modules/antd/node_modules/rc-motion/node_modules/rc-util/es/raf.js","../../../node_modules/antd/node_modules/rc-motion/es/hooks/useNextFrame.js","../../../node_modules/antd/node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","../../../node_modules/antd/node_modules/rc-motion/es/hooks/useStepQueue.js","../../../node_modules/antd/node_modules/rc-motion/es/hooks/useDomMotionEvents.js","../../../node_modules/antd/node_modules/rc-motion/es/hooks/useStatus.js","../../../node_modules/antd/node_modules/rc-motion/es/DomWrapper.js","../../../node_modules/antd/node_modules/rc-motion/es/CSSMotion.js","../../../node_modules/antd/node_modules/rc-util/es/raf.js","../../../node_modules/antd/node_modules/rc-util/es/React/render.js","../../../node_modules/antd/es/_util/wave/util.js","../../../node_modules/antd/es/_util/wave/WaveEffect.js","../../../node_modules/antd/es/_util/wave/useWave.js","../../../node_modules/antd/es/_util/wave/index.js","../../../node_modules/antd/es/space/Compact.js","../../../node_modules/antd/es/button/button-group.js","../../../node_modules/antd/es/button/buttonHelpers.js","../../../node_modules/@ant-design/icons-svg/es/asn/LoadingOutlined.js","../../../node_modules/antd/node_modules/@ant-design/icons/node_modules/rc-util/es/warning.js","../../../node_modules/antd/node_modules/@ant-design/icons/node_modules/rc-util/es/Dom/canUseDom.js","../../../node_modules/antd/node_modules/@ant-design/icons/node_modules/rc-util/es/Dom/dynamicCSS.js","../../../node_modules/antd/node_modules/@ant-design/icons/es/utils.js","../../../node_modules/antd/node_modules/@ant-design/icons/es/components/IconBase.js","../../../node_modules/antd/node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","../../../node_modules/antd/node_modules/@ant-design/icons/es/components/AntdIcon.js","../../../node_modules/antd/node_modules/@ant-design/icons/es/icons/LoadingOutlined.js","../../../node_modules/antd/es/button/LoadingIcon.js","../../../node_modules/antd/es/button/style/group.js","../../../node_modules/antd/es/style/compact-item.js","../../../node_modules/antd/es/style/compact-item-vertical.js","../../../node_modules/antd/es/button/style/index.js","../../../node_modules/antd/es/button/button.js","../../../node_modules/antd/es/date-picker/PickerButton.js","../../../node_modules/@ant-design/icons-svg/es/asn/CalendarOutlined.js","../../../node_modules/antd/node_modules/@ant-design/icons/es/icons/CalendarOutlined.js","../../../node_modules/@ant-design/icons-svg/es/asn/ClockCircleOutlined.js","../../../node_modules/antd/node_modules/@ant-design/icons/es/icons/ClockCircleOutlined.js","../../../node_modules/@ant-design/icons-svg/es/asn/CloseCircleFilled.js","../../../node_modules/antd/node_modules/@ant-design/icons/es/icons/CloseCircleFilled.js","../../../node_modules/@ant-design/icons-svg/es/asn/SwapRightOutlined.js","../../../node_modules/antd/node_modules/@ant-design/icons/es/icons/SwapRightOutlined.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/warning.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/hooks/useEvent.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/Dom/canUseDom.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/hooks/useLayoutEffect.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/hooks/useState.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/hooks/useMergedState.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/KeyCode.js","../../../node_modules/antd/node_modules/rc-picker/es/PanelContext.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/Header.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/DecadePanel/DecadeHeader.js","../../../node_modules/antd/node_modules/rc-picker/es/utils/timeUtil.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/PanelBody.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/DecadePanel/DecadeBody.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/raf.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/Dom/isVisible.js","../../../node_modules/antd/node_modules/rc-picker/es/utils/uiUtil.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/DecadePanel/index.js","../../../node_modules/antd/node_modules/rc-picker/es/utils/dateUtil.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/TimePanel/TimeHeader.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/hooks/useMemo.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/TimePanel/TimeUnitColumn.js","../../../node_modules/antd/node_modules/rc-picker/es/utils/miscUtil.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/TimePanel/TimeBody.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/TimePanel/index.js","../../../node_modules/antd/node_modules/rc-picker/es/RangeContext.js","../../../node_modules/antd/node_modules/rc-picker/es/hooks/useCellClassName.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/DatePanel/DateBody.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/DatePanel/DateHeader.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/DatePanel/index.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/DatetimePanel/index.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/WeekPanel/index.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/MonthPanel/MonthHeader.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/MonthPanel/MonthBody.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/MonthPanel/index.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/QuarterPanel/QuarterHeader.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/QuarterPanel/QuarterBody.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/QuarterPanel/index.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/YearPanel/YearHeader.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/YearPanel/YearBody.js","../../../node_modules/antd/node_modules/rc-picker/es/panels/YearPanel/index.js","../../../node_modules/antd/node_modules/rc-picker/es/utils/getExtraFooter.js","../../../node_modules/antd/node_modules/rc-picker/es/utils/getRanges.js","../../../node_modules/antd/node_modules/rc-picker/es/PickerPanel.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/Dom/contains.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/Dom/findDOMNode.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/ref.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/Dom/addEventListener.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/Portal.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-trigger/es/utils/alignUtil.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-util/es/isMobile.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-motion/es/util/motion.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-motion/es/interface.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-motion/es/hooks/useNextFrame.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-motion/es/hooks/useStepQueue.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-motion/es/hooks/useDomMotionEvents.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-motion/es/hooks/useStatus.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-motion/es/DomWrapper.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-motion/es/CSSMotion.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-trigger/es/utils/legacyUtil.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-trigger/es/Popup/Mask.js","../../../node_modules/rc-util/es/ref.js","../../../node_modules/rc-util/es/Dom/isVisible.js","../../../node_modules/dom-align/dist-web/index.js","../../../node_modules/rc-util/es/Dom/addEventListener.js","../../../node_modules/lodash/_listCacheClear.js","../../../node_modules/lodash/eq.js","../../../node_modules/lodash/_assocIndexOf.js","../../../node_modules/lodash/_listCacheDelete.js","../../../node_modules/lodash/_listCacheGet.js","../../../node_modules/lodash/_listCacheHas.js","../../../node_modules/lodash/_listCacheSet.js","../../../node_modules/lodash/_ListCache.js","../../../node_modules/lodash/_stackClear.js","../../../node_modules/lodash/_stackDelete.js","../../../node_modules/lodash/_stackGet.js","../../../node_modules/lodash/_stackHas.js","../../../node_modules/lodash/_freeGlobal.js","../../../node_modules/lodash/_root.js","../../../node_modules/lodash/_Symbol.js","../../../node_modules/lodash/_getRawTag.js","../../../node_modules/lodash/_objectToString.js","../../../node_modules/lodash/_baseGetTag.js","../../../node_modules/lodash/isObject.js","../../../node_modules/lodash/isFunction.js","../../../node_modules/lodash/_coreJsData.js","../../../node_modules/lodash/_isMasked.js","../../../node_modules/lodash/_toSource.js","../../../node_modules/lodash/_baseIsNative.js","../../../node_modules/lodash/_getValue.js","../../../node_modules/lodash/_getNative.js","../../../node_modules/lodash/_Map.js","../../../node_modules/lodash/_nativeCreate.js","../../../node_modules/lodash/_hashClear.js","../../../node_modules/lodash/_hashDelete.js","../../../node_modules/lodash/_hashGet.js","../../../node_modules/lodash/_hashHas.js","../../../node_modules/lodash/_hashSet.js","../../../node_modules/lodash/_Hash.js","../../../node_modules/lodash/_mapCacheClear.js","../../../node_modules/lodash/_isKeyable.js","../../../node_modules/lodash/_getMapData.js","../../../node_modules/lodash/_mapCacheDelete.js","../../../node_modules/lodash/_mapCacheGet.js","../../../node_modules/lodash/_mapCacheHas.js","../../../node_modules/lodash/_mapCacheSet.js","../../../node_modules/lodash/_MapCache.js","../../../node_modules/lodash/_stackSet.js","../../../node_modules/lodash/_Stack.js","../../../node_modules/lodash/_setCacheAdd.js","../../../node_modules/lodash/_setCacheHas.js","../../../node_modules/lodash/_SetCache.js","../../../node_modules/lodash/_arraySome.js","../../../node_modules/lodash/_cacheHas.js","../../../node_modules/lodash/_equalArrays.js","../../../node_modules/lodash/_Uint8Array.js","../../../node_modules/lodash/_mapToArray.js","../../../node_modules/lodash/_setToArray.js","../../../node_modules/lodash/_equalByTag.js","../../../node_modules/lodash/_arrayPush.js","../../../node_modules/lodash/isArray.js","../../../node_modules/lodash/_baseGetAllKeys.js","../../../node_modules/lodash/_arrayFilter.js","../../../node_modules/lodash/stubArray.js","../../../node_modules/lodash/_getSymbols.js","../../../node_modules/lodash/_baseTimes.js","../../../node_modules/lodash/isObjectLike.js","../../../node_modules/lodash/_baseIsArguments.js","../../../node_modules/lodash/isArguments.js","../../../node_modules/lodash/stubFalse.js","../../../node_modules/lodash/isBuffer.js","../../../node_modules/lodash/_isIndex.js","../../../node_modules/lodash/isLength.js","../../../node_modules/lodash/_baseIsTypedArray.js","../../../node_modules/lodash/_baseUnary.js","../../../node_modules/lodash/_nodeUtil.js","../../../node_modules/lodash/isTypedArray.js","../../../node_modules/lodash/_arrayLikeKeys.js","../../../node_modules/lodash/_isPrototype.js","../../../node_modules/lodash/_overArg.js","../../../node_modules/lodash/_nativeKeys.js","../../../node_modules/lodash/_baseKeys.js","../../../node_modules/lodash/isArrayLike.js","../../../node_modules/lodash/keys.js","../../../node_modules/lodash/_getAllKeys.js","../../../node_modules/lodash/_equalObjects.js","../../../node_modules/lodash/_DataView.js","../../../node_modules/lodash/_Promise.js","../../../node_modules/lodash/_Set.js","../../../node_modules/lodash/_WeakMap.js","../../../node_modules/lodash/_getTag.js","../../../node_modules/lodash/_baseIsEqualDeep.js","../../../node_modules/lodash/_baseIsEqual.js","../../../node_modules/lodash/isEqual.js","../../../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../../../node_modules/rc-util/es/Dom/contains.js","../../../node_modules/rc-align/es/util.js","../../../node_modules/rc-align/es/hooks/useBuffer.js","../../../node_modules/rc-align/es/Align.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-trigger/es/Popup/useVisibleStatus.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-trigger/es/Popup/useStretchStyle.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-trigger/es/Popup/PopupInner.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-trigger/es/Popup/MobilePopupInner.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-trigger/es/Popup/index.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-trigger/es/context.js","../../../node_modules/antd/node_modules/rc-picker/node_modules/rc-trigger/es/index.js","../../../node_modules/antd/node_modules/rc-picker/es/PickerTrigger.js","../../../node_modules/antd/node_modules/rc-picker/es/hooks/usePickerInput.js","../../../node_modules/antd/node_modules/rc-picker/es/hooks/useTextValueMapping.js","../../../node_modules/shallowequal/index.js","../../../node_modules/antd/node_modules/rc-picker/es/hooks/useValueTexts.js","../../../node_modules/antd/node_modules/rc-picker/es/hooks/useHoverValue.js","../../../node_modules/antd/node_modules/rc-picker/es/utils/warnUtil.js","../../../node_modules/antd/node_modules/rc-picker/es/hooks/usePresets.js","../../../node_modules/antd/node_modules/rc-picker/es/PresetPanel.js","../../../node_modules/antd/node_modules/rc-picker/es/Picker.js","../../../node_modules/antd/node_modules/rc-picker/es/hooks/useRangeDisabled.js","../../../node_modules/antd/node_modules/rc-picker/es/hooks/useRangeViewDates.js","../../../node_modules/antd/node_modules/rc-picker/es/RangePicker.js","../../../node_modules/antd/es/form/context.js","../../../node_modules/antd/es/_util/statusUtils.js","../../../node_modules/antd/es/date-picker/util.js","../../../node_modules/antd/es/input/style/index.js","../../../node_modules/antd/es/style/motion/motion.js","../../../node_modules/antd/es/style/motion/move.js","../../../node_modules/antd/es/style/motion/slide.js","../../../node_modules/antd/es/date-picker/style/index.js","../../../node_modules/antd/es/date-picker/generatePicker/generateRangePicker.js","../../../node_modules/antd/es/date-picker/generatePicker/generateSinglePicker.js","../../../node_modules/antd/es/date-picker/generatePicker/index.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/rc-util/lib/warning.js","../../../node_modules/dayjs/plugin/weekday.js","../../../node_modules/dayjs/plugin/localeData.js","../../../node_modules/dayjs/plugin/weekOfYear.js","../../../node_modules/dayjs/plugin/weekYear.js","../../../node_modules/dayjs/plugin/advancedFormat.js","../../../node_modules/dayjs/plugin/customParseFormat.js","../../../node_modules/rc-picker/lib/generate/dayjs.js","../src/utils.tsx","../src/AntDValueSelector.tsx","../src/AntDValueEditor.tsx","../src/index.ts"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import type { ActionWithRulesProps } from '@react-querybuilder/ts';\nimport { Button } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\n\ntype AntDActionProps = ActionWithRulesProps & ComponentPropsWithoutRef<typeof Button>;\n\nexport const AntDActionElement = ({\n className,\n handleOnClick,\n label,\n title,\n disabled,\n disabledTranslation,\n // Props that should not be in extraProps\n testID: _testID,\n rules: _rules,\n level: _level,\n path: _path,\n context: _context,\n validation: _validation,\n ruleOrGroup: _ruleOrGroup,\n ...extraProps\n}: AntDActionProps) => (\n <Button\n type=\"primary\"\n className={className}\n title={disabledTranslation && disabled ? disabledTranslation.title : title}\n onClick={e => handleOnClick(e)}\n disabled={disabled && !disabledTranslation}\n {...extraProps}>\n {disabledTranslation && disabled ? disabledTranslation.label : label}\n </Button>\n);\n\nAntDActionElement.displayName = 'AntDActionElement';\n","import { HolderOutlined } from '@ant-design/icons';\nimport type { DragHandleProps } from '@react-querybuilder/ts';\nimport type { ComponentPropsWithRef } from 'react';\nimport { forwardRef } from 'react';\n\ntype AntDDragHandleProps = DragHandleProps & ComponentPropsWithRef<typeof HolderOutlined>;\n\nexport const AntDDragHandle = forwardRef<HTMLSpanElement, AntDDragHandleProps>(\n (\n {\n className,\n title,\n // Props that should not be in extraProps\n testID: _testID,\n level: _level,\n path: _path,\n label: _label,\n disabled: _disabled,\n context: _context,\n validation: _validation,\n ...extraProps\n },\n dragRef\n ) => <HolderOutlined ref={dragRef} className={className} title={title} {...extraProps} />\n);\n\nAntDDragHandle.displayName = 'AntDDragHandle';\n","import type { NotToggleProps } from '@react-querybuilder/ts';\nimport { Switch } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\n\ntype AntDNotToggleProps = NotToggleProps & ComponentPropsWithoutRef<typeof Switch>;\n\nexport const AntDNotToggle = ({\n className,\n handleOnChange,\n label,\n checked,\n title,\n disabled,\n // Props that should not be in extraProps\n path: _path,\n context: _context,\n validation: _validation,\n testID: _testID,\n ...extraProps\n}: AntDNotToggleProps) => (\n <Switch\n title={title}\n className={className}\n onChange={v => handleOnChange(v)}\n checked={!!checked}\n disabled={disabled}\n checkedChildren={label}\n unCheckedChildren=\"=\"\n {...extraProps}\n />\n);\n\nAntDNotToggle.displayName = 'AntDNotToggle';\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nexport default function omit(obj, fields) {\n var clone = _objectSpread({}, obj);\n if (Array.isArray(fields)) {\n fields.forEach(function (key) {\n delete clone[key];\n });\n }\n return clone;\n}","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","import rcWarning, { resetWarned } from \"rc-util/es/warning\";\nexport { resetWarned };\nexport function noop() {}\n// eslint-disable-next-line import/no-mutable-exports\nlet warning = noop;\nif (process.env.NODE_ENV !== 'production') {\n warning = (valid, component, message) => {\n rcWarning(valid, `[antd: ${component}] ${message}`);\n // StrictMode will inject console which will not throw warning in React 17.\n if (process.env.NODE_ENV === 'test') {\n resetWarned();\n }\n };\n}\nexport default warning;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nimport useMemo from './hooks/useMemo';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n var refList = refs.filter(function (ref) {\n return ref;\n });\n if (refList.length <= 1) {\n return refList[0];\n }\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;\n // Function component node\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n }\n // Class component\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n return true;\n}\n/* eslint-enable */","export default (function (element) {\n if (!element) {\n return false;\n }\n if (element instanceof HTMLElement && element.offsetParent) {\n return true;\n }\n if (element instanceof SVGGraphicsElement && element.getBBox) {\n var _element$getBBox = element.getBBox(),\n width = _element$getBBox.width,\n height = _element$getBBox.height;\n if (width || height) {\n return true;\n }\n }\n if (element instanceof HTMLElement && element.getBoundingClientRect) {\n var _element$getBoundingC = element.getBoundingClientRect(),\n _width = _element$getBoundingC.width,\n _height = _element$getBoundingC.height;\n if (_width || _height) {\n return true;\n }\n }\n return false;\n});","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\n// [times, realValue]\nvar Entity = /*#__PURE__*/function () {\n function Entity() {\n _classCallCheck(this, Entity);\n\n _defineProperty(this, \"cache\", new Map());\n }\n\n _createClass(Entity, [{\n key: \"get\",\n value: function get(keys) {\n return this.cache.get(keys.join('%')) || null;\n }\n }, {\n key: \"update\",\n value: function update(keys, valueFn) {\n var path = keys.join('%');\n var prevValue = this.cache.get(path);\n var nextValue = valueFn(prevValue);\n\n if (nextValue === null) {\n this.cache.delete(path);\n } else {\n this.cache.set(path, nextValue);\n }\n }\n }]);\n\n return Entity;\n}();\n\nexport default Entity;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport CacheEntity from \"./Cache\";\nexport var ATTR_TOKEN = 'data-token-hash';\nexport var ATTR_MARK = 'data-css-hash';\nexport var ATTR_DEV_CACHE_PATH = 'data-dev-cache-path'; // Mark css-in-js instance in style element\n\nexport var CSS_IN_JS_INSTANCE = '__cssinjs_instance__';\nexport var CSS_IN_JS_INSTANCE_ID = Math.random().toString(12).slice(2);\nexport function createCache() {\n if (typeof document !== 'undefined' && document.head && document.body) {\n var styles = document.body.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\")) || [];\n var firstChild = document.head.firstChild;\n Array.from(styles).forEach(function (style) {\n style[CSS_IN_JS_INSTANCE] = style[CSS_IN_JS_INSTANCE] || CSS_IN_JS_INSTANCE_ID; // Not force move if no head\n\n document.head.insertBefore(style, firstChild);\n }); // Deduplicate of moved styles\n\n var styleHash = {};\n Array.from(document.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\"))).forEach(function (style) {\n var hash = style.getAttribute(ATTR_MARK);\n\n if (styleHash[hash]) {\n if (style[CSS_IN_JS_INSTANCE] === CSS_IN_JS_INSTANCE_ID) {\n var _style$parentNode;\n\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 ? void 0 : _style$parentNode.removeChild(style);\n }\n } else {\n styleHash[hash] = true;\n }\n });\n }\n\n return new CacheEntity();\n}\nvar StyleContext = /*#__PURE__*/React.createContext({\n hashPriority: 'low',\n cache: createCache(),\n defaultCache: true\n});\nexport var StyleProvider = function StyleProvider(props) {\n var children = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var parentContext = React.useContext(StyleContext);\n var context = useMemo(function () {\n var mergedContext = _objectSpread({}, parentContext);\n\n Object.keys(restProps).forEach(function (key) {\n var value = restProps[key];\n\n if (restProps[key] !== undefined) {\n mergedContext[key] = value;\n }\n });\n var cache = restProps.cache;\n mergedContext.cache = mergedContext.cache || createCache();\n mergedContext.defaultCache = !cache && parentContext.defaultCache;\n return mergedContext;\n }, [parentContext, restProps], function (prev, next) {\n return !isEqual(prev[0], next[0], true) || !isEqual(prev[1], next[1], true);\n });\n return /*#__PURE__*/React.createElement(StyleContext.Provider, {\n value: context\n }, children);\n};\nexport default StyleContext;","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","function useProdHMR() {\n return false;\n}\n\nvar webpackHMR = false;\n\nfunction useDevHMR() {\n return webpackHMR;\n}\n\nexport default process.env.NODE_ENV === 'production' ? useProdHMR : useDevHMR; // Webpack `module.hot.accept` do not support any deps update trigger\n// We have to hack handler to force mark as HRM\n\nif (process.env.NODE_ENV !== 'production' && typeof module !== 'undefined' && module && module.hot) {\n var win = window;\n\n if (typeof win.webpackHotUpdate === 'function') {\n var originWebpackHotUpdate = win.webpackHotUpdate;\n\n win.webpackHotUpdate = function () {\n webpackHMR = true;\n setTimeout(function () {\n webpackHMR = false;\n }, 0);\n return originWebpackHotUpdate.apply(void 0, arguments);\n };\n }\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport StyleContext from \"../StyleContext\";\nimport useHMR from \"./useHMR\";\nexport default function useClientCache(prefix, keyPath, cacheFn, onCacheRemove) {\n var _React$useContext = React.useContext(StyleContext),\n globalCache = _React$useContext.cache;\n\n var fullPath = [prefix].concat(_toConsumableArray(keyPath));\n var HMRUpdate = useHMR(); // Create cache\n\n React.useMemo(function () {\n globalCache.update(fullPath, function (prevCache) {\n var _ref = prevCache || [],\n _ref2 = _slicedToArray(_ref, 2),\n _ref2$ = _ref2[0],\n times = _ref2$ === void 0 ? 0 : _ref2$,\n cache = _ref2[1]; // HMR should always ignore cache since developer may change it\n\n\n var tmpCache = cache;\n\n if (process.env.NODE_ENV !== 'production' && cache && HMRUpdate) {\n onCacheRemove === null || onCacheRemove === void 0 ? void 0 : onCacheRemove(tmpCache, HMRUpdate);\n tmpCache = null;\n }\n\n var mergedCache = tmpCache || cacheFn();\n return [times + 1, mergedCache];\n });\n },\n /* eslint-disable react-hooks/exhaustive-deps */\n [fullPath.join('_')]\n /* eslint-enable */\n ); // Remove if no need anymore\n\n React.useEffect(function () {\n return function () {\n globalCache.update(fullPath, function (prevCache) {\n var _ref3 = prevCache || [],\n _ref4 = _slicedToArray(_ref3, 2),\n _ref4$ = _ref4[0],\n times = _ref4$ === void 0 ? 0 : _ref4$,\n cache = _ref4[1];\n\n var nextCount = times - 1;\n\n if (nextCount === 0) {\n onCacheRemove === null || onCacheRemove === void 0 ? void 0 : onCacheRemove(cache, false);\n return null;\n }\n\n return [times - 1, cache];\n });\n };\n }, fullPath);\n return globalCache.get(fullPath)[1];\n}","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n // `document.contains` not support with IE11\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}","import canUseDom from './canUseDom';\nimport contains from './contains';\nvar APPEND_ORDER = 'data-rc-order';\nvar MARK_KEY = \"rc-util-key\";\nvar containerCache = new Map();\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n var head = document.querySelector('head');\n return head || document.body;\n}\nfunction getOrder(prepend) {\n if (prepend === 'queue') {\n return 'prependQueue';\n }\n return prepend ? 'prepend' : 'append';\n}\n/**\n * Find style which inject by rc-util\n */\nfunction findStyles(container) {\n return Array.from((containerCache.get(container) || container).children).filter(function (node) {\n return node.tagName === 'STYLE';\n });\n}\nexport function injectCSS(css) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!canUseDom()) {\n return null;\n }\n var csp = option.csp,\n prepend = option.prepend;\n var styleNode = document.createElement('style');\n styleNode.setAttribute(APPEND_ORDER, getOrder(prepend));\n if (csp === null || csp === void 0 ? void 0 : csp.nonce) {\n styleNode.nonce = csp === null || csp === void 0 ? void 0 : csp.nonce;\n }\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n if (prepend) {\n // If is queue `prepend`, it will prepend first style and then append rest style\n if (prepend === 'queue') {\n var existStyle = findStyles(container).filter(function (node) {\n return ['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER));\n });\n if (existStyle.length) {\n container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling);\n return styleNode;\n }\n }\n // Use `insertBefore` as `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return findStyles(container).find(function (node) {\n return node.getAttribute(getMark(option)) === key;\n });\n}\nexport function removeCSS(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n if (existNode) {\n var container = getContainer(option);\n container.removeChild(existNode);\n }\n}\n/**\n * qiankun will inject `appendChild` to insert into other\n */\nfunction syncRealContainer(container, option) {\n var cachedRealContainer = containerCache.get(container);\n // Find real container when not cached or cached container removed\n if (!cachedRealContainer || !contains(document, cachedRealContainer)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n container.removeChild(placeholderStyle);\n }\n}\n/**\n * manually clear container cache to avoid global cache in unit testes\n */\nexport function clearContainerCache() {\n containerCache.clear();\n}\nexport function updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option);\n // Sync real parent\n syncRealContainer(container, option);\n var existNode = findExistNode(key, option);\n if (existNode) {\n var _option$csp, _option$csp2;\n if (((_option$csp = option.csp) === null || _option$csp === void 0 ? void 0 : _option$csp.nonce) && existNode.nonce !== ((_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce)) {\n var _option$csp3;\n existNode.nonce = (_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport hash from '@emotion/hash';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { removeCSS, updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nexport function flattenToken(token) {\n var str = '';\n Object.keys(token).forEach(function (key) {\n var value = token[key];\n str += key;\n\n if (value && _typeof(value) === 'object') {\n str += flattenToken(value);\n } else {\n str += value;\n }\n });\n return str;\n}\n/**\n * Convert derivative token to key string\n */\n\nexport function token2key(token, salt) {\n return hash(\"\".concat(salt, \"_\").concat(flattenToken(token)));\n}\nvar layerKey = \"layer-\".concat(Date.now(), \"-\").concat(Math.random()).replace(/\\./g, '');\nvar layerWidth = '903px';\n\nfunction supportSelector(styleStr, handleElement) {\n if (canUseDom()) {\n var _ele$parentNode;\n\n updateCSS(styleStr, layerKey);\n\n var _ele = document.createElement('div');\n\n _ele.style.position = 'fixed';\n _ele.style.left = '0';\n _ele.style.top = '0';\n handleElement === null || handleElement === void 0 ? void 0 : handleElement(_ele);\n document.body.appendChild(_ele);\n\n if (process.env.NODE_ENV !== 'production') {\n _ele.innerHTML = 'Test';\n _ele.style.zIndex = '9999999';\n }\n\n var support = getComputedStyle(_ele).width === layerWidth;\n (_ele$parentNode = _ele.parentNode) === null || _ele$parentNode === void 0 ? void 0 : _ele$parentNode.removeChild(_ele);\n removeCSS(layerKey);\n return support;\n }\n\n return false;\n}\n\nvar canLayer = undefined;\nexport function supportLayer() {\n if (canLayer === undefined) {\n canLayer = supportSelector(\"@layer \".concat(layerKey, \" { .\").concat(layerKey, \" { width: \").concat(layerWidth, \"!important; } }\"), function (ele) {\n ele.className = layerKey;\n });\n }\n\n return canLayer;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport hash from '@emotion/hash';\nimport { ATTR_TOKEN, CSS_IN_JS_INSTANCE, CSS_IN_JS_INSTANCE_ID } from \"../StyleContext\";\nimport useGlobalCache from \"./useGlobalCache\";\nimport { flattenToken, token2key } from \"../util\";\nvar EMPTY_OVERRIDE = {}; // Generate different prefix to make user selector break in production env.\n// This helps developer not to do style override directly on the hash id.\n\nvar hashPrefix = process.env.NODE_ENV !== 'production' ? 'css-dev-only-do-not-override' : 'css';\nvar tokenKeys = new Map();\n\nfunction recordCleanToken(tokenKey) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) + 1);\n}\n\nfunction removeStyleTags(key) {\n if (typeof document !== 'undefined') {\n var styles = document.querySelectorAll(\"style[\".concat(ATTR_TOKEN, \"=\\\"\").concat(key, \"\\\"]\"));\n styles.forEach(function (style) {\n if (style[CSS_IN_JS_INSTANCE] === CSS_IN_JS_INSTANCE_ID) {\n var _style$parentNode;\n\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 ? void 0 : _style$parentNode.removeChild(style);\n }\n });\n }\n} // Remove will check current keys first\n\n\nfunction cleanTokenStyle(tokenKey) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) - 1);\n var tokenKeyList = Array.from(tokenKeys.keys());\n var cleanableKeyList = tokenKeyList.filter(function (key) {\n var count = tokenKeys.get(key) || 0;\n return count <= 0;\n });\n\n if (cleanableKeyList.length < tokenKeyList.length) {\n cleanableKeyList.forEach(function (key) {\n removeStyleTags(key);\n tokenKeys.delete(key);\n });\n }\n}\n/**\n * Cache theme derivative token as global shared one\n * @param theme Theme entity\n * @param tokens List of tokens, used for cache. Please do not dynamic generate object directly\n * @param option Additional config\n * @returns Call Theme.getDerivativeToken(tokenObject) to get token\n */\n\n\nexport default function useCacheToken(theme, tokens) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _option$salt = option.salt,\n salt = _option$salt === void 0 ? '' : _option$salt,\n _option$override = option.override,\n override = _option$override === void 0 ? EMPTY_OVERRIDE : _option$override,\n formatToken = option.formatToken; // Basic - We do basic cache here\n\n var mergedToken = React.useMemo(function () {\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(tokens)));\n }, [tokens]);\n var tokenStr = React.useMemo(function () {\n return flattenToken(mergedToken);\n }, [mergedToken]);\n var overrideTokenStr = React.useMemo(function () {\n return flattenToken(override);\n }, [override]);\n var cachedToken = useGlobalCache('token', [salt, theme.id, tokenStr, overrideTokenStr], function () {\n var derivativeToken = theme.getDerivativeToken(mergedToken); // Merge with override\n\n var mergedDerivativeToken = _objectSpread(_objectSpread({}, derivativeToken), override); // Format if needed\n\n\n if (formatToken) {\n mergedDerivativeToken = formatToken(mergedDerivativeToken);\n } // Optimize for `useStyleRegister` performance\n\n\n var tokenKey = token2key(mergedDerivativeToken, salt);\n mergedDerivativeToken._tokenKey = tokenKey;\n recordCleanToken(tokenKey);\n var hashId = \"\".concat(hashPrefix, \"-\").concat(hash(tokenKey));\n mergedDerivativeToken._hashId = hashId; // Not used\n\n return [mergedDerivativeToken, hashId];\n }, function (cache) {\n // Remove token will remove all related style\n cleanTokenStyle(cache[0]._tokenKey);\n });\n return cachedToken;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import devWarning from \"rc-util/es/warning\";\nexport function lintWarning(message, info) {\n var path = info.path,\n parentSelectors = info.parentSelectors;\n devWarning(false, \"[Ant Design CSS-in-JS] \".concat(path ? \"Error in \".concat(path, \": \") : '').concat(message).concat(parentSelectors.length ? \" Selector: \".concat(parentSelectors.join(' | ')) : ''));\n}","import { lintWarning } from \"./utils\";\n\nvar linter = function linter(key, value, info) {\n if (key === 'content') {\n // From emotion: https://github.com/emotion-js/emotion/blob/main/packages/serialize/src/index.js#L63\n var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n lintWarning(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\".concat(value, \"\\\"'`.\"), info);\n }\n }\n};\n\nexport default linter;","import { lintWarning } from \"./utils\";\n\nvar linter = function linter(key, value, info) {\n if (key === 'animation') {\n if (info.hashId && value !== 'none') {\n lintWarning(\"You seem to be using hashed animation '\".concat(value, \"', in which case 'animationName' with Keyframe as value is recommended.\"), info);\n }\n }\n};\n\nexport default linter;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport hash from '@emotion/hash';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { removeCSS, updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport * as React from 'react'; // @ts-ignore\n\nimport unitless from '@emotion/unitless';\nimport { compile, serialize, stringify } from 'stylis';\nimport { contentQuotesLinter, hashedAnimationLinter } from \"../linters\";\nimport StyleContext, { ATTR_DEV_CACHE_PATH, ATTR_MARK, ATTR_TOKEN, CSS_IN_JS_INSTANCE, CSS_IN_JS_INSTANCE_ID } from \"../StyleContext\";\nimport { supportLayer } from \"../util\";\nimport useGlobalCache from \"./useGlobalCache\";\nvar isClientSide = canUseDom();\nvar SKIP_CHECK = '_skip_check_';\n// ============================================================================\n// == Parser ==\n// ============================================================================\n// Preprocessor style content to browser support one\nexport function normalizeStyle(styleStr) {\n var serialized = serialize(compile(styleStr), stringify);\n return serialized.replace(/\\{%%%\\:[^;];}/g, ';');\n}\n\nfunction isCompoundCSSProperty(value) {\n return _typeof(value) === 'object' && value && SKIP_CHECK in value;\n} // 注入 hash 值\n\n\nfunction injectSelectorHash(key, hashId, hashPriority) {\n if (!hashId) {\n return key;\n }\n\n var hashClassName = \".\".concat(hashId);\n var hashSelector = hashPriority === 'low' ? \":where(\".concat(hashClassName, \")\") : hashClassName; // 注入 hashId\n\n var keys = key.split(',').map(function (k) {\n var _firstPath$match;\n\n var fullPath = k.trim().split(/\\s+/); // 如果 Selector 第一个是 HTML Element,那我们就插到它的后面。反之,就插到最前面。\n\n var firstPath = fullPath[0] || '';\n var htmlElement = ((_firstPath$match = firstPath.match(/^\\w+/)) === null || _firstPath$match === void 0 ? void 0 : _firstPath$match[0]) || '';\n firstPath = \"\".concat(htmlElement).concat(hashSelector).concat(firstPath.slice(htmlElement.length));\n return [firstPath].concat(_toConsumableArray(fullPath.slice(1))).join(' ');\n });\n return keys.join(',');\n}\n\n// Global effect style will mount once and not removed\n// The effect will not save in SSR cache (e.g. keyframes)\nvar globalEffectStyleKeys = new Set();\n/**\n * @private Test only. Clear the global effect style keys.\n */\n\nexport var _cf = process.env.NODE_ENV !== 'production' ? function () {\n return globalEffectStyleKeys.clear();\n} : undefined; // Parse CSSObject to style content\n\nexport var parseStyle = function parseStyle(interpolation) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n root: true,\n parentSelectors: []\n },\n root = _ref.root,\n injectHash = _ref.injectHash,\n parentSelectors = _ref.parentSelectors;\n\n var hashId = config.hashId,\n layer = config.layer,\n path = config.path,\n hashPriority = config.hashPriority,\n _config$transformers = config.transformers,\n transformers = _config$transformers === void 0 ? [] : _config$transformers,\n _config$linters = config.linters,\n linters = _config$linters === void 0 ? [] : _config$linters;\n var styleStr = '';\n var effectStyle = {};\n\n function parseKeyframes(keyframes) {\n var animationName = keyframes.getName(hashId);\n\n if (!effectStyle[animationName]) {\n var _parseStyle = parseStyle(keyframes.style, config, {\n root: false,\n parentSelectors: parentSelectors\n }),\n _parseStyle2 = _slicedToArray(_parseStyle, 1),\n _parsedStr = _parseStyle2[0];\n\n effectStyle[animationName] = \"@keyframes \".concat(keyframes.getName(hashId)).concat(_parsedStr);\n }\n }\n\n function flattenList(list) {\n var fullList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n list.forEach(function (item) {\n if (Array.isArray(item)) {\n flattenList(item, fullList);\n } else if (item) {\n fullList.push(item);\n }\n });\n return fullList;\n }\n\n var flattenStyleList = flattenList(Array.isArray(interpolation) ? interpolation : [interpolation]);\n flattenStyleList.forEach(function (originStyle) {\n // Only root level can use raw string\n var style = typeof originStyle === 'string' && !root ? {} : originStyle;\n\n if (typeof style === 'string') {\n styleStr += \"\".concat(style, \"\\n\");\n } else if (style._keyframe) {\n // Keyframe\n parseKeyframes(style);\n } else {\n var mergedStyle = transformers.reduce(function (prev, trans) {\n var _trans$visit;\n\n return (trans === null || trans === void 0 ? void 0 : (_trans$visit = trans.visit) === null || _trans$visit === void 0 ? void 0 : _trans$visit.call(trans, prev)) || prev;\n }, style); // Normal CSSObject\n\n Object.keys(mergedStyle).forEach(function (key) {\n var value = mergedStyle[key];\n\n if (_typeof(value) === 'object' && value && (key !== 'animationName' || !value._keyframe) && !isCompoundCSSProperty(value)) {\n var subInjectHash = false; // 当成嵌套对象来处理\n\n var mergedKey = key.trim(); // Whether treat child as root. In most case it is false.\n\n var nextRoot = false; // 拆分多个选择器\n\n if ((root || injectHash) && hashId) {\n if (mergedKey.startsWith('@')) {\n // 略过媒体查询,交给子节点继续插入 hashId\n subInjectHash = true;\n } else {\n // 注入 hashId\n mergedKey = injectSelectorHash(key, hashId, hashPriority);\n }\n } else if (root && !hashId && (mergedKey === '&' || mergedKey === '')) {\n // In case of `{ '&': { a: { color: 'red' } } }` or `{ '': { a: { color: 'red' } } }` without hashId,\n // we will get `&{a:{color:red;}}` or `{a:{color:red;}}` string for stylis to compile.\n // But it does not conform to stylis syntax,\n // and finally we will get `{color:red;}` as css, which is wrong.\n // So we need to remove key in root, and treat child `{ a: { color: 'red' } }` as root.\n mergedKey = '';\n nextRoot = true;\n }\n\n var _parseStyle3 = parseStyle(value, config, {\n root: nextRoot,\n injectHash: subInjectHash,\n parentSelectors: [].concat(_toConsumableArray(parentSelectors), [mergedKey])\n }),\n _parseStyle4 = _slicedToArray(_parseStyle3, 2),\n _parsedStr2 = _parseStyle4[0],\n childEffectStyle = _parseStyle4[1];\n\n effectStyle = _objectSpread(_objectSpread({}, effectStyle), childEffectStyle);\n styleStr += \"\".concat(mergedKey).concat(_parsedStr2);\n } else {\n var _value;\n\n var actualValue = (_value = value === null || value === void 0 ? void 0 : value.value) !== null && _value !== void 0 ? _value : value;\n\n if (process.env.NODE_ENV !== 'production' && (_typeof(value) !== 'object' || !(value !== null && value !== void 0 && value[SKIP_CHECK]))) {\n [contentQuotesLinter, hashedAnimationLinter].concat(_toConsumableArray(linters)).forEach(function (linter) {\n return linter(key, actualValue, {\n path: path,\n hashId: hashId,\n parentSelectors: parentSelectors\n });\n });\n } // 如果是样式则直接插入\n\n\n var styleName = key.replace(/[A-Z]/g, function (match) {\n return \"-\".concat(match.toLowerCase());\n }); // Auto suffix with px\n\n var formatValue = actualValue;\n\n if (!unitless[key] && typeof formatValue === 'number' && formatValue !== 0) {\n formatValue = \"\".concat(formatValue, \"px\");\n } // handle animationName & Keyframe value\n\n\n if (key === 'animationName' && value !== null && value !== void 0 && value._keyframe) {\n parseKeyframes(value);\n formatValue = value.getName(hashId);\n }\n\n styleStr += \"\".concat(styleName, \":\").concat(formatValue, \";\");\n }\n });\n }\n });\n\n if (!root) {\n styleStr = \"{\".concat(styleStr, \"}\");\n } else if (layer && supportLayer()) {\n var layerCells = layer.split(',');\n var layerName = layerCells[layerCells.length - 1].trim();\n styleStr = \"@layer \".concat(layerName, \" {\").concat(styleStr, \"}\"); // Order of layer if needed\n\n if (layerCells.length > 1) {\n // zombieJ: stylis do not support layer order, so we need to handle it manually.\n styleStr = \"@layer \".concat(layer, \"{%%%:%}\").concat(styleStr);\n }\n }\n\n return [styleStr, effectStyle];\n}; // ============================================================================\n// == Register ==\n// ============================================================================\n\nfunction uniqueHash(path, styleStr) {\n return hash(\"\".concat(path.join('%')).concat(styleStr));\n}\n\nfunction Empty() {\n return null;\n}\n/**\n * Register a style to the global style sheet.\n */\n\n\nexport default function useStyleRegister(info, styleFn) {\n var token = info.token,\n path = info.path,\n hashId = info.hashId,\n layer = info.layer;\n\n var _React$useContext = React.useContext(StyleContext),\n autoClear = _React$useContext.autoClear,\n mock = _React$useContext.mock,\n defaultCache = _React$useContext.defaultCache,\n hashPriority = _React$useContext.hashPriority,\n container = _React$useContext.container,\n ssrInline = _React$useContext.ssrInline,\n transformers = _React$useContext.transformers,\n linters = _React$useContext.linters;\n\n var tokenKey = token._tokenKey;\n var fullPath = [tokenKey].concat(_toConsumableArray(path)); // Check if need insert style\n\n var isMergedClientSide = isClientSide;\n\n if (process.env.NODE_ENV !== 'production' && mock !== undefined) {\n isMergedClientSide = mock === 'client';\n }\n\n var _useGlobalCache = useGlobalCache('style', fullPath, // Create cache if needed\n function () {\n var styleObj = styleFn();\n\n var _parseStyle5 = parseStyle(styleObj, {\n hashId: hashId,\n hashPriority: hashPriority,\n layer: layer,\n path: path.join('-'),\n transformers: transformers,\n linters: linters\n }),\n _parseStyle6 = _slicedToArray(_parseStyle5, 2),\n parsedStyle = _parseStyle6[0],\n effectStyle = _parseStyle6[1];\n\n var styleStr = normalizeStyle(parsedStyle);\n var styleId = uniqueHash(fullPath, styleStr);\n\n if (isMergedClientSide) {\n var style = updateCSS(styleStr, styleId, {\n mark: ATTR_MARK,\n prepend: 'queue',\n attachTo: container\n });\n style[CSS_IN_JS_INSTANCE] = CSS_IN_JS_INSTANCE_ID; // Used for `useCacheToken` to remove on batch when token removed\n\n style.setAttribute(ATTR_TOKEN, tokenKey); // Dev usage to find which cache path made this easily\n\n if (process.env.NODE_ENV !== 'production') {\n style.setAttribute(ATTR_DEV_CACHE_PATH, fullPath.join('|'));\n } // Inject client side effect style\n\n\n Object.keys(effectStyle).forEach(function (effectKey) {\n if (!globalEffectStyleKeys.has(effectKey)) {\n globalEffectStyleKeys.add(effectKey); // Inject\n\n updateCSS(normalizeStyle(effectStyle[effectKey]), \"_effect-\".concat(effectKey), {\n mark: ATTR_MARK,\n prepend: 'queue',\n attachTo: container\n });\n }\n });\n }\n\n return [styleStr, tokenKey, styleId];\n }, // Remove cache if no need\n function (_ref2, fromHMR) {\n var _ref3 = _slicedToArray(_ref2, 3),\n styleId = _ref3[2];\n\n if ((fromHMR || autoClear) && isClientSide) {\n removeCSS(styleId, {\n mark: ATTR_MARK\n });\n }\n }),\n _useGlobalCache2 = _slicedToArray(_useGlobalCache, 3),\n cachedStyleStr = _useGlobalCache2[0],\n cachedTokenKey = _useGlobalCache2[1],\n cachedStyleId = _useGlobalCache2[2];\n\n return function (node) {\n var styleNode;\n\n if (!ssrInline || isMergedClientSide || !defaultCache) {\n styleNode = /*#__PURE__*/React.createElement(Empty, null);\n } else {\n var _ref4;\n\n styleNode = /*#__PURE__*/React.createElement(\"style\", _extends({}, (_ref4 = {}, _defineProperty(_ref4, ATTR_TOKEN, cachedTokenKey), _defineProperty(_ref4, ATTR_MARK, cachedStyleId), _ref4), {\n dangerouslySetInnerHTML: {\n __html: cachedStyleStr\n }\n }));\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, styleNode, node);\n };\n} // ============================================================================\n// == SSR ==\n// ============================================================================\n\nexport function extractStyle(cache) {\n // prefix with `style` is used for `useStyleRegister` to cache style context\n var styleKeys = Array.from(cache.cache.keys()).filter(function (key) {\n return key.startsWith('style%');\n }); // const tokenStyles: Record<string, string[]> = {};\n\n var styleText = '';\n styleKeys.forEach(function (key) {\n var _ = _slicedToArray(cache.cache.get(key)[1], 3),\n styleStr = _[0],\n tokenKey = _[1],\n styleId = _[2];\n\n styleText += \"<style \".concat(ATTR_TOKEN, \"=\\\"\").concat(tokenKey, \"\\\" \").concat(ATTR_MARK, \"=\\\"\").concat(styleId, \"\\\">\").concat(styleStr, \"</style>\");\n });\n return styleText;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nvar Keyframe = /*#__PURE__*/function () {\n function Keyframe(name, style) {\n _classCallCheck(this, Keyframe);\n\n _defineProperty(this, \"name\", void 0);\n\n _defineProperty(this, \"style\", void 0);\n\n _defineProperty(this, \"_keyframe\", true);\n\n this.name = name;\n this.style = style;\n }\n\n _createClass(Keyframe, [{\n key: \"getName\",\n value: function getName() {\n var hashId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return hashId ? \"\".concat(hashId, \"-\").concat(this.name) : this.name;\n }\n }]);\n\n return Keyframe;\n}();\n\nexport default Keyframe;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// ================================== Cache ==================================\nexport function sameDerivativeOption(left, right) {\n if (left.length !== right.length) {\n return false;\n }\n\n for (var i = 0; i < left.length; i++) {\n if (left[i] !== right[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nvar ThemeCache = /*#__PURE__*/function () {\n function ThemeCache() {\n _classCallCheck(this, ThemeCache);\n\n _defineProperty(this, \"cache\", void 0);\n\n _defineProperty(this, \"keys\", void 0);\n\n _defineProperty(this, \"cacheCallTimes\", void 0);\n\n this.cache = new Map();\n this.keys = [];\n this.cacheCallTimes = 0;\n }\n\n _createClass(ThemeCache, [{\n key: \"size\",\n value: function size() {\n return this.keys.length;\n }\n }, {\n key: \"internalGet\",\n value: function internalGet(derivativeOption) {\n var _cache2, _cache3;\n\n var updateCallTimes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var cache = {\n map: this.cache\n };\n derivativeOption.forEach(function (derivative) {\n if (!cache) {\n cache = undefined;\n } else {\n var _cache, _cache$map;\n\n cache = (_cache = cache) === null || _cache === void 0 ? void 0 : (_cache$map = _cache.map) === null || _cache$map === void 0 ? void 0 : _cache$map.get(derivative);\n }\n });\n\n if ((_cache2 = cache) !== null && _cache2 !== void 0 && _cache2.value && updateCallTimes) {\n cache.value[1] = this.cacheCallTimes++;\n }\n\n return (_cache3 = cache) === null || _cache3 === void 0 ? void 0 : _cache3.value;\n }\n }, {\n key: \"get\",\n value: function get(derivativeOption) {\n var _this$internalGet;\n\n return (_this$internalGet = this.internalGet(derivativeOption, true)) === null || _this$internalGet === void 0 ? void 0 : _this$internalGet[0];\n }\n }, {\n key: \"has\",\n value: function has(derivativeOption) {\n return !!this.internalGet(derivativeOption);\n }\n }, {\n key: \"set\",\n value: function set(derivativeOption, value) {\n var _this = this;\n\n // New cache\n if (!this.has(derivativeOption)) {\n if (this.size() + 1 > ThemeCache.MAX_CACHE_SIZE + ThemeCache.MAX_CACHE_OFFSET) {\n var _this$keys$reduce = this.keys.reduce(function (result, key) {\n var _result = _slicedToArray(result, 2),\n callTimes = _result[1];\n\n if (_this.internalGet(key)[1] < callTimes) {\n return [key, _this.internalGet(key)[1]];\n }\n\n return result;\n }, [this.keys[0], this.cacheCallTimes]),\n _this$keys$reduce2 = _slicedToArray(_this$keys$reduce, 1),\n targetKey = _this$keys$reduce2[0];\n\n this.delete(targetKey);\n }\n\n this.keys.push(derivativeOption);\n }\n\n var cache = this.cache;\n derivativeOption.forEach(function (derivative, index) {\n if (index === derivativeOption.length - 1) {\n cache.set(derivative, {\n value: [value, _this.cacheCallTimes++]\n });\n } else {\n var cacheValue = cache.get(derivative);\n\n if (!cacheValue) {\n cache.set(derivative, {\n map: new Map()\n });\n } else if (!cacheValue.map) {\n cacheValue.map = new Map();\n }\n\n cache = cache.get(derivative).map;\n }\n });\n }\n }, {\n key: \"deleteByPath\",\n value: function deleteByPath(currentCache, derivatives) {\n var cache = currentCache.get(derivatives[0]);\n\n if (derivatives.length === 1) {\n var _cache$value;\n\n if (!cache.map) {\n currentCache.delete(derivatives[0]);\n } else {\n currentCache.set(derivatives[0], {\n map: cache.map\n });\n }\n\n return (_cache$value = cache.value) === null || _cache$value === void 0 ? void 0 : _cache$value[0];\n }\n\n var result = this.deleteByPath(cache.map, derivatives.slice(1));\n\n if ((!cache.map || cache.map.size === 0) && !cache.value) {\n currentCache.delete(derivatives[0]);\n }\n\n return result;\n }\n }, {\n key: \"delete\",\n value: function _delete(derivativeOption) {\n // If cache exists\n if (this.has(derivativeOption)) {\n this.keys = this.keys.filter(function (item) {\n return !sameDerivativeOption(item, derivativeOption);\n });\n return this.deleteByPath(this.cache, derivativeOption);\n }\n\n return undefined;\n }\n }]);\n\n return ThemeCache;\n}();\n\n_defineProperty(ThemeCache, \"MAX_CACHE_SIZE\", 20);\n\n_defineProperty(ThemeCache, \"MAX_CACHE_OFFSET\", 5);\n\nexport { ThemeCache as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { warning } from \"rc-util/es/warning\";\nvar uuid = 0;\n/**\n * Theme with algorithms to derive tokens from design tokens.\n * Use `createTheme` first which will help to manage the theme instance cache.\n */\n\nvar Theme = /*#__PURE__*/function () {\n function Theme(derivatives) {\n _classCallCheck(this, Theme);\n\n _defineProperty(this, \"derivatives\", void 0);\n\n _defineProperty(this, \"id\", void 0);\n\n this.derivatives = Array.isArray(derivatives) ? derivatives : [derivatives];\n this.id = uuid;\n\n if (derivatives.length === 0) {\n warning(derivatives.length > 0, '[Ant Design CSS-in-JS] Theme should have at least one derivative function.');\n }\n\n uuid += 1;\n }\n\n _createClass(Theme, [{\n key: \"getDerivativeToken\",\n value: function getDerivativeToken(token) {\n return this.derivatives.reduce(function (result, derivative) {\n return derivative(token, result);\n }, undefined);\n }\n }]);\n\n return Theme;\n}();\n\nexport { Theme as default };","import ThemeCache from \"./ThemeCache\";\nimport Theme from \"./Theme\";\nvar cacheThemes = new ThemeCache();\n/**\n * Same as new Theme, but will always return same one if `derivative` not changed.\n */\n\nexport default function createTheme(derivatives) {\n var derivativeArr = Array.isArray(derivatives) ? derivatives : [derivatives]; // Create new theme if not exist\n\n if (!cacheThemes.has(derivativeArr)) {\n cacheThemes.set(derivativeArr, new Theme(derivativeArr));\n } // Get theme from cache and return\n\n\n return cacheThemes.get(derivativeArr);\n}","function splitValues(value) {\n if (typeof value === 'number') {\n return [value];\n }\n\n var splitStyle = String(value).split(/\\s+/); // Combine styles split in brackets, like `calc(1px + 2px)`\n\n var temp = '';\n var brackets = 0;\n return splitStyle.reduce(function (list, item) {\n if (item.includes('(')) {\n temp += item;\n brackets += item.split('(').length - 1;\n } else if (item.includes(')')) {\n temp += item;\n brackets -= item.split(')').length - 1;\n\n if (brackets === 0) {\n list.push(temp);\n temp = '';\n }\n } else if (brackets > 0) {\n temp += item;\n } else {\n list.push(item);\n }\n\n return list;\n }, []);\n}\n\nfunction noSplit(list) {\n list.notSplit = true;\n return list;\n}\n\nvar keyMap = {\n // Inset\n inset: ['top', 'right', 'bottom', 'left'],\n insetBlock: ['top', 'bottom'],\n insetBlockStart: ['top'],\n insetBlockEnd: ['bottom'],\n insetInline: ['left', 'right'],\n insetInlineStart: ['left'],\n insetInlineEnd: ['right'],\n // Margin\n marginBlock: ['marginTop', 'marginBottom'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n marginInline: ['marginLeft', 'marginRight'],\n marginInlineStart: ['marginLeft'],\n marginInlineEnd: ['marginRight'],\n // Padding\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom'],\n paddingInline: ['paddingLeft', 'paddingRight'],\n paddingInlineStart: ['paddingLeft'],\n paddingInlineEnd: ['paddingRight'],\n // Border\n borderBlock: noSplit(['borderTop', 'borderBottom']),\n borderBlockStart: noSplit(['borderTop']),\n borderBlockEnd: noSplit(['borderBottom']),\n borderInline: noSplit(['borderLeft', 'borderRight']),\n borderInlineStart: noSplit(['borderLeft']),\n borderInlineEnd: noSplit(['borderRight']),\n // Border width\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndWidth: ['borderBottomWidth'],\n borderInlineWidth: ['borderLeftWidth', 'borderRightWidth'],\n borderInlineStartWidth: ['borderLeftWidth'],\n borderInlineEndWidth: ['borderRightWidth'],\n // Border style\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderInlineStyle: ['borderLeftStyle', 'borderRightStyle'],\n borderInlineStartStyle: ['borderLeftStyle'],\n borderInlineEndStyle: ['borderRightStyle'],\n // Border color\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockEndColor: ['borderBottomColor'],\n borderInlineColor: ['borderLeftColor', 'borderRightColor'],\n borderInlineStartColor: ['borderLeftColor'],\n borderInlineEndColor: ['borderRightColor'],\n // Border radius\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius']\n};\n\nfunction skipCheck(value) {\n return {\n _skip_check_: true,\n value: value\n };\n}\n/**\n * Convert css logical properties to legacy properties.\n * Such as: `margin-block-start` to `margin-top`.\n * Transform list:\n * - inset\n * - margin\n * - padding\n * - border\n */\n\n\nvar transform = {\n visit: function visit(cssObj) {\n var clone = {};\n Object.keys(cssObj).forEach(function (key) {\n var value = cssObj[key];\n var matchValue = keyMap[key];\n\n if (matchValue && (typeof value === 'number' || typeof value === 'string')) {\n var values = splitValues(value);\n\n if (matchValue.length && matchValue.notSplit) {\n // not split means always give same value like border\n matchValue.forEach(function (matchKey) {\n clone[matchKey] = skipCheck(value);\n });\n } else if (matchValue.length === 1) {\n // Handle like `marginBlockStart` => `marginTop`\n clone[matchValue[0]] = skipCheck(value);\n } else if (matchValue.length === 2) {\n // Handle like `marginBlock` => `marginTop` & `marginBottom`\n matchValue.forEach(function (matchKey, index) {\n var _values$index;\n\n clone[matchKey] = skipCheck((_values$index = values[index]) !== null && _values$index !== void 0 ? _values$index : values[0]);\n });\n } else if (matchValue.length === 4) {\n // Handle like `inset` => `top` & `right` & `bottom` & `left`\n matchValue.forEach(function (matchKey, index) {\n var _ref, _values$index2;\n\n clone[matchKey] = skipCheck((_ref = (_values$index2 = values[index]) !== null && _values$index2 !== void 0 ? _values$index2 : values[index - 2]) !== null && _ref !== void 0 ? _ref : values[0]);\n });\n } else {\n clone[key] = value;\n }\n } else {\n clone[key] = value;\n }\n });\n return clone;\n }\n};\nexport default transform;","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","import warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nexport var HOOK_MARK = 'RC_FORM_INTERNAL_HOOKS'; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\nvar warningFunc = function warningFunc() {\n warning(false, 'Can not find FormContext. Please make sure you wrap Field under Form.');\n};\n\nvar Context = /*#__PURE__*/React.createContext({\n getFieldValue: warningFunc,\n getFieldsValue: warningFunc,\n getFieldError: warningFunc,\n getFieldWarning: warningFunc,\n getFieldsError: warningFunc,\n isFieldsTouched: warningFunc,\n isFieldTouched: warningFunc,\n isFieldValidating: warningFunc,\n isFieldsValidating: warningFunc,\n resetFields: warningFunc,\n setFields: warningFunc,\n setFieldValue: warningFunc,\n setFieldsValue: warningFunc,\n validateFields: warningFunc,\n submit: warningFunc,\n getInternalHooks: function getInternalHooks() {\n warningFunc();\n return {\n dispatch: warningFunc,\n initEntityValue: warningFunc,\n registerField: warningFunc,\n useSubscribe: warningFunc,\n setInitialValues: warningFunc,\n destroyForm: warningFunc,\n setCallbacks: warningFunc,\n registerWatch: warningFunc,\n getFields: warningFunc,\n setValidateMessages: warningFunc,\n setPreserve: warningFunc,\n getInitialValue: warningFunc\n };\n }\n});\nexport default Context;","export function toArray(value) {\n if (value === undefined || value === null) {\n return [];\n }\n\n return Array.isArray(value) ? value : [value];\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn && typeof ASYNC_VALIDATOR_NO_WARNING === 'undefined') {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\nfunction format(template) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var i = 0;\n var len = args.length;\n\n if (typeof template === 'function') {\n return template.apply(null, args);\n }\n\n if (typeof template === 'string') {\n var str = template.replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n\n if (i >= len) {\n return x;\n }\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n break;\n\n default:\n return x;\n }\n });\n return str;\n }\n\n return template;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n\n return false;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors || []);\n total++;\n\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n\n var original = index;\n index = index + 1;\n\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k] || []);\n });\n return ret;\n}\n\nvar AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(AsyncValidationError, _Error);\n\n function AsyncValidationError(errors, fields) {\n var _this;\n\n _this = _Error.call(this, 'Async Validation Error') || this;\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n\n return AsyncValidationError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nfunction asyncMap(objArr, option, func, callback, source) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve(source);\n };\n\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n\n _pending[\"catch\"](function (e) {\n return e;\n });\n\n return _pending;\n }\n\n var firstFields = option.firstFields === true ? Object.keys(objArr) : option.firstFields || [];\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve(source);\n }\n };\n\n if (!objArrKeys.length) {\n callback(results);\n resolve(source);\n }\n\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending[\"catch\"](function (e) {\n return e;\n });\n return pending;\n}\n\nfunction isErrorObj(obj) {\n return !!(obj && obj.message !== undefined);\n}\n\nfunction getValue(value, path) {\n var v = value;\n\n for (var i = 0; i < path.length; i++) {\n if (v == undefined) {\n return v;\n }\n\n v = v[path[i]];\n }\n\n return v;\n}\n\nfunction complementError(rule, source) {\n return function (oe) {\n var fieldValue;\n\n if (rule.fullFields) {\n fieldValue = getValue(source, rule.fullFields);\n } else {\n fieldValue = source[oe.field || rule.fullField];\n }\n\n if (isErrorObj(oe)) {\n oe.field = oe.field || rule.fullField;\n oe.fieldValue = fieldValue;\n return oe;\n }\n\n return {\n message: typeof oe === 'function' ? oe() : oe,\n fieldValue: fieldValue,\n field: oe.field || rule.fullField\n };\n };\n}\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = _extends({}, target[s], value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n\n return target;\n}\n\nvar required$1 = function required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n};\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nvar whitespace = function whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n};\n\n// https://github.com/kevva/url-regex/blob/master/index.js\nvar urlReg;\nvar getUrlRegex = (function () {\n if (urlReg) {\n return urlReg;\n }\n\n var word = '[a-fA-F\\\\d:]';\n\n var b = function b(options) {\n return options && options.includeBoundaries ? \"(?:(?<=\\\\s|^)(?=\" + word + \")|(?<=\" + word + \")(?=\\\\s|$))\" : '';\n };\n\n var v4 = '(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}';\n var v6seg = '[a-fA-F\\\\d]{1,4}';\n var v6 = (\"\\n(?:\\n(?:\" + v6seg + \":){7}(?:\" + v6seg + \"|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\\n(?:\" + v6seg + \":){6}(?:\" + v4 + \"|:\" + v6seg + \"|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\\n(?:\" + v6seg + \":){5}(?::\" + v4 + \"|(?::\" + v6seg + \"){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\\n(?:\" + v6seg + \":){4}(?:(?::\" + v6seg + \"){0,1}:\" + v4 + \"|(?::\" + v6seg + \"){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\\n(?:\" + v6seg + \":){3}(?:(?::\" + v6seg + \"){0,2}:\" + v4 + \"|(?::\" + v6seg + \"){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\\n(?:\" + v6seg + \":){2}(?:(?::\" + v6seg + \"){0,3}:\" + v4 + \"|(?::\" + v6seg + \"){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\\n(?:\" + v6seg + \":){1}(?:(?::\" + v6seg + \"){0,4}:\" + v4 + \"|(?::\" + v6seg + \"){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\\n(?::(?:(?::\" + v6seg + \"){0,5}:\" + v4 + \"|(?::\" + v6seg + \"){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\\n\").replace(/\\s*\\/\\/.*$/gm, '').replace(/\\n/g, '').trim(); // Pre-compile only the exact regexes because adding a global flag make regexes stateful\n\n var v46Exact = new RegExp(\"(?:^\" + v4 + \"$)|(?:^\" + v6 + \"$)\");\n var v4exact = new RegExp(\"^\" + v4 + \"$\");\n var v6exact = new RegExp(\"^\" + v6 + \"$\");\n\n var ip = function ip(options) {\n return options && options.exact ? v46Exact : new RegExp(\"(?:\" + b(options) + v4 + b(options) + \")|(?:\" + b(options) + v6 + b(options) + \")\", 'g');\n };\n\n ip.v4 = function (options) {\n return options && options.exact ? v4exact : new RegExp(\"\" + b(options) + v4 + b(options), 'g');\n };\n\n ip.v6 = function (options) {\n return options && options.exact ? v6exact : new RegExp(\"\" + b(options) + v6 + b(options), 'g');\n };\n\n var protocol = \"(?:(?:[a-z]+:)?//)\";\n var auth = '(?:\\\\S+(?::\\\\S*)?@)?';\n var ipv4 = ip.v4().source;\n var ipv6 = ip.v6().source;\n var host = \"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9][-_]*)*[a-z\\\\u00a1-\\\\uffff0-9]+)\";\n var domain = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*\";\n var tld = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))\";\n var port = '(?::\\\\d{2,5})?';\n var path = '(?:[/?#][^\\\\s\"]*)?';\n var regex = \"(?:\" + protocol + \"|www\\\\.)\" + auth + \"(?:localhost|\" + ipv4 + \"|\" + ipv6 + \"|\" + host + domain + tld + \")\" + port + path;\n urlReg = new RegExp(\"(?:^\" + regex + \"$)\", 'i');\n return urlReg;\n});\n\n/* eslint max-len:0 */\n\nvar pattern$2 = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+\\.)+[a-zA-Z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}))$/,\n // url: new RegExp(\n // '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$',\n // 'i',\n // ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n \"float\": function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function' && !isNaN(value.getTime());\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n\n return typeof value === 'number';\n },\n object: function object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && value.length <= 320 && !!value.match(pattern$2.email);\n },\n url: function url(value) {\n return typeof value === 'string' && value.length <= 2048 && !!value.match(getUrlRegex());\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern$2.hex);\n }\n};\n\nvar type$1 = function type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required$1(rule, value, source, errors, options);\n return;\n }\n\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n } // straight typeof check\n\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n};\n\nvar range = function range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n } // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n\n\n if (!key) {\n return false;\n }\n\n if (arr) {\n val = value.length;\n }\n\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n};\n\nvar ENUM$1 = 'enum';\n\nvar enumerable$1 = function enumerable(rule, value, source, errors, options) {\n rule[ENUM$1] = Array.isArray(rule[ENUM$1]) ? rule[ENUM$1] : [];\n\n if (rule[ENUM$1].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM$1], rule.fullField, rule[ENUM$1].join(', ')));\n }\n};\n\nvar pattern$1 = function pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n\n if (!rule.pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n};\n\nvar rules = {\n required: required$1,\n whitespace: whitespace,\n type: type$1,\n range: range,\n \"enum\": enumerable$1,\n pattern: pattern$1\n};\n\nvar string = function string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'string');\n\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n\n callback(errors);\n};\n\nvar method = function method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar number = function number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar _boolean = function _boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar regexp = function regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar integer = function integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar floatFn = function floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar array = function array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'array');\n\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar object = function object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar ENUM = 'enum';\n\nvar enumerable = function enumerable(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar pattern = function pattern(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar date = function date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value);\n\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'date')) {\n var dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n\n callback(errors);\n};\n\nvar required = function required(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n};\n\nvar type = function type(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, ruleType);\n\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar any = function any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n }\n\n callback(errors);\n};\n\nvar validators = {\n string: string,\n method: method,\n number: number,\n \"boolean\": _boolean,\n regexp: regexp,\n integer: integer,\n \"float\": floatFn,\n array: array,\n object: object,\n \"enum\": enumerable,\n pattern: pattern,\n date: date,\n url: type,\n hex: type,\n email: type,\n required: required,\n any: any\n};\n\nfunction newMessages() {\n return {\n \"default\": 'Validation error on field %s',\n required: '%s is required',\n \"enum\": '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n \"boolean\": '%s is not a %s',\n integer: '%s is not an %s',\n \"float\": '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nvar Schema = /*#__PURE__*/function () {\n // ========================= Static =========================\n // ======================== Instance ========================\n function Schema(descriptor) {\n this.rules = null;\n this._messages = messages;\n this.define(descriptor);\n }\n\n var _proto = Schema.prototype;\n\n _proto.define = function define(rules) {\n var _this = this;\n\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n\n this.rules = {};\n Object.keys(rules).forEach(function (name) {\n var item = rules[name];\n _this.rules[name] = Array.isArray(item) ? item : [item];\n });\n };\n\n _proto.messages = function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\n\n return this._messages;\n };\n\n _proto.validate = function validate(source_, o, oc) {\n var _this2 = this;\n\n if (o === void 0) {\n o = {};\n }\n\n if (oc === void 0) {\n oc = function oc() {};\n }\n\n var source = source_;\n var options = o;\n var callback = oc;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback(null, source);\n }\n\n return Promise.resolve(source);\n }\n\n function complete(results) {\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (var i = 0; i < results.length; i++) {\n add(results[i]);\n }\n\n if (!errors.length) {\n callback(null, source);\n } else {\n fields = convertFieldsError(errors);\n callback(errors, fields);\n }\n }\n\n if (options.messages) {\n var messages$1 = this.messages();\n\n if (messages$1 === messages) {\n messages$1 = newMessages();\n }\n\n deepMerge(messages$1, options.messages);\n options.messages = messages$1;\n } else {\n options.messages = this.messages();\n }\n\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n var arr = _this2.rules[z];\n var value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n\n value = source[z] = rule.transform(value);\n }\n\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n } // Fill validator. Skip if nothing need to validate\n\n\n rule.validator = _this2.getValidationMethod(rule);\n\n if (!rule.validator) {\n return;\n }\n\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this2.getType(rule);\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullField(key, schema) {\n return _extends({}, schema, {\n fullField: rule.fullField + \".\" + key,\n fullFields: rule.fullFields ? [].concat(rule.fullFields, [key]) : [key]\n });\n }\n\n function cb(e) {\n if (e === void 0) {\n e = [];\n }\n\n var errorList = Array.isArray(e) ? e : [e];\n\n if (!options.suppressWarning && errorList.length) {\n Schema.warning('async-validator:', errorList);\n }\n\n if (errorList.length && rule.message !== undefined) {\n errorList = [].concat(rule.message);\n } // Fill error info\n\n\n var filledErrors = errorList.map(complementError(rule, source));\n\n if (options.first && filledErrors.length) {\n errorFields[rule.field] = 1;\n return doIt(filledErrors);\n }\n\n if (!deep) {\n doIt(filledErrors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n filledErrors = [].concat(rule.message).map(complementError(rule, source));\n } else if (options.error) {\n filledErrors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n\n return doIt(filledErrors);\n }\n\n var fieldsSchema = {};\n\n if (rule.defaultField) {\n Object.keys(data.value).map(function (key) {\n fieldsSchema[key] = rule.defaultField;\n });\n }\n\n fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);\n var paredFieldsSchema = {};\n Object.keys(fieldsSchema).forEach(function (field) {\n var fieldSchema = fieldsSchema[field];\n var fieldSchemaList = Array.isArray(fieldSchema) ? fieldSchema : [fieldSchema];\n paredFieldsSchema[field] = fieldSchemaList.map(addFullField.bind(null, field));\n });\n var schema = new Schema(paredFieldsSchema);\n schema.messages(options.messages);\n\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n\n if (filledErrors && filledErrors.length) {\n finalErrors.push.apply(finalErrors, filledErrors);\n }\n\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res;\n\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n try {\n res = rule.validator(rule, data.value, cb, data.source, options);\n } catch (error) {\n console.error == null ? void 0 : console.error(error); // rethrow to report error\n\n if (!options.suppressValidatorError) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n\n cb(error.message);\n }\n\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(typeof rule.message === 'function' ? rule.message(rule.fullField || rule.field) : rule.message || (rule.fullField || rule.field) + \" fails\");\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n }, source);\n };\n\n _proto.getType = function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n\n return rule.type || 'string';\n };\n\n _proto.getValidationMethod = function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n\n return validators[this.getType(rule)] || undefined;\n };\n\n return Schema;\n}();\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n\n validators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\nSchema.validators = validators;\n\nexport { Schema as default };\n//# sourceMappingURL=index.js.map\n","var typeTemplate = \"'${name}' is not a valid ${type}\";\nexport var defaultValidateMessages = {\n default: \"Validation error on field '${name}'\",\n required: \"'${name}' is required\",\n enum: \"'${name}' must be one of [${enum}]\",\n whitespace: \"'${name}' cannot be empty\",\n date: {\n format: \"'${name}' is invalid for format date\",\n parse: \"'${name}' could not be parsed as date\",\n invalid: \"'${name}' is invalid date\"\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: \"'${name}' must be exactly ${len} characters\",\n min: \"'${name}' must be at least ${min} characters\",\n max: \"'${name}' cannot be longer than ${max} characters\",\n range: \"'${name}' must be between ${min} and ${max} characters\"\n },\n number: {\n len: \"'${name}' must equal ${len}\",\n min: \"'${name}' cannot be less than ${min}\",\n max: \"'${name}' cannot be greater than ${max}\",\n range: \"'${name}' must be between ${min} and ${max}\"\n },\n array: {\n len: \"'${name}' must be exactly ${len} in length\",\n min: \"'${name}' cannot be less than ${min} in length\",\n max: \"'${name}' cannot be greater than ${max} in length\",\n range: \"'${name}' must be between ${min} and ${max} in length\"\n },\n pattern: {\n mismatch: \"'${name}' does not match pattern ${pattern}\"\n }\n};","export default function get(entity, path) {\n var current = entity;\n\n for (var i = 0; i < path.length; i += 1) {\n if (current === null || current === undefined) {\n return undefined;\n }\n\n current = current[path[i]];\n }\n\n return current;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport get from './get';\n\nfunction internalSet(entity, paths, value, removeIfUndefined) {\n if (!paths.length) {\n return value;\n }\n\n var _paths = _toArray(paths),\n path = _paths[0],\n restPath = _paths.slice(1);\n\n var clone;\n\n if (!entity && typeof path === 'number') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = _toConsumableArray(entity);\n } else {\n clone = _objectSpread({}, entity);\n } // Delete prop if `removeIfUndefined` and value is undefined\n\n\n if (removeIfUndefined && value === undefined && restPath.length === 1) {\n delete clone[path][restPath[0]];\n } else {\n clone[path] = internalSet(clone[path], restPath, value, removeIfUndefined);\n }\n\n return clone;\n}\n\nexport default function set(entity, paths, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n // Do nothing if `removeIfUndefined` and parent object not exist\n if (paths.length && removeIfUndefined && value === undefined && !get(entity, paths.slice(0, -1))) {\n return entity;\n }\n\n return internalSet(entity, paths, value, removeIfUndefined);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\nfunction cloneDeep(val) {\n if (Array.isArray(val)) {\n return cloneArrayDeep(val);\n } else if (_typeof(val) === 'object' && val !== null) {\n return cloneObjectDeep(val);\n }\n\n return val;\n}\n\nfunction cloneObjectDeep(val) {\n if (Object.getPrototypeOf(val) === Object.prototype) {\n var res = {};\n\n for (var key in val) {\n res[key] = cloneDeep(val[key]);\n }\n\n return res;\n }\n\n return val;\n}\n\nfunction cloneArrayDeep(val) {\n return val.map(function (item) {\n return cloneDeep(item);\n });\n}\n\nexport default cloneDeep;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport get from \"rc-util/es/utils/get\";\nimport set from \"rc-util/es/utils/set\";\nimport { toArray } from './typeUtil';\nimport cloneDeep from '../utils/cloneDeep';\n/**\n * Convert name to internal supported format.\n * This function should keep since we still thinking if need support like `a.b.c` format.\n * 'a' => ['a']\n * 123 => [123]\n * ['a', 123] => ['a', 123]\n */\n\nexport function getNamePath(path) {\n return toArray(path);\n}\nexport function getValue(store, namePath) {\n var value = get(store, namePath);\n return value;\n}\nexport function setValue(store, namePath, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var newStore = set(store, namePath, value, removeIfUndefined);\n return newStore;\n}\nexport function cloneByNamePathList(store, namePathList) {\n var newStore = {};\n namePathList.forEach(function (namePath) {\n var value = getValue(store, namePath);\n newStore = setValue(newStore, namePath, value);\n });\n return newStore;\n}\nexport function containsNamePath(namePathList, namePath) {\n return namePathList && namePathList.some(function (path) {\n return matchNamePath(path, namePath);\n });\n}\n\nfunction isObject(obj) {\n return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\n/**\n * Copy values into store and return a new values object\n * ({ a: 1, b: { c: 2 } }, { a: 4, b: { d: 5 } }) => { a: 4, b: { c: 2, d: 5 } }\n */\n\n\nfunction internalSetValues(store, values) {\n var newStore = Array.isArray(store) ? _toConsumableArray(store) : _objectSpread({}, store);\n\n if (!values) {\n return newStore;\n }\n\n Object.keys(values).forEach(function (key) {\n var prevValue = newStore[key];\n var value = values[key]; // If both are object (but target is not array), we use recursion to set deep value\n\n var recursive = isObject(prevValue) && isObject(value);\n newStore[key] = recursive ? internalSetValues(prevValue, value || {}) : cloneDeep(value); // Clone deep for arrays\n });\n return newStore;\n}\n\nexport function setValues(store) {\n for (var _len = arguments.length, restValues = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n restValues[_key - 1] = arguments[_key];\n }\n\n return restValues.reduce(function (current, newStore) {\n return internalSetValues(current, newStore);\n }, store);\n}\nexport function matchNamePath(namePath, changedNamePath) {\n if (!namePath || !changedNamePath || namePath.length !== changedNamePath.length) {\n return false;\n }\n\n return namePath.every(function (nameUnit, i) {\n return changedNamePath[i] === nameUnit;\n });\n}\nexport function isSimilar(source, target) {\n if (source === target) {\n return true;\n }\n\n if (!source && target || source && !target) {\n return false;\n }\n\n if (!source || !target || _typeof(source) !== 'object' || _typeof(target) !== 'object') {\n return false;\n }\n\n var sourceKeys = Object.keys(source);\n var targetKeys = Object.keys(target);\n var keys = new Set([].concat(sourceKeys, targetKeys));\n return _toConsumableArray(keys).every(function (key) {\n var sourceValue = source[key];\n var targetValue = target[key];\n\n if (typeof sourceValue === 'function' && typeof targetValue === 'function') {\n return true;\n }\n\n return sourceValue === targetValue;\n });\n}\nexport function defaultGetValueFromEvent(valuePropName) {\n var event = arguments.length <= 1 ? undefined : arguments[1];\n\n if (event && event.target && _typeof(event.target) === 'object' && valuePropName in event.target) {\n return event.target[valuePropName];\n }\n\n return event;\n}\n/**\n * Moves an array item from one position in an array to another.\n *\n * Note: This is a pure function so a new array will be returned, instead\n * of altering the array argument.\n *\n * @param array Array in which to move an item. (required)\n * @param moveIndex The index of the item to move. (required)\n * @param toIndex The index to move item at moveIndex to. (required)\n */\n\nexport function move(array, moveIndex, toIndex) {\n var length = array.length;\n\n if (moveIndex < 0 || moveIndex >= length || toIndex < 0 || toIndex >= length) {\n return array;\n }\n\n var item = array[moveIndex];\n var diff = moveIndex - toIndex;\n\n if (diff > 0) {\n // move left\n return [].concat(_toConsumableArray(array.slice(0, toIndex)), [item], _toConsumableArray(array.slice(toIndex, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, length)));\n }\n\n if (diff < 0) {\n // move right\n return [].concat(_toConsumableArray(array.slice(0, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, toIndex + 1)), [item], _toConsumableArray(array.slice(toIndex + 1, length)));\n }\n\n return array;\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport RawAsyncValidator from 'async-validator';\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { defaultValidateMessages } from './messages';\nimport { setValues } from './valueUtil'; // Remove incorrect original ts define\n\nvar AsyncValidator = RawAsyncValidator;\n/**\n * Replace with template.\n * `I'm ${name}` + { name: 'bamboo' } = I'm bamboo\n */\n\nfunction replaceMessage(template, kv) {\n return template.replace(/\\$\\{\\w+\\}/g, function (str) {\n var key = str.slice(2, -1);\n return kv[key];\n });\n}\n\nvar CODE_LOGIC_ERROR = 'CODE_LOGIC_ERROR';\n\nfunction validateRule(_x, _x2, _x3, _x4, _x5) {\n return _validateRule.apply(this, arguments);\n}\n/**\n * We use `async-validator` to validate the value.\n * But only check one value in a time to avoid namePath validate issue.\n */\n\n\nfunction _validateRule() {\n _validateRule = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(name, value, rule, options, messageVariables) {\n var cloneRule, originValidator, subRuleField, validator, messages, result, subResults, kv, fillVariableResult;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n cloneRule = _objectSpread({}, rule); // Bug of `async-validator`\n // https://github.com/react-component/field-form/issues/316\n // https://github.com/react-component/field-form/issues/313\n\n delete cloneRule.ruleIndex;\n\n if (cloneRule.validator) {\n originValidator = cloneRule.validator;\n\n cloneRule.validator = function () {\n try {\n return originValidator.apply(void 0, arguments);\n } catch (error) {\n console.error(error);\n return Promise.reject(CODE_LOGIC_ERROR);\n }\n };\n } // We should special handle array validate\n\n\n subRuleField = null;\n\n if (cloneRule && cloneRule.type === 'array' && cloneRule.defaultField) {\n subRuleField = cloneRule.defaultField;\n delete cloneRule.defaultField;\n }\n\n validator = new AsyncValidator(_defineProperty({}, name, [cloneRule]));\n messages = setValues({}, defaultValidateMessages, options.validateMessages);\n validator.messages(messages);\n result = [];\n _context2.prev = 9;\n _context2.next = 12;\n return Promise.resolve(validator.validate(_defineProperty({}, name, value), _objectSpread({}, options)));\n\n case 12:\n _context2.next = 17;\n break;\n\n case 14:\n _context2.prev = 14;\n _context2.t0 = _context2[\"catch\"](9);\n\n if (_context2.t0.errors) {\n result = _context2.t0.errors.map(function (_ref4, index) {\n var message = _ref4.message;\n var mergedMessage = message === CODE_LOGIC_ERROR ? messages.default : message;\n return /*#__PURE__*/React.isValidElement(mergedMessage) ?\n /*#__PURE__*/\n // Wrap ReactNode with `key`\n React.cloneElement(mergedMessage, {\n key: \"error_\".concat(index)\n }) : mergedMessage;\n });\n }\n\n case 17:\n if (!(!result.length && subRuleField)) {\n _context2.next = 22;\n break;\n }\n\n _context2.next = 20;\n return Promise.all(value.map(function (subValue, i) {\n return validateRule(\"\".concat(name, \".\").concat(i), subValue, subRuleField, options, messageVariables);\n }));\n\n case 20:\n subResults = _context2.sent;\n return _context2.abrupt(\"return\", subResults.reduce(function (prev, errors) {\n return [].concat(_toConsumableArray(prev), _toConsumableArray(errors));\n }, []));\n\n case 22:\n // Replace message with variables\n kv = _objectSpread(_objectSpread({}, rule), {}, {\n name: name,\n enum: (rule.enum || []).join(', ')\n }, messageVariables);\n fillVariableResult = result.map(function (error) {\n if (typeof error === 'string') {\n return replaceMessage(error, kv);\n }\n\n return error;\n });\n return _context2.abrupt(\"return\", fillVariableResult);\n\n case 25:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[9, 14]]);\n }));\n return _validateRule.apply(this, arguments);\n}\n\nexport function validateRules(namePath, value, rules, options, validateFirst, messageVariables) {\n var name = namePath.join('.'); // Fill rule with context\n\n var filledRules = rules.map(function (currentRule, ruleIndex) {\n var originValidatorFunc = currentRule.validator;\n\n var cloneRule = _objectSpread(_objectSpread({}, currentRule), {}, {\n ruleIndex: ruleIndex\n }); // Replace validator if needed\n\n\n if (originValidatorFunc) {\n cloneRule.validator = function (rule, val, callback) {\n var hasPromise = false; // Wrap callback only accept when promise not provided\n\n var wrappedCallback = function wrappedCallback() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Wait a tick to make sure return type is a promise\n Promise.resolve().then(function () {\n warning(!hasPromise, 'Your validator function has already return a promise. `callback` will be ignored.');\n\n if (!hasPromise) {\n callback.apply(void 0, args);\n }\n });\n }; // Get promise\n\n\n var promise = originValidatorFunc(rule, val, wrappedCallback);\n hasPromise = promise && typeof promise.then === 'function' && typeof promise.catch === 'function';\n /**\n * 1. Use promise as the first priority.\n * 2. If promise not exist, use callback with warning instead\n */\n\n warning(hasPromise, '`callback` is deprecated. Please return a promise instead.');\n\n if (hasPromise) {\n promise.then(function () {\n callback();\n }).catch(function (err) {\n callback(err || ' ');\n });\n }\n };\n }\n\n return cloneRule;\n }).sort(function (_ref, _ref2) {\n var w1 = _ref.warningOnly,\n i1 = _ref.ruleIndex;\n var w2 = _ref2.warningOnly,\n i2 = _ref2.ruleIndex;\n\n if (!!w1 === !!w2) {\n // Let keep origin order\n return i1 - i2;\n }\n\n if (w1) {\n return 1;\n }\n\n return -1;\n }); // Do validate rules\n\n var summaryPromise;\n\n if (validateFirst === true) {\n // >>>>> Validate by serialization\n summaryPromise = new Promise( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(resolve, reject) {\n var i, rule, errors;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n i = 0;\n\n case 1:\n if (!(i < filledRules.length)) {\n _context.next = 12;\n break;\n }\n\n rule = filledRules[i];\n _context.next = 5;\n return validateRule(name, value, rule, options, messageVariables);\n\n case 5:\n errors = _context.sent;\n\n if (!errors.length) {\n _context.next = 9;\n break;\n }\n\n reject([{\n errors: errors,\n rule: rule\n }]);\n return _context.abrupt(\"return\");\n\n case 9:\n i += 1;\n _context.next = 1;\n break;\n\n case 12:\n /* eslint-enable */\n resolve([]);\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x6, _x7) {\n return _ref3.apply(this, arguments);\n };\n }());\n } else {\n // >>>>> Validate by parallel\n var rulePromises = filledRules.map(function (rule) {\n return validateRule(name, value, rule, options, messageVariables).then(function (errors) {\n return {\n errors: errors,\n rule: rule\n };\n });\n });\n summaryPromise = (validateFirst ? finishOnFirstFailed(rulePromises) : finishOnAllFailed(rulePromises)).then(function (errors) {\n // Always change to rejection for Field to catch\n return Promise.reject(errors);\n });\n } // Internal catch error to avoid console error log.\n\n\n summaryPromise.catch(function (e) {\n return e;\n });\n return summaryPromise;\n}\n\nfunction finishOnAllFailed(_x8) {\n return _finishOnAllFailed.apply(this, arguments);\n}\n\nfunction _finishOnAllFailed() {\n _finishOnAllFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(rulePromises) {\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", Promise.all(rulePromises).then(function (errorsList) {\n var _ref5;\n\n var errors = (_ref5 = []).concat.apply(_ref5, _toConsumableArray(errorsList));\n\n return errors;\n }));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return _finishOnAllFailed.apply(this, arguments);\n}\n\nfunction finishOnFirstFailed(_x9) {\n return _finishOnFirstFailed.apply(this, arguments);\n}\n\nfunction _finishOnFirstFailed() {\n _finishOnFirstFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(rulePromises) {\n var count;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n count = 0;\n return _context4.abrupt(\"return\", new Promise(function (resolve) {\n rulePromises.forEach(function (promise) {\n promise.then(function (ruleError) {\n if (ruleError.errors.length) {\n resolve([ruleError]);\n }\n\n count += 1;\n\n if (count === rulePromises.length) {\n resolve([]);\n }\n });\n });\n }));\n\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n return _finishOnFirstFailed.apply(this, arguments);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"name\"];\nimport toChildrenArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport FieldContext, { HOOK_MARK } from './FieldContext';\nimport { toArray } from './utils/typeUtil';\nimport { validateRules } from './utils/validateUtil';\nimport { containsNamePath, defaultGetValueFromEvent, getNamePath, getValue } from './utils/valueUtil';\nvar EMPTY_ERRORS = [];\n\nfunction requireUpdate(shouldUpdate, prev, next, prevValue, nextValue, info) {\n if (typeof shouldUpdate === 'function') {\n return shouldUpdate(prev, next, 'source' in info ? {\n source: info.source\n } : {});\n }\n\n return prevValue !== nextValue;\n} // We use Class instead of Hooks here since it will cost much code by using Hooks.\n\n\nvar Field = /*#__PURE__*/function (_React$Component) {\n _inherits(Field, _React$Component);\n\n var _super = _createSuper(Field);\n\n /**\n * Follow state should not management in State since it will async update by React.\n * This makes first render of form can not get correct state value.\n */\n\n /**\n * Mark when touched & validated. Currently only used for `dependencies`.\n * Note that we do not think field with `initialValue` is dirty\n * but this will be by `isFieldDirty` func.\n */\n // ============================== Subscriptions ==============================\n function Field(props) {\n var _this;\n\n _classCallCheck(this, Field);\n\n _this = _super.call(this, props); // Register on init\n\n _this.state = {\n resetCount: 0\n };\n _this.cancelRegisterFunc = null;\n _this.mounted = false;\n _this.touched = false;\n _this.dirty = false;\n _this.validatePromise = null;\n _this.prevValidating = void 0;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n\n _this.cancelRegister = function () {\n var _this$props = _this.props,\n preserve = _this$props.preserve,\n isListField = _this$props.isListField,\n name = _this$props.name;\n\n if (_this.cancelRegisterFunc) {\n _this.cancelRegisterFunc(isListField, preserve, getNamePath(name));\n }\n\n _this.cancelRegisterFunc = null;\n };\n\n _this.getNamePath = function () {\n var _this$props2 = _this.props,\n name = _this$props2.name,\n fieldContext = _this$props2.fieldContext;\n var _fieldContext$prefixN = fieldContext.prefixName,\n prefixName = _fieldContext$prefixN === void 0 ? [] : _fieldContext$prefixN;\n return name !== undefined ? [].concat(_toConsumableArray(prefixName), _toConsumableArray(name)) : [];\n };\n\n _this.getRules = function () {\n var _this$props3 = _this.props,\n _this$props3$rules = _this$props3.rules,\n rules = _this$props3$rules === void 0 ? [] : _this$props3$rules,\n fieldContext = _this$props3.fieldContext;\n return rules.map(function (rule) {\n if (typeof rule === 'function') {\n return rule(fieldContext);\n }\n\n return rule;\n });\n };\n\n _this.refresh = function () {\n if (!_this.mounted) return;\n /**\n * Clean up current node.\n */\n\n _this.setState(function (_ref) {\n var resetCount = _ref.resetCount;\n return {\n resetCount: resetCount + 1\n };\n });\n };\n\n _this.triggerMetaEvent = function (destroy) {\n var onMetaChange = _this.props.onMetaChange;\n onMetaChange === null || onMetaChange === void 0 ? void 0 : onMetaChange(_objectSpread(_objectSpread({}, _this.getMeta()), {}, {\n destroy: destroy\n }));\n };\n\n _this.onStoreChange = function (prevStore, namePathList, info) {\n var _this$props4 = _this.props,\n shouldUpdate = _this$props4.shouldUpdate,\n _this$props4$dependen = _this$props4.dependencies,\n dependencies = _this$props4$dependen === void 0 ? [] : _this$props4$dependen,\n onReset = _this$props4.onReset;\n var store = info.store;\n\n var namePath = _this.getNamePath();\n\n var prevValue = _this.getValue(prevStore);\n\n var curValue = _this.getValue(store);\n\n var namePathMatch = namePathList && containsNamePath(namePathList, namePath); // `setFieldsValue` is a quick access to update related status\n\n if (info.type === 'valueUpdate' && info.source === 'external' && prevValue !== curValue) {\n _this.touched = true;\n _this.dirty = true;\n _this.validatePromise = null;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n\n _this.triggerMetaEvent();\n }\n\n switch (info.type) {\n case 'reset':\n if (!namePathList || namePathMatch) {\n // Clean up state\n _this.touched = false;\n _this.dirty = false;\n _this.validatePromise = null;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n\n _this.triggerMetaEvent();\n\n onReset === null || onReset === void 0 ? void 0 : onReset();\n\n _this.refresh();\n\n return;\n }\n\n break;\n\n /**\n * In case field with `preserve = false` nest deps like:\n * - A = 1 => show B\n * - B = 1 => show C\n * - Reset A, need clean B, C\n */\n\n case 'remove':\n {\n if (shouldUpdate) {\n _this.reRender();\n\n return;\n }\n\n break;\n }\n\n case 'setField':\n {\n if (namePathMatch) {\n var data = info.data;\n\n if ('touched' in data) {\n _this.touched = data.touched;\n }\n\n if ('validating' in data && !('originRCField' in data)) {\n _this.validatePromise = data.validating ? Promise.resolve([]) : null;\n }\n\n if ('errors' in data) {\n _this.errors = data.errors || EMPTY_ERRORS;\n }\n\n if ('warnings' in data) {\n _this.warnings = data.warnings || EMPTY_ERRORS;\n }\n\n _this.dirty = true;\n\n _this.triggerMetaEvent();\n\n _this.reRender();\n\n return;\n } // Handle update by `setField` with `shouldUpdate`\n\n\n if (shouldUpdate && !namePath.length && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n\n return;\n }\n\n break;\n }\n\n case 'dependenciesUpdate':\n {\n /**\n * Trigger when marked `dependencies` updated. Related fields will all update\n */\n var dependencyList = dependencies.map(getNamePath); // No need for `namePathMath` check and `shouldUpdate` check, since `valueUpdate` will be\n // emitted earlier and they will work there\n // If set it may cause unnecessary twice rerendering\n\n if (dependencyList.some(function (dependency) {\n return containsNamePath(info.relatedFields, dependency);\n })) {\n _this.reRender();\n\n return;\n }\n\n break;\n }\n\n default:\n // 1. If `namePath` exists in `namePathList`, means it's related value and should update\n // For example <List name=\"list\"><Field name={['list', 0]}></List>\n // If `namePathList` is [['list']] (List value update), Field should be updated\n // If `namePathList` is [['list', 0]] (Field value update), List shouldn't be updated\n // 2.\n // 2.1 If `dependencies` is set, `name` is not set and `shouldUpdate` is not set,\n // don't use `shouldUpdate`. `dependencies` is view as a shortcut if `shouldUpdate`\n // is not provided\n // 2.2 If `shouldUpdate` provided, use customize logic to update the field\n // else to check if value changed\n if (namePathMatch || (!dependencies.length || namePath.length || shouldUpdate) && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n\n return;\n }\n\n break;\n }\n\n if (shouldUpdate === true) {\n _this.reRender();\n }\n };\n\n _this.validateRules = function (options) {\n // We should fixed namePath & value to avoid developer change then by form function\n var namePath = _this.getNamePath();\n\n var currentValue = _this.getValue(); // Force change to async to avoid rule OOD under renderProps field\n\n\n var rootPromise = Promise.resolve().then(function () {\n if (!_this.mounted) {\n return [];\n }\n\n var _this$props5 = _this.props,\n _this$props5$validate = _this$props5.validateFirst,\n validateFirst = _this$props5$validate === void 0 ? false : _this$props5$validate,\n messageVariables = _this$props5.messageVariables;\n\n var _ref2 = options || {},\n triggerName = _ref2.triggerName;\n\n var filteredRules = _this.getRules();\n\n if (triggerName) {\n filteredRules = filteredRules.filter(function (rule) {\n var validateTrigger = rule.validateTrigger;\n\n if (!validateTrigger) {\n return true;\n }\n\n var triggerList = toArray(validateTrigger);\n return triggerList.includes(triggerName);\n });\n }\n\n var promise = validateRules(namePath, currentValue, filteredRules, options, validateFirst, messageVariables);\n promise.catch(function (e) {\n return e;\n }).then(function () {\n var ruleErrors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : EMPTY_ERRORS;\n\n if (_this.validatePromise === rootPromise) {\n var _ruleErrors$forEach;\n\n _this.validatePromise = null; // Get errors & warnings\n\n var nextErrors = [];\n var nextWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 ? void 0 : _ruleErrors$forEach.call(ruleErrors, function (_ref3) {\n var warningOnly = _ref3.rule.warningOnly,\n _ref3$errors = _ref3.errors,\n errors = _ref3$errors === void 0 ? EMPTY_ERRORS : _ref3$errors;\n\n if (warningOnly) {\n nextWarnings.push.apply(nextWarnings, _toConsumableArray(errors));\n } else {\n nextErrors.push.apply(nextErrors, _toConsumableArray(errors));\n }\n });\n _this.errors = nextErrors;\n _this.warnings = nextWarnings;\n\n _this.triggerMetaEvent();\n\n _this.reRender();\n }\n });\n return promise;\n });\n _this.validatePromise = rootPromise;\n _this.dirty = true;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n\n _this.triggerMetaEvent(); // Force trigger re-render since we need sync renderProps with new meta\n\n\n _this.reRender();\n\n return rootPromise;\n };\n\n _this.isFieldValidating = function () {\n return !!_this.validatePromise;\n };\n\n _this.isFieldTouched = function () {\n return _this.touched;\n };\n\n _this.isFieldDirty = function () {\n // Touched or validate or has initialValue\n if (_this.dirty || _this.props.initialValue !== undefined) {\n return true;\n } // Form set initialValue\n\n\n var fieldContext = _this.props.fieldContext;\n\n var _fieldContext$getInte = fieldContext.getInternalHooks(HOOK_MARK),\n getInitialValue = _fieldContext$getInte.getInitialValue;\n\n if (getInitialValue(_this.getNamePath()) !== undefined) {\n return true;\n }\n\n return false;\n };\n\n _this.getErrors = function () {\n return _this.errors;\n };\n\n _this.getWarnings = function () {\n return _this.warnings;\n };\n\n _this.isListField = function () {\n return _this.props.isListField;\n };\n\n _this.isList = function () {\n return _this.props.isList;\n };\n\n _this.isPreserve = function () {\n return _this.props.preserve;\n };\n\n _this.getMeta = function () {\n // Make error & validating in cache to save perf\n _this.prevValidating = _this.isFieldValidating();\n var meta = {\n touched: _this.isFieldTouched(),\n validating: _this.prevValidating,\n errors: _this.errors,\n warnings: _this.warnings,\n name: _this.getNamePath()\n };\n return meta;\n };\n\n _this.getOnlyChild = function (children) {\n // Support render props\n if (typeof children === 'function') {\n var meta = _this.getMeta();\n\n return _objectSpread(_objectSpread({}, _this.getOnlyChild(children(_this.getControlled(), meta, _this.props.fieldContext))), {}, {\n isFunction: true\n });\n } // Filed element only\n\n\n var childList = toChildrenArray(children);\n\n if (childList.length !== 1 || ! /*#__PURE__*/React.isValidElement(childList[0])) {\n return {\n child: childList,\n isFunction: false\n };\n }\n\n return {\n child: childList[0],\n isFunction: false\n };\n };\n\n _this.getValue = function (store) {\n var getFieldsValue = _this.props.fieldContext.getFieldsValue;\n\n var namePath = _this.getNamePath();\n\n return getValue(store || getFieldsValue(true), namePath);\n };\n\n _this.getControlled = function () {\n var childProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _this$props6 = _this.props,\n trigger = _this$props6.trigger,\n validateTrigger = _this$props6.validateTrigger,\n getValueFromEvent = _this$props6.getValueFromEvent,\n normalize = _this$props6.normalize,\n valuePropName = _this$props6.valuePropName,\n getValueProps = _this$props6.getValueProps,\n fieldContext = _this$props6.fieldContext;\n var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : fieldContext.validateTrigger;\n\n var namePath = _this.getNamePath();\n\n var getInternalHooks = fieldContext.getInternalHooks,\n getFieldsValue = fieldContext.getFieldsValue;\n\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n dispatch = _getInternalHooks.dispatch;\n\n var value = _this.getValue();\n\n var mergedGetValueProps = getValueProps || function (val) {\n return _defineProperty({}, valuePropName, val);\n }; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\n var originTriggerFunc = childProps[trigger];\n\n var control = _objectSpread(_objectSpread({}, childProps), mergedGetValueProps(value)); // Add trigger\n\n\n control[trigger] = function () {\n // Mark as touched\n _this.touched = true;\n _this.dirty = true;\n\n _this.triggerMetaEvent();\n\n var newValue;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (getValueFromEvent) {\n newValue = getValueFromEvent.apply(void 0, args);\n } else {\n newValue = defaultGetValueFromEvent.apply(void 0, [valuePropName].concat(args));\n }\n\n if (normalize) {\n newValue = normalize(newValue, value, getFieldsValue(true));\n }\n\n dispatch({\n type: 'updateValue',\n namePath: namePath,\n value: newValue\n });\n\n if (originTriggerFunc) {\n originTriggerFunc.apply(void 0, args);\n }\n }; // Add validateTrigger\n\n\n var validateTriggerList = toArray(mergedValidateTrigger || []);\n validateTriggerList.forEach(function (triggerName) {\n // Wrap additional function of component, so that we can get latest value from store\n var originTrigger = control[triggerName];\n\n control[triggerName] = function () {\n if (originTrigger) {\n originTrigger.apply(void 0, arguments);\n } // Always use latest rules\n\n\n var rules = _this.props.rules;\n\n if (rules && rules.length) {\n // We dispatch validate to root,\n // since it will update related data with other field with same name\n dispatch({\n type: 'validateField',\n namePath: namePath,\n triggerName: triggerName\n });\n }\n };\n });\n return control;\n };\n\n if (props.fieldContext) {\n var getInternalHooks = props.fieldContext.getInternalHooks;\n\n var _getInternalHooks2 = getInternalHooks(HOOK_MARK),\n initEntityValue = _getInternalHooks2.initEntityValue;\n\n initEntityValue(_assertThisInitialized(_this));\n }\n\n return _this;\n }\n\n _createClass(Field, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props7 = this.props,\n shouldUpdate = _this$props7.shouldUpdate,\n fieldContext = _this$props7.fieldContext;\n this.mounted = true; // Register on init\n\n if (fieldContext) {\n var getInternalHooks = fieldContext.getInternalHooks;\n\n var _getInternalHooks3 = getInternalHooks(HOOK_MARK),\n registerField = _getInternalHooks3.registerField;\n\n this.cancelRegisterFunc = registerField(this);\n } // One more render for component in case fields not ready\n\n\n if (shouldUpdate === true) {\n this.reRender();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelRegister();\n this.triggerMetaEvent(true);\n this.mounted = false;\n }\n }, {\n key: \"reRender\",\n value: function reRender() {\n if (!this.mounted) return;\n this.forceUpdate();\n }\n }, {\n key: \"render\",\n value: function render() {\n var resetCount = this.state.resetCount;\n var children = this.props.children;\n\n var _this$getOnlyChild = this.getOnlyChild(children),\n child = _this$getOnlyChild.child,\n isFunction = _this$getOnlyChild.isFunction; // Not need to `cloneElement` since user can handle this in render function self\n\n\n var returnChildNode;\n\n if (isFunction) {\n returnChildNode = child;\n } else if ( /*#__PURE__*/React.isValidElement(child)) {\n returnChildNode = /*#__PURE__*/React.cloneElement(child, this.getControlled(child.props));\n } else {\n warning(!child, '`children` of Field is not validate ReactElement.');\n returnChildNode = child;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: resetCount\n }, returnChildNode);\n }\n }]);\n\n return Field;\n}(React.Component);\n\nField.contextType = FieldContext;\nField.defaultProps = {\n trigger: 'onChange',\n valuePropName: 'value'\n};\n\nfunction WrapperField(_ref5) {\n var name = _ref5.name,\n restProps = _objectWithoutProperties(_ref5, _excluded);\n\n var fieldContext = React.useContext(FieldContext);\n var namePath = name !== undefined ? getNamePath(name) : undefined;\n var key = 'keep';\n\n if (!restProps.isListField) {\n key = \"_\".concat((namePath || []).join('_'));\n } // Warning if it's a directly list field.\n // We can still support multiple level field preserve.\n\n\n if (process.env.NODE_ENV !== 'production' && restProps.preserve === false && restProps.isListField && namePath.length <= 1) {\n warning(false, '`preserve` should not apply on Form.List fields.');\n }\n\n return /*#__PURE__*/React.createElement(Field, _extends({\n key: key,\n name: namePath\n }, restProps, {\n fieldContext: fieldContext\n }));\n}\n\nexport default WrapperField;","import * as React from 'react';\nvar ListContext = /*#__PURE__*/React.createContext(null);\nexport default ListContext;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport FieldContext from './FieldContext';\nimport Field from './Field';\nimport { move as _move, getNamePath } from './utils/valueUtil';\nimport ListContext from './ListContext';\n\nvar List = function List(_ref) {\n var name = _ref.name,\n initialValue = _ref.initialValue,\n children = _ref.children,\n rules = _ref.rules,\n validateTrigger = _ref.validateTrigger;\n var context = React.useContext(FieldContext);\n var keyRef = React.useRef({\n keys: [],\n id: 0\n });\n var keyManager = keyRef.current;\n var prefixName = React.useMemo(function () {\n var parentPrefixName = getNamePath(context.prefixName) || [];\n return [].concat(_toConsumableArray(parentPrefixName), _toConsumableArray(getNamePath(name)));\n }, [context.prefixName, name]);\n var fieldContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, context), {}, {\n prefixName: prefixName\n });\n }, [context, prefixName]); // List context\n\n var listContext = React.useMemo(function () {\n return {\n getKey: function getKey(namePath) {\n var len = prefixName.length;\n var pathName = namePath[len];\n return [keyManager.keys[pathName], namePath.slice(len + 1)];\n }\n };\n }, [prefixName]); // User should not pass `children` as other type.\n\n if (typeof children !== 'function') {\n warning(false, 'Form.List only accepts function as children.');\n return null;\n }\n\n var shouldUpdate = function shouldUpdate(prevValue, nextValue, _ref2) {\n var source = _ref2.source;\n\n if (source === 'internal') {\n return false;\n }\n\n return prevValue !== nextValue;\n };\n\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: listContext\n }, /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: fieldContext\n }, /*#__PURE__*/React.createElement(Field, {\n name: [],\n shouldUpdate: shouldUpdate,\n rules: rules,\n validateTrigger: validateTrigger,\n initialValue: initialValue,\n isList: true\n }, function (_ref3, meta) {\n var _ref3$value = _ref3.value,\n value = _ref3$value === void 0 ? [] : _ref3$value,\n onChange = _ref3.onChange;\n var getFieldValue = context.getFieldValue;\n\n var getNewValue = function getNewValue() {\n var values = getFieldValue(prefixName || []);\n return values || [];\n };\n /**\n * Always get latest value in case user update fields by `form` api.\n */\n\n\n var operations = {\n add: function add(defaultValue, index) {\n // Mapping keys\n var newValue = getNewValue();\n\n if (index >= 0 && index <= newValue.length) {\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys.slice(0, index)), [keyManager.id], _toConsumableArray(keyManager.keys.slice(index)));\n onChange([].concat(_toConsumableArray(newValue.slice(0, index)), [defaultValue], _toConsumableArray(newValue.slice(index))));\n } else {\n if (process.env.NODE_ENV !== 'production' && (index < 0 || index > newValue.length)) {\n warning(false, 'The second parameter of the add function should be a valid positive number.');\n }\n\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys), [keyManager.id]);\n onChange([].concat(_toConsumableArray(newValue), [defaultValue]));\n }\n\n keyManager.id += 1;\n },\n remove: function remove(index) {\n var newValue = getNewValue();\n var indexSet = new Set(Array.isArray(index) ? index : [index]);\n\n if (indexSet.size <= 0) {\n return;\n }\n\n keyManager.keys = keyManager.keys.filter(function (_, keysIndex) {\n return !indexSet.has(keysIndex);\n }); // Trigger store change\n\n onChange(newValue.filter(function (_, valueIndex) {\n return !indexSet.has(valueIndex);\n }));\n },\n move: function move(from, to) {\n if (from === to) {\n return;\n }\n\n var newValue = getNewValue(); // Do not handle out of range\n\n if (from < 0 || from >= newValue.length || to < 0 || to >= newValue.length) {\n return;\n }\n\n keyManager.keys = _move(keyManager.keys, from, to); // Trigger store change\n\n onChange(_move(newValue, from, to));\n }\n };\n var listValue = value || [];\n\n if (!Array.isArray(listValue)) {\n listValue = [];\n\n if (process.env.NODE_ENV !== 'production') {\n warning(false, \"Current value of '\".concat(prefixName.join(' > '), \"' is not an array type.\"));\n }\n }\n\n return children(listValue.map(function (__, index) {\n var key = keyManager.keys[index];\n\n if (key === undefined) {\n keyManager.keys[index] = keyManager.id;\n key = keyManager.keys[index];\n keyManager.id += 1;\n }\n\n return {\n name: index,\n key: key,\n isListField: true\n };\n }), operations, meta);\n })));\n};\n\nexport default List;","export function allPromiseFinish(promiseList) {\n var hasError = false;\n var count = promiseList.length;\n var results = [];\n\n if (!promiseList.length) {\n return Promise.resolve([]);\n }\n\n return new Promise(function (resolve, reject) {\n promiseList.forEach(function (promise, index) {\n promise.catch(function (e) {\n hasError = true;\n return e;\n }).then(function (result) {\n count -= 1;\n results[index] = result;\n\n if (count > 0) {\n return;\n }\n\n if (hasError) {\n reject(results);\n }\n\n resolve(results);\n });\n });\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar SPLIT = '__@field_split__';\n/**\n * Convert name path into string to fast the fetch speed of Map.\n */\n\nfunction normalize(namePath) {\n return namePath.map(function (cell) {\n return \"\".concat(_typeof(cell), \":\").concat(cell);\n }) // Magic split\n .join(SPLIT);\n}\n/**\n * NameMap like a `Map` but accepts `string[]` as key.\n */\n\n\nvar NameMap = /*#__PURE__*/function () {\n function NameMap() {\n _classCallCheck(this, NameMap);\n\n this.kvs = new Map();\n }\n\n _createClass(NameMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.kvs.set(normalize(key), value);\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.kvs.get(normalize(key));\n }\n }, {\n key: \"update\",\n value: function update(key, updater) {\n var origin = this.get(key);\n var next = updater(origin);\n\n if (!next) {\n this.delete(key);\n } else {\n this.set(key, next);\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n this.kvs.delete(normalize(key));\n } // Since we only use this in test, let simply realize this\n\n }, {\n key: \"map\",\n value: function map(callback) {\n return _toConsumableArray(this.kvs.entries()).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n var cells = key.split(SPLIT);\n return callback({\n key: cells.map(function (cell) {\n var _cell$match = cell.match(/^([^:]*):(.*)$/),\n _cell$match2 = _slicedToArray(_cell$match, 3),\n type = _cell$match2[1],\n unit = _cell$match2[2];\n\n return type === 'number' ? Number(unit) : unit;\n }),\n value: value\n });\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var json = {};\n this.map(function (_ref3) {\n var key = _ref3.key,\n value = _ref3.value;\n json[key.join('.')] = value;\n return null;\n });\n return json;\n }\n }]);\n\n return NameMap;\n}();\n\nexport default NameMap;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nvar _excluded = [\"name\", \"errors\"];\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { HOOK_MARK } from './FieldContext';\nimport { allPromiseFinish } from './utils/asyncUtil';\nimport cloneDeep from './utils/cloneDeep';\nimport { defaultValidateMessages } from './utils/messages';\nimport NameMap from './utils/NameMap';\nimport { cloneByNamePathList, containsNamePath, getNamePath, getValue, matchNamePath, setValue, setValues } from './utils/valueUtil';\nexport var FormStore = /*#__PURE__*/_createClass(function FormStore(forceRootUpdate) {\n var _this = this;\n\n _classCallCheck(this, FormStore);\n\n this.formHooked = false;\n this.forceRootUpdate = void 0;\n this.subscribable = true;\n this.store = {};\n this.fieldEntities = [];\n this.initialValues = {};\n this.callbacks = {};\n this.validateMessages = null;\n this.preserve = null;\n this.lastValidatePromise = null;\n\n this.getForm = function () {\n return {\n getFieldValue: _this.getFieldValue,\n getFieldsValue: _this.getFieldsValue,\n getFieldError: _this.getFieldError,\n getFieldWarning: _this.getFieldWarning,\n getFieldsError: _this.getFieldsError,\n isFieldsTouched: _this.isFieldsTouched,\n isFieldTouched: _this.isFieldTouched,\n isFieldValidating: _this.isFieldValidating,\n isFieldsValidating: _this.isFieldsValidating,\n resetFields: _this.resetFields,\n setFields: _this.setFields,\n setFieldValue: _this.setFieldValue,\n setFieldsValue: _this.setFieldsValue,\n validateFields: _this.validateFields,\n submit: _this.submit,\n _init: true,\n getInternalHooks: _this.getInternalHooks\n };\n };\n\n this.getInternalHooks = function (key) {\n if (key === HOOK_MARK) {\n _this.formHooked = true;\n return {\n dispatch: _this.dispatch,\n initEntityValue: _this.initEntityValue,\n registerField: _this.registerField,\n useSubscribe: _this.useSubscribe,\n setInitialValues: _this.setInitialValues,\n destroyForm: _this.destroyForm,\n setCallbacks: _this.setCallbacks,\n setValidateMessages: _this.setValidateMessages,\n getFields: _this.getFields,\n setPreserve: _this.setPreserve,\n getInitialValue: _this.getInitialValue,\n registerWatch: _this.registerWatch\n };\n }\n\n warning(false, '`getInternalHooks` is internal usage. Should not call directly.');\n return null;\n };\n\n this.useSubscribe = function (subscribable) {\n _this.subscribable = subscribable;\n };\n\n this.prevWithoutPreserves = null;\n\n this.setInitialValues = function (initialValues, init) {\n _this.initialValues = initialValues || {};\n\n if (init) {\n var _this$prevWithoutPres;\n\n var nextStore = setValues({}, initialValues, _this.store); // We will take consider prev form unmount fields.\n // When the field is not `preserve`, we need fill this with initialValues instead of store.\n // eslint-disable-next-line array-callback-return\n\n (_this$prevWithoutPres = _this.prevWithoutPreserves) === null || _this$prevWithoutPres === void 0 ? void 0 : _this$prevWithoutPres.map(function (_ref) {\n var namePath = _ref.key;\n nextStore = setValue(nextStore, namePath, getValue(initialValues, namePath));\n });\n _this.prevWithoutPreserves = null;\n\n _this.updateStore(nextStore);\n }\n };\n\n this.destroyForm = function () {\n var prevWithoutPreserves = new NameMap();\n\n _this.getFieldEntities(true).forEach(function (entity) {\n if (!_this.isMergedPreserve(entity.isPreserve())) {\n prevWithoutPreserves.set(entity.getNamePath(), true);\n }\n });\n\n _this.prevWithoutPreserves = prevWithoutPreserves;\n };\n\n this.getInitialValue = function (namePath) {\n var initValue = getValue(_this.initialValues, namePath); // Not cloneDeep when without `namePath`\n\n return namePath.length ? cloneDeep(initValue) : initValue;\n };\n\n this.setCallbacks = function (callbacks) {\n _this.callbacks = callbacks;\n };\n\n this.setValidateMessages = function (validateMessages) {\n _this.validateMessages = validateMessages;\n };\n\n this.setPreserve = function (preserve) {\n _this.preserve = preserve;\n };\n\n this.watchList = [];\n\n this.registerWatch = function (callback) {\n _this.watchList.push(callback);\n\n return function () {\n _this.watchList = _this.watchList.filter(function (fn) {\n return fn !== callback;\n });\n };\n };\n\n this.notifyWatch = function () {\n var namePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // No need to cost perf when nothing need to watch\n if (_this.watchList.length) {\n var values = _this.getFieldsValue();\n\n _this.watchList.forEach(function (callback) {\n callback(values, namePath);\n });\n }\n };\n\n this.timeoutId = null;\n\n this.warningUnhooked = function () {\n if (process.env.NODE_ENV !== 'production' && !_this.timeoutId && typeof window !== 'undefined') {\n _this.timeoutId = setTimeout(function () {\n _this.timeoutId = null;\n\n if (!_this.formHooked) {\n warning(false, 'Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?');\n }\n });\n }\n };\n\n this.updateStore = function (nextStore) {\n _this.store = nextStore;\n };\n\n this.getFieldEntities = function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!pure) {\n return _this.fieldEntities;\n }\n\n return _this.fieldEntities.filter(function (field) {\n return field.getNamePath().length;\n });\n };\n\n this.getFieldsMap = function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var cache = new NameMap();\n\n _this.getFieldEntities(pure).forEach(function (field) {\n var namePath = field.getNamePath();\n cache.set(namePath, field);\n });\n\n return cache;\n };\n\n this.getFieldEntitiesForNamePathList = function (nameList) {\n if (!nameList) {\n return _this.getFieldEntities(true);\n }\n\n var cache = _this.getFieldsMap(true);\n\n return nameList.map(function (name) {\n var namePath = getNamePath(name);\n return cache.get(namePath) || {\n INVALIDATE_NAME_PATH: getNamePath(name)\n };\n });\n };\n\n this.getFieldsValue = function (nameList, filterFunc) {\n _this.warningUnhooked();\n\n if (nameList === true && !filterFunc) {\n return _this.store;\n }\n\n var fieldEntities = _this.getFieldEntitiesForNamePathList(Array.isArray(nameList) ? nameList : null);\n\n var filteredNameList = [];\n fieldEntities.forEach(function (entity) {\n var _entity$isListField;\n\n var namePath = 'INVALIDATE_NAME_PATH' in entity ? entity.INVALIDATE_NAME_PATH : entity.getNamePath(); // Ignore when it's a list item and not specific the namePath,\n // since parent field is already take in count\n\n if (!nameList && ((_entity$isListField = entity.isListField) === null || _entity$isListField === void 0 ? void 0 : _entity$isListField.call(entity))) {\n return;\n }\n\n if (!filterFunc) {\n filteredNameList.push(namePath);\n } else {\n var meta = 'getMeta' in entity ? entity.getMeta() : null;\n\n if (filterFunc(meta)) {\n filteredNameList.push(namePath);\n }\n }\n });\n return cloneByNamePathList(_this.store, filteredNameList.map(getNamePath));\n };\n\n this.getFieldValue = function (name) {\n _this.warningUnhooked();\n\n var namePath = getNamePath(name);\n return getValue(_this.store, namePath);\n };\n\n this.getFieldsError = function (nameList) {\n _this.warningUnhooked();\n\n var fieldEntities = _this.getFieldEntitiesForNamePathList(nameList);\n\n return fieldEntities.map(function (entity, index) {\n if (entity && !('INVALIDATE_NAME_PATH' in entity)) {\n return {\n name: entity.getNamePath(),\n errors: entity.getErrors(),\n warnings: entity.getWarnings()\n };\n }\n\n return {\n name: getNamePath(nameList[index]),\n errors: [],\n warnings: []\n };\n });\n };\n\n this.getFieldError = function (name) {\n _this.warningUnhooked();\n\n var namePath = getNamePath(name);\n\n var fieldError = _this.getFieldsError([namePath])[0];\n\n return fieldError.errors;\n };\n\n this.getFieldWarning = function (name) {\n _this.warningUnhooked();\n\n var namePath = getNamePath(name);\n\n var fieldError = _this.getFieldsError([namePath])[0];\n\n return fieldError.warnings;\n };\n\n this.isFieldsTouched = function () {\n _this.warningUnhooked();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var arg0 = args[0],\n arg1 = args[1];\n var namePathList;\n var isAllFieldsTouched = false;\n\n if (args.length === 0) {\n namePathList = null;\n } else if (args.length === 1) {\n if (Array.isArray(arg0)) {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = false;\n } else {\n namePathList = null;\n isAllFieldsTouched = arg0;\n }\n } else {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = arg1;\n }\n\n var fieldEntities = _this.getFieldEntities(true);\n\n var isFieldTouched = function isFieldTouched(field) {\n return field.isFieldTouched();\n }; // ===== Will get fully compare when not config namePathList =====\n\n\n if (!namePathList) {\n return isAllFieldsTouched ? fieldEntities.every(isFieldTouched) : fieldEntities.some(isFieldTouched);\n } // Generate a nest tree for validate\n\n\n var map = new NameMap();\n namePathList.forEach(function (shortNamePath) {\n map.set(shortNamePath, []);\n });\n fieldEntities.forEach(function (field) {\n var fieldNamePath = field.getNamePath(); // Find matched entity and put into list\n\n namePathList.forEach(function (shortNamePath) {\n if (shortNamePath.every(function (nameUnit, i) {\n return fieldNamePath[i] === nameUnit;\n })) {\n map.update(shortNamePath, function (list) {\n return [].concat(_toConsumableArray(list), [field]);\n });\n }\n });\n }); // Check if NameMap value is touched\n\n var isNamePathListTouched = function isNamePathListTouched(entities) {\n return entities.some(isFieldTouched);\n };\n\n var namePathListEntities = map.map(function (_ref2) {\n var value = _ref2.value;\n return value;\n });\n return isAllFieldsTouched ? namePathListEntities.every(isNamePathListTouched) : namePathListEntities.some(isNamePathListTouched);\n };\n\n this.isFieldTouched = function (name) {\n _this.warningUnhooked();\n\n return _this.isFieldsTouched([name]);\n };\n\n this.isFieldsValidating = function (nameList) {\n _this.warningUnhooked();\n\n var fieldEntities = _this.getFieldEntities();\n\n if (!nameList) {\n return fieldEntities.some(function (testField) {\n return testField.isFieldValidating();\n });\n }\n\n var namePathList = nameList.map(getNamePath);\n return fieldEntities.some(function (testField) {\n var fieldNamePath = testField.getNamePath();\n return containsNamePath(namePathList, fieldNamePath) && testField.isFieldValidating();\n });\n };\n\n this.isFieldValidating = function (name) {\n _this.warningUnhooked();\n\n return _this.isFieldsValidating([name]);\n };\n\n this.resetWithFieldInitialValue = function () {\n var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Create cache\n var cache = new NameMap();\n\n var fieldEntities = _this.getFieldEntities(true);\n\n fieldEntities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n var namePath = field.getNamePath(); // Record only if has `initialValue`\n\n if (initialValue !== undefined) {\n var records = cache.get(namePath) || new Set();\n records.add({\n entity: field,\n value: initialValue\n });\n cache.set(namePath, records);\n }\n }); // Reset\n\n var resetWithFields = function resetWithFields(entities) {\n entities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n\n if (initialValue !== undefined) {\n var namePath = field.getNamePath();\n\n var formInitialValue = _this.getInitialValue(namePath);\n\n if (formInitialValue !== undefined) {\n // Warning if conflict with form initialValues and do not modify value\n warning(false, \"Form already set 'initialValues' with path '\".concat(namePath.join('.'), \"'. Field can not overwrite it.\"));\n } else {\n var records = cache.get(namePath);\n\n if (records && records.size > 1) {\n // Warning if multiple field set `initialValue`and do not modify value\n warning(false, \"Multiple Field with path '\".concat(namePath.join('.'), \"' set 'initialValue'. Can not decide which one to pick.\"));\n } else if (records) {\n var originValue = _this.getFieldValue(namePath); // Set `initialValue`\n\n\n if (!info.skipExist || originValue === undefined) {\n _this.updateStore(setValue(_this.store, namePath, _toConsumableArray(records)[0].value));\n }\n }\n }\n }\n });\n };\n\n var requiredFieldEntities;\n\n if (info.entities) {\n requiredFieldEntities = info.entities;\n } else if (info.namePathList) {\n requiredFieldEntities = [];\n info.namePathList.forEach(function (namePath) {\n var records = cache.get(namePath);\n\n if (records) {\n var _requiredFieldEntitie;\n\n (_requiredFieldEntitie = requiredFieldEntities).push.apply(_requiredFieldEntitie, _toConsumableArray(_toConsumableArray(records).map(function (r) {\n return r.entity;\n })));\n }\n });\n } else {\n requiredFieldEntities = fieldEntities;\n }\n\n resetWithFields(requiredFieldEntities);\n };\n\n this.resetFields = function (nameList) {\n _this.warningUnhooked();\n\n var prevStore = _this.store;\n\n if (!nameList) {\n _this.updateStore(setValues({}, _this.initialValues));\n\n _this.resetWithFieldInitialValue();\n\n _this.notifyObservers(prevStore, null, {\n type: 'reset'\n });\n\n _this.notifyWatch();\n\n return;\n } // Reset by `nameList`\n\n\n var namePathList = nameList.map(getNamePath);\n namePathList.forEach(function (namePath) {\n var initialValue = _this.getInitialValue(namePath);\n\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n });\n\n _this.resetWithFieldInitialValue({\n namePathList: namePathList\n });\n\n _this.notifyObservers(prevStore, namePathList, {\n type: 'reset'\n });\n\n _this.notifyWatch(namePathList);\n };\n\n this.setFields = function (fields) {\n _this.warningUnhooked();\n\n var prevStore = _this.store;\n var namePathList = [];\n fields.forEach(function (fieldData) {\n var name = fieldData.name,\n errors = fieldData.errors,\n data = _objectWithoutProperties(fieldData, _excluded);\n\n var namePath = getNamePath(name);\n namePathList.push(namePath); // Value\n\n if ('value' in data) {\n _this.updateStore(setValue(_this.store, namePath, data.value));\n }\n\n _this.notifyObservers(prevStore, [namePath], {\n type: 'setField',\n data: fieldData\n });\n });\n\n _this.notifyWatch(namePathList);\n };\n\n this.getFields = function () {\n var entities = _this.getFieldEntities(true);\n\n var fields = entities.map(function (field) {\n var namePath = field.getNamePath();\n var meta = field.getMeta();\n\n var fieldData = _objectSpread(_objectSpread({}, meta), {}, {\n name: namePath,\n value: _this.getFieldValue(namePath)\n });\n\n Object.defineProperty(fieldData, 'originRCField', {\n value: true\n });\n return fieldData;\n });\n return fields;\n };\n\n this.initEntityValue = function (entity) {\n var initialValue = entity.props.initialValue;\n\n if (initialValue !== undefined) {\n var namePath = entity.getNamePath();\n var prevValue = getValue(_this.store, namePath);\n\n if (prevValue === undefined) {\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n }\n }\n };\n\n this.isMergedPreserve = function (fieldPreserve) {\n var mergedPreserve = fieldPreserve !== undefined ? fieldPreserve : _this.preserve;\n return mergedPreserve !== null && mergedPreserve !== void 0 ? mergedPreserve : true;\n };\n\n this.registerField = function (entity) {\n _this.fieldEntities.push(entity);\n\n var namePath = entity.getNamePath();\n\n _this.notifyWatch([namePath]); // Set initial values\n\n\n if (entity.props.initialValue !== undefined) {\n var prevStore = _this.store;\n\n _this.resetWithFieldInitialValue({\n entities: [entity],\n skipExist: true\n });\n\n _this.notifyObservers(prevStore, [entity.getNamePath()], {\n type: 'valueUpdate',\n source: 'internal'\n });\n } // un-register field callback\n\n\n return function (isListField, preserve) {\n var subNamePath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n _this.fieldEntities = _this.fieldEntities.filter(function (item) {\n return item !== entity;\n }); // Clean up store value if not preserve\n\n if (!_this.isMergedPreserve(preserve) && (!isListField || subNamePath.length > 1)) {\n var defaultValue = isListField ? undefined : _this.getInitialValue(namePath);\n\n if (namePath.length && _this.getFieldValue(namePath) !== defaultValue && _this.fieldEntities.every(function (field) {\n return (// Only reset when no namePath exist\n !matchNamePath(field.getNamePath(), namePath)\n );\n })) {\n var _prevStore = _this.store;\n\n _this.updateStore(setValue(_prevStore, namePath, defaultValue, true)); // Notify that field is unmount\n\n\n _this.notifyObservers(_prevStore, [namePath], {\n type: 'remove'\n }); // Dependencies update\n\n\n _this.triggerDependenciesUpdate(_prevStore, namePath);\n }\n }\n\n _this.notifyWatch([namePath]);\n };\n };\n\n this.dispatch = function (action) {\n switch (action.type) {\n case 'updateValue':\n {\n var namePath = action.namePath,\n value = action.value;\n\n _this.updateValue(namePath, value);\n\n break;\n }\n\n case 'validateField':\n {\n var _namePath = action.namePath,\n triggerName = action.triggerName;\n\n _this.validateFields([_namePath], {\n triggerName: triggerName\n });\n\n break;\n }\n\n default: // Currently we don't have other action. Do nothing.\n\n }\n };\n\n this.notifyObservers = function (prevStore, namePathList, info) {\n if (_this.subscribable) {\n var mergedInfo = _objectSpread(_objectSpread({}, info), {}, {\n store: _this.getFieldsValue(true)\n });\n\n _this.getFieldEntities().forEach(function (_ref3) {\n var onStoreChange = _ref3.onStoreChange;\n onStoreChange(prevStore, namePathList, mergedInfo);\n });\n } else {\n _this.forceRootUpdate();\n }\n };\n\n this.triggerDependenciesUpdate = function (prevStore, namePath) {\n var childrenFields = _this.getDependencyChildrenFields(namePath);\n\n if (childrenFields.length) {\n _this.validateFields(childrenFields);\n }\n\n _this.notifyObservers(prevStore, childrenFields, {\n type: 'dependenciesUpdate',\n relatedFields: [namePath].concat(_toConsumableArray(childrenFields))\n });\n\n return childrenFields;\n };\n\n this.updateValue = function (name, value) {\n var namePath = getNamePath(name);\n var prevStore = _this.store;\n\n _this.updateStore(setValue(_this.store, namePath, value));\n\n _this.notifyObservers(prevStore, [namePath], {\n type: 'valueUpdate',\n source: 'internal'\n });\n\n _this.notifyWatch([namePath]); // Dependencies update\n\n\n var childrenFields = _this.triggerDependenciesUpdate(prevStore, namePath); // trigger callback function\n\n\n var onValuesChange = _this.callbacks.onValuesChange;\n\n if (onValuesChange) {\n var changedValues = cloneByNamePathList(_this.store, [namePath]);\n onValuesChange(changedValues, _this.getFieldsValue());\n }\n\n _this.triggerOnFieldsChange([namePath].concat(_toConsumableArray(childrenFields)));\n };\n\n this.setFieldsValue = function (store) {\n _this.warningUnhooked();\n\n var prevStore = _this.store;\n\n if (store) {\n var nextStore = setValues(_this.store, store);\n\n _this.updateStore(nextStore);\n }\n\n _this.notifyObservers(prevStore, null, {\n type: 'valueUpdate',\n source: 'external'\n });\n\n _this.notifyWatch();\n };\n\n this.setFieldValue = function (name, value) {\n _this.setFields([{\n name: name,\n value: value\n }]);\n };\n\n this.getDependencyChildrenFields = function (rootNamePath) {\n var children = new Set();\n var childrenFields = [];\n var dependencies2fields = new NameMap();\n /**\n * Generate maps\n * Can use cache to save perf if user report performance issue with this\n */\n\n _this.getFieldEntities().forEach(function (field) {\n var dependencies = field.props.dependencies;\n (dependencies || []).forEach(function (dependency) {\n var dependencyNamePath = getNamePath(dependency);\n dependencies2fields.update(dependencyNamePath, function () {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Set();\n fields.add(field);\n return fields;\n });\n });\n });\n\n var fillChildren = function fillChildren(namePath) {\n var fields = dependencies2fields.get(namePath) || new Set();\n fields.forEach(function (field) {\n if (!children.has(field)) {\n children.add(field);\n var fieldNamePath = field.getNamePath();\n\n if (field.isFieldDirty() && fieldNamePath.length) {\n childrenFields.push(fieldNamePath);\n fillChildren(fieldNamePath);\n }\n }\n });\n };\n\n fillChildren(rootNamePath);\n return childrenFields;\n };\n\n this.triggerOnFieldsChange = function (namePathList, filedErrors) {\n var onFieldsChange = _this.callbacks.onFieldsChange;\n\n if (onFieldsChange) {\n var fields = _this.getFields();\n /**\n * Fill errors since `fields` may be replaced by controlled fields\n */\n\n\n if (filedErrors) {\n var cache = new NameMap();\n filedErrors.forEach(function (_ref4) {\n var name = _ref4.name,\n errors = _ref4.errors;\n cache.set(name, errors);\n });\n fields.forEach(function (field) {\n // eslint-disable-next-line no-param-reassign\n field.errors = cache.get(field.name) || field.errors;\n });\n }\n\n var changedFields = fields.filter(function (_ref5) {\n var fieldName = _ref5.name;\n return containsNamePath(namePathList, fieldName);\n });\n onFieldsChange(changedFields, fields);\n }\n };\n\n this.validateFields = function (nameList, options) {\n _this.warningUnhooked();\n\n var provideNameList = !!nameList;\n var namePathList = provideNameList ? nameList.map(getNamePath) : []; // Collect result in promise list\n\n var promiseList = [];\n\n _this.getFieldEntities(true).forEach(function (field) {\n // Add field if not provide `nameList`\n if (!provideNameList) {\n namePathList.push(field.getNamePath());\n }\n /**\n * Recursive validate if configured.\n * TODO: perf improvement @zombieJ\n */\n\n\n if ((options === null || options === void 0 ? void 0 : options.recursive) && provideNameList) {\n var namePath = field.getNamePath();\n\n if ( // nameList[i] === undefined 说明是以 nameList 开头的\n // ['name'] -> ['name','list']\n namePath.every(function (nameUnit, i) {\n return nameList[i] === nameUnit || nameList[i] === undefined;\n })) {\n namePathList.push(namePath);\n }\n } // Skip if without rule\n\n\n if (!field.props.rules || !field.props.rules.length) {\n return;\n }\n\n var fieldNamePath = field.getNamePath(); // Add field validate rule in to promise list\n\n if (!provideNameList || containsNamePath(namePathList, fieldNamePath)) {\n var promise = field.validateRules(_objectSpread({\n validateMessages: _objectSpread(_objectSpread({}, defaultValidateMessages), _this.validateMessages)\n }, options)); // Wrap promise with field\n\n promiseList.push(promise.then(function () {\n return {\n name: fieldNamePath,\n errors: [],\n warnings: []\n };\n }).catch(function (ruleErrors) {\n var _ruleErrors$forEach;\n\n var mergedErrors = [];\n var mergedWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 ? void 0 : _ruleErrors$forEach.call(ruleErrors, function (_ref6) {\n var warningOnly = _ref6.rule.warningOnly,\n errors = _ref6.errors;\n\n if (warningOnly) {\n mergedWarnings.push.apply(mergedWarnings, _toConsumableArray(errors));\n } else {\n mergedErrors.push.apply(mergedErrors, _toConsumableArray(errors));\n }\n });\n\n if (mergedErrors.length) {\n return Promise.reject({\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n });\n }\n\n return {\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n };\n }));\n }\n });\n\n var summaryPromise = allPromiseFinish(promiseList);\n _this.lastValidatePromise = summaryPromise; // Notify fields with rule that validate has finished and need update\n\n summaryPromise.catch(function (results) {\n return results;\n }).then(function (results) {\n var resultNamePathList = results.map(function (_ref7) {\n var name = _ref7.name;\n return name;\n });\n\n _this.notifyObservers(_this.store, resultNamePathList, {\n type: 'validateFinish'\n });\n\n _this.triggerOnFieldsChange(resultNamePathList, results);\n });\n var returnPromise = summaryPromise.then(function () {\n if (_this.lastValidatePromise === summaryPromise) {\n return Promise.resolve(_this.getFieldsValue(namePathList));\n }\n\n return Promise.reject([]);\n }).catch(function (results) {\n var errorList = results.filter(function (result) {\n return result && result.errors.length;\n });\n return Promise.reject({\n values: _this.getFieldsValue(namePathList),\n errorFields: errorList,\n outOfDate: _this.lastValidatePromise !== summaryPromise\n });\n }); // Do not throw in console\n\n returnPromise.catch(function (e) {\n return e;\n });\n return returnPromise;\n };\n\n this.submit = function () {\n _this.warningUnhooked();\n\n _this.validateFields().then(function (values) {\n var onFinish = _this.callbacks.onFinish;\n\n if (onFinish) {\n try {\n onFinish(values);\n } catch (err) {\n // Should print error if user `onFinish` callback failed\n console.error(err);\n }\n }\n }).catch(function (e) {\n var onFinishFailed = _this.callbacks.onFinishFailed;\n\n if (onFinishFailed) {\n onFinishFailed(e);\n }\n });\n };\n\n this.forceRootUpdate = forceRootUpdate;\n});\n\nfunction useForm(form) {\n var formRef = React.useRef();\n\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n\n if (!formRef.current) {\n if (form) {\n formRef.current = form;\n } else {\n // Create a new FormStore if not provided\n var forceReRender = function forceReRender() {\n forceUpdate({});\n };\n\n var formStore = new FormStore(forceReRender);\n formRef.current = formStore.getForm();\n }\n }\n\n return [formRef.current];\n}\n\nexport default useForm;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nvar FormContext = /*#__PURE__*/React.createContext({\n triggerFormChange: function triggerFormChange() {},\n triggerFormFinish: function triggerFormFinish() {},\n registerForm: function registerForm() {},\n unregisterForm: function unregisterForm() {}\n});\n\nvar FormProvider = function FormProvider(_ref) {\n var validateMessages = _ref.validateMessages,\n onFormChange = _ref.onFormChange,\n onFormFinish = _ref.onFormFinish,\n children = _ref.children;\n var formContext = React.useContext(FormContext);\n var formsRef = React.useRef({});\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: _objectSpread(_objectSpread({}, formContext), {}, {\n validateMessages: _objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages),\n // =========================================================\n // = Global Form Control =\n // =========================================================\n triggerFormChange: function triggerFormChange(name, changedFields) {\n if (onFormChange) {\n onFormChange(name, {\n changedFields: changedFields,\n forms: formsRef.current\n });\n }\n\n formContext.triggerFormChange(name, changedFields);\n },\n triggerFormFinish: function triggerFormFinish(name, values) {\n if (onFormFinish) {\n onFormFinish(name, {\n values: values,\n forms: formsRef.current\n });\n }\n\n formContext.triggerFormFinish(name, values);\n },\n registerForm: function registerForm(name, form) {\n if (name) {\n formsRef.current = _objectSpread(_objectSpread({}, formsRef.current), {}, _defineProperty({}, name, form));\n }\n\n formContext.registerForm(name, form);\n },\n unregisterForm: function unregisterForm(name) {\n var newForms = _objectSpread({}, formsRef.current);\n\n delete newForms[name];\n formsRef.current = newForms;\n formContext.unregisterForm(name);\n }\n })\n }, children);\n};\n\nexport { FormProvider };\nexport default FormContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"name\", \"initialValues\", \"fields\", \"form\", \"preserve\", \"children\", \"component\", \"validateMessages\", \"validateTrigger\", \"onValuesChange\", \"onFieldsChange\", \"onFinish\", \"onFinishFailed\"];\nimport * as React from 'react';\nimport useForm from './useForm';\nimport FieldContext, { HOOK_MARK } from './FieldContext';\nimport FormContext from './FormContext';\nimport { isSimilar } from './utils/valueUtil';\n\nvar Form = function Form(_ref, ref) {\n var name = _ref.name,\n initialValues = _ref.initialValues,\n fields = _ref.fields,\n form = _ref.form,\n preserve = _ref.preserve,\n children = _ref.children,\n _ref$component = _ref.component,\n Component = _ref$component === void 0 ? 'form' : _ref$component,\n validateMessages = _ref.validateMessages,\n _ref$validateTrigger = _ref.validateTrigger,\n validateTrigger = _ref$validateTrigger === void 0 ? 'onChange' : _ref$validateTrigger,\n onValuesChange = _ref.onValuesChange,\n _onFieldsChange = _ref.onFieldsChange,\n _onFinish = _ref.onFinish,\n onFinishFailed = _ref.onFinishFailed,\n restProps = _objectWithoutProperties(_ref, _excluded);\n\n var formContext = React.useContext(FormContext); // We customize handle event since Context will makes all the consumer re-render:\n // https://reactjs.org/docs/context.html#contextprovider\n\n var _useForm = useForm(form),\n _useForm2 = _slicedToArray(_useForm, 1),\n formInstance = _useForm2[0];\n\n var _formInstance$getInte = formInstance.getInternalHooks(HOOK_MARK),\n useSubscribe = _formInstance$getInte.useSubscribe,\n setInitialValues = _formInstance$getInte.setInitialValues,\n setCallbacks = _formInstance$getInte.setCallbacks,\n setValidateMessages = _formInstance$getInte.setValidateMessages,\n setPreserve = _formInstance$getInte.setPreserve,\n destroyForm = _formInstance$getInte.destroyForm; // Pass ref with form instance\n\n\n React.useImperativeHandle(ref, function () {\n return formInstance;\n }); // Register form into Context\n\n React.useEffect(function () {\n formContext.registerForm(name, formInstance);\n return function () {\n formContext.unregisterForm(name);\n };\n }, [formContext, formInstance, name]); // Pass props to store\n\n setValidateMessages(_objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages));\n setCallbacks({\n onValuesChange: onValuesChange,\n onFieldsChange: function onFieldsChange(changedFields) {\n formContext.triggerFormChange(name, changedFields);\n\n if (_onFieldsChange) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n _onFieldsChange.apply(void 0, [changedFields].concat(rest));\n }\n },\n onFinish: function onFinish(values) {\n formContext.triggerFormFinish(name, values);\n\n if (_onFinish) {\n _onFinish(values);\n }\n },\n onFinishFailed: onFinishFailed\n });\n setPreserve(preserve); // Set initial value, init store value when first mount\n\n var mountRef = React.useRef(null);\n setInitialValues(initialValues, !mountRef.current);\n\n if (!mountRef.current) {\n mountRef.current = true;\n }\n\n React.useEffect(function () {\n return destroyForm;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []); // Prepare children by `children` type\n\n var childrenNode;\n var childrenRenderProps = typeof children === 'function';\n\n if (childrenRenderProps) {\n var values = formInstance.getFieldsValue(true);\n childrenNode = children(values, formInstance);\n } else {\n childrenNode = children;\n } // Not use subscribe when using render props\n\n\n useSubscribe(!childrenRenderProps); // Listen if fields provided. We use ref to save prev data here to avoid additional render\n\n var prevFieldsRef = React.useRef();\n React.useEffect(function () {\n if (!isSimilar(prevFieldsRef.current || [], fields || [])) {\n formInstance.setFields(fields || []);\n }\n\n prevFieldsRef.current = fields;\n }, [fields, formInstance]);\n var formContextValue = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, formInstance), {}, {\n validateTrigger: validateTrigger\n });\n }, [formInstance, validateTrigger]);\n var wrapperNode = /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: formContextValue\n }, childrenNode);\n\n if (Component === false) {\n return wrapperNode;\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, restProps, {\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n formInstance.submit();\n },\n onReset: function onReset(event) {\n var _restProps$onReset;\n\n event.preventDefault();\n formInstance.resetFields();\n (_restProps$onReset = restProps.onReset) === null || _restProps$onReset === void 0 ? void 0 : _restProps$onReset.call(restProps, event);\n }\n }), wrapperNode);\n};\n\nexport default Form;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { FieldContext } from '.';\nimport warning from \"rc-util/es/warning\";\nimport { HOOK_MARK } from './FieldContext';\nimport { useState, useContext, useEffect, useRef, useMemo } from 'react';\nimport { getNamePath, getValue } from './utils/valueUtil';\nexport function stringify(value) {\n try {\n return JSON.stringify(value);\n } catch (err) {\n return Math.random();\n }\n}\n\nfunction useWatch() {\n var dependencies = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var form = arguments.length > 1 ? arguments[1] : undefined;\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n\n var valueStr = useMemo(function () {\n return stringify(value);\n }, [value]);\n var valueStrRef = useRef(valueStr);\n valueStrRef.current = valueStr;\n var fieldContext = useContext(FieldContext);\n var formInstance = form || fieldContext;\n var isValidForm = formInstance && formInstance._init; // Warning if not exist form instance\n\n if (process.env.NODE_ENV !== 'production') {\n warning(isValidForm, 'useWatch requires a form instance since it can not auto detect from context.');\n }\n\n var namePath = getNamePath(dependencies);\n var namePathRef = useRef(namePath);\n namePathRef.current = namePath;\n useEffect(function () {\n // Skip if not exist form instance\n if (!isValidForm) {\n return;\n }\n\n var getFieldsValue = formInstance.getFieldsValue,\n getInternalHooks = formInstance.getInternalHooks;\n\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n registerWatch = _getInternalHooks.registerWatch;\n\n var cancelRegister = registerWatch(function (store) {\n var newValue = getValue(store, namePathRef.current);\n var nextValueStr = stringify(newValue); // Compare stringify in case it's nest object\n\n if (valueStrRef.current !== nextValueStr) {\n valueStrRef.current = nextValueStr;\n setValue(newValue);\n }\n }); // TODO: We can improve this perf in future\n\n var initialValue = getValue(getFieldsValue(), namePathRef.current);\n setValue(initialValue);\n return cancelRegister;\n }, // We do not need re-register since namePath content is the same\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n return value;\n}\n\nexport default useWatch;","import * as React from 'react';\nimport Field from './Field';\nimport List from './List';\nimport useForm from './useForm';\nimport FieldForm from './Form';\nimport { FormProvider } from './FormContext';\nimport FieldContext from './FieldContext';\nimport ListContext from './ListContext';\nimport useWatch from './useWatch';\nvar InternalForm = /*#__PURE__*/React.forwardRef(FieldForm);\nvar RefForm = InternalForm;\nRefForm.FormProvider = FormProvider;\nRefForm.Field = Field;\nRefForm.List = List;\nRefForm.useForm = useForm;\nRefForm.useWatch = useWatch;\nexport { Field, List, useForm, FormProvider, FieldContext, ListContext, useWatch };\nexport default RefForm;","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: 'Page',\n // Pagination.jsx\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n page_size: 'Page Size'\n};","var locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'OK',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nexport default locale;","const locale = {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n};\nexport default locale;","import CalendarLocale from \"rc-picker/es/locale/en_US\";\nimport TimePickerLocale from '../../time-picker/locale/en_US';\n// Merge into a locale object\nconst locale = {\n lang: Object.assign({\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeQuarterPlaceholder: ['Start quarter', 'End quarter'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week']\n }, CalendarLocale),\n timePickerLocale: Object.assign({}, TimePickerLocale)\n};\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\nexport default locale;","/* eslint-disable no-template-curly-in-string */\nimport Pagination from \"rc-pagination/es/locale/en_US\";\nimport Calendar from '../calendar/locale/en_US';\nimport DatePicker from '../date-picker/locale/en_US';\nimport TimePicker from '../time-picker/locale/en_US';\nconst typeTemplate = '${label} is not a valid ${type}';\nconst localeValues = {\n locale: 'en',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n filterCheckall: 'Select all items',\n filterSearchPlaceholder: 'Search in filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectNone: 'Clear all data',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Tour: {\n Next: 'Next',\n Previous: 'Previous',\n Finish: 'Finish'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n },\n Form: {\n optional: '(optional)',\n defaultValidateMessages: {\n default: 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n enum: '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n Image: {\n preview: 'Preview'\n },\n QRCode: {\n expired: 'QR code expired',\n refresh: 'Refresh'\n }\n};\nexport default localeValues;","import { createContext } from 'react';\nconst LocaleContext = /*#__PURE__*/createContext(undefined);\nexport default LocaleContext;","import * as React from 'react';\nimport LocaleContext from './context';\nimport defaultLocaleData from './en_US';\nconst LocaleReceiver = props => {\n const {\n componentName = 'global',\n defaultLocale,\n children\n } = props;\n const antLocale = React.useContext(LocaleContext);\n const getLocale = React.useMemo(() => {\n var _a;\n const locale = defaultLocale || defaultLocaleData[componentName];\n const localeFromContext = (_a = antLocale === null || antLocale === void 0 ? void 0 : antLocale[componentName]) !== null && _a !== void 0 ? _a : {};\n return Object.assign(Object.assign({}, locale instanceof Function ? locale() : locale), localeFromContext || {});\n }, [componentName, defaultLocale, antLocale]);\n const getLocaleCode = React.useMemo(() => {\n const localeCode = antLocale && antLocale.locale;\n // Had use LocaleProvide but didn't set locale\n if (antLocale && antLocale.exist && !localeCode) {\n return defaultLocaleData.locale;\n }\n return localeCode;\n }, [antLocale]);\n return children(getLocale, getLocaleCode, antLocale);\n};\nexport default LocaleReceiver;\nexport const useLocaleReceiver = (componentName, defaultLocale) => {\n const antLocale = React.useContext(LocaleContext);\n const getLocale = React.useMemo(() => {\n var _a;\n const locale = defaultLocale || defaultLocaleData[componentName];\n const localeFromContext = (_a = antLocale === null || antLocale === void 0 ? void 0 : antLocale[componentName]) !== null && _a !== void 0 ? _a : {};\n return Object.assign(Object.assign({}, typeof locale === 'function' ? locale() : locale), localeFromContext || {});\n }, [componentName, defaultLocale, antLocale]);\n return [getLocale];\n};","export default '5.1.6';","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","import { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb } from './conversion';\nimport { names } from './css-color-names';\nimport { boundAlpha, convertToPercentage } from './util';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// <http://www.w3.org/TR/css3-values/#integers>\nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// <http://www.w3.org/TR/css3-values/#number-value>\nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion';\nimport { names } from './css-color-names';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # appened.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # appened.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n return new TinyColor({\n r: bg.r + (fg.r - bg.r) * fg.a,\n g: bg.g + (fg.g - bg.g) * fg.a,\n b: bg.b + (fg.b - bg.b) * fg.a,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n","import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}];\n\n// Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nexport default function generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}","import generate from \"./generate\";\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1677FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\nvar gray = presetPalettes.grey;\nexport { generate, presetPalettes, presetDarkPalettes, presetPrimaryColors, red, volcano, orange, gold, yellow, lime, green, cyan, blue, geekblue, purple, magenta, grey, gray };","const genControlHeight = token => {\n const {\n controlHeight\n } = token;\n return {\n controlHeightSM: controlHeight * 0.75,\n controlHeightXS: controlHeight * 0.5,\n controlHeightLG: controlHeight * 1.25\n };\n};\nexport default genControlHeight;","export default function genSizeMapToken(token) {\n const {\n sizeUnit,\n sizeStep\n } = token;\n return {\n sizeXXL: sizeUnit * (sizeStep + 8),\n sizeXL: sizeUnit * (sizeStep + 4),\n sizeLG: sizeUnit * (sizeStep + 2),\n sizeMD: sizeUnit * (sizeStep + 1),\n sizeMS: sizeUnit * sizeStep,\n size: sizeUnit * sizeStep,\n sizeSM: sizeUnit * (sizeStep - 1),\n sizeXS: sizeUnit * (sizeStep - 2),\n sizeXXS: sizeUnit * (sizeStep - 3) // 4\n };\n}","export const defaultPresetColors = {\n blue: '#1677ff',\n purple: '#722ED1',\n cyan: '#13C2C2',\n green: '#52C41A',\n magenta: '#EB2F96',\n pink: '#eb2f96',\n red: '#F5222D',\n orange: '#FA8C16',\n yellow: '#FADB14',\n volcano: '#FA541C',\n geekblue: '#2F54EB',\n gold: '#FAAD14',\n lime: '#A0D911'\n};\nconst seedToken = Object.assign(Object.assign({}, defaultPresetColors), {\n // Color\n colorPrimary: '#1677ff',\n colorSuccess: '#52c41a',\n colorWarning: '#faad14',\n colorError: '#ff4d4f',\n colorInfo: '#1677ff',\n colorTextBase: '',\n colorBgBase: '',\n // Font\n fontFamily: `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji'`,\n fontSize: 14,\n // Line\n lineWidth: 1,\n lineType: 'solid',\n // Motion\n motionUnit: 0.1,\n motionBase: 0,\n motionEaseOutCirc: 'cubic-bezier(0.08, 0.82, 0.17, 1)',\n motionEaseInOutCirc: 'cubic-bezier(0.78, 0.14, 0.15, 0.86)',\n motionEaseOut: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n motionEaseInOut: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n motionEaseOutBack: 'cubic-bezier(0.12, 0.4, 0.29, 1.46)',\n motionEaseInBack: 'cubic-bezier(0.71, -0.46, 0.88, 0.6)',\n motionEaseInQuint: 'cubic-bezier(0.755, 0.05, 0.855, 0.06)',\n motionEaseOutQuint: 'cubic-bezier(0.23, 1, 0.32, 1)',\n // Radius\n borderRadius: 6,\n // Size\n sizeUnit: 4,\n sizeStep: 4,\n sizePopupArrow: 16,\n // Control Base\n controlHeight: 32,\n // zIndex\n zIndexBase: 0,\n zIndexPopupBase: 1000,\n // Image\n opacityImage: 1,\n // Wireframe\n wireframe: false\n});\nexport default seedToken;","import { TinyColor } from '@ctrl/tinycolor';\nexport default function genColorMapToken(seed, _ref) {\n let {\n generateColorPalettes,\n generateNeutralColorPalettes\n } = _ref;\n const {\n colorSuccess: colorSuccessBase,\n colorWarning: colorWarningBase,\n colorError: colorErrorBase,\n colorInfo: colorInfoBase,\n colorPrimary: colorPrimaryBase,\n colorBgBase,\n colorTextBase\n } = seed;\n const primaryColors = generateColorPalettes(colorPrimaryBase);\n const successColors = generateColorPalettes(colorSuccessBase);\n const warningColors = generateColorPalettes(colorWarningBase);\n const errorColors = generateColorPalettes(colorErrorBase);\n const infoColors = generateColorPalettes(colorInfoBase);\n const neutralColors = generateNeutralColorPalettes(colorBgBase, colorTextBase);\n return Object.assign(Object.assign({}, neutralColors), {\n colorPrimaryBg: primaryColors[1],\n colorPrimaryBgHover: primaryColors[2],\n colorPrimaryBorder: primaryColors[3],\n colorPrimaryBorderHover: primaryColors[4],\n colorPrimaryHover: primaryColors[5],\n colorPrimary: primaryColors[6],\n colorPrimaryActive: primaryColors[7],\n colorPrimaryTextHover: primaryColors[8],\n colorPrimaryText: primaryColors[9],\n colorPrimaryTextActive: primaryColors[10],\n colorSuccessBg: successColors[1],\n colorSuccessBgHover: successColors[2],\n colorSuccessBorder: successColors[3],\n colorSuccessBorderHover: successColors[4],\n colorSuccessHover: successColors[4],\n colorSuccess: successColors[6],\n colorSuccessActive: successColors[7],\n colorSuccessTextHover: successColors[8],\n colorSuccessText: successColors[9],\n colorSuccessTextActive: successColors[10],\n colorErrorBg: errorColors[1],\n colorErrorBgHover: errorColors[2],\n colorErrorBorder: errorColors[3],\n colorErrorBorderHover: errorColors[4],\n colorErrorHover: errorColors[5],\n colorError: errorColors[6],\n colorErrorActive: errorColors[7],\n colorErrorTextHover: errorColors[8],\n colorErrorText: errorColors[9],\n colorErrorTextActive: errorColors[10],\n colorWarningBg: warningColors[1],\n colorWarningBgHover: warningColors[2],\n colorWarningBorder: warningColors[3],\n colorWarningBorderHover: warningColors[4],\n colorWarningHover: warningColors[4],\n colorWarning: warningColors[6],\n colorWarningActive: warningColors[7],\n colorWarningTextHover: warningColors[8],\n colorWarningText: warningColors[9],\n colorWarningTextActive: warningColors[10],\n colorInfoBg: infoColors[1],\n colorInfoBgHover: infoColors[2],\n colorInfoBorder: infoColors[3],\n colorInfoBorderHover: infoColors[4],\n colorInfoHover: infoColors[4],\n colorInfo: infoColors[6],\n colorInfoActive: infoColors[7],\n colorInfoTextHover: infoColors[8],\n colorInfoText: infoColors[9],\n colorInfoTextActive: infoColors[10],\n colorBgMask: new TinyColor('#000').setAlpha(0.45).toRgbString(),\n colorWhite: '#fff'\n });\n}","const genRadius = radiusBase => {\n let radiusLG = radiusBase;\n let radiusSM = radiusBase;\n let radiusXS = radiusBase;\n let radiusOuter = radiusBase;\n // radiusLG\n if (radiusBase < 6 && radiusBase >= 5) {\n radiusLG = radiusBase + 1;\n } else if (radiusBase < 16 && radiusBase >= 6) {\n radiusLG = radiusBase + 2;\n } else if (radiusBase >= 16) {\n radiusLG = 16;\n }\n // radiusSM\n if (radiusBase < 7 && radiusBase >= 5) {\n radiusSM = 4;\n } else if (radiusBase < 8 && radiusBase >= 7) {\n radiusSM = 5;\n } else if (radiusBase < 14 && radiusBase >= 8) {\n radiusSM = 6;\n } else if (radiusBase < 16 && radiusBase >= 14) {\n radiusSM = 7;\n } else if (radiusBase >= 16) {\n radiusSM = 8;\n }\n // radiusXS\n if (radiusBase < 6 && radiusBase >= 2) {\n radiusXS = 1;\n } else if (radiusBase >= 6) {\n radiusXS = 2;\n }\n // radiusOuter\n if (radiusBase > 4 && radiusBase < 8) {\n radiusOuter = 4;\n } else if (radiusBase >= 8) {\n radiusOuter = 6;\n }\n return {\n borderRadius: radiusBase > 16 ? 16 : radiusBase,\n borderRadiusXS: radiusXS,\n borderRadiusSM: radiusSM,\n borderRadiusLG: radiusLG,\n borderRadiusOuter: radiusOuter\n };\n};\nexport default genRadius;","import genRadius from './genRadius';\nexport default function genCommonMapToken(token) {\n const {\n motionUnit,\n motionBase,\n borderRadius,\n lineWidth\n } = token;\n return Object.assign({\n // motion\n motionDurationFast: `${(motionBase + motionUnit).toFixed(1)}s`,\n motionDurationMid: `${(motionBase + motionUnit * 2).toFixed(1)}s`,\n motionDurationSlow: `${(motionBase + motionUnit * 3).toFixed(1)}s`,\n // line\n lineWidthBold: lineWidth + 1\n }, genRadius(borderRadius));\n}","import { TinyColor } from '@ctrl/tinycolor';\nexport const getAlphaColor = (baseColor, alpha) => new TinyColor(baseColor).setAlpha(alpha).toRgbString();\nexport const getSolidColor = (baseColor, brightness) => {\n const instance = new TinyColor(baseColor);\n return instance.darken(brightness).toHexString();\n};","import { generate } from '@ant-design/colors';\nimport { getAlphaColor, getSolidColor } from './colorAlgorithm';\nexport const generateColorPalettes = baseColor => {\n const colors = generate(baseColor);\n return {\n 1: colors[0],\n 2: colors[1],\n 3: colors[2],\n 4: colors[3],\n 5: colors[4],\n 6: colors[5],\n 7: colors[6],\n 8: colors[4],\n 9: colors[5],\n 10: colors[6]\n // 8: colors[7],\n // 9: colors[8],\n // 10: colors[9],\n };\n};\n\nexport const generateNeutralColorPalettes = (bgBaseColor, textBaseColor) => {\n const colorBgBase = bgBaseColor || '#fff';\n const colorTextBase = textBaseColor || '#000';\n return {\n colorBgBase,\n colorTextBase,\n colorText: getAlphaColor(colorTextBase, 0.88),\n colorTextSecondary: getAlphaColor(colorTextBase, 0.65),\n colorTextTertiary: getAlphaColor(colorTextBase, 0.45),\n colorTextQuaternary: getAlphaColor(colorTextBase, 0.25),\n colorFill: getAlphaColor(colorTextBase, 0.15),\n colorFillSecondary: getAlphaColor(colorTextBase, 0.06),\n colorFillTertiary: getAlphaColor(colorTextBase, 0.04),\n colorFillQuaternary: getAlphaColor(colorTextBase, 0.02),\n colorBgLayout: getSolidColor(colorBgBase, 4),\n colorBgContainer: getSolidColor(colorBgBase, 0),\n colorBgElevated: getSolidColor(colorBgBase, 0),\n colorBgSpotlight: getAlphaColor(colorTextBase, 0.85),\n colorBorder: getSolidColor(colorBgBase, 15),\n colorBorderSecondary: getSolidColor(colorBgBase, 6)\n };\n};","// https://zhuanlan.zhihu.com/p/32746810\nexport default function getFontSizes(base) {\n const fontSizes = new Array(10).fill(null).map((_, index) => {\n const i = index - 1;\n const baseSize = base * Math.pow(2.71828, i / 5);\n const intSize = index > 1 ? Math.floor(baseSize) : Math.ceil(baseSize);\n // Convert to even\n return Math.floor(intSize / 2) * 2;\n });\n fontSizes[1] = base;\n return fontSizes.map(size => {\n const height = size + 8;\n return {\n size,\n lineHeight: height / size\n };\n });\n}","import genFontSizes from './genFontSizes';\nconst genFontMapToken = fontSize => {\n const fontSizePairs = genFontSizes(fontSize);\n const fontSizes = fontSizePairs.map(pair => pair.size);\n const lineHeights = fontSizePairs.map(pair => pair.lineHeight);\n return {\n fontSizeSM: fontSizes[0],\n fontSize: fontSizes[1],\n fontSizeLG: fontSizes[2],\n fontSizeXL: fontSizes[3],\n fontSizeHeading1: fontSizes[6],\n fontSizeHeading2: fontSizes[5],\n fontSizeHeading3: fontSizes[4],\n fontSizeHeading4: fontSizes[3],\n fontSizeHeading5: fontSizes[2],\n lineHeight: lineHeights[1],\n lineHeightLG: lineHeights[2],\n lineHeightSM: lineHeights[0],\n lineHeightHeading1: lineHeights[6],\n lineHeightHeading2: lineHeights[5],\n lineHeightHeading3: lineHeights[4],\n lineHeightHeading4: lineHeights[3],\n lineHeightHeading5: lineHeights[2]\n };\n};\nexport default genFontMapToken;","import { generate } from '@ant-design/colors';\nimport genControlHeight from '../shared/genControlHeight';\nimport genSizeMapToken from '../shared/genSizeMapToken';\nimport { defaultPresetColors } from '../seed';\nimport genColorMapToken from '../shared/genColorMapToken';\nimport genCommonMapToken from '../shared/genCommonMapToken';\nimport { generateColorPalettes, generateNeutralColorPalettes } from './colors';\nimport genFontMapToken from '../shared/genFontMapToken';\nexport default function derivative(token) {\n const colorPalettes = Object.keys(defaultPresetColors).map(colorKey => {\n const colors = generate(token[colorKey]);\n return new Array(10).fill(1).reduce((prev, _, i) => {\n prev[`${colorKey}-${i + 1}`] = colors[i];\n return prev;\n }, {});\n }).reduce((prev, cur) => {\n prev = Object.assign(Object.assign({}, prev), cur);\n return prev;\n }, {});\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, token), colorPalettes), genColorMapToken(token, {\n generateColorPalettes,\n generateNeutralColorPalettes\n })), genFontMapToken(token.fontSize)), genSizeMapToken(token)), genControlHeight(token)), genCommonMapToken(token));\n}","import { TinyColor } from '@ctrl/tinycolor';\nfunction isStableColor(color) {\n return color >= 0 && color <= 255;\n}\nfunction getAlphaColor(frontColor, backgroundColor) {\n const {\n r: fR,\n g: fG,\n b: fB,\n a: originAlpha\n } = new TinyColor(frontColor).toRgb();\n if (originAlpha < 1) {\n return frontColor;\n }\n const {\n r: bR,\n g: bG,\n b: bB\n } = new TinyColor(backgroundColor).toRgb();\n for (let fA = 0.01; fA <= 1; fA += 0.01) {\n const r = Math.round((fR - bR * (1 - fA)) / fA);\n const g = Math.round((fG - bG * (1 - fA)) / fA);\n const b = Math.round((fB - bB * (1 - fA)) / fA);\n if (isStableColor(r) && isStableColor(g) && isStableColor(b)) {\n return new TinyColor({\n r,\n g,\n b,\n a: Math.round(fA * 100) / 100\n }).toRgbString();\n }\n }\n // fallback\n /* istanbul ignore next */\n return new TinyColor({\n r: fR,\n g: fG,\n b: fB,\n a: 1\n }).toRgbString();\n}\nexport default getAlphaColor;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { TinyColor } from '@ctrl/tinycolor';\nimport getAlphaColor from './getAlphaColor';\nimport seedToken from '../themes/seed';\n/**\n * Seed (designer) > Derivative (designer) > Alias (developer).\n *\n * Merge seed & derivative & override token and generate alias token for developer.\n */\nexport default function formatToken(derivativeToken) {\n const {\n override\n } = derivativeToken,\n restToken = __rest(derivativeToken, [\"override\"]);\n const overrideTokens = Object.assign({}, override);\n Object.keys(seedToken).forEach(token => {\n delete overrideTokens[token];\n });\n const mergedToken = Object.assign(Object.assign({}, restToken), overrideTokens);\n const screenXS = 480;\n const screenSM = 576;\n const screenMD = 768;\n const screenLG = 992;\n const screenXL = 1200;\n const screenXXL = 1600;\n // Generate alias token\n const aliasToken = Object.assign(Object.assign(Object.assign({}, mergedToken), {\n colorLink: mergedToken.colorInfoText,\n colorLinkHover: mergedToken.colorInfoHover,\n colorLinkActive: mergedToken.colorInfoActive,\n // ============== Background ============== //\n colorFillContent: mergedToken.colorFillSecondary,\n colorFillContentHover: mergedToken.colorFill,\n colorFillAlter: mergedToken.colorFillQuaternary,\n colorBgContainerDisabled: mergedToken.colorFillTertiary,\n // ============== Split ============== //\n colorBorderBg: mergedToken.colorBgContainer,\n colorSplit: getAlphaColor(mergedToken.colorBorderSecondary, mergedToken.colorBgContainer),\n // ============== Text ============== //\n colorTextPlaceholder: mergedToken.colorTextQuaternary,\n colorTextDisabled: mergedToken.colorTextQuaternary,\n colorTextHeading: mergedToken.colorText,\n colorTextLabel: mergedToken.colorTextSecondary,\n colorTextDescription: mergedToken.colorTextTertiary,\n colorTextLightSolid: mergedToken.colorWhite,\n colorHighlight: mergedToken.colorError,\n colorBgTextHover: mergedToken.colorFillSecondary,\n colorBgTextActive: mergedToken.colorFill,\n colorIcon: mergedToken.colorTextTertiary,\n colorIconHover: mergedToken.colorText,\n colorErrorOutline: getAlphaColor(mergedToken.colorErrorBg, mergedToken.colorBgContainer),\n colorWarningOutline: getAlphaColor(mergedToken.colorWarningBg, mergedToken.colorBgContainer),\n // Font\n fontSizeIcon: mergedToken.fontSizeSM,\n // Control\n lineWidth: mergedToken.lineWidth,\n controlOutlineWidth: mergedToken.lineWidth * 2,\n // Checkbox size and expand icon size\n controlInteractiveSize: mergedToken.controlHeight / 2,\n controlItemBgHover: mergedToken.colorFillTertiary,\n controlItemBgActive: mergedToken.colorPrimaryBg,\n controlItemBgActiveHover: mergedToken.colorPrimaryBgHover,\n controlItemBgActiveDisabled: mergedToken.colorFill,\n controlTmpOutline: mergedToken.colorFillQuaternary,\n controlOutline: getAlphaColor(mergedToken.colorPrimaryBg, mergedToken.colorBgContainer),\n lineType: mergedToken.lineType,\n borderRadius: mergedToken.borderRadius,\n borderRadiusXS: mergedToken.borderRadiusXS,\n borderRadiusSM: mergedToken.borderRadiusSM,\n borderRadiusLG: mergedToken.borderRadiusLG,\n fontWeightStrong: 600,\n opacityLoading: 0.65,\n linkDecoration: 'none',\n linkHoverDecoration: 'none',\n linkFocusDecoration: 'none',\n controlPaddingHorizontal: 12,\n controlPaddingHorizontalSM: 8,\n paddingXXS: mergedToken.sizeXXS,\n paddingXS: mergedToken.sizeXS,\n paddingSM: mergedToken.sizeSM,\n padding: mergedToken.size,\n paddingMD: mergedToken.sizeMD,\n paddingLG: mergedToken.sizeLG,\n paddingXL: mergedToken.sizeXL,\n paddingContentHorizontalLG: mergedToken.sizeLG,\n paddingContentVerticalLG: mergedToken.sizeMS,\n paddingContentHorizontal: mergedToken.sizeMS,\n paddingContentVertical: mergedToken.sizeSM,\n paddingContentHorizontalSM: mergedToken.size,\n paddingContentVerticalSM: mergedToken.sizeXS,\n marginXXS: mergedToken.sizeXXS,\n marginXS: mergedToken.sizeXS,\n marginSM: mergedToken.sizeSM,\n margin: mergedToken.size,\n marginMD: mergedToken.sizeMD,\n marginLG: mergedToken.sizeLG,\n marginXL: mergedToken.sizeXL,\n marginXXL: mergedToken.sizeXXL,\n boxShadow: `\n 0 1px 2px 0 rgba(0, 0, 0, 0.03),\n 0 1px 6px -1px rgba(0, 0, 0, 0.02),\n 0 2px 4px 0 rgba(0, 0, 0, 0.02)\n `,\n boxShadowSecondary: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n screenXS,\n screenXSMin: screenXS,\n screenXSMax: screenSM - 1,\n screenSM,\n screenSMMin: screenSM,\n screenSMMax: screenMD - 1,\n screenMD,\n screenMDMin: screenMD,\n screenMDMax: screenLG - 1,\n screenLG,\n screenLGMin: screenLG,\n screenLGMax: screenXL - 1,\n screenXL,\n screenXLMin: screenXL,\n screenXLMax: screenXXL - 1,\n screenXXL,\n screenXXLMin: screenXXL,\n // FIXME: component box-shadow, should be removed\n boxShadowPopoverArrow: '3px 3px 7px rgba(0, 0, 0, 0.1)',\n boxShadowCard: `\n 0 1px 2px -2px ${new TinyColor('rgba(0, 0, 0, 0.16)').toRgbString()},\n 0 3px 6px 0 ${new TinyColor('rgba(0, 0, 0, 0.12)').toRgbString()},\n 0 5px 12px 4px ${new TinyColor('rgba(0, 0, 0, 0.09)').toRgbString()}\n `,\n boxShadowDrawerRight: `\n -6px 0 16px 0 rgba(0, 0, 0, 0.08),\n -3px 0 6px -4px rgba(0, 0, 0, 0.12),\n -9px 0 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerLeft: `\n 6px 0 16px 0 rgba(0, 0, 0, 0.08),\n 3px 0 6px -4px rgba(0, 0, 0, 0.12),\n 9px 0 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerUp: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerDown: `\n 0 -6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 -3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 -9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowTabsOverflowLeft: 'inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowRight: 'inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowTop: 'inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowBottom: 'inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)'\n }), overrideTokens);\n return aliasToken;\n}","export const roundedArrow = (width, innerRadius, outerRadius, bgColor, boxShadow) => {\n const unitWidth = width / 2;\n const ax = unitWidth - outerRadius * (Math.sqrt(2) - 1);\n const ay = unitWidth;\n const bx = unitWidth + outerRadius * (1 - 1 / Math.sqrt(2));\n const by = unitWidth - outerRadius * (1 - 1 / Math.sqrt(2));\n const cx = 2 * unitWidth - innerRadius * (1 / Math.sqrt(2));\n const cy = innerRadius * (1 / Math.sqrt(2));\n const dx = 4 * unitWidth - cx;\n const dy = cy;\n const ex = 4 * unitWidth - bx;\n const ey = by;\n const fx = 4 * unitWidth - ax;\n const fy = ay;\n return {\n borderRadius: {\n _skip_check_: true,\n value: `0 0 ${innerRadius}px`\n },\n pointerEvents: 'none',\n width: width * 2,\n height: width * 2,\n overflow: 'hidden',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: width / Math.sqrt(2),\n height: width / Math.sqrt(2),\n bottom: 0,\n insetInline: 0,\n margin: 'auto',\n borderRadius: {\n _skip_check_: true,\n value: `0 0 ${innerRadius}px 0`\n },\n transform: 'translateY(50%) rotate(-135deg)',\n boxShadow,\n zIndex: 0,\n background: 'transparent'\n },\n '&::before': {\n position: 'absolute',\n bottom: 0,\n insetInlineStart: 0,\n width: width * 2,\n height: width / 2,\n background: bgColor,\n clipPath: `path('M ${ax} ${ay} A ${outerRadius} ${outerRadius} 0 0 0 ${bx} ${by} L ${cx} ${cy} A ${innerRadius} ${innerRadius} 0 0 1 ${dx} ${dy} L ${ex} ${ey} A ${outerRadius} ${outerRadius} 0 0 0 ${fx} ${fy} Z')`,\n content: '\"\"'\n }\n };\n};","export { operationUnit } from './operationUnit';\nexport { roundedArrow } from './roundedArrow';\nexport { genPresetColor } from './presetColor';\nexport const textEllipsis = {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n};\nexport const resetComponent = token => ({\n boxSizing: 'border-box',\n margin: 0,\n padding: 0,\n color: token.colorText,\n fontSize: token.fontSize,\n // font-variant: @font-variant-base;\n lineHeight: token.lineHeight,\n listStyle: 'none',\n // font-feature-settings: @font-feature-settings-base;\n fontFamily: token.fontFamily\n});\nexport const resetIcon = () => ({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n fontStyle: 'normal',\n lineHeight: 0,\n textAlign: 'center',\n textTransform: 'none',\n // for SVG icon, see https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n verticalAlign: '-0.125em',\n textRendering: 'optimizeLegibility',\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n '> *': {\n lineHeight: 1\n },\n svg: {\n display: 'inline-block'\n }\n});\nexport const clearFix = () => ({\n // https://github.com/ant-design/ant-design/issues/21301#issuecomment-583955229\n '&::before': {\n display: 'table',\n content: '\"\"'\n },\n '&::after': {\n // https://github.com/ant-design/ant-design/issues/21864\n display: 'table',\n clear: 'both',\n content: '\"\"'\n }\n});\nexport const genLinkStyle = token => ({\n a: {\n color: token.colorLink,\n textDecoration: token.linkDecoration,\n backgroundColor: 'transparent',\n outline: 'none',\n cursor: 'pointer',\n transition: `color ${token.motionDurationSlow}`,\n '-webkit-text-decoration-skip': 'objects',\n '&:hover': {\n color: token.colorLinkHover\n },\n '&:active': {\n color: token.colorLinkActive\n },\n [`&:active,\n &:hover`]: {\n textDecoration: token.linkHoverDecoration,\n outline: 0\n },\n // https://github.com/ant-design/ant-design/issues/22503\n '&:focus': {\n textDecoration: token.linkFocusDecoration,\n outline: 0\n },\n '&[disabled]': {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }\n }\n});\nexport const genCommonStyle = (token, componentPrefixCls) => {\n const {\n fontFamily,\n fontSize\n } = token;\n const rootPrefixSelector = `[class^=\"${componentPrefixCls}\"], [class*=\" ${componentPrefixCls}\"]`;\n return {\n [rootPrefixSelector]: {\n fontFamily,\n fontSize,\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n },\n [rootPrefixSelector]: {\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n }\n }\n }\n };\n};\nexport const genFocusOutline = token => ({\n outline: `${token.lineWidthBold}px solid ${token.colorPrimaryBorder}`,\n outlineOffset: 1,\n transition: 'outline-offset 0s, outline 0s'\n});\nexport const genFocusStyle = token => ({\n '&:focus-visible': Object.assign({}, genFocusOutline(token))\n});","import * as React from 'react';\nexport const defaultIconPrefixCls = 'anticon';\nconst defaultGetPrefixCls = (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? `ant-${suffixCls}` : 'ant';\n};\n// zombieJ: 🚨 Do not pass `defaultRenderEmpty` here since it will cause circular dependency.\nexport const ConfigContext = /*#__PURE__*/React.createContext({\n // We provide a default function for Context without provider\n getPrefixCls: defaultGetPrefixCls,\n iconPrefixCls: defaultIconPrefixCls\n});\nexport const {\n Consumer: ConfigConsumer\n} = ConfigContext;","import { useStyleRegister } from '@ant-design/cssinjs';\nimport { useContext } from 'react';\nimport { genCommonStyle, genLinkStyle } from '../../style';\nimport { ConfigContext } from '../../config-provider/context';\nimport { mergeToken, statisticToken, useToken } from '../internal';\nexport default function genComponentStyleHook(component, styleFn, getDefaultToken) {\n return prefixCls => {\n const [theme, token, hashId] = useToken();\n const {\n getPrefixCls,\n iconPrefixCls\n } = useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n // Generate style for all a tags in antd component.\n useStyleRegister({\n theme,\n token,\n hashId,\n path: ['Shared', rootPrefixCls]\n }, () => [{\n // Link\n '&': genLinkStyle(token)\n }]);\n return [useStyleRegister({\n theme,\n token,\n hashId,\n path: [component, prefixCls, iconPrefixCls]\n }, () => {\n const {\n token: proxyToken,\n flush\n } = statisticToken(token);\n const defaultComponentToken = typeof getDefaultToken === 'function' ? getDefaultToken(proxyToken) : getDefaultToken;\n const mergedComponentToken = Object.assign(Object.assign({}, defaultComponentToken), token[component]);\n const componentCls = `.${prefixCls}`;\n const mergedToken = mergeToken(proxyToken, {\n componentCls,\n prefixCls,\n iconCls: `.${iconPrefixCls}`,\n antCls: `.${rootPrefixCls}`\n }, mergedComponentToken);\n const styleInterpolation = styleFn(mergedToken, {\n hashId,\n prefixCls,\n rootPrefixCls,\n iconPrefixCls,\n overrideComponentToken: token[component]\n });\n flush(component, mergedComponentToken);\n return [genCommonStyle(token, prefixCls), styleInterpolation];\n }), hashId];\n };\n}","const enableStatistic = process.env.NODE_ENV !== 'production' || typeof CSSINJS_STATISTIC !== 'undefined';\nlet recording = true;\n/**\n * This function will do as `Object.assign` in production. But will use Object.defineProperty:get to\n * pass all value access in development. To support statistic field usage with alias token.\n */\nexport function merge() {\n for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n /* istanbul ignore next */\n if (!enableStatistic) {\n return Object.assign.apply(Object, [{}].concat(objs));\n }\n recording = false;\n const ret = {};\n objs.forEach(obj => {\n const keys = Object.keys(obj);\n keys.forEach(key => {\n Object.defineProperty(ret, key, {\n configurable: true,\n enumerable: true,\n get: () => obj[key]\n });\n });\n });\n recording = true;\n return ret;\n}\n/** @private Internal Usage. Not use in your production. */\nexport const statistic = {};\n/** @private Internal Usage. Not use in your production. */\n// eslint-disable-next-line camelcase\nexport const _statistic_build_ = {};\n/* istanbul ignore next */\nfunction noop() {}\n/** Statistic token usage case. Should use `merge` function if you do not want spread record. */\nexport default function statisticToken(token) {\n let tokenKeys;\n let proxy = token;\n let flush = noop;\n if (enableStatistic) {\n tokenKeys = new Set();\n proxy = new Proxy(token, {\n get(obj, prop) {\n if (recording) {\n tokenKeys.add(prop);\n }\n return obj[prop];\n }\n });\n flush = (componentName, componentToken) => {\n statistic[componentName] = {\n global: Array.from(tokenKeys),\n component: componentToken\n };\n };\n }\n return {\n token: proxy,\n keys: tokenKeys,\n flush\n };\n}","import { createTheme, useCacheToken, useStyleRegister } from '@ant-design/cssinjs';\nimport React from 'react';\nimport version from '../version';\nimport { PresetColors } from './interface';\nimport defaultDerivative from './themes/default';\nimport defaultSeedToken from './themes/seed';\nimport formatToken from './util/alias';\nimport genComponentStyleHook from './util/genComponentStyleHook';\nimport statisticToken, { merge as mergeToken, statistic } from './util/statistic';\nconst defaultTheme = createTheme(defaultDerivative);\nexport {\n// colors\nPresetColors,\n// Statistic\nstatistic, statisticToken, mergeToken,\n// hooks\nuseStyleRegister, genComponentStyleHook };\n// ================================ Context =================================\n// To ensure snapshot stable. We disable hashed in test env.\nexport const defaultConfig = {\n token: defaultSeedToken,\n hashed: true\n};\nexport const DesignTokenContext = /*#__PURE__*/React.createContext(defaultConfig);\n// ================================== Hook ==================================\nexport function useToken() {\n const {\n token: rootDesignToken,\n hashed,\n theme,\n components\n } = React.useContext(DesignTokenContext);\n const salt = `${version}-${hashed || ''}`;\n const mergedTheme = theme || defaultTheme;\n const [token, hashId] = useCacheToken(mergedTheme, [defaultSeedToken, rootDesignToken], {\n salt,\n override: Object.assign({\n override: rootDesignToken\n }, components),\n formatToken\n });\n return [mergedTheme, token, hashed ? hashId : ''];\n}","import * as React from 'react';\nconst DisabledContext = /*#__PURE__*/React.createContext(false);\nexport const DisabledContextProvider = _ref => {\n let {\n children,\n disabled\n } = _ref;\n const originDisabled = React.useContext(DisabledContext);\n return /*#__PURE__*/React.createElement(DisabledContext.Provider, {\n value: disabled !== null && disabled !== void 0 ? disabled : originDisabled\n }, children);\n};\nexport default DisabledContext;","import * as React from 'react';\nconst SizeContext = /*#__PURE__*/React.createContext(undefined);\nexport const SizeContextProvider = _ref => {\n let {\n children,\n size\n } = _ref;\n const originSize = React.useContext(SizeContext);\n return /*#__PURE__*/React.createElement(SizeContext.Provider, {\n value: size || originSize\n }, children);\n};\nexport default SizeContext;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { createTheme } from '@ant-design/cssinjs';\nimport IconContext from \"@ant-design/icons/es/components/Context\";\nimport { FormProvider as RcFormProvider } from 'rc-field-form';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport * as React from 'react';\nimport LocaleProvider, { ANT_MARK } from '../locale';\nimport LocaleReceiver from '../locale/LocaleReceiver';\nimport defaultLocale from '../locale/en_US';\nimport { DesignTokenContext } from '../theme/internal';\nimport defaultSeedToken from '../theme/themes/seed';\nimport { ConfigConsumer, ConfigContext, defaultIconPrefixCls } from './context';\nimport { registerTheme } from './cssVariables';\nimport { DisabledContextProvider } from './DisabledContext';\nimport useTheme from './hooks/useTheme';\nimport SizeContext, { SizeContextProvider } from './SizeContext';\nimport useStyle from './style';\nexport { ConfigContext, ConfigConsumer };\nexport { defaultIconPrefixCls };\nexport const configConsumerProps = ['getTargetContainer', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader'];\n// These props is used by `useContext` directly in sub component\nconst PASSED_PROPS = ['getTargetContainer', 'getPopupContainer', 'renderEmpty', 'pageHeader', 'input', 'pagination', 'form', 'select'];\nexport const defaultPrefixCls = 'ant';\nlet globalPrefixCls;\nlet globalIconPrefixCls;\nfunction getGlobalPrefixCls() {\n return globalPrefixCls || defaultPrefixCls;\n}\nfunction getGlobalIconPrefixCls() {\n return globalIconPrefixCls || defaultIconPrefixCls;\n}\nconst setGlobalConfig = _ref => {\n let {\n prefixCls,\n iconPrefixCls,\n theme\n } = _ref;\n if (prefixCls !== undefined) {\n globalPrefixCls = prefixCls;\n }\n if (iconPrefixCls !== undefined) {\n globalIconPrefixCls = iconPrefixCls;\n }\n if (theme) {\n registerTheme(getGlobalPrefixCls(), theme);\n }\n};\nexport const globalConfig = () => ({\n getPrefixCls: (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? `${getGlobalPrefixCls()}-${suffixCls}` : getGlobalPrefixCls();\n },\n getIconPrefixCls: getGlobalIconPrefixCls,\n getRootPrefixCls: () => {\n // If Global prefixCls provided, use this\n if (globalPrefixCls) {\n return globalPrefixCls;\n }\n // Fallback to default prefixCls\n return getGlobalPrefixCls();\n }\n});\nconst ProviderChildren = props => {\n var _a, _b;\n const {\n children,\n csp: customCsp,\n autoInsertSpaceInButton,\n form,\n locale,\n componentSize,\n direction,\n space,\n virtual,\n dropdownMatchSelectWidth,\n legacyLocale,\n parentContext,\n iconPrefixCls: customIconPrefixCls,\n theme,\n componentDisabled\n } = props;\n const getPrefixCls = React.useCallback((suffixCls, customizePrefixCls) => {\n const {\n prefixCls\n } = props;\n if (customizePrefixCls) return customizePrefixCls;\n const mergedPrefixCls = prefixCls || parentContext.getPrefixCls('');\n return suffixCls ? `${mergedPrefixCls}-${suffixCls}` : mergedPrefixCls;\n }, [parentContext.getPrefixCls, props.prefixCls]);\n const iconPrefixCls = customIconPrefixCls || parentContext.iconPrefixCls || defaultIconPrefixCls;\n const shouldWrapSSR = iconPrefixCls !== parentContext.iconPrefixCls;\n const csp = customCsp || parentContext.csp;\n const wrapSSR = useStyle(iconPrefixCls);\n const mergedTheme = useTheme(theme, parentContext.theme);\n const baseConfig = {\n csp,\n autoInsertSpaceInButton,\n locale: locale || legacyLocale,\n direction,\n space,\n virtual,\n dropdownMatchSelectWidth,\n getPrefixCls,\n iconPrefixCls,\n theme: mergedTheme\n };\n const config = Object.assign({}, parentContext);\n Object.keys(baseConfig).forEach(key => {\n if (baseConfig[key] !== undefined) {\n config[key] = baseConfig[key];\n }\n });\n // Pass the props used by `useContext` directly with child component.\n // These props should merged into `config`.\n PASSED_PROPS.forEach(propName => {\n const propValue = props[propName];\n if (propValue) {\n config[propName] = propValue;\n }\n });\n // https://github.com/ant-design/ant-design/issues/27617\n const memoedConfig = useMemo(() => config, config, (prevConfig, currentConfig) => {\n const prevKeys = Object.keys(prevConfig);\n const currentKeys = Object.keys(currentConfig);\n return prevKeys.length !== currentKeys.length || prevKeys.some(key => prevConfig[key] !== currentConfig[key]);\n });\n const memoIconContextValue = React.useMemo(() => ({\n prefixCls: iconPrefixCls,\n csp\n }), [iconPrefixCls, csp]);\n let childNode = shouldWrapSSR ? wrapSSR(children) : children;\n // Additional Form provider\n let validateMessages = {};\n if (locale) {\n validateMessages = ((_a = locale.Form) === null || _a === void 0 ? void 0 : _a.defaultValidateMessages) || ((_b = defaultLocale.Form) === null || _b === void 0 ? void 0 : _b.defaultValidateMessages) || {};\n }\n if (form && form.validateMessages) {\n validateMessages = Object.assign(Object.assign({}, validateMessages), form.validateMessages);\n }\n if (Object.keys(validateMessages).length > 0) {\n childNode = /*#__PURE__*/React.createElement(RcFormProvider, {\n validateMessages: validateMessages\n }, children);\n }\n if (locale) {\n childNode = /*#__PURE__*/React.createElement(LocaleProvider, {\n locale: locale,\n _ANT_MARK__: ANT_MARK\n }, childNode);\n }\n if (iconPrefixCls || csp) {\n childNode = /*#__PURE__*/React.createElement(IconContext.Provider, {\n value: memoIconContextValue\n }, childNode);\n }\n if (componentSize) {\n childNode = /*#__PURE__*/React.createElement(SizeContextProvider, {\n size: componentSize\n }, childNode);\n }\n // ================================ Dynamic theme ================================\n const memoTheme = React.useMemo(() => {\n const _a = mergedTheme || {},\n {\n algorithm,\n token\n } = _a,\n rest = __rest(_a, [\"algorithm\", \"token\"]);\n const themeObj = algorithm && (!Array.isArray(algorithm) || algorithm.length > 0) ? createTheme(algorithm) : undefined;\n return Object.assign(Object.assign({}, rest), {\n theme: themeObj,\n token: Object.assign(Object.assign({}, defaultSeedToken), token)\n });\n }, [mergedTheme]);\n if (theme) {\n childNode = /*#__PURE__*/React.createElement(DesignTokenContext.Provider, {\n value: memoTheme\n }, childNode);\n }\n // =================================== Render ===================================\n if (componentDisabled !== undefined) {\n childNode = /*#__PURE__*/React.createElement(DisabledContextProvider, {\n disabled: componentDisabled\n }, childNode);\n }\n return /*#__PURE__*/React.createElement(ConfigContext.Provider, {\n value: memoedConfig\n }, childNode);\n};\nconst ConfigProvider = props => /*#__PURE__*/React.createElement(LocaleReceiver, null, (_, __, legacyLocale) => /*#__PURE__*/React.createElement(ConfigConsumer, null, context => /*#__PURE__*/React.createElement(ProviderChildren, Object.assign({\n parentContext: context,\n legacyLocale: legacyLocale\n}, props))));\nConfigProvider.ConfigContext = ConfigContext;\nConfigProvider.SizeContext = SizeContext;\nConfigProvider.config = setGlobalConfig;\nif (process.env.NODE_ENV !== 'production') {\n ConfigProvider.displayName = 'ConfigProvider';\n}\nexport default ConfigProvider;","import * as React from 'react';\nexport const {\n isValidElement\n} = React;\nexport function isFragment(child) {\n return child && isValidElement(child) && child.type === React.Fragment;\n}\nexport function replaceElement(element, replacement, props) {\n if (!isValidElement(element)) {\n return replacement;\n }\n return /*#__PURE__*/React.cloneElement(element, typeof props === 'function' ? props(element.props || {}) : props);\n}\nexport function cloneElement(element, props) {\n return replaceElement(element, element, props);\n}","import { genComponentStyleHook } from '../../theme/internal';\nconst genWaveStyle = token => {\n const {\n componentCls,\n colorPrimary\n } = token;\n return {\n [componentCls]: {\n position: 'absolute',\n background: 'transparent',\n pointerEvents: 'none',\n boxSizing: 'border-box',\n color: `var(--wave-color, ${colorPrimary})`,\n boxShadow: `0 0 0 0 currentcolor`,\n opacity: 0.2,\n // =================== Motion ===================\n '&.wave-motion-appear': {\n transition: [`box-shadow 0.4s ${token.motionEaseOutCirc}`, `opacity 2s ${token.motionEaseOutCirc}`].join(','),\n '&-active': {\n boxShadow: `0 0 0 6px currentcolor`,\n opacity: 0\n }\n }\n }\n };\n};\nexport default genComponentStyleHook('Wave', token => [genWaveStyle(token)]);","import ReactDOM from 'react-dom';\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\n\nexport default function findDOMNode(node) {\n if (node instanceof HTMLElement) {\n return node;\n }\n\n return ReactDOM.findDOMNode(node);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nimport useMemo from './hooks/useMemo';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n var refList = refs.filter(function (ref) {\n return ref;\n });\n\n if (refList.length <= 1) {\n return refList[0];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\"; // ================= Transition =================\n// Event wrapper. Copy from react source code\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\n\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\n\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n\n style = _document$createEleme.style;\n}\n\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\n\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n\n setValue(updater);\n }\n\n return [value, safeSetState];\n}","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\n\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\n\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\n\nvar rafUUID = 0;\nvar rafIds = new Map();\n\nfunction cleanup(id) {\n rafIds.delete(id);\n}\n\nexport default function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id); // Trigger\n\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n }); // Bind real raf id\n\n rafIds.set(id, realId);\n }\n }\n\n callRef(times);\n return id;\n}\n\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(realId);\n return caf(realId);\n};","import * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import { useEffect, useLayoutEffect } from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\"; // It's safe to use `useLayoutEffect` but the warning is annoying\n\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { STEP_PREPARE, STEP_ACTIVE, STEP_START, STEP_ACTIVATED, STEP_NONE } from '../interface';\nimport useNextFrame from './useNextFrame';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nvar STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\n/** Skip current step */\n\nexport var SkipStep = false;\n/** Current step should be update in */\n\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from '../util/motion';\nexport default (function (callback) {\n var cacheElementRef = useRef(); // Cache callback\n\n var callbackRef = useRef(callback);\n callbackRef.current = callback; // Internal motion event handler\n\n var onInternalMotionEnd = React.useCallback(function (event) {\n callbackRef.current(event);\n }, []); // Remove events\n\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n } // Patch events\n\n\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd); // Save as cache in case dom removed trigger by `motionDeadline`\n\n cacheElementRef.current = element;\n }\n } // Clean up when removed\n\n\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { STATUS_APPEAR, STATUS_NONE, STATUS_LEAVE, STATUS_ENTER, STEP_PREPARE, STEP_START, STEP_ACTIVE } from '../interface';\nimport useStepQueue, { DoStep, SkipStep, isActive } from './useStepQueue';\nimport useDomMotionEvents from './useDomMotionEvents';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n\n var _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\n\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null); // =========================== Dom Node ===========================\n\n function getDomElement() {\n return getElement();\n } // ========================== Motion End ==========================\n\n\n var activeRef = useRef(false);\n\n function onInternalMotionEnd(event) {\n var element = getDomElement();\n\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n\n var currentActive = activeRef.current;\n var canEnd;\n\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n } // Only update status when `canEnd` and not destroyed\n\n\n if (status !== STATUS_NONE && currentActive && canEnd !== false) {\n setStatus(STATUS_NONE, true);\n setStyle(null, true);\n }\n }\n\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0]; // ============================= Step =============================\n\n\n var eventHandlers = React.useMemo(function () {\n var _ref2, _ref3, _ref4;\n\n switch (status) {\n case STATUS_APPEAR:\n return _ref2 = {}, _defineProperty(_ref2, STEP_PREPARE, onAppearPrepare), _defineProperty(_ref2, STEP_START, onAppearStart), _defineProperty(_ref2, STEP_ACTIVE, onAppearActive), _ref2;\n\n case STATUS_ENTER:\n return _ref3 = {}, _defineProperty(_ref3, STEP_PREPARE, onEnterPrepare), _defineProperty(_ref3, STEP_START, onEnterStart), _defineProperty(_ref3, STEP_ACTIVE, onEnterActive), _ref3;\n\n case STATUS_LEAVE:\n return _ref4 = {}, _defineProperty(_ref4, STEP_PREPARE, onLeavePrepare), _defineProperty(_ref4, STEP_START, onLeaveStart), _defineProperty(_ref4, STEP_ACTIVE, onLeaveActive), _ref4;\n\n default:\n return {};\n }\n }, [status]);\n\n var _useStepQueue = useStepQueue(status, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n\n if (!onPrepare) {\n return SkipStep;\n }\n\n return onPrepare(getDomElement());\n } // Rest step is sync update\n\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n\n if (step === STEP_ACTIVE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n\n var active = isActive(step);\n activeRef.current = active; // ============================ Status ============================\n // Update with new status\n\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n if (!supportMotion) {\n return;\n }\n\n var nextStatus; // Appear\n\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n } // Enter\n\n\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n } // Leave\n\n\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n } // Update to next status\n\n\n if (nextStatus) {\n setStatus(nextStatus);\n startStep();\n }\n }, [visible]); // ============================ Effect ============================\n // Reset when motion changed\n\n useEffect(function () {\n if ( // Cancel appear\n status === STATUS_APPEAR && !motionAppear || // Cancel enter\n status === STATUS_ENTER && !motionEnter || // Cancel leave\n status === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []); // Trigger `onVisibleChanged`\n\n var firstMountChangeRef = React.useRef(false);\n useEffect(function () {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n\n if (asyncVisible !== undefined && status === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged === null || onVisibleChanged === void 0 ? void 0 : onVisibleChanged(asyncVisible);\n }\n\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, status]); // ============================ Styles ============================\n\n var mergedStyle = style;\n\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n\n return [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\n\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n\n var _super = _createSuper(DomWrapper);\n\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DomWrapper;\n}(React.Component);\n\nexport default DomWrapper;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, supportRef } from \"rc-util/es/ref\";\nimport classNames from 'classnames';\nimport { getTransitionName, supportTransition } from './util/motion';\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from './interface';\nimport useStatus from './hooks/useStatus';\nimport DomWrapper from './DomWrapper';\nimport { isActive } from './hooks/useStepQueue';\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\n\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n\n function isSupportTransition(props) {\n return !!(props.motionName && transitionSupport);\n }\n\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var supportMotion = isSupportTransition(props); // Ref to the react node, it may be a HTMLElement\n\n var nodeRef = useRef(); // Ref to the dom wrapper in case ref can not pass to HTMLElement\n\n var wrapperNodeRef = useRef();\n\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3]; // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n\n\n var renderedRef = React.useRef(mergedVisible);\n\n if (mergedVisible) {\n renderedRef.current = true;\n } // ====================== Refs ======================\n\n\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]); // ===================== Render =====================\n\n var motionChildren;\n\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE || !isSupportTransition(props)) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n var _classNames;\n\n // In motion\n var statusSuffix;\n\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), (_classNames = {}, _defineProperty(_classNames, getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix)), statusSuffix), _defineProperty(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n style: statusStyle\n }), setNodeRef);\n } // Auto inject ref if child node not have `ref` props\n\n\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var _motionChildren = motionChildren,\n originNodeRef = _motionChildren.ref;\n\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\nvar rafUUID = 0;\nvar rafIds = new Map();\nfunction cleanup(id) {\n rafIds.delete(id);\n}\nvar wrapperRaf = function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id);\n // Trigger\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n });\n // Bind real raf id\n rafIds.set(id, realId);\n }\n }\n callRef(times);\n return id;\n};\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(realId);\n return caf(realId);\n};\nexport default wrapperRaf;","import _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as ReactDOM from 'react-dom';\n// Let compiler not to search module usage\nvar fullClone = _objectSpread({}, ReactDOM);\nvar version = fullClone.version,\n reactRender = fullClone.render,\n unmountComponentAtNode = fullClone.unmountComponentAtNode;\nvar createRoot;\ntry {\n var mainVersion = Number((version || '').split('.')[0]);\n if (mainVersion >= 18) {\n createRoot = fullClone.createRoot;\n }\n} catch (e) {\n // Do nothing;\n}\nfunction toggleWarning(skip) {\n var __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = fullClone.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n if (__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED && _typeof(__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === 'object') {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.usingClientEntryPoint = skip;\n }\n}\nvar MARK = '__rc_react_root__';\nfunction modernRender(node, container) {\n toggleWarning(true);\n var root = container[MARK] || createRoot(container);\n toggleWarning(false);\n root.render(node);\n container[MARK] = root;\n}\nfunction legacyRender(node, container) {\n reactRender(node, container);\n}\n/** @private Test usage. Not work in prod */\nexport function _r(node, container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyRender(node, container);\n }\n}\nexport function render(node, container) {\n if (createRoot) {\n modernRender(node, container);\n return;\n }\n legacyRender(node, container);\n}\n// ========================= Unmount ==========================\nfunction modernUnmount(_x) {\n return _modernUnmount.apply(this, arguments);\n}\nfunction _modernUnmount() {\n _modernUnmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(container) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", Promise.resolve().then(function () {\n var _container$MARK;\n (_container$MARK = container[MARK]) === null || _container$MARK === void 0 ? void 0 : _container$MARK.unmount();\n delete container[MARK];\n }));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _modernUnmount.apply(this, arguments);\n}\nfunction legacyUnmount(container) {\n unmountComponentAtNode(container);\n}\n/** @private Test usage. Not work in prod */\nexport function _u(container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyUnmount(container);\n }\n}\nexport function unmount(_x2) {\n return _unmount.apply(this, arguments);\n}\nfunction _unmount() {\n _unmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(container) {\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(createRoot !== undefined)) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\", modernUnmount(container));\n case 2:\n legacyUnmount(container);\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _unmount.apply(this, arguments);\n}","export function isNotGrey(color) {\n // eslint-disable-next-line no-useless-escape\n const match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\d.]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n}\nexport function isValidWaveColor(color) {\n return color && color !== '#fff' && color !== '#ffffff' && color !== 'rgb(255, 255, 255)' && color !== 'rgba(255, 255, 255, 1)' && isNotGrey(color) && !/rgba\\((?:\\d*, ){3}0\\)/.test(color) &&\n // any transparent rgba color\n color !== 'transparent';\n}\nexport function getTargetWaveColor(node) {\n const {\n borderTopColor,\n borderColor,\n backgroundColor\n } = getComputedStyle(node);\n if (isValidWaveColor(borderTopColor)) {\n return borderTopColor;\n }\n if (isValidWaveColor(borderColor)) {\n return borderColor;\n }\n if (isValidWaveColor(backgroundColor)) {\n return backgroundColor;\n }\n return null;\n}","import * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport raf from \"rc-util/es/raf\";\nimport { render, unmount } from \"rc-util/es/React/render\";\nimport classNames from 'classnames';\nimport { getTargetWaveColor } from './util';\nfunction validateNum(value) {\n return Number.isNaN(value) ? 0 : value;\n}\nconst WaveEffect = props => {\n const {\n className,\n target\n } = props;\n const divRef = React.useRef(null);\n const [color, setWaveColor] = React.useState(null);\n const [borderRadius, setBorderRadius] = React.useState([]);\n const [left, setLeft] = React.useState(0);\n const [top, setTop] = React.useState(0);\n const [width, setWidth] = React.useState(0);\n const [height, setHeight] = React.useState(0);\n const [enabled, setEnabled] = React.useState(false);\n const waveStyle = {\n left,\n top,\n width,\n height,\n borderRadius: borderRadius.map(radius => `${radius}px`).join(' ')\n };\n if (color) {\n waveStyle['--wave-color'] = color;\n }\n function syncPos() {\n const nodeStyle = getComputedStyle(target);\n // Get wave color from target\n setWaveColor(getTargetWaveColor(target));\n const isStatic = nodeStyle.position === 'static';\n // Rect\n const {\n borderLeftWidth,\n borderTopWidth\n } = nodeStyle;\n setLeft(isStatic ? target.offsetLeft : validateNum(-parseFloat(borderLeftWidth)));\n setTop(isStatic ? target.offsetTop : validateNum(-parseFloat(borderTopWidth)));\n setWidth(target.offsetWidth);\n setHeight(target.offsetHeight);\n // Get border radius\n const {\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius\n } = nodeStyle;\n setBorderRadius([borderTopLeftRadius, borderTopRightRadius, borderBottomRightRadius, borderBottomLeftRadius].map(radius => validateNum(parseFloat(radius))));\n }\n React.useEffect(() => {\n if (target) {\n // We need delay to check position here\n // since UI may change after click\n const id = raf(() => {\n syncPos();\n setEnabled(true);\n });\n // Add resize observer to follow size\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(syncPos);\n resizeObserver.observe(target);\n }\n return () => {\n raf.cancel(id);\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n }\n }, []);\n if (!enabled) {\n return null;\n }\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: true,\n motionAppear: true,\n motionName: \"wave-motion\",\n motionDeadline: 5000,\n onAppearEnd: (_, event) => {\n var _a;\n if (event.deadline || event.propertyName === 'opacity') {\n const holder = (_a = divRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;\n unmount(holder).then(() => {\n var _a;\n (_a = holder.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(holder);\n });\n }\n return false;\n }\n }, _ref => {\n let {\n className: motionClassName\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: divRef,\n className: classNames(className, motionClassName),\n style: waveStyle\n });\n });\n};\nexport default function showWaveEffect(node, className) {\n // Create holder\n const holder = document.createElement('div');\n holder.style.position = 'absolute';\n holder.style.left = `0px`;\n holder.style.top = `0px`;\n node === null || node === void 0 ? void 0 : node.insertBefore(holder, node === null || node === void 0 ? void 0 : node.firstChild);\n render( /*#__PURE__*/React.createElement(WaveEffect, {\n target: node,\n className: className\n }), holder);\n}","import showWaveEffect from './WaveEffect';\nexport default function useWave(nodeRef, className) {\n function showWave() {\n const node = nodeRef.current;\n showWaveEffect(node, className);\n }\n return showWave;\n}","import classNames from 'classnames';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport React, { useContext, useRef } from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport { cloneElement } from '../reactNode';\nimport useStyle from './style';\nimport useWave from './useWave';\nconst Wave = props => {\n const {\n children,\n disabled\n } = props;\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const containerRef = useRef(null);\n // ============================== Style ===============================\n const prefixCls = getPrefixCls('wave');\n const [, hashId] = useStyle(prefixCls);\n // =============================== Wave ===============================\n const showWave = useWave(containerRef, classNames(prefixCls, hashId));\n // ============================== Effect ==============================\n React.useEffect(() => {\n const node = containerRef.current;\n if (!node || node.nodeType !== 1 || disabled) {\n return;\n }\n // Click handler\n const onClick = e => {\n // Fix radio button click twice\n if (e.target.tagName === 'INPUT' || !isVisible(e.target) ||\n // No need wave\n !node.getAttribute || node.getAttribute('disabled') || node.disabled || node.className.includes('disabled') || node.className.includes('-leave')) {\n return;\n }\n showWave();\n };\n // Bind events\n node.addEventListener('click', onClick, true);\n return () => {\n node.removeEventListener('click', onClick, true);\n };\n }, [disabled]);\n // ============================== Render ==============================\n if (! /*#__PURE__*/React.isValidElement(children)) {\n return children !== null && children !== void 0 ? children : null;\n }\n const ref = supportRef(children) ? composeRef(children.ref, containerRef) : containerRef;\n return cloneElement(children, {\n ref\n });\n};\nif (process.env.NODE_ENV !== 'production') {\n Wave.displayName = 'Wave';\n}\nexport default Wave;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nexport const SpaceCompactItemContext = /*#__PURE__*/React.createContext(null);\nexport const useCompactItemContext = (prefixCls, direction) => {\n const compactItemContext = React.useContext(SpaceCompactItemContext);\n const compactItemClassnames = React.useMemo(() => {\n if (!compactItemContext) return '';\n const {\n compactDirection,\n isFirstItem,\n isLastItem\n } = compactItemContext;\n const separator = compactDirection === 'vertical' ? '-vertical-' : '-';\n return classNames({\n [`${prefixCls}-compact${separator}item`]: true,\n [`${prefixCls}-compact${separator}first-item`]: isFirstItem,\n [`${prefixCls}-compact${separator}last-item`]: isLastItem,\n [`${prefixCls}-compact${separator}item-rtl`]: direction === 'rtl'\n });\n }, [prefixCls, direction, compactItemContext]);\n return {\n compactSize: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactSize,\n compactDirection: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactDirection,\n compactItemClassnames\n };\n};\nexport const NoCompactStyle = _ref => {\n let {\n children\n } = _ref;\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: null\n }, children);\n};\nconst CompactItem = _a => {\n var {\n children\n } = _a,\n otherProps = __rest(_a, [\"children\"]);\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: otherProps\n }, children);\n};\nconst Compact = props => {\n const {\n getPrefixCls,\n direction: directionConfig\n } = React.useContext(ConfigContext);\n const {\n size = 'middle',\n direction,\n block,\n prefixCls: customizePrefixCls,\n className,\n children\n } = props,\n restProps = __rest(props, [\"size\", \"direction\", \"block\", \"prefixCls\", \"className\", \"children\"]);\n const prefixCls = getPrefixCls('space-compact', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const clx = classNames(prefixCls, hashId, {\n [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-block`]: block,\n [`${prefixCls}-vertical`]: direction === 'vertical'\n }, className);\n const compactItemContext = React.useContext(SpaceCompactItemContext);\n const childNodes = toArray(children);\n const nodes = React.useMemo(() => childNodes.map((child, i) => {\n const key = child && child.key || `${prefixCls}-item-${i}`;\n return /*#__PURE__*/React.createElement(CompactItem, {\n key: key,\n compactSize: size,\n compactDirection: direction,\n isFirstItem: i === 0 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isFirstItem)),\n isLastItem: i === childNodes.length - 1 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isLastItem))\n }, child);\n }), [size, childNodes, compactItemContext]);\n // =========================== Render ===========================\n if (childNodes.length === 0) {\n return null;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: clx\n }, restProps), nodes));\n};\nexport default Compact;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { useToken } from '../theme/internal';\nimport warning from '../_util/warning';\nexport const GroupSizeContext = /*#__PURE__*/React.createContext(undefined);\nconst ButtonGroup = props => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n size,\n className\n } = props,\n others = __rest(props, [\"prefixCls\", \"size\", \"className\"]);\n const prefixCls = getPrefixCls('btn-group', customizePrefixCls);\n const [,, hashId] = useToken();\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n case 'middle':\n case undefined:\n break;\n default:\n process.env.NODE_ENV !== \"production\" ? warning(!size, 'Button.Group', 'Invalid prop `size`.') : void 0;\n }\n const classes = classNames(prefixCls, {\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, hashId);\n return /*#__PURE__*/React.createElement(GroupSizeContext.Provider, {\n value: size\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classes\n })));\n};\nexport default ButtonGroup;","import React from 'react';\nimport { cloneElement, isFragment } from '../_util/reactNode';\nconst rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nexport const isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\nexport function isString(str) {\n return typeof str === 'string';\n}\nexport function isUnBorderedButtonType(type) {\n return type === 'text' || type === 'link';\n}\nfunction splitCNCharsBySpace(child, needInserted) {\n if (child === null || child === undefined) {\n return;\n }\n const SPACE = needInserted ? ' ' : '';\n if (typeof child !== 'string' && typeof child !== 'number' && isString(child.type) && isTwoCNChar(child.props.children)) {\n return cloneElement(child, {\n children: child.props.children.split('').join(SPACE)\n });\n }\n if (typeof child === 'string') {\n return isTwoCNChar(child) ? /*#__PURE__*/React.createElement(\"span\", null, child.split('').join(SPACE)) : /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n if (isFragment(child)) {\n return /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n return child;\n}\nexport function spaceChildren(children, needInserted) {\n let isPrevChildPure = false;\n const childList = [];\n React.Children.forEach(children, child => {\n const type = typeof child;\n const isCurrentChildPure = type === 'string' || type === 'number';\n if (isPrevChildPure && isCurrentChildPure) {\n const lastIndex = childList.length - 1;\n const lastChild = childList[lastIndex];\n childList[lastIndex] = `${lastChild}${child}`;\n } else {\n childList.push(child);\n }\n isPrevChildPure = isCurrentChildPure;\n });\n return React.Children.map(childList, child => splitCNCharsBySpace(child, needInserted));\n}\nconst ButtonTypes = ['default', 'primary', 'ghost', 'dashed', 'link', 'text'];\nconst ButtonShapes = ['default', 'circle', 'round'];\nconst ButtonHTMLTypes = ['submit', 'button', 'reset'];","// This icon file is generated automatically.\nvar LoadingOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z\" } }] }, \"name\": \"loading\", \"theme\": \"outlined\" };\nexport default LoadingOutlined;\n","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import canUseDom from './canUseDom';\nvar MARK_KEY = \"rc-util-key\";\n\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n\n return MARK_KEY;\n}\n\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n\n var head = document.querySelector('head');\n return head || document.body;\n}\n\nexport function injectCSS(css) {\n var _option$csp;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!canUseDom()) {\n return null;\n }\n\n var styleNode = document.createElement('style');\n\n if ((_option$csp = option.csp) === null || _option$csp === void 0 ? void 0 : _option$csp.nonce) {\n var _option$csp2;\n\n styleNode.nonce = (_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce;\n }\n\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n\n if (option.prepend && container.prepend) {\n // Use `prepend` first\n container.prepend(styleNode);\n } else if (option.prepend && firstChild) {\n // Fallback to `insertBefore` like IE not support `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n\n return styleNode;\n}\nvar containerCache = new Map();\n\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return Array.from(containerCache.get(container).children).find(function (node) {\n return node.tagName === 'STYLE' && node.getAttribute(getMark(option)) === key;\n });\n}\n\nexport function removeCSS(key) {\n var _existNode$parentNode;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n existNode === null || existNode === void 0 ? void 0 : (_existNode$parentNode = existNode.parentNode) === null || _existNode$parentNode === void 0 ? void 0 : _existNode$parentNode.removeChild(existNode);\n}\nexport function updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option); // Get real parent\n\n if (!containerCache.has(container)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n parentNode.removeChild(placeholderStyle);\n }\n\n var existNode = findExistNode(key, option);\n\n if (existNode) {\n var _option$csp3, _option$csp4;\n\n if (((_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce) && existNode.nonce !== ((_option$csp4 = option.csp) === null || _option$csp4 === void 0 ? void 0 : _option$csp4.nonce)) {\n var _option$csp5;\n\n existNode.nonce = (_option$csp5 = option.csp) === null || _option$csp5 === void 0 ? void 0 : _option$csp5.nonce;\n }\n\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n\n return existNode;\n }\n\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport React, { useContext, useEffect } from 'react';\nimport warn from \"rc-util/es/warning\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport IconContext from './components/Context';\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n default:\n acc[key] = val;\n }\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n}\n// These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexport var useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n var _useContext = useContext(IconContext),\n csp = _useContext.csp;\n useEffect(function () {\n updateCSS(styleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp\n });\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from '../utils';\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n useInsertStyles();\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n if (!isIconDefinition(icon)) {\n return null;\n }\n var target = icon;\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from './IconBase';\nimport { normalizeTwoToneColors } from '../utils';\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n return [colors.primaryColor, colors.secondaryColor];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Context from './Context';\nimport ReactIcon from './IconBase';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { normalizeTwoToneColors } from '../utils';\n// Initial setting\n// should move it to antd main repo?\nsetTwoToneColor('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var _React$useContext = React.useContext(Context),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre,\n rootClassName = _React$useContext.rootClassName;\n var classString = classNames(rootClassName, prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return /*#__PURE__*/React.createElement(\"span\", _objectSpread(_objectSpread({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps), {}, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport LoadingOutlinedSvg from \"@ant-design/icons-svg/es/asn/LoadingOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar LoadingOutlined = function LoadingOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: LoadingOutlinedSvg\n }));\n};\nLoadingOutlined.displayName = 'LoadingOutlined';\nexport default /*#__PURE__*/React.forwardRef(LoadingOutlined);","import LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport CSSMotion from 'rc-motion';\nimport React from 'react';\nconst getCollapsedWidth = () => ({\n width: 0,\n opacity: 0,\n transform: 'scale(0)'\n});\nconst getRealWidth = node => ({\n width: node.scrollWidth,\n opacity: 1,\n transform: 'scale(1)'\n});\nconst LoadingIcon = _ref => {\n let {\n prefixCls,\n loading,\n existIcon\n } = _ref;\n const visible = !!loading;\n if (existIcon) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-loading-icon`\n }, /*#__PURE__*/React.createElement(LoadingOutlined, null));\n }\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n // We do not really use this motionName\n motionName: `${prefixCls}-loading-icon-motion`,\n removeOnLeave: true,\n onAppearStart: getCollapsedWidth,\n onAppearActive: getRealWidth,\n onEnterStart: getCollapsedWidth,\n onEnterActive: getRealWidth,\n onLeaveStart: getRealWidth,\n onLeaveActive: getCollapsedWidth\n }, (_ref2, ref) => {\n let {\n className,\n style\n } = _ref2;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-loading-icon`,\n style: style,\n ref: ref\n }, /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: className\n }));\n });\n};\nexport default LoadingIcon;","const genButtonBorderStyle = (buttonTypeCls, borderColor) => ({\n // Border\n [`> span, > ${buttonTypeCls}`]: {\n '&:not(:last-child)': {\n [`&, & > ${buttonTypeCls}`]: {\n '&:not(:disabled)': {\n borderInlineEndColor: borderColor\n }\n }\n },\n '&:not(:first-child)': {\n [`&, & > ${buttonTypeCls}`]: {\n '&:not(:disabled)': {\n borderInlineStartColor: borderColor\n }\n }\n }\n }\n});\nconst genGroupStyle = token => {\n const {\n componentCls,\n fontSize,\n lineWidth,\n colorPrimaryHover,\n colorErrorHover\n } = token;\n return {\n [`${componentCls}-group`]: [{\n position: 'relative',\n display: 'inline-flex',\n // Border\n [`> span, > ${componentCls}`]: {\n '&:not(:last-child)': {\n [`&, & > ${componentCls}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n '&:not(:first-child)': {\n marginInlineStart: -lineWidth,\n [`&, & > ${componentCls}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n }\n },\n [componentCls]: {\n position: 'relative',\n zIndex: 1,\n [`&:hover,\n &:focus,\n &:active`]: {\n zIndex: 2\n },\n '&[disabled]': {\n zIndex: 0\n }\n },\n [`${componentCls}-icon-only`]: {\n fontSize\n }\n },\n // Border Color\n genButtonBorderStyle(`${componentCls}-primary`, colorPrimaryHover), genButtonBorderStyle(`${componentCls}-danger`, colorErrorHover)]\n };\n};\nexport default genGroupStyle;","// handle border collapse\nfunction compactItemBorder(token, parentCls, options) {\n const {\n focusElCls,\n focus,\n borderElCls\n } = options;\n const childCombinator = borderElCls ? '> *' : '';\n const hoverEffects = ['hover', focus ? 'focus' : null, 'active'].filter(Boolean).map(n => `&:${n} ${childCombinator}`).join(',');\n return {\n [`&-item:not(${parentCls}-last-item)`]: {\n marginInlineEnd: -token.lineWidth\n },\n '&-item': Object.assign(Object.assign({\n [hoverEffects]: {\n zIndex: 2\n }\n }, focusElCls ? {\n [`&${focusElCls}`]: {\n zIndex: 2\n }\n } : {}), {\n [`&[disabled] ${childCombinator}`]: {\n zIndex: 0\n }\n })\n };\n}\n// handle border-radius\nfunction compactItemBorderRadius(prefixCls, parentCls, options) {\n const {\n borderElCls\n } = options;\n const childCombinator = borderElCls ? `> ${borderElCls}` : '';\n return {\n [`&-item:not(${parentCls}-first-item):not(${parentCls}-last-item) ${childCombinator}`]: {\n borderRadius: 0\n },\n [`&-item:not(${parentCls}-last-item)${parentCls}-first-item`]: {\n [`& ${childCombinator}, &${prefixCls}-sm ${childCombinator}, &${prefixCls}-lg ${childCombinator}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`&-item:not(${parentCls}-first-item)${parentCls}-last-item`]: {\n [`& ${childCombinator}, &${prefixCls}-sm ${childCombinator}, &${prefixCls}-lg ${childCombinator}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n }\n };\n}\nexport function genCompactItemStyle(token) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n focus: true\n };\n const {\n componentCls\n } = token;\n const compactCls = `${componentCls}-compact`;\n return {\n [compactCls]: Object.assign(Object.assign({}, compactItemBorder(token, compactCls, options)), compactItemBorderRadius(componentCls, compactCls, options))\n };\n}","function compactItemVerticalBorder(token, parentCls) {\n return {\n // border collapse\n [`&-item:not(${parentCls}-last-item)`]: {\n marginBottom: -token.lineWidth\n },\n '&-item': {\n '&:hover,&:focus,&:active': {\n zIndex: 2\n },\n '&[disabled]': {\n zIndex: 0\n }\n }\n };\n}\nfunction compactItemBorderVerticalRadius(prefixCls, parentCls) {\n return {\n [`&-item:not(${parentCls}-first-item):not(${parentCls}-last-item)`]: {\n borderRadius: 0\n },\n [`&-item${parentCls}-first-item:not(${parentCls}-last-item)`]: {\n [`&, &${prefixCls}-sm, &${prefixCls}-lg`]: {\n borderEndEndRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`&-item${parentCls}-last-item:not(${parentCls}-first-item)`]: {\n [`&, &${prefixCls}-sm, &${prefixCls}-lg`]: {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0\n }\n }\n };\n}\nexport function genCompactItemVerticalStyle(token) {\n const compactCls = `${token.componentCls}-compact-vertical`;\n return {\n [compactCls]: Object.assign(Object.assign({}, compactItemVerticalBorder(token, compactCls)), compactItemBorderVerticalRadius(token.componentCls, compactCls))\n };\n}","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genGroupStyle from './group';\nimport { genFocusStyle } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genCompactItemVerticalStyle } from '../../style/compact-item-vertical';\n// ============================== Shared ==============================\nconst genSharedButtonStyle = token => {\n const {\n componentCls,\n iconCls\n } = token;\n return {\n [componentCls]: {\n outline: 'none',\n position: 'relative',\n display: 'inline-block',\n fontWeight: 400,\n whiteSpace: 'nowrap',\n textAlign: 'center',\n backgroundImage: 'none',\n backgroundColor: 'transparent',\n border: `${token.lineWidth}px ${token.lineType} transparent`,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid} ${token.motionEaseInOut}`,\n userSelect: 'none',\n touchAction: 'manipulation',\n lineHeight: token.lineHeight,\n color: token.colorText,\n '> span': {\n display: 'inline-block'\n },\n // Leave a space between icon and text.\n [`> ${iconCls} + span, > span + ${iconCls}`]: {\n marginInlineStart: token.marginXS\n },\n '> a': {\n color: 'currentColor'\n },\n '&:not(:disabled)': Object.assign({}, genFocusStyle(token)),\n // make `btn-icon-only` not too narrow\n [`&-icon-only${componentCls}-compact-item`]: {\n flex: 'none'\n },\n // Special styles for Primary Button\n [`&-compact-item${componentCls}-primary`]: {\n [`&:not([disabled]) + ${componentCls}-compact-item${componentCls}-primary:not([disabled])`]: {\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: -token.lineWidth,\n insetInlineStart: -token.lineWidth,\n display: 'inline-block',\n width: token.lineWidth,\n height: `calc(100% + ${token.lineWidth * 2}px)`,\n backgroundColor: token.colorPrimaryHover,\n content: '\"\"'\n }\n }\n },\n // Special styles for Primary Button\n '&-compact-vertical-item': {\n [`&${componentCls}-primary`]: {\n [`&:not([disabled]) + ${componentCls}-compact-vertical-item${componentCls}-primary:not([disabled])`]: {\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: -token.lineWidth,\n insetInlineStart: -token.lineWidth,\n display: 'inline-block',\n width: `calc(100% + ${token.lineWidth * 2}px)`,\n height: token.lineWidth,\n backgroundColor: token.colorPrimaryHover,\n content: '\"\"'\n }\n }\n }\n }\n }\n };\n};\nconst genHoverActiveButtonStyle = (hoverStyle, activeStyle) => ({\n '&:not(:disabled)': {\n '&:hover': hoverStyle,\n '&:active': activeStyle\n }\n});\n// ============================== Shape ===============================\nconst genCircleButtonStyle = token => ({\n minWidth: token.controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n borderRadius: '50%'\n});\nconst genRoundButtonStyle = token => ({\n borderRadius: token.controlHeight,\n paddingInlineStart: token.controlHeight / 2,\n paddingInlineEnd: token.controlHeight / 2\n});\n// =============================== Type ===============================\nconst genDisabledStyle = token => ({\n cursor: 'not-allowed',\n borderColor: token.colorBorder,\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n boxShadow: 'none'\n});\nconst genGhostButtonStyle = (btnCls, textColor, borderColor, textColorDisabled, borderColorDisabled, hoverStyle, activeStyle) => ({\n [`&${btnCls}-background-ghost`]: Object.assign(Object.assign({\n color: textColor || undefined,\n backgroundColor: 'transparent',\n borderColor: borderColor || undefined,\n boxShadow: 'none'\n }, genHoverActiveButtonStyle(Object.assign({\n backgroundColor: 'transparent'\n }, hoverStyle), Object.assign({\n backgroundColor: 'transparent'\n }, activeStyle))), {\n '&:disabled': {\n cursor: 'not-allowed',\n color: textColorDisabled || undefined,\n borderColor: borderColorDisabled || undefined\n }\n })\n});\nconst genSolidDisabledButtonStyle = token => ({\n '&:disabled': Object.assign({}, genDisabledStyle(token))\n});\nconst genSolidButtonStyle = token => Object.assign({}, genSolidDisabledButtonStyle(token));\nconst genPureDisabledButtonStyle = token => ({\n '&:disabled': {\n cursor: 'not-allowed',\n color: token.colorTextDisabled\n }\n});\n// Type: Default\nconst genDefaultButtonStyle = token => Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genSolidButtonStyle(token)), {\n backgroundColor: token.colorBgContainer,\n borderColor: token.colorBorder,\n boxShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlTmpOutline}`\n}), genHoverActiveButtonStyle({\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n}, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n})), genGhostButtonStyle(token.componentCls, token.colorBgContainer, token.colorBgContainer, token.colorTextDisabled, token.colorBorder)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign(Object.assign({\n color: token.colorError,\n borderColor: token.colorError\n }, genHoverActiveButtonStyle({\n color: token.colorErrorHover,\n borderColor: token.colorErrorBorderHover\n }, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.colorError, token.colorError, token.colorTextDisabled, token.colorBorder)), genSolidDisabledButtonStyle(token))\n});\n// Type: Primary\nconst genPrimaryButtonStyle = token => Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genSolidButtonStyle(token)), {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimary,\n boxShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlOutline}`\n}), genHoverActiveButtonStyle({\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryHover\n}, {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryActive\n})), genGhostButtonStyle(token.componentCls, token.colorPrimary, token.colorPrimary, token.colorTextDisabled, token.colorBorder, {\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n}, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n})), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign(Object.assign({\n backgroundColor: token.colorError,\n boxShadow: `0 ${token.controlOutlineWidth}px 0 ${token.colorErrorOutline}`\n }, genHoverActiveButtonStyle({\n backgroundColor: token.colorErrorHover\n }, {\n backgroundColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.colorError, token.colorError, token.colorTextDisabled, token.colorBorder, {\n color: token.colorErrorHover,\n borderColor: token.colorErrorHover\n }, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n })), genSolidDisabledButtonStyle(token))\n});\n// Type: Dashed\nconst genDashedButtonStyle = token => Object.assign(Object.assign({}, genDefaultButtonStyle(token)), {\n borderStyle: 'dashed'\n});\n// Type: Link\nconst genLinkButtonStyle = token => Object.assign(Object.assign(Object.assign({\n color: token.colorLink\n}, genHoverActiveButtonStyle({\n color: token.colorLinkHover\n}, {\n color: token.colorLinkActive\n})), genPureDisabledButtonStyle(token)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign({\n color: token.colorError\n }, genHoverActiveButtonStyle({\n color: token.colorErrorHover\n }, {\n color: token.colorErrorActive\n })), genPureDisabledButtonStyle(token))\n});\n// Type: Text\nconst genTextButtonStyle = token => Object.assign(Object.assign(Object.assign({}, genHoverActiveButtonStyle({\n color: token.colorText,\n backgroundColor: token.colorBgTextHover\n}, {\n color: token.colorText,\n backgroundColor: token.colorBgTextActive\n})), genPureDisabledButtonStyle(token)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign({\n color: token.colorError\n }, genPureDisabledButtonStyle(token)), genHoverActiveButtonStyle({\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }, {\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }))\n});\n// Href and Disabled\nconst genDisabledButtonStyle = token => Object.assign(Object.assign({}, genDisabledStyle(token)), {\n [`&${token.componentCls}:hover`]: Object.assign({}, genDisabledStyle(token))\n});\nconst genTypeButtonStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-default`]: genDefaultButtonStyle(token),\n [`${componentCls}-primary`]: genPrimaryButtonStyle(token),\n [`${componentCls}-dashed`]: genDashedButtonStyle(token),\n [`${componentCls}-link`]: genLinkButtonStyle(token),\n [`${componentCls}-text`]: genTextButtonStyle(token),\n [`${componentCls}-disabled`]: genDisabledButtonStyle(token)\n };\n};\n// =============================== Size ===============================\nconst genSizeButtonStyle = function (token) {\n let sizePrefixCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const {\n componentCls,\n iconCls,\n controlHeight,\n fontSize,\n lineHeight,\n lineWidth,\n borderRadius,\n buttonPaddingHorizontal\n } = token;\n const paddingVertical = Math.max(0, (controlHeight - fontSize * lineHeight) / 2 - lineWidth);\n const paddingHorizontal = buttonPaddingHorizontal - lineWidth;\n const iconOnlyCls = `${componentCls}-icon-only`;\n return [\n // Size\n {\n [`${componentCls}${sizePrefixCls}`]: {\n fontSize,\n height: controlHeight,\n padding: `${paddingVertical}px ${paddingHorizontal}px`,\n borderRadius,\n [`&${iconOnlyCls}`]: {\n width: controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n [`&${componentCls}-round`]: {\n width: 'auto'\n },\n '> span': {\n transform: 'scale(1.143)' // 14px -> 16px\n }\n },\n\n // Loading\n [`&${componentCls}-loading`]: {\n opacity: token.opacityLoading,\n cursor: 'default'\n },\n [`${componentCls}-loading-icon`]: {\n transition: `width ${token.motionDurationSlow} ${token.motionEaseInOut}, opacity ${token.motionDurationSlow} ${token.motionEaseInOut}`\n },\n [`&:not(${iconOnlyCls}) ${componentCls}-loading-icon > ${iconCls}`]: {\n marginInlineEnd: token.marginXS\n }\n }\n },\n // Shape - patch prefixCls again to override solid border radius style\n {\n [`${componentCls}${componentCls}-circle${sizePrefixCls}`]: genCircleButtonStyle(token)\n }, {\n [`${componentCls}${componentCls}-round${sizePrefixCls}`]: genRoundButtonStyle(token)\n }];\n};\nconst genSizeBaseButtonStyle = token => genSizeButtonStyle(token);\nconst genSizeSmallButtonStyle = token => {\n const smallToken = mergeToken(token, {\n controlHeight: token.controlHeightSM,\n padding: token.paddingXS,\n buttonPaddingHorizontal: 8,\n borderRadius: token.borderRadiusSM\n });\n return genSizeButtonStyle(smallToken, `${token.componentCls}-sm`);\n};\nconst genSizeLargeButtonStyle = token => {\n const largeToken = mergeToken(token, {\n controlHeight: token.controlHeightLG,\n fontSize: token.fontSizeLG,\n borderRadius: token.borderRadiusLG\n });\n return genSizeButtonStyle(largeToken, `${token.componentCls}-lg`);\n};\nconst genBlockButtonStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n [`&${componentCls}-block`]: {\n width: '100%'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Button', token => {\n const {\n controlTmpOutline,\n paddingContentHorizontal\n } = token;\n const buttonToken = mergeToken(token, {\n colorOutlineDefault: controlTmpOutline,\n buttonPaddingHorizontal: paddingContentHorizontal\n });\n return [\n // Shared\n genSharedButtonStyle(buttonToken),\n // Size\n genSizeSmallButtonStyle(buttonToken), genSizeBaseButtonStyle(buttonToken), genSizeLargeButtonStyle(buttonToken),\n // Block\n genBlockButtonStyle(buttonToken),\n // Group (type, ghost, danger, disabled, loading)\n genTypeButtonStyle(buttonToken),\n // Button Group\n genGroupStyle(buttonToken),\n // Space Compact\n genCompactItemStyle(token, {\n focus: false\n }), genCompactItemVerticalStyle(token)];\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/* eslint-disable react/button-has-type */\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport SizeContext from '../config-provider/SizeContext';\nimport { useCompactItemContext } from '../space/Compact';\nimport Group, { GroupSizeContext } from './button-group';\nimport { isTwoCNChar, isUnBorderedButtonType, spaceChildren } from './buttonHelpers';\nimport LoadingIcon from './LoadingIcon';\nimport useStyle from './style';\nexport function convertLegacyProps(type) {\n if (type === 'danger') {\n return {\n danger: true\n };\n }\n return {\n type\n };\n}\nconst InternalButton = (props, ref) => {\n const {\n loading = false,\n prefixCls: customizePrefixCls,\n type = 'default',\n danger,\n shape = 'default',\n size: customizeSize,\n disabled: customDisabled,\n className,\n children,\n icon,\n ghost = false,\n block = false,\n // React does not recognize the `htmlType` prop on a DOM element. Here we pick it out of `rest`.\n htmlType = 'button'\n } = props,\n rest = __rest(props, [\"loading\", \"prefixCls\", \"type\", \"danger\", \"shape\", \"size\", \"disabled\", \"className\", \"children\", \"icon\", \"ghost\", \"block\", \"htmlType\"]);\n const {\n getPrefixCls,\n autoInsertSpaceInButton,\n direction\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('btn', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const size = React.useContext(SizeContext);\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const groupSize = React.useContext(GroupSizeContext);\n const [innerLoading, setLoading] = React.useState(!!loading);\n const [hasTwoCNChar, setHasTwoCNChar] = React.useState(false);\n const buttonRef = ref || /*#__PURE__*/React.createRef();\n const isNeedInserted = () => React.Children.count(children) === 1 && !icon && !isUnBorderedButtonType(type);\n const fixTwoCNChar = () => {\n // FIXME: for HOC usage like <FormatMessage />\n if (!buttonRef || !buttonRef.current || autoInsertSpaceInButton === false) {\n return;\n }\n const buttonText = buttonRef.current.textContent;\n if (isNeedInserted() && isTwoCNChar(buttonText)) {\n if (!hasTwoCNChar) {\n setHasTwoCNChar(true);\n }\n } else if (hasTwoCNChar) {\n setHasTwoCNChar(false);\n }\n };\n const loadingOrDelay = typeof loading === 'boolean' ? loading : (loading === null || loading === void 0 ? void 0 : loading.delay) || true;\n React.useEffect(() => {\n let delayTimer = null;\n if (typeof loadingOrDelay === 'number') {\n delayTimer = window.setTimeout(() => {\n delayTimer = null;\n setLoading(loadingOrDelay);\n }, loadingOrDelay);\n } else {\n setLoading(loadingOrDelay);\n }\n function cleanupTimer() {\n if (delayTimer) {\n window.clearTimeout(delayTimer);\n delayTimer = null;\n }\n }\n return cleanupTimer;\n }, [loadingOrDelay]);\n React.useEffect(fixTwoCNChar, [buttonRef]);\n const handleClick = e => {\n const {\n onClick\n } = props;\n // FIXME: https://github.com/ant-design/ant-design/issues/30207\n if (innerLoading || mergedDisabled) {\n e.preventDefault();\n return;\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof icon === 'string' && icon.length > 2), 'Button', `\\`icon\\` is using ReactNode instead of string naming in v4. Please check \\`${icon}\\` at https://ant.design/components/icon`) : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(ghost && isUnBorderedButtonType(type)), 'Button', \"`link` or `text` button can't be a `ghost` button.\") : void 0;\n const autoInsertSpace = autoInsertSpaceInButton !== false;\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const sizeClassNameMap = {\n large: 'lg',\n small: 'sm',\n middle: undefined\n };\n const sizeFullname = compactSize || groupSize || customizeSize || size;\n const sizeCls = sizeFullname ? sizeClassNameMap[sizeFullname] || '' : '';\n const iconType = innerLoading ? 'loading' : icon;\n const linkButtonRestProps = omit(rest, ['navigate']);\n const hrefAndDisabled = linkButtonRestProps.href !== undefined && mergedDisabled;\n const classes = classNames(prefixCls, hashId, {\n [`${prefixCls}-${shape}`]: shape !== 'default' && shape,\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-icon-only`]: !children && children !== 0 && !!iconType,\n [`${prefixCls}-background-ghost`]: ghost && !isUnBorderedButtonType(type),\n [`${prefixCls}-loading`]: innerLoading,\n [`${prefixCls}-two-chinese-chars`]: hasTwoCNChar && autoInsertSpace && !innerLoading,\n [`${prefixCls}-block`]: block,\n [`${prefixCls}-dangerous`]: !!danger,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-disabled`]: hrefAndDisabled\n }, compactItemClassnames, className);\n const iconNode = icon && !innerLoading ? icon : /*#__PURE__*/React.createElement(LoadingIcon, {\n existIcon: !!icon,\n prefixCls: prefixCls,\n loading: !!innerLoading\n });\n const kids = children || children === 0 ? spaceChildren(children, isNeedInserted() && autoInsertSpace) : null;\n if (linkButtonRestProps.href !== undefined) {\n return wrapSSR( /*#__PURE__*/React.createElement(\"a\", Object.assign({}, linkButtonRestProps, {\n className: classes,\n onClick: handleClick,\n ref: buttonRef\n }), iconNode, kids));\n }\n let buttonNode = /*#__PURE__*/React.createElement(\"button\", Object.assign({}, rest, {\n type: htmlType,\n className: classes,\n onClick: handleClick,\n disabled: mergedDisabled,\n ref: buttonRef\n }), iconNode, kids);\n if (!isUnBorderedButtonType(type)) {\n buttonNode = /*#__PURE__*/React.createElement(Wave, {\n disabled: !!innerLoading\n }, buttonNode);\n }\n return wrapSSR(buttonNode);\n};\nconst Button = /*#__PURE__*/React.forwardRef(InternalButton);\nif (process.env.NODE_ENV !== 'production') {\n Button.displayName = 'Button';\n}\nButton.Group = Group;\nButton.__ANT_BUTTON = true;\nexport default Button;","import * as React from 'react';\nimport Button from '../button';\nexport default function PickerButton(props) {\n return /*#__PURE__*/React.createElement(Button, Object.assign({\n size: \"small\",\n type: \"primary\"\n }, props));\n}","// This icon file is generated automatically.\nvar CalendarOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z\" } }] }, \"name\": \"calendar\", \"theme\": \"outlined\" };\nexport default CalendarOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CalendarOutlinedSvg from \"@ant-design/icons-svg/es/asn/CalendarOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar CalendarOutlined = function CalendarOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CalendarOutlinedSvg\n }));\n};\nCalendarOutlined.displayName = 'CalendarOutlined';\nexport default /*#__PURE__*/React.forwardRef(CalendarOutlined);","// This icon file is generated automatically.\nvar ClockCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z\" } }] }, \"name\": \"clock-circle\", \"theme\": \"outlined\" };\nexport default ClockCircleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport ClockCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/ClockCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar ClockCircleOutlined = function ClockCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: ClockCircleOutlinedSvg\n }));\n};\nClockCircleOutlined.displayName = 'ClockCircleOutlined';\nexport default /*#__PURE__*/React.forwardRef(ClockCircleOutlined);","// This icon file is generated automatically.\nvar CloseCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z\" } }] }, \"name\": \"close-circle\", \"theme\": \"filled\" };\nexport default CloseCircleFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CloseCircleFilledSvg from \"@ant-design/icons-svg/es/asn/CloseCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\nvar CloseCircleFilled = function CloseCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CloseCircleFilledSvg\n }));\n};\nCloseCircleFilled.displayName = 'CloseCircleFilled';\nexport default /*#__PURE__*/React.forwardRef(CloseCircleFilled);","// This icon file is generated automatically.\nvar SwapRightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\" } }] }, \"name\": \"swap-right\", \"theme\": \"outlined\" };\nexport default SwapRightOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport SwapRightOutlinedSvg from \"@ant-design/icons-svg/es/asn/SwapRightOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar SwapRightOutlined = function SwapRightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: SwapRightOutlinedSvg\n }));\n};\nSwapRightOutlined.displayName = 'SwapRightOutlined';\nexport default /*#__PURE__*/React.forwardRef(SwapRightOutlined);","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","import * as React from 'react';\nexport default function useEvent(callback) {\n var fnRef = React.useRef();\n fnRef.current = callback;\n return React.useCallback(function () {\n var _fnRef$current;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (_fnRef$current = fnRef.current) === null || _fnRef$current === void 0 ? void 0 : _fnRef$current.call.apply(_fnRef$current, [fnRef].concat(args));\n }, []);\n}","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import * as React from 'react';\nimport canUseDom from '../Dom/canUseDom';\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\n\nvar useLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nexport default useLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\n\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n\n setValue(updater);\n }\n\n return [value, safeSetState];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useEvent from './useEvent';\nimport useLayoutEffect from './useLayoutEffect';\nimport useState from './useState';\n/**\n * Similar to `useState` but will use props value if provided.\n * Note that internal use rc-util `useState` hook.\n */\n\nexport default function useMergedState(defaultStateValue, option) {\n var _ref = option || {},\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n onChange = _ref.onChange,\n postState = _ref.postState;\n\n var _useState = useState(function () {\n if (value !== undefined) {\n return value;\n }\n\n if (defaultValue !== undefined) {\n return typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n }\n\n return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n }),\n _useState2 = _slicedToArray(_useState, 2),\n innerValue = _useState2[0],\n setInnerValue = _useState2[1];\n\n var mergedValue = value !== undefined ? value : innerValue;\n var postMergedValue = postState ? postState(mergedValue) : mergedValue; // setState\n\n var onChangeFn = useEvent(onChange);\n\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n changePrevValue = _React$useState2[0],\n setChangePrevValue = _React$useState2[1];\n\n var triggerChange = useEvent(function (updater) {\n setChangePrevValue(mergedValue);\n setInnerValue(function (prev) {\n var nextValue = typeof updater === 'function' ? updater(prev) : updater;\n return nextValue;\n });\n }); // Effect to trigger onChange\n\n useLayoutEffect(function () {\n if (changePrevValue !== undefined && changePrevValue !== innerValue) {\n onChangeFn(innerValue, changePrevValue);\n }\n }, [changePrevValue, innerValue, onChangeFn]); // Effect of reset value to `undefined`\n\n var prevValueRef = React.useRef(value);\n React.useEffect(function () {\n if (value === undefined && value !== prevValueRef.current) {\n setInnerValue(value);\n }\n\n prevValueRef.current = value;\n }, [value]);\n return [postMergedValue, triggerChange];\n}","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n\n /**\n * TAB\n */\n TAB: 9,\n\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n\n /**\n * ENTER\n */\n ENTER: 13,\n\n /**\n * SHIFT\n */\n SHIFT: 16,\n\n /**\n * CTRL\n */\n CTRL: 17,\n\n /**\n * ALT\n */\n ALT: 18,\n\n /**\n * PAUSE\n */\n PAUSE: 19,\n\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n\n /**\n * ESC\n */\n ESC: 27,\n\n /**\n * SPACE\n */\n SPACE: 32,\n\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n\n /**\n * END\n */\n END: 35,\n\n /**\n * HOME\n */\n HOME: 36,\n\n /**\n * LEFT\n */\n LEFT: 37,\n\n /**\n * UP\n */\n UP: 38,\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n\n /**\n * DOWN\n */\n DOWN: 40,\n\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n\n /**\n * INSERT\n */\n INSERT: 45,\n\n /**\n * DELETE\n */\n DELETE: 46,\n\n /**\n * ZERO\n */\n ZERO: 48,\n\n /**\n * ONE\n */\n ONE: 49,\n\n /**\n * TWO\n */\n TWO: 50,\n\n /**\n * THREE\n */\n THREE: 51,\n\n /**\n * FOUR\n */\n FOUR: 52,\n\n /**\n * FIVE\n */\n FIVE: 53,\n\n /**\n * SIX\n */\n SIX: 54,\n\n /**\n * SEVEN\n */\n SEVEN: 55,\n\n /**\n * EIGHT\n */\n EIGHT: 56,\n\n /**\n * NINE\n */\n NINE: 57,\n\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n\n /**\n * A\n */\n A: 65,\n\n /**\n * B\n */\n B: 66,\n\n /**\n * C\n */\n C: 67,\n\n /**\n * D\n */\n D: 68,\n\n /**\n * E\n */\n E: 69,\n\n /**\n * F\n */\n F: 70,\n\n /**\n * G\n */\n G: 71,\n\n /**\n * H\n */\n H: 72,\n\n /**\n * I\n */\n I: 73,\n\n /**\n * J\n */\n J: 74,\n\n /**\n * K\n */\n K: 75,\n\n /**\n * L\n */\n L: 76,\n\n /**\n * M\n */\n M: 77,\n\n /**\n * N\n */\n N: 78,\n\n /**\n * O\n */\n O: 79,\n\n /**\n * P\n */\n P: 80,\n\n /**\n * Q\n */\n Q: 81,\n\n /**\n * R\n */\n R: 82,\n\n /**\n * S\n */\n S: 83,\n\n /**\n * T\n */\n T: 84,\n\n /**\n * U\n */\n U: 85,\n\n /**\n * V\n */\n V: 86,\n\n /**\n * W\n */\n W: 87,\n\n /**\n * X\n */\n X: 88,\n\n /**\n * Y\n */\n Y: 89,\n\n /**\n * Z\n */\n Z: 90,\n\n /**\n * META\n */\n META: 91,\n\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n\n /**\n * F1\n */\n F1: 112,\n\n /**\n * F2\n */\n F2: 113,\n\n /**\n * F3\n */\n F3: 114,\n\n /**\n * F4\n */\n F4: 115,\n\n /**\n * F5\n */\n F5: 116,\n\n /**\n * F6\n */\n F6: 117,\n\n /**\n * F7\n */\n F7: 118,\n\n /**\n * F8\n */\n F8: 119,\n\n /**\n * F9\n */\n F9: 120,\n\n /**\n * F10\n */\n F10: 121,\n\n /**\n * F11\n */\n F11: 122,\n\n /**\n * F12\n */\n F12: 123,\n\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n\n /**\n * DASH\n */\n DASH: 189,\n\n /**\n * EQUALS\n */\n EQUALS: 187,\n\n /**\n * COMMA\n */\n COMMA: 188,\n\n /**\n * PERIOD\n */\n PERIOD: 190,\n\n /**\n * SLASH\n */\n SLASH: 191,\n\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n\n if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n } // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n\n\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n\n default:\n return true;\n }\n },\n\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n } // Safari sends zero key code for non-latin characters.\n\n\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import * as React from 'react';\nvar PanelContext = /*#__PURE__*/React.createContext({});\nexport default PanelContext;","import * as React from 'react';\nimport PanelContext from \"../PanelContext\";\nvar HIDDEN_STYLE = {\n visibility: 'hidden'\n};\n\nfunction Header(_ref) {\n var prefixCls = _ref.prefixCls,\n _ref$prevIcon = _ref.prevIcon,\n prevIcon = _ref$prevIcon === void 0 ? \"\\u2039\" : _ref$prevIcon,\n _ref$nextIcon = _ref.nextIcon,\n nextIcon = _ref$nextIcon === void 0 ? \"\\u203A\" : _ref$nextIcon,\n _ref$superPrevIcon = _ref.superPrevIcon,\n superPrevIcon = _ref$superPrevIcon === void 0 ? \"\\xAB\" : _ref$superPrevIcon,\n _ref$superNextIcon = _ref.superNextIcon,\n superNextIcon = _ref$superNextIcon === void 0 ? \"\\xBB\" : _ref$superNextIcon,\n onSuperPrev = _ref.onSuperPrev,\n onSuperNext = _ref.onSuperNext,\n onPrev = _ref.onPrev,\n onNext = _ref.onNext,\n children = _ref.children;\n\n var _React$useContext = React.useContext(PanelContext),\n hideNextBtn = _React$useContext.hideNextBtn,\n hidePrevBtn = _React$useContext.hidePrevBtn;\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls\n }, onSuperPrev && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onSuperPrev,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-super-prev-btn\"),\n style: hidePrevBtn ? HIDDEN_STYLE : {}\n }, superPrevIcon), onPrev && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onPrev,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-prev-btn\"),\n style: hidePrevBtn ? HIDDEN_STYLE : {}\n }, prevIcon), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-view\")\n }, children), onNext && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onNext,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-next-btn\"),\n style: hideNextBtn ? HIDDEN_STYLE : {}\n }, nextIcon), onSuperNext && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onSuperNext,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-super-next-btn\"),\n style: hideNextBtn ? HIDDEN_STYLE : {}\n }, superNextIcon));\n}\n\nexport default Header;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from \"../Header\";\nimport { DECADE_DISTANCE_COUNT } from '.';\nimport PanelContext from \"../../PanelContext\";\n\nfunction DecadeHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n onPrevDecades = props.onPrevDecades,\n onNextDecades = props.onNextDecades;\n\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / DECADE_DISTANCE_COUNT) * DECADE_DISTANCE_COUNT;\n var endYear = startYear + DECADE_DISTANCE_COUNT - 1;\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevDecades,\n onSuperNext: onNextDecades\n }), startYear, \"-\", endYear);\n}\n\nexport default DecadeHeader;","export function setTime(generateConfig, date, hour, minute, second) {\n var nextTime = generateConfig.setHour(date, hour);\n nextTime = generateConfig.setMinute(nextTime, minute);\n nextTime = generateConfig.setSecond(nextTime, second);\n return nextTime;\n}\nexport function setDateTime(generateConfig, date, defaultDate) {\n if (!defaultDate) {\n return date;\n }\n\n var newDate = date;\n newDate = generateConfig.setHour(newDate, generateConfig.getHour(defaultDate));\n newDate = generateConfig.setMinute(newDate, generateConfig.getMinute(defaultDate));\n newDate = generateConfig.setSecond(newDate, generateConfig.getSecond(defaultDate));\n return newDate;\n}\nexport function getLowerBoundTime(hour, minute, second, hourStep, minuteStep, secondStep) {\n var lowerBoundHour = Math.floor(hour / hourStep) * hourStep;\n\n if (lowerBoundHour < hour) {\n return [lowerBoundHour, 60 - minuteStep, 60 - secondStep];\n }\n\n var lowerBoundMinute = Math.floor(minute / minuteStep) * minuteStep;\n\n if (lowerBoundMinute < minute) {\n return [lowerBoundHour, lowerBoundMinute, 60 - secondStep];\n }\n\n var lowerBoundSecond = Math.floor(second / secondStep) * secondStep;\n return [lowerBoundHour, lowerBoundMinute, lowerBoundSecond];\n}\nexport function getLastDay(generateConfig, date) {\n var year = generateConfig.getYear(date);\n var month = generateConfig.getMonth(date) + 1;\n var endDate = generateConfig.getEndDate(generateConfig.getFixedDate(\"\".concat(year, \"-\").concat(month, \"-01\")));\n var lastDay = generateConfig.getDate(endDate);\n var monthShow = month < 10 ? \"0\".concat(month) : \"\".concat(month);\n return \"\".concat(year, \"-\").concat(monthShow, \"-\").concat(lastDay);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport PanelContext from \"../PanelContext\";\nimport { getLastDay } from \"../utils/timeUtil\";\nimport { getCellDateDisabled } from \"../utils/dateUtil\";\nexport default function PanelBody(_ref) {\n var prefixCls = _ref.prefixCls,\n disabledDate = _ref.disabledDate,\n onSelect = _ref.onSelect,\n picker = _ref.picker,\n rowNum = _ref.rowNum,\n colNum = _ref.colNum,\n prefixColumn = _ref.prefixColumn,\n rowClassName = _ref.rowClassName,\n baseDate = _ref.baseDate,\n getCellClassName = _ref.getCellClassName,\n getCellText = _ref.getCellText,\n getCellNode = _ref.getCellNode,\n getCellDate = _ref.getCellDate,\n generateConfig = _ref.generateConfig,\n titleCell = _ref.titleCell,\n headerCells = _ref.headerCells;\n\n var _React$useContext = React.useContext(PanelContext),\n onDateMouseEnter = _React$useContext.onDateMouseEnter,\n onDateMouseLeave = _React$useContext.onDateMouseLeave,\n mode = _React$useContext.mode;\n\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\"); // =============================== Body ===============================\n\n var rows = [];\n\n for (var i = 0; i < rowNum; i += 1) {\n var row = [];\n var rowStartDate = void 0;\n\n var _loop = function _loop(j) {\n var _objectSpread2;\n\n var offset = i * colNum + j;\n var currentDate = getCellDate(baseDate, offset);\n var disabled = getCellDateDisabled({\n cellDate: currentDate,\n mode: mode,\n disabledDate: disabledDate,\n generateConfig: generateConfig\n });\n\n if (j === 0) {\n rowStartDate = currentDate;\n\n if (prefixColumn) {\n row.push(prefixColumn(rowStartDate));\n }\n }\n\n var title = titleCell && titleCell(currentDate);\n row.push( /*#__PURE__*/React.createElement(\"td\", {\n key: j,\n title: title,\n className: classNames(cellPrefixCls, _objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, \"\".concat(cellPrefixCls, \"-disabled\"), disabled), _defineProperty(_objectSpread2, \"\".concat(cellPrefixCls, \"-start\"), getCellText(currentDate) === 1 || picker === 'year' && Number(title) % 10 === 0), _defineProperty(_objectSpread2, \"\".concat(cellPrefixCls, \"-end\"), title === getLastDay(generateConfig, currentDate) || picker === 'year' && Number(title) % 10 === 9), _objectSpread2), getCellClassName(currentDate))),\n onClick: function onClick() {\n if (!disabled) {\n onSelect(currentDate);\n }\n },\n onMouseEnter: function onMouseEnter() {\n if (!disabled && onDateMouseEnter) {\n onDateMouseEnter(currentDate);\n }\n },\n onMouseLeave: function onMouseLeave() {\n if (!disabled && onDateMouseLeave) {\n onDateMouseLeave(currentDate);\n }\n }\n }, getCellNode ? getCellNode(currentDate) : /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(cellPrefixCls, \"-inner\")\n }, getCellText(currentDate))));\n };\n\n for (var j = 0; j < colNum; j += 1) {\n _loop(j);\n }\n\n rows.push( /*#__PURE__*/React.createElement(\"tr\", {\n key: i,\n className: rowClassName && rowClassName(rowStartDate)\n }, row));\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-body\")\n }, /*#__PURE__*/React.createElement(\"table\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, headerCells && /*#__PURE__*/React.createElement(\"thead\", null, /*#__PURE__*/React.createElement(\"tr\", null, headerCells)), /*#__PURE__*/React.createElement(\"tbody\", null, rows)));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport { DECADE_DISTANCE_COUNT, DECADE_UNIT_DIFF } from '.';\nimport PanelBody from \"../PanelBody\";\nexport var DECADE_COL_COUNT = 3;\nvar DECADE_ROW_COUNT = 4;\n\nfunction DecadeBody(props) {\n var DECADE_UNIT_DIFF_DES = DECADE_UNIT_DIFF - 1;\n var prefixCls = props.prefixCls,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var yearNumber = generateConfig.getYear(viewDate);\n var decadeYearNumber = Math.floor(yearNumber / DECADE_UNIT_DIFF) * DECADE_UNIT_DIFF;\n var startDecadeYear = Math.floor(yearNumber / DECADE_DISTANCE_COUNT) * DECADE_DISTANCE_COUNT;\n var endDecadeYear = startDecadeYear + DECADE_DISTANCE_COUNT - 1;\n var baseDecadeYear = generateConfig.setYear(viewDate, startDecadeYear - Math.ceil((DECADE_COL_COUNT * DECADE_ROW_COUNT * DECADE_UNIT_DIFF - DECADE_DISTANCE_COUNT) / 2));\n\n var getCellClassName = function getCellClassName(date) {\n var _ref;\n\n var startDecadeNumber = generateConfig.getYear(date);\n var endDecadeNumber = startDecadeNumber + DECADE_UNIT_DIFF_DES;\n return _ref = {}, _defineProperty(_ref, \"\".concat(cellPrefixCls, \"-in-view\"), startDecadeYear <= startDecadeNumber && endDecadeNumber <= endDecadeYear), _defineProperty(_ref, \"\".concat(cellPrefixCls, \"-selected\"), startDecadeNumber === decadeYearNumber), _ref;\n };\n\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: DECADE_ROW_COUNT,\n colNum: DECADE_COL_COUNT,\n baseDate: baseDecadeYear,\n getCellText: function getCellText(date) {\n var startDecadeNumber = generateConfig.getYear(date);\n return \"\".concat(startDecadeNumber, \"-\").concat(startDecadeNumber + DECADE_UNIT_DIFF_DES);\n },\n getCellClassName: getCellClassName,\n getCellDate: function getCellDate(date, offset) {\n return generateConfig.addYear(date, offset * DECADE_UNIT_DIFF);\n }\n }));\n}\n\nexport default DecadeBody;","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\n\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\n\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\n\nvar rafUUID = 0;\nvar rafIds = new Map();\n\nfunction cleanup(id) {\n rafIds.delete(id);\n}\n\nexport default function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id); // Trigger\n\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n }); // Bind real raf id\n\n rafIds.set(id, realId);\n }\n }\n\n callRef(times);\n return id;\n}\n\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(realId);\n return caf(realId);\n};","export default (function (element) {\n if (!element) {\n return false;\n }\n\n if (element.offsetParent) {\n return true;\n }\n\n if (element.getBBox) {\n var box = element.getBBox();\n\n if (box.width || box.height) {\n return true;\n }\n }\n\n if (element.getBoundingClientRect) {\n var _box = element.getBoundingClientRect();\n\n if (_box.width || _box.height) {\n return true;\n }\n }\n\n return false;\n});","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nvar scrollIds = new Map();\n/** Trigger when element is visible in view */\n\nexport function waitElementReady(element, callback) {\n var id;\n\n function tryOrNextFrame() {\n if (isVisible(element)) {\n callback();\n } else {\n id = raf(function () {\n tryOrNextFrame();\n });\n }\n }\n\n tryOrNextFrame();\n return function () {\n raf.cancel(id);\n };\n}\n/* eslint-disable no-param-reassign */\n\nexport function scrollTo(element, to, duration) {\n if (scrollIds.get(element)) {\n cancelAnimationFrame(scrollIds.get(element));\n } // jump to target if duration zero\n\n\n if (duration <= 0) {\n scrollIds.set(element, requestAnimationFrame(function () {\n element.scrollTop = to;\n }));\n return;\n }\n\n var difference = to - element.scrollTop;\n var perTick = difference / duration * 10;\n scrollIds.set(element, requestAnimationFrame(function () {\n element.scrollTop += perTick;\n\n if (element.scrollTop !== to) {\n scrollTo(element, to, duration - 10);\n }\n }));\n}\n/* eslint-enable */\n\nexport function createKeyDownHandler(event, _ref) {\n var onLeftRight = _ref.onLeftRight,\n onCtrlLeftRight = _ref.onCtrlLeftRight,\n onUpDown = _ref.onUpDown,\n onPageUpDown = _ref.onPageUpDown,\n onEnter = _ref.onEnter;\n var which = event.which,\n ctrlKey = event.ctrlKey,\n metaKey = event.metaKey;\n\n switch (which) {\n case KeyCode.LEFT:\n if (ctrlKey || metaKey) {\n if (onCtrlLeftRight) {\n onCtrlLeftRight(-1);\n return true;\n }\n } else if (onLeftRight) {\n onLeftRight(-1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.RIGHT:\n if (ctrlKey || metaKey) {\n if (onCtrlLeftRight) {\n onCtrlLeftRight(1);\n return true;\n }\n } else if (onLeftRight) {\n onLeftRight(1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.UP:\n if (onUpDown) {\n onUpDown(-1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.DOWN:\n if (onUpDown) {\n onUpDown(1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.PAGE_UP:\n if (onPageUpDown) {\n onPageUpDown(-1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.PAGE_DOWN:\n if (onPageUpDown) {\n onPageUpDown(1);\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n\n case KeyCode.ENTER:\n if (onEnter) {\n onEnter();\n return true;\n }\n /* istanbul ignore next */\n\n\n break;\n }\n\n return false;\n} // ===================== Format =====================\n\nexport function getDefaultFormat(format, picker, showTime, use12Hours) {\n var mergedFormat = format;\n\n if (!mergedFormat) {\n switch (picker) {\n case 'time':\n mergedFormat = use12Hours ? 'hh:mm:ss a' : 'HH:mm:ss';\n break;\n\n case 'week':\n mergedFormat = 'gggg-wo';\n break;\n\n case 'month':\n mergedFormat = 'YYYY-MM';\n break;\n\n case 'quarter':\n mergedFormat = 'YYYY-[Q]Q';\n break;\n\n case 'year':\n mergedFormat = 'YYYY';\n break;\n\n default:\n mergedFormat = showTime ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD';\n }\n }\n\n return mergedFormat;\n}\nexport function getInputSize(picker, format, generateConfig) {\n var defaultSize = picker === 'time' ? 8 : 10;\n var length = typeof format === 'function' ? format(generateConfig.getNow()).length : format.length;\n return Math.max(defaultSize, length) + 2;\n} // ===================== Window =====================\n\nvar globalClickFunc = null;\nvar clickCallbacks = new Set();\nexport function addGlobalMouseDownEvent(callback) {\n if (!globalClickFunc && typeof window !== 'undefined' && window.addEventListener) {\n globalClickFunc = function globalClickFunc(e) {\n // Clone a new list to avoid repeat trigger events\n _toConsumableArray(clickCallbacks).forEach(function (queueFunc) {\n queueFunc(e);\n });\n };\n\n window.addEventListener('mousedown', globalClickFunc);\n }\n\n clickCallbacks.add(callback);\n return function () {\n clickCallbacks.delete(callback);\n\n if (clickCallbacks.size === 0) {\n window.removeEventListener('mousedown', globalClickFunc);\n globalClickFunc = null;\n }\n };\n}\nexport function getTargetFromEvent(e) {\n var target = e.target; // get target if in shadow dom\n\n if (e.composed && target.shadowRoot) {\n var _e$composedPath;\n\n return ((_e$composedPath = e.composedPath) === null || _e$composedPath === void 0 ? void 0 : _e$composedPath.call(e)[0]) || target;\n }\n\n return target;\n} // ====================== Mode ======================\n\nvar getYearNextMode = function getYearNextMode(next) {\n if (next === 'month' || next === 'date') {\n return 'year';\n }\n\n return next;\n};\n\nvar getMonthNextMode = function getMonthNextMode(next) {\n if (next === 'date') {\n return 'month';\n }\n\n return next;\n};\n\nvar getQuarterNextMode = function getQuarterNextMode(next) {\n if (next === 'month' || next === 'date') {\n return 'quarter';\n }\n\n return next;\n};\n\nvar getWeekNextMode = function getWeekNextMode(next) {\n if (next === 'date') {\n return 'week';\n }\n\n return next;\n};\n\nexport var PickerModeMap = {\n year: getYearNextMode,\n month: getMonthNextMode,\n quarter: getQuarterNextMode,\n week: getWeekNextMode,\n time: null,\n date: null\n};\nexport function elementsContains(elements, target) {\n return elements.some(function (ele) {\n return ele && ele.contains(target);\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport DecadeHeader from \"./DecadeHeader\";\nimport DecadeBody, { DECADE_COL_COUNT } from \"./DecadeBody\";\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\nexport var DECADE_UNIT_DIFF = 10;\nexport var DECADE_DISTANCE_COUNT = DECADE_UNIT_DIFF * 10;\n\nfunction DecadePanel(props) {\n var prefixCls = props.prefixCls,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n operationRef = props.operationRef,\n onSelect = props.onSelect,\n onPanelChange = props.onPanelChange;\n var panelPrefixCls = \"\".concat(prefixCls, \"-decade-panel\"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT), 'key');\n },\n onUpDown: function onUpDown(diff) {\n onSelect(generateConfig.addYear(viewDate, diff * DECADE_UNIT_DIFF * DECADE_COL_COUNT), 'key');\n },\n onEnter: function onEnter() {\n onPanelChange('year', viewDate);\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onDecadesChange = function onDecadesChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff * DECADE_DISTANCE_COUNT);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n var onInternalSelect = function onInternalSelect(date) {\n onSelect(date, 'mouse');\n onPanelChange('year', date);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(DecadeHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevDecades: function onPrevDecades() {\n onDecadesChange(-1);\n },\n onNextDecades: function onNextDecades() {\n onDecadesChange(1);\n }\n })), /*#__PURE__*/React.createElement(DecadeBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: onInternalSelect\n })));\n}\n\nexport default DecadePanel;","import { DECADE_UNIT_DIFF } from \"../panels/DecadePanel/index\";\nexport var WEEK_DAY_COUNT = 7;\nexport function isNullEqual(value1, value2) {\n if (!value1 && !value2) {\n return true;\n }\n\n if (!value1 || !value2) {\n return false;\n }\n\n return undefined;\n}\nexport function isSameDecade(generateConfig, decade1, decade2) {\n var equal = isNullEqual(decade1, decade2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n var num1 = Math.floor(generateConfig.getYear(decade1) / 10);\n var num2 = Math.floor(generateConfig.getYear(decade2) / 10);\n return num1 === num2;\n}\nexport function isSameYear(generateConfig, year1, year2) {\n var equal = isNullEqual(year1, year2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return generateConfig.getYear(year1) === generateConfig.getYear(year2);\n}\nexport function getQuarter(generateConfig, date) {\n var quota = Math.floor(generateConfig.getMonth(date) / 3);\n return quota + 1;\n}\nexport function isSameQuarter(generateConfig, quarter1, quarter2) {\n var equal = isNullEqual(quarter1, quarter2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return isSameYear(generateConfig, quarter1, quarter2) && getQuarter(generateConfig, quarter1) === getQuarter(generateConfig, quarter2);\n}\nexport function isSameMonth(generateConfig, month1, month2) {\n var equal = isNullEqual(month1, month2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return isSameYear(generateConfig, month1, month2) && generateConfig.getMonth(month1) === generateConfig.getMonth(month2);\n}\nexport function isSameDate(generateConfig, date1, date2) {\n var equal = isNullEqual(date1, date2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return generateConfig.getYear(date1) === generateConfig.getYear(date2) && generateConfig.getMonth(date1) === generateConfig.getMonth(date2) && generateConfig.getDate(date1) === generateConfig.getDate(date2);\n}\nexport function isSameTime(generateConfig, time1, time2) {\n var equal = isNullEqual(time1, time2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return generateConfig.getHour(time1) === generateConfig.getHour(time2) && generateConfig.getMinute(time1) === generateConfig.getMinute(time2) && generateConfig.getSecond(time1) === generateConfig.getSecond(time2);\n}\nexport function isSameWeek(generateConfig, locale, date1, date2) {\n var equal = isNullEqual(date1, date2);\n\n if (typeof equal === 'boolean') {\n return equal;\n }\n\n return generateConfig.locale.getWeek(locale, date1) === generateConfig.locale.getWeek(locale, date2);\n}\nexport function isEqual(generateConfig, value1, value2) {\n return isSameDate(generateConfig, value1, value2) && isSameTime(generateConfig, value1, value2);\n}\n/** Between in date but not equal of date */\n\nexport function isInRange(generateConfig, startDate, endDate, current) {\n if (!startDate || !endDate || !current) {\n return false;\n }\n\n return !isSameDate(generateConfig, startDate, current) && !isSameDate(generateConfig, endDate, current) && generateConfig.isAfter(current, startDate) && generateConfig.isAfter(endDate, current);\n}\nexport function getWeekStartDate(locale, generateConfig, value) {\n var weekFirstDay = generateConfig.locale.getWeekFirstDay(locale);\n var monthStartDate = generateConfig.setDate(value, 1);\n var startDateWeekDay = generateConfig.getWeekDay(monthStartDate);\n var alignStartDate = generateConfig.addDate(monthStartDate, weekFirstDay - startDateWeekDay);\n\n if (generateConfig.getMonth(alignStartDate) === generateConfig.getMonth(value) && generateConfig.getDate(alignStartDate) > 1) {\n alignStartDate = generateConfig.addDate(alignStartDate, -7);\n }\n\n return alignStartDate;\n}\nexport function getClosingViewDate(viewDate, picker, generateConfig) {\n var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n\n switch (picker) {\n case 'year':\n return generateConfig.addYear(viewDate, offset * 10);\n\n case 'quarter':\n case 'month':\n return generateConfig.addYear(viewDate, offset);\n\n default:\n return generateConfig.addMonth(viewDate, offset);\n }\n}\nexport function formatValue(value, _ref) {\n var generateConfig = _ref.generateConfig,\n locale = _ref.locale,\n format = _ref.format;\n return typeof format === 'function' ? format(value) : generateConfig.locale.format(locale.locale, value, format);\n}\nexport function parseValue(value, _ref2) {\n var generateConfig = _ref2.generateConfig,\n locale = _ref2.locale,\n formatList = _ref2.formatList;\n\n if (!value || typeof formatList[0] === 'function') {\n return null;\n }\n\n return generateConfig.locale.parse(locale.locale, value, formatList);\n} // eslint-disable-next-line consistent-return\n\nexport function getCellDateDisabled(_ref3) {\n var cellDate = _ref3.cellDate,\n mode = _ref3.mode,\n disabledDate = _ref3.disabledDate,\n generateConfig = _ref3.generateConfig;\n if (!disabledDate) return false; // Whether cellDate is disabled in range\n\n var getDisabledFromRange = function getDisabledFromRange(currentMode, start, end) {\n var current = start;\n\n while (current <= end) {\n var _date = void 0;\n\n switch (currentMode) {\n case 'date':\n {\n _date = generateConfig.setDate(cellDate, current);\n\n if (!disabledDate(_date)) {\n return false;\n }\n\n break;\n }\n\n case 'month':\n {\n _date = generateConfig.setMonth(cellDate, current);\n\n if (!getCellDateDisabled({\n cellDate: _date,\n mode: 'month',\n generateConfig: generateConfig,\n disabledDate: disabledDate\n })) {\n return false;\n }\n\n break;\n }\n\n case 'year':\n {\n _date = generateConfig.setYear(cellDate, current);\n\n if (!getCellDateDisabled({\n cellDate: _date,\n mode: 'year',\n generateConfig: generateConfig,\n disabledDate: disabledDate\n })) {\n return false;\n }\n\n break;\n }\n }\n\n current += 1;\n }\n\n return true;\n };\n\n switch (mode) {\n case 'date':\n case 'week':\n {\n return disabledDate(cellDate);\n }\n\n case 'month':\n {\n var startDate = 1;\n var endDate = generateConfig.getDate(generateConfig.getEndDate(cellDate));\n return getDisabledFromRange('date', startDate, endDate);\n }\n\n case 'quarter':\n {\n var startMonth = Math.floor(generateConfig.getMonth(cellDate) / 3) * 3;\n var endMonth = startMonth + 2;\n return getDisabledFromRange('month', startMonth, endMonth);\n }\n\n case 'year':\n {\n return getDisabledFromRange('month', 0, 11);\n }\n\n case 'decade':\n {\n var year = generateConfig.getYear(cellDate);\n var startYear = Math.floor(year / DECADE_UNIT_DIFF) * DECADE_UNIT_DIFF;\n var endYear = startYear + DECADE_UNIT_DIFF - 1;\n return getDisabledFromRange('year', startYear, endYear);\n }\n }\n}","import * as React from 'react';\nimport Header from \"../Header\";\nimport PanelContext from \"../../PanelContext\";\nimport { formatValue } from \"../../utils/dateUtil\";\n\nfunction TimeHeader(props) {\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n value = props.value,\n format = props.format;\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n return /*#__PURE__*/React.createElement(Header, {\n prefixCls: headerPrefixCls\n }, value ? formatValue(value, {\n locale: locale,\n format: format,\n generateConfig: generateConfig\n }) : \"\\xA0\");\n}\n\nexport default TimeHeader;","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n\n return cacheRef.current.value;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport { useRef, useLayoutEffect } from 'react';\nimport classNames from 'classnames';\nimport { scrollTo, waitElementReady } from \"../../utils/uiUtil\";\nimport PanelContext from \"../../PanelContext\";\n\nfunction TimeUnitColumn(props) {\n var prefixCls = props.prefixCls,\n units = props.units,\n onSelect = props.onSelect,\n value = props.value,\n active = props.active,\n hideDisabledOptions = props.hideDisabledOptions;\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n\n var _React$useContext = React.useContext(PanelContext),\n open = _React$useContext.open;\n\n var ulRef = useRef(null);\n var liRefs = useRef(new Map());\n var scrollRef = useRef(); // `useLayoutEffect` here to avoid blink by duration is 0\n\n useLayoutEffect(function () {\n var li = liRefs.current.get(value);\n\n if (li && open !== false) {\n scrollTo(ulRef.current, li.offsetTop, 120);\n }\n }, [value]);\n useLayoutEffect(function () {\n if (open) {\n var li = liRefs.current.get(value);\n\n if (li) {\n scrollRef.current = waitElementReady(li, function () {\n scrollTo(ulRef.current, li.offsetTop, 0);\n });\n }\n }\n\n return function () {\n var _scrollRef$current;\n\n (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.call(scrollRef);\n };\n }, [open]);\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: classNames(\"\".concat(prefixCls, \"-column\"), _defineProperty({}, \"\".concat(prefixCls, \"-column-active\"), active)),\n ref: ulRef,\n style: {\n position: 'relative'\n }\n }, units.map(function (unit) {\n var _classNames2;\n\n if (hideDisabledOptions && unit.disabled) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"li\", {\n key: unit.value,\n ref: function ref(element) {\n liRefs.current.set(unit.value, element);\n },\n className: classNames(cellPrefixCls, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(cellPrefixCls, \"-disabled\"), unit.disabled), _defineProperty(_classNames2, \"\".concat(cellPrefixCls, \"-selected\"), value === unit.value), _classNames2)),\n onClick: function onClick() {\n if (unit.disabled) {\n return;\n }\n\n onSelect(unit.value);\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(cellPrefixCls, \"-inner\")\n }, unit.label));\n }));\n}\n\nexport default TimeUnitColumn;","export function leftPad(str, length) {\n var fill = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';\n var current = String(str);\n\n while (current.length < length) {\n current = \"\".concat(fill).concat(str);\n }\n\n return current;\n}\nexport var tuple = function tuple() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args;\n};\nexport function toArray(val) {\n if (val === null || val === undefined) {\n return [];\n }\n\n return Array.isArray(val) ? val : [val];\n}\nexport default function getDataOrAriaProps(props) {\n var retProps = {};\n Object.keys(props).forEach(function (key) {\n if ((key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role' || key === 'name') && key.substr(0, 7) !== 'data-__') {\n retProps[key] = props[key];\n }\n });\n return retProps;\n}\nexport function getValue(values, index) {\n return values ? values[index] : null;\n}\nexport function updateValues(values, value, index) {\n var newValues = [getValue(values, 0), getValue(values, 1)];\n newValues[index] = typeof value === 'function' ? value(newValues[index]) : value;\n\n if (!newValues[0] && !newValues[1]) {\n return null;\n }\n\n return newValues;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport TimeUnitColumn from \"./TimeUnitColumn\";\nimport { leftPad } from \"../../utils/miscUtil\";\nimport { setTime as utilSetTime } from \"../../utils/timeUtil\";\n\nfunction shouldUnitsUpdate(prevUnits, nextUnits) {\n if (prevUnits.length !== nextUnits.length) return true; // if any unit's disabled status is different, the units should be re-evaluted\n\n for (var i = 0; i < prevUnits.length; i += 1) {\n if (prevUnits[i].disabled !== nextUnits[i].disabled) return true;\n }\n\n return false;\n}\n\nfunction generateUnits(start, end, step, disabledUnits) {\n var units = [];\n\n for (var i = start; i <= end; i += step) {\n units.push({\n label: leftPad(i, 2),\n value: i,\n disabled: (disabledUnits || []).includes(i)\n });\n }\n\n return units;\n}\n\nfunction TimeBody(props) {\n var generateConfig = props.generateConfig,\n prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n activeColumnIndex = props.activeColumnIndex,\n value = props.value,\n showHour = props.showHour,\n showMinute = props.showMinute,\n showSecond = props.showSecond,\n use12Hours = props.use12Hours,\n _props$hourStep = props.hourStep,\n hourStep = _props$hourStep === void 0 ? 1 : _props$hourStep,\n _props$minuteStep = props.minuteStep,\n minuteStep = _props$minuteStep === void 0 ? 1 : _props$minuteStep,\n _props$secondStep = props.secondStep,\n secondStep = _props$secondStep === void 0 ? 1 : _props$secondStep,\n disabledHours = props.disabledHours,\n disabledMinutes = props.disabledMinutes,\n disabledSeconds = props.disabledSeconds,\n disabledTime = props.disabledTime,\n hideDisabledOptions = props.hideDisabledOptions,\n onSelect = props.onSelect; // Misc\n\n var columns = [];\n var contentPrefixCls = \"\".concat(prefixCls, \"-content\");\n var columnPrefixCls = \"\".concat(prefixCls, \"-time-panel\");\n var isPM;\n var originHour = value ? generateConfig.getHour(value) : -1;\n var hour = originHour;\n var minute = value ? generateConfig.getMinute(value) : -1;\n var second = value ? generateConfig.getSecond(value) : -1; // Disabled Time\n\n var now = generateConfig.getNow();\n\n var _React$useMemo = React.useMemo(function () {\n if (disabledTime) {\n var disabledConfig = disabledTime(now);\n return [disabledConfig.disabledHours, disabledConfig.disabledMinutes, disabledConfig.disabledSeconds];\n }\n\n return [disabledHours, disabledMinutes, disabledSeconds];\n }, [disabledHours, disabledMinutes, disabledSeconds, disabledTime, now]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 3),\n mergedDisabledHours = _React$useMemo2[0],\n mergedDisabledMinutes = _React$useMemo2[1],\n mergedDisabledSeconds = _React$useMemo2[2]; // Set Time\n\n\n var setTime = function setTime(isNewPM, newHour, newMinute, newSecond) {\n var newDate = value || generateConfig.getNow();\n var mergedHour = Math.max(0, newHour);\n var mergedMinute = Math.max(0, newMinute);\n var mergedSecond = Math.max(0, newSecond);\n newDate = utilSetTime(generateConfig, newDate, !use12Hours || !isNewPM ? mergedHour : mergedHour + 12, mergedMinute, mergedSecond);\n return newDate;\n }; // ========================= Unit =========================\n\n\n var rawHours = generateUnits(0, 23, hourStep, mergedDisabledHours && mergedDisabledHours());\n var memorizedRawHours = useMemo(function () {\n return rawHours;\n }, rawHours, shouldUnitsUpdate); // Should additional logic to handle 12 hours\n\n if (use12Hours) {\n isPM = hour >= 12; // -1 means should display AM\n\n hour %= 12;\n }\n\n var _React$useMemo3 = React.useMemo(function () {\n if (!use12Hours) {\n return [false, false];\n }\n\n var AMPMDisabled = [true, true];\n memorizedRawHours.forEach(function (_ref) {\n var disabled = _ref.disabled,\n hourValue = _ref.value;\n if (disabled) return;\n\n if (hourValue >= 12) {\n AMPMDisabled[1] = false;\n } else {\n AMPMDisabled[0] = false;\n }\n });\n return AMPMDisabled;\n }, [use12Hours, memorizedRawHours]),\n _React$useMemo4 = _slicedToArray(_React$useMemo3, 2),\n AMDisabled = _React$useMemo4[0],\n PMDisabled = _React$useMemo4[1];\n\n var hours = React.useMemo(function () {\n if (!use12Hours) return memorizedRawHours;\n return memorizedRawHours.filter(isPM ? function (hourMeta) {\n return hourMeta.value >= 12;\n } : function (hourMeta) {\n return hourMeta.value < 12;\n }).map(function (hourMeta) {\n var hourValue = hourMeta.value % 12;\n var hourLabel = hourValue === 0 ? '12' : leftPad(hourValue, 2);\n return _objectSpread(_objectSpread({}, hourMeta), {}, {\n label: hourLabel,\n value: hourValue\n });\n });\n }, [use12Hours, isPM, memorizedRawHours]);\n var minutes = generateUnits(0, 59, minuteStep, mergedDisabledMinutes && mergedDisabledMinutes(originHour));\n var seconds = generateUnits(0, 59, secondStep, mergedDisabledSeconds && mergedDisabledSeconds(originHour, minute)); // ====================== Operations ======================\n\n operationRef.current = {\n onUpDown: function onUpDown(diff) {\n var column = columns[activeColumnIndex];\n\n if (column) {\n var valueIndex = column.units.findIndex(function (unit) {\n return unit.value === column.value;\n });\n var unitLen = column.units.length;\n\n for (var i = 1; i < unitLen; i += 1) {\n var nextUnit = column.units[(valueIndex + diff * i + unitLen) % unitLen];\n\n if (nextUnit.disabled !== true) {\n column.onSelect(nextUnit.value);\n break;\n }\n }\n }\n }\n }; // ======================== Render ========================\n\n function addColumnNode(condition, node, columnValue, units, onColumnSelect) {\n if (condition !== false) {\n columns.push({\n node: /*#__PURE__*/React.cloneElement(node, {\n prefixCls: columnPrefixCls,\n value: columnValue,\n active: activeColumnIndex === columns.length,\n onSelect: onColumnSelect,\n units: units,\n hideDisabledOptions: hideDisabledOptions\n }),\n onSelect: onColumnSelect,\n value: columnValue,\n units: units\n });\n }\n } // Hour\n\n\n addColumnNode(showHour, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"hour\"\n }), hour, hours, function (num) {\n onSelect(setTime(isPM, num, minute, second), 'mouse');\n }); // Minute\n\n addColumnNode(showMinute, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"minute\"\n }), minute, minutes, function (num) {\n onSelect(setTime(isPM, hour, num, second), 'mouse');\n }); // Second\n\n addColumnNode(showSecond, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"second\"\n }), second, seconds, function (num) {\n onSelect(setTime(isPM, hour, minute, num), 'mouse');\n }); // 12 Hours\n\n var PMIndex = -1;\n\n if (typeof isPM === 'boolean') {\n PMIndex = isPM ? 1 : 0;\n }\n\n addColumnNode(use12Hours === true, /*#__PURE__*/React.createElement(TimeUnitColumn, {\n key: \"12hours\"\n }), PMIndex, [{\n label: 'AM',\n value: 0,\n disabled: AMDisabled\n }, {\n label: 'PM',\n value: 1,\n disabled: PMDisabled\n }], function (num) {\n onSelect(setTime(!!num, hour, minute, second), 'mouse');\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: contentPrefixCls\n }, columns.map(function (_ref2) {\n var node = _ref2.node;\n return node;\n }));\n}\n\nexport default TimeBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport TimeHeader from \"./TimeHeader\";\nimport TimeBody from \"./TimeBody\";\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\n\nvar countBoolean = function countBoolean(boolList) {\n return boolList.filter(function (bool) {\n return bool !== false;\n }).length;\n};\n\nfunction TimePanel(props) {\n var generateConfig = props.generateConfig,\n _props$format = props.format,\n format = _props$format === void 0 ? 'HH:mm:ss' : _props$format,\n prefixCls = props.prefixCls,\n active = props.active,\n operationRef = props.operationRef,\n showHour = props.showHour,\n showMinute = props.showMinute,\n showSecond = props.showSecond,\n _props$use12Hours = props.use12Hours,\n use12Hours = _props$use12Hours === void 0 ? false : _props$use12Hours,\n onSelect = props.onSelect,\n value = props.value;\n var panelPrefixCls = \"\".concat(prefixCls, \"-time-panel\");\n var bodyOperationRef = React.useRef(); // ======================= Keyboard =======================\n\n var _React$useState = React.useState(-1),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeColumnIndex = _React$useState2[0],\n setActiveColumnIndex = _React$useState2[1];\n\n var columnsCount = countBoolean([showHour, showMinute, showSecond, use12Hours]);\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n setActiveColumnIndex((activeColumnIndex + diff + columnsCount) % columnsCount);\n },\n onUpDown: function onUpDown(diff) {\n if (activeColumnIndex === -1) {\n setActiveColumnIndex(0);\n } else if (bodyOperationRef.current) {\n bodyOperationRef.current.onUpDown(diff);\n }\n },\n onEnter: function onEnter() {\n onSelect(value || generateConfig.getNow(), 'key');\n setActiveColumnIndex(-1);\n }\n });\n },\n onBlur: function onBlur() {\n setActiveColumnIndex(-1);\n }\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(panelPrefixCls, _defineProperty({}, \"\".concat(panelPrefixCls, \"-active\"), active))\n }, /*#__PURE__*/React.createElement(TimeHeader, _extends({}, props, {\n format: format,\n prefixCls: prefixCls\n })), /*#__PURE__*/React.createElement(TimeBody, _extends({}, props, {\n prefixCls: prefixCls,\n activeColumnIndex: activeColumnIndex,\n operationRef: bodyOperationRef\n })));\n}\n\nexport default TimePanel;","import * as React from 'react';\nvar RangeContext = /*#__PURE__*/React.createContext({});\nexport default RangeContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { isInRange } from \"../utils/dateUtil\";\nimport { getValue } from \"../utils/miscUtil\";\nexport default function useCellClassName(_ref) {\n var cellPrefixCls = _ref.cellPrefixCls,\n generateConfig = _ref.generateConfig,\n rangedValue = _ref.rangedValue,\n hoverRangedValue = _ref.hoverRangedValue,\n isInView = _ref.isInView,\n isSameCell = _ref.isSameCell,\n offsetCell = _ref.offsetCell,\n today = _ref.today,\n value = _ref.value;\n\n function getClassName(currentDate) {\n var _ref2;\n\n var prevDate = offsetCell(currentDate, -1);\n var nextDate = offsetCell(currentDate, 1);\n var rangeStart = getValue(rangedValue, 0);\n var rangeEnd = getValue(rangedValue, 1);\n var hoverStart = getValue(hoverRangedValue, 0);\n var hoverEnd = getValue(hoverRangedValue, 1);\n var isRangeHovered = isInRange(generateConfig, hoverStart, hoverEnd, currentDate);\n\n function isRangeStart(date) {\n return isSameCell(rangeStart, date);\n }\n\n function isRangeEnd(date) {\n return isSameCell(rangeEnd, date);\n }\n\n var isHoverStart = isSameCell(hoverStart, currentDate);\n var isHoverEnd = isSameCell(hoverEnd, currentDate);\n var isHoverEdgeStart = (isRangeHovered || isHoverEnd) && (!isInView(prevDate) || isRangeEnd(prevDate));\n var isHoverEdgeEnd = (isRangeHovered || isHoverStart) && (!isInView(nextDate) || isRangeStart(nextDate));\n return _ref2 = {}, _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-in-view\"), isInView(currentDate)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-in-range\"), isInRange(generateConfig, rangeStart, rangeEnd, currentDate)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-start\"), isRangeStart(currentDate)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-end\"), isRangeEnd(currentDate)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-start-single\"), isRangeStart(currentDate) && !rangeEnd), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-end-single\"), isRangeEnd(currentDate) && !rangeStart), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-start-near-hover\"), isRangeStart(currentDate) && (isSameCell(prevDate, hoverStart) || isInRange(generateConfig, hoverStart, hoverEnd, prevDate))), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-end-near-hover\"), isRangeEnd(currentDate) && (isSameCell(nextDate, hoverEnd) || isInRange(generateConfig, hoverStart, hoverEnd, nextDate))), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover\"), isRangeHovered), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-start\"), isHoverStart), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-end\"), isHoverEnd), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-edge-start\"), isHoverEdgeStart), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-edge-end\"), isHoverEdgeEnd), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-edge-start-near-range\"), isHoverEdgeStart && isSameCell(prevDate, rangeEnd)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-range-hover-edge-end-near-range\"), isHoverEdgeEnd && isSameCell(nextDate, rangeStart)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-today\"), isSameCell(today, currentDate)), _defineProperty(_ref2, \"\".concat(cellPrefixCls, \"-selected\"), isSameCell(value, currentDate)), _ref2;\n }\n\n return getClassName;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { WEEK_DAY_COUNT, getWeekStartDate, isSameDate, isSameMonth, formatValue } from \"../../utils/dateUtil\";\nimport RangeContext from \"../../RangeContext\";\nimport useCellClassName from \"../../hooks/useCellClassName\";\nimport PanelBody from \"../PanelBody\";\n\nfunction DateBody(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n prefixColumn = props.prefixColumn,\n locale = props.locale,\n rowCount = props.rowCount,\n viewDate = props.viewDate,\n value = props.value,\n dateRender = props.dateRender;\n\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var baseDate = getWeekStartDate(locale.locale, generateConfig, viewDate);\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var weekFirstDay = generateConfig.locale.getWeekFirstDay(locale.locale);\n var today = generateConfig.getNow(); // ============================== Header ==============================\n\n var headerCells = [];\n var weekDaysLocale = locale.shortWeekDays || (generateConfig.locale.getShortWeekDays ? generateConfig.locale.getShortWeekDays(locale.locale) : []);\n\n if (prefixColumn) {\n headerCells.push( /*#__PURE__*/React.createElement(\"th\", {\n key: \"empty\",\n \"aria-label\": \"empty cell\"\n }));\n }\n\n for (var i = 0; i < WEEK_DAY_COUNT; i += 1) {\n headerCells.push( /*#__PURE__*/React.createElement(\"th\", {\n key: i\n }, weekDaysLocale[(i + weekFirstDay) % WEEK_DAY_COUNT]));\n } // =============================== Body ===============================\n\n\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n today: today,\n value: value,\n generateConfig: generateConfig,\n rangedValue: prefixColumn ? null : rangedValue,\n hoverRangedValue: prefixColumn ? null : hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameDate(generateConfig, current, target);\n },\n isInView: function isInView(date) {\n return isSameMonth(generateConfig, date, viewDate);\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addDate(date, offset);\n }\n });\n var getCellNode = dateRender ? function (date) {\n return dateRender(date, today);\n } : undefined;\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: rowCount,\n colNum: WEEK_DAY_COUNT,\n baseDate: baseDate,\n getCellNode: getCellNode,\n getCellText: generateConfig.getDate,\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addDate,\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY-MM-DD',\n generateConfig: generateConfig\n });\n },\n headerCells: headerCells\n }));\n}\n\nexport default DateBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from \"../Header\";\nimport PanelContext from \"../../PanelContext\";\nimport { formatValue } from \"../../utils/dateUtil\";\n\nfunction DateHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextMonth = props.onNextMonth,\n onPrevMonth = props.onPrevMonth,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick,\n onMonthClick = props.onMonthClick;\n\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);\n var month = generateConfig.getMonth(viewDate); // =================== Month & Year ===================\n\n var yearNode = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n key: \"year\",\n onClick: onYearClick,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-year-btn\")\n }, formatValue(viewDate, {\n locale: locale,\n format: locale.yearFormat,\n generateConfig: generateConfig\n }));\n var monthNode = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n key: \"month\",\n onClick: onMonthClick,\n tabIndex: -1,\n className: \"\".concat(prefixCls, \"-month-btn\")\n }, locale.monthFormat ? formatValue(viewDate, {\n locale: locale,\n format: locale.monthFormat,\n generateConfig: generateConfig\n }) : monthsLocale[month]);\n var monthYearNodes = locale.monthBeforeYear ? [monthNode, yearNode] : [yearNode, monthNode];\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onPrev: onPrevMonth,\n onNext: onNextMonth,\n onSuperNext: onNextYear\n }), monthYearNodes);\n}\n\nexport default DateHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport DateBody from \"./DateBody\";\nimport DateHeader from \"./DateHeader\";\nimport { WEEK_DAY_COUNT } from \"../../utils/dateUtil\";\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\nvar DATE_ROW_COUNT = 6;\n\nfunction DatePanel(props) {\n var prefixCls = props.prefixCls,\n _props$panelName = props.panelName,\n panelName = _props$panelName === void 0 ? 'date' : _props$panelName,\n keyboardConfig = props.keyboardConfig,\n active = props.active,\n operationRef = props.operationRef,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onViewDateChange = props.onViewDateChange,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = \"\".concat(prefixCls, \"-\").concat(panelName, \"-panel\"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, _objectSpread({\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addDate(value || viewDate, diff), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addDate(value || viewDate, diff * WEEK_DAY_COUNT), 'key');\n },\n onPageUpDown: function onPageUpDown(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff), 'key');\n }\n }, keyboardConfig));\n }\n }; // ==================== View Operation ====================\n\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n var onMonthChange = function onMonthChange(diff) {\n var newDate = generateConfig.addMonth(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(panelPrefixCls, _defineProperty({}, \"\".concat(panelPrefixCls, \"-active\"), active))\n }, /*#__PURE__*/React.createElement(DateHeader, _extends({}, props, {\n prefixCls: prefixCls,\n value: value,\n viewDate: viewDate // View Operation\n ,\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onPrevMonth: function onPrevMonth() {\n onMonthChange(-1);\n },\n onNextMonth: function onNextMonth() {\n onMonthChange(1);\n },\n onMonthClick: function onMonthClick() {\n onPanelChange('month', viewDate);\n },\n onYearClick: function onYearClick() {\n onPanelChange('year', viewDate);\n }\n })), /*#__PURE__*/React.createElement(DateBody, _extends({}, props, {\n onSelect: function onSelect(date) {\n return _onSelect(date, 'mouse');\n },\n prefixCls: prefixCls,\n value: value,\n viewDate: viewDate,\n rowCount: DATE_ROW_COUNT\n })));\n}\n\nexport default DatePanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport DatePanel from \"../DatePanel\";\nimport TimePanel from \"../TimePanel\";\nimport { tuple } from \"../../utils/miscUtil\";\nimport { setDateTime as setTime } from \"../../utils/timeUtil\";\nvar ACTIVE_PANEL = tuple('date', 'time');\n\nfunction DatetimePanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n generateConfig = props.generateConfig,\n value = props.value,\n defaultValue = props.defaultValue,\n disabledTime = props.disabledTime,\n showTime = props.showTime,\n onSelect = props.onSelect;\n var panelPrefixCls = \"\".concat(prefixCls, \"-datetime-panel\");\n\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activePanel = _React$useState2[0],\n setActivePanel = _React$useState2[1];\n\n var dateOperationRef = React.useRef({});\n var timeOperationRef = React.useRef({});\n var timeProps = _typeof(showTime) === 'object' ? _objectSpread({}, showTime) : {}; // ======================= Keyboard =======================\n\n function getNextActive(offset) {\n var activeIndex = ACTIVE_PANEL.indexOf(activePanel) + offset;\n var nextActivePanel = ACTIVE_PANEL[activeIndex] || null;\n return nextActivePanel;\n }\n\n var onBlur = function onBlur(e) {\n if (timeOperationRef.current.onBlur) {\n timeOperationRef.current.onBlur(e);\n }\n\n setActivePanel(null);\n };\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n // Switch active panel\n if (event.which === KeyCode.TAB) {\n var nextActivePanel = getNextActive(event.shiftKey ? -1 : 1);\n setActivePanel(nextActivePanel);\n\n if (nextActivePanel) {\n event.preventDefault();\n }\n\n return true;\n } // Operate on current active panel\n\n\n if (activePanel) {\n var ref = activePanel === 'date' ? dateOperationRef : timeOperationRef;\n\n if (ref.current && ref.current.onKeyDown) {\n ref.current.onKeyDown(event);\n }\n\n return true;\n } // Switch first active panel if operate without panel\n\n\n if ([KeyCode.LEFT, KeyCode.RIGHT, KeyCode.UP, KeyCode.DOWN].includes(event.which)) {\n setActivePanel('date');\n return true;\n }\n\n return false;\n },\n onBlur: onBlur,\n onClose: onBlur\n }; // ======================== Events ========================\n\n var onInternalSelect = function onInternalSelect(date, source) {\n var selectedDate = date;\n\n if (source === 'date' && !value && timeProps.defaultValue) {\n // Date with time defaultValue\n selectedDate = generateConfig.setHour(selectedDate, generateConfig.getHour(timeProps.defaultValue));\n selectedDate = generateConfig.setMinute(selectedDate, generateConfig.getMinute(timeProps.defaultValue));\n selectedDate = generateConfig.setSecond(selectedDate, generateConfig.getSecond(timeProps.defaultValue));\n } else if (source === 'time' && !value && defaultValue) {\n selectedDate = generateConfig.setYear(selectedDate, generateConfig.getYear(defaultValue));\n selectedDate = generateConfig.setMonth(selectedDate, generateConfig.getMonth(defaultValue));\n selectedDate = generateConfig.setDate(selectedDate, generateConfig.getDate(defaultValue));\n }\n\n if (onSelect) {\n onSelect(selectedDate, 'mouse');\n }\n }; // ======================== Render ========================\n\n\n var disabledTimes = disabledTime ? disabledTime(value || null) : {};\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(panelPrefixCls, _defineProperty({}, \"\".concat(panelPrefixCls, \"-active\"), activePanel))\n }, /*#__PURE__*/React.createElement(DatePanel, _extends({}, props, {\n operationRef: dateOperationRef,\n active: activePanel === 'date',\n onSelect: function onSelect(date) {\n onInternalSelect(setTime(generateConfig, date, !value && _typeof(showTime) === 'object' ? showTime.defaultValue : null), 'date');\n }\n })), /*#__PURE__*/React.createElement(TimePanel, _extends({}, props, {\n format: undefined\n }, timeProps, disabledTimes, {\n disabledTime: null,\n defaultValue: undefined,\n operationRef: timeOperationRef,\n active: activePanel === 'time',\n onSelect: function onSelect(date) {\n onInternalSelect(date, 'time');\n }\n })));\n}\n\nexport default DatetimePanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport DatePanel from \"../DatePanel\";\nimport { isSameWeek } from \"../../utils/dateUtil\";\n\nfunction WeekPanel(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n value = props.value; // Render additional column\n\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n\n var prefixColumn = function prefixColumn(date) {\n return /*#__PURE__*/React.createElement(\"td\", {\n key: \"week\",\n className: classNames(cellPrefixCls, \"\".concat(cellPrefixCls, \"-week\"))\n }, generateConfig.locale.getWeek(locale.locale, date));\n }; // Add row className\n\n\n var rowPrefixCls = \"\".concat(prefixCls, \"-week-panel-row\");\n\n var rowClassName = function rowClassName(date) {\n return classNames(rowPrefixCls, _defineProperty({}, \"\".concat(rowPrefixCls, \"-selected\"), isSameWeek(generateConfig, locale.locale, value, date)));\n };\n\n return /*#__PURE__*/React.createElement(DatePanel, _extends({}, props, {\n panelName: \"week\",\n prefixColumn: prefixColumn,\n rowClassName: rowClassName,\n keyboardConfig: {\n onLeftRight: null\n }\n }));\n}\n\nexport default WeekPanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from \"../Header\";\nimport PanelContext from \"../../PanelContext\";\nimport { formatValue } from \"../../utils/dateUtil\";\n\nfunction MonthHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick;\n\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onSuperNext: onNextYear\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onYearClick,\n className: \"\".concat(prefixCls, \"-year-btn\")\n }, formatValue(viewDate, {\n locale: locale,\n format: locale.yearFormat,\n generateConfig: generateConfig\n })));\n}\n\nexport default MonthHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { formatValue, isSameMonth } from \"../../utils/dateUtil\";\nimport RangeContext from \"../../RangeContext\";\nimport useCellClassName from \"../../hooks/useCellClassName\";\nimport PanelBody from \"../PanelBody\";\nexport var MONTH_COL_COUNT = 3;\nvar MONTH_ROW_COUNT = 4;\n\nfunction MonthBody(props) {\n var prefixCls = props.prefixCls,\n locale = props.locale,\n value = props.value,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig,\n monthCellRender = props.monthCellRender;\n\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameMonth(generateConfig, current, target);\n },\n isInView: function isInView() {\n return true;\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addMonth(date, offset);\n }\n });\n var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);\n var baseMonth = generateConfig.setMonth(viewDate, 0);\n var getCellNode = monthCellRender ? function (date) {\n return monthCellRender(date, locale);\n } : undefined;\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: MONTH_ROW_COUNT,\n colNum: MONTH_COL_COUNT,\n baseDate: baseMonth,\n getCellNode: getCellNode,\n getCellText: function getCellText(date) {\n return locale.monthFormat ? formatValue(date, {\n locale: locale,\n format: locale.monthFormat,\n generateConfig: generateConfig\n }) : monthsLocale[generateConfig.getMonth(date)];\n },\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addMonth,\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY-MM',\n generateConfig: generateConfig\n });\n }\n }));\n}\n\nexport default MonthBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport MonthHeader from \"./MonthHeader\";\nimport MonthBody, { MONTH_COL_COUNT } from \"./MonthBody\";\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\n\nfunction MonthPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = \"\".concat(prefixCls, \"-month-panel\"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff * MONTH_COL_COUNT), 'key');\n },\n onEnter: function onEnter() {\n onPanelChange('date', value || viewDate);\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(MonthHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onYearClick: function onYearClick() {\n onPanelChange('year', viewDate);\n }\n })), /*#__PURE__*/React.createElement(MonthBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n _onSelect(date, 'mouse');\n\n onPanelChange('date', date);\n }\n })));\n}\n\nexport default MonthPanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from \"../Header\";\nimport PanelContext from \"../../PanelContext\";\nimport { formatValue } from \"../../utils/dateUtil\";\n\nfunction QuarterHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n locale = props.locale,\n viewDate = props.viewDate,\n onNextYear = props.onNextYear,\n onPrevYear = props.onPrevYear,\n onYearClick = props.onYearClick;\n\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevYear,\n onSuperNext: onNextYear\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onYearClick,\n className: \"\".concat(prefixCls, \"-year-btn\")\n }, formatValue(viewDate, {\n locale: locale,\n format: locale.yearFormat,\n generateConfig: generateConfig\n })));\n}\n\nexport default QuarterHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { formatValue, isSameQuarter } from \"../../utils/dateUtil\";\nimport RangeContext from \"../../RangeContext\";\nimport useCellClassName from \"../../hooks/useCellClassName\";\nimport PanelBody from \"../PanelBody\";\nexport var QUARTER_COL_COUNT = 4;\nvar QUARTER_ROW_COUNT = 1;\n\nfunction QuarterBody(props) {\n var prefixCls = props.prefixCls,\n locale = props.locale,\n value = props.value,\n viewDate = props.viewDate,\n generateConfig = props.generateConfig;\n\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n var getCellClassName = useCellClassName({\n cellPrefixCls: cellPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameQuarter(generateConfig, current, target);\n },\n isInView: function isInView() {\n return true;\n },\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addMonth(date, offset * 3);\n }\n });\n var baseQuarter = generateConfig.setDate(generateConfig.setMonth(viewDate, 0), 1);\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: QUARTER_ROW_COUNT,\n colNum: QUARTER_COL_COUNT,\n baseDate: baseQuarter,\n getCellText: function getCellText(date) {\n return formatValue(date, {\n locale: locale,\n format: locale.quarterFormat || '[Q]Q',\n generateConfig: generateConfig\n });\n },\n getCellClassName: getCellClassName,\n getCellDate: function getCellDate(date, offset) {\n return generateConfig.addMonth(date, offset * 3);\n },\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY-[Q]Q',\n generateConfig: generateConfig\n });\n }\n }));\n}\n\nexport default QuarterBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport QuarterHeader from \"./QuarterHeader\";\nimport QuarterBody from \"./QuarterBody\";\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\n\nfunction QuarterPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n onPanelChange = props.onPanelChange,\n _onSelect = props.onSelect;\n var panelPrefixCls = \"\".concat(prefixCls, \"-quarter-panel\"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addMonth(value || viewDate, diff * 3), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onYearChange = function onYearChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(QuarterHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevYear: function onPrevYear() {\n onYearChange(-1);\n },\n onNextYear: function onNextYear() {\n onYearChange(1);\n },\n onYearClick: function onYearClick() {\n onPanelChange('year', viewDate);\n }\n })), /*#__PURE__*/React.createElement(QuarterBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n _onSelect(date, 'mouse');\n }\n })));\n}\n\nexport default QuarterPanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Header from \"../Header\";\nimport { YEAR_DECADE_COUNT } from '.';\nimport PanelContext from \"../../PanelContext\";\n\nfunction YearHeader(props) {\n var prefixCls = props.prefixCls,\n generateConfig = props.generateConfig,\n viewDate = props.viewDate,\n onPrevDecade = props.onPrevDecade,\n onNextDecade = props.onNextDecade,\n onDecadeClick = props.onDecadeClick;\n\n var _React$useContext = React.useContext(PanelContext),\n hideHeader = _React$useContext.hideHeader;\n\n if (hideHeader) {\n return null;\n }\n\n var headerPrefixCls = \"\".concat(prefixCls, \"-header\");\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / YEAR_DECADE_COUNT) * YEAR_DECADE_COUNT;\n var endYear = startYear + YEAR_DECADE_COUNT - 1;\n return /*#__PURE__*/React.createElement(Header, _extends({}, props, {\n prefixCls: headerPrefixCls,\n onSuperPrev: onPrevDecade,\n onSuperNext: onNextDecade\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onDecadeClick,\n className: \"\".concat(prefixCls, \"-decade-btn\")\n }, startYear, \"-\", endYear));\n}\n\nexport default YearHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { YEAR_DECADE_COUNT } from '.';\nimport useCellClassName from \"../../hooks/useCellClassName\";\nimport { formatValue, isSameYear } from \"../../utils/dateUtil\";\nimport RangeContext from \"../../RangeContext\";\nimport PanelBody from \"../PanelBody\";\nexport var YEAR_COL_COUNT = 3;\nvar YEAR_ROW_COUNT = 4;\n\nfunction YearBody(props) {\n var prefixCls = props.prefixCls,\n value = props.value,\n viewDate = props.viewDate,\n locale = props.locale,\n generateConfig = props.generateConfig;\n\n var _React$useContext = React.useContext(RangeContext),\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var yearPrefixCls = \"\".concat(prefixCls, \"-cell\"); // =============================== Year ===============================\n\n var yearNumber = generateConfig.getYear(viewDate);\n var startYear = Math.floor(yearNumber / YEAR_DECADE_COUNT) * YEAR_DECADE_COUNT;\n var endYear = startYear + YEAR_DECADE_COUNT - 1;\n var baseYear = generateConfig.setYear(viewDate, startYear - Math.ceil((YEAR_COL_COUNT * YEAR_ROW_COUNT - YEAR_DECADE_COUNT) / 2));\n\n var isInView = function isInView(date) {\n var currentYearNumber = generateConfig.getYear(date);\n return startYear <= currentYearNumber && currentYearNumber <= endYear;\n };\n\n var getCellClassName = useCellClassName({\n cellPrefixCls: yearPrefixCls,\n value: value,\n generateConfig: generateConfig,\n rangedValue: rangedValue,\n hoverRangedValue: hoverRangedValue,\n isSameCell: function isSameCell(current, target) {\n return isSameYear(generateConfig, current, target);\n },\n isInView: isInView,\n offsetCell: function offsetCell(date, offset) {\n return generateConfig.addYear(date, offset);\n }\n });\n return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, {\n rowNum: YEAR_ROW_COUNT,\n colNum: YEAR_COL_COUNT,\n baseDate: baseYear,\n getCellText: generateConfig.getYear,\n getCellClassName: getCellClassName,\n getCellDate: generateConfig.addYear,\n titleCell: function titleCell(date) {\n return formatValue(date, {\n locale: locale,\n format: 'YYYY',\n generateConfig: generateConfig\n });\n }\n }));\n}\n\nexport default YearBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport YearHeader from \"./YearHeader\";\nimport YearBody, { YEAR_COL_COUNT } from \"./YearBody\";\nimport { createKeyDownHandler } from \"../../utils/uiUtil\";\nexport var YEAR_DECADE_COUNT = 10;\n\nfunction YearPanel(props) {\n var prefixCls = props.prefixCls,\n operationRef = props.operationRef,\n onViewDateChange = props.onViewDateChange,\n generateConfig = props.generateConfig,\n value = props.value,\n viewDate = props.viewDate,\n sourceMode = props.sourceMode,\n _onSelect = props.onSelect,\n onPanelChange = props.onPanelChange;\n var panelPrefixCls = \"\".concat(prefixCls, \"-year-panel\"); // ======================= Keyboard =======================\n\n operationRef.current = {\n onKeyDown: function onKeyDown(event) {\n return createKeyDownHandler(event, {\n onLeftRight: function onLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff), 'key');\n },\n onCtrlLeftRight: function onCtrlLeftRight(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff * YEAR_DECADE_COUNT), 'key');\n },\n onUpDown: function onUpDown(diff) {\n _onSelect(generateConfig.addYear(value || viewDate, diff * YEAR_COL_COUNT), 'key');\n },\n onEnter: function onEnter() {\n onPanelChange(sourceMode === 'date' ? 'date' : 'month', value || viewDate);\n }\n });\n }\n }; // ==================== View Operation ====================\n\n var onDecadeChange = function onDecadeChange(diff) {\n var newDate = generateConfig.addYear(viewDate, diff * 10);\n onViewDateChange(newDate);\n onPanelChange(null, newDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: panelPrefixCls\n }, /*#__PURE__*/React.createElement(YearHeader, _extends({}, props, {\n prefixCls: prefixCls,\n onPrevDecade: function onPrevDecade() {\n onDecadeChange(-1);\n },\n onNextDecade: function onNextDecade() {\n onDecadeChange(1);\n },\n onDecadeClick: function onDecadeClick() {\n onPanelChange('decade', viewDate);\n }\n })), /*#__PURE__*/React.createElement(YearBody, _extends({}, props, {\n prefixCls: prefixCls,\n onSelect: function onSelect(date) {\n onPanelChange(sourceMode === 'date' ? 'date' : 'month', date);\n\n _onSelect(date, 'mouse');\n }\n })));\n}\n\nexport default YearPanel;","import * as React from 'react';\nexport default function getExtraFooter(prefixCls, mode, renderExtraFooter) {\n if (!renderExtraFooter) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer-extra\")\n }, renderExtraFooter(mode));\n}","import * as React from 'react';\nexport default function getRanges(_ref) {\n var prefixCls = _ref.prefixCls,\n _ref$components = _ref.components,\n components = _ref$components === void 0 ? {} : _ref$components,\n needConfirmButton = _ref.needConfirmButton,\n onNow = _ref.onNow,\n onOk = _ref.onOk,\n okDisabled = _ref.okDisabled,\n showNow = _ref.showNow,\n locale = _ref.locale;\n var presetNode;\n var okNode;\n\n if (needConfirmButton) {\n var Button = components.button || 'button';\n\n if (onNow && showNow !== false) {\n presetNode = /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-now\")\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"\".concat(prefixCls, \"-now-btn\"),\n onClick: onNow\n }, locale.now));\n }\n\n okNode = needConfirmButton && /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-ok\")\n }, /*#__PURE__*/React.createElement(Button, {\n disabled: okDisabled,\n onClick: onOk\n }, locale.ok));\n }\n\n if (!presetNode && !okNode) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"\".concat(prefixCls, \"-ranges\")\n }, presetNode, okNode);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/**\n * Logic:\n * When `mode` === `picker`,\n * click will trigger `onSelect` (if value changed trigger `onChange` also).\n * Panel change will not trigger `onSelect` but trigger `onPanelChange`\n */\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport warning from \"rc-util/es/warning\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport TimePanel from \"./panels/TimePanel\";\nimport DatetimePanel from \"./panels/DatetimePanel\";\nimport DatePanel from \"./panels/DatePanel\";\nimport WeekPanel from \"./panels/WeekPanel\";\nimport MonthPanel from \"./panels/MonthPanel\";\nimport QuarterPanel from \"./panels/QuarterPanel\";\nimport YearPanel from \"./panels/YearPanel\";\nimport DecadePanel from \"./panels/DecadePanel\";\nimport { isEqual } from \"./utils/dateUtil\";\nimport PanelContext from \"./PanelContext\";\nimport { PickerModeMap } from \"./utils/uiUtil\";\nimport RangeContext from \"./RangeContext\";\nimport getExtraFooter from \"./utils/getExtraFooter\";\nimport getRanges from \"./utils/getRanges\";\nimport { getLowerBoundTime, setDateTime, setTime } from \"./utils/timeUtil\";\n\nfunction PickerPanel(props) {\n var _classNames;\n\n var _ref = props,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-picker' : _ref$prefixCls,\n className = _ref.className,\n style = _ref.style,\n locale = _ref.locale,\n generateConfig = _ref.generateConfig,\n value = _ref.value,\n defaultValue = _ref.defaultValue,\n pickerValue = _ref.pickerValue,\n defaultPickerValue = _ref.defaultPickerValue,\n disabledDate = _ref.disabledDate,\n mode = _ref.mode,\n _ref$picker = _ref.picker,\n picker = _ref$picker === void 0 ? 'date' : _ref$picker,\n _ref$tabIndex = _ref.tabIndex,\n tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,\n showNow = _ref.showNow,\n showTime = _ref.showTime,\n showToday = _ref.showToday,\n renderExtraFooter = _ref.renderExtraFooter,\n hideHeader = _ref.hideHeader,\n onSelect = _ref.onSelect,\n onChange = _ref.onChange,\n onPanelChange = _ref.onPanelChange,\n onMouseDown = _ref.onMouseDown,\n onPickerValueChange = _ref.onPickerValueChange,\n _onOk = _ref.onOk,\n components = _ref.components,\n direction = _ref.direction,\n _ref$hourStep = _ref.hourStep,\n hourStep = _ref$hourStep === void 0 ? 1 : _ref$hourStep,\n _ref$minuteStep = _ref.minuteStep,\n minuteStep = _ref$minuteStep === void 0 ? 1 : _ref$minuteStep,\n _ref$secondStep = _ref.secondStep,\n secondStep = _ref$secondStep === void 0 ? 1 : _ref$secondStep;\n var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';\n var isHourStepValid = 24 % hourStep === 0;\n var isMinuteStepValid = 60 % minuteStep === 0;\n var isSecondStepValid = 60 % secondStep === 0;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(!value || generateConfig.isValidate(value), 'Invalidate date pass to `value`.');\n warning(!value || generateConfig.isValidate(value), 'Invalidate date pass to `defaultValue`.');\n warning(isHourStepValid, \"`hourStep` \".concat(hourStep, \" is invalid. It should be a factor of 24.\"));\n warning(isMinuteStepValid, \"`minuteStep` \".concat(minuteStep, \" is invalid. It should be a factor of 60.\"));\n warning(isSecondStepValid, \"`secondStep` \".concat(secondStep, \" is invalid. It should be a factor of 60.\"));\n } // ============================ State =============================\n\n\n var panelContext = React.useContext(PanelContext);\n var operationRef = panelContext.operationRef,\n onContextSelect = panelContext.onSelect,\n hideRanges = panelContext.hideRanges,\n defaultOpenValue = panelContext.defaultOpenValue;\n\n var _React$useContext = React.useContext(RangeContext),\n inRange = _React$useContext.inRange,\n panelPosition = _React$useContext.panelPosition,\n rangedValue = _React$useContext.rangedValue,\n hoverRangedValue = _React$useContext.hoverRangedValue;\n\n var panelRef = React.useRef({}); // Handle init logic\n\n var initRef = React.useRef(true); // Value\n\n var _useMergedState = useMergedState(null, {\n value: value,\n defaultValue: defaultValue,\n postState: function postState(val) {\n if (!val && defaultOpenValue && picker === 'time') {\n return defaultOpenValue;\n }\n\n return val;\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setInnerValue = _useMergedState2[1]; // View date control\n\n\n var _useMergedState3 = useMergedState(null, {\n value: pickerValue,\n defaultValue: defaultPickerValue || mergedValue,\n postState: function postState(date) {\n var now = generateConfig.getNow();\n\n if (!date) {\n return now;\n } // When value is null and set showTime\n\n\n if (!mergedValue && showTime) {\n var defaultDateObject = _typeof(showTime) === 'object' ? showTime.defaultValue : defaultValue;\n return setDateTime(generateConfig, Array.isArray(date) ? date[0] : date, defaultDateObject || now);\n }\n\n return Array.isArray(date) ? date[0] : date;\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n viewDate = _useMergedState4[0],\n setInnerViewDate = _useMergedState4[1];\n\n var setViewDate = function setViewDate(date) {\n setInnerViewDate(date);\n\n if (onPickerValueChange) {\n onPickerValueChange(date);\n }\n }; // Panel control\n\n\n var getInternalNextMode = function getInternalNextMode(nextMode) {\n var getNextMode = PickerModeMap[picker];\n\n if (getNextMode) {\n return getNextMode(nextMode);\n }\n\n return nextMode;\n }; // Save panel is changed from which panel\n\n\n var _useMergedState5 = useMergedState(function () {\n if (picker === 'time') {\n return 'time';\n }\n\n return getInternalNextMode('date');\n }, {\n value: mode\n }),\n _useMergedState6 = _slicedToArray(_useMergedState5, 2),\n mergedMode = _useMergedState6[0],\n setInnerMode = _useMergedState6[1];\n\n React.useEffect(function () {\n setInnerMode(picker);\n }, [picker]);\n\n var _React$useState = React.useState(function () {\n return mergedMode;\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n sourceMode = _React$useState2[0],\n setSourceMode = _React$useState2[1];\n\n var onInternalPanelChange = function onInternalPanelChange(newMode, viewValue) {\n var nextMode = getInternalNextMode(newMode || mergedMode);\n setSourceMode(mergedMode);\n setInnerMode(nextMode);\n\n if (onPanelChange && (mergedMode !== nextMode || isEqual(generateConfig, viewDate, viewDate))) {\n onPanelChange(viewValue, nextMode);\n }\n };\n\n var triggerSelect = function triggerSelect(date, type) {\n var forceTriggerSelect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (mergedMode === picker || forceTriggerSelect) {\n setInnerValue(date);\n\n if (onSelect) {\n onSelect(date);\n }\n\n if (onContextSelect) {\n onContextSelect(date, type);\n }\n\n if (onChange && !isEqual(generateConfig, date, mergedValue) && !(disabledDate !== null && disabledDate !== void 0 && disabledDate(date))) {\n onChange(date);\n }\n }\n }; // ========================= Interactive ==========================\n\n\n var onInternalKeyDown = function onInternalKeyDown(e) {\n if (panelRef.current && panelRef.current.onKeyDown) {\n if ([KeyCode.LEFT, KeyCode.RIGHT, KeyCode.UP, KeyCode.DOWN, KeyCode.PAGE_UP, KeyCode.PAGE_DOWN, KeyCode.ENTER].includes(e.which)) {\n e.preventDefault();\n }\n\n return panelRef.current.onKeyDown(e);\n }\n /* istanbul ignore next */\n\n /* eslint-disable no-lone-blocks */\n\n\n {\n warning(false, 'Panel not correct handle keyDown event. Please help to fire issue about this.');\n return false;\n }\n /* eslint-enable no-lone-blocks */\n };\n\n var onInternalBlur = function onInternalBlur(e) {\n if (panelRef.current && panelRef.current.onBlur) {\n panelRef.current.onBlur(e);\n }\n };\n\n if (operationRef && panelPosition !== 'right') {\n operationRef.current = {\n onKeyDown: onInternalKeyDown,\n onClose: function onClose() {\n if (panelRef.current && panelRef.current.onClose) {\n panelRef.current.onClose();\n }\n }\n };\n } // ============================ Effect ============================\n\n\n React.useEffect(function () {\n if (value && !initRef.current) {\n setInnerViewDate(value);\n }\n }, [value]);\n React.useEffect(function () {\n initRef.current = false;\n }, []); // ============================ Panels ============================\n\n var panelNode;\n\n var pickerProps = _objectSpread(_objectSpread({}, props), {}, {\n operationRef: panelRef,\n prefixCls: prefixCls,\n viewDate: viewDate,\n value: mergedValue,\n onViewDateChange: setViewDate,\n sourceMode: sourceMode,\n onPanelChange: onInternalPanelChange,\n disabledDate: disabledDate\n });\n\n delete pickerProps.onChange;\n delete pickerProps.onSelect;\n\n switch (mergedMode) {\n case 'decade':\n panelNode = /*#__PURE__*/React.createElement(DecadePanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case 'year':\n panelNode = /*#__PURE__*/React.createElement(YearPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case 'month':\n panelNode = /*#__PURE__*/React.createElement(MonthPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case 'quarter':\n panelNode = /*#__PURE__*/React.createElement(QuarterPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case 'week':\n panelNode = /*#__PURE__*/React.createElement(WeekPanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n case 'time':\n delete pickerProps.showTime;\n panelNode = /*#__PURE__*/React.createElement(TimePanel, _extends({}, pickerProps, _typeof(showTime) === 'object' ? showTime : null, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n break;\n\n default:\n if (showTime) {\n panelNode = /*#__PURE__*/React.createElement(DatetimePanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n } else {\n panelNode = /*#__PURE__*/React.createElement(DatePanel, _extends({}, pickerProps, {\n onSelect: function onSelect(date, type) {\n setViewDate(date);\n triggerSelect(date, type);\n }\n }));\n }\n\n } // ============================ Footer ============================\n\n\n var extraFooter;\n var rangesNode;\n\n var onNow = function onNow() {\n var now = generateConfig.getNow();\n var lowerBoundTime = getLowerBoundTime(generateConfig.getHour(now), generateConfig.getMinute(now), generateConfig.getSecond(now), isHourStepValid ? hourStep : 1, isMinuteStepValid ? minuteStep : 1, isSecondStepValid ? secondStep : 1);\n var adjustedNow = setTime(generateConfig, now, lowerBoundTime[0], // hour\n lowerBoundTime[1], // minute\n lowerBoundTime[2] // second\n );\n triggerSelect(adjustedNow, 'submit');\n };\n\n if (!hideRanges) {\n extraFooter = getExtraFooter(prefixCls, mergedMode, renderExtraFooter);\n rangesNode = getRanges({\n prefixCls: prefixCls,\n components: components,\n needConfirmButton: needConfirmButton,\n okDisabled: !mergedValue || disabledDate && disabledDate(mergedValue),\n locale: locale,\n showNow: showNow,\n onNow: needConfirmButton && onNow,\n onOk: function onOk() {\n if (mergedValue) {\n triggerSelect(mergedValue, 'submit', true);\n\n if (_onOk) {\n _onOk(mergedValue);\n }\n }\n }\n });\n }\n\n var todayNode;\n\n if (showToday && mergedMode === 'date' && picker === 'date' && !showTime) {\n var now = generateConfig.getNow();\n var todayCls = \"\".concat(prefixCls, \"-today-btn\");\n var disabled = disabledDate && disabledDate(now);\n todayNode = /*#__PURE__*/React.createElement(\"a\", {\n className: classNames(todayCls, disabled && \"\".concat(todayCls, \"-disabled\")),\n \"aria-disabled\": disabled,\n onClick: function onClick() {\n if (!disabled) {\n triggerSelect(now, 'mouse', true);\n }\n }\n }, locale.today);\n }\n\n return /*#__PURE__*/React.createElement(PanelContext.Provider, {\n value: _objectSpread(_objectSpread({}, panelContext), {}, {\n mode: mergedMode,\n hideHeader: 'hideHeader' in props ? hideHeader : panelContext.hideHeader,\n hidePrevBtn: inRange && panelPosition === 'right',\n hideNextBtn: inRange && panelPosition === 'left'\n })\n }, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: tabIndex,\n className: classNames(\"\".concat(prefixCls, \"-panel\"), className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-panel-has-range\"), rangedValue && rangedValue[0] && rangedValue[1]), _defineProperty(_classNames, \"\".concat(prefixCls, \"-panel-has-range-hover\"), hoverRangedValue && hoverRangedValue[0] && hoverRangedValue[1]), _defineProperty(_classNames, \"\".concat(prefixCls, \"-panel-rtl\"), direction === 'rtl'), _classNames)),\n style: style,\n onKeyDown: onInternalKeyDown,\n onBlur: onInternalBlur,\n onMouseDown: onMouseDown\n }, panelNode, extraFooter || rangesNode || todayNode ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, extraFooter, rangesNode, todayNode) : null));\n}\n\nexport default PickerPanel;\n/* eslint-enable */","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n return root.contains(n);\n}","import ReactDOM from 'react-dom';\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\n\nexport default function findDOMNode(node) {\n if (node instanceof HTMLElement) {\n return node;\n }\n\n return ReactDOM.findDOMNode(node);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nimport useMemo from './hooks/useMemo';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n var refList = refs.filter(function (ref) {\n return ref;\n });\n\n if (refList.length <= 1) {\n return refList[0];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n\n return {\n remove: function remove() {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback, option);\n }\n }\n };\n}","import { useRef, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDom from './Dom/canUseDom';\nvar Portal = /*#__PURE__*/forwardRef(function (props, ref) {\n var didUpdate = props.didUpdate,\n getContainer = props.getContainer,\n children = props.children;\n var parentRef = useRef();\n var containerRef = useRef(); // Ref return nothing, only for wrapper check exist\n\n useImperativeHandle(ref, function () {\n return {};\n }); // Create container in client side with sync to avoid useEffect not get ref\n\n var initRef = useRef(false);\n\n if (!initRef.current && canUseDom()) {\n containerRef.current = getContainer();\n parentRef.current = containerRef.current.parentNode;\n initRef.current = true;\n } // [Legacy] Used by `rc-trigger`\n\n\n useEffect(function () {\n didUpdate === null || didUpdate === void 0 ? void 0 : didUpdate(props);\n });\n useEffect(function () {\n // Restore container to original place\n // React 18 StrictMode will unmount first and mount back for effect test:\n // https://reactjs.org/blog/2022/03/29/react-v18.html#new-strict-mode-behaviors\n if (containerRef.current.parentNode === null && parentRef.current !== null) {\n parentRef.current.appendChild(containerRef.current);\n }\n\n return function () {\n var _containerRef$current, _containerRef$current2;\n\n // [Legacy] This should not be handle by Portal but parent PortalWrapper instead.\n // Since some component use `Portal` directly, we have to keep the logic here.\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.parentNode) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.removeChild(containerRef.current);\n };\n }, []);\n return containerRef.current ? /*#__PURE__*/ReactDOM.createPortal(children, containerRef.current) : null;\n});\nexport default Portal;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\nfunction isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n var baseAlign = builtinPlacements[placementStr] || {};\n return _objectSpread(_objectSpread({}, baseAlign), align);\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n var placements = Object.keys(builtinPlacements);\n\n for (var i = 0; i < placements.length; i += 1) {\n var placement = placements[i];\n\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n }\n }\n\n return '';\n}","export default (function () {\n if (typeof navigator === 'undefined' || typeof window === 'undefined') {\n return false;\n }\n\n var agent = navigator.userAgent || navigator.vendor || window.opera;\n\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(agent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(agent === null || agent === void 0 ? void 0 : agent.substr(0, 4))) {\n return true;\n }\n\n return false;\n});","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\"; // ================= Transition =================\n// Event wrapper. Copy from react source code\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\n\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\n\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n\n style = _document$createEleme.style;\n}\n\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';","import * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import { useEffect, useLayoutEffect } from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\"; // It's safe to use `useLayoutEffect` but the warning is annoying\n\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { STEP_PREPARE, STEP_ACTIVE, STEP_START, STEP_ACTIVATED, STEP_NONE } from '../interface';\nimport useNextFrame from './useNextFrame';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nvar STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\n/** Skip current step */\n\nexport var SkipStep = false;\n/** Current step should be update in */\n\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from '../util/motion';\nexport default (function (callback) {\n var cacheElementRef = useRef(); // Cache callback\n\n var callbackRef = useRef(callback);\n callbackRef.current = callback; // Internal motion event handler\n\n var onInternalMotionEnd = React.useCallback(function (event) {\n callbackRef.current(event);\n }, []); // Remove events\n\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n } // Patch events\n\n\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd); // Save as cache in case dom removed trigger by `motionDeadline`\n\n cacheElementRef.current = element;\n }\n } // Clean up when removed\n\n\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { STATUS_APPEAR, STATUS_NONE, STATUS_LEAVE, STATUS_ENTER, STEP_PREPARE, STEP_START, STEP_ACTIVE } from '../interface';\nimport useStepQueue, { DoStep, SkipStep, isActive } from './useStepQueue';\nimport useDomMotionEvents from './useDomMotionEvents';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n\n var _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\n\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null); // =========================== Dom Node ===========================\n\n function getDomElement() {\n return getElement();\n } // ========================== Motion End ==========================\n\n\n var activeRef = useRef(false);\n\n function onInternalMotionEnd(event) {\n var element = getDomElement();\n\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n\n var currentActive = activeRef.current;\n var canEnd;\n\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n } // Only update status when `canEnd` and not destroyed\n\n\n if (status !== STATUS_NONE && currentActive && canEnd !== false) {\n setStatus(STATUS_NONE, true);\n setStyle(null, true);\n }\n }\n\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0]; // ============================= Step =============================\n\n\n var eventHandlers = React.useMemo(function () {\n var _ref2, _ref3, _ref4;\n\n switch (status) {\n case STATUS_APPEAR:\n return _ref2 = {}, _defineProperty(_ref2, STEP_PREPARE, onAppearPrepare), _defineProperty(_ref2, STEP_START, onAppearStart), _defineProperty(_ref2, STEP_ACTIVE, onAppearActive), _ref2;\n\n case STATUS_ENTER:\n return _ref3 = {}, _defineProperty(_ref3, STEP_PREPARE, onEnterPrepare), _defineProperty(_ref3, STEP_START, onEnterStart), _defineProperty(_ref3, STEP_ACTIVE, onEnterActive), _ref3;\n\n case STATUS_LEAVE:\n return _ref4 = {}, _defineProperty(_ref4, STEP_PREPARE, onLeavePrepare), _defineProperty(_ref4, STEP_START, onLeaveStart), _defineProperty(_ref4, STEP_ACTIVE, onLeaveActive), _ref4;\n\n default:\n return {};\n }\n }, [status]);\n\n var _useStepQueue = useStepQueue(status, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n\n if (!onPrepare) {\n return SkipStep;\n }\n\n return onPrepare(getDomElement());\n } // Rest step is sync update\n\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n\n if (step === STEP_ACTIVE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n\n var active = isActive(step);\n activeRef.current = active; // ============================ Status ============================\n // Update with new status\n\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n if (!supportMotion) {\n return;\n }\n\n var nextStatus; // Appear\n\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n } // Enter\n\n\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n } // Leave\n\n\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n } // Update to next status\n\n\n if (nextStatus) {\n setStatus(nextStatus);\n startStep();\n }\n }, [visible]); // ============================ Effect ============================\n // Reset when motion changed\n\n useEffect(function () {\n if ( // Cancel appear\n status === STATUS_APPEAR && !motionAppear || // Cancel enter\n status === STATUS_ENTER && !motionEnter || // Cancel leave\n status === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []); // Trigger `onVisibleChanged`\n\n useEffect(function () {\n if (asyncVisible !== undefined && status === STATUS_NONE) {\n onVisibleChanged === null || onVisibleChanged === void 0 ? void 0 : onVisibleChanged(asyncVisible);\n }\n }, [asyncVisible, status]); // ============================ Styles ============================\n\n var mergedStyle = style;\n\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n\n return [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\n\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n\n var _super = _createSuper(DomWrapper);\n\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DomWrapper;\n}(React.Component);\n\nexport default DomWrapper;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, supportRef } from \"rc-util/es/ref\";\nimport classNames from 'classnames';\nimport { getTransitionName, supportTransition } from './util/motion';\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from './interface';\nimport useStatus from './hooks/useStatus';\nimport DomWrapper from './DomWrapper';\nimport { isActive } from './hooks/useStepQueue';\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\n\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n\n function isSupportTransition(props) {\n return !!(props.motionName && transitionSupport);\n }\n\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var supportMotion = isSupportTransition(props); // Ref to the react node, it may be a HTMLElement\n\n var nodeRef = useRef(); // Ref to the dom wrapper in case ref can not pass to HTMLElement\n\n var wrapperNodeRef = useRef();\n\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3]; // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n\n\n var renderedRef = React.useRef(mergedVisible);\n\n if (mergedVisible) {\n renderedRef.current = true;\n } // ====================== Refs ======================\n\n\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]); // ===================== Render =====================\n\n var motionChildren;\n\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE || !isSupportTransition(props)) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n var _classNames;\n\n // In motion\n var statusSuffix;\n\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), (_classNames = {}, _defineProperty(_classNames, getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix)), statusSuffix), _defineProperty(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n style: statusStyle\n }), setNodeRef);\n } // Auto inject ref if child node not have `ref` props\n\n\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var _motionChildren = motionChildren,\n originNodeRef = _motionChildren.ref;\n\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","export function getMotion(_ref) {\n var prefixCls = _ref.prefixCls,\n motion = _ref.motion,\n animation = _ref.animation,\n transitionName = _ref.transitionName;\n\n if (motion) {\n return motion;\n }\n\n if (animation) {\n return {\n motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n };\n }\n\n if (transitionName) {\n return {\n motionName: transitionName\n };\n }\n\n return null;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { getMotion } from '../utils/legacyUtil';\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n mask = props.mask,\n maskMotion = props.maskMotion,\n maskAnimation = props.maskAnimation,\n maskTransitionName = props.maskTransitionName;\n\n if (!mask) {\n return null;\n }\n\n var motion = {};\n\n if (maskMotion || maskTransitionName || maskAnimation) {\n motion = _objectSpread({\n motionAppear: true\n }, getMotion({\n motion: maskMotion,\n prefixCls: prefixCls,\n transitionName: maskTransitionName,\n animation: maskAnimation\n }));\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motion, {\n visible: visible,\n removeOnLeave: true\n }), function (_ref) {\n var className = _ref.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n zIndex: zIndex\n },\n className: classNames(\"\".concat(prefixCls, \"-mask\"), className)\n });\n });\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nimport useMemo from './hooks/useMemo';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n var refList = refs.filter(function (ref) {\n return ref;\n });\n\n if (refList.length <= 1) {\n return refList[0];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","export default (function (element) {\n if (!element) {\n return false;\n }\n\n if (element.offsetParent) {\n return true;\n }\n\n if (element.getBBox) {\n var box = element.getBBox();\n\n if (box.width || box.height) {\n return true;\n }\n }\n\n if (element.getBoundingClientRect) {\n var _box = element.getBoundingClientRect();\n\n if (_box.width || _box.height) {\n return true;\n }\n }\n\n return false;\n});","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar vendorPrefix;\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0)\n };\n }\n\n return {\n x: 0,\n y: 0\n };\n}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\n\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n }\n } else {\n setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX; // https://stackoverflow.com/a/3485654/3040605\n\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n\n return undefined;\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n\n box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = Math.floor(box.left);\n y = Math.floor(box.top); // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n // must use == for ie8\n\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n\n if (node.nodeType === 9) {\n return node;\n }\n\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX; // Revert the changed values\n\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n} // 设置 elem 相对 elem.ownerDocument 的坐标\n\n\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n } // force relayout\n\n\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n\n css(elem, originalStyle); // force relayout\n\n forceRelayout(elem);\n\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n\n var ret = {};\n\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n\n var _off = offset[_key] - originalOffset[_key];\n\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n\n css(elem, ret);\n}\n\nfunction setTransform$1(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = {\n x: originalXY.x,\n y: originalXY.y\n };\n\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && getTransformName() in document.body.style) {\n setTransform$1(elem, offset);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name; // Remember the old values, and insert the new ones\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem); // Revert the old values\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n\n return value;\n}\n\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\n\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n\n return parent;\n }\n};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n // backcompat 取 body\n\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\n\nfunction getWH(elem, name, ex) {\n var extra = ex;\n\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? Math.floor(elem.getBoundingClientRect().width) : Math.floor(elem.getBoundingClientRect().height);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n cssBoxValue = getComputedStyleX(elem, name);\n\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n } // Normalize '', auto, and prepare for extra\n\n\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val;\n var elem = args[0]; // in case elem is window\n // elem.offsetWidth === undefined\n\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n\n if (val !== undefined) {\n if (elem) {\n var isBorderBox = isBorderBoxFn(elem);\n\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n\n return css(elem, name, val);\n }\n\n return undefined;\n }\n\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i;\n var ret = {};\n\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n\n var overflow = obj.overflow;\n\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n\n return ret;\n },\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nvar getParent = utils.getParent;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n } // ie 这个也不是完全可行\n\n /*\n <div style=\"width: 50px;height: 100px;overflow: hidden\">\n <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n 元素 6 高 100px 宽 50px<br/>\n </div>\n </div>\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent;\n var positionStyle = utils.css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n }\n\n for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n positionStyle = utils.css(parent, 'position');\n\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n\n return null;\n}\n\nvar getParent$1 = utils.getParent;\nfunction isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n\n for (parent = getParent$1(element); // 修复元素位于 document.documentElement 下导致崩溃问题\n parent && parent !== body && parent !== doc; parent = getParent$1(parent)) {\n var positionStyle = utils.css(parent, 'position');\n\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * 获得元素的显示部分的区域\n */\n\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = getOffsetParent(element);\n var doc = utils.getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement; // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) && // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n var pos = utils.offset(el); // add border\n\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right, // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n\n el = getOffsetParent(el);\n } // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n\n\n var originalPosition = null;\n\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight; // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n\n var bodyStyle = window.getComputedStyle(body);\n\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n } // Reset element position after calculate the visible area\n\n\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if (alwaysByViewport || isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n } // Left edge inside and right edge outside viewport, try to resize it.\n\n\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n } // Right edge outside viewport, try to move it.\n\n\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n } // Top edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n } // Top edge inside and bottom edge outside viewport, try to resize it.\n\n\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n } // Bottom edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n var offset;\n var w;\n var h;\n\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n var win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win)\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])\n };\n}\n\n/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n var ret = [];\n utils.each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n var n;\n\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\n\n\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n var alwaysByViewport = !!(overflow && overflow.alwaysByViewport); // 当前节点可以被放置的显示区域\n\n var visibleRect = getVisibleRectForElement(source, alwaysByViewport); // 当前节点所占的区域, left/top/width/height\n\n var elRegion = getRegion(source); // 将 offset 转换成数值,支持百分比\n\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion); // 当前节点将要被放置的位置\n\n var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); // 当前节点将要所处的区域\n\n var newElRegion = utils.merge(elRegion, elFuturePos); // 如果可视区域不能完全放置当前节点时允许调整\n\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n }); // 偏移量也反下\n\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n }); // 偏移量也反下\n\n\n var _newOffset = flipOffset(offset, 1);\n\n var _newTargetOffset = flipOffset(targetOffset, 1);\n\n var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n } // 如果失败,重新计算当前节点将要被放置的位置\n\n\n if (fail) {\n elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n utils.mix(newElRegion, elFuturePos);\n }\n\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect); // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n\n if (isStillFailX || isStillFailY) {\n var _newPoints2 = points; // 重置对应部分的翻转逻辑\n\n if (isStillFailX) {\n _newPoints2 = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n }\n\n if (isStillFailY) {\n _newPoints2 = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n }\n\n points = _newPoints2;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n } // 2. 只有指定了可以调整当前方向才调整\n\n\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY; // 确实要调整,甚至可能会调整高度宽度\n\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n } // need judge to in case set fixed with in css on height auto element\n\n\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n } // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如 <div 'relative'><el absolute></div>\n\n\n utils.offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n var visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n var targetRegion = getRegion(target);\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target, align.overflow && align.overflow.alwaysByViewport);\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX;\n var pageY;\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight; // Provide default target point\n\n var points = [align.points[0], 'cc'];\n return doAlign(el, tgtRegion, _objectSpread2(_objectSpread2({}, align), {}, {\n points: points\n }), pointInView);\n}\n\nexport default alignElement;\nexport { alignElement, alignPoint };\n//# sourceMappingURL=index.js.map\n","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n\n return {\n remove: function remove() {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback, option);\n }\n }\n };\n}","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n return root.contains(n);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ResizeObserver from 'resize-observer-polyfill';\nimport contains from \"rc-util/es/Dom/contains\";\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement) && typeof activeElement.focus === 'function') {\n activeElement.focus();\n }\n}\nexport function monitorResize(element, callback) {\n var prevWidth = null;\n var prevHeight = null;\n\n function onResize(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n target = _ref2[0].target;\n\n if (!document.documentElement.contains(target)) return;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (prevWidth !== fixedWidth || prevHeight !== fixedHeight) {\n // https://webkit.org/blog/9997/resizeobserver-in-webkit/\n Promise.resolve().then(function () {\n callback({\n width: fixedWidth,\n height: fixedHeight\n });\n });\n }\n\n prevWidth = fixedWidth;\n prevHeight = fixedHeight;\n }\n\n var resizeObserver = new ResizeObserver(onResize);\n\n if (element) {\n resizeObserver.observe(element);\n }\n\n return function () {\n resizeObserver.disconnect();\n };\n}","import React from 'react';\nexport default (function (callback, buffer) {\n var calledRef = React.useRef(false);\n var timeoutRef = React.useRef(null);\n\n function cancelTrigger() {\n window.clearTimeout(timeoutRef.current);\n }\n\n function trigger(force) {\n cancelTrigger();\n\n if (!calledRef.current || force === true) {\n if (callback() === false) {\n // Not delay since callback cancelled self\n return;\n }\n\n calledRef.current = true;\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n }, buffer);\n } else {\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n trigger();\n }, buffer);\n }\n }\n\n return [trigger, function () {\n calledRef.current = false;\n cancelTrigger();\n }];\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/**\n * Removed props:\n * - childrenProps\n */\nimport React from 'react';\nimport { composeRef } from \"rc-util/es/ref\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport isEqual from 'lodash/isEqual';\nimport { isSamePoint, restoreFocus, monitorResize } from './util';\nimport useBuffer from './hooks/useBuffer';\n\nfunction getElement(func) {\n if (typeof func !== 'function') return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (_typeof(point) !== 'object' || !point) return null;\n return point;\n}\n\nvar Align = function Align(_ref, ref) {\n var children = _ref.children,\n disabled = _ref.disabled,\n target = _ref.target,\n align = _ref.align,\n onAlign = _ref.onAlign,\n monitorWindowResize = _ref.monitorWindowResize,\n _ref$monitorBufferTim = _ref.monitorBufferTime,\n monitorBufferTime = _ref$monitorBufferTim === void 0 ? 0 : _ref$monitorBufferTim;\n var cacheRef = React.useRef({});\n var nodeRef = React.useRef();\n var childNode = React.Children.only(children); // ===================== Align ======================\n // We save the props here to avoid closure makes props ood\n\n var forceAlignPropsRef = React.useRef({});\n forceAlignPropsRef.current.disabled = disabled;\n forceAlignPropsRef.current.target = target;\n forceAlignPropsRef.current.align = align;\n forceAlignPropsRef.current.onAlign = onAlign;\n\n var _useBuffer = useBuffer(function () {\n var _forceAlignPropsRef$c = forceAlignPropsRef.current,\n latestDisabled = _forceAlignPropsRef$c.disabled,\n latestTarget = _forceAlignPropsRef$c.target,\n latestAlign = _forceAlignPropsRef$c.align,\n latestOnAlign = _forceAlignPropsRef$c.onAlign;\n\n if (!latestDisabled && latestTarget) {\n var source = nodeRef.current;\n var result;\n var element = getElement(latestTarget);\n var point = getPoint(latestTarget);\n cacheRef.current.element = element;\n cacheRef.current.point = point;\n cacheRef.current.align = latestAlign; // IE lose focus after element realign\n // We should record activeElement and restore later\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n var _document = document,\n activeElement = _document.activeElement; // We only align when element is visible\n\n // We only align when element is visible\n if (element && isVisible(element)) {\n result = alignElement(source, element, latestAlign);\n } else if (point) {\n result = alignPoint(source, point, latestAlign);\n }\n\n restoreFocus(activeElement, source);\n\n if (latestOnAlign && result) {\n latestOnAlign(source, result);\n }\n\n return true;\n }\n\n return false;\n }, monitorBufferTime),\n _useBuffer2 = _slicedToArray(_useBuffer, 2),\n _forceAlign = _useBuffer2[0],\n cancelForceAlign = _useBuffer2[1]; // ===================== Effect =====================\n // Listen for target updated\n\n\n var resizeMonitor = React.useRef({\n cancel: function cancel() {}\n }); // Listen for source updated\n\n var sourceResizeMonitor = React.useRef({\n cancel: function cancel() {}\n });\n React.useEffect(function () {\n var element = getElement(target);\n var point = getPoint(target);\n\n if (nodeRef.current !== sourceResizeMonitor.current.element) {\n sourceResizeMonitor.current.cancel();\n sourceResizeMonitor.current.element = nodeRef.current;\n sourceResizeMonitor.current.cancel = monitorResize(nodeRef.current, _forceAlign);\n }\n\n if (cacheRef.current.element !== element || !isSamePoint(cacheRef.current.point, point) || !isEqual(cacheRef.current.align, align)) {\n _forceAlign(); // Add resize observer\n\n\n if (resizeMonitor.current.element !== element) {\n resizeMonitor.current.cancel();\n resizeMonitor.current.element = element;\n resizeMonitor.current.cancel = monitorResize(element, _forceAlign);\n }\n }\n }); // Listen for disabled change\n\n React.useEffect(function () {\n if (!disabled) {\n _forceAlign();\n } else {\n cancelForceAlign();\n }\n }, [disabled]); // Listen for window resize\n\n var winResizeRef = React.useRef(null);\n React.useEffect(function () {\n if (monitorWindowResize) {\n if (!winResizeRef.current) {\n winResizeRef.current = addEventListener(window, 'resize', _forceAlign);\n }\n } else if (winResizeRef.current) {\n winResizeRef.current.remove();\n winResizeRef.current = null;\n }\n }, [monitorWindowResize]); // Clear all if unmount\n\n React.useEffect(function () {\n return function () {\n resizeMonitor.current.cancel();\n sourceResizeMonitor.current.cancel();\n if (winResizeRef.current) winResizeRef.current.remove();\n cancelForceAlign();\n };\n }, []); // ====================== Ref =======================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {\n return _forceAlign(true);\n }\n };\n }); // ===================== Render =====================\n\n if ( /*#__PURE__*/React.isValidElement(childNode)) {\n childNode = /*#__PURE__*/React.cloneElement(childNode, {\n ref: composeRef(childNode.ref, nodeRef)\n });\n }\n\n return childNode;\n};\n\nvar RcAlign = /*#__PURE__*/React.forwardRef(Align);\nRcAlign.displayName = 'Align';\nexport default RcAlign;","import _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEffect, useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nimport useState from \"rc-util/es/hooks/useState\";\nvar StatusQueue = ['measure', 'alignPre', 'align', null, 'motion'];\nexport default (function (visible, doMeasure) {\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n status = _useState2[0],\n setInternalStatus = _useState2[1];\n\n var rafRef = useRef();\n\n function setStatus(nextStatus) {\n setInternalStatus(nextStatus, true);\n }\n\n function cancelRaf() {\n raf.cancel(rafRef.current);\n }\n\n function goNextStatus(callback) {\n cancelRaf();\n rafRef.current = raf(function () {\n // Only align should be manually trigger\n setStatus(function (prev) {\n switch (status) {\n case 'align':\n return 'motion';\n\n case 'motion':\n return 'stable';\n\n default:\n }\n\n return prev;\n });\n callback === null || callback === void 0 ? void 0 : callback();\n });\n } // Init status\n\n\n useEffect(function () {\n setStatus('measure');\n }, [visible]); // Go next status\n\n useEffect(function () {\n switch (status) {\n case 'measure':\n doMeasure();\n break;\n\n default:\n }\n\n if (status) {\n rafRef.current = raf( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n var index, nextStatus;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n index = StatusQueue.indexOf(status);\n nextStatus = StatusQueue[index + 1];\n\n if (nextStatus && index !== -1) {\n setStatus(nextStatus);\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n }\n }, [status]);\n useEffect(function () {\n return function () {\n cancelRaf();\n };\n }, []);\n return [status, goNextStatus];\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default (function (stretch) {\n var _React$useState = React.useState({\n width: 0,\n height: 0\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n targetSize = _React$useState2[0],\n setTargetSize = _React$useState2[1];\n\n function measureStretch(element) {\n setTargetSize({\n width: element.offsetWidth,\n height: element.offsetHeight\n });\n } // Merge stretch style\n\n\n var style = React.useMemo(function () {\n var sizeStyle = {};\n\n if (stretch) {\n var width = targetSize.width,\n height = targetSize.height; // Stretch with target\n\n if (stretch.indexOf('height') !== -1 && height) {\n sizeStyle.height = height;\n } else if (stretch.indexOf('minHeight') !== -1 && height) {\n sizeStyle.minHeight = height;\n }\n\n if (stretch.indexOf('width') !== -1 && width) {\n sizeStyle.width = width;\n } else if (stretch.indexOf('minWidth') !== -1 && width) {\n sizeStyle.minWidth = width;\n }\n }\n\n return sizeStyle;\n }, [stretch, targetSize]);\n return [style, measureStretch];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport Align from 'rc-align';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nimport useVisibleStatus from './useVisibleStatus';\nimport { getMotion } from '../utils/legacyUtil';\nimport useStretchStyle from './useStretchStyle';\nvar PopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var visible = props.visible,\n prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n children = props.children,\n zIndex = props.zIndex,\n stretch = props.stretch,\n destroyPopupOnHide = props.destroyPopupOnHide,\n forceRender = props.forceRender,\n align = props.align,\n point = props.point,\n getRootDomNode = props.getRootDomNode,\n getClassNameFromAlign = props.getClassNameFromAlign,\n onAlign = props.onAlign,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onMouseDown = props.onMouseDown,\n onTouchStart = props.onTouchStart,\n onClick = props.onClick;\n var alignRef = useRef();\n var elementRef = useRef();\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n alignedClassName = _useState2[0],\n setAlignedClassName = _useState2[1]; // ======================= Measure ========================\n\n\n var _useStretchStyle = useStretchStyle(stretch),\n _useStretchStyle2 = _slicedToArray(_useStretchStyle, 2),\n stretchStyle = _useStretchStyle2[0],\n measureStretchStyle = _useStretchStyle2[1];\n\n function doMeasure() {\n if (stretch) {\n measureStretchStyle(getRootDomNode());\n }\n } // ======================== Status ========================\n\n\n var _useVisibleStatus = useVisibleStatus(visible, doMeasure),\n _useVisibleStatus2 = _slicedToArray(_useVisibleStatus, 2),\n status = _useVisibleStatus2[0],\n goNextStatus = _useVisibleStatus2[1]; // ======================== Aligns ========================\n\n /**\n * `alignedClassName` may modify `source` size,\n * which means one time align may not move to the correct position at once.\n *\n * We will reset `alignTimes` for each status switch to `alignPre`\n * and let `rc-align` to align for multiple times to ensure get final stable place.\n * Currently we mark `alignTimes < 2` repeat align, it will increase if user report for align issue.\n */\n\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n alignTimes = _useState4[0],\n setAlignTimes = _useState4[1];\n\n var prepareResolveRef = useRef();\n useLayoutEffect(function () {\n if (status === 'alignPre') {\n setAlignTimes(0);\n }\n }, [status]); // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n\n function getAlignTarget() {\n if (point) {\n return point;\n }\n\n return getRootDomNode;\n }\n\n function forceAlign() {\n var _alignRef$current;\n\n (_alignRef$current = alignRef.current) === null || _alignRef$current === void 0 ? void 0 : _alignRef$current.forceAlign();\n }\n\n function onInternalAlign(popupDomNode, matchAlign) {\n var nextAlignedClassName = getClassNameFromAlign(matchAlign);\n\n if (alignedClassName !== nextAlignedClassName) {\n setAlignedClassName(nextAlignedClassName);\n } // We will retry multi times to make sure that the element has been align in the right position.\n\n\n setAlignTimes(function (val) {\n return val + 1;\n });\n\n if (status === 'align') {\n onAlign === null || onAlign === void 0 ? void 0 : onAlign(popupDomNode, matchAlign);\n }\n } // Delay to go to next status\n\n\n useLayoutEffect(function () {\n if (status === 'align') {\n // Repeat until not more align needed\n if (alignTimes < 2) {\n forceAlign();\n } else {\n goNextStatus(function () {\n var _prepareResolveRef$cu;\n\n (_prepareResolveRef$cu = prepareResolveRef.current) === null || _prepareResolveRef$cu === void 0 ? void 0 : _prepareResolveRef$cu.call(prepareResolveRef);\n });\n }\n }\n }, [alignTimes]); // ======================== Motion ========================\n\n var motion = _objectSpread({}, getMotion(props));\n\n ['onAppearEnd', 'onEnterEnd', 'onLeaveEnd'].forEach(function (eventName) {\n var originHandler = motion[eventName];\n\n motion[eventName] = function (element, event) {\n goNextStatus();\n return originHandler === null || originHandler === void 0 ? void 0 : originHandler(element, event);\n };\n });\n\n function onShowPrepare() {\n return new Promise(function (resolve) {\n prepareResolveRef.current = resolve;\n });\n } // Go to stable directly when motion not provided\n\n\n React.useEffect(function () {\n if (!motion.motionName && status === 'motion') {\n goNextStatus();\n }\n }, [motion.motionName, status]); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: forceAlign,\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread(_objectSpread({}, stretchStyle), {}, {\n zIndex: zIndex,\n opacity: status === 'motion' || status === 'stable' || !visible ? undefined : 0,\n // Cannot interact with disappearing elements\n // https://github.com/ant-design/ant-design/issues/35051#issuecomment-1101340714\n pointerEvents: !visible && status !== 'stable' ? 'none' : undefined\n }, style); // Align status\n\n\n var alignDisabled = true;\n\n if ((align === null || align === void 0 ? void 0 : align.points) && (status === 'align' || status === 'stable')) {\n alignDisabled = false;\n }\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }, motion, {\n onAppearPrepare: onShowPrepare,\n onEnterPrepare: onShowPrepare,\n removeOnLeave: destroyPopupOnHide,\n forceRender: forceRender\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, className, alignedClassName, motionClassName);\n return /*#__PURE__*/React.createElement(Align, {\n target: getAlignTarget(),\n key: \"popup\",\n ref: alignRef,\n monitorWindowResize: true,\n disabled: alignDisabled,\n align: align,\n onAlign: onInternalAlign\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDownCapture: onMouseDown,\n onTouchStartCapture: onTouchStart,\n onClick: onClick,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode));\n });\n});\nPopupInner.displayName = 'PopupInner';\nexport default PopupInner;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nvar MobilePopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n children = props.children,\n _props$mobile = props.mobile;\n _props$mobile = _props$mobile === void 0 ? {} : _props$mobile;\n var popupClassName = _props$mobile.popupClassName,\n popupStyle = _props$mobile.popupStyle,\n _props$mobile$popupMo = _props$mobile.popupMotion,\n popupMotion = _props$mobile$popupMo === void 0 ? {} : _props$mobile$popupMo,\n popupRender = _props$mobile.popupRender,\n onClick = props.onClick;\n var elementRef = React.useRef(); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {},\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread({\n zIndex: zIndex\n }, popupStyle);\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n } // Mobile support additional render\n\n\n if (popupRender) {\n childNode = popupRender(childNode);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n removeOnLeave: true\n }, popupMotion), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, popupClassName, motionClassName);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n onClick: onClick,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode);\n });\n});\nMobilePopupInner.displayName = 'MobilePopupInner';\nexport default MobilePopupInner;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"visible\", \"mobile\"];\nimport * as React from 'react';\nimport { useState, useEffect } from 'react';\nimport isMobile from \"rc-util/es/isMobile\";\nimport Mask from './Mask';\nimport PopupInner from './PopupInner';\nimport MobilePopupInner from './MobilePopupInner';\nvar Popup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var visible = _ref.visible,\n mobile = _ref.mobile,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _useState = useState(visible),\n _useState2 = _slicedToArray(_useState, 2),\n innerVisible = _useState2[0],\n serInnerVisible = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n inMobile = _useState4[0],\n setInMobile = _useState4[1];\n\n var cloneProps = _objectSpread(_objectSpread({}, props), {}, {\n visible: innerVisible\n }); // We check mobile in visible changed here.\n // And this also delay set `innerVisible` to avoid popup component render flash\n\n\n useEffect(function () {\n serInnerVisible(visible);\n\n if (visible && mobile) {\n setInMobile(isMobile());\n }\n }, [visible, mobile]);\n var popupNode = inMobile ? /*#__PURE__*/React.createElement(MobilePopupInner, _extends({}, cloneProps, {\n mobile: mobile,\n ref: ref\n })) : /*#__PURE__*/React.createElement(PopupInner, _extends({}, cloneProps, {\n ref: ref\n })); // We can use fragment directly but this may failed some selector usage. Keep as origin logic\n\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Mask, cloneProps), popupNode);\n});\nPopup.displayName = 'Popup';\nexport default Popup;","import * as React from 'react';\nvar TriggerContext = /*#__PURE__*/React.createContext(null);\nexport default TriggerContext;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport raf from \"rc-util/es/raf\";\nimport contains from \"rc-util/es/Dom/contains\";\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport Portal from \"rc-util/es/Portal\";\nimport classNames from 'classnames';\nimport { getAlignFromPlacement, getAlignPopupClassName } from './utils/alignUtil';\nimport Popup from './Popup';\nimport TriggerContext from './context';\n\nfunction noop() {}\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument(element) {\n if (element) {\n return element.ownerDocument;\n }\n\n return window.document;\n}\n\nvar ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n/**\n * Internal usage. Do not use in your code since this will be removed.\n */\n\nexport function generateTrigger(PortalComponent) {\n var Trigger = /*#__PURE__*/function (_React$Component) {\n _inherits(Trigger, _React$Component);\n\n var _super = _createSuper(Trigger);\n\n // ensure `getContainer` will be called only once\n function Trigger(props) {\n var _this;\n\n _classCallCheck(this, Trigger);\n\n _this = _super.call(this, props);\n _this.popupRef = /*#__PURE__*/React.createRef();\n _this.triggerRef = /*#__PURE__*/React.createRef();\n _this.portalContainer = void 0;\n _this.attachId = void 0;\n _this.clickOutsideHandler = void 0;\n _this.touchOutsideHandler = void 0;\n _this.contextMenuOutsideHandler1 = void 0;\n _this.contextMenuOutsideHandler2 = void 0;\n _this.mouseDownTimeout = void 0;\n _this.focusTime = void 0;\n _this.preClickTime = void 0;\n _this.preTouchTime = void 0;\n _this.delayTimer = void 0;\n _this.hasPopupMouseDown = void 0;\n\n _this.onMouseEnter = function (e) {\n var mouseEnterDelay = _this.props.mouseEnterDelay;\n\n _this.fireEvents('onMouseEnter', e);\n\n _this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n };\n\n _this.onMouseMove = function (e) {\n _this.fireEvents('onMouseMove', e);\n\n _this.setPoint(e);\n };\n\n _this.onMouseLeave = function (e) {\n _this.fireEvents('onMouseLeave', e);\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n };\n\n _this.onPopupMouseEnter = function () {\n _this.clearDelayTimer();\n };\n\n _this.onPopupMouseLeave = function (e) {\n var _this$popupRef$curren;\n\n // https://github.com/react-component/trigger/pull/13\n // react bug?\n if (e.relatedTarget && !e.relatedTarget.setTimeout && contains((_this$popupRef$curren = _this.popupRef.current) === null || _this$popupRef$curren === void 0 ? void 0 : _this$popupRef$curren.getElement(), e.relatedTarget)) {\n return;\n }\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n };\n\n _this.onFocus = function (e) {\n _this.fireEvents('onFocus', e); // incase focusin and focusout\n\n\n _this.clearDelayTimer();\n\n if (_this.isFocusToShow()) {\n _this.focusTime = Date.now();\n\n _this.delaySetPopupVisible(true, _this.props.focusDelay);\n }\n };\n\n _this.onMouseDown = function (e) {\n _this.fireEvents('onMouseDown', e);\n\n _this.preClickTime = Date.now();\n };\n\n _this.onTouchStart = function (e) {\n _this.fireEvents('onTouchStart', e);\n\n _this.preTouchTime = Date.now();\n };\n\n _this.onBlur = function (e) {\n _this.fireEvents('onBlur', e);\n\n _this.clearDelayTimer();\n\n if (_this.isBlurToHide()) {\n _this.delaySetPopupVisible(false, _this.props.blurDelay);\n }\n };\n\n _this.onContextMenu = function (e) {\n e.preventDefault();\n\n _this.fireEvents('onContextMenu', e);\n\n _this.setPopupVisible(true, e);\n };\n\n _this.onContextMenuClose = function () {\n if (_this.isContextMenuToShow()) {\n _this.close();\n }\n };\n\n _this.onClick = function (event) {\n _this.fireEvents('onClick', event); // focus will trigger click\n\n\n if (_this.focusTime) {\n var preTime;\n\n if (_this.preClickTime && _this.preTouchTime) {\n preTime = Math.min(_this.preClickTime, _this.preTouchTime);\n } else if (_this.preClickTime) {\n preTime = _this.preClickTime;\n } else if (_this.preTouchTime) {\n preTime = _this.preTouchTime;\n }\n\n if (Math.abs(preTime - _this.focusTime) < 20) {\n return;\n }\n\n _this.focusTime = 0;\n }\n\n _this.preClickTime = 0;\n _this.preTouchTime = 0; // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n\n if (_this.isClickToShow() && (_this.isClickToHide() || _this.isBlurToHide()) && event && event.preventDefault) {\n event.preventDefault();\n }\n\n var nextVisible = !_this.state.popupVisible;\n\n if (_this.isClickToHide() && !nextVisible || nextVisible && _this.isClickToShow()) {\n _this.setPopupVisible(!_this.state.popupVisible, event);\n }\n };\n\n _this.onPopupMouseDown = function () {\n _this.hasPopupMouseDown = true;\n clearTimeout(_this.mouseDownTimeout);\n _this.mouseDownTimeout = window.setTimeout(function () {\n _this.hasPopupMouseDown = false;\n }, 0);\n\n if (_this.context) {\n var _this$context;\n\n (_this$context = _this.context).onPopupMouseDown.apply(_this$context, arguments);\n }\n };\n\n _this.onDocumentClick = function (event) {\n if (_this.props.mask && !_this.props.maskClosable) {\n return;\n }\n\n var target = event.target;\n\n var root = _this.getRootDomNode();\n\n var popupNode = _this.getPopupDomNode();\n\n if ( // mousedown on the target should also close popup when action is contextMenu.\n // https://github.com/ant-design/ant-design/issues/29853\n (!contains(root, target) || _this.isContextMenuOnly()) && !contains(popupNode, target) && !_this.hasPopupMouseDown) {\n _this.close();\n }\n };\n\n _this.getRootDomNode = function () {\n var getTriggerDOMNode = _this.props.getTriggerDOMNode;\n\n if (getTriggerDOMNode) {\n return getTriggerDOMNode(_this.triggerRef.current);\n }\n\n try {\n var domNode = findDOMNode(_this.triggerRef.current);\n\n if (domNode) {\n return domNode;\n }\n } catch (err) {// Do nothing\n }\n\n return ReactDOM.findDOMNode(_assertThisInitialized(_this));\n };\n\n _this.getPopupClassNameFromAlign = function (align) {\n var className = [];\n var _this$props = _this.props,\n popupPlacement = _this$props.popupPlacement,\n builtinPlacements = _this$props.builtinPlacements,\n prefixCls = _this$props.prefixCls,\n alignPoint = _this$props.alignPoint,\n getPopupClassNameFromAlign = _this$props.getPopupClassNameFromAlign;\n\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n\n return className.join(' ');\n };\n\n _this.getComponent = function () {\n var _this$props2 = _this.props,\n prefixCls = _this$props2.prefixCls,\n destroyPopupOnHide = _this$props2.destroyPopupOnHide,\n popupClassName = _this$props2.popupClassName,\n onPopupAlign = _this$props2.onPopupAlign,\n popupMotion = _this$props2.popupMotion,\n popupAnimation = _this$props2.popupAnimation,\n popupTransitionName = _this$props2.popupTransitionName,\n popupStyle = _this$props2.popupStyle,\n mask = _this$props2.mask,\n maskAnimation = _this$props2.maskAnimation,\n maskTransitionName = _this$props2.maskTransitionName,\n maskMotion = _this$props2.maskMotion,\n zIndex = _this$props2.zIndex,\n popup = _this$props2.popup,\n stretch = _this$props2.stretch,\n alignPoint = _this$props2.alignPoint,\n mobile = _this$props2.mobile,\n forceRender = _this$props2.forceRender,\n onPopupClick = _this$props2.onPopupClick;\n var _this$state = _this.state,\n popupVisible = _this$state.popupVisible,\n point = _this$state.point;\n\n var align = _this.getPopupAlign();\n\n var mouseProps = {};\n\n if (_this.isMouseEnterToShow()) {\n mouseProps.onMouseEnter = _this.onPopupMouseEnter;\n }\n\n if (_this.isMouseLeaveToHide()) {\n mouseProps.onMouseLeave = _this.onPopupMouseLeave;\n }\n\n mouseProps.onMouseDown = _this.onPopupMouseDown;\n mouseProps.onTouchStart = _this.onPopupMouseDown;\n return /*#__PURE__*/React.createElement(Popup, _extends({\n prefixCls: prefixCls,\n destroyPopupOnHide: destroyPopupOnHide,\n visible: popupVisible,\n point: alignPoint && point,\n className: popupClassName,\n align: align,\n onAlign: onPopupAlign,\n animation: popupAnimation,\n getClassNameFromAlign: _this.getPopupClassNameFromAlign\n }, mouseProps, {\n stretch: stretch,\n getRootDomNode: _this.getRootDomNode,\n style: popupStyle,\n mask: mask,\n zIndex: zIndex,\n transitionName: popupTransitionName,\n maskAnimation: maskAnimation,\n maskTransitionName: maskTransitionName,\n maskMotion: maskMotion,\n ref: _this.popupRef,\n motion: popupMotion,\n mobile: mobile,\n forceRender: forceRender,\n onClick: onPopupClick\n }), typeof popup === 'function' ? popup() : popup);\n };\n\n _this.attachParent = function (popupContainer) {\n raf.cancel(_this.attachId);\n var _this$props3 = _this.props,\n getPopupContainer = _this$props3.getPopupContainer,\n getDocument = _this$props3.getDocument;\n\n var domNode = _this.getRootDomNode();\n\n var mountNode;\n\n if (!getPopupContainer) {\n mountNode = getDocument(_this.getRootDomNode()).body;\n } else if (domNode || getPopupContainer.length === 0) {\n // Compatible for legacy getPopupContainer with domNode argument.\n // If no need `domNode` argument, will call directly.\n // https://codesandbox.io/s/eloquent-mclean-ss93m?file=/src/App.js\n mountNode = getPopupContainer(domNode);\n }\n\n if (mountNode) {\n mountNode.appendChild(popupContainer);\n } else {\n // Retry after frame render in case parent not ready\n _this.attachId = raf(function () {\n _this.attachParent(popupContainer);\n });\n }\n };\n\n _this.getContainer = function () {\n if (!_this.portalContainer) {\n // In React.StrictMode component will call render multiple time in first mount.\n // When you want to refactor with FC, useRef will also init multiple time and\n // point to different useRef instance which will create multiple element\n // (This multiple render will not trigger effect so you can not clean up this\n // in effect). But this is safe with class component since it always point to same class instance.\n var getDocument = _this.props.getDocument;\n var popupContainer = getDocument(_this.getRootDomNode()).createElement('div'); // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n _this.portalContainer = popupContainer;\n }\n\n _this.attachParent(_this.portalContainer);\n\n return _this.portalContainer;\n };\n\n _this.setPoint = function (point) {\n var alignPoint = _this.props.alignPoint;\n if (!alignPoint || !point) return;\n\n _this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY\n }\n });\n };\n\n _this.handlePortalUpdate = function () {\n if (_this.state.prevPopupVisible !== _this.state.popupVisible) {\n _this.props.afterPopupVisibleChange(_this.state.popupVisible);\n }\n };\n\n _this.triggerContextValue = {\n onPopupMouseDown: _this.onPopupMouseDown\n };\n\n var _popupVisible;\n\n if ('popupVisible' in props) {\n _popupVisible = !!props.popupVisible;\n } else {\n _popupVisible = !!props.defaultPopupVisible;\n }\n\n _this.state = {\n prevPopupVisible: _popupVisible,\n popupVisible: _popupVisible\n };\n ALL_HANDLERS.forEach(function (h) {\n _this[\"fire\".concat(h)] = function (e) {\n _this.fireEvents(h, e);\n };\n });\n return _this;\n }\n\n _createClass(Trigger, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.componentDidUpdate();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var props = this.props;\n var state = this.state; // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n\n if (state.popupVisible) {\n var currentDocument;\n\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n currentDocument = props.getDocument(this.getRootDomNode());\n this.clickOutsideHandler = addEventListener(currentDocument, 'mousedown', this.onDocumentClick);\n } // always hide on mobile\n\n\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.touchOutsideHandler = addEventListener(currentDocument, 'touchstart', this.onDocumentClick);\n } // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n\n\n if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.contextMenuOutsideHandler1 = addEventListener(currentDocument, 'scroll', this.onContextMenuClose);\n } // close popup when trigger type contains 'onContextMenu' and window is blur.\n\n\n if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n this.contextMenuOutsideHandler2 = addEventListener(window, 'blur', this.onContextMenuClose);\n }\n\n return;\n }\n\n this.clearOutsideHandler();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n raf.cancel(this.attachId);\n }\n }, {\n key: \"getPopupDomNode\",\n value: function getPopupDomNode() {\n var _this$popupRef$curren2;\n\n // for test\n return ((_this$popupRef$curren2 = this.popupRef.current) === null || _this$popupRef$curren2 === void 0 ? void 0 : _this$popupRef$curren2.getElement()) || null;\n }\n }, {\n key: \"getPopupAlign\",\n value: function getPopupAlign() {\n var props = this.props;\n var popupPlacement = props.popupPlacement,\n popupAlign = props.popupAlign,\n builtinPlacements = props.builtinPlacements;\n\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n\n return popupAlign;\n }\n }, {\n key: \"setPopupVisible\",\n value:\n /**\n * @param popupVisible Show or not the popup element\n * @param event SyntheticEvent, used for `pointAlign`\n */\n function setPopupVisible(popupVisible, event) {\n var alignPoint = this.props.alignPoint;\n var prevPopupVisible = this.state.popupVisible;\n this.clearDelayTimer();\n\n if (prevPopupVisible !== popupVisible) {\n if (!('popupVisible' in this.props)) {\n this.setState({\n popupVisible: popupVisible,\n prevPopupVisible: prevPopupVisible\n });\n }\n\n this.props.onPopupVisibleChange(popupVisible);\n } // Always record the point position since mouseEnterDelay will delay the show\n\n\n if (alignPoint && event && popupVisible) {\n this.setPoint(event);\n }\n }\n }, {\n key: \"delaySetPopupVisible\",\n value: function delaySetPopupVisible(visible, delayS, event) {\n var _this2 = this;\n\n var delay = delayS * 1000;\n this.clearDelayTimer();\n\n if (delay) {\n var point = event ? {\n pageX: event.pageX,\n pageY: event.pageY\n } : null;\n this.delayTimer = window.setTimeout(function () {\n _this2.setPopupVisible(visible, point);\n\n _this2.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n }\n }, {\n key: \"clearDelayTimer\",\n value: function clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n }, {\n key: \"clearOutsideHandler\",\n value: function clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextMenuOutsideHandler1) {\n this.contextMenuOutsideHandler1.remove();\n this.contextMenuOutsideHandler1 = null;\n }\n\n if (this.contextMenuOutsideHandler2) {\n this.contextMenuOutsideHandler2.remove();\n this.contextMenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n }\n }, {\n key: \"createTwoChains\",\n value: function createTwoChains(event) {\n var childPros = this.props.children.props;\n var props = this.props;\n\n if (childPros[event] && props[event]) {\n return this[\"fire\".concat(event)];\n }\n\n return childPros[event] || props[event];\n }\n }, {\n key: \"isClickToShow\",\n value: function isClickToShow() {\n var _this$props4 = this.props,\n action = _this$props4.action,\n showAction = _this$props4.showAction;\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isContextMenuOnly\",\n value: function isContextMenuOnly() {\n var action = this.props.action;\n return action === 'contextMenu' || action.length === 1 && action[0] === 'contextMenu';\n }\n }, {\n key: \"isContextMenuToShow\",\n value: function isContextMenuToShow() {\n var _this$props5 = this.props,\n action = _this$props5.action,\n showAction = _this$props5.showAction;\n return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n }\n }, {\n key: \"isClickToHide\",\n value: function isClickToHide() {\n var _this$props6 = this.props,\n action = _this$props6.action,\n hideAction = _this$props6.hideAction;\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isMouseEnterToShow\",\n value: function isMouseEnterToShow() {\n var _this$props7 = this.props,\n action = _this$props7.action,\n showAction = _this$props7.showAction;\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n }\n }, {\n key: \"isMouseLeaveToHide\",\n value: function isMouseLeaveToHide() {\n var _this$props8 = this.props,\n action = _this$props8.action,\n hideAction = _this$props8.hideAction;\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n }\n }, {\n key: \"isFocusToShow\",\n value: function isFocusToShow() {\n var _this$props9 = this.props,\n action = _this$props9.action,\n showAction = _this$props9.showAction;\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n }\n }, {\n key: \"isBlurToHide\",\n value: function isBlurToHide() {\n var _this$props10 = this.props,\n action = _this$props10.action,\n hideAction = _this$props10.hideAction;\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n }\n }, {\n key: \"forcePopupAlign\",\n value: function forcePopupAlign() {\n if (this.state.popupVisible) {\n var _this$popupRef$curren3;\n\n (_this$popupRef$curren3 = this.popupRef.current) === null || _this$popupRef$curren3 === void 0 ? void 0 : _this$popupRef$curren3.forceAlign();\n }\n }\n }, {\n key: \"fireEvents\",\n value: function fireEvents(type, e) {\n var childCallback = this.props.children.props[type];\n\n if (childCallback) {\n childCallback(e);\n }\n\n var callback = this.props[type];\n\n if (callback) {\n callback(e);\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n this.setPopupVisible(false);\n }\n }, {\n key: \"render\",\n value: function render() {\n var popupVisible = this.state.popupVisible;\n var _this$props11 = this.props,\n children = _this$props11.children,\n forceRender = _this$props11.forceRender,\n alignPoint = _this$props11.alignPoint,\n className = _this$props11.className,\n autoDestroy = _this$props11.autoDestroy;\n var child = React.Children.only(children);\n var newChildProps = {\n key: 'trigger'\n }; // ============================== Visible Handlers ==============================\n // >>> ContextMenu\n\n if (this.isContextMenuToShow()) {\n newChildProps.onContextMenu = this.onContextMenu;\n } else {\n newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\n } // >>> Click\n\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.onClick = this.onClick;\n newChildProps.onMouseDown = this.onMouseDown;\n newChildProps.onTouchStart = this.onTouchStart;\n } else {\n newChildProps.onClick = this.createTwoChains('onClick');\n newChildProps.onMouseDown = this.createTwoChains('onMouseDown');\n newChildProps.onTouchStart = this.createTwoChains('onTouchStart');\n } // >>> Hover(enter)\n\n\n if (this.isMouseEnterToShow()) {\n newChildProps.onMouseEnter = this.onMouseEnter; // Point align\n\n if (alignPoint) {\n newChildProps.onMouseMove = this.onMouseMove;\n }\n } else {\n newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n } // >>> Hover(leave)\n\n\n if (this.isMouseLeaveToHide()) {\n newChildProps.onMouseLeave = this.onMouseLeave;\n } else {\n newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\n } // >>> Focus\n\n\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.onFocus = this.onFocus;\n newChildProps.onBlur = this.onBlur;\n } else {\n newChildProps.onFocus = this.createTwoChains('onFocus');\n newChildProps.onBlur = this.createTwoChains('onBlur');\n } // =================================== Render ===================================\n\n\n var childrenClassName = classNames(child && child.props && child.props.className, className);\n\n if (childrenClassName) {\n newChildProps.className = childrenClassName;\n }\n\n var cloneProps = _objectSpread({}, newChildProps);\n\n if (supportRef(child)) {\n cloneProps.ref = composeRef(this.triggerRef, child.ref);\n }\n\n var trigger = /*#__PURE__*/React.cloneElement(child, cloneProps);\n var portal; // prevent unmounting after it's rendered\n\n if (popupVisible || this.popupRef.current || forceRender) {\n portal = /*#__PURE__*/React.createElement(PortalComponent, {\n key: \"portal\",\n getContainer: this.getContainer,\n didUpdate: this.handlePortalUpdate\n }, this.getComponent());\n }\n\n if (!popupVisible && autoDestroy) {\n portal = null;\n }\n\n return /*#__PURE__*/React.createElement(TriggerContext.Provider, {\n value: this.triggerContextValue\n }, trigger, portal);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref, prevState) {\n var popupVisible = _ref.popupVisible;\n var newState = {};\n\n if (popupVisible !== undefined && prevState.popupVisible !== popupVisible) {\n newState.popupVisible = popupVisible;\n newState.prevPopupVisible = prevState.popupVisible;\n }\n\n return newState;\n }\n }]);\n\n return Trigger;\n }(React.Component);\n\n Trigger.contextType = TriggerContext;\n Trigger.defaultProps = {\n prefixCls: 'rc-trigger-popup',\n getPopupClassNameFromAlign: returnEmptyString,\n getDocument: returnDocument,\n onPopupVisibleChange: noop,\n afterPopupVisibleChange: noop,\n onPopupAlign: noop,\n popupClassName: '',\n mouseEnterDelay: 0,\n mouseLeaveDelay: 0.1,\n focusDelay: 0,\n blurDelay: 0.15,\n popupStyle: {},\n destroyPopupOnHide: false,\n popupAlign: {},\n defaultPopupVisible: false,\n mask: false,\n maskClosable: true,\n action: [],\n showAction: [],\n hideAction: [],\n autoDestroy: false\n };\n return Trigger;\n}\nexport default generateTrigger(Portal);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Trigger from 'rc-trigger';\nvar BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n }\n};\n\nfunction PickerTrigger(_ref) {\n var _classNames;\n\n var prefixCls = _ref.prefixCls,\n popupElement = _ref.popupElement,\n popupStyle = _ref.popupStyle,\n visible = _ref.visible,\n dropdownClassName = _ref.dropdownClassName,\n dropdownAlign = _ref.dropdownAlign,\n transitionName = _ref.transitionName,\n getPopupContainer = _ref.getPopupContainer,\n children = _ref.children,\n range = _ref.range,\n popupPlacement = _ref.popupPlacement,\n direction = _ref.direction;\n var dropdownPrefixCls = \"\".concat(prefixCls, \"-dropdown\");\n\n var getPopupPlacement = function getPopupPlacement() {\n if (popupPlacement !== undefined) {\n return popupPlacement;\n }\n\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n };\n\n return /*#__PURE__*/React.createElement(Trigger, {\n showAction: [],\n hideAction: [],\n popupPlacement: getPopupPlacement(),\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: transitionName,\n popup: popupElement,\n popupAlign: dropdownAlign,\n popupVisible: visible,\n popupClassName: classNames(dropdownClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(dropdownPrefixCls, \"-range\"), range), _defineProperty(_classNames, \"\".concat(dropdownPrefixCls, \"-rtl\"), direction === 'rtl'), _classNames)),\n popupStyle: popupStyle,\n getPopupContainer: getPopupContainer\n }, children);\n}\n\nexport default PickerTrigger;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useEffect, useRef } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { addGlobalMouseDownEvent, getTargetFromEvent } from \"../utils/uiUtil\";\nexport default function usePickerInput(_ref) {\n var open = _ref.open,\n value = _ref.value,\n isClickOutside = _ref.isClickOutside,\n triggerOpen = _ref.triggerOpen,\n forwardKeyDown = _ref.forwardKeyDown,\n _onKeyDown = _ref.onKeyDown,\n blurToCancel = _ref.blurToCancel,\n onSubmit = _ref.onSubmit,\n onCancel = _ref.onCancel,\n _onFocus = _ref.onFocus,\n _onBlur = _ref.onBlur;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n typing = _useState2[0],\n setTyping = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focused = _useState4[0],\n setFocused = _useState4[1];\n /**\n * We will prevent blur to handle open event when user click outside,\n * since this will repeat trigger `onOpenChange` event.\n */\n\n\n var preventBlurRef = useRef(false);\n var valueChangedRef = useRef(false);\n var preventDefaultRef = useRef(false);\n var inputProps = {\n onMouseDown: function onMouseDown() {\n setTyping(true);\n triggerOpen(true);\n },\n onKeyDown: function onKeyDown(e) {\n var preventDefault = function preventDefault() {\n preventDefaultRef.current = true;\n };\n\n _onKeyDown(e, preventDefault);\n\n if (preventDefaultRef.current) return;\n\n switch (e.which) {\n case KeyCode.ENTER:\n {\n if (!open) {\n triggerOpen(true);\n } else if (onSubmit() !== false) {\n setTyping(true);\n }\n\n e.preventDefault();\n return;\n }\n\n case KeyCode.TAB:\n {\n if (typing && open && !e.shiftKey) {\n setTyping(false);\n e.preventDefault();\n } else if (!typing && open) {\n if (!forwardKeyDown(e) && e.shiftKey) {\n setTyping(true);\n e.preventDefault();\n }\n }\n\n return;\n }\n\n case KeyCode.ESC:\n {\n setTyping(true);\n onCancel();\n return;\n }\n }\n\n if (!open && ![KeyCode.SHIFT].includes(e.which)) {\n triggerOpen(true);\n } else if (!typing) {\n // Let popup panel handle keyboard\n forwardKeyDown(e);\n }\n },\n onFocus: function onFocus(e) {\n setTyping(true);\n setFocused(true);\n\n if (_onFocus) {\n _onFocus(e);\n }\n },\n onBlur: function onBlur(e) {\n if (preventBlurRef.current || !isClickOutside(document.activeElement)) {\n preventBlurRef.current = false;\n return;\n }\n\n if (blurToCancel) {\n setTimeout(function () {\n var _document = document,\n activeElement = _document.activeElement;\n\n while (activeElement && activeElement.shadowRoot) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n\n if (isClickOutside(activeElement)) {\n onCancel();\n }\n }, 0);\n } else if (open) {\n triggerOpen(false);\n\n if (valueChangedRef.current) {\n onSubmit();\n }\n }\n\n setFocused(false);\n\n if (_onBlur) {\n _onBlur(e);\n }\n }\n }; // check if value changed\n\n useEffect(function () {\n valueChangedRef.current = false;\n }, [open]);\n useEffect(function () {\n valueChangedRef.current = true;\n }, [value]); // Global click handler\n\n useEffect(function () {\n return addGlobalMouseDownEvent(function (e) {\n var target = getTargetFromEvent(e);\n\n if (open) {\n var clickedOutside = isClickOutside(target);\n\n if (!clickedOutside) {\n preventBlurRef.current = true; // Always set back in case `onBlur` prevented by user\n\n requestAnimationFrame(function () {\n preventBlurRef.current = false;\n });\n } else if (!focused || clickedOutside) {\n triggerOpen(false);\n }\n }\n });\n });\n return [inputProps, {\n focused: focused,\n typing: typing\n }];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useTextValueMapping(_ref) {\n var valueTexts = _ref.valueTexts,\n onTextChange = _ref.onTextChange;\n\n var _React$useState = React.useState(''),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n text = _React$useState2[0],\n setInnerText = _React$useState2[1];\n\n var valueTextsRef = React.useRef([]);\n valueTextsRef.current = valueTexts;\n\n function triggerTextChange(value) {\n setInnerText(value);\n onTextChange(value);\n }\n\n function resetText() {\n setInnerText(valueTextsRef.current[0]);\n }\n\n React.useEffect(function () {\n if (valueTexts.every(function (valText) {\n return valText !== text;\n })) {\n resetText();\n }\n }, [valueTexts.join('||')]);\n return [text, triggerTextChange, resetText];\n}","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","import shallowEqual from 'shallowequal';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport { formatValue } from \"../utils/dateUtil\";\nexport default function useValueTexts(value, _ref) {\n var formatList = _ref.formatList,\n generateConfig = _ref.generateConfig,\n locale = _ref.locale;\n return useMemo(function () {\n if (!value) {\n return [[''], ''];\n } // We will convert data format back to first format\n\n\n var firstValueText = '';\n var fullValueTexts = [];\n\n for (var i = 0; i < formatList.length; i += 1) {\n var format = formatList[i];\n var formatStr = formatValue(value, {\n generateConfig: generateConfig,\n locale: locale,\n format: format\n });\n fullValueTexts.push(formatStr);\n\n if (i === 0) {\n firstValueText = formatStr;\n }\n }\n\n return [fullValueTexts, firstValueText];\n }, [value, formatList], function (prev, next) {\n return prev[0] !== next[0] || !shallowEqual(prev[1], next[1]);\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useEffect, useRef } from 'react';\nimport useValueTexts from \"./useValueTexts\";\nexport default function useHoverValue(valueText, _ref) {\n var formatList = _ref.formatList,\n generateConfig = _ref.generateConfig,\n locale = _ref.locale;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n internalSetValue = _useState2[1];\n\n var raf = useRef(null);\n\n function setValue(val) {\n var immediately = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n cancelAnimationFrame(raf.current);\n\n if (immediately) {\n internalSetValue(val);\n return;\n }\n\n raf.current = requestAnimationFrame(function () {\n internalSetValue(val);\n });\n }\n\n var _useValueTexts = useValueTexts(value, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useValueTexts2 = _slicedToArray(_useValueTexts, 2),\n firstText = _useValueTexts2[1];\n\n function onEnter(date) {\n setValue(date);\n }\n\n function onLeave() {\n var immediately = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n setValue(null, immediately);\n }\n\n useEffect(function () {\n onLeave(true);\n }, [valueText]);\n useEffect(function () {\n return function () {\n return cancelAnimationFrame(raf.current);\n };\n }, []);\n return [firstText, onEnter, onLeave];\n}","import warning from \"rc-util/es/warning\";\nexport function legacyPropsWarning(props) {\n var picker = props.picker,\n disabledHours = props.disabledHours,\n disabledMinutes = props.disabledMinutes,\n disabledSeconds = props.disabledSeconds;\n\n if (picker === 'time' && (disabledHours || disabledMinutes || disabledSeconds)) {\n warning(false, \"'disabledHours', 'disabledMinutes', 'disabledSeconds' will be removed in the next major version, please use 'disabledTime' instead.\");\n }\n}","import * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nexport default function usePresets(presets, legacyRanges) {\n return React.useMemo(function () {\n if (presets) {\n return presets;\n }\n\n if (legacyRanges) {\n warning(false, '`ranges` is deprecated. Please use `presets` instead.');\n var rangeLabels = Object.keys(legacyRanges);\n return rangeLabels.map(function (label) {\n var range = legacyRanges[label];\n var newValues = typeof range === 'function' ? range() : range;\n return {\n label: label,\n value: newValues\n };\n });\n }\n\n return [];\n }, [presets, legacyRanges]);\n}","import * as React from 'react';\nexport default function PresetPanel(props) {\n var prefixCls = props.prefixCls,\n presets = props.presets,\n _onClick = props.onClick,\n onHover = props.onHover;\n\n if (!presets.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-presets\")\n }, /*#__PURE__*/React.createElement(\"ul\", null, presets.map(function (_ref, index) {\n var label = _ref.label,\n value = _ref.value;\n return /*#__PURE__*/React.createElement(\"li\", {\n key: index,\n onClick: function onClick() {\n _onClick(value);\n },\n onMouseEnter: function onMouseEnter() {\n onHover === null || onHover === void 0 ? void 0 : onHover(value);\n },\n onMouseLeave: function onMouseLeave() {\n onHover === null || onHover === void 0 ? void 0 : onHover(null);\n }\n }, label);\n })));\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/**\n * Removed:\n * - getCalendarContainer: use `getPopupContainer` instead\n * - onOk\n *\n * New Feature:\n * - picker\n * - allowEmpty\n * - selectable\n *\n * Tips: Should add faq about `datetime` mode with `defaultValue`\n */\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport warning from \"rc-util/es/warning\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport PickerPanel from \"./PickerPanel\";\nimport PickerTrigger from \"./PickerTrigger\";\nimport { formatValue, isEqual, parseValue } from \"./utils/dateUtil\";\nimport getDataOrAriaProps, { toArray } from \"./utils/miscUtil\";\nimport PanelContext from \"./PanelContext\";\nimport { getDefaultFormat, getInputSize, elementsContains } from \"./utils/uiUtil\";\nimport usePickerInput from \"./hooks/usePickerInput\";\nimport useTextValueMapping from \"./hooks/useTextValueMapping\";\nimport useValueTexts from \"./hooks/useValueTexts\";\nimport useHoverValue from \"./hooks/useHoverValue\";\nimport { legacyPropsWarning } from \"./utils/warnUtil\";\nimport usePresets from \"./hooks/usePresets\";\nimport PresetPanel from \"./PresetPanel\";\n\nfunction InnerPicker(props) {\n var _classNames2;\n\n var _ref = props,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-picker' : _ref$prefixCls,\n id = _ref.id,\n tabIndex = _ref.tabIndex,\n style = _ref.style,\n className = _ref.className,\n dropdownClassName = _ref.dropdownClassName,\n dropdownAlign = _ref.dropdownAlign,\n popupStyle = _ref.popupStyle,\n transitionName = _ref.transitionName,\n generateConfig = _ref.generateConfig,\n locale = _ref.locale,\n inputReadOnly = _ref.inputReadOnly,\n allowClear = _ref.allowClear,\n autoFocus = _ref.autoFocus,\n showTime = _ref.showTime,\n _ref$picker = _ref.picker,\n picker = _ref$picker === void 0 ? 'date' : _ref$picker,\n format = _ref.format,\n use12Hours = _ref.use12Hours,\n value = _ref.value,\n defaultValue = _ref.defaultValue,\n presets = _ref.presets,\n open = _ref.open,\n defaultOpen = _ref.defaultOpen,\n defaultOpenValue = _ref.defaultOpenValue,\n suffixIcon = _ref.suffixIcon,\n clearIcon = _ref.clearIcon,\n disabled = _ref.disabled,\n disabledDate = _ref.disabledDate,\n placeholder = _ref.placeholder,\n getPopupContainer = _ref.getPopupContainer,\n pickerRef = _ref.pickerRef,\n panelRender = _ref.panelRender,\n onChange = _ref.onChange,\n onOpenChange = _ref.onOpenChange,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onMouseDown = _ref.onMouseDown,\n onMouseUp = _ref.onMouseUp,\n onMouseEnter = _ref.onMouseEnter,\n onMouseLeave = _ref.onMouseLeave,\n onContextMenu = _ref.onContextMenu,\n onClick = _ref.onClick,\n _onKeyDown = _ref.onKeyDown,\n _onSelect = _ref.onSelect,\n direction = _ref.direction,\n _ref$autoComplete = _ref.autoComplete,\n autoComplete = _ref$autoComplete === void 0 ? 'off' : _ref$autoComplete,\n inputRender = _ref.inputRender;\n var inputRef = React.useRef(null);\n var needConfirmButton = picker === 'date' && !!showTime || picker === 'time';\n var presetList = usePresets(presets); // ============================ Warning ============================\n\n if (process.env.NODE_ENV !== 'production') {\n legacyPropsWarning(props);\n } // ============================= State =============================\n\n\n var formatList = toArray(getDefaultFormat(format, picker, showTime, use12Hours)); // Panel ref\n\n var panelDivRef = React.useRef(null);\n var inputDivRef = React.useRef(null);\n var containerRef = React.useRef(null); // Real value\n\n var _useMergedState = useMergedState(null, {\n value: value,\n defaultValue: defaultValue\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setInnerValue = _useMergedState2[1]; // Selected value\n\n\n var _React$useState = React.useState(mergedValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n selectedValue = _React$useState2[0],\n setSelectedValue = _React$useState2[1]; // Operation ref\n\n\n var operationRef = React.useRef(null); // Open\n\n var _useMergedState3 = useMergedState(false, {\n value: open,\n defaultValue: defaultOpen,\n postState: function postState(postOpen) {\n return disabled ? false : postOpen;\n },\n onChange: function onChange(newOpen) {\n if (onOpenChange) {\n onOpenChange(newOpen);\n }\n\n if (!newOpen && operationRef.current && operationRef.current.onClose) {\n operationRef.current.onClose();\n }\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedOpen = _useMergedState4[0],\n triggerInnerOpen = _useMergedState4[1]; // ============================= Text ==============================\n\n\n var _useValueTexts = useValueTexts(selectedValue, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useValueTexts2 = _slicedToArray(_useValueTexts, 2),\n valueTexts = _useValueTexts2[0],\n firstValueText = _useValueTexts2[1];\n\n var _useTextValueMapping = useTextValueMapping({\n valueTexts: valueTexts,\n onTextChange: function onTextChange(newText) {\n var inputDate = parseValue(newText, {\n locale: locale,\n formatList: formatList,\n generateConfig: generateConfig\n });\n\n if (inputDate && (!disabledDate || !disabledDate(inputDate))) {\n setSelectedValue(inputDate);\n }\n }\n }),\n _useTextValueMapping2 = _slicedToArray(_useTextValueMapping, 3),\n text = _useTextValueMapping2[0],\n triggerTextChange = _useTextValueMapping2[1],\n resetText = _useTextValueMapping2[2]; // ============================ Trigger ============================\n\n\n var triggerChange = function triggerChange(newValue) {\n setSelectedValue(newValue);\n setInnerValue(newValue);\n\n if (onChange && !isEqual(generateConfig, mergedValue, newValue)) {\n onChange(newValue, newValue ? formatValue(newValue, {\n generateConfig: generateConfig,\n locale: locale,\n format: formatList[0]\n }) : '');\n }\n };\n\n var triggerOpen = function triggerOpen(newOpen) {\n if (disabled && newOpen) {\n return;\n }\n\n triggerInnerOpen(newOpen);\n };\n\n var forwardKeyDown = function forwardKeyDown(e) {\n if (mergedOpen && operationRef.current && operationRef.current.onKeyDown) {\n // Let popup panel handle keyboard\n return operationRef.current.onKeyDown(e);\n }\n /* istanbul ignore next */\n\n /* eslint-disable no-lone-blocks */\n\n\n {\n warning(false, 'Picker not correct forward KeyDown operation. Please help to fire issue about this.');\n return false;\n }\n };\n\n var onInternalClick = function onInternalClick() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n onClick === null || onClick === void 0 ? void 0 : onClick.apply(void 0, args);\n\n if (inputRef.current) {\n inputRef.current.focus();\n triggerOpen(true);\n }\n }; // ============================= Input =============================\n\n\n var _usePickerInput = usePickerInput({\n blurToCancel: needConfirmButton,\n open: mergedOpen,\n value: text,\n triggerOpen: triggerOpen,\n forwardKeyDown: forwardKeyDown,\n isClickOutside: function isClickOutside(target) {\n return !elementsContains([panelDivRef.current, inputDivRef.current, containerRef.current], target);\n },\n onSubmit: function onSubmit() {\n if ( // When user typing disabledDate with keyboard and enter, this value will be empty\n !selectedValue || // Normal disabled check\n disabledDate && disabledDate(selectedValue)) {\n return false;\n }\n\n triggerChange(selectedValue);\n triggerOpen(false);\n resetText();\n return true;\n },\n onCancel: function onCancel() {\n triggerOpen(false);\n setSelectedValue(mergedValue);\n resetText();\n },\n onKeyDown: function onKeyDown(e, preventDefault) {\n _onKeyDown === null || _onKeyDown === void 0 ? void 0 : _onKeyDown(e, preventDefault);\n },\n onFocus: onFocus,\n onBlur: onBlur\n }),\n _usePickerInput2 = _slicedToArray(_usePickerInput, 2),\n inputProps = _usePickerInput2[0],\n _usePickerInput2$ = _usePickerInput2[1],\n focused = _usePickerInput2$.focused,\n typing = _usePickerInput2$.typing; // ============================= Sync ==============================\n // Close should sync back with text value\n\n\n React.useEffect(function () {\n if (!mergedOpen) {\n setSelectedValue(mergedValue);\n\n if (!valueTexts.length || valueTexts[0] === '') {\n triggerTextChange('');\n } else if (firstValueText !== text) {\n resetText();\n }\n }\n }, [mergedOpen, valueTexts]); // Change picker should sync back with text value\n\n React.useEffect(function () {\n if (!mergedOpen) {\n resetText();\n }\n }, [picker]); // Sync innerValue with control mode\n\n React.useEffect(function () {\n // Sync select value\n setSelectedValue(mergedValue);\n }, [mergedValue]); // ============================ Private ============================\n\n if (pickerRef) {\n pickerRef.current = {\n focus: function focus() {\n if (inputRef.current) {\n inputRef.current.focus();\n }\n },\n blur: function blur() {\n if (inputRef.current) {\n inputRef.current.blur();\n }\n }\n };\n }\n\n var _useHoverValue = useHoverValue(text, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useHoverValue2 = _slicedToArray(_useHoverValue, 3),\n hoverValue = _useHoverValue2[0],\n onEnter = _useHoverValue2[1],\n onLeave = _useHoverValue2[2]; // ============================= Panel =============================\n\n\n var panelProps = _objectSpread(_objectSpread({}, props), {}, {\n className: undefined,\n style: undefined,\n pickerValue: undefined,\n onPickerValueChange: undefined,\n onChange: null\n });\n\n var panelNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panel-layout\")\n }, /*#__PURE__*/React.createElement(PresetPanel, {\n prefixCls: prefixCls,\n presets: presetList,\n onClick: function onClick(nextValue) {\n triggerChange(nextValue);\n triggerOpen(false);\n }\n }), /*#__PURE__*/React.createElement(PickerPanel, _extends({}, panelProps, {\n generateConfig: generateConfig,\n className: classNames(_defineProperty({}, \"\".concat(prefixCls, \"-panel-focused\"), !typing)),\n value: selectedValue,\n locale: locale,\n tabIndex: -1,\n onSelect: function onSelect(date) {\n _onSelect === null || _onSelect === void 0 ? void 0 : _onSelect(date);\n setSelectedValue(date);\n },\n direction: direction,\n onPanelChange: function onPanelChange(viewDate, mode) {\n var onPanelChange = props.onPanelChange;\n onLeave(true);\n onPanelChange === null || onPanelChange === void 0 ? void 0 : onPanelChange(viewDate, mode);\n }\n })));\n\n if (panelRender) {\n panelNode = panelRender(panelNode);\n }\n\n var panel = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panel-container\"),\n ref: panelDivRef,\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n }\n }, panelNode);\n var suffixNode;\n\n if (suffixIcon) {\n suffixNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-suffix\")\n }, suffixIcon);\n }\n\n var clearNode;\n\n if (allowClear && mergedValue && !disabled) {\n clearNode = /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n onMouseUp: function onMouseUp(e) {\n e.preventDefault();\n e.stopPropagation();\n triggerChange(null);\n triggerOpen(false);\n },\n className: \"\".concat(prefixCls, \"-clear\"),\n role: \"button\"\n }, clearIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-clear-btn\")\n }));\n }\n\n var mergedInputProps = _objectSpread(_objectSpread(_objectSpread({\n id: id,\n tabIndex: tabIndex,\n disabled: disabled,\n readOnly: inputReadOnly || typeof formatList[0] === 'function' || !typing,\n value: hoverValue || text,\n onChange: function onChange(e) {\n triggerTextChange(e.target.value);\n },\n autoFocus: autoFocus,\n placeholder: placeholder,\n ref: inputRef,\n title: text\n }, inputProps), {}, {\n size: getInputSize(picker, formatList[0], generateConfig)\n }, getDataOrAriaProps(props)), {}, {\n autoComplete: autoComplete\n });\n\n var inputNode = inputRender ? inputRender(mergedInputProps) : /*#__PURE__*/React.createElement(\"input\", mergedInputProps); // ============================ Warning ============================\n\n if (process.env.NODE_ENV !== 'production') {\n warning(!defaultOpenValue, '`defaultOpenValue` may confuse user for the current value status. Please use `defaultValue` instead.');\n } // ============================ Return =============================\n\n\n var onContextSelect = function onContextSelect(date, type) {\n if (type === 'submit' || type !== 'key' && !needConfirmButton) {\n // triggerChange will also update selected values\n triggerChange(date);\n triggerOpen(false);\n }\n };\n\n var popupPlacement = direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n return /*#__PURE__*/React.createElement(PanelContext.Provider, {\n value: {\n operationRef: operationRef,\n hideHeader: picker === 'time',\n onSelect: onContextSelect,\n open: mergedOpen,\n defaultOpenValue: defaultOpenValue,\n onDateMouseEnter: onEnter,\n onDateMouseLeave: onLeave\n }\n }, /*#__PURE__*/React.createElement(PickerTrigger, {\n visible: mergedOpen,\n popupElement: panel,\n popupStyle: popupStyle,\n prefixCls: prefixCls,\n dropdownClassName: dropdownClassName,\n dropdownAlign: dropdownAlign,\n getPopupContainer: getPopupContainer,\n transitionName: transitionName,\n popupPlacement: popupPlacement,\n direction: direction\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: containerRef,\n className: classNames(prefixCls, className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-focused\"), focused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames2)),\n style: style,\n onMouseDown: onMouseDown,\n onMouseUp: onMouseUp,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onContextMenu: onContextMenu,\n onClick: onInternalClick\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-input\"), _defineProperty({}, \"\".concat(prefixCls, \"-input-placeholder\"), !!hoverValue)),\n ref: inputDivRef\n }, inputNode, suffixNode, clearNode))));\n} // Wrap with class component to enable pass generic with instance method\n\n\nvar Picker = /*#__PURE__*/function (_React$Component) {\n _inherits(Picker, _React$Component);\n\n var _super = _createSuper(Picker);\n\n function Picker() {\n var _this;\n\n _classCallCheck(this, Picker);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"pickerRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"focus\", function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"blur\", function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n });\n\n return _this;\n }\n\n _createClass(Picker, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(InnerPicker, _extends({}, this.props, {\n pickerRef: this.pickerRef\n }));\n }\n }]);\n\n return Picker;\n}(React.Component);\n\nexport default Picker;","import * as React from 'react';\nimport { getValue } from \"../utils/miscUtil\";\nimport { isSameDate, getQuarter } from \"../utils/dateUtil\";\nexport default function useRangeDisabled(_ref, disabledStart, disabledEnd) {\n var picker = _ref.picker,\n locale = _ref.locale,\n selectedValue = _ref.selectedValue,\n disabledDate = _ref.disabledDate,\n disabled = _ref.disabled,\n generateConfig = _ref.generateConfig;\n var startDate = getValue(selectedValue, 0);\n var endDate = getValue(selectedValue, 1);\n\n function weekFirstDate(date) {\n return generateConfig.locale.getWeekFirstDate(locale.locale, date);\n }\n\n function monthNumber(date) {\n var year = generateConfig.getYear(date);\n var month = generateConfig.getMonth(date);\n return year * 100 + month;\n }\n\n function quarterNumber(date) {\n var year = generateConfig.getYear(date);\n var quarter = getQuarter(generateConfig, date);\n return year * 10 + quarter;\n }\n\n var disabledStartDate = React.useCallback(function (date) {\n if (disabledDate && disabledDate(date)) {\n return true;\n } // Disabled range\n\n\n if (disabled[1] && endDate) {\n return !isSameDate(generateConfig, date, endDate) && generateConfig.isAfter(date, endDate);\n } // Disabled part\n\n\n if (disabledStart && endDate) {\n switch (picker) {\n case 'quarter':\n return quarterNumber(date) > quarterNumber(endDate);\n\n case 'month':\n return monthNumber(date) > monthNumber(endDate);\n\n case 'week':\n return weekFirstDate(date) > weekFirstDate(endDate);\n\n default:\n return !isSameDate(generateConfig, date, endDate) && generateConfig.isAfter(date, endDate);\n }\n }\n\n return false;\n }, [disabledDate, disabled[1], endDate, disabledStart]);\n var disabledEndDate = React.useCallback(function (date) {\n if (disabledDate && disabledDate(date)) {\n return true;\n } // Disabled range\n\n\n if (disabled[0] && startDate) {\n return !isSameDate(generateConfig, date, endDate) && generateConfig.isAfter(startDate, date);\n } // Disabled part\n\n\n if (disabledEnd && startDate) {\n switch (picker) {\n case 'quarter':\n return quarterNumber(date) < quarterNumber(startDate);\n\n case 'month':\n return monthNumber(date) < monthNumber(startDate);\n\n case 'week':\n return weekFirstDate(date) < weekFirstDate(startDate);\n\n default:\n return !isSameDate(generateConfig, date, startDate) && generateConfig.isAfter(startDate, date);\n }\n }\n\n return false;\n }, [disabledDate, disabled[0], startDate, disabledEnd]);\n return [disabledStartDate, disabledEndDate];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { getValue, updateValues } from \"../utils/miscUtil\";\nimport { getClosingViewDate, isSameYear, isSameMonth, isSameDecade } from \"../utils/dateUtil\";\n\nfunction getStartEndDistance(startDate, endDate, picker, generateConfig) {\n var startNext = getClosingViewDate(startDate, picker, generateConfig, 1);\n\n function getDistance(compareFunc) {\n if (compareFunc(startDate, endDate)) {\n return 'same';\n }\n\n if (compareFunc(startNext, endDate)) {\n return 'closing';\n }\n\n return 'far';\n }\n\n switch (picker) {\n case 'year':\n return getDistance(function (start, end) {\n return isSameDecade(generateConfig, start, end);\n });\n\n case 'quarter':\n case 'month':\n return getDistance(function (start, end) {\n return isSameYear(generateConfig, start, end);\n });\n\n default:\n return getDistance(function (start, end) {\n return isSameMonth(generateConfig, start, end);\n });\n }\n}\n\nfunction getRangeViewDate(values, index, picker, generateConfig) {\n var startDate = getValue(values, 0);\n var endDate = getValue(values, 1);\n\n if (index === 0) {\n return startDate;\n }\n\n if (startDate && endDate) {\n var distance = getStartEndDistance(startDate, endDate, picker, generateConfig);\n\n switch (distance) {\n case 'same':\n return startDate;\n\n case 'closing':\n return startDate;\n\n default:\n return getClosingViewDate(endDate, picker, generateConfig, -1);\n }\n }\n\n return startDate;\n}\n\nexport default function useRangeViewDates(_ref) {\n var values = _ref.values,\n picker = _ref.picker,\n defaultDates = _ref.defaultDates,\n generateConfig = _ref.generateConfig;\n\n var _React$useState = React.useState(function () {\n return [getValue(defaultDates, 0), getValue(defaultDates, 1)];\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n defaultViewDates = _React$useState2[0],\n setDefaultViewDates = _React$useState2[1];\n\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n viewDates = _React$useState4[0],\n setInternalViewDates = _React$useState4[1];\n\n var startDate = getValue(values, 0);\n var endDate = getValue(values, 1);\n\n function getViewDate(index) {\n // If set default view date, use it\n if (defaultViewDates[index]) {\n return defaultViewDates[index];\n }\n\n return getValue(viewDates, index) || getRangeViewDate(values, index, picker, generateConfig) || startDate || endDate || generateConfig.getNow();\n }\n\n function setViewDate(viewDate, index) {\n if (viewDate) {\n var newViewDates = updateValues(viewDates, viewDate, index); // Set view date will clean up default one\n\n setDefaultViewDates( // Should always be an array\n updateValues(defaultViewDates, null, index) || [null, null]); // Reset another one when not have value\n\n var anotherIndex = (index + 1) % 2;\n\n if (!getValue(values, anotherIndex)) {\n newViewDates = updateValues(newViewDates, viewDate, anotherIndex);\n }\n\n setInternalViewDates(newViewDates);\n } else if (startDate || endDate) {\n // Reset all when has values when `viewDate` is `null` which means from open trigger\n setInternalViewDates(null);\n }\n }\n\n return [getViewDate, setViewDate];\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport warning from \"rc-util/es/warning\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport PickerTrigger from \"./PickerTrigger\";\nimport PickerPanel from \"./PickerPanel\";\nimport usePickerInput from \"./hooks/usePickerInput\";\nimport getDataOrAriaProps, { toArray, getValue, updateValues } from \"./utils/miscUtil\";\nimport { getDefaultFormat, getInputSize, elementsContains } from \"./utils/uiUtil\";\nimport PanelContext from \"./PanelContext\";\nimport { isEqual, getClosingViewDate, isSameDate, isSameWeek, isSameQuarter, formatValue, parseValue } from \"./utils/dateUtil\";\nimport useValueTexts from \"./hooks/useValueTexts\";\nimport useTextValueMapping from \"./hooks/useTextValueMapping\";\nimport RangeContext from \"./RangeContext\";\nimport useRangeDisabled from \"./hooks/useRangeDisabled\";\nimport getExtraFooter from \"./utils/getExtraFooter\";\nimport getRanges from \"./utils/getRanges\";\nimport useRangeViewDates from \"./hooks/useRangeViewDates\";\nimport useHoverValue from \"./hooks/useHoverValue\";\nimport { legacyPropsWarning } from \"./utils/warnUtil\";\nimport usePresets from \"./hooks/usePresets\";\nimport PresetPanel from \"./PresetPanel\";\n\nfunction reorderValues(values, generateConfig) {\n if (values && values[0] && values[1] && generateConfig.isAfter(values[0], values[1])) {\n return [values[1], values[0]];\n }\n\n return values;\n}\n\nfunction canValueTrigger(value, index, disabled, allowEmpty) {\n if (value) {\n return true;\n }\n\n if (allowEmpty && allowEmpty[index]) {\n return true;\n }\n\n if (disabled[(index + 1) % 2]) {\n return true;\n }\n\n return false;\n}\n\nfunction InnerRangePicker(props) {\n var _classNames2, _classNames3, _classNames4;\n\n var _ref = props,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-picker' : _ref$prefixCls,\n id = _ref.id,\n style = _ref.style,\n className = _ref.className,\n popupStyle = _ref.popupStyle,\n dropdownClassName = _ref.dropdownClassName,\n transitionName = _ref.transitionName,\n dropdownAlign = _ref.dropdownAlign,\n getPopupContainer = _ref.getPopupContainer,\n generateConfig = _ref.generateConfig,\n locale = _ref.locale,\n placeholder = _ref.placeholder,\n autoFocus = _ref.autoFocus,\n disabled = _ref.disabled,\n format = _ref.format,\n _ref$picker = _ref.picker,\n picker = _ref$picker === void 0 ? 'date' : _ref$picker,\n showTime = _ref.showTime,\n use12Hours = _ref.use12Hours,\n _ref$separator = _ref.separator,\n separator = _ref$separator === void 0 ? '~' : _ref$separator,\n value = _ref.value,\n defaultValue = _ref.defaultValue,\n defaultPickerValue = _ref.defaultPickerValue,\n open = _ref.open,\n defaultOpen = _ref.defaultOpen,\n disabledDate = _ref.disabledDate,\n _disabledTime = _ref.disabledTime,\n dateRender = _ref.dateRender,\n panelRender = _ref.panelRender,\n presets = _ref.presets,\n ranges = _ref.ranges,\n allowEmpty = _ref.allowEmpty,\n allowClear = _ref.allowClear,\n suffixIcon = _ref.suffixIcon,\n clearIcon = _ref.clearIcon,\n pickerRef = _ref.pickerRef,\n inputReadOnly = _ref.inputReadOnly,\n mode = _ref.mode,\n renderExtraFooter = _ref.renderExtraFooter,\n onChange = _ref.onChange,\n onOpenChange = _ref.onOpenChange,\n onPanelChange = _ref.onPanelChange,\n onCalendarChange = _ref.onCalendarChange,\n _onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onMouseDown = _ref.onMouseDown,\n onMouseUp = _ref.onMouseUp,\n onMouseEnter = _ref.onMouseEnter,\n onMouseLeave = _ref.onMouseLeave,\n onClick = _ref.onClick,\n _onOk = _ref.onOk,\n _onKeyDown = _ref.onKeyDown,\n components = _ref.components,\n order = _ref.order,\n direction = _ref.direction,\n activePickerIndex = _ref.activePickerIndex,\n _ref$autoComplete = _ref.autoComplete,\n autoComplete = _ref$autoComplete === void 0 ? 'off' : _ref$autoComplete;\n var needConfirmButton = picker === 'date' && !!showTime || picker === 'time'; // We record opened status here in case repeat open with picker\n\n var openRecordsRef = useRef({});\n var containerRef = useRef(null);\n var panelDivRef = useRef(null);\n var startInputDivRef = useRef(null);\n var endInputDivRef = useRef(null);\n var separatorRef = useRef(null);\n var startInputRef = useRef(null);\n var endInputRef = useRef(null);\n var arrowRef = useRef(null); // ============================ Warning ============================\n\n if (process.env.NODE_ENV !== 'production') {\n legacyPropsWarning(props);\n } // ============================= Misc ==============================\n\n\n var formatList = toArray(getDefaultFormat(format, picker, showTime, use12Hours)); // Active picker\n\n var _useMergedState = useMergedState(0, {\n value: activePickerIndex\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedActivePickerIndex = _useMergedState2[0],\n setMergedActivePickerIndex = _useMergedState2[1]; // Operation ref\n\n\n var operationRef = useRef(null);\n var mergedDisabled = React.useMemo(function () {\n if (Array.isArray(disabled)) {\n return disabled;\n }\n\n return [disabled || false, disabled || false];\n }, [disabled]); // ============================= Value =============================\n\n var _useMergedState3 = useMergedState(null, {\n value: value,\n defaultValue: defaultValue,\n postState: function postState(values) {\n return picker === 'time' && !order ? values : reorderValues(values, generateConfig);\n }\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedValue = _useMergedState4[0],\n setInnerValue = _useMergedState4[1]; // =========================== View Date ===========================\n // Config view panel\n\n\n var _useRangeViewDates = useRangeViewDates({\n values: mergedValue,\n picker: picker,\n defaultDates: defaultPickerValue,\n generateConfig: generateConfig\n }),\n _useRangeViewDates2 = _slicedToArray(_useRangeViewDates, 2),\n getViewDate = _useRangeViewDates2[0],\n setViewDate = _useRangeViewDates2[1]; // ========================= Select Values =========================\n\n\n var _useMergedState5 = useMergedState(mergedValue, {\n postState: function postState(values) {\n var postValues = values;\n\n if (mergedDisabled[0] && mergedDisabled[1]) {\n return postValues;\n } // Fill disabled unit\n\n\n for (var i = 0; i < 2; i += 1) {\n if (mergedDisabled[i] && !getValue(postValues, i) && !getValue(allowEmpty, i)) {\n postValues = updateValues(postValues, generateConfig.getNow(), i);\n }\n }\n\n return postValues;\n }\n }),\n _useMergedState6 = _slicedToArray(_useMergedState5, 2),\n selectedValue = _useMergedState6[0],\n setSelectedValue = _useMergedState6[1]; // ============================= Modes =============================\n\n\n var _useMergedState7 = useMergedState([picker, picker], {\n value: mode\n }),\n _useMergedState8 = _slicedToArray(_useMergedState7, 2),\n mergedModes = _useMergedState8[0],\n setInnerModes = _useMergedState8[1];\n\n useEffect(function () {\n setInnerModes([picker, picker]);\n }, [picker]);\n\n var triggerModesChange = function triggerModesChange(modes, values) {\n setInnerModes(modes);\n\n if (onPanelChange) {\n onPanelChange(values, modes);\n }\n }; // ========================= Disable Date ==========================\n\n\n var _useRangeDisabled = useRangeDisabled({\n picker: picker,\n selectedValue: selectedValue,\n locale: locale,\n disabled: mergedDisabled,\n disabledDate: disabledDate,\n generateConfig: generateConfig\n }, openRecordsRef.current[1], openRecordsRef.current[0]),\n _useRangeDisabled2 = _slicedToArray(_useRangeDisabled, 2),\n disabledStartDate = _useRangeDisabled2[0],\n disabledEndDate = _useRangeDisabled2[1]; // ============================= Open ==============================\n\n\n var _useMergedState9 = useMergedState(false, {\n value: open,\n defaultValue: defaultOpen,\n postState: function postState(postOpen) {\n return mergedDisabled[mergedActivePickerIndex] ? false : postOpen;\n },\n onChange: function onChange(newOpen) {\n if (onOpenChange) {\n onOpenChange(newOpen);\n }\n\n if (!newOpen && operationRef.current && operationRef.current.onClose) {\n operationRef.current.onClose();\n }\n }\n }),\n _useMergedState10 = _slicedToArray(_useMergedState9, 2),\n mergedOpen = _useMergedState10[0],\n triggerInnerOpen = _useMergedState10[1];\n\n var startOpen = mergedOpen && mergedActivePickerIndex === 0;\n var endOpen = mergedOpen && mergedActivePickerIndex === 1; // ============================= Popup =============================\n // Popup min width\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n popupMinWidth = _useState2[0],\n setPopupMinWidth = _useState2[1];\n\n useEffect(function () {\n if (!mergedOpen && containerRef.current) {\n setPopupMinWidth(containerRef.current.offsetWidth);\n }\n }, [mergedOpen]); // ============================ Trigger ============================\n\n var triggerRef = React.useRef();\n\n function _triggerOpen(newOpen, index) {\n if (newOpen) {\n clearTimeout(triggerRef.current);\n openRecordsRef.current[index] = true;\n setMergedActivePickerIndex(index);\n triggerInnerOpen(newOpen); // Open to reset view date\n\n if (!mergedOpen) {\n setViewDate(null, index);\n }\n } else if (mergedActivePickerIndex === index) {\n triggerInnerOpen(newOpen); // Clean up async\n // This makes ref not quick refresh in case user open another input with blur trigger\n\n var openRecords = openRecordsRef.current;\n triggerRef.current = setTimeout(function () {\n if (openRecords === openRecordsRef.current) {\n openRecordsRef.current = {};\n }\n });\n }\n }\n\n function triggerOpenAndFocus(index) {\n _triggerOpen(true, index); // Use setTimeout to make sure panel DOM exists\n\n\n setTimeout(function () {\n var inputRef = [startInputRef, endInputRef][index];\n\n if (inputRef.current) {\n inputRef.current.focus();\n }\n }, 0);\n }\n\n function triggerChange(newValue, sourceIndex) {\n var values = newValue;\n var startValue = getValue(values, 0);\n var endValue = getValue(values, 1); // >>>>> Format start & end values\n\n if (startValue && endValue && generateConfig.isAfter(startValue, endValue)) {\n if ( // WeekPicker only compare week\n picker === 'week' && !isSameWeek(generateConfig, locale.locale, startValue, endValue) || // QuotaPicker only compare week\n picker === 'quarter' && !isSameQuarter(generateConfig, startValue, endValue) || // Other non-TimePicker compare date\n picker !== 'week' && picker !== 'quarter' && picker !== 'time' && !isSameDate(generateConfig, startValue, endValue)) {\n // Clean up end date when start date is after end date\n if (sourceIndex === 0) {\n values = [startValue, null];\n endValue = null;\n } else {\n startValue = null;\n values = [null, endValue];\n } // Clean up cache since invalidate\n\n\n openRecordsRef.current = _defineProperty({}, sourceIndex, true);\n } else if (picker !== 'time' || order !== false) {\n // Reorder when in same date\n values = reorderValues(values, generateConfig);\n }\n }\n\n setSelectedValue(values);\n var startStr = values && values[0] ? formatValue(values[0], {\n generateConfig: generateConfig,\n locale: locale,\n format: formatList[0]\n }) : '';\n var endStr = values && values[1] ? formatValue(values[1], {\n generateConfig: generateConfig,\n locale: locale,\n format: formatList[0]\n }) : '';\n\n if (onCalendarChange) {\n var _info = {\n range: sourceIndex === 0 ? 'start' : 'end'\n };\n onCalendarChange(values, [startStr, endStr], _info);\n } // >>>>> Trigger `onChange` event\n\n\n var canStartValueTrigger = canValueTrigger(startValue, 0, mergedDisabled, allowEmpty);\n var canEndValueTrigger = canValueTrigger(endValue, 1, mergedDisabled, allowEmpty);\n var canTrigger = values === null || canStartValueTrigger && canEndValueTrigger;\n\n if (canTrigger) {\n // Trigger onChange only when value is validate\n setInnerValue(values);\n\n if (onChange && (!isEqual(generateConfig, getValue(mergedValue, 0), startValue) || !isEqual(generateConfig, getValue(mergedValue, 1), endValue))) {\n onChange(values, [startStr, endStr]);\n }\n } // >>>>> Open picker when\n // Always open another picker if possible\n\n\n var nextOpenIndex = null;\n\n if (sourceIndex === 0 && !mergedDisabled[1]) {\n nextOpenIndex = 1;\n } else if (sourceIndex === 1 && !mergedDisabled[0]) {\n nextOpenIndex = 0;\n }\n\n if (nextOpenIndex !== null && nextOpenIndex !== mergedActivePickerIndex && (!openRecordsRef.current[nextOpenIndex] || !getValue(values, nextOpenIndex)) && getValue(values, sourceIndex)) {\n // Delay to focus to avoid input blur trigger expired selectedValues\n triggerOpenAndFocus(nextOpenIndex);\n } else {\n _triggerOpen(false, sourceIndex);\n }\n }\n\n var forwardKeyDown = function forwardKeyDown(e) {\n if (mergedOpen && operationRef.current && operationRef.current.onKeyDown) {\n // Let popup panel handle keyboard\n return operationRef.current.onKeyDown(e);\n }\n /* istanbul ignore next */\n\n /* eslint-disable no-lone-blocks */\n\n\n {\n warning(false, 'Picker not correct forward KeyDown operation. Please help to fire issue about this.');\n return false;\n }\n }; // ============================= Text ==============================\n\n\n var sharedTextHooksProps = {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n };\n\n var _useValueTexts = useValueTexts(getValue(selectedValue, 0), sharedTextHooksProps),\n _useValueTexts2 = _slicedToArray(_useValueTexts, 2),\n startValueTexts = _useValueTexts2[0],\n firstStartValueText = _useValueTexts2[1];\n\n var _useValueTexts3 = useValueTexts(getValue(selectedValue, 1), sharedTextHooksProps),\n _useValueTexts4 = _slicedToArray(_useValueTexts3, 2),\n endValueTexts = _useValueTexts4[0],\n firstEndValueText = _useValueTexts4[1];\n\n var _onTextChange = function onTextChange(newText, index) {\n var inputDate = parseValue(newText, {\n locale: locale,\n formatList: formatList,\n generateConfig: generateConfig\n });\n var disabledFunc = index === 0 ? disabledStartDate : disabledEndDate;\n\n if (inputDate && !disabledFunc(inputDate)) {\n setSelectedValue(updateValues(selectedValue, inputDate, index));\n setViewDate(inputDate, index);\n }\n };\n\n var _useTextValueMapping = useTextValueMapping({\n valueTexts: startValueTexts,\n onTextChange: function onTextChange(newText) {\n return _onTextChange(newText, 0);\n }\n }),\n _useTextValueMapping2 = _slicedToArray(_useTextValueMapping, 3),\n startText = _useTextValueMapping2[0],\n triggerStartTextChange = _useTextValueMapping2[1],\n resetStartText = _useTextValueMapping2[2];\n\n var _useTextValueMapping3 = useTextValueMapping({\n valueTexts: endValueTexts,\n onTextChange: function onTextChange(newText) {\n return _onTextChange(newText, 1);\n }\n }),\n _useTextValueMapping4 = _slicedToArray(_useTextValueMapping3, 3),\n endText = _useTextValueMapping4[0],\n triggerEndTextChange = _useTextValueMapping4[1],\n resetEndText = _useTextValueMapping4[2];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n rangeHoverValue = _useState4[0],\n setRangeHoverValue = _useState4[1]; // ========================== Hover Range ==========================\n\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n hoverRangedValue = _useState6[0],\n setHoverRangedValue = _useState6[1];\n\n var _useHoverValue = useHoverValue(startText, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useHoverValue2 = _slicedToArray(_useHoverValue, 3),\n startHoverValue = _useHoverValue2[0],\n onStartEnter = _useHoverValue2[1],\n onStartLeave = _useHoverValue2[2];\n\n var _useHoverValue3 = useHoverValue(endText, {\n formatList: formatList,\n generateConfig: generateConfig,\n locale: locale\n }),\n _useHoverValue4 = _slicedToArray(_useHoverValue3, 3),\n endHoverValue = _useHoverValue4[0],\n onEndEnter = _useHoverValue4[1],\n onEndLeave = _useHoverValue4[2];\n\n var onDateMouseEnter = function onDateMouseEnter(date) {\n setHoverRangedValue(updateValues(selectedValue, date, mergedActivePickerIndex));\n\n if (mergedActivePickerIndex === 0) {\n onStartEnter(date);\n } else {\n onEndEnter(date);\n }\n };\n\n var onDateMouseLeave = function onDateMouseLeave() {\n setHoverRangedValue(updateValues(selectedValue, null, mergedActivePickerIndex));\n\n if (mergedActivePickerIndex === 0) {\n onStartLeave();\n } else {\n onEndLeave();\n }\n }; // ============================= Input =============================\n\n\n var getSharedInputHookProps = function getSharedInputHookProps(index, resetText) {\n return {\n blurToCancel: needConfirmButton,\n forwardKeyDown: forwardKeyDown,\n onBlur: onBlur,\n isClickOutside: function isClickOutside(target) {\n return !elementsContains([panelDivRef.current, startInputDivRef.current, endInputDivRef.current, containerRef.current], target);\n },\n onFocus: function onFocus(e) {\n setMergedActivePickerIndex(index);\n\n if (_onFocus) {\n _onFocus(e);\n }\n },\n triggerOpen: function triggerOpen(newOpen) {\n _triggerOpen(newOpen, index);\n },\n onSubmit: function onSubmit() {\n if ( // When user typing disabledDate with keyboard and enter, this value will be empty\n !selectedValue || // Normal disabled check\n disabledDate && disabledDate(selectedValue[index])) {\n return false;\n }\n\n triggerChange(selectedValue, index);\n resetText();\n },\n onCancel: function onCancel() {\n _triggerOpen(false, index);\n\n setSelectedValue(mergedValue);\n resetText();\n }\n };\n };\n\n var _usePickerInput = usePickerInput(_objectSpread(_objectSpread({}, getSharedInputHookProps(0, resetStartText)), {}, {\n open: startOpen,\n value: startText,\n onKeyDown: function onKeyDown(e, preventDefault) {\n _onKeyDown === null || _onKeyDown === void 0 ? void 0 : _onKeyDown(e, preventDefault);\n }\n })),\n _usePickerInput2 = _slicedToArray(_usePickerInput, 2),\n startInputProps = _usePickerInput2[0],\n _usePickerInput2$ = _usePickerInput2[1],\n startFocused = _usePickerInput2$.focused,\n startTyping = _usePickerInput2$.typing;\n\n var _usePickerInput3 = usePickerInput(_objectSpread(_objectSpread({}, getSharedInputHookProps(1, resetEndText)), {}, {\n open: endOpen,\n value: endText,\n onKeyDown: function onKeyDown(e, preventDefault) {\n _onKeyDown === null || _onKeyDown === void 0 ? void 0 : _onKeyDown(e, preventDefault);\n }\n })),\n _usePickerInput4 = _slicedToArray(_usePickerInput3, 2),\n endInputProps = _usePickerInput4[0],\n _usePickerInput4$ = _usePickerInput4[1],\n endFocused = _usePickerInput4$.focused,\n endTyping = _usePickerInput4$.typing; // ========================== Click Picker ==========================\n\n\n var onPickerClick = function onPickerClick(e) {\n // When click inside the picker & outside the picker's input elements\n // the panel should still be opened\n if (onClick) {\n onClick(e);\n }\n\n if (!mergedOpen && !startInputRef.current.contains(e.target) && !endInputRef.current.contains(e.target)) {\n if (!mergedDisabled[0]) {\n triggerOpenAndFocus(0);\n } else if (!mergedDisabled[1]) {\n triggerOpenAndFocus(1);\n }\n }\n };\n\n var onPickerMouseDown = function onPickerMouseDown(e) {\n // shouldn't affect input elements if picker is active\n if (onMouseDown) {\n onMouseDown(e);\n }\n\n if (mergedOpen && (startFocused || endFocused) && !startInputRef.current.contains(e.target) && !endInputRef.current.contains(e.target)) {\n e.preventDefault();\n }\n }; // ============================= Sync ==============================\n // Close should sync back with text value\n\n\n var startStr = mergedValue && mergedValue[0] ? formatValue(mergedValue[0], {\n locale: locale,\n format: 'YYYYMMDDHHmmss',\n generateConfig: generateConfig\n }) : '';\n var endStr = mergedValue && mergedValue[1] ? formatValue(mergedValue[1], {\n locale: locale,\n format: 'YYYYMMDDHHmmss',\n generateConfig: generateConfig\n }) : '';\n useEffect(function () {\n if (!mergedOpen) {\n setSelectedValue(mergedValue);\n\n if (!startValueTexts.length || startValueTexts[0] === '') {\n triggerStartTextChange('');\n } else if (firstStartValueText !== startText) {\n resetStartText();\n }\n\n if (!endValueTexts.length || endValueTexts[0] === '') {\n triggerEndTextChange('');\n } else if (firstEndValueText !== endText) {\n resetEndText();\n }\n }\n }, [mergedOpen, startValueTexts, endValueTexts]); // Sync innerValue with control mode\n\n useEffect(function () {\n setSelectedValue(mergedValue);\n }, [startStr, endStr]); // ============================ Warning ============================\n\n if (process.env.NODE_ENV !== 'production') {\n if (value && Array.isArray(disabled) && (getValue(disabled, 0) && !getValue(value, 0) || getValue(disabled, 1) && !getValue(value, 1))) {\n warning(false, '`disabled` should not set with empty `value`. You should set `allowEmpty` or `value` instead.');\n }\n } // ============================ Private ============================\n\n\n if (pickerRef) {\n pickerRef.current = {\n focus: function focus() {\n if (startInputRef.current) {\n startInputRef.current.focus();\n }\n },\n blur: function blur() {\n if (startInputRef.current) {\n startInputRef.current.blur();\n }\n\n if (endInputRef.current) {\n endInputRef.current.blur();\n }\n }\n };\n } // ============================ Ranges =============================\n\n\n var presetList = usePresets(presets, ranges); // const rangeList = presetList.map((preset) => {\n // return {\n // label: preset.label,\n // onClick: () => {\n // triggerChange(preset.value, null);\n // triggerOpen(false, mergedActivePickerIndex);\n // },\n // onMouseEnter: () => {\n // setRangeHoverValue(preset.value);\n // },\n // onMouseLeave: () => {\n // setRangeHoverValue(null);\n // },\n // };\n // });\n // ============================= Panel =============================\n\n function renderPanel() {\n var panelPosition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var panelProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var panelHoverRangedValue = null;\n\n if (mergedOpen && hoverRangedValue && hoverRangedValue[0] && hoverRangedValue[1] && generateConfig.isAfter(hoverRangedValue[1], hoverRangedValue[0])) {\n panelHoverRangedValue = hoverRangedValue;\n }\n\n var panelShowTime = showTime;\n\n if (showTime && _typeof(showTime) === 'object' && showTime.defaultValue) {\n var timeDefaultValues = showTime.defaultValue;\n panelShowTime = _objectSpread(_objectSpread({}, showTime), {}, {\n defaultValue: getValue(timeDefaultValues, mergedActivePickerIndex) || undefined\n });\n }\n\n var panelDateRender = null;\n\n if (dateRender) {\n panelDateRender = function panelDateRender(date, today) {\n return dateRender(date, today, {\n range: mergedActivePickerIndex ? 'end' : 'start'\n });\n };\n }\n\n return /*#__PURE__*/React.createElement(RangeContext.Provider, {\n value: {\n inRange: true,\n panelPosition: panelPosition,\n rangedValue: rangeHoverValue || selectedValue,\n hoverRangedValue: panelHoverRangedValue\n }\n }, /*#__PURE__*/React.createElement(PickerPanel, _extends({}, props, panelProps, {\n dateRender: panelDateRender,\n showTime: panelShowTime,\n mode: mergedModes[mergedActivePickerIndex],\n generateConfig: generateConfig,\n style: undefined,\n direction: direction,\n disabledDate: mergedActivePickerIndex === 0 ? disabledStartDate : disabledEndDate,\n disabledTime: function disabledTime(date) {\n if (_disabledTime) {\n return _disabledTime(date, mergedActivePickerIndex === 0 ? 'start' : 'end');\n }\n\n return false;\n },\n className: classNames(_defineProperty({}, \"\".concat(prefixCls, \"-panel-focused\"), mergedActivePickerIndex === 0 ? !startTyping : !endTyping)),\n value: getValue(selectedValue, mergedActivePickerIndex),\n locale: locale,\n tabIndex: -1,\n onPanelChange: function onPanelChange(date, newMode) {\n // clear hover value when panel change\n if (mergedActivePickerIndex === 0) {\n onStartLeave(true);\n }\n\n if (mergedActivePickerIndex === 1) {\n onEndLeave(true);\n }\n\n triggerModesChange(updateValues(mergedModes, newMode, mergedActivePickerIndex), updateValues(selectedValue, date, mergedActivePickerIndex));\n var viewDate = date;\n\n if (panelPosition === 'right' && mergedModes[mergedActivePickerIndex] === newMode) {\n viewDate = getClosingViewDate(viewDate, newMode, generateConfig, -1);\n }\n\n setViewDate(viewDate, mergedActivePickerIndex);\n },\n onOk: null,\n onSelect: undefined,\n onChange: undefined,\n defaultValue: mergedActivePickerIndex === 0 ? getValue(selectedValue, 1) : getValue(selectedValue, 0) // defaultPickerValue={undefined}\n\n })));\n }\n\n var arrowLeft = 0;\n var panelLeft = 0;\n\n if (mergedActivePickerIndex && startInputDivRef.current && separatorRef.current && panelDivRef.current) {\n // Arrow offset\n arrowLeft = startInputDivRef.current.offsetWidth + separatorRef.current.offsetWidth; // If panelWidth - arrowWidth - arrowMarginLeft < arrowLeft, panel should move to right side.\n // If arrowOffsetLeft > arrowLeft, arrowMarginLeft = arrowOffsetLeft - arrowLeft\n\n var arrowMarginLeft = arrowRef.current.offsetLeft > arrowLeft ? arrowRef.current.offsetLeft - arrowLeft : arrowRef.current.offsetLeft;\n\n if (panelDivRef.current.offsetWidth && arrowRef.current.offsetWidth && arrowLeft > panelDivRef.current.offsetWidth - arrowRef.current.offsetWidth - (direction === 'rtl' ? 0 : arrowMarginLeft)) {\n panelLeft = arrowLeft;\n }\n }\n\n var arrowPositionStyle = direction === 'rtl' ? {\n right: arrowLeft\n } : {\n left: arrowLeft\n };\n\n function renderPanels() {\n var panels;\n var extraNode = getExtraFooter(prefixCls, mergedModes[mergedActivePickerIndex], renderExtraFooter);\n var rangesNode = getRanges({\n prefixCls: prefixCls,\n components: components,\n needConfirmButton: needConfirmButton,\n okDisabled: !getValue(selectedValue, mergedActivePickerIndex) || disabledDate && disabledDate(selectedValue[mergedActivePickerIndex]),\n locale: locale,\n // rangeList,\n onOk: function onOk() {\n if (getValue(selectedValue, mergedActivePickerIndex)) {\n // triggerChangeOld(selectedValue);\n triggerChange(selectedValue, mergedActivePickerIndex);\n\n if (_onOk) {\n _onOk(selectedValue);\n }\n }\n }\n });\n\n if (picker !== 'time' && !showTime) {\n var viewDate = getViewDate(mergedActivePickerIndex);\n var nextViewDate = getClosingViewDate(viewDate, picker, generateConfig);\n var currentMode = mergedModes[mergedActivePickerIndex];\n var showDoublePanel = currentMode === picker;\n var leftPanel = renderPanel(showDoublePanel ? 'left' : false, {\n pickerValue: viewDate,\n onPickerValueChange: function onPickerValueChange(newViewDate) {\n setViewDate(newViewDate, mergedActivePickerIndex);\n }\n });\n var rightPanel = renderPanel('right', {\n pickerValue: nextViewDate,\n onPickerValueChange: function onPickerValueChange(newViewDate) {\n setViewDate(getClosingViewDate(newViewDate, picker, generateConfig, -1), mergedActivePickerIndex);\n }\n });\n\n if (direction === 'rtl') {\n panels = /*#__PURE__*/React.createElement(React.Fragment, null, rightPanel, showDoublePanel && leftPanel);\n } else {\n panels = /*#__PURE__*/React.createElement(React.Fragment, null, leftPanel, showDoublePanel && rightPanel);\n }\n } else {\n panels = renderPanel();\n }\n\n var mergedNodes = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panel-layout\")\n }, /*#__PURE__*/React.createElement(PresetPanel, {\n prefixCls: prefixCls,\n presets: presetList,\n onClick: function onClick(nextValue) {\n triggerChange(nextValue, null);\n\n _triggerOpen(false, mergedActivePickerIndex);\n },\n onHover: function onHover(hoverValue) {\n setRangeHoverValue(hoverValue);\n }\n }), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panels\")\n }, panels), (extraNode || rangesNode) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, extraNode, rangesNode)));\n\n if (panelRender) {\n mergedNodes = panelRender(mergedNodes);\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-panel-container\"),\n style: {\n marginLeft: panelLeft\n },\n ref: panelDivRef,\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n }\n }, mergedNodes);\n }\n\n var rangePanel = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-range-wrapper\"), \"\".concat(prefixCls, \"-\").concat(picker, \"-range-wrapper\")),\n style: {\n minWidth: popupMinWidth\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: arrowRef,\n className: \"\".concat(prefixCls, \"-range-arrow\"),\n style: arrowPositionStyle\n }), renderPanels()); // ============================= Icons =============================\n\n var suffixNode;\n\n if (suffixIcon) {\n suffixNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-suffix\")\n }, suffixIcon);\n }\n\n var clearNode;\n\n if (allowClear && (getValue(mergedValue, 0) && !mergedDisabled[0] || getValue(mergedValue, 1) && !mergedDisabled[1])) {\n clearNode = /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n onMouseUp: function onMouseUp(e) {\n e.preventDefault();\n e.stopPropagation();\n var values = mergedValue;\n\n if (!mergedDisabled[0]) {\n values = updateValues(values, null, 0);\n }\n\n if (!mergedDisabled[1]) {\n values = updateValues(values, null, 1);\n }\n\n triggerChange(values, null);\n\n _triggerOpen(false, mergedActivePickerIndex);\n },\n className: \"\".concat(prefixCls, \"-clear\")\n }, clearIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-clear-btn\")\n }));\n }\n\n var inputSharedProps = {\n size: getInputSize(picker, formatList[0], generateConfig)\n };\n var activeBarLeft = 0;\n var activeBarWidth = 0;\n\n if (startInputDivRef.current && endInputDivRef.current && separatorRef.current) {\n if (mergedActivePickerIndex === 0) {\n activeBarWidth = startInputDivRef.current.offsetWidth;\n } else {\n activeBarLeft = arrowLeft;\n activeBarWidth = endInputDivRef.current.offsetWidth;\n }\n }\n\n var activeBarPositionStyle = direction === 'rtl' ? {\n right: activeBarLeft\n } : {\n left: activeBarLeft\n }; // ============================ Return =============================\n\n var onContextSelect = function onContextSelect(date, type) {\n var values = updateValues(selectedValue, date, mergedActivePickerIndex);\n\n if (type === 'submit' || type !== 'key' && !needConfirmButton) {\n // triggerChange will also update selected values\n triggerChange(values, mergedActivePickerIndex); // clear hover value style\n\n if (mergedActivePickerIndex === 0) {\n onStartLeave();\n } else {\n onEndLeave();\n }\n } else {\n setSelectedValue(values);\n }\n };\n\n return /*#__PURE__*/React.createElement(PanelContext.Provider, {\n value: {\n operationRef: operationRef,\n hideHeader: picker === 'time',\n onDateMouseEnter: onDateMouseEnter,\n onDateMouseLeave: onDateMouseLeave,\n hideRanges: true,\n onSelect: onContextSelect,\n open: mergedOpen\n }\n }, /*#__PURE__*/React.createElement(PickerTrigger, {\n visible: mergedOpen,\n popupElement: rangePanel,\n popupStyle: popupStyle,\n prefixCls: prefixCls,\n dropdownClassName: dropdownClassName,\n dropdownAlign: dropdownAlign,\n getPopupContainer: getPopupContainer,\n transitionName: transitionName,\n range: true,\n direction: direction\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: containerRef,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-range\"), className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-disabled\"), mergedDisabled[0] && mergedDisabled[1]), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-focused\"), mergedActivePickerIndex === 0 ? startFocused : endFocused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames2)),\n style: style,\n onClick: onPickerClick,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDown: onPickerMouseDown,\n onMouseUp: onMouseUp\n }, getDataOrAriaProps(props)), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-input\"), (_classNames3 = {}, _defineProperty(_classNames3, \"\".concat(prefixCls, \"-input-active\"), mergedActivePickerIndex === 0), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-input-placeholder\"), !!startHoverValue), _classNames3)),\n ref: startInputDivRef\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n id: id,\n disabled: mergedDisabled[0],\n readOnly: inputReadOnly || typeof formatList[0] === 'function' || !startTyping,\n value: startHoverValue || startText,\n onChange: function onChange(e) {\n triggerStartTextChange(e.target.value);\n },\n autoFocus: autoFocus,\n placeholder: getValue(placeholder, 0) || '',\n ref: startInputRef\n }, startInputProps, inputSharedProps, {\n autoComplete: autoComplete\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-range-separator\"),\n ref: separatorRef\n }, separator), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-input\"), (_classNames4 = {}, _defineProperty(_classNames4, \"\".concat(prefixCls, \"-input-active\"), mergedActivePickerIndex === 1), _defineProperty(_classNames4, \"\".concat(prefixCls, \"-input-placeholder\"), !!endHoverValue), _classNames4)),\n ref: endInputDivRef\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n disabled: mergedDisabled[1],\n readOnly: inputReadOnly || typeof formatList[0] === 'function' || !endTyping,\n value: endHoverValue || endText,\n onChange: function onChange(e) {\n triggerEndTextChange(e.target.value);\n },\n placeholder: getValue(placeholder, 1) || '',\n ref: endInputRef\n }, endInputProps, inputSharedProps, {\n autoComplete: autoComplete\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-active-bar\"),\n style: _objectSpread(_objectSpread({}, activeBarPositionStyle), {}, {\n width: activeBarWidth,\n position: 'absolute'\n })\n }), suffixNode, clearNode)));\n} // Wrap with class component to enable pass generic with instance method\n\n\nvar RangePicker = /*#__PURE__*/function (_React$Component) {\n _inherits(RangePicker, _React$Component);\n\n var _super = _createSuper(RangePicker);\n\n function RangePicker() {\n var _this;\n\n _classCallCheck(this, RangePicker);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"pickerRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"focus\", function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"blur\", function () {\n if (_this.pickerRef.current) {\n _this.pickerRef.current.blur();\n }\n });\n\n return _this;\n }\n\n _createClass(RangePicker, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(InnerRangePicker, _extends({}, this.props, {\n pickerRef: this.pickerRef\n }));\n }\n }]);\n\n return RangePicker;\n}(React.Component);\n\nexport default RangePicker;","import { FormProvider as RcFormProvider } from 'rc-field-form';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nexport const FormContext = /*#__PURE__*/React.createContext({\n labelAlign: 'right',\n vertical: false,\n itemRef: () => {}\n});\nexport const NoStyleItemContext = /*#__PURE__*/React.createContext(null);\nexport const FormProvider = props => {\n const providerProps = omit(props, ['prefixCls']);\n return /*#__PURE__*/React.createElement(RcFormProvider, Object.assign({}, providerProps));\n};\nexport const FormItemPrefixContext = /*#__PURE__*/React.createContext({\n prefixCls: ''\n});\nexport const FormItemInputContext = /*#__PURE__*/React.createContext({});\nexport const NoFormStyle = _ref => {\n let {\n children,\n status,\n override\n } = _ref;\n const formItemInputContext = useContext(FormItemInputContext);\n const newFormItemInputContext = useMemo(() => {\n const newContext = Object.assign({}, formItemInputContext);\n if (override) {\n delete newContext.isFormItemInput;\n }\n if (status) {\n delete newContext.status;\n delete newContext.hasFeedback;\n delete newContext.feedbackIcon;\n }\n return newContext;\n }, [status, override, formItemInputContext]);\n return /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: newFormItemInputContext\n }, children);\n};","import classNames from 'classnames';\nconst InputStatuses = ['warning', 'error', ''];\nexport function getStatusClassNames(prefixCls, status, hasFeedback) {\n return classNames({\n [`${prefixCls}-status-success`]: status === 'success',\n [`${prefixCls}-status-warning`]: status === 'warning',\n [`${prefixCls}-status-error`]: status === 'error',\n [`${prefixCls}-status-validating`]: status === 'validating',\n [`${prefixCls}-has-feedback`]: hasFeedback\n });\n}\nexport const getMergedStatus = (contextStatus, customStatus) => customStatus || contextStatus;","export function getPlaceholder(locale, picker, customizePlaceholder) {\n if (customizePlaceholder !== undefined) {\n return customizePlaceholder;\n }\n if (picker === 'year' && locale.lang.yearPlaceholder) {\n return locale.lang.yearPlaceholder;\n }\n if (picker === 'quarter' && locale.lang.quarterPlaceholder) {\n return locale.lang.quarterPlaceholder;\n }\n if (picker === 'month' && locale.lang.monthPlaceholder) {\n return locale.lang.monthPlaceholder;\n }\n if (picker === 'week' && locale.lang.weekPlaceholder) {\n return locale.lang.weekPlaceholder;\n }\n if (picker === 'time' && locale.timePickerLocale.placeholder) {\n return locale.timePickerLocale.placeholder;\n }\n return locale.lang.placeholder;\n}\nexport function getRangePlaceholder(locale, picker, customizePlaceholder) {\n if (customizePlaceholder !== undefined) {\n return customizePlaceholder;\n }\n if (picker === 'year' && locale.lang.yearPlaceholder) {\n return locale.lang.rangeYearPlaceholder;\n }\n if (picker === 'quarter' && locale.lang.quarterPlaceholder) {\n return locale.lang.rangeQuarterPlaceholder;\n }\n if (picker === 'month' && locale.lang.monthPlaceholder) {\n return locale.lang.rangeMonthPlaceholder;\n }\n if (picker === 'week' && locale.lang.weekPlaceholder) {\n return locale.lang.rangeWeekPlaceholder;\n }\n if (picker === 'time' && locale.timePickerLocale.placeholder) {\n return locale.timePickerLocale.rangePlaceholder;\n }\n return locale.lang.rangePlaceholder;\n}\nexport function transPlacement2DropdownAlign(direction, placement) {\n const overflow = {\n adjustX: 1,\n adjustY: 1\n };\n switch (placement) {\n case 'bottomLeft':\n {\n return {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow\n };\n }\n case 'bottomRight':\n {\n return {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow\n };\n }\n case 'topLeft':\n {\n return {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow\n };\n }\n case 'topRight':\n {\n return {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow\n };\n }\n default:\n {\n return {\n points: direction === 'rtl' ? ['tr', 'br'] : ['tl', 'bl'],\n offset: [0, 4],\n overflow\n };\n }\n }\n}","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { clearFix, resetComponent } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nexport const genPlaceholderStyle = color => ({\n // Firefox\n '&::-moz-placeholder': {\n opacity: 1\n },\n '&::placeholder': {\n color,\n userSelect: 'none' // https://github.com/ant-design/ant-design/pull/32639\n },\n\n '&:placeholder-shown': {\n textOverflow: 'ellipsis'\n }\n});\nexport const genHoverStyle = token => ({\n borderColor: token.inputBorderHoverColor,\n borderInlineEndWidth: token.lineWidth\n});\nexport const genActiveStyle = token => ({\n borderColor: token.inputBorderHoverColor,\n boxShadow: `0 0 0 ${token.controlOutlineWidth}px ${token.controlOutline}`,\n borderInlineEndWidth: token.lineWidth,\n outline: 0\n});\nexport const genDisabledStyle = token => ({\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n boxShadow: 'none',\n cursor: 'not-allowed',\n opacity: 1,\n '&:hover': Object.assign({}, genHoverStyle(mergeToken(token, {\n inputBorderHoverColor: token.colorBorder\n })))\n});\nconst genInputLargeStyle = token => {\n const {\n inputPaddingVerticalLG,\n fontSizeLG,\n lineHeightLG,\n borderRadiusLG,\n inputPaddingHorizontalLG\n } = token;\n return {\n padding: `${inputPaddingVerticalLG}px ${inputPaddingHorizontalLG}px`,\n fontSize: fontSizeLG,\n lineHeight: lineHeightLG,\n borderRadius: borderRadiusLG\n };\n};\nexport const genInputSmallStyle = token => ({\n padding: `${token.inputPaddingVerticalSM}px ${token.controlPaddingHorizontalSM - 1}px`,\n borderRadius: token.borderRadiusSM\n});\nexport const genStatusStyle = (token, parentCls) => {\n const {\n componentCls,\n colorError,\n colorWarning,\n colorErrorOutline,\n colorWarningOutline,\n colorErrorBorderHover,\n colorWarningBorderHover\n } = token;\n return {\n [`&-status-error:not(${parentCls}-disabled):not(${parentCls}-borderless)${parentCls}`]: {\n borderColor: colorError,\n '&:hover': {\n borderColor: colorErrorBorderHover\n },\n '&:focus, &-focused': Object.assign({}, genActiveStyle(mergeToken(token, {\n inputBorderActiveColor: colorError,\n inputBorderHoverColor: colorError,\n controlOutline: colorErrorOutline\n }))),\n [`${componentCls}-prefix`]: {\n color: colorError\n }\n },\n [`&-status-warning:not(${parentCls}-disabled):not(${parentCls}-borderless)${parentCls}`]: {\n borderColor: colorWarning,\n '&:hover': {\n borderColor: colorWarningBorderHover\n },\n '&:focus, &-focused': Object.assign({}, genActiveStyle(mergeToken(token, {\n inputBorderActiveColor: colorWarning,\n inputBorderHoverColor: colorWarning,\n controlOutline: colorWarningOutline\n }))),\n [`${componentCls}-prefix`]: {\n color: colorWarning\n }\n }\n };\n};\nexport const genBasicInputStyle = token => Object.assign(Object.assign({\n position: 'relative',\n display: 'inline-block',\n width: '100%',\n minWidth: 0,\n padding: `${token.inputPaddingVertical}px ${token.inputPaddingHorizontal}px`,\n color: token.colorText,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n backgroundColor: token.colorBgContainer,\n backgroundImage: 'none',\n borderWidth: token.lineWidth,\n borderStyle: token.lineType,\n borderColor: token.colorBorder,\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationMid}`\n}, genPlaceholderStyle(token.colorTextPlaceholder)), {\n '&:hover': Object.assign({}, genHoverStyle(token)),\n '&:focus, &-focused': Object.assign({}, genActiveStyle(token)),\n '&-disabled, &[disabled]': Object.assign({}, genDisabledStyle(token)),\n '&-borderless': {\n '&, &:hover, &:focus, &-focused, &-disabled, &[disabled]': {\n backgroundColor: 'transparent',\n border: 'none',\n boxShadow: 'none'\n }\n },\n // Reset height for `textarea`s\n 'textarea&': {\n maxWidth: '100%',\n height: 'auto',\n minHeight: token.controlHeight,\n lineHeight: token.lineHeight,\n verticalAlign: 'bottom',\n transition: `all ${token.motionDurationSlow}, height 0s`,\n resize: 'vertical'\n },\n // Size\n '&-lg': Object.assign({}, genInputLargeStyle(token)),\n '&-sm': Object.assign({}, genInputSmallStyle(token)),\n // RTL\n '&-rtl': {\n direction: 'rtl'\n },\n '&-textarea-rtl': {\n direction: 'rtl'\n }\n});\nexport const genInputGroupStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n return {\n position: 'relative',\n display: 'table',\n width: '100%',\n borderCollapse: 'separate',\n borderSpacing: 0,\n // Undo padding and float of grid classes\n [`&[class*='col-']`]: {\n paddingInlineEnd: token.paddingXS,\n '&:last-child': {\n paddingInlineEnd: 0\n }\n },\n // Sizing options\n [`&-lg ${componentCls}, &-lg > ${componentCls}-group-addon`]: Object.assign({}, genInputLargeStyle(token)),\n [`&-sm ${componentCls}, &-sm > ${componentCls}-group-addon`]: Object.assign({}, genInputSmallStyle(token)),\n // Fix https://github.com/ant-design/ant-design/issues/5754\n [`&-lg ${antCls}-select-single ${antCls}-select-selector`]: {\n height: token.controlHeightLG\n },\n [`&-sm ${antCls}-select-single ${antCls}-select-selector`]: {\n height: token.controlHeightSM\n },\n [`> ${componentCls}`]: {\n display: 'table-cell',\n '&:not(:first-child):not(:last-child)': {\n borderRadius: 0\n }\n },\n [`${componentCls}-group`]: {\n [`&-addon, &-wrap`]: {\n display: 'table-cell',\n width: 1,\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n '&:not(:first-child):not(:last-child)': {\n borderRadius: 0\n }\n },\n '&-wrap > *': {\n display: 'block !important'\n },\n '&-addon': {\n position: 'relative',\n padding: `0 ${token.inputPaddingHorizontal}px`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize,\n textAlign: 'center',\n backgroundColor: token.colorFillAlter,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationSlow}`,\n lineHeight: 1,\n // Reset Select's style in addon\n [`${antCls}-select`]: {\n margin: `-${token.inputPaddingVertical + 1}px -${token.inputPaddingHorizontal}px`,\n [`&${antCls}-select-single:not(${antCls}-select-customize-input)`]: {\n [`${antCls}-select-selector`]: {\n backgroundColor: 'inherit',\n border: `${token.lineWidth}px ${token.lineType} transparent`,\n boxShadow: 'none'\n }\n },\n '&-open, &-focused': {\n [`${antCls}-select-selector`]: {\n color: token.colorPrimary\n }\n }\n },\n // https://github.com/ant-design/ant-design/issues/31333\n [`${antCls}-cascader-picker`]: {\n margin: `-9px -${token.inputPaddingHorizontal}px`,\n backgroundColor: 'transparent',\n [`${antCls}-cascader-input`]: {\n textAlign: 'start',\n border: 0,\n boxShadow: 'none'\n }\n }\n },\n '&-addon:first-child': {\n borderInlineEnd: 0\n },\n '&-addon:last-child': {\n borderInlineStart: 0\n }\n },\n [`${componentCls}`]: {\n float: 'inline-start',\n width: '100%',\n marginBottom: 0,\n textAlign: 'inherit',\n '&:focus': {\n zIndex: 1,\n borderInlineEndWidth: 1\n },\n '&:hover': {\n zIndex: 1,\n borderInlineEndWidth: 1,\n [`${componentCls}-search-with-button &`]: {\n zIndex: 0\n }\n }\n },\n // Reset rounded corners\n [`> ${componentCls}:first-child, ${componentCls}-group-addon:first-child`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n // Reset Select's style in addon\n [`${antCls}-select ${antCls}-select-selector`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`> ${componentCls}-affix-wrapper`]: {\n [`&:not(:first-child) ${componentCls}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n },\n [`&:not(:last-child) ${componentCls}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`> ${componentCls}:last-child, ${componentCls}-group-addon:last-child`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0,\n // Reset Select's style in addon\n [`${antCls}-select ${antCls}-select-selector`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`${componentCls}-affix-wrapper`]: {\n '&:not(:last-child)': {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n [`${componentCls}-search &`]: {\n borderStartStartRadius: token.borderRadius,\n borderEndStartRadius: token.borderRadius\n }\n },\n [`&:not(:first-child), ${componentCls}-search &:not(:first-child)`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`&${componentCls}-group-compact`]: Object.assign(Object.assign({\n display: 'block'\n }, clearFix()), {\n [`${componentCls}-group-addon, ${componentCls}-group-wrap, > ${componentCls}`]: {\n '&:not(:first-child):not(:last-child)': {\n borderInlineEndWidth: token.lineWidth,\n '&:hover': {\n zIndex: 1\n },\n '&:focus': {\n zIndex: 1\n }\n }\n },\n '& > *': {\n display: 'inline-block',\n float: 'none',\n verticalAlign: 'top',\n borderRadius: 0\n },\n [`& > ${componentCls}-affix-wrapper`]: {\n display: 'inline-flex'\n },\n [`& > ${antCls}-picker-range`]: {\n display: 'inline-flex'\n },\n '& > *:not(:last-child)': {\n marginInlineEnd: -token.lineWidth,\n borderInlineEndWidth: token.lineWidth\n },\n // Undo float for .ant-input-group .ant-input\n [`${componentCls}`]: {\n float: 'none'\n },\n // reset border for Select, DatePicker, AutoComplete, Cascader, Mention, TimePicker, Input\n [`& > ${antCls}-select > ${antCls}-select-selector,\n & > ${antCls}-select-auto-complete ${componentCls},\n & > ${antCls}-cascader-picker ${componentCls},\n & > ${componentCls}-group-wrapper ${componentCls}`]: {\n borderInlineEndWidth: token.lineWidth,\n borderRadius: 0,\n '&:hover': {\n zIndex: 1\n },\n '&:focus': {\n zIndex: 1\n }\n },\n [`& > ${antCls}-select-focused`]: {\n zIndex: 1\n },\n // update z-index for arrow icon\n [`& > ${antCls}-select > ${antCls}-select-arrow`]: {\n zIndex: 1 // https://github.com/ant-design/ant-design/issues/20371\n },\n [`& > *:first-child,\n & > ${antCls}-select:first-child > ${antCls}-select-selector,\n & > ${antCls}-select-auto-complete:first-child ${componentCls},\n & > ${antCls}-cascader-picker:first-child ${componentCls}`]: {\n borderStartStartRadius: token.borderRadius,\n borderEndStartRadius: token.borderRadius\n },\n [`& > *:last-child,\n & > ${antCls}-select:last-child > ${antCls}-select-selector,\n & > ${antCls}-cascader-picker:last-child ${componentCls},\n & > ${antCls}-cascader-picker-focused:last-child ${componentCls}`]: {\n borderInlineEndWidth: token.lineWidth,\n borderStartEndRadius: token.borderRadius,\n borderEndEndRadius: token.borderRadius\n },\n // https://github.com/ant-design/ant-design/issues/12493\n [`& > ${antCls}-select-auto-complete ${componentCls}`]: {\n verticalAlign: 'top'\n },\n [`${componentCls}-group-wrapper + ${componentCls}-group-wrapper`]: {\n marginInlineStart: -token.lineWidth,\n [`${componentCls}-affix-wrapper`]: {\n borderRadius: 0\n }\n },\n [`${componentCls}-group-wrapper:not(:last-child)`]: {\n [`&${componentCls}-search > ${componentCls}-group`]: {\n [`& > ${componentCls}-group-addon > ${componentCls}-search-button`]: {\n borderRadius: 0\n },\n [`& > ${componentCls}`]: {\n borderStartStartRadius: token.borderRadius,\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n borderEndStartRadius: token.borderRadius\n }\n }\n }\n })\n };\n};\nconst genInputStyle = token => {\n const {\n componentCls,\n controlHeightSM,\n lineWidth\n } = token;\n const FIXED_CHROME_COLOR_HEIGHT = 16;\n const colorSmallPadding = (controlHeightSM - lineWidth * 2 - FIXED_CHROME_COLOR_HEIGHT) / 2;\n return {\n [componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genBasicInputStyle(token)), genStatusStyle(token, componentCls)), {\n '&[type=\"color\"]': {\n height: token.controlHeight,\n [`&${componentCls}-lg`]: {\n height: token.controlHeightLG\n },\n [`&${componentCls}-sm`]: {\n height: controlHeightSM,\n paddingTop: colorSmallPadding,\n paddingBottom: colorSmallPadding\n }\n }\n })\n };\n};\nconst genAllowClearStyle = token => {\n const {\n componentCls\n } = token;\n return {\n // ========================= Input =========================\n [`${componentCls}-clear-icon`]: {\n margin: 0,\n color: token.colorTextQuaternary,\n fontSize: token.fontSizeIcon,\n verticalAlign: -1,\n // https://github.com/ant-design/ant-design/pull/18151\n // https://codesandbox.io/s/wizardly-sun-u10br\n cursor: 'pointer',\n transition: `color ${token.motionDurationSlow}`,\n '&:hover': {\n color: token.colorTextTertiary\n },\n '&:active': {\n color: token.colorText\n },\n '&-hidden': {\n visibility: 'hidden'\n },\n '&-has-suffix': {\n margin: `0 ${token.inputAffixPadding}px`\n }\n },\n // ======================= TextArea ========================\n '&-textarea-with-clear-btn': {\n padding: '0 !important',\n border: '0 !important',\n [`${componentCls}-clear-icon`]: {\n position: 'absolute',\n insetBlockStart: token.paddingXS,\n insetInlineEnd: token.paddingXS,\n zIndex: 1\n }\n }\n };\n};\nconst genAffixStyle = token => {\n const {\n componentCls,\n inputAffixPadding,\n colorTextDescription,\n motionDurationSlow,\n colorIcon,\n colorIconHover,\n iconCls\n } = token;\n return {\n [`${componentCls}-affix-wrapper`]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genBasicInputStyle(token)), {\n display: 'inline-flex',\n [`&:not(${componentCls}-affix-wrapper-disabled):hover`]: Object.assign(Object.assign({}, genHoverStyle(token)), {\n zIndex: 1,\n [`${componentCls}-search-with-button &`]: {\n zIndex: 0\n }\n }),\n '&-focused, &:focus': {\n zIndex: 1\n },\n '&-disabled': {\n [`${componentCls}[disabled]`]: {\n background: 'transparent'\n }\n },\n [`> input${componentCls}`]: {\n padding: 0,\n fontSize: 'inherit',\n border: 'none',\n borderRadius: 0,\n outline: 'none',\n '&:focus': {\n boxShadow: 'none !important'\n }\n },\n '&::before': {\n width: 0,\n visibility: 'hidden',\n content: '\"\\\\a0\"'\n },\n [`${componentCls}`]: {\n '&-prefix, &-suffix': {\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n '> *:not(:last-child)': {\n marginInlineEnd: token.paddingXS\n }\n },\n '&-show-count-suffix': {\n color: colorTextDescription\n },\n '&-show-count-has-suffix': {\n marginInlineEnd: token.paddingXXS\n },\n '&-prefix': {\n marginInlineEnd: inputAffixPadding\n },\n '&-suffix': {\n marginInlineStart: inputAffixPadding\n }\n }\n }), genAllowClearStyle(token)), {\n // password\n [`${iconCls}${componentCls}-password-icon`]: {\n color: colorIcon,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n '&:hover': {\n color: colorIconHover\n }\n }\n }), genStatusStyle(token, `${componentCls}-affix-wrapper`))\n };\n};\nconst genGroupStyle = token => {\n const {\n componentCls,\n colorError,\n colorSuccess,\n borderRadiusLG,\n borderRadiusSM\n } = token;\n return {\n [`${componentCls}-group`]: Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genInputGroupStyle(token)), {\n '&-rtl': {\n direction: 'rtl'\n },\n '&-wrapper': {\n display: 'inline-block',\n width: '100%',\n textAlign: 'start',\n verticalAlign: 'top',\n '&-rtl': {\n direction: 'rtl'\n },\n // Size\n '&-lg': {\n [`${componentCls}-group-addon`]: {\n borderRadius: borderRadiusLG\n }\n },\n '&-sm': {\n [`${componentCls}-group-addon`]: {\n borderRadius: borderRadiusSM\n }\n },\n // Status\n '&-status-error': {\n [`${componentCls}-group-addon`]: {\n color: colorError,\n borderColor: colorError\n }\n },\n '&-status-warning': {\n [`${componentCls}-group-addon:last-child`]: {\n color: colorSuccess,\n borderColor: colorSuccess\n }\n }\n }\n })\n };\n};\nconst genSearchInputStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n const searchPrefixCls = `${componentCls}-search`;\n return {\n [searchPrefixCls]: {\n [`${componentCls}`]: {\n '&:hover, &:focus': {\n borderColor: token.colorPrimaryHover,\n [`+ ${componentCls}-group-addon ${searchPrefixCls}-button:not(${antCls}-btn-primary)`]: {\n borderInlineStartColor: token.colorPrimaryHover\n }\n }\n },\n [`${componentCls}-affix-wrapper`]: {\n borderRadius: 0\n },\n // fix slight height diff in Firefox:\n // https://ant.design/components/auto-complete-cn/#components-auto-complete-demo-certain-category\n [`${componentCls}-lg`]: {\n lineHeight: token.lineHeightLG - 0.0002\n },\n [`> ${componentCls}-group`]: {\n [`> ${componentCls}-group-addon:last-child`]: {\n insetInlineStart: -1,\n padding: 0,\n border: 0,\n [`${searchPrefixCls}-button`]: {\n paddingTop: 0,\n paddingBottom: 0,\n borderStartStartRadius: 0,\n borderStartEndRadius: token.borderRadius,\n borderEndEndRadius: token.borderRadius,\n borderEndStartRadius: 0\n },\n [`${searchPrefixCls}-button:not(${antCls}-btn-primary)`]: {\n color: token.colorTextDescription,\n '&:hover': {\n color: token.colorPrimaryHover\n },\n '&:active': {\n color: token.colorPrimaryActive\n },\n [`&${antCls}-btn-loading::before`]: {\n insetInlineStart: 0,\n insetInlineEnd: 0,\n insetBlockStart: 0,\n insetBlockEnd: 0\n }\n }\n }\n },\n [`${searchPrefixCls}-button`]: {\n height: token.controlHeight,\n '&:hover, &:focus': {\n zIndex: 1\n }\n },\n [`&-large ${searchPrefixCls}-button`]: {\n height: token.controlHeightLG\n },\n [`&-small ${searchPrefixCls}-button`]: {\n height: token.controlHeightSM\n },\n '&-rtl': {\n direction: 'rtl'\n },\n // ===================== Compact Item Customized Styles =====================\n [`&${componentCls}-compact-item`]: {\n [`&:not(${componentCls}-compact-last-item)`]: {\n [`${componentCls}-group-addon`]: {\n [`${componentCls}-search-button`]: {\n marginInlineEnd: -token.lineWidth,\n borderRadius: 0\n }\n }\n },\n [`&:not(${componentCls}-compact-first-item)`]: {\n [`${componentCls},${componentCls}-affix-wrapper`]: {\n borderRadius: 0\n }\n },\n [`> ${componentCls}-group-addon ${componentCls}-search-button,\n > ${componentCls},\n ${componentCls}-affix-wrapper`]: {\n '&:hover,&:focus,&:active': {\n zIndex: 2\n }\n },\n [`> ${componentCls}-affix-wrapper-focused`]: {\n zIndex: 2\n }\n }\n }\n };\n};\nexport function initInputToken(token) {\n // @ts-ignore\n return mergeToken(token, {\n inputAffixPadding: token.paddingXXS,\n inputPaddingVertical: Math.max(Math.round((token.controlHeight - token.fontSize * token.lineHeight) / 2 * 10) / 10 - token.lineWidth, 3),\n inputPaddingVerticalLG: Math.ceil((token.controlHeightLG - token.fontSizeLG * token.lineHeightLG) / 2 * 10) / 10 - token.lineWidth,\n inputPaddingVerticalSM: Math.max(Math.round((token.controlHeightSM - token.fontSize * token.lineHeight) / 2 * 10) / 10 - token.lineWidth, 0),\n inputPaddingHorizontal: token.paddingSM - token.lineWidth,\n inputPaddingHorizontalSM: token.paddingXS - token.lineWidth,\n inputPaddingHorizontalLG: token.controlPaddingHorizontal - token.lineWidth,\n inputBorderHoverColor: token.colorPrimaryHover,\n inputBorderActiveColor: token.colorPrimaryHover\n });\n}\nconst genTextAreaStyle = token => {\n const {\n componentCls,\n inputPaddingHorizontal,\n paddingLG\n } = token;\n const textareaPrefixCls = `${componentCls}-textarea`;\n return {\n [textareaPrefixCls]: {\n position: 'relative',\n [`${textareaPrefixCls}-suffix`]: {\n position: 'absolute',\n top: 0,\n insetInlineEnd: inputPaddingHorizontal,\n bottom: 0,\n zIndex: 1,\n display: 'inline-flex',\n alignItems: 'center',\n margin: 'auto'\n },\n [`&-status-error,\n &-status-warning,\n &-status-success,\n &-status-validating`]: {\n [`&${textareaPrefixCls}-has-feedback`]: {\n [`${componentCls}`]: {\n paddingInlineEnd: paddingLG\n }\n }\n },\n '&-show-count': {\n // https://github.com/ant-design/ant-design/issues/33049\n [`> ${componentCls}`]: {\n height: '100%'\n },\n '&::after': {\n color: token.colorTextDescription,\n whiteSpace: 'nowrap',\n content: 'attr(data-count)',\n pointerEvents: 'none',\n float: 'right'\n }\n },\n '&-rtl': {\n '&::after': {\n float: 'left'\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Input', token => {\n const inputToken = initInputToken(token);\n return [genInputStyle(inputToken), genTextAreaStyle(inputToken), genAffixStyle(inputToken), genGroupStyle(inputToken), genSearchInputStyle(inputToken),\n // =====================================================\n // == Space Compact ==\n // =====================================================\n genCompactItemStyle(inputToken)];\n});","const initMotionCommon = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\n// FIXME: origin less code seems same as initMotionCommon. Maybe we can safe remove\nconst initMotionCommonLeave = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\nexport const initMotion = function (motionCls, inKeyframes, outKeyframes, duration) {\n let sameLevel = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n const sameLevelPrefix = sameLevel ? '&' : '';\n return {\n [`\n ${sameLevelPrefix}${motionCls}-enter,\n ${sameLevelPrefix}${motionCls}-appear\n `]: Object.assign(Object.assign({}, initMotionCommon(duration)), {\n animationPlayState: 'paused'\n }),\n [`${sameLevelPrefix}${motionCls}-leave`]: Object.assign(Object.assign({}, initMotionCommonLeave(duration)), {\n animationPlayState: 'paused'\n }),\n [`\n ${sameLevelPrefix}${motionCls}-enter${motionCls}-enter-active,\n ${sameLevelPrefix}${motionCls}-appear${motionCls}-appear-active\n `]: {\n animationName: inKeyframes,\n animationPlayState: 'running'\n },\n [`${sameLevelPrefix}${motionCls}-leave${motionCls}-leave-active`]: {\n animationName: outKeyframes,\n animationPlayState: 'running',\n pointerEvents: 'none'\n }\n };\n};","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const moveDownIn = new Keyframes('antMoveDownIn', {\n '0%': {\n transform: 'translate3d(0, 100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveDownOut = new Keyframes('antMoveDownOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(0, 100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveLeftIn = new Keyframes('antMoveLeftIn', {\n '0%': {\n transform: 'translate3d(-100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveLeftOut = new Keyframes('antMoveLeftOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(-100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveRightIn = new Keyframes('antMoveRightIn', {\n '0%': {\n transform: 'translate3d(100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveRightOut = new Keyframes('antMoveRightOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveUpIn = new Keyframes('antMoveUpIn', {\n '0%': {\n transform: 'translate3d(0, -100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveUpOut = new Keyframes('antMoveUpOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(0, -100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nconst moveMotion = {\n 'move-up': {\n inKeyframes: moveUpIn,\n outKeyframes: moveUpOut\n },\n 'move-down': {\n inKeyframes: moveDownIn,\n outKeyframes: moveDownOut\n },\n 'move-left': {\n inKeyframes: moveLeftIn,\n outKeyframes: moveLeftOut\n },\n 'move-right': {\n inKeyframes: moveRightIn,\n outKeyframes: moveRightOut\n }\n};\nexport const initMoveMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = moveMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n opacity: 0,\n animationTimingFunction: token.motionEaseOutCirc\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInOutCirc\n }\n }];\n};","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const slideUpIn = new Keyframes('antSlideUpIn', {\n '0%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleY(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n }\n});\nexport const slideUpOut = new Keyframes('antSlideUpOut', {\n '0%': {\n transform: 'scaleY(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n }\n});\nexport const slideDownIn = new Keyframes('antSlideDownIn', {\n '0%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '100% 100%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleY(1)',\n transformOrigin: '100% 100%',\n opacity: 1\n }\n});\nexport const slideDownOut = new Keyframes('antSlideDownOut', {\n '0%': {\n transform: 'scaleY(1)',\n transformOrigin: '100% 100%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '100% 100%',\n opacity: 0\n }\n});\nexport const slideLeftIn = new Keyframes('antSlideLeftIn', {\n '0%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleX(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n }\n});\nexport const slideLeftOut = new Keyframes('antSlideLeftOut', {\n '0%': {\n transform: 'scaleX(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n }\n});\nexport const slideRightIn = new Keyframes('antSlideRightIn', {\n '0%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '100% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleX(1)',\n transformOrigin: '100% 0%',\n opacity: 1\n }\n});\nexport const slideRightOut = new Keyframes('antSlideRightOut', {\n '0%': {\n transform: 'scaleX(1)',\n transformOrigin: '100% 0%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '100% 0%',\n opacity: 0\n }\n});\nconst slideMotion = {\n 'slide-up': {\n inKeyframes: slideUpIn,\n outKeyframes: slideUpOut\n },\n 'slide-down': {\n inKeyframes: slideDownIn,\n outKeyframes: slideDownOut\n },\n 'slide-left': {\n inKeyframes: slideLeftIn,\n outKeyframes: slideLeftOut\n },\n 'slide-right': {\n inKeyframes: slideRightIn,\n outKeyframes: slideRightOut\n }\n};\nexport const initSlideMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = slideMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n transform: 'scale(0)',\n transformOrigin: '0% 0%',\n opacity: 0,\n animationTimingFunction: token.motionEaseOutQuint\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInQuint\n }\n }];\n};","import { TinyColor } from '@ctrl/tinycolor';\nimport { genActiveStyle, genBasicInputStyle, genHoverStyle, initInputToken } from '../../input/style';\nimport { initSlideMotion, initMoveMotion, slideDownIn, slideDownOut, slideUpIn, slideUpOut } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { resetComponent, roundedArrow, textEllipsis } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nconst genPikerPadding = (token, inputHeight, fontSize, paddingHorizontal) => {\n const {\n lineHeight\n } = token;\n const fontHeight = Math.floor(fontSize * lineHeight) + 2;\n const paddingTop = Math.max((inputHeight - fontHeight) / 2, 0);\n const paddingBottom = Math.max(inputHeight - fontHeight - paddingTop, 0);\n return {\n padding: `${paddingTop}px ${paddingHorizontal}px ${paddingBottom}px`\n };\n};\nconst genPickerCellInnerStyle = token => {\n const {\n componentCls,\n pickerCellCls,\n pickerCellInnerCls,\n pickerPanelCellHeight,\n motionDurationSlow,\n borderRadiusSM,\n motionDurationMid,\n controlItemBgHover,\n lineWidth,\n lineType,\n colorPrimary,\n controlItemBgActive,\n colorTextLightSolid,\n controlHeightSM,\n pickerDateHoverRangeBorderColor,\n pickerCellBorderGap,\n pickerBasicCellHoverWithRangeColor,\n pickerPanelCellWidth,\n colorTextDisabled,\n colorBgContainerDisabled\n } = token;\n return {\n '&::before': {\n position: 'absolute',\n top: '50%',\n insetInlineStart: 0,\n insetInlineEnd: 0,\n zIndex: 1,\n height: pickerPanelCellHeight,\n transform: 'translateY(-50%)',\n transition: `all ${motionDurationSlow}`,\n content: '\"\"'\n },\n // >>> Default\n [pickerCellInnerCls]: {\n position: 'relative',\n zIndex: 2,\n display: 'inline-block',\n minWidth: pickerPanelCellHeight,\n height: pickerPanelCellHeight,\n lineHeight: `${pickerPanelCellHeight}px`,\n borderRadius: borderRadiusSM,\n transition: `background ${motionDurationMid}, border ${motionDurationMid}`\n },\n // >>> Hover\n [`&:hover:not(${pickerCellCls}-in-view),\n &:hover:not(${pickerCellCls}-selected):not(${pickerCellCls}-range-start):not(${pickerCellCls}-range-end):not(${pickerCellCls}-range-hover-start):not(${pickerCellCls}-range-hover-end)`]: {\n [pickerCellInnerCls]: {\n background: controlItemBgHover\n }\n },\n // >>> Today\n [`&-in-view${pickerCellCls}-today ${pickerCellInnerCls}`]: {\n '&::before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0,\n zIndex: 1,\n border: `${lineWidth}px ${lineType} ${colorPrimary}`,\n borderRadius: borderRadiusSM,\n content: '\"\"'\n }\n },\n // >>> In Range\n [`&-in-view${pickerCellCls}-in-range`]: {\n position: 'relative',\n '&::before': {\n background: controlItemBgActive\n }\n },\n // >>> Selected\n [`&-in-view${pickerCellCls}-selected ${pickerCellInnerCls},\n &-in-view${pickerCellCls}-range-start ${pickerCellInnerCls},\n &-in-view${pickerCellCls}-range-end ${pickerCellInnerCls}`]: {\n color: colorTextLightSolid,\n background: colorPrimary\n },\n [`&-in-view${pickerCellCls}-range-start:not(${pickerCellCls}-range-start-single),\n &-in-view${pickerCellCls}-range-end:not(${pickerCellCls}-range-end-single)`]: {\n '&::before': {\n background: controlItemBgActive\n }\n },\n [`&-in-view${pickerCellCls}-range-start::before`]: {\n insetInlineStart: '50%'\n },\n [`&-in-view${pickerCellCls}-range-end::before`]: {\n insetInlineEnd: '50%'\n },\n // >>> Range Hover\n [`&-in-view${pickerCellCls}-range-hover-start:not(${pickerCellCls}-in-range):not(${pickerCellCls}-range-start):not(${pickerCellCls}-range-end),\n &-in-view${pickerCellCls}-range-hover-end:not(${pickerCellCls}-in-range):not(${pickerCellCls}-range-start):not(${pickerCellCls}-range-end),\n &-in-view${pickerCellCls}-range-hover-start${pickerCellCls}-range-start-single,\n &-in-view${pickerCellCls}-range-hover-start${pickerCellCls}-range-start${pickerCellCls}-range-end${pickerCellCls}-range-end-near-hover,\n &-in-view${pickerCellCls}-range-hover-end${pickerCellCls}-range-start${pickerCellCls}-range-end${pickerCellCls}-range-start-near-hover,\n &-in-view${pickerCellCls}-range-hover-end${pickerCellCls}-range-end-single,\n &-in-view${pickerCellCls}-range-hover:not(${pickerCellCls}-in-range)`]: {\n '&::after': {\n position: 'absolute',\n top: '50%',\n zIndex: 0,\n height: controlHeightSM,\n borderTop: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n borderBottom: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n transform: 'translateY(-50%)',\n transition: `all ${motionDurationSlow}`,\n content: '\"\"'\n }\n },\n // Add space for stash\n [`&-range-hover-start::after,\n &-range-hover-end::after,\n &-range-hover::after`]: {\n insetInlineEnd: 0,\n insetInlineStart: pickerCellBorderGap\n },\n // Hover with in range\n [`&-in-view${pickerCellCls}-in-range${pickerCellCls}-range-hover::before,\n &-in-view${pickerCellCls}-range-start${pickerCellCls}-range-hover::before,\n &-in-view${pickerCellCls}-range-end${pickerCellCls}-range-hover::before,\n &-in-view${pickerCellCls}-range-start:not(${pickerCellCls}-range-start-single)${pickerCellCls}-range-hover-start::before,\n &-in-view${pickerCellCls}-range-end:not(${pickerCellCls}-range-end-single)${pickerCellCls}-range-hover-end::before,\n ${componentCls}-panel\n > :not(${componentCls}-date-panel)\n &-in-view${pickerCellCls}-in-range${pickerCellCls}-range-hover-start::before,\n ${componentCls}-panel\n > :not(${componentCls}-date-panel)\n &-in-view${pickerCellCls}-in-range${pickerCellCls}-range-hover-end::before`]: {\n background: pickerBasicCellHoverWithRangeColor\n },\n // range start border-radius\n [`&-in-view${pickerCellCls}-range-start:not(${pickerCellCls}-range-start-single):not(${pickerCellCls}-range-end) ${pickerCellInnerCls}`]: {\n borderStartStartRadius: borderRadiusSM,\n borderEndStartRadius: borderRadiusSM,\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n },\n // range end border-radius\n [`&-in-view${pickerCellCls}-range-end:not(${pickerCellCls}-range-end-single):not(${pickerCellCls}-range-start) ${pickerCellInnerCls}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0,\n borderStartEndRadius: borderRadiusSM,\n borderEndEndRadius: borderRadiusSM\n },\n [`&-range-hover${pickerCellCls}-range-end::after`]: {\n insetInlineStart: '50%'\n },\n // Edge start\n [`tr > &-in-view${pickerCellCls}-range-hover:first-child::after,\n tr > &-in-view${pickerCellCls}-range-hover-end:first-child::after,\n &-in-view${pickerCellCls}-start${pickerCellCls}-range-hover-edge-start${pickerCellCls}-range-hover-edge-start-near-range::after,\n &-in-view${pickerCellCls}-range-hover-edge-start:not(${pickerCellCls}-range-hover-edge-start-near-range)::after,\n &-in-view${pickerCellCls}-range-hover-start::after`]: {\n insetInlineStart: (pickerPanelCellWidth - pickerPanelCellHeight) / 2,\n borderInlineStart: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n borderStartStartRadius: lineWidth,\n borderEndStartRadius: lineWidth\n },\n // Edge end\n [`tr > &-in-view${pickerCellCls}-range-hover:last-child::after,\n tr > &-in-view${pickerCellCls}-range-hover-start:last-child::after,\n &-in-view${pickerCellCls}-end${pickerCellCls}-range-hover-edge-end${pickerCellCls}-range-hover-edge-end-near-range::after,\n &-in-view${pickerCellCls}-range-hover-edge-end:not(${pickerCellCls}-range-hover-edge-end-near-range)::after,\n &-in-view${pickerCellCls}-range-hover-end::after`]: {\n insetInlineEnd: (pickerPanelCellWidth - pickerPanelCellHeight) / 2,\n borderInlineEnd: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n borderStartEndRadius: lineWidth,\n borderEndEndRadius: lineWidth\n },\n // >>> Disabled\n '&-disabled': {\n color: colorTextDisabled,\n pointerEvents: 'none',\n [pickerCellInnerCls]: {\n background: 'transparent'\n },\n '&::before': {\n background: colorBgContainerDisabled\n }\n },\n [`&-disabled${pickerCellCls}-today ${pickerCellInnerCls}::before`]: {\n borderColor: colorTextDisabled\n }\n };\n};\nexport const genPanelStyle = token => {\n const {\n componentCls,\n pickerCellInnerCls,\n pickerYearMonthCellWidth,\n pickerControlIconSize,\n pickerPanelCellWidth,\n paddingSM,\n paddingXS,\n paddingXXS,\n colorBgContainer,\n lineWidth,\n lineType,\n borderRadiusLG,\n colorPrimary,\n colorTextHeading,\n colorSplit,\n pickerControlIconBorderWidth,\n colorIcon,\n pickerTextHeight,\n motionDurationMid,\n colorIconHover,\n fontWeightStrong,\n pickerPanelCellHeight,\n pickerCellPaddingVertical,\n colorTextDisabled,\n colorText,\n fontSize,\n pickerBasicCellHoverWithRangeColor,\n motionDurationSlow,\n pickerPanelWithoutTimeCellHeight,\n pickerQuarterPanelContentHeight,\n colorLink,\n colorLinkActive,\n colorLinkHover,\n pickerDateHoverRangeBorderColor,\n borderRadiusSM,\n colorTextLightSolid,\n borderRadius,\n controlItemBgHover,\n pickerTimePanelColumnHeight,\n pickerTimePanelColumnWidth,\n pickerTimePanelCellHeight,\n controlItemBgActive,\n marginXXS\n } = token;\n const pickerPanelWidth = pickerPanelCellWidth * 7 + paddingSM * 2 + 4;\n const hoverCellFixedDistance = (pickerPanelWidth - paddingXS * 2) / 3 - pickerYearMonthCellWidth / 2;\n return {\n [componentCls]: {\n '&-panel': {\n display: 'inline-flex',\n flexDirection: 'column',\n textAlign: 'center',\n background: colorBgContainer,\n border: `${lineWidth}px ${lineType} ${colorSplit}`,\n borderRadius: borderRadiusLG,\n outline: 'none',\n '&-focused': {\n borderColor: colorPrimary\n },\n '&-rtl': {\n direction: 'rtl',\n [`${componentCls}-prev-icon,\n ${componentCls}-super-prev-icon`]: {\n transform: 'rotate(45deg)'\n },\n [`${componentCls}-next-icon,\n ${componentCls}-super-next-icon`]: {\n transform: 'rotate(-135deg)'\n }\n }\n },\n // ========================================================\n // = Shared Panel =\n // ========================================================\n [`&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel,\n &-week-panel,\n &-date-panel,\n &-time-panel`]: {\n display: 'flex',\n flexDirection: 'column',\n width: pickerPanelWidth\n },\n // ======================= Header =======================\n '&-header': {\n display: 'flex',\n padding: `0 ${paddingXS}px`,\n color: colorTextHeading,\n borderBottom: `${lineWidth}px ${lineType} ${colorSplit}`,\n '> *': {\n flex: 'none'\n },\n button: {\n padding: 0,\n color: colorIcon,\n lineHeight: `${pickerTextHeight}px`,\n background: 'transparent',\n border: 0,\n cursor: 'pointer',\n transition: `color ${motionDurationMid}`\n },\n '> button': {\n minWidth: '1.6em',\n fontSize,\n '&:hover': {\n color: colorIconHover\n }\n },\n '&-view': {\n flex: 'auto',\n fontWeight: fontWeightStrong,\n lineHeight: `${pickerTextHeight}px`,\n button: {\n color: 'inherit',\n fontWeight: 'inherit',\n verticalAlign: 'top',\n '&:not(:first-child)': {\n marginInlineStart: paddingXS\n },\n '&:hover': {\n color: colorPrimary\n }\n }\n }\n },\n // Arrow button\n [`&-prev-icon,\n &-next-icon,\n &-super-prev-icon,\n &-super-next-icon`]: {\n position: 'relative',\n display: 'inline-block',\n width: pickerControlIconSize,\n height: pickerControlIconSize,\n '&::before': {\n position: 'absolute',\n top: 0,\n insetInlineStart: 0,\n display: 'inline-block',\n width: pickerControlIconSize,\n height: pickerControlIconSize,\n border: `0 solid currentcolor`,\n borderBlockStartWidth: pickerControlIconBorderWidth,\n borderBlockEndWidth: 0,\n borderInlineStartWidth: pickerControlIconBorderWidth,\n borderInlineEndWidth: 0,\n content: '\"\"'\n }\n },\n [`&-super-prev-icon,\n &-super-next-icon`]: {\n '&::after': {\n position: 'absolute',\n top: Math.ceil(pickerControlIconSize / 2),\n insetInlineStart: Math.ceil(pickerControlIconSize / 2),\n display: 'inline-block',\n width: pickerControlIconSize,\n height: pickerControlIconSize,\n border: '0 solid currentcolor',\n borderBlockStartWidth: pickerControlIconBorderWidth,\n borderBlockEndWidth: 0,\n borderInlineStartWidth: pickerControlIconBorderWidth,\n borderInlineEndWidth: 0,\n content: '\"\"'\n }\n },\n [`&-prev-icon,\n &-super-prev-icon`]: {\n transform: 'rotate(-45deg)'\n },\n [`&-next-icon,\n &-super-next-icon`]: {\n transform: 'rotate(135deg)'\n },\n // ======================== Body ========================\n '&-content': {\n width: '100%',\n tableLayout: 'fixed',\n borderCollapse: 'collapse',\n 'th, td': {\n position: 'relative',\n minWidth: pickerPanelCellHeight,\n fontWeight: 'normal'\n },\n th: {\n height: pickerPanelCellHeight + pickerCellPaddingVertical * 2,\n color: colorText,\n verticalAlign: 'middle'\n }\n },\n '&-cell': Object.assign({\n padding: `${pickerCellPaddingVertical}px 0`,\n color: colorTextDisabled,\n cursor: 'pointer',\n // In view\n '&-in-view': {\n color: colorText\n }\n }, genPickerCellInnerStyle(token)),\n // DatePanel only\n [`&-date-panel ${componentCls}-cell-in-view${componentCls}-cell-in-range${componentCls}-cell-range-hover-start ${pickerCellInnerCls},\n &-date-panel ${componentCls}-cell-in-view${componentCls}-cell-in-range${componentCls}-cell-range-hover-end ${pickerCellInnerCls}`]: {\n '&::after': {\n position: 'absolute',\n top: 0,\n bottom: 0,\n zIndex: -1,\n background: pickerBasicCellHoverWithRangeColor,\n transition: `all ${motionDurationSlow}`,\n content: '\"\"'\n }\n },\n [`&-date-panel\n ${componentCls}-cell-in-view${componentCls}-cell-in-range${componentCls}-cell-range-hover-start\n ${pickerCellInnerCls}::after`]: {\n insetInlineEnd: -(pickerPanelCellWidth - pickerPanelCellHeight) / 2,\n insetInlineStart: 0\n },\n [`&-date-panel ${componentCls}-cell-in-view${componentCls}-cell-in-range${componentCls}-cell-range-hover-end ${pickerCellInnerCls}::after`]: {\n insetInlineEnd: 0,\n insetInlineStart: -(pickerPanelCellWidth - pickerPanelCellHeight) / 2\n },\n // Hover with range start & end\n [`&-range-hover${componentCls}-range-start::after`]: {\n insetInlineEnd: '50%'\n },\n [`&-decade-panel,\n &-year-panel,\n &-quarter-panel,\n &-month-panel`]: {\n [`${componentCls}-content`]: {\n height: pickerPanelWithoutTimeCellHeight * 4\n },\n [pickerCellInnerCls]: {\n padding: `0 ${paddingXS}px`\n }\n },\n '&-quarter-panel': {\n [`${componentCls}-content`]: {\n height: pickerQuarterPanelContentHeight\n }\n },\n // ======================== Footer ========================\n [`&-panel ${componentCls}-footer`]: {\n borderTop: `${lineWidth}px ${lineType} ${colorSplit}`\n },\n '&-footer': {\n width: 'min-content',\n minWidth: '100%',\n lineHeight: `${pickerTextHeight - 2 * lineWidth}px`,\n textAlign: 'center',\n '&-extra': {\n padding: `0 ${paddingSM}`,\n lineHeight: `${pickerTextHeight - 2 * lineWidth}px`,\n textAlign: 'start',\n '&:not(:last-child)': {\n borderBottom: `${lineWidth}px ${lineType} ${colorSplit}`\n }\n }\n },\n '&-now': {\n textAlign: 'start'\n },\n '&-today-btn': {\n color: colorLink,\n '&:hover': {\n color: colorLinkHover\n },\n '&:active': {\n color: colorLinkActive\n },\n [`&${componentCls}-today-btn-disabled`]: {\n color: colorTextDisabled,\n cursor: 'not-allowed'\n }\n },\n // ========================================================\n // = Special =\n // ========================================================\n // ===================== Decade Panel =====================\n '&-decade-panel': {\n [pickerCellInnerCls]: {\n padding: `0 ${paddingXS / 2}px`\n },\n [`${componentCls}-cell::before`]: {\n display: 'none'\n }\n },\n // ============= Year & Quarter & Month Panel =============\n [`&-year-panel,\n &-quarter-panel,\n &-month-panel`]: {\n [`${componentCls}-body`]: {\n padding: `0 ${paddingXS}px`\n },\n [pickerCellInnerCls]: {\n width: pickerYearMonthCellWidth\n },\n [`${componentCls}-cell-range-hover-start::after`]: {\n insetInlineStart: hoverCellFixedDistance,\n borderInlineStart: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n borderStartStartRadius: borderRadiusSM,\n borderBottomStartRadius: borderRadiusSM,\n borderStartEndRadius: 0,\n borderBottomEndRadius: 0,\n [`${componentCls}-panel-rtl &`]: {\n insetInlineEnd: hoverCellFixedDistance,\n borderInlineEnd: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n borderStartStartRadius: 0,\n borderBottomStartRadius: 0,\n borderStartEndRadius: borderRadiusSM,\n borderBottomEndRadius: borderRadiusSM\n }\n },\n [`${componentCls}-cell-range-hover-end::after`]: {\n insetInlineEnd: hoverCellFixedDistance,\n borderInlineEnd: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n borderStartStartRadius: 0,\n borderBottomStartRadius: 0,\n borderStartEndRadius: borderRadius,\n borderBottomEndRadius: borderRadius,\n [`${componentCls}-panel-rtl &`]: {\n insetInlineStart: hoverCellFixedDistance,\n borderInlineStart: `${lineWidth}px dashed ${pickerDateHoverRangeBorderColor}`,\n borderStartStartRadius: borderRadius,\n borderBottomStartRadius: borderRadius,\n borderStartEndRadius: 0,\n borderBottomEndRadius: 0\n }\n }\n },\n // ====================== Week Panel ======================\n '&-week-panel': {\n [`${componentCls}-body`]: {\n padding: `${paddingXS}px ${paddingSM}px`\n },\n // Clear cell style\n [`${componentCls}-cell`]: {\n [`&:hover ${pickerCellInnerCls},\n &-selected ${pickerCellInnerCls},\n ${pickerCellInnerCls}`]: {\n background: 'transparent !important'\n }\n },\n '&-row': {\n td: {\n transition: `background ${motionDurationMid}`,\n '&:first-child': {\n borderStartStartRadius: borderRadiusSM,\n borderEndStartRadius: borderRadiusSM\n },\n '&:last-child': {\n borderStartEndRadius: borderRadiusSM,\n borderEndEndRadius: borderRadiusSM\n }\n },\n '&:hover td': {\n background: controlItemBgHover\n },\n [`&-selected td,\n &-selected:hover td`]: {\n background: colorPrimary,\n [`&${componentCls}-cell-week`]: {\n color: new TinyColor(colorTextLightSolid).setAlpha(0.5).toHexString()\n },\n [`&${componentCls}-cell-today ${pickerCellInnerCls}::before`]: {\n borderColor: colorTextLightSolid\n },\n [pickerCellInnerCls]: {\n color: colorTextLightSolid\n }\n }\n }\n },\n // ====================== Date Panel ======================\n '&-date-panel': {\n [`${componentCls}-body`]: {\n padding: `${paddingXS}px ${paddingSM}px`\n },\n [`${componentCls}-content`]: {\n width: pickerPanelCellWidth * 7,\n th: {\n width: pickerPanelCellWidth\n }\n }\n },\n // ==================== Datetime Panel ====================\n '&-datetime-panel': {\n display: 'flex',\n [`${componentCls}-time-panel`]: {\n borderInlineStart: `${lineWidth}px ${lineType} ${colorSplit}`\n },\n [`${componentCls}-date-panel,\n ${componentCls}-time-panel`]: {\n transition: `opacity ${motionDurationSlow}`\n },\n // Keyboard\n '&-active': {\n [`${componentCls}-date-panel,\n ${componentCls}-time-panel`]: {\n opacity: 0.3,\n '&-active': {\n opacity: 1\n }\n }\n }\n },\n // ====================== Time Panel ======================\n '&-time-panel': {\n width: 'auto',\n minWidth: 'auto',\n direction: 'ltr',\n [`${componentCls}-content`]: {\n display: 'flex',\n flex: 'auto',\n height: pickerTimePanelColumnHeight\n },\n '&-column': {\n flex: '1 0 auto',\n width: pickerTimePanelColumnWidth,\n margin: `${paddingXXS}px 0`,\n padding: 0,\n overflowY: 'hidden',\n textAlign: 'start',\n listStyle: 'none',\n transition: `background ${motionDurationMid}`,\n overflowX: 'hidden',\n '&::after': {\n display: 'block',\n height: pickerTimePanelColumnHeight - pickerTimePanelCellHeight,\n content: '\"\"'\n },\n '&:not(:first-child)': {\n borderInlineStart: `${lineWidth}px ${lineType} ${colorSplit}`\n },\n '&-active': {\n background: new TinyColor(controlItemBgActive).setAlpha(0.2).toHexString()\n },\n '&:hover': {\n overflowY: 'auto'\n },\n '> li': {\n margin: 0,\n padding: 0,\n [`&${componentCls}-time-panel-cell`]: {\n marginInline: marginXXS,\n [`${componentCls}-time-panel-cell-inner`]: {\n display: 'block',\n width: pickerTimePanelColumnWidth - 2 * marginXXS,\n height: pickerTimePanelCellHeight,\n margin: 0,\n paddingBlock: 0,\n paddingInlineEnd: 0,\n paddingInlineStart: (pickerTimePanelColumnWidth - pickerTimePanelCellHeight) / 2,\n color: colorText,\n lineHeight: `${pickerTimePanelCellHeight}px`,\n borderRadius: borderRadiusSM,\n cursor: 'pointer',\n transition: `background ${motionDurationMid}`,\n '&:hover': {\n background: controlItemBgHover\n }\n },\n '&-selected': {\n [`${componentCls}-time-panel-cell-inner`]: {\n background: controlItemBgActive\n }\n },\n '&-disabled': {\n [`${componentCls}-time-panel-cell-inner`]: {\n color: colorTextDisabled,\n background: 'transparent',\n cursor: 'not-allowed'\n }\n }\n }\n }\n }\n },\n // https://github.com/ant-design/ant-design/issues/39227\n [`&-datetime-panel ${componentCls}-time-panel-column:after`]: {\n height: pickerTimePanelColumnHeight - pickerTimePanelCellHeight + paddingXXS * 2\n }\n }\n };\n};\nconst genPickerStatusStyle = token => {\n const {\n componentCls,\n colorBgContainer,\n colorError,\n colorErrorOutline,\n colorWarning,\n colorWarningOutline\n } = token;\n return {\n [componentCls]: {\n [`&-status-error${componentCls}`]: {\n '&, &:not([disabled]):hover': {\n backgroundColor: colorBgContainer,\n borderColor: colorError\n },\n '&-focused, &:focus': Object.assign({}, genActiveStyle(mergeToken(token, {\n inputBorderActiveColor: colorError,\n inputBorderHoverColor: colorError,\n controlOutline: colorErrorOutline\n }))),\n [`${componentCls}-active-bar`]: {\n background: colorError\n }\n },\n [`&-status-warning${componentCls}`]: {\n '&, &:not([disabled]):hover': {\n backgroundColor: colorBgContainer,\n borderColor: colorWarning\n },\n '&-focused, &:focus': Object.assign({}, genActiveStyle(mergeToken(token, {\n inputBorderActiveColor: colorWarning,\n inputBorderHoverColor: colorWarning,\n controlOutline: colorWarningOutline\n }))),\n [`${componentCls}-active-bar`]: {\n background: colorWarning\n }\n }\n }\n };\n};\nconst genPickerStyle = token => {\n const {\n componentCls,\n antCls,\n boxShadowPopoverArrow,\n controlHeight,\n fontSize,\n inputPaddingHorizontal,\n colorBgContainer,\n lineWidth,\n lineType,\n colorBorder,\n borderRadius,\n motionDurationMid,\n colorBgContainerDisabled,\n colorTextDisabled,\n colorTextPlaceholder,\n controlHeightLG,\n fontSizeLG,\n controlHeightSM,\n inputPaddingHorizontalSM,\n paddingXS,\n marginXS,\n colorTextDescription,\n lineWidthBold,\n lineHeight,\n colorPrimary,\n motionDurationSlow,\n zIndexPopup,\n paddingXXS,\n paddingSM,\n pickerTextHeight,\n controlItemBgActive,\n colorPrimaryBorder,\n sizePopupArrow,\n borderRadiusXS,\n borderRadiusOuter,\n colorBgElevated,\n borderRadiusLG,\n boxShadowSecondary,\n borderRadiusSM,\n colorSplit,\n controlItemBgHover,\n presetsWidth,\n presetsMaxWidth\n } = token;\n return [{\n [componentCls]: Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genPikerPadding(token, controlHeight, fontSize, inputPaddingHorizontal)), {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n background: colorBgContainer,\n lineHeight: 1,\n border: `${lineWidth}px ${lineType} ${colorBorder}`,\n borderRadius,\n transition: `border ${motionDurationMid}, box-shadow ${motionDurationMid}`,\n '&:hover, &-focused': Object.assign({}, genHoverStyle(token)),\n '&-focused': Object.assign({}, genActiveStyle(token)),\n [`&${componentCls}-disabled`]: {\n background: colorBgContainerDisabled,\n borderColor: colorBorder,\n cursor: 'not-allowed',\n [`${componentCls}-suffix`]: {\n color: colorTextDisabled\n }\n },\n [`&${componentCls}-borderless`]: {\n backgroundColor: 'transparent !important',\n borderColor: 'transparent !important',\n boxShadow: 'none !important'\n },\n // ======================== Input =========================\n [`${componentCls}-input`]: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%',\n '> input': Object.assign(Object.assign({}, genBasicInputStyle(token)), {\n flex: 'auto',\n // Fix Firefox flex not correct:\n // https://github.com/ant-design/ant-design/pull/20023#issuecomment-564389553\n minWidth: 1,\n height: 'auto',\n padding: 0,\n background: 'transparent',\n border: 0,\n '&:focus': {\n boxShadow: 'none'\n },\n '&[disabled]': {\n background: 'transparent'\n }\n }),\n '&:hover': {\n [`${componentCls}-clear`]: {\n opacity: 1\n }\n },\n '&-placeholder': {\n '> input': {\n color: colorTextPlaceholder\n }\n }\n },\n // Size\n '&-large': Object.assign(Object.assign({}, genPikerPadding(token, controlHeightLG, fontSizeLG, inputPaddingHorizontal)), {\n [`${componentCls}-input > input`]: {\n fontSize: fontSizeLG\n }\n }),\n '&-small': Object.assign({}, genPikerPadding(token, controlHeightSM, fontSize, inputPaddingHorizontalSM)),\n [`${componentCls}-suffix`]: {\n display: 'flex',\n flex: 'none',\n alignSelf: 'center',\n marginInlineStart: paddingXS / 2,\n color: colorTextDisabled,\n lineHeight: 1,\n pointerEvents: 'none',\n '> *': {\n verticalAlign: 'top',\n '&:not(:last-child)': {\n marginInlineEnd: marginXS\n }\n }\n },\n [`${componentCls}-clear`]: {\n position: 'absolute',\n top: '50%',\n insetInlineEnd: 0,\n color: colorTextDisabled,\n lineHeight: 1,\n background: colorBgContainer,\n transform: 'translateY(-50%)',\n cursor: 'pointer',\n opacity: 0,\n transition: `opacity ${motionDurationMid}, color ${motionDurationMid}`,\n '> *': {\n verticalAlign: 'top'\n },\n '&:hover': {\n color: colorTextDescription\n }\n },\n [`${componentCls}-separator`]: {\n position: 'relative',\n display: 'inline-block',\n width: '1em',\n height: fontSizeLG,\n color: colorTextDisabled,\n fontSize: fontSizeLG,\n verticalAlign: 'top',\n cursor: 'default',\n [`${componentCls}-focused &`]: {\n color: colorTextDescription\n },\n [`${componentCls}-range-separator &`]: {\n [`${componentCls}-disabled &`]: {\n cursor: 'not-allowed'\n }\n }\n },\n // ======================== Range =========================\n '&-range': {\n position: 'relative',\n display: 'inline-flex',\n // Clear\n [`${componentCls}-clear`]: {\n insetInlineEnd: inputPaddingHorizontal\n },\n '&:hover': {\n [`${componentCls}-clear`]: {\n opacity: 1\n }\n },\n // Active bar\n [`${componentCls}-active-bar`]: {\n bottom: -lineWidth,\n height: lineWidthBold,\n marginInlineStart: inputPaddingHorizontal,\n background: colorPrimary,\n opacity: 0,\n transition: `all ${motionDurationSlow} ease-out`,\n pointerEvents: 'none'\n },\n [`&${componentCls}-focused`]: {\n [`${componentCls}-active-bar`]: {\n opacity: 1\n }\n },\n [`${componentCls}-range-separator`]: {\n alignItems: 'center',\n padding: `0 ${paddingXS}px`,\n lineHeight: 1\n },\n [`&${componentCls}-small`]: {\n [`${componentCls}-clear`]: {\n insetInlineEnd: inputPaddingHorizontalSM\n },\n [`${componentCls}-active-bar`]: {\n marginInlineStart: inputPaddingHorizontalSM\n }\n }\n },\n // ======================= Dropdown =======================\n '&-dropdown': Object.assign(Object.assign(Object.assign({}, resetComponent(token)), genPanelStyle(token)), {\n position: 'absolute',\n // Fix incorrect position of picker popup\n // https://github.com/ant-design/ant-design/issues/35590\n top: -9999,\n left: {\n _skip_check_: true,\n value: -9999\n },\n zIndex: zIndexPopup,\n [`&${componentCls}-dropdown-hidden`]: {\n display: 'none'\n },\n [`&${componentCls}-dropdown-placement-bottomLeft`]: {\n [`${componentCls}-range-arrow`]: {\n top: 0,\n display: 'block',\n transform: 'translateY(-100%)'\n }\n },\n [`&${componentCls}-dropdown-placement-topLeft`]: {\n [`${componentCls}-range-arrow`]: {\n bottom: 0,\n display: 'block',\n transform: 'translateY(100%) rotate(180deg)'\n }\n },\n [`&${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-dropdown-placement-topLeft,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-dropdown-placement-topRight,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-dropdown-placement-topLeft,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-dropdown-placement-topRight`]: {\n animationName: slideDownIn\n },\n [`&${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-dropdown-placement-bottomLeft,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-dropdown-placement-bottomRight,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-dropdown-placement-bottomLeft,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-dropdown-placement-bottomRight`]: {\n animationName: slideUpIn\n },\n [`&${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-dropdown-placement-topLeft,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-dropdown-placement-topRight`]: {\n animationName: slideDownOut\n },\n [`&${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-dropdown-placement-bottomLeft,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-dropdown-placement-bottomRight`]: {\n animationName: slideUpOut\n },\n // Time picker with additional style\n [`${componentCls}-panel > ${componentCls}-time-panel`]: {\n paddingTop: paddingXXS\n },\n // ======================== Ranges ========================\n [`${componentCls}-ranges`]: {\n marginBottom: 0,\n padding: `${paddingXXS}px ${paddingSM}px`,\n overflow: 'hidden',\n lineHeight: `${pickerTextHeight - 2 * lineWidth - paddingXS / 2}px`,\n textAlign: 'start',\n listStyle: 'none',\n display: 'flex',\n justifyContent: 'space-between',\n '> li': {\n display: 'inline-block'\n },\n // https://github.com/ant-design/ant-design/issues/23687\n [`${componentCls}-preset > ${antCls}-tag-blue`]: {\n color: colorPrimary,\n background: controlItemBgActive,\n borderColor: colorPrimaryBorder,\n cursor: 'pointer'\n },\n [`${componentCls}-ok`]: {\n marginInlineStart: 'auto'\n }\n },\n [`${componentCls}-range-wrapper`]: {\n display: 'flex',\n position: 'relative'\n },\n [`${componentCls}-range-arrow`]: Object.assign({\n position: 'absolute',\n zIndex: 1,\n display: 'none',\n marginInlineStart: inputPaddingHorizontal * 1.5,\n transition: `left ${motionDurationSlow} ease-out`\n }, roundedArrow(sizePopupArrow, borderRadiusXS, borderRadiusOuter, colorBgElevated, boxShadowPopoverArrow)),\n [`${componentCls}-panel-container`]: {\n overflow: 'hidden',\n verticalAlign: 'top',\n background: colorBgElevated,\n borderRadius: borderRadiusLG,\n boxShadow: boxShadowSecondary,\n transition: `margin ${motionDurationSlow}`,\n // ======================== Layout ========================\n [`${componentCls}-panel-layout`]: {\n display: 'flex',\n flexWrap: 'nowrap',\n alignItems: 'stretch'\n },\n // ======================== Preset ========================\n [`${componentCls}-presets`]: {\n display: 'flex',\n flexDirection: 'column',\n minWidth: presetsWidth,\n maxWidth: presetsMaxWidth,\n ul: {\n height: 0,\n flex: 'auto',\n listStyle: 'none',\n overflow: 'auto',\n margin: 0,\n padding: paddingXS,\n borderInlineEnd: `${lineWidth}px ${lineType} ${colorSplit}`,\n li: Object.assign(Object.assign({}, textEllipsis), {\n borderRadius: borderRadiusSM,\n paddingInline: paddingXS,\n paddingBlock: (controlHeightSM - Math.round(fontSize * lineHeight)) / 2,\n cursor: 'pointer',\n transition: `all ${motionDurationSlow}`,\n '+ li': {\n marginTop: marginXS\n },\n '&:hover': {\n background: controlItemBgHover\n }\n })\n }\n },\n // ======================== Panels ========================\n [`${componentCls}-panels`]: {\n display: 'inline-flex',\n flexWrap: 'nowrap',\n direction: 'ltr',\n [`${componentCls}-panel`]: {\n borderWidth: `0 0 ${lineWidth}px`\n },\n '&:last-child': {\n [`${componentCls}-panel`]: {\n borderWidth: 0\n }\n }\n },\n [`${componentCls}-panel`]: {\n verticalAlign: 'top',\n background: 'transparent',\n borderRadius: 0,\n borderWidth: 0,\n [`${componentCls}-content,\n table`]: {\n textAlign: 'center'\n },\n '&-focused': {\n borderColor: colorBorder\n }\n }\n }\n }),\n '&-dropdown-range': {\n padding: `${sizePopupArrow * 2 / 3}px 0`,\n '&-hidden': {\n display: 'none'\n }\n },\n '&-rtl': {\n direction: 'rtl',\n [`${componentCls}-separator`]: {\n transform: 'rotate(180deg)'\n },\n [`${componentCls}-footer`]: {\n '&-extra': {\n direction: 'rtl'\n }\n }\n }\n })\n },\n // Follow code may reuse in other components\n initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down'), initMoveMotion(token, 'move-up'), initMoveMotion(token, 'move-down')];\n};\nexport const initPickerPanelToken = token => {\n const pickerTimePanelCellHeight = 28;\n const {\n componentCls,\n controlHeightLG,\n controlHeightSM,\n colorPrimary,\n paddingXXS\n } = token;\n return {\n pickerCellCls: `${componentCls}-cell`,\n pickerCellInnerCls: `${componentCls}-cell-inner`,\n pickerTextHeight: controlHeightLG,\n pickerPanelCellWidth: controlHeightSM * 1.5,\n pickerPanelCellHeight: controlHeightSM,\n pickerDateHoverRangeBorderColor: new TinyColor(colorPrimary).lighten(20).toHexString(),\n pickerBasicCellHoverWithRangeColor: new TinyColor(colorPrimary).lighten(35).toHexString(),\n pickerPanelWithoutTimeCellHeight: controlHeightLG * 1.65,\n pickerYearMonthCellWidth: controlHeightLG * 1.5,\n pickerTimePanelColumnHeight: pickerTimePanelCellHeight * 8,\n pickerTimePanelColumnWidth: controlHeightLG * 1.4,\n pickerTimePanelCellHeight,\n pickerQuarterPanelContentHeight: controlHeightLG * 1.4,\n pickerCellPaddingVertical: paddingXXS,\n pickerCellBorderGap: 2,\n pickerControlIconSize: 7,\n pickerControlIconBorderWidth: 1.5\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('DatePicker', token => {\n const pickerToken = mergeToken(initInputToken(token), initPickerPanelToken(token));\n return [genPickerStyle(pickerToken), genPickerStatusStyle(pickerToken),\n // =====================================================\n // == Space Compact ==\n // =====================================================\n genCompactItemStyle(token, {\n focusElCls: `${token.componentCls}-focused`\n })];\n}, token => ({\n presetsWidth: 120,\n presetsMaxWidth: 200,\n zIndexPopup: token.zIndexPopupBase + 50\n}));","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CalendarOutlined from \"@ant-design/icons/es/icons/CalendarOutlined\";\nimport ClockCircleOutlined from \"@ant-design/icons/es/icons/ClockCircleOutlined\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport SwapRightOutlined from \"@ant-design/icons/es/icons/SwapRightOutlined\";\nimport classNames from 'classnames';\nimport { RangePicker as RCRangePicker } from 'rc-picker';\nimport * as React from 'react';\nimport { forwardRef, useContext, useImperativeHandle } from 'react';\nimport { Components, getTimeProps } from '.';\nimport { ConfigContext } from '../../config-provider';\nimport DisabledContext from '../../config-provider/DisabledContext';\nimport SizeContext from '../../config-provider/SizeContext';\nimport { FormItemInputContext } from '../../form/context';\nimport { useCompactItemContext } from '../../space/Compact';\nimport LocaleReceiver from '../../locale/LocaleReceiver';\nimport { getMergedStatus, getStatusClassNames } from '../../_util/statusUtils';\nimport enUS from '../locale/en_US';\nimport { getRangePlaceholder, transPlacement2DropdownAlign } from '../util';\nimport warning from '../../_util/warning';\nimport useStyle from '../style';\nexport default function generateRangePicker(generateConfig) {\n const RangePicker = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n getPopupContainer: customGetPopupContainer,\n className,\n placement,\n size: customizeSize,\n disabled: customDisabled,\n bordered = true,\n placeholder,\n popupClassName,\n dropdownClassName,\n status: customStatus\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"getPopupContainer\", \"className\", \"placement\", \"size\", \"disabled\", \"bordered\", \"placeholder\", \"popupClassName\", \"dropdownClassName\", \"status\"]);\n const innerRef = React.useRef(null);\n const {\n getPrefixCls,\n direction,\n getPopupContainer\n } = useContext(ConfigContext);\n const prefixCls = getPrefixCls('picker', customizePrefixCls);\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const {\n format,\n showTime,\n picker\n } = props;\n const rootPrefixCls = getPrefixCls();\n const [wrapSSR, hashId] = useStyle(prefixCls);\n let additionalOverrideProps = {};\n additionalOverrideProps = Object.assign(Object.assign(Object.assign({}, additionalOverrideProps), showTime ? getTimeProps(Object.assign({\n format,\n picker\n }, showTime)) : {}), picker === 'time' ? getTimeProps(Object.assign(Object.assign({\n format\n }, props), {\n picker\n })) : {});\n // =================== Warning =====================\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!dropdownClassName, 'DatePicker.RangePicker', '`dropdownClassName` is deprecated. Please use `popupClassName` instead.') : void 0;\n }\n // ===================== Size =====================\n const size = React.useContext(SizeContext);\n const mergedSize = compactSize || customizeSize || size;\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n // ===================== FormItemInput =====================\n const formItemContext = useContext(FormItemInputContext);\n const {\n hasFeedback,\n status: contextStatus,\n feedbackIcon\n } = formItemContext;\n const suffixNode = /*#__PURE__*/React.createElement(React.Fragment, null, picker === 'time' ? /*#__PURE__*/React.createElement(ClockCircleOutlined, null) : /*#__PURE__*/React.createElement(CalendarOutlined, null), hasFeedback && feedbackIcon);\n useImperativeHandle(ref, () => ({\n focus: () => {\n var _a;\n return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n },\n blur: () => {\n var _a;\n return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n }\n }));\n return wrapSSR( /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"DatePicker\",\n defaultLocale: enUS\n }, contextLocale => {\n const locale = Object.assign(Object.assign({}, contextLocale), props.locale);\n return /*#__PURE__*/React.createElement(RCRangePicker, Object.assign({\n separator: /*#__PURE__*/React.createElement(\"span\", {\n \"aria-label\": \"to\",\n className: `${prefixCls}-separator`\n }, /*#__PURE__*/React.createElement(SwapRightOutlined, null)),\n disabled: mergedDisabled,\n ref: innerRef,\n dropdownAlign: transPlacement2DropdownAlign(direction, placement),\n placeholder: getRangePlaceholder(locale, picker, placeholder),\n suffixIcon: suffixNode,\n clearIcon: /*#__PURE__*/React.createElement(CloseCircleFilled, null),\n prevIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-prev-icon`\n }),\n nextIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-next-icon`\n }),\n superPrevIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-super-prev-icon`\n }),\n superNextIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-super-next-icon`\n }),\n allowClear: true,\n transitionName: `${rootPrefixCls}-slide-up`\n }, restProps, additionalOverrideProps, {\n className: classNames({\n [`${prefixCls}-${mergedSize}`]: mergedSize,\n [`${prefixCls}-borderless`]: !bordered\n }, getStatusClassNames(prefixCls, getMergedStatus(contextStatus, customStatus), hasFeedback), hashId, compactItemClassnames, className),\n locale: locale.lang,\n prefixCls: prefixCls,\n getPopupContainer: customGetPopupContainer || getPopupContainer,\n generateConfig: generateConfig,\n components: Components,\n direction: direction,\n dropdownClassName: classNames(hashId, popupClassName || dropdownClassName)\n }));\n }));\n });\n return RangePicker;\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CalendarOutlined from \"@ant-design/icons/es/icons/CalendarOutlined\";\nimport ClockCircleOutlined from \"@ant-design/icons/es/icons/ClockCircleOutlined\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport classNames from 'classnames';\nimport RCPicker from 'rc-picker';\nimport * as React from 'react';\nimport { forwardRef, useContext, useImperativeHandle } from 'react';\nimport { useCompactItemContext } from '../../space/Compact';\nimport { Components, getTimeProps } from '.';\nimport { ConfigContext } from '../../config-provider';\nimport DisabledContext from '../../config-provider/DisabledContext';\nimport SizeContext from '../../config-provider/SizeContext';\nimport { FormItemInputContext } from '../../form/context';\nimport LocaleReceiver from '../../locale/LocaleReceiver';\nimport { getMergedStatus, getStatusClassNames } from '../../_util/statusUtils';\nimport warning from '../../_util/warning';\nimport enUS from '../locale/en_US';\nimport { getPlaceholder, transPlacement2DropdownAlign } from '../util';\nimport useStyle from '../style';\nexport default function generatePicker(generateConfig) {\n function getPicker(picker, displayName) {\n const Picker = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n prefixCls: customizePrefixCls,\n getPopupContainer: customizeGetPopupContainer,\n className,\n size: customizeSize,\n bordered = true,\n placement,\n placeholder,\n popupClassName,\n dropdownClassName,\n disabled: customDisabled,\n status: customStatus\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"getPopupContainer\", \"className\", \"size\", \"bordered\", \"placement\", \"placeholder\", \"popupClassName\", \"dropdownClassName\", \"disabled\", \"status\"]);\n const {\n getPrefixCls,\n direction,\n getPopupContainer\n } = useContext(ConfigContext);\n const prefixCls = getPrefixCls('picker', customizePrefixCls);\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const innerRef = React.useRef(null);\n const {\n format,\n showTime\n } = props;\n const [wrapSSR, hashId] = useStyle(prefixCls);\n useImperativeHandle(ref, () => ({\n focus: () => {\n var _a;\n return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n },\n blur: () => {\n var _a;\n return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n }\n }));\n const additionalProps = {\n showToday: true\n };\n let additionalOverrideProps = {};\n if (picker) {\n additionalOverrideProps.picker = picker;\n }\n const mergedPicker = picker || props.picker;\n additionalOverrideProps = Object.assign(Object.assign(Object.assign({}, additionalOverrideProps), showTime ? getTimeProps(Object.assign({\n format,\n picker: mergedPicker\n }, showTime)) : {}), mergedPicker === 'time' ? getTimeProps(Object.assign(Object.assign({\n format\n }, props), {\n picker: mergedPicker\n })) : {});\n const rootPrefixCls = getPrefixCls();\n // =================== Warning =====================\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(picker !== 'quarter', displayName, `DatePicker.${displayName} is legacy usage. Please use DatePicker[picker='${picker}'] directly.`) : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!dropdownClassName, displayName || 'DatePicker', '`dropdownClassName` is deprecated. Please use `popupClassName` instead.') : void 0;\n }\n // ===================== Size =====================\n const size = React.useContext(SizeContext);\n const mergedSize = compactSize || customizeSize || size;\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n // ===================== FormItemInput =====================\n const formItemContext = useContext(FormItemInputContext);\n const {\n hasFeedback,\n status: contextStatus,\n feedbackIcon\n } = formItemContext;\n const suffixNode = /*#__PURE__*/React.createElement(React.Fragment, null, mergedPicker === 'time' ? /*#__PURE__*/React.createElement(ClockCircleOutlined, null) : /*#__PURE__*/React.createElement(CalendarOutlined, null), hasFeedback && feedbackIcon);\n return wrapSSR( /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"DatePicker\",\n defaultLocale: enUS\n }, contextLocale => {\n const locale = Object.assign(Object.assign({}, contextLocale), props.locale);\n return /*#__PURE__*/React.createElement(RCPicker, Object.assign({\n ref: innerRef,\n placeholder: getPlaceholder(locale, mergedPicker, placeholder),\n suffixIcon: suffixNode,\n dropdownAlign: transPlacement2DropdownAlign(direction, placement),\n clearIcon: /*#__PURE__*/React.createElement(CloseCircleFilled, null),\n prevIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-prev-icon`\n }),\n nextIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-next-icon`\n }),\n superPrevIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-super-prev-icon`\n }),\n superNextIcon: /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-super-next-icon`\n }),\n allowClear: true,\n transitionName: `${rootPrefixCls}-slide-up`\n }, additionalProps, restProps, additionalOverrideProps, {\n locale: locale.lang,\n className: classNames({\n [`${prefixCls}-${mergedSize}`]: mergedSize,\n [`${prefixCls}-borderless`]: !bordered\n }, getStatusClassNames(prefixCls, getMergedStatus(contextStatus, customStatus), hasFeedback), hashId, compactItemClassnames, className),\n prefixCls: prefixCls,\n getPopupContainer: customizeGetPopupContainer || getPopupContainer,\n generateConfig: generateConfig,\n components: Components,\n direction: direction,\n disabled: mergedDisabled,\n dropdownClassName: classNames(hashId, popupClassName || dropdownClassName)\n }));\n }));\n });\n if (displayName) {\n Picker.displayName = displayName;\n }\n return Picker;\n }\n const DatePicker = getPicker();\n const WeekPicker = getPicker('week', 'WeekPicker');\n const MonthPicker = getPicker('month', 'MonthPicker');\n const YearPicker = getPicker('year', 'YearPicker');\n const TimePicker = getPicker('time', 'TimePicker');\n const QuarterPicker = getPicker('quarter', 'QuarterPicker');\n return {\n DatePicker,\n WeekPicker,\n MonthPicker,\n YearPicker,\n TimePicker,\n QuarterPicker\n };\n}","import PickerButton from '../PickerButton';\nimport generateRangePicker from './generateRangePicker';\nimport generateSinglePicker from './generateSinglePicker';\nexport const Components = {\n button: PickerButton\n};\nfunction toArray(list) {\n if (!list) {\n return [];\n }\n return Array.isArray(list) ? list : [list];\n}\nexport function getTimeProps(props) {\n const {\n format,\n picker,\n showHour,\n showMinute,\n showSecond,\n use12Hours\n } = props;\n const firstFormat = toArray(format)[0];\n const showTimeObj = Object.assign({}, props);\n if (firstFormat && typeof firstFormat === 'string') {\n if (!firstFormat.includes('s') && showSecond === undefined) {\n showTimeObj.showSecond = false;\n }\n if (!firstFormat.includes('m') && showMinute === undefined) {\n showTimeObj.showMinute = false;\n }\n if (!firstFormat.includes('H') && !firstFormat.includes('h') && showHour === undefined) {\n showTimeObj.showHour = false;\n }\n if ((firstFormat.includes('a') || firstFormat.includes('A')) && use12Hours === undefined) {\n showTimeObj.use12Hours = true;\n }\n }\n if (picker === 'time') {\n return showTimeObj;\n }\n if (typeof firstFormat === 'function') {\n // format of showTime should use default when format is custom format function\n delete showTimeObj.format;\n }\n return {\n showTime: showTimeObj\n };\n}\nconst DataPickerPlacements = ['bottomLeft', 'bottomRight', 'topLeft', 'topRight'];\nfunction generatePicker(generateConfig) {\n // =========================== Picker ===========================\n const {\n DatePicker,\n WeekPicker,\n MonthPicker,\n YearPicker,\n TimePicker,\n QuarterPicker\n } = generateSinglePicker(generateConfig);\n // ======================== Range Picker ========================\n const RangePicker = generateRangePicker(generateConfig);\n const MergedDatePicker = DatePicker;\n MergedDatePicker.WeekPicker = WeekPicker;\n MergedDatePicker.MonthPicker = MonthPicker;\n MergedDatePicker.YearPicker = YearPicker;\n MergedDatePicker.RangePicker = RangePicker;\n MergedDatePicker.TimePicker = TimePicker;\n MergedDatePicker.QuarterPicker = QuarterPicker;\n return MergedDatePicker;\n}\nexport default generatePicker;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.call = call;\nexports.default = void 0;\nexports.note = note;\nexports.noteOnce = noteOnce;\nexports.resetWarned = resetWarned;\nexports.warning = warning;\nexports.warningOnce = warningOnce;\n\n/* eslint-disable no-console */\nvar warned = {};\n\nfunction warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\n\nfunction note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\n\nfunction resetWarned() {\n warned = {};\n}\n\nfunction call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\nfunction warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\nfunction noteOnce(valid, message) {\n call(note, valid, message);\n}\n\nvar _default = warningOnce;\n/* eslint-enable */\n\nexports.default = _default;","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i<t?i+7:i)-t;return this.$utils().u(e)?n:this.subtract(n,\"day\").add(e,\"day\")}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),\"months\")},t.monthsShort=function(){return u(i(),\"monthsShort\",\"months\",3)},t.weekdays=function(n){return u(i(),\"weekdays\",null,null,n)},t.weekdaysShort=function(n){return u(i(),\"weekdaysShort\",\"weekdays\",3,n)},t.weekdaysMin=function(n){return u(i(),\"weekdaysMin\",\"weekdays\",2,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),n=this.year();return 1===t&&11===e?n+1:0===e&&t>=52?n-1:n}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){\"use strict\";return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||\"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case\"Q\":return Math.ceil((t.$M+1)/3);case\"Do\":return r.ordinal(t.$D);case\"gggg\":return t.weekYear();case\"GGGG\":return t.isoWeekYear();case\"wo\":return r.ordinal(t.week(),\"W\");case\"w\":case\"ww\":return s.s(t.week(),\"w\"===e?1:2,\"0\");case\"W\":case\"WW\":return s.s(t.isoWeek(),\"W\"===e?1:2,\"0\");case\"k\":case\"kk\":return s.s(String(0===t.$H?24:t.$H),\"k\"===e?1:2,\"0\");case\"X\":return Math.floor(t.$d.getTime()/1e3);case\"x\":return t.$d.getTime();case\"z\":return\"[\"+t.offsetName()+\"]\";case\"zzz\":return\"[\"+t.offsetName(\"long\")+\"]\";default:return e}}));return n.bind(this)(a)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d\\d/,r=/\\d\\d?/,i=/\\d*[^-_:/,()\\s\\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)};var a=function(e){return function(t){this[e]=+t}},f=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},d={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[r,a(\"seconds\")],ss:[r,a(\"seconds\")],m:[r,a(\"minutes\")],mm:[r,a(\"minutes\")],H:[r,a(\"hours\")],h:[r,a(\"hours\")],HH:[r,a(\"hours\")],hh:[r,a(\"hours\")],D:[r,a(\"day\")],DD:[n,a(\"day\")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],M:[r,a(\"month\")],MM:[n,a(\"month\")],MMM:[i,function(e){var t=h(\"months\"),n=(h(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=h(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,a(\"year\")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\\d{4}/,a(\"year\")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f<a;f+=1){var h=s[f],u=d[h],c=u&&u[0],l=u&&u[1];s[f]=l?{regex:c,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=s[n];if(\"string\"==typeof i)r+=i.length;else{var o=i.regex,f=i.parser,h=e.slice(r),u=o.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,s=e.args;this.$u=r;var a=s[1];if(\"string\"==typeof a){var f=!0===s[2],h=!0===s[3],u=f||h,d=s[2];h&&(d=s[2]),o=this.$locale(),!f&&d&&(o=n.Ls[d]),this.$d=function(e,t,n){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date(\"\")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _dayjs = _interopRequireDefault(require(\"dayjs\"));\n\nvar _warning = require(\"rc-util/lib/warning\");\n\nvar _weekday = _interopRequireDefault(require(\"dayjs/plugin/weekday\"));\n\nvar _localeData = _interopRequireDefault(require(\"dayjs/plugin/localeData\"));\n\nvar _weekOfYear = _interopRequireDefault(require(\"dayjs/plugin/weekOfYear\"));\n\nvar _weekYear = _interopRequireDefault(require(\"dayjs/plugin/weekYear\"));\n\nvar _advancedFormat = _interopRequireDefault(require(\"dayjs/plugin/advancedFormat\"));\n\nvar _customParseFormat = _interopRequireDefault(require(\"dayjs/plugin/customParseFormat\"));\n\n_dayjs.default.extend(_customParseFormat.default);\n\n_dayjs.default.extend(_advancedFormat.default);\n\n_dayjs.default.extend(_weekday.default);\n\n_dayjs.default.extend(_localeData.default);\n\n_dayjs.default.extend(_weekOfYear.default);\n\n_dayjs.default.extend(_weekYear.default);\n\n_dayjs.default.extend(function (o, c) {\n // todo support Wo (ISO week)\n var proto = c.prototype;\n var oldFormat = proto.format;\n\n proto.format = function f(formatStr) {\n var str = (formatStr || '').replace('Wo', 'wo');\n return oldFormat.bind(this)(str);\n };\n});\n\nvar localeMap = {\n // ar_EG:\n // az_AZ:\n // bg_BG:\n bn_BD: 'bn-bd',\n by_BY: 'be',\n // ca_ES:\n // cs_CZ:\n // da_DK:\n // de_DE:\n // el_GR:\n en_GB: 'en-gb',\n en_US: 'en',\n // es_ES:\n // et_EE:\n // fa_IR:\n // fi_FI:\n fr_BE: 'fr',\n // todo: dayjs has no fr_BE locale, use fr at present\n fr_CA: 'fr-ca',\n // fr_FR:\n // ga_IE:\n // gl_ES:\n // he_IL:\n // hi_IN:\n // hr_HR:\n // hu_HU:\n hy_AM: 'hy-am',\n // id_ID:\n // is_IS:\n // it_IT:\n // ja_JP:\n // ka_GE:\n // kk_KZ:\n // km_KH:\n kmr_IQ: 'ku',\n // kn_IN:\n // ko_KR:\n // ku_IQ: // previous ku in antd\n // lt_LT:\n // lv_LV:\n // mk_MK:\n // ml_IN:\n // mn_MN:\n // ms_MY:\n // nb_NO:\n // ne_NP:\n nl_BE: 'nl-be',\n // nl_NL:\n // pl_PL:\n pt_BR: 'pt-br',\n // pt_PT:\n // ro_RO:\n // ru_RU:\n // sk_SK:\n // sl_SI:\n // sr_RS:\n // sv_SE:\n // ta_IN:\n // th_TH:\n // tr_TR:\n // uk_UA:\n // ur_PK:\n // vi_VN:\n zh_CN: 'zh-cn',\n zh_HK: 'zh-hk',\n zh_TW: 'zh-tw'\n};\n\nvar parseLocale = function parseLocale(locale) {\n var mapLocale = localeMap[locale];\n return mapLocale || locale.split('_')[0];\n};\n\nvar parseNoMatchNotice = function parseNoMatchNotice() {\n /* istanbul ignore next */\n (0, _warning.noteOnce)(false, 'Not match any format. Please help to fire a issue about this.');\n};\n\nvar generateConfig = {\n // get\n getNow: function getNow() {\n return (0, _dayjs.default)();\n },\n getFixedDate: function getFixedDate(string) {\n return (0, _dayjs.default)(string, ['YYYY-M-DD', 'YYYY-MM-DD']);\n },\n getEndDate: function getEndDate(date) {\n return date.endOf('month');\n },\n getWeekDay: function getWeekDay(date) {\n var clone = date.locale('en');\n return clone.weekday() + clone.localeData().firstDayOfWeek();\n },\n getYear: function getYear(date) {\n return date.year();\n },\n getMonth: function getMonth(date) {\n return date.month();\n },\n getDate: function getDate(date) {\n return date.date();\n },\n getHour: function getHour(date) {\n return date.hour();\n },\n getMinute: function getMinute(date) {\n return date.minute();\n },\n getSecond: function getSecond(date) {\n return date.second();\n },\n // set\n addYear: function addYear(date, diff) {\n return date.add(diff, 'year');\n },\n addMonth: function addMonth(date, diff) {\n return date.add(diff, 'month');\n },\n addDate: function addDate(date, diff) {\n return date.add(diff, 'day');\n },\n setYear: function setYear(date, year) {\n return date.year(year);\n },\n setMonth: function setMonth(date, month) {\n return date.month(month);\n },\n setDate: function setDate(date, num) {\n return date.date(num);\n },\n setHour: function setHour(date, hour) {\n return date.hour(hour);\n },\n setMinute: function setMinute(date, minute) {\n return date.minute(minute);\n },\n setSecond: function setSecond(date, second) {\n return date.second(second);\n },\n // Compare\n isAfter: function isAfter(date1, date2) {\n return date1.isAfter(date2);\n },\n isValidate: function isValidate(date) {\n return date.isValid();\n },\n locale: {\n getWeekFirstDay: function getWeekFirstDay(locale) {\n return (0, _dayjs.default)().locale(parseLocale(locale)).localeData().firstDayOfWeek();\n },\n getWeekFirstDate: function getWeekFirstDate(locale, date) {\n return date.locale(parseLocale(locale)).weekday(0);\n },\n getWeek: function getWeek(locale, date) {\n return date.locale(parseLocale(locale)).week();\n },\n getShortWeekDays: function getShortWeekDays(locale) {\n return (0, _dayjs.default)().locale(parseLocale(locale)).localeData().weekdaysMin();\n },\n getShortMonths: function getShortMonths(locale) {\n return (0, _dayjs.default)().locale(parseLocale(locale)).localeData().monthsShort();\n },\n format: function format(locale, date, _format) {\n return date.locale(parseLocale(locale)).format(_format);\n },\n parse: function parse(locale, text, formats) {\n var localeStr = parseLocale(locale);\n\n for (var i = 0; i < formats.length; i += 1) {\n var format = formats[i];\n var formatText = text;\n\n if (format.includes('wo') || format.includes('Wo')) {\n // parse Wo\n var year = formatText.split('-')[0];\n var weekStr = formatText.split('-')[1];\n var firstWeek = (0, _dayjs.default)(year, 'YYYY').startOf('year').locale(localeStr);\n\n for (var j = 0; j <= 52; j += 1) {\n var nextWeek = firstWeek.add(j, 'week');\n\n if (nextWeek.format('Wo') === weekStr) {\n return nextWeek;\n }\n }\n\n parseNoMatchNotice();\n return null;\n }\n\n var date = (0, _dayjs.default)(formatText, format, true).locale(localeStr);\n\n if (date.isValid()) {\n return date;\n }\n }\n\n if (text) {\n parseNoMatchNotice();\n }\n\n return null;\n }\n }\n};\nvar _default = generateConfig;\nexports.default = _default;","import type { OptionList } from '@react-querybuilder/ts';\nimport { Select } from 'antd';\nimport { isOptionGroupArray } from 'react-querybuilder';\n\nconst { OptGroup, Option } = Select;\n\nexport { isOptionGroupArray };\n\nexport const toOptions = (arr?: OptionList) =>\n isOptionGroupArray(arr)\n ? arr.map(og => (\n <OptGroup key={og.label} label={og.label}>\n {og.options.map(opt => (\n <Option key={opt.name} value={opt.name}>\n {opt.label}\n </Option>\n ))}\n </OptGroup>\n ))\n : Array.isArray(arr)\n ? arr.map(opt => (\n <Option key={opt.name} value={opt.name}>\n {opt.label}\n </Option>\n ))\n : /* istanbul ignore next */ null;\n","import type { VersatileSelectorProps } from '@react-querybuilder/ts';\nimport { Select } from 'antd';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useValueSelector } from 'react-querybuilder';\nimport { toOptions } from './utils';\n\ntype AntDValueSelectorProps = VersatileSelectorProps &\n Omit<ComponentPropsWithoutRef<typeof Select>, 'onChange' | 'defaultValue'>;\n\nexport const AntDValueSelector = ({\n className,\n handleOnChange,\n options,\n value,\n title,\n disabled,\n multiple,\n listsAsArrays,\n // Props that should not be in extraProps\n testID: _testID,\n rules: _rules,\n level: _level,\n path: _path,\n context: _context,\n validation: _validation,\n operator: _operator,\n field: _field,\n fieldData: _fieldData,\n ...extraProps\n}: AntDValueSelectorProps) => {\n const { onChange, val } = useValueSelector({ handleOnChange, listsAsArrays, multiple, value });\n\n const modeObj = multiple ? { mode: 'multiple' as const } : {};\n\n return (\n <span title={title} className={className}>\n <Select\n {...modeObj}\n dropdownMatchSelectWidth={false}\n disabled={disabled}\n value={val}\n onChange={onChange}\n {...extraProps}>\n {toOptions(options)}\n </Select>\n </span>\n );\n};\n\nAntDValueSelector.displayName = 'AntDValueSelector';\n","import { Checkbox, Input, Radio, Switch, TimePicker } from 'antd';\nimport generatePicker from 'antd/es/date-picker/generatePicker';\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport dayjsGenerateConfig from 'rc-picker/lib/generate/dayjs';\nimport {\n getFirstOption,\n standardClassnames,\n toArray,\n useValueEditor,\n type ValueEditorProps,\n} from 'react-querybuilder';\nimport { AntDValueSelector } from './AntDValueSelector';\n\nconst DatePicker = generatePicker(dayjsGenerateConfig);\n\nexport const AntDValueEditor = ({\n fieldData,\n operator,\n value,\n handleOnChange,\n title,\n className,\n type,\n inputType,\n values = [],\n listsAsArrays,\n parseNumbers,\n separator,\n valueSource: _vs,\n disabled,\n testID,\n selectorComponent: SelectorComponent = AntDValueSelector,\n ...props\n}: ValueEditorProps) => {\n const { valArray, betweenValueHandler } = useValueEditor({\n handleOnChange,\n inputType,\n operator,\n value,\n type,\n listsAsArrays,\n parseNumbers,\n values,\n });\n\n if (operator === 'null' || operator === 'notNull') {\n return null;\n }\n\n const placeHolderText = fieldData?.placeholder ?? '';\n const inputTypeCoerced = ['in', 'notIn'].includes(operator) ? 'text' : inputType || 'text';\n\n if (\n (operator === 'between' || operator === 'notBetween') &&\n (type === 'select' || type === 'text') &&\n // Date ranges are handled differently in AntD--see below\n inputTypeCoerced !== 'date' &&\n inputTypeCoerced !== 'datetime-local'\n ) {\n const editors = ['from', 'to'].map((key, i) => {\n if (type === 'text') {\n if (inputTypeCoerced === 'time') {\n return (\n <TimePicker\n key={key}\n value={valArray[i] ? dayjs(valArray[i], 'HH:mm:ss') : null}\n className={standardClassnames.valueListItem}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={d => betweenValueHandler(d?.format('HH:mm:ss') ?? '', i)}\n />\n );\n }\n return (\n <Input\n key={key}\n type={inputTypeCoerced}\n value={valArray[i] ?? ''}\n className={standardClassnames.valueListItem}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => betweenValueHandler(e.target.value, i)}\n />\n );\n }\n return (\n <SelectorComponent\n key={key}\n {...props}\n className={standardClassnames.valueListItem}\n handleOnChange={v => betweenValueHandler(v, i)}\n disabled={disabled}\n value={valArray[i] ?? getFirstOption(values)}\n options={values}\n listsAsArrays={listsAsArrays}\n />\n );\n });\n return (\n <span data-testid={testID} className={className} title={title}>\n {editors[0]}\n {separator}\n {editors[1]}\n </span>\n );\n }\n\n switch (type) {\n case 'select':\n case 'multiselect':\n return (\n <SelectorComponent\n {...props}\n className={className}\n handleOnChange={handleOnChange}\n options={values}\n value={value}\n title={title}\n disabled={disabled}\n multiple={type === 'multiselect'}\n listsAsArrays={listsAsArrays}\n />\n );\n\n case 'textarea':\n return (\n <Input.TextArea\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n />\n );\n\n case 'switch':\n return (\n <Switch\n checked={!!value}\n title={title}\n className={className}\n disabled={disabled}\n onChange={v => handleOnChange(v)}\n />\n );\n\n case 'checkbox':\n return (\n <span title={title} className={className}>\n <Checkbox\n type=\"checkbox\"\n disabled={disabled}\n onChange={e => handleOnChange(e.target.checked)}\n checked={!!value}\n />\n </span>\n );\n\n case 'radio':\n return (\n <span className={className} title={title}>\n {values.map(v => (\n <Radio\n key={v.name}\n value={v.name}\n checked={value === v.name}\n disabled={disabled}\n onChange={e => handleOnChange(e.target.value)}>\n {v.label}\n </Radio>\n ))}\n </span>\n );\n }\n\n switch (inputTypeCoerced) {\n case 'date':\n case 'datetime-local':\n return operator === 'between' || operator === 'notBetween' ? (\n <DatePicker.RangePicker\n value={\n toArray(value)?.length >= 2\n ? (toArray(value).map(v => dayjs(v)) as [Dayjs, Dayjs])\n : undefined\n }\n showTime={inputTypeCoerced === 'datetime-local'}\n className={className}\n disabled={disabled}\n placeholder={[placeHolderText, placeHolderText]}\n // TODO: the function below is currently untested (see the\n // \"should render a date range picker\" test in ./AntD.test.tsx)\n onChange={\n /* istanbul ignore next */\n dates => {\n const format = `YYYY-MM-DD${\n inputTypeCoerced === 'datetime-local' ? 'THH:mm:ss' : ''\n }`;\n const dateArray = dates?.map(d => d?.format(format));\n return handleOnChange(\n dateArray ? (listsAsArrays ? dateArray : dateArray.join(',')) : dates\n );\n }\n }\n />\n ) : (\n <DatePicker\n value={value ? dayjs(value) : null}\n showTime={inputTypeCoerced === 'datetime-local'}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={(_d, dateString) => handleOnChange(dateString)}\n />\n );\n\n case 'time':\n return (\n <TimePicker\n value={value ? dayjs(value, 'HH:mm:ss') : null}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={d => handleOnChange(d?.format('HH:mm:ss') ?? '')}\n />\n );\n }\n\n return (\n <Input\n type={inputTypeCoerced}\n value={value}\n title={title}\n className={className}\n disabled={disabled}\n placeholder={placeHolderText}\n onChange={e => handleOnChange(e.target.value)}\n />\n );\n};\n\nAntDValueEditor.displayName = 'AntDValueEditor';\n","import type { Controls } from '@react-querybuilder/ts';\nimport { getCompatContextProvider } from 'react-querybuilder';\nimport { AntDActionElement } from './AntDActionElement';\nimport { AntDDragHandle } from './AntDDragHandle';\nimport { AntDNotToggle } from './AntDNotToggle';\nimport { AntDValueEditor } from './AntDValueEditor';\nimport { AntDValueSelector } from './AntDValueSelector';\nexport { AntDActionElement, AntDDragHandle, AntDNotToggle, AntDValueEditor, AntDValueSelector };\n\nexport const antdControlElements: Partial<Controls> = {\n addGroupAction: AntDActionElement,\n addRuleAction: AntDActionElement,\n cloneGroupAction: AntDActionElement,\n cloneRuleAction: AntDActionElement,\n lockGroupAction: AntDActionElement,\n lockRuleAction: AntDActionElement,\n combinatorSelector: AntDValueSelector,\n fieldSelector: AntDValueSelector,\n notToggle: AntDNotToggle,\n operatorSelector: AntDValueSelector,\n removeGroupAction: AntDActionElement,\n removeRuleAction: AntDActionElement,\n valueEditor: AntDValueEditor,\n dragHandle: AntDDragHandle,\n valueSourceSelector: AntDValueSelector,\n};\n\nexport const QueryBuilderAntD = getCompatContextProvider({\n key: 'antd',\n controlElements: antdControlElements,\n});\n"],"names":["f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","React","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","MAYBE_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","error","format","_len2","args","_key2","printWarning","level","ReactDebugCurrentFrame","stack","argsWithFormat","item","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","REACT_MODULE_REFERENCE","isValidElementType","type","getWrappedName","outerType","innerType","wrapperName","displayName","functionName","getContextName","getComponentNameFromType","context","provider","outerName","lazyComponent","payload","init","assign","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","disableLogs","props","reenableLogs","ReactCurrentDispatcher","prefix","describeBuiltInComponentFrame","name","source","ownerFn","x","match","reentry","componentFrameCache","PossiblyWeakMap","describeNativeComponentFrame","fn","construct","frame","control","previousPrepareStackTrace","previousDispatcher","Fake","sample","sampleLines","controlLines","s","_frame","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","Component","prototype","describeUnknownElementTypeFrameInDEV","hasOwnProperty","loggedTypeFailures","setCurrentlyValidatingElement","element","owner","checkPropTypes","typeSpecs","values","location","componentName","has","typeSpecName","error$1","err","ex","isArrayImpl","isArray","typeName","value","hasToStringTag","willCoercionThrow","testStringCoercion","checkKeyStringCoercion","ReactCurrentOwner","RESERVED_PROPS","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","hasValidKey","warnIfStringRefCannotBeAutoConverted","self","defineKeyPropWarningGetter","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","key","ref","jsxDEV","maybeKey","propName","defaultProps","ReactCurrentOwner$1","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","object","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","fileName","lineNumber","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","info","parentName","validateExplicitKey","currentComponentErrorInfo","childOwner","validateChildKeys","node","i","child","iteratorFn","iterator","step","validatePropTypes","propTypes","_name","validateFragmentProps","fragment","keys","jsxWithValidation","isStaticChildren","validType","sourceInfo","typeString","children","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","reactJsxRuntime_development","module","require$$1","AntDActionElement","className","handleOnClick","label","title","disabled","disabledTranslation","_testID","_rules","_level","_path","_context","_validation","_ruleOrGroup","extraProps","Button","AntDDragHandle","forwardRef","_label","_disabled","dragRef","HolderOutlined","AntDNotToggle","handleOnChange","checked","Switch","v","hasOwn","classNames","classes","arg","argType","inner","_defineProperty","obj","ownKeys","enumerableOnly","symbols","sym","_objectSpread2","target","defineProperty","omit","fields","clone","_objectSpread","warned","warning","valid","message","resetWarned","call","method","warningOnce","noop","component","rcWarning","warning$8","_typeof","r","t","w","y","z","u","A","reactIs_production_min","hasSymbol","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","typeOf","$$typeof","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","reactIs_development","fillRef","composeRef","_len","refs","_key","refList","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isVisible$2","_element$getBBox","width","height","_element$getBoundingC","_width","_height","_arrayLikeToArray","arr","len","arr2","_arrayWithoutHoles","arrayLikeToArray","_iterableToArray","iter","_unsupportedIterableToArray","o","minLen","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","murmur2","str","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","objectWithoutPropertiesLoose","sourceSymbolKeys","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","Entity","valueFn","path","prevValue","nextValue","ATTR_TOKEN","ATTR_MARK","ATTR_DEV_CACHE_PATH","CSS_IN_JS_INSTANCE","CSS_IN_JS_INSTANCE_ID","createCache","styles","firstChild","style","styleHash","hash","_style$parentNode","CacheEntity","StyleContext","StyleContext$1","_arrayWithHoles","_iterableToArrayLimit","_i","_arr","_n","_d","_s","_e","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","nonIterableRest","useProdHMR","webpackHMR","useDevHMR","useHMR","win","originWebpackHotUpdate","useClientCache","keyPath","cacheFn","onCacheRemove","_React$useContext","globalCache","fullPath","HMRUpdate","prevCache","_ref","_ref2","_ref2$","times","cache","tmpCache","mergedCache","_ref3","_ref4","_ref4$","nextCount","canUseDom","contains","root","APPEND_ORDER","MARK_KEY","containerCache","getMark","mark","getContainer","option","head","getOrder","prepend","findStyles","container","injectCSS","css","csp","styleNode","existStyle","findExistNode","removeCSS","existNode","syncRealContainer","cachedRealContainer","placeholderStyle","parentNode","updateCSS","_option$csp","_option$csp2","_option$csp3","newNode","flattenToken","token","token2key","salt","layerKey","layerWidth","supportSelector","styleStr","handleElement","_ele$parentNode","_ele","support","canLayer","supportLayer","ele","EMPTY_OVERRIDE","hashPrefix","tokenKeys","recordCleanToken","tokenKey","removeStyleTags","cleanTokenStyle","tokenKeyList","cleanableKeyList","count","useCacheToken","theme","tokens","_option$salt","_option$override","override","formatToken","mergedToken","tokenStr","overrideTokenStr","cachedToken","useGlobalCache","derivativeToken","mergedDerivativeToken","hashId","_extends","unitlessKeys","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","abs","from","trim","replace","pattern","replacement","indexof","search","charat","index","substr","begin","end","strlen","sizeof","append","array","line","column","length","position","character","characters","parent","char","prev","next","peek","caret","slice","alloc","dealloc","delimit","delimiter","whitespace","escaping","commenter","identifier","compile","parse","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","serialize","callback","output","stringify","lintWarning","parentSelectors","devWarning","linter","contentValuePattern","contentValues","isClientSide","SKIP_CHECK","normalizeStyle","serialized","isCompoundCSSProperty","injectSelectorHash","hashPriority","hashClassName","hashSelector","_firstPath$match","firstPath","htmlElement","globalEffectStyleKeys","parseStyle","interpolation","injectHash","layer","_config$transformers","transformers","_config$linters","linters","effectStyle","parseKeyframes","keyframes","animationName","_parseStyle","_parseStyle2","_parsedStr","flattenList","list","fullList","flattenStyleList","originStyle","mergedStyle","trans","_trans$visit","subInjectHash","mergedKey","nextRoot","_parseStyle3","_parseStyle4","_parsedStr2","childEffectStyle","_value","actualValue","contentQuotesLinter","hashedAnimationLinter","styleName","formatValue","unitless","layerCells","layerName","uniqueHash","Empty","useStyleRegister","styleFn","autoClear","mock","defaultCache","ssrInline","isMergedClientSide","_useGlobalCache","styleObj","_parseStyle5","_parseStyle6","parsedStyle","styleId","effectKey","fromHMR","_useGlobalCache2","cachedStyleStr","cachedTokenKey","cachedStyleId","Keyframe","sameDerivativeOption","left","right","ThemeCache","derivativeOption","_cache2","_cache3","updateCallTimes","derivative","_cache","_cache$map","_this$internalGet","_this","_this$keys$reduce","result","_result","callTimes","_this$keys$reduce2","targetKey","cacheValue","currentCache","derivatives","_cache$value","uuid","Theme","cacheThemes","createTheme","derivativeArr","noSplit","IconContext","createContext","Context$1","_assertThisInitialized","_setPrototypeOf","_inherits","subClass","superClass","setPrototypeOf","_getPrototypeOf","_isNativeReflectConstruct","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","isNativeReflectConstruct","Super","getPrototypeOf","NewTarget","possibleConstructorReturn","toArray","ret","HOOK_MARK","warningFunc","Context","_regeneratorRuntime","exports","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","record","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","resolve","reject","unwrapped","previousPromise","callInvokeWithMethodAndArg","pushTryEntry","locs","entry","resetTryEntry","iterable","iteratorMethod","genFun","ctor","skipTempReset","rootRecord","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","afterLoc","finallyLoc","tryLoc","thrown","resultName","nextLoc","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_inheritsLoose","_construct","Parent","Class","_isNativeFunction","_wrapNativeSuper","Wrapper","formatRegExp","errors","convertFieldsError","field","template","isNativeStringType","isEmptyValue","asyncParallelArray","func","results","total","arrLength","asyncSerialArray","original","flattenObjArr","objArr","AsyncValidationError","_Error","asyncMap","_pending","flattenArr","firstFields","objArrKeys","objArrLength","pending","isErrorObj","getValue","complementError","oe","fieldValue","deepMerge","required$1","options","urlReg","getUrlRegex","word","v4","v6seg","v6","v46Exact","v4exact","v6exact","ip","protocol","auth","ipv4","ipv6","host","domain","tld","port","regex","pattern$2","types","type$1","custom","ruleType","range","min","max","spRegexp","val","num","ENUM$1","enumerable$1","pattern$1","_pattern","string","validate","number","_boolean","regexp","integer","floatFn","ENUM","enumerable","date","dateObject","required","any","validators","newMessages","cloned","messages","Schema","_proto","_messages","source_","oc","_this2","complete","add","_errors","messages$1","series","errorFields","data","doIt","deep","addFullField","schema","cb","errorList","filledErrors","fieldsSchema","paredFieldsSchema","fieldSchema","fieldSchemaList","errs","finalErrors","res","messageIndex","validator","typeTemplate","defaultValidateMessages","get","entity","current","_toArray","internalSet","paths","removeIfUndefined","_paths","restPath","set","cloneDeep","cloneArrayDeep","cloneObjectDeep","getNamePath","store","namePath","setValue","newStore","cloneByNamePathList","namePathList","containsNamePath","matchNamePath","isObject","internalSetValues","recursive","setValues","restValues","changedNamePath","nameUnit","isSimilar","targetKeys","sourceValue","targetValue","defaultGetValueFromEvent","valuePropName","event","move","moveIndex","toIndex","diff","AsyncValidator","RawAsyncValidator","replaceMessage","kv","CODE_LOGIC_ERROR","validateRule","_x","_x2","_x3","_x4","_x5","_validateRule","_callee2","messageVariables","cloneRule","originValidator","subRuleField","subResults","fillVariableResult","_context2","mergedMessage","subValue","validateRules","validateFirst","filledRules","currentRule","ruleIndex","originValidatorFunc","hasPromise","wrappedCallback","promise","w1","i1","w2","i2","summaryPromise","_callee","_x6","_x7","rulePromises","finishOnFirstFailed","finishOnAllFailed","_x8","_finishOnAllFailed","_callee3","_context3","errorsList","_ref5","_x9","_finishOnFirstFailed","_callee4","_context4","ruleError","_excluded","EMPTY_ERRORS","requireUpdate","shouldUpdate","Field","_React$Component","_super","_this$props","preserve","isListField","_this$props2","fieldContext","_fieldContext$prefixN","prefixName","_this$props3","_this$props3$rules","resetCount","destroy","onMetaChange","prevStore","_this$props4","_this$props4$dependen","dependencies","onReset","curValue","namePathMatch","dependencyList","dependency","currentValue","rootPromise","_this$props5","_this$props5$validate","triggerName","filteredRules","validateTrigger","triggerList","ruleErrors","_ruleErrors$forEach","nextErrors","nextWarnings","warningOnly","_ref3$errors","_fieldContext$getInte","getInitialValue","meta","childList","toChildrenArray","getFieldsValue","childProps","_this$props6","trigger","getValueFromEvent","normalize","getValueProps","mergedValidateTrigger","getInternalHooks","_getInternalHooks","dispatch","mergedGetValueProps","originTriggerFunc","newValue","validateTriggerList","originTrigger","_getInternalHooks2","initEntityValue","_this$props7","_getInternalHooks3","registerField","_this$getOnlyChild","isFunction","returnChildNode","FieldContext","WrapperField","restProps","ListContext","List","initialValue","keyRef","keyManager","parentPrefixName","listContext","pathName","_ref3$value","onChange","getFieldValue","getNewValue","operations","defaultValue","indexSet","_","keysIndex","valueIndex","to","_move","listValue","__","allPromiseFinish","promiseList","hasError","SPLIT","cell","NameMap","updater","origin","cells","_cell$match","_cell$match2","unit","json","FormStore","forceRootUpdate","subscribable","initialValues","_this$prevWithoutPres","nextStore","prevWithoutPreserves","initValue","callbacks","validateMessages","pure","nameList","filterFunc","fieldEntities","filteredNameList","_entity$isListField","fieldError","arg0","arg1","isAllFieldsTouched","isFieldTouched","map","shortNamePath","fieldNamePath","isNamePathListTouched","entities","namePathListEntities","testField","records","resetWithFields","formInitialValue","originValue","requiredFieldEntities","_requiredFieldEntitie","fieldData","fieldPreserve","mergedPreserve","subNamePath","_prevStore","action","_namePath","mergedInfo","onStoreChange","childrenFields","onValuesChange","changedValues","rootNamePath","dependencies2fields","dependencyNamePath","fillChildren","filedErrors","onFieldsChange","changedFields","fieldName","provideNameList","mergedErrors","mergedWarnings","_ref6","resultNamePathList","_ref7","returnPromise","onFinish","onFinishFailed","useForm","form","formRef","_React$useState","_React$useState2","forceUpdate","forceReRender","formStore","FormContext","FormProvider","onFormChange","onFormFinish","formContext","formsRef","newForms","Form","_ref$component","_ref$validateTrigger","_onFieldsChange","_onFinish","_useForm","_useForm2","formInstance","_formInstance$getInte","useSubscribe","setInitialValues","setCallbacks","setValidateMessages","setPreserve","destroyForm","rest","mountRef","childrenNode","childrenRenderProps","prevFieldsRef","formContextValue","wrapperNode","_restProps$onReset","useWatch","_useState","useState","_useState2","valueStr","useMemo","valueStrRef","useRef","useContext","isValidForm","namePathRef","useEffect","registerWatch","cancelRegister","nextValueStr","InternalForm","FieldForm","RefForm","Pagination","locale","TimePicker","CalendarLocale","TimePickerLocale","enUS","localeValues","DatePicker","Calendar","defaultLocale","LocaleContext","LocaleContext$1","LocaleReceiver","antLocale","getLocale","_a","defaultLocaleData","localeFromContext","getLocaleCode","localeCode","LocaleReceiver$1","version$1","bound01","isOnePointZero","isPercent","isPercentage","clamp01","boundAlpha","convertToPercentage","pad2","rgbToRgb","rgbToHsl","hue2rgb","hslToRgb","rgbToHsv","hsvToRgb","mod","rgbToHex","allow3Char","hex","rgbaToHex","allow4Char","convertDecimalToHex","convertHexToDecimal","parseIntFromHex","numberInputToObject","color","names","inputToRGB","rgb","ok","stringInputToObject","isValidCSSUnit","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","named","TinyColor","opts","R","G","B","RsRGB","GsRGB","BsRGB","alpha","hsv","hsl","fmt","rnd","_b","formatSet","formattedString","hasAlpha","needsAlphaFormat","amount","hue","rgb1","rgb2","rgba","slices","part","modification","background","fg","bg","increment","hueStep","saturationStep","saturationStep2","brightnessStep1","brightnessStep2","lightColorCount","darkColorCount","darkColorMap","toHsv","toHex","mix","getHue","light","getSaturation","saturation","generate","patterns","pColor","colorString","_hsv","_colorString","opacity","darkColorString","presetPrimaryColors","presetPalettes","presetDarkPalettes","genControlHeight","controlHeight","genControlHeight$1","genSizeMapToken","sizeUnit","sizeStep","defaultPresetColors","seedToken","defaultSeedToken","genColorMapToken","seed","generateColorPalettes","generateNeutralColorPalettes","colorSuccessBase","colorWarningBase","colorErrorBase","colorInfoBase","colorPrimaryBase","colorBgBase","colorTextBase","primaryColors","successColors","warningColors","errorColors","infoColors","neutralColors","genRadius","radiusBase","radiusLG","radiusSM","radiusXS","radiusOuter","genRadius$1","genCommonMapToken","motionUnit","motionBase","borderRadius","lineWidth","getAlphaColor","baseColor","getSolidColor","brightness","colors","bgBaseColor","textBaseColor","getFontSizes","base","fontSizes","baseSize","intSize","genFontMapToken","fontSize","fontSizePairs","genFontSizes","pair","lineHeights","genFontMapToken$1","colorPalettes","colorKey","cur","isStableColor","frontColor","backgroundColor","fR","fG","fB","originAlpha","bR","bG","bB","fA","__rest","this","restToken","overrideTokens","screenXS","screenSM","screenMD","screenLG","screenXL","screenXXL","roundedArrow","innerRadius","outerRadius","bgColor","boxShadow","unitWidth","ax","ay","bx","by","cx","cy","dx","dy","ey","fx","fy","textEllipsis","resetComponent","genLinkStyle","genCommonStyle","componentPrefixCls","fontFamily","rootPrefixSelector","genFocusOutline","genFocusStyle","defaultIconPrefixCls","defaultGetPrefixCls","suffixCls","customizePrefixCls","ConfigContext","genComponentStyleHook","getDefaultToken","prefixCls","useToken","getPrefixCls","iconPrefixCls","rootPrefixCls","proxyToken","flush","statisticToken","defaultComponentToken","mergedComponentToken","componentCls","mergeToken","styleInterpolation","enableStatistic","recording","merge","objs","proxy","prop","componentToken","defaultTheme","defaultDerivative","defaultConfig","DesignTokenContext","rootDesignToken","hashed","components","version","mergedTheme","DisabledContext","DisabledContext$1","SizeContext","SizeContext$1","replaceElement","cloneElement","genWaveStyle","colorPrimary","useStyle$2","findDOMNode","ReactDOM","makePrefixMap","styleProp","eventName","prefixes","getVendorPrefixes","domSupport","vendorPrefixes","canUseDOM","_document$createEleme","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","getTransitionName","transitionName","transitionType","STATUS_NONE","STATUS_APPEAR","STATUS_ENTER","STATUS_LEAVE","STEP_NONE","STEP_PREPARE","STEP_START","STEP_ACTIVE","STEP_ACTIVATED","useSafeState","destroyRef","safeSetState","ignoreDestroy","raf","caf","rafUUID","rafIds","cleanup","id","wrapperRaf","callRef","leftTimes","realId","useNextFrame$1","nextFrameRef","cancelNextFrame","nextFrame","delay","nextFrameId","useIsomorphicLayoutEffect","useLayoutEffect","STEP_QUEUE","SkipStep","DoStep","isActive","useStepQueue$1","status","setStep","_useNextFrame","useNextFrame","_useNextFrame2","startQueue","nextStep","doNext","useDomMotionEvents$1","cacheElementRef","callbackRef","onInternalMotionEnd","removeMotionEvents","patchMotionEvents","useStatus","supportMotion","visible","getElement","_ref$motionEnter","motionEnter","_ref$motionAppear","motionAppear","_ref$motionLeave","motionLeave","motionDeadline","motionLeaveImmediately","onAppearPrepare","onEnterPrepare","onLeavePrepare","onAppearStart","onEnterStart","onLeaveStart","onAppearActive","onEnterActive","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","onVisibleChanged","asyncVisible","setAsyncVisible","_useState3","_useState4","setStatus","_useState5","_useState6","setStyle","mountedRef","deadlineRef","getDomElement","activeRef","currentActive","canEnd","_useDomMotionEvents","useDomMotionEvents","_useDomMotionEvents2","eventHandlers","_useStepQueue","useStepQueue","newStep","onPrepare","_eventHandlers$step","_useStepQueue2","startStep","active","isMounted","nextStatus","firstMountChangeRef","DomWrapper","genCSSMotion","transitionSupport","isSupportTransition","CSSMotion","_props$visible","_props$removeOnLeave","removeOnLeave","forceRender","motionName","leavedClassName","eventProps","nodeRef","wrapperNodeRef","_useStatus","_useStatus2","statusStep","statusStyle","mergedVisible","renderedRef","setNodeRef","motionChildren","mergedProps","_classNames","statusSuffix","_motionChildren","originNodeRef","fullClone","reactRender","unmountComponentAtNode","createRoot","mainVersion","toggleWarning","skip","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","MARK","modernRender","legacyRender","render","modernUnmount","_modernUnmount","_container$MARK","legacyUnmount","unmount","_unmount","isNotGrey","isValidWaveColor","getTargetWaveColor","borderTopColor","borderColor","validateNum","WaveEffect","divRef","setWaveColor","setBorderRadius","setLeft","top","setTop","setWidth","setHeight","enabled","setEnabled","waveStyle","radius","syncPos","nodeStyle","isStatic","borderLeftWidth","borderTopWidth","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","resizeObserver","holder","motionClassName","showWaveEffect","useWave","showWave","Wave","containerRef","useStyle","onClick","isVisible","Wave$1","SpaceCompactItemContext","useCompactItemContext","direction","compactItemContext","compactItemClassnames","compactDirection","isFirstItem","isLastItem","separator","GroupSizeContext","ButtonGroup","others","sizeCls","Group","rxTwoCNChar","isTwoCNChar","isString","isUnBorderedButtonType","splitCNCharsBySpace","needInserted","SPACE","spaceChildren","isPrevChildPure","isCurrentChildPure","lastIndex","lastChild","LoadingOutlined","LoadingOutlinedSvg","_option$csp4","_option$csp5","warn","isIconDefinition","normalizeAttrs","attrs","acc","rootProps","getSecondaryColor","primaryColor","generateColor","normalizeTwoToneColors","twoToneColor","iconStyles","useInsertStyles","_useContext","twoToneColorPalette","setTwoToneColors","secondaryColor","getTwoToneColors","IconBase","icon","ReactIcon","setTwoToneColor","_normalizeTwoToneColo","_normalizeTwoToneColo2","getTwoToneColor","Icon","spin","rotate","tabIndex","_React$useContext$pre","rootClassName","classString","iconTabIndex","svgStyle","AntdIcon","LoadingOutlined$1","getCollapsedWidth","getRealWidth","LoadingIcon","loading","existIcon","LoadingIcon$1","genButtonBorderStyle","buttonTypeCls","genGroupStyle","colorPrimaryHover","colorErrorHover","genGroupStyle$1","compactItemBorder","parentCls","focusElCls","focus","borderElCls","childCombinator","hoverEffects","compactItemBorderRadius","genCompactItemStyle","compactCls","compactItemVerticalBorder","compactItemBorderVerticalRadius","genCompactItemVerticalStyle","genSharedButtonStyle","iconCls","genHoverActiveButtonStyle","hoverStyle","activeStyle","genCircleButtonStyle","genRoundButtonStyle","genDisabledStyle","genGhostButtonStyle","btnCls","textColor","textColorDisabled","borderColorDisabled","genSolidDisabledButtonStyle","genSolidButtonStyle","genPureDisabledButtonStyle","genDefaultButtonStyle","genPrimaryButtonStyle","genDashedButtonStyle","genLinkButtonStyle","genTextButtonStyle","genDisabledButtonStyle","genTypeButtonStyle","genSizeButtonStyle","sizePrefixCls","lineHeight","buttonPaddingHorizontal","paddingVertical","paddingHorizontal","iconOnlyCls","genSizeBaseButtonStyle","genSizeSmallButtonStyle","smallToken","genSizeLargeButtonStyle","largeToken","genBlockButtonStyle","useStyle$1","controlTmpOutline","paddingContentHorizontal","buttonToken","InternalButton","danger","shape","customizeSize","customDisabled","ghost","block","htmlType","autoInsertSpaceInButton","wrapSSR","mergedDisabled","groupSize","innerLoading","setLoading","hasTwoCNChar","setHasTwoCNChar","buttonRef","isNeedInserted","fixTwoCNChar","buttonText","loadingOrDelay","delayTimer","cleanupTimer","handleClick","autoInsertSpace","compactSize","sizeClassNameMap","sizeFullname","iconType","linkButtonRestProps","hrefAndDisabled","iconNode","kids","buttonNode","Button$1","PickerButton","CalendarOutlined","CalendarOutlinedSvg","CalendarOutlined$1","ClockCircleOutlined","ClockCircleOutlinedSvg","ClockCircleOutlined$1","CloseCircleFilled","CloseCircleFilledSvg","CloseCircleFilled$1","SwapRightOutlined","SwapRightOutlinedSvg","SwapRightOutlined$1","useEvent","fnRef","_fnRef$current","useMergedState","defaultStateValue","postState","innerValue","setInnerValue","mergedValue","postMergedValue","onChangeFn","changePrevValue","setChangePrevValue","triggerChange","prevValueRef","KeyCode","keyCode","PanelContext","HIDDEN_STYLE","Header","_ref$prevIcon","prevIcon","_ref$nextIcon","nextIcon","_ref$superPrevIcon","superPrevIcon","_ref$superNextIcon","superNextIcon","onSuperPrev","onSuperNext","onPrev","onNext","hideNextBtn","hidePrevBtn","DecadeHeader","generateConfig","viewDate","onPrevDecades","onNextDecades","hideHeader","headerPrefixCls","yearNumber","startYear","DECADE_DISTANCE_COUNT","endYear","setTime","hour","minute","second","nextTime","setDateTime","defaultDate","newDate","getLowerBoundTime","hourStep","minuteStep","secondStep","lowerBoundHour","lowerBoundMinute","lowerBoundSecond","getLastDay","year","month","endDate","lastDay","monthShow","PanelBody","disabledDate","onSelect","picker","rowNum","colNum","prefixColumn","rowClassName","baseDate","getCellClassName","getCellText","getCellNode","getCellDate","titleCell","headerCells","onDateMouseEnter","onDateMouseLeave","mode","cellPrefixCls","rows","row","rowStartDate","_loop","currentDate","getCellDateDisabled","DECADE_COL_COUNT","DECADE_ROW_COUNT","DecadeBody","DECADE_UNIT_DIFF_DES","DECADE_UNIT_DIFF","decadeYearNumber","startDecadeYear","endDecadeYear","baseDecadeYear","startDecadeNumber","endDecadeNumber","isVisible$1","box","_box","scrollIds","waitElementReady","tryOrNextFrame","scrollTo","duration","difference","perTick","createKeyDownHandler","onLeftRight","onCtrlLeftRight","onUpDown","onPageUpDown","onEnter","which","ctrlKey","metaKey","getDefaultFormat","showTime","use12Hours","mergedFormat","getInputSize","defaultSize","globalClickFunc","clickCallbacks","addGlobalMouseDownEvent","queueFunc","getTargetFromEvent","_e$composedPath","getYearNextMode","getMonthNextMode","getQuarterNextMode","getWeekNextMode","PickerModeMap","elementsContains","elements","DecadePanel","onViewDateChange","operationRef","onPanelChange","panelPrefixCls","onDecadesChange","onInternalSelect","WEEK_DAY_COUNT","isNullEqual","value1","value2","isSameDecade","decade1","decade2","equal","num1","num2","isSameYear","year1","year2","getQuarter","quota","isSameQuarter","quarter1","quarter2","isSameMonth","month1","month2","isSameDate","date1","date2","isSameTime","time1","time2","isSameWeek","isEqual","isInRange","startDate","getWeekStartDate","weekFirstDay","monthStartDate","startDateWeekDay","alignStartDate","getClosingViewDate","parseValue","formatList","cellDate","getDisabledFromRange","currentMode","start","_date","startMonth","endMonth","TimeHeader","condition","cacheRef","TimeUnitColumn","units","hideDisabledOptions","open","ulRef","liRefs","scrollRef","li","_scrollRef$current","_classNames2","leftPad","fill","tuple","getDataOrAriaProps","retProps","updateValues","newValues","shouldUnitsUpdate","prevUnits","nextUnits","generateUnits","disabledUnits","TimeBody","activeColumnIndex","showHour","showMinute","showSecond","_props$hourStep","_props$minuteStep","_props$secondStep","disabledHours","disabledMinutes","disabledSeconds","disabledTime","columns","contentPrefixCls","columnPrefixCls","isPM","originHour","now","_React$useMemo","disabledConfig","_React$useMemo2","mergedDisabledHours","mergedDisabledMinutes","mergedDisabledSeconds","isNewPM","newHour","newMinute","newSecond","mergedHour","mergedMinute","mergedSecond","utilSetTime","rawHours","memorizedRawHours","_React$useMemo3","AMPMDisabled","hourValue","_React$useMemo4","AMDisabled","PMDisabled","hours","hourMeta","hourLabel","minutes","seconds","unitLen","nextUnit","addColumnNode","columnValue","onColumnSelect","PMIndex","countBoolean","boolList","bool","TimePanel","_props$format","_props$use12Hours","bodyOperationRef","setActiveColumnIndex","columnsCount","RangeContext","useCellClassName","rangedValue","hoverRangedValue","isInView","isSameCell","offsetCell","today","getClassName","prevDate","nextDate","rangeStart","rangeEnd","hoverStart","hoverEnd","isRangeHovered","isRangeStart","isRangeEnd","isHoverStart","isHoverEnd","isHoverEdgeStart","isHoverEdgeEnd","DateBody","rowCount","dateRender","weekDaysLocale","DateHeader","onNextMonth","onPrevMonth","onNextYear","onPrevYear","onYearClick","onMonthClick","monthsLocale","yearNode","monthNode","monthYearNodes","DATE_ROW_COUNT","DatePanel","_props$panelName","panelName","keyboardConfig","_onSelect","onYearChange","onMonthChange","ACTIVE_PANEL","DatetimePanel","activePanel","setActivePanel","dateOperationRef","timeOperationRef","timeProps","getNextActive","activeIndex","nextActivePanel","onBlur","selectedDate","disabledTimes","WeekPanel","rowPrefixCls","MonthHeader","MONTH_COL_COUNT","MONTH_ROW_COUNT","MonthBody","monthCellRender","baseMonth","MonthPanel","QuarterHeader","QUARTER_COL_COUNT","QUARTER_ROW_COUNT","QuarterBody","baseQuarter","QuarterPanel","YearHeader","onPrevDecade","onNextDecade","onDecadeClick","YEAR_DECADE_COUNT","YEAR_COL_COUNT","YEAR_ROW_COUNT","YearBody","yearPrefixCls","baseYear","currentYearNumber","YearPanel","sourceMode","onDecadeChange","getExtraFooter","renderExtraFooter","getRanges","_ref$components","needConfirmButton","onNow","onOk","okDisabled","showNow","presetNode","okNode","PickerPanel","_ref$prefixCls","pickerValue","defaultPickerValue","_ref$picker","_ref$tabIndex","showToday","onMouseDown","onPickerValueChange","_onOk","_ref$hourStep","_ref$minuteStep","_ref$secondStep","isHourStepValid","isMinuteStepValid","isSecondStepValid","panelContext","onContextSelect","hideRanges","defaultOpenValue","inRange","panelPosition","panelRef","initRef","_useMergedState","_useMergedState2","_useMergedState3","defaultDateObject","_useMergedState4","setInnerViewDate","setViewDate","getInternalNextMode","nextMode","getNextMode","_useMergedState5","_useMergedState6","mergedMode","setInnerMode","setSourceMode","onInternalPanelChange","newMode","viewValue","triggerSelect","forceTriggerSelect","onInternalKeyDown","onInternalBlur","panelNode","pickerProps","extraFooter","rangesNode","lowerBoundTime","adjustedNow","todayNode","todayCls","addEventListenerWrap","eventType","didUpdate","parentRef","useImperativeHandle","_containerRef$current","_containerRef$current2","isPointsEq","a1","a2","isAlignPoint","getAlignFromPlacement","builtinPlacements","placementStr","align","baseAlign","getAlignPopupClassName","placements","placement","isMobile","agent","getMotion","motion","animation","Mask","zIndex","mask","maskMotion","maskAnimation","maskTransitionName","vendorPrefix","jsCssMap","getVendorPrefix","testProp","getTransformName","setTransitionProperty","setTransform","getTransitionProperty","getTransformXY","transform","matrix","matrix2d","matrix3d","setTransformXY","xy","match2d","match3d","RE_NUM","getComputedStyleX","forceRelayout","elem","originalStyle","el","getClientPosition","doc","body","docElem","getScroll","getScrollLeft","getScrollTop","getOffset","pos","isWindow","getDocument","_getComputedStyle","cs","computedStyle","_RE_NUM_NO_PX","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","LEFT","PX","_getComputedStyleIE","rsLeft","getOffsetDirection","dir","oppositeOffsetDirection","setLeftTop","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","old","preset","off","_dir","_off","setTransform$1","originalXY","resultXY","setOffset","oriOffset","oLeft","oTop","tLeft","tTop","each","isBorderBoxFn","BOX_MODELS","CONTENT_INDEX","PADDING_INDEX","BORDER_INDEX","MARGIN_INDEX","swap","getPBMWidth","cssProp","domUtils","refWin","documentElement","documentElementProp","getWH","extra","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","cssShow","getWHIgnoreDisplay","first","includeMargin","utils","overflow","getParent","getOffsetParent","positionStyle","skipStatic","getParent$1","isAncestorFixed","getVisibleRectForElement","alwaysByViewport","visibleRect","originalPosition","scrollX","scrollY","viewportWidth","viewportHeight","documentWidth","documentHeight","bodyStyle","maxVisibleWidth","maxVisibleHeight","adjustForViewport","elFuturePos","elRegion","getRegion","getAlignOffset","region","V","H","getElFuturePos","refNodeRegion","targetOffset","p1","p2","isFailX","isFailY","isCompleteFailX","isCompleteFailY","flip","reg","flipOffset","convertOffset","offsetLen","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","newPoints","newOffset","newTargetOffset","newElFuturePos","_newPoints","_newOffset","_newTargetOffset","_newElFuturePos","isStillFailX","isStillFailY","_newPoints2","isOutOfVisibleRect","targetRegion","alignElement","refNode","isTargetNotOutOfVisible","alignPoint","tgtPoint","pageX","pageY","pointInView","listCacheClear","_listCacheClear","eq","other","eq_1","assocIndexOf","_assocIndexOf","arrayProto","splice","listCacheDelete","_listCacheDelete","listCacheGet","_listCacheGet","listCacheHas","_listCacheHas","listCacheSet","_listCacheSet","require$$2","require$$3","require$$4","ListCache","entries","_ListCache","stackClear","_stackClear","stackDelete","_stackDelete","stackGet","_stackGet","stackHas","_stackHas","freeGlobal","global","_freeGlobal","freeSelf","_root","Symbol","_Symbol","objectProto","nativeObjectToString","symToStringTag","getRawTag","isOwn","tag","unmasked","_getRawTag","objectToString","_objectToString","nullTag","undefinedTag","baseGetTag","_baseGetTag","isObject_1","asyncTag","funcTag","genTag","proxyTag","isFunction_1","coreJsData","_coreJsData","maskSrcKey","uid","isMasked","_isMasked","funcProto","funcToString","toSource","_toSource","reRegExpChar","reIsHostCtor","reIsNative","baseIsNative","_baseIsNative","_getValue","getNative","_getNative","Map","_Map","nativeCreate","_nativeCreate","hashClear","_hashClear","hashDelete","_hashDelete","HASH_UNDEFINED","hashGet","_hashGet","hashHas","_hashHas","hashSet","_hashSet","Hash","_Hash","mapCacheClear","_mapCacheClear","isKeyable","_isKeyable","getMapData","_getMapData","mapCacheDelete","_mapCacheDelete","mapCacheGet","_mapCacheGet","mapCacheHas","_mapCacheHas","mapCacheSet","_mapCacheSet","MapCache","_MapCache","LARGE_ARRAY_SIZE","stackSet","pairs","_stackSet","require$$5","Stack","_Stack","setCacheAdd","_setCacheAdd","setCacheHas","_setCacheHas","SetCache","_SetCache","arraySome","predicate","_arraySome","cacheHas","_cacheHas","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalArrays","bitmask","customizer","equalFunc","isPartial","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","_equalArrays","Uint8Array","_Uint8Array","mapToArray","_mapToArray","setToArray","_setToArray","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolProto","symbolValueOf","equalByTag","convert","stacked","_equalByTag","arrayPush","_arrayPush","isArray_1","baseGetAllKeys","keysFunc","symbolsFunc","_baseGetAllKeys","arrayFilter","resIndex","_arrayFilter","stubArray","stubArray_1","propertyIsEnumerable","nativeGetSymbols","getSymbols","symbol","_getSymbols","baseTimes","iteratee","_baseTimes","isObjectLike","isObjectLike_1","argsTag","baseIsArguments","_baseIsArguments","isArguments","isArguments_1","stubFalse","stubFalse_1","freeExports","freeModule","moduleExports","Buffer","nativeIsBuffer","isBuffer","MAX_SAFE_INTEGER","reIsUint","isIndex","_isIndex","isLength","isLength_1","arrayTag","objectTag","weakMapTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","typedArrayTags","baseIsTypedArray","_baseIsTypedArray","baseUnary","_baseUnary","freeProcess","nodeUtil","nodeIsTypedArray","isTypedArray","isTypedArray_1","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","_arrayLikeKeys","isPrototype","Ctor","proto","_isPrototype","overArg","_overArg","nativeKeys","_nativeKeys","baseKeys","_baseKeys","isArrayLike","isArrayLike_1","keys_1","getAllKeys","_getAllKeys","equalObjects","objProps","objLength","othProps","objStacked","skipCtor","objValue","objCtor","othCtor","_equalObjects","DataView","_DataView","Promise","_Promise","Set","_Set","WeakMap","_WeakMap","require$$6","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","_getTag","require$$7","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","_baseIsEqualDeep","baseIsEqual","_baseIsEqual","isEqual_1","MapShim","getIndex","class_1","ctx","isBrowser","global$1","requestAnimationFrame$1","trailingTimeout","throttle","leadingCall","trailingCall","lastCallTime","resolvePending","timeoutCallback","timeStamp","REFRESH_DELAY","transitionKeys","mutationObserverSupported","ResizeObserverController","observer","observers","changesDetected","activeObservers","propertyName","isReflowProperty","defineConfigurable","getWindowOf","ownerGlobal","emptyRect","createRectInit","toFloat","getBordersSize","positions","getPaddings","paddings","positions_1","getSVGContentRect","bbox","getHTMLElementContentRect","clientWidth","clientHeight","horizPad","vertPad","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","getContentRect","createReadOnlyRect","Constr","rect","ResizeObservation","ResizeObserverEntry","rectInit","contentRect","ResizeObserverSPI","controller","callbackCtx","observations","observation","ResizeObserver","isSamePoint","restoreFocus","activeElement","monitorResize","prevWidth","prevHeight","onResize","_target$getBoundingCl","fixedWidth","fixedHeight","useBuffer","buffer","calledRef","timeoutRef","cancelTrigger","force","getPoint","point","Align","onAlign","monitorWindowResize","_ref$monitorBufferTim","monitorBufferTime","childNode","forceAlignPropsRef","_useBuffer","_forceAlignPropsRef$c","latestDisabled","latestTarget","latestAlign","latestOnAlign","_document","_useBuffer2","_forceAlign","cancelForceAlign","resizeMonitor","sourceResizeMonitor","winResizeRef","addEventListener","RcAlign","StatusQueue","useVisibleStatus","doMeasure","setInternalStatus","rafRef","cancelRaf","goNextStatus","useStretchStyle","stretch","targetSize","setTargetSize","measureStretch","sizeStyle","PopupInner","destroyPopupOnHide","getRootDomNode","getClassNameFromAlign","onMouseEnter","onMouseLeave","onTouchStart","alignRef","elementRef","alignedClassName","setAlignedClassName","_useStretchStyle","_useStretchStyle2","stretchStyle","measureStretchStyle","_useVisibleStatus","_useVisibleStatus2","alignTimes","setAlignTimes","prepareResolveRef","getAlignTarget","forceAlign","_alignRef$current","onInternalAlign","popupDomNode","matchAlign","nextAlignedClassName","_prepareResolveRef$cu","originHandler","onShowPrepare","alignDisabled","motionRef","motionStyle","mergedClassName","MobilePopupInner","_props$mobile","popupClassName","popupStyle","_props$mobile$popupMo","popupMotion","popupRender","Popup","mobile","innerVisible","serInnerVisible","inMobile","setInMobile","cloneProps","popupNode","TriggerContext","returnEmptyString","returnDocument","ALL_HANDLERS","generateTrigger","PortalComponent","Trigger","mouseEnterDelay","_this$popupRef$curren","preTime","nextVisible","_this$context","getTriggerDOMNode","domNode","popupPlacement","getPopupClassNameFromAlign","onPopupAlign","popupAnimation","popupTransitionName","popup","onPopupClick","_this$state","popupVisible","mouseProps","popupContainer","getPopupContainer","mountNode","_popupVisible","currentDocument","_this$popupRef$curren2","popupAlign","prevPopupVisible","delayS","childPros","showAction","hideAction","_this$props8","_this$props9","_this$props10","_this$popupRef$curren3","childCallback","_this$props11","autoDestroy","newChildProps","childrenClassName","portal","prevState","newState","BUILT_IN_PLACEMENTS","PickerTrigger","popupElement","dropdownClassName","dropdownAlign","dropdownPrefixCls","getPopupPlacement","usePickerInput","isClickOutside","triggerOpen","forwardKeyDown","_onKeyDown","blurToCancel","onSubmit","onCancel","_onFocus","_onBlur","typing","setTyping","focused","setFocused","preventBlurRef","valueChangedRef","preventDefaultRef","inputProps","preventDefault","clickedOutside","useTextValueMapping","valueTexts","onTextChange","text","setInnerText","valueTextsRef","triggerTextChange","resetText","valText","shallowequal","objA","objB","compare","compareContext","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","useValueTexts","firstValueText","fullValueTexts","formatStr","shallowEqual","useHoverValue","valueText","internalSetValue","immediately","_useValueTexts","_useValueTexts2","firstText","onLeave","legacyPropsWarning","usePresets","presets","legacyRanges","rangeLabels","PresetPanel","_onClick","onHover","InnerPicker","inputReadOnly","allowClear","autoFocus","defaultOpen","suffixIcon","clearIcon","placeholder","pickerRef","panelRender","onOpenChange","onFocus","onMouseUp","onContextMenu","_ref$autoComplete","autoComplete","inputRender","inputRef","presetList","panelDivRef","inputDivRef","selectedValue","setSelectedValue","postOpen","newOpen","mergedOpen","triggerInnerOpen","_useTextValueMapping","newText","inputDate","_useTextValueMapping2","onInternalClick","_usePickerInput","_usePickerInput2","_usePickerInput2$","_useHoverValue","_useHoverValue2","hoverValue","panelProps","panel","suffixNode","clearNode","mergedInputProps","inputNode","Picker","useRangeDisabled","disabledStart","disabledEnd","weekFirstDate","monthNumber","quarterNumber","quarter","disabledStartDate","disabledEndDate","getStartEndDistance","startNext","getDistance","compareFunc","getRangeViewDate","distance","useRangeViewDates","defaultDates","defaultViewDates","setDefaultViewDates","_React$useState3","_React$useState4","viewDates","setInternalViewDates","getViewDate","newViewDates","anotherIndex","reorderValues","canValueTrigger","allowEmpty","InnerRangePicker","_classNames3","_classNames4","_ref$separator","_disabledTime","ranges","onCalendarChange","order","activePickerIndex","openRecordsRef","startInputDivRef","endInputDivRef","separatorRef","startInputRef","endInputRef","arrowRef","mergedActivePickerIndex","setMergedActivePickerIndex","_useRangeViewDates","_useRangeViewDates2","postValues","_useMergedState7","_useMergedState8","mergedModes","setInnerModes","triggerModesChange","modes","_useRangeDisabled","_useRangeDisabled2","_useMergedState9","_useMergedState10","startOpen","endOpen","popupMinWidth","setPopupMinWidth","triggerRef","_triggerOpen","openRecords","triggerOpenAndFocus","sourceIndex","startValue","endValue","startStr","endStr","_info","canStartValueTrigger","canEndValueTrigger","canTrigger","nextOpenIndex","sharedTextHooksProps","startValueTexts","firstStartValueText","_useValueTexts3","_useValueTexts4","endValueTexts","firstEndValueText","_onTextChange","disabledFunc","startText","triggerStartTextChange","resetStartText","_useTextValueMapping3","_useTextValueMapping4","endText","triggerEndTextChange","resetEndText","rangeHoverValue","setRangeHoverValue","setHoverRangedValue","startHoverValue","onStartEnter","onStartLeave","_useHoverValue3","_useHoverValue4","endHoverValue","onEndEnter","onEndLeave","getSharedInputHookProps","startInputProps","startFocused","startTyping","_usePickerInput3","_usePickerInput4","endInputProps","_usePickerInput4$","endFocused","endTyping","onPickerClick","onPickerMouseDown","renderPanel","panelHoverRangedValue","panelShowTime","timeDefaultValues","panelDateRender","arrowLeft","panelLeft","arrowMarginLeft","arrowPositionStyle","renderPanels","panels","extraNode","nextViewDate","showDoublePanel","leftPanel","newViewDate","rightPanel","mergedNodes","rangePanel","inputSharedProps","activeBarLeft","activeBarWidth","activeBarPositionStyle","RangePicker","FormItemInputContext","getStatusClassNames","hasFeedback","getMergedStatus","contextStatus","customStatus","getPlaceholder","customizePlaceholder","getRangePlaceholder","transPlacement2DropdownAlign","genPlaceholderStyle","genHoverStyle","genActiveStyle","genInputLargeStyle","inputPaddingVerticalLG","fontSizeLG","lineHeightLG","borderRadiusLG","inputPaddingHorizontalLG","genInputSmallStyle","genBasicInputStyle","initInputToken","initMotionCommon","initMotionCommonLeave","initMotion","motionCls","inKeyframes","outKeyframes","sameLevelPrefix","moveDownIn","Keyframes","moveDownOut","moveLeftIn","moveLeftOut","moveRightIn","moveRightOut","moveUpIn","moveUpOut","moveMotion","initMoveMotion","antCls","slideUpIn","slideUpOut","slideDownIn","slideDownOut","slideLeftIn","slideLeftOut","slideRightIn","slideRightOut","slideMotion","initSlideMotion","genPikerPadding","inputHeight","fontHeight","paddingTop","paddingBottom","genPickerCellInnerStyle","pickerCellCls","pickerCellInnerCls","pickerPanelCellHeight","motionDurationSlow","borderRadiusSM","motionDurationMid","controlItemBgHover","lineType","controlItemBgActive","colorTextLightSolid","controlHeightSM","pickerDateHoverRangeBorderColor","pickerCellBorderGap","pickerBasicCellHoverWithRangeColor","pickerPanelCellWidth","colorTextDisabled","colorBgContainerDisabled","genPanelStyle","pickerYearMonthCellWidth","pickerControlIconSize","paddingSM","paddingXS","paddingXXS","colorBgContainer","colorTextHeading","colorSplit","pickerControlIconBorderWidth","colorIcon","pickerTextHeight","colorIconHover","fontWeightStrong","pickerCellPaddingVertical","colorText","pickerPanelWithoutTimeCellHeight","pickerQuarterPanelContentHeight","colorLink","colorLinkActive","colorLinkHover","pickerTimePanelColumnHeight","pickerTimePanelColumnWidth","pickerTimePanelCellHeight","marginXXS","pickerPanelWidth","hoverCellFixedDistance","genPickerStatusStyle","colorError","colorErrorOutline","colorWarning","colorWarningOutline","genPickerStyle","boxShadowPopoverArrow","inputPaddingHorizontal","colorBorder","colorTextPlaceholder","controlHeightLG","inputPaddingHorizontalSM","marginXS","colorTextDescription","lineWidthBold","zIndexPopup","colorPrimaryBorder","sizePopupArrow","borderRadiusXS","borderRadiusOuter","colorBgElevated","boxShadowSecondary","presetsWidth","presetsMaxWidth","initPickerPanelToken","pickerToken","generateRangePicker","customGetPopupContainer","bordered","innerRef","additionalOverrideProps","getTimeProps","mergedSize","formItemContext","feedbackIcon","contextLocale","RCRangePicker","Components","generatePicker","getPicker","customizeGetPopupContainer","additionalProps","mergedPicker","RCPicker","WeekPicker","MonthPicker","YearPicker","QuarterPicker","firstFormat","showTimeObj","generateSinglePicker","MergedDatePicker","_interopRequireDefault","warning_1","note","noteOnce","_default","M","Y","D","dayjs","default_1","_dayjs","_warning","_weekday","_localeData","_weekOfYear","_weekYear","_advancedFormat","_customParseFormat","require$$8","oldFormat","localeMap","parseLocale","mapLocale","parseNoMatchNotice","_format","formats","localeStr","formatText","weekStr","firstWeek","nextWeek","OptGroup","Option","Select","toOptions","isOptionGroupArray","og","opt","AntDValueSelector","multiple","listsAsArrays","_operator","_field","_fieldData","useValueSelector","modeObj","dayjsGenerateConfig","AntDValueEditor","operator","inputType","parseNumbers","_vs","testID","SelectorComponent","valArray","betweenValueHandler","useValueEditor","placeHolderText","inputTypeCoerced","editors","standardClassnames","Input","getFirstOption","Checkbox","Radio","dates","dateArray","dateString","antdControlElements","QueryBuilderAntD","getCompatContextProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;AASa,MAAIA,IAAEC,IAAiBC,IAAE,OAAO,IAAI,eAAe,GAAEC,IAAE,OAAO,IAAI,gBAAgB,GAAEC,IAAE,OAAO,UAAU,gBAAeC,IAAEL,EAAE,mDAAmD,mBAAkBM,IAAE,EAAC,KAAI,IAAG,KAAI,IAAG,QAAO,IAAG,UAAS,GAAE;AAClP,WAASC,EAAEC,GAAEC,GAAEC,GAAE;AAAC,QAAIC,GAAEC,IAAE,IAAGC,IAAE,MAAKC,IAAE;AAAK,IAASJ,MAAT,WAAaG,IAAE,KAAGH,IAAYD,EAAE,QAAX,WAAiBI,IAAE,KAAGJ,EAAE,MAAcA,EAAE,QAAX,WAAiBK,IAAEL,EAAE;AAAK,SAAIE,KAAKF;AAAE,MAAAL,EAAE,KAAKK,GAAEE,CAAC,KAAG,CAACL,EAAE,eAAeK,CAAC,MAAIC,EAAED,KAAGF,EAAEE;AAAI,QAAGH,KAAGA,EAAE;AAAa,WAAIG,KAAKF,IAAED,EAAE,cAAaC;AAAE,QAASG,EAAED,OAAX,WAAgBC,EAAED,KAAGF,EAAEE;AAAI,WAAM,EAAC,UAAST,GAAE,MAAKM,GAAE,KAAIK,GAAE,KAAIC,GAAE,OAAMF,GAAE,QAAOP,EAAE,QAAO;AAAA,EAAC;AAAC,SAAAU,cAAiBZ,GAAEY,GAAW,MAACR,GAAEQ,GAAA,OAAaR;;;;;wBCEtW,QAAQ,IAAI,aAAa,gBAC1B,WAAW;AAGd,QAAIS,IAAQf,IAMRgB,IAAqB,OAAO,IAAI,eAAe,GAC/CC,IAAoB,OAAO,IAAI,cAAc,GAC7CC,IAAsB,OAAO,IAAI,gBAAgB,GACjDC,IAAyB,OAAO,IAAI,mBAAmB,GACvDC,IAAsB,OAAO,IAAI,gBAAgB,GACjDC,IAAsB,OAAO,IAAI,gBAAgB,GACjDC,IAAqB,OAAO,IAAI,eAAe,GAC/CC,IAAyB,OAAO,IAAI,mBAAmB,GACvDC,IAAsB,OAAO,IAAI,gBAAgB,GACjDC,IAA2B,OAAO,IAAI,qBAAqB,GAC3DC,IAAkB,OAAO,IAAI,YAAY,GACzCC,IAAkB,OAAO,IAAI,YAAY,GACzCC,IAAuB,OAAO,IAAI,iBAAiB,GACnDC,IAAwB,OAAO,UAC/BC,IAAuB;AAC3B,aAASC,EAAcC,GAAe;AACpC,UAAIA,MAAkB,QAAQ,OAAOA,KAAkB;AACrD,eAAO;AAGT,UAAIC,IAAgBJ,KAAyBG,EAAcH,MAA0BG,EAAcF;AAEnG,aAAI,OAAOG,KAAkB,aACpBA,IAGF;AAAA,IACR;AAED,QAAIC,IAAuBnB,EAAM;AAEjC,aAASoB,EAAMC,GAAQ;AAEnB;AACE,iBAASC,IAAQ,UAAU,QAAQC,IAAO,IAAI,MAAMD,IAAQ,IAAIA,IAAQ,IAAI,CAAC,GAAGE,KAAQ,GAAGA,KAAQF,GAAOE;AACxG,UAAAD,EAAKC,KAAQ,KAAK,UAAUA;AAG9B,QAAAC,EAAa,SAASJ,GAAQE,CAAI;AAAA,MACnC;AAAA,IAEJ;AAED,aAASE,EAAaC,GAAOL,GAAQE,GAAM;AAGzC;AACE,YAAII,KAAyBR,EAAqB,wBAC9CS,KAAQD,GAAuB;AAEnC,QAAIC,OAAU,OACZP,KAAU,MACVE,IAAOA,EAAK,OAAO,CAACK,EAAK,CAAC;AAI5B,YAAIC,KAAiBN,EAAK,IAAI,SAAUO,IAAM;AAC5C,iBAAO,OAAOA,EAAI;AAAA,QACxB,CAAK;AAED,QAAAD,GAAe,QAAQ,cAAcR,CAAM,GAI3C,SAAS,UAAU,MAAM,KAAK,QAAQK,IAAQ,SAASG,EAAc;AAAA,MACtE;AAAA,IACF;AAID,QAAIE,IAAiB,IACjBC,IAAqB,IACrBC,IAA0B,IAE1BC,IAAqB,IAIrBC,IAAqB,IAErBC;AAGF,IAAAA,IAAyB,OAAO,IAAI,wBAAwB;AAG9D,aAASC,EAAmBC,GAAM;AAUhC,aATI,UAAOA,KAAS,YAAY,OAAOA,KAAS,cAK5CA,MAASnC,KAAuBmC,MAASjC,KAAuB8B,KAAuBG,MAASlC,KAA0BkC,MAAS7B,KAAuB6B,MAAS5B,KAA4BwB,KAAuBI,MAASzB,KAAwBkB,KAAmBC,KAAuBC,KAIjS,OAAOK,KAAS,YAAYA,MAAS,SACnCA,EAAK,aAAa1B,KAAmB0B,EAAK,aAAa3B,KAAmB2B,EAAK,aAAahC,KAAuBgC,EAAK,aAAa/B,KAAsB+B,EAAK,aAAa9B,KAIjL8B,EAAK,aAAaF,KAA0BE,EAAK,gBAAgB;AAAA,IAMpE;AAED,aAASC,EAAeC,GAAWC,GAAWC,GAAa;AACzD,UAAIC,KAAcH,EAAU;AAE5B,UAAIG;AACF,eAAOA;AAGT,UAAIC,KAAeH,EAAU,eAAeA,EAAU,QAAQ;AAC9D,aAAOG,OAAiB,KAAKF,IAAc,MAAME,KAAe,MAAMF;AAAA,IACvE;AAGD,aAASG,EAAeP,GAAM;AAC5B,aAAOA,EAAK,eAAe;AAAA,IAC5B;AAGD,aAASQ,EAAyBR,GAAM;AACtC,UAAIA,KAAQ;AAEV,eAAO;AAST,UALM,OAAOA,EAAK,OAAQ,YACtBlB,EAAM,mHAAwH,GAI9H,OAAOkB,KAAS;AAClB,eAAOA,EAAK,eAAeA,EAAK,QAAQ;AAG1C,UAAI,OAAOA,KAAS;AAClB,eAAOA;AAGT,cAAQA,GAAI;AAAA,QACV,KAAKnC;AACH,iBAAO;AAAA,QAET,KAAKD;AACH,iBAAO;AAAA,QAET,KAAKG;AACH,iBAAO;AAAA,QAET,KAAKD;AACH,iBAAO;AAAA,QAET,KAAKK;AACH,iBAAO;AAAA,QAET,KAAKC;AACH,iBAAO;AAAA,MAEV;AAED,UAAI,OAAO4B,KAAS;AAClB,gBAAQA,EAAK,UAAQ;AAAA,UACnB,KAAK/B;AACH,gBAAIwC,IAAUT;AACd,mBAAOO,EAAeE,CAAO,IAAI;AAAA,UAEnC,KAAKzC;AACH,gBAAI0C,IAAWV;AACf,mBAAOO,EAAeG,EAAS,QAAQ,IAAI;AAAA,UAE7C,KAAKxC;AACH,mBAAO+B,EAAeD,GAAMA,EAAK,QAAQ,YAAY;AAAA,UAEvD,KAAK3B;AACH,gBAAIsC,KAAYX,EAAK,eAAe;AAEpC,mBAAIW,OAAc,OACTA,KAGFH,EAAyBR,EAAK,IAAI,KAAK;AAAA,UAEhD,KAAK1B,GACH;AACE,gBAAIsC,KAAgBZ,GAChBa,KAAUD,GAAc,UACxBE,KAAOF,GAAc;AAEzB,gBAAI;AACF,qBAAOJ,EAAyBM,GAAKD,EAAO,CAAC;AAAA,YAC9C,QAAC;AACA,qBAAO;AAAA,YACR;AAAA,UACF;AAAA,QAGJ;AAGH,aAAO;AAAA,IACR;AAED,QAAIE,IAAS,OAAO,QAMhBC,IAAgB,GAChBC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC;AAEJ,aAASC,IAAc;AAAA,IAAE;AAEzB,IAAAA,EAAY,qBAAqB;AACjC,aAASC,KAAc;AACrB;AACE,YAAIT,MAAkB,GAAG;AAEvB,UAAAC,IAAU,QAAQ,KAClBC,IAAW,QAAQ,MACnBC,IAAW,QAAQ,MACnBC,IAAY,QAAQ,OACpBC,IAAY,QAAQ,OACpBC,IAAqB,QAAQ,gBAC7BC,IAAe,QAAQ;AAEvB,cAAIG,IAAQ;AAAA,YACV,cAAc;AAAA,YACd,YAAY;AAAA,YACZ,OAAOF;AAAA,YACP,UAAU;AAAA,UAClB;AAEM,iBAAO,iBAAiB,SAAS;AAAA,YAC/B,MAAME;AAAA,YACN,KAAKA;AAAA,YACL,MAAMA;AAAA,YACN,OAAOA;AAAA,YACP,OAAOA;AAAA,YACP,gBAAgBA;AAAA,YAChB,UAAUA;AAAA,UAClB,CAAO;AAAA,QAEF;AAED,QAAAV;AAAA,MACD;AAAA,IACF;AACD,aAASW,KAAe;AACtB;AAGE,YAFAX,KAEIA,MAAkB,GAAG;AAEvB,cAAIU,IAAQ;AAAA,YACV,cAAc;AAAA,YACd,YAAY;AAAA,YACZ,UAAU;AAAA,UAClB;AAEM,iBAAO,iBAAiB,SAAS;AAAA,YAC/B,KAAKX,EAAO,CAAE,GAAEW,GAAO;AAAA,cACrB,OAAOT;AAAA,YACjB,CAAS;AAAA,YACD,MAAMF,EAAO,CAAE,GAAEW,GAAO;AAAA,cACtB,OAAOR;AAAA,YACjB,CAAS;AAAA,YACD,MAAMH,EAAO,CAAE,GAAEW,GAAO;AAAA,cACtB,OAAOP;AAAA,YACjB,CAAS;AAAA,YACD,OAAOJ,EAAO,CAAE,GAAEW,GAAO;AAAA,cACvB,OAAON;AAAA,YACjB,CAAS;AAAA,YACD,OAAOL,EAAO,CAAE,GAAEW,GAAO;AAAA,cACvB,OAAOL;AAAA,YACjB,CAAS;AAAA,YACD,gBAAgBN,EAAO,CAAE,GAAEW,GAAO;AAAA,cAChC,OAAOJ;AAAA,YACjB,CAAS;AAAA,YACD,UAAUP,EAAO,CAAE,GAAEW,GAAO;AAAA,cAC1B,OAAOH;AAAA,YACjB,CAAS;AAAA,UACT,CAAO;AAAA,QAEF;AAED,QAAIP,IAAgB,KAClBlC,EAAM,8EAAmF;AAAA,MAE5F;AAAA,IACF;AAED,QAAI8C,KAAyB/C,EAAqB,wBAC9CgD;AACJ,aAASC,GAA8BC,GAAMC,GAAQC,GAAS;AAC5D;AACE,YAAIJ,OAAW;AAEb,cAAI;AACF,kBAAM,MAAK;AAAA,UACZ,SAAQK,IAAP;AACA,gBAAIC,KAAQD,GAAE,MAAM,KAAI,EAAG,MAAM,cAAc;AAC/C,YAAAL,KAASM,MAASA,GAAM,MAAM;AAAA,UAC/B;AAIH,eAAO;AAAA,IAAON,KAASE;AAAA,MACxB;AAAA,IACF;AACD,QAAIK,KAAU,IACVC;AAEJ;AACE,UAAIC,KAAkB,OAAO,WAAY,aAAa,UAAU;AAChE,MAAAD,KAAsB,IAAIC;IAC3B;AAED,aAASC,EAA6BC,GAAIC,GAAW;AAEnD,UAAK,CAACD,KAAMJ;AACV,eAAO;AAGT;AACE,YAAIM,IAAQL,GAAoB,IAAIG,CAAE;AAEtC,YAAIE,MAAU;AACZ,iBAAOA;AAAA,MAEV;AAED,UAAIC;AACJ,MAAAP,KAAU;AACV,UAAIQ,KAA4B,MAAM;AAEtC,YAAM,oBAAoB;AAC1B,UAAIC;AAGF,MAAAA,KAAqBjB,GAAuB,SAG5CA,GAAuB,UAAU,MACjCH;AAGF,UAAI;AAEF,YAAIgB,GAAW;AAEb,cAAIK,KAAO,WAAY;AACrB,kBAAM,MAAK;AAAA,UACnB;AAWM,cARA,OAAO,eAAeA,GAAK,WAAW,SAAS;AAAA,YAC7C,KAAK,WAAY;AAGf,oBAAM,MAAK;AAAA,YACZ;AAAA,UACT,CAAO,GAEG,OAAO,WAAY,YAAY,QAAQ,WAAW;AAGpD,gBAAI;AACF,sBAAQ,UAAUA,IAAM,CAAA,CAAE;AAAA,YAC3B,SAAQZ,IAAP;AACA,cAAAS,KAAUT;AAAA,YACX;AAED,oBAAQ,UAAUM,GAAI,CAAE,GAAEM,EAAI;AAAA,UACtC,OAAa;AACL,gBAAI;AACF,cAAAA,GAAK,KAAI;AAAA,YACV,SAAQZ,IAAP;AACA,cAAAS,KAAUT;AAAA,YACX;AAED,YAAAM,EAAG,KAAKM,GAAK,SAAS;AAAA,UACvB;AAAA,QACP,OAAW;AACL,cAAI;AACF,kBAAM,MAAK;AAAA,UACZ,SAAQZ,IAAP;AACA,YAAAS,KAAUT;AAAA,UACX;AAED,UAAAM;QACD;AAAA,MACF,SAAQO,IAAP;AAEA,YAAIA,MAAUJ,MAAW,OAAOI,GAAO,SAAU,UAAU;AAQzD,mBALIC,KAAcD,GAAO,MAAM,MAAM;AAAA,CAAI,GACrCE,KAAeN,GAAQ,MAAM,MAAM;AAAA,CAAI,GACvCO,KAAIF,GAAY,SAAS,GACzB9F,KAAI+F,GAAa,SAAS,GAEvBC,MAAK,KAAKhG,MAAK,KAAK8F,GAAYE,QAAOD,GAAa/F;AAOzD,YAAAA;AAGF,iBAAOgG,MAAK,KAAKhG,MAAK,GAAGgG,MAAKhG;AAG5B,gBAAI8F,GAAYE,QAAOD,GAAa/F,KAAI;AAMtC,kBAAIgG,OAAM,KAAKhG,OAAM;AACnB;AAKE,sBAJAgG,MACAhG,MAGIA,KAAI,KAAK8F,GAAYE,QAAOD,GAAa/F,KAAI;AAE/C,wBAAIiG,KAAS;AAAA,IAAOH,GAAYE,IAAG,QAAQ,YAAY,MAAM;AAK7D,2BAAIV,EAAG,eAAeW,GAAO,SAAS,aAAa,MACjDA,KAASA,GAAO,QAAQ,eAAeX,EAAG,WAAW,IAIjD,OAAOA,KAAO,cAChBH,GAAoB,IAAIG,GAAIW,EAAM,GAK/BA;AAAA,kBACR;AAAA,uBACMD,MAAK,KAAKhG,MAAK;AAG1B;AAAA,YACD;AAAA,QAEJ;AAAA,MACL,UAAY;AACR,QAAAkF,KAAU,IAGRR,GAAuB,UAAUiB,IACjClB,MAGF,MAAM,oBAAoBiB;AAAA,MAC3B;AAGD,UAAIb,KAAOS,IAAKA,EAAG,eAAeA,EAAG,OAAO,IACxCY,KAAiBrB,KAAOD,GAA8BC,EAAI,IAAI;AAGhE,aAAI,OAAOS,KAAO,cAChBH,GAAoB,IAAIG,GAAIY,EAAc,GAIvCA;AAAA,IACR;AACD,aAASC,EAA+Bb,GAAIR,GAAQC,GAAS;AAEzD,aAAOM,EAA6BC,GAAI,EAAK;AAAA,IAEhD;AAED,aAASc,GAAgBC,GAAW;AAClC,UAAIC,IAAYD,EAAU;AAC1B,aAAO,CAAC,EAAEC,KAAaA,EAAU;AAAA,IAClC;AAED,aAASC,GAAqCzD,GAAMgC,GAAQC,GAAS;AAEnE,UAAIjC,KAAQ;AACV,eAAO;AAGT,UAAI,OAAOA,KAAS;AAEhB,eAAOuC,EAA6BvC,GAAMsD,GAAgBtD,CAAI,CAAC;AAInE,UAAI,OAAOA,KAAS;AAClB,eAAO8B,GAA8B9B,CAAI;AAG3C,cAAQA,GAAI;AAAA,QACV,KAAK7B;AACH,iBAAO2D,GAA8B,UAAU;AAAA,QAEjD,KAAK1D;AACH,iBAAO0D,GAA8B,cAAc;AAAA,MACtD;AAED,UAAI,OAAO9B,KAAS;AAClB,gBAAQA,EAAK,UAAQ;AAAA,UACnB,KAAK9B;AACH,mBAAOmF,EAA+BrD,EAAK,MAAM;AAAA,UAEnD,KAAK3B;AAEH,mBAAOoF,GAAqCzD,EAAK,MAAMgC,GAAQC,CAAO;AAAA,UAExE,KAAK3D,GACH;AACE,gBAAIsC,KAAgBZ,GAChBa,KAAUD,GAAc,UACxBE,KAAOF,GAAc;AAEzB,gBAAI;AAEF,qBAAO6C,GAAqC3C,GAAKD,EAAO,GAAGmB,GAAQC,CAAO;AAAA,YACtF,QAAY;AAAA,YAAY;AAAA,UACf;AAAA,QACJ;AAGH,aAAO;AAAA,IACR;AAED,QAAIyB,IAAiB,OAAO,UAAU,gBAElCC,IAAqB,CAAA,GACrBtE,KAAyBR,EAAqB;AAElD,aAAS+E,GAA8BC,GAAS;AAE5C,UAAIA,GAAS;AACX,YAAIC,IAAQD,EAAQ,QAChBvE,IAAQmE,GAAqCI,EAAQ,MAAMA,EAAQ,SAASC,IAAQA,EAAM,OAAO,IAAI;AACzG,QAAAzE,GAAuB,mBAAmBC,CAAK;AAAA,MACrD;AACM,QAAAD,GAAuB,mBAAmB,IAAI;AAAA,IAGnD;AAED,aAAS0E,GAAeC,GAAWC,GAAQC,GAAUC,IAAeN,IAAS;AAC3E;AAEE,YAAIO,KAAM,SAAS,KAAK,KAAKV,CAAc;AAE3C,iBAASW,MAAgBL;AACvB,cAAII,GAAIJ,GAAWK,EAAY,GAAG;AAChC,gBAAIC,KAAU;AAId,gBAAI;AAGF,kBAAI,OAAON,EAAUK,OAAkB,YAAY;AAEjD,oBAAIE,KAAM,OAAOJ,MAAiB,iBAAiB,OAAOD,IAAW,YAAYG,KAAe,+FAAoG,OAAOL,EAAUK,MAAgB,iGAAsG;AAC3U,sBAAAE,GAAI,OAAO,uBACLA;AAAA,cACP;AAED,cAAAD,KAAUN,EAAUK,IAAcJ,GAAQI,IAAcF,IAAeD,GAAU,MAAM,8CAA8C;AAAA,YACtI,SAAQM,IAAP;AACA,cAAAF,KAAUE;AAAA,YACX;AAED,YAAIF,MAAW,EAAEA,cAAmB,WAClCV,GAA8BC,EAAO,GAErC/E,EAAM,4RAAqTqF,MAAiB,eAAeD,GAAUG,IAAc,OAAOC,EAAO,GAEjYV,GAA8B,IAAI,IAGhCU,cAAmB,SAAS,EAAEA,GAAQ,WAAWX,OAGnDA,EAAmBW,GAAQ,WAAW,IACtCV,GAA8BC,EAAO,GAErC/E,EAAM,sBAAsBoF,GAAUI,GAAQ,OAAO,GAErDV,GAA8B,IAAI;AAAA,UAErC;AAAA,MAEJ;AAAA,IACF;AAED,QAAIa,KAAc,MAAM;AAExB,aAASC,GAAQvH,GAAG;AAClB,aAAOsH,GAAYtH,CAAC;AAAA,IACrB;AAYD,aAASwH,GAASC,GAAO;AACvB;AAEE,YAAIC,IAAiB,OAAO,UAAW,cAAc,OAAO,aACxD7E,IAAO6E,KAAkBD,EAAM,OAAO,gBAAgBA,EAAM,YAAY,QAAQ;AACpF,eAAO5E;AAAA,MACR;AAAA,IACF;AAGD,aAAS8E,GAAkBF,GAAO;AAE9B,UAAI;AACF,eAAAG,GAAmBH,CAAK,GACjB;AAAA,MACR,QAAC;AACA,eAAO;AAAA,MACR;AAAA,IAEJ;AAED,aAASG,GAAmBH,GAAO;AAwBjC,aAAO,KAAKA;AAAA,IACb;AACD,aAASI,GAAuBJ,GAAO;AAEnC,UAAIE,GAAkBF,CAAK;AACzB,eAAA9F,EAAM,mHAAwH6F,GAASC,CAAK,CAAC,GAEtIG,GAAmBH,CAAK;AAAA,IAGpC;AAED,QAAIK,KAAoBpG,EAAqB,mBACzCqG,KAAiB;AAAA,MACnB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,IACZ,GACIC,IACAC,IACAC;AAGF,IAAAA,KAAyB,CAAA;AAG3B,aAASC,GAAYC,GAAQ;AAEzB,UAAI7B,EAAe,KAAK6B,GAAQ,KAAK,GAAG;AACtC,YAAIC,IAAS,OAAO,yBAAyBD,GAAQ,KAAK,EAAE;AAE5D,YAAIC,KAAUA,EAAO;AACnB,iBAAO;AAAA,MAEV;AAGH,aAAOD,EAAO,QAAQ;AAAA,IACvB;AAED,aAASE,GAAYF,GAAQ;AAEzB,UAAI7B,EAAe,KAAK6B,GAAQ,KAAK,GAAG;AACtC,YAAIC,IAAS,OAAO,yBAAyBD,GAAQ,KAAK,EAAE;AAE5D,YAAIC,KAAUA,EAAO;AACnB,iBAAO;AAAA,MAEV;AAGH,aAAOD,EAAO,QAAQ;AAAA,IACvB;AAED,aAASG,GAAqCH,GAAQI,GAAM;AAExD,UAAI,OAAOJ,EAAO,OAAQ,YAAYN,GAAkB,WAAWU,KAAQV,GAAkB,QAAQ,cAAcU,GAAM;AACvH,YAAIxB,IAAgB3D,EAAyByE,GAAkB,QAAQ,IAAI;AAE3E,QAAKI,GAAuBlB,OAC1BrF,EAAM,6VAAsX0B,EAAyByE,GAAkB,QAAQ,IAAI,GAAGM,EAAO,GAAG,GAEhcF,GAAuBlB,KAAiB;AAAA,MAE3C;AAAA,IAEJ;AAED,aAASyB,GAA2BlE,GAAOrB,GAAa;AACtD;AACE,YAAIwF,IAAwB,WAAY;AACtC,UAAKV,OACHA,KAA6B,IAE7BrG,EAAM,6OAA4PuB,CAAW;AAAA,QAErR;AAEI,QAAAwF,EAAsB,iBAAiB,IACvC,OAAO,eAAenE,GAAO,OAAO;AAAA,UAClC,KAAKmE;AAAA,UACL,cAAc;AAAA,QACpB,CAAK;AAAA,MACF;AAAA,IACF;AAED,aAASC,GAA2BpE,GAAOrB,GAAa;AACtD;AACE,YAAI0F,IAAwB,WAAY;AACtC,UAAKX,OACHA,KAA6B,IAE7BtG,EAAM,6OAA4PuB,CAAW;AAAA,QAErR;AAEI,QAAA0F,EAAsB,iBAAiB,IACvC,OAAO,eAAerE,GAAO,OAAO;AAAA,UAClC,KAAKqE;AAAA,UACL,cAAc;AAAA,QACpB,CAAK;AAAA,MACF;AAAA,IACF;AAuBD,QAAIC,KAAe,SAAUhG,GAAMiG,GAAKC,GAAKP,IAAM3D,IAAQ8B,IAAOpC,IAAO;AACvE,UAAImC,KAAU;AAAA,QAEZ,UAAUlG;AAAA,QAEV,MAAMqC;AAAA,QACN,KAAKiG;AAAA,QACL,KAAKC;AAAA,QACL,OAAOxE;AAAA,QAEP,QAAQoC;AAAA,MACZ;AAOI,aAAAD,GAAQ,SAAS,IAKjB,OAAO,eAAeA,GAAQ,QAAQ,aAAa;AAAA,QACjD,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO;AAAA,MACb,CAAK,GAED,OAAO,eAAeA,IAAS,SAAS;AAAA,QACtC,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO8B;AAAA,MACb,CAAK,GAGD,OAAO,eAAe9B,IAAS,WAAW;AAAA,QACxC,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO7B;AAAA,MACb,CAAK,GAEG,OAAO,WACT,OAAO,OAAO6B,GAAQ,KAAK,GAC3B,OAAO,OAAOA,EAAO,IAIlBA;AAAA,IACT;AAQA,aAASsC,GAAOnG,GAAMuF,GAAQa,GAAUpE,IAAQ2D,IAAM;AACpD;AACE,YAAIU,IAEA3E,KAAQ,CAAA,GACRuE,KAAM,MACNC,KAAM;AAOV,QAAIE,MAAa,WAEbpB,GAAuBoB,CAAQ,GAGjCH,KAAM,KAAKG,IAGTX,GAAYF,CAAM,MAElBP,GAAuBO,EAAO,GAAG,GAGnCU,KAAM,KAAKV,EAAO,MAGhBD,GAAYC,CAAM,MACpBW,KAAMX,EAAO,KACbG,GAAqCH,GAAQI,EAAI;AAInD,aAAKU,MAAYd;AACf,UAAI7B,EAAe,KAAK6B,GAAQc,EAAQ,KAAK,CAACnB,GAAe,eAAemB,EAAQ,MAClF3E,GAAM2E,MAAYd,EAAOc;AAK7B,YAAIrG,KAAQA,EAAK,cAAc;AAC7B,cAAIsG,KAAetG,EAAK;AAExB,eAAKqG,MAAYC;AACf,YAAI5E,GAAM2E,QAAc,WACtB3E,GAAM2E,MAAYC,GAAaD;AAAA,QAGpC;AAED,YAAIJ,MAAOC,IAAK;AACd,cAAI7F,KAAc,OAAOL,KAAS,aAAaA,EAAK,eAAeA,EAAK,QAAQ,YAAYA;AAE5F,UAAIiG,MACFL,GAA2BlE,IAAOrB,EAAW,GAG3C6F,MACFJ,GAA2BpE,IAAOrB,EAAW;AAAA,QAEhD;AAED,eAAO2F,GAAahG,GAAMiG,IAAKC,IAAKP,IAAM3D,IAAQiD,GAAkB,SAASvD,EAAK;AAAA,MACnF;AAAA,IACF;AAED,QAAI6E,KAAsB1H,EAAqB,mBAC3C2H,KAA2B3H,EAAqB;AAEpD,aAAS4H,GAAgC5C,GAAS;AAE9C,UAAIA,GAAS;AACX,YAAIC,IAAQD,EAAQ,QAChBvE,IAAQmE,GAAqCI,EAAQ,MAAMA,EAAQ,SAASC,IAAQA,EAAM,OAAO,IAAI;AACzG,QAAA0C,GAAyB,mBAAmBlH,CAAK;AAAA,MACvD;AACM,QAAAkH,GAAyB,mBAAmB,IAAI;AAAA,IAGrD;AAED,QAAIE;AAGF,IAAAA,KAAgC;AAWlC,aAASC,GAAeC,GAAQ;AAE5B,aAAO,OAAOA,KAAW,YAAYA,MAAW,QAAQA,EAAO,aAAajJ;AAAA,IAE/E;AAED,aAASkJ,KAA8B;AACrC;AACE,YAAIN,GAAoB,SAAS;AAC/B,cAAIxE,IAAOvB,EAAyB+F,GAAoB,QAAQ,IAAI;AAEpE,cAAIxE;AACF,mBAAO;AAAA;AAAA,iCAAqCA,IAAO;AAAA,QAEtD;AAED,eAAO;AAAA,MACR;AAAA,IACF;AAED,aAAS+E,GAA2B9E,GAAQ;AAC1C;AACE,YAAIA,MAAW,QAAW;AACxB,cAAI+E,IAAW/E,EAAO,SAAS,QAAQ,aAAa,EAAE,GAClDgF,IAAahF,EAAO;AACxB,iBAAO;AAAA;AAAA,uBAA4B+E,IAAW,MAAMC,IAAa;AAAA,QAClE;AAED,eAAO;AAAA,MACR;AAAA,IACF;AAQD,QAAIC,KAAwB,CAAA;AAE5B,aAASC,GAA6BC,GAAY;AAChD;AACE,YAAIC,IAAOP;AAEX,YAAI,CAACO,GAAM;AACT,cAAIC,IAAa,OAAOF,KAAe,WAAWA,IAAaA,EAAW,eAAeA,EAAW;AAEpG,UAAIE,MACFD,IAAO;AAAA;AAAA,2CAAgDC,IAAa;AAAA,QAEvE;AAED,eAAOD;AAAA,MACR;AAAA,IACF;AAcD,aAASE,GAAoBzD,GAASsD,GAAY;AAChD;AACE,YAAI,CAACtD,EAAQ,UAAUA,EAAQ,OAAO,aAAaA,EAAQ,OAAO;AAChE;AAGF,QAAAA,EAAQ,OAAO,YAAY;AAC3B,YAAI0D,IAA4BL,GAA6BC,CAAU;AAEvE,YAAIF,GAAsBM;AACxB;AAGF,QAAAN,GAAsBM,KAA6B;AAInD,YAAIC,KAAa;AAEjB,QAAI3D,KAAWA,EAAQ,UAAUA,EAAQ,WAAW0C,GAAoB,YAEtEiB,KAAa,iCAAiChH,EAAyBqD,EAAQ,OAAO,IAAI,IAAI,MAGhG4C,GAAgC5C,CAAO,GAEvC/E,EAAM,6HAAkIyI,GAA2BC,EAAU,GAE7Kf,GAAgC,IAAI;AAAA,MACrC;AAAA,IACF;AAYD,aAASgB,GAAkBC,GAAMP,GAAY;AAC3C;AACE,YAAI,OAAOO,KAAS;AAClB;AAGF,YAAIhD,GAAQgD,CAAI;AACd,mBAASC,IAAI,GAAGA,IAAID,EAAK,QAAQC,KAAK;AACpC,gBAAIC,KAAQF,EAAKC;AAEjB,YAAIhB,GAAeiB,EAAK,KACtBN,GAAoBM,IAAOT,CAAU;AAAA,UAExC;AAAA,iBACQR,GAAee,CAAI;AAE5B,UAAIA,EAAK,WACPA,EAAK,OAAO,YAAY;AAAA,iBAEjBA,GAAM;AACf,cAAIG,KAAanJ,EAAcgJ,CAAI;AAEnC,cAAI,OAAOG,MAAe,cAGpBA,OAAeH,EAAK;AAItB,qBAHII,KAAWD,GAAW,KAAKH,CAAI,GAC/BK,IAEG,EAAEA,KAAOD,GAAS,KAAI,GAAI;AAC/B,cAAInB,GAAeoB,GAAK,KAAK,KAC3BT,GAAoBS,GAAK,OAAOZ,CAAU;AAAA,QAKnD;AAAA,MACF;AAAA,IACF;AASD,aAASa,EAAkBnE,GAAS;AAClC;AACE,YAAI7D,IAAO6D,EAAQ;AAEnB,YAAI7D,KAAS,QAA8B,OAAOA,KAAS;AACzD;AAGF,YAAIiI;AAEJ,YAAI,OAAOjI,KAAS;AAClB,UAAAiI,IAAYjI,EAAK;AAAA,iBACR,OAAOA,KAAS,aAAaA,EAAK,aAAa9B,KAE1D8B,EAAK,aAAa3B;AAChB,UAAA4J,IAAYjI,EAAK;AAAA;AAEjB;AAGF,YAAIiI,GAAW;AAEb,cAAIlG,KAAOvB,EAAyBR,CAAI;AACxC,UAAA+D,GAAekE,GAAWpE,EAAQ,OAAO,QAAQ9B,IAAM8B,CAAO;AAAA,QAC/D,WAAU7D,EAAK,cAAc,UAAa,CAAC0G,IAA+B;AACzE,UAAAA,KAAgC;AAEhC,cAAIwB,KAAQ1H,EAAyBR,CAAI;AAEzC,UAAAlB,EAAM,uGAAuGoJ,MAAS,SAAS;AAAA,QAChI;AAED,QAAI,OAAOlI,EAAK,mBAAoB,cAAc,CAACA,EAAK,gBAAgB,wBACtElB,EAAM,4HAAiI;AAAA,MAE1I;AAAA,IACF;AAOD,aAASqJ,GAAsBC,GAAU;AACvC;AAGE,iBAFIC,IAAO,OAAO,KAAKD,EAAS,KAAK,GAE5BT,IAAI,GAAGA,IAAIU,EAAK,QAAQV,KAAK;AACpC,cAAI1B,KAAMoC,EAAKV;AAEf,cAAI1B,OAAQ,cAAcA,OAAQ,OAAO;AACvC,YAAAQ,GAAgC2B,CAAQ,GAExCtJ,EAAM,4GAAiHmH,EAAG,GAE1HQ,GAAgC,IAAI;AACpC;AAAA,UACD;AAAA,QACF;AAED,QAAI2B,EAAS,QAAQ,SACnB3B,GAAgC2B,CAAQ,GAExCtJ,EAAM,uDAAuD,GAE7D2H,GAAgC,IAAI;AAAA,MAEvC;AAAA,IACF;AAED,aAAS6B,GAAkBtI,GAAM0B,GAAOuE,GAAKsC,IAAkBvG,IAAQ2D,IAAM;AAC3E;AACE,YAAI6C,KAAYzI,EAAmBC,CAAI;AAGvC,YAAI,CAACwI,IAAW;AACd,cAAIpB,KAAO;AAEX,WAAIpH,MAAS,UAAa,OAAOA,KAAS,YAAYA,MAAS,QAAQ,OAAO,KAAKA,CAAI,EAAE,WAAW,OAClGoH,MAAQ;AAGV,cAAIqB,KAAa3B,GAA2B9E,EAAM;AAElD,UAAIyG,KACFrB,MAAQqB,KAERrB,MAAQP,GAA2B;AAGrC,cAAI6B;AAEJ,UAAI1I,MAAS,OACX0I,KAAa,SACJhE,GAAQ1E,CAAI,IACrB0I,KAAa,UACJ1I,MAAS,UAAaA,EAAK,aAAarC,KACjD+K,KAAa,OAAOlI,EAAyBR,EAAK,IAAI,KAAK,aAAa,OACxEoH,KAAO,wEAEPsB,KAAa,OAAO1I,GAGtBlB,EAAM,2IAAqJ4J,IAAYtB,EAAI;AAAA,QAC5K;AAED,YAAIvD,KAAUsC,GAAOnG,GAAM0B,GAAOuE,GAAKjE,IAAQ2D,EAAI;AAGnD,YAAI9B,MAAW;AACb,iBAAOA;AAQT,YAAI2E,IAAW;AACb,cAAIG,KAAWjH,EAAM;AAErB,cAAIiH,OAAa;AACf,gBAAIJ;AACF,kBAAI7D,GAAQiE,EAAQ,GAAG;AACrB,yBAAShB,KAAI,GAAGA,KAAIgB,GAAS,QAAQhB;AACnC,kBAAAF,GAAkBkB,GAAShB,KAAI3H,CAAI;AAGrC,gBAAI,OAAO,UACT,OAAO,OAAO2I,EAAQ;AAAA,cAEpC;AACY,gBAAA7J,EAAM,sJAAgK;AAAA;AAGxK,cAAA2I,GAAkBkB,IAAU3I,CAAI;AAAA,QAGrC;AAED,eAAIA,MAASnC,IACXsK,GAAsBtE,EAAO,IAE7BmE,EAAkBnE,EAAO,GAGpBA;AAAA,MACR;AAAA,IACF;AAKD,aAAS+E,GAAwB5I,GAAM0B,GAAOuE,GAAK;AAE/C,aAAOqC,GAAkBtI,GAAM0B,GAAOuE,GAAK,EAAI;AAAA,IAElD;AACD,aAAS4C,GAAyB7I,GAAM0B,GAAOuE,GAAK;AAEhD,aAAOqC,GAAkBtI,GAAM0B,GAAOuE,GAAK,EAAK;AAAA,IAEnD;AAED,QAAI6C,KAAOD,IAGPE,KAAQH;AAEI,IAAAI,GAAA,WAAGnL,GACRmL,GAAA,MAAGF,IACFE,GAAA,OAAGD;AAAA,EACf;;;AC9xCA,EAAI,QAAQ,IAAI,aAAa,eAC3BE,EAAA,UAAiBtM,OAEjBsM,EAAA,UAAiBC;;ACCZ,MAAMC,KAAoB,CAAC;AAAA,EAChC,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,qBAAAC;AAAA,EAEA,QAAQC;AAAA,EACR,OAAOC;AAAA,EACP,OAAOC;AAAA,EACP,MAAMC;AAAA,EACN,SAASC;AAAA,EACT,YAAYC;AAAA,EACZ,aAAaC;AAAA,KACVC;AACL,MACEnB,gBAAAA,GAAA;AAAA,EAACoB;AAAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,WAAAd;AAAA,IACA,OAAOK,KAAuBD,IAAWC,EAAoB,QAAQF;AAAA,IACrE,SAAS,CAAKhM,MAAA8L,EAAc9L,CAAC;AAAA,IAC7B,UAAUiM,KAAY,CAACC;AAAA,IACtB,GAAGQ;AAAA,IACH,UAAAR,KAAuBD,IAAWC,EAAoB,QAAQH;AAAA,EAAA;AACjE;AAGFH,GAAkB,cAAc;AC3BzB,MAAMgB,KAAiBC;AAAA,EAC5B,CACE;AAAA,IACE,WAAAhB;AAAA,IACA,OAAAG;AAAA,IAEA,QAAQG;AAAA,IACR,OAAOE;AAAA,IACP,MAAMC;AAAA,IACN,OAAOQ;AAAA,IACP,UAAUC;AAAA,IACV,SAASR;AAAA,IACT,YAAYC;AAAA,OACTE;AAAA,EAAA,GAELM,MACIzB,gBAAAA,OAAA0B,IAAA,EAAe,KAAKD,GAAS,WAAAnB,GAAsB,OAAAG,GAAe,GAAGU,GAAY;AACzF;AAEAE,GAAe,cAAc;ACpBtB,MAAMM,KAAgB,CAAC;AAAA,EAC5B,WAAArB;AAAA,EACA,gBAAAsB;AAAA,EACA,OAAApB;AAAA,EACA,SAAAqB;AAAA,EACA,OAAApB;AAAA,EACA,UAAAC;AAAA,EAEA,MAAMK;AAAA,EACN,SAASC;AAAA,EACT,YAAYC;AAAA,EACZ,QAAQL;AAAA,KACLO;AACL,MACEnB,gBAAAA,GAAA;AAAA,EAAC8B;AAAA,EAAA;AAAA,IACC,OAAArB;AAAA,IACA,WAAAH;AAAA,IACA,UAAU,CAAKyB,MAAAH,EAAeG,CAAC;AAAA,IAC/B,SAAS,CAAC,CAACF;AAAA,IACX,UAAAnB;AAAA,IACA,iBAAiBF;AAAA,IACjB,mBAAkB;AAAA,IACjB,GAAGW;AAAA,EAAA;AACN;AAGFQ,GAAc,cAAc;;;;;;;;;;ACzB5B,GAAC,WAAY;AAGZ,QAAIK,IAAS,CAAE,EAAC;AAEhB,aAASC,IAAa;AAGrB,eAFIC,IAAU,CAAA,GAELrD,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AAC1C,YAAIsD,IAAM,UAAUtD;AACpB,YAAI,EAACsD,GAEL;AAAA,cAAIC,IAAU,OAAOD;AAErB,cAAIC,MAAY,YAAYA,MAAY;AACvC,YAAAF,EAAQ,KAAKC,CAAG;AAAA,mBACN,MAAM,QAAQA,CAAG;AAC3B,gBAAIA,EAAI,QAAQ;AACf,kBAAIE,IAAQJ,EAAW,MAAM,MAAME,CAAG;AACtC,cAAIE,KACHH,EAAQ,KAAKG,CAAK;AAAA,YAEnB;AAAA,qBACSD,MAAY;AACtB,gBAAID,EAAI,aAAa,OAAO,UAAU;AACrC,uBAAShF,KAAOgF;AACf,gBAAIH,EAAO,KAAKG,GAAKhF,CAAG,KAAKgF,EAAIhF,MAChC+E,EAAQ,KAAK/E,CAAG;AAAA;AAIlB,cAAA+E,EAAQ,KAAKC,EAAI,SAAU,CAAA;AAAA;AAAA,MAG7B;AAED,aAAOD,EAAQ,KAAK,GAAG;AAAA,IACvB;AAED,IAAqC/B,EAAO,WAC3C8B,EAAW,UAAUA,GACrB9B,EAAA,UAAiB8B,KAOjB,OAAO,aAAaA;AAAA,EAEtB;;;ACzDe,SAASK,EAAgBC,GAAKpF,GAAKrB,GAAO;AACvD,SAAIqB,KAAOoF,IACT,OAAO,eAAeA,GAAKpF,GAAK;AAAA,IAC9B,OAAOrB;AAAA,IACP,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,UAAU;AAAA,EAChB,CAAK,IAEDyG,EAAIpF,KAAOrB,GAGNyG;AACT;ACXA,SAASC,GAAQ1E,GAAQ2E,GAAgB;AACvC,MAAIlD,IAAO,OAAO,KAAKzB,CAAM;AAE7B,MAAI,OAAO,uBAAuB;AAChC,QAAI4E,IAAU,OAAO,sBAAsB5E,CAAM;AACjD,IAAA2E,MAAmBC,IAAUA,EAAQ,OAAO,SAAUC,GAAK;AACzD,aAAO,OAAO,yBAAyB7E,GAAQ6E,CAAG,EAAE;AAAA,IAC1D,CAAK,IAAIpD,EAAK,KAAK,MAAMA,GAAMmD,CAAO;AAAA,EACnC;AAED,SAAOnD;AACT;AAEe,SAASqD,EAAeC,GAAQ;AAC7C,WAAShE,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AACzC,QAAI3F,IAAiB,UAAU2F,MAAlB,OAAuB,UAAUA,KAAK;AACnD,IAAAA,IAAI,IAAI2D,GAAQ,OAAOtJ,CAAM,GAAG,EAAE,EAAE,QAAQ,SAAUiE,GAAK;AACzD2F,MAAAA,EAAeD,GAAQ1F,GAAKjE,EAAOiE,EAAI;AAAA,IAC7C,CAAK,IAAI,OAAO,4BAA4B,OAAO,iBAAiB0F,GAAQ,OAAO,0BAA0B3J,CAAM,CAAC,IAAIsJ,GAAQ,OAAOtJ,CAAM,CAAC,EAAE,QAAQ,SAAUiE,GAAK;AACjK,aAAO,eAAe0F,GAAQ1F,GAAK,OAAO,yBAAyBjE,GAAQiE,CAAG,CAAC;AAAA,IACrF,CAAK;AAAA,EACF;AAED,SAAO0F;AACT;ACzBe,SAASE,GAAKR,GAAKS,GAAQ;AACxC,MAAIC,IAAQC,EAAc,CAAE,GAAEX,CAAG;AACjC,SAAI,MAAM,QAAQS,CAAM,KACtBA,EAAO,QAAQ,SAAU7F,GAAK;AAC5B,WAAO8F,EAAM9F;AAAA,EACnB,CAAK,GAEI8F;AACT;ACRA,IAAIE,KAAS,CAAA;AACN,SAASC,GAAQC,GAAOC,GAAS;AAEtC,EAAI,QAAQ,IAAI,aAAa,gBAAgB,CAACD,KAAS,YAAY,UACjE,QAAQ,MAAM,YAAY,OAAOC,CAAO,CAAC;AAE7C;AAOO,SAASC,KAAc;AAC5BJ,EAAAA,KAAS,CAAA;AACX;AACO,SAASK,GAAKC,GAAQJ,GAAOC,GAAS;AAC3C,EAAI,CAACD,KAAS,CAACF,GAAOG,OACpBG,EAAO,IAAOH,CAAO,GACrBH,GAAOG,KAAW;AAEtB;AACO,SAASI,GAAYL,GAAOC,GAAS;AAC1CE,EAAAA,GAAKJ,IAASC,GAAOC,CAAO;AAC9B;ACvBO,SAASK,KAAO;AAAE;AAEzB,IAAIP,KAAUO;AACV,QAAQ,IAAI,aAAa,iBAC3BP,KAAU,CAACC,GAAOO,GAAWN,MAAY;AACvCO,EAAAA,GAAUR,GAAO,UAAUO,MAAcN,GAAS,GAE9C,QAAQ,IAAI,aAAa,UAC3BC;AAEN;AAEA,MAAAO,KAAeV;ACdA,SAASW,GAAQxB,GAAK;AAGnC,SAAOwB,KAAwB,OAAO,UAArB,cAA2C,OAAO,OAAO,YAA1B,WAAqC,SAAUxB,GAAK;AAClG,WAAO,OAAOA;AAAA,EACf,IAAG,SAAUA,GAAK;AACjB,WAAOA,KAAqB,OAAO,UAArB,cAA+BA,EAAI,gBAAgB,UAAUA,MAAQ,OAAO,YAAY,WAAW,OAAOA;AAAA,EAC5H,GAAKwB,GAAQxB,CAAG;AAChB;;;;;;;;;;;;;;ACCa,MAAIhO,IAAe,OAAO,UAApB,cAA4B,OAAO,KAAIH,IAAEG,IAAE,OAAO,IAAI,eAAe,IAAE,OAAMC,IAAED,IAAE,OAAO,IAAI,cAAc,IAAE,OAAME,IAAEF,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAMX,IAAEW,IAAE,OAAO,IAAI,mBAAmB,IAAE,OAAMD,IAAEC,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAMG,IAAEH,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAMT,IAAES,IAAE,OAAO,IAAI,eAAe,IAAE,OAAM,IAAEA,IAAE,OAAO,IAAI,kBAAkB,IAAE,OAAMP,IAAEO,IAAE,OAAO,IAAI,uBAAuB,IAAE,OAAMN,IAAEM,IAAE,OAAO,IAAI,mBAAmB,IAAE,OAAML,IAAEK,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAMJ,IAAEI,IACpf,OAAO,IAAI,qBAAqB,IAAE,OAAMyP,IAAEzP,IAAE,OAAO,IAAI,YAAY,IAAE,OAAM0P,IAAE1P,IAAE,OAAO,IAAI,YAAY,IAAE,OAAMwN,IAAExN,IAAE,OAAO,IAAI,aAAa,IAAE,OAAM2P,IAAE3P,IAAE,OAAO,IAAI,mBAAmB,IAAE,OAAM6E,IAAE7E,IAAE,OAAO,IAAI,iBAAiB,IAAE,OAAM4P,IAAE5P,IAAE,OAAO,IAAI,aAAa,IAAE;AAClQ,WAAS6P,EAAE/P,GAAE;AAAC,QAAc,OAAOA,KAAlB,YAA4BA,MAAP,MAAS;AAAC,UAAIgQ,IAAEhQ,EAAE;AAAS,cAAOgQ,GAAG;AAAA,QAAA,KAAKjQ;AAAE,kBAAOC,IAAEA,EAAE,MAAKA,GAAG;AAAA,YAAA,KAAK;AAAA,YAAE,KAAKL;AAAA,YAAE,KAAKS;AAAA,YAAE,KAAKH;AAAA,YAAE,KAAKV;AAAA,YAAE,KAAKM;AAAE,qBAAOG;AAAA,YAAE;AAAQ,sBAAOA,IAAEA,KAAGA,EAAE,UAASA,GAAG;AAAA,gBAAA,KAAKP;AAAA,gBAAE,KAAKG;AAAA,gBAAE,KAAKgQ;AAAA,gBAAE,KAAKD;AAAA,gBAAE,KAAKtP;AAAE,yBAAOL;AAAA,gBAAE;AAAQ,yBAAOgQ;AAAA,cAAC;AAAA,UAAC;AAAA,QAAC,KAAK7P;AAAE,iBAAO6P;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAC,WAASC,EAAEjQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIL;AAAA,EAAC;AAACuQ,SAAAA,GAAA,YAAkB,GAAEA,GAAsB,iBAACvQ,GAAEuQ,qBAAwBzQ,GAAEyQ,GAAA,kBAAwB7P,GAAE6P,GAAe,UAACnQ,GAAEmQ,GAAA,aAAmBtQ,GAAEsQ,GAAgB,WAAC9P,GAAE8P,UAAaN,GAAEM,GAAA,OAAaP,GAAEO,GAAc,SAAC/P,GAChf+P,GAAA,WAAiBjQ,GAAEiQ,GAAA,aAAmB3Q,GAAE2Q,GAAA,WAAiBrQ,GAAEqQ,GAAA,cAAoB,SAASlQ,GAAE;AAAC,WAAOiQ,EAAEjQ,CAAC,KAAG+P,EAAE/P,CAAC,MAAI;AAAA,EAAC,GAAEkQ,GAAA,mBAAyBD,GAAEC,GAAA,oBAA0B,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIP;AAAA,EAAC,GAAEyQ,GAAA,oBAA0B,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIK;AAAA,EAAC,GAAE6P,GAAA,YAAkB,SAASlQ,GAAE;AAAC,WAAiB,OAAOA,KAAlB,YAA4BA,MAAP,QAAUA,EAAE,aAAWD;AAAA,EAAC,GAAEmQ,GAAA,eAAqB,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIJ;AAAA,EAAC,GAAEsQ,GAAA,aAAmB,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAII;AAAA,EAAC,GAAE8P,GAAA,SAAe,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAI4P;AAAA,EAAC,GAC1dM,GAAA,SAAe,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAI2P;AAAA,EAAC,GAAEO,cAAiB,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIG;AAAA,EAAC,GAAE+P,GAAkB,aAAC,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIC;AAAA,EAAC,GAAEiQ,GAAA,eAAqB,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIT;AAAA,EAAC,GAAE2Q,GAAA,aAAmB,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIH;AAAA,EAAC,GAChNqQ,GAAA,qBAAC,SAASlQ,GAAE;AAAC,WAAiB,OAAOA,KAAlB,YAAkC,OAAOA,KAApB,cAAuBA,MAAII,KAAGJ,MAAIL,KAAGK,MAAIC,KAAGD,MAAIT,KAAGS,MAAIH,KAAGG,MAAIF,KAAc,OAAOE,KAAlB,YAA4BA,MAAP,SAAWA,EAAE,aAAW4P,KAAG5P,EAAE,aAAW2P,KAAG3P,EAAE,aAAWK,KAAGL,EAAE,aAAWP,KAAGO,EAAE,aAAWJ,KAAGI,EAAE,aAAW6P,KAAG7P,EAAE,aAAW+E,KAAG/E,EAAE,aAAW8P,KAAG9P,EAAE,aAAW0N;AAAA,EAAE,GAAEwC,GAAc,SAACH;;;;;wBCD/T,QAAQ,IAAI,aAAa,gBAC1B,WAAW;AAKd,QAAII,IAAY,OAAO,UAAW,cAAc,OAAO,KACnD3P,IAAqB2P,IAAY,OAAO,IAAI,eAAe,IAAI,OAC/D1P,IAAoB0P,IAAY,OAAO,IAAI,cAAc,IAAI,OAC7DzP,IAAsByP,IAAY,OAAO,IAAI,gBAAgB,IAAI,OACjExP,IAAyBwP,IAAY,OAAO,IAAI,mBAAmB,IAAI,OACvEvP,IAAsBuP,IAAY,OAAO,IAAI,gBAAgB,IAAI,OACjEtP,IAAsBsP,IAAY,OAAO,IAAI,gBAAgB,IAAI,OACjErP,IAAqBqP,IAAY,OAAO,IAAI,eAAe,IAAI,OAG/DC,IAAwBD,IAAY,OAAO,IAAI,kBAAkB,IAAI,OACrEE,IAA6BF,IAAY,OAAO,IAAI,uBAAuB,IAAI,OAC/EpP,IAAyBoP,IAAY,OAAO,IAAI,mBAAmB,IAAI,OACvEnP,IAAsBmP,IAAY,OAAO,IAAI,gBAAgB,IAAI,OACjElP,IAA2BkP,IAAY,OAAO,IAAI,qBAAqB,IAAI,OAC3EjP,IAAkBiP,IAAY,OAAO,IAAI,YAAY,IAAI,OACzDhP,IAAkBgP,IAAY,OAAO,IAAI,YAAY,IAAI,OACzDG,IAAmBH,IAAY,OAAO,IAAI,aAAa,IAAI,OAC3DI,IAAyBJ,IAAY,OAAO,IAAI,mBAAmB,IAAI,OACvEK,IAAuBL,IAAY,OAAO,IAAI,iBAAiB,IAAI,OACnEM,IAAmBN,IAAY,OAAO,IAAI,aAAa,IAAI;AAE/D,aAASvN,EAAmBC,GAAM;AAChC,aAAO,OAAOA,KAAS,YAAY,OAAOA,KAAS,cACnDA,MAASnC,KAAuBmC,MAASwN,KAA8BxN,MAASjC,KAAuBiC,MAASlC,KAA0BkC,MAAS7B,KAAuB6B,MAAS5B,KAA4B,OAAO4B,KAAS,YAAYA,MAAS,SAASA,EAAK,aAAa1B,KAAmB0B,EAAK,aAAa3B,KAAmB2B,EAAK,aAAahC,KAAuBgC,EAAK,aAAa/B,KAAsB+B,EAAK,aAAa9B,KAA0B8B,EAAK,aAAa0N,KAA0B1N,EAAK,aAAa2N,KAAwB3N,EAAK,aAAa4N,KAAoB5N,EAAK,aAAayN;AAAA,IACnlB;AAED,aAASI,EAAOjH,GAAQ;AACtB,UAAI,OAAOA,KAAW,YAAYA,MAAW,MAAM;AACjD,YAAIkH,IAAWlH,EAAO;AAEtB,gBAAQkH,GAAQ;AAAA,UACd,KAAKnQ;AACH,gBAAIqC,KAAO4G,EAAO;AAElB,oBAAQ5G,IAAI;AAAA,cACV,KAAKuN;AAAA,cACL,KAAKC;AAAA,cACL,KAAK3P;AAAA,cACL,KAAKE;AAAA,cACL,KAAKD;AAAA,cACL,KAAKK;AACH,uBAAO6B;AAAA,cAET;AACE,oBAAI+N,KAAe/N,MAAQA,GAAK;AAEhC,wBAAQ+N,IAAY;AAAA,kBAClB,KAAK9P;AAAA,kBACL,KAAKC;AAAA,kBACL,KAAKI;AAAA,kBACL,KAAKD;AAAA,kBACL,KAAKL;AACH,2BAAO+P;AAAA,kBAET;AACE,2BAAOD;AAAA,gBACV;AAAA,YAEJ;AAAA,UAEH,KAAKlQ;AACH,mBAAOkQ;AAAA,QACV;AAAA,MACF;AAAA,IAGF;AAED,QAAIE,IAAYT,GACZU,IAAiBT,GACjBU,IAAkBjQ,GAClBkQ,IAAkBnQ,GAClBoQ,IAAUzQ,GACV0Q,IAAanQ,GACboQ,IAAWzQ,GACX0Q,IAAOjQ,GACPkQ,IAAOnQ,GACPoQ,IAAS7Q,GACT8Q,IAAW3Q,GACX4Q,IAAa7Q,GACb8Q,IAAWzQ,GACX0Q,IAAsC;AAE1C,aAASC,EAAYlI,GAAQ;AAEzB,aAAKiI,MACHA,IAAsC,IAEtC,QAAQ,KAAQ,+KAAyL,IAItME,EAAiBnI,CAAM,KAAKiH,EAAOjH,CAAM,MAAM2G;AAAA,IACvD;AACD,aAASwB,EAAiBnI,GAAQ;AAChC,aAAOiH,EAAOjH,CAAM,MAAM4G;AAAA,IAC3B;AACD,aAASwB,EAAkBpI,GAAQ;AACjC,aAAOiH,EAAOjH,CAAM,MAAM3I;AAAA,IAC3B;AACD,aAASgR,EAAkBrI,GAAQ;AACjC,aAAOiH,EAAOjH,CAAM,MAAM5I;AAAA,IAC3B;AACD,aAASkR,EAAUtI,GAAQ;AACzB,aAAO,OAAOA,KAAW,YAAYA,MAAW,QAAQA,EAAO,aAAajJ;AAAA,IAC7E;AACD,aAASwR,GAAavI,GAAQ;AAC5B,aAAOiH,EAAOjH,CAAM,MAAM1I;AAAA,IAC3B;AACD,aAASkR,GAAWxI,GAAQ;AAC1B,aAAOiH,EAAOjH,CAAM,MAAM/I;AAAA,IAC3B;AACD,aAASwR,GAAOzI,GAAQ;AACtB,aAAOiH,EAAOjH,CAAM,MAAMtI;AAAA,IAC3B;AACD,aAASgR,GAAO1I,GAAQ;AACtB,aAAOiH,EAAOjH,CAAM,MAAMvI;AAAA,IAC3B;AACD,aAASkR,GAAS3I,GAAQ;AACxB,aAAOiH,EAAOjH,CAAM,MAAMhJ;AAAA,IAC3B;AACD,aAAS4R,GAAW5I,GAAQ;AAC1B,aAAOiH,EAAOjH,CAAM,MAAM7I;AAAA,IAC3B;AACD,aAAS0R,GAAa7I,GAAQ;AAC5B,aAAOiH,EAAOjH,CAAM,MAAM9I;AAAA,IAC3B;AACD,aAAS4R,GAAW9I,GAAQ;AAC1B,aAAOiH,EAAOjH,CAAM,MAAMzI;AAAA,IAC3B;AAEgBwR,IAAAA,GAAA,YAAG3B,GACE2B,GAAA,iBAAG1B,GACF0B,GAAA,kBAAGzB,GACHyB,GAAA,kBAAGxB,GACXwB,GAAA,UAAGvB,GACAuB,GAAA,aAAGtB,GACLsB,GAAA,WAAGrB,GACPqB,GAAA,OAAGpB,GACHoB,GAAA,OAAGnB,GACDmB,GAAA,SAAGlB,GACDkB,GAAA,WAAGjB,GACDiB,GAAA,aAAGhB,GACLgB,GAAA,WAAGf,GACAe,GAAA,cAAGb,GACEa,GAAA,mBAAGZ,GACFY,GAAA,oBAAGX,GACHW,GAAA,oBAAGV,GACXU,GAAA,YAAGT,GACAS,GAAA,eAAGR,IACLQ,GAAA,aAAGP,IACPO,GAAA,SAAGN,IACHM,GAAA,SAAGL,IACDK,GAAA,WAAGJ,IACDI,GAAA,aAAGH,IACDG,GAAA,eAAGF,IACLE,GAAA,aAAGD,IACKC,GAAA,qBAAG5P,GACf4P,GAAA,SAAG9B;AAAA,EACjB;;;ACjLA,EAAI,QAAQ,IAAI,aAAa,eAC3B5E,EAAA,UAAiBtM,OAEjBsM,EAAA,UAAiBC;;ACFZ,SAAS0G,GAAQ1J,GAAKwB,GAAM;AACjC,EAAI,OAAOxB,KAAQ,aACjBA,EAAIwB,CAAI,IACCmF,GAAQ3G,CAAG,MAAM,YAAYA,KAAO,aAAaA,MAC1DA,EAAI,UAAUwB;AAElB;AAIO,SAASmI,KAAa;AAC3B,WAASC,IAAO,UAAU,QAAQC,IAAO,IAAI,MAAMD,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,IAAAD,EAAKC,KAAQ,UAAUA;AAEzB,MAAIC,IAAUF,EAAK,OAAO,SAAU7J,GAAK;AACvC,WAAOA;AAAA,EACX,CAAG;AACD,SAAI+J,EAAQ,UAAU,IACbA,EAAQ,KAEV,SAAUvI,GAAM;AACrB,IAAAqI,EAAK,QAAQ,SAAU7J,GAAK;AAC1B0J,MAAAA,GAAQ1J,GAAKwB,CAAI;AAAA,IACvB,CAAK;AAAA,EACL;AACA;AAaO,SAASwI,GAAWC,GAAiB;AAC1C,MAAIC,GAAiBC,GACjBrQ,IAAOsP,GAAM,OAACa,CAAe,IAAIA,EAAgB,KAAK,OAAOA,EAAgB;AAMjF,SAJI,SAAOnQ,KAAS,cAAc,EAAG,GAAAoQ,IAAkBpQ,EAAK,eAAe,QAAQoQ,MAAoB,WAAkBA,EAAgB,WAIrI,OAAOD,KAAoB,cAAc,EAAG,GAAAE,IAAwBF,EAAgB,eAAe,QAAQE,MAA0B,WAAkBA,EAAsB;AAInL;ACrDA,MAAeC,KAAC,SAAUzM,GAAS;AACjC,MAAI,CAACA;AACH,WAAO;AAET,MAAIA,aAAmB,eAAeA,EAAQ;AAC5C,WAAO;AAET,MAAIA,aAAmB,sBAAsBA,EAAQ,SAAS;AAC5D,QAAI0M,IAAmB1M,EAAQ,QAAS,GACtC2M,IAAQD,EAAiB,OACzBE,IAASF,EAAiB;AAC5B,QAAIC,KAASC;AACX,aAAO;AAAA,EAEV;AACD,MAAI5M,aAAmB,eAAeA,EAAQ,uBAAuB;AACnE,QAAI6M,IAAwB7M,EAAQ,sBAAuB,GACzD8M,IAASD,EAAsB,OAC/BE,IAAUF,EAAsB;AAClC,QAAIC,KAAUC;AACZ,aAAO;AAAA,EAEV;AACD,SAAO;AACT;ACxBe,SAASC,GAAkBC,GAAKC,GAAK;AAClD,GAAIA,KAAO,QAAQA,IAAMD,EAAI,YAAQC,IAAMD,EAAI;AAE/C,WAASnJ,IAAI,GAAGqJ,IAAO,IAAI,MAAMD,CAAG,GAAGpJ,IAAIoJ,GAAKpJ;AAC9C,IAAAqJ,EAAKrJ,KAAKmJ,EAAInJ;AAGhB,SAAOqJ;AACT;ACPe,SAASC,GAAmBH,GAAK;AAC9C,MAAI,MAAM,QAAQA,CAAG;AAAG,WAAOI,GAAiBJ,CAAG;AACrD;ACHe,SAASK,GAAiBC,GAAM;AAC7C,MAAI,OAAO,SAAW,OAAeA,EAAK,OAAO,aAAa,QAAQA,EAAK,iBAAiB;AAAM,WAAO,MAAM,KAAKA,CAAI;AAC1H;ACDe,SAASC,GAA4BC,GAAGC,GAAQ;AAC7D,MAAI,EAACD,GACL;AAAA,QAAI,OAAOA,KAAM;AAAU,aAAOJ,GAAiBI,GAAGC,CAAM;AAC5D,QAAIxU,IAAI,OAAO,UAAU,SAAS,KAAKuU,CAAC,EAAE,MAAM,GAAG,EAAE;AAErD,QADIvU,MAAM,YAAYuU,EAAE,gBAAavU,IAAIuU,EAAE,YAAY,OACnDvU,MAAM,SAASA,MAAM;AAAO,aAAO,MAAM,KAAKuU,CAAC;AACnD,QAAIvU,MAAM,eAAe,2CAA2C,KAAKA,CAAC;AAAG,aAAOmU,GAAiBI,GAAGC,CAAM;AAAA;AAChH;ACRe,SAASC,KAAqB;AAC3C,QAAM,IAAI,UAAU;AAAA,mFAAsI;AAC5J;ACEe,SAASC,GAAmBX,GAAK;AAC9C,SAAOY,GAAkBZ,CAAG,KAAKa,GAAgBb,CAAG,KAAKc,GAA2Bd,CAAG,KAAKe;AAC9F;ACHA,SAASC,GAAQC,GAAK;AAYpB,WANIvU,IAAI,GAEJZ,GACA+K,IAAI,GACJoJ,IAAMgB,EAAI,QAEPhB,KAAO,GAAG,EAAEpJ,GAAGoJ,KAAO;AAC3B,IAAAnU,IAAImV,EAAI,WAAWpK,CAAC,IAAI,OAAQoK,EAAI,WAAW,EAAEpK,CAAC,IAAI,QAAS,KAAKoK,EAAI,WAAW,EAAEpK,CAAC,IAAI,QAAS,MAAMoK,EAAI,WAAW,EAAEpK,CAAC,IAAI,QAAS,IACxI/K,KAECA,IAAI,SAAU,eAAeA,MAAM,MAAM,SAAU,KACpDA,KAEAA,MAAM,IACNY,KAECZ,IAAI,SAAU,eAAeA,MAAM,MAAM,SAAU,OAEnDY,IAAI,SAAU,eAAeA,MAAM,MAAM,SAAU;AAItD,UAAQuT,GAAG;AAAA,IACT,KAAK;AACH,MAAAvT,MAAMuU,EAAI,WAAWpK,IAAI,CAAC,IAAI,QAAS;AAAA,IAEzC,KAAK;AACH,MAAAnK,MAAMuU,EAAI,WAAWpK,IAAI,CAAC,IAAI,QAAS;AAAA,IAEzC,KAAK;AACH,MAAAnK,KAAKuU,EAAI,WAAWpK,CAAC,IAAI,KACzBnK,KAECA,IAAI,SAAU,eAAeA,MAAM,MAAM,SAAU;AAAA,EACvD;AAID,SAAAA,KAAKA,MAAM,IACXA,KAECA,IAAI,SAAU,eAAeA,MAAM,MAAM,SAAU,OAC3CA,IAAIA,MAAM,QAAQ,GAAG,SAAS,EAAE;AAC3C;ACpDe,SAASwU,GAA8BhQ,GAAQiQ,GAAU;AACtE,MAAIjQ,KAAU;AAAM,WAAO;AAC3B,MAAI2J,IAAS,CAAA,GACTuG,IAAa,OAAO,KAAKlQ,CAAM,GAC/BiE,GAAK;AAET,OAAK,IAAI,GAAG,IAAIiM,EAAW,QAAQ;AAEjC,IADAjM,IAAMiM,EAAW,IACb,EAAAD,EAAS,QAAQhM,CAAG,KAAK,OAC7B0F,EAAO1F,KAAOjE,EAAOiE;AAGvB,SAAO0F;AACT;ACZe,SAASwG,GAAyBnQ,GAAQiQ,GAAU;AACjE,MAAIjQ,KAAU;AAAM,WAAO;AAC3B,MAAI2J,IAASyG,GAA6BpQ,GAAQiQ,CAAQ,GACtDhM,GAAK0B;AAET,MAAI,OAAO,uBAAuB;AAChC,QAAI0K,IAAmB,OAAO,sBAAsBrQ,CAAM;AAE1D,SAAK2F,IAAI,GAAGA,IAAI0K,EAAiB,QAAQ1K;AAEvC,MADA1B,IAAMoM,EAAiB1K,IACnB,EAAAsK,EAAS,QAAQhM,CAAG,KAAK,OACzB,CAAC,OAAO,UAAU,qBAAqB,KAAKjE,GAAQiE,CAAG,MAC3D0F,EAAO1F,KAAOjE,EAAOiE;AAAA,EAExB;AAED,SAAO0F;AACT;ACjBA,IAAIM,KAAS,CAAA;AACN,SAASC,GAAQC,GAAOC,GAAS;AAEtC,EAAI,QAAQ,IAAI,aAAa,gBAAgB,CAACD,KAAS,YAAY,UACjE,QAAQ,MAAM,YAAY,OAAOC,CAAO,CAAC;AAE7C;AAUO,SAASE,GAAKC,GAAQJ,GAAOC,GAAS;AAC3C,EAAI,CAACD,KAAS,CAACF,GAAOG,OACpBG,EAAO,IAAOH,CAAO,GACrBH,GAAOG,KAAW;AAEtB;AACO,SAASI,GAAYL,GAAOC,GAAS;AAC1CE,EAAAA,GAAKJ,IAASC,GAAOC,CAAO;AAC9B;ACzBe,SAASkG,GAAgBC,GAAUC,GAAa;AAC7D,MAAI,EAAED,aAAoBC;AACxB,UAAM,IAAI,UAAU,mCAAmC;AAE3D;ACJA,SAASC,GAAkB9G,GAAQjK,GAAO;AACxC,WAASiG,IAAI,GAAGA,IAAIjG,EAAM,QAAQiG,KAAK;AACrC,QAAI+K,IAAahR,EAAMiG;AACvB,IAAA+K,EAAW,aAAaA,EAAW,cAAc,IACjDA,EAAW,eAAe,IACtB,WAAWA,MAAYA,EAAW,WAAW,KACjD,OAAO,eAAe/G,GAAQ+G,EAAW,KAAKA,CAAU;AAAA,EACzD;AACH;AAEe,SAASC,GAAaH,GAAaI,GAAYC,GAAa;AACzE,SAAID,KAAYH,GAAkBD,EAAY,WAAWI,CAAU,GAC/DC,KAAaJ,GAAkBD,GAAaK,CAAW,GAC3D,OAAO,eAAeL,GAAa,aAAa;AAAA,IAC9C,UAAU;AAAA,EACd,CAAG,GACMA;AACT;ACZA,IAAIM,KAAsB,2BAAY;AACpC,WAASA,IAAS;AAChB,IAAAR,GAAgB,MAAMQ,CAAM,GAE5B1H,EAAgB,MAAM,SAAS,oBAAI,IAAK,CAAA;AAAA,EACzC;AAED,SAAAuH,GAAaG,GAAQ,CAAC;AAAA,IACpB,KAAK;AAAA,IACL,OAAO,SAAazK,GAAM;AACxB,aAAO,KAAK,MAAM,IAAIA,EAAK,KAAK,GAAG,CAAC,KAAK;AAAA,IAC1C;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAgBA,GAAM0K,GAAS;AACpC,UAAIC,IAAO3K,EAAK,KAAK,GAAG,GACpB4K,IAAY,KAAK,MAAM,IAAID,CAAI,GAC/BE,IAAYH,EAAQE,CAAS;AAEjC,MAAIC,MAAc,OAChB,KAAK,MAAM,OAAOF,CAAI,IAEtB,KAAK,MAAM,IAAIA,GAAME,CAAS;AAAA,IAEjC;AAAA,EACF,CAAA,CAAC,GAEKJ;AACT,EAAG,GC1BQK,KAAa,mBACbC,KAAY,iBACZC,KAAsB,uBAEtBC,KAAqB,wBACrBC,KAAwB,KAAK,SAAS,SAAS,EAAE,EAAE,MAAM,CAAC;AAC9D,SAASC,KAAc;AAC5B,MAAI,OAAO,WAAa,OAAe,SAAS,QAAQ,SAAS,MAAM;AACrE,QAAIC,IAAS,SAAS,KAAK,iBAAiB,SAAS,OAAOL,IAAW,GAAG,CAAC,KAAK,IAC5EM,IAAa,SAAS,KAAK;AAC/B,UAAM,KAAKD,CAAM,EAAE,QAAQ,SAAUE,GAAO;AAC1C,MAAAA,EAAML,MAAsBK,EAAML,OAAuBC,IAEzD,SAAS,KAAK,aAAaI,GAAOD,CAAU;AAAA,IAClD,CAAK;AAED,QAAIE,IAAY,CAAA;AAChB,UAAM,KAAK,SAAS,iBAAiB,SAAS,OAAOR,IAAW,GAAG,CAAC,CAAC,EAAE,QAAQ,SAAUO,GAAO;AAC9F,UAAIE,IAAOF,EAAM,aAAaP,EAAS;AAEvC,UAAIQ,EAAUC;AACZ,YAAIF,EAAML,QAAwBC,IAAuB;AACvD,cAAIO;AAEJ,WAACA,IAAoBH,EAAM,gBAAgB,QAAQG,MAAsB,UAAkBA,EAAkB,YAAYH,CAAK;AAAA,QAC/H;AAAA;AAED,QAAAC,EAAUC,KAAQ;AAAA,IAE1B,CAAK;AAAA,EACF;AAED,SAAO,IAAIE,GAAW;AACxB;AACA,IAAIC,KAA4B,gBAAAtW,EAAM,cAAc;AAAA,EAClD,cAAc;AAAA,EACd,OAAO8V,GAAa;AAAA,EACpB,cAAc;AAChB,CAAC;AA2BD,MAAAS,KAAeD;ACxEA,SAASE,GAAgBpD,GAAK;AAC3C,MAAI,MAAM,QAAQA,CAAG;AAAG,WAAOA;AACjC;ACFe,SAASqD,GAAsBrD,GAAKnJ,GAAG;AACpD,MAAIyM,IAAKtD,KAAO,OAAO,OAAO,OAAO,SAAW,OAAeA,EAAI,OAAO,aAAaA,EAAI;AAE3F,MAAIsD,KAAM,MACV;AAAA,QAAIC,IAAO,CAAA,GACPC,IAAK,IACLC,IAAK,IAELC,GAAIC;AAER,QAAI;AACF,WAAKL,IAAKA,EAAG,KAAKtD,CAAG,GAAG,EAAEwD,KAAME,IAAKJ,EAAG,KAAM,GAAE,UAC9CC,EAAK,KAAKG,EAAG,KAAK,GAEd,EAAA7M,KAAK0M,EAAK,WAAW1M,KAH4B2M,IAAK;AAG1D;AAAA,IAEH,SAAQ/P,GAAP;AACA,MAAAgQ,IAAK,IACLE,IAAKlQ;AAAA,IACT,UAAY;AACR,UAAI;AACF,QAAI,CAAC+P,KAAMF,EAAG,UAAa,QAAMA,EAAG;MAC1C,UAAc;AACR,YAAIG;AAAI,gBAAME;AAAA,MACf;AAAA,IACF;AAED,WAAOJ;AAAA;AACT;AC5Be,SAASK,KAAmB;AACzC,QAAM,IAAI,UAAU;AAAA,mFAA2I;AACjK;ACEe,SAASC,EAAe7D,GAAKnJ,GAAG;AAC7C,SAAOiN,GAAe9D,CAAG,KAAK+D,GAAqB/D,GAAKnJ,CAAC,KAAKiK,GAA2Bd,GAAKnJ,CAAC,KAAKmN,GAAe;AACrH;ACNA,SAASC,KAAa;AACpB,SAAO;AACT;AAEA,IAAIC,KAAa;AAEjB,SAASC,KAAY;AACnB,SAAOD;AACT;AAEA,MAAeE,KAAA,QAAQ,IAAI,aAAa,eAAeH,KAAaE;AAGpE,IAAI,QAAQ,IAAI,aAAa,gBAAgB,OAAO,SAAW,OAAe,UAAU,OAAO,KAAK;AAClG,MAAIE,KAAM;AAEV,MAAI,OAAOA,GAAI,oBAAqB,YAAY;AAC9C,QAAIC,KAAyBD,GAAI;AAEjC,IAAAA,GAAI,mBAAmB,WAAY;AACjC,aAAAH,KAAa,IACb,WAAW,WAAY;AACrB,QAAAA,KAAa;AAAA,MACd,GAAE,CAAC,GACGI,GAAuB,MAAM,QAAQ,SAAS;AAAA,IAC3D;AAAA,EACG;AACH;ACtBe,SAASC,GAAexT,GAAQyT,GAASC,GAASC,GAAe;AAC9E,MAAIC,IAAoB/X,EAAM,WAAWsW,EAAY,GACjD0B,IAAcD,EAAkB,OAEhCE,IAAW,CAAC9T,CAAM,EAAE,OAAO4P,GAAmB6D,CAAO,CAAC,GACtDM,IAAYV;AAEhB,SAAAxX,EAAM;AAAA,IAAQ,WAAY;AACxB,MAAAgY,EAAY,OAAOC,GAAU,SAAUE,GAAW;AAChD,YAAIC,IAAOD,KAAa,CAAE,GACtBE,IAAQpB,EAAemB,GAAM,CAAC,GAC9BE,IAASD,EAAM,IACfE,IAAQD,MAAW,SAAS,IAAIA,GAChCE,IAAQH,EAAM,IAGdI,IAAWD;AAEf,QAAI,QAAQ,IAAI,aAAa,gBAAgBA,KAASN,MACpDJ,KAAkB,QAA4CA,EAAcW,GAAUP,CAAS,GAC/FO,IAAW;AAGb,YAAIC,IAAcD,KAAYZ;AAC9B,eAAO,CAACU,IAAQ,GAAGG,CAAW;AAAA,MACpC,CAAK;AAAA,IACF;AAAA,IAED,CAACT,EAAS,KAAK,GAAG,CAAC;AAAA,EAErB,GAEEjY,EAAM,UAAU,WAAY;AAC1B,WAAO,WAAY;AACjB,MAAAgY,EAAY,OAAOC,GAAU,SAAUE,GAAW;AAChD,YAAIQ,IAAQR,KAAa,CAAE,GACvBS,IAAQ3B,EAAe0B,GAAO,CAAC,GAC/BE,IAASD,EAAM,IACfL,IAAQM,MAAW,SAAS,IAAIA,GAChCL,IAAQI,EAAM,IAEdE,IAAYP,IAAQ;AAExB,eAAIO,MAAc,KAChBhB,KAAkB,QAA4CA,EAAcU,GAAO,EAAK,GACjF,QAGF,CAACD,IAAQ,GAAGC,CAAK;AAAA,MAChC,CAAO;AAAA,IACP;AAAA,EACG,GAAEP,CAAQ,GACJD,EAAY,IAAIC,CAAQ,EAAE;AACnC;AC1De,SAASc,KAAY;AAClC,SAAO,CAAC,EAAE,OAAO,SAAW,OAAe,OAAO,YAAY,OAAO,SAAS;AAChF;ACFe,SAASC,GAASC,GAAM5Z,GAAG;AACxC,MAAI,CAAC4Z;AACH,WAAO;AAGT,MAAIA,EAAK;AACP,WAAOA,EAAK,SAAS5Z,CAAC;AAIxB,WADI2K,IAAO3K,GACJ2K,KAAM;AACX,QAAIA,MAASiP;AACX,aAAO;AAET,IAAAjP,IAAOA,EAAK;AAAA,EACb;AACD,SAAO;AACT;ACfA,IAAIkP,KAAe,iBACfC,KAAW,eACXC,KAAiB,oBAAI;AACzB,SAASC,KAAU;AACjB,MAAIjB,IAAO,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAE,GAC/EkB,IAAOlB,EAAK;AACd,SAAIkB,IACKA,EAAK,WAAW,OAAO,IAAIA,IAAO,QAAQ,OAAOA,CAAI,IAEvDH;AACT;AACA,SAASI,GAAaC,GAAQ;AAC5B,MAAIA,EAAO;AACT,WAAOA,EAAO;AAEhB,MAAIC,IAAO,SAAS,cAAc,MAAM;AACxC,SAAOA,KAAQ,SAAS;AAC1B;AACA,SAASC,GAASC,GAAS;AACzB,SAAIA,MAAY,UACP,iBAEFA,IAAU,YAAY;AAC/B;AAIA,SAASC,GAAWC,GAAW;AAC7B,SAAO,MAAM,MAAMT,GAAe,IAAIS,CAAS,KAAKA,GAAW,QAAQ,EAAE,OAAO,SAAU7P,GAAM;AAC9F,WAAOA,EAAK,YAAY;AAAA,EAC5B,CAAG;AACH;AACO,SAAS8P,GAAUC,GAAK;AAC7B,MAAIP,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA;AACjF,MAAI,CAACT,GAAS;AACZ,WAAO;AAET,MAAIiB,IAAMR,EAAO,KACfG,IAAUH,EAAO,SACfS,IAAY,SAAS,cAAc,OAAO;AAC9C,EAAAA,EAAU,aAAaf,IAAcQ,GAASC,CAAO,CAAC,GAClDK,KAAQ,QAAkCA,EAAI,UAChDC,EAAU,QAAQD,KAAQ,OAAyB,SAASA,EAAI,QAElEC,EAAU,YAAYF;AACtB,MAAIF,IAAYN,GAAaC,CAAM,GAC/BxD,IAAa6D,EAAU;AAC3B,MAAIF,GAAS;AAEX,QAAIA,MAAY,SAAS;AACvB,UAAIO,IAAaN,GAAWC,CAAS,EAAE,OAAO,SAAU7P,GAAM;AAC5D,eAAO,CAAC,WAAW,cAAc,EAAE,SAASA,EAAK,aAAakP,EAAY,CAAC;AAAA,MACnF,CAAO;AACD,UAAIgB,EAAW;AACb,eAAAL,EAAU,aAAaI,GAAWC,EAAWA,EAAW,SAAS,GAAG,WAAW,GACxED;AAAA,IAEV;AAED,IAAAJ,EAAU,aAAaI,GAAWjE,CAAU;AAAA,EAChD;AACI,IAAA6D,EAAU,YAAYI,CAAS;AAEjC,SAAOA;AACT;AACA,SAASE,GAAc5R,GAAK;AAC1B,MAAIiR,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GAC7EK,IAAYN,GAAaC,CAAM;AACnC,SAAOI,GAAWC,CAAS,EAAE,KAAK,SAAU7P,GAAM;AAChD,WAAOA,EAAK,aAAaqP,GAAQG,CAAM,CAAC,MAAMjR;AAAA,EAClD,CAAG;AACH;AACO,SAAS6R,GAAU7R,GAAK;AAC7B,MAAIiR,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GAC7Ea,IAAYF,GAAc5R,GAAKiR,CAAM;AACzC,MAAIa,GAAW;AACb,QAAIR,IAAYN,GAAaC,CAAM;AACnC,IAAAK,EAAU,YAAYQ,CAAS;AAAA,EAChC;AACH;AAIA,SAASC,GAAkBT,GAAWL,GAAQ;AAC5C,MAAIe,IAAsBnB,GAAe,IAAIS,CAAS;AAEtD,MAAI,CAACU,KAAuB,CAACvB,GAAS,UAAUuB,CAAmB,GAAG;AACpE,QAAIC,IAAmBV,GAAU,IAAIN,CAAM,GACvCiB,IAAaD,EAAiB;AAClCpB,IAAAA,GAAe,IAAIS,GAAWY,CAAU,GACxCZ,EAAU,YAAYW,CAAgB;AAAA,EACvC;AACH;AAOO,SAASE,GAAUX,GAAKxR,GAAK;AAClC,MAAIiR,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GAC7EK,IAAYN,GAAaC,CAAM;AAEnC,EAAAc,GAAkBT,GAAWL,CAAM;AACnC,MAAIa,IAAYF,GAAc5R,GAAKiR,CAAM;AACzC,MAAIa,GAAW;AACb,QAAIM,GAAaC;AACjB,UAAMD,IAAcnB,EAAO,SAAS,QAAQmB,MAAgB,SAAS,SAASA,EAAY,UAAUN,EAAU,YAAYO,IAAepB,EAAO,SAAS,QAAQoB,MAAiB,SAAS,SAASA,EAAa,QAAQ;AACvN,UAAIC;AACJ,MAAAR,EAAU,SAASQ,IAAerB,EAAO,SAAS,QAAQqB,MAAiB,SAAS,SAASA,EAAa;AAAA,IAC3G;AACD,WAAIR,EAAU,cAAcN,MAC1BM,EAAU,YAAYN,IAEjBM;AAAA,EACR;AACD,MAAIS,IAAUhB,GAAUC,GAAKP,CAAM;AACnC,SAAAsB,EAAQ,aAAazB,GAAQG,CAAM,GAAGjR,CAAG,GAClCuS;AACT;ACrHO,SAASC,GAAaC,GAAO;AAClC,MAAI3G,IAAM;AACV,gBAAO,KAAK2G,CAAK,EAAE,QAAQ,SAAUzS,GAAK;AACxC,QAAIrB,IAAQ8T,EAAMzS;AAClB,IAAA8L,KAAO9L,GAEHrB,KAASiI,GAAQjI,CAAK,MAAM,WAC9BmN,KAAO0G,GAAa7T,CAAK,IAEzBmN,KAAOnN;AAAA,EAEb,CAAG,GACMmN;AACT;AAKO,SAAS4G,GAAUD,GAAOE,GAAM;AACrC,SAAO/E,GAAK,GAAG,OAAO+E,GAAM,GAAG,EAAE,OAAOH,GAAaC,CAAK,CAAC,CAAC;AAC9D;AACA,IAAIG,KAAW,SAAS,OAAO,KAAK,IAAG,GAAI,GAAG,EAAE,OAAO,KAAK,OAAM,CAAE,EAAE,QAAQ,OAAO,EAAE,GACnFC,KAAa;AAEjB,SAASC,GAAgBC,GAAUC,GAAe;AAChD,MAAIxC,GAAS,GAAI;AACf,QAAIyC;AAEJd,IAAAA,GAAUY,GAAUH,EAAQ;AAE5B,QAAIM,IAAO,SAAS,cAAc,KAAK;AAEvC,IAAAA,EAAK,MAAM,WAAW,SACtBA,EAAK,MAAM,OAAO,KAClBA,EAAK,MAAM,MAAM,KACjBF,KAAkB,QAA4CA,EAAcE,CAAI,GAChF,SAAS,KAAK,YAAYA,CAAI,GAE1B,QAAQ,IAAI,aAAa,iBAC3BA,EAAK,YAAY,QACjBA,EAAK,MAAM,SAAS;AAGtB,QAAIC,IAAU,iBAAiBD,CAAI,EAAE,UAAUL;AAC/C,YAACI,IAAkBC,EAAK,gBAAgB,QAAQD,MAAoB,UAAkBA,EAAgB,YAAYC,CAAI,GACtHrB,GAAUe,EAAQ,GACXO;AAAA,EACR;AAED,SAAO;AACT;AAEA,IAAIC,KAAW;AACR,SAASC,KAAe;AAC7B,SAAID,OAAa,WACfA,KAAWN,GAAgB,UAAU,OAAOF,IAAU,MAAM,EAAE,OAAOA,IAAU,YAAY,EAAE,OAAOC,IAAY,iBAAiB,GAAG,SAAUS,GAAK;AACjJ,IAAAA,EAAI,YAAYV;AAAA,EACtB,CAAK,IAGIQ;AACT;AC1DA,IAAIG,KAAiB,CAAA,GAGjBC,KAAa,QAAQ,IAAI,aAAa,eAAe,iCAAiC,OACtFC,KAAY,oBAAI;AAEpB,SAASC,GAAiBC,GAAU;AAClC,EAAAF,GAAU,IAAIE,IAAWF,GAAU,IAAIE,CAAQ,KAAK,KAAK,CAAC;AAC5D;AAEA,SAASC,GAAgB5T,GAAK;AAC5B,MAAI,OAAO,WAAa,KAAa;AACnC,QAAIwN,IAAS,SAAS,iBAAiB,SAAS,OAAON,IAAY,IAAK,EAAE,OAAOlN,GAAK,IAAK,CAAC;AAC5F,IAAAwN,EAAO,QAAQ,SAAUE,GAAO;AAC9B,UAAIA,EAAML,QAAwBC,IAAuB;AACvD,YAAIO;AAEJ,SAACA,IAAoBH,EAAM,gBAAgB,QAAQG,MAAsB,UAAkBA,EAAkB,YAAYH,CAAK;AAAA,MAC/H;AAAA,IACP,CAAK;AAAA,EACF;AACH;AAGA,SAASmG,GAAgBF,GAAU;AACjC,EAAAF,GAAU,IAAIE,IAAWF,GAAU,IAAIE,CAAQ,KAAK,KAAK,CAAC;AAC1D,MAAIG,IAAe,MAAM,KAAKL,GAAU,KAAM,CAAA,GAC1CM,IAAmBD,EAAa,OAAO,SAAU9T,GAAK;AACxD,QAAIgU,IAAQP,GAAU,IAAIzT,CAAG,KAAK;AAClC,WAAOgU,KAAS;AAAA,EACpB,CAAG;AAED,EAAID,EAAiB,SAASD,EAAa,UACzCC,EAAiB,QAAQ,SAAU/T,GAAK;AACtC,IAAA4T,GAAgB5T,CAAG,GACnByT,GAAU,OAAOzT,CAAG;AAAA,EAC1B,CAAK;AAEL;AAUe,SAASiU,GAAcC,GAAOC,GAAQ;AACnD,MAAIlD,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GAC7EmD,IAAenD,EAAO,MACtB0B,IAAOyB,MAAiB,SAAS,KAAKA,GACtCC,IAAmBpD,EAAO,UAC1BqD,IAAWD,MAAqB,SAASd,KAAiBc,GAC1DE,IAActD,EAAO,aAErBuD,IAAc/c,EAAM,QAAQ,WAAY;AAC1C,WAAO,OAAO,OAAO,MAAM,QAAQ,CAAC,EAAE,EAAE,OAAO+T,GAAmB2I,CAAM,CAAC,CAAC;AAAA,EAC9E,GAAK,CAACA,CAAM,CAAC,GACPM,IAAWhd,EAAM,QAAQ,WAAY;AACvC,WAAO+a,GAAagC,CAAW;AAAA,EACnC,GAAK,CAACA,CAAW,CAAC,GACZE,IAAmBjd,EAAM,QAAQ,WAAY;AAC/C,WAAO+a,GAAa8B,CAAQ;AAAA,EAChC,GAAK,CAACA,CAAQ,CAAC,GACTK,IAAcC,GAAe,SAAS,CAACjC,GAAMuB,EAAM,IAAIO,GAAUC,CAAgB,GAAG,WAAY;AAClG,QAAIG,IAAkBX,EAAM,mBAAmBM,CAAW,GAEtDM,IAAwB/O,EAAcA,EAAc,CAAE,GAAE8O,CAAe,GAAGP,CAAQ;AAGtF,IAAIC,MACFO,IAAwBP,EAAYO,CAAqB;AAI3D,QAAInB,IAAWjB,GAAUoC,GAAuBnC,CAAI;AACpD,IAAAmC,EAAsB,YAAYnB,GAClCD,GAAiBC,CAAQ;AACzB,QAAIoB,IAAS,GAAG,OAAOvB,IAAY,GAAG,EAAE,OAAO5F,GAAK+F,CAAQ,CAAC;AAC7D,WAAAmB,EAAsB,UAAUC,GAEzB,CAACD,GAAuBC,CAAM;AAAA,EACtC,GAAE,SAAU9E,GAAO;AAElB,IAAA4D,GAAgB5D,EAAM,GAAG,SAAS;AAAA,EACtC,CAAG;AACD,SAAO0E;AACT;AC/Fe,SAASK,KAAW;AACjCA,SAAAA,KAAW,OAAO,SAAS,OAAO,OAAO,KAAI,IAAK,SAAUtP,GAAQ;AAClE,aAAShE,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AACzC,UAAI3F,IAAS,UAAU2F;AAEvB,eAAS1B,KAAOjE;AACd,QAAI,OAAO,UAAU,eAAe,KAAKA,GAAQiE,CAAG,MAClD0F,EAAO1F,KAAOjE,EAAOiE;AAAA,IAG1B;AAED,WAAO0F;AAAA,EACX,GACSsP,GAAS,MAAM,MAAM,SAAS;AACvC;ACfA,IAAIC,KAAe;AAAA,EACjB,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,iBAAiB;AAAA,EAEjB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,aAAa;AACf,GC3CWC,KAAU,QACVC,KAAU,QACVC,KAAc,QAIdC,KAAS,WAMTC,KAAY,cCZZC,KAAM,KAAK,KAMXC,KAAO,OAAO;AAqBlB,SAASC,GAAM9W,GAAO;AAC5B,SAAOA,EAAM,KAAM;AACpB;AAiBO,SAAS+W,GAAS/W,GAAOgX,GAASC,GAAa;AACrD,SAAOjX,EAAM,QAAQgX,GAASC,CAAW;AAC1C;AAOO,SAASC,GAASlX,GAAOmX,GAAQ;AACvC,SAAOnX,EAAM,QAAQmX,CAAM;AAC5B;AAOO,SAASC,GAAQpX,GAAOqX,GAAO;AACrC,SAAOrX,EAAM,WAAWqX,CAAK,IAAI;AAClC;AAQO,SAASC,GAAQtX,GAAOuX,GAAOC,GAAK;AAC1C,SAAOxX,EAAM,MAAMuX,GAAOC,CAAG;AAC9B;AAMO,SAASC,GAAQzX,GAAO;AAC9B,SAAOA,EAAM;AACd;AAMO,SAAS0X,GAAQ1X,GAAO;AAC9B,SAAOA,EAAM;AACd;AAOO,SAAS2X,GAAQ3X,GAAO4X,GAAO;AACrC,SAAOA,EAAM,KAAK5X,CAAK,GAAGA;AAC3B;ACvGO,IAAI6X,KAAO,GACPC,KAAS,GACTC,KAAS,GACTC,KAAW,GACXC,KAAY,GACZC,KAAa;AAWjB,SAASpV,GAAM9C,GAAO+R,GAAMoG,GAAQ/c,GAAM0B,GAAOiH,GAAUgU,GAAQ;AACzE,SAAO,EAAC,OAAO/X,GAAO,MAAM+R,GAAM,QAAQoG,GAAQ,MAAM/c,GAAM,OAAO0B,GAAO,UAAUiH,GAAU,MAAM8T,IAAM,QAAQC,IAAQ,QAAQC,GAAQ,QAAQ,GAAE;AACvJ;AAcO,SAASK,KAAQ;AACvB,SAAOH;AACR;AAKO,SAASI,KAAQ;AACvB,SAAAJ,KAAYD,KAAW,IAAIZ,GAAOc,IAAY,EAAEF,EAAQ,IAAI,GAExDF,MAAUG,OAAc,OAC3BH,KAAS,GAAGD,OAENI;AACR;AAKO,SAASK,KAAQ;AACvB,SAAAL,KAAYD,KAAWD,KAASX,GAAOc,IAAYF,IAAU,IAAI,GAE7DF,MAAUG,OAAc,OAC3BH,KAAS,GAAGD,OAENI;AACR;AAKO,SAASM,KAAQ;AACvB,SAAOnB,GAAOc,IAAYF,EAAQ;AACnC;AAKO,SAASQ,KAAS;AACxB,SAAOR;AACR;AAOO,SAASS,GAAOlB,GAAOC,GAAK;AAClC,SAAOF,GAAOY,IAAYX,GAAOC,CAAG;AACrC;AAMO,SAAS1D,GAAO1Y,GAAM;AAC5B,UAAQA,GAAI;AAAA,IAEX,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AACtC,aAAO;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAE3D,KAAK;AAAA,IAAI,KAAK;AAAA,IAAK,KAAK;AACvB,aAAO;AAAA,IAER,KAAK;AACJ,aAAO;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAC/B,aAAO;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AACb,aAAO;AAAA,EACR;AAED,SAAO;AACR;AAMO,SAASsd,GAAO1Y,GAAO;AAC7B,SAAO6X,KAAOC,KAAS,GAAGC,KAASN,GAAOS,KAAalY,CAAK,GAAGgY,KAAW,GAAG,CAAE;AAChF;AAMO,SAASW,GAAS3Y,GAAO;AAC/B,SAAOkY,KAAa,IAAIlY;AACzB;AAMO,SAAS4Y,GAASxd,GAAM;AAC9B,SAAO0b,GAAK2B,GAAMT,KAAW,GAAGa,GAAUzd,MAAS,KAAKA,IAAO,IAAIA,MAAS,KAAKA,IAAO,IAAIA,CAAI,CAAC,CAAC;AACnG;AAcO,SAAS0d,GAAY1d,GAAM;AACjC,UAAO6c,KAAYM,GAAM,MACpBN,KAAY;AACf,IAAAK,GAAM;AAIR,SAAOxE,GAAM1Y,CAAI,IAAI,KAAK0Y,GAAMmE,EAAS,IAAI,IAAI,KAAK;AACvD;AAwBO,SAASc,GAAU1B,GAAOhC,GAAO;AACvC,SAAO,EAAEA,KAASiD,GAAM,KAEnB,EAAAL,KAAY,MAAMA,KAAY,OAAQA,KAAY,MAAMA,KAAY,MAAQA,KAAY,MAAMA,KAAY;AAA9G;AAGD,SAAOQ,GAAMpB,GAAOmB,GAAK,KAAMnD,IAAQ,KAAKkD,GAAI,KAAM,MAAMD,GAAM,KAAI,GAAG;AAC1E;AAMO,SAASO,GAAWzd,GAAM;AAChC,SAAOkd,GAAM;AACZ,YAAQL,IAAS;AAAA,MAEhB,KAAK7c;AACJ,eAAO4c;AAAA,MAER,KAAK;AAAA,MAAI,KAAK;AACb,QAAI5c,MAAS,MAAMA,MAAS,MAC3Byd,GAAUZ,EAAS;AACpB;AAAA,MAED,KAAK;AACJ,QAAI7c,MAAS,MACZyd,GAAUzd,CAAI;AACf;AAAA,MAED,KAAK;AACJ,QAAAkd,GAAM;AACN;AAAA,IACD;AAEF,SAAON;AACR;AAOO,SAASgB,GAAW5d,GAAMic,GAAO;AACvC,SAAOiB,GAAM,KAERld,IAAO6c,OAAc,KAAK;AAGzB,QAAI7c,IAAO6c,OAAc,KAAK,MAAMM,GAAM,MAAK;AACnD;AAEF,SAAO,OAAOE,GAAMpB,GAAOW,KAAW,CAAC,IAAI,MAAMnB,GAAKzb,MAAS,KAAKA,IAAOkd,GAAI,CAAE;AAClF;AAMO,SAASW,GAAY5B,GAAO;AAClC,SAAO,CAACvD,GAAMyE,IAAM;AACnB,IAAAD,GAAM;AAEP,SAAOG,GAAMpB,GAAOW,EAAQ;AAC7B;AC7OO,SAASkB,GAASlZ,GAAO;AAC/B,SAAO2Y,GAAQQ,GAAM,IAAI,MAAM,MAAM,MAAM,CAAC,EAAE,GAAGnZ,IAAQ0Y,GAAM1Y,CAAK,GAAG,GAAG,CAAC,CAAC,GAAGA,CAAK,CAAC;AACtF;AAcO,SAASmZ,GAAOnZ,GAAO+R,GAAMoG,GAAQiB,GAAMC,GAAOC,GAAUC,GAAQC,GAAQC,GAAc;AAiBhG,WAhBIpC,IAAQ,GACRqC,IAAS,GACT3B,IAASwB,GACTI,IAAS,GACTC,IAAW,GACXC,IAAW,GACXC,IAAW,GACXC,IAAW,GACXC,IAAY,GACZ/B,IAAY,GACZ7c,IAAO,IACP0B,IAAQuc,GACRtV,IAAWuV,GACXW,IAAYb,GACZlB,IAAa9c,GAEV2e;AACN,YAAQF,IAAW5B,GAAWA,IAAYK,GAAM,GAAA;AAAA,MAE/C,KAAK;AACJ,YAAIuB,KAAY,OAAOzC,GAAOc,GAAYH,IAAS,CAAC,KAAK,IAAI;AAC5D,UAAIb,GAAQgB,KAAcnB,GAAQ6B,GAAQX,CAAS,GAAG,KAAK,KAAK,GAAG,KAAK,KAAK,OAC5E+B,IAAY;AACb;AAAA,QACA;AAAA,MAEF,KAAK;AAAA,MAAI,KAAK;AAAA,MAAI,KAAK;AACtB,QAAA9B,KAAcU,GAAQX,CAAS;AAC/B;AAAA,MAED,KAAK;AAAA,MAAG,KAAK;AAAA,MAAI,KAAK;AAAA,MAAI,KAAK;AAC9B,QAAAC,KAAcY,GAAWe,CAAQ;AACjC;AAAA,MAED,KAAK;AACJ,QAAA3B,KAAca,GAASP,OAAU,GAAG,CAAC;AACrC;AAAA,MAED,KAAK;AACJ,gBAAQD,GAAM,GAAA;AAAA,UACb,KAAK;AAAA,UAAI,KAAK;AACb,YAAAZ,GAAOuC,GAAQlB,GAAUV,GAAM,GAAEE,GAAO,CAAA,GAAGzG,GAAMoG,CAAM,GAAGsB,CAAY;AACtE;AAAA,UACD;AACC,YAAAvB,KAAc;AAAA,QACf;AACD;AAAA,MAED,KAAK,MAAM4B;AACV,QAAAN,EAAOnC,OAAWI,GAAOS,CAAU,IAAI8B;AAAA,MAExC,KAAK,MAAMF;AAAA,MAAU,KAAK;AAAA,MAAI,KAAK;AAClC,gBAAQ7B,GAAS;AAAA,UAEhB,KAAK;AAAA,UAAG,KAAK;AAAK,YAAA8B,IAAW;AAAA,UAE7B,KAAK,KAAKL;AACT,YAAIE,IAAW,KAAMnC,GAAOS,CAAU,IAAIH,KACzCJ,GAAOiC,IAAW,KAAKO,GAAYjC,IAAa,KAAKkB,GAAMjB,GAAQJ,IAAS,CAAC,IAAIoC,GAAYpD,GAAQmB,GAAY,KAAK,EAAE,IAAI,KAAKkB,GAAMjB,GAAQJ,IAAS,CAAC,GAAG0B,CAAY;AACzK;AAAA,UAED,KAAK;AAAI,YAAAvB,KAAc;AAAA,UAEvB;AAGC,gBAFAP,GAAOsC,IAAYG,GAAQlC,GAAYnG,GAAMoG,GAAQd,GAAOqC,GAAQL,GAAOG,GAAQpe,GAAM0B,IAAQ,CAAE,GAAEiH,IAAW,IAAIgU,CAAM,GAAGuB,CAAQ,GAEjIrB,MAAc;AACjB,kBAAIyB,MAAW;AACd,gBAAAP,GAAMjB,GAAYnG,GAAMkI,GAAWA,GAAWnd,GAAOwc,GAAUvB,GAAQyB,GAAQzV,CAAQ;AAAA;AAEvF,wBAAQ4V,GAAM;AAAA,kBAEb,KAAK;AAAA,kBAAK,KAAK;AAAA,kBAAK,KAAK;AACxB,oBAAAR,GAAMnZ,GAAOia,GAAWA,GAAWb,KAAQzB,GAAOyC,GAAQpa,GAAOia,GAAWA,GAAW,GAAG,GAAGZ,GAAOG,GAAQpe,GAAMie,GAAOvc,IAAQ,CAAE,GAAEib,CAAM,GAAGhU,CAAQ,GAAGsV,GAAOtV,GAAUgU,GAAQyB,GAAQJ,IAAOtc,IAAQiH,CAAQ;AACjN;AAAA,kBACD;AACC,oBAAAoV,GAAMjB,GAAY+B,GAAWA,GAAWA,GAAW,CAAC,EAAE,GAAGlW,GAAU,GAAGyV,GAAQzV,CAAQ;AAAA,gBACvF;AAAA,QACJ;AAED,QAAAsT,IAAQqC,IAASE,IAAW,GAAGE,IAAWE,IAAY,GAAG5e,IAAO8c,IAAa,IAAIH,IAASwB;AAC1F;AAAA,MAED,KAAK;AACJ,QAAAxB,IAAS,IAAIN,GAAOS,CAAU,GAAG0B,IAAWC;AAAA,MAC7C;AACC,YAAIC,IAAW;AACd,cAAI7B,KAAa;AAChB,cAAE6B;AAAA,mBACM7B,KAAa,OAAO6B,OAAc,KAAKzB,GAAI,KAAM;AACzD;AAAA;AAEF,gBAAQH,KAAcrB,GAAKoB,CAAS,GAAGA,IAAY6B,GAAQ;AAAA,UAE1D,KAAK;AACJ,YAAAE,IAAYN,IAAS,IAAI,KAAKxB,KAAc,MAAM;AAClD;AAAA,UAED,KAAK;AACJ,YAAAsB,EAAOnC,QAAYI,GAAOS,CAAU,IAAI,KAAK8B,GAAWA,IAAY;AACpE;AAAA,UAED,KAAK;AAEJ,YAAIzB,GAAM,MAAK,OACdL,KAAcU,GAAQN,IAAM,IAE7BqB,IAASpB,GAAI,GAAImB,IAAS3B,IAASN,GAAOrc,IAAO8c,KAAce,GAAWT,IAAO,CAAC,GAAGP;AACrF;AAAA,UAED,KAAK;AACJ,YAAI4B,MAAa,MAAMpC,GAAOS,CAAU,KAAK,MAC5C4B,IAAW;AAAA,QACb;AAAA,IACF;AAEF,SAAOR;AACR;AAgBO,SAASc,GAASpa,GAAO+R,GAAMoG,GAAQd,GAAOqC,GAAQL,GAAOG,GAAQpe,GAAM0B,GAAOiH,GAAUgU,GAAQ;AAK1G,WAJIsC,IAAOX,IAAS,GAChBN,IAAOM,MAAW,IAAIL,IAAQ,CAAC,EAAE,GACjCiB,IAAO5C,GAAO0B,CAAI,GAEbrW,IAAI,GAAGwX,IAAI,GAAGviB,IAAI,GAAG+K,IAAIsU,GAAO,EAAEtU;AAC1C,aAASzF,IAAI,GAAG+K,IAAIiP,GAAOtX,GAAOqa,IAAO,GAAGA,IAAOzD,GAAI2D,IAAIf,EAAOzW,EAAE,CAAC,GAAGuF,IAAItI,GAAO1C,IAAIgd,GAAM,EAAEhd;AAC9F,OAAIgL,IAAIwO,GAAKyD,IAAI,IAAInB,EAAK9b,KAAK,MAAM+K,IAAI0O,GAAQ1O,GAAG,QAAQ+Q,EAAK9b,EAAE,CAAC,OACnER,EAAM9E,OAAOsQ;AAEhB,SAAOxF,GAAK9C,GAAO+R,GAAMoG,GAAQuB,MAAW,IAAIlD,KAAUpb,GAAM0B,GAAOiH,GAAUgU,CAAM;AACxF;AAQO,SAASmC,GAASla,GAAO+R,GAAMoG,GAAQ;AAC7C,SAAOrV,GAAK9C,GAAO+R,GAAMoG,GAAQ5B,IAASM,GAAKuB,GAAM,CAAA,GAAGd,GAAOtX,GAAO,GAAG,EAAE,GAAG,CAAC;AAChF;AASO,SAASma,GAAana,GAAO+R,GAAMoG,GAAQJ,GAAQ;AACzD,SAAOjV,GAAK9C,GAAO+R,GAAMoG,GAAQ1B,IAAaa,GAAOtX,GAAO,GAAG+X,CAAM,GAAGT,GAAOtX,GAAO+X,IAAS,GAAG,EAAE,GAAGA,CAAM;AAC9G;ACtLO,SAASyC,GAAWzW,GAAU0W,GAAU;AAI9C,WAHIC,IAAS,IACT3C,IAASL,GAAO3T,CAAQ,GAEnBhB,IAAI,GAAGA,IAAIgV,GAAQhV;AAC3B,IAAA2X,KAAUD,EAAS1W,EAAShB,IAAIA,GAAGgB,GAAU0W,CAAQ,KAAK;AAE3D,SAAOC;AACR;AASO,SAASC,GAAW1b,GAASoY,GAAOtT,GAAU0W,GAAU;AAC9D,UAAQxb,EAAQ,MAAI;AAAA,IACnB,KAAKyX;AAAA,IAAQ,KAAKD;AAAa,aAAOxX,EAAQ,SAASA,EAAQ,UAAUA,EAAQ;AAAA,IACjF,KAAKsX;AAAS,aAAO;AAAA,IACrB,KAAKI;AAAW,aAAO1X,EAAQ,SAASA,EAAQ,QAAQ,MAAMub,GAAUvb,EAAQ,UAAUwb,CAAQ,IAAI;AAAA,IACtG,KAAKjE;AAAS,MAAAvX,EAAQ,QAAQA,EAAQ,MAAM,KAAK,GAAG;AAAA,EACpD;AAED,SAAOwY,GAAO1T,IAAWyW,GAAUvb,EAAQ,UAAUwb,CAAQ,CAAC,IAAIxb,EAAQ,SAASA,EAAQ,QAAQ,MAAM8E,IAAW,MAAM;AAC3H;ACjCO,SAAS6W,GAAYpT,GAAShF,GAAM;AACzC,MAAI4L,IAAO5L,EAAK,MACZqY,IAAkBrY,EAAK;AAC3BsY,EAAAA,GAAW,IAAO,0BAA0B,OAAO1M,IAAO,YAAY,OAAOA,GAAM,IAAI,IAAI,EAAE,EAAE,OAAO5G,CAAO,EAAE,OAAOqT,EAAgB,SAAS,cAAc,OAAOA,EAAgB,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;AACxM;ACHA,IAAIE,KAAS,SAAgB1Z,GAAKrB,GAAOwC,GAAM;AAC7C,MAAInB,MAAQ,WAAW;AAErB,QAAI2Z,IAAsB,mGACtBC,IAAgB,CAAC,UAAU,QAAQ,WAAW,WAAW,OAAO;AAEpE,KAAI,OAAOjb,KAAU,YAAYib,EAAc,QAAQjb,CAAK,MAAM,MAAM,CAACgb,EAAoB,KAAKhb,CAAK,MAAMA,EAAM,OAAO,CAAC,MAAMA,EAAM,OAAOA,EAAM,SAAS,CAAC,KAAKA,EAAM,OAAO,CAAC,MAAM,OAAOA,EAAM,OAAO,CAAC,MAAM,SAChN4a,GAAY,iGAAiG,OAAO5a,GAAO,OAAO,GAAGwC,CAAI;AAAA,EAE5I;AACH,GCVIuY,KAAS,SAAgB1Z,GAAKrB,GAAOwC,GAAM;AAC7C,EAAInB,MAAQ,eACNmB,EAAK,UAAUxC,MAAU,UAC3B4a,GAAY,0CAA0C,OAAO5a,GAAO,yEAAyE,GAAGwC,CAAI;AAG1J,GCSI0Y,KAAerJ,GAAS,GACxBsJ,KAAa;AAKV,SAASC,GAAehH,GAAU;AACvC,MAAIiH,IAAab,GAAUtB,GAAQ9E,CAAQ,GAAGuG,EAAS;AACvD,SAAOU,EAAW,QAAQ,kBAAkB,GAAG;AACjD;AAEA,SAASC,GAAsBtb,GAAO;AACpC,SAAOiI,GAAQjI,CAAK,MAAM,YAAYA,KAASmb,MAAcnb;AAC/D;AAGA,SAASub,GAAmBla,GAAK+U,GAAQoF,GAAc;AACrD,MAAI,CAACpF;AACH,WAAO/U;AAGT,MAAIoa,IAAgB,IAAI,OAAOrF,CAAM,GACjCsF,IAAeF,MAAiB,QAAQ,UAAU,OAAOC,GAAe,GAAG,IAAIA,GAE/EhY,IAAOpC,EAAI,MAAM,GAAG,EAAE,IAAI,SAAUrJ,GAAG;AACzC,QAAI2jB,GAEA5K,IAAW/Y,EAAE,KAAM,EAAC,MAAM,KAAK,GAE/B4jB,IAAY7K,EAAS,MAAM,IAC3B8K,MAAgBF,IAAmBC,EAAU,MAAM,MAAM,OAAO,QAAQD,MAAqB,SAAS,SAASA,EAAiB,OAAO;AAC3I,WAAAC,IAAY,GAAG,OAAOC,CAAW,EAAE,OAAOH,CAAY,EAAE,OAAOE,EAAU,MAAMC,EAAY,MAAM,CAAC,GAC3F,CAACD,CAAS,EAAE,OAAO/O,GAAmBkE,EAAS,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG;AAAA,EAC7E,CAAG;AACD,SAAOtN,EAAK,KAAK,GAAG;AACtB;AAIA,IAAIqY,KAAwB,oBAAI;AAKf,QAAQ,IAAI;AAItB,IAAIC,KAAa,SAASA,EAAWC,GAAe;AACzD,MAAIrb,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GAE7EuQ,IAAO,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAAA,IAC7E,MAAM;AAAA,IACN,iBAAiB,CAAE;AAAA,EACpB,GACGa,IAAOb,EAAK,MACZ+K,IAAa/K,EAAK,YAClB2J,IAAkB3J,EAAK,iBAEvBkF,IAASzV,EAAO,QAChBub,IAAQvb,EAAO,OACfyN,IAAOzN,EAAO,MACd6a,IAAe7a,EAAO,cACtBwb,IAAuBxb,EAAO,cAC9Byb,IAAeD,MAAyB,SAAS,CAAE,IAAGA,GACtDE,IAAkB1b,EAAO,SACzB2b,IAAUD,MAAoB,SAAS,CAAA,IAAKA,GAC5CjI,IAAW,IACXmI,IAAc,CAAA;AAElB,WAASC,EAAeC,GAAW;AACjC,QAAIC,IAAgBD,EAAU,QAAQrG,CAAM;AAE5C,QAAI,CAACmG,EAAYG,IAAgB;AAC/B,UAAIC,IAAcZ,EAAWU,EAAU,OAAO9b,GAAQ;AAAA,QACpD,MAAM;AAAA,QACN,iBAAiBka;AAAA,MACzB,CAAO,GACG+B,IAAe7M,EAAe4M,GAAa,CAAC,GAC5CE,IAAaD,EAAa;AAE9B,MAAAL,EAAYG,KAAiB,cAAc,OAAOD,EAAU,QAAQrG,CAAM,CAAC,EAAE,OAAOyG,CAAU;AAAA,IAC/F;AAAA,EACF;AAED,WAASC,EAAYC,GAAM;AACzB,QAAIC,IAAW,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA;AACnF,WAAAD,EAAK,QAAQ,SAAUniB,GAAM;AAC3B,MAAI,MAAM,QAAQA,CAAI,IACpBkiB,EAAYliB,GAAMoiB,CAAQ,IACjBpiB,KACToiB,EAAS,KAAKpiB,CAAI;AAAA,IAE1B,CAAK,GACMoiB;AAAA,EACR;AAED,MAAIC,IAAmBH,EAAY,MAAM,QAAQd,CAAa,IAAIA,IAAgB,CAACA,CAAa,CAAC;AA8FjG,MA7FAiB,EAAiB,QAAQ,SAAUC,GAAa;AAE9C,QAAInO,IAAQ,OAAOmO,KAAgB,YAAY,CAACnL,IAAO,CAAE,IAAGmL;AAE5D,QAAI,OAAOnO,KAAU;AACnB,MAAAqF,KAAY,GAAG,OAAOrF,GAAO;AAAA,CAAI;AAAA,aACxBA,EAAM;AAEf,MAAAyN,EAAezN,CAAK;AAAA,SACf;AACL,UAAIoO,IAAcf,EAAa,OAAO,SAAU/D,GAAM+E,GAAO;AAC3D,YAAIC;AAEJ,gBAAQD,KAAU,SAAqCC,IAAeD,EAAM,WAAW,QAAQC,MAAiB,SAAnE,SAAqFA,EAAa,KAAKD,GAAO/E,CAAI,MAAMA;AAAA,MACtK,GAAEtJ,CAAK;AAER,aAAO,KAAKoO,CAAW,EAAE,QAAQ,SAAU9b,GAAK;AAC9C,YAAIrB,IAAQmd,EAAY9b;AAExB,YAAI4G,GAAQjI,CAAK,MAAM,YAAYA,MAAUqB,MAAQ,mBAAmB,CAACrB,EAAM,cAAc,CAACsb,GAAsBtb,CAAK,GAAG;AAC1H,cAAIsd,IAAgB,IAEhBC,IAAYlc,EAAI,QAEhBmc,IAAW;AAEf,WAAKzL,KAAQkK,MAAe7F,IACtBmH,EAAU,WAAW,GAAG,IAE1BD,IAAgB,KAGhBC,IAAYhC,GAAmBla,GAAK+U,GAAQoF,CAAY,IAEjDzJ,KAAQ,CAACqE,MAAWmH,MAAc,OAAOA,MAAc,QAMhEA,IAAY,IACZC,IAAW;AAGb,cAAIC,IAAe1B,EAAW/b,GAAOW,GAAQ;AAAA,YAC3C,MAAM6c;AAAA,YACN,YAAYF;AAAA,YACZ,iBAAiB,CAAE,EAAC,OAAOzQ,GAAmBgO,CAAe,GAAG,CAAC0C,CAAS,CAAC;AAAA,UACvF,CAAW,GACGG,IAAe3N,EAAe0N,GAAc,CAAC,GAC7CE,IAAcD,EAAa,IAC3BE,IAAmBF,EAAa;AAEpC,UAAAnB,IAAcnV,EAAcA,EAAc,CAAE,GAAEmV,CAAW,GAAGqB,CAAgB,GAC5ExJ,KAAY,GAAG,OAAOmJ,CAAS,EAAE,OAAOI,CAAW;AAAA,QAC7D,OAAe;AACL,cAAIE,GAEAC,KAAeD,IAAS7d,KAAU,OAA2B,SAASA,EAAM,WAAW,QAAQ6d,MAAW,SAASA,IAAS7d;AAEhI,UAAI,QAAQ,IAAI,aAAa,iBAAiBiI,GAAQjI,CAAK,MAAM,YAAY,EAAEA,KAAU,QAA4BA,EAAMmb,SACzH,CAAC4C,IAAqBC,EAAqB,EAAE,OAAOnR,GAAmByP,CAAO,CAAC,EAAE,QAAQ,SAAUvB,GAAQ;AACzG,mBAAOA,EAAO1Z,GAAKyc,GAAa;AAAA,cAC9B,MAAM1P;AAAA,cACN,QAAQgI;AAAA,cACR,iBAAiByE;AAAA,YACjC,CAAe;AAAA,UACf,CAAa;AAIH,cAAIoD,IAAY5c,EAAI,QAAQ,UAAU,SAAU9D,GAAO;AACrD,mBAAO,IAAI,OAAOA,EAAM,YAAa,CAAA;AAAA,UACjD,CAAW,GAEG2gB,IAAcJ;AAElB,UAAI,CAACK,GAAS9c,MAAQ,OAAO6c,KAAgB,YAAYA,MAAgB,MACvEA,IAAc,GAAG,OAAOA,GAAa,IAAI,IAIvC7c,MAAQ,mBAAmBrB,MAAU,QAAQA,MAAU,UAAUA,EAAM,cACzEwc,EAAexc,CAAK,GACpBke,IAAcle,EAAM,QAAQoW,CAAM,IAGpChC,KAAY,GAAG,OAAO6J,GAAW,GAAG,EAAE,OAAOC,GAAa,GAAG;AAAA,QAC9D;AAAA,MACT,CAAO;AAAA,IACF;AAAA,EACL,CAAG,GAEG,CAACnM;AACH,IAAAqC,IAAW,IAAI,OAAOA,GAAU,GAAG;AAAA,WAC1B8H,KAASxH,MAAgB;AAClC,QAAI0J,IAAalC,EAAM,MAAM,GAAG,GAC5BmC,IAAYD,EAAWA,EAAW,SAAS,GAAG;AAClD,IAAAhK,IAAW,UAAU,OAAOiK,GAAW,IAAI,EAAE,OAAOjK,GAAU,GAAG,GAE7DgK,EAAW,SAAS,MAEtBhK,IAAW,UAAU,OAAO8H,GAAO,SAAS,EAAE,OAAO9H,CAAQ;AAAA,EAEhE;AAED,SAAO,CAACA,GAAUmI,CAAW;AAC/B;AAIA,SAAS+B,GAAWlQ,GAAMgG,GAAU;AAClC,SAAOnF,GAAK,GAAG,OAAOb,EAAK,KAAK,GAAG,CAAC,EAAE,OAAOgG,CAAQ,CAAC;AACxD;AAEA,SAASmK,KAAQ;AACf,SAAO;AACT;AAMe,SAASC,GAAiBhc,GAAMic,GAAS;AACtD,MAAI3K,IAAQtR,EAAK,OACb4L,IAAO5L,EAAK,MACZ4T,IAAS5T,EAAK,QACd0Z,IAAQ1Z,EAAK,OAEbqO,IAAoB/X,EAAM,WAAWsW,EAAY,GACjDsP,IAAY7N,EAAkB,WAC9B8N,IAAO9N,EAAkB,MACzB+N,IAAe/N,EAAkB,cACjC2K,IAAe3K,EAAkB,cACjC8B,IAAY9B,EAAkB,WAC9BgO,IAAYhO,EAAkB,WAC9BuL,IAAevL,EAAkB,cACjCyL,IAAUzL,EAAkB,SAE5BmE,IAAWlB,EAAM,WACjB/C,IAAW,CAACiE,CAAQ,EAAE,OAAOnI,GAAmBuB,CAAI,CAAC,GAErD0Q,IAAqB5D;AAEzB,EAAI,QAAQ,IAAI,aAAa,gBAAgByD,MAAS,WACpDG,IAAqBH,MAAS;AAGhC,MAAII,IAAkB9I;AAAAA,IAAe;AAAA,IAASlF;AAAA,IAC9C,WAAY;AACV,UAAIiO,IAAWP,KAEXQ,IAAelD,GAAWiD,GAAU;AAAA,QACtC,QAAQ5I;AAAA,QACR,cAAcoF;AAAA,QACd,OAAOU;AAAA,QACP,MAAM9N,EAAK,KAAK,GAAG;AAAA,QACnB,cAAcgO;AAAA,QACd,SAASE;AAAA,MACf,CAAK,GACG4C,IAAenP,EAAekP,GAAc,CAAC,GAC7CE,IAAcD,EAAa,IAC3B3C,IAAc2C,EAAa,IAE3B9K,IAAWgH,GAAe+D,CAAW,GACrCC,IAAUd,GAAWvN,GAAUqD,CAAQ;AAE3C,UAAI0K,GAAoB;AACtB,YAAI/P,IAAQyE,GAAUY,GAAUgL,GAAS;AAAA,UACvC,MAAM5Q;AAAA,UACN,SAAS;AAAA,UACT,UAAUmE;AAAA,QAClB,CAAO;AACD,QAAA5D,EAAML,MAAsBC,IAE5BI,EAAM,aAAaR,IAAYyG,CAAQ,GAEnC,QAAQ,IAAI,aAAa,gBAC3BjG,EAAM,aAAaN,IAAqBsC,EAAS,KAAK,GAAG,CAAC,GAI5D,OAAO,KAAKwL,CAAW,EAAE,QAAQ,SAAU8C,GAAW;AACpD,UAAKvD,GAAsB,IAAIuD,CAAS,MACtCvD,GAAsB,IAAIuD,CAAS,GAEnC7L,GAAU4H,GAAemB,EAAY8C,EAAU,GAAG,WAAW,OAAOA,CAAS,GAAG;AAAA,YAC9E,MAAM7Q;AAAA,YACN,SAAS;AAAA,YACT,UAAUmE;AAAA,UACtB,CAAW;AAAA,QAEX,CAAO;AAAA,MACF;AAED,aAAO,CAACyB,GAAUY,GAAUoK,CAAO;AAAA,IACpC;AAAA,IACD,SAAUjO,GAAOmO,GAAS;AACxB,UAAI7N,IAAQ1B,EAAeoB,GAAO,CAAC,GAC/BiO,IAAU3N,EAAM;AAEpB,OAAK6N,KAAWZ,MAAcxD,MAC5BhI,GAAUkM,GAAS;AAAA,QACjB,MAAM5Q;AAAA,MACd,CAAO;AAAA,IAEP;AAAA,EAAG,GACG+Q,IAAmBxP,EAAegP,GAAiB,CAAC,GACpDS,IAAiBD,EAAiB,IAClCE,IAAiBF,EAAiB,IAClCG,IAAgBH,EAAiB;AAErC,SAAO,SAAUzc,GAAM;AACrB,QAAIiQ;AAEJ,QAAI,CAAC8L,KAAaC,KAAsB,CAACF;AACvC,MAAA7L,IAAyB,gBAAAja,EAAM,cAAcylB,IAAO,IAAI;AAAA,SACnD;AACL,UAAI7M;AAEJ,MAAAqB,IAAyB,gBAAAja,EAAM,cAAc,SAASud,GAAS,CAAE,IAAG3E,IAAQ,IAAIlL,EAAgBkL,GAAOnD,IAAYkR,CAAc,GAAGjZ,EAAgBkL,GAAOlD,IAAWkR,CAAa,GAAGhO,IAAQ;AAAA,QAC5L,yBAAyB;AAAA,UACvB,QAAQ8N;AAAA,QACT;AAAA,MACF,CAAA,CAAC;AAAA,IACH;AAED,WAAoB,gBAAA1mB,EAAM,cAAcA,EAAM,UAAU,MAAMia,GAAWjQ,CAAI;AAAA,EACjF;AACA;ACpVA,IAAI6c,KAAwB,2BAAY;AACtC,WAASA,EAASxiB,GAAM4R,GAAO;AAC7B,IAAArB,GAAgB,MAAMiS,CAAQ,GAE9BnZ,EAAgB,MAAM,QAAQ,MAAM,GAEpCA,EAAgB,MAAM,SAAS,MAAM,GAErCA,EAAgB,MAAM,aAAa,EAAI,GAEvC,KAAK,OAAOrJ,GACZ,KAAK,QAAQ4R;AAAA,EACd;AAED,SAAAhB,GAAa4R,GAAU,CAAC;AAAA,IACtB,KAAK;AAAA,IACL,OAAO,WAAmB;AACxB,UAAIvJ,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AACjF,aAAOA,IAAS,GAAG,OAAOA,GAAQ,GAAG,EAAE,OAAO,KAAK,IAAI,IAAI,KAAK;AAAA,IACjE;AAAA,EACF,CAAA,CAAC,GAEKuJ;AACT,EAAG;ACtBI,SAASC,GAAqBC,GAAMC,GAAO;AAChD,MAAID,EAAK,WAAWC,EAAM;AACxB,WAAO;AAGT,WAAS/c,IAAI,GAAGA,IAAI8c,EAAK,QAAQ9c;AAC/B,QAAI8c,EAAK9c,OAAO+c,EAAM/c;AACpB,aAAO;AAIX,SAAO;AACT;AAEA,IAAIgd,KAA0B,2BAAY;AACxC,WAASA,IAAa;AACpB,IAAArS,GAAgB,MAAMqS,CAAU,GAEhCvZ,EAAgB,MAAM,SAAS,MAAM,GAErCA,EAAgB,MAAM,QAAQ,MAAM,GAEpCA,EAAgB,MAAM,kBAAkB,MAAM,GAE9C,KAAK,QAAQ,oBAAI,OACjB,KAAK,OAAO,IACZ,KAAK,iBAAiB;AAAA,EACvB;AAED,SAAAuH,GAAagS,GAAY,CAAC;AAAA,IACxB,KAAK;AAAA,IACL,OAAO,WAAgB;AACrB,aAAO,KAAK,KAAK;AAAA,IAClB;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAqBC,GAAkB;AAC5C,UAAIC,GAASC,GAETC,IAAkB,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,IACtF7O,IAAQ;AAAA,QACV,KAAK,KAAK;AAAA,MAClB;AACM,aAAA0O,EAAiB,QAAQ,SAAUI,GAAY;AAC7C,YAAI,CAAC9O;AACH,UAAAA,IAAQ;AAAA,aACH;AACL,cAAI+O,GAAQC;AAEZ,UAAAhP,KAAS+O,IAAS/O,OAAW,QAAQ+O,MAAW,WAAmBC,IAAaD,EAAO,SAAS,QAAQC,MAAe,SAA9D,SAAgFA,EAAW,IAAIF,CAAU;AAAA,QACnK;AAAA,MACT,CAAO,IAEIH,IAAU3O,OAAW,QAAQ2O,MAAY,UAAUA,EAAQ,SAASE,MACvE7O,EAAM,MAAM,KAAK,KAAK,oBAGhB4O,IAAU5O,OAAW,QAAQ4O,MAAY,SAAS,SAASA,EAAQ;AAAA,IAC5E;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAaF,GAAkB;AACpC,UAAIO;AAEJ,cAAQA,IAAoB,KAAK,YAAYP,GAAkB,EAAI,OAAO,QAAQO,MAAsB,SAAS,SAASA,EAAkB;AAAA,IAC7I;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAaP,GAAkB;AACpC,aAAO,CAAC,CAAC,KAAK,YAAYA,CAAgB;AAAA,IAC3C;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAaA,GAAkBhgB,GAAO;AAC3C,UAAIwgB,IAAQ;AAGZ,UAAI,CAAC,KAAK,IAAIR,CAAgB,GAAG;AAC/B,YAAI,KAAK,SAAS,IAAID,EAAW,iBAAiBA,EAAW,kBAAkB;AAC7E,cAAIU,IAAoB,KAAK,KAAK,OAAO,SAAUC,GAAQrf,GAAK;AAC9D,gBAAIsf,IAAU5Q,EAAe2Q,GAAQ,CAAC,GAClCE,IAAYD,EAAQ;AAExB,mBAAIH,EAAM,YAAYnf,CAAG,EAAE,KAAKuf,IACvB,CAACvf,GAAKmf,EAAM,YAAYnf,CAAG,EAAE,EAAE,IAGjCqf;AAAA,UACnB,GAAa,CAAC,KAAK,KAAK,IAAI,KAAK,cAAc,CAAC,GAClCG,IAAqB9Q,EAAe0Q,GAAmB,CAAC,GACxDK,IAAYD,EAAmB;AAEnC,eAAK,OAAOC,CAAS;AAAA,QACtB;AAED,aAAK,KAAK,KAAKd,CAAgB;AAAA,MAChC;AAED,UAAI1O,IAAQ,KAAK;AACjB,MAAA0O,EAAiB,QAAQ,SAAUI,GAAY/I,GAAO;AACpD,YAAIA,MAAU2I,EAAiB,SAAS;AACtC,UAAA1O,EAAM,IAAI8O,GAAY;AAAA,YACpB,OAAO,CAACpgB,GAAOwgB,EAAM,gBAAgB;AAAA,UACjD,CAAW;AAAA,aACI;AACL,cAAIO,IAAazP,EAAM,IAAI8O,CAAU;AAErC,UAAKW,IAIOA,EAAW,QACrBA,EAAW,MAAM,oBAAI,SAJrBzP,EAAM,IAAI8O,GAAY;AAAA,YACpB,KAAK,oBAAI,IAAK;AAAA,UAC5B,CAAa,GAKH9O,IAAQA,EAAM,IAAI8O,CAAU,EAAE;AAAA,QAC/B;AAAA,MACT,CAAO;AAAA,IACF;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAsBY,GAAcC,GAAa;AACtD,UAAI3P,IAAQ0P,EAAa,IAAIC,EAAY,EAAE;AAE3C,UAAIA,EAAY,WAAW,GAAG;AAC5B,YAAIC;AAEJ,eAAK5P,EAAM,MAGT0P,EAAa,IAAIC,EAAY,IAAI;AAAA,UAC/B,KAAK3P,EAAM;AAAA,QACvB,CAAW,IAJD0P,EAAa,OAAOC,EAAY,EAAE,IAO5BC,IAAe5P,EAAM,WAAW,QAAQ4P,MAAiB,SAAS,SAASA,EAAa;AAAA,MACjG;AAED,UAAIR,IAAS,KAAK,aAAapP,EAAM,KAAK2P,EAAY,MAAM,CAAC,CAAC;AAE9D,cAAK,CAAC3P,EAAM,OAAOA,EAAM,IAAI,SAAS,MAAM,CAACA,EAAM,SACjD0P,EAAa,OAAOC,EAAY,EAAE,GAG7BP;AAAA,IACR;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAiBV,GAAkB;AAExC,UAAI,KAAK,IAAIA,CAAgB;AAC3B,oBAAK,OAAO,KAAK,KAAK,OAAO,SAAUplB,GAAM;AAC3C,iBAAO,CAACglB,GAAqBhlB,GAAMolB,CAAgB;AAAA,QAC7D,CAAS,GACM,KAAK,aAAa,KAAK,OAAOA,CAAgB;AAAA,IAIxD;AAAA,EACF,CAAA,CAAC,GAEKD;AACT;AAEAvZ,EAAgBuZ,IAAY,kBAAkB,EAAE;AAEhDvZ,EAAgBuZ,IAAY,oBAAoB,CAAC;ACvKjD,IAAIoB,KAAO,GAMPC,KAAqB,2BAAY;AACnC,WAASA,EAAMH,GAAa;AAC1B,IAAAvT,GAAgB,MAAM0T,CAAK,GAE3B5a,EAAgB,MAAM,eAAe,MAAM,GAE3CA,EAAgB,MAAM,MAAM,MAAM,GAElC,KAAK,cAAc,MAAM,QAAQya,CAAW,IAAIA,IAAc,CAACA,CAAW,GAC1E,KAAK,KAAKE,IAENF,EAAY,WAAW,KACzB3Z,GAAQ2Z,EAAY,SAAS,GAAG,4EAA4E,GAG9GE,MAAQ;AAAA,EACT;AAED,SAAApT,GAAaqT,GAAO,CAAC;AAAA,IACnB,KAAK;AAAA,IACL,OAAO,SAA4BtN,GAAO;AACxC,aAAO,KAAK,YAAY,OAAO,SAAU4M,GAAQN,GAAY;AAC3D,eAAOA,EAAWtM,GAAO4M,CAAM;AAAA,MAChC,GAAE,MAAS;AAAA,IACb;AAAA,EACF,CAAA,CAAC,GAEKU;AACT,EAAG,GCpCCC,KAAc,IAAItB;AAKP,SAASuB,GAAYL,GAAa;AAC/C,MAAIM,IAAgB,MAAM,QAAQN,CAAW,IAAIA,IAAc,CAACA,CAAW;AAE3E,SAAKI,GAAY,IAAIE,CAAa,KAChCF,GAAY,IAAIE,GAAe,IAAIH,GAAMG,CAAa,CAAC,GAIlDF,GAAY,IAAIE,CAAa;AACtC;ACeA,SAASC,GAAQzE,GAAM;AACrB,SAAAA,EAAK,WAAW,IACTA;AACT;AA0BeyE,GAAQ,CAAC,aAAa,cAAc,CAAC,GAChCA,GAAQ,CAAC,WAAW,CAAC,GACvBA,GAAQ,CAAC,cAAc,CAAC,GAC1BA,GAAQ,CAAC,cAAc,aAAa,CAAC,GAChCA,GAAQ,CAAC,YAAY,CAAC,GACxBA,GAAQ,CAAC,aAAa,CAAC;AChE1C,IAAIC,KAA2B,gBAAAC,GAAc,CAAA,CAAE;AAC/C,MAAAC,KAAeF;ACFA,SAASG,GAAuB7gB,GAAM;AACnD,MAAIA,MAAS;AACX,UAAM,IAAI,eAAe,2DAA2D;AAGtF,SAAOA;AACT;ACNe,SAAS8gB,GAAgBnV,GAAGtU,GAAG;AAC5CypB,SAAAA,KAAkB,OAAO,iBAAiB,OAAO,eAAe,KAAI,IAAK,SAAyBnV,GAAGtU,GAAG;AACtG,WAAAsU,EAAE,YAAYtU,GACPsU;AAAA,EACX,GACSmV,GAAgBnV,GAAGtU,CAAC;AAC7B;ACLe,SAAS0pB,GAAUC,GAAUC,GAAY;AACtD,MAAI,OAAOA,KAAe,cAAcA,MAAe;AACrD,UAAM,IAAI,UAAU,oDAAoD;AAG1E,EAAAD,EAAS,YAAY,OAAO,OAAOC,KAAcA,EAAW,WAAW;AAAA,IACrE,aAAa;AAAA,MACX,OAAOD;AAAA,MACP,UAAU;AAAA,MACV,cAAc;AAAA,IACf;AAAA,EACL,CAAG,GACD,OAAO,eAAeA,GAAU,aAAa;AAAA,IAC3C,UAAU;AAAA,EACd,CAAG,GACGC,KAAYC,GAAeF,GAAUC,CAAU;AACrD;ACjBe,SAASE,GAAgBxV,GAAG;AACzCwV,SAAAA,KAAkB,OAAO,iBAAiB,OAAO,eAAe,KAAM,IAAG,SAAyBxV,GAAG;AACnG,WAAOA,EAAE,aAAa,OAAO,eAAeA,CAAC;AAAA,EACjD,GACSwV,GAAgBxV,CAAC;AAC1B;ACLe,SAASyV,KAA4B;AAElD,MADI,OAAO,UAAY,OAAe,CAAC,QAAQ,aAC3C,QAAQ,UAAU;AAAM,WAAO;AACnC,MAAI,OAAO,SAAU;AAAY,WAAO;AAExC,MAAI;AACF,mBAAQ,UAAU,QAAQ,KAAK,QAAQ,UAAU,SAAS,CAAE,GAAE,WAAY;AAAA,IAAE,CAAA,CAAC,GACtE;AAAA,EACR,QAAC;AACA,WAAO;AAAA,EACR;AACH;ACTe,SAASC,GAA2BrhB,GAAM2G,GAAM;AAC7D,MAAIA,MAASO,GAAQP,CAAI,MAAM,YAAY,OAAOA,KAAS;AACzD,WAAOA;AACF,MAAIA,MAAS;AAClB,UAAM,IAAI,UAAU,0DAA0D;AAGhF,SAAO2a,GAAsBthB,CAAI;AACnC;ACPe,SAASuhB,GAAaC,GAAS;AAC5C,MAAIC,IAA4BC;AAChC,SAAO,WAAgC;AACrC,QAAIC,IAAQC,GAAeJ,CAAO,GAC9B7B;AAEJ,QAAI8B,GAA2B;AAC7B,UAAII,IAAYD,GAAe,IAAI,EAAE;AACrC,MAAAjC,IAAS,QAAQ,UAAUgC,GAAO,WAAWE,CAAS;AAAA,IAC5D;AACM,MAAAlC,IAASgC,EAAM,MAAM,MAAM,SAAS;AAGtC,WAAOG,GAA0B,MAAMnC,CAAM;AAAA,EACjD;AACA;;;;;;;;;;;;;;ACTa,MAAIjoB,IAAe,OAAO,UAApB,cAA4B,OAAO,KAAIH,IAAEG,IAAE,OAAO,IAAI,eAAe,IAAE,OAAMC,IAAED,IAAE,OAAO,IAAI,cAAc,IAAE,OAAME,IAAEF,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAMX,IAAEW,IAAE,OAAO,IAAI,mBAAmB,IAAE,OAAMD,IAAEC,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAMG,IAAEH,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAMT,IAAES,IAAE,OAAO,IAAI,eAAe,IAAE,OAAM,IAAEA,IAAE,OAAO,IAAI,kBAAkB,IAAE,OAAMP,IAAEO,IAAE,OAAO,IAAI,uBAAuB,IAAE,OAAMN,IAAEM,IAAE,OAAO,IAAI,mBAAmB,IAAE,OAAML,IAAEK,IAAE,OAAO,IAAI,gBAAgB,IAAE,OAAMJ,IAAEI,IACpf,OAAO,IAAI,qBAAqB,IAAE,OAAMyP,IAAEzP,IAAE,OAAO,IAAI,YAAY,IAAE,OAAM0P,IAAE1P,IAAE,OAAO,IAAI,YAAY,IAAE,OAAMwN,IAAExN,IAAE,OAAO,IAAI,aAAa,IAAE,OAAM2P,IAAE3P,IAAE,OAAO,IAAI,mBAAmB,IAAE,OAAM6E,IAAE7E,IAAE,OAAO,IAAI,iBAAiB,IAAE,OAAM4P,IAAE5P,IAAE,OAAO,IAAI,aAAa,IAAE;AAClQ,WAAS6P,EAAE/P,GAAE;AAAC,QAAc,OAAOA,KAAlB,YAA4BA,MAAP,MAAS;AAAC,UAAIgQ,IAAEhQ,EAAE;AAAS,cAAOgQ,GAAG;AAAA,QAAA,KAAKjQ;AAAE,kBAAOC,IAAEA,EAAE,MAAKA,GAAG;AAAA,YAAA,KAAK;AAAA,YAAE,KAAKL;AAAA,YAAE,KAAKS;AAAA,YAAE,KAAKH;AAAA,YAAE,KAAKV;AAAA,YAAE,KAAKM;AAAE,qBAAOG;AAAA,YAAE;AAAQ,sBAAOA,IAAEA,KAAGA,EAAE,UAASA,GAAG;AAAA,gBAAA,KAAKP;AAAA,gBAAE,KAAKG;AAAA,gBAAE,KAAKgQ;AAAA,gBAAE,KAAKD;AAAA,gBAAE,KAAKtP;AAAE,yBAAOL;AAAA,gBAAE;AAAQ,yBAAOgQ;AAAA,cAAC;AAAA,UAAC;AAAA,QAAC,KAAK7P;AAAE,iBAAO6P;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAC,WAASC,EAAEjQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIL;AAAA,EAAC;AAAC,SAAAuQ,GAAA,YAAkB,GAAEA,GAAsB,iBAACvQ,GAAEuQ,qBAAwBzQ,GAAEyQ,GAAA,kBAAwB7P,GAAE6P,GAAe,UAACnQ,GAAEmQ,GAAA,aAAmBtQ,GAAEsQ,GAAgB,WAAC9P,GAAE8P,UAAaN,GAAEM,GAAA,OAAaP,GAAEO,GAAc,SAAC/P,GAChf+P,GAAA,WAAiBjQ,GAAEiQ,GAAA,aAAmB3Q,GAAE2Q,GAAA,WAAiBrQ,GAAEqQ,GAAA,cAAoB,SAASlQ,GAAE;AAAC,WAAOiQ,EAAEjQ,CAAC,KAAG+P,EAAE/P,CAAC,MAAI;AAAA,EAAC,GAAEkQ,GAAA,mBAAyBD,GAAEC,GAAA,oBAA0B,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIP;AAAA,EAAC,GAAEyQ,GAAA,oBAA0B,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIK;AAAA,EAAC,GAAE6P,GAAA,YAAkB,SAASlQ,GAAE;AAAC,WAAiB,OAAOA,KAAlB,YAA4BA,MAAP,QAAUA,EAAE,aAAWD;AAAA,EAAC,GAAEmQ,GAAA,eAAqB,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIJ;AAAA,EAAC,GAAEsQ,GAAA,aAAmB,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAII;AAAA,EAAC,GAAE8P,GAAA,SAAe,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAI4P;AAAA,EAAC,GAC1dM,GAAA,SAAe,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAI2P;AAAA,EAAC,GAAEO,cAAiB,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIG;AAAA,EAAC,GAAE+P,GAAkB,aAAC,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIC;AAAA,EAAC,GAAEiQ,GAAA,eAAqB,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIT;AAAA,EAAC,GAAE2Q,GAAA,aAAmB,SAASlQ,GAAE;AAAC,WAAO+P,EAAE/P,CAAC,MAAIH;AAAA,EAAC,GAChNqQ,GAAA,qBAAC,SAASlQ,GAAE;AAAC,WAAiB,OAAOA,KAAlB,YAAkC,OAAOA,KAApB,cAAuBA,MAAII,KAAGJ,MAAIL,KAAGK,MAAIC,KAAGD,MAAIT,KAAGS,MAAIH,KAAGG,MAAIF,KAAc,OAAOE,KAAlB,YAA4BA,MAAP,SAAWA,EAAE,aAAW4P,KAAG5P,EAAE,aAAW2P,KAAG3P,EAAE,aAAWK,KAAGL,EAAE,aAAWP,KAAGO,EAAE,aAAWJ,KAAGI,EAAE,aAAW6P,KAAG7P,EAAE,aAAW+E,KAAG/E,EAAE,aAAW8P,KAAG9P,EAAE,aAAW0N;AAAA,EAAE,GAAEwC,GAAc,SAACH;;;;;wBCD/T,QAAQ,IAAI,aAAa,gBAC1B,WAAW;AAKd,QAAII,IAAY,OAAO,UAAW,cAAc,OAAO,KACnD3P,IAAqB2P,IAAY,OAAO,IAAI,eAAe,IAAI,OAC/D1P,IAAoB0P,IAAY,OAAO,IAAI,cAAc,IAAI,OAC7DzP,IAAsByP,IAAY,OAAO,IAAI,gBAAgB,IAAI,OACjExP,IAAyBwP,IAAY,OAAO,IAAI,mBAAmB,IAAI,OACvEvP,IAAsBuP,IAAY,OAAO,IAAI,gBAAgB,IAAI,OACjEtP,IAAsBsP,IAAY,OAAO,IAAI,gBAAgB,IAAI,OACjErP,IAAqBqP,IAAY,OAAO,IAAI,eAAe,IAAI,OAG/DC,IAAwBD,IAAY,OAAO,IAAI,kBAAkB,IAAI,OACrEE,IAA6BF,IAAY,OAAO,IAAI,uBAAuB,IAAI,OAC/EpP,IAAyBoP,IAAY,OAAO,IAAI,mBAAmB,IAAI,OACvEnP,IAAsBmP,IAAY,OAAO,IAAI,gBAAgB,IAAI,OACjElP,IAA2BkP,IAAY,OAAO,IAAI,qBAAqB,IAAI,OAC3EjP,IAAkBiP,IAAY,OAAO,IAAI,YAAY,IAAI,OACzDhP,IAAkBgP,IAAY,OAAO,IAAI,YAAY,IAAI,OACzDG,IAAmBH,IAAY,OAAO,IAAI,aAAa,IAAI,OAC3DI,IAAyBJ,IAAY,OAAO,IAAI,mBAAmB,IAAI,OACvEK,IAAuBL,IAAY,OAAO,IAAI,iBAAiB,IAAI,OACnEM,IAAmBN,IAAY,OAAO,IAAI,aAAa,IAAI;AAE/D,aAASvN,EAAmBC,GAAM;AAChC,aAAO,OAAOA,KAAS,YAAY,OAAOA,KAAS,cACnDA,MAASnC,KAAuBmC,MAASwN,KAA8BxN,MAASjC,KAAuBiC,MAASlC,KAA0BkC,MAAS7B,KAAuB6B,MAAS5B,KAA4B,OAAO4B,KAAS,YAAYA,MAAS,SAASA,EAAK,aAAa1B,KAAmB0B,EAAK,aAAa3B,KAAmB2B,EAAK,aAAahC,KAAuBgC,EAAK,aAAa/B,KAAsB+B,EAAK,aAAa9B,KAA0B8B,EAAK,aAAa0N,KAA0B1N,EAAK,aAAa2N,KAAwB3N,EAAK,aAAa4N,KAAoB5N,EAAK,aAAayN;AAAA,IACnlB;AAED,aAASI,EAAOjH,GAAQ;AACtB,UAAI,OAAOA,KAAW,YAAYA,MAAW,MAAM;AACjD,YAAIkH,IAAWlH,EAAO;AAEtB,gBAAQkH,GAAQ;AAAA,UACd,KAAKnQ;AACH,gBAAIqC,KAAO4G,EAAO;AAElB,oBAAQ5G,IAAI;AAAA,cACV,KAAKuN;AAAA,cACL,KAAKC;AAAA,cACL,KAAK3P;AAAA,cACL,KAAKE;AAAA,cACL,KAAKD;AAAA,cACL,KAAKK;AACH,uBAAO6B;AAAA,cAET;AACE,oBAAI+N,KAAe/N,MAAQA,GAAK;AAEhC,wBAAQ+N,IAAY;AAAA,kBAClB,KAAK9P;AAAA,kBACL,KAAKC;AAAA,kBACL,KAAKI;AAAA,kBACL,KAAKD;AAAA,kBACL,KAAKL;AACH,2BAAO+P;AAAA,kBAET;AACE,2BAAOD;AAAA,gBACV;AAAA,YAEJ;AAAA,UAEH,KAAKlQ;AACH,mBAAOkQ;AAAA,QACV;AAAA,MACF;AAAA,IAGF;AAED,QAAIE,IAAYT,GACZU,IAAiBT,GACjBU,IAAkBjQ,GAClBkQ,IAAkBnQ,GAClBoQ,IAAUzQ,GACV0Q,IAAanQ,GACboQ,IAAWzQ,GACX0Q,IAAOjQ,GACPkQ,IAAOnQ,GACPoQ,IAAS7Q,GACT8Q,IAAW3Q,GACX4Q,IAAa7Q,GACb8Q,IAAWzQ,GACX0Q,IAAsC;AAE1C,aAASC,EAAYlI,GAAQ;AAEzB,aAAKiI,MACHA,IAAsC,IAEtC,QAAQ,KAAQ,+KAAyL,IAItME,EAAiBnI,CAAM,KAAKiH,EAAOjH,CAAM,MAAM2G;AAAA,IACvD;AACD,aAASwB,EAAiBnI,GAAQ;AAChC,aAAOiH,EAAOjH,CAAM,MAAM4G;AAAA,IAC3B;AACD,aAASwB,EAAkBpI,GAAQ;AACjC,aAAOiH,EAAOjH,CAAM,MAAM3I;AAAA,IAC3B;AACD,aAASgR,EAAkBrI,GAAQ;AACjC,aAAOiH,EAAOjH,CAAM,MAAM5I;AAAA,IAC3B;AACD,aAASkR,EAAUtI,GAAQ;AACzB,aAAO,OAAOA,KAAW,YAAYA,MAAW,QAAQA,EAAO,aAAajJ;AAAA,IAC7E;AACD,aAASwR,GAAavI,GAAQ;AAC5B,aAAOiH,EAAOjH,CAAM,MAAM1I;AAAA,IAC3B;AACD,aAASkR,GAAWxI,GAAQ;AAC1B,aAAOiH,EAAOjH,CAAM,MAAM/I;AAAA,IAC3B;AACD,aAASwR,GAAOzI,GAAQ;AACtB,aAAOiH,EAAOjH,CAAM,MAAMtI;AAAA,IAC3B;AACD,aAASgR,GAAO1I,GAAQ;AACtB,aAAOiH,EAAOjH,CAAM,MAAMvI;AAAA,IAC3B;AACD,aAASkR,GAAS3I,GAAQ;AACxB,aAAOiH,EAAOjH,CAAM,MAAMhJ;AAAA,IAC3B;AACD,aAAS4R,GAAW5I,GAAQ;AAC1B,aAAOiH,EAAOjH,CAAM,MAAM7I;AAAA,IAC3B;AACD,aAAS0R,GAAa7I,GAAQ;AAC5B,aAAOiH,EAAOjH,CAAM,MAAM9I;AAAA,IAC3B;AACD,aAAS4R,GAAW9I,GAAQ;AAC1B,aAAOiH,EAAOjH,CAAM,MAAMzI;AAAA,IAC3B;AAEgB,IAAAwR,GAAA,YAAG3B,GACE2B,GAAA,iBAAG1B,GACF0B,GAAA,kBAAGzB,GACHyB,GAAA,kBAAGxB,GACXwB,GAAA,UAAGvB,GACAuB,GAAA,aAAGtB,GACLsB,GAAA,WAAGrB,GACPqB,GAAA,OAAGpB,GACHoB,GAAA,OAAGnB,GACDmB,GAAA,SAAGlB,GACDkB,GAAA,WAAGjB,GACDiB,GAAA,aAAGhB,GACLgB,GAAA,WAAGf,GACAe,GAAA,cAAGb,GACEa,GAAA,mBAAGZ,GACFY,GAAA,oBAAGX,GACHW,GAAA,oBAAGV,GACXU,GAAA,YAAGT,GACAS,GAAA,eAAGR,IACLQ,GAAA,aAAGP,IACPO,GAAA,SAAGN,IACHM,GAAA,SAAGL,IACDK,GAAA,WAAGJ,IACDI,GAAA,aAAGH,IACDG,GAAA,eAAGF,IACLE,GAAA,aAAGD,IACKC,GAAA,qBAAG5P,GACf4P,GAAA,SAAG9B;AAAA,EACjB;;;ACjLA,EAAI,QAAQ,IAAI,aAAa,eAC3B5E,EAAA,UAAiBtM,OAEjBsM,EAAA,UAAiBC;;ACHJ,SAASwe,GAAQ/e,GAAU;AACxC,MAAIuO,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GAC7EyQ,IAAM,CAAA;AACVjqB,SAAAA,GAAM,SAAS,QAAQiL,GAAU,SAAUf,GAAO;AAChD,IAA4BA,KAAU,QAAS,CAACsP,EAAO,cAInD,MAAM,QAAQtP,CAAK,IACrB+f,IAAMA,EAAI,OAAOD,GAAQ9f,CAAK,CAAC,IACtBwH,GAAAA,WAAWxH,CAAK,KAAKA,EAAM,QACpC+f,IAAMA,EAAI,OAAOD,GAAQ9f,EAAM,MAAM,UAAUsP,CAAM,CAAC,IAEtDyQ,EAAI,KAAK/f,CAAK;AAAA,EAEpB,CAAG,GACM+f;AACT;AClBA,IAAI1b,KAAS,CAAA;AACN,SAASC,GAAQC,GAAOC,GAAS;AAEtC,EAAI,QAAQ,IAAI,aAAa,gBAAgB,CAACD,KAAS,YAAY,UACjE,QAAQ,MAAM,YAAY,OAAOC,CAAO,CAAC;AAE7C;AAUO,SAASE,GAAKC,GAAQJ,GAAOC,GAAS;AAC3C,EAAI,CAACD,KAAS,CAACF,GAAOG,OACpBG,EAAO,IAAOH,CAAO,GACrBH,GAAOG,KAAW;AAEtB;AACO,SAASI,GAAYL,GAAOC,GAAS;AAC1CE,EAAAA,GAAKJ,IAASC,GAAOC,CAAO;AAC9B;ACvBO,IAAIwb,KAAY,0BAEnBC,KAAc,WAAuB;AACvC3b,EAAAA,GAAQ,IAAO,uEAAuE;AACxF,GAEI4b,KAAuB,gBAAApqB,EAAM,cAAc;AAAA,EAC7C,eAAemqB;AAAA,EACf,gBAAgBA;AAAA,EAChB,eAAeA;AAAA,EACf,iBAAiBA;AAAA,EACjB,gBAAgBA;AAAA,EAChB,iBAAiBA;AAAA,EACjB,gBAAgBA;AAAA,EAChB,mBAAmBA;AAAA,EACnB,oBAAoBA;AAAA,EACpB,aAAaA;AAAA,EACb,WAAWA;AAAA,EACX,eAAeA;AAAA,EACf,gBAAgBA;AAAA,EAChB,gBAAgBA;AAAA,EAChB,QAAQA;AAAA,EACR,kBAAkB,WAA4B;AAC5C,WAAAA,MACO;AAAA,MACL,UAAUA;AAAA,MACV,iBAAiBA;AAAA,MACjB,eAAeA;AAAA,MACf,cAAcA;AAAA,MACd,kBAAkBA;AAAA,MAClB,aAAaA;AAAA,MACb,cAAcA;AAAA,MACd,eAAeA;AAAA,MACf,WAAWA;AAAA,MACX,qBAAqBA;AAAA,MACrB,aAAaA;AAAA,MACb,iBAAiBA;AAAA,IACvB;AAAA,EACG;AACH,CAAC;ACzCM,SAASH,GAAQ9iB,GAAO;AAC7B,SAA2BA,KAAU,OAC5B,KAGF,MAAM,QAAQA,CAAK,IAAIA,IAAQ,CAACA,CAAK;AAC9C;ACLe,SAASmjB,KAAsB;AAI5C,EAAAA,KAAsB,WAA+B;AACnD,WAAOC;AAAA,EACX;AAEE,MAAIA,IAAU,CAAE,GACZC,IAAK,OAAO,WACZnd,IAASmd,EAAG,gBACZC,IAAwB,OAAO,UAArB,aAA8B,SAAS,CAAE,GACnDC,IAAiBD,EAAQ,YAAY,cACrCE,IAAsBF,EAAQ,iBAAiB,mBAC/CG,IAAoBH,EAAQ,eAAe;AAE/C,WAASI,EAAOjd,GAAKpF,GAAKrB,GAAO;AAC/B,WAAO,OAAO,eAAeyG,GAAKpF,GAAK;AAAA,MACrC,OAAOrB;AAAA,MACP,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,UAAU;AAAA,IAChB,CAAK,GAAGyG,EAAIpF;AAAA,EACT;AAED,MAAI;AACF,IAAAqiB,EAAO,CAAA,GAAI,EAAE;AAAA,EACd,QAAC;AACA,IAAAA,IAAS,SAAgBjd,GAAKpF,GAAKrB,GAAO;AACxC,aAAOyG,EAAIpF,KAAOrB;AAAA,IACxB;AAAA,EACG;AAED,WAAS2jB,EAAKC,GAASC,GAAS9iB,GAAM+iB,GAAa;AACjD,QAAIC,IAAiBF,KAAWA,EAAQ,qBAAqBG,IAAYH,IAAUG,GAC/EC,IAAY,OAAO,OAAOF,EAAe,SAAS,GAClDloB,IAAU,IAAIqnB,EAAQY,KAAe,CAAE,CAAA;AAC3C,WAAOG,EAAU,UAAU,SAAUL,GAAS7iB,GAAMlF,GAAS;AAC3D,UAAIqoB,IAAQ;AACZ,aAAO,SAAUvc,GAAQtB,GAAK;AAC5B,YAAoB6d,MAAhB;AAAuB,gBAAM,IAAI,MAAM,8BAA8B;AAEzE,YAAoBA,MAAhB,aAAuB;AACzB,cAAgBvc,MAAZ;AAAoB,kBAAMtB;AAC9B,iBAAO8d,EAAU;AAAA,QAClB;AAED,aAAKtoB,EAAQ,SAAS8L,GAAQ9L,EAAQ,MAAMwK,OAAO;AACjD,cAAI+d,IAAWvoB,EAAQ;AAEvB,cAAIuoB,GAAU;AACZ,gBAAIC,KAAiBC,EAAoBF,GAAUvoB,CAAO;AAE1D,gBAAIwoB,IAAgB;AAClB,kBAAIA,OAAmBE;AAAkB;AACzC,qBAAOF;AAAA,YACR;AAAA,UACF;AAED,cAAexoB,EAAQ,WAAnB;AAA2B,YAAAA,EAAQ,OAAOA,EAAQ,QAAQA,EAAQ;AAAA,mBAAyBA,EAAQ,WAApB,SAA4B;AAC7G,gBAAyBqoB,MAArB;AAA4B,oBAAMA,IAAQ,aAAaroB,EAAQ;AACnE,YAAAA,EAAQ,kBAAkBA,EAAQ,GAAG;AAAA,UACjD;AAAiB,YAAaA,EAAQ,WAArB,YAA+BA,EAAQ,OAAO,UAAUA,EAAQ,GAAG;AAC1E,UAAAqoB,IAAQ;AACR,cAAIM,KAASC,EAASb,GAAS7iB,GAAMlF,CAAO;AAE5C,cAAiB2oB,GAAO,SAApB,UAA0B;AAC5B,gBAAIN,IAAQroB,EAAQ,OAAO,cAAc,kBAAkB2oB,GAAO,QAAQD;AAAkB;AAC5F,mBAAO;AAAA,cACL,OAAOC,GAAO;AAAA,cACd,MAAM3oB,EAAQ;AAAA,YAC5B;AAAA,UACW;AAED,UAAY2oB,GAAO,SAAnB,YAA4BN,IAAQ,aAAaroB,EAAQ,SAAS,SAASA,EAAQ,MAAM2oB,GAAO;AAAA,QACjG;AAAA,MACT;AAAA,IACK,EAACZ,GAAS7iB,GAAMlF,CAAO,GAAGooB;AAAA,EAC5B;AAED,WAASQ,EAAS7mB,GAAI6I,GAAKJ,GAAK;AAC9B,QAAI;AACF,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAKzI,EAAG,KAAK6I,GAAKJ,CAAG;AAAA,MAC7B;AAAA,IACK,SAAQ1G,GAAP;AACA,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAKA;AAAA,MACb;AAAA,IACK;AAAA,EACF;AAED,EAAAyjB,EAAQ,OAAOO;AACf,MAAIY,IAAmB,CAAA;AAEvB,WAASP,IAAY;AAAA,EAAE;AAEvB,WAASU,IAAoB;AAAA,EAAE;AAE/B,WAASC,IAA6B;AAAA,EAAE;AAExC,MAAIC,IAAoB,CAAA;AACxB,EAAAlB,EAAOkB,GAAmBrB,GAAgB,WAAY;AACpD,WAAO;AAAA,EACX,CAAG;AACD,MAAIsB,IAAW,OAAO,gBAClBC,IAA0BD,KAAYA,EAASA,EAASxlB,EAAO,CAAA,CAAE,CAAC,CAAC;AACvE,EAAAylB,KAA2BA,MAA4BzB,KAAMnd,EAAO,KAAK4e,GAAyBvB,CAAc,MAAMqB,IAAoBE;AAC1I,MAAIC,IAAKJ,EAA2B,YAAYX,EAAU,YAAY,OAAO,OAAOY,CAAiB;AAErG,WAASI,EAAsBpmB,GAAW;AACxC,KAAC,QAAQ,SAAS,QAAQ,EAAE,QAAQ,SAAU+I,GAAQ;AACpD,MAAA+b,EAAO9kB,GAAW+I,GAAQ,SAAUtB,GAAK;AACvC,eAAO,KAAK,QAAQsB,GAAQtB,CAAG;AAAA,MACvC,CAAO;AAAA,IACP,CAAK;AAAA,EACF;AAED,WAAS4e,EAAchB,GAAWiB,GAAa;AAC7C,aAASC,EAAOxd,GAAQtB,GAAK+e,GAASC,GAAQ;AAC5C,UAAIb,IAASC,EAASR,EAAUtc,IAASsc,GAAW5d,CAAG;AAEvD,UAAgBme,EAAO,SAAnB,SAAyB;AAC3B,YAAI9D,IAAS8D,EAAO,KAChBxkB,IAAQ0gB,EAAO;AACnB,eAAO1gB,KAAqBiI,GAAQjI,CAAK,KAAzB,YAA8BkG,EAAO,KAAKlG,GAAO,SAAS,IAAIklB,EAAY,QAAQllB,EAAM,OAAO,EAAE,KAAK,SAAUA,GAAO;AACrI,UAAAmlB,EAAO,QAAQnlB,GAAOolB,GAASC,CAAM;AAAA,QACtC,GAAE,SAAU1lB,GAAK;AAChB,UAAAwlB,EAAO,SAASxlB,GAAKylB,GAASC,CAAM;AAAA,QAC9C,CAAS,IAAIH,EAAY,QAAQllB,CAAK,EAAE,KAAK,SAAUslB,GAAW;AACxD,UAAA5E,EAAO,QAAQ4E,GAAWF,EAAQ1E,CAAM;AAAA,QACzC,GAAE,SAAUxmB,GAAO;AAClB,iBAAOirB,EAAO,SAASjrB,GAAOkrB,GAASC,CAAM;AAAA,QACvD,CAAS;AAAA,MACF;AAED,MAAAA,EAAOb,EAAO,GAAG;AAAA,IAClB;AAED,QAAIe;AAEJ,SAAK,UAAU,SAAU5d,GAAQtB,GAAK;AACpC,eAASmf,IAA6B;AACpC,eAAO,IAAIN,EAAY,SAAUE,GAASC,GAAQ;AAChD,UAAAF,EAAOxd,GAAQtB,GAAK+e,GAASC,CAAM;AAAA,QAC7C,CAAS;AAAA,MACF;AAED,aAAOE,IAAkBA,IAAkBA,EAAgB,KAAKC,GAA4BA,CAA0B,IAAIA;IAChI;AAAA,EACG;AAED,WAASlB,EAAoBF,GAAUvoB,GAAS;AAC9C,QAAI8L,IAASyc,EAAS,SAASvoB,EAAQ;AAEvC,QAAkB8L,MAAd,QAAsB;AACxB,UAAI9L,EAAQ,WAAW,MAAkBA,EAAQ,WAApB,SAA4B;AACvD,YAAIuoB,EAAS,SAAS,WAAcvoB,EAAQ,SAAS,UAAUA,EAAQ,MAAM,QAAWyoB,EAAoBF,GAAUvoB,CAAO,GAAeA,EAAQ,WAApB;AAA6B,iBAAO0oB;AACpK,QAAA1oB,EAAQ,SAAS,SAASA,EAAQ,MAAM,IAAI,UAAU,gDAAgD;AAAA,MACvG;AAED,aAAO0oB;AAAA,IACR;AAED,QAAIC,IAASC,EAAS9c,GAAQyc,EAAS,UAAUvoB,EAAQ,GAAG;AAC5D,QAAgB2oB,EAAO,SAAnB;AAAyB,aAAO3oB,EAAQ,SAAS,SAASA,EAAQ,MAAM2oB,EAAO,KAAK3oB,EAAQ,WAAW,MAAM0oB;AACjH,QAAI/hB,IAAOgiB,EAAO;AAClB,WAAOhiB,IAAOA,EAAK,QAAQ3G,EAAQuoB,EAAS,cAAc5hB,EAAK,OAAO3G,EAAQ,OAAOuoB,EAAS,SAAsBvoB,EAAQ,WAArB,aAAgCA,EAAQ,SAAS,QAAQA,EAAQ,MAAM,SAAYA,EAAQ,WAAW,MAAM0oB,KAAoB/hB,KAAQ3G,EAAQ,SAAS,SAASA,EAAQ,MAAM,IAAI,UAAU,kCAAkC,GAAGA,EAAQ,WAAW,MAAM0oB;AAAA,EACpW;AAED,WAASkB,EAAaC,GAAM;AAC1B,QAAIC,IAAQ;AAAA,MACV,QAAQD,EAAK;AAAA,IACnB;AACI,SAAKA,MAASC,EAAM,WAAWD,EAAK,KAAK,KAAKA,MAASC,EAAM,aAAaD,EAAK,IAAIC,EAAM,WAAWD,EAAK,KAAK,KAAK,WAAW,KAAKC,CAAK;AAAA,EACzI;AAED,WAASC,EAAcD,GAAO;AAC5B,QAAInB,IAASmB,EAAM,cAAc;AACjC,IAAAnB,EAAO,OAAO,UAAU,OAAOA,EAAO,KAAKmB,EAAM,aAAanB;AAAA,EAC/D;AAED,WAAStB,EAAQY,GAAa;AAC5B,SAAK,aAAa,CAAC;AAAA,MACjB,QAAQ;AAAA,IACd,CAAK,GAAGA,EAAY,QAAQ2B,GAAc,IAAI,GAAG,KAAK,MAAM,EAAE;AAAA,EAC3D;AAED,WAASpmB,EAAOwmB,GAAU;AACxB,QAAIA,GAAU;AACZ,UAAIC,IAAiBD,EAAStC;AAC9B,UAAIuC;AAAgB,eAAOA,EAAe,KAAKD,CAAQ;AACvD,UAAkB,OAAOA,EAAS,QAA9B;AAAoC,eAAOA;AAE/C,UAAI,CAAC,MAAMA,EAAS,MAAM,GAAG;AAC3B,YAAI9iB,IAAI,IACJuV,IAAO,SAASA,IAAO;AACzB,iBAAO,EAAEvV,IAAI8iB,EAAS;AACpB,gBAAI3f,EAAO,KAAK2f,GAAU9iB,CAAC;AAAG,qBAAOuV,EAAK,QAAQuN,EAAS9iB,IAAIuV,EAAK,OAAO,IAAIA;AAGjF,iBAAOA,EAAK,QAAQ,QAAWA,EAAK,OAAO,IAAIA;AAAA,QACzD;AAEQ,eAAOA,EAAK,OAAOA;AAAA,MACpB;AAAA,IACF;AAED,WAAO;AAAA,MACL,MAAM6L;AAAA,IACZ;AAAA,EACG;AAED,WAASA,IAAa;AACpB,WAAO;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,IACZ;AAAA,EACG;AAED,SAAOO,EAAkB,YAAYC,GAA4BjB,EAAOqB,GAAI,eAAeJ,CAA0B,GAAGjB,EAAOiB,GAA4B,eAAeD,CAAiB,GAAGA,EAAkB,cAAchB,EAAOiB,GAA4BlB,GAAmB,mBAAmB,GAAGL,EAAQ,sBAAsB,SAAU2C,GAAQ;AACxV,QAAIC,IAAqB,OAAOD,KAArB,cAA+BA,EAAO;AACjD,WAAO,CAAC,CAACC,MAASA,MAAStB,MAA8CsB,EAAK,eAAeA,EAAK,UAAlD;AAAA,EACpD,GAAK5C,EAAQ,OAAO,SAAU2C,GAAQ;AAClC,WAAO,OAAO,iBAAiB,OAAO,eAAeA,GAAQpB,CAA0B,KAAKoB,EAAO,YAAYpB,GAA4BjB,EAAOqC,GAAQtC,GAAmB,mBAAmB,IAAIsC,EAAO,YAAY,OAAO,OAAOhB,CAAE,GAAGgB;AAAA,EAC9O,GAAK3C,EAAQ,QAAQ,SAAU/c,GAAK;AAChC,WAAO;AAAA,MACL,SAASA;AAAA,IACf;AAAA,EACA,GAAK2e,EAAsBC,EAAc,SAAS,GAAGvB,EAAOuB,EAAc,WAAWzB,GAAqB,WAAY;AAClH,WAAO;AAAA,EACR,CAAA,GAAGJ,EAAQ,gBAAgB6B,GAAe7B,EAAQ,QAAQ,SAAUQ,GAASC,GAAS9iB,GAAM+iB,GAAaoB,GAAa;AACrH,IAAWA,MAAX,WAA2BA,IAAc;AACzC,QAAI1Y,IAAO,IAAIyY,EAActB,EAAKC,GAASC,GAAS9iB,GAAM+iB,CAAW,GAAGoB,CAAW;AACnF,WAAO9B,EAAQ,oBAAoBS,CAAO,IAAIrX,IAAOA,EAAK,KAAM,EAAC,KAAK,SAAUkU,GAAQ;AACtF,aAAOA,EAAO,OAAOA,EAAO,QAAQlU,EAAK;IAC/C,CAAK;AAAA,EACF,GAAEwY,EAAsBD,CAAE,GAAGrB,EAAOqB,GAAItB,GAAmB,WAAW,GAAGC,EAAOqB,GAAIxB,GAAgB,WAAY;AAC/G,WAAO;AAAA,EACR,CAAA,GAAGG,EAAOqB,GAAI,YAAY,WAAY;AACrC,WAAO;AAAA,EACR,CAAA,GAAG3B,EAAQ,OAAO,SAAUphB,GAAQ;AACnC,QAAIyB,IAAO,CAAA;AAEX,aAASpC,KAAOW;AACd,MAAAyB,EAAK,KAAKpC,CAAG;AAGf,WAAOoC,EAAK,WAAW,SAAS6U,IAAO;AACrC,aAAO7U,EAAK,UAAS;AACnB,YAAIpC,IAAMoC,EAAK;AACf,YAAIpC,KAAOW;AAAQ,iBAAOsW,EAAK,QAAQjX,GAAKiX,EAAK,OAAO,IAAIA;AAAA,MAC7D;AAED,aAAOA,EAAK,OAAO,IAAIA;AAAA,IAC7B;AAAA,EACG,GAAE8K,EAAQ,SAAS/jB,GAAQ6jB,EAAQ,YAAY;AAAA,IAC9C,aAAaA;AAAA,IACb,OAAO,SAAe+C,GAAe;AACnC,UAAI,KAAK,OAAO,GAAG,KAAK,OAAO,GAAG,KAAK,OAAO,KAAK,QAAQ,QAAW,KAAK,OAAO,IAAI,KAAK,WAAW,MAAM,KAAK,SAAS,QAAQ,KAAK,MAAM,QAAW,KAAK,WAAW,QAAQL,CAAa,GAAG,CAACK;AAAe,iBAAS9oB,KAAQ;AAC/N,UAAQA,EAAK,OAAO,CAAC,MAArB,OAA0B+I,EAAO,KAAK,MAAM/I,CAAI,KAAK,CAAC,MAAM,CAACA,EAAK,MAAM,CAAC,CAAC,MAAM,KAAKA,KAAQ;AAAA,IAEhG;AAAA,IACD,MAAM,WAAgB;AACpB,WAAK,OAAO;AACZ,UAAI+oB,IAAa,KAAK,WAAW,GAAG;AACpC,UAAgBA,EAAW,SAAvB;AAA6B,cAAMA,EAAW;AAClD,aAAO,KAAK;AAAA,IACb;AAAA,IACD,mBAAmB,SAA2BC,GAAW;AACvD,UAAI,KAAK;AAAM,cAAMA;AACrB,UAAItqB,IAAU;AAEd,eAASuqB,EAAOC,GAAKC,GAAQ;AAC3B,eAAO9B,EAAO,OAAO,SAASA,EAAO,MAAM2B,GAAWtqB,EAAQ,OAAOwqB,GAAKC,MAAWzqB,EAAQ,SAAS,QAAQA,EAAQ,MAAM,SAAY,CAAC,CAACyqB;AAAA,MAC3I;AAED,eAASvjB,IAAI,KAAK,WAAW,SAAS,GAAGA,KAAK,GAAG,EAAEA,GAAG;AACpD,YAAI4iB,IAAQ,KAAK,WAAW5iB,IACxByhB,IAASmB,EAAM;AACnB,YAAeA,EAAM,WAAjB;AAAyB,iBAAOS,EAAO,KAAK;AAEhD,YAAIT,EAAM,UAAU,KAAK,MAAM;AAC7B,cAAIY,IAAWrgB,EAAO,KAAKyf,GAAO,UAAU,GACxCa,IAAatgB,EAAO,KAAKyf,GAAO,YAAY;AAEhD,cAAIY,KAAYC,GAAY;AAC1B,gBAAI,KAAK,OAAOb,EAAM;AAAU,qBAAOS,EAAOT,EAAM,UAAU,EAAE;AAChE,gBAAI,KAAK,OAAOA,EAAM;AAAY,qBAAOS,EAAOT,EAAM,UAAU;AAAA,UACjE,WAAUY;AACT,gBAAI,KAAK,OAAOZ,EAAM;AAAU,qBAAOS,EAAOT,EAAM,UAAU,EAAE;AAAA,iBAC3D;AACL,gBAAI,CAACa;AAAY,oBAAM,IAAI,MAAM,wCAAwC;AACzE,gBAAI,KAAK,OAAOb,EAAM;AAAY,qBAAOS,EAAOT,EAAM,UAAU;AAAA,UACjE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACD,QAAQ,SAAgBvqB,GAAMiL,GAAK;AACjC,eAAStD,IAAI,KAAK,WAAW,SAAS,GAAGA,KAAK,GAAG,EAAEA,GAAG;AACpD,YAAI4iB,IAAQ,KAAK,WAAW5iB;AAE5B,YAAI4iB,EAAM,UAAU,KAAK,QAAQzf,EAAO,KAAKyf,GAAO,YAAY,KAAK,KAAK,OAAOA,EAAM,YAAY;AACjG,cAAIc,IAAed;AACnB;AAAA,QACD;AAAA,MACF;AAED,MAAAc,MAA6BrrB,MAAZ,WAAmCA,MAAf,eAAwBqrB,EAAa,UAAUpgB,KAAOA,KAAOogB,EAAa,eAAeA,IAAe;AAC7I,UAAIjC,IAASiC,IAAeA,EAAa,aAAa,CAAA;AACtD,aAAOjC,EAAO,OAAOppB,GAAMopB,EAAO,MAAMne,GAAKogB,KAAgB,KAAK,SAAS,QAAQ,KAAK,OAAOA,EAAa,YAAYlC,KAAoB,KAAK,SAASC,CAAM;AAAA,IACjK;AAAA,IACD,UAAU,SAAkBA,GAAQkC,GAAU;AAC5C,UAAgBlC,EAAO,SAAnB;AAAyB,cAAMA,EAAO;AAC1C,aAAmBA,EAAO,SAAnB,WAA0CA,EAAO,SAAtB,aAA6B,KAAK,OAAOA,EAAO,MAAmBA,EAAO,SAApB,YAA4B,KAAK,OAAO,KAAK,MAAMA,EAAO,KAAK,KAAK,SAAS,UAAU,KAAK,OAAO,SAAsBA,EAAO,SAApB,YAA4BkC,MAAa,KAAK,OAAOA,IAAWnC;AAAA,IACrQ;AAAA,IACD,QAAQ,SAAgBoC,GAAY;AAClC,eAAS5jB,IAAI,KAAK,WAAW,SAAS,GAAGA,KAAK,GAAG,EAAEA,GAAG;AACpD,YAAI4iB,IAAQ,KAAK,WAAW5iB;AAC5B,YAAI4iB,EAAM,eAAegB;AAAY,iBAAO,KAAK,SAAShB,EAAM,YAAYA,EAAM,QAAQ,GAAGC,EAAcD,CAAK,GAAGpB;AAAA,MACpH;AAAA,IACF;AAAA,IACD,OAAS,SAAgBqC,GAAQ;AAC/B,eAAS7jB,IAAI,KAAK,WAAW,SAAS,GAAGA,KAAK,GAAG,EAAEA,GAAG;AACpD,YAAI4iB,IAAQ,KAAK,WAAW5iB;AAE5B,YAAI4iB,EAAM,WAAWiB,GAAQ;AAC3B,cAAIpC,IAASmB,EAAM;AAEnB,cAAgBnB,EAAO,SAAnB,SAAyB;AAC3B,gBAAIqC,IAASrC,EAAO;AACpB,YAAAoB,EAAcD,CAAK;AAAA,UACpB;AAED,iBAAOkB;AAAA,QACR;AAAA,MACF;AAED,YAAM,IAAI,MAAM,uBAAuB;AAAA,IACxC;AAAA,IACD,eAAe,SAAuBhB,GAAUiB,GAAYC,GAAS;AACnE,aAAO,KAAK,WAAW;AAAA,QACrB,UAAU1nB,EAAOwmB,CAAQ;AAAA,QACzB,YAAYiB;AAAA,QACZ,SAASC;AAAA,MACjB,GAAoB,KAAK,WAAhB,WAA2B,KAAK,MAAM,SAAYxC;AAAA,IACtD;AAAA,EACF,GAAEnB;AACL;AC/VA,SAAS4D,GAAmBC,GAAK7B,GAASC,GAAQ6B,GAAOC,GAAQ9lB,GAAKgF,GAAK;AACzE,MAAI;AACF,QAAI7D,IAAOykB,EAAI5lB,GAAKgF,CAAG,GACnBrG,IAAQwC,EAAK;AAAA,EAClB,SAAQtI,GAAP;AACA,IAAAmrB,EAAOnrB,CAAK;AACZ;AAAA,EACD;AAED,EAAIsI,EAAK,OACP4iB,EAAQplB,CAAK,IAEb,QAAQ,QAAQA,CAAK,EAAE,KAAKknB,GAAOC,CAAM;AAE7C;AAEe,SAASC,GAAkBxpB,GAAI;AAC5C,SAAO,WAAY;AACjB,QAAImD,IAAO,MACP1G,IAAO;AACX,WAAO,IAAI,QAAQ,SAAU+qB,GAASC,GAAQ;AAC5C,UAAI4B,IAAMrpB,EAAG,MAAMmD,GAAM1G,CAAI;AAE7B,eAAS6sB,EAAMlnB,GAAO;AACpB,QAAAgnB,GAAmBC,GAAK7B,GAASC,GAAQ6B,GAAOC,GAAQ,QAAQnnB,CAAK;AAAA,MACtE;AAED,eAASmnB,EAAOxnB,GAAK;AACnB,QAAAqnB,GAAmBC,GAAK7B,GAASC,GAAQ6B,GAAOC,GAAQ,SAASxnB,CAAG;AAAA,MACrE;AAED,MAAAunB,EAAM,MAAS;AAAA,IACrB,CAAK;AAAA,EACL;AACA;AClCA,SAAS7Q,KAAW;AAClB,SAAAA,KAAW,OAAO,SAAS,OAAO,OAAO,KAAI,IAAK,SAAUtP,GAAQ;AAClE,aAAShE,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AACzC,UAAI3F,IAAS,UAAU2F;AAEvB,eAAS1B,KAAOjE;AACd,QAAI,OAAO,UAAU,eAAe,KAAKA,GAAQiE,CAAG,MAClD0F,EAAO1F,KAAOjE,EAAOiE;AAAA,IAG1B;AAED,WAAO0F;AAAA,EACX,GACSsP,GAAS,MAAM,MAAM,SAAS;AACvC;AAEA,SAASgR,GAAetF,GAAUC,GAAY;AAC5C,EAAAD,EAAS,YAAY,OAAO,OAAOC,EAAW,SAAS,GACvDD,EAAS,UAAU,cAAcA,GAEjCF,GAAgBE,GAAUC,CAAU;AACtC;AAEA,SAASE,GAAgBxV,GAAG;AAC1B,SAAAwV,KAAkB,OAAO,iBAAiB,OAAO,eAAe,KAAM,IAAG,SAAyBxV,GAAG;AACnG,WAAOA,EAAE,aAAa,OAAO,eAAeA,CAAC;AAAA,EACjD,GACSwV,GAAgBxV,CAAC;AAC1B;AAEA,SAASmV,GAAgBnV,GAAGtU,GAAG;AAC7B,SAAAypB,KAAkB,OAAO,iBAAiB,OAAO,eAAe,KAAI,IAAK,SAAyBnV,GAAGtU,GAAG;AACtG,WAAAsU,EAAE,YAAYtU,GACPsU;AAAA,EACX,GACSmV,GAAgBnV,GAAGtU,CAAC;AAC7B;AAEA,SAAS+pB,KAA4B;AAEnC,MADI,OAAO,UAAY,OAAe,CAAC,QAAQ,aAC3C,QAAQ,UAAU;AAAM,WAAO;AACnC,MAAI,OAAO,SAAU;AAAY,WAAO;AAExC,MAAI;AACF,mBAAQ,UAAU,QAAQ,KAAK,QAAQ,UAAU,SAAS,CAAE,GAAE,WAAY;AAAA,IAAE,CAAA,CAAC,GACtE;AAAA,EACR,QAAC;AACA,WAAO;AAAA,EACR;AACH;AAEA,SAASmF,GAAWC,GAAQltB,GAAMmtB,GAAO;AACvC,SAAIrF,GAAyB,IAC3BmF,KAAa,QAAQ,UAAU,SAE/BA,KAAa,SAAoBC,GAAQltB,GAAMmtB,GAAO;AACpD,QAAIjvB,IAAI,CAAC,IAAI;AACb,IAAAA,EAAE,KAAK,MAAMA,GAAG8B,CAAI;AACpB,QAAIuT,IAAc,SAAS,KAAK,MAAM2Z,GAAQhvB,CAAC,GAC3CoV,IAAW,IAAIC;AACnB,WAAI4Z,KAAO3F,GAAgBlU,GAAU6Z,EAAM,SAAS,GAC7C7Z;AAAA,EACb,GAGS2Z,GAAW,MAAM,MAAM,SAAS;AACzC;AAEA,SAASG,GAAkB7pB,GAAI;AAC7B,SAAO,SAAS,SAAS,KAAKA,CAAE,EAAE,QAAQ,eAAe,MAAM;AACjE;AAEA,SAAS8pB,GAAiBF,GAAO;AAC/B,MAAInH,IAAS,OAAO,OAAQ,aAAa,oBAAI,IAAK,IAAG;AAErD,SAAAqH,KAAmB,SAA0BF,GAAO;AAClD,QAAIA,MAAU,QAAQ,CAACC,GAAkBD,CAAK;AAAG,aAAOA;AAExD,QAAI,OAAOA,KAAU;AACnB,YAAM,IAAI,UAAU,oDAAoD;AAG1E,QAAI,OAAOnH,IAAW,KAAa;AACjC,UAAIA,EAAO,IAAImH,CAAK;AAAG,eAAOnH,EAAO,IAAImH,CAAK;AAE9C,MAAAnH,EAAO,IAAImH,GAAOG,CAAO;AAAA,IAC1B;AAED,aAASA,IAAU;AACjB,aAAOL,GAAWE,GAAO,WAAWtF,GAAgB,IAAI,EAAE,WAAW;AAAA,IACtE;AAED,WAAAyF,EAAQ,YAAY,OAAO,OAAOH,EAAM,WAAW;AAAA,MACjD,aAAa;AAAA,QACX,OAAOG;AAAA,QACP,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,cAAc;AAAA,MACf;AAAA,IACP,CAAK,GACM9F,GAAgB8F,GAASH,CAAK;AAAA,EACzC,GAESE,GAAiBF,CAAK;AAC/B;AAGA,IAAII,KAAe,YACftgB,KAAU,WAAmB;;AAE7B,OAAO,UAAY,OAAe,QAAQ,OAAO,QAAQ,IAAI,aAAa,gBAAgB,OAAO,SAAW,OAAe,OAAO,WAAa,QACjJA,KAAU,SAAiBlM,GAAMysB,GAAQ;AACvC,EAAI,OAAO,UAAY,OAAe,QAAQ,QAAQ,OAAO,6BAA+B,OACtFA,EAAO,MAAM,SAAUlvB,GAAG;AAC5B,WAAO,OAAOA,KAAM;AAAA,EAC5B,CAAO,KACC,QAAQ,KAAKyC,GAAMysB,CAAM;AAGjC;AAGA,SAASC,GAAmBD,GAAQ;AAClC,MAAI,CAACA,KAAU,CAACA,EAAO;AAAQ,WAAO;AACtC,MAAI3gB,IAAS,CAAA;AACb,SAAA2gB,EAAO,QAAQ,SAAU3tB,GAAO;AAC9B,QAAI6tB,IAAQ7tB,EAAM;AAClB,IAAAgN,EAAO6gB,KAAS7gB,EAAO6gB,MAAU,CAAA,GACjC7gB,EAAO6gB,GAAO,KAAK7tB,CAAK;AAAA,EAC5B,CAAG,GACMgN;AACT;AACA,SAAS/M,GAAO6tB,GAAU;AACxB,WAAS9c,IAAO,UAAU,QAAQ7Q,IAAO,IAAI,MAAM6Q,IAAO,IAAIA,IAAO,IAAI,CAAC,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAClG,IAAA/Q,EAAK+Q,IAAO,KAAK,UAAUA;AAG7B,MAAIrI,IAAI,GACJoJ,IAAM9R,EAAK;AAEf,MAAI,OAAO2tB,KAAa;AACtB,WAAOA,EAAS,MAAM,MAAM3tB,CAAI;AAGlC,MAAI,OAAO2tB,KAAa,UAAU;AAChC,QAAI7a,IAAM6a,EAAS,QAAQJ,IAAc,SAAUtqB,GAAG;AACpD,UAAIA,MAAM;AACR,eAAO;AAGT,UAAIyF,KAAKoJ;AACP,eAAO7O;AAGT,cAAQA,GAAC;AAAA,QACP,KAAK;AACH,iBAAO,OAAOjD,EAAK0I,IAAI;AAAA,QAEzB,KAAK;AACH,iBAAO,OAAO1I,EAAK0I,IAAI;AAAA,QAEzB,KAAK;AACH,cAAI;AACF,mBAAO,KAAK,UAAU1I,EAAK0I,IAAI;AAAA,UAChC,QAAC;AACA,mBAAO;AAAA,UACR;AAED;AAAA,QAEF;AACE,iBAAOzF;AAAA,MACV;AAAA,IACP,CAAK;AACD,WAAO6P;AAAA,EACR;AAED,SAAO6a;AACT;AAEA,SAASC,GAAmB7sB,GAAM;AAChC,SAAOA,MAAS,YAAYA,MAAS,SAASA,MAAS,SAASA,MAAS,WAAWA,MAAS,UAAUA,MAAS;AAClH;AAEA,SAAS8sB,GAAaloB,GAAO5E,GAAM;AASjC,SARI,GAAuB4E,KAAU,QAIjC5E,MAAS,WAAW,MAAM,QAAQ4E,CAAK,KAAK,CAACA,EAAM,UAInDioB,GAAmB7sB,CAAI,KAAK,OAAO4E,KAAU,YAAY,CAACA;AAKhE;AAEA,SAASmoB,GAAmBjc,GAAKkc,GAAM3N,GAAU;AAC/C,MAAI4N,IAAU,CAAA,GACVC,IAAQ,GACRC,IAAYrc,EAAI;AAEpB,WAASmJ,EAAMwS,GAAQ;AACrB,IAAAQ,EAAQ,KAAK,MAAMA,GAASR,KAAU,CAAE,CAAA,GACxCS,KAEIA,MAAUC,KACZ9N,EAAS4N,CAAO;AAAA,EAEnB;AAED,EAAAnc,EAAI,QAAQ,SAAU3T,GAAG;AACvB,IAAA6vB,EAAK7vB,GAAG8c,CAAK;AAAA,EACjB,CAAG;AACH;AAEA,SAASmT,GAAiBtc,GAAKkc,GAAM3N,GAAU;AAC7C,MAAIpD,IAAQ,GACRkR,IAAYrc,EAAI;AAEpB,WAASoM,EAAKuP,GAAQ;AACpB,QAAIA,KAAUA,EAAO,QAAQ;AAC3B,MAAApN,EAASoN,CAAM;AACf;AAAA,IACD;AAED,QAAIY,IAAWpR;AACf,IAAAA,IAAQA,IAAQ,GAEZoR,IAAWF,IACbH,EAAKlc,EAAIuc,IAAWnQ,CAAI,IAExBmC,EAAS,CAAE,CAAA;AAAA,EAEd;AAED,EAAAnC,EAAK,CAAE,CAAA;AACT;AAEA,SAASoQ,GAAcC,GAAQ;AAC7B,MAAI5F,IAAM,CAAA;AACV,gBAAO,KAAK4F,CAAM,EAAE,QAAQ,SAAU3wB,GAAG;AACvC,IAAA+qB,EAAI,KAAK,MAAMA,GAAK4F,EAAO3wB,MAAM,CAAA,CAAE;AAAA,EACvC,CAAG,GACM+qB;AACT;AAEA,IAAI6F,KAAoC,yBAAUC,GAAQ;AACxD,EAAAxB,GAAeuB,GAAsBC,CAAM;AAE3C,WAASD,EAAqBf,GAAQ3gB,GAAQ;AAC5C,QAAIsZ;AAEJ,WAAAA,IAAQqI,EAAO,KAAK,MAAM,wBAAwB,KAAK,MACvDrI,EAAM,SAASqH,GACfrH,EAAM,SAAStZ,GACRsZ;AAAA,EACR;AAED,SAAOoI;AACT,EAAgB,gBAAAlB,GAAiB,KAAK,CAAC;AACvC,SAASoB,GAASH,GAAQrW,GAAQ8V,GAAM3N,GAAUrd,GAAQ;AACxD,MAAIkV,EAAO,OAAO;AAChB,QAAIyW,IAAW,IAAI,QAAQ,SAAU3D,GAASC,GAAQ;AACpD,UAAI/M,IAAO,SAAcuP,GAAQ;AAC/B,eAAApN,EAASoN,CAAM,GACRA,EAAO,SAASxC,EAAO,IAAIuD,GAAqBf,GAAQC,GAAmBD,CAAM,CAAC,CAAC,IAAIzC,EAAQhoB,CAAM;AAAA,MACpH,GAEU4rB,IAAaN,GAAcC,CAAM;AACrC,MAAAH,GAAiBQ,GAAYZ,GAAM9P,CAAI;AAAA,IAC7C,CAAK;AAED,WAAAyQ,EAAS,MAAS,SAAUpwB,GAAG;AAC7B,aAAOA;AAAA,IACb,CAAK,GAEMowB;AAAA,EACR;AAED,MAAIE,IAAc3W,EAAO,gBAAgB,KAAO,OAAO,KAAKqW,CAAM,IAAIrW,EAAO,eAAe,CAAA,GACxF4W,IAAa,OAAO,KAAKP,CAAM,GAC/BQ,IAAeD,EAAW,QAC1BZ,IAAQ,GACRD,IAAU,CAAA,GACVe,IAAU,IAAI,QAAQ,SAAUhE,GAASC,GAAQ;AACnD,QAAI/M,IAAO,SAAcuP,GAAQ;AAI/B,UAHAQ,EAAQ,KAAK,MAAMA,GAASR,CAAM,GAClCS,KAEIA,MAAUa;AACZ,eAAA1O,EAAS4N,CAAO,GACTA,EAAQ,SAAShD,EAAO,IAAIuD,GAAqBP,GAASP,GAAmBO,CAAO,CAAC,CAAC,IAAIjD,EAAQhoB,CAAM;AAAA,IAEvH;AAEI,IAAK8rB,EAAW,WACdzO,EAAS4N,CAAO,GAChBjD,EAAQhoB,CAAM,IAGhB8rB,EAAW,QAAQ,SAAU7nB,GAAK;AAChC,UAAI6K,IAAMyc,EAAOtnB;AAEjB,MAAI4nB,EAAY,QAAQ5nB,CAAG,MAAM,KAC/BmnB,GAAiBtc,GAAKkc,GAAM9P,CAAI,IAEhC6P,GAAmBjc,GAAKkc,GAAM9P,CAAI;AAAA,IAE1C,CAAK;AAAA,EACL,CAAG;AACD,SAAA8Q,EAAQ,MAAS,SAAUzwB,GAAG;AAC5B,WAAOA;AAAA,EACX,CAAG,GACMywB;AACT;AAEA,SAASC,GAAW5iB,GAAK;AACvB,SAAO,CAAC,EAAEA,KAAOA,EAAI,YAAY;AACnC;AAEA,SAAS6iB,GAAStpB,GAAOoO,GAAM;AAG7B,WAFInI,IAAIjG,GAEC+C,IAAI,GAAGA,IAAIqL,EAAK,QAAQrL,KAAK;AACpC,QAAIkD,KAAK;AACP,aAAOA;AAGT,IAAAA,IAAIA,EAAEmI,EAAKrL;AAAA,EACZ;AAED,SAAOkD;AACT;AAEA,SAASsjB,GAAgBnQ,GAAMhc,GAAQ;AACrC,SAAO,SAAUosB,GAAI;AACnB,QAAIC;AAQJ,WANIrQ,EAAK,aACPqQ,IAAaH,GAASlsB,GAAQgc,EAAK,UAAU,IAE7CqQ,IAAarsB,EAAOosB,EAAG,SAASpQ,EAAK,YAGnCiQ,GAAWG,CAAE,KACfA,EAAG,QAAQA,EAAG,SAASpQ,EAAK,WAC5BoQ,EAAG,aAAaC,GACTD,KAGF;AAAA,MACL,SAAS,OAAOA,KAAO,aAAaA,EAAI,IAAGA;AAAA,MAC3C,YAAYC;AAAA,MACZ,OAAOD,EAAG,SAASpQ,EAAK;AAAA,IAC9B;AAAA,EACA;AACA;AACA,SAASsQ,GAAU3iB,GAAQ3J,GAAQ;AACjC,MAAIA;AACF,aAASkB,KAAKlB;AACZ,UAAIA,EAAO,eAAekB,CAAC,GAAG;AAC5B,YAAI0B,IAAQ5C,EAAOkB;AAEnB,QAAI,OAAO0B,KAAU,YAAY,OAAO+G,EAAOzI,MAAO,WACpDyI,EAAOzI,KAAK+X,GAAS,CAAA,GAAItP,EAAOzI,IAAI0B,CAAK,IAEzC+G,EAAOzI,KAAK0B;AAAA,MAEf;AAAA;AAIL,SAAO+G;AACT;AAEA,IAAI4iB,KAAa,SAAkBvQ,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,GAASxuB,GAAM;AAC7E,EAAIge,EAAK,aAAa,CAAChc,EAAO,eAAegc,EAAK,KAAK,KAAK8O,GAAaloB,GAAO5E,KAAQge,EAAK,IAAI,MAC/FyO,EAAO,KAAK1tB,GAAOyvB,EAAQ,SAAS,UAAUxQ,EAAK,SAAS,CAAC;AAEjE,GAcIN,KAAa,SAAoBM,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,GAAS;AACzE,GAAI,QAAQ,KAAK5pB,CAAK,KAAKA,MAAU,OACnC6nB,EAAO,KAAK1tB,GAAOyvB,EAAQ,SAAS,YAAYxQ,EAAK,SAAS,CAAC;AAEnE,GAGIyQ,IACAC,KAAe,WAAY;AAC7B,MAAID;AACF,WAAOA;AAGT,MAAIE,IAAO,gBAEPtxB,IAAI,SAAWmxB,GAAS;AAC1B,WAAOA,KAAWA,EAAQ,oBAAoB,qBAAqBG,IAAO,WAAWA,IAAO,gBAAgB;AAAA,EAChH,GAEMC,IAAK,kGACLC,IAAQ,oBACRC,KAAM;AAAA;AAAA,OAAeD,IAAQ,aAAaA,IAAQ;AAAA,OAAqFA,IAAQ,aAAaD,IAAK,OAAOC,IAAQ;AAAA,OAAoHA,IAAQ,cAAcD,IAAK,UAAUC,IAAQ;AAAA,OAAgHA,IAAQ,iBAAiBA,IAAQ,YAAYD,IAAK,UAAUC,IAAQ;AAAA,OAA8FA,IAAQ,iBAAiBA,IAAQ,YAAYD,IAAK,UAAUC,IAAQ;AAAA,OAA8FA,IAAQ,iBAAiBA,IAAQ,YAAYD,IAAK,UAAUC,IAAQ;AAAA,OAA8FA,IAAQ,iBAAiBA,IAAQ,YAAYD,IAAK,UAAUC,IAAQ;AAAA,eAAsGA,IAAQ,YAAYD,IAAK,UAAUC,IAAQ;AAAA;AAAA,GAAsL,QAAQ,gBAAgB,EAAE,EAAE,QAAQ,OAAO,EAAE,EAAE,QAEj2CE,IAAW,IAAI,OAAO,SAASH,IAAK,YAAYE,IAAK,IAAI,GACzDE,IAAU,IAAI,OAAO,MAAMJ,IAAK,GAAG,GACnCK,IAAU,IAAI,OAAO,MAAMH,IAAK,GAAG,GAEnCI,IAAK,SAAYV,GAAS;AAC5B,WAAOA,KAAWA,EAAQ,QAAQO,IAAW,IAAI,OAAO,QAAQ1xB,EAAEmxB,CAAO,IAAII,IAAKvxB,EAAEmxB,CAAO,IAAI,UAAUnxB,EAAEmxB,CAAO,IAAIM,IAAKzxB,EAAEmxB,CAAO,IAAI,KAAK,GAAG;AAAA,EACpJ;AAEE,EAAAU,EAAG,KAAK,SAAUV,GAAS;AACzB,WAAOA,KAAWA,EAAQ,QAAQQ,IAAU,IAAI,OAAO,KAAK3xB,EAAEmxB,CAAO,IAAII,IAAKvxB,EAAEmxB,CAAO,GAAG,GAAG;AAAA,EACjG,GAEEU,EAAG,KAAK,SAAUV,GAAS;AACzB,WAAOA,KAAWA,EAAQ,QAAQS,IAAU,IAAI,OAAO,KAAK5xB,EAAEmxB,CAAO,IAAIM,IAAKzxB,EAAEmxB,CAAO,GAAG,GAAG;AAAA,EACjG;AAEE,MAAIW,IAAW,sBACXC,IAAO,wBACPC,IAAOH,EAAG,GAAE,EAAG,QACfI,IAAOJ,EAAG,GAAE,EAAG,QACfK,IAAO,iEACPC,IAAS,kEACTC,IAAM,uCACNC,IAAO,kBACP1c,IAAO,sBACP2c,IAAQ,QAAQR,IAAW,aAAaC,IAAO,kBAAkBC,IAAO,MAAMC,IAAO,MAAMC,IAAOC,IAASC,IAAM,MAAMC,IAAO1c;AAClI,SAAAyb,KAAS,IAAI,OAAO,SAASkB,IAAQ,MAAM,GAAG,GACvClB;AACT,GAIImB,KAAY;AAAA,EAEd,OAAO;AAAA,EAKP,KAAK;AACP,GACIC,KAAQ;AAAA,EACV,SAAS,SAAiBjrB,GAAO;AAC/B,WAAOirB,GAAM,OAAOjrB,CAAK,KAAK,SAASA,GAAO,EAAE,MAAMA;AAAA,EACvD;AAAA,EACD,OAAS,SAAeA,GAAO;AAC7B,WAAOirB,GAAM,OAAOjrB,CAAK,KAAK,CAACirB,GAAM,QAAQjrB,CAAK;AAAA,EACnD;AAAA,EACD,OAAO,SAAeA,GAAO;AAC3B,WAAO,MAAM,QAAQA,CAAK;AAAA,EAC3B;AAAA,EACD,QAAQ,SAAgBA,GAAO;AAC7B,QAAIA,aAAiB;AACnB,aAAO;AAGT,QAAI;AACF,aAAO,CAAC,CAAC,IAAI,OAAOA,CAAK;AAAA,IAC1B,QAAC;AACA,aAAO;AAAA,IACR;AAAA,EACF;AAAA,EACD,MAAM,SAAcA,GAAO;AACzB,WAAO,OAAOA,EAAM,WAAY,cAAc,OAAOA,EAAM,YAAa,cAAc,OAAOA,EAAM,WAAY,cAAc,CAAC,MAAMA,EAAM,QAAO,CAAE;AAAA,EACpJ;AAAA,EACD,QAAQ,SAAgBA,GAAO;AAC7B,WAAI,MAAMA,CAAK,IACN,KAGF,OAAOA,KAAU;AAAA,EACzB;AAAA,EACD,QAAQ,SAAgBA,GAAO;AAC7B,WAAO,OAAOA,KAAU,YAAY,CAACirB,GAAM,MAAMjrB,CAAK;AAAA,EACvD;AAAA,EACD,QAAQ,SAAgBA,GAAO;AAC7B,WAAO,OAAOA,KAAU;AAAA,EACzB;AAAA,EACD,OAAO,SAAeA,GAAO;AAC3B,WAAO,OAAOA,KAAU,YAAYA,EAAM,UAAU,OAAO,CAAC,CAACA,EAAM,MAAMgrB,GAAU,KAAK;AAAA,EACzF;AAAA,EACD,KAAK,SAAahrB,GAAO;AACvB,WAAO,OAAOA,KAAU,YAAYA,EAAM,UAAU,QAAQ,CAAC,CAACA,EAAM,MAAM8pB,GAAa,CAAA;AAAA,EACxF;AAAA,EACD,KAAK,SAAa9pB,GAAO;AACvB,WAAO,OAAOA,KAAU,YAAY,CAAC,CAACA,EAAM,MAAMgrB,GAAU,GAAG;AAAA,EAChE;AACH,GAEIE,KAAS,SAAc9R,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,GAAS;AAC/D,MAAIxQ,EAAK,YAAYpZ,MAAU,QAAW;AACxC,IAAA2pB,GAAWvQ,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAC/C;AAAA,EACD;AAED,MAAIuB,IAAS,CAAC,WAAW,SAAS,SAAS,UAAU,UAAU,UAAU,SAAS,UAAU,QAAQ,OAAO,KAAK,GAC5GC,IAAWhS,EAAK;AAEpB,EAAI+R,EAAO,QAAQC,CAAQ,IAAI,KACxBH,GAAMG,GAAUprB,CAAK,KACxB6nB,EAAO,KAAK1tB,GAAOyvB,EAAQ,SAAS,MAAMwB,IAAWhS,EAAK,WAAWA,EAAK,IAAI,CAAC,IAGxEgS,KAAY,OAAOprB,MAAUoZ,EAAK,QAC3CyO,EAAO,KAAK1tB,GAAOyvB,EAAQ,SAAS,MAAMwB,IAAWhS,EAAK,WAAWA,EAAK,IAAI,CAAC;AAEnF,GAEIiS,KAAQ,SAAejS,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,GAAS;AAC/D,MAAIzd,IAAM,OAAOiN,EAAK,OAAQ,UAC1BkS,IAAM,OAAOlS,EAAK,OAAQ,UAC1BmS,IAAM,OAAOnS,EAAK,OAAQ,UAE1BoS,IAAW,mCACXC,IAAMzrB,GACNqB,IAAM,MACNqqB,IAAM,OAAO1rB,KAAU,UACvBmN,IAAM,OAAOnN,KAAU,UACvBkM,IAAM,MAAM,QAAQlM,CAAK;AAa7B,MAXI0rB,IACFrqB,IAAM,WACG8L,IACT9L,IAAM,WACG6K,MACT7K,IAAM,UAMJ,CAACA;AACH,WAAO;AAGT,EAAI6K,MACFuf,IAAMzrB,EAAM,SAGVmN,MAEFse,IAAMzrB,EAAM,QAAQwrB,GAAU,GAAG,EAAE,SAGjCrf,IACEsf,MAAQrS,EAAK,OACfyO,EAAO,KAAK1tB,GAAOyvB,EAAQ,SAASvoB,GAAK,KAAK+X,EAAK,WAAWA,EAAK,GAAG,CAAC,IAEhEkS,KAAO,CAACC,KAAOE,IAAMrS,EAAK,MACnCyO,EAAO,KAAK1tB,GAAOyvB,EAAQ,SAASvoB,GAAK,KAAK+X,EAAK,WAAWA,EAAK,GAAG,CAAC,IAC9DmS,KAAO,CAACD,KAAOG,IAAMrS,EAAK,MACnCyO,EAAO,KAAK1tB,GAAOyvB,EAAQ,SAASvoB,GAAK,KAAK+X,EAAK,WAAWA,EAAK,GAAG,CAAC,IAC9DkS,KAAOC,MAAQE,IAAMrS,EAAK,OAAOqS,IAAMrS,EAAK,QACrDyO,EAAO,KAAK1tB,GAAOyvB,EAAQ,SAASvoB,GAAK,OAAO+X,EAAK,WAAWA,EAAK,KAAKA,EAAK,GAAG,CAAC;AAEvF,GAEIuS,KAAS,QAETC,KAAe,SAAoBxS,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,GAAS;AAC3E,EAAAxQ,EAAKuS,MAAU,MAAM,QAAQvS,EAAKuS,GAAO,IAAIvS,EAAKuS,MAAU,CAAA,GAExDvS,EAAKuS,IAAQ,QAAQ3rB,CAAK,MAAM,MAClC6nB,EAAO,KAAK1tB,GAAOyvB,EAAQ,SAAS+B,KAASvS,EAAK,WAAWA,EAAKuS,IAAQ,KAAK,IAAI,CAAC,CAAC;AAEzF,GAEIE,KAAY,SAAiBzS,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,GAAS;AACrE,MAAIxQ,EAAK;AACP,QAAIA,EAAK,mBAAmB;AAI1B,MAAAA,EAAK,QAAQ,YAAY,GAEpBA,EAAK,QAAQ,KAAKpZ,CAAK,KAC1B6nB,EAAO,KAAK1tB,GAAOyvB,EAAQ,SAAS,QAAQ,UAAUxQ,EAAK,WAAWpZ,GAAOoZ,EAAK,OAAO,CAAC;AAAA,aAEnF,OAAOA,EAAK,WAAY,UAAU;AAC3C,UAAI0S,IAAW,IAAI,OAAO1S,EAAK,OAAO;AAEtC,MAAK0S,EAAS,KAAK9rB,CAAK,KACtB6nB,EAAO,KAAK1tB,GAAOyvB,EAAQ,SAAS,QAAQ,UAAUxQ,EAAK,WAAWpZ,GAAOoZ,EAAK,OAAO,CAAC;AAAA,IAE7F;AAAA;AAEL,GAEIC,KAAQ;AAAA,EACV,UAAUsQ;AAAA,EACV,YAAY7Q;AAAA,EACZ,MAAMoS;AAAA,EACN,OAAOG;AAAA,EACP,MAAQO;AAAA,EACR,SAASC;AACX,GAEIE,KAAS,SAAgB3S,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AACnE,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,GAAO,QAAQ,KAAK,CAACoZ,EAAK;AACzC,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,GAAS,QAAQ,GAExD1B,GAAaloB,GAAO,QAAQ,MAC/BqZ,GAAM,KAAKD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAC/CvQ,GAAM,MAAMD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAChDvQ,GAAM,QAAQD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAE9CxQ,EAAK,eAAe,MACtBC,GAAM,WAAWD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAG1D;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEIlgB,KAAS,SAAgByR,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AACnE,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,CAAK,KAAK,CAACoZ,EAAK;AAC/B,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAE/C5pB,MAAU,UACZqZ,GAAM,KAAKD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAElD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEIoE,KAAS,SAAgB7S,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AACnE,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AAKZ,QAJIhsB,MAAU,OACZA,IAAQ,SAGNkoB,GAAaloB,CAAK,KAAK,CAACoZ,EAAK;AAC/B,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAE/C5pB,MAAU,WACZqZ,GAAM,KAAKD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAC/CvQ,GAAM,MAAMD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAEnD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEIqE,KAAW,SAAkB9S,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AACvE,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,CAAK,KAAK,CAACoZ,EAAK;AAC/B,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAE/C5pB,MAAU,UACZqZ,GAAM,KAAKD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAElD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEIsE,KAAS,SAAgB/S,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AACnE,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,CAAK,KAAK,CAACoZ,EAAK;AAC/B,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAE9C1B,GAAaloB,CAAK,KACrBqZ,GAAM,KAAKD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAElD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEIuE,KAAU,SAAiBhT,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AACrE,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,CAAK,KAAK,CAACoZ,EAAK;AAC/B,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAE/C5pB,MAAU,WACZqZ,GAAM,KAAKD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAC/CvQ,GAAM,MAAMD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAEnD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEIwE,KAAU,SAAiBjT,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AACrE,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,CAAK,KAAK,CAACoZ,EAAK;AAC/B,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAE/C5pB,MAAU,WACZqZ,GAAM,KAAKD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAC/CvQ,GAAM,MAAMD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAEnD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEIjQ,KAAQ,SAAewB,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AACjE,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAA4BhsB,KAAU,QAAS,CAACoZ,EAAK;AACnD,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,GAAS,OAAO,GAEjC5pB,KAAU,SACnCqZ,GAAM,KAAKD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAC/CvQ,GAAM,MAAMD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAEnD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEI7lB,KAAS,SAAgBoX,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AACnE,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,CAAK,KAAK,CAACoZ,EAAK;AAC/B,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAE/C5pB,MAAU,UACZqZ,GAAM,KAAKD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAElD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEIyE,KAAO,QAEPC,KAAa,SAAoBnT,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AAC3E,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,CAAK,KAAK,CAACoZ,EAAK;AAC/B,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAE/C5pB,MAAU,UACZqZ,GAAMiT,IAAMlT,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAEnD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEI7Q,KAAU,SAAiBoC,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AACrE,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,GAAO,QAAQ,KAAK,CAACoZ,EAAK;AACzC,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAE9C1B,GAAaloB,GAAO,QAAQ,KAC/BqZ,GAAM,QAAQD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAErD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEI2E,KAAO,SAAcpT,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AAE/D,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,GAAO,MAAM,KAAK,CAACoZ,EAAK;AACvC,aAAOqB,EAAQ;AAKjB,QAFApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO,GAE/C,CAAC1B,GAAaloB,GAAO,MAAM,GAAG;AAChC,UAAIysB;AAEJ,MAAIzsB,aAAiB,OACnBysB,IAAazsB,IAEbysB,IAAa,IAAI,KAAKzsB,CAAK,GAG7BqZ,GAAM,KAAKD,GAAMqT,GAAYrvB,GAAQyqB,GAAQ+B,CAAO,GAEhD6C,KACFpT,GAAM,MAAMD,GAAMqT,EAAW,QAAO,GAAIrvB,GAAQyqB,GAAQ+B,CAAO;AAAA,IAElE;AAAA,EACF;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEI6E,KAAW,SAAkBtT,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AACvE,MAAI/B,IAAS,CAAA,GACTzsB,IAAO,MAAM,QAAQ4E,CAAK,IAAI,UAAU,OAAOA;AACnD,EAAAqZ,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,GAASxuB,CAAI,GACzDqf,EAASoN,CAAM;AACjB,GAEIzsB,KAAO,SAAcge,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AAC/D,MAAIwB,IAAWhS,EAAK,MAChByO,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,GAAOorB,CAAQ,KAAK,CAAChS,EAAK;AACzC,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,GAASwB,CAAQ,GAExDlD,GAAaloB,GAAOorB,CAAQ,KAC/B/R,GAAM,KAAKD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EAElD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEI8E,KAAM,SAAavT,GAAMpZ,GAAOya,GAAUrd,GAAQwsB,GAAS;AAC7D,MAAI/B,IAAS,CAAA,GACTmE,IAAW5S,EAAK,YAAY,CAACA,EAAK,YAAYhc,EAAO,eAAegc,EAAK,KAAK;AAElF,MAAI4S,GAAU;AACZ,QAAI9D,GAAaloB,CAAK,KAAK,CAACoZ,EAAK;AAC/B,aAAOqB,EAAQ;AAGjB,IAAApB,GAAM,SAASD,GAAMpZ,GAAO5C,GAAQyqB,GAAQ+B,CAAO;AAAA,EACpD;AAED,EAAAnP,EAASoN,CAAM;AACjB,GAEI+E,KAAa;AAAA,EACf,QAAQb;AAAA,EACR,QAAQpkB;AAAA,EACR,QAAQskB;AAAA,EACR,SAAWC;AAAA,EACX,QAAQC;AAAA,EACR,SAASC;AAAA,EACT,OAASC;AAAA,EACT,OAAOzU;AAAA,EACP,QAAQ5V;AAAA,EACR,MAAQuqB;AAAA,EACR,SAASvV;AAAA,EACT,MAAMwV;AAAA,EACN,KAAKpxB;AAAA,EACL,KAAKA;AAAA,EACL,OAAOA;AAAA,EACP,UAAUsxB;AAAA,EACV,KAAKC;AACP;AAEA,SAASE,KAAc;AACrB,SAAO;AAAA,IACL,SAAW;AAAA,IACX,UAAU;AAAA,IACV,MAAQ;AAAA,IACR,YAAY;AAAA,IACZ,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,IACV;AAAA,IACD,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAW;AAAA,MACX,SAAS;AAAA,MACT,OAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,QAAQ;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,OAAO;AAAA,IACR;AAAA,IACD,QAAQ;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,OAAO;AAAA,IACR;AAAA,IACD,OAAO;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,OAAO;AAAA,IACR;AAAA,IACD,SAAS;AAAA,MACP,UAAU;AAAA,IACX;AAAA,IACD,OAAO,WAAiB;AACtB,UAAIC,IAAS,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;AAC5C,aAAAA,EAAO,QAAQ,KAAK,OACbA;AAAA,IACR;AAAA,EACL;AACA;AACA,IAAIC,KAAWF,GAAW,GAStBG,KAAsB,2BAAY;AAGpC,WAASA,EAAOlf,GAAY;AAC1B,SAAK,QAAQ,MACb,KAAK,YAAYif,IACjB,KAAK,OAAOjf,CAAU;AAAA,EACvB;AAED,MAAImf,IAASD,EAAO;AAEpB,SAAAC,EAAO,SAAS,SAAgB5T,GAAO;AACrC,QAAImH,IAAQ;AAEZ,QAAI,CAACnH;AACH,YAAM,IAAI,MAAM,yCAAyC;AAG3D,QAAI,OAAOA,KAAU,YAAY,MAAM,QAAQA,CAAK;AAClD,YAAM,IAAI,MAAM,yBAAyB;AAG3C,SAAK,QAAQ,IACb,OAAO,KAAKA,CAAK,EAAE,QAAQ,SAAUlc,GAAM;AACzC,UAAIvC,IAAOye,EAAMlc;AACjB,MAAAqjB,EAAM,MAAMrjB,KAAQ,MAAM,QAAQvC,CAAI,IAAIA,IAAO,CAACA,CAAI;AAAA,IAC5D,CAAK;AAAA,EACL,GAEEqyB,EAAO,WAAW,SAAkBC,GAAW;AAC7C,WAAIA,MACF,KAAK,YAAYxD,GAAUmD,GAAa,GAAEK,CAAS,IAG9C,KAAK;AAAA,EAChB,GAEED,EAAO,WAAW,SAAkBE,GAASzgB,GAAG0gB,GAAI;AAClD,QAAIC,IAAS;AAEb,IAAI3gB,MAAM,WACRA,IAAI,CAAA,IAGF0gB,MAAO,WACTA,IAAK,WAAc;AAAA;AAGrB,QAAIhwB,IAAS+vB,GACTvD,IAAUld,GACV+N,IAAW2S;AAOf,QALI,OAAOxD,KAAY,eACrBnP,IAAWmP,GACXA,IAAU,CAAA,IAGR,CAAC,KAAK,SAAS,OAAO,KAAK,KAAK,KAAK,EAAE,WAAW;AACpD,aAAInP,KACFA,EAAS,MAAMrd,CAAM,GAGhB,QAAQ,QAAQA,CAAM;AAG/B,aAASkwB,EAASjF,GAAS;AACzB,UAAIR,IAAS,CAAA,GACT3gB,IAAS,CAAA;AAEb,eAASqmB,EAAI50B,GAAG;AACd,YAAI,MAAM,QAAQA,CAAC,GAAG;AACpB,cAAI60B;AAEJ,UAAA3F,KAAU2F,IAAU3F,GAAQ,OAAO,MAAM2F,GAAS70B,CAAC;AAAA,QAC7D;AACU,UAAAkvB,EAAO,KAAKlvB,CAAC;AAAA,MAEhB;AAED,eAASoK,IAAI,GAAGA,IAAIslB,EAAQ,QAAQtlB;AAClC,QAAAwqB,EAAIlF,EAAQtlB,EAAE;AAGhB,MAAK8kB,EAAO,UAGV3gB,IAAS4gB,GAAmBD,CAAM,GAClCpN,EAASoN,GAAQ3gB,CAAM,KAHvBuT,EAAS,MAAMrd,CAAM;AAAA,IAKxB;AAED,QAAIwsB,EAAQ,UAAU;AACpB,UAAI6D,IAAa,KAAK;AAEtB,MAAIA,MAAeV,OACjBU,IAAaZ,GAAW,IAG1BnD,GAAU+D,GAAY7D,EAAQ,QAAQ,GACtCA,EAAQ,WAAW6D;AAAA,IACzB;AACM,MAAA7D,EAAQ,WAAW,KAAK;AAG1B,QAAI8D,IAAS,CAAA,GACTjqB,IAAOmmB,EAAQ,QAAQ,OAAO,KAAK,KAAK,KAAK;AACjD,IAAAnmB,EAAK,QAAQ,SAAU6E,GAAG;AACxB,UAAI4D,IAAMmhB,EAAO,MAAM/kB,IACnBtI,IAAQ5C,EAAOkL;AACnB,MAAA4D,EAAI,QAAQ,SAAUhE,GAAG;AACvB,YAAIkR,IAAOlR;AAqBX,QAnBI,OAAOkR,EAAK,aAAc,eACxBhc,MAAW+vB,MACb/vB,IAASiZ,GAAS,IAAIjZ,CAAM,IAG9B4C,IAAQ5C,EAAOkL,KAAK8Q,EAAK,UAAUpZ,CAAK,IAGtC,OAAOoZ,KAAS,aAClBA,IAAO;AAAA,UACL,WAAWA;AAAA,QACvB,IAEUA,IAAO/C,GAAS,IAAI+C,CAAI,GAI1BA,EAAK,YAAYiU,EAAO,oBAAoBjU,CAAI,GAE3CA,EAAK,cAIVA,EAAK,QAAQ9Q,GACb8Q,EAAK,YAAYA,EAAK,aAAa9Q,GACnC8Q,EAAK,OAAOiU,EAAO,QAAQjU,CAAI,GAC/BsU,EAAOplB,KAAKolB,EAAOplB,MAAM,CAAA,GACzBolB,EAAOplB,GAAG,KAAK;AAAA,UACb,MAAM8Q;AAAA,UACN,OAAOpZ;AAAA,UACP,QAAQ5C;AAAA,UACR,OAAOkL;AAAA,QACjB,CAAS;AAAA,MACT,CAAO;AAAA,IACP,CAAK;AACD,QAAIqlB,IAAc,CAAA;AAClB,WAAO7E,GAAS4E,GAAQ9D,GAAS,SAAUgE,GAAMC,GAAM;AACrD,UAAIzU,IAAOwU,EAAK,MACZE,KAAQ1U,EAAK,SAAS,YAAYA,EAAK,SAAS,aAAa,OAAOA,EAAK,UAAW,YAAY,OAAOA,EAAK,gBAAiB;AACjI,MAAA0U,IAAOA,MAAS1U,EAAK,YAAY,CAACA,EAAK,YAAYwU,EAAK,QACxDxU,EAAK,QAAQwU,EAAK;AAElB,eAASG,EAAa1sB,GAAK2sB,GAAQ;AACjC,eAAO3X,GAAS,CAAE,GAAE2X,GAAQ;AAAA,UAC1B,WAAW5U,EAAK,YAAY,MAAM/X;AAAA,UAClC,YAAY+X,EAAK,aAAa,CAAA,EAAG,OAAOA,EAAK,YAAY,CAAC/X,CAAG,CAAC,IAAI,CAACA,CAAG;AAAA,QAChF,CAAS;AAAA,MACF;AAED,eAAS4sB,EAAGt1B,GAAG;AACb,QAAIA,MAAM,WACRA,IAAI,CAAA;AAGN,YAAIu1B,IAAY,MAAM,QAAQv1B,CAAC,IAAIA,IAAI,CAACA,CAAC;AAEzC,QAAI,CAACixB,EAAQ,mBAAmBsE,EAAU,UACxClB,EAAO,QAAQ,oBAAoBkB,CAAS,GAG1CA,EAAU,UAAU9U,EAAK,YAAY,WACvC8U,IAAY,CAAA,EAAG,OAAO9U,EAAK,OAAO;AAIpC,YAAI+U,IAAeD,EAAU,IAAI3E,GAAgBnQ,GAAMhc,CAAM,CAAC;AAE9D,YAAIwsB,EAAQ,SAASuE,EAAa;AAChC,iBAAAR,EAAYvU,EAAK,SAAS,GACnByU,EAAKM,CAAY;AAG1B,YAAI,CAACL;AACH,UAAAD,EAAKM,CAAY;AAAA,aACZ;AAIL,cAAI/U,EAAK,YAAY,CAACwU,EAAK;AACzB,mBAAIxU,EAAK,YAAY,SACnB+U,IAAe,CAAE,EAAC,OAAO/U,EAAK,OAAO,EAAE,IAAImQ,GAAgBnQ,GAAMhc,CAAM,CAAC,IAC/DwsB,EAAQ,UACjBuE,IAAe,CAACvE,EAAQ,MAAMxQ,GAAMjf,GAAOyvB,EAAQ,SAAS,UAAUxQ,EAAK,KAAK,CAAC,CAAC,IAG7EyU,EAAKM,CAAY;AAG1B,cAAIC,IAAe,CAAA;AAEnB,UAAIhV,EAAK,gBACP,OAAO,KAAKwU,EAAK,KAAK,EAAE,IAAI,SAAUvsB,GAAK;AACzC,YAAA+sB,EAAa/sB,KAAO+X,EAAK;AAAA,UACvC,CAAa,GAGHgV,IAAe/X,GAAS,IAAI+X,GAAcR,EAAK,KAAK,MAAM;AAC1D,cAAIS,IAAoB,CAAA;AACxB,iBAAO,KAAKD,CAAY,EAAE,QAAQ,SAAUrG,GAAO;AACjD,gBAAIuG,IAAcF,EAAarG,IAC3BwG,IAAkB,MAAM,QAAQD,CAAW,IAAIA,IAAc,CAACA,CAAW;AAC7E,YAAAD,EAAkBtG,KAASwG,EAAgB,IAAIR,EAAa,KAAK,MAAMhG,CAAK,CAAC;AAAA,UACzF,CAAW;AACD,cAAIiG,IAAS,IAAIhB,EAAOqB,CAAiB;AACzC,UAAAL,EAAO,SAASpE,EAAQ,QAAQ,GAE5BgE,EAAK,KAAK,YACZA,EAAK,KAAK,QAAQ,WAAWhE,EAAQ,UACrCgE,EAAK,KAAK,QAAQ,QAAQhE,EAAQ,QAGpCoE,EAAO,SAASJ,EAAK,OAAOA,EAAK,KAAK,WAAWhE,GAAS,SAAU4E,GAAM;AACxE,gBAAIC,IAAc,CAAA;AAElB,YAAIN,KAAgBA,EAAa,UAC/BM,EAAY,KAAK,MAAMA,GAAaN,CAAY,GAG9CK,KAAQA,EAAK,UACfC,EAAY,KAAK,MAAMA,GAAaD,CAAI,GAG1CX,EAAKY,EAAY,SAASA,IAAc,IAAI;AAAA,UACxD,CAAW;AAAA,QACF;AAAA,MACF;AAED,UAAIC;AAEJ,UAAItV,EAAK;AACP,QAAAsV,IAAMtV,EAAK,eAAeA,GAAMwU,EAAK,OAAOK,GAAIL,EAAK,QAAQhE,CAAO;AAAA,eAC3DxQ,EAAK,WAAW;AACzB,YAAI;AACF,UAAAsV,IAAMtV,EAAK,UAAUA,GAAMwU,EAAK,OAAOK,GAAIL,EAAK,QAAQhE,CAAO;AAAA,QAChE,SAAQ1vB,GAAP;AACA,kBAAQ,SAAS,QAAgB,QAAQ,MAAMA,CAAK,GAE/C0vB,EAAQ,0BACX,WAAW,WAAY;AACrB,kBAAM1vB;AAAA,UACP,GAAE,CAAC,GAGN+zB,EAAG/zB,EAAM,OAAO;AAAA,QACjB;AAED,QAAIw0B,MAAQ,KACVT,MACSS,MAAQ,KACjBT,EAAG,OAAO7U,EAAK,WAAY,aAAaA,EAAK,QAAQA,EAAK,aAAaA,EAAK,KAAK,IAAIA,EAAK,YAAYA,EAAK,aAAaA,EAAK,SAAS,QAAQ,IACrIsV,aAAe,QACxBT,EAAGS,CAAG,IACGA,aAAe,SACxBT,EAAGS,EAAI,OAAO;AAAA,MAEjB;AAED,MAAIA,KAAOA,EAAI,QACbA,EAAI,KAAK,WAAY;AACnB,eAAOT,EAAE;AAAA,MACV,GAAE,SAAUt1B,GAAG;AACd,eAAOs1B,EAAGt1B,CAAC;AAAA,MACrB,CAAS;AAAA,IAEJ,GAAE,SAAU0vB,GAAS;AACpB,MAAAiF,EAASjF,CAAO;AAAA,IACjB,GAAEjrB,CAAM;AAAA,EACb,GAEE6vB,EAAO,UAAU,SAAiB7T,GAAM;AAKtC,QAJIA,EAAK,SAAS,UAAaA,EAAK,mBAAmB,WACrDA,EAAK,OAAO,YAGV,OAAOA,EAAK,aAAc,cAAcA,EAAK,QAAQ,CAACwT,GAAW,eAAexT,EAAK,IAAI;AAC3F,YAAM,IAAI,MAAMjf,GAAO,wBAAwBif,EAAK,IAAI,CAAC;AAG3D,WAAOA,EAAK,QAAQ;AAAA,EACxB,GAEE6T,EAAO,sBAAsB,SAA6B7T,GAAM;AAC9D,QAAI,OAAOA,EAAK,aAAc;AAC5B,aAAOA,EAAK;AAGd,QAAI3V,IAAO,OAAO,KAAK2V,CAAI,GACvBuV,IAAelrB,EAAK,QAAQ,SAAS;AAMzC,WAJIkrB,MAAiB,MACnBlrB,EAAK,OAAOkrB,GAAc,CAAC,GAGzBlrB,EAAK,WAAW,KAAKA,EAAK,OAAO,aAC5BmpB,GAAW,WAGbA,GAAW,KAAK,QAAQxT,CAAI,MAAM;AAAA,EAC7C,GAES4T;AACT;AAEAA,GAAO,WAAW,SAAkB5xB,GAAMwzB,GAAW;AACnD,MAAI,OAAOA,KAAc;AACvB,UAAM,IAAI,MAAM,kEAAkE;AAGpF,EAAAhC,GAAWxxB,KAAQwzB;AACrB;AAEA5B,GAAO,UAAU1lB;AACjB0lB,GAAO,WAAWD;AAClBC,GAAO,aAAaJ;AC7yCpB,IAAIiC,KAAe,oCACRC,KAA0B;AAAA,EACnC,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,EACV;AAAA,EACD,OAAO;AAAA,IACL,QAAQD;AAAAA,IACR,QAAQA;AAAAA,IACR,OAAOA;AAAAA,IACP,QAAQA;AAAAA,IACR,QAAQA;AAAAA,IACR,MAAMA;AAAAA,IACN,SAASA;AAAAA,IACT,SAASA;AAAAA,IACT,OAAOA;AAAAA,IACP,QAAQA;AAAAA,IACR,OAAOA;AAAAA,IACP,KAAKA;AAAAA,IACL,KAAKA;AAAAA,EACN;AAAA,EACD,QAAQ;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EACD,QAAQ;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EACD,OAAO;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EACD,SAAS;AAAA,IACP,UAAU;AAAA,EACX;AACH;AC/Ce,SAASE,GAAIC,GAAQ5gB,GAAM;AAGxC,WAFI6gB,IAAUD,GAELjsB,IAAI,GAAGA,IAAIqL,EAAK,QAAQrL,KAAK,GAAG;AACvC,QAAIksB,KAAY;AACd;AAGF,IAAAA,IAAUA,EAAQ7gB,EAAKrL;AAAA,EACxB;AAED,SAAOksB;AACT;ACRe,SAASC,GAAShjB,GAAK;AACpC,SAAO8D,GAAe9D,CAAG,KAAKa,GAAgBb,CAAG,KAAKc,GAA2Bd,CAAG,KAAKgE;AAC3F;ACDA,SAASif,GAAYH,GAAQI,GAAOpvB,GAAOqvB,GAAmB;AAC5D,MAAI,CAACD,EAAM;AACT,WAAOpvB;AAGT,MAAIsvB,IAASJ,GAASE,CAAK,GACvBhhB,IAAOkhB,EAAO,IACdC,IAAWD,EAAO,MAAM,CAAC,GAEzBnoB;AAEJ,SAAI,CAAC6nB,KAAU,OAAO5gB,KAAS,WAC7BjH,IAAQ,CAAA,IACC,MAAM,QAAQ6nB,CAAM,IAC7B7nB,IAAQ0F,GAAmBmiB,CAAM,IAEjC7nB,IAAQC,EAAc,IAAI4nB,CAAM,GAI9BK,KAAqBrvB,MAAU,UAAauvB,EAAS,WAAW,IAClE,OAAOpoB,EAAMiH,GAAMmhB,EAAS,MAE5BpoB,EAAMiH,KAAQ+gB,GAAYhoB,EAAMiH,IAAOmhB,GAAUvvB,GAAOqvB,CAAiB,GAGpEloB;AACT;AAEe,SAASqoB,GAAIR,GAAQI,GAAOpvB,GAAO;AAChD,MAAIqvB,IAAoB,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAG5F,SAAID,EAAM,UAAUC,KAAqBrvB,MAAU,UAAa,CAAC+uB,GAAIC,GAAQI,EAAM,MAAM,GAAG,EAAE,CAAC,IACtFJ,IAGFG,GAAYH,GAAQI,GAAOpvB,GAAOqvB,CAAiB;AAC5D;ACzCA,SAASI,GAAUhE,GAAK;AACtB,SAAI,MAAM,QAAQA,CAAG,IACZiE,GAAejE,CAAG,IAChBxjB,GAAQwjB,CAAG,MAAM,YAAYA,MAAQ,OACvCkE,GAAgBlE,CAAG,IAGrBA;AACT;AAEA,SAASkE,GAAgBlE,GAAK;AAC5B,MAAI,OAAO,eAAeA,CAAG,MAAM,OAAO,WAAW;AACnD,QAAIiD,IAAM,CAAA;AAEV,aAASrtB,KAAOoqB;AACd,MAAAiD,EAAIrtB,KAAOouB,GAAUhE,EAAIpqB,EAAI;AAG/B,WAAOqtB;AAAA,EACR;AAED,SAAOjD;AACT;AAEA,SAASiE,GAAejE,GAAK;AAC3B,SAAOA,EAAI,IAAI,SAAU7wB,GAAM;AAC7B,WAAO60B,GAAU70B,CAAI;AAAA,EACzB,CAAG;AACH;ACfO,SAASg1B,GAAYxhB,GAAM;AAChC,SAAO0U,GAAQ1U,CAAI;AACrB;AACO,SAASkb,GAASuG,GAAOC,GAAU;AACxC,MAAI9vB,IAAQ+uB,GAAIc,GAAOC,CAAQ;AAC/B,SAAO9vB;AACT;AACO,SAAS+vB,GAASF,GAAOC,GAAU9vB,GAAO;AAC/C,MAAIqvB,IAAoB,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,IACxFW,IAAWR,GAAIK,GAAOC,GAAU9vB,GAAOqvB,CAAiB;AAC5D,SAAOW;AACT;AACO,SAASC,GAAoBJ,GAAOK,GAAc;AACvD,MAAIF,IAAW,CAAA;AACf,SAAAE,EAAa,QAAQ,SAAUJ,GAAU;AACvC,QAAI9vB,IAAQspB,GAASuG,GAAOC,CAAQ;AACpC,IAAAE,IAAWD,GAASC,GAAUF,GAAU9vB,CAAK;AAAA,EACjD,CAAG,GACMgwB;AACT;AACO,SAASG,GAAiBD,GAAcJ,GAAU;AACvD,SAAOI,KAAgBA,EAAa,KAAK,SAAU9hB,GAAM;AACvD,WAAOgiB,GAAchiB,GAAM0hB,CAAQ;AAAA,EACvC,CAAG;AACH;AAEA,SAASO,GAAS5pB,GAAK;AACrB,SAAOwB,GAAQxB,CAAG,MAAM,YAAYA,MAAQ,QAAQ,OAAO,eAAeA,CAAG,MAAM,OAAO;AAC5F;AAOA,SAAS6pB,GAAkBT,GAAOxwB,GAAQ;AACxC,MAAI2wB,IAAW,MAAM,QAAQH,CAAK,IAAIhjB,GAAmBgjB,CAAK,IAAIzoB,EAAc,CAAE,GAAEyoB,CAAK;AAEzF,SAAKxwB,KAIL,OAAO,KAAKA,CAAM,EAAE,QAAQ,SAAUgC,GAAK;AACzC,QAAIgN,IAAY2hB,EAAS3uB,IACrBrB,IAAQX,EAAOgC,IAEfkvB,IAAYF,GAAShiB,CAAS,KAAKgiB,GAASrwB,CAAK;AACrD,IAAAgwB,EAAS3uB,KAAOkvB,IAAYD,GAAkBjiB,GAAWrO,KAAS,EAAE,IAAIyvB,GAAUzvB,CAAK;AAAA,EAC3F,CAAG,GACMgwB;AACT;AAEO,SAASQ,GAAUX,GAAO;AAC/B,WAAS3kB,IAAO,UAAU,QAAQulB,IAAa,IAAI,MAAMvlB,IAAO,IAAIA,IAAO,IAAI,CAAC,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AACxG,IAAAqlB,EAAWrlB,IAAO,KAAK,UAAUA;AAGnC,SAAOqlB,EAAW,OAAO,SAAUxB,GAASe,GAAU;AACpD,WAAOM,GAAkBrB,GAASe,CAAQ;AAAA,EAC3C,GAAEH,CAAK;AACV;AACO,SAASO,GAAcN,GAAUY,GAAiB;AACvD,SAAI,CAACZ,KAAY,CAACY,KAAmBZ,EAAS,WAAWY,EAAgB,SAChE,KAGFZ,EAAS,MAAM,SAAUa,GAAU5tB,GAAG;AAC3C,WAAO2tB,EAAgB3tB,OAAO4tB;AAAA,EAClC,CAAG;AACH;AACO,SAASC,GAAUxzB,GAAQ2J,GAAQ;AACxC,MAAI3J,MAAW2J;AACb,WAAO;AAOT,MAJI,CAAC3J,KAAU2J,KAAU3J,KAAU,CAAC2J,KAIhC,CAAC3J,KAAU,CAAC2J,KAAUkB,GAAQ7K,CAAM,MAAM,YAAY6K,GAAQlB,CAAM,MAAM;AAC5E,WAAO;AAGT,MAAIuG,IAAa,OAAO,KAAKlQ,CAAM,GAC/ByzB,IAAa,OAAO,KAAK9pB,CAAM,GAC/BtD,IAAO,IAAI,IAAI,CAAA,EAAG,OAAO6J,GAAYujB,CAAU,CAAC;AACpD,SAAOhkB,GAAmBpJ,CAAI,EAAE,MAAM,SAAUpC,GAAK;AACnD,QAAIyvB,IAAc1zB,EAAOiE,IACrB0vB,IAAchqB,EAAO1F;AAEzB,WAAI,OAAOyvB,KAAgB,cAAc,OAAOC,KAAgB,aACvD,KAGFD,MAAgBC;AAAA,EAC3B,CAAG;AACH;AACO,SAASC,GAAyBC,GAAe;AACtD,MAAIC,IAAQ,UAAU,UAAU,IAAI,SAAY,UAAU;AAE1D,SAAIA,KAASA,EAAM,UAAUjpB,GAAQipB,EAAM,MAAM,MAAM,YAAYD,KAAiBC,EAAM,SACjFA,EAAM,OAAOD,KAGfC;AACT;AAYO,SAASC,GAAKvZ,GAAOwZ,GAAWC,GAAS;AAC9C,MAAItZ,IAASH,EAAM;AAEnB,MAAIwZ,IAAY,KAAKA,KAAarZ,KAAUsZ,IAAU,KAAKA,KAAWtZ;AACpE,WAAOH;AAGT,MAAIhd,IAAOgd,EAAMwZ,IACbE,IAAOF,IAAYC;AAEvB,SAAIC,IAAO,IAEF,GAAG,OAAOzkB,GAAmB+K,EAAM,MAAM,GAAGyZ,CAAO,CAAC,GAAG,CAACz2B,CAAI,GAAGiS,GAAmB+K,EAAM,MAAMyZ,GAASD,CAAS,CAAC,GAAGvkB,GAAmB+K,EAAM,MAAMwZ,IAAY,GAAGrZ,CAAM,CAAC,CAAC,IAG/KuZ,IAAO,IAEF,GAAG,OAAOzkB,GAAmB+K,EAAM,MAAM,GAAGwZ,CAAS,CAAC,GAAGvkB,GAAmB+K,EAAM,MAAMwZ,IAAY,GAAGC,IAAU,CAAC,CAAC,GAAG,CAACz2B,CAAI,GAAGiS,GAAmB+K,EAAM,MAAMyZ,IAAU,GAAGtZ,CAAM,CAAC,CAAC,IAGpLH;AACT;AC9IA,IAAI2Z,KAAiBC;AAMrB,SAASC,GAAezJ,GAAU0J,GAAI;AACpC,SAAO1J,EAAS,QAAQ,cAAc,SAAU7a,GAAK;AACnD,QAAI9L,IAAM8L,EAAI,MAAM,GAAG,EAAE;AACzB,WAAOukB,EAAGrwB;AAAA,EACd,CAAG;AACH;AAEA,IAAIswB,KAAmB;AAEvB,SAASC,GAAaC,GAAIC,GAAKC,GAAKC,GAAKC,GAAK;AAC5C,SAAOC,GAAc,MAAM,MAAM,SAAS;AAC5C;AAOA,SAASA,KAAgB;AACvB,SAAAA,KAAgB9K,GAAgC,gBAAAjE,GAAqB,EAAC,KAAK,SAASgP,EAASh1B,GAAM6C,GAAOoZ,GAAMwQ,GAASwI,GAAkB;AACzI,QAAIC,GAAWC,GAAiBC,GAAc3D,GAAW7B,GAAUrM,GAAQ8R,GAAYd,GAAIe;AAC3F,WAAOtP,GAAmB,EAAG,KAAK,SAAmBuP,GAAW;AAC9D;AACE,gBAAQA,EAAU,OAAOA,EAAU,MAAI;AAAA,UACrC,KAAK;AACH,mBAAAL,IAAYjrB,EAAc,IAAIgS,CAAI,GAIlC,OAAOiZ,EAAU,WAEbA,EAAU,cACZC,IAAkBD,EAAU,WAE5BA,EAAU,YAAY,WAAY;AAChC,kBAAI;AACF,uBAAOC,EAAgB,MAAM,QAAQ,SAAS;AAAA,cAC/C,SAAQp4B,GAAP;AACA,+BAAQ,MAAMA,CAAK,GACZ,QAAQ,OAAOy3B,EAAgB;AAAA,cACvC;AAAA,YACjB,IAIYY,IAAe,MAEXF,KAAaA,EAAU,SAAS,WAAWA,EAAU,iBACvDE,IAAeF,EAAU,cACzB,OAAOA,EAAU,eAGnBzD,IAAY,IAAI2C,GAAe/qB,EAAgB,CAAA,GAAIrJ,GAAM,CAACk1B,CAAS,CAAC,CAAC,GACrEtF,IAAWyD,GAAU,CAAE,GAAE1B,IAAyBlF,EAAQ,gBAAgB,GAC1EgF,EAAU,SAAS7B,CAAQ,GAC3BrM,IAAS,CAAA,GACTgS,EAAU,OAAO,GACjBA,EAAU,OAAO,IACV,QAAQ,QAAQ9D,EAAU,SAASpoB,EAAgB,CAAE,GAAErJ,GAAM6C,CAAK,GAAGoH,EAAc,CAAE,GAAEwiB,CAAO,CAAC,CAAC;AAAA,UAEzG,KAAK;AACH,YAAA8I,EAAU,OAAO;AACjB;AAAA,UAEF,KAAK;AACH,YAAAA,EAAU,OAAO,IACjBA,EAAU,KAAKA,EAAU,MAAS,CAAC,GAE/BA,EAAU,GAAG,WACfhS,IAASgS,EAAU,GAAG,OAAO,IAAI,SAAUhhB,GAAO2F,GAAO;AACvD,kBAAI7P,IAAUkK,EAAM,SAChBihB,IAAgBnrB,MAAYmqB,KAAmB5E,EAAS,UAAUvlB;AACtE,qBAAoB,gBAAA1O,EAAM,eAAe65B,CAAa,IAGtD,gBAAA75B,EAAM,aAAa65B,GAAe;AAAA,gBAChC,KAAK,SAAS,OAAOtb,CAAK;AAAA,cAC3B,CAAA,IAAIsb;AAAA,YACrB,CAAe;AAAA,UAGL,KAAK;AACH,gBAAI,EAAE,CAACjS,EAAO,UAAU6R,IAAe;AACrC,cAAAG,EAAU,OAAO;AACjB;AAAA,YACD;AAED,mBAAAA,EAAU,OAAO,IACV,QAAQ,IAAI1yB,EAAM,IAAI,SAAU4yB,GAAU7vB,GAAG;AAClD,qBAAO6uB,GAAa,GAAG,OAAOz0B,GAAM,GAAG,EAAE,OAAO4F,CAAC,GAAG6vB,GAAUL,GAAc3I,GAASwI,CAAgB;AAAA,YACtG,CAAA,CAAC;AAAA,UAEJ,KAAK;AACH,mBAAAI,IAAaE,EAAU,MAChBA,EAAU,OAAO,UAAUF,EAAW,OAAO,SAAUna,GAAMwP,GAAQ;AAC1E,qBAAO,CAAA,EAAG,OAAOhb,GAAmBwL,CAAI,GAAGxL,GAAmBgb,CAAM,CAAC;AAAA,YACnF,GAAe,CAAA,CAAE,CAAC;AAAA,UAER,KAAK;AAEH,mBAAA6J,IAAKtqB,EAAcA,EAAc,CAAE,GAAEgS,CAAI,GAAG,CAAA,GAAI;AAAA,cAC9C,MAAMjc;AAAA,cACN,OAAOic,EAAK,QAAQ,CAAA,GAAI,KAAK,IAAI;AAAA,YAClC,GAAEgZ,CAAgB,GACnBK,IAAqB/R,EAAO,IAAI,SAAUxmB,GAAO;AAC/C,qBAAI,OAAOA,KAAU,WACZu3B,GAAev3B,GAAOw3B,CAAE,IAG1Bx3B;AAAA,YACrB,CAAa,GACMw4B,EAAU,OAAO,UAAUD,CAAkB;AAAA,UAEtD,KAAK;AAAA,UACL,KAAK;AACH,mBAAOC,EAAU;QACpB;AAAA,IAET,GAAOP,GAAU,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,EAC7B,CAAA,CAAC,GACKD,GAAc,MAAM,MAAM,SAAS;AAC5C;AAEO,SAASW,GAAc/C,GAAU9vB,GAAOqZ,GAAOuQ,GAASkJ,GAAeV,GAAkB;AAC9F,MAAIj1B,IAAO2yB,EAAS,KAAK,GAAG,GAExBiD,IAAc1Z,EAAM,IAAI,SAAU2Z,GAAaC,GAAW;AAC5D,QAAIC,IAAsBF,EAAY,WAElCX,IAAYjrB,EAAcA,EAAc,CAAA,GAAI4rB,CAAW,GAAG,IAAI;AAAA,MAChE,WAAWC;AAAA,IACjB,CAAK;AAGD,WAAIC,MACFb,EAAU,YAAY,SAAUjZ,GAAMqS,GAAKhR,GAAU;AACnD,UAAI0Y,IAAa,IAEbC,IAAkB,WAA2B;AAC/C,iBAASloB,IAAO,UAAU,QAAQ7Q,IAAO,IAAI,MAAM6Q,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,UAAA/Q,EAAK+Q,KAAQ,UAAUA;AAIzB,gBAAQ,UAAU,KAAK,WAAY;AACjC9D,UAAAA,GAAQ,CAAC6rB,GAAY,mFAAmF,GAEnGA,KACH1Y,EAAS,MAAM,QAAQpgB,CAAI;AAAA,QAEzC,CAAW;AAAA,MACX,GAGYg5B,IAAUH,EAAoB9Z,GAAMqS,GAAK2H,CAAe;AAC5D,MAAAD,IAAaE,KAAW,OAAOA,EAAQ,QAAS,cAAc,OAAOA,EAAQ,SAAU,YAMvF/rB,GAAQ6rB,GAAY,4DAA4D,GAE5EA,KACFE,EAAQ,KAAK,WAAY;AACvB,QAAA5Y;MACZ,CAAW,EAAE,MAAM,SAAU9a,GAAK;AACtB,QAAA8a,EAAS9a,KAAO,GAAG;AAAA,MAC/B,CAAW;AAAA,IAEX,IAGW0yB;AAAA,EACR,CAAA,EAAE,KAAK,SAAUnhB,GAAMC,GAAO;AAC7B,QAAImiB,IAAKpiB,EAAK,aACVqiB,IAAKriB,EAAK,WACVsiB,IAAKriB,EAAM,aACXsiB,IAAKtiB,EAAM;AAEf,WAAI,CAAC,CAACmiB,KAAO,CAAC,CAACE,IAEND,IAAKE,IAGVH,IACK,IAGF;AAAA,EACX,CAAG,GAEGI;AAEJ,MAAIZ,MAAkB;AAEpB,IAAAY,IAAiB,IAAI,QAAsB,2BAAY;AACrD,UAAIjiB,IAAQ2V,GAAgC,gBAAAjE,GAAqB,EAAC,KAAK,SAASwQ,EAAQvO,GAASC,GAAQ;AACvG,YAAItiB,GAAGqW,GAAMyO;AACb,eAAO1E,GAAmB,EAAG,KAAK,SAAkBje,GAAU;AAC5D;AACE,oBAAQA,EAAS,OAAOA,EAAS,MAAI;AAAA,cACnC,KAAK;AACH,gBAAAnC,IAAI;AAAA,cAEN,KAAK;AACH,oBAAI,EAAEA,IAAIgwB,EAAY,SAAS;AAC7B,kBAAA7tB,EAAS,OAAO;AAChB;AAAA,gBACD;AAED,uBAAAkU,IAAO2Z,EAAYhwB,IACnBmC,EAAS,OAAO,GACT0sB,GAAaz0B,GAAM6C,GAAOoZ,GAAMwQ,GAASwI,CAAgB;AAAA,cAElE,KAAK;AAGH,oBAFAvK,IAAS3iB,EAAS,MAEd,CAAC2iB,EAAO,QAAQ;AAClB,kBAAA3iB,EAAS,OAAO;AAChB;AAAA,gBACD;AAED,uBAAAmgB,EAAO,CAAC;AAAA,kBACN,QAAQwC;AAAA,kBACR,MAAMzO;AAAA,gBACP,CAAA,CAAC,GACKlU,EAAS,OAAO,QAAQ;AAAA,cAEjC,KAAK;AACH,gBAAAnC,KAAK,GACLmC,EAAS,OAAO;AAChB;AAAA,cAEF,KAAK;AAEH,gBAAAkgB,EAAQ,CAAE,CAAA;AAAA,cAEZ,KAAK;AAAA,cACL,KAAK;AACH,uBAAOlgB,EAAS;YACnB;AAAA,QAEJ,GAAEyuB,CAAO;AAAA,MACX,CAAA,CAAC;AAEF,aAAO,SAAUC,GAAKC,GAAK;AACzB,eAAOpiB,EAAM,MAAM,MAAM,SAAS;AAAA,MAC1C;AAAA,IACK,EAAA,CAAE;AAAA,OACE;AAEL,QAAIqiB,IAAef,EAAY,IAAI,SAAU3Z,GAAM;AACjD,aAAOwY,GAAaz0B,GAAM6C,GAAOoZ,GAAMwQ,GAASwI,CAAgB,EAAE,KAAK,SAAUvK,GAAQ;AACvF,eAAO;AAAA,UACL,QAAQA;AAAA,UACR,MAAMzO;AAAA,QAChB;AAAA,MACA,CAAO;AAAA,IACP,CAAK;AACD,IAAAsa,KAAkBZ,IAAgBiB,GAAoBD,CAAY,IAAIE,GAAkBF,CAAY,GAAG,KAAK,SAAUjM,GAAQ;AAE5H,aAAO,QAAQ,OAAOA,CAAM;AAAA,IAClC,CAAK;AAAA,EACF;AAGD,SAAA6L,EAAe,MAAM,SAAU/6B,GAAG;AAChC,WAAOA;AAAA,EACX,CAAG,GACM+6B;AACT;AAEA,SAASM,GAAkBC,GAAK;AAC9B,SAAOC,GAAmB,MAAM,MAAM,SAAS;AACjD;AAEA,SAASA,KAAqB;AAC5B,SAAAA,KAAqB9M,GAAgC,gBAAAjE,GAAmB,EAAG,KAAK,SAASgR,EAASL,GAAc;AAC9G,WAAO3Q,GAAmB,EAAG,KAAK,SAAmBiR,GAAW;AAC9D;AACE,gBAAQA,EAAU,OAAOA,EAAU,MAAI;AAAA,UACrC,KAAK;AACH,mBAAOA,EAAU,OAAO,UAAU,QAAQ,IAAIN,CAAY,EAAE,KAAK,SAAUO,GAAY;AACrF,kBAAIC,GAEAzM,KAAUyM,IAAQ,IAAI,OAAO,MAAMA,GAAOznB,GAAmBwnB,CAAU,CAAC;AAE5E,qBAAOxM;AAAA,YACR,CAAA,CAAC;AAAA,UAEJ,KAAK;AAAA,UACL,KAAK;AACH,mBAAOuM,EAAU;QACpB;AAAA,IAEJ,GAAED,CAAQ;AAAA,EACZ,CAAA,CAAC,GACKD,GAAmB,MAAM,MAAM,SAAS;AACjD;AAEA,SAASH,GAAoBQ,GAAK;AAChC,SAAOC,GAAqB,MAAM,MAAM,SAAS;AACnD;AAEA,SAASA,KAAuB;AAC9B,SAAAA,KAAuBpN,GAAgC,gBAAAjE,GAAmB,EAAG,KAAK,SAASsR,EAASX,GAAc;AAChH,QAAIze;AACJ,WAAO8N,GAAmB,EAAG,KAAK,SAAmBuR,GAAW;AAC9D;AACE,gBAAQA,EAAU,OAAOA,EAAU,MAAI;AAAA,UACrC,KAAK;AACH,mBAAArf,IAAQ,GACDqf,EAAU,OAAO,UAAU,IAAI,QAAQ,SAAUtP,GAAS;AAC/D,cAAA0O,EAAa,QAAQ,SAAUT,GAAS;AACtC,gBAAAA,EAAQ,KAAK,SAAUsB,GAAW;AAChC,kBAAIA,EAAU,OAAO,UACnBvP,EAAQ,CAACuP,CAAS,CAAC,GAGrBtf,KAAS,GAELA,MAAUye,EAAa,UACzB1O,EAAQ,CAAE,CAAA;AAAA,gBAE9B,CAAiB;AAAA,cACjB,CAAe;AAAA,YACF,CAAA,CAAC;AAAA,UAEJ,KAAK;AAAA,UACL,KAAK;AACH,mBAAOsP,EAAU;QACpB;AAAA,IAEJ,GAAED,CAAQ;AAAA,EACZ,CAAA,CAAC,GACKD,GAAqB,MAAM,MAAM,SAAS;AACnD;ACxVA,IAAII,KAAY,CAAC,MAAM,GAQnBC,KAAe,CAAA;AAEnB,SAASC,GAAcC,GAAc1c,GAAMC,GAAMjK,GAAWC,GAAW9L,GAAM;AAC3E,SAAI,OAAOuyB,KAAiB,aACnBA,EAAa1c,GAAMC,GAAM,YAAY9V,IAAO;AAAA,IACjD,QAAQA,EAAK;AAAA,EACd,IAAG,CAAE,CAAA,IAGD6L,MAAcC;AACvB;AAGA,IAAI0mB,KAAqB,yBAAUC,GAAkB;AACnD,EAAAnT,GAAUkT,GAAOC,CAAgB;AAEjC,MAAIC,IAAS5S,GAAa0S,CAAK;AAa/B,WAASA,EAAMl4B,GAAO;AACpB,QAAI0jB;AA+eJ,QA7eA9S,GAAgB,MAAMsnB,CAAK,GAE3BxU,IAAQ0U,EAAO,KAAK,MAAMp4B,CAAK,GAE/B0jB,EAAM,QAAQ;AAAA,MACZ,YAAY;AAAA,IAClB,GACIA,EAAM,qBAAqB,MAC3BA,EAAM,UAAU,IAChBA,EAAM,UAAU,IAChBA,EAAM,QAAQ,IACdA,EAAM,kBAAkB,MACxBA,EAAM,iBAAiB,QACvBA,EAAM,SAASqU,IACfrU,EAAM,WAAWqU,IAEjBrU,EAAM,iBAAiB,WAAY;AACjC,UAAI2U,IAAc3U,EAAM,OACpB4U,IAAWD,EAAY,UACvBE,IAAcF,EAAY,aAC1Bh4B,IAAOg4B,EAAY;AAEvB,MAAI3U,EAAM,sBACRA,EAAM,mBAAmB6U,GAAaD,GAAUxF,GAAYzyB,CAAI,CAAC,GAGnEqjB,EAAM,qBAAqB;AAAA,IACjC,GAEIA,EAAM,cAAc,WAAY;AAC9B,UAAI8U,IAAe9U,EAAM,OACrBrjB,IAAOm4B,EAAa,MACpBC,IAAeD,EAAa,cAC5BE,IAAwBD,EAAa,YACrCE,IAAaD,MAA0B,SAAS,CAAA,IAAKA;AACzD,aAAOr4B,MAAS,SAAY,CAAE,EAAC,OAAO0P,GAAmB4oB,CAAU,GAAG5oB,GAAmB1P,CAAI,CAAC,IAAI,CAAA;AAAA,IACxG,GAEIqjB,EAAM,WAAW,WAAY;AAC3B,UAAIkV,IAAelV,EAAM,OACrBmV,IAAqBD,EAAa,OAClCrc,IAAQsc,MAAuB,SAAS,CAAE,IAAGA,GAC7CJ,IAAeG,EAAa;AAChC,aAAOrc,EAAM,IAAI,SAAUD,GAAM;AAC/B,eAAI,OAAOA,KAAS,aACXA,EAAKmc,CAAY,IAGnBnc;AAAA,MACf,CAAO;AAAA,IACP,GAEIoH,EAAM,UAAU,WAAY;AAC1B,MAAI,CAACA,EAAM,WAKXA,EAAM,SAAS,SAAUtP,GAAM;AAC7B,YAAI0kB,IAAa1kB,EAAK;AACtB,eAAO;AAAA,UACL,YAAY0kB,IAAa;AAAA,QACnC;AAAA,MACA,CAAO;AAAA,IACP,GAEIpV,EAAM,mBAAmB,SAAUqV,GAAS;AAC1C,UAAIC,IAAetV,EAAM,MAAM;AAC/B,MAAAsV,KAAiB,QAA2CA,EAAa1uB,EAAcA,EAAc,CAAA,GAAIoZ,EAAM,QAAS,CAAA,GAAG,CAAA,GAAI;AAAA,QAC7H,SAASqV;AAAA,MACV,CAAA,CAAC;AAAA,IACR,GAEIrV,EAAM,gBAAgB,SAAUuV,GAAW7F,GAAc1tB,GAAM;AAC7D,UAAIwzB,IAAexV,EAAM,OACrBuU,IAAeiB,EAAa,cAC5BC,IAAwBD,EAAa,cACrCE,IAAeD,MAA0B,SAAS,CAAE,IAAGA,GACvDE,IAAUH,EAAa,SACvBnG,IAAQrtB,EAAK,OAEbstB,IAAWtP,EAAM,eAEjBnS,IAAYmS,EAAM,SAASuV,CAAS,GAEpCK,IAAW5V,EAAM,SAASqP,CAAK,GAE/BwG,IAAgBnG,KAAgBC,GAAiBD,GAAcJ,CAAQ;AAY3E,cAVIttB,EAAK,SAAS,iBAAiBA,EAAK,WAAW,cAAc6L,MAAc+nB,MAC7E5V,EAAM,UAAU,IAChBA,EAAM,QAAQ,IACdA,EAAM,kBAAkB,MACxBA,EAAM,SAASqU,IACfrU,EAAM,WAAWqU,IAEjBrU,EAAM,iBAAgB,IAGhBhe,EAAK,MAAI;AAAA,QACf,KAAK;AACH,cAAI,CAAC0tB,KAAgBmG,GAAe;AAElC,YAAA7V,EAAM,UAAU,IAChBA,EAAM,QAAQ,IACdA,EAAM,kBAAkB,MACxBA,EAAM,SAASqU,IACfrU,EAAM,WAAWqU,IAEjBrU,EAAM,iBAAgB,GAEtB2V,KAAY,QAAsCA,KAElD3V,EAAM,QAAO;AAEb;AAAA,UACD;AAED;AAAA,QASF,KAAK,UACH;AACE,cAAIuU,GAAc;AAChB,YAAAvU,EAAM,SAAQ;AAEd;AAAA,UACD;AAED;AAAA,QACD;AAAA,QAEH,KAAK,YACH;AACE,cAAI6V,GAAe;AACjB,gBAAIzI,IAAOprB,EAAK;AAEhB,YAAI,aAAaorB,MACfpN,EAAM,UAAUoN,EAAK,UAGnB,gBAAgBA,KAAQ,EAAE,mBAAmBA,OAC/CpN,EAAM,kBAAkBoN,EAAK,aAAa,QAAQ,QAAQ,CAAA,CAAE,IAAI,OAG9D,YAAYA,MACdpN,EAAM,SAASoN,EAAK,UAAUiH,KAG5B,cAAcjH,MAChBpN,EAAM,WAAWoN,EAAK,YAAYiH,KAGpCrU,EAAM,QAAQ,IAEdA,EAAM,iBAAgB,GAEtBA,EAAM,SAAQ;AAEd;AAAA,UACD;AAGD,cAAIuU,KAAgB,CAACjF,EAAS,UAAUgF,GAAcC,GAAcgB,GAAWlG,GAAOxhB,GAAW+nB,GAAU5zB,CAAI,GAAG;AAChH,YAAAge,EAAM,SAAQ;AAEd;AAAA,UACD;AAED;AAAA,QACD;AAAA,QAEH,KAAK,sBACH;AAIE,cAAI8V,IAAiBJ,EAAa,IAAItG,EAAW;AAIjD,cAAI0G,EAAe,KAAK,SAAUC,GAAY;AAC5C,mBAAOpG,GAAiB3tB,EAAK,eAAe+zB,CAAU;AAAA,UACpE,CAAa,GAAG;AACF,YAAA/V,EAAM,SAAQ;AAEd;AAAA,UACD;AAED;AAAA,QACD;AAAA,QAEH;AAWE,cAAI6V,MAAkB,CAACH,EAAa,UAAUpG,EAAS,UAAUiF,MAAiBD,GAAcC,GAAcgB,GAAWlG,GAAOxhB,GAAW+nB,GAAU5zB,CAAI,GAAG;AAC1J,YAAAge,EAAM,SAAQ;AAEd;AAAA,UACD;AAED;AAAA,MACH;AAED,MAAIuU,MAAiB,MACnBvU,EAAM,SAAQ;AAAA,IAEtB,GAEIA,EAAM,gBAAgB,SAAUoJ,GAAS;AAEvC,UAAIkG,IAAWtP,EAAM,eAEjBgW,IAAehW,EAAM,YAGrBiW,IAAc,QAAQ,QAAS,EAAC,KAAK,WAAY;AACnD,YAAI,CAACjW,EAAM;AACT,iBAAO;AAGT,YAAIkW,IAAelW,EAAM,OACrBmW,IAAwBD,EAAa,eACrC5D,IAAgB6D,MAA0B,SAAS,KAAQA,GAC3DvE,IAAmBsE,EAAa,kBAEhCvlB,IAAQyY,KAAW,CAAE,GACrBgN,IAAczlB,EAAM,aAEpB0lB,IAAgBrW,EAAM;AAE1B,QAAIoW,MACFC,IAAgBA,EAAc,OAAO,SAAUzd,GAAM;AACnD,cAAI0d,IAAkB1d,EAAK;AAE3B,cAAI,CAAC0d;AACH,mBAAO;AAGT,cAAIC,IAAcjU,GAAQgU,CAAe;AACzC,iBAAOC,EAAY,SAASH,CAAW;AAAA,QACnD,CAAW;AAGH,YAAIvD,IAAUR,GAAc/C,GAAU0G,GAAcK,GAAejN,GAASkJ,GAAeV,CAAgB;AAC3G,eAAAiB,EAAQ,MAAM,SAAU16B,GAAG;AACzB,iBAAOA;AAAA,QACjB,CAAS,EAAE,KAAK,WAAY;AAClB,cAAIq+B,IAAa,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAKnC;AAErF,cAAIrU,EAAM,oBAAoBiW,GAAa;AACzC,gBAAIQ;AAEJ,YAAAzW,EAAM,kBAAkB;AAExB,gBAAI0W,IAAa,CAAA,GACbC,IAAe,CAAA;AACnB,aAACF,IAAsBD,EAAW,aAAa,QAAQC,MAAwB,UAAkBA,EAAoB,KAAKD,GAAY,SAAUvlB,GAAO;AACrJ,kBAAI2lB,IAAc3lB,EAAM,KAAK,aACzB4lB,IAAe5lB,EAAM,QACrBoW,IAASwP,MAAiB,SAASxC,KAAewC;AAEtD,cAAID,IACFD,EAAa,KAAK,MAAMA,GAActqB,GAAmBgb,CAAM,CAAC,IAEhEqP,EAAW,KAAK,MAAMA,GAAYrqB,GAAmBgb,CAAM,CAAC;AAAA,YAE5E,CAAa,GACDrH,EAAM,SAAS0W,GACf1W,EAAM,WAAW2W,GAEjB3W,EAAM,iBAAgB,GAEtBA,EAAM,SAAQ;AAAA,UACf;AAAA,QACX,CAAS,GACM6S;AAAA,MACf,CAAO;AACD,aAAA7S,EAAM,kBAAkBiW,GACxBjW,EAAM,QAAQ,IACdA,EAAM,SAASqU,IACfrU,EAAM,WAAWqU,IAEjBrU,EAAM,iBAAgB,GAGtBA,EAAM,SAAQ,GAEPiW;AAAA,IACb,GAEIjW,EAAM,oBAAoB,WAAY;AACpC,aAAO,CAAC,CAACA,EAAM;AAAA,IACrB,GAEIA,EAAM,iBAAiB,WAAY;AACjC,aAAOA,EAAM;AAAA,IACnB,GAEIA,EAAM,eAAe,WAAY;AAE/B,UAAIA,EAAM,SAASA,EAAM,MAAM,iBAAiB;AAC9C,eAAO;AAIT,UAAI+U,IAAe/U,EAAM,MAAM,cAE3B8W,IAAwB/B,EAAa,iBAAiBvS,EAAS,GAC/DuU,IAAkBD,EAAsB;AAE5C,aAAIC,EAAgB/W,EAAM,YAAa,CAAA,MAAM;AAAA,IAKnD,GAEIA,EAAM,YAAY,WAAY;AAC5B,aAAOA,EAAM;AAAA,IACnB,GAEIA,EAAM,cAAc,WAAY;AAC9B,aAAOA,EAAM;AAAA,IACnB,GAEIA,EAAM,cAAc,WAAY;AAC9B,aAAOA,EAAM,MAAM;AAAA,IACzB,GAEIA,EAAM,SAAS,WAAY;AACzB,aAAOA,EAAM,MAAM;AAAA,IACzB,GAEIA,EAAM,aAAa,WAAY;AAC7B,aAAOA,EAAM,MAAM;AAAA,IACzB,GAEIA,EAAM,UAAU,WAAY;AAE1B,MAAAA,EAAM,iBAAiBA,EAAM;AAC7B,UAAIgX,IAAO;AAAA,QACT,SAAShX,EAAM,eAAgB;AAAA,QAC/B,YAAYA,EAAM;AAAA,QAClB,QAAQA,EAAM;AAAA,QACd,UAAUA,EAAM;AAAA,QAChB,MAAMA,EAAM,YAAa;AAAA,MACjC;AACM,aAAOgX;AAAA,IACb,GAEIhX,EAAM,eAAe,SAAUzc,GAAU;AAEvC,UAAI,OAAOA,KAAa,YAAY;AAClC,YAAIyzB,IAAOhX,EAAM;AAEjB,eAAOpZ,EAAcA,EAAc,CAAA,GAAIoZ,EAAM,aAAazc,EAASyc,EAAM,cAAa,GAAIgX,GAAMhX,EAAM,MAAM,YAAY,CAAC,CAAC,GAAG,IAAI;AAAA,UAC/H,YAAY;AAAA,QACtB,CAAS;AAAA,MACF;AAGD,UAAIiX,IAAYC,GAAgB3zB,CAAQ;AAExC,aAAI0zB,EAAU,WAAW,KAAK,CAAe,gBAAA3+B,EAAM,eAAe2+B,EAAU,EAAE,IACrE;AAAA,QACL,OAAOA;AAAA,QACP,YAAY;AAAA,MACtB,IAGa;AAAA,QACL,OAAOA,EAAU;AAAA,QACjB,YAAY;AAAA,MACpB;AAAA,IACA,GAEIjX,EAAM,WAAW,SAAUqP,GAAO;AAChC,UAAI8H,IAAiBnX,EAAM,MAAM,aAAa,gBAE1CsP,IAAWtP,EAAM;AAErB,aAAO8I,GAASuG,KAAS8H,EAAe,EAAI,GAAG7H,CAAQ;AAAA,IAC7D,GAEItP,EAAM,gBAAgB,WAAY;AAChC,UAAIoX,IAAa,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GACjFC,IAAerX,EAAM,OACrBsX,IAAUD,EAAa,SACvBf,IAAkBe,EAAa,iBAC/BE,IAAoBF,EAAa,mBACjCG,IAAYH,EAAa,WACzB5G,IAAgB4G,EAAa,eAC7BI,IAAgBJ,EAAa,eAC7BtC,IAAesC,EAAa,cAC5BK,IAAwBpB,MAAoB,SAAYA,IAAkBvB,EAAa,iBAEvFzF,IAAWtP,EAAM,eAEjB2X,IAAmB5C,EAAa,kBAChCoC,IAAiBpC,EAAa,gBAE9B6C,IAAoBD,EAAiBnV,EAAS,GAC9CqV,IAAWD,EAAkB,UAE7Bp4B,IAAQwgB,EAAM,YAEd8X,IAAsBL,KAAiB,SAAUxM,GAAK;AACxD,eAAOjlB,EAAgB,CAAA,GAAIyqB,GAAexF,CAAG;AAAA,MACrD,GAGU8M,IAAoBX,EAAWE,IAE/B/5B,IAAUqJ,EAAcA,EAAc,CAAA,GAAIwwB,CAAU,GAAGU,EAAoBt4B,CAAK,CAAC;AAGrF,MAAAjC,EAAQ+5B,KAAW,WAAY;AAE7B,QAAAtX,EAAM,UAAU,IAChBA,EAAM,QAAQ,IAEdA,EAAM,iBAAgB;AAItB,iBAFIgY,GAEKttB,IAAO,UAAU,QAAQ7Q,IAAO,IAAI,MAAM6Q,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,UAAA/Q,EAAK+Q,KAAQ,UAAUA;AAGzB,QAAI2sB,IACFS,IAAWT,EAAkB,MAAM,QAAQ19B,CAAI,IAE/Cm+B,IAAWxH,GAAyB,MAAM,QAAQ,CAACC,CAAa,EAAE,OAAO52B,CAAI,CAAC,GAG5E29B,MACFQ,IAAWR,EAAUQ,GAAUx4B,GAAO23B,EAAe,EAAI,CAAC,IAG5DU,EAAS;AAAA,UACP,MAAM;AAAA,UACN,UAAUvI;AAAA,UACV,OAAO0I;AAAA,QACjB,CAAS,GAEGD,KACFA,EAAkB,MAAM,QAAQl+B,CAAI;AAAA,MAE9C;AAGM,UAAIo+B,IAAsB3V,GAAQoV,KAAyB,CAAE,CAAA;AAC7D,aAAAO,EAAoB,QAAQ,SAAU7B,GAAa;AAEjD,YAAI8B,IAAgB36B,EAAQ64B;AAE5B,QAAA74B,EAAQ64B,KAAe,WAAY;AACjC,UAAI8B,KACFA,EAAc,MAAM,QAAQ,SAAS;AAIvC,cAAIrf,IAAQmH,EAAM,MAAM;AAExB,UAAInH,KAASA,EAAM,UAGjBgf,EAAS;AAAA,YACP,MAAM;AAAA,YACN,UAAUvI;AAAA,YACV,aAAa8G;AAAA,UAC3B,CAAa;AAAA,QAEb;AAAA,MACA,CAAO,GACM74B;AAAA,IACb,GAEQjB,EAAM,cAAc;AACtB,UAAIq7B,IAAmBr7B,EAAM,aAAa,kBAEtC67B,IAAqBR,EAAiBnV,EAAS,GAC/C4V,IAAkBD,EAAmB;AAEzC,MAAAC,EAAgBhX,GAAuBpB,CAAK,CAAC;AAAA,IAC9C;AAED,WAAOA;AAAA,EACR;AAED,SAAAzS,GAAainB,GAAO,CAAC;AAAA,IACnB,KAAK;AAAA,IACL,OAAO,WAA6B;AAClC,UAAI6D,IAAe,KAAK,OACpB9D,IAAe8D,EAAa,cAC5BtD,IAAesD,EAAa;AAGhC,UAFA,KAAK,UAAU,IAEXtD,GAAc;AAChB,YAAI4C,IAAmB5C,EAAa,kBAEhCuD,IAAqBX,EAAiBnV,EAAS,GAC/C+V,IAAgBD,EAAmB;AAEvC,aAAK,qBAAqBC,EAAc,IAAI;AAAA,MAC7C;AAGD,MAAIhE,MAAiB,MACnB,KAAK,SAAQ;AAAA,IAEhB;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,WAAgC;AACrC,WAAK,eAAc,GACnB,KAAK,iBAAiB,EAAI,GAC1B,KAAK,UAAU;AAAA,IAChB;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,WAAoB;AACzB,MAAI,CAAC,KAAK,WACV,KAAK,YAAW;AAAA,IACjB;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,WAAkB;AACvB,UAAIa,IAAa,KAAK,MAAM,YACxB7xB,IAAW,KAAK,MAAM,UAEtBi1B,IAAqB,KAAK,aAAaj1B,CAAQ,GAC/Cf,IAAQg2B,EAAmB,OAC3BC,IAAaD,EAAmB,YAGhCE;AAEJ,aAAID,IACFC,IAAkBl2B,IACK,gBAAAlK,EAAM,eAAekK,CAAK,IACjDk2B,IAA+B,gBAAApgC,EAAM,aAAakK,GAAO,KAAK,cAAcA,EAAM,KAAK,CAAC,KAExFsE,GAAQ,CAACtE,GAAO,mDAAmD,GACnEk2B,IAAkBl2B,IAGA,gBAAAlK,EAAM,cAAcA,EAAM,UAAU;AAAA,QACtD,KAAK88B;AAAA,MACN,GAAEsD,CAAe;AAAA,IACnB;AAAA,EACF,CAAA,CAAC,GAEKlE;AACT,EAAEl8B,EAAM,SAAS;AAEjBk8B,GAAM,cAAcmE;AACpBnE,GAAM,eAAe;AAAA,EACnB,SAAS;AAAA,EACT,eAAe;AACjB;AAEA,SAASoE,GAAa9E,GAAO;AAC3B,MAAIn3B,IAAOm3B,EAAM,MACb+E,IAAY9rB,GAAyB+mB,GAAOM,EAAS,GAErDW,IAAez8B,EAAM,WAAWqgC,EAAY,GAC5CrJ,IAAW3yB,MAAS,SAAYyyB,GAAYzyB,CAAI,IAAI,QACpDkE,IAAM;AAEV,SAAKg4B,EAAU,gBACbh4B,IAAM,IAAI,QAAQyuB,KAAY,CAAA,GAAI,KAAK,GAAG,CAAC,IAKzC,QAAQ,IAAI,aAAa,gBAAgBuJ,EAAU,aAAa,MAASA,EAAU,eAAevJ,EAAS,UAAU,KACvHxoB,GAAQ,IAAO,kDAAkD,GAG/C,gBAAAxO,EAAM,cAAck8B,IAAO3e,GAAS;AAAA,IACtD,KAAKhV;AAAA,IACL,MAAMyuB;AAAA,EACP,GAAEuJ,GAAW;AAAA,IACZ,cAAc9D;AAAA,EACf,CAAA,CAAC;AACJ;AC1oBA,IAAI+D,KAA2B,gBAAAxgC,EAAM,cAAc,IAAI,GCQnDygC,KAAO,SAAcroB,GAAM;AAC7B,MAAI/T,IAAO+T,EAAK,MACZsoB,IAAetoB,EAAK,cACpBnN,IAAWmN,EAAK,UAChBmI,IAAQnI,EAAK,OACb4lB,IAAkB5lB,EAAK,iBACvBrV,IAAU/C,EAAM,WAAWqgC,EAAY,GACvCM,IAAS3gC,EAAM,OAAO;AAAA,IACxB,MAAM,CAAE;AAAA,IACR,IAAI;AAAA,EACR,CAAG,GACG4gC,IAAaD,EAAO,SACpBhE,IAAa38B,EAAM,QAAQ,WAAY;AACzC,QAAI6gC,IAAmB/J,GAAY/zB,EAAQ,UAAU,KAAK,CAAA;AAC1D,WAAO,CAAE,EAAC,OAAOgR,GAAmB8sB,CAAgB,GAAG9sB,GAAmB+iB,GAAYzyB,CAAI,CAAC,CAAC;AAAA,EAC7F,GAAE,CAACtB,EAAQ,YAAYsB,CAAI,CAAC,GACzBo4B,IAAez8B,EAAM,QAAQ,WAAY;AAC3C,WAAOsO,EAAcA,EAAc,CAAE,GAAEvL,CAAO,GAAG,CAAA,GAAI;AAAA,MACnD,YAAY45B;AAAA,IAClB,CAAK;AAAA,EACL,GAAK,CAAC55B,GAAS45B,CAAU,CAAC,GAEpBmE,IAAc9gC,EAAM,QAAQ,WAAY;AAC1C,WAAO;AAAA,MACL,QAAQ,SAAgBg3B,GAAU;AAChC,YAAI3jB,IAAMspB,EAAW,QACjBoE,IAAW/J,EAAS3jB;AACxB,eAAO,CAACutB,EAAW,KAAKG,IAAW/J,EAAS,MAAM3jB,IAAM,CAAC,CAAC;AAAA,MAC3D;AAAA,IACP;AAAA,EACA,GAAK,CAACspB,CAAU,CAAC;AAEf,MAAI,OAAO1xB,KAAa;AACtBuD,WAAAA,GAAQ,IAAO,8CAA8C,GACtD;AAGT,MAAIytB,IAAe,SAAsB1mB,GAAWC,GAAW6C,GAAO;AACpE,QAAI/T,IAAS+T,EAAM;AAEnB,WAAI/T,MAAW,aACN,KAGFiR,MAAcC;AAAA,EACzB;AAEE,SAAoB,gBAAAxV,EAAM,cAAcwgC,GAAY,UAAU;AAAA,IAC5D,OAAOM;AAAA,EACR,GAAe,gBAAA9gC,EAAM,cAAcqgC,GAAa,UAAU;AAAA,IACzD,OAAO5D;AAAA,EACX,GAAkB,gBAAAz8B,EAAM,cAAck8B,IAAO;AAAA,IACzC,MAAM,CAAE;AAAA,IACR,cAAcD;AAAA,IACd,OAAO1b;AAAA,IACP,iBAAiByd;AAAA,IACjB,cAAc0C;AAAA,IACd,QAAQ;AAAA,EACZ,GAAK,SAAU/nB,GAAO+lB,GAAM;AACxB,QAAIsC,IAAcroB,EAAM,OACpBzR,IAAQ85B,MAAgB,SAAS,CAAE,IAAGA,GACtCC,IAAWtoB,EAAM,UACjBuoB,IAAgBn+B,EAAQ,eAExBo+B,IAAc,WAAuB;AACvC,UAAI56B,IAAS26B,EAAcvE,KAAc,CAAE,CAAA;AAC3C,aAAOp2B,KAAU,CAAA;AAAA,IACvB,GAMQ66B,IAAa;AAAA,MACf,KAAK,SAAaC,GAAc9iB,GAAO;AAErC,YAAImhB,IAAWyB;AAEf,QAAI5iB,KAAS,KAAKA,KAASmhB,EAAS,UAClCkB,EAAW,OAAO,CAAE,EAAC,OAAO7sB,GAAmB6sB,EAAW,KAAK,MAAM,GAAGriB,CAAK,CAAC,GAAG,CAACqiB,EAAW,EAAE,GAAG7sB,GAAmB6sB,EAAW,KAAK,MAAMriB,CAAK,CAAC,CAAC,GAClJ0iB,EAAS,CAAE,EAAC,OAAOltB,GAAmB2rB,EAAS,MAAM,GAAGnhB,CAAK,CAAC,GAAG,CAAC8iB,CAAY,GAAGttB,GAAmB2rB,EAAS,MAAMnhB,CAAK,CAAC,CAAC,CAAC,MAEvH,QAAQ,IAAI,aAAa,iBAAiBA,IAAQ,KAAKA,IAAQmhB,EAAS,WAC1ElxB,GAAQ,IAAO,6EAA6E,GAG9FoyB,EAAW,OAAO,GAAG,OAAO7sB,GAAmB6sB,EAAW,IAAI,GAAG,CAACA,EAAW,EAAE,CAAC,GAChFK,EAAS,CAAA,EAAG,OAAOltB,GAAmB2rB,CAAQ,GAAG,CAAC2B,CAAY,CAAC,CAAC,IAGlET,EAAW,MAAM;AAAA,MAClB;AAAA,MACD,QAAQ,SAAgBriB,GAAO;AAC7B,YAAImhB,IAAWyB,KACXG,IAAW,IAAI,IAAI,MAAM,QAAQ/iB,CAAK,IAAIA,IAAQ,CAACA,CAAK,CAAC;AAE7D,QAAI+iB,EAAS,QAAQ,MAIrBV,EAAW,OAAOA,EAAW,KAAK,OAAO,SAAUW,GAAGC,GAAW;AAC/D,iBAAO,CAACF,EAAS,IAAIE,CAAS;AAAA,QACxC,CAAS,GAEDP,EAASvB,EAAS,OAAO,SAAU6B,GAAGE,GAAY;AAChD,iBAAO,CAACH,EAAS,IAAIG,CAAU;AAAA,QAChC,CAAA,CAAC;AAAA,MACH;AAAA,MACD,MAAM,SAAc1jB,GAAM2jB,GAAI;AAC5B,YAAI3jB,MAAS2jB,GAIb;AAAA,cAAIhC,IAAWyB;AAEf,UAAIpjB,IAAO,KAAKA,KAAQ2hB,EAAS,UAAUgC,IAAK,KAAKA,KAAMhC,EAAS,WAIpEkB,EAAW,OAAOe,GAAMf,EAAW,MAAM7iB,GAAM2jB,CAAE,GAEjDT,EAASU,GAAMjC,GAAU3hB,GAAM2jB,CAAE,CAAC;AAAA;AAAA,MACnC;AAAA,IACP,GACQE,IAAY16B,KAAS;AAEzB,WAAK,MAAM,QAAQ06B,CAAS,MAC1BA,IAAY,CAAA,GAER,QAAQ,IAAI,aAAa,gBAC3BpzB,GAAQ,IAAO,qBAAqB,OAAOmuB,EAAW,KAAK,KAAK,GAAG,yBAAyB,CAAC,IAI1F1xB,EAAS22B,EAAU,IAAI,SAAUC,GAAItjB,GAAO;AACjD,UAAIhW,IAAMq4B,EAAW,KAAKriB;AAE1B,aAAIhW,MAAQ,WACVq4B,EAAW,KAAKriB,KAASqiB,EAAW,IACpCr4B,IAAMq4B,EAAW,KAAKriB,IACtBqiB,EAAW,MAAM,IAGZ;AAAA,QACL,MAAMriB;AAAA,QACN,KAAKhW;AAAA,QACL,aAAa;AAAA,MACrB;AAAA,IACA,CAAK,GAAG64B,GAAY1C,CAAI;AAAA,EACrB,CAAA,CAAC,CAAC;AACL;AC/JO,SAASoD,GAAiBC,GAAa;AAC5C,MAAIC,IAAW,IACXzlB,IAAQwlB,EAAY,QACpBxS,IAAU,CAAA;AAEd,SAAKwS,EAAY,SAIV,IAAI,QAAQ,SAAUzV,GAASC,GAAQ;AAC5C,IAAAwV,EAAY,QAAQ,SAAUxH,GAAShc,GAAO;AAC5C,MAAAgc,EAAQ,MAAM,SAAU16B,GAAG;AACzB,eAAAmiC,IAAW,IACJniC;AAAA,MACf,CAAO,EAAE,KAAK,SAAU+nB,GAAQ;AAIxB,QAHArL,KAAS,GACTgT,EAAQhR,KAASqJ,GAEb,EAAArL,IAAQ,OAIRylB,KACFzV,EAAOgD,CAAO,GAGhBjD,EAAQiD,CAAO;AAAA,MACvB,CAAO;AAAA,IACP,CAAK;AAAA,EACL,CAAG,IAvBQ,QAAQ,QAAQ,CAAA,CAAE;AAwB7B;ACzBA,IAAI0S,KAAQ;AAKZ,SAAS/C,GAAUlI,GAAU;AAC3B,SAAOA,EAAS,IAAI,SAAUkL,GAAM;AAClC,WAAO,GAAG,OAAO/yB,GAAQ+yB,CAAI,GAAG,GAAG,EAAE,OAAOA,CAAI;AAAA,EACpD,CAAG,EACA,KAAKD,EAAK;AACb;AAMA,IAAIE,KAAuB,2BAAY;AACrC,WAASA,IAAU;AACjB,IAAAvtB,GAAgB,MAAMutB,CAAO,GAE7B,KAAK,MAAM,oBAAI;EAChB;AAED,SAAAltB,GAAaktB,GAAS,CAAC;AAAA,IACrB,KAAK;AAAA,IACL,OAAO,SAAa55B,GAAKrB,GAAO;AAC9B,WAAK,IAAI,IAAIg4B,GAAU32B,CAAG,GAAGrB,CAAK;AAAA,IACnC;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAaqB,GAAK;AACvB,aAAO,KAAK,IAAI,IAAI22B,GAAU32B,CAAG,CAAC;AAAA,IACnC;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAgBA,GAAK65B,GAAS;AACnC,UAAIC,IAAS,KAAK,IAAI95B,CAAG,GACrBiX,IAAO4iB,EAAQC,CAAM;AAEzB,MAAK7iB,IAGH,KAAK,IAAIjX,GAAKiX,CAAI,IAFlB,KAAK,OAAOjX,CAAG;AAAA,IAIlB;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAiBA,GAAK;AAC3B,WAAK,IAAI,OAAO22B,GAAU32B,CAAG,CAAC;AAAA,IAC/B;AAAA,EAEL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAaoZ,GAAU;AAC5B,aAAO5N,GAAmB,KAAK,IAAI,QAAO,CAAE,EAAE,IAAI,SAAUqE,GAAM;AAChE,YAAIC,IAAQpB,EAAemB,GAAM,CAAC,GAC9B7P,IAAM8P,EAAM,IACZnR,IAAQmR,EAAM,IAEdiqB,IAAQ/5B,EAAI,MAAM05B,EAAK;AAC3B,eAAOtgB,EAAS;AAAA,UACd,KAAK2gB,EAAM,IAAI,SAAUJ,GAAM;AAC7B,gBAAIK,IAAcL,EAAK,MAAM,gBAAgB,GACzCM,IAAevrB,EAAesrB,GAAa,CAAC,GAC5CjgC,IAAOkgC,EAAa,IACpBC,IAAOD,EAAa;AAExB,mBAAOlgC,MAAS,WAAW,OAAOmgC,CAAI,IAAIA;AAAA,UACtD,CAAW;AAAA,UACD,OAAOv7B;AAAA,QACjB,CAAS;AAAA,MACT,CAAO;AAAA,IACF;AAAA,EACL,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,WAAkB;AACvB,UAAIw7B,IAAO,CAAA;AACX,kBAAK,IAAI,SAAU/pB,GAAO;AACxB,YAAIpQ,IAAMoQ,EAAM,KACZzR,IAAQyR,EAAM;AAClB,eAAA+pB,EAAKn6B,EAAI,KAAK,GAAG,KAAKrB,GACf;AAAA,MACf,CAAO,GACMw7B;AAAA,IACR;AAAA,EACF,CAAA,CAAC,GAEKP;AACT,EAAG,GCvFCrG,KAAY,CAAC,QAAQ,QAAQ,GAStB6G,KAAyB,gBAAA1tB,GAAa,SAAS0tB,EAAUC,GAAiB;AACnF,MAAIlb,IAAQ;AAEZ,EAAA9S,GAAgB,MAAM+tB,CAAS,GAE/B,KAAK,aAAa,IAClB,KAAK,kBAAkB,QACvB,KAAK,eAAe,IACpB,KAAK,QAAQ,IACb,KAAK,gBAAgB,IACrB,KAAK,gBAAgB,IACrB,KAAK,YAAY,IACjB,KAAK,mBAAmB,MACxB,KAAK,WAAW,MAChB,KAAK,sBAAsB,MAE3B,KAAK,UAAU,WAAY;AACzB,WAAO;AAAA,MACL,eAAejb,EAAM;AAAA,MACrB,gBAAgBA,EAAM;AAAA,MACtB,eAAeA,EAAM;AAAA,MACrB,iBAAiBA,EAAM;AAAA,MACvB,gBAAgBA,EAAM;AAAA,MACtB,iBAAiBA,EAAM;AAAA,MACvB,gBAAgBA,EAAM;AAAA,MACtB,mBAAmBA,EAAM;AAAA,MACzB,oBAAoBA,EAAM;AAAA,MAC1B,aAAaA,EAAM;AAAA,MACnB,WAAWA,EAAM;AAAA,MACjB,eAAeA,EAAM;AAAA,MACrB,gBAAgBA,EAAM;AAAA,MACtB,gBAAgBA,EAAM;AAAA,MACtB,QAAQA,EAAM;AAAA,MACd,OAAO;AAAA,MACP,kBAAkBA,EAAM;AAAA,IAC9B;AAAA,EACA,GAEE,KAAK,mBAAmB,SAAUnf,GAAK;AACrC,WAAIA,MAAQ2hB,MACVxC,EAAM,aAAa,IACZ;AAAA,MACL,UAAUA,EAAM;AAAA,MAChB,iBAAiBA,EAAM;AAAA,MACvB,eAAeA,EAAM;AAAA,MACrB,cAAcA,EAAM;AAAA,MACpB,kBAAkBA,EAAM;AAAA,MACxB,aAAaA,EAAM;AAAA,MACnB,cAAcA,EAAM;AAAA,MACpB,qBAAqBA,EAAM;AAAA,MAC3B,WAAWA,EAAM;AAAA,MACjB,aAAaA,EAAM;AAAA,MACnB,iBAAiBA,EAAM;AAAA,MACvB,eAAeA,EAAM;AAAA,IAC7B,MAGIlZ,GAAQ,IAAO,iEAAiE,GACzE;AAAA,EACX,GAEE,KAAK,eAAe,SAAUq0B,GAAc;AAC1C,IAAAnb,EAAM,eAAemb;AAAA,EACzB,GAEE,KAAK,uBAAuB,MAE5B,KAAK,mBAAmB,SAAUC,GAAe1/B,GAAM;AAGrD,QAFAskB,EAAM,gBAAgBob,KAAiB,IAEnC1/B,GAAM;AACR,UAAI2/B,GAEAC,IAAYtL,GAAU,CAAA,GAAIoL,GAAepb,EAAM,KAAK;AAIxD,OAACqb,IAAwBrb,EAAM,0BAA0B,QAAQqb,MAA0B,UAAkBA,EAAsB,IAAI,SAAU3qB,GAAM;AACrJ,YAAI4e,IAAW5e,EAAK;AACpB,QAAA4qB,IAAY/L,GAAS+L,GAAWhM,GAAUxG,GAASsS,GAAe9L,CAAQ,CAAC;AAAA,MACnF,CAAO,GACDtP,EAAM,uBAAuB,MAE7BA,EAAM,YAAYsb,CAAS;AAAA,IAC5B;AAAA,EACL,GAEE,KAAK,cAAc,WAAY;AAC7B,QAAIC,IAAuB,IAAId;AAE/B,IAAAza,EAAM,iBAAiB,EAAI,EAAE,QAAQ,SAAUwO,GAAQ;AACrD,MAAKxO,EAAM,iBAAiBwO,EAAO,WAAY,CAAA,KAC7C+M,EAAqB,IAAI/M,EAAO,YAAa,GAAE,EAAI;AAAA,IAE3D,CAAK,GAEDxO,EAAM,uBAAuBub;AAAA,EACjC,GAEE,KAAK,kBAAkB,SAAUjM,GAAU;AACzC,QAAIkM,IAAY1S,GAAS9I,EAAM,eAAesP,CAAQ;AAEtD,WAAOA,EAAS,SAASL,GAAUuM,CAAS,IAAIA;AAAA,EACpD,GAEE,KAAK,eAAe,SAAUC,GAAW;AACvC,IAAAzb,EAAM,YAAYyb;AAAA,EACtB,GAEE,KAAK,sBAAsB,SAAUC,GAAkB;AACrD,IAAA1b,EAAM,mBAAmB0b;AAAA,EAC7B,GAEE,KAAK,cAAc,SAAU9G,GAAU;AACrC,IAAA5U,EAAM,WAAW4U;AAAA,EACrB,GAEE,KAAK,YAAY,IAEjB,KAAK,gBAAgB,SAAU3a,GAAU;AACvC,WAAA+F,EAAM,UAAU,KAAK/F,CAAQ,GAEtB,WAAY;AACjB,MAAA+F,EAAM,YAAYA,EAAM,UAAU,OAAO,SAAU5iB,GAAI;AACrD,eAAOA,MAAO6c;AAAA,MACtB,CAAO;AAAA,IACP;AAAA,EACA,GAEE,KAAK,cAAc,WAAY;AAC7B,QAAIqV,IAAW,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA;AAGnF,QAAItP,EAAM,UAAU,QAAQ;AAC1B,UAAInhB,IAASmhB,EAAM;AAEnB,MAAAA,EAAM,UAAU,QAAQ,SAAU/F,GAAU;AAC1C,QAAAA,EAASpb,GAAQywB,CAAQ;AAAA,MACjC,CAAO;AAAA,IACF;AAAA,EACL,GAEE,KAAK,YAAY,MAEjB,KAAK,kBAAkB,WAAY;AACjC,IAAI,QAAQ,IAAI,aAAa,gBAAgB,CAACtP,EAAM,aAAa,OAAO,SAAW,QACjFA,EAAM,YAAY,WAAW,WAAY;AACvC,MAAAA,EAAM,YAAY,MAEbA,EAAM,cACTlZ,GAAQ,IAAO,iGAAiG;AAAA,IAE1H,CAAO;AAAA,EAEP,GAEE,KAAK,cAAc,SAAUw0B,GAAW;AACtC,IAAAtb,EAAM,QAAQsb;AAAA,EAClB,GAEE,KAAK,mBAAmB,WAAY;AAClC,QAAIK,IAAO,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAE/E,WAAKA,IAIE3b,EAAM,cAAc,OAAO,SAAUuH,GAAO;AACjD,aAAOA,EAAM,YAAa,EAAC;AAAA,IACjC,CAAK,IALQvH,EAAM;AAAA,EAMnB,GAEE,KAAK,eAAe,WAAY;AAC9B,QAAI2b,IAAO,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,IAC3E7qB,IAAQ,IAAI2pB;AAEhB,WAAAza,EAAM,iBAAiB2b,CAAI,EAAE,QAAQ,SAAUpU,GAAO;AACpD,UAAI+H,IAAW/H,EAAM;AACrB,MAAAzW,EAAM,IAAIwe,GAAU/H,CAAK;AAAA,IAC/B,CAAK,GAEMzW;AAAA,EACX,GAEE,KAAK,kCAAkC,SAAU8qB,GAAU;AACzD,QAAI,CAACA;AACH,aAAO5b,EAAM,iBAAiB,EAAI;AAGpC,QAAIlP,IAAQkP,EAAM,aAAa,EAAI;AAEnC,WAAO4b,EAAS,IAAI,SAAUj/B,GAAM;AAClC,UAAI2yB,IAAWF,GAAYzyB,CAAI;AAC/B,aAAOmU,EAAM,IAAIwe,CAAQ,KAAK;AAAA,QAC5B,sBAAsBF,GAAYzyB,CAAI;AAAA,MAC9C;AAAA,IACA,CAAK;AAAA,EACL,GAEE,KAAK,iBAAiB,SAAUi/B,GAAUC,GAAY;AAGpD,QAFA7b,EAAM,gBAAe,GAEjB4b,MAAa,MAAQ,CAACC;AACxB,aAAO7b,EAAM;AAGf,QAAI8b,IAAgB9b,EAAM,gCAAgC,MAAM,QAAQ4b,CAAQ,IAAIA,IAAW,IAAI,GAE/FG,IAAmB,CAAA;AACvB,WAAAD,EAAc,QAAQ,SAAUtN,GAAQ;AACtC,UAAIwN,GAEA1M,IAAW,0BAA0Bd,IAASA,EAAO,uBAAuBA,EAAO;AAGvF,UAAI,GAACoN,OAAcI,IAAsBxN,EAAO,iBAAiB,QAAQwN,MAAwB,SAAS,SAASA,EAAoB,KAAKxN,CAAM;AAIlJ,YAAI,CAACqN;AACH,UAAAE,EAAiB,KAAKzM,CAAQ;AAAA,aACzB;AACL,cAAI0H,IAAO,aAAaxI,IAASA,EAAO,QAAS,IAAG;AAEpD,UAAIqN,EAAW7E,CAAI,KACjB+E,EAAiB,KAAKzM,CAAQ;AAAA,QAEjC;AAAA,IACP,CAAK,GACMG,GAAoBzP,EAAM,OAAO+b,EAAiB,IAAI3M,EAAW,CAAC;AAAA,EAC7E,GAEE,KAAK,gBAAgB,SAAUzyB,GAAM;AACnC,IAAAqjB,EAAM,gBAAe;AAErB,QAAIsP,IAAWF,GAAYzyB,CAAI;AAC/B,WAAOmsB,GAAS9I,EAAM,OAAOsP,CAAQ;AAAA,EACzC,GAEE,KAAK,iBAAiB,SAAUsM,GAAU;AACxC,IAAA5b,EAAM,gBAAe;AAErB,QAAI8b,IAAgB9b,EAAM,gCAAgC4b,CAAQ;AAElE,WAAOE,EAAc,IAAI,SAAUtN,GAAQ3X,GAAO;AAChD,aAAI2X,KAAU,EAAE,0BAA0BA,KACjC;AAAA,QACL,MAAMA,EAAO,YAAa;AAAA,QAC1B,QAAQA,EAAO,UAAW;AAAA,QAC1B,UAAUA,EAAO,YAAa;AAAA,MACxC,IAGa;AAAA,QACL,MAAMY,GAAYwM,EAAS/kB,EAAM;AAAA,QACjC,QAAQ,CAAE;AAAA,QACV,UAAU,CAAE;AAAA,MACpB;AAAA,IACA,CAAK;AAAA,EACL,GAEE,KAAK,gBAAgB,SAAUla,GAAM;AACnC,IAAAqjB,EAAM,gBAAe;AAErB,QAAIsP,IAAWF,GAAYzyB,CAAI,GAE3Bs/B,IAAajc,EAAM,eAAe,CAACsP,CAAQ,CAAC,EAAE;AAElD,WAAO2M,EAAW;AAAA,EACtB,GAEE,KAAK,kBAAkB,SAAUt/B,GAAM;AACrC,IAAAqjB,EAAM,gBAAe;AAErB,QAAIsP,IAAWF,GAAYzyB,CAAI,GAE3Bs/B,IAAajc,EAAM,eAAe,CAACsP,CAAQ,CAAC,EAAE;AAElD,WAAO2M,EAAW;AAAA,EACtB,GAEE,KAAK,kBAAkB,WAAY;AACjC,IAAAjc,EAAM,gBAAe;AAErB,aAAStV,IAAO,UAAU,QAAQ7Q,IAAO,IAAI,MAAM6Q,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,MAAA/Q,EAAK+Q,KAAQ,UAAUA;AAGzB,QAAIsxB,IAAOriC,EAAK,IACZsiC,IAAOtiC,EAAK,IACZ61B,GACA0M,IAAqB;AAEzB,IAAIviC,EAAK,WAAW,IAClB61B,IAAe,OACN71B,EAAK,WAAW,IACrB,MAAM,QAAQqiC,CAAI,KACpBxM,IAAewM,EAAK,IAAI9M,EAAW,GACnCgN,IAAqB,OAErB1M,IAAe,MACf0M,IAAqBF,MAGvBxM,IAAewM,EAAK,IAAI9M,EAAW,GACnCgN,IAAqBD;AAGvB,QAAIL,IAAgB9b,EAAM,iBAAiB,EAAI,GAE3Cqc,IAAiB,SAAwB9U,GAAO;AAClD,aAAOA,EAAM;IACnB;AAGI,QAAI,CAACmI;AACH,aAAO0M,IAAqBN,EAAc,MAAMO,CAAc,IAAIP,EAAc,KAAKO,CAAc;AAIrG,QAAIC,IAAM,IAAI7B;AACd,IAAA/K,EAAa,QAAQ,SAAU6M,GAAe;AAC5C,MAAAD,EAAI,IAAIC,GAAe,CAAA,CAAE;AAAA,IAC/B,CAAK,GACDT,EAAc,QAAQ,SAAUvU,GAAO;AACrC,UAAIiV,IAAgBjV,EAAM;AAE1B,MAAAmI,EAAa,QAAQ,SAAU6M,GAAe;AAC5C,QAAIA,EAAc,MAAM,SAAUpM,GAAU5tB,GAAG;AAC7C,iBAAOi6B,EAAcj6B,OAAO4tB;AAAA,QACtC,CAAS,KACCmM,EAAI,OAAOC,GAAe,SAAUhgB,GAAM;AACxC,iBAAO,CAAA,EAAG,OAAOlQ,GAAmBkQ,CAAI,GAAG,CAACgL,CAAK,CAAC;AAAA,QAC9D,CAAW;AAAA,MAEX,CAAO;AAAA,IACP,CAAK;AAED,QAAIkV,IAAwB,SAA+BC,GAAU;AACnE,aAAOA,EAAS,KAAKL,CAAc;AAAA,IACzC,GAEQM,IAAuBL,EAAI,IAAI,SAAU3rB,GAAO;AAClD,UAAInR,IAAQmR,EAAM;AAClB,aAAOnR;AAAA,IACb,CAAK;AACD,WAAO48B,IAAqBO,EAAqB,MAAMF,CAAqB,IAAIE,EAAqB,KAAKF,CAAqB;AAAA,EACnI,GAEE,KAAK,iBAAiB,SAAU9/B,GAAM;AACpC,WAAAqjB,EAAM,gBAAe,GAEdA,EAAM,gBAAgB,CAACrjB,CAAI,CAAC;AAAA,EACvC,GAEE,KAAK,qBAAqB,SAAUi/B,GAAU;AAC5C,IAAA5b,EAAM,gBAAe;AAErB,QAAI8b,IAAgB9b,EAAM;AAE1B,QAAI,CAAC4b;AACH,aAAOE,EAAc,KAAK,SAAUc,GAAW;AAC7C,eAAOA,EAAU;MACzB,CAAO;AAGH,QAAIlN,IAAekM,EAAS,IAAIxM,EAAW;AAC3C,WAAO0M,EAAc,KAAK,SAAUc,GAAW;AAC7C,UAAIJ,IAAgBI,EAAU;AAC9B,aAAOjN,GAAiBD,GAAc8M,CAAa,KAAKI,EAAU,kBAAiB;AAAA,IACzF,CAAK;AAAA,EACL,GAEE,KAAK,oBAAoB,SAAUjgC,GAAM;AACvC,WAAAqjB,EAAM,gBAAe,GAEdA,EAAM,mBAAmB,CAACrjB,CAAI,CAAC;AAAA,EAC1C,GAEE,KAAK,6BAA6B,WAAY;AAC5C,QAAIqF,IAAO,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GAE3E8O,IAAQ,IAAI2pB,MAEZqB,IAAgB9b,EAAM,iBAAiB,EAAI;AAE/C,IAAA8b,EAAc,QAAQ,SAAUvU,GAAO;AACrC,UAAIyR,IAAezR,EAAM,MAAM,cAC3B+H,IAAW/H,EAAM;AAErB,UAAIyR,MAAiB,QAAW;AAC9B,YAAI6D,IAAU/rB,EAAM,IAAIwe,CAAQ,KAAK,oBAAI;AACzC,QAAAuN,EAAQ,IAAI;AAAA,UACV,QAAQtV;AAAA,UACR,OAAOyR;AAAA,QACjB,CAAS,GACDloB,EAAM,IAAIwe,GAAUuN,CAAO;AAAA,MAC5B;AAAA,IACP,CAAK;AAED,QAAIC,IAAkB,SAAyBJ,GAAU;AACvD,MAAAA,EAAS,QAAQ,SAAUnV,GAAO;AAChC,YAAIyR,IAAezR,EAAM,MAAM;AAE/B,YAAIyR,MAAiB,QAAW;AAC9B,cAAI1J,IAAW/H,EAAM,eAEjBwV,IAAmB/c,EAAM,gBAAgBsP,CAAQ;AAErD,cAAIyN,MAAqB;AAEvBj2B,YAAAA,GAAQ,IAAO,+CAA+C,OAAOwoB,EAAS,KAAK,GAAG,GAAG,gCAAgC,CAAC;AAAA,eACrH;AACL,gBAAIuN,IAAU/rB,EAAM,IAAIwe,CAAQ;AAEhC,gBAAIuN,KAAWA,EAAQ,OAAO;AAE5B/1B,cAAAA,GAAQ,IAAO,6BAA6B,OAAOwoB,EAAS,KAAK,GAAG,GAAG,yDAAyD,CAAC;AAAA,qBACxHuN,GAAS;AAClB,kBAAIG,IAAchd,EAAM,cAAcsP,CAAQ;AAG9C,eAAI,CAACttB,EAAK,aAAag7B,MAAgB,WACrChd,EAAM,YAAYuP,GAASvP,EAAM,OAAOsP,GAAUjjB,GAAmBwwB,CAAO,EAAE,GAAG,KAAK,CAAC;AAAA,YAE1F;AAAA,UACF;AAAA,QACF;AAAA,MACT,CAAO;AAAA,IACP,GAEQI;AAEJ,IAAIj7B,EAAK,WACPi7B,IAAwBj7B,EAAK,WACpBA,EAAK,gBACdi7B,IAAwB,CAAA,GACxBj7B,EAAK,aAAa,QAAQ,SAAUstB,GAAU;AAC5C,UAAIuN,IAAU/rB,EAAM,IAAIwe,CAAQ;AAEhC,UAAIuN,GAAS;AACX,YAAIK;AAEJ,SAACA,IAAwBD,GAAuB,KAAK,MAAMC,GAAuB7wB,GAAmBA,GAAmBwwB,CAAO,EAAE,IAAI,SAAUn1B,GAAG;AAChJ,iBAAOA,EAAE;AAAA,QACV,CAAA,CAAC,CAAC;AAAA,MACJ;AAAA,IACT,CAAO,KAEDu1B,IAAwBnB,GAG1BgB,EAAgBG,CAAqB;AAAA,EACzC,GAEE,KAAK,cAAc,SAAUrB,GAAU;AACrC,IAAA5b,EAAM,gBAAe;AAErB,QAAIuV,IAAYvV,EAAM;AAEtB,QAAI,CAAC4b,GAAU;AACb,MAAA5b,EAAM,YAAYgQ,GAAU,CAAE,GAAEhQ,EAAM,aAAa,CAAC,GAEpDA,EAAM,2BAA0B,GAEhCA,EAAM,gBAAgBuV,GAAW,MAAM;AAAA,QACrC,MAAM;AAAA,MACd,CAAO,GAEDvV,EAAM,YAAW;AAEjB;AAAA,IACD;AAGD,QAAI0P,IAAekM,EAAS,IAAIxM,EAAW;AAC3C,IAAAM,EAAa,QAAQ,SAAUJ,GAAU;AACvC,UAAI0J,IAAehZ,EAAM,gBAAgBsP,CAAQ;AAEjD,MAAAtP,EAAM,YAAYuP,GAASvP,EAAM,OAAOsP,GAAU0J,CAAY,CAAC;AAAA,IACrE,CAAK,GAEDhZ,EAAM,2BAA2B;AAAA,MAC/B,cAAc0P;AAAA,IACpB,CAAK,GAED1P,EAAM,gBAAgBuV,GAAW7F,GAAc;AAAA,MAC7C,MAAM;AAAA,IACZ,CAAK,GAED1P,EAAM,YAAY0P,CAAY;AAAA,EAClC,GAEE,KAAK,YAAY,SAAUhpB,GAAQ;AACjC,IAAAsZ,EAAM,gBAAe;AAErB,QAAIuV,IAAYvV,EAAM,OAClB0P,IAAe,CAAA;AACnB,IAAAhpB,EAAO,QAAQ,SAAUy2B,GAAW;AAC/B,UAACxgC,IAAOwgC,EAAU;AACR,MAAAA,EAAU;AAC7B,UAAU/P,IAAOrgB,GAAyBowB,GAAW/I,EAAS,GAEpD9E,IAAWF,GAAYzyB,CAAI;AAC/B,MAAA+yB,EAAa,KAAKJ,CAAQ,GAEtB,WAAWlC,KACbpN,EAAM,YAAYuP,GAASvP,EAAM,OAAOsP,GAAUlC,EAAK,KAAK,CAAC,GAG/DpN,EAAM,gBAAgBuV,GAAW,CAACjG,CAAQ,GAAG;AAAA,QAC3C,MAAM;AAAA,QACN,MAAM6N;AAAA,MACd,CAAO;AAAA,IACP,CAAK,GAEDnd,EAAM,YAAY0P,CAAY;AAAA,EAClC,GAEE,KAAK,YAAY,WAAY;AAC3B,QAAIgN,IAAW1c,EAAM,iBAAiB,EAAI,GAEtCtZ,IAASg2B,EAAS,IAAI,SAAUnV,GAAO;AACzC,UAAI+H,IAAW/H,EAAM,eACjByP,IAAOzP,EAAM,WAEb4V,IAAYv2B,EAAcA,EAAc,CAAA,GAAIowB,CAAI,GAAG,IAAI;AAAA,QACzD,MAAM1H;AAAA,QACN,OAAOtP,EAAM,cAAcsP,CAAQ;AAAA,MAC3C,CAAO;AAED,oBAAO,eAAe6N,GAAW,iBAAiB;AAAA,QAChD,OAAO;AAAA,MACf,CAAO,GACMA;AAAA,IACb,CAAK;AACD,WAAOz2B;AAAA,EACX,GAEE,KAAK,kBAAkB,SAAU8nB,GAAQ;AACvC,QAAIwK,IAAexK,EAAO,MAAM;AAEhC,QAAIwK,MAAiB,QAAW;AAC9B,UAAI1J,IAAWd,EAAO,eAClB3gB,IAAYib,GAAS9I,EAAM,OAAOsP,CAAQ;AAE9C,MAAIzhB,MAAc,UAChBmS,EAAM,YAAYuP,GAASvP,EAAM,OAAOsP,GAAU0J,CAAY,CAAC;AAAA,IAElE;AAAA,EACL,GAEE,KAAK,mBAAmB,SAAUoE,GAAe;AAC/C,QAAIC,IAAiBD,MAAkB,SAAYA,IAAgBpd,EAAM;AACzE,WAAOqd,KAAwE;AAAA,EACnF,GAEE,KAAK,gBAAgB,SAAU7O,GAAQ;AACrC,IAAAxO,EAAM,cAAc,KAAKwO,CAAM;AAE/B,QAAIc,IAAWd,EAAO;AAKtB,QAHAxO,EAAM,YAAY,CAACsP,CAAQ,CAAC,GAGxBd,EAAO,MAAM,iBAAiB,QAAW;AAC3C,UAAI+G,IAAYvV,EAAM;AAEtB,MAAAA,EAAM,2BAA2B;AAAA,QAC/B,UAAU,CAACwO,CAAM;AAAA,QACjB,WAAW;AAAA,MACnB,CAAO,GAEDxO,EAAM,gBAAgBuV,GAAW,CAAC/G,EAAO,YAAa,CAAA,GAAG;AAAA,QACvD,MAAM;AAAA,QACN,QAAQ;AAAA,MAChB,CAAO;AAAA,IACF;AAGD,WAAO,SAAUqG,GAAaD,GAAU;AACtC,UAAI0I,IAAc,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA;AAKtF,UAJAtd,EAAM,gBAAgBA,EAAM,cAAc,OAAO,SAAU5lB,GAAM;AAC/D,eAAOA,MAASo0B;AAAA,MACxB,CAAO,GAEG,CAACxO,EAAM,iBAAiB4U,CAAQ,MAAM,CAACC,KAAeyI,EAAY,SAAS,IAAI;AACjF,YAAI3D,IAAe9E,IAAc,SAAY7U,EAAM,gBAAgBsP,CAAQ;AAE3E,YAAIA,EAAS,UAAUtP,EAAM,cAAcsP,CAAQ,MAAMqK,KAAgB3Z,EAAM,cAAc,MAAM,SAAUuH,GAAO;AAClH,iBACE,CAACqI,GAAcrI,EAAM,YAAW,GAAI+H,CAAQ;AAAA,QAExD,CAAS,GAAG;AACF,cAAIiO,IAAavd,EAAM;AAEvB,UAAAA,EAAM,YAAYuP,GAASgO,GAAYjO,GAAUqK,GAAc,EAAI,CAAC,GAGpE3Z,EAAM,gBAAgBud,GAAY,CAACjO,CAAQ,GAAG;AAAA,YAC5C,MAAM;AAAA,UAClB,CAAW,GAGDtP,EAAM,0BAA0Bud,GAAYjO,CAAQ;AAAA,QACrD;AAAA,MACF;AAED,MAAAtP,EAAM,YAAY,CAACsP,CAAQ,CAAC;AAAA,IAClC;AAAA,EACA,GAEE,KAAK,WAAW,SAAUkO,GAAQ;AAChC,YAAQA,EAAO,MAAI;AAAA,MACjB,KAAK,eACH;AACE,YAAIlO,IAAWkO,EAAO,UAClBh+B,IAAQg+B,EAAO;AAEnB,QAAAxd,EAAM,YAAYsP,GAAU9vB,CAAK;AAEjC;AAAA,MACD;AAAA,MAEH,KAAK,iBACH;AACE,YAAIi+B,IAAYD,EAAO,UACnBpH,IAAcoH,EAAO;AAEzB,QAAAxd,EAAM,eAAe,CAACyd,CAAS,GAAG;AAAA,UAChC,aAAarH;AAAA,QACzB,CAAW;AAED;AAAA,MACD;AAAA,IAIJ;AAAA,EACL,GAEE,KAAK,kBAAkB,SAAUb,GAAW7F,GAAc1tB,GAAM;AAC9D,QAAIge,EAAM,cAAc;AACtB,UAAI0d,IAAa92B,EAAcA,EAAc,CAAA,GAAI5E,CAAI,GAAG,IAAI;AAAA,QAC1D,OAAOge,EAAM,eAAe,EAAI;AAAA,MACxC,CAAO;AAED,MAAAA,EAAM,iBAAgB,EAAG,QAAQ,SAAU/O,GAAO;AAChD,YAAI0sB,IAAgB1sB,EAAM;AAC1B,QAAA0sB,EAAcpI,GAAW7F,GAAcgO,CAAU;AAAA,MACzD,CAAO;AAAA,IACP;AACM,MAAA1d,EAAM,gBAAe;AAAA,EAE3B,GAEE,KAAK,4BAA4B,SAAUuV,GAAWjG,GAAU;AAC9D,QAAIsO,IAAiB5d,EAAM,4BAA4BsP,CAAQ;AAE/D,WAAIsO,EAAe,UACjB5d,EAAM,eAAe4d,CAAc,GAGrC5d,EAAM,gBAAgBuV,GAAWqI,GAAgB;AAAA,MAC/C,MAAM;AAAA,MACN,eAAe,CAACtO,CAAQ,EAAE,OAAOjjB,GAAmBuxB,CAAc,CAAC;AAAA,IACzE,CAAK,GAEMA;AAAA,EACX,GAEE,KAAK,cAAc,SAAUjhC,GAAM6C,GAAO;AACxC,QAAI8vB,IAAWF,GAAYzyB,CAAI,GAC3B44B,IAAYvV,EAAM;AAEtB,IAAAA,EAAM,YAAYuP,GAASvP,EAAM,OAAOsP,GAAU9vB,CAAK,CAAC,GAExDwgB,EAAM,gBAAgBuV,GAAW,CAACjG,CAAQ,GAAG;AAAA,MAC3C,MAAM;AAAA,MACN,QAAQ;AAAA,IACd,CAAK,GAEDtP,EAAM,YAAY,CAACsP,CAAQ,CAAC;AAG5B,QAAIsO,IAAiB5d,EAAM,0BAA0BuV,GAAWjG,CAAQ,GAGpEuO,IAAiB7d,EAAM,UAAU;AAErC,QAAI6d,GAAgB;AAClB,UAAIC,IAAgBrO,GAAoBzP,EAAM,OAAO,CAACsP,CAAQ,CAAC;AAC/D,MAAAuO,EAAeC,GAAe9d,EAAM,eAAgB,CAAA;AAAA,IACrD;AAED,IAAAA,EAAM,sBAAsB,CAACsP,CAAQ,EAAE,OAAOjjB,GAAmBuxB,CAAc,CAAC,CAAC;AAAA,EACrF,GAEE,KAAK,iBAAiB,SAAUvO,GAAO;AACrC,IAAArP,EAAM,gBAAe;AAErB,QAAIuV,IAAYvV,EAAM;AAEtB,QAAIqP,GAAO;AACT,UAAIiM,IAAYtL,GAAUhQ,EAAM,OAAOqP,CAAK;AAE5C,MAAArP,EAAM,YAAYsb,CAAS;AAAA,IAC5B;AAED,IAAAtb,EAAM,gBAAgBuV,GAAW,MAAM;AAAA,MACrC,MAAM;AAAA,MACN,QAAQ;AAAA,IACd,CAAK,GAEDvV,EAAM,YAAW;AAAA,EACrB,GAEE,KAAK,gBAAgB,SAAUrjB,GAAM6C,GAAO;AAC1C,IAAAwgB,EAAM,UAAU,CAAC;AAAA,MACf,MAAMrjB;AAAA,MACN,OAAO6C;AAAA,IACR,CAAA,CAAC;AAAA,EACN,GAEE,KAAK,8BAA8B,SAAUu+B,GAAc;AACzD,QAAIx6B,IAAW,oBAAI,OACfq6B,IAAiB,CAAA,GACjBI,IAAsB,IAAIvD;AAM9B,IAAAza,EAAM,iBAAgB,EAAG,QAAQ,SAAUuH,GAAO;AAChD,UAAImO,IAAenO,EAAM,MAAM;AAC/B,OAACmO,KAAgB,CAAA,GAAI,QAAQ,SAAUK,GAAY;AACjD,YAAIkI,IAAqB7O,GAAY2G,CAAU;AAC/C,QAAAiI,EAAoB,OAAOC,GAAoB,WAAY;AACzD,cAAIv3B,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,oBAAI,IAAG;AACxF,iBAAAA,EAAO,IAAI6gB,CAAK,GACT7gB;AAAA,QACjB,CAAS;AAAA,MACT,CAAO;AAAA,IACP,CAAK;AAED,QAAIw3B,IAAe,SAASA,EAAa5O,GAAU;AACjD,UAAI5oB,IAASs3B,EAAoB,IAAI1O,CAAQ,KAAK,oBAAI;AACtD,MAAA5oB,EAAO,QAAQ,SAAU6gB,GAAO;AAC9B,YAAI,CAAChkB,EAAS,IAAIgkB,CAAK,GAAG;AACxB,UAAAhkB,EAAS,IAAIgkB,CAAK;AAClB,cAAIiV,IAAgBjV,EAAM;AAE1B,UAAIA,EAAM,kBAAkBiV,EAAc,WACxCoB,EAAe,KAAKpB,CAAa,GACjC0B,EAAa1B,CAAa;AAAA,QAE7B;AAAA,MACT,CAAO;AAAA,IACP;AAEI,WAAA0B,EAAaH,CAAY,GAClBH;AAAA,EACX,GAEE,KAAK,wBAAwB,SAAUlO,GAAcyO,GAAa;AAChE,QAAIC,IAAiBpe,EAAM,UAAU;AAErC,QAAIoe,GAAgB;AAClB,UAAI13B,IAASsZ,EAAM;AAMnB,UAAIme,GAAa;AACf,YAAIrtB,IAAQ,IAAI2pB;AAChB,QAAA0D,EAAY,QAAQ,SAAUjtB,GAAO;AACnC,cAAIvU,IAAOuU,EAAM,MACbmW,IAASnW,EAAM;AACnB,UAAAJ,EAAM,IAAInU,GAAM0qB,CAAM;AAAA,QAChC,CAAS,GACD3gB,EAAO,QAAQ,SAAU6gB,GAAO;AAE9B,UAAAA,EAAM,SAASzW,EAAM,IAAIyW,EAAM,IAAI,KAAKA,EAAM;AAAA,QACxD,CAAS;AAAA,MACF;AAED,UAAI8W,IAAgB33B,EAAO,OAAO,SAAUotB,GAAO;AACjD,YAAIwK,IAAYxK,EAAM;AACtB,eAAOnE,GAAiBD,GAAc4O,CAAS;AAAA,MACvD,CAAO;AACD,MAAAF,EAAeC,GAAe33B,CAAM;AAAA,IACrC;AAAA,EACL,GAEE,KAAK,iBAAiB,SAAUk1B,GAAUxS,GAAS;AACjD,IAAApJ,EAAM,gBAAe;AAErB,QAAIue,IAAkB,CAAC,CAAC3C,GACpBlM,IAAe6O,IAAkB3C,EAAS,IAAIxM,EAAW,IAAI,IAE7DiL,IAAc,CAAA;AAElB,IAAAra,EAAM,iBAAiB,EAAI,EAAE,QAAQ,SAAUuH,GAAO;AAWpD,UATKgX,KACH7O,EAAa,KAAKnI,EAAM,YAAa,CAAA,IAQlC6B,KAAY,OAA6B,SAASA,EAAQ,cAAcmV,GAAiB;AAC5F,YAAIjP,IAAW/H,EAAM;AAErB,QAEA+H,EAAS,MAAM,SAAUa,GAAU5tB,GAAG;AACpC,iBAAOq5B,EAASr5B,OAAO4tB,KAAYyL,EAASr5B,OAAO;AAAA,QAC7D,CAAS,KACCmtB,EAAa,KAAKJ,CAAQ;AAAA,MAE7B;AAGD,UAAI,GAAC/H,EAAM,MAAM,SAAS,CAACA,EAAM,MAAM,MAAM,SAI7C;AAAA,YAAIiV,IAAgBjV,EAAM;AAE1B,YAAI,CAACgX,KAAmB5O,GAAiBD,GAAc8M,CAAa,GAAG;AACrE,cAAI3J,IAAUtL,EAAM,cAAc3gB,EAAc;AAAA,YAC9C,kBAAkBA,EAAcA,EAAc,CAAA,GAAI0nB,EAAuB,GAAGtO,EAAM,gBAAgB;AAAA,UAC5G,GAAWoJ,CAAO,CAAC;AAEX,UAAAiR,EAAY,KAAKxH,EAAQ,KAAK,WAAY;AACxC,mBAAO;AAAA,cACL,MAAM2J;AAAA,cACN,QAAQ,CAAE;AAAA,cACV,UAAU,CAAE;AAAA,YACxB;AAAA,UACA,CAAS,EAAE,MAAM,SAAUhG,GAAY;AAC7B,gBAAIC,GAEA+H,IAAe,CAAA,GACfC,IAAiB,CAAA;AAYrB,oBAXChI,IAAsBD,EAAW,aAAa,QAAQC,MAAwB,UAAkBA,EAAoB,KAAKD,GAAY,SAAUkI,GAAO;AACrJ,kBAAI9H,IAAc8H,EAAM,KAAK,aACzBrX,IAASqX,EAAM;AAEnB,cAAI9H,IACF6H,EAAe,KAAK,MAAMA,GAAgBpyB,GAAmBgb,CAAM,CAAC,IAEpEmX,EAAa,KAAK,MAAMA,GAAcnyB,GAAmBgb,CAAM,CAAC;AAAA,YAE9E,CAAW,GAEGmX,EAAa,SACR,QAAQ,OAAO;AAAA,cACpB,MAAMhC;AAAA,cACN,QAAQgC;AAAA,cACR,UAAUC;AAAA,YACxB,CAAa,IAGI;AAAA,cACL,MAAMjC;AAAA,cACN,QAAQgC;AAAA,cACR,UAAUC;AAAA,YACtB;AAAA,UACS,CAAA,CAAC;AAAA,QACH;AAAA;AAAA,IACP,CAAK;AAED,QAAIvL,IAAiBkH,GAAiBC,CAAW;AACjD,IAAAra,EAAM,sBAAsBkT,GAE5BA,EAAe,MAAM,SAAUrL,GAAS;AACtC,aAAOA;AAAA,IACb,CAAK,EAAE,KAAK,SAAUA,GAAS;AACzB,UAAI8W,IAAqB9W,EAAQ,IAAI,SAAU+W,GAAO;AACpD,YAAIjiC,IAAOiiC,EAAM;AACjB,eAAOjiC;AAAA,MACf,CAAO;AAED,MAAAqjB,EAAM,gBAAgBA,EAAM,OAAO2e,GAAoB;AAAA,QACrD,MAAM;AAAA,MACd,CAAO,GAED3e,EAAM,sBAAsB2e,GAAoB9W,CAAO;AAAA,IAC7D,CAAK;AACD,QAAIgX,IAAgB3L,EAAe,KAAK,WAAY;AAClD,aAAIlT,EAAM,wBAAwBkT,IACzB,QAAQ,QAAQlT,EAAM,eAAe0P,CAAY,CAAC,IAGpD,QAAQ,OAAO,CAAA,CAAE;AAAA,IAC9B,CAAK,EAAE,MAAM,SAAU7H,GAAS;AAC1B,UAAI6F,IAAY7F,EAAQ,OAAO,SAAU3H,GAAQ;AAC/C,eAAOA,KAAUA,EAAO,OAAO;AAAA,MACvC,CAAO;AACD,aAAO,QAAQ,OAAO;AAAA,QACpB,QAAQF,EAAM,eAAe0P,CAAY;AAAA,QACzC,aAAahC;AAAA,QACb,WAAW1N,EAAM,wBAAwBkT;AAAA,MACjD,CAAO;AAAA,IACP,CAAK;AAED,WAAA2L,EAAc,MAAM,SAAU1mC,GAAG;AAC/B,aAAOA;AAAA,IACb,CAAK,GACM0mC;AAAA,EACX,GAEE,KAAK,SAAS,WAAY;AACxB,IAAA7e,EAAM,gBAAe,GAErBA,EAAM,eAAc,EAAG,KAAK,SAAUnhB,GAAQ;AAC5C,UAAIigC,IAAW9e,EAAM,UAAU;AAE/B,UAAI8e;AACF,YAAI;AACF,UAAAA,EAASjgC,CAAM;AAAA,QAChB,SAAQM,GAAP;AAEA,kBAAQ,MAAMA,CAAG;AAAA,QAClB;AAAA,IAET,CAAK,EAAE,MAAM,SAAUhH,GAAG;AACpB,UAAI4mC,IAAiB/e,EAAM,UAAU;AAErC,MAAI+e,KACFA,EAAe5mC,CAAC;AAAA,IAExB,CAAK;AAAA,EACL,GAEE,KAAK,kBAAkB+iC;AACzB,CAAC;AAED,SAAS8D,GAAQC,GAAM;AACrB,MAAIC,IAAU5mC,EAAM,UAEhB6mC,IAAkB7mC,EAAM,SAAS,EAAE,GACnC8mC,IAAmB7vB,EAAe4vB,GAAiB,CAAC,GACpDE,IAAcD,EAAiB;AAEnC,MAAI,CAACF,EAAQ;AACX,QAAID;AACF,MAAAC,EAAQ,UAAUD;AAAA,SACb;AAEL,UAAIK,IAAgB,WAAyB;AAC3C,QAAAD,EAAY,CAAE,CAAA;AAAA,MACtB,GAEUE,IAAY,IAAItE,GAAUqE,CAAa;AAC3C,MAAAJ,EAAQ,UAAUK,EAAU;IAC7B;AAGH,SAAO,CAACL,EAAQ,OAAO;AACzB;ACj9BA,IAAIM,KAA2B,gBAAAlnC,EAAM,cAAc;AAAA,EACjD,mBAAmB,WAA6B;AAAA,EAAE;AAAA,EAClD,mBAAmB,WAA6B;AAAA,EAAE;AAAA,EAClD,cAAc,WAAwB;AAAA,EAAE;AAAA,EACxC,gBAAgB,WAA0B;AAAA,EAAE;AAC9C,CAAC,GAEGmnC,KAAe,SAAsB/uB,GAAM;AAC7C,MAAIgrB,IAAmBhrB,EAAK,kBACxBgvB,IAAehvB,EAAK,cACpBivB,IAAejvB,EAAK,cACpBnN,IAAWmN,EAAK,UAChBkvB,IAActnC,EAAM,WAAWknC,EAAW,GAC1CK,IAAWvnC,EAAM,OAAO,CAAE,CAAA;AAC9B,SAAoB,gBAAAA,EAAM,cAAcknC,GAAY,UAAU;AAAA,IAC5D,OAAO54B,EAAcA,EAAc,CAAE,GAAEg5B,CAAW,GAAG,CAAA,GAAI;AAAA,MACvD,kBAAkBh5B,EAAcA,EAAc,CAAA,GAAIg5B,EAAY,gBAAgB,GAAGlE,CAAgB;AAAA,MAIjG,mBAAmB,SAA2B/+B,GAAM0hC,GAAe;AACjE,QAAIqB,KACFA,EAAa/iC,GAAM;AAAA,UACjB,eAAe0hC;AAAA,UACf,OAAOwB,EAAS;AAAA,QAC5B,CAAW,GAGHD,EAAY,kBAAkBjjC,GAAM0hC,CAAa;AAAA,MAClD;AAAA,MACD,mBAAmB,SAA2B1hC,GAAMkC,GAAQ;AAC1D,QAAI8gC,KACFA,EAAahjC,GAAM;AAAA,UACjB,QAAQkC;AAAA,UACR,OAAOghC,EAAS;AAAA,QAC5B,CAAW,GAGHD,EAAY,kBAAkBjjC,GAAMkC,CAAM;AAAA,MAC3C;AAAA,MACD,cAAc,SAAsBlC,GAAMsiC,GAAM;AAC9C,QAAItiC,MACFkjC,EAAS,UAAUj5B,EAAcA,EAAc,CAAA,GAAIi5B,EAAS,OAAO,GAAG,CAAA,GAAI75B,EAAgB,CAAA,GAAIrJ,GAAMsiC,CAAI,CAAC,IAG3GW,EAAY,aAAajjC,GAAMsiC,CAAI;AAAA,MACpC;AAAA,MACD,gBAAgB,SAAwBtiC,GAAM;AAC5C,YAAImjC,IAAWl5B,EAAc,CAAE,GAAEi5B,EAAS,OAAO;AAEjD,eAAOC,EAASnjC,IAChBkjC,EAAS,UAAUC,GACnBF,EAAY,eAAejjC,CAAI;AAAA,MAChC;AAAA,IACP,CAAK;AAAA,EACF,GAAE4G,CAAQ;AACb,GCvDI6wB,KAAY,CAAC,QAAQ,iBAAiB,UAAU,QAAQ,YAAY,YAAY,aAAa,oBAAoB,mBAAmB,kBAAkB,kBAAkB,YAAY,gBAAgB,GAOpM2L,KAAO,SAAcrvB,GAAM5P,GAAK;AAClC,MAAInE,IAAO+T,EAAK,MACZ0qB,IAAgB1qB,EAAK,eACrBhK,IAASgK,EAAK,QACduuB,IAAOvuB,EAAK,MACZkkB,IAAWlkB,EAAK,UAChBnN,IAAWmN,EAAK,UAChBsvB,IAAiBtvB,EAAK,WACtBvS,IAAY6hC,MAAmB,SAAS,SAASA,GACjDtE,IAAmBhrB,EAAK,kBACxBuvB,IAAuBvvB,EAAK,iBAC5B4lB,IAAkB2J,MAAyB,SAAS,aAAaA,GACjEpC,IAAiBntB,EAAK,gBACtBwvB,IAAkBxvB,EAAK,gBACvByvB,IAAYzvB,EAAK,UACjBquB,IAAiBruB,EAAK,gBACtBmoB,IAAY9rB,GAAyB2D,GAAM0jB,EAAS,GAEpDwL,IAActnC,EAAM,WAAWknC,EAAW,GAG1CY,IAAWpB,GAAQC,CAAI,GACvBoB,IAAY9wB,EAAe6wB,GAAU,CAAC,GACtCE,IAAeD,EAAU,IAEzBE,IAAwBD,EAAa,iBAAiB9d,EAAS,GAC/Dge,IAAeD,EAAsB,cACrCE,IAAmBF,EAAsB,kBACzCG,IAAeH,EAAsB,cACrCI,IAAsBJ,EAAsB,qBAC5CK,IAAcL,EAAsB,aACpCM,IAAcN,EAAsB;AAGxC,EAAAjoC,EAAM,oBAAoBwI,GAAK,WAAY;AACzC,WAAOw/B;AAAA,EACX,CAAG,GAEDhoC,EAAM,UAAU,WAAY;AAC1B,WAAAsnC,EAAY,aAAajjC,GAAM2jC,CAAY,GACpC,WAAY;AACjB,MAAAV,EAAY,eAAejjC,CAAI;AAAA,IACrC;AAAA,EACG,GAAE,CAACijC,GAAaU,GAAc3jC,CAAI,CAAC,GAEpCgkC,EAAoB/5B,EAAcA,EAAc,CAAE,GAAEg5B,EAAY,gBAAgB,GAAGlE,CAAgB,CAAC,GACpGgF,EAAa;AAAA,IACX,gBAAgB7C;AAAA,IAChB,gBAAgB,SAAwBQ,GAAe;AAGrD,UAFAuB,EAAY,kBAAkBjjC,GAAM0hC,CAAa,GAE7C6B,GAAiB;AACnB,iBAASx1B,IAAO,UAAU,QAAQo2B,KAAO,IAAI,MAAMp2B,IAAO,IAAIA,IAAO,IAAI,CAAC,GAAGE,KAAO,GAAGA,KAAOF,GAAME;AAClG,UAAAk2B,GAAKl2B,KAAO,KAAK,UAAUA;AAG7B,QAAAs1B,EAAgB,MAAM,QAAQ,CAAC7B,CAAa,EAAE,OAAOyC,EAAI,CAAC;AAAA,MAC3D;AAAA,IACF;AAAA,IACD,UAAU,SAAkBjiC,GAAQ;AAClC,MAAA+gC,EAAY,kBAAkBjjC,GAAMkC,CAAM,GAEtCshC,KACFA,EAAUthC,CAAM;AAAA,IAEnB;AAAA,IACD,gBAAgBkgC;AAAA,EACpB,CAAG,GACD6B,EAAYhM,CAAQ;AAEpB,MAAImM,IAAWzoC,EAAM,OAAO,IAAI;AAChC,EAAAmoC,EAAiBrF,GAAe,CAAC2F,EAAS,OAAO,GAE5CA,EAAS,YACZA,EAAS,UAAU,KAGrBzoC,EAAM;AAAA,IAAU,WAAY;AAC1B,aAAOuoC;AAAA,IACR;AAAA,IACD,CAAA;AAAA,EAAE;AAEF,MAAIG,GACAC,IAAsB,OAAO19B,KAAa;AAE9C,MAAI09B,GAAqB;AACvB,QAAIpiC,IAASyhC,EAAa,eAAe,EAAI;AAC7C,IAAAU,IAAez9B,EAAS1E,GAAQyhC,CAAY;AAAA,EAChD;AACI,IAAAU,IAAez9B;AAIjB,EAAAi9B,EAAa,CAACS,CAAmB;AAEjC,MAAIC,IAAgB5oC,EAAM;AAC1B,EAAAA,EAAM,UAAU,WAAY;AAC1B,IAAK83B,GAAU8Q,EAAc,WAAW,CAAA,GAAIx6B,KAAU,CAAA,CAAE,KACtD45B,EAAa,UAAU55B,KAAU,CAAA,CAAE,GAGrCw6B,EAAc,UAAUx6B;AAAA,EAC5B,GAAK,CAACA,GAAQ45B,CAAY,CAAC;AACzB,MAAIa,IAAmB7oC,EAAM,QAAQ,WAAY;AAC/C,WAAOsO,EAAcA,EAAc,CAAE,GAAE05B,CAAY,GAAG,CAAA,GAAI;AAAA,MACxD,iBAAiBhK;AAAA,IACvB,CAAK;AAAA,EACL,GAAK,CAACgK,GAAchK,CAAe,CAAC,GAC9B8K,IAA2B,gBAAA9oC,EAAM,cAAcqgC,GAAa,UAAU;AAAA,IACxE,OAAOwI;AAAA,EACR,GAAEH,CAAY;AAEf,SAAI7iC,MAAc,KACTijC,IAGW,gBAAA9oC,EAAM,cAAc6F,GAAW0X,GAAS,CAAA,GAAIgjB,GAAW;AAAA,IACzE,UAAU,SAAkBnI,GAAO;AACjC,MAAAA,EAAM,eAAc,GACpBA,EAAM,gBAAe,GACrB4P,EAAa,OAAM;AAAA,IACpB;AAAA,IACD,SAAS,SAAiB5P,GAAO;AAC/B,UAAI2Q;AAEJ,MAAA3Q,EAAM,eAAc,GACpB4P,EAAa,YAAW,IACvBe,IAAqBxI,EAAU,aAAa,QAAQwI,MAAuB,UAAkBA,EAAmB,KAAKxI,GAAWnI,CAAK;AAAA,IACvI;AAAA,EACL,CAAG,GAAG0Q,CAAW;AACjB;ACvIO,SAASjnB,GAAU3a,GAAO;AAC/B,MAAI;AACF,WAAO,KAAK,UAAUA,CAAK;AAAA,EAC5B,QAAC;AACA,WAAO,KAAK;EACb;AACH;AAEA,SAAS8hC,KAAW;AAClB,MAAI5L,IAAe,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GACnFuJ,IAAO,UAAU,SAAS,IAAI,UAAU,KAAK,QAE7CsC,IAAYC,GAAU,GACtBC,IAAalyB,EAAegyB,GAAW,CAAC,GACxC/hC,IAAQiiC,EAAW,IACnBlS,IAAWkS,EAAW,IAEtBC,IAAWC,GAAQ,WAAY;AACjC,WAAOxnB,GAAU3a,CAAK;AAAA,EAC1B,GAAK,CAACA,CAAK,CAAC,GACNoiC,IAAcC,GAAOH,CAAQ;AACjC,EAAAE,EAAY,UAAUF;AACtB,MAAI3M,IAAe+M,GAAWnJ,EAAY,GACtC2H,IAAerB,KAAQlK,GACvBgN,IAAczB,KAAgBA,EAAa;AAE/C,EAAI,QAAQ,IAAI,aAAa,gBAC3Bx5B,GAAQi7B,GAAa,8EAA8E;AAGrG,MAAIzS,IAAWF,GAAYsG,CAAY,GACnCsM,IAAcH,GAAOvS,CAAQ;AACjC,SAAA0S,EAAY,UAAU1S,GACtB2S;AAAA,IAAU,WAAY;AAEpB,UAAI,EAACF,GAIL;AAAA,YAAI5K,IAAiBmJ,EAAa,gBAC9B3I,IAAmB2I,EAAa,kBAEhC1I,IAAoBD,EAAiBnV,EAAS,GAC9C0f,IAAgBtK,EAAkB,eAElCuK,IAAiBD,EAAc,SAAU7S,GAAO;AAClD,cAAI2I,IAAWlP,GAASuG,GAAO2S,EAAY,OAAO,GAC9CI,IAAejoB,GAAU6d,CAAQ;AAErC,UAAI4J,EAAY,YAAYQ,MAC1BR,EAAY,UAAUQ,GACtB7S,EAASyI,CAAQ;AAAA,QAEzB,CAAK,GAEGgB,IAAelQ,GAASqO,EAAgB,GAAE6K,EAAY,OAAO;AACjE,eAAAzS,EAASyJ,CAAY,GACdmJ;AAAA;AAAA,IACR;AAAA,IAED,CAAA;AAAA,EAAE,GACK3iC;AACT;AC3DA,IAAI6iC,KAA4B,gBAAA/pC,EAAM,WAAWgqC,EAAS,GACtDC,KAAUF;AACdE,GAAQ,eAAe9C;AACvB8C,GAAQ,QAAQ/N;AAChB+N,GAAQ,OAAOxJ;AACfwJ,GAAQ,UAAUvD;AAClBuD,GAAQ,WAAWjB;ACfnB,MAAekB,KAAA;AAAA,EAEb,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,MAAM;AAAA,EAEN,WAAW;AAAA,EACX,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,WAAW;AACb;ACdA,IAAIC,KAAS;AAAA,EACX,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,aAAa;AAAA,EACb,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,WAAW;AAAA,EACX,cAAc;AAAA,EACd,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,aAAa;AACf;AC5BA,MAAMA,KAAS;AAAA,EACb,aAAa;AAAA,EACb,kBAAkB,CAAC,cAAc,UAAU;AAC7C,GACAC,KAAeD,ICDTA,KAAS;AAAA,EACb,MAAM,OAAO,OAAO;AAAA,IAClB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,oBAAoB;AAAA,IACpB,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,kBAAkB,CAAC,cAAc,UAAU;AAAA,IAC3C,sBAAsB,CAAC,cAAc,UAAU;AAAA,IAC/C,yBAAyB,CAAC,iBAAiB,aAAa;AAAA,IACxD,uBAAuB,CAAC,eAAe,WAAW;AAAA,IAClD,sBAAsB,CAAC,cAAc,UAAU;AAAA,EAChD,GAAEE,EAAc;AAAA,EACjB,kBAAkB,OAAO,OAAO,CAAA,GAAIC,EAAgB;AACtD,GAGAC,KAAeJ,ICfTpU,KAAe,mCACfyU,KAAe;AAAA,EACnB,QAAQ;AAAA,EACR,YAAAN;AAAA,EACF,YAAEO;AAAAA,EACA,YAAAL;AAAA,EACF,UAAEM;AAAAA,EACA,QAAQ;AAAA,IACN,aAAa;AAAA,EACd;AAAA,EACD,OAAO;AAAA,IACL,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,yBAAyB;AAAA,IACzB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,YAAY;AAAA,EACb;AAAA,EACD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,EACT;AAAA,EACD,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,YAAY;AAAA,EACb;AAAA,EACD,YAAY;AAAA,IACV,QAAQ;AAAA,IACR,YAAY;AAAA,EACb;AAAA,EACD,UAAU;AAAA,IACR,QAAQ,CAAC,IAAI,EAAE;AAAA,IACf,mBAAmB;AAAA,IACnB,UAAU;AAAA,IACV,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,eAAe;AAAA,IACf,WAAW;AAAA,IACX,WAAW;AAAA,IACX,cAAc;AAAA,EACf;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,cAAc;AAAA,EACf;AAAA,EACD,OAAO;AAAA,IACL,aAAa;AAAA,EACd;AAAA,EACD,MAAM;AAAA,IACJ,MAAM;AAAA,EACP;AAAA,EACD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,EACT;AAAA,EACD,YAAY;AAAA,IACV,MAAM;AAAA,EACP;AAAA,EACD,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,yBAAyB;AAAA,MACvB,SAAS;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,MAAM;AAAA,QACJ,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,SAAS;AAAA,MACV;AAAA,MACD,OAAO;AAAA,QACL,QAAQ3U;AAAA,QACR,QAAQA;AAAA,QACR,OAAOA;AAAA,QACP,QAAQA;AAAA,QACR,QAAQA;AAAA,QACR,MAAMA;AAAA,QACN,SAASA;AAAA,QACT,SAASA;AAAA,QACT,OAAOA;AAAA,QACP,QAAQA;AAAA,QACR,OAAOA;AAAA,QACP,KAAKA;AAAA,QACL,KAAKA;AAAA,MACN;AAAA,MACD,QAAQ;AAAA,QACN,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,OAAO;AAAA,MACR;AAAA,MACD,QAAQ;AAAA,QACN,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,OAAO;AAAA,MACR;AAAA,MACD,OAAO;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,OAAO;AAAA,MACR;AAAA,MACD,SAAS;AAAA,QACP,UAAU;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EACD,OAAO;AAAA,IACL,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,EACV;AACH,GACA4U,KAAeH,IC3ITI,KAA6B,gBAAAhiB,GAAc,MAAS,GAC1DiiB,KAAeD,ICCTE,KAAiB,CAAA9mC,MAAS;AAC9B,QAAM;AAAA,IACJ,eAAAyC,IAAgB;AAAA,IACpB,eAAIkkC;AAAAA,IACA,UAAA1/B;AAAA,EACD,IAAGjH,GACE+mC,IAAY/qC,EAAM,WAAW4qC,EAAa,GAC1CI,IAAYhrC,EAAM,QAAQ,MAAM;AACpC,QAAIirC;AACJ,UAAMd,IAASQ,KAAiBO,GAAkBzkC,IAC5C0kC,KAAqBF,IAAKF,KAAc,OAA+B,SAASA,EAAUtkC,QAAoB,QAAQwkC,MAAO,SAASA,IAAK;AACjJ,WAAO,OAAO,OAAO,OAAO,OAAO,CAAA,GAAId,aAAkB,WAAWA,EAAM,IAAKA,CAAM,GAAGgB,KAAqB,CAAE,CAAA;AAAA,EAChH,GAAE,CAAC1kC,GAAekkC,GAAeI,CAAS,CAAC,GACtCK,IAAgBprC,EAAM,QAAQ,MAAM;AACxC,UAAMqrC,IAAaN,KAAaA,EAAU;AAE1C,WAAIA,KAAaA,EAAU,SAAS,CAACM,IAC5BH,GAAkB,SAEpBG;AAAA,EACX,GAAK,CAACN,CAAS,CAAC;AACd,SAAO9/B,EAAS+/B,GAAWI,GAAeL,CAAS;AACrD,GACAO,KAAeR,IC1BfS,KAAe;ACIR,SAASC,GAAQnsC,GAAGozB,GAAK;AAC5B,EAAIgZ,GAAepsC,CAAC,MAChBA,IAAI;AAER,MAAIqsC,IAAYC,GAAatsC,CAAC;AAO9B,SANAA,IAAIozB,MAAQ,MAAMpzB,IAAI,KAAK,IAAIozB,GAAK,KAAK,IAAI,GAAG,WAAWpzB,CAAC,CAAC,CAAC,GAE1DqsC,MACArsC,IAAI,SAAS,OAAOA,IAAIozB,CAAG,GAAG,EAAE,IAAI,MAGpC,KAAK,IAAIpzB,IAAIozB,CAAG,IAAI,OACb,KAGPA,MAAQ,MAIRpzB,KAAKA,IAAI,IAAKA,IAAIozB,IAAOA,IAAMpzB,IAAIozB,KAAO,WAAW,OAAOA,CAAG,CAAC,IAKhEpzB,IAAKA,IAAIozB,IAAO,WAAW,OAAOA,CAAG,CAAC,GAEnCpzB;AACX;AAKO,SAASusC,GAAQjZ,GAAK;AACzB,SAAO,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGA,CAAG,CAAC;AACvC;AAMO,SAAS8Y,GAAepsC,GAAG;AAC9B,SAAO,OAAOA,KAAM,YAAYA,EAAE,QAAQ,GAAG,MAAM,MAAM,WAAWA,CAAC,MAAM;AAC/E;AAKO,SAASssC,GAAatsC,GAAG;AAC5B,SAAO,OAAOA,KAAM,YAAYA,EAAE,QAAQ,GAAG,MAAM;AACvD;AAKO,SAASwsC,GAAWpsC,GAAG;AAC1B,SAAAA,IAAI,WAAWA,CAAC,IACZ,MAAMA,CAAC,KAAKA,IAAI,KAAKA,IAAI,OACzBA,IAAI,IAEDA;AACX;AAKO,SAASqsC,GAAoBzsC,GAAG;AACnC,SAAIA,KAAK,IACE,GAAG,OAAO,OAAOA,CAAC,IAAI,KAAK,GAAG,IAElCA;AACX;AAKO,SAAS0sC,GAAKvsC,GAAG;AACpB,SAAOA,EAAE,WAAW,IAAI,MAAMA,IAAI,OAAOA,CAAC;AAC9C;ACxEO,SAASwsC,GAAS58B,GAAG1P,GAAGC,GAAG;AAC9B,SAAO;AAAA,IACH,GAAG6rC,GAAQp8B,GAAG,GAAG,IAAI;AAAA,IACrB,GAAGo8B,GAAQ9rC,GAAG,GAAG,IAAI;AAAA,IACrB,GAAG8rC,GAAQ7rC,GAAG,GAAG,IAAI;AAAA,EAC7B;AACA;AAMO,SAASssC,GAAS78B,GAAG1P,GAAGC,GAAG;AAC9B,EAAAyP,IAAIo8B,GAAQp8B,GAAG,GAAG,GAClB1P,IAAI8rC,GAAQ9rC,GAAG,GAAG,GAClBC,IAAI6rC,GAAQ7rC,GAAG,GAAG;AAClB,MAAI8yB,IAAM,KAAK,IAAIrjB,GAAG1P,GAAGC,CAAC,GACtB6yB,IAAM,KAAK,IAAIpjB,GAAG1P,GAAGC,CAAC,GACtBG,IAAI,GACJ0F,IAAI,GACJrG,KAAKszB,IAAMD,KAAO;AACtB,MAAIC,MAAQD;AACR,IAAAhtB,IAAI,GACJ1F,IAAI;AAAA,OAEH;AACD,QAAIF,IAAI6yB,IAAMD;AAEd,YADAhtB,IAAIrG,IAAI,MAAMS,KAAK,IAAI6yB,IAAMD,KAAO5yB,KAAK6yB,IAAMD,IACvCC,GAAG;AAAA,MACP,KAAKrjB;AACD,QAAAtP,KAAKJ,IAAIC,KAAKC,KAAKF,IAAIC,IAAI,IAAI;AAC/B;AAAA,MACJ,KAAKD;AACD,QAAAI,KAAKH,IAAIyP,KAAKxP,IAAI;AAClB;AAAA,MACJ,KAAKD;AACD,QAAAG,KAAKsP,IAAI1P,KAAKE,IAAI;AAClB;AAAA,IAGP;AACD,IAAAE,KAAK;AAAA,EACR;AACD,SAAO,EAAE,GAAGA,GAAG,GAAG0F,GAAG,GAAGrG;AAC5B;AACA,SAAS+sC,GAAQ5sC,GAAGC,GAAG8P,GAAG;AAOtB,SANIA,IAAI,MACJA,KAAK,IAELA,IAAI,MACJA,KAAK,IAELA,IAAI,IAAI,IACD/P,KAAKC,IAAID,MAAM,IAAI+P,KAE1BA,IAAI,IAAI,IACD9P,IAEP8P,IAAI,IAAI,IACD/P,KAAKC,IAAID,MAAM,IAAI,IAAI+P,KAAK,IAEhC/P;AACX;AAOO,SAAS6sC,GAASrsC,GAAG0F,GAAGrG,GAAG;AAC9B,MAAIiQ,GACA1P,GACAC;AAIJ,MAHAG,IAAI0rC,GAAQ1rC,GAAG,GAAG,GAClB0F,IAAIgmC,GAAQhmC,GAAG,GAAG,GAClBrG,IAAIqsC,GAAQrsC,GAAG,GAAG,GACdqG,MAAM;AAEN,IAAA9F,IAAIP,GACJQ,IAAIR,GACJiQ,IAAIjQ;AAAA,OAEH;AACD,QAAII,IAAIJ,IAAI,MAAMA,KAAK,IAAIqG,KAAKrG,IAAIqG,IAAIrG,IAAIqG,GACxClG,IAAI,IAAIH,IAAII;AAChB,IAAA6P,IAAI88B,GAAQ5sC,GAAGC,GAAGO,IAAI,IAAI,CAAC,GAC3BJ,IAAIwsC,GAAQ5sC,GAAGC,GAAGO,CAAC,GACnBH,IAAIusC,GAAQ5sC,GAAGC,GAAGO,IAAI,IAAI,CAAC;AAAA,EAC9B;AACD,SAAO,EAAE,GAAGsP,IAAI,KAAK,GAAG1P,IAAI,KAAK,GAAGC,IAAI;AAC5C;AAOO,SAASysC,GAASh9B,GAAG1P,GAAGC,GAAG;AAC9B,EAAAyP,IAAIo8B,GAAQp8B,GAAG,GAAG,GAClB1P,IAAI8rC,GAAQ9rC,GAAG,GAAG,GAClBC,IAAI6rC,GAAQ7rC,GAAG,GAAG;AAClB,MAAI8yB,IAAM,KAAK,IAAIrjB,GAAG1P,GAAGC,CAAC,GACtB6yB,IAAM,KAAK,IAAIpjB,GAAG1P,GAAGC,CAAC,GACtBG,IAAI,GACJqN,IAAIslB,GACJ7yB,IAAI6yB,IAAMD,GACVhtB,IAAIitB,MAAQ,IAAI,IAAI7yB,IAAI6yB;AAC5B,MAAIA,MAAQD;AACR,IAAA1yB,IAAI;AAAA,OAEH;AACD,YAAQ2yB,GAAG;AAAA,MACP,KAAKrjB;AACD,QAAAtP,KAAKJ,IAAIC,KAAKC,KAAKF,IAAIC,IAAI,IAAI;AAC/B;AAAA,MACJ,KAAKD;AACD,QAAAI,KAAKH,IAAIyP,KAAKxP,IAAI;AAClB;AAAA,MACJ,KAAKD;AACD,QAAAG,KAAKsP,IAAI1P,KAAKE,IAAI;AAClB;AAAA,IAGP;AACD,IAAAE,KAAK;AAAA,EACR;AACD,SAAO,EAAE,GAAGA,GAAG,GAAG0F,GAAG,GAAG2H;AAC5B;AAOO,SAASk/B,GAASvsC,GAAG0F,GAAG2H,GAAG;AAC9B,EAAArN,IAAI0rC,GAAQ1rC,GAAG,GAAG,IAAI,GACtB0F,IAAIgmC,GAAQhmC,GAAG,GAAG,GAClB2H,IAAIq+B,GAAQr+B,GAAG,GAAG;AAClB,MAAIlD,IAAI,KAAK,MAAMnK,CAAC,GAChBd,IAAIc,IAAImK,GACR3K,IAAI6N,KAAK,IAAI3H,IACbjG,IAAI4N,KAAK,IAAInO,IAAIwG,IACjB6J,IAAIlC,KAAK,KAAK,IAAInO,KAAKwG,IACvB8mC,IAAMriC,IAAI,GACVmF,IAAI,CAACjC,GAAG5N,GAAGD,GAAGA,GAAG+P,GAAGlC,CAAC,EAAEm/B,IACvB5sC,IAAI,CAAC2P,GAAGlC,GAAGA,GAAG5N,GAAGD,GAAGA,CAAC,EAAEgtC,IACvB3sC,IAAI,CAACL,GAAGA,GAAG+P,GAAGlC,GAAGA,GAAG5N,CAAC,EAAE+sC;AAC3B,SAAO,EAAE,GAAGl9B,IAAI,KAAK,GAAG1P,IAAI,KAAK,GAAGC,IAAI;AAC5C;AAOO,SAAS4sC,GAASn9B,GAAG1P,GAAGC,GAAG6sC,GAAY;AAC1C,MAAIC,IAAM;AAAA,IACNV,GAAK,KAAK,MAAM38B,CAAC,EAAE,SAAS,EAAE,CAAC;AAAA,IAC/B28B,GAAK,KAAK,MAAMrsC,CAAC,EAAE,SAAS,EAAE,CAAC;AAAA,IAC/BqsC,GAAK,KAAK,MAAMpsC,CAAC,EAAE,SAAS,EAAE,CAAC;AAAA,EACvC;AAEI,SAAI6sC,KACAC,EAAI,GAAG,WAAWA,EAAI,GAAG,OAAO,CAAC,CAAC,KAClCA,EAAI,GAAG,WAAWA,EAAI,GAAG,OAAO,CAAC,CAAC,KAClCA,EAAI,GAAG,WAAWA,EAAI,GAAG,OAAO,CAAC,CAAC,IAC3BA,EAAI,GAAG,OAAO,CAAC,IAAIA,EAAI,GAAG,OAAO,CAAC,IAAIA,EAAI,GAAG,OAAO,CAAC,IAEzDA,EAAI,KAAK,EAAE;AACtB;AAQO,SAASC,GAAUt9B,GAAG1P,GAAGC,GAAGF,GAAGktC,GAAY;AAC9C,MAAIF,IAAM;AAAA,IACNV,GAAK,KAAK,MAAM38B,CAAC,EAAE,SAAS,EAAE,CAAC;AAAA,IAC/B28B,GAAK,KAAK,MAAMrsC,CAAC,EAAE,SAAS,EAAE,CAAC;AAAA,IAC/BqsC,GAAK,KAAK,MAAMpsC,CAAC,EAAE,SAAS,EAAE,CAAC;AAAA,IAC/BosC,GAAKa,GAAoBntC,CAAC,CAAC;AAAA,EACnC;AAEI,SAAIktC,KACAF,EAAI,GAAG,WAAWA,EAAI,GAAG,OAAO,CAAC,CAAC,KAClCA,EAAI,GAAG,WAAWA,EAAI,GAAG,OAAO,CAAC,CAAC,KAClCA,EAAI,GAAG,WAAWA,EAAI,GAAG,OAAO,CAAC,CAAC,KAClCA,EAAI,GAAG,WAAWA,EAAI,GAAG,OAAO,CAAC,CAAC,IAC3BA,EAAI,GAAG,OAAO,CAAC,IAAIA,EAAI,GAAG,OAAO,CAAC,IAAIA,EAAI,GAAG,OAAO,CAAC,IAAIA,EAAI,GAAG,OAAO,CAAC,IAE5EA,EAAI,KAAK,EAAE;AACtB;AAeO,SAASG,GAAoBhtC,GAAG;AACnC,SAAO,KAAK,MAAM,WAAWA,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE;AACtD;AAEO,SAASitC,GAAoB/sC,GAAG;AACnC,SAAOgtC,GAAgBhtC,CAAC,IAAI;AAChC;AAEO,SAASgtC,GAAgBna,GAAK;AACjC,SAAO,SAASA,GAAK,EAAE;AAC3B;AACO,SAASoa,GAAoBC,GAAO;AACvC,SAAO;AAAA,IACH,GAAGA,KAAS;AAAA,IACZ,IAAIA,IAAQ,UAAW;AAAA,IACvB,GAAGA,IAAQ;AAAA,EACnB;AACA;ACtOO,IAAIC,KAAQ;AAAA,EACf,WAAW;AAAA,EACX,cAAc;AAAA,EACd,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AAAA,EACV,eAAe;AAAA,EACf,UAAU;AAAA,EACV,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,aAAa;AAAA,EACb,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,aAAa;AAAA,EACb,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,eAAe;AAAA,EACf,UAAU;AAAA,EACV,WAAW;AAAA,EACX,cAAc;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAW;AAAA,EACX,aAAa;AAAA,EACb,eAAe;AAAA,EACf,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,WAAW;AAAA,EACX,UAAU;AAAA,EACV,aAAa;AAAA,EACb,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,WAAW;AAAA,EACX,eAAe;AAAA,EACf,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,KAAK;AAAA,EACL,WAAW;AAAA,EACX,WAAW;AAAA,EACX,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX,KAAK;AAAA,EACL,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,aAAa;AACjB;ACpIO,SAASC,GAAWF,GAAO;AAC9B,MAAIG,IAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,KACvB1tC,IAAI,GACJ+F,IAAI,MACJ2H,IAAI,MACJhO,IAAI,MACJiuC,IAAK,IACL/rC,IAAS;AACb,SAAI,OAAO2rC,KAAU,aACjBA,IAAQK,GAAoBL,CAAK,IAEjC,OAAOA,KAAU,aACbM,GAAeN,EAAM,CAAC,KAAKM,GAAeN,EAAM,CAAC,KAAKM,GAAeN,EAAM,CAAC,KAC5EG,IAAMnB,GAASgB,EAAM,GAAGA,EAAM,GAAGA,EAAM,CAAC,GACxCI,IAAK,IACL/rC,IAAS,OAAO2rC,EAAM,CAAC,EAAE,OAAO,EAAE,MAAM,MAAM,SAAS,SAElDM,GAAeN,EAAM,CAAC,KAAKM,GAAeN,EAAM,CAAC,KAAKM,GAAeN,EAAM,CAAC,KACjFxnC,IAAIsmC,GAAoBkB,EAAM,CAAC,GAC/B7/B,IAAI2+B,GAAoBkB,EAAM,CAAC,GAC/BG,IAAMd,GAASW,EAAM,GAAGxnC,GAAG2H,CAAC,GAC5BigC,IAAK,IACL/rC,IAAS,SAEJisC,GAAeN,EAAM,CAAC,KAAKM,GAAeN,EAAM,CAAC,KAAKM,GAAeN,EAAM,CAAC,MACjFxnC,IAAIsmC,GAAoBkB,EAAM,CAAC,GAC/B7tC,IAAI2sC,GAAoBkB,EAAM,CAAC,GAC/BG,IAAMhB,GAASa,EAAM,GAAGxnC,GAAGrG,CAAC,GAC5BiuC,IAAK,IACL/rC,IAAS,QAET,OAAO,UAAU,eAAe,KAAK2rC,GAAO,GAAG,MAC/CvtC,IAAIutC,EAAM,KAGlBvtC,IAAIosC,GAAWpsC,CAAC,GACT;AAAA,IACH,IAAI2tC;AAAA,IACJ,QAAQJ,EAAM,UAAU3rC;AAAA,IACxB,GAAG,KAAK,IAAI,KAAK,KAAK,IAAI8rC,EAAI,GAAG,CAAC,CAAC;AAAA,IACnC,GAAG,KAAK,IAAI,KAAK,KAAK,IAAIA,EAAI,GAAG,CAAC,CAAC;AAAA,IACnC,GAAG,KAAK,IAAI,KAAK,KAAK,IAAIA,EAAI,GAAG,CAAC,CAAC;AAAA,IACnC,GAAG1tC;AAAA,EACX;AACA;AAEA,IAAI8tC,KAAc,iBAEdC,KAAa,wBAEbC,KAAW,MAAM,OAAOD,IAAY,OAAO,EAAE,OAAOD,IAAa,GAAG,GAIpEG,KAAoB,cAAc,OAAOD,IAAU,YAAY,EAAE,OAAOA,IAAU,YAAY,EAAE,OAAOA,IAAU,WAAW,GAC5HE,KAAoB,cAAc,OAAOF,IAAU,YAAY,EAAE,OAAOA,IAAU,YAAY,EAAE,OAAOA,IAAU,YAAY,EAAE,OAAOA,IAAU,WAAW,GAC3JG,KAAW;AAAA,EACX,UAAU,IAAI,OAAOH,EAAQ;AAAA,EAC7B,KAAK,IAAI,OAAO,QAAQC,EAAiB;AAAA,EACzC,MAAM,IAAI,OAAO,SAASC,EAAiB;AAAA,EAC3C,KAAK,IAAI,OAAO,QAAQD,EAAiB;AAAA,EACzC,MAAM,IAAI,OAAO,SAASC,EAAiB;AAAA,EAC3C,KAAK,IAAI,OAAO,QAAQD,EAAiB;AAAA,EACzC,MAAM,IAAI,OAAO,SAASC,EAAiB;AAAA,EAC3C,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AACV;AAKO,SAASN,GAAoBL,GAAO;AAEvC,MADAA,IAAQA,EAAM,KAAM,EAAC,YAAW,GAC5BA,EAAM,WAAW;AACjB,WAAO;AAEX,MAAIa,IAAQ;AACZ,MAAIZ,GAAMD;AACN,IAAAA,IAAQC,GAAMD,IACda,IAAQ;AAAA,WAEHb,MAAU;AACf,WAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,OAAM;AAMnD,MAAIvoC,IAAQmpC,GAAS,IAAI,KAAKZ,CAAK;AACnC,SAAIvoC,IACO,EAAE,GAAGA,EAAM,IAAI,GAAGA,EAAM,IAAI,GAAGA,EAAM,GAAE,KAElDA,IAAQmpC,GAAS,KAAK,KAAKZ,CAAK,GAC5BvoC,IACO,EAAE,GAAGA,EAAM,IAAI,GAAGA,EAAM,IAAI,GAAGA,EAAM,IAAI,GAAGA,EAAM,QAE7DA,IAAQmpC,GAAS,IAAI,KAAKZ,CAAK,GAC3BvoC,IACO,EAAE,GAAGA,EAAM,IAAI,GAAGA,EAAM,IAAI,GAAGA,EAAM,GAAE,KAElDA,IAAQmpC,GAAS,KAAK,KAAKZ,CAAK,GAC5BvoC,IACO,EAAE,GAAGA,EAAM,IAAI,GAAGA,EAAM,IAAI,GAAGA,EAAM,IAAI,GAAGA,EAAM,QAE7DA,IAAQmpC,GAAS,IAAI,KAAKZ,CAAK,GAC3BvoC,IACO,EAAE,GAAGA,EAAM,IAAI,GAAGA,EAAM,IAAI,GAAGA,EAAM,GAAE,KAElDA,IAAQmpC,GAAS,KAAK,KAAKZ,CAAK,GAC5BvoC,IACO,EAAE,GAAGA,EAAM,IAAI,GAAGA,EAAM,IAAI,GAAGA,EAAM,IAAI,GAAGA,EAAM,QAE7DA,IAAQmpC,GAAS,KAAK,KAAKZ,CAAK,GAC5BvoC,IACO;AAAA,IACH,GAAGqoC,GAAgBroC,EAAM,EAAE;AAAA,IAC3B,GAAGqoC,GAAgBroC,EAAM,EAAE;AAAA,IAC3B,GAAGqoC,GAAgBroC,EAAM,EAAE;AAAA,IAC3B,GAAGooC,GAAoBpoC,EAAM,EAAE;AAAA,IAC/B,QAAQopC,IAAQ,SAAS;AAAA,EACrC,KAEIppC,IAAQmpC,GAAS,KAAK,KAAKZ,CAAK,GAC5BvoC,IACO;AAAA,IACH,GAAGqoC,GAAgBroC,EAAM,EAAE;AAAA,IAC3B,GAAGqoC,GAAgBroC,EAAM,EAAE;AAAA,IAC3B,GAAGqoC,GAAgBroC,EAAM,EAAE;AAAA,IAC3B,QAAQopC,IAAQ,SAAS;AAAA,EACrC,KAEIppC,IAAQmpC,GAAS,KAAK,KAAKZ,CAAK,GAC5BvoC,IACO;AAAA,IACH,GAAGqoC,GAAgBroC,EAAM,KAAKA,EAAM,EAAE;AAAA,IACtC,GAAGqoC,GAAgBroC,EAAM,KAAKA,EAAM,EAAE;AAAA,IACtC,GAAGqoC,GAAgBroC,EAAM,KAAKA,EAAM,EAAE;AAAA,IACtC,GAAGooC,GAAoBpoC,EAAM,KAAKA,EAAM,EAAE;AAAA,IAC1C,QAAQopC,IAAQ,SAAS;AAAA,EACrC,KAEIppC,IAAQmpC,GAAS,KAAK,KAAKZ,CAAK,GAC5BvoC,IACO;AAAA,IACH,GAAGqoC,GAAgBroC,EAAM,KAAKA,EAAM,EAAE;AAAA,IACtC,GAAGqoC,GAAgBroC,EAAM,KAAKA,EAAM,EAAE;AAAA,IACtC,GAAGqoC,GAAgBroC,EAAM,KAAKA,EAAM,EAAE;AAAA,IACtC,QAAQopC,IAAQ,SAAS;AAAA,EACrC,IAEW;AACX;AAKO,SAASP,GAAeN,GAAO;AAClC,SAAO,QAAQY,GAAS,SAAS,KAAK,OAAOZ,CAAK,CAAC,CAAC;AACxD;ACjLA,IAAIc,KAA2B,WAAY;AACvC,WAASA,EAAUd,GAAOe,GAAM;AAC5B,IAAIf,MAAU,WAAUA,IAAQ,KAC5Be,MAAS,WAAUA,IAAO,CAAE;AAChC,QAAI9C;AAEJ,QAAI+B,aAAiBc;AAEjB,aAAOd;AAEX,IAAI,OAAOA,KAAU,aACjBA,IAAQD,GAAoBC,CAAK,IAErC,KAAK,gBAAgBA;AACrB,QAAIG,IAAMD,GAAWF,CAAK;AAC1B,SAAK,gBAAgBA,GACrB,KAAK,IAAIG,EAAI,GACb,KAAK,IAAIA,EAAI,GACb,KAAK,IAAIA,EAAI,GACb,KAAK,IAAIA,EAAI,GACb,KAAK,SAAS,KAAK,MAAM,MAAM,KAAK,CAAC,IAAI,KACzC,KAAK,UAAUlC,IAAK8C,EAAK,YAAY,QAAQ9C,MAAO,SAASA,IAAKkC,EAAI,QACtE,KAAK,eAAeY,EAAK,cAKrB,KAAK,IAAI,MACT,KAAK,IAAI,KAAK,MAAM,KAAK,CAAC,IAE1B,KAAK,IAAI,MACT,KAAK,IAAI,KAAK,MAAM,KAAK,CAAC,IAE1B,KAAK,IAAI,MACT,KAAK,IAAI,KAAK,MAAM,KAAK,CAAC,IAE9B,KAAK,UAAUZ,EAAI;AAAA,EACtB;AACD,SAAAW,EAAU,UAAU,SAAS,WAAY;AACrC,WAAO,KAAK,cAAe,IAAG;AAAA,EACtC,GACIA,EAAU,UAAU,UAAU,WAAY;AACtC,WAAO,CAAC,KAAK;EACrB,GAIIA,EAAU,UAAU,gBAAgB,WAAY;AAE5C,QAAIX,IAAM,KAAK;AACf,YAAQA,EAAI,IAAI,MAAMA,EAAI,IAAI,MAAMA,EAAI,IAAI,OAAO;AAAA,EAC3D,GAIIW,EAAU,UAAU,eAAe,WAAY;AAE3C,QAAIX,IAAM,KAAK,SACXa,GACAC,GACAC,GACAC,IAAQhB,EAAI,IAAI,KAChBiB,IAAQjB,EAAI,IAAI,KAChBkB,IAAQlB,EAAI,IAAI;AACpB,WAAIgB,KAAS,UACTH,IAAIG,IAAQ,QAIZH,IAAI,KAAK,KAAKG,IAAQ,SAAS,OAAO,GAAG,GAEzCC,KAAS,UACTH,IAAIG,IAAQ,QAIZH,IAAI,KAAK,KAAKG,IAAQ,SAAS,OAAO,GAAG,GAEzCC,KAAS,UACTH,IAAIG,IAAQ,QAIZH,IAAI,KAAK,KAAKG,IAAQ,SAAS,OAAO,GAAG,GAEtC,SAASL,IAAI,SAASC,IAAI,SAASC;AAAA,EAClD,GAIIJ,EAAU,UAAU,WAAW,WAAY;AACvC,WAAO,KAAK;AAAA,EACpB,GAMIA,EAAU,UAAU,WAAW,SAAUQ,GAAO;AAC5C,gBAAK,IAAIzC,GAAWyC,CAAK,GACzB,KAAK,SAAS,KAAK,MAAM,MAAM,KAAK,CAAC,IAAI,KAClC;AAAA,EACf,GAIIR,EAAU,UAAU,QAAQ,WAAY;AACpC,QAAIS,IAAMnC,GAAS,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AACzC,WAAO,EAAE,GAAGmC,EAAI,IAAI,KAAK,GAAGA,EAAI,GAAG,GAAGA,EAAI,GAAG,GAAG,KAAK,EAAC;AAAA,EAC9D,GAKIT,EAAU,UAAU,cAAc,WAAY;AAC1C,QAAIS,IAAMnC,GAAS,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GACrCtsC,IAAI,KAAK,MAAMyuC,EAAI,IAAI,GAAG,GAC1B/oC,IAAI,KAAK,MAAM+oC,EAAI,IAAI,GAAG,GAC1BphC,IAAI,KAAK,MAAMohC,EAAI,IAAI,GAAG;AAC9B,WAAO,KAAK,MAAM,IAAI,OAAO,OAAOzuC,GAAG,IAAI,EAAE,OAAO0F,GAAG,KAAK,EAAE,OAAO2H,GAAG,IAAI,IAAI,QAAQ,OAAOrN,GAAG,IAAI,EAAE,OAAO0F,GAAG,KAAK,EAAE,OAAO2H,GAAG,KAAK,EAAE,OAAO,KAAK,QAAQ,GAAG;AAAA,EACzK,GAII2gC,EAAU,UAAU,QAAQ,WAAY;AACpC,QAAIU,IAAMvC,GAAS,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AACzC,WAAO,EAAE,GAAGuC,EAAI,IAAI,KAAK,GAAGA,EAAI,GAAG,GAAGA,EAAI,GAAG,GAAG,KAAK,EAAC;AAAA,EAC9D,GAKIV,EAAU,UAAU,cAAc,WAAY;AAC1C,QAAIU,IAAMvC,GAAS,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GACrCnsC,IAAI,KAAK,MAAM0uC,EAAI,IAAI,GAAG,GAC1BhpC,IAAI,KAAK,MAAMgpC,EAAI,IAAI,GAAG,GAC1BrvC,IAAI,KAAK,MAAMqvC,EAAI,IAAI,GAAG;AAC9B,WAAO,KAAK,MAAM,IAAI,OAAO,OAAO1uC,GAAG,IAAI,EAAE,OAAO0F,GAAG,KAAK,EAAE,OAAOrG,GAAG,IAAI,IAAI,QAAQ,OAAOW,GAAG,IAAI,EAAE,OAAO0F,GAAG,KAAK,EAAE,OAAOrG,GAAG,KAAK,EAAE,OAAO,KAAK,QAAQ,GAAG;AAAA,EACzK,GAKI2uC,EAAU,UAAU,QAAQ,SAAUtB,GAAY;AAC9C,WAAIA,MAAe,WAAUA,IAAa,KACnCD,GAAS,KAAK,GAAG,KAAK,GAAG,KAAK,GAAGC,CAAU;AAAA,EAC1D,GAKIsB,EAAU,UAAU,cAAc,SAAUtB,GAAY;AACpD,WAAIA,MAAe,WAAUA,IAAa,KACnC,MAAM,KAAK,MAAMA,CAAU;AAAA,EAC1C,GAKIsB,EAAU,UAAU,SAAS,SAAUnB,GAAY;AAC/C,WAAIA,MAAe,WAAUA,IAAa,KACnCD,GAAU,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAGC,CAAU;AAAA,EACnE,GAKImB,EAAU,UAAU,eAAe,SAAUnB,GAAY;AACrD,WAAIA,MAAe,WAAUA,IAAa,KACnC,MAAM,KAAK,OAAOA,CAAU;AAAA,EAC3C,GAIImB,EAAU,UAAU,QAAQ,WAAY;AACpC,WAAO;AAAA,MACH,GAAG,KAAK,MAAM,KAAK,CAAC;AAAA,MACpB,GAAG,KAAK,MAAM,KAAK,CAAC;AAAA,MACpB,GAAG,KAAK,MAAM,KAAK,CAAC;AAAA,MACpB,GAAG,KAAK;AAAA,IACpB;AAAA,EACA,GAKIA,EAAU,UAAU,cAAc,WAAY;AAC1C,QAAI1+B,IAAI,KAAK,MAAM,KAAK,CAAC,GACrB1P,IAAI,KAAK,MAAM,KAAK,CAAC,GACrBC,IAAI,KAAK,MAAM,KAAK,CAAC;AACzB,WAAO,KAAK,MAAM,IAAI,OAAO,OAAOyP,GAAG,IAAI,EAAE,OAAO1P,GAAG,IAAI,EAAE,OAAOC,GAAG,GAAG,IAAI,QAAQ,OAAOyP,GAAG,IAAI,EAAE,OAAO1P,GAAG,IAAI,EAAE,OAAOC,GAAG,IAAI,EAAE,OAAO,KAAK,QAAQ,GAAG;AAAA,EACrK,GAIImuC,EAAU,UAAU,kBAAkB,WAAY;AAC9C,QAAIW,IAAM,SAAUjqC,GAAG;AAAE,aAAO,GAAG,OAAO,KAAK,MAAMgnC,GAAQhnC,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG;AAAA;AAChF,WAAO;AAAA,MACH,GAAGiqC,EAAI,KAAK,CAAC;AAAA,MACb,GAAGA,EAAI,KAAK,CAAC;AAAA,MACb,GAAGA,EAAI,KAAK,CAAC;AAAA,MACb,GAAG,KAAK;AAAA,IACpB;AAAA,EACA,GAIIX,EAAU,UAAU,wBAAwB,WAAY;AACpD,QAAIY,IAAM,SAAUlqC,GAAG;AAAE,aAAO,KAAK,MAAMgnC,GAAQhnC,GAAG,GAAG,IAAI,GAAG;AAAA,IAAE;AAClE,WAAO,KAAK,MAAM,IACZ,OAAO,OAAOkqC,EAAI,KAAK,CAAC,GAAG,KAAK,EAAE,OAAOA,EAAI,KAAK,CAAC,GAAG,KAAK,EAAE,OAAOA,EAAI,KAAK,CAAC,GAAG,IAAI,IACrF,QAAQ,OAAOA,EAAI,KAAK,CAAC,GAAG,KAAK,EAAE,OAAOA,EAAI,KAAK,CAAC,GAAG,KAAK,EAAE,OAAOA,EAAI,KAAK,CAAC,GAAG,KAAK,EAAE,OAAO,KAAK,QAAQ,GAAG;AAAA,EAC9H,GAIIZ,EAAU,UAAU,SAAS,WAAY;AACrC,QAAI,KAAK,MAAM;AACX,aAAO;AAEX,QAAI,KAAK,IAAI;AACT,aAAO;AAGX,aADIrB,IAAM,MAAMF,GAAS,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,EAAK,GAC7C71B,IAAK,GAAGu0B,IAAK,OAAO,QAAQgC,EAAK,GAAGv2B,IAAKu0B,EAAG,QAAQv0B,KAAM;AAC/D,UAAIi4B,IAAK1D,EAAGv0B,IAAKnO,IAAMomC,EAAG,IAAIznC,IAAQynC,EAAG;AACzC,UAAIlC,MAAQvlC;AACR,eAAOqB;AAAA,IAEd;AACD,WAAO;AAAA,EACf,GACIulC,EAAU,UAAU,WAAW,SAAUzsC,GAAQ;AAC7C,QAAIutC,IAAY,QAAQvtC,CAAM;AAC9B,IAAAA,IAASA,KAAgD,KAAK;AAC9D,QAAIwtC,IAAkB,IAClBC,IAAW,KAAK,IAAI,KAAK,KAAK,KAAK,GACnCC,IAAmB,CAACH,KAAaE,MAAaztC,EAAO,WAAW,KAAK,KAAKA,MAAW;AACzF,WAAI0tC,IAGI1tC,MAAW,UAAU,KAAK,MAAM,IACzB,KAAK,WAET,KAAK,iBAEZA,MAAW,UACXwtC,IAAkB,KAAK,gBAEvBxtC,MAAW,WACXwtC,IAAkB,KAAK,2BAEvBxtC,MAAW,SAASA,MAAW,YAC/BwtC,IAAkB,KAAK,gBAEvBxtC,MAAW,WACXwtC,IAAkB,KAAK,YAAY,EAAI,IAEvCxtC,MAAW,WACXwtC,IAAkB,KAAK,aAAa,EAAI,IAExCxtC,MAAW,WACXwtC,IAAkB,KAAK,iBAEvBxtC,MAAW,WACXwtC,IAAkB,KAAK,WAEvBxtC,MAAW,UACXwtC,IAAkB,KAAK,gBAEvBxtC,MAAW,UACXwtC,IAAkB,KAAK,gBAEpBA,KAAmB,KAAK;EACvC,GACIf,EAAU,UAAU,WAAW,WAAY;AACvC,YAAQ,KAAK,MAAM,KAAK,CAAC,KAAK,OAAO,KAAK,MAAM,KAAK,CAAC,KAAK,KAAK,KAAK,MAAM,KAAK,CAAC;AAAA,EACzF,GACIA,EAAU,UAAU,QAAQ,WAAY;AACpC,WAAO,IAAIA,EAAU,KAAK,SAAU,CAAA;AAAA,EAC5C,GAKIA,EAAU,UAAU,UAAU,SAAUkB,GAAQ;AAC5C,IAAIA,MAAW,WAAUA,IAAS;AAClC,QAAIR,IAAM,KAAK;AACf,WAAAA,EAAI,KAAKQ,IAAS,KAClBR,EAAI,IAAI5C,GAAQ4C,EAAI,CAAC,GACd,IAAIV,EAAUU,CAAG;AAAA,EAChC,GAKIV,EAAU,UAAU,WAAW,SAAUkB,GAAQ;AAC7C,IAAIA,MAAW,WAAUA,IAAS;AAClC,QAAI7B,IAAM,KAAK;AACf,WAAAA,EAAI,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,KAAKA,EAAI,IAAI,KAAK,MAAM,MAAM,EAAE6B,IAAS,IAAI,CAAC,CAAC,GAC5E7B,EAAI,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,KAAKA,EAAI,IAAI,KAAK,MAAM,MAAM,EAAE6B,IAAS,IAAI,CAAC,CAAC,GAC5E7B,EAAI,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,KAAKA,EAAI,IAAI,KAAK,MAAM,MAAM,EAAE6B,IAAS,IAAI,CAAC,CAAC,GACrE,IAAIlB,EAAUX,CAAG;AAAA,EAChC,GAMIW,EAAU,UAAU,SAAS,SAAUkB,GAAQ;AAC3C,IAAIA,MAAW,WAAUA,IAAS;AAClC,QAAIR,IAAM,KAAK;AACf,WAAAA,EAAI,KAAKQ,IAAS,KAClBR,EAAI,IAAI5C,GAAQ4C,EAAI,CAAC,GACd,IAAIV,EAAUU,CAAG;AAAA,EAChC,GAMIV,EAAU,UAAU,OAAO,SAAUkB,GAAQ;AACzC,WAAIA,MAAW,WAAUA,IAAS,KAC3B,KAAK,IAAI,SAASA,CAAM;AAAA,EACvC,GAMIlB,EAAU,UAAU,QAAQ,SAAUkB,GAAQ;AAC1C,WAAIA,MAAW,WAAUA,IAAS,KAC3B,KAAK,IAAI,SAASA,CAAM;AAAA,EACvC,GAMIlB,EAAU,UAAU,aAAa,SAAUkB,GAAQ;AAC/C,IAAIA,MAAW,WAAUA,IAAS;AAClC,QAAIR,IAAM,KAAK;AACf,WAAAA,EAAI,KAAKQ,IAAS,KAClBR,EAAI,IAAI5C,GAAQ4C,EAAI,CAAC,GACd,IAAIV,EAAUU,CAAG;AAAA,EAChC,GAKIV,EAAU,UAAU,WAAW,SAAUkB,GAAQ;AAC7C,IAAIA,MAAW,WAAUA,IAAS;AAClC,QAAIR,IAAM,KAAK;AACf,WAAAA,EAAI,KAAKQ,IAAS,KAClBR,EAAI,IAAI5C,GAAQ4C,EAAI,CAAC,GACd,IAAIV,EAAUU,CAAG;AAAA,EAChC,GAKIV,EAAU,UAAU,YAAY,WAAY;AACxC,WAAO,KAAK,WAAW,GAAG;AAAA,EAClC,GAKIA,EAAU,UAAU,OAAO,SAAUkB,GAAQ;AACzC,QAAIR,IAAM,KAAK,SACXS,KAAOT,EAAI,IAAIQ,KAAU;AAC7B,WAAAR,EAAI,IAAIS,IAAM,IAAI,MAAMA,IAAMA,GACvB,IAAInB,EAAUU,CAAG;AAAA,EAChC,GAKIV,EAAU,UAAU,MAAM,SAAUd,GAAOgC,GAAQ;AAC/C,IAAIA,MAAW,WAAUA,IAAS;AAClC,QAAIE,IAAO,KAAK,SACZC,IAAO,IAAIrB,EAAUd,CAAK,EAAE,MAAK,GACjC1tC,IAAI0vC,IAAS,KACbI,IAAO;AAAA,MACP,IAAID,EAAK,IAAID,EAAK,KAAK5vC,IAAI4vC,EAAK;AAAA,MAChC,IAAIC,EAAK,IAAID,EAAK,KAAK5vC,IAAI4vC,EAAK;AAAA,MAChC,IAAIC,EAAK,IAAID,EAAK,KAAK5vC,IAAI4vC,EAAK;AAAA,MAChC,IAAIC,EAAK,IAAID,EAAK,KAAK5vC,IAAI4vC,EAAK;AAAA,IAC5C;AACQ,WAAO,IAAIpB,EAAUsB,CAAI;AAAA,EACjC,GACItB,EAAU,UAAU,YAAY,SAAUve,GAAS8f,GAAQ;AACvD,IAAI9f,MAAY,WAAUA,IAAU,IAChC8f,MAAW,WAAUA,IAAS;AAClC,QAAIb,IAAM,KAAK,SACXc,IAAO,MAAMD,GACbplB,IAAM,CAAC,IAAI;AACf,SAAKukB,EAAI,KAAKA,EAAI,KAAMc,IAAO/f,KAAY,KAAK,OAAO,KAAK,EAAEA;AAC1D,MAAAif,EAAI,KAAKA,EAAI,IAAIc,KAAQ,KACzBrlB,EAAI,KAAK,IAAI6jB,EAAUU,CAAG,CAAC;AAE/B,WAAOvkB;AAAA,EACf,GAII6jB,EAAU,UAAU,aAAa,WAAY;AACzC,QAAIU,IAAM,KAAK;AACf,WAAAA,EAAI,KAAKA,EAAI,IAAI,OAAO,KACjB,IAAIV,EAAUU,CAAG;AAAA,EAChC,GACIV,EAAU,UAAU,gBAAgB,SAAUve,GAAS;AACnD,IAAIA,MAAY,WAAUA,IAAU;AAOpC,aANIgf,IAAM,KAAK,SACXzuC,IAAIyuC,EAAI,GACR/oC,IAAI+oC,EAAI,GACRphC,IAAIohC,EAAI,GACR3Y,IAAM,CAAA,GACN2Z,IAAe,IAAIhgB,GAChBA;AACH,MAAAqG,EAAI,KAAK,IAAIkY,EAAU,EAAE,GAAGhuC,GAAG,GAAG0F,GAAG,GAAG2H,EAAC,CAAE,CAAC,GAC5CA,KAAKA,IAAIoiC,KAAgB;AAE7B,WAAO3Z;AAAA,EACf,GACIkY,EAAU,UAAU,kBAAkB,WAAY;AAC9C,QAAIU,IAAM,KAAK,SACX1uC,IAAI0uC,EAAI;AACZ,WAAO;AAAA,MACH;AAAA,MACA,IAAIV,EAAU,EAAE,IAAIhuC,IAAI,MAAM,KAAK,GAAG0uC,EAAI,GAAG,GAAGA,EAAI,EAAC,CAAE;AAAA,MACvD,IAAIV,EAAU,EAAE,IAAIhuC,IAAI,OAAO,KAAK,GAAG0uC,EAAI,GAAG,GAAGA,EAAI,EAAC,CAAE;AAAA,IACpE;AAAA,EACA,GAIIV,EAAU,UAAU,eAAe,SAAU0B,GAAY;AACrD,QAAIC,IAAK,KAAK,SACVC,IAAK,IAAI5B,EAAU0B,CAAU,EAAE,MAAK;AACxC,WAAO,IAAI1B,EAAU;AAAA,MACjB,GAAG4B,EAAG,KAAKD,EAAG,IAAIC,EAAG,KAAKD,EAAG;AAAA,MAC7B,GAAGC,EAAG,KAAKD,EAAG,IAAIC,EAAG,KAAKD,EAAG;AAAA,MAC7B,GAAGC,EAAG,KAAKD,EAAG,IAAIC,EAAG,KAAKD,EAAG;AAAA,IACzC,CAAS;AAAA,EACT,GAII3B,EAAU,UAAU,QAAQ,WAAY;AACpC,WAAO,KAAK,OAAO,CAAC;AAAA,EAC5B,GAIIA,EAAU,UAAU,SAAS,WAAY;AACrC,WAAO,KAAK,OAAO,CAAC;AAAA,EAC5B,GAKIA,EAAU,UAAU,SAAS,SAAUzuC,GAAG;AAKtC,aAJImvC,IAAM,KAAK,SACX1uC,IAAI0uC,EAAI,GACR5mB,IAAS,CAAC,IAAI,GACd+nB,IAAY,MAAMtwC,GACb4K,IAAI,GAAGA,IAAI5K,GAAG4K;AACnB,MAAA2d,EAAO,KAAK,IAAIkmB,EAAU,EAAE,IAAIhuC,IAAImK,IAAI0lC,KAAa,KAAK,GAAGnB,EAAI,GAAG,GAAGA,EAAI,EAAG,CAAA,CAAC;AAEnF,WAAO5mB;AAAA,EACf,GAIIkmB,EAAU,UAAU,SAAS,SAAUd,GAAO;AAC1C,WAAO,KAAK,kBAAkB,IAAIc,EAAUd,CAAK,EAAE;EAC3D,GACWc;AACX,KCleI8B,KAAU,GAEVC,KAAiB,MAEjBC,KAAkB,MAElBC,KAAkB,MAElBC,KAAkB,MAElBC,KAAkB,GAElBC,KAAiB,GAGjBC,KAAe,CAAC;AAAA,EAClB,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,CAAC;AAID,SAASC,GAAMh4B,GAAM;AACnB,MAAIhJ,IAAIgJ,EAAK,GACT1Y,IAAI0Y,EAAK,GACTzY,IAAIyY,EAAK,GACTm2B,IAAMnC,GAASh9B,GAAG1P,GAAGC,CAAC;AAC1B,SAAO;AAAA,IACL,GAAG4uC,EAAI,IAAI;AAAA,IACX,GAAGA,EAAI;AAAA,IACP,GAAGA,EAAI;AAAA,EACX;AACA;AAIA,SAAS8B,GAAMh4B,GAAO;AACpB,MAAIjJ,IAAIiJ,EAAM,GACV3Y,IAAI2Y,EAAM,GACV1Y,IAAI0Y,EAAM;AACd,SAAO,IAAI,OAAOk0B,GAASn9B,GAAG1P,GAAGC,GAAG,EAAK,CAAC;AAC5C;AAKA,SAAS2wC,GAAIpB,GAAMC,GAAMH,GAAQ;AAC/B,MAAI1vC,IAAI0vC,IAAS,KACb7B,IAAM;AAAA,IACR,IAAIgC,EAAK,IAAID,EAAK,KAAK5vC,IAAI4vC,EAAK;AAAA,IAChC,IAAIC,EAAK,IAAID,EAAK,KAAK5vC,IAAI4vC,EAAK;AAAA,IAChC,IAAIC,EAAK,IAAID,EAAK,KAAK5vC,IAAI4vC,EAAK;AAAA,EACpC;AACE,SAAO/B;AACT;AAEA,SAASoD,GAAOhC,GAAKtkC,GAAGumC,GAAO;AAC7B,MAAIvB;AAEJ,SAAI,KAAK,MAAMV,EAAI,CAAC,KAAK,MAAM,KAAK,MAAMA,EAAI,CAAC,KAAK,MAClDU,IAAMuB,IAAQ,KAAK,MAAMjC,EAAI,CAAC,IAAIqB,KAAU3lC,IAAI,KAAK,MAAMskC,EAAI,CAAC,IAAIqB,KAAU3lC,IAE9EglC,IAAMuB,IAAQ,KAAK,MAAMjC,EAAI,CAAC,IAAIqB,KAAU3lC,IAAI,KAAK,MAAMskC,EAAI,CAAC,IAAIqB,KAAU3lC,GAG5EglC,IAAM,IACRA,KAAO,MACEA,KAAO,QAChBA,KAAO,MAGFA;AACT;AAEA,SAASwB,GAAclC,GAAKtkC,GAAGumC,GAAO;AAEpC,MAAIjC,EAAI,MAAM,KAAKA,EAAI,MAAM;AAC3B,WAAOA,EAAI;AAGb,MAAImC;AAEJ,SAAIF,IACFE,IAAanC,EAAI,IAAIsB,KAAiB5lC,IAC7BA,MAAMimC,KACfQ,IAAanC,EAAI,IAAIsB,KAErBa,IAAanC,EAAI,IAAIuB,KAAkB7lC,GAIrCymC,IAAa,MACfA,IAAa,IAIXF,KAASvmC,MAAMgmC,MAAmBS,IAAa,QACjDA,IAAa,MAGXA,IAAa,SACfA,IAAa,OAGR,OAAOA,EAAW,QAAQ,CAAC,CAAC;AACrC;AAEA,SAASlgB,GAAS+d,GAAKtkC,GAAGumC,GAAO;AAC/B,MAAItpC;AAEJ,SAAIspC,IACFtpC,IAAQqnC,EAAI,IAAIwB,KAAkB9lC,IAElC/C,IAAQqnC,EAAI,IAAIyB,KAAkB/lC,GAGhC/C,IAAQ,MACVA,IAAQ,IAGH,OAAOA,EAAM,QAAQ,CAAC,CAAC;AAChC;AAEe,SAASypC,GAAS3D,GAAO;AAKtC,WAJIe,IAAO,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GAC3E6C,IAAW,CAAA,GACXC,IAAS3D,GAAWF,CAAK,GAEpB/iC,IAAIgmC,IAAiBhmC,IAAI,GAAGA,KAAK,GAAG;AAC3C,QAAIskC,IAAM6B,GAAMS,CAAM,GAClBC,IAAcT,GAAMnD,GAAW;AAAA,MACjC,GAAGqD,GAAOhC,GAAKtkC,GAAG,EAAI;AAAA,MACtB,GAAGwmC,GAAclC,GAAKtkC,GAAG,EAAI;AAAA,MAC7B,GAAGumB,GAAS+d,GAAKtkC,GAAG,EAAI;AAAA,IACzB,CAAA,CAAC;AACF,IAAA2mC,EAAS,KAAKE,CAAW;AAAA,EAC1B;AAED,EAAAF,EAAS,KAAKP,GAAMQ,CAAM,CAAC;AAE3B,WAASn6B,IAAK,GAAGA,KAAMw5B,IAAgBx5B,KAAM,GAAG;AAC9C,QAAIq6B,IAAOX,GAAMS,CAAM,GAEnBG,IAAeX,GAAMnD,GAAW;AAAA,MAClC,GAAGqD,GAAOQ,GAAMr6B,CAAE;AAAA,MAClB,GAAG+5B,GAAcM,GAAMr6B,CAAE;AAAA,MACzB,GAAG8Z,GAASugB,GAAMr6B,CAAE;AAAA,IACrB,CAAA,CAAC;AAEF,IAAAk6B,EAAS,KAAKI,CAAY;AAAA,EAC3B;AAGD,SAAIjD,EAAK,UAAU,SACVoC,GAAa,IAAI,SAAUx3B,GAAO;AACvC,QAAI4F,IAAQ5F,EAAM,OACds4B,IAAUt4B,EAAM,SAChBu4B,IAAkBb,GAAMC,GAAIpD,GAAWa,EAAK,mBAAmB,SAAS,GAAGb,GAAW0D,EAASryB,EAAM,GAAG0yB,IAAU,GAAG,CAAC;AAC1H,WAAOC;AAAA,EACb,CAAK,IAGIN;AACT;AC9LA,IAAIO,KAAsB;AAAA,EACxB,KAAK;AAAA,EACL,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AACR,GACIC,KAAiB,CAAA,GACjBC,KAAqB,CAAA;AACzB,OAAO,KAAKF,EAAmB,EAAE,QAAQ,SAAU5oC,GAAK;AACtD,EAAA6oC,GAAe7oC,KAAOooC,GAASQ,GAAoB5oC,EAAI,GACvD6oC,GAAe7oC,GAAK,UAAU6oC,GAAe7oC,GAAK,IAElD8oC,GAAmB9oC,KAAOooC,GAASQ,GAAoB5oC,IAAM;AAAA,IAC3D,OAAO;AAAA,IACP,iBAAiB;AAAA,EACrB,CAAG,GACD8oC,GAAmB9oC,GAAK,UAAU8oC,GAAmB9oC,GAAK;AAC5D,CAAC;AC3BD,MAAM+oC,KAAmB,CAAAt2B,MAAS;AAChC,QAAM;AAAA,IACJ,eAAAu2B;AAAA,EACD,IAAGv2B;AACJ,SAAO;AAAA,IACL,iBAAiBu2B,IAAgB;AAAA,IACjC,iBAAiBA,IAAgB;AAAA,IACjC,iBAAiBA,IAAgB;AAAA,EACrC;AACA,GACAC,KAAeF;ACVA,SAASG,GAAgBz2B,GAAO;AAC7C,QAAM;AAAA,IACJ,UAAA02B;AAAA,IACA,UAAAC;AAAA,EACD,IAAG32B;AACJ,SAAO;AAAA,IACL,SAAS02B,KAAYC,IAAW;AAAA,IAChC,QAAQD,KAAYC,IAAW;AAAA,IAC/B,QAAQD,KAAYC,IAAW;AAAA,IAC/B,QAAQD,KAAYC,IAAW;AAAA,IAC/B,QAAQD,IAAWC;AAAA,IACnB,MAAMD,IAAWC;AAAA,IACjB,QAAQD,KAAYC,IAAW;AAAA,IAC/B,QAAQD,KAAYC,IAAW;AAAA,IAC/B,SAASD,KAAYC,IAAW;AAAA,EACpC;AACA;AChBO,MAAMC,KAAsB;AAAA,EACjC,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAM;AAAA,EACN,MAAM;AACR,GACMC,KAAY,OAAO,OAAO,OAAO,OAAO,CAAA,GAAID,EAAmB,GAAG;AAAA,EAEtE,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AAAA,EAEb,YAAY;AAAA;AAAA;AAAA,EAGZ,UAAU;AAAA,EAEV,WAAW;AAAA,EACX,UAAU;AAAA,EAEV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EAEpB,cAAc;AAAA,EAEd,UAAU;AAAA,EACV,UAAU;AAAA,EACV,gBAAgB;AAAA,EAEhB,eAAe;AAAA,EAEf,YAAY;AAAA,EACZ,iBAAiB;AAAA,EAEjB,cAAc;AAAA,EAEd,WAAW;AACb,CAAC,GACDE,KAAeD;AC1DA,SAASE,GAAiBC,GAAM55B,GAAM;AACnD,MAAI;AAAA,IACF,uBAAA65B;AAAA,IACA,8BAAAC;AAAA,EACD,IAAG95B;AACJ,QAAM;AAAA,IACJ,cAAc+5B;AAAA,IACd,cAAcC;AAAA,IACd,YAAYC;AAAA,IACZ,WAAWC;AAAA,IACX,cAAcC;AAAA,IACd,aAAAC;AAAA,IACA,eAAAC;AAAA,EACD,IAAGT,GACEU,IAAgBT,EAAsBM,CAAgB,GACtDI,IAAgBV,EAAsBE,CAAgB,GACtDS,IAAgBX,EAAsBG,CAAgB,GACtDS,IAAcZ,EAAsBI,CAAc,GAClDS,IAAab,EAAsBK,CAAa,GAChDS,IAAgBb,EAA6BM,GAAaC,CAAa;AAC7E,SAAO,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIM,CAAa,GAAG;AAAA,IACrD,gBAAgBL,EAAc;AAAA,IAC9B,qBAAqBA,EAAc;AAAA,IACnC,oBAAoBA,EAAc;AAAA,IAClC,yBAAyBA,EAAc;AAAA,IACvC,mBAAmBA,EAAc;AAAA,IACjC,cAAcA,EAAc;AAAA,IAC5B,oBAAoBA,EAAc;AAAA,IAClC,uBAAuBA,EAAc;AAAA,IACrC,kBAAkBA,EAAc;AAAA,IAChC,wBAAwBA,EAAc;AAAA,IACtC,gBAAgBC,EAAc;AAAA,IAC9B,qBAAqBA,EAAc;AAAA,IACnC,oBAAoBA,EAAc;AAAA,IAClC,yBAAyBA,EAAc;AAAA,IACvC,mBAAmBA,EAAc;AAAA,IACjC,cAAcA,EAAc;AAAA,IAC5B,oBAAoBA,EAAc;AAAA,IAClC,uBAAuBA,EAAc;AAAA,IACrC,kBAAkBA,EAAc;AAAA,IAChC,wBAAwBA,EAAc;AAAA,IACtC,cAAcE,EAAY;AAAA,IAC1B,mBAAmBA,EAAY;AAAA,IAC/B,kBAAkBA,EAAY;AAAA,IAC9B,uBAAuBA,EAAY;AAAA,IACnC,iBAAiBA,EAAY;AAAA,IAC7B,YAAYA,EAAY;AAAA,IACxB,kBAAkBA,EAAY;AAAA,IAC9B,qBAAqBA,EAAY;AAAA,IACjC,gBAAgBA,EAAY;AAAA,IAC5B,sBAAsBA,EAAY;AAAA,IAClC,gBAAgBD,EAAc;AAAA,IAC9B,qBAAqBA,EAAc;AAAA,IACnC,oBAAoBA,EAAc;AAAA,IAClC,yBAAyBA,EAAc;AAAA,IACvC,mBAAmBA,EAAc;AAAA,IACjC,cAAcA,EAAc;AAAA,IAC5B,oBAAoBA,EAAc;AAAA,IAClC,uBAAuBA,EAAc;AAAA,IACrC,kBAAkBA,EAAc;AAAA,IAChC,wBAAwBA,EAAc;AAAA,IACtC,aAAaE,EAAW;AAAA,IACxB,kBAAkBA,EAAW;AAAA,IAC7B,iBAAiBA,EAAW;AAAA,IAC5B,sBAAsBA,EAAW;AAAA,IACjC,gBAAgBA,EAAW;AAAA,IAC3B,WAAWA,EAAW;AAAA,IACtB,iBAAiBA,EAAW;AAAA,IAC5B,oBAAoBA,EAAW;AAAA,IAC/B,eAAeA,EAAW;AAAA,IAC1B,qBAAqBA,EAAW;AAAA,IAChC,aAAa,IAAIhF,GAAU,MAAM,EAAE,SAAS,IAAI,EAAE,YAAa;AAAA,IAC/D,YAAY;AAAA,EAChB,CAAG;AACH;AC3EA,MAAMkF,KAAY,CAAAC,MAAc;AAC9B,MAAIC,IAAWD,GACXE,IAAWF,GACXG,IAAWH,GACXI,IAAcJ;AAElB,SAAIA,IAAa,KAAKA,KAAc,IAClCC,IAAWD,IAAa,IACfA,IAAa,MAAMA,KAAc,IAC1CC,IAAWD,IAAa,IACfA,KAAc,OACvBC,IAAW,KAGTD,IAAa,KAAKA,KAAc,IAClCE,IAAW,IACFF,IAAa,KAAKA,KAAc,IACzCE,IAAW,IACFF,IAAa,MAAMA,KAAc,IAC1CE,IAAW,IACFF,IAAa,MAAMA,KAAc,KAC1CE,IAAW,IACFF,KAAc,OACvBE,IAAW,IAGTF,IAAa,KAAKA,KAAc,IAClCG,IAAW,IACFH,KAAc,MACvBG,IAAW,IAGTH,IAAa,KAAKA,IAAa,IACjCI,IAAc,IACLJ,KAAc,MACvBI,IAAc,IAET;AAAA,IACL,cAAcJ,IAAa,KAAK,KAAKA;AAAA,IACrC,gBAAgBG;AAAA,IAChB,gBAAgBD;AAAA,IAChB,gBAAgBD;AAAA,IAChB,mBAAmBG;AAAA,EACvB;AACA,GACAC,KAAeN;AC5CA,SAASO,GAAkBv4B,GAAO;AAC/C,QAAM;AAAA,IACJ,YAAAw4B;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,EACD,IAAG34B;AACJ,SAAO,OAAO,OAAO;AAAA,IAEnB,oBAAoB,IAAIy4B,IAAaD,GAAY,QAAQ,CAAC;AAAA,IAC1D,mBAAmB,IAAIC,IAAaD,IAAa,GAAG,QAAQ,CAAC;AAAA,IAC7D,oBAAoB,IAAIC,IAAaD,IAAa,GAAG,QAAQ,CAAC;AAAA,IAE9D,eAAeG,IAAY;AAAA,EAC/B,GAAKX,GAAUU,CAAY,CAAC;AAC5B;ACfO,MAAME,KAAgB,CAACC,GAAWvF,MAAU,IAAIR,GAAU+F,CAAS,EAAE,SAASvF,CAAK,EAAE,eAC/EwF,KAAgB,CAACD,GAAWE,MACtB,IAAIjG,GAAU+F,CAAS,EACxB,OAAOE,CAAU,EAAE,YAAW,GCFnC9B,KAAwB,CAAA4B,MAAa;AAChD,QAAMG,IAASrD,GAASkD,CAAS;AACjC,SAAO;AAAA,IACL,GAAGG,EAAO;AAAA,IACV,GAAGA,EAAO;AAAA,IACV,GAAGA,EAAO;AAAA,IACV,GAAGA,EAAO;AAAA,IACV,GAAGA,EAAO;AAAA,IACV,GAAGA,EAAO;AAAA,IACV,GAAGA,EAAO;AAAA,IACV,GAAGA,EAAO;AAAA,IACV,GAAGA,EAAO;AAAA,IACV,IAAIA,EAAO;AAAA,EAIf;AACA,GAEa9B,KAA+B,CAAC+B,GAAaC,MAAkB;AAC1E,QAAM1B,IAAcyB,KAAe,QAC7BxB,IAAgByB,KAAiB;AACvC,SAAO;AAAA,IACL,aAAA1B;AAAA,IACA,eAAAC;AAAA,IACA,WAAWmB,GAAcnB,GAAe,IAAI;AAAA,IAC5C,oBAAoBmB,GAAcnB,GAAe,IAAI;AAAA,IACrD,mBAAmBmB,GAAcnB,GAAe,IAAI;AAAA,IACpD,qBAAqBmB,GAAcnB,GAAe,IAAI;AAAA,IACtD,WAAWmB,GAAcnB,GAAe,IAAI;AAAA,IAC5C,oBAAoBmB,GAAcnB,GAAe,IAAI;AAAA,IACrD,mBAAmBmB,GAAcnB,GAAe,IAAI;AAAA,IACpD,qBAAqBmB,GAAcnB,GAAe,IAAI;AAAA,IACtD,eAAeqB,GAActB,GAAa,CAAC;AAAA,IAC3C,kBAAkBsB,GAActB,GAAa,CAAC;AAAA,IAC9C,iBAAiBsB,GAActB,GAAa,CAAC;AAAA,IAC7C,kBAAkBoB,GAAcnB,GAAe,IAAI;AAAA,IACnD,aAAaqB,GAActB,GAAa,EAAE;AAAA,IAC1C,sBAAsBsB,GAActB,GAAa,CAAC;AAAA,EACtD;AACA;ACzCe,SAAS2B,GAAaC,GAAM;AACzC,QAAMC,IAAY,IAAI,MAAM,EAAE,EAAE,KAAK,IAAI,EAAE,IAAI,CAAC9S,GAAGhjB,MAAU;AAC3D,UAAMtU,IAAIsU,IAAQ,GACZ+1B,IAAWF,IAAO,KAAK,IAAI,SAASnqC,IAAI,CAAC,GACzCsqC,IAAUh2B,IAAQ,IAAI,KAAK,MAAM+1B,CAAQ,IAAI,KAAK,KAAKA,CAAQ;AAErE,WAAO,KAAK,MAAMC,IAAU,CAAC,IAAI;AAAA,EACrC,CAAG;AACD,SAAAF,EAAU,KAAKD,GACRC,EAAU,IAAI,CAAA7yB,MAAQ;AAC3B,UAAMzO,IAASyO,IAAO;AACtB,WAAO;AAAA,MACL,MAAAA;AAAA,MACA,YAAYzO,IAASyO;AAAA,IAC3B;AAAA,EACA,CAAG;AACH;AChBA,MAAMgzB,KAAkB,CAAAC,MAAY;AAClC,QAAMC,IAAgBC,GAAaF,CAAQ,GACrCJ,IAAYK,EAAc,IAAI,CAAAE,MAAQA,EAAK,IAAI,GAC/CC,IAAcH,EAAc,IAAI,CAAAE,MAAQA,EAAK,UAAU;AAC7D,SAAO;AAAA,IACL,YAAYP,EAAU;AAAA,IACtB,UAAUA,EAAU;AAAA,IACpB,YAAYA,EAAU;AAAA,IACtB,YAAYA,EAAU;AAAA,IACtB,kBAAkBA,EAAU;AAAA,IAC5B,kBAAkBA,EAAU;AAAA,IAC5B,kBAAkBA,EAAU;AAAA,IAC5B,kBAAkBA,EAAU;AAAA,IAC5B,kBAAkBA,EAAU;AAAA,IAC5B,YAAYQ,EAAY;AAAA,IACxB,cAAcA,EAAY;AAAA,IAC1B,cAAcA,EAAY;AAAA,IAC1B,oBAAoBA,EAAY;AAAA,IAChC,oBAAoBA,EAAY;AAAA,IAChC,oBAAoBA,EAAY;AAAA,IAChC,oBAAoBA,EAAY;AAAA,IAChC,oBAAoBA,EAAY;AAAA,EACpC;AACA,GACAC,KAAeN;ACjBA,SAASltB,GAAWtM,GAAO;AACxC,QAAM+5B,IAAgB,OAAO,KAAKnD,EAAmB,EAAE,IAAI,CAAAoD,MAAY;AACrE,UAAMhB,IAASrD,GAAS31B,EAAMg6B,EAAS;AACvC,WAAO,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,CAACz1B,GAAMgiB,GAAGt3B,OAC5CsV,EAAK,GAAGy1B,KAAY/qC,IAAI,OAAO+pC,EAAO/pC,IAC/BsV,IACN,CAAE,CAAA;AAAA,EACN,CAAA,EAAE,OAAO,CAACA,GAAM01B,OACf11B,IAAO,OAAO,OAAO,OAAO,OAAO,IAAIA,CAAI,GAAG01B,CAAG,GAC1C11B,IACN,CAAE,CAAA;AACL,SAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAE,GAAEvE,CAAK,GAAG+5B,CAAa,GAAGhD,GAAiB/2B,GAAO;AAAA,IAC3J,uBAAAi3B;AAAA,IACA,8BAAAC;AAAA,EACJ,CAAG,CAAC,GAAGsC,GAAgBx5B,EAAM,QAAQ,CAAC,GAAGy2B,GAAgBz2B,CAAK,CAAC,GAAGs2B,GAAiBt2B,CAAK,CAAC,GAAGu4B,GAAkBv4B,CAAK,CAAC;AACpH;ACtBA,SAASk6B,GAAclI,GAAO;AAC5B,SAAOA,KAAS,KAAKA,KAAS;AAChC;AACA,SAAS4G,GAAcuB,GAAYC,GAAiB;AAClD,QAAM;AAAA,IACJC;AAAA,IACA,GAAGC;AAAA,IACH,GAAGC;AAAA,IACH,GAAGC;AAAA,EACJ,IAAG,IAAI1H,GAAUqH,CAAU,EAAE,MAAK;AACnC,MAAIK,IAAc;AAChB,WAAOL;AAET,QAAM;AAAA,IACJ,GAAGM;AAAA,IACH,GAAGC;AAAA,IACH,GAAGC;AAAA,EACJ,IAAG,IAAI7H,GAAUsH,CAAe,EAAE,MAAK;AACxC,WAASQ,IAAK,MAAMA,KAAM,GAAGA,KAAM,MAAM;AACvC,UAAMxmC,IAAI,KAAK,OAAOimC,IAAKI,KAAM,IAAIG,MAAOA,CAAE,GACxCl2C,IAAI,KAAK,OAAO41C,IAAKI,KAAM,IAAIE,MAAOA,CAAE,GACxCj2C,IAAI,KAAK,OAAO41C,IAAKI,KAAM,IAAIC,MAAOA,CAAE;AAC9C,QAAIV,GAAc9lC,CAAC,KAAK8lC,GAAcx1C,CAAC,KAAKw1C,GAAcv1C,CAAC;AACzD,aAAO,IAAImuC,GAAU;AAAA,QACnB,GAAA1+B;AAAA,QACA,GAAA1P;AAAA,QACA,GAAAC;AAAA,QACA,GAAG,KAAK,MAAMi2C,IAAK,GAAG,IAAI;AAAA,MAClC,CAAO,EAAE,YAAW;AAAA,EAEjB;AAGD,SAAO,IAAI9H,GAAU;AAAA,IACnBuH;AAAA,IACA,GAAGC;AAAA,IACH,GAAGC;AAAA,IACH,GAAG;AAAA,EACP,CAAG,EAAE,YAAW;AAChB;ACxCA,IAAIM,KAASC,cAAQA,WAAK,UAAU,SAAUtwC,GAAG3F,GAAG;AAClD,MAAIwP,IAAI,CAAA;AACR,WAAS/P,KAAKkG;AAAG,IAAI,OAAO,UAAU,eAAe,KAAKA,GAAGlG,CAAC,KAAKO,EAAE,QAAQP,CAAC,IAAI,MAAG+P,EAAE/P,KAAKkG,EAAElG;AAC9F,MAAIkG,KAAK,QAAQ,OAAO,OAAO,yBAA0B;AAAY,aAASyE,IAAI,GAAG3K,IAAI,OAAO,sBAAsBkG,CAAC,GAAGyE,IAAI3K,EAAE,QAAQ2K;AACtI,MAAIpK,EAAE,QAAQP,EAAE2K,EAAE,IAAI,KAAK,OAAO,UAAU,qBAAqB,KAAKzE,GAAGlG,EAAE2K,EAAE,MAAGoF,EAAE/P,EAAE2K,MAAMzE,EAAElG,EAAE2K;AAEhG,SAAOoF;AACT;AASe,SAASyN,GAAYM,GAAiB;AACnD,QAAM;AAAA,IACF,UAAAP;AAAA,EACN,IAAQO,GACJ24B,IAAYF,GAAOz4B,GAAiB,CAAC,UAAU,CAAC,GAC5C44B,IAAiB,OAAO,OAAO,CAAE,GAAEn5B,CAAQ;AACjD,SAAO,KAAKg1B,EAAS,EAAE,QAAQ,CAAA72B,MAAS;AACtC,WAAOg7B,EAAeh7B;AAAA,EAC1B,CAAG;AACD,QAAM+B,IAAc,OAAO,OAAO,OAAO,OAAO,IAAIg5B,CAAS,GAAGC,CAAc,GACxEC,IAAW,KACXC,IAAW,KACXC,IAAW,KACXC,IAAW,KACXC,IAAW,MACXC,IAAY;AAqIlB,SAnImB,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,IAAIv5B,CAAW,GAAG;AAAA,IAC7E,WAAWA,EAAY;AAAA,IACvB,gBAAgBA,EAAY;AAAA,IAC5B,iBAAiBA,EAAY;AAAA,IAE7B,kBAAkBA,EAAY;AAAA,IAC9B,uBAAuBA,EAAY;AAAA,IACnC,gBAAgBA,EAAY;AAAA,IAC5B,0BAA0BA,EAAY;AAAA,IAEtC,eAAeA,EAAY;AAAA,IAC3B,YAAY62B,GAAc72B,EAAY,sBAAsBA,EAAY,gBAAgB;AAAA,IAExF,sBAAsBA,EAAY;AAAA,IAClC,mBAAmBA,EAAY;AAAA,IAC/B,kBAAkBA,EAAY;AAAA,IAC9B,gBAAgBA,EAAY;AAAA,IAC5B,sBAAsBA,EAAY;AAAA,IAClC,qBAAqBA,EAAY;AAAA,IACjC,gBAAgBA,EAAY;AAAA,IAC5B,kBAAkBA,EAAY;AAAA,IAC9B,mBAAmBA,EAAY;AAAA,IAC/B,WAAWA,EAAY;AAAA,IACvB,gBAAgBA,EAAY;AAAA,IAC5B,mBAAmB62B,GAAc72B,EAAY,cAAcA,EAAY,gBAAgB;AAAA,IACvF,qBAAqB62B,GAAc72B,EAAY,gBAAgBA,EAAY,gBAAgB;AAAA,IAE3F,cAAcA,EAAY;AAAA,IAE1B,WAAWA,EAAY;AAAA,IACvB,qBAAqBA,EAAY,YAAY;AAAA,IAE7C,wBAAwBA,EAAY,gBAAgB;AAAA,IACpD,oBAAoBA,EAAY;AAAA,IAChC,qBAAqBA,EAAY;AAAA,IACjC,0BAA0BA,EAAY;AAAA,IACtC,6BAA6BA,EAAY;AAAA,IACzC,mBAAmBA,EAAY;AAAA,IAC/B,gBAAgB62B,GAAc72B,EAAY,gBAAgBA,EAAY,gBAAgB;AAAA,IACtF,UAAUA,EAAY;AAAA,IACtB,cAAcA,EAAY;AAAA,IAC1B,gBAAgBA,EAAY;AAAA,IAC5B,gBAAgBA,EAAY;AAAA,IAC5B,gBAAgBA,EAAY;AAAA,IAC5B,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,0BAA0B;AAAA,IAC1B,4BAA4B;AAAA,IAC5B,YAAYA,EAAY;AAAA,IACxB,WAAWA,EAAY;AAAA,IACvB,WAAWA,EAAY;AAAA,IACvB,SAASA,EAAY;AAAA,IACrB,WAAWA,EAAY;AAAA,IACvB,WAAWA,EAAY;AAAA,IACvB,WAAWA,EAAY;AAAA,IACvB,4BAA4BA,EAAY;AAAA,IACxC,0BAA0BA,EAAY;AAAA,IACtC,0BAA0BA,EAAY;AAAA,IACtC,wBAAwBA,EAAY;AAAA,IACpC,4BAA4BA,EAAY;AAAA,IACxC,0BAA0BA,EAAY;AAAA,IACtC,WAAWA,EAAY;AAAA,IACvB,UAAUA,EAAY;AAAA,IACtB,UAAUA,EAAY;AAAA,IACtB,QAAQA,EAAY;AAAA,IACpB,UAAUA,EAAY;AAAA,IACtB,UAAUA,EAAY;AAAA,IACtB,UAAUA,EAAY;AAAA,IACtB,WAAWA,EAAY;AAAA,IACvB,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,IAKX,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKpB,UAAAk5B;AAAA,IACA,aAAaA;AAAA,IACb,aAAaC,IAAW;AAAA,IACxB,UAAAA;AAAA,IACA,aAAaA;AAAA,IACb,aAAaC,IAAW;AAAA,IACxB,UAAAA;AAAA,IACA,aAAaA;AAAA,IACb,aAAaC,IAAW;AAAA,IACxB,UAAAA;AAAA,IACA,aAAaA;AAAA,IACb,aAAaC,IAAW;AAAA,IACxB,UAAAA;AAAA,IACA,aAAaA;AAAA,IACb,aAAaC,IAAY;AAAA,IACzB,WAAAA;AAAA,IACA,cAAcA;AAAA,IAEd,uBAAuB;AAAA,IACvB,eAAe;AAAA,uBACI,IAAIxI,GAAU,qBAAqB,EAAE,YAAW;AAAA,oBACnD,IAAIA,GAAU,qBAAqB,EAAE,YAAW;AAAA,uBAC7C,IAAIA,GAAU,qBAAqB,EAAE,YAAW;AAAA;AAAA,IAEnE,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKtB,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKrB,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKnB,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKrB,2BAA2B;AAAA,IAC3B,4BAA4B;AAAA,IAC5B,0BAA0B;AAAA,IAC1B,6BAA6B;AAAA,EACjC,CAAG,GAAGkI,CAAc;AAEpB;ACrKO,MAAMO,KAAe,CAACzjC,GAAO0jC,GAAaC,GAAaC,GAASC,MAAc;AACnF,QAAMC,IAAY9jC,IAAQ,GACpB+jC,IAAKD,IAAYH,KAAe,KAAK,KAAK,CAAC,IAAI,IAC/CK,IAAKF,GACLG,IAAKH,IAAYH,KAAe,IAAI,IAAI,KAAK,KAAK,CAAC,IACnDO,IAAKJ,IAAYH,KAAe,IAAI,IAAI,KAAK,KAAK,CAAC,IACnDQ,IAAK,IAAIL,IAAYJ,KAAe,IAAI,KAAK,KAAK,CAAC,IACnDU,IAAKV,KAAe,IAAI,KAAK,KAAK,CAAC,IACnCW,IAAK,IAAIP,IAAYK,GACrBG,IAAKF,GACLpwC,IAAK,IAAI8vC,IAAYG,GACrBM,IAAKL,GACLM,IAAK,IAAIV,IAAYC,GACrBU,IAAKT;AACX,SAAO;AAAA,IACL,cAAc;AAAA,MACZ,cAAc;AAAA,MACd,OAAO,OAAON;AAAA,IACf;AAAA,IACD,eAAe;AAAA,IACf,OAAO1jC,IAAQ;AAAA,IACf,QAAQA,IAAQ;AAAA,IAChB,UAAU;AAAA,IACV,YAAY;AAAA,MACV,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAOA,IAAQ,KAAK,KAAK,CAAC;AAAA,MAC1B,QAAQA,IAAQ,KAAK,KAAK,CAAC;AAAA,MAC3B,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,cAAc;AAAA,QACZ,cAAc;AAAA,QACd,OAAO,OAAO0jC;AAAA,MACf;AAAA,MACD,WAAW;AAAA,MACX,WAAAG;AAAA,MACA,QAAQ;AAAA,MACR,YAAY;AAAA,IACb;AAAA,IACD,aAAa;AAAA,MACX,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,kBAAkB;AAAA,MAClB,OAAO7jC,IAAQ;AAAA,MACf,QAAQA,IAAQ;AAAA,MAChB,YAAY4jC;AAAA,MACZ,UAAU,WAAWG,KAAMC,OAAQL,KAAeA,WAAqBM,KAAMC,OAAQC,KAAMC,OAAQV,KAAeA,WAAqBW,KAAMC,OAAQtwC,KAAMuwC,OAAQZ,KAAeA,WAAqBa,KAAMC;AAAA,MAC7M,SAAS;AAAA,IACV;AAAA,EACL;AACA,GChDaC,KAAe;AAAA,EAC1B,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,cAAc;AAChB,GACaC,KAAiB,CAAAz8B,OAAU;AAAA,EACtC,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAOA,EAAM;AAAA,EACb,UAAUA,EAAM;AAAA,EAEhB,YAAYA,EAAM;AAAA,EAClB,WAAW;AAAA,EAEX,YAAYA,EAAM;AACpB,IAkCa08B,KAAe,CAAA18B,OAAU;AAAA,EACpC,GAAG;AAAA,IACD,OAAOA,EAAM;AAAA,IACb,gBAAgBA,EAAM;AAAA,IACtB,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY,SAASA,EAAM;AAAA,IAC3B,gCAAgC;AAAA,IAChC,WAAW;AAAA,MACT,OAAOA,EAAM;AAAA,IACd;AAAA,IACD,YAAY;AAAA,MACV,OAAOA,EAAM;AAAA,IACd;AAAA,IACD,CAAC;AAAA,aACQ;AAAA,MACP,gBAAgBA,EAAM;AAAA,MACtB,SAAS;AAAA,IACV;AAAA,IAED,WAAW;AAAA,MACT,gBAAgBA,EAAM;AAAA,MACtB,SAAS;AAAA,IACV;AAAA,IACD,eAAe;AAAA,MACb,OAAOA,EAAM;AAAA,MACb,QAAQ;AAAA,IACT;AAAA,EACF;AACH,IACa28B,KAAiB,CAAC38B,GAAO48B,MAAuB;AAC3D,QAAM;AAAA,IACJ,YAAAC;AAAA,IACA,UAAApD;AAAA,EACD,IAAGz5B,GACE88B,IAAqB,YAAYF,kBAAmCA;AAC1E,SAAO;AAAA,IACL,CAACE,IAAqB;AAAA,MACpB,YAAAD;AAAA,MACA,UAAApD;AAAA,MACA,WAAW;AAAA,MACX,uBAAuB;AAAA,QACrB,WAAW;AAAA,MACZ;AAAA,MACD,CAACqD,IAAqB;AAAA,QACpB,WAAW;AAAA,QACX,uBAAuB;AAAA,UACrB,WAAW;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACL;AACA,GACaC,KAAkB,CAAA/8B,OAAU;AAAA,EACvC,SAAS,GAAGA,EAAM,yBAAyBA,EAAM;AAAA,EACjD,eAAe;AAAA,EACf,YAAY;AACd,IACag9B,KAAgB,CAAAh9B,OAAU;AAAA,EACrC,mBAAmB,OAAO,OAAO,CAAE,GAAE+8B,GAAgB/8B,CAAK,CAAC;AAC7D,ICjHai9B,KAAuB,WAC9BC,KAAsB,CAACC,GAAWC,MAClCA,MACGD,IAAY,OAAOA,MAAc,QAG7BE,KAA6B,gBAAAr4C,EAAM,cAAc;AAAA,EAE5D,cAAck4C;AAAA,EACd,eAAeD;AACjB,CAAC;ACNc,SAASK,GAAsBtpC,GAAW2W,GAAS4yB,GAAiB;AACjF,SAAO,CAAAC,MAAa;AAClB,UAAM,CAAC/7B,GAAOzB,GAAOsC,CAAM,IAAIm7B,GAAQ,GACjC;AAAA,MACJ,cAAAC;AAAA,MACA,eAAAC;AAAA,IACN,IAAQnP,GAAW6O,EAAa,GACtBO,IAAgBF;AAEtB,WAAAhzB,GAAiB;AAAA,MACf,OAAAjJ;AAAA,MACA,OAAAzB;AAAA,MACA,QAAAsC;AAAA,MACA,MAAM,CAAC,UAAUs7B,CAAa;AAAA,IAC/B,GAAE,MAAM,CAAC;AAAA,MAER,KAAKlB,GAAa18B,CAAK;AAAA,IACxB,CAAA,CAAC,GACK,CAAC0K,GAAiB;AAAA,MACvB,OAAAjJ;AAAA,MACA,OAAAzB;AAAA,MACA,QAAAsC;AAAA,MACA,MAAM,CAACtO,GAAWwpC,GAAWG,CAAa;AAAA,IAChD,GAAO,MAAM;AACP,YAAM;AAAA,QACJ,OAAOE;AAAA,QACP,OAAAC;AAAA,MACR,IAAUC,GAAe/9B,CAAK,GAClBg+B,IAAwB,OAAOT,KAAoB,aAAaA,EAAgBM,CAAU,IAAIN,GAC9FU,IAAuB,OAAO,OAAO,OAAO,OAAO,CAAE,GAAED,CAAqB,GAAGh+B,EAAMhM,EAAU,GAC/FkqC,IAAe,IAAIV,KACnBz7B,IAAco8B,GAAWN,GAAY;AAAA,QACzC,cAAAK;AAAA,QACA,WAAAV;AAAA,QACA,SAAS,IAAIG;AAAA,QACb,QAAQ,IAAIC;AAAA,MACb,GAAEK,CAAoB,GACjBG,IAAqBzzB,EAAQ5I,GAAa;AAAA,QAC9C,QAAAO;AAAA,QACA,WAAAk7B;AAAA,QACA,eAAAI;AAAA,QACA,eAAAD;AAAA,QACA,wBAAwB39B,EAAMhM;AAAA,MACtC,CAAO;AACD,aAAA8pC,EAAM9pC,GAAWiqC,CAAoB,GAC9B,CAACtB,GAAe38B,GAAOw9B,CAAS,GAAGY,CAAkB;AAAA,IAClE,CAAK,GAAG97B,CAAM;AAAA,EACd;AACA;ACrDA,MAAM+7B,KAAkB,QAAQ,IAAI,aAAa,gBAAgB,OAAO,oBAAsB;AAC9F,IAAIC,KAAY;AAKT,SAASC,KAAQ;AACtB,WAASnnC,IAAO,UAAU,QAAQonC,IAAO,IAAI,MAAMpnC,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,IAAAknC,EAAKlnC,KAAQ,UAAUA;AAGzB,MAAI,CAAC+mC;AACH,WAAO,OAAO,OAAO,MAAM,QAAQ,CAAC,CAAA,CAAE,EAAE,OAAOG,CAAI,CAAC;AAEtD,EAAAF,KAAY;AACZ,QAAMrvB,IAAM,CAAA;AACZ,SAAAuvB,EAAK,QAAQ,CAAA7rC,MAAO;AAElB,IADa,OAAO,KAAKA,CAAG,EACvB,QAAQ,CAAApF,MAAO;AAClB,aAAO,eAAe0hB,GAAK1hB,GAAK;AAAA,QAC9B,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,KAAK,MAAMoF,EAAIpF;AAAA,MACvB,CAAO;AAAA,IACP,CAAK;AAAA,EACL,CAAG,GACD+wC,KAAY,IACLrvB;AACT;AAOA,SAASlb,KAAO;AAAE;AAEH,SAASgqC,GAAe/9B,GAAO;AAC5C,MAAIgB,GACAy9B,IAAQz+B,GACR89B,IAAQ/pC;AACZ,SAAIsqC,OACFr9B,IAAY,oBAAI,OAChBy9B,IAAQ,IAAI,MAAMz+B,GAAO;AAAA,IACvB,IAAIrN,GAAK+rC,GAAM;AACb,aAAIJ,MACFt9B,EAAU,IAAI09B,CAAI,GAEb/rC,EAAI+rC;AAAA,IACZ;AAAA,EACP,CAAK,GACDZ,IAAQ,CAACryC,GAAekzC,MAAmB;AACd,IACjB,MAAM,KAAK39B,CAAS;AAAA,EAGpC,IAES;AAAA,IACL,OAAOy9B;AAAA,IACP,MAAMz9B;AAAA,IACN,OAAA88B;AAAA,EACJ;AACA;ACtDA,MAAMc,KAAepxB,GAAYqxB,EAAiB,GAUrCC,KAAgB;AAAA,EAC3B,OAAOhI;AAAA,EACP,QAAQ;AACV,GACaiI,KAAkC/5C,gBAAAA,GAAM,cAAc85C,EAAa;AAEzE,SAASrB,KAAW;AACzB,QAAM;AAAA,IACJ,OAAOuB;AAAA,IACP,QAAAC;AAAA,IACA,OAAAx9B;AAAA,IACA,YAAAy9B;AAAA,EACJ,IAAMl6C,GAAM,WAAW+5C,EAAkB,GACjC7+B,IAAO,GAAGi/B,MAAWF,KAAU,MAC/BG,IAAc39B,KAASm9B,IACvB,CAAC5+B,GAAOsC,CAAM,IAAId,GAAc49B,GAAa,CAACtI,IAAkBkI,CAAe,GAAG;AAAA,IACtF,MAAA9+B;AAAA,IACA,UAAU,OAAO,OAAO;AAAA,MACtB,UAAU8+B;AAAA,IACX,GAAEE,CAAU;AAAA,IACb,aAAAp9B;AAAA,EACJ,CAAG;AACD,SAAO,CAACs9B,GAAap/B,GAAOi/B,IAAS38B,IAAS,EAAE;AAClD;ACzCA,MAAM+8B,KAA+B,gBAAAr6C,EAAM,cAAc,EAAK,GAW9Ds6C,KAAeD,ICXTE,KAA2B,gBAAAv6C,EAAM,cAAc,MAAS,GAW9Dw6C,KAAeD;ACZFzE,cAAQA,WAAK;AA2MtB,QAAQ,IAAI;AC1MT,MAAM;AAAA,EACX,gBAAA7sC;AACF,IAAIjJ;AACG,SAAS0R,GAAWxH,GAAO;AAChC,SAAOA,KAASjB,GAAeiB,CAAK,KAAKA,EAAM,SAASlK,EAAM;AAChE;AACO,SAASy6C,GAAet0C,GAASgY,GAAana,GAAO;AAC1D,SAAKiF,GAAe9C,CAAO,IAGP,gBAAAnG,EAAM,aAAamG,GAAS,OAAOnC,KAAU,aAAaA,EAAMmC,EAAQ,SAAS,EAAE,IAAInC,CAAK,IAFvGma;AAGX;AACO,SAASu8B,GAAav0C,GAASnC,GAAO;AAC3C,SAAOy2C,GAAet0C,GAASA,GAASnC,CAAK;AAC/C;ACdA,MAAM22C,KAAe,CAAA3/B,MAAS;AAC5B,QAAM;AAAA,IACJ,cAAAk+B;AAAA,IACA,cAAA0B;AAAA,EACD,IAAG5/B;AACJ,SAAO;AAAA,IACL,CAACk+B,IAAe;AAAA,MACd,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,WAAW;AAAA,MACX,OAAO,qBAAqB0B;AAAA,MAC5B,WAAW;AAAA,MACX,SAAS;AAAA,MAET,wBAAwB;AAAA,QACtB,YAAY,CAAC,mBAAmB5/B,EAAM,qBAAqB,cAAcA,EAAM,mBAAmB,EAAE,KAAK,GAAG;AAAA,QAC5G,YAAY;AAAA,UACV,WAAW;AAAA,UACX,SAAS;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACL;AACA,GACA6/B,KAAevC,GAAsB,QAAQ,CAAAt9B,MAAS,CAAC2/B,GAAa3/B,CAAK,CAAC,CAAC;ACrB5D,SAAS8/B,GAAY9wC,GAAM;AACxC,SAAIA,aAAgB,cACXA,IAGF+wC,GAAS,YAAY/wC,CAAI;AAClC;ACRO,SAASkI,GAAQ1J,GAAKwB,GAAM;AACjC,EAAI,OAAOxB,KAAQ,aACjBA,EAAIwB,CAAI,IACCmF,GAAQ3G,CAAG,MAAM,YAAYA,KAAO,aAAaA,MAC1DA,EAAI,UAAUwB;AAElB;AAqCO,SAASwI,GAAWC,GAAiB;AAC1C,MAAIC,GAAiBC,GAEjBrQ,IAAOsP,GAAM,OAACa,CAAe,IAAIA,EAAgB,KAAK,OAAOA,EAAgB;AAOjF,SALI,SAAOnQ,KAAS,cAAc,EAAG,GAAAoQ,IAAkBpQ,EAAK,eAAe,QAAQoQ,MAAoB,WAAkBA,EAAgB,WAKrI,OAAOD,KAAoB,cAAc,EAAG,GAAAE,IAAwBF,EAAgB,eAAe,QAAQE,MAA0B,WAAkBA,EAAsB;AAKnL;AC7De,SAASoG,KAAY;AAClC,SAAO,CAAC,EAAE,OAAO,SAAW,OAAe,OAAO,YAAY,OAAO,SAAS;AAChF;ACEA,SAASiiC,GAAcC,GAAWC,GAAW;AAC3C,MAAIC,IAAW,CAAA;AACf,SAAAA,EAASF,EAAU,YAAW,KAAMC,EAAU,YAAW,GACzDC,EAAS,SAAS,OAAOF,CAAS,KAAK,SAAS,OAAOC,CAAS,GAChEC,EAAS,MAAM,OAAOF,CAAS,KAAK,MAAM,OAAOC,CAAS,GAC1DC,EAAS,KAAK,OAAOF,CAAS,KAAK,KAAK,OAAOC,CAAS,GACxDC,EAAS,IAAI,OAAOF,CAAS,KAAK,IAAI,OAAOC,EAAU,YAAW,CAAE,GAC7DC;AACT;AAEO,SAASC,GAAkBC,GAAY5jC,GAAK;AACjD,MAAI0jC,IAAW;AAAA,IACb,cAAcH,GAAc,aAAa,cAAc;AAAA,IACvD,eAAeA,GAAc,cAAc,eAAe;AAAA,EAC9D;AAEE,SAAIK,MACI,oBAAoB5jC,KACxB,OAAO0jC,EAAS,aAAa,WAGzB,qBAAqB1jC,KACzB,OAAO0jC,EAAS,cAAc,aAI3BA;AACT;AACA,IAAIG,KAAiBF,GAAkBG,MAAa,OAAO,SAAW,MAAc,SAAS,CAAA,CAAE,GAC3FtlC,KAAQ,CAAA;AAEZ,IAAIslC,MAAa;AACf,MAAIC,KAAwB,SAAS,cAAc,KAAK;AAExDvlC,EAAAA,KAAQulC,GAAsB;AAChC;AAEA,IAAIC,KAAqB,CAAA;AAClB,SAASC,GAA2BR,GAAW;AACpD,MAAIO,GAAmBP;AACrB,WAAOO,GAAmBP;AAG5B,MAAIS,IAAYL,GAAeJ;AAE/B,MAAIS;AAIF,aAHIC,IAAgB,OAAO,KAAKD,CAAS,GACrCtoC,IAAMuoC,EAAc,QAEf3xC,IAAI,GAAGA,IAAIoJ,GAAKpJ,KAAK,GAAG;AAC/B,UAAIgxC,IAAYW,EAAc3xC;AAE9B,UAAI,OAAO,UAAU,eAAe,KAAK0xC,GAAWV,CAAS,KAAKA,KAAahlC;AAC7EwlC,eAAAA,GAAmBP,KAAaS,EAAUV,IACnCQ,GAAmBP;AAAA,IAE7B;AAGH,SAAO;AACT;AACA,IAAIW,KAA2BH,GAA2B,cAAc,GACpEI,KAA4BJ,GAA2B,eAAe,GAC/DK,KAAoB,CAAC,EAAEF,MAA4BC,KACnDE,KAAmBH,MAA4B,gBAC/CI,KAAoBH,MAA6B;AACrD,SAASI,GAAkBC,GAAgBC,GAAgB;AAChE,MAAI,CAACD;AAAgB,WAAO;AAE5B,MAAIhtC,GAAQgtC,CAAc,MAAM,UAAU;AACxC,QAAI75C,IAAO85C,EAAe,QAAQ,QAAQ,SAAU33C,GAAO;AACzD,aAAOA,EAAM,GAAG;IACtB,CAAK;AACD,WAAO03C,EAAe75C;AAAA,EACvB;AAED,SAAO,GAAG,OAAO65C,GAAgB,GAAG,EAAE,OAAOC,CAAc;AAC7D;ACjFO,IAAIC,KAAc,QACdC,KAAgB,UAChBC,KAAe,SACfC,KAAe,SACfC,KAAY,QACZC,KAAe,WACfC,KAAa,SACbC,KAAc,UACdC,KAAiB;ACAb,SAASC,GAAazb,GAAc;AACjD,MAAI0b,IAAa/8C,EAAM,OAAO,EAAK,GAE/B6mC,IAAkB7mC,EAAM,SAASqhC,CAAY,GAC7CyF,IAAmB7vB,EAAe4vB,GAAiB,CAAC,GACpD3/B,IAAQ4/B,EAAiB,IACzB7P,IAAW6P,EAAiB;AAEhC,EAAA9mC,EAAM,UAAU,WAAY;AAC1B,WAAA+8C,EAAW,UAAU,IACd,WAAY;AACjB,MAAAA,EAAW,UAAU;AAAA,IAC3B;AAAA,EACG,GAAE,CAAE,CAAA;AAEL,WAASC,EAAa5a,GAAS6a,GAAe;AAC5C,IAAIA,KAAiBF,EAAW,WAIhC9lB,EAASmL,CAAO;AAAA,EACjB;AAED,SAAO,CAACl7B,GAAO81C,CAAY;AAC7B;AChCA,IAAIE,KAAM,SAAav7B,GAAU;AAC/B,SAAO,CAAC,WAAWA,GAAU,EAAE;AACjC,GAEIw7B,KAAM,SAAavqB,GAAK;AAC1B,SAAO,aAAaA,CAAG;AACzB;AAEI,OAAO,SAAW,OAAe,2BAA2B,WAC9DsqB,KAAM,SAAav7B,GAAU;AAC3B,SAAO,OAAO,sBAAsBA,CAAQ;AAChD,GAEEw7B,KAAM,SAAa7vB,GAAQ;AACzB,SAAO,OAAO,qBAAqBA,CAAM;AAC7C;AAGA,IAAI8vB,KAAU,GACVC,KAAS,oBAAI;AAEjB,SAASC,GAAQC,GAAI;AACnBF,EAAAA,GAAO,OAAOE,CAAE;AAClB;AAEe,SAASC,GAAW77B,GAAU;AAC3C,MAAIpJ,IAAQ,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAChF6kC,EAAAA,MAAW;AACX,MAAIG,IAAKH;AAET,WAASK,EAAQC,GAAW;AAC1B,QAAIA,MAAc;AAEhBJ,MAAAA,GAAQC,CAAE,GAEV57B;SACK;AAEL,UAAIg8B,IAAST,GAAI,WAAY;AAC3B,QAAAO,EAAQC,IAAY,CAAC;AAAA,MAC7B,CAAO;AAEDL,MAAAA,GAAO,IAAIE,GAAII,CAAM;AAAA,IACtB;AAAA,EACF;AAED,SAAAF,EAAQllC,CAAK,GACNglC;AACT;AAEAC,GAAW,SAAS,SAAUD,GAAI;AAChC,MAAII,IAASN,GAAO,IAAIE,CAAE;AAC1BD,SAAAA,GAAQK,CAAM,GACPR,GAAIQ,CAAM;AACnB;ACpDA,MAAAC,KAAgB,WAAY;AAC1B,MAAIC,IAAe79C,EAAM,OAAO,IAAI;AAEpC,WAAS89C,IAAkB;AACzBZ,IAAAA,GAAI,OAAOW,EAAa,OAAO;AAAA,EAChC;AAED,WAASE,EAAUp8B,GAAU;AAC3B,QAAIq8B,IAAQ,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAChF,IAAAF;AACA,QAAIG,IAAcf,GAAI,WAAY;AAChC,MAAIc,KAAS,IACXr8B,EAAS;AAAA,QACP,YAAY,WAAsB;AAChC,iBAAOs8B,MAAgBJ,EAAa;AAAA,QACrC;AAAA,MACX,CAAS,IAEDE,EAAUp8B,GAAUq8B,IAAQ,CAAC;AAAA,IAErC,CAAK;AACD,IAAAH,EAAa,UAAUI;AAAA,EACxB;AAED,SAAAj+C,EAAM,UAAU,WAAY;AAC1B,WAAO,WAAY;AACjB,MAAA89C;IACN;AAAA,EACG,GAAE,CAAE,CAAA,GACE,CAACC,GAAWD,CAAe;AACpC;AC7BA,IAAII,KAA4BnlC,OAAcolC,KAAkBxU,ICG5DyU,KAAa,CAAC1B,IAAcC,IAAYC,IAAaC,EAAc,GAG5DwB,KAAW,IAGXC,KAAS;AACb,SAASC,GAASl0C,GAAM;AAC7B,SAAOA,MAASuyC,MAAevyC,MAASwyC;AAC1C;AACA,MAAA2B,KAAgB,SAAUC,GAAQ98B,GAAU;AAC1C,MAAIsnB,IAAYC,GAASuT,EAAS,GAC9BtT,IAAalyB,EAAegyB,GAAW,CAAC,GACxC5+B,IAAO8+B,EAAW,IAClBuV,IAAUvV,EAAW,IAErBwV,IAAgBC,GAAc,GAC9BC,IAAiB5nC,EAAe0nC,GAAe,CAAC,GAChDZ,IAAYc,EAAe,IAC3Bf,IAAkBe,EAAe;AAErC,WAASC,IAAa;AACpB,IAAAJ,EAAQhC,IAAc,EAAI;AAAA,EAC3B;AAEDwB,SAAAA,GAA0B,WAAY;AACpC,QAAI7zC,MAASoyC,MAAapyC,MAASwyC,IAAgB;AACjD,UAAIt+B,IAAQ6/B,GAAW,QAAQ/zC,CAAI,GAC/B00C,IAAWX,GAAW7/B,IAAQ,IAC9BqJ,IAASjG,EAAStX,CAAI;AAE1B,MAAIud,MAAWy2B,KAEbK,EAAQK,GAAU,EAAI,IAGtBhB,EAAU,SAAUr0C,GAAM;AACxB,iBAASs1C,IAAS;AAEhB,UAAIt1C,EAAK,WAAU,KACnBg1C,EAAQK,GAAU,EAAI;AAAA,QACvB;AAED,QAAIn3B,MAAW,KACbo3B,MAGA,QAAQ,QAAQp3B,CAAM,EAAE,KAAKo3B,CAAM;AAAA,MAE/C,CAAS;AAAA,IAEJ;AAAA,EACL,GAAK,CAACP,GAAQp0C,CAAI,CAAC,GACjBrK,EAAM,UAAU,WAAY;AAC1B,WAAO,WAAY;AACjB,MAAA89C;IACN;AAAA,EACG,GAAE,CAAE,CAAA,GACE,CAACgB,GAAYz0C,CAAI;AAC1B,GC9De40C,KAAC,SAAUt9B,GAAU;AAClC,MAAIu9B,IAAkB3V,MAElB4V,IAAc5V,GAAO5nB,CAAQ;AACjC,EAAAw9B,EAAY,UAAUx9B;AAEtB,MAAIy9B,IAAsBp/C,EAAM,YAAY,SAAUo4B,GAAO;AAC3D,IAAA+mB,EAAY,QAAQ/mB,CAAK;AAAA,EAC1B,GAAE,CAAE,CAAA;AAEL,WAASinB,EAAmBl5C,GAAS;AACnC,IAAIA,MACFA,EAAQ,oBAAoB81C,IAAmBmD,CAAmB,GAClEj5C,EAAQ,oBAAoB61C,IAAkBoD,CAAmB;AAAA,EAEpE;AAGD,WAASE,EAAkBn5C,GAAS;AAClC,IAAI+4C,EAAgB,WAAWA,EAAgB,YAAY/4C,KACzDk5C,EAAmBH,EAAgB,OAAO,GAGxC/4C,KAAWA,MAAY+4C,EAAgB,YACzC/4C,EAAQ,iBAAiB81C,IAAmBmD,CAAmB,GAC/Dj5C,EAAQ,iBAAiB61C,IAAkBoD,CAAmB,GAE9DF,EAAgB,UAAU/4C;AAAA,EAE7B;AAGD,SAAAnG,EAAM,UAAU,WAAY;AAC1B,WAAO,WAAY;AACjB,MAAAq/C,EAAmBH,EAAgB,OAAO;AAAA,IAChD;AAAA,EACG,GAAE,CAAE,CAAA,GACE,CAACI,GAAmBD,CAAkB;AAC/C;AC/Be,SAASE,GAAUC,GAAeC,GAASC,GAAYtnC,GAAM;AAC1E,MAAIunC,IAAmBvnC,EAAK,aACxBwnC,IAAcD,MAAqB,SAAS,KAAOA,GACnDE,IAAoBznC,EAAK,cACzB0nC,IAAeD,MAAsB,SAAS,KAAOA,GACrDE,IAAmB3nC,EAAK,aACxB4nC,IAAcD,MAAqB,SAAS,KAAOA,GACnDE,IAAiB7nC,EAAK,gBACtB8nC,IAAyB9nC,EAAK,wBAC9B+nC,IAAkB/nC,EAAK,iBACvBgoC,IAAiBhoC,EAAK,gBACtBioC,IAAiBjoC,EAAK,gBACtBkoC,IAAgBloC,EAAK,eACrBmoC,IAAenoC,EAAK,cACpBooC,IAAepoC,EAAK,cACpBqoC,IAAiBroC,EAAK,gBACtBsoC,IAAgBtoC,EAAK,eACrBuoC,IAAgBvoC,EAAK,eACrBwoC,IAAcxoC,EAAK,aACnByoC,IAAazoC,EAAK,YAClB0oC,IAAa1oC,EAAK,YAClB2oC,IAAmB3oC,EAAK,kBAGxB6wB,IAAYC,GAAU,GACtBC,IAAalyB,EAAegyB,GAAW,CAAC,GACxC+X,IAAe7X,EAAW,IAC1B8X,IAAkB9X,EAAW,IAE7B+X,IAAahY,GAASmT,EAAW,GACjC8E,IAAalqC,EAAeiqC,GAAY,CAAC,GACzCzC,IAAS0C,EAAW,IACpBC,IAAYD,EAAW,IAEvBE,IAAanY,GAAS,IAAI,GAC1BoY,IAAarqC,EAAeoqC,GAAY,CAAC,GACzCprC,IAAQqrC,EAAW,IACnBC,IAAWD,EAAW,IAEtBE,IAAajY,GAAO,EAAK,GACzBkY,IAAclY,GAAO,IAAI;AAE7B,WAASmY,IAAgB;AACvB,WAAOhC,EAAU;AAAA,EAClB;AAGD,MAAIiC,KAAYpY,GAAO,EAAK;AAE5B,WAAS6V,GAAoBhnB,GAAO;AAClC,QAAIjyB,KAAUu7C;AAEd,QAAI,EAAAtpB,KAAS,CAACA,EAAM,YAAYA,EAAM,WAAWjyB,KAOjD;AAAA,UAAIy7C,KAAgBD,GAAU,SAC1BE;AAEJ,MAAIpD,MAAWnC,MAAiBsF,KAC9BC,KAASjB,KAAgB,OAAiC,SAASA,EAAYz6C,IAASiyB,CAAK,IACpFqmB,MAAWlC,MAAgBqF,KACpCC,KAAShB,KAAe,OAAgC,SAASA,EAAW16C,IAASiyB,CAAK,IACjFqmB,MAAWjC,MAAgBoF,OACpCC,KAASf,KAAe,OAAgC,SAASA,EAAW36C,IAASiyB,CAAK,IAIxFqmB,MAAWpC,MAAeuF,MAAiBC,OAAW,OACxDT,EAAU/E,IAAa,EAAI,GAC3BkF,EAAS,MAAM,EAAI;AAAA;AAAA,EAEtB;AAED,MAAIO,KAAsBC,GAAmB3C,EAAmB,GAC5D4C,KAAuB/qC,EAAe6qC,IAAqB,CAAC,GAC5DxC,KAAoB0C,GAAqB,IAGzCC,KAAgBjiD,EAAM,QAAQ,WAAY;AAC5C,QAAIqY,GAAOM,IAAOC;AAElB,YAAQ6lC,GAAM;AAAA,MACZ,KAAKnC;AACH,eAAOjkC,IAAQ,CAAA,GAAI3K,EAAgB2K,GAAOqkC,IAAcyD,CAAe,GAAGzyC,EAAgB2K,GAAOskC,IAAY2D,CAAa,GAAG5yC,EAAgB2K,GAAOukC,IAAa6D,CAAc,GAAGpoC;AAAA,MAEpL,KAAKkkC;AACH,eAAO5jC,KAAQ,CAAA,GAAIjL,EAAgBiL,IAAO+jC,IAAc0D,CAAc,GAAG1yC,EAAgBiL,IAAOgkC,IAAY4D,CAAY,GAAG7yC,EAAgBiL,IAAOikC,IAAa8D,CAAa,GAAG/nC;AAAA,MAEjL,KAAK6jC;AACH,eAAO5jC,KAAQ,CAAA,GAAIlL,EAAgBkL,IAAO8jC,IAAc2D,CAAc,GAAG3yC,EAAgBkL,IAAO+jC,IAAY6D,CAAY,GAAG9yC,EAAgBkL,IAAOgkC,IAAa+D,CAAa,GAAG/nC;AAAA,MAEjL;AACE,eAAO;IACV;AAAA,EACL,GAAK,CAAC6lC,CAAM,CAAC,GAEPyD,KAAgBC,GAAa1D,GAAQ,SAAU2D,GAAS;AAE1D,QAAIA,MAAY1F,IAAc;AAC5B,UAAI2F,KAAYJ,GAAcvF;AAE9B,aAAK2F,KAIEA,GAAUX,EAAa,CAAE,IAHvBrD;AAAAA,IAIV;AAID,QAAIh0C,KAAQ43C,IAAe;AACzB,UAAIK;AAEJ,MAAAf,IAAWe,KAAsBL,GAAc53C,QAAW,QAAQi4C,OAAwB,SAAS,SAASA,GAAoB,KAAKL,IAAeP,EAAa,GAAI,IAAI,MAAM,IAAI;AAAA,IACpL;AAED,WAAIr3C,MAASuyC,OAEX0C,GAAkBoC,EAAa,CAAE,GAE7BzB,IAAiB,MACnB,aAAawB,EAAY,OAAO,GAChCA,EAAY,UAAU,WAAW,WAAY;AAC3C,MAAArC,GAAoB;AAAA,QAClB,UAAU;AAAA,MACtB,CAAW;AAAA,IACF,GAAEa,CAAc,KAId3B;AAAAA,EACX,CAAG,GACGiE,KAAiBtrC,EAAeirC,IAAe,CAAC,GAChDM,IAAYD,GAAe,IAC3Bl4C,IAAOk4C,GAAe,IAEtBE,KAASlE,GAASl0C,CAAI;AAC1B,EAAAs3C,GAAU,UAAUc,IAGpBvE,GAA0B,WAAY;AACpC,IAAA+C,EAAgBxB,CAAO;AACvB,QAAIiD,IAAYlB,EAAW;AAG3B,QAFAA,EAAW,UAAU,IAEjB,EAAChC,GAIL;AAAA,UAAImD;AAEJ,MAAI,CAACD,KAAajD,KAAWK,MAC3B6C,KAAarG,KAIXoG,KAAajD,KAAWG,MAC1B+C,KAAapG,MAIXmG,KAAa,CAACjD,KAAWO,KAAe,CAAC0C,KAAaxC,KAA0B,CAACT,KAAWO,OAC9F2C,KAAanG,KAIXmG,OACFvB,EAAUuB,EAAU,GACpBH;;EAEN,GAAK,CAAC/C,CAAO,CAAC,GAGZ9V,GAAU,WAAY;AACpB,KACA8U,MAAWnC,MAAiB,CAACwD,KAC7BrB,MAAWlC,MAAgB,CAACqD,KAC5BnB,MAAWjC,MAAgB,CAACwD,MAC1BoB,EAAU/E,EAAW;AAAA,EAExB,GAAE,CAACyD,GAAcF,GAAaI,CAAW,CAAC,GAC3CrW,GAAU,WAAY;AACpB,WAAO,WAAY;AACjB,MAAA6X,EAAW,UAAU,IACrB,aAAaC,EAAY,OAAO;AAAA,IACtC;AAAA,EACG,GAAE,CAAE,CAAA;AAEL,MAAImB,KAAsB5iD,EAAM,OAAO,EAAK;AAC5C,EAAA2pC,GAAU,WAAY;AAEpB,IAAIqX,MACF4B,GAAoB,UAAU,KAG5B5B,MAAiB,UAAavC,MAAWpC,QAEvCuG,GAAoB,WAAW5B,OACjCD,KAAqB,QAA+CA,EAAiBC,CAAY,IAGnG4B,GAAoB,UAAU;AAAA,EAEpC,GAAK,CAAC5B,GAAcvC,CAAM,CAAC;AAEzB,MAAIp6B,IAAcpO;AAElB,SAAIgsC,GAAcvF,OAAiBryC,MAASsyC,OAC1Ct4B,IAAc/V,EAAc;AAAA,IAC1B,YAAY;AAAA,EACb,GAAE+V,CAAW,IAGT,CAACo6B,GAAQp0C,GAAMga,GAAa28B,KAAkEvB,CAAO;AAC9G;AC9NA,IAAIoD,KAA0B,yBAAU1mB,GAAkB;AACxD,EAAAnT,GAAU65B,GAAY1mB,CAAgB;AAEtC,MAAIC,IAAS5S,GAAaq5B,CAAU;AAEpC,WAASA,IAAa;AACpB,WAAAjuC,GAAgB,MAAMiuC,CAAU,GAEzBzmB,EAAO,MAAM,MAAM,SAAS;AAAA,EACpC;AAED,SAAAnnB,GAAa4tC,GAAY,CAAC;AAAA,IACxB,KAAK;AAAA,IACL,OAAO,WAAkB;AACvB,aAAO,KAAK,MAAM;AAAA,IACnB;AAAA,EACF,CAAA,CAAC,GAEKA;AACT,EAAE7iD,EAAM,SAAS;ACJV,SAAS8iD,GAAaj7C,GAAQ;AACnC,MAAIk7C,IAAoBl7C;AAExB,EAAIsH,GAAQtH,CAAM,MAAM,aACtBk7C,IAAoBl7C,EAAO;AAG7B,WAASm7C,EAAoBh/C,GAAO;AAClC,WAAO,CAAC,EAAEA,EAAM,cAAc++C;AAAA,EAC/B;AAED,MAAIE,IAAyB,gBAAAjjD,EAAM,WAAW,SAAUgE,GAAOwE,GAAK;AAClE,QAAI06C,IAAiBl/C,EAAM,SACvBy7C,IAAUyD,MAAmB,SAAS,KAAOA,GAC7CC,IAAuBn/C,EAAM,eAC7Bo/C,IAAgBD,MAAyB,SAAS,KAAOA,GACzDE,IAAcr/C,EAAM,aACpBiH,IAAWjH,EAAM,UACjBs/C,IAAat/C,EAAM,YACnBu/C,IAAkBv/C,EAAM,iBACxBw/C,IAAax/C,EAAM,YACnBw7C,IAAgBwD,EAAoBh/C,CAAK,GAEzCy/C,IAAUla,MAEVma,IAAiBna;AAErB,aAASmY,IAAgB;AACvB,UAAI;AAKF,eAAO+B,EAAQ,mBAAmB,cAAcA,EAAQ,UAAU3I,GAAY4I,EAAe,OAAO;AAAA,MACrG,QAAC;AAEA,eAAO;AAAA,MACR;AAAA,IACF;AAED,QAAIC,IAAapE,GAAUC,GAAeC,GAASiC,GAAe19C,CAAK,GACnE4/C,IAAc3sC,EAAe0sC,GAAY,CAAC,GAC1ClF,IAASmF,EAAY,IACrBC,IAAaD,EAAY,IACzBE,IAAcF,EAAY,IAC1BG,IAAgBH,EAAY,IAI5BI,IAAchkD,EAAM,OAAO+jD,CAAa;AAE5C,IAAIA,MACFC,EAAY,UAAU;AAIxB,QAAIC,IAAajkD,EAAM,YAAY,SAAUgK,GAAM;AACjD,MAAAy5C,EAAQ,UAAUz5C,GAClBkI,GAAQ1J,GAAKwB,CAAI;AAAA,IACvB,GAAO,CAACxB,CAAG,CAAC,GAEJ07C,GAEAC,IAAc71C,EAAcA,EAAc,CAAA,GAAIk1C,CAAU,GAAG,IAAI;AAAA,MACjE,SAAS/D;AAAA,IACf,CAAK;AAED,QAAI,CAACx0C;AAEH,MAAAi5C,IAAiB;AAAA,aACRzF,MAAWpC,MAAe,CAAC2G,EAAoBh/C,CAAK;AAE7D,MAAI+/C,IACFG,IAAiBj5C,EAASqD,EAAc,CAAE,GAAE61C,CAAW,GAAGF,CAAU,IAC3D,CAACb,KAAiBY,EAAY,UACvCE,IAAiBj5C,EAASqD,EAAcA,EAAc,CAAA,GAAI61C,CAAW,GAAG,IAAI;AAAA,QAC1E,WAAWZ;AAAA,MACrB,CAAS,GAAGU,CAAU,IACLZ,IACTa,IAAiBj5C,EAASqD,EAAcA,EAAc,CAAA,GAAI61C,CAAW,GAAG,IAAI;AAAA,QAC1E,OAAO;AAAA,UACL,SAAS;AAAA,QACV;AAAA,MACX,CAAS,GAAGF,CAAU,IAEdC,IAAiB;AAAA,SAEd;AACL,UAAIE,GAGAC;AAEJ,MAAIR,MAAenH,KACjB2H,IAAe,YACN9F,GAASsF,CAAU,IAC5BQ,IAAe,WACNR,MAAelH,OACxB0H,IAAe,UAGjBH,IAAiBj5C,EAASqD,EAAcA,EAAc,CAAA,GAAI61C,CAAW,GAAG,IAAI;AAAA,QAC1E,WAAW92C,GAAW6uC,GAAkBoH,GAAY7E,CAAM,IAAI2F,IAAc,CAAE,GAAE12C,EAAgB02C,GAAalI,GAAkBoH,GAAY,GAAG,OAAO7E,GAAQ,GAAG,EAAE,OAAO4F,CAAY,CAAC,GAAGA,CAAY,GAAG32C,EAAgB02C,GAAad,GAAY,OAAOA,KAAe,QAAQ,GAAGc,EAAa;AAAA,QAC/R,OAAON;AAAA,MACf,CAAO,GAAGG,CAAU;AAAA,IACf;AAGD,QAAkB,gBAAAjkD,EAAM,eAAekkD,CAAc,KAAK1xC,GAAW0xC,CAAc,GAAG;AACpF,UAAII,IAAkBJ,GAClBK,IAAgBD,EAAgB;AAEpC,MAAKC,MACHL,IAA8B,gBAAAlkD,EAAM,aAAakkD,GAAgB;AAAA,QAC/D,KAAKD;AAAA,MACf,CAAS;AAAA,IAEJ;AAED,WAAoB,gBAAAjkD,EAAM,cAAc6iD,IAAY;AAAA,MAClD,KAAKa;AAAA,IACN,GAAEQ,CAAc;AAAA,EACrB,CAAG;AACD,SAAAjB,EAAU,cAAc,aACjBA;AACT;AACA,MAAeH,KAAAA,GAAa/G,EAAiB;ACnJ7C,IAAImB,KAAM,SAAav7B,GAAU;AAC/B,SAAO,CAAC,WAAWA,GAAU,EAAE;AACjC,GACIw7B,KAAM,SAAavqB,GAAK;AAC1B,SAAO,aAAaA,CAAG;AACzB;AACI,OAAO,SAAW,OAAe,2BAA2B,WAC9DsqB,KAAM,SAAav7B,GAAU;AAC3B,SAAO,OAAO,sBAAsBA,CAAQ;AAChD,GACEw7B,KAAM,SAAa7vB,GAAQ;AACzB,SAAO,OAAO,qBAAqBA,CAAM;AAC7C;AAEA,IAAI8vB,KAAU,GACVC,KAAS,oBAAI;AACjB,SAASC,GAAQC,GAAI;AACnBF,EAAAA,GAAO,OAAOE,CAAE;AAClB;AACA,IAAIC,KAAa,SAAoB77B,GAAU;AAC7C,MAAIpJ,IAAQ,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAChF6kC,EAAAA,MAAW;AACX,MAAIG,IAAKH;AACT,WAASK,EAAQC,GAAW;AAC1B,QAAIA,MAAc;AAEhBJ,MAAAA,GAAQC,CAAE,GAEV57B;SACK;AAEL,UAAIg8B,IAAST,GAAI,WAAY;AAC3B,QAAAO,EAAQC,IAAY,CAAC;AAAA,MAC7B,CAAO;AAEDL,MAAAA,GAAO,IAAIE,GAAII,CAAM;AAAA,IACtB;AAAA,EACF;AACD,SAAAF,EAAQllC,CAAK,GACNglC;AACT;AACAC,GAAW,SAAS,SAAUD,GAAI;AAChC,MAAII,IAASN,GAAO,IAAIE,CAAE;AAC1BD,SAAAA,GAAQK,CAAM,GACPR,GAAIQ,CAAM;AACnB;ACvCA,IAAI6G,KAAYl2C,EAAc,IAAIysC,EAAQ,GACtCZ,KAAUqK,GAAU,SACtBC,KAAcD,GAAU,QACxBE,KAAyBF,GAAU,wBACjCG;AACJ,IAAI;AACF,MAAIC,KAAc,QAAQzK,MAAW,IAAI,MAAM,GAAG,EAAE,EAAE;AACtD,EAAIyK,MAAe,OACjBD,KAAaH,GAAU;AAE3B,QAAE;AAEF;AACA,SAASK,GAAcC,GAAM;AAC3B,MAAIC,IAAqDP,GAAU;AACnE,EAAIO,KAAsD51C,GAAQ41C,CAAkD,MAAM,aACxHA,EAAmD,wBAAwBD;AAE/E;AACA,IAAIE,KAAO;AACX,SAASC,GAAaj7C,GAAM6P,GAAW;AACrC,EAAAgrC,GAAc,EAAI;AAClB,MAAI5rC,IAAOY,EAAUmrC,OAASL,GAAW9qC,CAAS;AAClD,EAAAgrC,GAAc,EAAK,GACnB5rC,EAAK,OAAOjP,CAAI,GAChB6P,EAAUmrC,MAAQ/rC;AACpB;AACA,SAASisC,GAAal7C,GAAM6P,GAAW;AACrC,EAAA4qC,GAAYz6C,GAAM6P,CAAS;AAC7B;AAOO,SAASsrC,GAAOn7C,GAAM6P,GAAW;AACtC,MAAI8qC,IAAY;AACd,IAAAM,GAAaj7C,GAAM6P,CAAS;AAC5B;AAAA,EACD;AACD,EAAAqrC,GAAal7C,GAAM6P,CAAS;AAC9B;AAEA,SAASurC,GAAcrsB,GAAI;AACzB,SAAOssB,GAAe,MAAM,MAAM,SAAS;AAC7C;AACA,SAASA,KAAiB;AACxB,SAAAA,KAAiB/2B,GAAgC,gBAAAjE,GAAmB,EAAG,KAAK,SAASwQ,EAAQhhB,GAAW;AACtG,WAAOwQ,GAAmB,EAAG,KAAK,SAAkBje,GAAU;AAC5D;AACE,gBAAQA,EAAS,OAAOA,EAAS,MAAI;AAAA,UACnC,KAAK;AACH,mBAAOA,EAAS,OAAO,UAAU,QAAQ,QAAO,EAAG,KAAK,WAAY;AAClE,kBAAIk5C;AACJ,eAACA,IAAkBzrC,EAAUmrC,SAAW,QAAQM,MAAoB,UAAkBA,EAAgB,QAAO,GAC7G,OAAOzrC,EAAUmrC;AAAA,YAClB,CAAA,CAAC;AAAA,UACJ,KAAK;AAAA,UACL,KAAK;AACH,mBAAO54C,EAAS;QACnB;AAAA,IAEJ,GAAEyuB,CAAO;AAAA,EACX,CAAA,CAAC,GACKwqB,GAAe,MAAM,MAAM,SAAS;AAC7C;AACA,SAASE,GAAc1rC,GAAW;AAChC,EAAA6qC,GAAuB7qC,CAAS;AAClC;AAOO,SAAS2rC,GAAQxsB,GAAK;AAC3B,SAAOysB,GAAS,MAAM,MAAM,SAAS;AACvC;AACA,SAASA,KAAW;AAClB,SAAAA,KAAWn3B,GAAgC,gBAAAjE,GAAmB,EAAG,KAAK,SAASgP,EAASxf,GAAW;AACjG,WAAOwQ,GAAmB,EAAG,KAAK,SAAmBuP,GAAW;AAC9D;AACE,gBAAQA,EAAU,OAAOA,EAAU,MAAI;AAAA,UACrC,KAAK;AACH,gBAAM+qB,OAAe,QAAY;AAC/B,cAAA/qB,EAAU,OAAO;AACjB;AAAA,YACD;AACD,mBAAOA,EAAU,OAAO,UAAUwrB,GAAcvrC,CAAS,CAAC;AAAA,UAC5D,KAAK;AACH,YAAA0rC,GAAc1rC,CAAS;AAAA,UACzB,KAAK;AAAA,UACL,KAAK;AACH,mBAAO+f,EAAU;QACpB;AAAA,IAEJ,GAAEP,CAAQ;AAAA,EACZ,CAAA,CAAC,GACKosB,GAAS,MAAM,MAAM,SAAS;AACvC;AC1GO,SAASC,GAAU1Y,GAAO;AAE/B,QAAMvoC,KAASuoC,KAAS,IAAI,MAAM,yCAAyC;AAC3E,SAAIvoC,KAASA,EAAM,MAAMA,EAAM,MAAMA,EAAM,KAClC,EAAEA,EAAM,OAAOA,EAAM,MAAMA,EAAM,OAAOA,EAAM,MAEhD;AACT;AACO,SAASkhD,GAAiB3Y,GAAO;AACtC,SAAOA,KAASA,MAAU,UAAUA,MAAU,aAAaA,MAAU,wBAAwBA,MAAU,4BAA4B0Y,GAAU1Y,CAAK,KAAK,CAAC,wBAAwB,KAAKA,CAAK,KAE1LA,MAAU;AACZ;AACO,SAAS4Y,GAAmB57C,GAAM;AACvC,QAAM;AAAA,IACJ,gBAAA67C;AAAA,IACA,aAAAC;AAAA,IACA,iBAAA1Q;AAAA,EACJ,IAAM,iBAAiBprC,CAAI;AACzB,SAAI27C,GAAiBE,CAAc,IAC1BA,IAELF,GAAiBG,CAAW,IACvBA,IAELH,GAAiBvQ,CAAe,IAC3BA,IAEF;AACT;ACvBA,SAAS2Q,GAAY7+C,GAAO;AAC1B,SAAO,OAAO,MAAMA,CAAK,IAAI,IAAIA;AACnC;AACA,MAAM8+C,KAAa,CAAAhiD,MAAS;AAC1B,QAAM;AAAA,IACJ,WAAA0H;AAAA,IACA,QAAAuC;AAAA,EACD,IAAGjK,GACEiiD,IAASjmD,EAAM,OAAO,IAAI,GAC1B,CAACgtC,GAAOkZ,CAAY,IAAIlmD,EAAM,SAAS,IAAI,GAC3C,CAAC0zC,GAAcyS,CAAe,IAAInmD,EAAM,SAAS,CAAA,CAAE,GACnD,CAAC+mB,GAAMq/B,CAAO,IAAIpmD,EAAM,SAAS,CAAC,GAClC,CAACqmD,GAAKC,CAAM,IAAItmD,EAAM,SAAS,CAAC,GAChC,CAAC8S,GAAOyzC,CAAQ,IAAIvmD,EAAM,SAAS,CAAC,GACpC,CAAC+S,GAAQyzC,CAAS,IAAIxmD,EAAM,SAAS,CAAC,GACtC,CAACymD,GAASC,CAAU,IAAI1mD,EAAM,SAAS,EAAK,GAC5C2mD,IAAY;AAAA,IAChB,MAAA5/B;AAAA,IACA,KAAAs/B;AAAA,IACA,OAAAvzC;AAAA,IACA,QAAAC;AAAA,IACA,cAAc2gC,EAAa,IAAI,CAAAkT,MAAU,GAAGA,KAAU,EAAE,KAAK,GAAG;AAAA,EACpE;AACE,EAAI5Z,MACF2Z,EAAU,kBAAkB3Z;AAE9B,WAAS6Z,IAAU;AACjB,UAAMC,IAAY,iBAAiB74C,CAAM;AAEzC,IAAAi4C,EAAaN,GAAmB33C,CAAM,CAAC;AACvC,UAAM84C,IAAWD,EAAU,aAAa,UAElC;AAAA,MACJ,iBAAAE;AAAA,MACA,gBAAAC;AAAA,IACD,IAAGH;AACJ,IAAAV,EAAQW,IAAW94C,EAAO,aAAa83C,GAAY,CAAC,WAAWiB,CAAe,CAAC,CAAC,GAChFV,EAAOS,IAAW94C,EAAO,YAAY83C,GAAY,CAAC,WAAWkB,CAAc,CAAC,CAAC,GAC7EV,EAASt4C,EAAO,WAAW,GAC3Bu4C,EAAUv4C,EAAO,YAAY;AAE7B,UAAM;AAAA,MACJ,qBAAAi5C;AAAA,MACA,sBAAAC;AAAA,MACA,wBAAAC;AAAA,MACA,yBAAAC;AAAA,IACD,IAAGP;AACJ,IAAAX,EAAgB,CAACe,GAAqBC,GAAsBE,GAAyBD,CAAsB,EAAE,IAAI,CAAAR,MAAUb,GAAY,WAAWa,CAAM,CAAC,CAAC,CAAC;AAAA,EAC5J;AAqBD,SApBA5mD,EAAM,UAAU,MAAM;AACpB,QAAIiO,GAAQ;AAGV,YAAMsvC,IAAKL,GAAI,MAAM;AACnB,QAAA2J,KACAH,EAAW,EAAI;AAAA,MACvB,CAAO;AAED,UAAIY;AACJ,aAAI,OAAO,iBAAmB,QAC5BA,IAAiB,IAAI,eAAeT,CAAO,GAC3CS,EAAe,QAAQr5C,CAAM,IAExB,MAAM;AACXivC,QAAAA,GAAI,OAAOK,CAAE,GACb+J,KAAmB,QAA6CA,EAAe;MACvF;AAAA,IACK;AAAA,EACF,GAAE,CAAE,CAAA,GACAb,IAGe,gBAAAzmD,EAAM,cAAcijD,IAAW;AAAA,IACjD,SAAS;AAAA,IACT,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,aAAa,CAAC1hB,GAAGnJ,MAAU;AACzB,UAAI6S;AACJ,UAAI7S,EAAM,YAAYA,EAAM,iBAAiB,WAAW;AACtD,cAAMmvB,KAAUtc,IAAKgb,EAAO,aAAa,QAAQhb,MAAO,SAAS,SAASA,EAAG;AAC7E,QAAAua,GAAQ+B,CAAM,EAAE,KAAK,MAAM;AACzB,cAAItc;AACJ,WAACA,IAAKsc,EAAO,mBAAmB,QAAQtc,MAAO,UAAkBA,EAAG,YAAYsc,CAAM;AAAA,QAChG,CAAS;AAAA,MACF;AACD,aAAO;AAAA,IACR;AAAA,EACF,GAAE,CAAAnvC,MAAQ;AACT,QAAI;AAAA,MACF,WAAWovC;AAAA,IACZ,IAAGpvC;AACJ,WAAoB,gBAAApY,EAAM,cAAc,OAAO;AAAA,MAC7C,KAAKimD;AAAA,MACL,WAAW54C,GAAW3B,GAAW87C,CAAe;AAAA,MAChD,OAAOb;AAAA,IACb,CAAK;AAAA,EACL,CAAG,IA3BQ;AA4BX;AACe,SAASc,GAAez9C,GAAM0B,GAAW;AAEtD,QAAM67C,IAAS,SAAS,cAAc,KAAK;AAC3C,EAAAA,EAAO,MAAM,WAAW,YACxBA,EAAO,MAAM,OAAO,OACpBA,EAAO,MAAM,MAAM,OACnBv9C,KAAS,QAAmCA,EAAK,aAAau9C,GAAQv9C,KAAS,OAA0B,SAASA,EAAK,UAAU,GACjIm7C,GAAqB,gBAAAnlD,EAAM,cAAcgmD,IAAY;AAAA,IACnD,QAAQh8C;AAAA,IACR,WAAW0B;AAAA,EACf,CAAG,GAAG67C,CAAM;AACZ;ACnHe,SAASG,GAAQjE,GAAS/3C,GAAW;AAClD,WAASi8C,IAAW;AAClB,UAAM39C,IAAOy5C,EAAQ;AACrB,IAAAgE,GAAez9C,GAAM0B,CAAS;AAAA,EAC/B;AACD,SAAOi8C;AACT;ACCA,MAAMC,KAAO,CAAA5jD,MAAS;AACpB,QAAM;AAAA,IACJ,UAAAiH;AAAA,IACA,UAAAa;AAAA,EACD,IAAG9H,GACE;AAAA,IACJ,cAAA00C;AAAA,EACJ,IAAMlP,GAAW6O,EAAa,GACtBwP,IAAete,GAAO,IAAI,GAE1BiP,IAAYE,EAAa,MAAM,GAC/B,GAAGp7B,CAAM,IAAIwqC,GAAStP,CAAS,GAE/BmP,IAAWD,GAAQG,GAAcx6C,GAAWmrC,GAAWl7B,CAAM,CAAC;AAwBpE,MAtBAtd,GAAM,UAAU,MAAM;AACpB,UAAMgK,IAAO69C,EAAa;AAC1B,QAAI,CAAC79C,KAAQA,EAAK,aAAa,KAAK8B;AAClC;AAGF,UAAMi8C,IAAU,CAAAloD,MAAK;AAEnB,MAAIA,EAAE,OAAO,YAAY,WAAW,CAACmoD,GAAUnoD,EAAE,MAAM,KAEvD,CAACmK,EAAK,gBAAgBA,EAAK,aAAa,UAAU,KAAKA,EAAK,YAAYA,EAAK,UAAU,SAAS,UAAU,KAAKA,EAAK,UAAU,SAAS,QAAQ,KAG/I29C;IACN;AAEI,WAAA39C,EAAK,iBAAiB,SAAS+9C,GAAS,EAAI,GACrC,MAAM;AACX,MAAA/9C,EAAK,oBAAoB,SAAS+9C,GAAS,EAAI;AAAA,IACrD;AAAA,EACA,GAAK,CAACj8C,CAAQ,CAAC,GAET,CAAe9L,gBAAAA,GAAM,eAAeiL,CAAQ;AAC9C,WAAOA,KAAsD;AAE/D,QAAMzC,IAAMgK,GAAWvH,CAAQ,IAAIkH,GAAWlH,EAAS,KAAK48C,CAAY,IAAIA;AAC5E,SAAOnN,GAAazvC,GAAU;AAAA,IAC5B,KAAAzC;AAAA,EACJ,CAAG;AACH;AACI,QAAQ,IAAI,aAAa,iBAC3Bo/C,GAAK,cAAc;AAErB,MAAAK,KAAeL;ACxDF9R,cAAQA,WAAK;AAanB,MAAMoS,KAAuC,gBAAAloD,EAAM,cAAc,IAAI,GAC/DmoD,KAAwB,CAAC3P,GAAW4P,MAAc;AAC7D,QAAMC,IAAqBroD,EAAM,WAAWkoD,EAAuB,GAC7DI,IAAwBtoD,EAAM,QAAQ,MAAM;AAChD,QAAI,CAACqoD;AAAoB,aAAO;AAChC,UAAM;AAAA,MACJ,kBAAAE;AAAA,MACA,aAAAC;AAAA,MACA,YAAAC;AAAA,IACD,IAAGJ,GACEK,IAAYH,MAAqB,aAAa,eAAe;AACnE,WAAOl7C,GAAW;AAAA,MAChB,CAAC,GAAGmrC,YAAoBkQ,UAAkB;AAAA,MAC1C,CAAC,GAAGlQ,YAAoBkQ,gBAAwBF;AAAA,MAChD,CAAC,GAAGhQ,YAAoBkQ,eAAuBD;AAAA,MAC/C,CAAC,GAAGjQ,YAAoBkQ,cAAsBN,MAAc;AAAA,IAClE,CAAK;AAAA,EACF,GAAE,CAAC5P,GAAW4P,GAAWC,CAAkB,CAAC;AAC7C,SAAO;AAAA,IACL,aAAaA,KAAuB,OAAwC,SAASA,EAAmB;AAAA,IACxG,kBAAkBA,KAAuB,OAAwC,SAASA,EAAmB;AAAA,IAC7G,uBAAAC;AAAA,EACJ;AACA;ACpCA,IAAIzS,KAASC,cAAQA,WAAK,UAAU,SAAUtwC,GAAG3F,GAAG;AAClD,MAAIwP,IAAI,CAAA;AACR,WAAS/P,KAAKkG;AAAG,IAAI,OAAO,UAAU,eAAe,KAAKA,GAAGlG,CAAC,KAAKO,EAAE,QAAQP,CAAC,IAAI,MAAG+P,EAAE/P,KAAKkG,EAAElG;AAC9F,MAAIkG,KAAK,QAAQ,OAAO,OAAO,yBAA0B;AAAY,aAASyE,IAAI,GAAG3K,IAAI,OAAO,sBAAsBkG,CAAC,GAAGyE,IAAI3K,EAAE,QAAQ2K;AACtI,MAAIpK,EAAE,QAAQP,EAAE2K,EAAE,IAAI,KAAK,OAAO,UAAU,qBAAqB,KAAKzE,GAAGlG,EAAE2K,EAAE,MAAGoF,EAAE/P,EAAE2K,MAAMzE,EAAElG,EAAE2K;AAEhG,SAAOoF;AACT;AAMO,MAAMs5C,KAAgC,gBAAA3oD,EAAM,cAAc,MAAS,GACpE4oD,KAAc,CAAA5kD,MAAS;AAC3B,QAAM;AAAA,IACJ,cAAA00C;AAAA,IACA,WAAA0P;AAAA,EACJ,IAAMpoD,EAAM,WAAWq4C,EAAa,GAC5B;AAAA,IACF,WAAWD;AAAA,IACX,MAAA52B;AAAA,IACA,WAAA9V;AAAA,EACN,IAAQ1H,GACJ6kD,IAAShT,GAAO7xC,GAAO,CAAC,aAAa,QAAQ,WAAW,CAAC,GACrDw0C,IAAYE,EAAa,aAAaN,CAAkB,GACxD,CAAI,EAAA,EAAA96B,CAAM,IAAIm7B;AACpB,MAAIqQ,IAAU;AACd,UAAQtnC,GAAI;AAAA,IACV,KAAK;AACH,MAAAsnC,IAAU;AACV;AAAA,IACF,KAAK;AACH,MAAAA,IAAU;AACV;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH;AAAA,IACF;AACE,cAAQ,IAAI,aAAa,gBAAet6C,GAAQ,CAACgT,GAAM,gBAAgB,sBAAsB;AAAA,EAChG;AACD,QAAMlU,IAAUD,GAAWmrC,GAAW;AAAA,IACpC,CAAC,GAAGA,KAAasQ,MAAYA;AAAA,IAC7B,CAAC,GAAGtQ,UAAkB4P,MAAc;AAAA,EACxC,GAAK18C,GAAW4R,CAAM;AACpB,SAAoB,gBAAAtd,EAAM,cAAc2oD,GAAiB,UAAU;AAAA,IACjE,OAAOnnC;AAAA,EACX,GAAkB,gBAAAxhB,EAAM,cAAc,OAAO,OAAO,OAAO,CAAE,GAAE6oD,GAAQ;AAAA,IACnE,WAAWv7C;AAAA,EACZ,CAAA,CAAC,CAAC;AACL,GACAy7C,KAAeH,ICjDTI,KAAc,wBACPC,KAAcD,GAAY,KAAK,KAAKA,EAAW;AACrD,SAASE,GAAS70C,GAAK;AAC5B,SAAO,OAAOA,KAAQ;AACxB;AACO,SAAS80C,GAAuB7mD,GAAM;AAC3C,SAAOA,MAAS,UAAUA,MAAS;AACrC;AACA,SAAS8mD,GAAoBl/C,GAAOm/C,GAAc;AAChD,MAAIn/C,KAAU;AACZ;AAEF,QAAMo/C,IAAQD,IAAe,MAAM;AACnC,SAAI,OAAOn/C,KAAU,YAAY,OAAOA,KAAU,YAAYg/C,GAASh/C,EAAM,IAAI,KAAK++C,GAAY/+C,EAAM,MAAM,QAAQ,IAC7GwwC,GAAaxwC,GAAO;AAAA,IACzB,UAAUA,EAAM,MAAM,SAAS,MAAM,EAAE,EAAE,KAAKo/C,CAAK;AAAA,EACzD,CAAK,IAEC,OAAOp/C,KAAU,WACZ++C,GAAY/+C,CAAK,IAAiBlK,gBAAAA,GAAM,cAAc,QAAQ,MAAMkK,EAAM,MAAM,EAAE,EAAE,KAAKo/C,CAAK,CAAC,IAAiBtpD,gBAAAA,GAAM,cAAc,QAAQ,MAAMkK,CAAK,IAE5JwH,GAAWxH,CAAK,IACElK,gBAAAA,GAAM,cAAc,QAAQ,MAAMkK,CAAK,IAEtDA;AACT;AACO,SAASq/C,GAAct+C,GAAUo+C,GAAc;AACpD,MAAIG,IAAkB;AACtB,QAAM7qB,IAAY,CAAA;AAClB3+B,SAAAA,GAAM,SAAS,QAAQiL,GAAU,CAAAf,MAAS;AACxC,UAAM5H,IAAO,OAAO4H,GACdu/C,IAAqBnnD,MAAS,YAAYA,MAAS;AACzD,QAAIknD,KAAmBC,GAAoB;AACzC,YAAMC,IAAY/qB,EAAU,SAAS,GAC/BgrB,IAAYhrB,EAAU+qB;AAC5B,MAAA/qB,EAAU+qB,KAAa,GAAGC,IAAYz/C;AAAA,IAC5C;AACM,MAAAy0B,EAAU,KAAKz0B,CAAK;AAEtB,IAAAs/C,IAAkBC;AAAA,EACtB,CAAG,GACMzpD,GAAM,SAAS,IAAI2+B,GAAW,CAAAz0B,MAASk/C,GAAoBl/C,GAAOm/C,CAAY,CAAC;AACxF;AC3CA,IAAIO,KAAkB,EAAE,MAAQ,EAAE,KAAO,OAAO,OAAS,EAAE,SAAW,iBAAiB,WAAa,QAAS,GAAE,UAAY,CAAC,EAAE,KAAO,QAAQ,OAAS,EAAE,GAAK,8TAA6T,GAAI,EAAC,GAAI,MAAQ,WAAW,OAAS,WAAU;AACzgB,MAAAC,KAAeD;ACDf,IAAIr7C,KAAS,CAAA;AACN,SAASC,GAAQC,GAAOC,GAAS;AAEtC,EAAI,QAAQ,IAAI,aAAa,gBAAgB,CAACD,KAAS,YAAY,UACjE,QAAQ,MAAM,YAAY,OAAOC,CAAO,CAAC;AAE7C;AAUO,SAASE,GAAKC,GAAQJ,GAAOC,GAAS;AAC3C,EAAI,CAACD,KAAS,CAACF,GAAOG,OACpBG,EAAO,IAAOH,CAAO,GACrBH,GAAOG,KAAW;AAEtB;AACO,SAASI,GAAYL,GAAOC,GAAS;AAC1CE,EAAAA,GAAKJ,IAASC,GAAOC,CAAO;AAC9B;ACzBe,SAASqK,KAAY;AAClC,SAAO,CAAC,EAAE,OAAO,SAAW,OAAe,OAAO,YAAY,OAAO,SAAS;AAChF;ACDA,IAAII,KAAW;AAEf,SAASE,KAAU;AACjB,MAAIjB,IAAO,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAE,GAC7EkB,IAAOlB,EAAK;AAEhB,SAAIkB,IACKA,EAAK,WAAW,OAAO,IAAIA,IAAO,QAAQ,OAAOA,CAAI,IAGvDH;AACT;AAEA,SAASI,GAAaC,GAAQ;AAC5B,MAAIA,EAAO;AACT,WAAOA,EAAO;AAGhB,MAAIC,IAAO,SAAS,cAAc,MAAM;AACxC,SAAOA,KAAQ,SAAS;AAC1B;AAEO,SAASK,GAAUC,GAAK;AAC7B,MAAIY,GAEAnB,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA;AAEjF,MAAI,CAACT,GAAS;AACZ,WAAO;AAGT,MAAIkB,IAAY,SAAS,cAAc,OAAO;AAE9C,MAAK,GAAAU,IAAcnB,EAAO,SAAS,QAAQmB,MAAgB,WAAkBA,EAAY,OAAO;AAC9F,QAAIC;AAEJ,IAAAX,EAAU,SAASW,IAAepB,EAAO,SAAS,QAAQoB,MAAiB,SAAS,SAASA,EAAa;AAAA,EAC3G;AAED,EAAAX,EAAU,YAAYF;AACtB,MAAIF,IAAYN,GAAaC,CAAM,GAC/BxD,IAAa6D,EAAU;AAE3B,SAAIL,EAAO,WAAWK,EAAU,UAE9BA,EAAU,QAAQI,CAAS,IAClBT,EAAO,WAAWxD,IAE3B6D,EAAU,aAAaI,GAAWjE,CAAU,IAE5C6D,EAAU,YAAYI,CAAS,GAG1BA;AACT;AACA,IAAIb,KAAiB,oBAAI;AAEzB,SAASe,GAAc5R,GAAK;AAC1B,MAAIiR,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GAC7EK,IAAYN,GAAaC,CAAM;AACnC,SAAO,MAAM,KAAKJ,GAAe,IAAIS,CAAS,EAAE,QAAQ,EAAE,KAAK,SAAU7P,GAAM;AAC7E,WAAOA,EAAK,YAAY,WAAWA,EAAK,aAAaqP,GAAQG,CAAM,CAAC,MAAMjR;AAAA,EAC9E,CAAG;AACH;AASO,SAASmS,GAAUX,GAAKxR,GAAK;AAClC,MAAIiR,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GAC7EK,IAAYN,GAAaC,CAAM;AAEnC,MAAI,CAACJ,GAAe,IAAIS,CAAS,GAAG;AAClC,QAAIW,IAAmBV,GAAU,IAAIN,CAAM,GACvCiB,IAAaD,EAAiB;AAClC,IAAApB,GAAe,IAAIS,GAAWY,CAAU,GACxCA,EAAW,YAAYD,CAAgB;AAAA,EACxC;AAED,MAAIH,IAAYF,GAAc5R,GAAKiR,CAAM;AAEzC,MAAIa,GAAW;AACb,QAAIQ,GAAcivC;AAElB,UAAMjvC,IAAerB,EAAO,SAAS,QAAQqB,MAAiB,SAAS,SAASA,EAAa,UAAUR,EAAU,YAAYyvC,IAAetwC,EAAO,SAAS,QAAQswC,MAAiB,SAAS,SAASA,EAAa,QAAQ;AAC1N,UAAIC;AAEJ,MAAA1vC,EAAU,SAAS0vC,IAAevwC,EAAO,SAAS,QAAQuwC,MAAiB,SAAS,SAASA,EAAa;AAAA,IAC3G;AAED,WAAI1vC,EAAU,cAAcN,MAC1BM,EAAU,YAAYN,IAGjBM;AAAA,EACR;AAED,MAAIS,IAAUhB,GAAUC,GAAKP,CAAM;AACnC,SAAAsB,EAAQ,aAAazB,GAAQG,CAAM,GAAGjR,CAAG,GAClCuS;AACT;AClGO,SAAStM,GAAQC,GAAOC,GAAS;AACtCs7C,EAAAA,GAAKv7C,GAAO,uBAAuB,OAAOC,CAAO,CAAC;AACpD;AACO,SAASu7C,GAAiBh8C,GAAQ;AACvC,SAAOkB,GAAQlB,CAAM,MAAM,YAAY,OAAOA,EAAO,QAAS,YAAY,OAAOA,EAAO,SAAU,aAAakB,GAAQlB,EAAO,IAAI,MAAM,YAAY,OAAOA,EAAO,QAAS;AAC7K;AACO,SAASi8C,KAAiB;AAC/B,MAAIC,IAAQ,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA;AAChF,SAAO,OAAO,KAAKA,CAAK,EAAE,OAAO,SAAUC,GAAK7hD,GAAK;AACnD,QAAIoqB,IAAMw3B,EAAM5hD;AAChB,YAAQA,GAAG;AAAA,MACT,KAAK;AACH,QAAA6hD,EAAI,YAAYz3B,GAChB,OAAOy3B,EAAI;AACX;AAAA,MACF;AACE,QAAAA,EAAI7hD,KAAOoqB;AAAA,IACd;AACD,WAAOy3B;AAAA,EACR,GAAE,CAAE,CAAA;AACP;AACO,SAASzZ,GAAS3mC,GAAMzB,GAAK8hD,GAAW;AAC7C,SAAKA,IAOerqD,gBAAAA,GAAM,cAAcgK,EAAK,KAAKsE,EAAcA,EAAc;AAAA,IAC5E,KAAK/F;AAAA,EACN,GAAE2hD,GAAelgD,EAAK,KAAK,CAAC,GAAGqgD,CAAS,IAAIrgD,EAAK,YAAY,CAAE,GAAE,IAAI,SAAUE,GAAOqU,GAAO;AAC5F,WAAOoyB,GAASzmC,GAAO,GAAG,OAAO3B,GAAK,GAAG,EAAE,OAAOyB,EAAK,KAAK,GAAG,EAAE,OAAOuU,CAAK,CAAC;AAAA,EAC/E,CAAA,CAAC,IAVoBve,gBAAAA,GAAM,cAAcgK,EAAK,KAAKsE,EAAc;AAAA,IAC9D,KAAK/F;AAAA,EACN,GAAE2hD,GAAelgD,EAAK,KAAK,CAAC,IAAIA,EAAK,YAAY,IAAI,IAAI,SAAUE,GAAOqU,GAAO;AAChF,WAAOoyB,GAASzmC,GAAO,GAAG,OAAO3B,GAAK,GAAG,EAAE,OAAOyB,EAAK,KAAK,GAAG,EAAE,OAAOuU,CAAK,CAAC;AAAA,EAC/E,CAAA,CAAC;AAON;AACO,SAAS+rC,GAAkBC,GAAc;AAE9C,SAAOC,GAAcD,CAAY,EAAE;AACrC;AACO,SAASE,GAAuBC,GAAc;AACnD,SAAKA,IAGE,MAAM,QAAQA,CAAY,IAAIA,IAAe,CAACA,CAAY,IAFxD;AAGX;AAUO,IAAIC,KAAa;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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GACbC,KAAkB,WAA2B;AACtD,MAAItvC,IAAW,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAKqvC,IAC/EE,IAAcrhB,GAAW7gB,EAAW,GACtC3O,IAAM6wC,EAAY;AACpB,EAAAlhB,GAAU,WAAY;AACpB,IAAAjvB,GAAUY,GAAU,qBAAqB;AAAA,MACvC,SAAS;AAAA,MACT,KAAKtB;AAAA,IACX,CAAK;AAAA,EACF,GAAE,CAAE,CAAA;AACP,GCtEI8hB,KAAY,CAAC,QAAQ,aAAa,WAAW,SAAS,gBAAgB,gBAAgB,GAEtFgvB,KAAsB;AAAA,EACxB,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,YAAY;AACd;AACA,SAASC,GAAiB3yC,GAAM;AAC9B,MAAImyC,IAAenyC,EAAK,cACtB4yC,IAAiB5yC,EAAK;AACxB,EAAA0yC,GAAoB,eAAeP,GACnCO,GAAoB,iBAAiBE,KAAkBV,GAAkBC,CAAY,GACrFO,GAAoB,aAAa,CAAC,CAACE;AACrC;AACA,SAASC,KAAmB;AAC1B,SAAO38C,EAAc,IAAIw8C,EAAmB;AAC9C;AACA,IAAII,KAAW,SAAkBlnD,GAAO;AACtC,MAAImnD,IAAOnnD,EAAM,MACf0H,IAAY1H,EAAM,WAClB+jD,IAAU/jD,EAAM,SAChBiS,IAAQjS,EAAM,OACdumD,IAAevmD,EAAM,cACrBgnD,IAAiBhnD,EAAM,gBACvBu8B,IAAY9rB,GAAyBzQ,GAAO83B,EAAS,GACnDkY,IAAS8W;AASb,MARIP,MACFvW,IAAS;AAAA,IACP,cAAcuW;AAAA,IACd,gBAAgBS,KAAkBV,GAAkBC,CAAY;AAAA,EACtE,IAEEK,MACAp8C,GAAQy7C,GAAiBkB,CAAI,GAAG,0CAA0C,OAAOA,CAAI,CAAC,GAClF,CAAClB,GAAiBkB,CAAI;AACxB,WAAO;AAET,MAAIl9C,IAASk9C;AACb,SAAIl9C,KAAU,OAAOA,EAAO,QAAS,eACnCA,IAASK,EAAcA,EAAc,CAAE,GAAEL,CAAM,GAAG,CAAA,GAAI;AAAA,IACpD,MAAMA,EAAO,KAAK+lC,EAAO,cAAcA,EAAO,cAAc;AAAA,EAClE,CAAK,IAEIrD,GAAS1iC,EAAO,MAAM,OAAO,OAAOA,EAAO,IAAI,GAAGK,EAAc;AAAA,IACrE,WAAW5C;AAAA,IACX,SAASq8C;AAAA,IACT,OAAO9xC;AAAA,IACP,aAAahI,EAAO;AAAA,IACpB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,eAAe;AAAA,EACnB,GAAKsyB,CAAS,CAAC;AACf;AACA2qB,GAAS,cAAc;AACvBA,GAAS,mBAAmBD;AAC5BC,GAAS,mBAAmBH;AAC5B,MAAAK,KAAeF;ACxDR,SAASG,GAAgBX,GAAc;AAC5C,MAAIY,IAAwBb,GAAuBC,CAAY,GAC7Da,IAAyBt0C,EAAeq0C,GAAuB,CAAC,GAChEf,IAAegB,EAAuB,IACtCP,IAAiBO,EAAuB;AAC1C,SAAOH,GAAU,iBAAiB;AAAA,IAChC,cAAcb;AAAA,IACd,gBAAgBS;AAAA,EACpB,CAAG;AACH;AACO,SAASQ,KAAkB;AAChC,MAAIxX,IAASoX,GAAU;AACvB,SAAKpX,EAAO,aAGL,CAACA,EAAO,cAAcA,EAAO,cAAc,IAFzCA,EAAO;AAGlB;ACfA,IAAIlY,KAAY,CAAC,aAAa,QAAQ,QAAQ,UAAU,YAAY,WAAW,cAAc;AAS7FuvB,GAAgB,SAAS;AACzB,IAAII,KAAoB,gBAAAzrD,EAAM,WAAW,SAAUgE,GAAOwE,GAAK;AAC7D,MAAI47C,GACA14C,IAAY1H,EAAM,WACpBmnD,IAAOnnD,EAAM,MACb0nD,IAAO1nD,EAAM,MACb2nD,IAAS3nD,EAAM,QACf4nD,IAAW5nD,EAAM,UACjB+jD,IAAU/jD,EAAM,SAChB0mD,IAAe1mD,EAAM,cACrBu8B,IAAY9rB,GAAyBzQ,GAAO83B,EAAS,GACnD/jB,IAAoB/X,EAAM,WAAWoqB,EAAO,GAC9CyhC,IAAwB9zC,EAAkB,WAC1CygC,IAAYqT,MAA0B,SAAS,YAAYA,GAC3DC,IAAgB/zC,EAAkB,eAChCg0C,IAAc1+C,GAAWy+C,GAAetT,IAAY4L,IAAc,CAAE,GAAE12C,EAAgB02C,GAAa,GAAG,OAAO5L,GAAW,GAAG,EAAE,OAAO2S,EAAK,IAAI,GAAG,CAAC,CAACA,EAAK,IAAI,GAAGz9C,EAAgB02C,GAAa,GAAG,OAAO5L,GAAW,OAAO,GAAG,CAAC,CAACkT,KAAQP,EAAK,SAAS,SAAS,GAAG/G,IAAc14C,CAAS,GACrRsgD,IAAeJ;AACnB,EAAII,MAAiB,UAAajE,MAChCiE,IAAe;AAEjB,MAAIC,IAAWN,IAAS;AAAA,IACtB,aAAa,UAAU,OAAOA,GAAQ,MAAM;AAAA,IAC5C,WAAW,UAAU,OAAOA,GAAQ,MAAM;AAAA,EAC3C,IAAG,QACAL,IAAwBb,GAAuBC,CAAY,GAC7Da,IAAyBt0C,EAAeq0C,GAAuB,CAAC,GAChEf,IAAegB,EAAuB,IACtCP,IAAiBO,EAAuB;AAC1C,SAAoB,gBAAAvrD,EAAM,cAAc,QAAQsO,EAAcA,EAAc;AAAA,IAC1E,MAAM;AAAA,IACN,cAAc68C,EAAK;AAAA,EACvB,GAAK5qB,CAAS,GAAG,IAAI;AAAA,IACjB,KAAK/3B;AAAA,IACL,UAAUwjD;AAAA,IACV,SAASjE;AAAA,IACT,WAAWgE;AAAA,EACf,CAAG,GAAgB,gBAAA/rD,EAAM,cAAcorD,IAAW;AAAA,IAC9C,MAAMD;AAAA,IACN,cAAcZ;AAAA,IACd,gBAAgBS;AAAA,IAChB,OAAOiB;AAAA,EACR,CAAA,CAAC;AACJ,CAAC;AACDR,GAAK,cAAc;AACnBA,GAAK,kBAAkBD;AACvBC,GAAK,kBAAkBJ;AACvB,MAAAa,KAAeT;ACrDf,IAAI7B,KAAkB,SAAyB5lD,GAAOwE,GAAK;AACzD,SAAoB,gBAAAxI,EAAM,cAAcksD,IAAU59C,EAAcA,EAAc,CAAE,GAAEtK,CAAK,GAAG,IAAI;AAAA,IAC5F,KAAKwE;AAAA,IACL,MAAMqhD;AAAA,EACP,CAAA,CAAC;AACJ;AACAD,GAAgB,cAAc;AAC9B,MAAAuC,KAA4B,gBAAAnsD,EAAM,WAAW4pD,EAAe,GCVtDwC,KAAoB,OAAO;AAAA,EAC/B,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AACb,IACMC,KAAe,CAAAriD,OAAS;AAAA,EAC5B,OAAOA,EAAK;AAAA,EACZ,SAAS;AAAA,EACT,WAAW;AACb,IACMsiD,KAAc,CAAAl0C,MAAQ;AAC1B,MAAI;AAAA,IACF,WAAAogC;AAAA,IACA,SAAA+T;AAAA,IACA,WAAAC;AAAA,EACD,IAAGp0C;AACJ,QAAMqnC,IAAU,CAAC,CAAC8M;AAClB,SAAIC,IACkBxsD,gBAAAA,GAAM,cAAc,QAAQ;AAAA,IAC9C,WAAW,GAAGw4C;AAAA,EACf,GAAex4C,gBAAAA,GAAM,cAAc4pD,IAAiB,IAAI,CAAC,IAExC5pD,gBAAAA,GAAM,cAAcijD,IAAW;AAAA,IACjD,SAASxD;AAAA,IAET,YAAY,GAAGjH;AAAA,IACf,eAAe;AAAA,IACf,eAAe4T;AAAA,IACf,gBAAgBC;AAAA,IAChB,cAAcD;AAAA,IACd,eAAeC;AAAA,IACf,cAAcA;AAAA,IACd,eAAeD;AAAA,EACnB,GAAK,CAAC/zC,GAAO7P,MAAQ;AACjB,QAAI;AAAA,MACF,WAAAkD;AAAA,MACA,OAAAuK;AAAA,IACD,IAAGoC;AACJ,WAAoBrY,gBAAAA,GAAM,cAAc,QAAQ;AAAA,MAC9C,WAAW,GAAGw4C;AAAA,MACd,OAAOviC;AAAA,MACP,KAAKzN;AAAA,IACX,GAAoBxI,gBAAAA,GAAM,cAAc4pD,IAAiB;AAAA,MACnD,WAAWl+C;AAAA,IACZ,CAAA,CAAC;AAAA,EACN,CAAG;AACH,GACA+gD,KAAeH,IClDTI,KAAuB,CAACC,GAAe7G,OAAiB;AAAA,EAE5D,CAAC,aAAa6G,MAAkB;AAAA,IAC9B,sBAAsB;AAAA,MACpB,CAAC,UAAUA,MAAkB;AAAA,QAC3B,oBAAoB;AAAA,UAClB,sBAAsB7G;AAAA,QACvB;AAAA,MACF;AAAA,IACF;AAAA,IACD,uBAAuB;AAAA,MACrB,CAAC,UAAU6G,MAAkB;AAAA,QAC3B,oBAAoB;AAAA,UAClB,wBAAwB7G;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACH,IACM8G,KAAgB,CAAA5xC,MAAS;AAC7B,QAAM;AAAA,IACJ,cAAAk+B;AAAA,IACA,UAAAzE;AAAA,IACA,WAAAd;AAAA,IACA,mBAAAkZ;AAAA,IACA,iBAAAC;AAAA,EACD,IAAG9xC;AACJ,SAAO;AAAA,IACL,CAAC,GAAGk+B,YAAuB;AAAA,MAAC;AAAA,QAC1B,UAAU;AAAA,QACV,SAAS;AAAA,QAET,CAAC,aAAaA,MAAiB;AAAA,UAC7B,sBAAsB;AAAA,YACpB,CAAC,UAAUA,MAAiB;AAAA,cAC1B,sBAAsB;AAAA,cACtB,oBAAoB;AAAA,YACrB;AAAA,UACF;AAAA,UACD,uBAAuB;AAAA,YACrB,mBAAmB,CAACvF;AAAA,YACpB,CAAC,UAAUuF,MAAiB;AAAA,cAC1B,wBAAwB;AAAA,cACxB,sBAAsB;AAAA,YACvB;AAAA,UACF;AAAA,QACF;AAAA,QACD,CAACA,IAAe;AAAA,UACd,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,CAAC;AAAA;AAAA,sBAEa;AAAA,YACZ,QAAQ;AAAA,UACT;AAAA,UACD,eAAe;AAAA,YACb,QAAQ;AAAA,UACT;AAAA,QACF;AAAA,QACD,CAAC,GAAGA,gBAA2B;AAAA,UAC7B,UAAAzE;AAAA,QACD;AAAA,MACF;AAAA,MAEDiY,GAAqB,GAAGxT,aAAwB2T,CAAiB;AAAA,MAAGH,GAAqB,GAAGxT,YAAuB4T,CAAe;AAAA,IAAC;AAAA,EACvI;AACA,GACAC,KAAeH;AClEf,SAASI,GAAkBhyC,GAAOiyC,GAAWn8B,GAAS;AACpD,QAAM;AAAA,IACJ,YAAAo8B;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,EACD,IAAGt8B,GACEu8B,IAAkBD,IAAc,QAAQ,IACxCE,IAAe,CAAC,SAASH,IAAQ,UAAU,MAAM,QAAQ,EAAE,OAAO,OAAO,EAAE,IAAI,CAAA9tD,MAAK,KAAKA,KAAKguD,GAAiB,EAAE,KAAK,GAAG;AAC/H,SAAO;AAAA,IACL,CAAC,cAAcJ,iBAAyB;AAAA,MACtC,iBAAiB,CAACjyC,EAAM;AAAA,IACzB;AAAA,IACD,UAAU,OAAO,OAAO,OAAO,OAAO;AAAA,MACpC,CAACsyC,IAAe;AAAA,QACd,QAAQ;AAAA,MACT;AAAA,IACF,GAAEJ,IAAa;AAAA,MACd,CAAC,IAAIA,MAAe;AAAA,QAClB,QAAQ;AAAA,MACT;AAAA,IACF,IAAG,CAAE,CAAA,GAAG;AAAA,MACP,CAAC,eAAeG,MAAoB;AAAA,QAClC,QAAQ;AAAA,MACT;AAAA,IACP,CAAK;AAAA,EACL;AACA;AAEA,SAASE,GAAwB/U,GAAWyU,GAAWn8B,GAAS;AAC9D,QAAM;AAAA,IACJ,aAAAs8B;AAAA,EACD,IAAGt8B,GACEu8B,IAAkBD,IAAc,KAAKA,MAAgB;AAC3D,SAAO;AAAA,IACL,CAAC,cAAcH,qBAA6BA,gBAAwBI,MAAoB;AAAA,MACtF,cAAc;AAAA,IACf;AAAA,IACD,CAAC,cAAcJ,eAAuBA,iBAAyB;AAAA,MAC7D,CAAC,KAAKI,OAAqB7U,QAAgB6U,OAAqB7U,QAAgB6U,MAAoB;AAAA,QAClG,sBAAsB;AAAA,QACtB,oBAAoB;AAAA,MACrB;AAAA,IACF;AAAA,IACD,CAAC,cAAcJ,gBAAwBA,gBAAwB;AAAA,MAC7D,CAAC,KAAKI,OAAqB7U,QAAgB6U,OAAqB7U,QAAgB6U,MAAoB;AAAA,QAClG,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,MACvB;AAAA,IACF;AAAA,EACL;AACA;AACO,SAASG,GAAoBxyC,GAAO;AACzC,MAAI8V,IAAU,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAAA,IAChF,OAAO;AAAA,EACX;AACE,QAAM;AAAA,IACJ,cAAAooB;AAAA,EACD,IAAGl+B,GACEyyC,IAAa,GAAGvU;AACtB,SAAO;AAAA,IACL,CAACuU,IAAa,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIT,GAAkBhyC,GAAOyyC,GAAY38B,CAAO,CAAC,GAAGy8B,GAAwBrU,GAAcuU,GAAY38B,CAAO,CAAC;AAAA,EAC5J;AACA;AC/DA,SAAS48B,GAA0B1yC,GAAOiyC,GAAW;AACnD,SAAO;AAAA,IAEL,CAAC,cAAcA,iBAAyB;AAAA,MACtC,cAAc,CAACjyC,EAAM;AAAA,IACtB;AAAA,IACD,UAAU;AAAA,MACR,4BAA4B;AAAA,QAC1B,QAAQ;AAAA,MACT;AAAA,MACD,eAAe;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,IACF;AAAA,EACL;AACA;AACA,SAAS2yC,GAAgCnV,GAAWyU,GAAW;AAC7D,SAAO;AAAA,IACL,CAAC,cAAcA,qBAA6BA,iBAAyB;AAAA,MACnE,cAAc;AAAA,IACf;AAAA,IACD,CAAC,SAASA,oBAA4BA,iBAAyB;AAAA,MAC7D,CAAC,OAAOzU,UAAkBA,SAAiB;AAAA,QACzC,oBAAoB;AAAA,QACpB,sBAAsB;AAAA,MACvB;AAAA,IACF;AAAA,IACD,CAAC,SAASyU,mBAA2BA,kBAA0B;AAAA,MAC7D,CAAC,OAAOzU,UAAkBA,SAAiB;AAAA,QACzC,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,MACvB;AAAA,IACF;AAAA,EACL;AACA;AACO,SAASoV,GAA4B5yC,GAAO;AACjD,QAAMyyC,IAAa,GAAGzyC,EAAM;AAC5B,SAAO;AAAA,IACL,CAACyyC,IAAa,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIC,GAA0B1yC,GAAOyyC,CAAU,CAAC,GAAGE,GAAgC3yC,EAAM,cAAcyyC,CAAU,CAAC;AAAA,EAChK;AACA;AClCA,MAAMI,KAAuB,CAAA7yC,MAAS;AACpC,QAAM;AAAA,IACJ,cAAAk+B;AAAA,IACA,SAAA4U;AAAA,EACD,IAAG9yC;AACJ,SAAO;AAAA,IACL,CAACk+B,IAAe;AAAA,MACd,SAAS;AAAA,MACT,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB,QAAQ,GAAGl+B,EAAM,eAAeA,EAAM;AAAA,MACtC,QAAQ;AAAA,MACR,YAAY,OAAOA,EAAM,qBAAqBA,EAAM;AAAA,MACpD,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,YAAYA,EAAM;AAAA,MAClB,OAAOA,EAAM;AAAA,MACb,UAAU;AAAA,QACR,SAAS;AAAA,MACV;AAAA,MAED,CAAC,KAAK8yC,sBAA4BA,MAAY;AAAA,QAC5C,mBAAmB9yC,EAAM;AAAA,MAC1B;AAAA,MACD,OAAO;AAAA,QACL,OAAO;AAAA,MACR;AAAA,MACD,oBAAoB,OAAO,OAAO,CAAE,GAAEg9B,GAAch9B,CAAK,CAAC;AAAA,MAE1D,CAAC,cAAck+B,mBAA8B;AAAA,QAC3C,MAAM;AAAA,MACP;AAAA,MAED,CAAC,iBAAiBA,cAAyB;AAAA,QACzC,CAAC,uBAAuBA,iBAA4BA,8BAAyC;AAAA,UAC3F,UAAU;AAAA,UACV,YAAY;AAAA,YACV,UAAU;AAAA,YACV,KAAK,CAACl+B,EAAM;AAAA,YACZ,kBAAkB,CAACA,EAAM;AAAA,YACzB,SAAS;AAAA,YACT,OAAOA,EAAM;AAAA,YACb,QAAQ,eAAeA,EAAM,YAAY;AAAA,YACzC,iBAAiBA,EAAM;AAAA,YACvB,SAAS;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,MAED,2BAA2B;AAAA,QACzB,CAAC,IAAIk+B,cAAyB;AAAA,UAC5B,CAAC,uBAAuBA,0BAAqCA,8BAAyC;AAAA,YACpG,UAAU;AAAA,YACV,YAAY;AAAA,cACV,UAAU;AAAA,cACV,KAAK,CAACl+B,EAAM;AAAA,cACZ,kBAAkB,CAACA,EAAM;AAAA,cACzB,SAAS;AAAA,cACT,OAAO,eAAeA,EAAM,YAAY;AAAA,cACxC,QAAQA,EAAM;AAAA,cACd,iBAAiBA,EAAM;AAAA,cACvB,SAAS;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACL;AACA,GACM+yC,KAA4B,CAACC,GAAYC,OAAiB;AAAA,EAC9D,oBAAoB;AAAA,IAClB,WAAWD;AAAA,IACX,YAAYC;AAAA,EACb;AACH,IAEMC,KAAuB,CAAAlzC,OAAU;AAAA,EACrC,UAAUA,EAAM;AAAA,EAChB,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,cAAc;AAChB,IACMmzC,KAAsB,CAAAnzC,OAAU;AAAA,EACpC,cAAcA,EAAM;AAAA,EACpB,oBAAoBA,EAAM,gBAAgB;AAAA,EAC1C,kBAAkBA,EAAM,gBAAgB;AAC1C,IAEMozC,KAAmB,CAAApzC,OAAU;AAAA,EACjC,QAAQ;AAAA,EACR,aAAaA,EAAM;AAAA,EACnB,OAAOA,EAAM;AAAA,EACb,iBAAiBA,EAAM;AAAA,EACvB,WAAW;AACb,IACMqzC,KAAsB,CAACC,GAAQC,GAAWzI,GAAa0I,GAAmBC,GAAqBT,GAAYC,OAAiB;AAAA,EAChI,CAAC,IAAIK,uBAA4B,OAAO,OAAO,OAAO,OAAO;AAAA,IAC3D,OAAOC,KAAa;AAAA,IACpB,iBAAiB;AAAA,IACjB,aAAazI,KAAe;AAAA,IAC5B,WAAW;AAAA,EACf,GAAKiI,GAA0B,OAAO,OAAO;AAAA,IACzC,iBAAiB;AAAA,EACrB,GAAKC,CAAU,GAAG,OAAO,OAAO;AAAA,IAC5B,iBAAiB;AAAA,EACrB,GAAKC,CAAW,CAAC,CAAC,GAAG;AAAA,IACjB,cAAc;AAAA,MACZ,QAAQ;AAAA,MACR,OAAOO,KAAqB;AAAA,MAC5B,aAAaC,KAAuB;AAAA,IACrC;AAAA,EACL,CAAG;AACH,IACMC,KAA8B,CAAA1zC,OAAU;AAAA,EAC5C,cAAc,OAAO,OAAO,CAAE,GAAEozC,GAAiBpzC,CAAK,CAAC;AACzD,IACM2zC,KAAsB,CAAA3zC,MAAS,OAAO,OAAO,CAAA,GAAI0zC,GAA4B1zC,CAAK,CAAC,GACnF4zC,KAA6B,CAAA5zC,OAAU;AAAA,EAC3C,cAAc;AAAA,IACZ,QAAQ;AAAA,IACR,OAAOA,EAAM;AAAA,EACd;AACH,IAEM6zC,KAAwB,CAAA7zC,MAAS,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAE,GAAE2zC,GAAoB3zC,CAAK,CAAC,GAAG;AAAA,EAC5I,iBAAiBA,EAAM;AAAA,EACvB,aAAaA,EAAM;AAAA,EACnB,WAAW,KAAKA,EAAM,2BAA2BA,EAAM;AACzD,CAAC,GAAG+yC,GAA0B;AAAA,EAC5B,OAAO/yC,EAAM;AAAA,EACb,aAAaA,EAAM;AACrB,GAAG;AAAA,EACD,OAAOA,EAAM;AAAA,EACb,aAAaA,EAAM;AACrB,CAAC,CAAC,GAAGqzC,GAAoBrzC,EAAM,cAAcA,EAAM,kBAAkBA,EAAM,kBAAkBA,EAAM,mBAAmBA,EAAM,WAAW,CAAC,GAAG;AAAA,EACzI,CAAC,IAAIA,EAAM,2BAA2B,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO;AAAA,IAC9E,OAAOA,EAAM;AAAA,IACb,aAAaA,EAAM;AAAA,EACpB,GAAE+yC,GAA0B;AAAA,IAC3B,OAAO/yC,EAAM;AAAA,IACb,aAAaA,EAAM;AAAA,EACvB,GAAK;AAAA,IACD,OAAOA,EAAM;AAAA,IACb,aAAaA,EAAM;AAAA,EACvB,CAAG,CAAC,GAAGqzC,GAAoBrzC,EAAM,cAAcA,EAAM,YAAYA,EAAM,YAAYA,EAAM,mBAAmBA,EAAM,WAAW,CAAC,GAAG0zC,GAA4B1zC,CAAK,CAAC;AACnK,CAAC,GAEK8zC,KAAwB,CAAA9zC,MAAS,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAE,GAAE2zC,GAAoB3zC,CAAK,CAAC,GAAG;AAAA,EAC5I,OAAOA,EAAM;AAAA,EACb,iBAAiBA,EAAM;AAAA,EACvB,WAAW,KAAKA,EAAM,2BAA2BA,EAAM;AACzD,CAAC,GAAG+yC,GAA0B;AAAA,EAC5B,OAAO/yC,EAAM;AAAA,EACb,iBAAiBA,EAAM;AACzB,GAAG;AAAA,EACD,OAAOA,EAAM;AAAA,EACb,iBAAiBA,EAAM;AACzB,CAAC,CAAC,GAAGqzC,GAAoBrzC,EAAM,cAAcA,EAAM,cAAcA,EAAM,cAAcA,EAAM,mBAAmBA,EAAM,aAAa;AAAA,EAC/H,OAAOA,EAAM;AAAA,EACb,aAAaA,EAAM;AACrB,GAAG;AAAA,EACD,OAAOA,EAAM;AAAA,EACb,aAAaA,EAAM;AACrB,CAAC,CAAC,GAAG;AAAA,EACH,CAAC,IAAIA,EAAM,2BAA2B,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO;AAAA,IAC9E,iBAAiBA,EAAM;AAAA,IACvB,WAAW,KAAKA,EAAM,2BAA2BA,EAAM;AAAA,EACxD,GAAE+yC,GAA0B;AAAA,IAC3B,iBAAiB/yC,EAAM;AAAA,EAC3B,GAAK;AAAA,IACD,iBAAiBA,EAAM;AAAA,EACxB,CAAA,CAAC,GAAGqzC,GAAoBrzC,EAAM,cAAcA,EAAM,YAAYA,EAAM,YAAYA,EAAM,mBAAmBA,EAAM,aAAa;AAAA,IAC3H,OAAOA,EAAM;AAAA,IACb,aAAaA,EAAM;AAAA,EACvB,GAAK;AAAA,IACD,OAAOA,EAAM;AAAA,IACb,aAAaA,EAAM;AAAA,EACvB,CAAG,CAAC,GAAG0zC,GAA4B1zC,CAAK,CAAC;AACzC,CAAC,GAEK+zC,KAAuB,CAAA/zC,MAAS,OAAO,OAAO,OAAO,OAAO,IAAI6zC,GAAsB7zC,CAAK,CAAC,GAAG;AAAA,EACnG,aAAa;AACf,CAAC,GAEKg0C,KAAqB,CAAAh0C,MAAS,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO;AAAA,EAC5E,OAAOA,EAAM;AACf,GAAG+yC,GAA0B;AAAA,EAC3B,OAAO/yC,EAAM;AACf,GAAG;AAAA,EACD,OAAOA,EAAM;AACf,CAAC,CAAC,GAAG4zC,GAA2B5zC,CAAK,CAAC,GAAG;AAAA,EACvC,CAAC,IAAIA,EAAM,2BAA2B,OAAO,OAAO,OAAO,OAAO;AAAA,IAChE,OAAOA,EAAM;AAAA,EACd,GAAE+yC,GAA0B;AAAA,IAC3B,OAAO/yC,EAAM;AAAA,EACjB,GAAK;AAAA,IACD,OAAOA,EAAM;AAAA,EACjB,CAAG,CAAC,GAAG4zC,GAA2B5zC,CAAK,CAAC;AACxC,CAAC,GAEKi0C,KAAqB,CAAAj0C,MAAS,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAE,GAAE+yC,GAA0B;AAAA,EAC1G,OAAO/yC,EAAM;AAAA,EACb,iBAAiBA,EAAM;AACzB,GAAG;AAAA,EACD,OAAOA,EAAM;AAAA,EACb,iBAAiBA,EAAM;AACzB,CAAC,CAAC,GAAG4zC,GAA2B5zC,CAAK,CAAC,GAAG;AAAA,EACvC,CAAC,IAAIA,EAAM,2BAA2B,OAAO,OAAO,OAAO,OAAO;AAAA,IAChE,OAAOA,EAAM;AAAA,EACd,GAAE4zC,GAA2B5zC,CAAK,CAAC,GAAG+yC,GAA0B;AAAA,IAC/D,OAAO/yC,EAAM;AAAA,IACb,iBAAiBA,EAAM;AAAA,EAC3B,GAAK;AAAA,IACD,OAAOA,EAAM;AAAA,IACb,iBAAiBA,EAAM;AAAA,EAC3B,CAAG,CAAC;AACJ,CAAC,GAEKk0C,KAAyB,CAAAl0C,MAAS,OAAO,OAAO,OAAO,OAAO,IAAIozC,GAAiBpzC,CAAK,CAAC,GAAG;AAAA,EAChG,CAAC,IAAIA,EAAM,uBAAuB,OAAO,OAAO,CAAA,GAAIozC,GAAiBpzC,CAAK,CAAC;AAC7E,CAAC,GACKm0C,KAAqB,CAAAn0C,MAAS;AAClC,QAAM;AAAA,IACJ,cAAAk+B;AAAA,EACD,IAAGl+B;AACJ,SAAO;AAAA,IACL,CAAC,GAAGk+B,cAAyB2V,GAAsB7zC,CAAK;AAAA,IACxD,CAAC,GAAGk+B,cAAyB4V,GAAsB9zC,CAAK;AAAA,IACxD,CAAC,GAAGk+B,aAAwB6V,GAAqB/zC,CAAK;AAAA,IACtD,CAAC,GAAGk+B,WAAsB8V,GAAmBh0C,CAAK;AAAA,IAClD,CAAC,GAAGk+B,WAAsB+V,GAAmBj0C,CAAK;AAAA,IAClD,CAAC,GAAGk+B,eAA0BgW,GAAuBl0C,CAAK;AAAA,EAC9D;AACA,GAEMo0C,KAAqB,SAAUp0C,GAAO;AAC1C,MAAIq0C,IAAgB,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AACxF,QAAM;AAAA,IACJ,cAAAnW;AAAA,IACA,SAAA4U;AAAA,IACA,eAAAvc;AAAA,IACA,UAAAkD;AAAA,IACA,YAAA6a;AAAA,IACA,WAAA3b;AAAA,IACA,cAAAD;AAAA,IACA,yBAAA6b;AAAA,EACD,IAAGv0C,GACEw0C,IAAkB,KAAK,IAAI,IAAIje,IAAgBkD,IAAW6a,KAAc,IAAI3b,CAAS,GACrF8b,IAAoBF,IAA0B5b,GAC9C+b,IAAc,GAAGxW;AACvB,SAAO;AAAA,IAEP;AAAA,MACE,CAAC,GAAGA,IAAemW,MAAkB;AAAA,QACnC,UAAA5a;AAAA,QACA,QAAQlD;AAAA,QACR,SAAS,GAAGie,OAAqBC;AAAA,QACjC,cAAA/b;AAAA,QACA,CAAC,IAAIgc,MAAgB;AAAA,UACnB,OAAOne;AAAA,UACP,oBAAoB;AAAA,UACpB,kBAAkB;AAAA,UAClB,CAAC,IAAI2H,YAAuB;AAAA,YAC1B,OAAO;AAAA,UACR;AAAA,UACD,UAAU;AAAA,YACR,WAAW;AAAA,UACZ;AAAA,QACF;AAAA,QAGD,CAAC,IAAIA,cAAyB;AAAA,UAC5B,SAASl+B,EAAM;AAAA,UACf,QAAQ;AAAA,QACT;AAAA,QACD,CAAC,GAAGk+B,mBAA8B;AAAA,UAChC,YAAY,SAASl+B,EAAM,sBAAsBA,EAAM,4BAA4BA,EAAM,sBAAsBA,EAAM;AAAA,QACtH;AAAA,QACD,CAAC,SAAS00C,MAAgBxW,oBAA+B4U,MAAY;AAAA,UACnE,iBAAiB9yC,EAAM;AAAA,QACxB;AAAA,MACF;AAAA,IACF;AAAA,IAED;AAAA,MACE,CAAC,GAAGk+B,IAAeA,WAAsBmW,MAAkBnB,GAAqBlzC,CAAK;AAAA,IACzF;AAAA,IAAK;AAAA,MACD,CAAC,GAAGk+B,IAAeA,UAAqBmW,MAAkBlB,GAAoBnzC,CAAK;AAAA,IACvF;AAAA,EAAG;AACH,GACM20C,KAAyB,CAAA30C,MAASo0C,GAAmBp0C,CAAK,GAC1D40C,KAA0B,CAAA50C,MAAS;AACvC,QAAM60C,IAAa1W,GAAWn+B,GAAO;AAAA,IACnC,eAAeA,EAAM;AAAA,IACrB,SAASA,EAAM;AAAA,IACf,yBAAyB;AAAA,IACzB,cAAcA,EAAM;AAAA,EACxB,CAAG;AACD,SAAOo0C,GAAmBS,GAAY,GAAG70C,EAAM,iBAAiB;AAClE,GACM80C,KAA0B,CAAA90C,MAAS;AACvC,QAAM+0C,IAAa5W,GAAWn+B,GAAO;AAAA,IACnC,eAAeA,EAAM;AAAA,IACrB,UAAUA,EAAM;AAAA,IAChB,cAAcA,EAAM;AAAA,EACxB,CAAG;AACD,SAAOo0C,GAAmBW,GAAY,GAAG/0C,EAAM,iBAAiB;AAClE,GACMg1C,KAAsB,CAAAh1C,MAAS;AACnC,QAAM;AAAA,IACJ,cAAAk+B;AAAA,EACD,IAAGl+B;AACJ,SAAO;AAAA,IACL,CAACk+B,IAAe;AAAA,MACd,CAAC,IAAIA,YAAuB;AAAA,QAC1B,OAAO;AAAA,MACR;AAAA,IACF;AAAA,EACL;AACA,GAEA+W,KAAe3X,GAAsB,UAAU,CAAAt9B,MAAS;AACtD,QAAM;AAAA,IACJ,mBAAAk1C;AAAA,IACA,0BAAAC;AAAA,EACD,IAAGn1C,GACEo1C,IAAcjX,GAAWn+B,GAAO;AAAA,IACpC,qBAAqBk1C;AAAA,IACrB,yBAAyBC;AAAA,EAC7B,CAAG;AACD,SAAO;AAAA,IAEPtC,GAAqBuC,CAAW;AAAA,IAEhCR,GAAwBQ,CAAW;AAAA,IAAGT,GAAuBS,CAAW;AAAA,IAAGN,GAAwBM,CAAW;AAAA,IAE9GJ,GAAoBI,CAAW;AAAA,IAE/BjB,GAAmBiB,CAAW;AAAA,IAE9BxD,GAAcwD,CAAW;AAAA,IAEzB5C,GAAoBxyC,GAAO;AAAA,MACzB,OAAO;AAAA,IACX,CAAG;AAAA,IAAG4yC,GAA4B5yC,CAAK;AAAA,EAAC;AACxC,CAAC;ACpWD,IAAI66B,KAASC,cAAQA,WAAK,UAAU,SAAUtwC,GAAG3F,GAAG;AAClD,MAAIwP,IAAI,CAAA;AACR,WAAS/P,KAAKkG;AAAG,IAAI,OAAO,UAAU,eAAe,KAAKA,GAAGlG,CAAC,KAAKO,EAAE,QAAQP,CAAC,IAAI,MAAG+P,EAAE/P,KAAKkG,EAAElG;AAC9F,MAAIkG,KAAK,QAAQ,OAAO,OAAO,yBAA0B;AAAY,aAASyE,IAAI,GAAG3K,IAAI,OAAO,sBAAsBkG,CAAC,GAAGyE,IAAI3K,EAAE,QAAQ2K;AACtI,MAAIpK,EAAE,QAAQP,EAAE2K,EAAE,IAAI,KAAK,OAAO,UAAU,qBAAqB,KAAKzE,GAAGlG,EAAE2K,EAAE,MAAGoF,EAAE/P,EAAE2K,MAAMzE,EAAElG,EAAE2K;AAEhG,SAAOoF;AACT;AAyBA,MAAMghD,KAAiB,CAACrsD,GAAOwE,MAAQ;AACrC,QAAM;AAAA,IACF,SAAA+jD,IAAU;AAAA,IACV,WAAWnU;AAAA,IACX,MAAA91C,IAAO;AAAA,IACP,QAAAguD;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,MAAMC;AAAA,IACN,UAAUC;AAAA,IACV,WAAA/kD;AAAA,IACA,UAAAT;AAAA,IACA,MAAAkgD;AAAA,IACA,OAAAuF,IAAQ;AAAA,IACR,OAAAC,IAAQ;AAAA,IAER,UAAAC,IAAW;AAAA,EACjB,IAAQ5sD,GACJwkC,IAAOqN,GAAO7xC,GAAO,CAAC,WAAW,aAAa,QAAQ,UAAU,SAAS,QAAQ,YAAY,aAAa,YAAY,QAAQ,SAAS,SAAS,UAAU,CAAC,GACvJ;AAAA,IACJ,cAAA00C;AAAA,IACA,yBAAAmY;AAAA,IACA,WAAAzI;AAAA,EACJ,IAAMpoD,EAAM,WAAWq4C,EAAa,GAC5BG,IAAYE,EAAa,OAAON,CAAkB,GAClD,CAAC0Y,GAASxzC,CAAM,IAAIwqC,GAAStP,CAAS,GACtCh3B,IAAOxhB,EAAM,WAAWu6C,EAAW,GACnCzuC,IAAW9L,EAAM,WAAWq6C,EAAe,GAC3C0W,IAAiBN,KAAwE3kD,GACzFklD,IAAYhxD,EAAM,WAAW2oD,EAAgB,GAC7C,CAACsI,GAAcC,CAAU,IAAIlxD,EAAM,SAAS,CAAC,CAACusD,CAAO,GACrD,CAAC4E,GAAcC,CAAe,IAAIpxD,EAAM,SAAS,EAAK,GACtDqxD,IAAY7oD,KAAoB,gBAAAxI,EAAM,UAAS,GAC/CsxD,IAAiB,MAAMtxD,EAAM,SAAS,MAAMiL,CAAQ,MAAM,KAAK,CAACkgD,KAAQ,CAAChC,GAAuB7mD,CAAI,GACpGivD,IAAe,MAAM;AAEzB,QAAI,CAACF,KAAa,CAACA,EAAU,WAAWR,MAA4B;AAClE;AAEF,UAAMW,IAAaH,EAAU,QAAQ;AACrC,IAAIC,EAAgB,KAAIrI,GAAYuI,CAAU,IACvCL,KACHC,EAAgB,EAAI,IAEbD,KACTC,EAAgB,EAAK;AAAA,EAE3B,GACQK,IAAiB,OAAOlF,KAAY,YAAYA,KAAWA,KAAY,OAA6B,SAASA,EAAQ,UAAU;AACrI,EAAAvsD,EAAM,UAAU,MAAM;AACpB,QAAI0xD,IAAa;AACjB,IAAI,OAAOD,KAAmB,WAC5BC,IAAa,OAAO,WAAW,MAAM;AACnC,MAAAA,IAAa,MACbR,EAAWO,CAAc;AAAA,IAC1B,GAAEA,CAAc,IAEjBP,EAAWO,CAAc;AAE3B,aAASE,IAAe;AACtB,MAAID,MACF,OAAO,aAAaA,CAAU,GAC9BA,IAAa;AAAA,IAEhB;AACD,WAAOC;AAAA,EACX,GAAK,CAACF,CAAc,CAAC,GACnBzxD,EAAM,UAAUuxD,GAAc,CAACF,CAAS,CAAC;AACzC,QAAMO,IAAc,CAAA/xD,MAAK;AACvB,UAAM;AAAA,MACJ,SAAAkoD;AAAA,IACD,IAAG/jD;AAEJ,QAAIitD,KAAgBF,GAAgB;AAClC,MAAAlxD,EAAE,eAAc;AAChB;AAAA,IACD;AACD,IAAAkoD,KAAY,QAAsCA,EAAQloD,CAAC;AAAA,EAC/D;AACE,UAAQ,IAAI,aAAa,gBAAe2O,GAAQ,EAAE,OAAO28C,KAAS,YAAYA,EAAK,SAAS,IAAI,UAAU,8EAA8EA,2CAA8C,GACtO,QAAQ,IAAI,aAAa,gBAAe38C,GAAQ,EAAEkiD,KAASvH,GAAuB7mD,CAAI,IAAI,UAAU,oDAAoD;AACxJ,QAAMuvD,IAAkBhB,MAA4B,IAC9C;AAAA,IACJ,aAAAiB;AAAA,IACA,uBAAAxJ;AAAA,EACJ,IAAMH,GAAsB3P,GAAW4P,CAAS,GACxC2J,IAAmB;AAAA,IACvB,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,EACZ,GACQC,IAAeF,KAAed,KAAaR,KAAiBhvC,GAC5DsnC,KAAUkJ,KAAeD,EAAiBC,MAAiB,IAC3DC,KAAWhB,IAAe,YAAY9F,GACtC+G,KAAsB/jD,GAAKq6B,GAAM,CAAC,UAAU,CAAC,GAC7C2pB,KAAkBD,GAAoB,SAAS,UAAanB,GAC5DzjD,KAAUD,GAAWmrC,GAAWl7B,GAAQ;AAAA,IAC5C,CAAC,GAAGk7B,KAAa+X,MAAUA,MAAU,aAAaA;AAAA,IAClD,CAAC,GAAG/X,KAAal2C,MAASA;AAAA,IAC1B,CAAC,GAAGk2C,KAAasQ,OAAYA;AAAA,IAC7B,CAAC,GAAGtQ,gBAAwB,CAACvtC,KAAYA,MAAa,KAAK,CAAC,CAACgnD;AAAA,IAC7D,CAAC,GAAGzZ,uBAA+BkY,KAAS,CAACvH,GAAuB7mD,CAAI;AAAA,IACxE,CAAC,GAAGk2C,cAAsByY;AAAA,IAC1B,CAAC,GAAGzY,wBAAgC2Y,KAAgBU,KAAmB,CAACZ;AAAA,IACxE,CAAC,GAAGzY,YAAoBmY;AAAA,IACxB,CAAC,GAAGnY,gBAAwB,CAAC,CAAC8X;AAAA,IAC9B,CAAC,GAAG9X,UAAkB4P,MAAc;AAAA,IACpC,CAAC,GAAG5P,eAAuB2Z;AAAA,EAC/B,GAAK7J,GAAuB58C,CAAS,GAC7B0mD,KAAWjH,KAAQ,CAAC8F,IAAe9F,IAAoB,gBAAAnrD,EAAM,cAAcssD,IAAa;AAAA,IAC5F,WAAW,CAAC,CAACnB;AAAA,IACb,WAAW3S;AAAA,IACX,SAAS,CAAC,CAACyY;AAAA,EACf,CAAG,GACKoB,KAAOpnD,KAAYA,MAAa,IAAIs+C,GAAct+C,GAAUqmD,EAAgB,KAAIO,CAAe,IAAI;AACzG,MAAIK,GAAoB,SAAS;AAC/B,WAAOpB,EAAsB,gBAAA9wD,EAAM,cAAc,KAAK,OAAO,OAAO,CAAE,GAAEkyD,IAAqB;AAAA,MAC3F,WAAW5kD;AAAA,MACX,SAASskD;AAAA,MACT,KAAKP;AAAA,IACX,CAAK,GAAGe,IAAUC,EAAI,CAAC;AAErB,MAAIC,KAA0B,gBAAAtyD,EAAM,cAAc,UAAU,OAAO,OAAO,CAAE,GAAEwoC,GAAM;AAAA,IAClF,MAAMooB;AAAA,IACN,WAAWtjD;AAAA,IACX,SAASskD;AAAA,IACT,UAAUb;AAAA,IACV,KAAKM;AAAA,EACT,CAAG,GAAGe,IAAUC,EAAI;AAClB,SAAKlJ,GAAuB7mD,CAAI,MAC9BgwD,KAA0B,gBAAAtyD,EAAM,cAAc4nD,IAAM;AAAA,IAClD,UAAU,CAAC,CAACqJ;AAAA,EACb,GAAEqB,EAAU,IAERxB,EAAQwB,EAAU;AAC3B,GACM9lD,KAAsB,gBAAAxM,EAAM,WAAWqwD,EAAc;AACvD,QAAQ,IAAI,aAAa,iBAC3B7jD,GAAO,cAAc;AAEvBA,GAAO,QAAQu8C;AACfv8C,GAAO,eAAe;AACtB,MAAA+lD,KAAe/lD;AC3KA,SAASgmD,GAAaxuD,GAAO;AAC1C,SAAoB,gBAAAhE,EAAM,cAAcwM,IAAQ,OAAO,OAAO;AAAA,IAC5D,MAAM;AAAA,IACN,MAAM;AAAA,EACV,GAAKxI,CAAK,CAAC;AACX;ACNA,IAAIyuD,KAAmB,EAAE,MAAQ,EAAE,KAAO,OAAO,OAAS,EAAE,SAAW,iBAAiB,WAAa,QAAS,GAAE,UAAY,CAAC,EAAE,KAAO,QAAQ,OAAS,EAAE,GAAK,+VAA8V,GAAI,EAAC,GAAI,MAAQ,YAAY,OAAS,WAAU;AAC5iB,MAAAC,KAAeD;ACIf,IAAIA,KAAmB,SAA0BzuD,GAAOwE,GAAK;AAC3D,SAAoB,gBAAAxI,EAAM,cAAcksD,IAAU59C,EAAcA,EAAc,CAAE,GAAEtK,CAAK,GAAG,IAAI;AAAA,IAC5F,KAAKwE;AAAA,IACL,MAAMkqD;AAAA,EACP,CAAA,CAAC;AACJ;AACAD,GAAiB,cAAc;AAC/B,MAAAE,KAA4B,gBAAA3yD,EAAM,WAAWyyD,EAAgB;ACZ7D,IAAIG,KAAsB,EAAE,MAAQ,EAAE,KAAO,OAAO,OAAS,EAAE,SAAW,iBAAiB,WAAa,QAAS,GAAE,UAAY,CAAC,EAAE,KAAO,QAAQ,OAAS,EAAE,GAAK,gLAA+K,EAAI,GAAE,EAAE,KAAO,QAAQ,OAAS,EAAE,GAAK,qKAAsK,EAAA,CAAE,EAAC,GAAI,MAAQ,gBAAgB,OAAS;AACrkB,MAAAC,KAAeD;ACIf,IAAIA,KAAsB,SAA6B5uD,GAAOwE,GAAK;AACjE,SAAoB,gBAAAxI,EAAM,cAAcksD,IAAU59C,EAAcA,EAAc,CAAE,GAAEtK,CAAK,GAAG,IAAI;AAAA,IAC5F,KAAKwE;AAAA,IACL,MAAMqqD;AAAA,EACP,CAAA,CAAC;AACJ;AACAD,GAAoB,cAAc;AAClC,MAAAE,KAA4B,gBAAA9yD,EAAM,WAAW4yD,EAAmB;ACZhE,IAAIG,KAAoB,EAAE,MAAQ,EAAE,KAAO,OAAO,OAAS,EAAE,SAAW,iBAAiB,WAAa,QAAS,GAAE,UAAY,CAAC,EAAE,KAAO,QAAQ,OAAS,EAAE,GAAK,0WAAyW,GAAI,EAAC,GAAI,MAAQ,gBAAgB,OAAS,SAAQ;AAC1jB,MAAAC,KAAeD;ACIf,IAAIA,KAAoB,SAA2B/uD,GAAOwE,GAAK;AAC7D,SAAoB,gBAAAxI,EAAM,cAAcksD,IAAU59C,EAAcA,EAAc,CAAE,GAAEtK,CAAK,GAAG,IAAI;AAAA,IAC5F,KAAKwE;AAAA,IACL,MAAMwqD;AAAA,EACP,CAAA,CAAC;AACJ;AACAD,GAAkB,cAAc;AAChC,MAAAE,KAA4B,gBAAAjzD,EAAM,WAAW+yD,EAAiB;ACZ9D,IAAIG,KAAoB,EAAE,MAAQ,EAAE,KAAO,OAAO,OAAS,EAAE,SAAW,iBAAiB,WAAa,QAAS,GAAE,UAAY,CAAC,EAAE,KAAO,QAAQ,OAAS,EAAE,GAAK,2JAA0J,GAAI,EAAC,GAAI,MAAQ,cAAc,OAAS,WAAU;AAC3W,MAAAC,KAAeD;ACIf,IAAIA,KAAoB,SAA2BlvD,GAAOwE,GAAK;AAC7D,SAAoB,gBAAAxI,EAAM,cAAcksD,IAAU59C,EAAcA,EAAc,CAAE,GAAEtK,CAAK,GAAG,IAAI;AAAA,IAC5F,KAAKwE;AAAA,IACL,MAAM2qD;AAAA,EACP,CAAA,CAAC;AACJ;AACAD,GAAkB,cAAc;AAChC,MAAAE,KAA4B,gBAAApzD,EAAM,WAAWkzD,EAAiB;ACZ9D,IAAI3kD,KAAS,CAAA;AACN,SAASC,GAAQC,GAAOC,GAAS;AAEtC,EAAI,QAAQ,IAAI,aAAa,gBAAgB,CAACD,KAAS,YAAY,UACjE,QAAQ,MAAM,YAAY,OAAOC,CAAO,CAAC;AAE7C;AAUO,SAASE,GAAKC,GAAQJ,GAAOC,GAAS;AAC3C,EAAI,CAACD,KAAS,CAACF,GAAOG,OACpBG,EAAO,IAAOH,CAAO,GACrBH,GAAOG,KAAW;AAEtB;AACO,SAASI,GAAYL,GAAOC,GAAS;AAC1C,EAAAE,GAAKJ,IAASC,GAAOC,CAAO;AAC9B;ACxBe,SAAS2kD,GAAS1xC,GAAU;AACzC,MAAI2xC,IAAQtzD,EAAM;AAClB,SAAAszD,EAAM,UAAU3xC,GACT3hB,EAAM,YAAY,WAAY;AAGnC,aAFIuzD,GAEKnhD,IAAO,UAAU,QAAQ7Q,IAAO,IAAI,MAAM6Q,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,MAAA/Q,EAAK+Q,KAAQ,UAAUA;AAGzB,YAAQihD,IAAiBD,EAAM,aAAa,QAAQC,MAAmB,SAAS,SAASA,EAAe,KAAK,MAAMA,GAAgB,CAACD,CAAK,EAAE,OAAO/xD,CAAI,CAAC;AAAA,EACxJ,GAAE,CAAE,CAAA;AACP;ACbe,SAASwX,KAAY;AAClC,SAAO,CAAC,EAAE,OAAO,SAAW,OAAe,OAAO,YAAY,OAAO,SAAS;AAChF;ACIA,IAAIolC,KAAkB,QAAQ,IAAI,aAAa,UAAUplC,GAAS,IAAK/Y,EAAM,kBAAkBA,EAAM;ACEtF,SAAS88C,GAAazb,GAAc;AACjD,MAAI0b,IAAa/8C,EAAM,OAAO,EAAK,GAE/B6mC,IAAkB7mC,EAAM,SAASqhC,CAAY,GAC7CyF,IAAmB7vB,EAAe4vB,GAAiB,CAAC,GACpD3/B,IAAQ4/B,EAAiB,IACzB7P,IAAW6P,EAAiB;AAEhC,EAAA9mC,EAAM,UAAU,WAAY;AAC1B,WAAA+8C,EAAW,UAAU,IACd,WAAY;AACjB,MAAAA,EAAW,UAAU;AAAA,IAC3B;AAAA,EACG,GAAE,CAAE,CAAA;AAEL,WAASC,EAAa5a,GAAS6a,GAAe;AAC5C,IAAIA,KAAiBF,EAAW,WAIhC9lB,EAASmL,CAAO;AAAA,EACjB;AAED,SAAO,CAACl7B,GAAO81C,CAAY;AAC7B;ACtBe,SAASwW,GAAeC,GAAmBj6C,GAAQ;AAChE,MAAIpB,IAAOoB,KAAU,CAAE,GACnB6nB,IAAejpB,EAAK,cACpBlR,IAAQkR,EAAK,OACb6oB,IAAW7oB,EAAK,UAChBs7C,IAAYt7C,EAAK,WAEjB6wB,IAAYC,GAAS,WAAY;AACnC,WAAIhiC,MAAU,SACLA,IAGLm6B,MAAiB,SACZ,OAAOA,KAAiB,aAAaA,EAAY,IAAKA,IAGxD,OAAOoyB,KAAsB,aAAaA,EAAiB,IAAKA;AAAA,EAC3E,CAAG,GACGtqB,IAAalyB,EAAegyB,GAAW,CAAC,GACxC0qB,IAAaxqB,EAAW,IACxByqB,IAAgBzqB,EAAW,IAE3B0qB,IAAc3sD,MAAU,SAAYA,IAAQysD,GAC5CG,IAAkBJ,IAAYA,EAAUG,CAAW,IAAIA,GAEvDE,IAAaV,GAASpyB,CAAQ,GAE9B4F,IAAkB7mC,EAAM,SAAU,GAClC8mC,IAAmB7vB,EAAe4vB,GAAiB,CAAC,GACpDmtB,IAAkBltB,EAAiB,IACnCmtB,IAAqBntB,EAAiB,IAEtCotB,IAAgBb,GAAS,SAAUjxB,GAAS;AAC9C,IAAA6xB,EAAmBJ,CAAW,GAC9BD,EAAc,SAAUr0C,GAAM;AAC5B,UAAI/J,IAAY,OAAO4sB,KAAY,aAAaA,EAAQ7iB,CAAI,IAAI6iB;AAChE,aAAO5sB;AAAA,IACb,CAAK;AAAA,EACL,CAAG;AAED,EAAA2oC,GAAgB,WAAY;AAC1B,IAAI6V,MAAoB,UAAaA,MAAoBL,KACvDI,EAAWJ,GAAYK,CAAe;AAAA,EAEzC,GAAE,CAACA,GAAiBL,GAAYI,CAAU,CAAC;AAE5C,MAAII,IAAen0D,EAAM,OAAOkH,CAAK;AACrC,SAAAlH,EAAM,UAAU,WAAY;AAC1B,IAAIkH,MAAU,UAAaA,MAAUitD,EAAa,WAChDP,EAAc1sD,CAAK,GAGrBitD,EAAa,UAAUjtD;AAAA,EAC3B,GAAK,CAACA,CAAK,CAAC,GACH,CAAC4sD,GAAiBI,CAAa;AACxC;AC5DA,IAAIE,IAAU;AAAA,EAIZ,WAAW;AAAA,EAKX,WAAW;AAAA,EAKX,KAAK;AAAA,EAKL,YAAY;AAAA,EAKZ,OAAO;AAAA,EAKP,OAAO;AAAA,EAKP,MAAM;AAAA,EAKN,KAAK;AAAA,EAKL,OAAO;AAAA,EAKP,WAAW;AAAA,EAKX,KAAK;AAAA,EAKL,OAAO;AAAA,EAKP,SAAS;AAAA,EAKT,WAAW;AAAA,EAKX,KAAK;AAAA,EAKL,MAAM;AAAA,EAKN,MAAM;AAAA,EAKN,IAAI;AAAA,EAKJ,OAAO;AAAA,EAKP,MAAM;AAAA,EAKN,cAAc;AAAA,EAKd,QAAQ;AAAA,EAKR,QAAQ;AAAA,EAKR,MAAM;AAAA,EAKN,KAAK;AAAA,EAKL,KAAK;AAAA,EAKL,OAAO;AAAA,EAKP,MAAM;AAAA,EAKN,MAAM;AAAA,EAKN,KAAK;AAAA,EAKL,OAAO;AAAA,EAKP,OAAO;AAAA,EAKP,MAAM;AAAA,EAKN,eAAe;AAAA,EAKf,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,GAAG;AAAA,EAKH,MAAM;AAAA,EAKN,eAAe;AAAA,EAKf,cAAc;AAAA,EAKd,UAAU;AAAA,EAKV,SAAS;AAAA,EAKT,SAAS;AAAA,EAKT,WAAW;AAAA,EAKX,UAAU;AAAA,EAKV,UAAU;AAAA,EAKV,SAAS;AAAA,EAKT,WAAW;AAAA,EAKX,WAAW;AAAA,EAKX,UAAU;AAAA,EAKV,cAAc;AAAA,EAKd,UAAU;AAAA,EAKV,WAAW;AAAA,EAKX,YAAY;AAAA,EAKZ,cAAc;AAAA,EAKd,IAAI;AAAA,EAKJ,IAAI;AAAA,EAKJ,IAAI;AAAA,EAKJ,IAAI;AAAA,EAKJ,IAAI;AAAA,EAKJ,IAAI;AAAA,EAKJ,IAAI;AAAA,EAKJ,IAAI;AAAA,EAKJ,IAAI;AAAA,EAKJ,KAAK;AAAA,EAKL,KAAK;AAAA,EAKL,KAAK;AAAA,EAKL,SAAS;AAAA,EAKT,WAAW;AAAA,EAKX,MAAM;AAAA,EAKN,QAAQ;AAAA,EAKR,OAAO;AAAA,EAKP,QAAQ;AAAA,EAKR,OAAO;AAAA,EAKP,YAAY;AAAA,EAKZ,cAAc;AAAA,EAKd,qBAAqB;AAAA,EAKrB,WAAW;AAAA,EAKX,sBAAsB;AAAA,EAKtB,SAAS;AAAA,EAKT,aAAa;AAAA,EAKb,SAAS;AAAA,EAMT,yBAAyB,SAAiCv0D,GAAG;AAC3D,QAAIw0D,IAAUx0D,EAAE;AAEhB,QAAIA,EAAE,UAAU,CAACA,EAAE,WAAWA,EAAE,WAChCw0D,KAAWD,EAAQ,MAAMC,KAAWD,EAAQ;AAC1C,aAAO;AAKT,YAAQC,GAAO;AAAA,MACb,KAAKD,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AACX,eAAO;AAAA,MAET;AACE,eAAO;AAAA,IACV;AAAA,EACF;AAAA,EAKD,gBAAgB,SAAwBC,GAAS;AAc/C,QAbIA,KAAWD,EAAQ,QAAQC,KAAWD,EAAQ,QAI9CC,KAAWD,EAAQ,YAAYC,KAAWD,EAAQ,gBAIlDC,KAAWD,EAAQ,KAAKC,KAAWD,EAAQ,KAK3C,OAAO,UAAU,UAAU,QAAQ,QAAQ,MAAM,MAAMC,MAAY;AACrE,aAAO;AAGT,YAAQA,GAAO;AAAA,MACb,KAAKD,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AAAA,MACb,KAAKA,EAAQ;AACX,eAAO;AAAA,MAET;AACE,eAAO;AAAA,IACV;AAAA,EACF;AACH,GC5mBIE,KAA4B,gBAAAt0D,EAAM,cAAc,EAAE,GCClDu0D,KAAe;AAAA,EACjB,YAAY;AACd;AAEA,SAASC,GAAOp8C,GAAM;AACpB,MAAIogC,IAAYpgC,EAAK,WACjBq8C,IAAgBr8C,EAAK,UACrBs8C,IAAWD,MAAkB,SAAS,MAAWA,GACjDE,IAAgBv8C,EAAK,UACrBw8C,IAAWD,MAAkB,SAAS,MAAWA,GACjDE,IAAqBz8C,EAAK,eAC1B08C,IAAgBD,MAAuB,SAAS,MAASA,GACzDE,IAAqB38C,EAAK,eAC1B48C,IAAgBD,MAAuB,SAAS,MAASA,GACzDE,IAAc78C,EAAK,aACnB88C,IAAc98C,EAAK,aACnB+8C,IAAS/8C,EAAK,QACdg9C,IAASh9C,EAAK,QACdnN,IAAWmN,EAAK,UAEhBL,IAAoB/X,EAAM,WAAWs0D,EAAY,GACjDe,IAAct9C,EAAkB,aAChCu9C,IAAcv9C,EAAkB;AAEpC,SAAoB,gBAAA/X,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAWw4C;AAAA,EACZ,GAAEyc,KAA4B,gBAAAj1D,EAAM,cAAc,UAAU;AAAA,IAC3D,MAAM;AAAA,IACN,SAASi1D;AAAA,IACT,UAAU;AAAA,IACV,WAAW,GAAG,OAAOzc,GAAW,iBAAiB;AAAA,IACjD,OAAO8c,IAAcf,KAAe,CAAE;AAAA,EACvC,GAAEO,CAAa,GAAGK,KAAuB,gBAAAn1D,EAAM,cAAc,UAAU;AAAA,IACtE,MAAM;AAAA,IACN,SAASm1D;AAAA,IACT,UAAU;AAAA,IACV,WAAW,GAAG,OAAO3c,GAAW,WAAW;AAAA,IAC3C,OAAO8c,IAAcf,KAAe,CAAE;AAAA,EACvC,GAAEG,CAAQ,GAAgB,gBAAA10D,EAAM,cAAc,OAAO;AAAA,IACpD,WAAW,GAAG,OAAOw4C,GAAW,OAAO;AAAA,EACxC,GAAEvtC,CAAQ,GAAGmqD,KAAuB,gBAAAp1D,EAAM,cAAc,UAAU;AAAA,IACjE,MAAM;AAAA,IACN,SAASo1D;AAAA,IACT,UAAU;AAAA,IACV,WAAW,GAAG,OAAO5c,GAAW,WAAW;AAAA,IAC3C,OAAO6c,IAAcd,KAAe,CAAE;AAAA,EACvC,GAAEK,CAAQ,GAAGM,KAA4B,gBAAAl1D,EAAM,cAAc,UAAU;AAAA,IACtE,MAAM;AAAA,IACN,SAASk1D;AAAA,IACT,UAAU;AAAA,IACV,WAAW,GAAG,OAAO1c,GAAW,iBAAiB;AAAA,IACjD,OAAO6c,IAAcd,KAAe,CAAE;AAAA,EAC1C,GAAKS,CAAa,CAAC;AACnB;ACjDA,SAASO,GAAavxD,GAAO;AAC3B,MAAIw0C,IAAYx0C,EAAM,WAClBwxD,IAAiBxxD,EAAM,gBACvByxD,IAAWzxD,EAAM,UACjB0xD,IAAgB1xD,EAAM,eACtB2xD,IAAgB3xD,EAAM,eAEtB+T,IAAoB/X,EAAM,WAAWs0D,EAAY,GACjDsB,IAAa79C,EAAkB;AAEnC,MAAI69C;AACF,WAAO;AAGT,MAAIC,IAAkB,GAAG,OAAOrd,GAAW,SAAS,GAChDsd,IAAaN,EAAe,QAAQC,CAAQ,GAC5CM,IAAY,KAAK,MAAMD,IAAaE,EAAqB,IAAIA,IAC7DC,IAAUF,IAAYC,KAAwB;AAClD,SAAoB,gBAAAh2D,EAAM,cAAcw0D,IAAQj3C,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IAClE,WAAW6xD;AAAA,IACX,aAAaH;AAAA,IACb,aAAaC;AAAA,EACd,CAAA,GAAGI,GAAW,KAAKE,CAAO;AAC7B;AC7BO,SAASC,GAAQV,GAAgB9hC,GAAMyiC,GAAMC,GAAQC,GAAQ;AAClE,MAAIC,IAAWd,EAAe,QAAQ9hC,GAAMyiC,CAAI;AAChD,SAAAG,IAAWd,EAAe,UAAUc,GAAUF,CAAM,GACpDE,IAAWd,EAAe,UAAUc,GAAUD,CAAM,GAC7CC;AACT;AACO,SAASC,GAAYf,GAAgB9hC,GAAM8iC,GAAa;AAC7D,MAAI,CAACA;AACH,WAAO9iC;AAGT,MAAI+iC,IAAU/iC;AACd,SAAA+iC,IAAUjB,EAAe,QAAQiB,GAASjB,EAAe,QAAQgB,CAAW,CAAC,GAC7EC,IAAUjB,EAAe,UAAUiB,GAASjB,EAAe,UAAUgB,CAAW,CAAC,GACjFC,IAAUjB,EAAe,UAAUiB,GAASjB,EAAe,UAAUgB,CAAW,CAAC,GAC1EC;AACT;AACO,SAASC,GAAkBP,GAAMC,GAAQC,GAAQM,GAAUC,GAAYC,GAAY;AACxF,MAAIC,IAAiB,KAAK,MAAMX,IAAOQ,CAAQ,IAAIA;AAEnD,MAAIG,IAAiBX;AACnB,WAAO,CAACW,GAAgB,KAAKF,GAAY,KAAKC,CAAU;AAG1D,MAAIE,IAAmB,KAAK,MAAMX,IAASQ,CAAU,IAAIA;AAEzD,MAAIG,IAAmBX;AACrB,WAAO,CAACU,GAAgBC,GAAkB,KAAKF,CAAU;AAG3D,MAAIG,IAAmB,KAAK,MAAMX,IAASQ,CAAU,IAAIA;AACzD,SAAO,CAACC,GAAgBC,GAAkBC,CAAgB;AAC5D;AACO,SAASC,GAAWzB,GAAgB9hC,GAAM;AAC/C,MAAIwjC,IAAO1B,EAAe,QAAQ9hC,CAAI,GAClCyjC,IAAQ3B,EAAe,SAAS9hC,CAAI,IAAI,GACxC0jC,IAAU5B,EAAe,WAAWA,EAAe,aAAa,GAAG,OAAO0B,GAAM,GAAG,EAAE,OAAOC,GAAO,KAAK,CAAC,CAAC,GAC1GE,IAAU7B,EAAe,QAAQ4B,CAAO,GACxCE,IAAYH,IAAQ,KAAK,IAAI,OAAOA,CAAK,IAAI,GAAG,OAAOA,CAAK;AAChE,SAAO,GAAG,OAAOD,GAAM,GAAG,EAAE,OAAOI,GAAW,GAAG,EAAE,OAAOD,CAAO;AACnE;ACjCe,SAASE,GAAUn/C,GAAM;AA2BtC,WA1BIogC,IAAYpgC,EAAK,WACjBo/C,IAAep/C,EAAK,cACpBq/C,IAAWr/C,EAAK,UAChBs/C,IAASt/C,EAAK,QACdu/C,IAASv/C,EAAK,QACdw/C,IAASx/C,EAAK,QACdy/C,IAAez/C,EAAK,cACpB0/C,IAAe1/C,EAAK,cACpB2/C,IAAW3/C,EAAK,UAChB4/C,IAAmB5/C,EAAK,kBACxB6/C,IAAc7/C,EAAK,aACnB8/C,IAAc9/C,EAAK,aACnB+/C,IAAc//C,EAAK,aACnBo9C,IAAiBp9C,EAAK,gBACtBggD,IAAYhgD,EAAK,WACjBigD,IAAcjgD,EAAK,aAEnBL,IAAoB/X,EAAM,WAAWs0D,EAAY,GACjDgE,IAAmBvgD,EAAkB,kBACrCwgD,IAAmBxgD,EAAkB,kBACrCygD,IAAOzgD,EAAkB,MAEzB0gD,IAAgB,GAAG,OAAOjgB,GAAW,OAAO,GAE5CkgB,IAAO,CAAA,GAEFzuD,IAAI,GAAGA,IAAI0tD,GAAQ1tD,KAAK,GAAG;AAiDlC,aAhDI0uD,IAAM,CAAA,GACNC,IAAe,QAEfC,IAAQ,SAAep3C,GAAG;AAC5B,UAAIzT,GAEA4S,IAAS3W,IAAI2tD,IAASn2C,GACtBq3C,IAAcX,EAAYJ,GAAUn3C,CAAM,GAC1C9U,IAAWitD,GAAoB;AAAA,QACjC,UAAUD;AAAA,QACV,MAAMN;AAAA,QACN,cAAchB;AAAA,QACd,gBAAgBhC;AAAA,MACxB,CAAO;AAED,MAAI/zC,MAAM,MACRm3C,IAAeE,GAEXjB,KACFc,EAAI,KAAKd,EAAae,CAAY,CAAC;AAIvC,UAAI/sD,IAAQusD,KAAaA,EAAUU,CAAW;AAC9C,MAAAH,EAAI,KAAmB,gBAAA34D,EAAM,cAAc,MAAM;AAAA,QAC/C,KAAKyhB;AAAA,QACL,OAAO5V;AAAA,QACP,WAAWwB,GAAWorD,GAAenqD,GAAeN,IAAiB,CAAA,GAAIN,EAAgBM,GAAgB,GAAG,OAAOyqD,GAAe,WAAW,GAAG3sD,CAAQ,GAAG4B,EAAgBM,GAAgB,GAAG,OAAOyqD,GAAe,QAAQ,GAAGR,EAAYa,CAAW,MAAM,KAAKpB,MAAW,UAAU,OAAO7rD,CAAK,IAAI,OAAO,CAAC,GAAG6B,EAAgBM,GAAgB,GAAG,OAAOyqD,GAAe,MAAM,GAAG5sD,MAAUorD,GAAWzB,GAAgBsD,CAAW,KAAKpB,MAAW,UAAU,OAAO7rD,CAAK,IAAI,OAAO,CAAC,GAAGmC,IAAiBgqD,EAAiBc,CAAW,CAAC,CAAC;AAAA,QACvgB,SAAS,WAAmB;AAC1B,UAAKhtD,KACH2rD,EAASqB,CAAW;AAAA,QAEvB;AAAA,QACD,cAAc,WAAwB;AACpC,UAAI,CAAChtD,KAAYwsD,KACfA,EAAiBQ,CAAW;AAAA,QAE/B;AAAA,QACD,cAAc,WAAwB;AACpC,UAAI,CAAChtD,KAAYysD,KACfA,EAAiBO,CAAW;AAAA,QAE/B;AAAA,MACT,GAASZ,IAAcA,EAAYY,CAAW,IAAiB,gBAAA94D,EAAM,cAAc,OAAO;AAAA,QAClF,WAAW,GAAG,OAAOy4D,GAAe,QAAQ;AAAA,MAC7C,GAAER,EAAYa,CAAW,CAAC,CAAC,CAAC;AAAA,IACnC,GAEar3C,IAAI,GAAGA,IAAIm2C,GAAQn2C,KAAK;AAC/B,MAAAo3C,EAAMp3C,CAAC;AAGT,IAAAi3C,EAAK,KAAmB,gBAAA14D,EAAM,cAAc,MAAM;AAAA,MAChD,KAAKiK;AAAA,MACL,WAAW6tD,KAAgBA,EAAac,CAAY;AAAA,IAC1D,GAAOD,CAAG,CAAC;AAAA,EACR;AAED,SAAoB,gBAAA34D,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAW,GAAG,OAAOw4C,GAAW,OAAO;AAAA,EAC3C,GAAkB,gBAAAx4C,EAAM,cAAc,SAAS;AAAA,IAC3C,WAAW,GAAG,OAAOw4C,GAAW,UAAU;AAAA,EAC9C,GAAK6f,KAA4B,gBAAAr4D,EAAM,cAAc,SAAS,MAAmB,gBAAAA,EAAM,cAAc,MAAM,MAAMq4D,CAAW,CAAC,GAAgB,gBAAAr4D,EAAM,cAAc,SAAS,MAAM04D,CAAI,CAAC,CAAC;AACtL;AC7FO,IAAIM,KAAmB,GAC1BC,KAAmB;AAEvB,SAASC,GAAWl1D,GAAO;AACzB,MAAIm1D,IAAuBC,KAAmB,GAC1C5gB,IAAYx0C,EAAM,WAClByxD,IAAWzxD,EAAM,UACjBwxD,IAAiBxxD,EAAM,gBACvBy0D,IAAgB,GAAG,OAAOjgB,GAAW,OAAO,GAC5Csd,IAAaN,EAAe,QAAQC,CAAQ,GAC5C4D,IAAmB,KAAK,MAAMvD,IAAasD,EAAgB,IAAIA,IAC/DE,IAAkB,KAAK,MAAMxD,IAAaE,EAAqB,IAAIA,IACnEuD,IAAgBD,IAAkBtD,KAAwB,GAC1DwD,IAAiBhE,EAAe,QAAQC,GAAU6D,IAAkB,KAAK,MAAMN,KAAmBC,KAAmBG,KAAmBpD,MAAyB,CAAC,CAAC,GAEnKgC,IAAmB,SAA0BtkC,GAAM;AACrD,QAAItb,GAEAqhD,IAAoBjE,EAAe,QAAQ9hC,CAAI,GAC/CgmC,IAAkBD,IAAoBN;AAC1C,WAAO/gD,IAAO,CAAA,GAAI1K,EAAgB0K,GAAM,GAAG,OAAOqgD,GAAe,UAAU,GAAGa,KAAmBG,KAAqBC,KAAmBH,CAAa,GAAG7rD,EAAgB0K,GAAM,GAAG,OAAOqgD,GAAe,WAAW,GAAGgB,MAAsBJ,CAAgB,GAAGjhD;AAAA,EACnQ;AAEE,SAAoB,gBAAApY,EAAM,cAAcu3D,IAAWh6C,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IACrE,QAAQi1D;AAAA,IACR,QAAQD;AAAA,IACR,UAAUQ;AAAA,IACV,aAAa,SAAqB9lC,GAAM;AACtC,UAAI+lC,IAAoBjE,EAAe,QAAQ9hC,CAAI;AACnD,aAAO,GAAG,OAAO+lC,GAAmB,GAAG,EAAE,OAAOA,IAAoBN,CAAoB;AAAA,IACzF;AAAA,IACD,kBAAkBnB;AAAA,IAClB,aAAa,SAAqBtkC,GAAM9S,GAAQ;AAC9C,aAAO40C,EAAe,QAAQ9hC,GAAM9S,IAASw4C,EAAgB;AAAA,IAC9D;AAAA,EACF,CAAA,CAAC;AACJ;ACzCA,IAAIlc,KAAM,SAAav7B,GAAU;AAC/B,SAAO,CAAC,WAAWA,GAAU,EAAE;AACjC,GAEIw7B,KAAM,SAAavqB,GAAK;AAC1B,SAAO,aAAaA,CAAG;AACzB;AAEI,OAAO,SAAW,OAAe,2BAA2B,WAC9DsqB,KAAM,SAAav7B,GAAU;AAC3B,SAAO,OAAO,sBAAsBA,CAAQ;AAChD,GAEEw7B,KAAM,SAAa7vB,GAAQ;AACzB,SAAO,OAAO,qBAAqBA,CAAM;AAC7C;AAGA,IAAI8vB,KAAU,GACVC,KAAS,oBAAI;AAEjB,SAASC,GAAQC,GAAI;AACnB,EAAAF,GAAO,OAAOE,CAAE;AAClB;AAEe,SAASC,GAAW77B,GAAU;AAC3C,MAAIpJ,IAAQ,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAChF,EAAA6kC,MAAW;AACX,MAAIG,IAAKH;AAET,WAASK,EAAQC,GAAW;AAC1B,QAAIA,MAAc;AAEhB,MAAAJ,GAAQC,CAAE,GAEV57B;SACK;AAEL,UAAIg8B,IAAST,GAAI,WAAY;AAC3B,QAAAO,EAAQC,IAAY,CAAC;AAAA,MAC7B,CAAO;AAED,MAAAL,GAAO,IAAIE,GAAII,CAAM;AAAA,IACtB;AAAA,EACF;AAED,SAAAF,EAAQllC,CAAK,GACNglC;AACT;AAEAC,GAAW,SAAS,SAAUD,GAAI;AAChC,MAAII,IAASN,GAAO,IAAIE,CAAE;AAC1B,SAAAD,GAAQK,CAAM,GACPR,GAAIQ,CAAM;AACnB;ACtDA,MAAegc,KAAC,SAAUxzD,GAAS;AACjC,MAAI,CAACA;AACH,WAAO;AAGT,MAAIA,EAAQ;AACV,WAAO;AAGT,MAAIA,EAAQ,SAAS;AACnB,QAAIyzD,IAAMzzD,EAAQ;AAElB,QAAIyzD,EAAI,SAASA,EAAI;AACnB,aAAO;AAAA,EAEV;AAED,MAAIzzD,EAAQ,uBAAuB;AACjC,QAAI0zD,IAAO1zD,EAAQ;AAEnB,QAAI0zD,EAAK,SAASA,EAAK;AACrB,aAAO;AAAA,EAEV;AAED,SAAO;AACT;ACtBA,IAAIC,KAAY,oBAAI;AAGb,SAASC,GAAiB5zD,GAASwb,GAAU;AAClD,MAAI47B;AAEJ,WAASyc,IAAiB;AACxB,IAAIhS,GAAU7hD,CAAO,IACnBwb,MAEA47B,IAAKL,GAAI,WAAY;AACnB,MAAA8c;IACR,CAAO;AAAA,EAEJ;AAED,SAAAA,KACO,WAAY;AACjB9c,IAAAA,GAAI,OAAOK,CAAE;AAAA,EACjB;AACA;AAGO,SAAS0c,GAAS9zD,GAASu7B,GAAIw4B,GAAU;AAM9C,MALIJ,GAAU,IAAI3zD,CAAO,KACvB,qBAAqB2zD,GAAU,IAAI3zD,CAAO,CAAC,GAIzC+zD,KAAY,GAAG;AACjB,IAAAJ,GAAU,IAAI3zD,GAAS,sBAAsB,WAAY;AACvD,MAAAA,EAAQ,YAAYu7B;AAAA,IACrB,CAAA,CAAC;AACF;AAAA,EACD;AAED,MAAIy4B,IAAaz4B,IAAKv7B,EAAQ,WAC1Bi0D,IAAUD,IAAaD,IAAW;AACtC,EAAAJ,GAAU,IAAI3zD,GAAS,sBAAsB,WAAY;AACvD,IAAAA,EAAQ,aAAai0D,GAEjBj0D,EAAQ,cAAcu7B,KACxBu4B,GAAS9zD,GAASu7B,GAAIw4B,IAAW,EAAE;AAAA,EAEtC,CAAA,CAAC;AACJ;AAGO,SAASG,GAAqBjiC,GAAOhgB,GAAM;AAChD,MAAIkiD,IAAcliD,EAAK,aACnBmiD,IAAkBniD,EAAK,iBACvBoiD,IAAWpiD,EAAK,UAChBqiD,IAAeriD,EAAK,cACpBsiD,IAAUtiD,EAAK,SACfuiD,IAAQviC,EAAM,OACdwiC,IAAUxiC,EAAM,SAChByiC,IAAUziC,EAAM;AAEpB,UAAQuiC,GAAK;AAAA,IACX,KAAKvG,EAAQ;AACX,UAAIwG,KAAWC;AACb,YAAIN;AACF,iBAAAA,EAAgB,EAAE,GACX;AAAA,iBAEAD;AACT,eAAAA,EAAY,EAAE,GACP;AAKT;AAAA,IAEF,KAAKlG,EAAQ;AACX,UAAIwG,KAAWC;AACb,YAAIN;AACF,iBAAAA,EAAgB,CAAC,GACV;AAAA,iBAEAD;AACT,eAAAA,EAAY,CAAC,GACN;AAKT;AAAA,IAEF,KAAKlG,EAAQ;AACX,UAAIoG;AACF,eAAAA,EAAS,EAAE,GACJ;AAKT;AAAA,IAEF,KAAKpG,EAAQ;AACX,UAAIoG;AACF,eAAAA,EAAS,CAAC,GACH;AAKT;AAAA,IAEF,KAAKpG,EAAQ;AACX,UAAIqG;AACF,eAAAA,EAAa,EAAE,GACR;AAKT;AAAA,IAEF,KAAKrG,EAAQ;AACX,UAAIqG;AACF,eAAAA,EAAa,CAAC,GACP;AAKT;AAAA,IAEF,KAAKrG,EAAQ;AACX,UAAIsG;AACF,eAAAA,KACO;AAKT;AAAA,EACH;AAED,SAAO;AACT;AAEO,SAASI,GAAiBz5D,GAAQq2D,GAAQqD,GAAUC,GAAY;AACrE,MAAIC,IAAe55D;AAEnB,MAAI,CAAC45D;AACH,YAAQvD,GAAM;AAAA,MACZ,KAAK;AACH,QAAAuD,IAAeD,IAAa,eAAe;AAC3C;AAAA,MAEF,KAAK;AACH,QAAAC,IAAe;AACf;AAAA,MAEF,KAAK;AACH,QAAAA,IAAe;AACf;AAAA,MAEF,KAAK;AACH,QAAAA,IAAe;AACf;AAAA,MAEF,KAAK;AACH,QAAAA,IAAe;AACf;AAAA,MAEF;AACE,QAAAA,IAAeF,IAAW,wBAAwB;AAAA,IACrD;AAGH,SAAOE;AACT;AACO,SAASC,GAAaxD,GAAQr2D,GAAQm0D,GAAgB;AAC3D,MAAI2F,IAAczD,MAAW,SAAS,IAAI,IACtCz4C,IAAS,OAAO5d,KAAW,aAAaA,EAAOm0D,EAAe,QAAQ,EAAE,SAASn0D,EAAO;AAC5F,SAAO,KAAK,IAAI85D,GAAal8C,CAAM,IAAI;AACzC;AAEA,IAAIm8C,KAAkB,MAClBC,KAAiB,oBAAI;AAClB,SAASC,GAAwB35C,GAAU;AAChD,SAAI,CAACy5C,MAAmB,OAAO,SAAW,OAAe,OAAO,qBAC9DA,KAAkB,SAAyBv7D,GAAG;AAE5C,IAAAkU,GAAmBsnD,EAAc,EAAE,QAAQ,SAAUE,GAAW;AAC9D,MAAAA,EAAU17D,CAAC;AAAA,IACnB,CAAO;AAAA,EACP,GAEI,OAAO,iBAAiB,aAAau7D,EAAe,IAGtDC,GAAe,IAAI15C,CAAQ,GACpB,WAAY;AACjB,IAAA05C,GAAe,OAAO15C,CAAQ,GAE1B05C,GAAe,SAAS,MAC1B,OAAO,oBAAoB,aAAaD,EAAe,GACvDA,KAAkB;AAAA,EAExB;AACA;AACO,SAASI,GAAmB,GAAG;AACpC,MAAIvtD,IAAS,EAAE;AAEf,MAAI,EAAE,YAAYA,EAAO,YAAY;AACnC,QAAIwtD;AAEJ,aAASA,IAAkB,EAAE,kBAAkB,QAAQA,MAAoB,SAAS,SAASA,EAAgB,KAAK,CAAC,EAAE,OAAOxtD;AAAA,EAC7H;AAED,SAAOA;AACT;AAEA,IAAIytD,KAAkB,SAAyBl8C,GAAM;AACnD,SAAIA,MAAS,WAAWA,MAAS,SACxB,SAGFA;AACT,GAEIm8C,KAAmB,SAA0Bn8C,GAAM;AACrD,SAAIA,MAAS,SACJ,UAGFA;AACT,GAEIo8C,KAAqB,SAA4Bp8C,GAAM;AACzD,SAAIA,MAAS,WAAWA,MAAS,SACxB,YAGFA;AACT,GAEIq8C,KAAkB,SAAyBr8C,GAAM;AACnD,SAAIA,MAAS,SACJ,SAGFA;AACT,GAEWs8C,KAAgB;AAAA,EACzB,MAAMJ;AAAA,EACN,OAAOC;AAAA,EACP,SAASC;AAAA,EACT,MAAMC;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AACR;AACO,SAASE,GAAiBC,GAAU/tD,GAAQ;AACjD,SAAO+tD,EAAS,KAAK,SAAUngD,GAAK;AAClC,WAAOA,KAAOA,EAAI,SAAS5N,CAAM;AAAA,EACrC,CAAG;AACH;ACpQO,IAAImrD,KAAmB,IACnBpD,KAAwBoD,KAAmB;AAEtD,SAAS6C,GAAYj4D,GAAO;AAC1B,MAAIw0C,IAAYx0C,EAAM,WAClBk4D,IAAmBl4D,EAAM,kBACzBwxD,IAAiBxxD,EAAM,gBACvByxD,IAAWzxD,EAAM,UACjBm4D,IAAen4D,EAAM,cACrByzD,IAAWzzD,EAAM,UACjBo4D,IAAgBp4D,EAAM,eACtBq4D,IAAiB,GAAG,OAAO7jB,GAAW,eAAe;AAEzD,EAAA2jB,EAAa,UAAU;AAAA,IACrB,WAAW,SAAmB/jC,GAAO;AACnC,aAAOiiC,GAAqBjiC,GAAO;AAAA,QACjC,aAAa,SAAqBI,GAAM;AACtC,UAAAi/B,EAASjC,EAAe,QAAQC,GAAUj9B,IAAO4gC,EAAgB,GAAG,KAAK;AAAA,QAC1E;AAAA,QACD,iBAAiB,SAAyB5gC,GAAM;AAC9C,UAAAi/B,EAASjC,EAAe,QAAQC,GAAUj9B,IAAOw9B,EAAqB,GAAG,KAAK;AAAA,QAC/E;AAAA,QACD,UAAU,SAAkBx9B,GAAM;AAChC,UAAAi/B,EAASjC,EAAe,QAAQC,GAAUj9B,IAAO4gC,KAAmBJ,EAAgB,GAAG,KAAK;AAAA,QAC7F;AAAA,QACD,SAAS,WAAmB;AAC1B,UAAAoD,EAAc,QAAQ3G,CAAQ;AAAA,QAC/B;AAAA,MACT,CAAO;AAAA,IACF;AAAA,EACL;AAEE,MAAI6G,IAAkB,SAAyB9jC,GAAM;AACnD,QAAIi+B,IAAUjB,EAAe,QAAQC,GAAUj9B,IAAOw9B,EAAqB;AAC3E,IAAAkG,EAAiBzF,CAAO,GACxB2F,EAAc,MAAM3F,CAAO;AAAA,EAC/B,GAEM8F,IAAmB,SAA0B7oC,GAAM;AACrD,IAAA+jC,EAAS/jC,GAAM,OAAO,GACtB0oC,EAAc,QAAQ1oC,CAAI;AAAA,EAC9B;AAEE,SAAoB,gBAAA1zB,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAWq8D;AAAA,EACf,GAAkB,gBAAAr8D,EAAM,cAAcu1D,IAAch4C,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IACpE,WAAWw0C;AAAA,IACX,eAAe,WAAyB;AACtC,MAAA8jB,EAAgB,EAAE;AAAA,IACnB;AAAA,IACD,eAAe,WAAyB;AACtC,MAAAA,EAAgB,CAAC;AAAA,IAClB;AAAA,EACL,CAAG,CAAC,GAAgB,gBAAAt8D,EAAM,cAAck5D,IAAY37C,GAAS,CAAE,GAAEvZ,GAAO;AAAA,IACpE,WAAWw0C;AAAA,IACX,UAAU+jB;AAAA,EACX,CAAA,CAAC,CAAC;AACL;AC7DO,IAAIC,KAAiB;AACrB,SAASC,GAAYC,GAAQC,GAAQ;AAC1C,MAAI,CAACD,KAAU,CAACC;AACd,WAAO;AAGT,MAAI,CAACD,KAAU,CAACC;AACd,WAAO;AAIX;AACO,SAASC,GAAapH,GAAgBqH,GAASC,GAAS;AAC7D,MAAIC,IAAQN,GAAYI,GAASC,CAAO;AAExC,MAAI,OAAOC,KAAU;AACnB,WAAOA;AAGT,MAAIC,IAAO,KAAK,MAAMxH,EAAe,QAAQqH,CAAO,IAAI,EAAE,GACtDI,IAAO,KAAK,MAAMzH,EAAe,QAAQsH,CAAO,IAAI,EAAE;AAC1D,SAAOE,MAASC;AAClB;AACO,SAASC,GAAW1H,GAAgB2H,GAAOC,GAAO;AACvD,MAAIL,IAAQN,GAAYU,GAAOC,CAAK;AAEpC,SAAI,OAAOL,KAAU,YACZA,IAGFvH,EAAe,QAAQ2H,CAAK,MAAM3H,EAAe,QAAQ4H,CAAK;AACvE;AACO,SAASC,GAAW7H,GAAgB9hC,GAAM;AAC/C,MAAI4pC,IAAQ,KAAK,MAAM9H,EAAe,SAAS9hC,CAAI,IAAI,CAAC;AACxD,SAAO4pC,IAAQ;AACjB;AACO,SAASC,GAAc/H,GAAgBgI,GAAUC,GAAU;AAChE,MAAIV,IAAQN,GAAYe,GAAUC,CAAQ;AAE1C,SAAI,OAAOV,KAAU,YACZA,IAGFG,GAAW1H,GAAgBgI,GAAUC,CAAQ,KAAKJ,GAAW7H,GAAgBgI,CAAQ,MAAMH,GAAW7H,GAAgBiI,CAAQ;AACvI;AACO,SAASC,GAAYlI,GAAgBmI,GAAQC,GAAQ;AAC1D,MAAIb,IAAQN,GAAYkB,GAAQC,CAAM;AAEtC,SAAI,OAAOb,KAAU,YACZA,IAGFG,GAAW1H,GAAgBmI,GAAQC,CAAM,KAAKpI,EAAe,SAASmI,CAAM,MAAMnI,EAAe,SAASoI,CAAM;AACzH;AACO,SAASC,GAAWrI,GAAgBsI,GAAOC,GAAO;AACvD,MAAIhB,IAAQN,GAAYqB,GAAOC,CAAK;AAEpC,SAAI,OAAOhB,KAAU,YACZA,IAGFvH,EAAe,QAAQsI,CAAK,MAAMtI,EAAe,QAAQuI,CAAK,KAAKvI,EAAe,SAASsI,CAAK,MAAMtI,EAAe,SAASuI,CAAK,KAAKvI,EAAe,QAAQsI,CAAK,MAAMtI,EAAe,QAAQuI,CAAK;AAC/M;AACO,SAASC,GAAWxI,GAAgByI,GAAOC,GAAO;AACvD,MAAInB,IAAQN,GAAYwB,GAAOC,CAAK;AAEpC,SAAI,OAAOnB,KAAU,YACZA,IAGFvH,EAAe,QAAQyI,CAAK,MAAMzI,EAAe,QAAQ0I,CAAK,KAAK1I,EAAe,UAAUyI,CAAK,MAAMzI,EAAe,UAAU0I,CAAK,KAAK1I,EAAe,UAAUyI,CAAK,MAAMzI,EAAe,UAAU0I,CAAK;AACrN;AACO,SAASC,GAAW3I,GAAgBrrB,GAAQ2zB,GAAOC,GAAO;AAC/D,MAAIhB,IAAQN,GAAYqB,GAAOC,CAAK;AAEpC,SAAI,OAAOhB,KAAU,YACZA,IAGFvH,EAAe,OAAO,QAAQrrB,GAAQ2zB,CAAK,MAAMtI,EAAe,OAAO,QAAQrrB,GAAQ4zB,CAAK;AACrG;AACO,SAASK,GAAQ5I,GAAgBkH,GAAQC,GAAQ;AACtD,SAAOkB,GAAWrI,GAAgBkH,GAAQC,CAAM,KAAKqB,GAAWxI,GAAgBkH,GAAQC,CAAM;AAChG;AAGO,SAAS0B,GAAU7I,GAAgB8I,GAAWlH,GAASjhC,GAAS;AACrE,SAAI,CAACmoC,KAAa,CAAClH,KAAW,CAACjhC,IACtB,KAGF,CAAC0nC,GAAWrI,GAAgB8I,GAAWnoC,CAAO,KAAK,CAAC0nC,GAAWrI,GAAgB4B,GAASjhC,CAAO,KAAKq/B,EAAe,QAAQr/B,GAASmoC,CAAS,KAAK9I,EAAe,QAAQ4B,GAASjhC,CAAO;AAClM;AACO,SAASooC,GAAiBp0B,GAAQqrB,GAAgBtuD,GAAO;AAC9D,MAAIs3D,IAAehJ,EAAe,OAAO,gBAAgBrrB,CAAM,GAC3Ds0B,IAAiBjJ,EAAe,QAAQtuD,GAAO,CAAC,GAChDw3D,IAAmBlJ,EAAe,WAAWiJ,CAAc,GAC3DE,IAAiBnJ,EAAe,QAAQiJ,GAAgBD,IAAeE,CAAgB;AAE3F,SAAIlJ,EAAe,SAASmJ,CAAc,MAAMnJ,EAAe,SAAStuD,CAAK,KAAKsuD,EAAe,QAAQmJ,CAAc,IAAI,MACzHA,IAAiBnJ,EAAe,QAAQmJ,GAAgB,EAAE,IAGrDA;AACT;AACO,SAASC,GAAmBnJ,GAAUiC,GAAQlC,GAAgB;AACnE,MAAI50C,IAAS,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAEjF,UAAQ82C,GAAM;AAAA,IACZ,KAAK;AACH,aAAOlC,EAAe,QAAQC,GAAU70C,IAAS,EAAE;AAAA,IAErD,KAAK;AAAA,IACL,KAAK;AACH,aAAO40C,EAAe,QAAQC,GAAU70C,CAAM;AAAA,IAEhD;AACE,aAAO40C,EAAe,SAASC,GAAU70C,CAAM;AAAA,EAClD;AACH;AACO,SAASwE,GAAYle,GAAOkR,GAAM;AACvC,MAAIo9C,IAAiBp9C,EAAK,gBACtB+xB,IAAS/xB,EAAK,QACd/W,IAAS+W,EAAK;AAClB,SAAO,OAAO/W,KAAW,aAAaA,EAAO6F,CAAK,IAAIsuD,EAAe,OAAO,OAAOrrB,EAAO,QAAQjjC,GAAO7F,CAAM;AACjH;AACO,SAASw9D,GAAW33D,GAAOmR,GAAO;AACvC,MAAIm9C,IAAiBn9C,EAAM,gBACvB8xB,IAAS9xB,EAAM,QACfymD,IAAazmD,EAAM;AAEvB,SAAI,CAACnR,KAAS,OAAO43D,EAAW,MAAO,aAC9B,OAGFtJ,EAAe,OAAO,MAAMrrB,EAAO,QAAQjjC,GAAO43D,CAAU;AACrE;AAEO,SAAS/F,GAAoBpgD,GAAO;AACzC,MAAIomD,IAAWpmD,EAAM,UACjB6/C,IAAO7/C,EAAM,MACb6+C,IAAe7+C,EAAM,cACrB68C,IAAiB78C,EAAM;AAC3B,MAAI,CAAC6+C;AAAc,WAAO;AAE1B,MAAIwH,IAAuB,SAA8BC,GAAaC,GAAOxgD,GAAK;AAGhF,aAFIyX,IAAU+oC,GAEP/oC,KAAWzX,KAAK;AACrB,UAAIygD,IAAQ;AAEZ,cAAQF,GAAW;AAAA,QACjB,KAAK,QACH;AAGE,cAFAE,IAAQ3J,EAAe,QAAQuJ,GAAU5oC,CAAO,GAE5C,CAACqhC,EAAa2H,CAAK;AACrB,mBAAO;AAGT;AAAA,QACD;AAAA,QAEH,KAAK,SACH;AAGE,cAFAA,IAAQ3J,EAAe,SAASuJ,GAAU5oC,CAAO,GAE7C,CAAC4iC,GAAoB;AAAA,YACvB,UAAUoG;AAAA,YACV,MAAM;AAAA,YACN,gBAAgB3J;AAAA,YAChB,cAAcgC;AAAA,UAC5B,CAAa;AACC,mBAAO;AAGT;AAAA,QACD;AAAA,QAEH,KAAK,QACH;AAGE,cAFA2H,IAAQ3J,EAAe,QAAQuJ,GAAU5oC,CAAO,GAE5C,CAAC4iC,GAAoB;AAAA,YACvB,UAAUoG;AAAA,YACV,MAAM;AAAA,YACN,gBAAgB3J;AAAA,YAChB,cAAcgC;AAAA,UAC5B,CAAa;AACC,mBAAO;AAGT;AAAA,QACD;AAAA,MACJ;AAED,MAAArhC,KAAW;AAAA,IACZ;AAED,WAAO;AAAA,EACX;AAEE,UAAQqiC,GAAI;AAAA,IACV,KAAK;AAAA,IACL,KAAK;AAED,aAAOhB,EAAauH,CAAQ;AAAA,IAGhC,KAAK,SACH;AACE,UAAIT,IAAY,GACZlH,IAAU5B,EAAe,QAAQA,EAAe,WAAWuJ,CAAQ,CAAC;AACxE,aAAOC,EAAqB,QAAQV,GAAWlH,CAAO;AAAA,IACvD;AAAA,IAEH,KAAK,WACH;AACE,UAAIgI,IAAa,KAAK,MAAM5J,EAAe,SAASuJ,CAAQ,IAAI,CAAC,IAAI,GACjEM,IAAWD,IAAa;AAC5B,aAAOJ,EAAqB,SAASI,GAAYC,CAAQ;AAAA,IAC1D;AAAA,IAEH,KAAK;AAED,aAAOL,EAAqB,SAAS,GAAG,EAAE;AAAA,IAG9C,KAAK,UACH;AACE,UAAI9H,IAAO1B,EAAe,QAAQuJ,CAAQ,GACtChJ,IAAY,KAAK,MAAMmB,IAAOkC,EAAgB,IAAIA,IAClDnD,IAAUF,IAAYqD,KAAmB;AAC7C,aAAO4F,EAAqB,QAAQjJ,GAAWE,CAAO;AAAA,IACvD;AAAA,EACJ;AACH;ACxOA,SAASqJ,GAAWt7D,GAAO;AACzB,MAAI+T,IAAoB/X,EAAM,WAAWs0D,EAAY,GACjDsB,IAAa79C,EAAkB;AAEnC,MAAI69C;AACF,WAAO;AAGT,MAAIpd,IAAYx0C,EAAM,WAClBwxD,IAAiBxxD,EAAM,gBACvBmmC,IAASnmC,EAAM,QACfkD,IAAQlD,EAAM,OACd3C,IAAS2C,EAAM,QACf6xD,IAAkB,GAAG,OAAOrd,GAAW,SAAS;AACpD,SAAoB,gBAAAx4C,EAAM,cAAcw0D,IAAQ;AAAA,IAC9C,WAAWqB;AAAA,EACf,GAAK3uD,IAAQke,GAAYle,GAAO;AAAA,IAC5B,QAAQijC;AAAA,IACR,QAAQ9oC;AAAA,IACR,gBAAgBm0D;AAAA,EACpB,CAAG,IAAI,GAAM;AACb;ACzBe,SAASnsB,GAAQ7Y,GAAU+uC,GAAWtjC,GAAc;AACjE,MAAIujC,IAAWx/D,EAAM,OAAO,CAAE,CAAA;AAE9B,UAAI,EAAE,WAAWw/D,EAAS,YAAYvjC,EAAaujC,EAAS,QAAQ,WAAWD,CAAS,OACtFC,EAAS,QAAQ,QAAQhvC,KACzBgvC,EAAS,QAAQ,YAAYD,IAGxBC,EAAS,QAAQ;AAC1B;ACHA,SAASC,GAAez7D,GAAO;AAC7B,MAAIw0C,IAAYx0C,EAAM,WAClB07D,IAAQ17D,EAAM,OACdyzD,IAAWzzD,EAAM,UACjBkD,IAAQlD,EAAM,OACdy+C,IAASz+C,EAAM,QACf27D,IAAsB37D,EAAM,qBAC5By0D,IAAgB,GAAG,OAAOjgB,GAAW,OAAO,GAE5CzgC,IAAoB/X,EAAM,WAAWs0D,EAAY,GACjDsL,IAAO7nD,EAAkB,MAEzB8nD,IAAQt2B,GAAO,IAAI,GACnBu2B,IAASv2B,GAAO,oBAAI,IAAK,CAAA,GACzBw2B,IAAYx2B;AAEhB4U,SAAAA,GAAgB,WAAY;AAC1B,QAAI6hB,IAAKF,EAAO,QAAQ,IAAI54D,CAAK;AAEjC,IAAI84D,KAAMJ,MAAS,MACjB3F,GAAS4F,EAAM,SAASG,EAAG,WAAW,GAAG;AAAA,EAE/C,GAAK,CAAC94D,CAAK,CAAC,GACVi3C,GAAgB,WAAY;AAC1B,QAAIyhB,GAAM;AACR,UAAII,IAAKF,EAAO,QAAQ,IAAI54D,CAAK;AAEjC,MAAI84D,MACFD,EAAU,UAAUhG,GAAiBiG,GAAI,WAAY;AACnD,QAAA/F,GAAS4F,EAAM,SAASG,EAAG,WAAW,CAAC;AAAA,MACjD,CAAS;AAAA,IAEJ;AAED,WAAO,WAAY;AACjB,UAAIC;AAEJ,OAACA,IAAqBF,EAAU,aAAa,QAAQE,MAAuB,UAAkBA,EAAmB,KAAKF,CAAS;AAAA,IACrI;AAAA,EACA,GAAK,CAACH,CAAI,CAAC,GACW,gBAAA5/D,EAAM,cAAc,MAAM;AAAA,IAC5C,WAAWqN,GAAW,GAAG,OAAOmrC,GAAW,SAAS,GAAG9qC,EAAgB,CAAA,GAAI,GAAG,OAAO8qC,GAAW,gBAAgB,GAAGiK,CAAM,CAAC;AAAA,IAC1H,KAAKod;AAAA,IACL,OAAO;AAAA,MACL,UAAU;AAAA,IACX;AAAA,EACL,GAAKH,EAAM,IAAI,SAAUj9B,GAAM;AAC3B,QAAIy9B;AAEJ,WAAIP,KAAuBl9B,EAAK,WACvB,OAGW,gBAAAziC,EAAM,cAAc,MAAM;AAAA,MAC5C,KAAKyiC,EAAK;AAAA,MACV,KAAK,SAAat8B,GAAS;AACzB,QAAA25D,EAAO,QAAQ,IAAIr9B,EAAK,OAAOt8B,CAAO;AAAA,MACvC;AAAA,MACD,WAAWkH,GAAWorD,IAAgByH,IAAe,CAAA,GAAIxyD,EAAgBwyD,GAAc,GAAG,OAAOzH,GAAe,WAAW,GAAGh2B,EAAK,QAAQ,GAAG/0B,EAAgBwyD,GAAc,GAAG,OAAOzH,GAAe,WAAW,GAAGvxD,MAAUu7B,EAAK,KAAK,GAAGy9B,EAAc;AAAA,MACxP,SAAS,WAAmB;AAC1B,QAAIz9B,EAAK,YAITg1B,EAASh1B,EAAK,KAAK;AAAA,MACpB;AAAA,IACP,GAAoB,gBAAAziC,EAAM,cAAc,OAAO;AAAA,MACzC,WAAW,GAAG,OAAOy4D,GAAe,QAAQ;AAAA,IAClD,GAAOh2B,EAAK,KAAK,CAAC;AAAA,EACf,CAAA,CAAC;AACJ;AC7EO,SAAS09B,GAAQ9rD,GAAK4K,GAAQ;AAInC,WAHImhD,IAAO,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,KAC3EjqC,IAAU,OAAO9hB,CAAG,GAEjB8hB,EAAQ,SAASlX;AACtB,IAAAkX,IAAU,GAAG,OAAOiqC,CAAI,EAAE,OAAO/rD,CAAG;AAGtC,SAAO8hB;AACT;AACO,IAAIkqC,KAAQ,WAAiB;AAClC,WAASjuD,IAAO,UAAU,QAAQ7Q,IAAO,IAAI,MAAM6Q,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,IAAA/Q,EAAK+Q,KAAQ,UAAUA;AAGzB,SAAO/Q;AACT;AACO,SAASyoB,GAAQ2I,GAAK;AAC3B,SAAIA,KAAQ,OACH,KAGF,MAAM,QAAQA,CAAG,IAAIA,IAAM,CAACA,CAAG;AACxC;AACe,SAAS2tC,GAAmBt8D,GAAO;AAChD,MAAIu8D,IAAW,CAAA;AACf,gBAAO,KAAKv8D,CAAK,EAAE,QAAQ,SAAUuE,GAAK;AACxC,KAAKA,EAAI,OAAO,GAAG,CAAC,MAAM,WAAWA,EAAI,OAAO,GAAG,CAAC,MAAM,WAAWA,MAAQ,UAAUA,MAAQ,WAAWA,EAAI,OAAO,GAAG,CAAC,MAAM,cAC7Hg4D,EAASh4D,KAAOvE,EAAMuE;AAAA,EAE5B,CAAG,GACMg4D;AACT;AACO,SAAS/vC,GAASjqB,GAAQgY,GAAO;AACtC,SAAOhY,IAASA,EAAOgY,KAAS;AAClC;AACO,SAASiiD,GAAaj6D,GAAQW,GAAOqX,GAAO;AACjD,MAAIkiD,IAAY,CAACjwC,GAASjqB,GAAQ,CAAC,GAAGiqB,GAASjqB,GAAQ,CAAC,CAAC;AAGzD,SAFAk6D,EAAUliD,KAAS,OAAOrX,KAAU,aAAaA,EAAMu5D,EAAUliD,EAAM,IAAIrX,GAEvE,CAACu5D,EAAU,MAAM,CAACA,EAAU,KACvB,OAGFA;AACT;ACrCA,SAASC,GAAkBC,GAAWC,GAAW;AAC/C,MAAID,EAAU,WAAWC,EAAU;AAAQ,WAAO;AAElD,WAAS32D,IAAI,GAAGA,IAAI02D,EAAU,QAAQ12D,KAAK;AACzC,QAAI02D,EAAU12D,GAAG,aAAa22D,EAAU32D,GAAG;AAAU,aAAO;AAG9D,SAAO;AACT;AAEA,SAAS42D,GAAc3B,GAAOxgD,GAAKrU,GAAMy2D,GAAe;AAGtD,WAFIpB,IAAQ,CAAA,GAEH,IAAIR,GAAO,KAAKxgD,GAAK,KAAKrU;AACjC,IAAAq1D,EAAM,KAAK;AAAA,MACT,OAAOS,GAAQ,GAAG,CAAC;AAAA,MACnB,OAAO;AAAA,MACP,WAAWW,KAAiB,IAAI,SAAS,CAAC;AAAA,IAChD,CAAK;AAGH,SAAOpB;AACT;AAEA,SAASqB,GAAS/8D,GAAO;AACvB,MAAIwxD,IAAiBxxD,EAAM,gBACvBw0C,IAAYx0C,EAAM,WAClBm4D,IAAen4D,EAAM,cACrBg9D,IAAoBh9D,EAAM,mBAC1BkD,IAAQlD,EAAM,OACdi9D,IAAWj9D,EAAM,UACjBk9D,IAAal9D,EAAM,YACnBm9D,IAAan9D,EAAM,YACnBg3D,IAAah3D,EAAM,YACnBo9D,IAAkBp9D,EAAM,UACxB2yD,IAAWyK,MAAoB,SAAS,IAAIA,GAC5CC,IAAoBr9D,EAAM,YAC1B4yD,IAAayK,MAAsB,SAAS,IAAIA,GAChDC,IAAoBt9D,EAAM,YAC1B6yD,IAAayK,MAAsB,SAAS,IAAIA,GAChDC,IAAgBv9D,EAAM,eACtBw9D,IAAkBx9D,EAAM,iBACxBy9D,IAAkBz9D,EAAM,iBACxB09D,IAAe19D,EAAM,cACrB27D,IAAsB37D,EAAM,qBAC5ByzD,IAAWzzD,EAAM,UAEjB29D,IAAU,CAAA,GACVC,IAAmB,GAAG,OAAOppB,GAAW,UAAU,GAClDqpB,IAAkB,GAAG,OAAOrpB,GAAW,aAAa,GACpDspB,GACAC,IAAa76D,IAAQsuD,EAAe,QAAQtuD,CAAK,IAAI,IACrDivD,IAAO4L,GACP3L,IAASlvD,IAAQsuD,EAAe,UAAUtuD,CAAK,IAAI,IACnDmvD,IAASnvD,IAAQsuD,EAAe,UAAUtuD,CAAK,IAAI,IAEnD86D,IAAMxM,EAAe,UAErByM,IAAiBjiE,EAAM,QAAQ,WAAY;AAC7C,QAAI0hE,GAAc;AAChB,UAAIQ,IAAiBR,EAAaM,CAAG;AACrC,aAAO,CAACE,EAAe,eAAeA,EAAe,iBAAiBA,EAAe,eAAe;AAAA,IACrG;AAED,WAAO,CAACX,GAAeC,GAAiBC,CAAe;AAAA,EAC3D,GAAK,CAACF,GAAeC,GAAiBC,GAAiBC,GAAcM,CAAG,CAAC,GACnEG,IAAkBlrD,EAAegrD,GAAgB,CAAC,GAClDG,IAAsBD,EAAgB,IACtCE,IAAwBF,EAAgB,IACxCG,IAAwBH,EAAgB,IAGxCjM,IAAU,SAAiBqM,GAASC,IAASC,IAAWC,GAAW;AACrE,QAAIjM,IAAUvvD,KAASsuD,EAAe,OAAM,GACxCmN,KAAa,KAAK,IAAI,GAAGH,EAAO,GAChCI,KAAe,KAAK,IAAI,GAAGH,EAAS,GACpCI,KAAe,KAAK,IAAI,GAAGH,CAAS;AACxC,WAAAjM,IAAUqM,GAAYtN,GAAgBiB,GAAS,CAACuE,KAAc,CAACuH,IAAUI,KAAaA,KAAa,IAAIC,IAAcC,EAAY,GAC1HpM;AAAA,EACX,GAGMsM,IAAWlC,GAAc,GAAG,IAAIlK,GAAUyL,KAAuBA,EAAmB,CAAE,GACtFY,IAAoB35B,GAAQ,WAAY;AAC1C,WAAO05B;AAAA,EACX,GAAKA,GAAUrC,EAAiB;AAE9B,EAAI1F,MACF8G,IAAO3L,KAAQ,IAEfA,KAAQ;AAGV,MAAI8M,IAAkBjjE,EAAM,QAAQ,WAAY;AAC9C,QAAI,CAACg7D;AACH,aAAO,CAAC,IAAO,EAAK;AAGtB,QAAIkI,IAAe,CAAC,IAAM,EAAI;AAC9B,WAAAF,EAAkB,QAAQ,SAAU5qD,GAAM;AACxC,UAAItM,KAAWsM,EAAK,UAChB+qD,KAAY/qD,EAAK;AACrB,MAAItM,OAEAq3D,MAAa,KACfD,EAAa,KAAK,KAElBA,EAAa,KAAK;AAAA,IAE1B,CAAK,GACMA;AAAA,EACX,GAAK,CAAClI,GAAYgI,CAAiB,CAAC,GAC9BI,KAAkBnsD,EAAegsD,GAAiB,CAAC,GACnDI,KAAaD,GAAgB,IAC7BE,KAAaF,GAAgB,IAE7BG,KAAQvjE,EAAM,QAAQ,WAAY;AACpC,WAAKg7D,IACEgI,EAAkB,OAAOlB,IAAO,SAAU0B,GAAU;AACzD,aAAOA,EAAS,SAAS;AAAA,IAC1B,IAAG,SAAUA,GAAU;AACtB,aAAOA,EAAS,QAAQ;AAAA,IAC9B,CAAK,EAAE,IAAI,SAAUA,GAAU;AACzB,UAAIL,IAAYK,EAAS,QAAQ,IAC7BC,KAAYN,MAAc,IAAI,OAAOhD,GAAQgD,GAAW,CAAC;AAC7D,aAAO70D,EAAcA,EAAc,CAAE,GAAEk1D,CAAQ,GAAG,CAAA,GAAI;AAAA,QACpD,OAAOC;AAAA,QACP,OAAON;AAAA,MACf,CAAO;AAAA,IACP,CAAK,IAZuBH;AAAA,EAazB,GAAE,CAAChI,GAAY8G,GAAMkB,CAAiB,CAAC,GACpCU,KAAU7C,GAAc,GAAG,IAAIjK,GAAYyL,KAAyBA,EAAsBN,CAAU,CAAC,GACrG4B,KAAU9C,GAAc,GAAG,IAAIhK,GAAYyL,KAAyBA,EAAsBP,GAAY3L,CAAM,CAAC;AAEjH,EAAA+F,EAAa,UAAU;AAAA,IACrB,UAAU,SAAkB3jC,GAAM;AAChC,UAAIxZ,KAAS2iD,EAAQX;AAErB,UAAIhiD;AAMF,iBALIyiB,KAAaziB,GAAO,MAAM,UAAU,SAAUyjB,IAAM;AACtD,iBAAOA,GAAK,UAAUzjB,GAAO;AAAA,QACvC,CAAS,GACG4kD,IAAU5kD,GAAO,MAAM,QAElB/U,IAAI,GAAGA,IAAI25D,GAAS35D,KAAK,GAAG;AACnC,cAAI45D,KAAW7kD,GAAO,OAAOyiB,KAAajJ,IAAOvuB,IAAI25D,KAAWA;AAEhE,cAAIC,GAAS,aAAa,IAAM;AAC9B,YAAA7kD,GAAO,SAAS6kD,GAAS,KAAK;AAC9B;AAAA,UACD;AAAA,QACF;AAAA,IAEJ;AAAA,EACL;AAEE,WAASC,GAAcvE,GAAWv1D,GAAM+5D,IAAarE,IAAOsE,GAAgB;AAC1E,IAAIzE,MAAc,MAChBoC,EAAQ,KAAK;AAAA,MACX,MAAmB,gBAAA3hE,EAAM,aAAagK,GAAM;AAAA,QAC1C,WAAW63D;AAAA,QACX,OAAOkC;AAAA,QACP,QAAQ/C,MAAsBW,EAAQ;AAAA,QACtC,UAAUqC;AAAA,QACV,OAAOtE;AAAA,QACP,qBAAqBC;AAAA,MAC/B,CAAS;AAAA,MACD,UAAUqE;AAAA,MACV,OAAOD;AAAA,MACP,OAAOrE;AAAA,IACf,CAAO;AAAA,EAEJ;AAGD,EAAAoE,GAAc7C,GAAuB,gBAAAjhE,EAAM,cAAcy/D,IAAgB;AAAA,IACvE,KAAK;AAAA,EACN,CAAA,GAAGtJ,GAAMoN,IAAO,SAAU3wC,GAAK;AAC9B,IAAA6kC,EAASvB,EAAQ4L,GAAMlvC,GAAKwjC,GAAQC,CAAM,GAAG,OAAO;AAAA,EACxD,CAAG,GAEDyN,GAAc5C,GAAyB,gBAAAlhE,EAAM,cAAcy/D,IAAgB;AAAA,IACzE,KAAK;AAAA,EACN,CAAA,GAAGrJ,GAAQsN,IAAS,SAAU9wC,GAAK;AAClC,IAAA6kC,EAASvB,EAAQ4L,GAAM3L,GAAMvjC,GAAKyjC,CAAM,GAAG,OAAO;AAAA,EACtD,CAAG,GAEDyN,GAAc3C,GAAyB,gBAAAnhE,EAAM,cAAcy/D,IAAgB;AAAA,IACzE,KAAK;AAAA,EACN,CAAA,GAAGpJ,GAAQsN,IAAS,SAAU/wC,GAAK;AAClC,IAAA6kC,EAASvB,EAAQ4L,GAAM3L,GAAMC,GAAQxjC,CAAG,GAAG,OAAO;AAAA,EACtD,CAAG;AAED,MAAIqxC,KAAU;AAEd,SAAI,OAAOnC,KAAS,cAClBmC,KAAUnC,IAAO,IAAI,IAGvBgC,GAAc9I,MAAe,IAAmB,gBAAAh7D,EAAM,cAAcy/D,IAAgB;AAAA,IAClF,KAAK;AAAA,EACT,CAAG,GAAGwE,IAAS,CAAC;AAAA,IACZ,OAAO;AAAA,IACP,OAAO;AAAA,IACP,UAAUZ;AAAA,EACd,GAAK;AAAA,IACD,OAAO;AAAA,IACP,OAAO;AAAA,IACP,UAAUC;AAAA,EACd,CAAG,GAAG,SAAU1wC,GAAK;AACjB,IAAA6kC,EAASvB,EAAQ,CAAC,CAACtjC,GAAKujC,GAAMC,GAAQC,CAAM,GAAG,OAAO;AAAA,EAC1D,CAAG,GACmB,gBAAAr2D,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAW4hE;AAAA,EACf,GAAKD,EAAQ,IAAI,SAAUtpD,GAAO;AAC9B,QAAIrO,IAAOqO,EAAM;AACjB,WAAOrO;AAAA,EACR,CAAA,CAAC;AACJ;ACzNA,IAAIk6D,KAAe,SAAsBC,GAAU;AACjD,SAAOA,EAAS,OAAO,SAAUC,GAAM;AACrC,WAAOA,MAAS;AAAA,EACjB,CAAA,EAAE;AACL;AAEA,SAASC,GAAUrgE,GAAO;AACxB,MAAIwxD,IAAiBxxD,EAAM,gBACvBsgE,IAAgBtgE,EAAM,QACtB3C,IAASijE,MAAkB,SAAS,aAAaA,GACjD9rB,IAAYx0C,EAAM,WAClBy+C,IAASz+C,EAAM,QACfm4D,IAAen4D,EAAM,cACrBi9D,IAAWj9D,EAAM,UACjBk9D,IAAal9D,EAAM,YACnBm9D,IAAan9D,EAAM,YACnBugE,IAAoBvgE,EAAM,YAC1Bg3D,IAAauJ,MAAsB,SAAS,KAAQA,GACpD9M,IAAWzzD,EAAM,UACjBkD,IAAQlD,EAAM,OACdq4D,IAAiB,GAAG,OAAO7jB,GAAW,aAAa,GACnDgsB,IAAmBxkE,EAAM,UAEzB6mC,IAAkB7mC,EAAM,SAAS,EAAE,GACnC8mC,IAAmB7vB,EAAe4vB,GAAiB,CAAC,GACpDm6B,IAAoBl6B,EAAiB,IACrC29B,IAAuB39B,EAAiB,IAExC49B,IAAeR,GAAa,CAACjD,GAAUC,GAAYC,GAAYnG,CAAU,CAAC;AAC9E,SAAAmB,EAAa,UAAU;AAAA,IACrB,WAAW,SAAmB/jC,GAAO;AACnC,aAAOiiC,GAAqBjiC,GAAO;AAAA,QACjC,aAAa,SAAqBI,GAAM;AACtC,UAAAisC,GAAsBzD,IAAoBxoC,IAAOksC,KAAgBA,CAAY;AAAA,QAC9E;AAAA,QACD,UAAU,SAAkBlsC,GAAM;AAChC,UAAIwoC,MAAsB,KACxByD,EAAqB,CAAC,IACbD,EAAiB,WAC1BA,EAAiB,QAAQ,SAAShsC,CAAI;AAAA,QAEzC;AAAA,QACD,SAAS,WAAmB;AAC1B,UAAAi/B,EAASvwD,KAASsuD,EAAe,OAAQ,GAAE,KAAK,GAChDiP,EAAqB,EAAE;AAAA,QACxB;AAAA,MACT,CAAO;AAAA,IACF;AAAA,IACD,QAAQ,WAAkB;AACxB,MAAAA,EAAqB,EAAE;AAAA,IACxB;AAAA,EACL,GACsB,gBAAAzkE,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAWqN,GAAWgvD,GAAgB3uD,EAAgB,CAAE,GAAE,GAAG,OAAO2uD,GAAgB,SAAS,GAAG5Z,CAAM,CAAC;AAAA,EAC3G,GAAkB,gBAAAziD,EAAM,cAAcs/D,IAAY/hD,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IAClE,QAAQ3C;AAAA,IACR,WAAWm3C;AAAA,EACf,CAAG,CAAC,GAAgB,gBAAAx4C,EAAM,cAAc+gE,IAAUxjD,GAAS,CAAE,GAAEvZ,GAAO;AAAA,IAClE,WAAWw0C;AAAA,IACX,mBAAmBwoB;AAAA,IACnB,cAAcwD;AAAA,EACf,CAAA,CAAC,CAAC;AACL;ACtEA,IAAIG,KAA4B,gBAAA3kE,EAAM,cAAc,EAAE;ACEvC,SAAS4kE,GAAiBxsD,GAAM;AAC7C,MAAIqgD,IAAgBrgD,EAAK,eACrBo9C,IAAiBp9C,EAAK,gBACtBysD,IAAczsD,EAAK,aACnB0sD,IAAmB1sD,EAAK,kBACxB2sD,IAAW3sD,EAAK,UAChB4sD,IAAa5sD,EAAK,YAClB6sD,IAAa7sD,EAAK,YAClB8sD,IAAQ9sD,EAAK,OACblR,IAAQkR,EAAK;AAEjB,WAAS+sD,EAAarM,GAAa;AACjC,QAAIzgD,GAEA+sD,IAAWH,EAAWnM,GAAa,EAAE,GACrCuM,IAAWJ,EAAWnM,GAAa,CAAC,GACpCwM,IAAa90C,GAASq0C,GAAa,CAAC,GACpCU,IAAW/0C,GAASq0C,GAAa,CAAC,GAClCW,IAAah1C,GAASs0C,GAAkB,CAAC,GACzCW,IAAWj1C,GAASs0C,GAAkB,CAAC,GACvCY,IAAiBrH,GAAU7I,GAAgBgQ,GAAYC,GAAU3M,CAAW;AAEhF,aAAS6M,EAAajyC,GAAM;AAC1B,aAAOsxC,EAAWM,GAAY5xC,CAAI;AAAA,IACnC;AAED,aAASkyC,EAAWlyC,GAAM;AACxB,aAAOsxC,EAAWO,GAAU7xC,CAAI;AAAA,IACjC;AAED,QAAImyC,IAAeb,EAAWQ,GAAY1M,CAAW,GACjDgN,IAAad,EAAWS,GAAU3M,CAAW,GAC7CiN,KAAoBL,KAAkBI,OAAgB,CAACf,EAASK,CAAQ,KAAKQ,EAAWR,CAAQ,IAChGY,KAAkBN,KAAkBG,OAAkB,CAACd,EAASM,CAAQ,KAAKM,EAAaN,CAAQ;AACtG,WAAOhtD,IAAQ,IAAI3K,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,UAAU,GAAGsM,EAASjM,CAAW,CAAC,GAAGprD,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,WAAW,GAAG4F,GAAU7I,GAAgB8P,GAAYC,GAAUzM,CAAW,CAAC,GAAGprD,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,cAAc,GAAGkN,EAAa7M,CAAW,CAAC,GAAGprD,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,YAAY,GAAGmN,EAAW9M,CAAW,CAAC,GAAGprD,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,qBAAqB,GAAGkN,EAAa7M,CAAW,KAAK,CAACyM,CAAQ,GAAG73D,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,mBAAmB,GAAGmN,EAAW9M,CAAW,KAAK,CAACwM,CAAU,GAAG53D,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,yBAAyB,GAAGkN,EAAa7M,CAAW,MAAMkM,EAAWI,GAAUI,CAAU,KAAKnH,GAAU7I,GAAgBgQ,GAAYC,GAAUL,CAAQ,EAAE,GAAG13D,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,uBAAuB,GAAGmN,EAAW9M,CAAW,MAAMkM,EAAWK,GAAUI,CAAQ,KAAKpH,GAAU7I,GAAgBgQ,GAAYC,GAAUJ,CAAQ,EAAE,GAAG33D,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,cAAc,GAAGiN,CAAc,GAAGh4D,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,oBAAoB,GAAGoN,CAAY,GAAGn4D,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,kBAAkB,GAAGqN,CAAU,GAAGp4D,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,yBAAyB,GAAGsN,CAAgB,GAAGr4D,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,uBAAuB,GAAGuN,CAAc,GAAGt4D,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,oCAAoC,GAAGsN,KAAoBf,EAAWI,GAAUG,CAAQ,CAAC,GAAG73D,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,kCAAkC,GAAGuN,KAAkBhB,EAAWK,GAAUC,CAAU,CAAC,GAAG53D,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,QAAQ,GAAGuM,EAAWE,GAAOpM,CAAW,CAAC,GAAGprD,EAAgB2K,GAAO,GAAG,OAAOogD,GAAe,WAAW,GAAGuM,EAAW99D,GAAO4xD,CAAW,CAAC,GAAGzgD;AAAA,EACj5D;AAED,SAAO8sD;AACT;AClCA,SAASc,GAASjiE,GAAO;AACvB,MAAIw0C,IAAYx0C,EAAM,WAClBwxD,IAAiBxxD,EAAM,gBACvB6zD,IAAe7zD,EAAM,cACrBmmC,IAASnmC,EAAM,QACfkiE,IAAWliE,EAAM,UACjByxD,IAAWzxD,EAAM,UACjBkD,IAAQlD,EAAM,OACdmiE,IAAaniE,EAAM,YAEnB+T,IAAoB/X,EAAM,WAAW2kE,EAAY,GACjDE,IAAc9sD,EAAkB,aAChC+sD,IAAmB/sD,EAAkB,kBAErCggD,IAAWwG,GAAiBp0B,EAAO,QAAQqrB,GAAgBC,CAAQ,GACnEgD,IAAgB,GAAG,OAAOjgB,GAAW,OAAO,GAC5CgmB,IAAehJ,EAAe,OAAO,gBAAgBrrB,EAAO,MAAM,GAClE+6B,IAAQ1P,EAAe,UAEvB6C,IAAc,CAAA,GACd+N,IAAiBj8B,EAAO,kBAAkBqrB,EAAe,OAAO,mBAAmBA,EAAe,OAAO,iBAAiBrrB,EAAO,MAAM,IAAI,CAAE;AAEjJ,EAAI0tB,KACFQ,EAAY,KAAmB,gBAAAr4D,EAAM,cAAc,MAAM;AAAA,IACvD,KAAK;AAAA,IACL,cAAc;AAAA,EACf,CAAA,CAAC;AAGJ,WAASiK,IAAI,GAAGA,IAAIuyD,IAAgBvyD,KAAK;AACvC,IAAAouD,EAAY,KAAmB,gBAAAr4D,EAAM,cAAc,MAAM;AAAA,MACvD,KAAKiK;AAAA,IACX,GAAOm8D,GAAgBn8D,IAAIu0D,KAAgBhC,GAAe,CAAC;AAIzD,MAAIxE,IAAmB4M,GAAiB;AAAA,IACtC,eAAenM;AAAA,IACf,OAAOyM;AAAA,IACP,OAAOh+D;AAAA,IACP,gBAAgBsuD;AAAA,IAChB,aAAaqC,IAAe,OAAOgN;AAAA,IACnC,kBAAkBhN,IAAe,OAAOiN;AAAA,IACxC,YAAY,SAAoB3uC,GAASloB,GAAQ;AAC/C,aAAO4vD,GAAWrI,GAAgBr/B,GAASloB,CAAM;AAAA,IAClD;AAAA,IACD,UAAU,SAAkBylB,GAAM;AAChC,aAAOgqC,GAAYlI,GAAgB9hC,GAAM+hC,CAAQ;AAAA,IAClD;AAAA,IACD,YAAY,SAAoB/hC,GAAM9S,GAAQ;AAC5C,aAAO40C,EAAe,QAAQ9hC,GAAM9S,CAAM;AAAA,IAC3C;AAAA,EACL,CAAG,GACGs3C,IAAciO,IAAa,SAAUzyC,GAAM;AAC7C,WAAOyyC,EAAWzyC,GAAMwxC,CAAK;AAAA,EAC9B,IAAG;AACJ,SAAoB,gBAAAllE,EAAM,cAAcu3D,IAAWh6C,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IACrE,QAAQkiE;AAAA,IACR,QAAQ1J;AAAA,IACR,UAAUzE;AAAA,IACV,aAAaG;AAAA,IACb,aAAa1C,EAAe;AAAA,IAC5B,kBAAkBwC;AAAA,IAClB,aAAaxC,EAAe;AAAA,IAC5B,WAAW,SAAmB9hC,GAAM;AAClC,aAAOtO,GAAYsO,GAAM;AAAA,QACvB,QAAQyW;AAAA,QACR,QAAQ;AAAA,QACR,gBAAgBqrB;AAAA,MACxB,CAAO;AAAA,IACF;AAAA,IACD,aAAa6C;AAAA,EACd,CAAA,CAAC;AACJ;AC1EA,SAASgO,GAAWriE,GAAO;AACzB,MAAIw0C,IAAYx0C,EAAM,WAClBwxD,IAAiBxxD,EAAM,gBACvBmmC,IAASnmC,EAAM,QACfyxD,IAAWzxD,EAAM,UACjBsiE,IAActiE,EAAM,aACpBuiE,IAAcviE,EAAM,aACpBwiE,IAAaxiE,EAAM,YACnByiE,IAAaziE,EAAM,YACnB0iE,IAAc1iE,EAAM,aACpB2iE,IAAe3iE,EAAM,cAErB+T,IAAoB/X,EAAM,WAAWs0D,EAAY,GACjDsB,IAAa79C,EAAkB;AAEnC,MAAI69C;AACF,WAAO;AAGT,MAAIC,IAAkB,GAAG,OAAOrd,GAAW,SAAS,GAChDouB,IAAez8B,EAAO,gBAAgBqrB,EAAe,OAAO,iBAAiBA,EAAe,OAAO,eAAerrB,EAAO,MAAM,IAAI,CAAE,IACrIgtB,IAAQ3B,EAAe,SAASC,CAAQ,GAExCoR,IAAwB,gBAAA7mE,EAAM,cAAc,UAAU;AAAA,IACxD,MAAM;AAAA,IACN,KAAK;AAAA,IACL,SAAS0mE;AAAA,IACT,UAAU;AAAA,IACV,WAAW,GAAG,OAAOluB,GAAW,WAAW;AAAA,EAC/C,GAAKpzB,GAAYqwC,GAAU;AAAA,IACvB,QAAQtrB;AAAA,IACR,QAAQA,EAAO;AAAA,IACf,gBAAgBqrB;AAAA,EACjB,CAAA,CAAC,GACEsR,IAAyB,gBAAA9mE,EAAM,cAAc,UAAU;AAAA,IACzD,MAAM;AAAA,IACN,KAAK;AAAA,IACL,SAAS2mE;AAAA,IACT,UAAU;AAAA,IACV,WAAW,GAAG,OAAOnuB,GAAW,YAAY;AAAA,EAC7C,GAAErO,EAAO,cAAc/kB,GAAYqwC,GAAU;AAAA,IAC5C,QAAQtrB;AAAA,IACR,QAAQA,EAAO;AAAA,IACf,gBAAgBqrB;AAAA,EACpB,CAAG,IAAIoR,EAAazP,EAAM,GACpB4P,IAAiB58B,EAAO,kBAAkB,CAAC28B,GAAWD,CAAQ,IAAI,CAACA,GAAUC,CAAS;AAC1F,SAAoB,gBAAA9mE,EAAM,cAAcw0D,IAAQj3C,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IAClE,WAAW6xD;AAAA,IACX,aAAa4Q;AAAA,IACb,QAAQF;AAAA,IACR,QAAQD;AAAA,IACR,aAAaE;AAAA,EACjB,CAAG,GAAGO,CAAc;AACpB;AClDA,IAAIC,KAAiB;AAErB,SAASC,GAAUjjE,GAAO;AACxB,MAAIw0C,IAAYx0C,EAAM,WAClBkjE,IAAmBljE,EAAM,WACzBmjE,IAAYD,MAAqB,SAAS,SAASA,GACnDE,IAAiBpjE,EAAM,gBACvBy+C,IAASz+C,EAAM,QACfm4D,IAAen4D,EAAM,cACrBwxD,IAAiBxxD,EAAM,gBACvBkD,IAAQlD,EAAM,OACdyxD,IAAWzxD,EAAM,UACjBk4D,IAAmBl4D,EAAM,kBACzBo4D,IAAgBp4D,EAAM,eACtBqjE,IAAYrjE,EAAM,UAClBq4D,IAAiB,GAAG,OAAO7jB,GAAW,GAAG,EAAE,OAAO2uB,GAAW,QAAQ;AAEzE,EAAAhL,EAAa,UAAU;AAAA,IACrB,WAAW,SAAmB/jC,GAAO;AACnC,aAAOiiC,GAAqBjiC,GAAO9pB,EAAc;AAAA,QAC/C,aAAa,SAAqBkqB,GAAM;AACtC,UAAA6uC,EAAU7R,EAAe,QAAQtuD,KAASuuD,GAAUj9B,CAAI,GAAG,KAAK;AAAA,QACjE;AAAA,QACD,iBAAiB,SAAyBA,GAAM;AAC9C,UAAA6uC,EAAU7R,EAAe,QAAQtuD,KAASuuD,GAAUj9B,CAAI,GAAG,KAAK;AAAA,QACjE;AAAA,QACD,UAAU,SAAkBA,GAAM;AAChC,UAAA6uC,EAAU7R,EAAe,QAAQtuD,KAASuuD,GAAUj9B,IAAOgkC,EAAc,GAAG,KAAK;AAAA,QAClF;AAAA,QACD,cAAc,SAAsBhkC,GAAM;AACxC,UAAA6uC,EAAU7R,EAAe,SAAStuD,KAASuuD,GAAUj9B,CAAI,GAAG,KAAK;AAAA,QAClE;AAAA,MACT,GAAS4uC,CAAc,CAAC;AAAA,IACnB;AAAA,EACL;AAEE,MAAIE,IAAe,SAAsB9uC,GAAM;AAC7C,QAAIi+B,IAAUjB,EAAe,QAAQC,GAAUj9B,CAAI;AACnD,IAAA0jC,EAAiBzF,CAAO,GACxB2F,EAAc,MAAM3F,CAAO;AAAA,EAC/B,GAEM8Q,IAAgB,SAAuB/uC,GAAM;AAC/C,QAAIi+B,IAAUjB,EAAe,SAASC,GAAUj9B,CAAI;AACpD,IAAA0jC,EAAiBzF,CAAO,GACxB2F,EAAc,MAAM3F,CAAO;AAAA,EAC/B;AAEE,SAAoB,gBAAAz2D,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAWqN,GAAWgvD,GAAgB3uD,EAAgB,CAAE,GAAE,GAAG,OAAO2uD,GAAgB,SAAS,GAAG5Z,CAAM,CAAC;AAAA,EAC3G,GAAkB,gBAAAziD,EAAM,cAAcqmE,IAAY9oD,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IAClE,WAAWw0C;AAAA,IACX,OAAOtxC;AAAA,IACP,UAAUuuD;AAAA,IAEV,YAAY,WAAsB;AAChC,MAAA6R,EAAa,EAAE;AAAA,IAChB;AAAA,IACD,YAAY,WAAsB;AAChC,MAAAA,EAAa,CAAC;AAAA,IACf;AAAA,IACD,aAAa,WAAuB;AAClC,MAAAC,EAAc,EAAE;AAAA,IACjB;AAAA,IACD,aAAa,WAAuB;AAClC,MAAAA,EAAc,CAAC;AAAA,IAChB;AAAA,IACD,cAAc,WAAwB;AACpC,MAAAnL,EAAc,SAAS3G,CAAQ;AAAA,IAChC;AAAA,IACD,aAAa,WAAuB;AAClC,MAAA2G,EAAc,QAAQ3G,CAAQ;AAAA,IAC/B;AAAA,EACL,CAAG,CAAC,GAAgB,gBAAAz1D,EAAM,cAAcimE,IAAU1oD,GAAS,CAAE,GAAEvZ,GAAO;AAAA,IAClE,UAAU,SAAkB0vB,GAAM;AAChC,aAAO2zC,EAAU3zC,GAAM,OAAO;AAAA,IAC/B;AAAA,IACD,WAAW8kB;AAAA,IACX,OAAOtxC;AAAA,IACP,UAAUuuD;AAAA,IACV,UAAUuR;AAAA,EACX,CAAA,CAAC,CAAC;AACL;AC/EA,IAAIQ,KAAenH,GAAM,QAAQ,MAAM;AAEvC,SAASoH,GAAczjE,GAAO;AAC5B,MAAIw0C,IAAYx0C,EAAM,WAClBm4D,IAAen4D,EAAM,cACrBwxD,IAAiBxxD,EAAM,gBACvBkD,IAAQlD,EAAM,OACdq9B,IAAer9B,EAAM,cACrB09D,IAAe19D,EAAM,cACrB+2D,IAAW/2D,EAAM,UACjByzD,IAAWzzD,EAAM,UACjBq4D,IAAiB,GAAG,OAAO7jB,GAAW,iBAAiB,GAEvD3R,IAAkB7mC,EAAM,SAAS,IAAI,GACrC8mC,IAAmB7vB,EAAe4vB,GAAiB,CAAC,GACpD6gC,IAAc5gC,EAAiB,IAC/B6gC,IAAiB7gC,EAAiB,IAElC8gC,IAAmB5nE,EAAM,OAAO,CAAE,CAAA,GAClC6nE,IAAmB7nE,EAAM,OAAO,CAAE,CAAA,GAClC8nE,IAAY34D,GAAQ4rD,CAAQ,MAAM,WAAWzsD,EAAc,CAAE,GAAEysD,CAAQ,IAAI;AAE/E,WAASgN,EAAcnnD,GAAQ;AAC7B,QAAIonD,IAAcR,GAAa,QAAQE,CAAW,IAAI9mD,GAClDqnD,IAAkBT,GAAaQ,MAAgB;AACnD,WAAOC;AAAA,EACR;AAED,MAAIC,IAAS,SAAgBroE,GAAG;AAC9B,IAAIgoE,EAAiB,QAAQ,UAC3BA,EAAiB,QAAQ,OAAOhoE,CAAC,GAGnC8nE,EAAe,IAAI;AAAA,EACvB;AAEE,EAAAxL,EAAa,UAAU;AAAA,IACrB,WAAW,SAAmB/jC,GAAO;AAEnC,UAAIA,EAAM,UAAUg8B,EAAQ,KAAK;AAC/B,YAAI6T,IAAkBF,EAAc3vC,EAAM,WAAW,KAAK,CAAC;AAC3D,eAAAuvC,EAAeM,CAAe,GAE1BA,KACF7vC,EAAM,eAAc,GAGf;AAAA,MACR;AAGD,UAAIsvC,GAAa;AACf,YAAIl/D,IAAMk/D,MAAgB,SAASE,IAAmBC;AAEtD,eAAIr/D,EAAI,WAAWA,EAAI,QAAQ,aAC7BA,EAAI,QAAQ,UAAU4vB,CAAK,GAGtB;AAAA,MACR;AAGD,aAAI,CAACg8B,EAAQ,MAAMA,EAAQ,OAAOA,EAAQ,IAAIA,EAAQ,IAAI,EAAE,SAASh8B,EAAM,KAAK,KAC9EuvC,EAAe,MAAM,GACd,MAGF;AAAA,IACR;AAAA,IACD,QAAQO;AAAA,IACR,SAASA;AAAA,EACb;AAEE,MAAI3L,IAAmB,SAA0B7oC,GAAMpvB,GAAQ;AAC7D,QAAI6jE,IAAez0C;AAEnB,IAAIpvB,MAAW,UAAU,CAAC4C,KAAS4gE,EAAU,gBAE3CK,IAAe3S,EAAe,QAAQ2S,GAAc3S,EAAe,QAAQsS,EAAU,YAAY,CAAC,GAClGK,IAAe3S,EAAe,UAAU2S,GAAc3S,EAAe,UAAUsS,EAAU,YAAY,CAAC,GACtGK,IAAe3S,EAAe,UAAU2S,GAAc3S,EAAe,UAAUsS,EAAU,YAAY,CAAC,KAC7FxjE,MAAW,UAAU,CAAC4C,KAASm6B,MACxC8mC,IAAe3S,EAAe,QAAQ2S,GAAc3S,EAAe,QAAQn0B,CAAY,CAAC,GACxF8mC,IAAe3S,EAAe,SAAS2S,GAAc3S,EAAe,SAASn0B,CAAY,CAAC,GAC1F8mC,IAAe3S,EAAe,QAAQ2S,GAAc3S,EAAe,QAAQn0B,CAAY,CAAC,IAGtFo2B,KACFA,EAAS0Q,GAAc,OAAO;AAAA,EAEpC,GAGMC,IAAgB1G,IAAeA,EAAax6D,KAAS,IAAI,IAAI;AACjE,SAAoB,gBAAAlH,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAWqN,GAAWgvD,GAAgB3uD,EAAgB,CAAE,GAAE,GAAG,OAAO2uD,GAAgB,SAAS,GAAGqL,CAAW,CAAC;AAAA,EAChH,GAAkB,gBAAA1nE,EAAM,cAAcinE,IAAW1pD,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IACjE,cAAc4jE;AAAA,IACd,QAAQF,MAAgB;AAAA,IACxB,UAAU,SAAkBh0C,GAAM;AAChC,MAAA6oC,EAAiBrG,GAAQV,GAAgB9hC,GAAM,CAACxsB,KAASiI,GAAQ4rD,CAAQ,MAAM,WAAWA,EAAS,eAAe,IAAI,GAAG,MAAM;AAAA,IAChI;AAAA,EACL,CAAG,CAAC,GAAgB,gBAAA/6D,EAAM,cAAcqkE,IAAW9mD,GAAS,CAAE,GAAEvZ,GAAO;AAAA,IACnE,QAAQ;AAAA,EACZ,GAAK8jE,GAAWM,GAAe;AAAA,IAC3B,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAcP;AAAA,IACd,QAAQH,MAAgB;AAAA,IACxB,UAAU,SAAkBh0C,GAAM;AAChC,MAAA6oC,EAAiB7oC,GAAM,MAAM;AAAA,IAC9B;AAAA,EACF,CAAA,CAAC,CAAC;AACL;ACtHA,SAAS20C,GAAUrkE,GAAO;AACxB,MAAIw0C,IAAYx0C,EAAM,WAClBwxD,IAAiBxxD,EAAM,gBACvBmmC,IAASnmC,EAAM,QACfkD,IAAQlD,EAAM,OAEdy0D,IAAgB,GAAG,OAAOjgB,GAAW,OAAO,GAE5Cqf,IAAe,SAAsBnkC,GAAM;AAC7C,WAAoB,gBAAA1zB,EAAM,cAAc,MAAM;AAAA,MAC5C,KAAK;AAAA,MACL,WAAWqN,GAAWorD,GAAe,GAAG,OAAOA,GAAe,OAAO,CAAC;AAAA,IAC5E,GAAOjD,EAAe,OAAO,QAAQrrB,EAAO,QAAQzW,CAAI,CAAC;AAAA,EACzD,GAGM40C,IAAe,GAAG,OAAO9vB,GAAW,iBAAiB,GAErDsf,IAAe,SAAsBpkC,GAAM;AAC7C,WAAOrmB,GAAWi7D,GAAc56D,EAAgB,CAAE,GAAE,GAAG,OAAO46D,GAAc,WAAW,GAAGnK,GAAW3I,GAAgBrrB,EAAO,QAAQjjC,GAAOwsB,CAAI,CAAC,CAAC;AAAA,EACrJ;AAEE,SAAoB,gBAAA1zB,EAAM,cAAcinE,IAAW1pD,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IACrE,WAAW;AAAA,IACX,cAAc6zD;AAAA,IACd,cAAcC;AAAA,IACd,gBAAgB;AAAA,MACd,aAAa;AAAA,IACd;AAAA,EACF,CAAA,CAAC;AACJ;AC/BA,SAASyQ,GAAYvkE,GAAO;AAC1B,MAAIw0C,IAAYx0C,EAAM,WAClBwxD,IAAiBxxD,EAAM,gBACvBmmC,IAASnmC,EAAM,QACfyxD,IAAWzxD,EAAM,UACjBwiE,IAAaxiE,EAAM,YACnByiE,IAAaziE,EAAM,YACnB0iE,IAAc1iE,EAAM,aAEpB+T,IAAoB/X,EAAM,WAAWs0D,EAAY,GACjDsB,IAAa79C,EAAkB;AAEnC,MAAI69C;AACF,WAAO;AAGT,MAAIC,IAAkB,GAAG,OAAOrd,GAAW,SAAS;AACpD,SAAoB,gBAAAx4C,EAAM,cAAcw0D,IAAQj3C,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IAClE,WAAW6xD;AAAA,IACX,aAAa4Q;AAAA,IACb,aAAaD;AAAA,EACjB,CAAG,GAAgB,gBAAAxmE,EAAM,cAAc,UAAU;AAAA,IAC7C,MAAM;AAAA,IACN,SAAS0mE;AAAA,IACT,WAAW,GAAG,OAAOluB,GAAW,WAAW;AAAA,EAC/C,GAAKpzB,GAAYqwC,GAAU;AAAA,IACvB,QAAQtrB;AAAA,IACR,QAAQA,EAAO;AAAA,IACf,gBAAgBqrB;AAAA,EACjB,CAAA,CAAC,CAAC;AACL;AC9BO,IAAIgT,KAAkB,GACzBC,KAAkB;AAEtB,SAASC,GAAU1kE,GAAO;AACxB,MAAIw0C,IAAYx0C,EAAM,WAClBmmC,IAASnmC,EAAM,QACfkD,IAAQlD,EAAM,OACdyxD,IAAWzxD,EAAM,UACjBwxD,IAAiBxxD,EAAM,gBACvB2kE,IAAkB3kE,EAAM,iBAExB+T,IAAoB/X,EAAM,WAAW2kE,EAAY,GACjDE,IAAc9sD,EAAkB,aAChC+sD,IAAmB/sD,EAAkB,kBAErC0gD,IAAgB,GAAG,OAAOjgB,GAAW,OAAO,GAC5Cwf,IAAmB4M,GAAiB;AAAA,IACtC,eAAenM;AAAA,IACf,OAAOvxD;AAAA,IACP,gBAAgBsuD;AAAA,IAChB,aAAaqP;AAAA,IACb,kBAAkBC;AAAA,IAClB,YAAY,SAAoB3uC,GAASloB,GAAQ;AAC/C,aAAOyvD,GAAYlI,GAAgBr/B,GAASloB,CAAM;AAAA,IACnD;AAAA,IACD,UAAU,WAAoB;AAC5B,aAAO;AAAA,IACR;AAAA,IACD,YAAY,SAAoBylB,GAAM9S,GAAQ;AAC5C,aAAO40C,EAAe,SAAS9hC,GAAM9S,CAAM;AAAA,IAC5C;AAAA,EACL,CAAG,GACGgmD,IAAez8B,EAAO,gBAAgBqrB,EAAe,OAAO,iBAAiBA,EAAe,OAAO,eAAerrB,EAAO,MAAM,IAAI,CAAE,IACrIy+B,IAAYpT,EAAe,SAASC,GAAU,CAAC,GAC/CyC,IAAcyQ,IAAkB,SAAUj1C,GAAM;AAClD,WAAOi1C,EAAgBj1C,GAAMyW,CAAM;AAAA,EACpC,IAAG;AACJ,SAAoB,gBAAAnqC,EAAM,cAAcu3D,IAAWh6C,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IACrE,QAAQykE;AAAA,IACR,QAAQD;AAAA,IACR,UAAUI;AAAA,IACV,aAAa1Q;AAAA,IACb,aAAa,SAAqBxkC,GAAM;AACtC,aAAOyW,EAAO,cAAc/kB,GAAYsO,GAAM;AAAA,QAC5C,QAAQyW;AAAA,QACR,QAAQA,EAAO;AAAA,QACf,gBAAgBqrB;AAAA,MACjB,CAAA,IAAIoR,EAAapR,EAAe,SAAS9hC,CAAI;AAAA,IAC/C;AAAA,IACD,kBAAkBskC;AAAA,IAClB,aAAaxC,EAAe;AAAA,IAC5B,WAAW,SAAmB9hC,GAAM;AAClC,aAAOtO,GAAYsO,GAAM;AAAA,QACvB,QAAQyW;AAAA,QACR,QAAQ;AAAA,QACR,gBAAgBqrB;AAAA,MACxB,CAAO;AAAA,IACF;AAAA,EACF,CAAA,CAAC;AACJ;AC3DA,SAASqT,GAAW7kE,GAAO;AACzB,MAAIw0C,IAAYx0C,EAAM,WAClBm4D,IAAen4D,EAAM,cACrBk4D,IAAmBl4D,EAAM,kBACzBwxD,IAAiBxxD,EAAM,gBACvBkD,IAAQlD,EAAM,OACdyxD,IAAWzxD,EAAM,UACjBo4D,IAAgBp4D,EAAM,eACtBqjE,IAAYrjE,EAAM,UAClBq4D,IAAiB,GAAG,OAAO7jB,GAAW,cAAc;AAExD,EAAA2jB,EAAa,UAAU;AAAA,IACrB,WAAW,SAAmB/jC,GAAO;AACnC,aAAOiiC,GAAqBjiC,GAAO;AAAA,QACjC,aAAa,SAAqBI,GAAM;AACtC,UAAA6uC,EAAU7R,EAAe,SAAStuD,KAASuuD,GAAUj9B,CAAI,GAAG,KAAK;AAAA,QAClE;AAAA,QACD,iBAAiB,SAAyBA,GAAM;AAC9C,UAAA6uC,EAAU7R,EAAe,QAAQtuD,KAASuuD,GAAUj9B,CAAI,GAAG,KAAK;AAAA,QACjE;AAAA,QACD,UAAU,SAAkBA,GAAM;AAChC,UAAA6uC,EAAU7R,EAAe,SAAStuD,KAASuuD,GAAUj9B,IAAOgwC,EAAe,GAAG,KAAK;AAAA,QACpF;AAAA,QACD,SAAS,WAAmB;AAC1B,UAAApM,EAAc,QAAQl1D,KAASuuD,CAAQ;AAAA,QACxC;AAAA,MACT,CAAO;AAAA,IACF;AAAA,EACL;AAEE,MAAI6R,IAAe,SAAsB9uC,GAAM;AAC7C,QAAIi+B,IAAUjB,EAAe,QAAQC,GAAUj9B,CAAI;AACnD,IAAA0jC,EAAiBzF,CAAO,GACxB2F,EAAc,MAAM3F,CAAO;AAAA,EAC/B;AAEE,SAAoB,gBAAAz2D,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAWq8D;AAAA,EACf,GAAkB,gBAAAr8D,EAAM,cAAcuoE,IAAahrD,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IACnE,WAAWw0C;AAAA,IACX,YAAY,WAAsB;AAChC,MAAA8uB,EAAa,EAAE;AAAA,IAChB;AAAA,IACD,YAAY,WAAsB;AAChC,MAAAA,EAAa,CAAC;AAAA,IACf;AAAA,IACD,aAAa,WAAuB;AAClC,MAAAlL,EAAc,QAAQ3G,CAAQ;AAAA,IAC/B;AAAA,EACL,CAAG,CAAC,GAAgB,gBAAAz1D,EAAM,cAAc0oE,IAAWnrD,GAAS,CAAE,GAAEvZ,GAAO;AAAA,IACnE,WAAWw0C;AAAA,IACX,UAAU,SAAkB9kB,GAAM;AAChC,MAAA2zC,EAAU3zC,GAAM,OAAO,GAEvB0oC,EAAc,QAAQ1oC,CAAI;AAAA,IAC3B;AAAA,EACF,CAAA,CAAC,CAAC;AACL;ACzDA,SAASo1C,GAAc9kE,GAAO;AAC5B,MAAIw0C,IAAYx0C,EAAM,WAClBwxD,IAAiBxxD,EAAM,gBACvBmmC,IAASnmC,EAAM,QACfyxD,IAAWzxD,EAAM,UACjBwiE,IAAaxiE,EAAM,YACnByiE,IAAaziE,EAAM,YACnB0iE,IAAc1iE,EAAM,aAEpB+T,IAAoB/X,EAAM,WAAWs0D,EAAY,GACjDsB,IAAa79C,EAAkB;AAEnC,MAAI69C;AACF,WAAO;AAGT,MAAIC,IAAkB,GAAG,OAAOrd,GAAW,SAAS;AACpD,SAAoB,gBAAAx4C,EAAM,cAAcw0D,IAAQj3C,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IAClE,WAAW6xD;AAAA,IACX,aAAa4Q;AAAA,IACb,aAAaD;AAAA,EACjB,CAAG,GAAgB,gBAAAxmE,EAAM,cAAc,UAAU;AAAA,IAC7C,MAAM;AAAA,IACN,SAAS0mE;AAAA,IACT,WAAW,GAAG,OAAOluB,GAAW,WAAW;AAAA,EAC/C,GAAKpzB,GAAYqwC,GAAU;AAAA,IACvB,QAAQtrB;AAAA,IACR,QAAQA,EAAO;AAAA,IACf,gBAAgBqrB;AAAA,EACjB,CAAA,CAAC,CAAC;AACL;AC9BO,IAAIuT,KAAoB,GAC3BC,KAAoB;AAExB,SAASC,GAAYjlE,GAAO;AAC1B,MAAIw0C,IAAYx0C,EAAM,WAClBmmC,IAASnmC,EAAM,QACfkD,IAAQlD,EAAM,OACdyxD,IAAWzxD,EAAM,UACjBwxD,IAAiBxxD,EAAM,gBAEvB+T,IAAoB/X,EAAM,WAAW2kE,EAAY,GACjDE,IAAc9sD,EAAkB,aAChC+sD,IAAmB/sD,EAAkB,kBAErC0gD,IAAgB,GAAG,OAAOjgB,GAAW,OAAO,GAC5Cwf,IAAmB4M,GAAiB;AAAA,IACtC,eAAenM;AAAA,IACf,OAAOvxD;AAAA,IACP,gBAAgBsuD;AAAA,IAChB,aAAaqP;AAAA,IACb,kBAAkBC;AAAA,IAClB,YAAY,SAAoB3uC,GAASloB,GAAQ;AAC/C,aAAOsvD,GAAc/H,GAAgBr/B,GAASloB,CAAM;AAAA,IACrD;AAAA,IACD,UAAU,WAAoB;AAC5B,aAAO;AAAA,IACR;AAAA,IACD,YAAY,SAAoBylB,GAAM9S,GAAQ;AAC5C,aAAO40C,EAAe,SAAS9hC,GAAM9S,IAAS,CAAC;AAAA,IAChD;AAAA,EACL,CAAG,GACGsoD,IAAc1T,EAAe,QAAQA,EAAe,SAASC,GAAU,CAAC,GAAG,CAAC;AAChF,SAAoB,gBAAAz1D,EAAM,cAAcu3D,IAAWh6C,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IACrE,QAAQglE;AAAA,IACR,QAAQD;AAAA,IACR,UAAUG;AAAA,IACV,aAAa,SAAqBx1C,GAAM;AACtC,aAAOtO,GAAYsO,GAAM;AAAA,QACvB,QAAQyW;AAAA,QACR,QAAQA,EAAO,iBAAiB;AAAA,QAChC,gBAAgBqrB;AAAA,MACxB,CAAO;AAAA,IACF;AAAA,IACD,kBAAkBwC;AAAA,IAClB,aAAa,SAAqBtkC,GAAM9S,GAAQ;AAC9C,aAAO40C,EAAe,SAAS9hC,GAAM9S,IAAS,CAAC;AAAA,IAChD;AAAA,IACD,WAAW,SAAmB8S,GAAM;AAClC,aAAOtO,GAAYsO,GAAM;AAAA,QACvB,QAAQyW;AAAA,QACR,QAAQ;AAAA,QACR,gBAAgBqrB;AAAA,MACxB,CAAO;AAAA,IACF;AAAA,EACF,CAAA,CAAC;AACJ;ACvDA,SAAS2T,GAAanlE,GAAO;AAC3B,MAAIw0C,IAAYx0C,EAAM,WAClBm4D,IAAen4D,EAAM,cACrBk4D,IAAmBl4D,EAAM,kBACzBwxD,IAAiBxxD,EAAM,gBACvBkD,IAAQlD,EAAM,OACdyxD,IAAWzxD,EAAM,UACjBo4D,IAAgBp4D,EAAM,eACtBqjE,IAAYrjE,EAAM,UAClBq4D,IAAiB,GAAG,OAAO7jB,GAAW,gBAAgB;AAE1D,EAAA2jB,EAAa,UAAU;AAAA,IACrB,WAAW,SAAmB/jC,GAAO;AACnC,aAAOiiC,GAAqBjiC,GAAO;AAAA,QACjC,aAAa,SAAqBI,GAAM;AACtC,UAAA6uC,EAAU7R,EAAe,SAAStuD,KAASuuD,GAAUj9B,IAAO,CAAC,GAAG,KAAK;AAAA,QACtE;AAAA,QACD,iBAAiB,SAAyBA,GAAM;AAC9C,UAAA6uC,EAAU7R,EAAe,QAAQtuD,KAASuuD,GAAUj9B,CAAI,GAAG,KAAK;AAAA,QACjE;AAAA,QACD,UAAU,SAAkBA,GAAM;AAChC,UAAA6uC,EAAU7R,EAAe,QAAQtuD,KAASuuD,GAAUj9B,CAAI,GAAG,KAAK;AAAA,QACjE;AAAA,MACT,CAAO;AAAA,IACF;AAAA,EACL;AAEE,MAAI8uC,IAAe,SAAsB9uC,GAAM;AAC7C,QAAIi+B,IAAUjB,EAAe,QAAQC,GAAUj9B,CAAI;AACnD,IAAA0jC,EAAiBzF,CAAO,GACxB2F,EAAc,MAAM3F,CAAO;AAAA,EAC/B;AAEE,SAAoB,gBAAAz2D,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAWq8D;AAAA,EACf,GAAkB,gBAAAr8D,EAAM,cAAc8oE,IAAevrD,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IACrE,WAAWw0C;AAAA,IACX,YAAY,WAAsB;AAChC,MAAA8uB,EAAa,EAAE;AAAA,IAChB;AAAA,IACD,YAAY,WAAsB;AAChC,MAAAA,EAAa,CAAC;AAAA,IACf;AAAA,IACD,aAAa,WAAuB;AAClC,MAAAlL,EAAc,QAAQ3G,CAAQ;AAAA,IAC/B;AAAA,EACL,CAAG,CAAC,GAAgB,gBAAAz1D,EAAM,cAAcipE,IAAa1rD,GAAS,CAAE,GAAEvZ,GAAO;AAAA,IACrE,WAAWw0C;AAAA,IACX,UAAU,SAAkB9kB,GAAM;AAChC,MAAA2zC,EAAU3zC,GAAM,OAAO;AAAA,IACxB;AAAA,EACF,CAAA,CAAC,CAAC;AACL;ACpDA,SAAS01C,GAAWplE,GAAO;AACzB,MAAIw0C,IAAYx0C,EAAM,WAClBwxD,IAAiBxxD,EAAM,gBACvByxD,IAAWzxD,EAAM,UACjBqlE,IAAerlE,EAAM,cACrBslE,IAAetlE,EAAM,cACrBulE,IAAgBvlE,EAAM,eAEtB+T,IAAoB/X,EAAM,WAAWs0D,EAAY,GACjDsB,IAAa79C,EAAkB;AAEnC,MAAI69C;AACF,WAAO;AAGT,MAAIC,IAAkB,GAAG,OAAOrd,GAAW,SAAS,GAChDsd,IAAaN,EAAe,QAAQC,CAAQ,GAC5CM,IAAY,KAAK,MAAMD,IAAa0T,EAAiB,IAAIA,IACzDvT,IAAUF,IAAYyT,KAAoB;AAC9C,SAAoB,gBAAAxpE,EAAM,cAAcw0D,IAAQj3C,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IAClE,WAAW6xD;AAAA,IACX,aAAawT;AAAA,IACb,aAAaC;AAAA,EACjB,CAAG,GAAgB,gBAAAtpE,EAAM,cAAc,UAAU;AAAA,IAC7C,MAAM;AAAA,IACN,SAASupE;AAAA,IACT,WAAW,GAAG,OAAO/wB,GAAW,aAAa;AAAA,EAC9C,GAAEud,GAAW,KAAKE,CAAO,CAAC;AAC7B;AC3BO,IAAIwT,KAAiB,GACxBC,KAAiB;AAErB,SAASC,GAAS3lE,GAAO;AACvB,MAAIw0C,IAAYx0C,EAAM,WAClBkD,IAAQlD,EAAM,OACdyxD,IAAWzxD,EAAM,UACjBmmC,IAASnmC,EAAM,QACfwxD,IAAiBxxD,EAAM,gBAEvB+T,IAAoB/X,EAAM,WAAW2kE,EAAY,GACjDE,IAAc9sD,EAAkB,aAChC+sD,IAAmB/sD,EAAkB,kBAErC6xD,IAAgB,GAAG,OAAOpxB,GAAW,OAAO,GAE5Csd,IAAaN,EAAe,QAAQC,CAAQ,GAC5CM,IAAY,KAAK,MAAMD,IAAa0T,EAAiB,IAAIA,IACzDvT,IAAUF,IAAYyT,KAAoB,GAC1CK,IAAWrU,EAAe,QAAQC,GAAUM,IAAY,KAAK,MAAM0T,KAAiBC,KAAiBF,MAAqB,CAAC,CAAC,GAE5HzE,IAAW,SAAkBrxC,GAAM;AACrC,QAAIo2C,IAAoBtU,EAAe,QAAQ9hC,CAAI;AACnD,WAAOqiC,KAAa+T,KAAqBA,KAAqB7T;AAAA,EAClE,GAEM+B,IAAmB4M,GAAiB;AAAA,IACtC,eAAegF;AAAA,IACf,OAAO1iE;AAAA,IACP,gBAAgBsuD;AAAA,IAChB,aAAaqP;AAAA,IACb,kBAAkBC;AAAA,IAClB,YAAY,SAAoB3uC,GAASloB,GAAQ;AAC/C,aAAOivD,GAAW1H,GAAgBr/B,GAASloB,CAAM;AAAA,IAClD;AAAA,IACD,UAAU82D;AAAA,IACV,YAAY,SAAoBrxC,GAAM9S,GAAQ;AAC5C,aAAO40C,EAAe,QAAQ9hC,GAAM9S,CAAM;AAAA,IAC3C;AAAA,EACL,CAAG;AACD,SAAoB,gBAAA5gB,EAAM,cAAcu3D,IAAWh6C,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IACrE,QAAQ0lE;AAAA,IACR,QAAQD;AAAA,IACR,UAAUI;AAAA,IACV,aAAarU,EAAe;AAAA,IAC5B,kBAAkBwC;AAAA,IAClB,aAAaxC,EAAe;AAAA,IAC5B,WAAW,SAAmB9hC,GAAM;AAClC,aAAOtO,GAAYsO,GAAM;AAAA,QACvB,QAAQyW;AAAA,QACR,QAAQ;AAAA,QACR,gBAAgBqrB;AAAA,MACxB,CAAO;AAAA,IACF;AAAA,EACF,CAAA,CAAC;AACJ;ACzDO,IAAIgU,KAAoB;AAE/B,SAASO,GAAU/lE,GAAO;AACxB,MAAIw0C,IAAYx0C,EAAM,WAClBm4D,IAAen4D,EAAM,cACrBk4D,IAAmBl4D,EAAM,kBACzBwxD,IAAiBxxD,EAAM,gBACvBkD,IAAQlD,EAAM,OACdyxD,IAAWzxD,EAAM,UACjBgmE,IAAahmE,EAAM,YACnBqjE,IAAYrjE,EAAM,UAClBo4D,IAAgBp4D,EAAM,eACtBq4D,IAAiB,GAAG,OAAO7jB,GAAW,aAAa;AAEvD,EAAA2jB,EAAa,UAAU;AAAA,IACrB,WAAW,SAAmB/jC,GAAO;AACnC,aAAOiiC,GAAqBjiC,GAAO;AAAA,QACjC,aAAa,SAAqBI,GAAM;AACtC,UAAA6uC,EAAU7R,EAAe,QAAQtuD,KAASuuD,GAAUj9B,CAAI,GAAG,KAAK;AAAA,QACjE;AAAA,QACD,iBAAiB,SAAyBA,GAAM;AAC9C,UAAA6uC,EAAU7R,EAAe,QAAQtuD,KAASuuD,GAAUj9B,IAAOgxC,EAAiB,GAAG,KAAK;AAAA,QACrF;AAAA,QACD,UAAU,SAAkBhxC,GAAM;AAChC,UAAA6uC,EAAU7R,EAAe,QAAQtuD,KAASuuD,GAAUj9B,IAAOixC,EAAc,GAAG,KAAK;AAAA,QAClF;AAAA,QACD,SAAS,WAAmB;AAC1B,UAAArN,EAAc4N,MAAe,SAAS,SAAS,SAAS9iE,KAASuuD,CAAQ;AAAA,QAC1E;AAAA,MACT,CAAO;AAAA,IACF;AAAA,EACL;AAEE,MAAIwU,IAAiB,SAAwBzxC,GAAM;AACjD,QAAIi+B,IAAUjB,EAAe,QAAQC,GAAUj9B,IAAO,EAAE;AACxD,IAAA0jC,EAAiBzF,CAAO,GACxB2F,EAAc,MAAM3F,CAAO;AAAA,EAC/B;AAEE,SAAoB,gBAAAz2D,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAWq8D;AAAA,EACf,GAAkB,gBAAAr8D,EAAM,cAAcopE,IAAY7rD,GAAS,CAAA,GAAIvZ,GAAO;AAAA,IAClE,WAAWw0C;AAAA,IACX,cAAc,WAAwB;AACpC,MAAAyxB,EAAe,EAAE;AAAA,IAClB;AAAA,IACD,cAAc,WAAwB;AACpC,MAAAA,EAAe,CAAC;AAAA,IACjB;AAAA,IACD,eAAe,WAAyB;AACtC,MAAA7N,EAAc,UAAU3G,CAAQ;AAAA,IACjC;AAAA,EACL,CAAG,CAAC,GAAgB,gBAAAz1D,EAAM,cAAc2pE,IAAUpsD,GAAS,CAAE,GAAEvZ,GAAO;AAAA,IAClE,WAAWw0C;AAAA,IACX,UAAU,SAAkB9kB,GAAM;AAChC,MAAA0oC,EAAc4N,MAAe,SAAS,SAAS,SAASt2C,CAAI,GAE5D2zC,EAAU3zC,GAAM,OAAO;AAAA,IACxB;AAAA,EACF,CAAA,CAAC,CAAC;AACL;AChEe,SAASw2C,GAAe1xB,GAAWggB,GAAM2R,GAAmB;AACzE,SAAKA,IAIe,gBAAAnqE,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAW,GAAG,OAAOw4C,GAAW,eAAe;AAAA,EACnD,GAAK2xB,EAAkB3R,CAAI,CAAC,IALjB;AAMX;ACRe,SAAS4R,GAAUhyD,GAAM;AACtC,MAAIogC,IAAYpgC,EAAK,WACjBiyD,IAAkBjyD,EAAK,YACvB8hC,IAAamwB,MAAoB,SAAS,CAAE,IAAGA,GAC/CC,IAAoBlyD,EAAK,mBACzBmyD,IAAQnyD,EAAK,OACboyD,IAAOpyD,EAAK,MACZqyD,IAAaryD,EAAK,YAClBsyD,IAAUtyD,EAAK,SACf+xB,IAAS/xB,EAAK,QACduyD,GACAC;AAEJ,MAAIN,GAAmB;AACrB,QAAI99D,IAAS0tC,EAAW,UAAU;AAElC,IAAIqwB,KAASG,MAAY,OACvBC,IAA0B,gBAAA3qE,EAAM,cAAc,MAAM;AAAA,MAClD,WAAW,GAAG,OAAOw4C,GAAW,MAAM;AAAA,IAC9C,GAAsB,gBAAAx4C,EAAM,cAAc,KAAK;AAAA,MACvC,WAAW,GAAG,OAAOw4C,GAAW,UAAU;AAAA,MAC1C,SAAS+xB;AAAA,IACjB,GAASpgC,EAAO,GAAG,CAAC,IAGhBygC,IAASN,KAAkC,gBAAAtqE,EAAM,cAAc,MAAM;AAAA,MACnE,WAAW,GAAG,OAAOw4C,GAAW,KAAK;AAAA,IAC3C,GAAoB,gBAAAx4C,EAAM,cAAcwM,GAAQ;AAAA,MAC1C,UAAUi+D;AAAA,MACV,SAASD;AAAA,IACf,GAAOrgC,EAAO,EAAE,CAAC;AAAA,EACd;AAED,SAAI,CAACwgC,KAAc,CAACC,IACX,OAGW,gBAAA5qE,EAAM,cAAc,MAAM;AAAA,IAC5C,WAAW,GAAG,OAAOw4C,GAAW,SAAS;AAAA,EAC7C,GAAKmyB,GAAYC,CAAM;AACvB;ACRA,SAASC,GAAY7mE,GAAO;AAC1B,MAAIogD,GAEAhsC,IAAOpU,GACP8mE,IAAiB1yD,EAAK,WACtBogC,IAAYsyB,MAAmB,SAAS,cAAcA,GACtDp/D,IAAY0M,EAAK,WACjBnC,IAAQmC,EAAK,OACb+xB,IAAS/xB,EAAK,QACdo9C,IAAiBp9C,EAAK,gBACtBlR,IAAQkR,EAAK,OACbipB,IAAejpB,EAAK,cACpB2yD,IAAc3yD,EAAK,aACnB4yD,IAAqB5yD,EAAK,oBAC1Bo/C,IAAep/C,EAAK,cACpBogD,IAAOpgD,EAAK,MACZ6yD,IAAc7yD,EAAK,QACnBs/C,IAASuT,MAAgB,SAAS,SAASA,GAC3CC,IAAgB9yD,EAAK,UACrBwzC,IAAWsf,MAAkB,SAAS,IAAIA,GAC1CR,IAAUtyD,EAAK,SACf2iD,IAAW3iD,EAAK,UAChB+yD,IAAY/yD,EAAK,WACjB+xD,IAAoB/xD,EAAK,mBACzBw9C,IAAax9C,EAAK,YAClBq/C,IAAWr/C,EAAK,UAChB6oB,IAAW7oB,EAAK,UAChBgkD,IAAgBhkD,EAAK,eACrBgzD,IAAchzD,EAAK,aACnBizD,IAAsBjzD,EAAK,qBAC3BkzD,IAAQlzD,EAAK,MACb8hC,IAAa9hC,EAAK,YAClBgwC,IAAYhwC,EAAK,WACjBmzD,IAAgBnzD,EAAK,UACrBu+C,IAAW4U,MAAkB,SAAS,IAAIA,GAC1CC,IAAkBpzD,EAAK,YACvBw+C,IAAa4U,MAAoB,SAAS,IAAIA,GAC9CC,IAAkBrzD,EAAK,YACvBy+C,IAAa4U,MAAoB,SAAS,IAAIA,GAC9CnB,IAAoB5S,MAAW,UAAU,CAAC,CAACqD,KAAYrD,MAAW,QAClEgU,IAAkB,KAAK/U,MAAa,GACpCgV,KAAoB,KAAK/U,MAAe,GACxCgV,KAAoB,KAAK/U,MAAe;AAE5C,EAAI,QAAQ,IAAI,aAAa,iBAC3BroD,GAAQ,CAACtH,KAASsuD,EAAe,WAAWtuD,CAAK,GAAG,kCAAkC,GACtFsH,GAAQ,CAACtH,KAASsuD,EAAe,WAAWtuD,CAAK,GAAG,yCAAyC,GAC7FsH,GAAQk9D,GAAiB,cAAc,OAAO/U,GAAU,2CAA2C,CAAC,GACpGnoD,GAAQm9D,IAAmB,gBAAgB,OAAO/U,GAAY,2CAA2C,CAAC,GAC1GpoD,GAAQo9D,IAAmB,gBAAgB,OAAO/U,GAAY,2CAA2C,CAAC;AAI5G,MAAIgV,KAAe7rE,EAAM,WAAWs0D,EAAY,GAC5C6H,KAAe0P,GAAa,cAC5BC,KAAkBD,GAAa,UAC/BE,KAAaF,GAAa,YAC1BG,KAAmBH,GAAa,kBAEhC9zD,KAAoB/X,EAAM,WAAW2kE,EAAY,GACjDsH,IAAUl0D,GAAkB,SAC5Bm0D,IAAgBn0D,GAAkB,eAClC8sD,KAAc9sD,GAAkB,aAChC+sD,KAAmB/sD,GAAkB,kBAErCo0D,IAAWnsE,EAAM,OAAO,CAAE,CAAA,GAE1BosE,IAAUpsE,EAAM,OAAO,EAAI,GAE3BqsE,KAAkB7Y,GAAe,MAAM;AAAA,IACzC,OAAOtsD;AAAA,IACP,cAAcm6B;AAAA,IACd,WAAW,SAAmB1O,GAAK;AACjC,aAAI,CAACA,KAAOq5C,MAAoBtU,MAAW,SAClCsU,KAGFr5C;AAAA,IACR;AAAA,EACL,CAAG,GACG25C,KAAmBr1D,EAAeo1D,IAAiB,CAAC,GACpDxY,KAAcyY,GAAiB,IAC/B1Y,KAAgB0Y,GAAiB,IAGjCC,KAAmB/Y,GAAe,MAAM;AAAA,IAC1C,OAAOuX;AAAA,IACP,cAAcC,KAAsBnX;AAAA,IACpC,WAAW,SAAmBngC,GAAM;AAClC,UAAIsuC,KAAMxM,EAAe;AAEzB,UAAI,CAAC9hC;AACH,eAAOsuC;AAIT,UAAI,CAACnO,MAAekH,GAAU;AAC5B,YAAIyR,KAAoBr9D,GAAQ4rD,CAAQ,MAAM,WAAWA,EAAS,eAAe15B;AACjF,eAAOk1B,GAAYf,GAAgB,MAAM,QAAQ9hC,CAAI,IAAIA,EAAK,KAAKA,GAAM84C,MAAqBxK,EAAG;AAAA,MAClG;AAED,aAAO,MAAM,QAAQtuC,CAAI,IAAIA,EAAK,KAAKA;AAAA,IACxC;AAAA,EACL,CAAG,GACG+4C,KAAmBx1D,EAAes1D,IAAkB,CAAC,GACrD9W,KAAWgX,GAAiB,IAC5BC,KAAmBD,GAAiB,IAEpCE,KAAc,SAAqBj5C,GAAM;AAC3C,IAAAg5C,GAAiBh5C,CAAI,GAEjB23C,KACFA,EAAoB33C,CAAI;AAAA,EAE9B,GAGMk5C,KAAsB,SAA6BC,GAAU;AAC/D,QAAIC,KAAchR,GAAcpE;AAEhC,WAAIoV,KACKA,GAAYD,CAAQ,IAGtBA;AAAA,EACX,GAGME,KAAmBvZ,GAAe,WAAY;AAChD,WAAIkE,MAAW,SACN,SAGFkV,GAAoB,MAAM;AAAA,EACrC,GAAK;AAAA,IACD,OAAOpU;AAAA,EACX,CAAG,GACGwU,KAAmB/1D,EAAe81D,IAAkB,CAAC,GACrDE,KAAaD,GAAiB,IAC9BE,KAAeF,GAAiB;AAEpC,EAAAhtE,EAAM,UAAU,WAAY;AAC1B,IAAAktE,GAAaxV,CAAM;AAAA,EACvB,GAAK,CAACA,CAAM,CAAC;AAEX,MAAI7wB,KAAkB7mC,EAAM,SAAS,WAAY;AAC/C,WAAOitE;AAAA,EACX,CAAG,GACGnmC,KAAmB7vB,EAAe4vB,IAAiB,CAAC,GACpDmjC,KAAaljC,GAAiB,IAC9BqmC,KAAgBrmC,GAAiB,IAEjCsmC,KAAwB,SAA+BC,GAASC,IAAW;AAC7E,QAAIT,KAAWD,GAAoBS,KAAWJ,EAAU;AACxD,IAAAE,GAAcF,EAAU,GACxBC,GAAaL,EAAQ,GAEjBzQ,MAAkB6Q,OAAeJ,MAAYzO,GAAQ5I,GAAgBC,IAAUA,EAAQ,MACzF2G,EAAckR,IAAWT,EAAQ;AAAA,EAEvC,GAEMU,KAAgB,SAAuB75C,GAAMpxB,IAAM;AACrD,QAAIkrE,KAAqB,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAE7F,KAAIP,OAAevV,KAAU8V,QAC3B5Z,GAAclgC,CAAI,GAEd+jC,KACFA,EAAS/jC,CAAI,GAGXo4C,MACFA,GAAgBp4C,GAAMpxB,EAAI,GAGxB2+B,KAAY,CAACm9B,GAAQ5I,GAAgB9hC,GAAMmgC,EAAW,KAAK,EAAE2D,KAAiB,QAAmCA,EAAa9jC,CAAI,MACpIuN,EAASvN,CAAI;AAAA,EAGrB,GAGM+5C,KAAoB,SAA2B5tE,GAAG;AACpD,WAAIssE,EAAS,WAAWA,EAAS,QAAQ,aACnC,CAAC/X,EAAQ,MAAMA,EAAQ,OAAOA,EAAQ,IAAIA,EAAQ,MAAMA,EAAQ,SAASA,EAAQ,WAAWA,EAAQ,KAAK,EAAE,SAASv0D,EAAE,KAAK,KAC7HA,EAAE,eAAc,GAGXssE,EAAS,QAAQ,UAAUtsE,CAAC,MAQnC2O,GAAQ,IAAO,+EAA+E,GACvF;AAAA,EAGb,GAEMk/D,KAAiB,SAAwB7tE,GAAG;AAC9C,IAAIssE,EAAS,WAAWA,EAAS,QAAQ,UACvCA,EAAS,QAAQ,OAAOtsE,CAAC;AAAA,EAE/B;AAEE,EAAIs8D,MAAgB+P,MAAkB,YACpC/P,GAAa,UAAU;AAAA,IACrB,WAAWsR;AAAA,IACX,SAAS,WAAmB;AAC1B,MAAItB,EAAS,WAAWA,EAAS,QAAQ,WACvCA,EAAS,QAAQ;IAEpB;AAAA,EACP,IAIEnsE,EAAM,UAAU,WAAY;AAC1B,IAAIkH,KAAS,CAACklE,EAAQ,WACpBM,GAAiBxlE,CAAK;AAAA,EAE5B,GAAK,CAACA,CAAK,CAAC,GACVlH,EAAM,UAAU,WAAY;AAC1B,IAAAosE,EAAQ,UAAU;AAAA,EACnB,GAAE,CAAE,CAAA;AAEL,MAAIuB,IAEAC,KAAct/D,EAAcA,EAAc,CAAA,GAAItK,CAAK,GAAG,IAAI;AAAA,IAC5D,cAAcmoE;AAAA,IACd,WAAW3zB;AAAA,IACX,UAAUid;AAAA,IACV,OAAO5B;AAAA,IACP,kBAAkB8Y;AAAA,IAClB,YAAY3C;AAAA,IACZ,eAAeoD;AAAA,IACf,cAAc5V;AAAA,EAClB,CAAG;AAKD,UAHA,OAAOoW,GAAY,UACnB,OAAOA,GAAY,UAEXX,IAAU;AAAA,IAChB,KAAK;AACH,MAAAU,KAAyB,gBAAA3tE,EAAM,cAAci8D,IAAa1+C,GAAS,CAAE,GAAEqwD,IAAa;AAAA,QAClF,UAAU,SAAkBl6C,GAAMpxB,IAAM;AACtC,UAAAqqE,GAAYj5C,CAAI,GAChB65C,GAAc75C,GAAMpxB,EAAI;AAAA,QACzB;AAAA,MACF,CAAA,CAAC;AACF;AAAA,IAEF,KAAK;AACH,MAAAqrE,KAAyB,gBAAA3tE,EAAM,cAAc+pE,IAAWxsD,GAAS,CAAE,GAAEqwD,IAAa;AAAA,QAChF,UAAU,SAAkBl6C,GAAMpxB,IAAM;AACtC,UAAAqqE,GAAYj5C,CAAI,GAChB65C,GAAc75C,GAAMpxB,EAAI;AAAA,QACzB;AAAA,MACF,CAAA,CAAC;AACF;AAAA,IAEF,KAAK;AACH,MAAAqrE,KAAyB,gBAAA3tE,EAAM,cAAc6oE,IAAYtrD,GAAS,CAAE,GAAEqwD,IAAa;AAAA,QACjF,UAAU,SAAkBl6C,GAAMpxB,IAAM;AACtC,UAAAqqE,GAAYj5C,CAAI,GAChB65C,GAAc75C,GAAMpxB,EAAI;AAAA,QACzB;AAAA,MACF,CAAA,CAAC;AACF;AAAA,IAEF,KAAK;AACH,MAAAqrE,KAAyB,gBAAA3tE,EAAM,cAAcmpE,IAAc5rD,GAAS,CAAE,GAAEqwD,IAAa;AAAA,QACnF,UAAU,SAAkBl6C,GAAMpxB,IAAM;AACtC,UAAAqqE,GAAYj5C,CAAI,GAChB65C,GAAc75C,GAAMpxB,EAAI;AAAA,QACzB;AAAA,MACF,CAAA,CAAC;AACF;AAAA,IAEF,KAAK;AACH,MAAAqrE,KAAyB,gBAAA3tE,EAAM,cAAcqoE,IAAW9qD,GAAS,CAAE,GAAEqwD,IAAa;AAAA,QAChF,UAAU,SAAkBl6C,GAAMpxB,IAAM;AACtC,UAAAqqE,GAAYj5C,CAAI,GAChB65C,GAAc75C,GAAMpxB,EAAI;AAAA,QACzB;AAAA,MACF,CAAA,CAAC;AACF;AAAA,IAEF,KAAK;AACH,aAAOsrE,GAAY,UACnBD,KAAyB,gBAAA3tE,EAAM,cAAcqkE,IAAW9mD,GAAS,CAAE,GAAEqwD,IAAaz+D,GAAQ4rD,CAAQ,MAAM,WAAWA,IAAW,MAAM;AAAA,QAClI,UAAU,SAAkBrnC,GAAMpxB,IAAM;AACtC,UAAAqqE,GAAYj5C,CAAI,GAChB65C,GAAc75C,GAAMpxB,EAAI;AAAA,QACzB;AAAA,MACF,CAAA,CAAC;AACF;AAAA,IAEF;AACE,MAAIy4D,IACF4S,KAAyB,gBAAA3tE,EAAM,cAAcynE,IAAelqD,GAAS,CAAE,GAAEqwD,IAAa;AAAA,QACpF,UAAU,SAAkBl6C,GAAMpxB,IAAM;AACtC,UAAAqqE,GAAYj5C,CAAI,GAChB65C,GAAc75C,GAAMpxB,EAAI;AAAA,QACzB;AAAA,MACF,CAAA,CAAC,IAEFqrE,KAAyB,gBAAA3tE,EAAM,cAAcinE,IAAW1pD,GAAS,CAAE,GAAEqwD,IAAa;AAAA,QAChF,UAAU,SAAkBl6C,GAAMpxB,IAAM;AACtC,UAAAqqE,GAAYj5C,CAAI,GAChB65C,GAAc75C,GAAMpxB,EAAI;AAAA,QACzB;AAAA,MACF,CAAA,CAAC;AAAA,EAGP;AAGD,MAAIurE,IACAC,IAEAvD,KAAQ,WAAiB;AAC3B,QAAIvI,IAAMxM,EAAe,UACrBuY,KAAiBrX,GAAkBlB,EAAe,QAAQwM,CAAG,GAAGxM,EAAe,UAAUwM,CAAG,GAAGxM,EAAe,UAAUwM,CAAG,GAAG0J,IAAkB/U,IAAW,GAAGgV,KAAoB/U,IAAa,GAAGgV,KAAoB/U,IAAa,CAAC,GACpOmX,KAAc9X;AAAA,MAAQV;AAAA,MAAgBwM;AAAA,MAAK+L,GAAe;AAAA,MAC9DA,GAAe;AAAA,MACfA,GAAe;AAAA,IACnB;AACI,IAAAR,GAAcS,IAAa,QAAQ;AAAA,EACvC;AAEE,EAAKjC,OACH8B,KAAc3D,GAAe1xB,GAAWy0B,IAAY9C,CAAiB,GACrE2D,KAAa1D,GAAU;AAAA,IACrB,WAAW5xB;AAAA,IACX,YAAY0B;AAAA,IACZ,mBAAmBowB;AAAA,IACnB,YAAY,CAACzW,MAAe2D,KAAgBA,EAAa3D,EAAW;AAAA,IACpE,QAAQ1pB;AAAA,IACR,SAASugC;AAAA,IACT,OAAOJ,KAAqBC;AAAA,IAC5B,MAAM,WAAgB;AACpB,MAAI1W,OACF0Z,GAAc1Z,IAAa,UAAU,EAAI,GAErCyX,KACFA,EAAMzX,EAAW;AAAA,IAGtB;AAAA,EACP,CAAK;AAGH,MAAIoa;AAEJ,MAAI9C,KAAa8B,OAAe,UAAUvV,MAAW,UAAU,CAACqD,GAAU;AACxE,QAAIiH,KAAMxM,EAAe,UACrB0Y,KAAW,GAAG,OAAO11B,GAAW,YAAY,GAC5C1sC,KAAW0rD,KAAgBA,EAAawK,EAAG;AAC/C,IAAAiM,KAAyB,gBAAAjuE,EAAM,cAAc,KAAK;AAAA,MAChD,WAAWqN,GAAW6gE,IAAUpiE,MAAY,GAAG,OAAOoiE,IAAU,WAAW,CAAC;AAAA,MAC5E,iBAAiBpiE;AAAA,MACjB,SAAS,WAAmB;AAC1B,QAAKA,MACHyhE,GAAcvL,IAAK,SAAS,EAAI;AAAA,MAEnC;AAAA,IACP,GAAO73B,EAAO,KAAK;AAAA,EAChB;AAED,SAAoB,gBAAAnqC,EAAM,cAAcs0D,GAAa,UAAU;AAAA,IAC7D,OAAOhmD,EAAcA,EAAc,CAAE,GAAEu9D,EAAY,GAAG,CAAA,GAAI;AAAA,MACxD,MAAMoB;AAAA,MACN,YAAY,gBAAgBjpE,IAAQ4xD,IAAaiW,GAAa;AAAA,MAC9D,aAAaI,KAAWC,MAAkB;AAAA,MAC1C,aAAaD,KAAWC,MAAkB;AAAA,IAChD,CAAK;AAAA,EACL,GAAkB,gBAAAlsE,EAAM,cAAc,OAAO;AAAA,IACzC,UAAU4rD;AAAA,IACV,WAAWv+C,GAAW,GAAG,OAAOmrC,GAAW,QAAQ,GAAG9sC,IAAY04C,IAAc,CAAA,GAAI12C,EAAgB02C,GAAa,GAAG,OAAO5L,GAAW,kBAAkB,GAAGqsB,MAAeA,GAAY,MAAMA,GAAY,EAAE,GAAGn3D,EAAgB02C,GAAa,GAAG,OAAO5L,GAAW,wBAAwB,GAAGssB,MAAoBA,GAAiB,MAAMA,GAAiB,EAAE,GAAGp3D,EAAgB02C,GAAa,GAAG,OAAO5L,GAAW,YAAY,GAAG4P,MAAc,KAAK,GAAGhE,EAAa;AAAA,IAC/b,OAAOnuC;AAAA,IACP,WAAWw3D;AAAA,IACX,QAAQC;AAAA,IACR,aAAatC;AAAA,EACjB,GAAKuC,IAAWE,MAAeC,MAAcG,KAAyB,gBAAAjuE,EAAM,cAAc,OAAO;AAAA,IAC7F,WAAW,GAAG,OAAOw4C,GAAW,SAAS;AAAA,EAC1C,GAAEq1B,IAAaC,IAAYG,EAAS,IAAI,IAAI,CAAC;AAChD;ACxae,SAASj1D,GAASC,GAAM5Z,GAAG;AACxC,SAAK4Z,IAIEA,EAAK,SAAS5Z,CAAC,IAHb;AAIX;ACDe,SAASy7C,GAAY9wC,GAAM;AACxC,SAAIA,aAAgB,cACXA,IAGF+wC,GAAS,YAAY/wC,CAAI;AAClC;ACRO,SAASkI,GAAQ1J,GAAKwB,GAAM;AACjC,EAAI,OAAOxB,KAAQ,aACjBA,EAAIwB,CAAI,IACCmF,GAAQ3G,CAAG,MAAM,YAAYA,KAAO,aAAaA,MAC1DA,EAAI,UAAUwB;AAElB;AAKO,SAASmI,KAAa;AAC3B,WAASC,IAAO,UAAU,QAAQC,IAAO,IAAI,MAAMD,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,IAAAD,EAAKC,KAAQ,UAAUA;AAGzB,MAAIC,IAAUF,EAAK,OAAO,SAAU7J,GAAK;AACvC,WAAOA;AAAA,EACX,CAAG;AAED,SAAI+J,EAAQ,UAAU,IACbA,EAAQ,KAGV,SAAUvI,GAAM;AACrB,IAAAqI,EAAK,QAAQ,SAAU7J,GAAK;AAC1B0J,MAAAA,GAAQ1J,GAAKwB,CAAI;AAAA,IACvB,CAAK;AAAA,EACL;AACA;AAcO,SAASwI,GAAWC,GAAiB;AAC1C,MAAIC,GAAiBC,GAEjBrQ,IAAOsP,GAAM,OAACa,CAAe,IAAIA,EAAgB,KAAK,OAAOA,EAAgB;AAOjF,SALI,SAAOnQ,KAAS,cAAc,EAAG,GAAAoQ,IAAkBpQ,EAAK,eAAe,QAAQoQ,MAAoB,WAAkBA,EAAgB,WAKrI,OAAOD,KAAoB,cAAc,EAAG,GAAAE,IAAwBF,EAAgB,eAAe,QAAQE,MAA0B,WAAkBA,EAAsB;AAKnL;AC5De,SAASw7D,GAAqBlgE,GAAQmgE,GAAWj5C,GAAI3b,GAAQ;AAE1E,MAAImI,IAAWo5B,GAAS,0BAA0B,SAAal7C,GAAG;AAChEk7C,IAAAA,GAAS,wBAAwB5lB,GAAIt1B,CAAC;AAAA,EACvC,IAAGs1B;AAEJ,SAAIlnB,EAAO,oBACTA,EAAO,iBAAiBmgE,GAAWzsD,GAAUnI,CAAM,GAG9C;AAAA,IACL,QAAQ,WAAkB;AACxB,MAAIvL,EAAO,uBACTA,EAAO,oBAAoBmgE,GAAWzsD,GAAUnI,CAAM;AAAA,IAEzD;AAAA,EACL;AACA;ACfA,IAAIzI,KAAsB,gBAAArE,GAAW,SAAU1I,GAAOwE,GAAK;AACzD,MAAI6lE,IAAYrqE,EAAM,WAClBuV,IAAevV,EAAM,cACrBiH,IAAWjH,EAAM,UACjBsqE,IAAY/kC,MACZse,IAAete;AAEnB,EAAAglC,GAAoB/lE,GAAK,WAAY;AACnC,WAAO;EACX,CAAG;AAED,MAAI4jE,IAAU7iC,GAAO,EAAK;AAE1B,SAAI,CAAC6iC,EAAQ,WAAWrzD,SACtB8uC,EAAa,UAAUtuC,KACvB+0D,EAAU,UAAUzmB,EAAa,QAAQ,YACzCukB,EAAQ,UAAU,KAIpBziC,GAAU,WAAY;AACpB,IAAA0kC,KAAc,QAAwCA,EAAUrqE,CAAK;AAAA,EACzE,CAAG,GACD2lC,GAAU,WAAY;AAIpB,WAAIke,EAAa,QAAQ,eAAe,QAAQymB,EAAU,YAAY,QACpEA,EAAU,QAAQ,YAAYzmB,EAAa,OAAO,GAG7C,WAAY;AACjB,UAAI2mB,GAAuBC;AAI3B,OAACD,IAAwB3mB,EAAa,aAAa,QAAQ2mB,MAA0B,WAAmBC,IAAyBD,EAAsB,gBAAgB,QAAQC,MAA2B,UAAkBA,EAAuB,YAAY5mB,EAAa,OAAO;AAAA,IACzR;AAAA,EACG,GAAE,CAAE,CAAA,GACEA,EAAa,UAAuB9M,gBAAAA,GAAS,aAAa9vC,GAAU48C,EAAa,OAAO,IAAI;AACrG,CAAC;ACzCD,SAAS6mB,GAAWC,GAAIC,GAAIC,GAAc;AACxC,SAAIA,IACKF,EAAG,OAAOC,EAAG,KAGfD,EAAG,OAAOC,EAAG,MAAMD,EAAG,OAAOC,EAAG;AACzC;AAEO,SAASE,GAAsBC,GAAmBC,GAAcC,GAAO;AAC5E,MAAIC,IAAYH,EAAkBC,MAAiB,CAAA;AACnD,SAAO1gE,EAAcA,EAAc,CAAA,GAAI4gE,CAAS,GAAGD,CAAK;AAC1D;AACO,SAASE,GAAuBJ,GAAmBv2B,GAAWy2B,GAAOJ,GAAc;AAIxF,WAHInuD,IAASuuD,EAAM,QACfG,IAAa,OAAO,KAAKL,CAAiB,GAErC9kE,IAAI,GAAGA,IAAImlE,EAAW,QAAQnlE,KAAK,GAAG;AAC7C,QAAIolE,IAAYD,EAAWnlE;AAE3B,QAAIykE,GAAWK,EAAkBM,GAAW,QAAQ3uD,GAAQmuD,CAAY;AACtE,aAAO,GAAG,OAAOr2B,GAAW,aAAa,EAAE,OAAO62B,CAAS;AAAA,EAE9D;AAED,SAAO;AACT;AC3BA,MAAAC,KAAgB,WAAY;AAC1B,MAAI,OAAO,YAAc,OAAe,OAAO,SAAW;AACxD,WAAO;AAGT,MAAIC,IAAQ,UAAU,aAAa,UAAU,UAAU,OAAO;AAE9D,SAAI,yVAAsV,KAAKA,CAAK,KAAK,4hDAA4hD,KAAKA,KAAU,OAA2B,SAASA,EAAM,OAAO,GAAG,CAAC,CAAC;AAK58D;ACRA,SAASv0B,GAAcC,GAAWC,GAAW;AAC3C,MAAIC,IAAW,CAAA;AACf,SAAAA,EAASF,EAAU,YAAW,KAAMC,EAAU,YAAW,GACzDC,EAAS,SAAS,OAAOF,CAAS,KAAK,SAAS,OAAOC,CAAS,GAChEC,EAAS,MAAM,OAAOF,CAAS,KAAK,MAAM,OAAOC,CAAS,GAC1DC,EAAS,KAAK,OAAOF,CAAS,KAAK,KAAK,OAAOC,CAAS,GACxDC,EAAS,IAAI,OAAOF,CAAS,KAAK,IAAI,OAAOC,EAAU,YAAW,CAAE,GAC7DC;AACT;AAEO,SAASC,GAAkBC,GAAY5jC,GAAK;AACjD,MAAI0jC,IAAW;AAAA,IACb,cAAcH,GAAc,aAAa,cAAc;AAAA,IACvD,eAAeA,GAAc,cAAc,eAAe;AAAA,EAC9D;AAEE,SAAIK,MACI,oBAAoB5jC,KACxB,OAAO0jC,EAAS,aAAa,WAGzB,qBAAqB1jC,KACzB,OAAO0jC,EAAS,cAAc,aAI3BA;AACT;AACA,IAAIG,KAAiBF,GAAkBG,MAAa,OAAO,SAAW,MAAc,SAAS,CAAA,CAAE,GAC3FtlC,KAAQ,CAAA;AAEZ,IAAIslC,MAAa;AACf,MAAIC,KAAwB,SAAS,cAAc,KAAK;AAExD,EAAAvlC,KAAQulC,GAAsB;AAChC;AAEA,IAAIC,KAAqB,CAAA;AAClB,SAASC,GAA2BR,GAAW;AACpD,MAAIO,GAAmBP;AACrB,WAAOO,GAAmBP;AAG5B,MAAIS,IAAYL,GAAeJ;AAE/B,MAAIS;AAIF,aAHIC,IAAgB,OAAO,KAAKD,CAAS,GACrCtoC,IAAMuoC,EAAc,QAEf3xC,IAAI,GAAGA,IAAIoJ,GAAKpJ,KAAK,GAAG;AAC/B,UAAIgxC,IAAYW,EAAc3xC;AAE9B,UAAI,OAAO,UAAU,eAAe,KAAK0xC,GAAWV,CAAS,KAAKA,KAAahlC;AAC7E,eAAAwlC,GAAmBP,KAAaS,EAAUV,IACnCQ,GAAmBP;AAAA,IAE7B;AAGH,SAAO;AACT;AACA,IAAIW,KAA2BH,GAA2B,cAAc,GACpEI,KAA4BJ,GAA2B,eAAe,GAC/DK,KAAoB,CAAC,EAAEF,MAA4BC,KACnDE,KAAmBH,MAA4B,gBAC/CI,KAAoBH,MAA6B;AACrD,SAASI,GAAkBC,GAAgBC,GAAgB;AAChE,MAAI,CAACD;AAAgB,WAAO;AAE5B,MAAIhtC,GAAQgtC,CAAc,MAAM,UAAU;AACxC,QAAI75C,IAAO85C,EAAe,QAAQ,QAAQ,SAAU33C,GAAO;AACzD,aAAOA,EAAM,GAAG;IACtB,CAAK;AACD,WAAO03C,EAAe75C;AAAA,EACvB;AAED,SAAO,GAAG,OAAO65C,GAAgB,GAAG,EAAE,OAAOC,CAAc;AAC7D;ACjFO,IAAIC,KAAc,QACdC,KAAgB,UAChBC,KAAe,SACfC,KAAe,SACfC,KAAY,QACZC,KAAe,WACfC,KAAa,SACbC,KAAc,UACdC,KAAiB;ACN5B,MAAA+B,KAAgB,WAAY;AAC1B,MAAIf,IAAe79C,EAAM,OAAO,IAAI;AAEpC,WAAS89C,IAAkB;AACzBZ,IAAAA,GAAI,OAAOW,EAAa,OAAO;AAAA,EAChC;AAED,WAASE,EAAUp8B,GAAU;AAC3B,QAAIq8B,IAAQ,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAChF,IAAAF;AACA,QAAIG,IAAcf,GAAI,WAAY;AAChC,MAAIc,KAAS,IACXr8B,EAAS;AAAA,QACP,YAAY,WAAsB;AAChC,iBAAOs8B,MAAgBJ,EAAa;AAAA,QACrC;AAAA,MACX,CAAS,IAEDE,EAAUp8B,GAAUq8B,IAAQ,CAAC;AAAA,IAErC,CAAK;AACD,IAAAH,EAAa,UAAUI;AAAA,EACxB;AAED,SAAAj+C,EAAM,UAAU,WAAY;AAC1B,WAAO,WAAY;AACjB,MAAA89C;IACN;AAAA,EACG,GAAE,CAAE,CAAA,GACE,CAACC,GAAWD,CAAe;AACpC;AC7BA,IAAII,KAA4BnlC,OAAcolC,KAAkBxU,ICG5DyU,KAAa,CAAC1B,IAAcC,IAAYC,IAAaC,EAAc,GAG5DwB,KAAW,IAGXC,KAAS;AACb,SAASC,GAASl0C,GAAM;AAC7B,SAAOA,MAASuyC,MAAevyC,MAASwyC;AAC1C;AACA,MAAAsF,KAAgB,SAAU1D,GAAQ98B,GAAU;AAC1C,MAAIsnB,IAAYC,GAASuT,EAAS,GAC9BtT,IAAalyB,EAAegyB,GAAW,CAAC,GACxC5+B,IAAO8+B,EAAW,IAClBuV,IAAUvV,EAAW,IAErBwV,IAAgBC,GAAc,GAC9BC,IAAiB5nC,EAAe0nC,GAAe,CAAC,GAChDZ,IAAYc,EAAe,IAC3Bf,IAAkBe,EAAe;AAErC,WAASC,IAAa;AACpB,IAAAJ,EAAQhC,IAAc,EAAI;AAAA,EAC3B;AAED,SAAAwB,GAA0B,WAAY;AACpC,QAAI7zC,MAASoyC,MAAapyC,MAASwyC,IAAgB;AACjD,UAAIt+B,IAAQ6/B,GAAW,QAAQ/zC,CAAI,GAC/B00C,IAAWX,GAAW7/B,IAAQ,IAC9BqJ,IAASjG,EAAStX,CAAI;AAE1B,MAAIud,MAAWy2B,KAEbK,EAAQK,GAAU,EAAI,IAGtBhB,EAAU,SAAUr0C,GAAM;AACxB,iBAASs1C,IAAS;AAEhB,UAAIt1C,EAAK,WAAU,KACnBg1C,EAAQK,GAAU,EAAI;AAAA,QACvB;AAED,QAAIn3B,MAAW,KACbo3B,MAGA,QAAQ,QAAQp3B,CAAM,EAAE,KAAKo3B,CAAM;AAAA,MAE/C,CAAS;AAAA,IAEJ;AAAA,EACL,GAAK,CAACP,GAAQp0C,CAAI,CAAC,GACjBrK,EAAM,UAAU,WAAY;AAC1B,WAAO,WAAY;AACjB,MAAA89C;IACN;AAAA,EACG,GAAE,CAAE,CAAA,GACE,CAACgB,GAAYz0C,CAAI;AAC1B,GC9De03C,KAAC,SAAUpgC,GAAU;AAClC,MAAIu9B,IAAkB3V,MAElB4V,IAAc5V,GAAO5nB,CAAQ;AACjC,EAAAw9B,EAAY,UAAUx9B;AAEtB,MAAIy9B,IAAsBp/C,EAAM,YAAY,SAAUo4B,GAAO;AAC3D,IAAA+mB,EAAY,QAAQ/mB,CAAK;AAAA,EAC1B,GAAE,CAAE,CAAA;AAEL,WAASinB,EAAmBl5C,GAAS;AACnC,IAAIA,MACFA,EAAQ,oBAAoB81C,IAAmBmD,CAAmB,GAClEj5C,EAAQ,oBAAoB61C,IAAkBoD,CAAmB;AAAA,EAEpE;AAGD,WAASE,EAAkBn5C,GAAS;AAClC,IAAI+4C,EAAgB,WAAWA,EAAgB,YAAY/4C,KACzDk5C,EAAmBH,EAAgB,OAAO,GAGxC/4C,KAAWA,MAAY+4C,EAAgB,YACzC/4C,EAAQ,iBAAiB81C,IAAmBmD,CAAmB,GAC/Dj5C,EAAQ,iBAAiB61C,IAAkBoD,CAAmB,GAE9DF,EAAgB,UAAU/4C;AAAA,EAE7B;AAGD,SAAAnG,EAAM,UAAU,WAAY;AAC1B,WAAO,WAAY;AACjB,MAAAq/C,EAAmBH,EAAgB,OAAO;AAAA,IAChD;AAAA,EACG,GAAE,CAAE,CAAA,GACE,CAACI,GAAmBD,CAAkB;AAC/C;AC/Be,SAASE,GAAUC,GAAeC,GAASC,GAAYtnC,GAAM;AAC1E,MAAIunC,IAAmBvnC,EAAK,aACxBwnC,IAAcD,MAAqB,SAAS,KAAOA,GACnDE,IAAoBznC,EAAK,cACzB0nC,IAAeD,MAAsB,SAAS,KAAOA,GACrDE,IAAmB3nC,EAAK,aACxB4nC,IAAcD,MAAqB,SAAS,KAAOA,GACnDE,IAAiB7nC,EAAK,gBACtB8nC,IAAyB9nC,EAAK,wBAC9B+nC,IAAkB/nC,EAAK,iBACvBgoC,IAAiBhoC,EAAK,gBACtBioC,IAAiBjoC,EAAK,gBACtBkoC,IAAgBloC,EAAK,eACrBmoC,IAAenoC,EAAK,cACpBooC,IAAepoC,EAAK,cACpBqoC,IAAiBroC,EAAK,gBACtBsoC,IAAgBtoC,EAAK,eACrBuoC,IAAgBvoC,EAAK,eACrBwoC,IAAcxoC,EAAK,aACnByoC,IAAazoC,EAAK,YAClB0oC,IAAa1oC,EAAK,YAClB2oC,IAAmB3oC,EAAK,kBAGxB6wB,IAAYC,GAAU,GACtBC,IAAalyB,EAAegyB,GAAW,CAAC,GACxC+X,IAAe7X,EAAW,IAC1B8X,IAAkB9X,EAAW,IAE7B+X,IAAahY,GAASmT,EAAW,GACjC8E,IAAalqC,EAAeiqC,GAAY,CAAC,GACzCzC,IAAS0C,EAAW,IACpBC,IAAYD,EAAW,IAEvBE,IAAanY,GAAS,IAAI,GAC1BoY,IAAarqC,EAAeoqC,GAAY,CAAC,GACzCprC,IAAQqrC,EAAW,IACnBC,IAAWD,EAAW,IAEtBE,IAAajY,GAAO,EAAK,GACzBkY,IAAclY,GAAO,IAAI;AAE7B,WAASmY,IAAgB;AACvB,WAAOhC,EAAU;AAAA,EAClB;AAGD,MAAIiC,KAAYpY,GAAO,EAAK;AAE5B,WAAS6V,GAAoBhnB,GAAO;AAClC,QAAIjyB,IAAUu7C;AAEd,QAAI,EAAAtpB,KAAS,CAACA,EAAM,YAAYA,EAAM,WAAWjyB,IAOjD;AAAA,UAAIy7C,KAAgBD,GAAU,SAC1BE;AAEJ,MAAIpD,MAAWnC,MAAiBsF,KAC9BC,KAASjB,KAAgB,OAAiC,SAASA,EAAYz6C,GAASiyB,CAAK,IACpFqmB,MAAWlC,MAAgBqF,KACpCC,KAAShB,KAAe,OAAgC,SAASA,EAAW16C,GAASiyB,CAAK,IACjFqmB,MAAWjC,MAAgBoF,OACpCC,KAASf,KAAe,OAAgC,SAASA,EAAW36C,GAASiyB,CAAK,IAIxFqmB,MAAWpC,MAAeuF,MAAiBC,OAAW,OACxDT,EAAU/E,IAAa,EAAI,GAC3BkF,EAAS,MAAM,EAAI;AAAA;AAAA,EAEtB;AAED,MAAIO,KAAsBC,GAAmB3C,EAAmB,GAC5D4C,KAAuB/qC,EAAe6qC,IAAqB,CAAC,GAC5DxC,KAAoB0C,GAAqB,IAGzCC,KAAgBjiD,EAAM,QAAQ,WAAY;AAC5C,QAAIqY,GAAOM,GAAOC;AAElB,YAAQ6lC,GAAM;AAAA,MACZ,KAAKnC;AACH,eAAOjkC,IAAQ,CAAA,GAAI3K,EAAgB2K,GAAOqkC,IAAcyD,CAAe,GAAGzyC,EAAgB2K,GAAOskC,IAAY2D,CAAa,GAAG5yC,EAAgB2K,GAAOukC,IAAa6D,CAAc,GAAGpoC;AAAA,MAEpL,KAAKkkC;AACH,eAAO5jC,IAAQ,CAAA,GAAIjL,EAAgBiL,GAAO+jC,IAAc0D,CAAc,GAAG1yC,EAAgBiL,GAAOgkC,IAAY4D,CAAY,GAAG7yC,EAAgBiL,GAAOikC,IAAa8D,CAAa,GAAG/nC;AAAA,MAEjL,KAAK6jC;AACH,eAAO5jC,KAAQ,CAAA,GAAIlL,EAAgBkL,IAAO8jC,IAAc2D,CAAc,GAAG3yC,EAAgBkL,IAAO+jC,IAAY6D,CAAY,GAAG9yC,EAAgBkL,IAAOgkC,IAAa+D,CAAa,GAAG/nC;AAAA,MAEjL;AACE,eAAO;IACV;AAAA,EACL,GAAK,CAAC6lC,CAAM,CAAC,GAEPyD,KAAgBC,GAAa1D,GAAQ,SAAU2D,GAAS;AAE1D,QAAIA,MAAY1F,IAAc;AAC5B,UAAI2F,IAAYJ,GAAcvF;AAE9B,aAAK2F,IAIEA,EAAUX,EAAa,CAAE,IAHvBrD;AAAA,IAIV;AAID,QAAIh0C,KAAQ43C,IAAe;AACzB,UAAIK;AAEJ,MAAAf,IAAWe,KAAsBL,GAAc53C,QAAW,QAAQi4C,OAAwB,SAAS,SAASA,GAAoB,KAAKL,IAAeP,EAAa,GAAI,IAAI,MAAM,IAAI;AAAA,IACpL;AAED,WAAIr3C,MAASuyC,OAEX0C,GAAkBoC,EAAa,CAAE,GAE7BzB,IAAiB,MACnB,aAAawB,EAAY,OAAO,GAChCA,EAAY,UAAU,WAAW,WAAY;AAC3C,MAAArC,GAAoB;AAAA,QAClB,UAAU;AAAA,MACtB,CAAW;AAAA,IACF,GAAEa,CAAc,KAId3B;AAAA,EACX,CAAG,GACGiE,KAAiBtrC,EAAeirC,IAAe,CAAC,GAChDM,IAAYD,GAAe,IAC3Bl4C,IAAOk4C,GAAe,IAEtBE,KAASlE,GAASl0C,CAAI;AAC1B,EAAAs3C,GAAU,UAAUc,IAGpBvE,GAA0B,WAAY;AACpC,IAAA+C,EAAgBxB,CAAO;AACvB,QAAIiD,IAAYlB,EAAW;AAG3B,QAFAA,EAAW,UAAU,IAEjB,EAAChC,GAIL;AAAA,UAAImD;AAEJ,MAAI,CAACD,KAAajD,KAAWK,MAC3B6C,IAAarG,KAIXoG,KAAajD,KAAWG,MAC1B+C,IAAapG,MAIXmG,KAAa,CAACjD,KAAWO,KAAe,CAAC0C,KAAaxC,KAA0B,CAACT,KAAWO,OAC9F2C,IAAanG,KAIXmG,MACFvB,EAAUuB,CAAU,GACpBH;;EAEN,GAAK,CAAC/C,CAAO,CAAC,GAGZ9V,GAAU,WAAY;AACpB,KACA8U,MAAWnC,MAAiB,CAACwD,KAC7BrB,MAAWlC,MAAgB,CAACqD,KAC5BnB,MAAWjC,MAAgB,CAACwD,MAC1BoB,EAAU/E,EAAW;AAAA,EAExB,GAAE,CAACyD,GAAcF,GAAaI,CAAW,CAAC,GAC3CrW,GAAU,WAAY;AACpB,WAAO,WAAY;AACjB,MAAA6X,EAAW,UAAU,IACrB,aAAaC,EAAY,OAAO;AAAA,IACtC;AAAA,EACG,GAAE,CAAE,CAAA,GAEL9X,GAAU,WAAY;AACpB,IAAIqX,MAAiB,UAAavC,MAAWpC,OAC3C0E,KAAqB,QAA+CA,EAAiBC,CAAY;AAAA,EAEvG,GAAK,CAACA,GAAcvC,CAAM,CAAC;AAEzB,MAAIp6B,KAAcpO;AAElB,SAAIgsC,GAAcvF,OAAiBryC,MAASsyC,OAC1Ct4B,KAAc/V,EAAc;AAAA,IAC1B,YAAY;AAAA,EACb,GAAE+V,EAAW,IAGT,CAACo6B,GAAQp0C,GAAMga,IAAa28B,KAAkEvB,CAAO;AAC9G;ACnNA,IAAIoD,KAA0B,yBAAU1mB,GAAkB;AACxD,EAAAnT,GAAU65B,GAAY1mB,CAAgB;AAEtC,MAAIC,IAAS5S,GAAaq5B,CAAU;AAEpC,WAASA,IAAa;AACpB,WAAAjuC,GAAgB,MAAMiuC,CAAU,GAEzBzmB,EAAO,MAAM,MAAM,SAAS;AAAA,EACpC;AAED,SAAAnnB,GAAa4tC,GAAY,CAAC;AAAA,IACxB,KAAK;AAAA,IACL,OAAO,WAAkB;AACvB,aAAO,KAAK,MAAM;AAAA,IACnB;AAAA,EACF,CAAA,CAAC,GAEKA;AACT,EAAE7iD,EAAM,SAAS;ACJV,SAAS8iD,GAAaj7C,GAAQ;AACnC,MAAIk7C,IAAoBl7C;AAExB,EAAIsH,GAAQtH,CAAM,MAAM,aACtBk7C,IAAoBl7C,EAAO;AAG7B,WAASm7C,EAAoBh/C,GAAO;AAClC,WAAO,CAAC,EAAEA,EAAM,cAAc++C;AAAA,EAC/B;AAED,MAAIE,IAAyB,gBAAAjjD,EAAM,WAAW,SAAUgE,GAAOwE,GAAK;AAClE,QAAI06C,IAAiBl/C,EAAM,SACvBy7C,IAAUyD,MAAmB,SAAS,KAAOA,GAC7CC,IAAuBn/C,EAAM,eAC7Bo/C,IAAgBD,MAAyB,SAAS,KAAOA,GACzDE,IAAcr/C,EAAM,aACpBiH,IAAWjH,EAAM,UACjBs/C,IAAat/C,EAAM,YACnBu/C,IAAkBv/C,EAAM,iBACxBw/C,IAAax/C,EAAM,YACnBw7C,IAAgBwD,EAAoBh/C,CAAK,GAEzCy/C,IAAUla,MAEVma,IAAiBna;AAErB,aAASmY,IAAgB;AACvB,UAAI;AAKF,eAAO+B,EAAQ,mBAAmB,cAAcA,EAAQ,UAAU3I,GAAY4I,EAAe,OAAO;AAAA,MACrG,QAAC;AAEA,eAAO;AAAA,MACR;AAAA,IACF;AAED,QAAIC,IAAapE,GAAUC,GAAeC,GAASiC,GAAe19C,CAAK,GACnE4/C,IAAc3sC,EAAe0sC,GAAY,CAAC,GAC1ClF,IAASmF,EAAY,IACrBC,IAAaD,EAAY,IACzBE,IAAcF,EAAY,IAC1BG,IAAgBH,EAAY,IAI5BI,IAAchkD,EAAM,OAAO+jD,CAAa;AAE5C,IAAIA,MACFC,EAAY,UAAU;AAIxB,QAAIC,IAAajkD,EAAM,YAAY,SAAUgK,GAAM;AACjD,MAAAy5C,EAAQ,UAAUz5C,GAClBkI,GAAQ1J,GAAKwB,CAAI;AAAA,IACvB,GAAO,CAACxB,CAAG,CAAC,GAEJ07C,GAEAC,IAAc71C,EAAcA,EAAc,CAAA,GAAIk1C,CAAU,GAAG,IAAI;AAAA,MACjE,SAAS/D;AAAA,IACf,CAAK;AAED,QAAI,CAACx0C;AAEH,MAAAi5C,IAAiB;AAAA,aACRzF,MAAWpC,MAAe,CAAC2G,EAAoBh/C,CAAK;AAE7D,MAAI+/C,IACFG,IAAiBj5C,EAASqD,EAAc,CAAE,GAAE61C,CAAW,GAAGF,CAAU,IAC3D,CAACb,KAAiBY,EAAY,UACvCE,IAAiBj5C,EAASqD,EAAcA,EAAc,CAAA,GAAI61C,CAAW,GAAG,IAAI;AAAA,QAC1E,WAAWZ;AAAA,MACrB,CAAS,GAAGU,CAAU,IACLZ,IACTa,IAAiBj5C,EAASqD,EAAcA,EAAc,CAAA,GAAI61C,CAAW,GAAG,IAAI;AAAA,QAC1E,OAAO;AAAA,UACL,SAAS;AAAA,QACV;AAAA,MACX,CAAS,GAAGF,CAAU,IAEdC,IAAiB;AAAA,SAEd;AACL,UAAIE,GAGAC;AAEJ,MAAIR,MAAenH,KACjB2H,IAAe,YACN9F,GAASsF,CAAU,IAC5BQ,IAAe,WACNR,MAAelH,OACxB0H,IAAe,UAGjBH,IAAiBj5C,EAASqD,EAAcA,EAAc,CAAA,GAAI61C,CAAW,GAAG,IAAI;AAAA,QAC1E,WAAW92C,GAAW6uC,GAAkBoH,GAAY7E,CAAM,IAAI2F,IAAc,CAAE,GAAE12C,EAAgB02C,GAAalI,GAAkBoH,GAAY,GAAG,OAAO7E,GAAQ,GAAG,EAAE,OAAO4F,CAAY,CAAC,GAAGA,CAAY,GAAG32C,EAAgB02C,GAAad,GAAY,OAAOA,KAAe,QAAQ,GAAGc,EAAa;AAAA,QAC/R,OAAON;AAAA,MACf,CAAO,GAAGG,CAAU;AAAA,IACf;AAGD,QAAkB,gBAAAjkD,EAAM,eAAekkD,CAAc,KAAK1xC,GAAW0xC,CAAc,GAAG;AACpF,UAAII,IAAkBJ,GAClBK,IAAgBD,EAAgB;AAEpC,MAAKC,MACHL,IAA8B,gBAAAlkD,EAAM,aAAakkD,GAAgB;AAAA,QAC/D,KAAKD;AAAA,MACf,CAAS;AAAA,IAEJ;AAED,WAAoB,gBAAAjkD,EAAM,cAAc6iD,IAAY;AAAA,MAClD,KAAKa;AAAA,IACN,GAAEQ,CAAc;AAAA,EACrB,CAAG;AACD,SAAAjB,EAAU,cAAc,aACjBA;AACT;AACA,MAAeA,KAAAH,GAAa/G,EAAiB;ACnJtC,SAASyzB,GAAUp3D,GAAM;AAC9B,MAAIogC,IAAYpgC,EAAK,WACjBq3D,IAASr3D,EAAK,QACds3D,IAAYt3D,EAAK,WACjB+jC,IAAiB/jC,EAAK;AAE1B,SAAIq3D,MAIAC,IACK;AAAA,IACL,YAAY,GAAG,OAAOl3B,GAAW,GAAG,EAAE,OAAOk3B,CAAS;AAAA,EAC5D,IAGMvzB,IACK;AAAA,IACL,YAAYA;AAAA,EAClB,IAGS;AACT;ACjBe,SAASwzB,GAAK3rE,GAAO;AAClC,MAAIw0C,IAAYx0C,EAAM,WAClBy7C,IAAUz7C,EAAM,SAChB4rE,IAAS5rE,EAAM,QACf6rE,IAAO7rE,EAAM,MACb8rE,IAAa9rE,EAAM,YACnB+rE,IAAgB/rE,EAAM,eACtBgsE,IAAqBhsE,EAAM;AAE/B,MAAI,CAAC6rE;AACH,WAAO;AAGT,MAAIJ,IAAS,CAAA;AAEb,UAAIK,KAAcE,KAAsBD,OACtCN,IAASnhE,EAAc;AAAA,IACrB,cAAc;AAAA,EACf,GAAEkhE,GAAU;AAAA,IACX,QAAQM;AAAA,IACR,WAAWt3B;AAAA,IACX,gBAAgBw3B;AAAA,IAChB,WAAWD;AAAA,EACZ,CAAA,CAAC,IAGgB,gBAAA/vE,EAAM,cAAcijD,IAAW1lC,GAAS,CAAA,GAAIkyD,GAAQ;AAAA,IACtE,SAAShwB;AAAA,IACT,eAAe;AAAA,EACnB,CAAG,GAAG,SAAUrnC,GAAM;AAClB,QAAI1M,IAAY0M,EAAK;AACrB,WAAoB,gBAAApY,EAAM,cAAc,OAAO;AAAA,MAC7C,OAAO;AAAA,QACL,QAAQ4vE;AAAA,MACT;AAAA,MACD,WAAWviE,GAAW,GAAG,OAAOmrC,GAAW,OAAO,GAAG9sC,CAAS;AAAA,IACpE,CAAK;AAAA,EACL,CAAG;AACH;ACzCO,SAASwG,GAAQ1J,GAAKwB,GAAM;AACjC,EAAI,OAAOxB,KAAQ,aACjBA,EAAIwB,CAAI,IACCmF,GAAQ3G,CAAG,MAAM,YAAYA,KAAO,aAAaA,MAC1DA,EAAI,UAAUwB;AAElB;AAKO,SAASmI,KAAa;AAC3B,WAASC,IAAO,UAAU,QAAQC,IAAO,IAAI,MAAMD,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,IAAAD,EAAKC,KAAQ,UAAUA;AAGzB,MAAIC,IAAUF,EAAK,OAAO,SAAU7J,GAAK;AACvC,WAAOA;AAAA,EACX,CAAG;AAED,SAAI+J,EAAQ,UAAU,IACbA,EAAQ,KAGV,SAAUvI,GAAM;AACrB,IAAAqI,EAAK,QAAQ,SAAU7J,GAAK;AAC1B,MAAA0J,GAAQ1J,GAAKwB,CAAI;AAAA,IACvB,CAAK;AAAA,EACL;AACA;AChCA,MAAeg+C,KAAC,SAAU7hD,GAAS;AACjC,MAAI,CAACA;AACH,WAAO;AAGT,MAAIA,EAAQ;AACV,WAAO;AAGT,MAAIA,EAAQ,SAAS;AACnB,QAAIyzD,IAAMzzD,EAAQ;AAElB,QAAIyzD,EAAI,SAASA,EAAI;AACnB,aAAO;AAAA,EAEV;AAED,MAAIzzD,EAAQ,uBAAuB;AACjC,QAAI0zD,IAAO1zD,EAAQ;AAEnB,QAAI0zD,EAAK,SAASA,EAAK;AACrB,aAAO;AAAA,EAEV;AAED,SAAO;AACT;AC1BA,SAASjsD,GAAQ1E,GAAQ2E,GAAgB;AACvC,MAAIlD,IAAO,OAAO,KAAKzB,CAAM;AAE7B,MAAI,OAAO,uBAAuB;AAChC,QAAI4E,IAAU,OAAO,sBAAsB5E,CAAM;AAEjD,IAAI2E,MACFC,IAAUA,EAAQ,OAAO,SAAUC,GAAK;AACtC,aAAO,OAAO,yBAAyB7E,GAAQ6E,CAAG,EAAE;AAAA,IAC5D,CAAO,IAGHpD,EAAK,KAAK,MAAMA,GAAMmD,CAAO;AAAA,EAC9B;AAED,SAAOnD;AACT;AAEA,SAASqD,GAAeC,GAAQ;AAC9B,WAAShE,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AACzC,QAAI3F,IAAS,UAAU2F,MAAM,OAAO,UAAUA,KAAK;AAEnD,IAAIA,IAAI,IACN2D,GAAQ,OAAOtJ,CAAM,GAAG,EAAI,EAAE,QAAQ,SAAUiE,GAAK;AACnD,MAAAmF,GAAgBO,GAAQ1F,GAAKjE,EAAOiE,EAAI;AAAA,IAChD,CAAO,IACQ,OAAO,4BAChB,OAAO,iBAAiB0F,GAAQ,OAAO,0BAA0B3J,CAAM,CAAC,IAExEsJ,GAAQ,OAAOtJ,CAAM,CAAC,EAAE,QAAQ,SAAUiE,GAAK;AAC7C,aAAO,eAAe0F,GAAQ1F,GAAK,OAAO,yBAAyBjE,GAAQiE,CAAG,CAAC;AAAA,IACvF,CAAO;AAAA,EAEJ;AAED,SAAO0F;AACT;AAEA,SAASkB,GAAQxB,GAAK;AAGpB,SAAI,OAAO,UAAW,cAAc,OAAO,OAAO,YAAa,WAC7DwB,KAAU,SAAUxB,GAAK;AACvB,WAAO,OAAOA;AAAA,EACpB,IAEIwB,KAAU,SAAUxB,GAAK;AACvB,WAAOA,KAAO,OAAO,UAAW,cAAcA,EAAI,gBAAgB,UAAUA,MAAQ,OAAO,YAAY,WAAW,OAAOA;AAAA,EAC/H,GAGSwB,GAAQxB,CAAG;AACpB;AAEA,SAASD,GAAgBC,GAAKpF,GAAKrB,GAAO;AACxC,SAAIqB,KAAOoF,IACT,OAAO,eAAeA,GAAKpF,GAAK;AAAA,IAC9B,OAAOrB;AAAA,IACP,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,UAAU;AAAA,EAChB,CAAK,IAEDyG,EAAIpF,KAAOrB,GAGNyG;AACT;AAEA,IAAIsiE,IACAC,KAAW;AAAA,EACb,QAAQ;AAAA,EACR,KAAK;AAAA,EAEL,IAAI;AAAA,EACJ,GAAG;AACL;AAEA,SAASC,KAAkB;AACzB,MAAIF,OAAiB;AACnB,WAAOA;AAGT,EAAAA,KAAe;AACf,MAAIh6D,IAAQ,SAAS,cAAc,GAAG,EAAE,OACpCm6D,IAAW;AAEf,WAAS7nE,KAAO2nE;AACd,IAAI3nE,IAAM6nE,KAAYn6D,MACpBg6D,KAAe1nE;AAInB,SAAO0nE;AACT;AAEA,SAAS/zB,KAAoB;AAC3B,SAAOi0B,GAAiB,IAAG,GAAG,OAAOA,MAAmB,oBAAoB,IAAI;AAClF;AAEA,SAASE,KAAmB;AAC1B,SAAOF,GAAiB,IAAG,GAAG,OAAOA,MAAmB,WAAW,IAAI;AACzE;AACA,SAASG,GAAsBtmE,GAAM9C,GAAO;AAC1C,MAAI7C,IAAO63C;AAEX,EAAI73C,MACF2F,EAAK,MAAM3F,KAAQ6C,GAEf7C,MAAS,yBACX2F,EAAK,MAAM,qBAAqB9C;AAGtC;AAEA,SAASqpE,GAAavmE,GAAM9C,GAAO;AACjC,MAAI7C,IAAOgsE;AAEX,EAAIhsE,MACF2F,EAAK,MAAM3F,KAAQ6C,GAEf7C,MAAS,gBACX2F,EAAK,MAAM,YAAY9C;AAG7B;AAEA,SAASspE,GAAsBxmE,GAAM;AACnC,SAAOA,EAAK,MAAM,sBAAsBA,EAAK,MAAMkyC,GAAiB;AACtE;AACA,SAASu0B,GAAezmE,GAAM;AAC5B,MAAIiM,IAAQ,OAAO,iBAAiBjM,GAAM,IAAI,GAC1C0mE,IAAYz6D,EAAM,iBAAiB,WAAW,KAAKA,EAAM,iBAAiBo6D,GAAgB,CAAE;AAEhG,MAAIK,KAAaA,MAAc,QAAQ;AACrC,QAAIC,IAASD,EAAU,QAAQ,eAAe,EAAE,EAAE,MAAM,GAAG;AAC3D,WAAO;AAAA,MACL,GAAG,WAAWC,EAAO,OAAOA,EAAO,IAAI,CAAC;AAAA,MACxC,GAAG,WAAWA,EAAO,OAAOA,EAAO,IAAI,CAAC;AAAA,IAC9C;AAAA,EACG;AAED,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,EACP;AACA;AACA,IAAIC,KAAW,kBACXC,KAAW;AACf,SAASC,GAAe9mE,GAAM+mE,GAAI;AAChC,MAAI96D,IAAQ,OAAO,iBAAiBjM,GAAM,IAAI,GAC1C0mE,IAAYz6D,EAAM,iBAAiB,WAAW,KAAKA,EAAM,iBAAiBo6D,GAAgB,CAAE;AAEhG,MAAIK,KAAaA,MAAc,QAAQ;AACrC,QAAIt9D,GACA49D,IAAUN,EAAU,MAAME,EAAQ;AAEtC,QAAII;AACF,MAAAA,IAAUA,EAAQ,IAClB59D,IAAM49D,EAAQ,MAAM,GAAG,EAAE,IAAI,SAAUlvE,GAAM;AAC3C,eAAO,WAAWA,GAAM,EAAE;AAAA,MAClC,CAAO,GACDsR,EAAI,KAAK29D,EAAG,GACZ39D,EAAI,KAAK29D,EAAG,GACZR,GAAavmE,GAAM,UAAU,OAAOoJ,EAAI,KAAK,GAAG,GAAG,GAAG,CAAC;AAAA,SAClD;AACL,UAAI69D,IAAUP,EAAU,MAAMG,EAAQ,EAAE;AACxC,MAAAz9D,IAAM69D,EAAQ,MAAM,GAAG,EAAE,IAAI,SAAUnvE,GAAM;AAC3C,eAAO,WAAWA,GAAM,EAAE;AAAA,MAClC,CAAO,GACDsR,EAAI,MAAM29D,EAAG,GACb39D,EAAI,MAAM29D,EAAG,GACbR,GAAavmE,GAAM,YAAY,OAAOoJ,EAAI,KAAK,GAAG,GAAG,GAAG,CAAC;AAAA,IAC1D;AAAA,EACL;AACI,IAAAm9D,GAAavmE,GAAM,cAAc,OAAO+mE,EAAG,GAAG,iBAAiB,EAAE,OAAOA,EAAG,GAAG,mBAAmB,CAAC;AAEtG;AAEA,IAAIG,KAAS,wCAAwC,QACjDC;AAEJ,SAASC,GAAcC,GAAM;AAC3B,MAAIC,IAAgBD,EAAK,MAAM;AAC/B,EAAAA,EAAK,MAAM,UAAU,QACrBA,EAAK,cAELA,EAAK,MAAM,UAAUC;AACvB;AAEA,SAASv3D,GAAIw3D,GAAIltE,GAAM8I,GAAG;AACxB,MAAIjG,IAAQiG;AAEZ,MAAIgC,GAAQ9K,CAAI,MAAM,UAAU;AAC9B,aAAS4F,KAAK5F;AACZ,MAAIA,EAAK,eAAe4F,CAAC,KACvB8P,GAAIw3D,GAAItnE,GAAG5F,EAAK4F,EAAE;AAItB;AAAA,EACD;AAED,MAAI,OAAO/C,IAAU,KAAa;AAChC,IAAI,OAAOA,KAAU,aACnBA,IAAQ,GAAG,OAAOA,GAAO,IAAI,IAG/BqqE,EAAG,MAAMltE,KAAQ6C;AACjB;AAAA,EACD;AAED,SAAOiqE,GAAkBI,GAAIltE,CAAI;AACnC;AAEA,SAASmtE,GAAkBH,GAAM;AAC/B,MAAIzX,GACAp1D,GACA+K,GACAkiE,IAAMJ,EAAK,eACXK,IAAOD,EAAI,MACXE,IAAUF,KAAOA,EAAI;AAEzB,SAAA7X,IAAMyX,EAAK,yBAIX7sE,IAAI,KAAK,MAAMo1D,EAAI,IAAI,GACvBrqD,IAAI,KAAK,MAAMqqD,EAAI,GAAG,GAkBtBp1D,KAAKmtE,EAAQ,cAAcD,EAAK,cAAc,GAC9CniE,KAAKoiE,EAAQ,aAAaD,EAAK,aAAa,GACrC;AAAA,IACL,MAAMltE;AAAA,IACN,KAAK+K;AAAA,EACT;AACA;AAEA,SAASqiE,GAAUtiE,GAAG+2C,GAAK;AACzB,MAAIp8B,IAAM3a,EAAE,OAAO,OAAO+2C,IAAM,MAAM,KAAK,QAAQ,IAC/Cx3C,IAAS,SAAS,OAAOw3C,IAAM,QAAQ,MAAM;AAEjD,MAAI,OAAOp8B,KAAQ,UAAU;AAC3B,QAAIrqB,IAAI0P,EAAE;AAEV,IAAA2a,IAAMrqB,EAAE,gBAAgBiP,IAEpB,OAAOob,KAAQ,aAEjBA,IAAMrqB,EAAE,KAAKiP;AAAA,EAEhB;AAED,SAAOob;AACT;AAEA,SAAS4nD,GAAcviE,GAAG;AACxB,SAAOsiE,GAAUtiE,CAAC;AACpB;AAEA,SAASwiE,GAAaxiE,GAAG;AACvB,SAAOsiE,GAAUtiE,GAAG,EAAI;AAC1B;AAEA,SAASyiE,GAAUR,GAAI;AACrB,MAAIS,IAAMR,GAAkBD,CAAE,GAC1BE,IAAMF,EAAG,eACTjiE,IAAImiE,EAAI,eAAeA,EAAI;AAC/B,SAAAO,EAAI,QAAQH,GAAcviE,CAAC,GAC3B0iE,EAAI,OAAOF,GAAaxiE,CAAC,GAClB0iE;AACT;AAOA,SAASC,GAAStkE,GAAK;AAIrB,SAAOA,KAAQ,QAA6BA,KAAOA,EAAI;AACzD;AAEA,SAASukE,GAAYloE,GAAM;AACzB,SAAIioE,GAASjoE,CAAI,IACRA,EAAK,WAGVA,EAAK,aAAa,IACbA,IAGFA,EAAK;AACd;AAEA,SAASmoE,GAAkBd,GAAMhtE,GAAM+tE,GAAI;AACzC,MAAIC,IAAgBD,GAChBz/C,IAAM,IACN/yB,IAAIsyE,GAAYb,CAAI;AACxB,SAAAgB,IAAgBA,KAAiBzyE,EAAE,YAAY,iBAAiByxE,GAAM,IAAI,GAEtEgB,MACF1/C,IAAM0/C,EAAc,iBAAiBhuE,CAAI,KAAKguE,EAAchuE,KAGvDsuB;AACT;AAEA,IAAI2/C,KAAgB,IAAI,OAAO,KAAK,OAAOpB,IAAQ,iBAAiB,GAAG,GAAG,GAEtEqB,KAAS,6BACTC,KAAgB,gBAChBC,KAAgB,gBAChBC,KAAO,QACPC,KAAK;AAET,SAASC,GAAoBvB,GAAMhtE,GAAM;AAGvC,MAAI4lB,IAAMonD,EAAKmB,OAAkBnB,EAAKmB,IAAenuE;AAUrD,MAAIiuE,GAAc,KAAKroD,CAAG,KAAK,CAACsoD,GAAO,KAAKluE,CAAI,GAAG;AAEjD,QAAI4R,IAAQo7D,EAAK,OACbtqD,IAAO9Q,EAAMy8D,KACbG,IAASxB,EAAKoB,IAAeC;AAEjC,IAAArB,EAAKoB,IAAeC,MAAQrB,EAAKmB,IAAeE,KAEhDz8D,EAAMy8D,MAAQruE,MAAS,aAAa,QAAQ4lB,KAAO,GACnDA,IAAMhU,EAAM,YAAY08D,IAExB18D,EAAMy8D,MAAQ3rD,GACdsqD,EAAKoB,IAAeC,MAAQG;AAAA,EAC7B;AAED,SAAO5oD,MAAQ,KAAK,SAASA;AAC/B;AAEI,OAAO,SAAW,QACpBknD,KAAoB,OAAO,mBAAmBgB,KAAoBS;AAGpE,SAASE,GAAmBC,GAAKv5D,GAAQ;AACvC,SAAIu5D,MAAQ,SACHv5D,EAAO,cAAc,UAAUu5D,IAGjCv5D,EAAO,eAAe,WAAWu5D;AAC1C;AAEA,SAASC,GAAwBD,GAAK;AACpC,MAAIA,MAAQ;AACV,WAAO;AACF,MAAIA,MAAQ;AACjB,WAAO;AACF,MAAIA,MAAQ;AACjB,WAAO;AACF,MAAIA,MAAQ;AACjB,WAAO;AAEX;AAGA,SAASE,GAAW5B,GAAMzwD,GAAQpH,GAAQ;AAExC,EAAIO,GAAIs3D,GAAM,UAAU,MAAM,aAC5BA,EAAK,MAAM,WAAW;AAGxB,MAAI6B,IAAU,MACVC,IAAU,MACVC,IAAqBN,GAAmB,QAAQt5D,CAAM,GACtD65D,IAAmBP,GAAmB,OAAOt5D,CAAM,GACnD85D,IAA6BN,GAAwBI,CAAkB,GACvEG,IAA2BP,GAAwBK,CAAgB;AAEvE,EAAID,MAAuB,WACzBF,IAAU,MAGRG,MAAqB,UACvBF,IAAU;AAGZ,MAAIK,IAAqB,IACrBC,IAAiB1B,GAAUV,CAAI;AAEnC,GAAI,UAAUzwD,KAAU,SAASA,OAC/B4yD,IAAqBhD,GAAsBa,CAAI,KAAK,IACpDf,GAAsBe,GAAM,MAAM,IAGhC,UAAUzwD,MACZywD,EAAK,MAAMiC,KAA8B,IACzCjC,EAAK,MAAM+B,KAAsB,GAAG,OAAOF,GAAS,IAAI,IAGtD,SAAStyD,MACXywD,EAAK,MAAMkC,KAA4B,IACvClC,EAAK,MAAMgC,KAAoB,GAAG,OAAOF,GAAS,IAAI,IAIxD/B,GAAcC,CAAI;AAClB,MAAIqC,IAAM3B,GAAUV,CAAI,GACpBC,IAAgB,CAAA;AAEpB,WAAS/oE,KAAOqY;AACd,QAAIA,EAAO,eAAerY,CAAG,GAAG;AAC9B,UAAIwqE,IAAMD,GAAmBvqE,GAAKiR,CAAM,GACpCm6D,IAASprE,MAAQ,SAAS2qE,IAAUC,GACpCS,IAAMH,EAAelrE,KAAOmrE,EAAInrE;AAEpC,MAAIwqE,MAAQxqE,IACV+oE,EAAcyB,KAAOY,IAASC,IAE9BtC,EAAcyB,KAAOY,IAASC;AAAA,IAEjC;AAGH,EAAA75D,GAAIs3D,GAAMC,CAAa,GAEvBF,GAAcC,CAAI,IAEd,UAAUzwD,KAAU,SAASA,MAC/B0vD,GAAsBe,GAAMmC,CAAkB;AAGhD,MAAIvpD,IAAM,CAAA;AAEV,WAAS3X,KAAQsO;AACf,QAAIA,EAAO,eAAetO,CAAI,GAAG;AAC/B,UAAIuhE,IAAOf,GAAmBxgE,GAAMkH,CAAM,GAEtCs6D,IAAOlzD,EAAOtO,KAAQmhE,EAAenhE;AAEzC,MAAIA,MAASuhE,IACX5pD,EAAI4pD,KAAQvC,EAAcuC,KAAQC,IAElC7pD,EAAI4pD,KAAQvC,EAAcuC,KAAQC;AAAA,IAErC;AAGH,EAAA/5D,GAAIs3D,GAAMpnD,CAAG;AACf;AAEA,SAAS8pD,GAAe1C,GAAMzwD,GAAQ;AACpC,MAAI6yD,IAAiB1B,GAAUV,CAAI,GAC/B2C,IAAavD,GAAeY,CAAI,GAChC4C,IAAW;AAAA,IACb,GAAGD,EAAW;AAAA,IACd,GAAGA,EAAW;AAAA,EAClB;AAEE,EAAI,UAAUpzD,MACZqzD,EAAS,IAAID,EAAW,IAAIpzD,EAAO,OAAO6yD,EAAe,OAGvD,SAAS7yD,MACXqzD,EAAS,IAAID,EAAW,IAAIpzD,EAAO,MAAM6yD,EAAe,MAG1D3C,GAAeO,GAAM4C,CAAQ;AAC/B;AAEA,SAASC,GAAU7C,GAAMzwD,GAAQpH,GAAQ;AACvC,MAAIA,EAAO,aAAa;AACtB,QAAI26D,IAAYpC,GAAUV,CAAI,GAC1B+C,IAAQD,EAAU,KAAK,QAAQ,CAAC,GAChCE,IAAOF,EAAU,IAAI,QAAQ,CAAC,GAC9BG,IAAQ1zD,EAAO,KAAK,QAAQ,CAAC,GAC7B2zD,IAAO3zD,EAAO,IAAI,QAAQ,CAAC;AAE/B,QAAIwzD,MAAUE,KAASD,MAASE;AAC9B;AAAA,EAEH;AAED,EAAI/6D,EAAO,eAAeA,EAAO,eAC/By5D,GAAW5B,GAAMzwD,GAAQpH,CAAM,IACtBA,EAAO,mBAAmB62D,GAAkB,KAAI,SAAS,KAAK,QACvE0D,GAAe1C,GAAMzwD,CAAM,IAE3BqyD,GAAW5B,GAAMzwD,GAAQpH,CAAM;AAEnC;AAEA,SAASg7D,GAAKphE,GAAKtO,GAAI;AACrB,WAASmF,IAAI,GAAGA,IAAImJ,EAAI,QAAQnJ;AAC9B,IAAAnF,EAAGsO,EAAInJ,EAAE;AAEb;AAEA,SAASwqE,GAAcpD,GAAM;AAC3B,SAAOF,GAAkBE,GAAM,WAAW,MAAM;AAClD;AAEA,IAAIqD,KAAa,CAAC,UAAU,UAAU,SAAS,GAC3CC,KAAgB,IAChBC,KAAgB,GAChBC,KAAe,GACfC,KAAe;AAEnB,SAASC,GAAK1D,GAAMvgD,GAASnP,GAAU;AACrC,MAAI+xD,IAAM,CAAA,GACNz9D,IAAQo7D,EAAK,OACbhtE;AAEJ,OAAKA,KAAQysB;AACX,IAAIA,EAAQ,eAAezsB,CAAI,MAC7BqvE,EAAIrvE,KAAQ4R,EAAM5R,IAClB4R,EAAM5R,KAAQysB,EAAQzsB;AAI1B,EAAAsd,EAAS,KAAK0vD,CAAI;AAElB,OAAKhtE,KAAQysB;AACX,IAAIA,EAAQ,eAAezsB,CAAI,MAC7B4R,EAAM5R,KAAQqvE,EAAIrvE;AAGxB;AAEA,SAAS2wE,GAAY3D,GAAMrtE,GAAO22D,GAAO;AACvC,MAAIzzD,IAAQ,GACRwyC,GACAj4B,GACAxX;AAEJ,OAAKwX,IAAI,GAAGA,IAAIzd,EAAM,QAAQyd;AAG5B,QAFAi4B,IAAO11C,EAAMyd,IAETi4B;AACF,WAAKzvC,IAAI,GAAGA,IAAI0wD,EAAM,QAAQ1wD,KAAK;AACjC,YAAIgrE,IAAU;AAEd,QAAIv7B,MAAS,WACXu7B,IAAU,GAAG,OAAOv7B,CAAI,EAAE,OAAOihB,EAAM1wD,IAAI,OAAO,IAElDgrE,IAAUv7B,IAAOihB,EAAM1wD,IAGzB/C,KAAS,WAAWiqE,GAAkBE,GAAM4D,CAAO,CAAC,KAAK;AAAA,MAC1D;AAIL,SAAO/tE;AACT;AAEA,IAAIguE,KAAW;AAAA,EACb,WAAW,SAAmB/uE,GAAS;AACrC,QAAIkZ,IAASlZ;AAEb;AACE,MAAIkZ,EAAO,aAAa,MAAMA,EAAO,OACnCA,IAASA,EAAO,OAEhBA,IAASA,EAAO;AAAA,WAEXA,KAAUA,EAAO,aAAa,KAAKA,EAAO,aAAa;AAEhE,WAAOA;AAAA,EACR;AACH;AACAm1D,GAAK,CAAC,SAAS,QAAQ,GAAG,SAAUnwE,GAAM;AACxC,EAAA6wE,GAAS,MAAM,OAAO7wE,CAAI,KAAK,SAAU8wE,GAAQ;AAC/C,QAAIv1E,IAAIu1E,EAAO;AACf,WAAO,KAAK;AAAA,MAEZv1E,EAAE,gBAAgB,SAAS,OAAOyE,CAAI;AAAA,MACtCzE,EAAE,KAAK,SAAS,OAAOyE,CAAI;AAAA,MAAI6wE,GAAS,WAAW,OAAO7wE,CAAI,GAAGzE,CAAC;AAAA,IAAC;AAAA,EACvE,GAEEs1E,GAAS,WAAW,OAAO7wE,CAAI,KAAK,SAAUoT,GAAK;AAEjD,QAAIiiC,IAAO,SAAS,OAAOr1C,CAAI,GAC3BotE,IAAMh6D,EAAI,UACVi6D,IAAOD,EAAI,MACX2D,IAAkB3D,EAAI,iBACtB4D,IAAsBD,EAAgB17B;AAG1C,WAAO+3B,EAAI,eAAe,gBAAgB4D,KAAuB3D,KAAQA,EAAKh4B,MAAS27B;AAAA,EAC3F;AACA,CAAC;AAUD,SAASC,GAAMjE,GAAMhtE,GAAMyC,GAAI;AAC7B,MAAIyuE,IAAQzuE;AAEZ,MAAImrE,GAASZ,CAAI;AACf,WAAOhtE,MAAS,UAAU6wE,GAAS,cAAc7D,CAAI,IAAI6D,GAAS,eAAe7D,CAAI;AAChF,MAAIA,EAAK,aAAa;AAC3B,WAAOhtE,MAAS,UAAU6wE,GAAS,SAAS7D,CAAI,IAAI6D,GAAS,UAAU7D,CAAI;AAG7E,MAAI1W,IAAQt2D,MAAS,UAAU,CAAC,QAAQ,OAAO,IAAI,CAAC,OAAO,QAAQ,GAC/DmxE,IAAoC,KAAK,MAAxBnxE,MAAS,UAAqBgtE,EAAK,sBAAqB,EAAG,QAAoBA,EAAK,sBAAqB,EAAG,MAA5C,GACjFoE,IAAchB,GAAcpD,CAAI,GAChCqE,IAAc;AAElB,GAAIF,KAAmB,QAAwCA,KAAkB,OAC/EA,IAAiB,QAEjBE,IAAcvE,GAAkBE,GAAMhtE,CAAI,IAEtCqxE,KAAgB,QAAqC,OAAOA,CAAW,IAAI,OAC7EA,IAAcrE,EAAK,MAAMhtE,MAAS,IAIpCqxE,IAAc,WAAWA,CAAW,KAAK,IAGvCH,MAAU,WACZA,IAAQE,IAAcZ,KAAeF;AAGvC,MAAIgB,IAA8BH,MAAmB,UAAaC,GAC9D9iD,IAAM6iD,KAAkBE;AAE5B,SAAIH,MAAUZ,KACRgB,IACKhjD,IAAMqiD,GAAY3D,GAAM,CAAC,UAAU,SAAS,GAAG1W,CAAK,IAGtD+a,IACEC,IACLJ,MAAUV,KACLliD,IAGFA,KAAO4iD,MAAUX,KAAgB,CAACI,GAAY3D,GAAM,CAAC,QAAQ,GAAG1W,CAAK,IAAIqa,GAAY3D,GAAM,CAAC,QAAQ,GAAG1W,CAAK,KAG9G+a,IAAcV,GAAY3D,GAAMqD,GAAW,MAAMa,CAAK,GAAG5a,CAAK;AACvE;AAEA,IAAIib,KAAU;AAAA,EACZ,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,SAAS;AACX;AAEA,SAASC,KAAqB;AAC5B,WAASzjE,IAAO,UAAU,QAAQ7Q,IAAO,IAAI,MAAM6Q,CAAI,GAAG5Q,IAAQ,GAAGA,IAAQ4Q,GAAM5Q;AACjF,IAAAD,EAAKC,KAAS,UAAUA;AAG1B,MAAImxB,GACA0+C,IAAO9vE,EAAK;AAGhB,SAAI8vE,EAAK,gBAAgB,IACvB1+C,IAAM2iD,GAAM,MAAM,QAAW/zE,CAAI,IAEjCwzE,GAAK1D,GAAMuE,IAAS,WAAY;AAC9B,IAAAjjD,IAAM2iD,GAAM,MAAM,QAAW/zE,CAAI;AAAA,EACvC,CAAK,GAGIoxB;AACT;AAEA6hD,GAAK,CAAC,SAAS,QAAQ,GAAG,SAAUnwE,GAAM;AACxC,MAAIyxE,IAAQzxE,EAAK,OAAO,CAAC,EAAE,YAAW,IAAKA,EAAK,MAAM,CAAC;AAEvD,EAAA6wE,GAAS,QAAQ,OAAOY,CAAK,KAAK,SAAUvE,GAAIwE,GAAe;AAC7D,WAAOxE,KAAMsE,GAAmBtE,GAAIltE,GAAM0xE,IAAgBjB,KAAeD,EAAY;AAAA,EACzF;AAEE,MAAIla,IAAQt2D,MAAS,UAAU,CAAC,QAAQ,OAAO,IAAI,CAAC,OAAO,QAAQ;AAEnE,EAAA6wE,GAAS7wE,KAAQ,SAAUgtE,GAAMlkE,GAAG;AAClC,QAAIwlB,IAAMxlB;AAEV,QAAIwlB,MAAQ,QAAW;AACrB,UAAI0+C,GAAM;AACR,YAAIoE,IAAchB,GAAcpD,CAAI;AAEpC,eAAIoE,MACF9iD,KAAOqiD,GAAY3D,GAAM,CAAC,WAAW,QAAQ,GAAG1W,CAAK,IAGhD5gD,GAAIs3D,GAAMhtE,GAAMsuB,CAAG;AAAA,MAC3B;AAED;AAAA,IACD;AAED,WAAO0+C,KAAQwE,GAAmBxE,GAAMhtE,GAAMswE,EAAa;AAAA,EAC/D;AACA,CAAC;AAED,SAASrkC,GAAI5O,GAAI3jB,GAAM;AACrB,WAAS9T,KAAK8T;AACZ,IAAIA,EAAK,eAAe9T,CAAC,MACvBy3B,EAAGz3B,KAAK8T,EAAK9T;AAIjB,SAAOy3B;AACT;AAEA,IAAIs0C,KAAQ;AAAA,EACV,WAAW,SAAmBhsE,GAAM;AAClC,QAAIA,KAAQA,EAAK,YAAYA,EAAK;AAChC,aAAOA;AAGT,QAAIynE,IAAMznE,EAAK,iBAAiBA;AAChC,WAAOynE,EAAI,eAAeA,EAAI;AAAA,EAC/B;AAAA,EACD,aAAaS;AAAA,EACb,QAAQ,SAAgBX,GAAIrqE,GAAOsS,GAAQ;AACzC,QAAI,OAAOtS,IAAU;AACnB,MAAAgtE,GAAU3C,GAAIrqE,GAAOsS,KAAU,CAAE,CAAA;AAAA;AAEjC,aAAOu4D,GAAUR,CAAE;AAAA,EAEtB;AAAA,EACD,UAAUU;AAAA,EACV,MAAMuC;AAAA,EACN,KAAKz6D;AAAA,EACL,OAAO,SAAepM,GAAK;AACzB,QAAI1D,GACAggB,IAAM,CAAA;AAEV,SAAKhgB,KAAK0D;AACR,MAAIA,EAAI,eAAe1D,CAAC,MACtBggB,EAAIhgB,KAAK0D,EAAI1D;AAIjB,QAAIgsE,IAAWtoE,EAAI;AAEnB,QAAIsoE;AACF,WAAKhsE,KAAK0D;AACR,QAAIA,EAAI,eAAe1D,CAAC,MACtBggB,EAAI,SAAShgB,KAAK0D,EAAI,SAAS1D;AAKrC,WAAOggB;AAAA,EACR;AAAA,EACD,KAAKqmB;AAAA,EACL,qBAAqB,SAA6BhhC,GAAG;AACnD,WAAOuiE,GAAcviE,CAAC;AAAA,EACvB;AAAA,EACD,oBAAoB,SAA4BA,GAAG;AACjD,WAAOwiE,GAAaxiE,CAAC;AAAA,EACtB;AAAA,EACD,OAAO,WAAiB;AAGtB,aAFI2a,IAAM,CAAA,GAEDhgB,IAAI,GAAGA,IAAI,UAAU,QAAQA;AACpC,MAAA+rE,GAAM,IAAI/rD,GAAKhgB,IAAI,KAAK,UAAU,UAAUA,IAAI,SAAY,UAAUA,EAAE;AAG1E,WAAOggB;AAAA,EACR;AAAA,EACD,eAAe;AAAA,EACf,gBAAgB;AAClB;AACAqmB,GAAI0lC,IAAOd,EAAQ;AAMnB,IAAIgB,KAAYF,GAAM;AAEtB,SAASG,GAAgBhwE,GAAS;AAChC,MAAI6vE,GAAM,SAAS7vE,CAAO,KAAKA,EAAQ,aAAa;AAClD,WAAO;AAmBT,MAAIsrE,IAAMuE,GAAM,YAAY7vE,CAAO,GAC/BurE,IAAOD,EAAI,MACXpyD,GACA+2D,IAAgBJ,GAAM,IAAI7vE,GAAS,UAAU,GAC7CkwE,IAAaD,MAAkB,WAAWA,MAAkB;AAEhE,MAAI,CAACC;AACH,WAAOlwE,EAAQ,SAAS,YAAa,MAAK,SAAS,OAAO+vE,GAAU/vE,CAAO;AAG7E,OAAKkZ,IAAS62D,GAAU/vE,CAAO,GAAGkZ,KAAUA,MAAWqyD,KAAQryD,EAAO,aAAa,GAAGA,IAAS62D,GAAU72D,CAAM;AAG7G,QAFA+2D,IAAgBJ,GAAM,IAAI32D,GAAQ,UAAU,GAExC+2D,MAAkB;AACpB,aAAO/2D;AAIX,SAAO;AACT;AAEA,IAAIi3D,KAAcN,GAAM;AACxB,SAASO,GAAgBpwE,GAAS;AAChC,MAAI6vE,GAAM,SAAS7vE,CAAO,KAAKA,EAAQ,aAAa;AAClD,WAAO;AAGT,MAAIsrE,IAAMuE,GAAM,YAAY7vE,CAAO,GAC/BurE,IAAOD,EAAI,MACXpyD,IAAS;AAEb,OAAKA,IAASi3D,GAAYnwE,CAAO,GACjCkZ,KAAUA,MAAWqyD,KAAQryD,MAAWoyD,GAAKpyD,IAASi3D,GAAYj3D,CAAM,GAAG;AACzE,QAAI+2D,IAAgBJ,GAAM,IAAI32D,GAAQ,UAAU;AAEhD,QAAI+2D,MAAkB;AACpB,aAAO;AAAA,EAEV;AAED,SAAO;AACT;AAMA,SAASI,GAAyBrwE,GAASswE,GAAkB;AAc3D,WAbIC,IAAc;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,GACMnF,IAAK4E,GAAgBhwE,CAAO,GAC5BsrE,IAAMuE,GAAM,YAAY7vE,CAAO,GAC/BsR,IAAMg6D,EAAI,eAAeA,EAAI,cAC7BC,IAAOD,EAAI,MACX2D,IAAkB3D,EAAI,iBAGnBF,KAAI;AAET,SAAK,UAAU,UAAU,QAAQ,MAAM,MAAM,MAAMA,EAAG,gBAAgB,MAGtEA,MAAOG,KAAQH,MAAO6D,KAAmBY,GAAM,IAAIzE,GAAI,UAAU,MAAM,WAAW;AAChF,UAAIS,IAAMgE,GAAM,OAAOzE,CAAE;AAEzB,MAAAS,EAAI,QAAQT,EAAG,YACfS,EAAI,OAAOT,EAAG,WACdmF,EAAY,MAAM,KAAK,IAAIA,EAAY,KAAK1E,EAAI,GAAG,GACnD0E,EAAY,QAAQ,KAAK;AAAA,QAAIA,EAAY;AAAA,QACzC1E,EAAI,OAAOT,EAAG;AAAA,MAAW,GACzBmF,EAAY,SAAS,KAAK,IAAIA,EAAY,QAAQ1E,EAAI,MAAMT,EAAG,YAAY,GAC3EmF,EAAY,OAAO,KAAK,IAAIA,EAAY,MAAM1E,EAAI,IAAI;AAAA,IACvD,WAAUT,MAAOG,KAAQH,MAAO6D;AAC/B;AAGF,IAAA7D,IAAK4E,GAAgB5E,CAAE;AAAA,EACxB;AAKD,MAAIoF,IAAmB;AAEvB,MAAI,CAACX,GAAM,SAAS7vE,CAAO,KAAKA,EAAQ,aAAa,GAAG;AACtD,IAAAwwE,IAAmBxwE,EAAQ,MAAM;AACjC,QAAI+Y,IAAW82D,GAAM,IAAI7vE,GAAS,UAAU;AAE5C,IAAI+Y,MAAa,eACf/Y,EAAQ,MAAM,WAAW;AAAA,EAE5B;AAED,MAAIywE,IAAUZ,GAAM,oBAAoBv+D,CAAG,GACvCo/D,IAAUb,GAAM,mBAAmBv+D,CAAG,GACtCq/D,IAAgBd,GAAM,cAAcv+D,CAAG,GACvCs/D,IAAiBf,GAAM,eAAev+D,CAAG,GACzCu/D,IAAgB5B,EAAgB,aAChC6B,IAAiB7B,EAAgB,cAGjC8B,IAAY,OAAO,iBAAiBxF,CAAI;AAe5C,MAbIwF,EAAU,cAAc,aAC1BF,IAAgBv/D,EAAI,aAGlBy/D,EAAU,cAAc,aAC1BD,IAAiBx/D,EAAI,cAInBtR,EAAQ,UACVA,EAAQ,MAAM,WAAWwwE,IAGvBF,KAAoBF,GAAgBpwE,CAAO;AAE7C,IAAAuwE,EAAY,OAAO,KAAK,IAAIA,EAAY,MAAME,CAAO,GACrDF,EAAY,MAAM,KAAK,IAAIA,EAAY,KAAKG,CAAO,GACnDH,EAAY,QAAQ,KAAK,IAAIA,EAAY,OAAOE,IAAUE,CAAa,GACvEJ,EAAY,SAAS,KAAK,IAAIA,EAAY,QAAQG,IAAUE,CAAc;AAAA,OACrE;AAEL,QAAII,IAAkB,KAAK,IAAIH,GAAeJ,IAAUE,CAAa;AACrE,IAAAJ,EAAY,QAAQ,KAAK,IAAIA,EAAY,OAAOS,CAAe;AAC/D,QAAIC,IAAmB,KAAK,IAAIH,GAAgBJ,IAAUE,CAAc;AACxE,IAAAL,EAAY,SAAS,KAAK,IAAIA,EAAY,QAAQU,CAAgB;AAAA,EACnE;AAED,SAAOV,EAAY,OAAO,KAAKA,EAAY,QAAQ,KAAKA,EAAY,SAASA,EAAY,OAAOA,EAAY,QAAQA,EAAY,OAAOA,IAAc;AACvJ;AAEA,SAASW,GAAkBC,GAAaC,GAAUb,GAAaT,GAAU;AACvE,MAAIjE,IAAMgE,GAAM,MAAMsB,CAAW,GAC7B91D,IAAO;AAAA,IACT,OAAO+1D,EAAS;AAAA,IAChB,QAAQA,EAAS;AAAA,EACrB;AAEE,SAAItB,EAAS,WAAWjE,EAAI,OAAO0E,EAAY,SAC7C1E,EAAI,OAAO0E,EAAY,OAIrBT,EAAS,eAAejE,EAAI,QAAQ0E,EAAY,QAAQ1E,EAAI,OAAOxwD,EAAK,QAAQk1D,EAAY,UAC9Fl1D,EAAK,SAASwwD,EAAI,OAAOxwD,EAAK,QAAQk1D,EAAY,QAIhDT,EAAS,WAAWjE,EAAI,OAAOxwD,EAAK,QAAQk1D,EAAY,UAE1D1E,EAAI,OAAO,KAAK,IAAI0E,EAAY,QAAQl1D,EAAK,OAAOk1D,EAAY,IAAI,IAIlET,EAAS,WAAWjE,EAAI,MAAM0E,EAAY,QAC5C1E,EAAI,MAAM0E,EAAY,MAIpBT,EAAS,gBAAgBjE,EAAI,OAAO0E,EAAY,OAAO1E,EAAI,MAAMxwD,EAAK,SAASk1D,EAAY,WAC7Fl1D,EAAK,UAAUwwD,EAAI,MAAMxwD,EAAK,SAASk1D,EAAY,SAIjDT,EAAS,WAAWjE,EAAI,MAAMxwD,EAAK,SAASk1D,EAAY,WAE1D1E,EAAI,MAAM,KAAK,IAAI0E,EAAY,SAASl1D,EAAK,QAAQk1D,EAAY,GAAG,IAG/DV,GAAM,IAAIhE,GAAKxwD,CAAI;AAC5B;AAEA,SAASg2D,GAAUxtE,GAAM;AACvB,MAAI4W,GACAtR,GACAxP;AAEJ,MAAI,CAACk2E,GAAM,SAAShsE,CAAI,KAAKA,EAAK,aAAa;AAC7C,IAAA4W,IAASo1D,GAAM,OAAOhsE,CAAI,GAC1BsF,IAAI0mE,GAAM,WAAWhsE,CAAI,GACzBlK,IAAIk2E,GAAM,YAAYhsE,CAAI;AAAA,OACrB;AACL,QAAIyN,IAAMu+D,GAAM,UAAUhsE,CAAI;AAC9B,IAAA4W,IAAS;AAAA,MACP,MAAMo1D,GAAM,oBAAoBv+D,CAAG;AAAA,MACnC,KAAKu+D,GAAM,mBAAmBv+D,CAAG;AAAA,IACvC,GACInI,IAAI0mE,GAAM,cAAcv+D,CAAG,GAC3B3X,IAAIk2E,GAAM,eAAev+D,CAAG;AAAA,EAC7B;AAED,SAAAmJ,EAAO,QAAQtR,GACfsR,EAAO,SAAS9gB,GACT8gB;AACT;AAKA,SAAS62D,GAAeC,GAAQzI,GAAO;AACrC,MAAI0I,IAAI1I,EAAM,OAAO,CAAC,GAClB2I,IAAI3I,EAAM,OAAO,CAAC,GAClB3/D,IAAIooE,EAAO,OACX53E,IAAI43E,EAAO,QACXlzE,IAAIkzE,EAAO,MACXnoE,IAAImoE,EAAO;AAEf,SAAIC,MAAM,MACRpoE,KAAKzP,IAAI,IACA63E,MAAM,QACfpoE,KAAKzP,IAGH83E,MAAM,MACRpzE,KAAK8K,IAAI,IACAsoE,MAAM,QACfpzE,KAAK8K,IAGA;AAAA,IACL,MAAM9K;AAAA,IACN,KAAK+K;AAAA,EACT;AACA;AAEA,SAASsoE,GAAeN,GAAUO,GAAep3D,GAAQE,GAAQm3D,GAAc;AAC7E,MAAIC,IAAKP,GAAeK,GAAep3D,EAAO,EAAE,GAC5Cu3D,IAAKR,GAAeF,GAAU72D,EAAO,EAAE,GACvC8X,IAAO,CAACy/C,EAAG,OAAOD,EAAG,MAAMC,EAAG,MAAMD,EAAG,GAAG;AAC9C,SAAO;AAAA,IACL,MAAM,KAAK,MAAMT,EAAS,OAAO/+C,EAAK,KAAK5X,EAAO,KAAKm3D,EAAa,EAAE;AAAA,IACtE,KAAK,KAAK,MAAMR,EAAS,MAAM/+C,EAAK,KAAK5X,EAAO,KAAKm3D,EAAa,EAAE;AAAA,EACxE;AACA;AAOA,SAASG,GAAQZ,GAAaC,GAAUb,GAAa;AACnD,SAAOY,EAAY,OAAOZ,EAAY,QAAQY,EAAY,OAAOC,EAAS,QAAQb,EAAY;AAChG;AAEA,SAASyB,GAAQb,GAAaC,GAAUb,GAAa;AACnD,SAAOY,EAAY,MAAMZ,EAAY,OAAOY,EAAY,MAAMC,EAAS,SAASb,EAAY;AAC9F;AAEA,SAAS0B,GAAgBd,GAAaC,GAAUb,GAAa;AAC3D,SAAOY,EAAY,OAAOZ,EAAY,SAASY,EAAY,OAAOC,EAAS,QAAQb,EAAY;AACjG;AAEA,SAAS2B,GAAgBf,GAAaC,GAAUb,GAAa;AAC3D,SAAOY,EAAY,MAAMZ,EAAY,UAAUY,EAAY,MAAMC,EAAS,SAASb,EAAY;AACjG;AAEA,SAAS4B,GAAK53D,GAAQ63D,GAAKv0C,GAAK;AAC9B,MAAI/Z,IAAM,CAAA;AACV,SAAA+rD,GAAM,KAAKt1D,GAAQ,SAAUphB,GAAG;AAC9B,IAAA2qB,EAAI,KAAK3qB,EAAE,QAAQi5E,GAAK,SAAUn5E,GAAG;AACnC,aAAO4kC,EAAI5kC;AAAA,IACZ,CAAA,CAAC;AAAA,EACN,CAAG,GACM6qB;AACT;AAEA,SAASuuD,GAAW53D,GAAQrC,GAAO;AACjC,SAAAqC,EAAOrC,KAAS,CAACqC,EAAOrC,IACjBqC;AACT;AAEA,SAAS63D,GAAcpkE,GAAKqkE,GAAW;AACrC,MAAIr5E;AAEJ,SAAI,KAAK,KAAKgV,CAAG,IACfhV,IAAI,SAASgV,EAAI,UAAU,GAAGA,EAAI,SAAS,CAAC,GAAG,EAAE,IAAI,MAAMqkE,IAE3Dr5E,IAAI,SAASgV,GAAK,EAAE,GAGfhV,KAAK;AACd;AAEA,SAASs5E,GAAgB/3D,GAAQ2wD,GAAI;AACnC,EAAA3wD,EAAO,KAAK63D,GAAc73D,EAAO,IAAI2wD,EAAG,KAAK,GAC7C3wD,EAAO,KAAK63D,GAAc73D,EAAO,IAAI2wD,EAAG,MAAM;AAChD;AAQA,SAASqH,GAAQrH,GAAIsH,GAAW5J,GAAO6J,GAAoB;AACzD,MAAIp4D,IAASuuD,EAAM,QACfruD,IAASquD,EAAM,UAAU,CAAC,GAAG,CAAC,GAC9B8I,IAAe9I,EAAM,gBAAgB,CAAC,GAAG,CAAC,GAC1CgH,IAAWhH,EAAM,UACjB3qE,IAAS2qE,EAAM,UAAUsC;AAC7B,EAAA3wD,IAAS,CAAE,EAAC,OAAOA,CAAM,GACzBm3D,IAAe,CAAE,EAAC,OAAOA,CAAY,GACrC9B,IAAWA,KAAY;AACvB,MAAI8C,IAAiB,CAAA,GACjBC,IAAO,GACPvC,IAAmB,CAAC,EAAER,KAAYA,EAAS,mBAE3CS,IAAcF,GAAyBlyE,GAAQmyE,CAAgB,GAE/Dc,IAAWC,GAAUlzE,CAAM;AAE/B,EAAAq0E,GAAgB/3D,GAAQ22D,CAAQ,GAChCoB,GAAgBZ,GAAcc,CAAS;AAEvC,MAAIvB,IAAcO,GAAeN,GAAUsB,GAAWn4D,GAAQE,GAAQm3D,CAAY,GAE9EkB,IAAcjD,GAAM,MAAMuB,GAAUD,CAAW;AAEnD,MAAIZ,MAAgBT,EAAS,WAAWA,EAAS,YAAY6C,GAAoB;AAC/E,QAAI7C,EAAS,WAEPiC,GAAQZ,GAAaC,GAAUb,CAAW,GAAG;AAE/C,UAAIwC,IAAYZ,GAAK53D,GAAQ,UAAU;AAAA,QACrC,GAAG;AAAA,QACH,GAAG;AAAA,MACb,CAAS,GAEGy4D,IAAYX,GAAW53D,GAAQ,CAAC,GAChCw4D,IAAkBZ,GAAWT,GAAc,CAAC,GAC5CsB,IAAiBxB,GAAeN,GAAUsB,GAAWK,GAAWC,GAAWC,CAAe;AAE9F,MAAKhB,GAAgBiB,GAAgB9B,GAAUb,CAAW,MACxDsC,IAAO,GACPt4D,IAASw4D,GACTt4D,IAASu4D,GACTpB,IAAeqB;AAAA,IAElB;AAGH,QAAInD,EAAS,WAEPkC,GAAQb,GAAaC,GAAUb,CAAW,GAAG;AAE/C,UAAI4C,IAAahB,GAAK53D,GAAQ,UAAU;AAAA,QACtC,GAAG;AAAA,QACH,GAAG;AAAA,MACb,CAAS,GAGG64D,IAAaf,GAAW53D,GAAQ,CAAC,GAEjC44D,IAAmBhB,GAAWT,GAAc,CAAC,GAE7C0B,IAAkB5B,GAAeN,GAAUsB,GAAWS,GAAYC,GAAYC,CAAgB;AAElG,MAAKnB,GAAgBoB,GAAiBlC,GAAUb,CAAW,MACzDsC,IAAO,GACPt4D,IAAS44D,GACT14D,IAAS24D,GACTxB,IAAeyB;AAAA,IAElB;AAIH,IAAIR,MACF1B,IAAcO,GAAeN,GAAUsB,GAAWn4D,GAAQE,GAAQm3D,CAAY,GAC9E/B,GAAM,IAAIiD,GAAa3B,CAAW;AAGpC,QAAIoC,IAAexB,GAAQZ,GAAaC,GAAUb,CAAW,GACzDiD,IAAexB,GAAQb,GAAaC,GAAUb,CAAW;AAG7D,QAAIgD,KAAgBC,GAAc;AAChC,UAAIC,IAAcl5D;AAElB,MAAIg5D,MACFE,IAActB,GAAK53D,GAAQ,UAAU;AAAA,QACnC,GAAG;AAAA,QACH,GAAG;AAAA,MACb,CAAS,IAGCi5D,MACFC,IAActB,GAAK53D,GAAQ,UAAU;AAAA,QACnC,GAAG;AAAA,QACH,GAAG;AAAA,MACb,CAAS,IAGHA,IAASk5D,GACTh5D,IAASquD,EAAM,UAAU,CAAC,GAAG,CAAC,GAC9B8I,IAAe9I,EAAM,gBAAgB,CAAC,GAAG,CAAC;AAAA,IAC3C;AAGD,IAAA8J,EAAe,UAAU9C,EAAS,WAAWyD,GAC7CX,EAAe,UAAU9C,EAAS,WAAW0D,IAEzCZ,EAAe,WAAWA,EAAe,aAC3CE,IAAc5B,GAAkBC,GAAaC,GAAUb,GAAaqC,CAAc;AAAA,EAErF;AAGD,SAAIE,EAAY,UAAU1B,EAAS,SACjCvB,GAAM,IAAI1xE,GAAQ,SAAS0xE,GAAM,MAAM1xE,CAAM,IAAI20E,EAAY,QAAQ1B,EAAS,KAAK,GAGjF0B,EAAY,WAAW1B,EAAS,UAClCvB,GAAM,IAAI1xE,GAAQ,UAAU0xE,GAAM,OAAO1xE,CAAM,IAAI20E,EAAY,SAAS1B,EAAS,MAAM,GAMzFvB,GAAM,OAAO1xE,GAAQ;AAAA,IACnB,MAAM20E,EAAY;AAAA,IAClB,KAAKA,EAAY;AAAA,EACrB,GAAK;AAAA,IACD,aAAahK,EAAM;AAAA,IACnB,cAAcA,EAAM;AAAA,IACpB,iBAAiBA,EAAM;AAAA,IACvB,aAAaA,EAAM;AAAA,EACvB,CAAG,GACM;AAAA,IACL,QAAQvuD;AAAA,IACR,QAAQE;AAAA,IACR,cAAcm3D;AAAA,IACd,UAAUgB;AAAA,EACd;AACA;AAUA,SAASc,GAAmB5rE,GAAQwoE,GAAkB;AACpD,MAAIC,IAAcF,GAAyBvoE,GAAQwoE,CAAgB,GAC/DqD,IAAetC,GAAUvpE,CAAM;AACnC,SAAO,CAACyoE,KAAeoD,EAAa,OAAOA,EAAa,SAASpD,EAAY,QAAQoD,EAAa,MAAMA,EAAa,UAAUpD,EAAY,OAAOoD,EAAa,QAAQpD,EAAY,SAASoD,EAAa,OAAOpD,EAAY;AAC9N;AAEA,SAASqD,GAAaxI,GAAIyI,GAAS/K,GAAO;AACxC,MAAIhhE,IAASghE,EAAM,UAAU+K,GACzBlC,IAAgBN,GAAUvpE,CAAM,GAChCgsE,IAA0B,CAACJ,GAAmB5rE,GAAQghE,EAAM,YAAYA,EAAM,SAAS,gBAAgB;AAC3G,SAAO2J,GAAQrH,GAAIuG,GAAe7I,GAAOgL,CAAuB;AAClE;AAEAF,GAAa,oBAAoB5D;AACjC4D,GAAa,6BAA6BvD;AAO1C,SAAS0D,GAAW3I,GAAI4I,GAAUlL,GAAO;AACvC,MAAImL,GACAC,GACA5I,IAAMuE,GAAM,YAAYzE,CAAE,GAC1B95D,IAAMg6D,EAAI,eAAeA,EAAI,cAC7BmF,IAAUZ,GAAM,oBAAoBv+D,CAAG,GACvCo/D,IAAUb,GAAM,mBAAmBv+D,CAAG,GACtCq/D,IAAgBd,GAAM,cAAcv+D,CAAG,GACvCs/D,IAAiBf,GAAM,eAAev+D,CAAG;AAE7C,EAAI,WAAW0iE,IACbC,IAAQD,EAAS,QAEjBC,IAAQxD,IAAUuD,EAAS,SAGzB,WAAWA,IACbE,IAAQF,EAAS,QAEjBE,IAAQxD,IAAUsD,EAAS;AAG7B,MAAItB,IAAY;AAAA,IACd,MAAMuB;AAAA,IACN,KAAKC;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,EACZ,GACMC,IAAcF,KAAS,KAAKA,KAASxD,IAAUE,KAAiBuD,KAAS,KAAKA,KAASxD,IAAUE,GAEjGr2D,IAAS,CAACuuD,EAAM,OAAO,IAAI,IAAI;AACnC,SAAO2J,GAAQrH,GAAIsH,GAAW7qE,GAAeA,GAAe,CAAE,GAAEihE,CAAK,GAAG,IAAI;AAAA,IAC1E,QAAQvuD;AAAA,EACZ,CAAG,GAAG45D,CAAW;AACjB;ACxzCe,SAASnM,GAAqBlgE,GAAQmgE,GAAWj5C,GAAI3b,GAAQ;AAE1E,MAAImI,IAAWo5B,GAAS,0BAA0B,SAAal7C,GAAG;AAChEk7C,IAAAA,GAAS,wBAAwB5lB,GAAIt1B,CAAC;AAAA,EACvC,IAAGs1B;AAEJ,SAAIlnB,EAAO,oBACTA,EAAO,iBAAiBmgE,GAAWzsD,GAAUnI,CAAM,GAG9C;AAAA,IACL,QAAQ,WAAkB;AACxB,MAAIvL,EAAO,uBACTA,EAAO,oBAAoBmgE,GAAWzsD,GAAUnI,CAAM;AAAA,IAEzD;AAAA,EACL;AACA;ACXA,SAAS+gE,KAAiB;AACxB,OAAK,WAAW,IAChB,KAAK,OAAO;AACd;AAEA,IAAAC,KAAiBD;ACoBjB,SAASE,GAAGvzE,GAAOwzE,GAAO;AACxB,SAAOxzE,MAAUwzE,KAAUxzE,MAAUA,KAASwzE,MAAUA;AAC1D;AAEA,IAAAC,KAAiBF,ICpCbA,KAAKx7E;AAUT,SAAS27E,GAAa97D,GAAOvW,GAAK;AAEhC,WADI0W,IAASH,EAAM,QACZG;AACL,QAAIw7D,GAAG37D,EAAMG,GAAQ,IAAI1W,CAAG;AAC1B,aAAO0W;AAGX,SAAO;AACT;AAEA,IAAA47D,KAAiBD,ICpBbA,KAAe37E,IAGf67E,KAAa,MAAM,WAGnBC,KAASD,GAAW;AAWxB,SAASE,GAAgBzyE,GAAK;AAC5B,MAAIusB,IAAO,KAAK,UACZvW,IAAQq8D,GAAa9lD,GAAMvsB,CAAG;AAElC,MAAIgW,IAAQ;AACV,WAAO;AAET,MAAImrC,IAAY50B,EAAK,SAAS;AAC9B,SAAIvW,KAASmrC,IACX50B,EAAK,IAAG,IAERimD,GAAO,KAAKjmD,GAAMvW,GAAO,CAAC,GAE5B,EAAE,KAAK,MACA;AACT;AAEA,IAAA08D,KAAiBD,IClCbJ,KAAe37E;AAWnB,SAASi8E,GAAa3yE,GAAK;AACzB,MAAIusB,IAAO,KAAK,UACZvW,IAAQq8D,GAAa9lD,GAAMvsB,CAAG;AAElC,SAAOgW,IAAQ,IAAI,SAAYuW,EAAKvW,GAAO;AAC7C;AAEA,IAAA48D,KAAiBD,IClBbN,KAAe37E;AAWnB,SAASm8E,GAAa7yE,GAAK;AACzB,SAAOqyE,GAAa,KAAK,UAAUryE,CAAG,IAAI;AAC5C;AAEA,IAAA8yE,KAAiBD,ICfbR,KAAe37E;AAYnB,SAASq8E,GAAa/yE,GAAKrB,GAAO;AAChC,MAAI4tB,IAAO,KAAK,UACZvW,IAAQq8D,GAAa9lD,GAAMvsB,CAAG;AAElC,SAAIgW,IAAQ,KACV,EAAE,KAAK,MACPuW,EAAK,KAAK,CAACvsB,GAAKrB,CAAK,CAAC,KAEtB4tB,EAAKvW,GAAO,KAAKrX,GAEZ;AACT;AAEA,IAAAq0E,KAAiBD,ICzBbf,KAAiBt7E,IACjB+7E,KAAkBxvE,IAClB0vE,KAAeM,IACfJ,KAAeK,IACfH,KAAeI;AASnB,SAASC,GAAUC,GAAS;AAC1B,MAAIr9D,IAAQ,IACRU,IAAS28D,KAAW,OAAO,IAAIA,EAAQ;AAG3C,OADA,KAAK,MAAK,GACH,EAAEr9D,IAAQU,KAAQ;AACvB,QAAI4N,IAAQ+uD,EAAQr9D;AACpB,SAAK,IAAIsO,EAAM,IAAIA,EAAM,EAAE;AAAA,EAC5B;AACH;AAGA8uD,GAAU,UAAU,QAAQpB;AAC5BoB,GAAU,UAAU,SAAYX;AAChCW,GAAU,UAAU,MAAMT;AAC1BS,GAAU,UAAU,MAAMP;AAC1BO,GAAU,UAAU,MAAML;AAE1B,IAAAO,KAAiBF,IC/BbA,KAAY18E;AAShB,SAAS68E,KAAa;AACpB,OAAK,WAAW,IAAIH,MACpB,KAAK,OAAO;AACd;AAEA,IAAAI,KAAiBD;ACLjB,SAASE,GAAYzzE,GAAK;AACxB,MAAIusB,IAAO,KAAK,UACZlN,IAASkN,EAAK,OAAUvsB,CAAG;AAE/B,cAAK,OAAOusB,EAAK,MACVlN;AACT;AAEA,IAAAq0D,KAAiBD;ACRjB,SAASE,GAAS3zE,GAAK;AACrB,SAAO,KAAK,SAAS,IAAIA,CAAG;AAC9B;AAEA,IAAA4zE,KAAiBD;ACJjB,SAASE,GAAS7zE,GAAK;AACrB,SAAO,KAAK,SAAS,IAAIA,CAAG;AAC9B;AAEA,IAAA8zE,KAAiBD,ICZbE,KAAa,OAAOC,MAAU,YAAYA,MAAUA,GAAO,WAAW,UAAUA,IAEpFC,KAAiBF,ICHbA,KAAar9E,IAGbw9E,KAAW,OAAO,QAAQ,YAAY,QAAQ,KAAK,WAAW,UAAU,MAGxExjE,KAAOqjE,MAAcG,MAAY,SAAS,aAAa,EAAC,GAE5DC,KAAiBzjE,ICRbA,KAAOha,IAGP09E,KAAS1jE,GAAK,QAElB2jE,KAAiBD,ICLbA,KAAS19E,IAGT49E,KAAc,OAAO,WAGrB72E,KAAiB62E,GAAY,gBAO7BC,KAAuBD,GAAY,UAGnCE,KAAiBJ,KAASA,GAAO,cAAc;AASnD,SAASK,GAAU91E,GAAO;AACxB,MAAI+1E,IAAQj3E,GAAe,KAAKkB,GAAO61E,EAAc,GACjDG,IAAMh2E,EAAM61E;AAEhB,MAAI;AACF,IAAA71E,EAAM61E,MAAkB;AACxB,QAAII,IAAW;AAAA,EACnB,QAAI;AAAA,EAAY;AAEd,MAAIv1D,IAASk1D,GAAqB,KAAK51E,CAAK;AAC5C,SAAIi2E,MACEF,IACF/1E,EAAM61E,MAAkBG,IAExB,OAAOh2E,EAAM61E,MAGVn1D;AACT;AAEA,IAAAw1D,KAAiBJ,IC5CbH,KAAc,OAAO,WAOrBC,KAAuBD,GAAY;AASvC,SAASQ,GAAen2E,GAAO;AAC7B,SAAO41E,GAAqB,KAAK51E,CAAK;AACxC;AAEA,IAAAo2E,KAAiBD,ICrBbV,KAAS19E,IACT+9E,KAAYxxE,IACZ6xE,KAAiB7B,IAGjB+B,KAAU,iBACVC,KAAe,sBAGfT,KAAiBJ,KAASA,GAAO,cAAc;AASnD,SAASc,GAAWv2E,GAAO;AACzB,SAAIA,KAAS,OACJA,MAAU,SAAYs2E,KAAeD,KAEtCR,MAAkBA,MAAkB,OAAO71E,CAAK,IACpD81E,GAAU91E,CAAK,IACfm2E,GAAen2E,CAAK;AAC1B;AAEA,IAAAw2E,KAAiBD;ACFjB,SAASlmD,GAASrwB,GAAO;AACvB,MAAI5E,IAAO,OAAO4E;AAClB,SAAOA,KAAS,SAAS5E,KAAQ,YAAYA,KAAQ;AACvD;AAEA,IAAAq7E,KAAiBpmD,IC9BbkmD,KAAax+E,IACbs4B,KAAW/rB,IAGXoyE,KAAW,0BACXC,KAAU,qBACVC,KAAS,8BACTC,KAAW;AAmBf,SAAS59C,GAAWj5B,GAAO;AACzB,MAAI,CAACqwB,GAASrwB,CAAK;AACjB,WAAO;AAIT,MAAIg2E,IAAMO,GAAWv2E,CAAK;AAC1B,SAAOg2E,KAAOW,MAAWX,KAAOY,MAAUZ,KAAOU,MAAYV,KAAOa;AACtE;AAEA,IAAAC,KAAiB79C,ICpCblnB,KAAOha,IAGPg/E,KAAahlE,GAAK,uBAEtBilE,KAAiBD,ICLbA,KAAah/E,IAGbk/E,KAAc,WAAW;AAC3B,MAAIC,IAAM,SAAS,KAAKH,MAAcA,GAAW,QAAQA,GAAW,KAAK,YAAY,EAAE;AACvF,SAAOG,IAAO,mBAAmBA,IAAO;AAC1C,EAAC;AASD,SAASC,GAAS/uD,GAAM;AACtB,SAAO,CAAC,CAAC6uD,MAAeA,MAAc7uD;AACxC;AAEA,IAAAgvD,KAAiBD,IClBbE,KAAY,SAAS,WAGrBC,KAAeD,GAAU;AAS7B,SAASE,GAASnvD,GAAM;AACtB,MAAIA,KAAQ,MAAM;AAChB,QAAI;AACF,aAAOkvD,GAAa,KAAKlvD,CAAI;AAAA,IACnC,QAAM;AAAA,IAAY;AACd,QAAI;AACF,aAAQA,IAAO;AAAA,IACrB,QAAM;AAAA,IAAY;AAAA,EACf;AACD,SAAO;AACT;AAEA,IAAAovD,KAAiBD,ICzBbt+C,KAAalhC,IACbo/E,KAAW7yE,IACX+rB,KAAWikD,IACXiD,KAAWhD,IAMXkD,KAAe,uBAGfC,KAAe,+BAGfL,KAAY,SAAS,WACrB1B,KAAc,OAAO,WAGrB2B,KAAeD,GAAU,UAGzBv4E,KAAiB62E,GAAY,gBAG7BgC,KAAa;AAAA,EAAO,MACtBL,GAAa,KAAKx4E,EAAc,EAAE,QAAQ24E,IAAc,MAAM,EAC7D,QAAQ,0DAA0D,OAAO,IAAI;AAChF;AAUA,SAASG,GAAa53E,GAAO;AAC3B,MAAI,CAACqwB,GAASrwB,CAAK,KAAKm3E,GAASn3E,CAAK;AACpC,WAAO;AAET,MAAIgX,IAAUiiB,GAAWj5B,CAAK,IAAI23E,KAAaD;AAC/C,SAAO1gE,EAAQ,KAAKugE,GAASv3E,CAAK,CAAC;AACrC;AAEA,IAAA63E,KAAiBD;ACtCjB,SAAStuD,GAAStnB,GAAQX,GAAK;AAC7B,SAAOW,KAAU,OAAO,SAAYA,EAAOX;AAC7C;AAEA,IAAAy2E,KAAiBxuD,ICZbsuD,KAAe7/E,IACfuxB,KAAWhlB;AAUf,SAASyzE,GAAU/1E,GAAQX,GAAK;AAC9B,MAAIrB,IAAQspB,GAAStnB,GAAQX,CAAG;AAChC,SAAOu2E,GAAa53E,CAAK,IAAIA,IAAQ;AACvC;AAEA,IAAAg4E,KAAiBD,IChBbA,KAAYhgF,IACZga,KAAOzN,IAGP2zE,KAAMF,GAAUhmE,IAAM,KAAK,GAE/BmmE,KAAiBD,ICNbF,KAAYhgF,IAGZogF,KAAeJ,GAAU,QAAQ,QAAQ,GAE7CK,KAAiBD,ICLbA,KAAepgF;AASnB,SAASsgF,KAAY;AACnB,OAAK,WAAWF,KAAeA,GAAa,IAAI,IAAI,CAAA,GACpD,KAAK,OAAO;AACd;AAEA,IAAAG,KAAiBD;ACJjB,SAASE,GAAWl3E,GAAK;AACvB,MAAIqf,IAAS,KAAK,IAAIrf,CAAG,KAAK,OAAO,KAAK,SAASA;AACnD,cAAK,QAAQqf,IAAS,IAAI,GACnBA;AACT;AAEA,IAAA83D,KAAiBD,IChBbJ,KAAepgF,IAGf0gF,KAAiB,6BAGjB9C,KAAc,OAAO,WAGrB72E,KAAiB62E,GAAY;AAWjC,SAAS+C,GAAQr3E,GAAK;AACpB,MAAIusB,IAAO,KAAK;AAChB,MAAIuqD,IAAc;AAChB,QAAIz3D,IAASkN,EAAKvsB;AAClB,WAAOqf,MAAW+3D,KAAiB,SAAY/3D;AAAA,EAChD;AACD,SAAO5hB,GAAe,KAAK8uB,GAAMvsB,CAAG,IAAIusB,EAAKvsB,KAAO;AACtD;AAEA,IAAAs3E,KAAiBD,IC7BbP,KAAepgF,IAGf49E,KAAc,OAAO,WAGrB72E,KAAiB62E,GAAY;AAWjC,SAASiD,GAAQv3E,GAAK;AACpB,MAAIusB,IAAO,KAAK;AAChB,SAAOuqD,KAAgBvqD,EAAKvsB,OAAS,SAAavC,GAAe,KAAK8uB,GAAMvsB,CAAG;AACjF;AAEA,IAAAw3E,KAAiBD,ICtBbT,KAAepgF,IAGf0gF,KAAiB;AAYrB,SAASK,GAAQz3E,GAAKrB,GAAO;AAC3B,MAAI4tB,IAAO,KAAK;AAChB,cAAK,QAAQ,KAAK,IAAIvsB,CAAG,IAAI,IAAI,GACjCusB,EAAKvsB,KAAQ82E,MAAgBn4E,MAAU,SAAay4E,KAAiBz4E,GAC9D;AACT;AAEA,IAAA+4E,KAAiBD,ICtBbT,KAAYtgF,IACZwgF,KAAaj0E,IACbo0E,KAAUpE,IACVsE,KAAUrE,IACVuE,KAAUtE;AASd,SAASwE,GAAKtE,GAAS;AACrB,MAAIr9D,IAAQ,IACRU,IAAS28D,KAAW,OAAO,IAAIA,EAAQ;AAG3C,OADA,KAAK,MAAK,GACH,EAAEr9D,IAAQU,KAAQ;AACvB,QAAI4N,IAAQ+uD,EAAQr9D;AACpB,SAAK,IAAIsO,EAAM,IAAIA,EAAM,EAAE;AAAA,EAC5B;AACH;AAGAqzD,GAAK,UAAU,QAAQX;AACvBW,GAAK,UAAU,SAAYT;AAC3BS,GAAK,UAAU,MAAMN;AACrBM,GAAK,UAAU,MAAMJ;AACrBI,GAAK,UAAU,MAAMF;AAErB,IAAAG,KAAiBD,IC/BbA,KAAOjhF,IACP08E,KAAYnwE,IACZ2zE,KAAM3D;AASV,SAAS4E,KAAgB;AACvB,OAAK,OAAO,GACZ,KAAK,WAAW;AAAA,IACd,MAAQ,IAAIF;AAAA,IACZ,KAAO,KAAKf,MAAOxD;AAAAA,IACnB,QAAU,IAAIuE;AAAA,EAClB;AACA;AAEA,IAAAG,KAAiBD;ACbjB,SAASE,GAAUp5E,GAAO;AACxB,MAAI5E,IAAO,OAAO4E;AAClB,SAAQ5E,KAAQ,YAAYA,KAAQ,YAAYA,KAAQ,YAAYA,KAAQ,YACvE4E,MAAU,cACVA,MAAU;AACjB;AAEA,IAAAq5E,KAAiBD,ICdbA,KAAYrhF;AAUhB,SAASuhF,GAAWx8C,GAAKz7B,GAAK;AAC5B,MAAIusB,IAAOkP,EAAI;AACf,SAAOs8C,GAAU/3E,CAAG,IAChBusB,EAAK,OAAOvsB,KAAO,WAAW,WAAW,UACzCusB,EAAK;AACX;AAEA,IAAA2rD,KAAiBD,ICjBbA,KAAavhF;AAWjB,SAASyhF,GAAen4E,GAAK;AAC3B,MAAIqf,IAAS44D,GAAW,MAAMj4E,CAAG,EAAE,OAAUA,CAAG;AAChD,cAAK,QAAQqf,IAAS,IAAI,GACnBA;AACT;AAEA,IAAA+4D,KAAiBD,ICjBbF,KAAavhF;AAWjB,SAAS2hF,GAAYr4E,GAAK;AACxB,SAAOi4E,GAAW,MAAMj4E,CAAG,EAAE,IAAIA,CAAG;AACtC;AAEA,IAAAs4E,KAAiBD,ICfbJ,KAAavhF;AAWjB,SAAS6hF,GAAYv4E,GAAK;AACxB,SAAOi4E,GAAW,MAAMj4E,CAAG,EAAE,IAAIA,CAAG;AACtC;AAEA,IAAAw4E,KAAiBD,ICfbN,KAAavhF;AAYjB,SAAS+hF,GAAYz4E,GAAKrB,GAAO;AAC/B,MAAI4tB,IAAO0rD,GAAW,MAAMj4E,CAAG,GAC3BiZ,IAAOsT,EAAK;AAEhB,SAAAA,EAAK,IAAIvsB,GAAKrB,CAAK,GACnB,KAAK,QAAQ4tB,EAAK,QAAQtT,IAAO,IAAI,GAC9B;AACT;AAEA,IAAAy/D,KAAiBD,ICrBbZ,KAAgBnhF,IAChByhF,KAAiBl1E,IACjBo1E,KAAcpF,IACdsF,KAAcrF,IACduF,KAActF;AASlB,SAASwF,GAAStF,GAAS;AACzB,MAAIr9D,IAAQ,IACRU,IAAS28D,KAAW,OAAO,IAAIA,EAAQ;AAG3C,OADA,KAAK,MAAK,GACH,EAAEr9D,IAAQU,KAAQ;AACvB,QAAI4N,IAAQ+uD,EAAQr9D;AACpB,SAAK,IAAIsO,EAAM,IAAIA,EAAM,EAAE;AAAA,EAC5B;AACH;AAGAq0D,GAAS,UAAU,QAAQd;AAC3Bc,GAAS,UAAU,SAAYR;AAC/BQ,GAAS,UAAU,MAAMN;AACzBM,GAAS,UAAU,MAAMJ;AACzBI,GAAS,UAAU,MAAMF;AAEzB,IAAAG,KAAiBD,IC/BbvF,KAAY18E,IACZkgF,KAAM3zE,IACN01E,KAAW1F,IAGX4F,KAAmB;AAYvB,SAASC,GAAS94E,GAAKrB,GAAO;AAC5B,MAAI4tB,IAAO,KAAK;AAChB,MAAIA,aAAgB6mD,IAAW;AAC7B,QAAI2F,IAAQxsD,EAAK;AACjB,QAAI,CAACqqD,MAAQmC,EAAM,SAASF,KAAmB;AAC7C,aAAAE,EAAM,KAAK,CAAC/4E,GAAKrB,CAAK,CAAC,GACvB,KAAK,OAAO,EAAE4tB,EAAK,MACZ;AAET,IAAAA,IAAO,KAAK,WAAW,IAAIosD,GAASI,CAAK;AAAA,EAC1C;AACD,SAAAxsD,EAAK,IAAIvsB,GAAKrB,CAAK,GACnB,KAAK,OAAO4tB,EAAK,MACV;AACT;AAEA,IAAAysD,KAAiBF,ICjCb1F,KAAY18E,IACZ68E,KAAatwE,IACbwwE,KAAcR,IACdU,KAAWT,IACXW,KAAWV,IACX2F,KAAWG;AASf,SAASC,GAAM7F,GAAS;AACtB,MAAI9mD,IAAO,KAAK,WAAW,IAAI6mD,GAAUC,CAAO;AAChD,OAAK,OAAO9mD,EAAK;AACnB;AAGA2sD,GAAM,UAAU,QAAQ3F;AACxB2F,GAAM,UAAU,SAAYzF;AAC5ByF,GAAM,UAAU,MAAMvF;AACtBuF,GAAM,UAAU,MAAMrF;AACtBqF,GAAM,UAAU,MAAMJ;AAEtB,IAAAK,KAAiBD,ICzBb9B,KAAiB;AAYrB,SAASgC,GAAYz6E,GAAO;AAC1B,cAAK,SAAS,IAAIA,GAAOy4E,EAAc,GAChC;AACT;AAEA,IAAAiC,KAAiBD;ACTjB,SAASE,GAAY36E,GAAO;AAC1B,SAAO,KAAK,SAAS,IAAIA,CAAK;AAChC;AAEA,IAAA46E,KAAiBD,ICbbX,KAAWjiF,IACX0iF,KAAcn2E,IACdq2E,KAAcrG;AAUlB,SAASuG,GAASx7E,GAAQ;AACxB,MAAIgY,IAAQ,IACRU,IAAS1Y,KAAU,OAAO,IAAIA,EAAO;AAGzC,OADA,KAAK,WAAW,IAAI26E,MACb,EAAE3iE,IAAQU;AACf,SAAK,IAAI1Y,EAAOgY,EAAM;AAE1B;AAGAwjE,GAAS,UAAU,MAAMA,GAAS,UAAU,OAAOJ;AACnDI,GAAS,UAAU,MAAMF;AAEzB,IAAAG,KAAiBD;AChBjB,SAASE,GAAUnjE,GAAOojE,GAAW;AAInC,WAHI3jE,IAAQ,IACRU,IAASH,KAAS,OAAO,IAAIA,EAAM,QAEhC,EAAEP,IAAQU;AACf,QAAIijE,EAAUpjE,EAAMP,IAAQA,GAAOO,CAAK;AACtC,aAAO;AAGX,SAAO;AACT;AAEA,IAAAqjE,KAAiBF;ACdjB,SAASG,GAAS5pE,GAAOjQ,GAAK;AAC5B,SAAOiQ,EAAM,IAAIjQ,CAAG;AACtB;AAEA,IAAA85E,KAAiBD,ICZbL,KAAW9iF,IACXgjF,KAAYz2E,IACZ42E,KAAW5G,IAGX8G,KAAuB,GACvBC,KAAyB;AAe7B,SAASC,GAAY1jE,GAAO47D,GAAO+H,GAASC,GAAYC,GAAW/gF,GAAO;AACxE,MAAIghF,IAAYH,IAAUH,IACtB7yD,IAAY3Q,EAAM,QAClB+jE,IAAYnI,EAAM;AAEtB,MAAIjrD,KAAaozD,KAAa,EAAED,KAAaC,IAAYpzD;AACvD,WAAO;AAGT,MAAIqzD,IAAalhF,EAAM,IAAIkd,CAAK,GAC5BikE,IAAanhF,EAAM,IAAI84E,CAAK;AAChC,MAAIoI,KAAcC;AAChB,WAAOD,KAAcpI,KAASqI,KAAcjkE;AAE9C,MAAIP,IAAQ,IACRqJ,IAAS,IACTo7D,IAAQP,IAAUF,KAA0B,IAAIR,OAAW;AAM/D,OAJAngF,EAAM,IAAIkd,GAAO47D,CAAK,GACtB94E,EAAM,IAAI84E,GAAO57D,CAAK,GAGf,EAAEP,IAAQkR,KAAW;AAC1B,QAAIwzD,IAAWnkE,EAAMP,IACjB2kE,IAAWxI,EAAMn8D;AAErB,QAAImkE;AACF,UAAIS,IAAWP,IACXF,EAAWQ,GAAUD,GAAU1kE,GAAOm8D,GAAO57D,GAAOld,CAAK,IACzD8gF,EAAWO,GAAUC,GAAU3kE,GAAOO,GAAO47D,GAAO94E,CAAK;AAE/D,QAAIuhF,MAAa,QAAW;AAC1B,UAAIA;AACF;AAEF,MAAAv7D,IAAS;AACT;AAAA,IACD;AAED,QAAIo7D;AACF,UAAI,CAACf,GAAUvH,GAAO,SAASwI,GAAUE,GAAU;AAC7C,YAAI,CAAChB,GAASY,GAAMI,CAAQ,MACvBH,MAAaC,KAAYP,EAAUM,GAAUC,GAAUT,GAASC,GAAY9gF,CAAK;AACpF,iBAAOohF,EAAK,KAAKI,CAAQ;AAAA,MAEvC,CAAW,GAAG;AACN,QAAAx7D,IAAS;AACT;AAAA,MACD;AAAA,eACQ,EACLq7D,MAAaC,KACXP,EAAUM,GAAUC,GAAUT,GAASC,GAAY9gF,CAAK,IACzD;AACL,MAAAgmB,IAAS;AACT;AAAA,IACD;AAAA,EACF;AACD,SAAAhmB,EAAM,OAAUkd,CAAK,GACrBld,EAAM,OAAU84E,CAAK,GACd9yD;AACT;AAEA,IAAAy7D,KAAiBb,ICnFbvpE,KAAOha,IAGPqkF,KAAarqE,GAAK,YAEtBsqE,KAAiBD;ACEjB,SAASE,GAAWx/C,GAAK;AACvB,MAAIzlB,IAAQ,IACRqJ,IAAS,MAAMoc,EAAI,IAAI;AAE3B,SAAAA,EAAI,QAAQ,SAAS98B,GAAOqB,GAAK;AAC/B,IAAAqf,EAAO,EAAErJ,KAAS,CAAChW,GAAKrB,CAAK;AAAA,EACjC,CAAG,GACM0gB;AACT;AAEA,IAAA67D,KAAiBD;ACVjB,SAASE,GAAWhtD,GAAK;AACvB,MAAInY,IAAQ,IACRqJ,IAAS,MAAM8O,EAAI,IAAI;AAE3B,SAAAA,EAAI,QAAQ,SAASxvB,GAAO;AAC1B,IAAA0gB,EAAO,EAAErJ,KAASrX;AAAA,EACtB,CAAG,GACM0gB;AACT;AAEA,IAAA+7D,KAAiBD,ICjBb/G,KAAS19E,IACTqkF,KAAa93E,IACbivE,KAAKe,IACLgH,KAAc/G,IACd+H,KAAa9H,IACbgI,KAAalC,IAGbc,KAAuB,GACvBC,KAAyB,GAGzBqB,KAAU,oBACVC,KAAU,iBACVC,KAAW,kBACXC,KAAS,gBACTC,KAAY,mBACZC,KAAY,mBACZC,KAAS,gBACTC,KAAY,mBACZC,KAAY,mBAEZC,KAAiB,wBACjBC,KAAc,qBAGdC,KAAc5H,KAASA,GAAO,YAAY,QAC1C6H,KAAgBD,KAAcA,GAAY,UAAU;AAmBxD,SAASE,GAAWv7E,GAAQwxE,GAAOwC,GAAKuF,GAASC,GAAYC,GAAW/gF,GAAO;AAC7E,UAAQs7E,GAAG;AAAA,IACT,KAAKoH;AACH,UAAKp7E,EAAO,cAAcwxE,EAAM,cAC3BxxE,EAAO,cAAcwxE,EAAM;AAC9B,eAAO;AAET,MAAAxxE,IAASA,EAAO,QAChBwxE,IAAQA,EAAM;AAAA,IAEhB,KAAK2J;AACH,aAAK,EAAAn7E,EAAO,cAAcwxE,EAAM,cAC5B,CAACiI,EAAU,IAAIW,GAAWp6E,CAAM,GAAG,IAAIo6E,GAAW5I,CAAK,CAAC;AAAA,IAK9D,KAAKkJ;AAAAA,IACL,KAAKC;AAAAA,IACL,KAAKG;AAGH,aAAOvJ,GAAG,CAACvxE,GAAQ,CAACwxE,CAAK;AAAA,IAE3B,KAAKoJ;AACH,aAAO56E,EAAO,QAAQwxE,EAAM,QAAQxxE,EAAO,WAAWwxE,EAAM;AAAA,IAE9D,KAAKuJ;AAAAA,IACL,KAAKE;AAIH,aAAOj7E,KAAWwxE,IAAQ;AAAA,IAE5B,KAAKqJ;AACH,UAAIW,IAAUlB;AAAA,IAEhB,KAAKU;AACH,UAAItB,IAAYH,IAAUH;AAG1B,UAFAoC,MAAYA,IAAUhB,KAElBx6E,EAAO,QAAQwxE,EAAM,QAAQ,CAACkI;AAChC,eAAO;AAGT,UAAI+B,IAAU/iF,EAAM,IAAIsH,CAAM;AAC9B,UAAIy7E;AACF,eAAOA,KAAWjK;AAEpB,MAAA+H,KAAWF,IAGX3gF,EAAM,IAAIsH,GAAQwxE,CAAK;AACvB,UAAI9yD,IAAS46D,GAAYkC,EAAQx7E,CAAM,GAAGw7E,EAAQhK,CAAK,GAAG+H,GAASC,GAAYC,GAAW/gF,CAAK;AAC/F,aAAAA,EAAM,OAAUsH,CAAM,GACf0e;AAAA,IAET,KAAKw8D;AACH,UAAII;AACF,eAAOA,GAAc,KAAKt7E,CAAM,KAAKs7E,GAAc,KAAK9J,CAAK;AAAA,EAElE;AACD,SAAO;AACT;AAEA,IAAAkK,KAAiBH;ACvGjB,SAASI,GAAU/lE,GAAOvY,GAAQ;AAKhC,WAJIgY,IAAQ,IACRU,IAAS1Y,EAAO,QAChBqa,IAAS9B,EAAM,QAEZ,EAAEP,IAAQU;AACf,IAAAH,EAAM8B,IAASrC,KAAShY,EAAOgY;AAEjC,SAAOO;AACT;AAEA,IAAAgmE,KAAiBD,ICIb79E,KAAU,MAAM,SAEpB+9E,KAAiB/9E,ICzBb69E,KAAY5lF,IACZ+H,KAAUwE;AAad,SAASw5E,GAAe97E,GAAQ+7E,GAAUC,GAAa;AACrD,MAAIt9D,IAASq9D,EAAS/7E,CAAM;AAC5B,SAAOlC,GAAQkC,CAAM,IAAI0e,IAASi9D,GAAUj9D,GAAQs9D,EAAYh8E,CAAM,CAAC;AACzE;AAEA,IAAAi8E,KAAiBH;ACVjB,SAASI,GAAYtmE,GAAOojE,GAAW;AAMrC,WALI3jE,IAAQ,IACRU,IAASH,KAAS,OAAO,IAAIA,EAAM,QACnCumE,IAAW,GACXz9D,IAAS,CAAA,GAEN,EAAErJ,IAAQU,KAAQ;AACvB,QAAI/X,IAAQ4X,EAAMP;AAClB,IAAI2jE,EAAUh7E,GAAOqX,GAAOO,CAAK,MAC/B8I,EAAOy9D,OAAcn+E;AAAA,EAExB;AACD,SAAO0gB;AACT;AAEA,IAAA09D,KAAiBF;ACNjB,SAASG,KAAY;AACnB,SAAO;AACT;AAEA,IAAAC,KAAiBD,ICtBbH,KAAcnmF,IACdsmF,KAAY/5E,IAGZqxE,KAAc,OAAO,WAGrB4I,KAAuB5I,GAAY,sBAGnC6I,KAAmB,OAAO,uBAS1BC,KAAcD,KAA+B,SAASx8E,GAAQ;AAChE,SAAIA,KAAU,OACL,MAETA,IAAS,OAAOA,CAAM,GACfk8E,GAAYM,GAAiBx8E,CAAM,GAAG,SAAS08E,GAAQ;AAC5D,WAAOH,GAAqB,KAAKv8E,GAAQ08E,CAAM;AAAA,EACnD,CAAG;AACH,IARqCL,IAUrCM,KAAiBF;ACpBjB,SAASG,GAAUzmF,GAAG0mF,GAAU;AAI9B,WAHIxnE,IAAQ,IACRqJ,IAAS,MAAMvoB,CAAC,GAEb,EAAEkf,IAAQlf;AACf,IAAAuoB,EAAOrJ,KAASwnE,EAASxnE,CAAK;AAEhC,SAAOqJ;AACT;AAEA,IAAAo+D,KAAiBF;ACKjB,SAASG,GAAa/+E,GAAO;AAC3B,SAAOA,KAAS,QAAQ,OAAOA,KAAS;AAC1C;AAEA,IAAAg/E,KAAiBD,IC5BbxI,KAAax+E,IACbgnF,KAAez6E,IAGf26E,KAAU;AASd,SAASC,GAAgBl/E,GAAO;AAC9B,SAAO++E,GAAa/+E,CAAK,KAAKu2E,GAAWv2E,CAAK,KAAKi/E;AACrD;AAEA,IAAAE,KAAiBD,ICjBbA,KAAkBnnF,IAClBgnF,KAAez6E,IAGfqxE,KAAc,OAAO,WAGrB72E,KAAiB62E,GAAY,gBAG7B4I,KAAuB5I,GAAY,sBAoBnCyJ,KAAcF,GAAgB,WAAW;AAAE,SAAO;AAAU,GAAI,IAAIA,KAAkB,SAASl/E,GAAO;AACxG,SAAO++E,GAAa/+E,CAAK,KAAKlB,GAAe,KAAKkB,GAAO,QAAQ,KAC/D,CAACu+E,GAAqB,KAAKv+E,GAAO,QAAQ;AAC9C,GAEAq/E,KAAiBD;;;;;;;;ACtBjB,SAASE,KAAY;AACnB,SAAO;AACT;AAEA,IAAAC,KAAiBD;AAAA;ACjBjB,MAAIvtE,IAAOha,IACPunF,IAAYh7E,IAGZk7E,IAA4Cp8D,KAAW,CAACA,EAAQ,YAAYA,GAG5Eq8D,IAAaD,KAAe,MAA6Bn7E,KAAU,CAACA,EAAO,YAAYA,GAGvFq7E,IAAgBD,KAAcA,EAAW,YAAYD,GAGrDG,IAASD,IAAgB3tE,EAAK,SAAS,QAGvC6tE,IAAiBD,IAASA,EAAO,WAAW,QAmB5CE,IAAWD,KAAkBN;AAEjC,EAAAj7E,EAAA,UAAiBw7E;;ACpCjB,IAAIC,KAAmB,kBAGnBC,KAAW;AAUf,SAASC,GAAQhgF,GAAO+X,GAAQ;AAC9B,MAAI3c,IAAO,OAAO4E;AAClB,SAAA+X,IAASA,KAAiB+nE,IAEnB,CAAC,CAAC/nE,MACN3c,KAAQ,YACNA,KAAQ,YAAY2kF,GAAS,KAAK//E,CAAK,MACrCA,IAAQ,MAAMA,IAAQ,KAAK,KAAKA,IAAQ+X;AACjD;AAEA,IAAAkoE,KAAiBD,ICvBbF,KAAmB;AA4BvB,SAASI,GAASlgF,GAAO;AACvB,SAAO,OAAOA,KAAS,YACrBA,IAAQ,MAAMA,IAAQ,KAAK,KAAKA,KAAS8/E;AAC7C;AAEA,IAAAK,KAAiBD,IClCb3J,KAAax+E,IACbmoF,KAAW57E,IACXy6E,KAAezK,IAGf2K,KAAU,sBACVmB,KAAW,kBACX1D,KAAU,oBACVC,KAAU,iBACVC,KAAW,kBACXjG,KAAU,qBACVkG,KAAS,gBACTC,KAAY,mBACZuD,KAAY,mBACZtD,KAAY,mBACZC,KAAS,gBACTC,KAAY,mBACZqD,KAAa,oBAEbnD,KAAiB,wBACjBC,KAAc,qBACdmD,KAAa,yBACbC,KAAa,yBACbC,KAAU,sBACVC,KAAW,uBACXC,KAAW,uBACXC,KAAW,uBACXC,KAAkB,8BAClBC,KAAY,wBACZC,KAAY,wBAGZC,KAAiB,CAAA;AACrBA,GAAeT,MAAcS,GAAeR,MAC5CQ,GAAeP,MAAWO,GAAeN,MACzCM,GAAeL,MAAYK,GAAeJ,MAC1CI,GAAeH,MAAmBG,GAAeF,MACjDE,GAAeD,MAAa;AAC5BC,GAAe/B,MAAW+B,GAAeZ,MACzCY,GAAe7D,MAAkB6D,GAAetE,MAChDsE,GAAe5D,MAAe4D,GAAerE,MAC7CqE,GAAepE,MAAYoE,GAAerK,MAC1CqK,GAAenE,MAAUmE,GAAelE,MACxCkE,GAAeX,MAAaW,GAAejE,MAC3CiE,GAAehE,MAAUgE,GAAe/D,MACxC+D,GAAeV,MAAc;AAS7B,SAASW,GAAiBjhF,GAAO;AAC/B,SAAO++E,GAAa/+E,CAAK,KACvBkgF,GAASlgF,EAAM,MAAM,KAAK,CAAC,CAACghF,GAAezK,GAAWv2E,CAAK;AAC/D;AAEA,IAAAkhF,KAAiBD;ACpDjB,SAASE,GAAU/4D,GAAM;AACvB,SAAO,SAASpoB,GAAO;AACrB,WAAOooB,EAAKpoB,CAAK;AAAA,EACrB;AACA;AAEA,IAAAohF,KAAiBD;;;;;;;;;ACbjB,MAAI/L,IAAar9E,IAGbynF,IAA4Cp8D,KAAW,CAACA,EAAQ,YAAYA,GAG5Eq8D,IAAaD,KAAe,MAA6Bn7E,KAAU,CAACA,EAAO,YAAYA,GAGvFq7E,IAAgBD,KAAcA,EAAW,YAAYD,GAGrD6B,IAAc3B,KAAiBtK,EAAW,SAG1CkM,IAAY,WAAW;AACzB,QAAI;AAEF,UAAIr2D,IAAQw0D,KAAcA,EAAW,WAAWA,EAAW,QAAQ,MAAM,EAAE;AAE3E,aAAIx0D,KAKGo2D,KAAeA,EAAY,WAAWA,EAAY,QAAQ,MAAM;AAAA,IAC3E,QAAI;AAAA,IAAY;AAAA,EACf,EAAA;AAED,EAAAh9E,EAAA,UAAiBi9E;;AC7BjB,IAAIL,KAAmBlpF,IACnBopF,KAAY78E,IACZg9E,KAAWhN,IAGXiN,KAAmBD,MAAYA,GAAS,cAmBxCE,KAAeD,KAAmBJ,GAAUI,EAAgB,IAAIN,IAEpEQ,KAAiBD,IC1Bb5C,KAAY7mF,IACZqnF,KAAc96E,IACdxE,KAAUw0E,IACVuL,KAAWtL,IACXyL,KAAUxL,IACVgN,KAAelH,IAGf3E,KAAc,OAAO,WAGrB72E,KAAiB62E,GAAY;AAUjC,SAAS+L,GAAc1hF,GAAO2hF,GAAW;AACvC,MAAIC,IAAQ9hF,GAAQE,CAAK,GACrB6hF,IAAQ,CAACD,KAASxC,GAAYp/E,CAAK,GACnC8hF,IAAS,CAACF,KAAS,CAACC,KAAShC,GAAS7/E,CAAK,GAC3C+hF,IAAS,CAACH,KAAS,CAACC,KAAS,CAACC,KAAUN,GAAaxhF,CAAK,GAC1DgiF,IAAcJ,KAASC,KAASC,KAAUC,GAC1CrhE,IAASshE,IAAcpD,GAAU5+E,EAAM,QAAQ,MAAM,IAAI,CAAE,GAC3D+X,IAAS2I,EAAO;AAEpB,WAASrf,KAAOrB;AACd,KAAK2hF,KAAa7iF,GAAe,KAAKkB,GAAOqB,CAAG,MAC5C,EAAE2gF,MAEC3gF,KAAO,YAENygF,MAAWzgF,KAAO,YAAYA,KAAO,aAErC0gF,MAAW1gF,KAAO,YAAYA,KAAO,gBAAgBA,KAAO,iBAE7D2+E,GAAQ3+E,GAAK0W,CAAM,OAExB2I,EAAO,KAAKrf,CAAG;AAGnB,SAAOqf;AACT;AAEA,IAAAuhE,KAAiBP,IC/Cb/L,KAAc,OAAO;AASzB,SAASuM,GAAYliF,GAAO;AAC1B,MAAImiF,IAAOniF,KAASA,EAAM,aACtBoiF,IAAS,OAAOD,KAAQ,cAAcA,EAAK,aAAcxM;AAE7D,SAAO31E,MAAUoiF;AACnB;AAEA,IAAAC,KAAiBH;ACTjB,SAASI,GAAQl6D,GAAMohD,GAAW;AAChC,SAAO,SAASnjE,GAAK;AACnB,WAAO+hB,EAAKohD,EAAUnjE,CAAG,CAAC;AAAA,EAC9B;AACA;AAEA,IAAAk8E,KAAiBD,ICdbA,KAAUvqF,IAGVyqF,KAAaF,GAAQ,OAAO,MAAM,MAAM,GAE5CG,KAAiBD,ICLbN,KAAcnqF,IACdyqF,KAAal+E,IAGbqxE,KAAc,OAAO,WAGrB72E,KAAiB62E,GAAY;AASjC,SAAS+M,GAAS1gF,GAAQ;AACxB,MAAI,CAACkgF,GAAYlgF,CAAM;AACrB,WAAOwgF,GAAWxgF,CAAM;AAE1B,MAAI0e,IAAS,CAAA;AACb,WAASrf,KAAO,OAAOW,CAAM;AAC3B,IAAIlD,GAAe,KAAKkD,GAAQX,CAAG,KAAKA,KAAO,iBAC7Cqf,EAAO,KAAKrf,CAAG;AAGnB,SAAOqf;AACT;AAEA,IAAAiiE,KAAiBD,IC7BbzpD,KAAalhC,IACbmoF,KAAW57E;AA2Bf,SAASs+E,GAAY5iF,GAAO;AAC1B,SAAOA,KAAS,QAAQkgF,GAASlgF,EAAM,MAAM,KAAK,CAACi5B,GAAWj5B,CAAK;AACrE;AAEA,IAAA6iF,KAAiBD,IChCblB,KAAgB3pF,IAChB2qF,KAAWp+E,IACXs+E,KAActO;AA8BlB,SAAS7wE,GAAKzB,GAAQ;AACpB,SAAO4gF,GAAY5gF,CAAM,IAAI0/E,GAAc1/E,CAAM,IAAI0gF,GAAS1gF,CAAM;AACtE;AAEA,IAAA8gF,KAAiBr/E,ICpCbq6E,KAAiB/lF,IACjB0mF,KAAan6E,IACbb,KAAO6wE;AASX,SAASyO,GAAW/gF,GAAQ;AAC1B,SAAO87E,GAAe97E,GAAQyB,IAAMg7E,EAAU;AAChD;AAEA,IAAAuE,KAAiBD,ICfbA,KAAahrF,IAGbqjF,KAAuB,GAGvBzF,KAAc,OAAO,WAGrB72E,KAAiB62E,GAAY;AAejC,SAASsN,GAAajhF,GAAQwxE,GAAO+H,GAASC,GAAYC,GAAW/gF,GAAO;AAC1E,MAAIghF,IAAYH,IAAUH,IACtB8H,IAAWH,GAAW/gF,CAAM,GAC5BmhF,IAAYD,EAAS,QACrBE,IAAWL,GAAWvP,CAAK,GAC3BmI,IAAYyH,EAAS;AAEzB,MAAID,KAAaxH,KAAa,CAACD;AAC7B,WAAO;AAGT,WADIrkE,IAAQ8rE,GACL9rE,OAAS;AACd,QAAIhW,IAAM6hF,EAAS7rE;AACnB,QAAI,EAAEqkE,IAAYr6E,KAAOmyE,IAAQ10E,GAAe,KAAK00E,GAAOnyE,CAAG;AAC7D,aAAO;AAAA,EAEV;AAED,MAAIgiF,IAAa3oF,EAAM,IAAIsH,CAAM,GAC7B65E,IAAanhF,EAAM,IAAI84E,CAAK;AAChC,MAAI6P,KAAcxH;AAChB,WAAOwH,KAAc7P,KAASqI,KAAc75E;AAE9C,MAAI0e,IAAS;AACb,EAAAhmB,EAAM,IAAIsH,GAAQwxE,CAAK,GACvB94E,EAAM,IAAI84E,GAAOxxE,CAAM;AAGvB,WADIshF,IAAW5H,GACR,EAAErkE,IAAQ8rE,KAAW;AAC1B,IAAA9hF,IAAM6hF,EAAS7rE;AACf,QAAIksE,IAAWvhF,EAAOX,IAClB26E,IAAWxI,EAAMnyE;AAErB,QAAIm6E;AACF,UAAIS,IAAWP,IACXF,EAAWQ,GAAUuH,GAAUliF,GAAKmyE,GAAOxxE,GAAQtH,CAAK,IACxD8gF,EAAW+H,GAAUvH,GAAU36E,GAAKW,GAAQwxE,GAAO94E,CAAK;AAG9D,QAAI,EAAEuhF,MAAa,SACVsH,MAAavH,KAAYP,EAAU8H,GAAUvH,GAAUT,GAASC,GAAY9gF,CAAK,IAClFuhF,IACD;AACL,MAAAv7D,IAAS;AACT;AAAA,IACD;AACD,IAAA4iE,MAAaA,IAAWjiF,KAAO;AAAA,EAChC;AACD,MAAIqf,KAAU,CAAC4iE,GAAU;AACvB,QAAIE,IAAUxhF,EAAO,aACjByhF,IAAUjQ,EAAM;AAGpB,IAAIgQ,KAAWC,KACV,iBAAiBzhF,KAAU,iBAAiBwxE,KAC7C,EAAE,OAAOgQ,KAAW,cAAcA,aAAmBA,KACnD,OAAOC,KAAW,cAAcA,aAAmBA,OACvD/iE,IAAS;AAAA,EAEZ;AACD,SAAAhmB,EAAM,OAAUsH,CAAM,GACtBtH,EAAM,OAAU84E,CAAK,GACd9yD;AACT;AAEA,IAAAgjE,KAAiBT,ICzFblL,KAAYhgF,IACZga,KAAOzN,IAGPq/E,KAAW5L,GAAUhmE,IAAM,UAAU,GAEzC6xE,KAAiBD,ICNb5L,KAAYhgF,IACZga,KAAOzN,IAGPu/E,KAAU9L,GAAUhmE,IAAM,SAAS,GAEvC+xE,KAAiBD,ICNb9L,KAAYhgF,IACZga,KAAOzN,IAGPy/E,KAAMhM,GAAUhmE,IAAM,KAAK,GAE/BiyE,KAAiBD,ICNbhM,KAAYhgF,IACZga,KAAOzN,IAGP2/E,KAAUlM,GAAUhmE,IAAM,SAAS,GAEvCmyE,KAAiBD,ICNbN,KAAW5rF,IACXkgF,KAAM3zE,IACNu/E,KAAUvP,IACVyP,KAAMxP,IACN0P,KAAUzP,IACV+B,KAAa+D,IACb/C,KAAW4M,IAGXtH,KAAS,gBACTwD,KAAY,mBACZ+D,KAAa,oBACbpH,KAAS,gBACTsD,KAAa,oBAEblD,KAAc,qBAGdiH,KAAqB9M,GAASoM,EAAQ,GACtCW,KAAgB/M,GAASU,EAAG,GAC5BsM,KAAoBhN,GAASsM,EAAO,GACpCW,KAAgBjN,GAASwM,EAAG,GAC5BU,KAAoBlN,GAAS0M,EAAO,GASpCS,KAASnO;AAAA,CAGRoN,MAAYe,GAAO,IAAIf,GAAS,IAAI,YAAY,CAAC,CAAC,CAAC,KAAKvG,MACxDnF,MAAOyM,GAAO,IAAIzM,IAAG,KAAK4E,MAC1BgH,MAAWa,GAAOb,GAAQ,QAAS,CAAA,KAAKO,MACxCL,MAAOW,GAAO,IAAIX,IAAG,KAAK/G,MAC1BiH,MAAWS,GAAO,IAAIT,IAAO,KAAK3D,QACrCoE,KAAS,SAAS1kF,GAAO;AACvB,MAAI0gB,IAAS61D,GAAWv2E,CAAK,GACzBmiF,IAAOzhE,KAAU2/D,KAAYrgF,EAAM,cAAc,QACjD2kF,IAAaxC,IAAO5K,GAAS4K,CAAI,IAAI;AAEzC,MAAIwC;AACF,YAAQA,GAAU;AAAA,MAChB,KAAKN;AAAoB,eAAOjH;AAAA,MAChC,KAAKkH;AAAe,eAAOzH;AAAA,MAC3B,KAAK0H;AAAmB,eAAOH;AAAA,MAC/B,KAAKI;AAAe,eAAOxH;AAAA,MAC3B,KAAKyH;AAAmB,eAAOnE;AAAA,IAChC;AAEH,SAAO5/D;AACX;AAGA,IAAAkkE,KAAiBF,ICzDbnK,KAAQxiF,IACRujF,KAAch3E,IACdi5E,KAAajJ,IACb2O,KAAe1O,IACfmQ,KAASlQ,IACT10E,KAAUw6E,IACVuF,KAAWsE,IACX3C,KAAeqD,IAGfzJ,KAAuB,GAGvB6D,KAAU,sBACVmB,KAAW,kBACXC,KAAY,mBAGZ1K,KAAc,OAAO,WAGrB72E,KAAiB62E,GAAY;AAgBjC,SAASmP,GAAgB9iF,GAAQwxE,GAAO+H,GAASC,GAAYC,GAAW/gF,GAAO;AAC7E,MAAIqqF,IAAWjlF,GAAQkC,CAAM,GACzBgjF,IAAWllF,GAAQ0zE,CAAK,GACxByR,IAASF,IAAW3E,KAAWsE,GAAO1iF,CAAM,GAC5CkjF,IAASF,IAAW5E,KAAWsE,GAAOlR,CAAK;AAE/C,EAAAyR,IAASA,KAAUhG,KAAUoB,KAAY4E,GACzCC,IAASA,KAAUjG,KAAUoB,KAAY6E;AAEzC,MAAIC,IAAWF,KAAU5E,IACrB+E,IAAWF,KAAU7E,IACrBgF,IAAYJ,KAAUC;AAE1B,MAAIG,KAAaxF,GAAS79E,CAAM,GAAG;AACjC,QAAI,CAAC69E,GAASrM,CAAK;AACjB,aAAO;AAET,IAAAuR,IAAW,IACXI,IAAW;AAAA,EACZ;AACD,MAAIE,KAAa,CAACF;AAChB,WAAAzqF,MAAUA,IAAQ,IAAI6/E,OACdwK,KAAYvD,GAAax/E,CAAM,IACnCs5E,GAAYt5E,GAAQwxE,GAAO+H,GAASC,GAAYC,GAAW/gF,CAAK,IAChE6iF,GAAWv7E,GAAQwxE,GAAOyR,GAAQ1J,GAASC,GAAYC,GAAW/gF,CAAK;AAE7E,MAAI,EAAE6gF,IAAUH,KAAuB;AACrC,QAAIkK,IAAeH,KAAYrmF,GAAe,KAAKkD,GAAQ,aAAa,GACpEujF,IAAeH,KAAYtmF,GAAe,KAAK00E,GAAO,aAAa;AAEvE,QAAI8R,KAAgBC,GAAc;AAChC,UAAIC,IAAeF,IAAetjF,EAAO,MAAO,IAAGA,GAC/CyjF,IAAeF,IAAe/R,EAAM,MAAK,IAAKA;AAElD,aAAA94E,MAAUA,IAAQ,IAAI6/E,OACfkB,EAAU+J,GAAcC,GAAclK,GAASC,GAAY9gF,CAAK;AAAA,IACxE;AAAA,EACF;AACD,SAAK2qF,KAGL3qF,MAAUA,IAAQ,IAAI6/E,OACf0I,GAAajhF,GAAQwxE,GAAO+H,GAASC,GAAYC,GAAW/gF,CAAK,KAH/D;AAIX;AAEA,IAAAgrF,KAAiBZ,IClFbA,KAAkB/sF,IAClBgnF,KAAez6E;AAgBnB,SAASqhF,GAAY3lF,GAAOwzE,GAAO+H,GAASC,GAAY9gF,GAAO;AAC7D,SAAIsF,MAAUwzE,IACL,KAELxzE,KAAS,QAAQwzE,KAAS,QAAS,CAACuL,GAAa/+E,CAAK,KAAK,CAAC++E,GAAavL,CAAK,IACzExzE,MAAUA,KAASwzE,MAAUA,IAE/BsR,GAAgB9kF,GAAOwzE,GAAO+H,GAASC,GAAYmK,IAAajrF,CAAK;AAC9E;AAEA,IAAAkrF,KAAiBD,IC3BbA,KAAc5tF;AA8BlB,SAASm/D,GAAQl3D,GAAOwzE,GAAO;AAC7B,SAAOmS,GAAY3lF,GAAOwzE,CAAK;AACjC;AAEA,IAAAqS,KAAiB3uB,IC3Bb4uB,KAAW,WAAY;AACvB,MAAI,OAAO,MAAQ;AACf,WAAO;AASX,WAASC,EAAS75E,GAAK7K,GAAK;AACxB,QAAIqf,IAAS;AACb,WAAAxU,EAAI,KAAK,SAAUyZ,GAAOtO,GAAO;AAC7B,aAAIsO,EAAM,OAAOtkB,KACbqf,IAASrJ,GACF,MAEJ;AAAA,IACnB,CAAS,GACMqJ;AAAA,EACV;AACD,SAAsB,WAAY;AAC9B,aAASslE,IAAU;AACf,WAAK,cAAc;IACtB;AACD,kBAAO,eAAeA,EAAQ,WAAW,QAAQ;AAAA,MAI7C,KAAK,WAAY;AACb,eAAO,KAAK,YAAY;AAAA,MAC3B;AAAA,MACD,YAAY;AAAA,MACZ,cAAc;AAAA,IAC1B,CAAS,GAKDA,EAAQ,UAAU,MAAM,SAAU3kF,GAAK;AACnC,UAAIgW,IAAQ0uE,EAAS,KAAK,aAAa1kF,CAAG,GACtCskB,IAAQ,KAAK,YAAYtO;AAC7B,aAAOsO,KAASA,EAAM;AAAA,IAClC,GAMQqgE,EAAQ,UAAU,MAAM,SAAU3kF,GAAKrB,GAAO;AAC1C,UAAIqX,IAAQ0uE,EAAS,KAAK,aAAa1kF,CAAG;AAC1C,MAAI,CAACgW,IACD,KAAK,YAAYA,GAAO,KAAKrX,IAG7B,KAAK,YAAY,KAAK,CAACqB,GAAKrB,CAAK,CAAC;AAAA,IAElD,GAKQgmF,EAAQ,UAAU,SAAS,SAAU3kF,GAAK;AACtC,UAAIqzE,IAAU,KAAK,aACfr9D,IAAQ0uE,EAASrR,GAASrzE,CAAG;AACjC,MAAI,CAACgW,KACDq9D,EAAQ,OAAOr9D,GAAO,CAAC;AAAA,IAEvC,GAKQ2uE,EAAQ,UAAU,MAAM,SAAU3kF,GAAK;AACnC,aAAO,CAAC,CAAC,CAAC0kF,EAAS,KAAK,aAAa1kF,CAAG;AAAA,IACpD,GAIQ2kF,EAAQ,UAAU,QAAQ,WAAY;AAClC,WAAK,YAAY,OAAO,CAAC;AAAA,IACrC,GAMQA,EAAQ,UAAU,UAAU,SAAUvrE,GAAUwrE,GAAK;AACjD,MAAIA,MAAQ,WAAUA,IAAM;AAC5B,eAASz2E,IAAK,GAAGu0B,IAAK,KAAK,aAAav0B,IAAKu0B,EAAG,QAAQv0B,KAAM;AAC1D,YAAImW,IAAQoe,EAAGv0B;AACf,QAAAiL,EAAS,KAAKwrE,GAAKtgE,EAAM,IAAIA,EAAM,EAAE;AAAA,MACxC;AAAA,IACb,GACeqgE;AAAA,EACf;AACA,KAKIE,KAAY,OAAO,SAAW,OAAe,OAAO,WAAa,OAAe,OAAO,aAAa,UAGpGC,KAAY,WAAY;AACxB,SAAI,OAAO,SAAW,OAAe,OAAO,SAAS,OAC1C,SAEP,OAAO,OAAS,OAAe,KAAK,SAAS,OACtC,OAEP,OAAO,SAAW,OAAe,OAAO,SAAS,OAC1C,SAGJ,SAAS,aAAa;AACjC,KAQIC,KAA2B,WAAY;AACvC,SAAI,OAAO,yBAA0B,aAI1B,sBAAsB,KAAKD,EAAQ,IAEvC,SAAU1rE,GAAU;AAAE,WAAO,WAAW,WAAY;AAAE,aAAOA,EAAS,KAAK,IAAG,CAAE;AAAA,IAAI,GAAE,MAAO,EAAE;AAAA,EAAE;AAC5G,KAGI4rE,KAAkB;AAStB,SAASC,GAAU7rE,GAAUq8B,GAAO;AAChC,MAAIyvC,IAAc,IAAOC,IAAe,IAAOC,IAAe;AAO9D,WAASC,IAAiB;AACtB,IAAIH,MACAA,IAAc,IACd9rE,MAEA+rE,KACAj0C;EAEP;AAQD,WAASo0C,IAAkB;AACvB,IAAAP,GAAwBM,CAAc;AAAA,EACzC;AAMD,WAASn0C,IAAQ;AACb,QAAIq0C,IAAY,KAAK;AACrB,QAAIL,GAAa;AAEb,UAAIK,IAAYH,IAAeJ;AAC3B;AAMJ,MAAAG,IAAe;AAAA,IAClB;AAEG,MAAAD,IAAc,IACdC,IAAe,IACf,WAAWG,GAAiB7vC,CAAK;AAErC,IAAA2vC,IAAeG;AAAA,EAClB;AACD,SAAOr0C;AACX;AAGA,IAAIs0C,KAAgB,IAGhBC,KAAiB,CAAC,OAAO,SAAS,UAAU,QAAQ,SAAS,UAAU,QAAQ,QAAQ,GAEvFC,KAA4B,OAAO,mBAAqB,KAIxDC,KAA0C,WAAY;AAMtD,WAASA,IAA2B;AAMhC,SAAK,aAAa,IAMlB,KAAK,uBAAuB,IAM5B,KAAK,qBAAqB,MAM1B,KAAK,aAAa,IAClB,KAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI,GACvD,KAAK,UAAUV,GAAS,KAAK,QAAQ,KAAK,IAAI,GAAGO,EAAa;AAAA,EACjE;AAOD,SAAAG,EAAyB,UAAU,cAAc,SAAUC,GAAU;AACjE,IAAK,CAAC,KAAK,WAAW,QAAQA,CAAQ,KAClC,KAAK,WAAW,KAAKA,CAAQ,GAG5B,KAAK,cACN,KAAK,SAAQ;AAAA,EAEzB,GAOID,EAAyB,UAAU,iBAAiB,SAAUC,GAAU;AACpE,QAAIC,IAAY,KAAK,YACjB7vE,IAAQ6vE,EAAU,QAAQD,CAAQ;AAEtC,IAAI,CAAC5vE,KACD6vE,EAAU,OAAO7vE,GAAO,CAAC,GAGzB,CAAC6vE,EAAU,UAAU,KAAK,cAC1B,KAAK,YAAW;AAAA,EAE5B,GAOIF,EAAyB,UAAU,UAAU,WAAY;AACrD,QAAIG,IAAkB,KAAK;AAG3B,IAAIA,KACA,KAAK,QAAO;AAAA,EAExB,GASIH,EAAyB,UAAU,mBAAmB,WAAY;AAE9D,QAAII,IAAkB,KAAK,WAAW,OAAO,SAAUH,GAAU;AAC7D,aAAOA,EAAS,aAAY,GAAIA,EAAS,UAAS;AAAA,IAC9D,CAAS;AAMD,WAAAG,EAAgB,QAAQ,SAAUH,GAAU;AAAE,aAAOA,EAAS,gBAAe;AAAA,IAAG,CAAE,GAC3EG,EAAgB,SAAS;AAAA,EACxC,GAOIJ,EAAyB,UAAU,WAAW,WAAY;AAGtD,IAAI,CAACd,MAAa,KAAK,eAMvB,SAAS,iBAAiB,iBAAiB,KAAK,gBAAgB,GAChE,OAAO,iBAAiB,UAAU,KAAK,OAAO,GAC1Ca,MACA,KAAK,qBAAqB,IAAI,iBAAiB,KAAK,OAAO,GAC3D,KAAK,mBAAmB,QAAQ,UAAU;AAAA,MACtC,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,eAAe;AAAA,MACf,SAAS;AAAA,IACzB,CAAa,MAGD,SAAS,iBAAiB,sBAAsB,KAAK,OAAO,GAC5D,KAAK,uBAAuB,KAEhC,KAAK,aAAa;AAAA,EAC1B,GAOIC,EAAyB,UAAU,cAAc,WAAY;AAGzD,IAAI,CAACd,MAAa,CAAC,KAAK,eAGxB,SAAS,oBAAoB,iBAAiB,KAAK,gBAAgB,GACnE,OAAO,oBAAoB,UAAU,KAAK,OAAO,GAC7C,KAAK,sBACL,KAAK,mBAAmB,cAExB,KAAK,wBACL,SAAS,oBAAoB,sBAAsB,KAAK,OAAO,GAEnE,KAAK,qBAAqB,MAC1B,KAAK,uBAAuB,IAC5B,KAAK,aAAa;AAAA,EAC1B,GAQIc,EAAyB,UAAU,mBAAmB,SAAUjjD,GAAI;AAChE,QAAI0D,IAAK1D,EAAG,cAAcsjD,IAAe5/C,MAAO,SAAS,KAAKA,GAE1D6/C,IAAmBR,GAAe,KAAK,SAAUzlF,GAAK;AACtD,aAAO,CAAC,CAAC,CAACgmF,EAAa,QAAQhmF,CAAG;AAAA,IAC9C,CAAS;AACD,IAAIimF,KACA,KAAK,QAAO;AAAA,EAExB,GAMIN,EAAyB,cAAc,WAAY;AAC/C,WAAK,KAAK,cACN,KAAK,YAAY,IAAIA,MAElB,KAAK;AAAA,EACpB,GAMIA,EAAyB,YAAY,MAC9BA;AACX,EAAC,GASGO,KAAsB,SAAUxgF,GAAQjK,GAAO;AAC/C,WAAS0S,IAAK,GAAGu0B,IAAK,OAAO,KAAKjnC,CAAK,GAAG0S,IAAKu0B,EAAG,QAAQv0B,KAAM;AAC5D,QAAInO,IAAM0iC,EAAGv0B;AACb,WAAO,eAAezI,GAAQ1F,GAAK;AAAA,MAC/B,OAAOvE,EAAMuE;AAAA,MACb,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,cAAc;AAAA,IAC1B,CAAS;AAAA,EACJ;AACD,SAAO0F;AACX,GAQIygF,KAAe,SAAUzgF,GAAQ;AAIjC,MAAI0gF,IAAc1gF,KAAUA,EAAO,iBAAiBA,EAAO,cAAc;AAGzE,SAAO0gF,KAAetB;AAC1B,GAGIuB,KAAYC,GAAe,GAAG,GAAG,GAAG,CAAC;AAOzC,SAASC,GAAQ5nF,GAAO;AACpB,SAAO,WAAWA,CAAK,KAAK;AAChC;AAQA,SAAS6nF,GAAeh5E,GAAQ;AAE5B,WADIi5E,IAAY,CAAA,GACPt4E,IAAK,GAAGA,IAAK,UAAU,QAAQA;AACpC,IAAAs4E,EAAUt4E,IAAK,KAAK,UAAUA;AAElC,SAAOs4E,EAAU,OAAO,SAAUxtE,GAAMtC,GAAU;AAC9C,QAAIhY,IAAQ6O,EAAO,YAAYmJ,IAAW;AAC1C,WAAOsC,IAAOstE,GAAQ5nF,CAAK;AAAA,EAC9B,GAAE,CAAC;AACR;AAOA,SAAS+nF,GAAYl5E,GAAQ;AAGzB,WAFIi5E,IAAY,CAAC,OAAO,SAAS,UAAU,MAAM,GAC7CE,IAAW,CAAA,GACNx4E,IAAK,GAAGy4E,IAAcH,GAAWt4E,IAAKy4E,EAAY,QAAQz4E,KAAM;AACrE,QAAIwI,IAAWiwE,EAAYz4E,IACvBxP,IAAQ6O,EAAO,aAAamJ;AAChC,IAAAgwE,EAAShwE,KAAY4vE,GAAQ5nF,CAAK;AAAA,EACrC;AACD,SAAOgoF;AACX;AAQA,SAASE,GAAkBnhF,GAAQ;AAC/B,MAAIohF,IAAOphF,EAAO;AAClB,SAAO4gF,GAAe,GAAG,GAAGQ,EAAK,OAAOA,EAAK,MAAM;AACvD;AAOA,SAASC,GAA0BrhF,GAAQ;AAGvC,MAAIshF,IAActhF,EAAO,aAAauhF,IAAevhF,EAAO;AAS5D,MAAI,CAACshF,KAAe,CAACC;AACjB,WAAOZ;AAEX,MAAI74E,IAAS24E,GAAYzgF,CAAM,EAAE,iBAAiBA,CAAM,GACpDihF,IAAWD,GAAYl5E,CAAM,GAC7B05E,IAAWP,EAAS,OAAOA,EAAS,OACpCQ,IAAUR,EAAS,MAAMA,EAAS,QAKlCp8E,IAAQg8E,GAAQ/4E,EAAO,KAAK,GAAGhD,IAAS+7E,GAAQ/4E,EAAO,MAAM;AAqBjE,MAlBIA,EAAO,cAAc,iBAOjB,KAAK,MAAMjD,IAAQ28E,CAAQ,MAAMF,MACjCz8E,KAASi8E,GAAeh5E,GAAQ,QAAQ,OAAO,IAAI05E,IAEnD,KAAK,MAAM18E,IAAS28E,CAAO,MAAMF,MACjCz8E,KAAUg8E,GAAeh5E,GAAQ,OAAO,QAAQ,IAAI25E,KAOxD,CAACC,GAAkB1hF,CAAM,GAAG;AAK5B,QAAI2hF,IAAgB,KAAK,MAAM98E,IAAQ28E,CAAQ,IAAIF,GAC/CM,IAAiB,KAAK,MAAM98E,IAAS28E,CAAO,IAAIF;AAMpD,IAAI,KAAK,IAAII,CAAa,MAAM,MAC5B98E,KAAS88E,IAET,KAAK,IAAIC,CAAc,MAAM,MAC7B98E,KAAU88E;AAAA,EAEjB;AACD,SAAOhB,GAAeK,EAAS,MAAMA,EAAS,KAAKp8E,GAAOC,CAAM;AACpE;AAOA,IAAI+8E,KAAwB,WAAY;AAGpC,SAAI,OAAO,qBAAuB,MACvB,SAAU7hF,GAAQ;AAAE,WAAOA,aAAkBygF,GAAYzgF,CAAM,EAAE;AAAA,MAKrE,SAAUA,GAAQ;AAAE,WAAQA,aAAkBygF,GAAYzgF,CAAM,EAAE,cACrE,OAAOA,EAAO,WAAY;AAAA;AAClC;AAOA,SAAS0hF,GAAkB1hF,GAAQ;AAC/B,SAAOA,MAAWygF,GAAYzgF,CAAM,EAAE,SAAS;AACnD;AAOA,SAAS8hF,GAAe9hF,GAAQ;AAC5B,SAAKm/E,KAGD0C,GAAqB7hF,CAAM,IACpBmhF,GAAkBnhF,CAAM,IAE5BqhF,GAA0BrhF,CAAM,IAL5B2gF;AAMf;AAQA,SAASoB,GAAmB/kD,GAAI;AAC5B,MAAIzmC,IAAIymC,EAAG,GAAG17B,IAAI07B,EAAG,GAAGn4B,IAAQm4B,EAAG,OAAOl4B,IAASk4B,EAAG,QAElDglD,IAAS,OAAO,kBAAoB,MAAc,kBAAkB,QACpEC,IAAO,OAAO,OAAOD,EAAO,SAAS;AAEzC,SAAAxB,GAAmByB,GAAM;AAAA,IACrB,GAAG1rF;AAAA,IAAG,GAAG+K;AAAA,IAAG,OAAOuD;AAAA,IAAO,QAAQC;AAAA,IAClC,KAAKxD;AAAA,IACL,OAAO/K,IAAIsO;AAAA,IACX,QAAQC,IAASxD;AAAA,IACjB,MAAM/K;AAAA,EACd,CAAK,GACM0rF;AACX;AAWA,SAASrB,GAAerqF,GAAG+K,GAAGuD,GAAOC,GAAQ;AACzC,SAAO,EAAE,GAAGvO,GAAG,GAAG+K,GAAG,OAAOuD,GAAO,QAAQC;AAC/C;AAMA,IAAIo9E,KAAmC,WAAY;AAM/C,WAASA,EAAkBliF,GAAQ;AAM/B,SAAK,iBAAiB,GAMtB,KAAK,kBAAkB,GAMvB,KAAK,eAAe4gF,GAAe,GAAG,GAAG,GAAG,CAAC,GAC7C,KAAK,SAAS5gF;AAAA,EACjB;AAOD,SAAAkiF,EAAkB,UAAU,WAAW,WAAY;AAC/C,QAAID,IAAOH,GAAe,KAAK,MAAM;AACrC,gBAAK,eAAeG,GACZA,EAAK,UAAU,KAAK,kBACxBA,EAAK,WAAW,KAAK;AAAA,EACjC,GAOIC,EAAkB,UAAU,gBAAgB,WAAY;AACpD,QAAID,IAAO,KAAK;AAChB,gBAAK,iBAAiBA,EAAK,OAC3B,KAAK,kBAAkBA,EAAK,QACrBA;AAAA,EACf,GACWC;AACX,EAAC,GAEGC,KAAqC,WAAY;AAOjD,WAASA,EAAoBniF,GAAQoiF,GAAU;AAC3C,QAAIC,IAAcN,GAAmBK,CAAQ;AAO7C,IAAA5B,GAAmB,MAAM,EAAE,QAAQxgF,GAAQ,aAAaqiF,EAAW,CAAE;AAAA,EACxE;AACD,SAAOF;AACX,EAAC,GAEGG,KAAmC,WAAY;AAW/C,WAASA,EAAkB5uE,GAAU6uE,GAAYC,GAAa;AAc1D,QAPA,KAAK,sBAAsB,IAM3B,KAAK,gBAAgB,IAAIzD,MACrB,OAAOrrE,KAAa;AACpB,YAAM,IAAI,UAAU,yDAAyD;AAEjF,SAAK,YAAYA,GACjB,KAAK,cAAc6uE,GACnB,KAAK,eAAeC;AAAA,EACvB;AAOD,SAAAF,EAAkB,UAAU,UAAU,SAAUtiF,GAAQ;AACpD,QAAI,CAAC,UAAU;AACX,YAAM,IAAI,UAAU,0CAA0C;AAGlE,QAAI,SAAO,UAAY,OAAe,EAAE,mBAAmB,UAG3D;AAAA,UAAI,EAAEA,aAAkBygF,GAAYzgF,CAAM,EAAE;AACxC,cAAM,IAAI,UAAU,uCAAuC;AAE/D,UAAIyiF,IAAe,KAAK;AAExB,MAAIA,EAAa,IAAIziF,CAAM,MAG3ByiF,EAAa,IAAIziF,GAAQ,IAAIkiF,GAAkBliF,CAAM,CAAC,GACtD,KAAK,YAAY,YAAY,IAAI,GAEjC,KAAK,YAAY;;EACzB,GAOIsiF,EAAkB,UAAU,YAAY,SAAUtiF,GAAQ;AACtD,QAAI,CAAC,UAAU;AACX,YAAM,IAAI,UAAU,0CAA0C;AAGlE,QAAI,SAAO,UAAY,OAAe,EAAE,mBAAmB,UAG3D;AAAA,UAAI,EAAEA,aAAkBygF,GAAYzgF,CAAM,EAAE;AACxC,cAAM,IAAI,UAAU,uCAAuC;AAE/D,UAAIyiF,IAAe,KAAK;AAExB,MAAI,CAACA,EAAa,IAAIziF,CAAM,MAG5ByiF,EAAa,OAAOziF,CAAM,GACrByiF,EAAa,QACd,KAAK,YAAY,eAAe,IAAI;AAAA;AAAA,EAEhD,GAMIH,EAAkB,UAAU,aAAa,WAAY;AACjD,SAAK,YAAW,GAChB,KAAK,cAAc,SACnB,KAAK,YAAY,eAAe,IAAI;AAAA,EAC5C,GAOIA,EAAkB,UAAU,eAAe,WAAY;AACnD,QAAI7oE,IAAQ;AACZ,SAAK,YAAW,GAChB,KAAK,cAAc,QAAQ,SAAUipE,GAAa;AAC9C,MAAIA,EAAY,cACZjpE,EAAM,oBAAoB,KAAKipE,CAAW;AAAA,IAE1D,CAAS;AAAA,EACT,GAOIJ,EAAkB,UAAU,kBAAkB,WAAY;AAEtD,QAAI,EAAC,KAAK,aAGV;AAAA,UAAIpD,IAAM,KAAK,cAEXvR,IAAU,KAAK,oBAAoB,IAAI,SAAU+U,GAAa;AAC9D,eAAO,IAAIP,GAAoBO,EAAY,QAAQA,EAAY,cAAa,CAAE;AAAA,MAC1F,CAAS;AACD,WAAK,UAAU,KAAKxD,GAAKvR,GAASuR,CAAG,GACrC,KAAK,YAAW;AAAA;AAAA,EACxB,GAMIoD,EAAkB,UAAU,cAAc,WAAY;AAClD,SAAK,oBAAoB,OAAO,CAAC;AAAA,EACzC,GAMIA,EAAkB,UAAU,YAAY,WAAY;AAChD,WAAO,KAAK,oBAAoB,SAAS;AAAA,EACjD,GACWA;AACX,EAAC,GAKGnC,KAAY,OAAO,UAAY,MAAc,oBAAI,QAAS,IAAG,IAAIpB,MAKjE4D,KAAgC,WAAY;AAO5C,WAASA,EAAejvE,GAAU;AAC9B,QAAI,EAAE,gBAAgBivE;AAClB,YAAM,IAAI,UAAU,oCAAoC;AAE5D,QAAI,CAAC,UAAU;AACX,YAAM,IAAI,UAAU,0CAA0C;AAElE,QAAIJ,IAAatC,GAAyB,eACtCC,IAAW,IAAIoC,GAAkB5uE,GAAU6uE,GAAY,IAAI;AAC/D,IAAApC,GAAU,IAAI,MAAMD,CAAQ;AAAA,EAC/B;AACD,SAAOyC;AACX,EAAC;AAED;AAAA,EACI;AAAA,EACA;AAAA,EACA;AACJ,EAAE,QAAQ,SAAU/hF,GAAQ;AACxB+hF,EAAAA,GAAe,UAAU/hF,KAAU,WAAY;AAC3C,QAAIo8B;AACJ,YAAQA,IAAKmjD,GAAU,IAAI,IAAI,GAAGv/E,GAAQ,MAAMo8B,GAAI,SAAS;AAAA,EACrE;AACA,CAAC;AAED,IAAI1sB,KAAS,WAAY;AAErB,SAAI,OAAO8uE,GAAS,iBAAmB,MAC5BA,GAAS,iBAEbuD;AACX,EAAI;AC75BW,SAAS53E,GAASC,GAAM5Z,GAAG;AACxC,SAAK4Z,IAIEA,EAAK,SAAS5Z,CAAC,IAHb;AAIX;ACHO,SAASwxF,GAAYtxE,GAAMC,GAAM;AACtC,SAAID,MAASC,IAAa,KACtB,CAACD,KAAQ,CAACC,IAAa,KAEvB,WAAWA,KAAQ,WAAWA,IACzBD,EAAK,UAAUC,EAAK,SAASD,EAAK,UAAUC,EAAK,QAGtD,aAAaA,KAAQ,aAAaA,IAC7BD,EAAK,YAAYC,EAAK,WAAWD,EAAK,YAAYC,EAAK,UAGzD;AACT;AACO,SAASsxE,GAAaC,GAAel3E,GAAW;AAErD,EAAIk3E,MAAkB,SAAS,iBAAiB/3E,GAASa,GAAWk3E,CAAa,KAAK,OAAOA,EAAc,SAAU,cACnHA,EAAc,MAAK;AAEvB;AACO,SAASC,GAAc7qF,GAASwb,GAAU;AAC/C,MAAIsvE,IAAY,MACZC,IAAa;AAEjB,WAASC,EAAS/4E,GAAM;AACtB,QAAIC,IAAQpB,EAAemB,GAAM,CAAC,GAC9BnK,IAASoK,EAAM,GAAG;AAEtB,QAAI,EAAC,SAAS,gBAAgB,SAASpK,CAAM,GAE7C;AAAA,UAAImjF,IAAwBnjF,EAAO,sBAAuB,GACtD6E,IAAQs+E,EAAsB,OAC9Br+E,IAASq+E,EAAsB,QAE/BC,IAAa,KAAK,MAAMv+E,CAAK,GAC7Bw+E,IAAc,KAAK,MAAMv+E,CAAM;AAEnC,OAAIk+E,MAAcI,KAAcH,MAAeI,MAE7C,QAAQ,UAAU,KAAK,WAAY;AACjC,QAAA3vE,EAAS;AAAA,UACP,OAAO0vE;AAAA,UACP,QAAQC;AAAA,QAClB,CAAS;AAAA,MACT,CAAO,GAGHL,IAAYI,GACZH,IAAaI;AAAA;AAAA,EACd;AAED,MAAIhqC,IAAiB,IAAIspC,GAAeO,CAAQ;AAEhD,SAAIhrF,KACFmhD,EAAe,QAAQnhD,CAAO,GAGzB,WAAY;AACjB,IAAAmhD,EAAe,WAAU;AAAA,EAC7B;AACA;AC9DA,MAAAiqC,KAAgB,SAAU5vE,GAAU6vE,GAAQ;AAC1C,MAAIC,IAAYzxF,GAAM,OAAO,EAAK,GAC9B0xF,IAAa1xF,GAAM,OAAO,IAAI;AAElC,WAAS2xF,IAAgB;AACvB,WAAO,aAAaD,EAAW,OAAO;AAAA,EACvC;AAED,WAAS1yD,EAAQ4yD,GAAO;AAGtB,QAFAD,KAEI,CAACF,EAAU,WAAWG,MAAU,IAAM;AACxC,UAAIjwE,EAAU,MAAK;AAEjB;AAGF,MAAA8vE,EAAU,UAAU,IACpBC,EAAW,UAAU,OAAO,WAAW,WAAY;AACjD,QAAAD,EAAU,UAAU;AAAA,MACrB,GAAED,CAAM;AAAA,IACf;AACM,MAAAE,EAAW,UAAU,OAAO,WAAW,WAAY;AACjD,QAAAD,EAAU,UAAU,IACpBzyD;MACD,GAAEwyD,CAAM;AAAA,EAEZ;AAED,SAAO,CAACxyD,GAAS,WAAY;AAC3B,IAAAyyD,EAAU,UAAU,IACpBE;EACJ,CAAG;AACH;AClBA,SAASjyC,GAAWpwB,GAAM;AACxB,SAAI,OAAOA,KAAS,aAAmB,OAChCA,EAAI;AACb;AAEA,SAASuiE,GAASC,GAAO;AACvB,SAAI3iF,GAAQ2iF,CAAK,MAAM,YAAY,CAACA,IAAc,OAC3CA;AACT;AAEA,IAAIC,KAAQ,SAAe35E,GAAM5P,GAAK;AACpC,MAAIyC,IAAWmN,EAAK,UAChBtM,IAAWsM,EAAK,UAChBnK,IAASmK,EAAK,QACd62D,IAAQ72D,EAAK,OACb45E,IAAU55E,EAAK,SACf65E,IAAsB75E,EAAK,qBAC3B85E,IAAwB95E,EAAK,mBAC7B+5E,IAAoBD,MAA0B,SAAS,IAAIA,GAC3D1yB,IAAWx/D,GAAM,OAAO,CAAE,CAAA,GAC1ByjD,IAAUzjD,GAAM,UAChBoyF,IAAYpyF,GAAM,SAAS,KAAKiL,CAAQ,GAGxConF,IAAqBryF,GAAM,OAAO,CAAE,CAAA;AACxC,EAAAqyF,EAAmB,QAAQ,WAAWvmF,GACtCumF,EAAmB,QAAQ,SAASpkF,GACpCokF,EAAmB,QAAQ,QAAQpjB,GACnCojB,EAAmB,QAAQ,UAAUL;AAErC,MAAIM,IAAaf,GAAU,WAAY;AACrC,QAAIgB,IAAwBF,EAAmB,SAC3CG,IAAiBD,EAAsB,UACvCE,IAAeF,EAAsB,QACrCG,IAAcH,EAAsB,OACpCI,IAAgBJ,EAAsB;AAE1C,QAAI,CAACC,KAAkBC,GAAc;AACnC,UAAInuF,IAASm/C,EAAQ,SACjB77B,GACAzhB,IAAUu5C,GAAW+yC,CAAY,GACjCX,IAAQD,GAASY,CAAY;AACjC,MAAAjzB,EAAS,QAAQ,UAAUr5D,GAC3Bq5D,EAAS,QAAQ,QAAQsyB,GACzBtyB,EAAS,QAAQ,QAAQkzB;AAKzB,UAAIE,IAAY,UACZ7B,IAAgB6B,EAAU;AAG9B,aAAIzsF,KAAW6hD,GAAU7hD,CAAO,IAC9ByhB,IAASmyD,GAAaz1E,GAAQ6B,GAASusF,CAAW,IACzCZ,MACTlqE,IAASsyD,GAAW51E,GAAQwtF,GAAOY,CAAW,IAGhD5B,GAAaC,GAAezsF,CAAM,GAE9BquF,KAAiB/qE,KACnB+qE,EAAcruF,GAAQsjB,CAAM,GAGvB;AAAA,IACR;AAED,WAAO;AAAA,EACR,GAAEuqE,CAAiB,GAChBU,IAAc57E,EAAeq7E,GAAY,CAAC,GAC1CQ,IAAcD,EAAY,IAC1BE,IAAmBF,EAAY,IAI/BG,IAAgBhzF,GAAM,OAAO;AAAA,IAC/B,QAAQ,WAAkB;AAAA,IAAE;AAAA,EAChC,CAAG,GAEGizF,IAAsBjzF,GAAM,OAAO;AAAA,IACrC,QAAQ,WAAkB;AAAA,IAAE;AAAA,EAChC,CAAG;AACDA,EAAAA,GAAM,UAAU,WAAY;AAC1B,QAAImG,IAAUu5C,GAAWzxC,CAAM,GAC3B6jF,IAAQD,GAAS5jF,CAAM;AAE3B,IAAIw1C,EAAQ,YAAYwvC,EAAoB,QAAQ,YAClDA,EAAoB,QAAQ,UAC5BA,EAAoB,QAAQ,UAAUxvC,EAAQ,SAC9CwvC,EAAoB,QAAQ,SAASjC,GAAcvtC,EAAQ,SAASqvC,CAAW,KAG7EtzB,EAAS,QAAQ,YAAYr5D,KAAW,CAAC0qF,GAAYrxB,EAAS,QAAQ,OAAOsyB,CAAK,KAAK,CAAC1zB,GAAQoB,EAAS,QAAQ,OAAOyP,CAAK,OAC/H6jB,KAGIE,EAAc,QAAQ,YAAY7sF,MACpC6sF,EAAc,QAAQ,UACtBA,EAAc,QAAQ,UAAU7sF,GAChC6sF,EAAc,QAAQ,SAAShC,GAAc7qF,GAAS2sF,CAAW;AAAA,EAGzE,CAAG,GAED9yF,GAAM,UAAU,WAAY;AAC1B,IAAK8L,IAGHinF,MAFAD;EAIN,GAAK,CAAChnF,CAAQ,CAAC;AAEb,MAAIonF,IAAelzF,GAAM,OAAO,IAAI;AACpCA,SAAAA,GAAM,UAAU,WAAY;AAC1B,IAAIiyF,IACGiB,EAAa,YAChBA,EAAa,UAAUC,GAAiB,QAAQ,UAAUL,CAAW,KAE9DI,EAAa,YACtBA,EAAa,QAAQ,UACrBA,EAAa,UAAU;AAAA,EAE7B,GAAK,CAACjB,CAAmB,CAAC,GAExBjyF,GAAM,UAAU,WAAY;AAC1B,WAAO,WAAY;AACjB,MAAAgzF,EAAc,QAAQ,UACtBC,EAAoB,QAAQ,UACxBC,EAAa,WAASA,EAAa,QAAQ,OAAM,GACrDH;IACN;AAAA,EACG,GAAE,CAAE,CAAA,GAEL/yF,GAAM,oBAAoBwI,GAAK,WAAY;AACzC,WAAO;AAAA,MACL,YAAY,WAAsB;AAChC,eAAOsqF,EAAY,EAAI;AAAA,MACxB;AAAA,IACP;AAAA,EACA,CAAG,GAEiB9yF,gBAAAA,GAAM,eAAeoyF,CAAS,MAC9CA,IAAyBpyF,gBAAAA,GAAM,aAAaoyF,GAAW;AAAA,IACrD,KAAKjgF,GAAWigF,EAAU,KAAK3uC,CAAO;AAAA,EAC5C,CAAK,IAGI2uC;AACT,GAEIgB,KAAuBpzF,gBAAAA,GAAM,WAAW+xF,EAAK;AACjDqB,GAAQ,cAAc;AClKtB,IAAIC,KAAc,CAAC,WAAW,YAAY,SAAS,MAAM,QAAQ;AACjE,MAAAC,KAAgB,SAAU7zC,GAAS8zC,GAAW;AAC5C,MAAItqD,IAAYC,GAAS,IAAI,GACzBC,IAAalyB,EAAegyB,GAAW,CAAC,GACxCwV,IAAStV,EAAW,IACpBqqD,IAAoBrqD,EAAW,IAE/BsqD,IAASlqD;AAEb,WAAS6X,EAAUuB,GAAY;AAC7B,IAAA6wC,EAAkB7wC,GAAY,EAAI;AAAA,EACnC;AAED,WAAS+wC,IAAY;AACnBx2C,IAAAA,GAAI,OAAOu2C,EAAO,OAAO;AAAA,EAC1B;AAED,WAASE,EAAahyE,GAAU;AAC9B,IAAA+xE,KACAD,EAAO,UAAUv2C,GAAI,WAAY;AAE/B,MAAAkE,EAAU,SAAU7hC,GAAM;AACxB,gBAAQk/B,GAAM;AAAA,UACZ,KAAK;AACH,mBAAO;AAAA,UAET,KAAK;AACH,mBAAO;AAAA,QAGV;AAED,eAAOl/B;AAAA,MACf,CAAO,GACDoC,KAAa,QAAuCA;IAC1D,CAAK;AAAA,EACF;AAGD,SAAAgoB,GAAU,WAAY;AACpB,IAAAyX,EAAU,SAAS;AAAA,EACvB,GAAK,CAAC3B,CAAO,CAAC,GAEZ9V,GAAU,WAAY;AACpB,YAAQ8U,GAAM;AAAA,MACZ,KAAK;AACH,QAAA80C;AACA;AAAA,IAGH;AAED,IAAI90C,MACFg1C,EAAO,UAAUv2C,GAAkB,gBAAA5uB,GAAgC,gBAAAjE,KAAsB,KAAK,SAASwQ,IAAU;AAC/G,UAAItc,GAAOokC;AACX,aAAOt4B,GAAmB,EAAG,KAAK,SAAkBje,GAAU;AAC5D;AACE,kBAAQA,EAAS,OAAOA,EAAS,MAAI;AAAA,YACnC,KAAK;AACH,cAAAmS,IAAQ80E,GAAY,QAAQ50C,CAAM,GAClCkE,IAAa0wC,GAAY90E,IAAQ,IAE7BokC,KAAcpkC,MAAU,MAC1B6iC,EAAUuB,CAAU;AAAA,YAGxB,KAAK;AAAA,YACL,KAAK;AACH,qBAAOv2C,EAAS;UACnB;AAAA,MAEJ,GAAEyuB,CAAO;AAAA,IACX,CAAA,CAAC,CAAC;AAAA,EAET,GAAK,CAAC4jB,CAAM,CAAC,GACX9U,GAAU,WAAY;AACpB,WAAO,WAAY;AACjB,MAAA+pD;IACN;AAAA,EACG,GAAE,CAAE,CAAA,GACE,CAACj1C,GAAQk1C,CAAY;AAC9B,GCrFeC,KAAC,SAAUC,GAAS;AACjC,MAAIhtD,IAAkB7mC,EAAM,SAAS;AAAA,IACnC,OAAO;AAAA,IACP,QAAQ;AAAA,EACZ,CAAG,GACG8mC,IAAmB7vB,EAAe4vB,GAAiB,CAAC,GACpDitD,IAAahtD,EAAiB,IAC9BitD,IAAgBjtD,EAAiB;AAErC,WAASktD,EAAe7tF,GAAS;AAC/B,IAAA4tF,EAAc;AAAA,MACZ,OAAO5tF,EAAQ;AAAA,MACf,QAAQA,EAAQ;AAAA,IACtB,CAAK;AAAA,EACF;AAGD,MAAI8P,IAAQjW,EAAM,QAAQ,WAAY;AACpC,QAAIi0F,IAAY,CAAA;AAEhB,QAAIJ,GAAS;AACX,UAAI/gF,IAAQghF,EAAW,OACnB/gF,IAAS+gF,EAAW;AAExB,MAAID,EAAQ,QAAQ,QAAQ,MAAM,MAAM9gF,IACtCkhF,EAAU,SAASlhF,IACV8gF,EAAQ,QAAQ,WAAW,MAAM,MAAM9gF,MAChDkhF,EAAU,YAAYlhF,IAGpB8gF,EAAQ,QAAQ,OAAO,MAAM,MAAM/gF,IACrCmhF,EAAU,QAAQnhF,IACT+gF,EAAQ,QAAQ,UAAU,MAAM,MAAM/gF,MAC/CmhF,EAAU,WAAWnhF;AAAA,IAExB;AAED,WAAOmhF;AAAA,EACX,GAAK,CAACJ,GAASC,CAAU,CAAC;AACxB,SAAO,CAAC79E,GAAO+9E,CAAc;AAC/B;AC9BA,IAAIE,KAA0B,gBAAAl0F,EAAM,WAAW,SAAUgE,GAAOwE,GAAK;AACnE,MAAIi3C,IAAUz7C,EAAM,SAChBw0C,IAAYx0C,EAAM,WAClB0H,IAAY1H,EAAM,WAClBiS,IAAQjS,EAAM,OACdiH,IAAWjH,EAAM,UACjB4rE,IAAS5rE,EAAM,QACf6vF,IAAU7vF,EAAM,SAChBmwF,IAAqBnwF,EAAM,oBAC3Bq/C,IAAcr/C,EAAM,aACpBirE,IAAQjrE,EAAM,OACd8tF,IAAQ9tF,EAAM,OACdowF,IAAiBpwF,EAAM,gBACvBqwF,IAAwBrwF,EAAM,uBAC9BguF,IAAUhuF,EAAM,SAChBswF,IAAetwF,EAAM,cACrBuwF,IAAevwF,EAAM,cACrBonE,IAAcpnE,EAAM,aACpBwwF,IAAexwF,EAAM,cACrB+jD,IAAU/jD,EAAM,SAChBywF,IAAWlrD,MACXmrD,IAAanrD,MAEbN,IAAYC,GAAU,GACtBC,IAAalyB,EAAegyB,GAAW,CAAC,GACxC0rD,IAAmBxrD,EAAW,IAC9ByrD,IAAsBzrD,EAAW,IAGjC0rD,IAAmBjB,GAAgBC,CAAO,GAC1CiB,IAAoB79E,EAAe49E,GAAkB,CAAC,GACtDE,IAAeD,EAAkB,IACjCE,IAAsBF,EAAkB;AAE5C,WAASvB,IAAY;AACnB,IAAIM,KACFmB,EAAoBZ,EAAc,CAAE;AAAA,EAEvC;AAGD,MAAIa,IAAoB3B,GAAiB7zC,GAAS8zC,CAAS,GACvD2B,IAAqBj+E,EAAeg+E,GAAmB,CAAC,GACxDx2C,IAASy2C,EAAmB,IAC5BvB,IAAeuB,EAAmB,IAYlCh0C,IAAahY,GAAS,CAAC,GACvBiY,IAAalqC,EAAeiqC,GAAY,CAAC,GACzCi0C,IAAah0C,EAAW,IACxBi0C,IAAgBj0C,EAAW,IAE3Bk0C,KAAoB9rD;AACxB,EAAA4U,GAAgB,WAAY;AAC1B,IAAIM,MAAW,cACb22C,EAAc,CAAC;AAAA,EAErB,GAAK,CAAC32C,CAAM,CAAC;AAGX,WAAS62C,KAAiB;AACxB,WAAIxD,KAIGsC;AAAA,EACR;AAED,WAASmB,KAAa;AACpB,QAAIC;AAEJ,KAACA,IAAoBf,EAAS,aAAa,QAAQe,MAAsB,UAAkBA,EAAkB,WAAU;AAAA,EACxH;AAED,WAASC,GAAgBC,GAAcC,IAAY;AACjD,QAAIC,KAAuBvB,EAAsBsB,EAAU;AAE3D,IAAIhB,MAAqBiB,MACvBhB,EAAoBgB,EAAoB,GAI1CR,EAAc,SAAUziE,GAAK;AAC3B,aAAOA,IAAM;AAAA,IACnB,CAAK,GAEG8rB,MAAW,YACbuzC,KAAY,QAAsCA,EAAQ0D,GAAcC,EAAU;AAAA,EAErF;AAGD,EAAAx3C,GAAgB,WAAY;AAC1B,IAAIM,MAAW,YAET02C,IAAa,IACfI,OAEA5B,EAAa,WAAY;AACvB,UAAIkC;AAEJ,OAACA,IAAwBR,GAAkB,aAAa,QAAQQ,MAA0B,UAAkBA,EAAsB,KAAKR,EAAiB;AAAA,IAClK,CAAS;AAAA,EAGT,GAAK,CAACF,CAAU,CAAC;AAEf,MAAI1lB,KAASnhE,EAAc,CAAA,GAAIkhE,GAAUxrE,CAAK,CAAC;AAE/C,GAAC,eAAe,cAAc,YAAY,EAAE,QAAQ,SAAUk3C,GAAW;AACvE,QAAI46C,KAAgBrmB,GAAOv0B;AAE3B,IAAAu0B,GAAOv0B,KAAa,SAAU/0C,IAASiyB,GAAO;AAC5C,aAAAu7D,KACOmC,MAAkB,OAAmC,SAASA,GAAc3vF,IAASiyB,CAAK;AAAA,IACvG;AAAA,EACA,CAAG;AAED,WAAS29D,KAAgB;AACvB,WAAO,IAAI,QAAQ,SAAUzpE,GAAS;AACpC,MAAA+oE,GAAkB,UAAU/oE;AAAA,IAClC,CAAK;AAAA,EACF;AAGD,EAAAtsB,EAAM,UAAU,WAAY;AAC1B,IAAI,CAACyvE,GAAO,cAAchxB,MAAW,YACnCk1C;EAEH,GAAE,CAAClkB,GAAO,YAAYhxB,CAAM,CAAC,GAE9Bz+C,EAAM,oBAAoBwI,GAAK,WAAY;AACzC,WAAO;AAAA,MACL,YAAY+sF;AAAA,MACZ,YAAY,WAAsB;AAChC,eAAOb,EAAW;AAAA,MACnB;AAAA,IACP;AAAA,EACA,CAAG;AAED,MAAIrwE,KAAc/V,EAAcA,EAAc,CAAA,GAAIymF,CAAY,GAAG,IAAI;AAAA,IACnE,QAAQnlB;AAAA,IACR,SAASnxB,MAAW,YAAYA,MAAW,YAAY,CAACgB,IAAU,SAAY;AAAA,IAG9E,eAAe,CAACA,KAAWhB,MAAW,WAAW,SAAS;AAAA,EAC3D,GAAExoC,CAAK,GAGJ+/E,KAAgB;AAEpB,GAAK/mB,KAAU,OAA2B,SAASA,EAAM,YAAYxwB,MAAW,WAAWA,MAAW,cACpGu3C,KAAgB;AAGlB,MAAI5D,IAAYnnF;AAEhB,SAAIjL,EAAM,SAAS,MAAMiL,CAAQ,IAAI,MACnCmnF,IAAyB,gBAAApyF,EAAM,cAAc,OAAO;AAAA,IAClD,WAAW,GAAG,OAAOw4C,GAAW,UAAU;AAAA,EAC3C,GAAEvtC,CAAQ,IAGO,gBAAAjL,EAAM,cAAcijD,IAAW1lC,GAAS;AAAA,IAC1D,SAASkiC;AAAA,IACT,KAAKi1C;AAAA,IACL,iBAAiB,GAAG,OAAOl8C,GAAW,SAAS;AAAA,EAChD,GAAEi3B,IAAQ;AAAA,IACT,iBAAiBsmB;AAAA,IACjB,gBAAgBA;AAAA,IAChB,eAAe5B;AAAA,IACf,aAAa9wC;AAAA,EACjB,CAAG,GAAG,SAAUjrC,GAAM69E,IAAW;AAC7B,QAAIzuC,KAAkBpvC,EAAK,WACvB89E,IAAc99E,EAAK,OACnB+9E,IAAkB9oF,GAAWmrC,GAAW9sC,GAAWipF,GAAkBntC,EAAe;AACxF,WAAoB,gBAAAxnD,EAAM,cAAc+xF,IAAO;AAAA,MAC7C,QAAQuD,GAAgB;AAAA,MACxB,KAAK;AAAA,MACL,KAAKb;AAAA,MACL,qBAAqB;AAAA,MACrB,UAAUuB;AAAA,MACV,OAAO/mB;AAAA,MACP,SAASwmB;AAAA,IACf,GAAoB,gBAAAz1F,EAAM,cAAc,OAAO;AAAA,MACzC,KAAKi2F;AAAA,MACL,WAAWE;AAAA,MACX,cAAc7B;AAAA,MACd,cAAcC;AAAA,MACd,oBAAoBnpB;AAAA,MACpB,qBAAqBopB;AAAA,MACrB,SAASzsC;AAAA,MACT,OAAOz5C,EAAcA,EAAc,CAAE,GAAE4nF,CAAW,GAAG7xE,EAAW;AAAA,IACtE,GAAO+tE,CAAS,CAAC;AAAA,EACjB,CAAG;AACH,CAAC;AACD8B,GAAW,cAAc;ACpNzB,IAAIkC,KAAgC,gBAAAp2F,EAAM,WAAW,SAAUgE,GAAOwE,GAAK;AACzE,MAAIgwC,IAAYx0C,EAAM,WAClBy7C,IAAUz7C,EAAM,SAChB4rE,IAAS5rE,EAAM,QACfiH,IAAWjH,EAAM,UACjBqyF,IAAgBryF,EAAM;AAC1B,EAAAqyF,IAAgBA,MAAkB,SAAS,CAAA,IAAKA;AAChD,MAAIC,IAAiBD,EAAc,gBAC/BE,IAAaF,EAAc,YAC3BG,IAAwBH,EAAc,aACtCI,IAAcD,MAA0B,SAAS,CAAE,IAAGA,GACtDE,IAAcL,EAAc,aAC5BtuC,IAAU/jD,EAAM,SAChB0wF,IAAa10F,EAAM;AAEvB,EAAAA,EAAM,oBAAoBwI,GAAK,WAAY;AACzC,WAAO;AAAA,MACL,YAAY,WAAsB;AAAA,MAAE;AAAA,MACpC,YAAY,WAAsB;AAChC,eAAOksF,EAAW;AAAA,MACnB;AAAA,IACP;AAAA,EACA,CAAG;AAED,MAAIrwE,IAAc/V,EAAc;AAAA,IAC9B,QAAQshE;AAAA,EACT,GAAE2mB,CAAU,GAETnE,IAAYnnF;AAEhB,SAAIjL,EAAM,SAAS,MAAMiL,CAAQ,IAAI,MACnCmnF,IAAyB,gBAAApyF,EAAM,cAAc,OAAO;AAAA,IAClD,WAAW,GAAG,OAAOw4C,GAAW,UAAU;AAAA,EAC3C,GAAEvtC,CAAQ,IAITyrF,MACFtE,IAAYsE,EAAYtE,CAAS,IAGf,gBAAApyF,EAAM,cAAcijD,IAAW1lC,GAAS;AAAA,IAC1D,SAASkiC;AAAA,IACT,KAAKi1C;AAAA,IACL,eAAe;AAAA,EAChB,GAAE+B,CAAW,GAAG,SAAUr+E,GAAM69E,GAAW;AAC1C,QAAIzuC,IAAkBpvC,EAAK,WACvB89E,IAAc99E,EAAK,OACnB+9E,IAAkB9oF,GAAWmrC,GAAW89C,GAAgB9uC,CAAe;AAC3E,WAAoB,gBAAAxnD,EAAM,cAAc,OAAO;AAAA,MAC7C,KAAKi2F;AAAA,MACL,WAAWE;AAAA,MACX,SAASpuC;AAAA,MACT,OAAOz5C,EAAcA,EAAc,CAAE,GAAE4nF,CAAW,GAAG7xE,CAAW;AAAA,IACjE,GAAE+tE,CAAS;AAAA,EAChB,CAAG;AACH,CAAC;AACDgE,GAAiB,cAAc;AC1D/B,IAAIt6D,KAAY,CAAC,WAAW,QAAQ,GAOhC66D,KAAqB,gBAAA32F,EAAM,WAAW,SAAUoY,GAAM5P,GAAK;AAC7D,MAAIi3C,IAAUrnC,EAAK,SACfw+E,IAASx+E,EAAK,QACdpU,IAAQyQ,GAAyB2D,GAAM0jB,EAAS,GAEhDmN,IAAYC,GAASuW,CAAO,GAC5BtW,IAAalyB,EAAegyB,GAAW,CAAC,GACxC4tD,IAAe1tD,EAAW,IAC1B2tD,IAAkB3tD,EAAW,IAE7B+X,IAAahY,GAAS,EAAK,GAC3BiY,IAAalqC,EAAeiqC,GAAY,CAAC,GACzC61C,IAAW51C,EAAW,IACtB61C,IAAc71C,EAAW,IAEzB81C,IAAa3oF,EAAcA,EAAc,CAAA,GAAItK,CAAK,GAAG,IAAI;AAAA,IAC3D,SAAS6yF;AAAA,EACb,CAAG;AAID,EAAAltD,GAAU,WAAY;AACpB,IAAAmtD,EAAgBr3C,CAAO,GAEnBA,KAAWm3C,KACbI,EAAY1nB,GAAQ,CAAE;AAAA,EAE5B,GAAK,CAAC7vB,GAASm3C,CAAM,CAAC;AACpB,MAAIM,IAAYH,IAAwB,gBAAA/2F,EAAM,cAAco2F,IAAkB74E,GAAS,CAAE,GAAE05E,GAAY;AAAA,IACrG,QAAQL;AAAA,IACR,KAAKpuF;AAAA,EACT,CAAG,CAAC,IAAiB,gBAAAxI,EAAM,cAAck0F,IAAY32E,GAAS,CAAE,GAAE05E,GAAY;AAAA,IAC1E,KAAKzuF;AAAA,EACN,CAAA,CAAC;AAEF,SAAoB,gBAAAxI,EAAM,cAAc,OAAO,MAAmB,gBAAAA,EAAM,cAAc2vE,IAAMsnB,CAAU,GAAGC,CAAS;AACpH,CAAC;AACDP,GAAM,cAAc;AC/CpB,IAAIQ,KAA8B,gBAAAn3F,EAAM,cAAc,IAAI;ACmB1D,SAAS+O,KAAO;AAAE;AAElB,SAASqoF,KAAoB;AAC3B,SAAO;AACT;AAEA,SAASC,GAAelxF,GAAS;AAC/B,SAAIA,IACKA,EAAQ,gBAGV,OAAO;AAChB;AAEA,IAAImxF,KAAe,CAAC,WAAW,eAAe,gBAAgB,gBAAgB,gBAAgB,WAAW,UAAU,eAAe;AAK3H,SAASC,GAAgBC,GAAiB;AAC/C,MAAIC,IAAuB,yBAAUt7D,GAAkB;AACrD,IAAAnT,GAAUyuE,GAASt7D,CAAgB;AAEnC,QAAIC,IAAS5S,GAAaiuE,CAAO;AAGjC,aAASA,EAAQzzF,GAAO;AACtB,UAAI0jB;AAEJ,MAAA9S,GAAgB,MAAM6iF,CAAO,GAE7B/vE,IAAQ0U,EAAO,KAAK,MAAMp4B,CAAK,GAC/B0jB,EAAM,WAAwB,gBAAA1nB,EAAM,aACpC0nB,EAAM,aAA0B,gBAAA1nB,EAAM,aACtC0nB,EAAM,kBAAkB,QACxBA,EAAM,WAAW,QACjBA,EAAM,sBAAsB,QAC5BA,EAAM,sBAAsB,QAC5BA,EAAM,6BAA6B,QACnCA,EAAM,6BAA6B,QACnCA,EAAM,mBAAmB,QACzBA,EAAM,YAAY,QAClBA,EAAM,eAAe,QACrBA,EAAM,eAAe,QACrBA,EAAM,aAAa,QACnBA,EAAM,oBAAoB,QAE1BA,EAAM,eAAe,SAAU7nB,GAAG;AAChC,YAAI63F,IAAkBhwE,EAAM,MAAM;AAElC,QAAAA,EAAM,WAAW,gBAAgB7nB,CAAC,GAElC6nB,EAAM,qBAAqB,IAAMgwE,GAAiBA,IAAkB,OAAO73F,CAAC;AAAA,MACpF,GAEM6nB,EAAM,cAAc,SAAU7nB,GAAG;AAC/B,QAAA6nB,EAAM,WAAW,eAAe7nB,CAAC,GAEjC6nB,EAAM,SAAS7nB,CAAC;AAAA,MACxB,GAEM6nB,EAAM,eAAe,SAAU7nB,GAAG;AAChC,QAAA6nB,EAAM,WAAW,gBAAgB7nB,CAAC,GAElC6nB,EAAM,qBAAqB,IAAOA,EAAM,MAAM,eAAe;AAAA,MACrE,GAEMA,EAAM,oBAAoB,WAAY;AACpC,QAAAA,EAAM,gBAAe;AAAA,MAC7B,GAEMA,EAAM,oBAAoB,SAAU7nB,GAAG;AACrC,YAAI83F;AAIJ,QAAI93F,EAAE,iBAAiB,CAACA,EAAE,cAAc,cAAcmZ,IAAU2+E,IAAwBjwE,EAAM,SAAS,aAAa,QAAQiwE,MAA0B,SAAS,SAASA,EAAsB,WAAY,GAAE93F,EAAE,aAAa,KAI3N6nB,EAAM,qBAAqB,IAAOA,EAAM,MAAM,eAAe;AAAA,MACrE,GAEMA,EAAM,UAAU,SAAU7nB,GAAG;AAC3B,QAAA6nB,EAAM,WAAW,WAAW7nB,CAAC,GAG7B6nB,EAAM,gBAAe,GAEjBA,EAAM,oBACRA,EAAM,YAAY,KAAK,OAEvBA,EAAM,qBAAqB,IAAMA,EAAM,MAAM,UAAU;AAAA,MAEjE,GAEMA,EAAM,cAAc,SAAU7nB,GAAG;AAC/B,QAAA6nB,EAAM,WAAW,eAAe7nB,CAAC,GAEjC6nB,EAAM,eAAe,KAAK;MAClC,GAEMA,EAAM,eAAe,SAAU7nB,GAAG;AAChC,QAAA6nB,EAAM,WAAW,gBAAgB7nB,CAAC,GAElC6nB,EAAM,eAAe,KAAK;MAClC,GAEMA,EAAM,SAAS,SAAU7nB,GAAG;AAC1B,QAAA6nB,EAAM,WAAW,UAAU7nB,CAAC,GAE5B6nB,EAAM,gBAAe,GAEjBA,EAAM,kBACRA,EAAM,qBAAqB,IAAOA,EAAM,MAAM,SAAS;AAAA,MAEjE,GAEMA,EAAM,gBAAgB,SAAU7nB,GAAG;AACjC,QAAAA,EAAE,eAAc,GAEhB6nB,EAAM,WAAW,iBAAiB7nB,CAAC,GAEnC6nB,EAAM,gBAAgB,IAAM7nB,CAAC;AAAA,MACrC,GAEM6nB,EAAM,qBAAqB,WAAY;AACrC,QAAIA,EAAM,yBACRA,EAAM,MAAK;AAAA,MAErB,GAEMA,EAAM,UAAU,SAAU0Q,GAAO;AAI/B,YAHA1Q,EAAM,WAAW,WAAW0Q,CAAK,GAG7B1Q,EAAM,WAAW;AACnB,cAAIkwE;AAUJ,cARIlwE,EAAM,gBAAgBA,EAAM,eAC9BkwE,IAAU,KAAK,IAAIlwE,EAAM,cAAcA,EAAM,YAAY,IAChDA,EAAM,eACfkwE,IAAUlwE,EAAM,eACPA,EAAM,iBACfkwE,IAAUlwE,EAAM,eAGd,KAAK,IAAIkwE,IAAUlwE,EAAM,SAAS,IAAI;AACxC;AAGF,UAAAA,EAAM,YAAY;AAAA,QACnB;AAED,QAAAA,EAAM,eAAe,GACrBA,EAAM,eAAe,GAIjBA,EAAM,oBAAoBA,EAAM,cAAe,KAAIA,EAAM,mBAAmB0Q,KAASA,EAAM,kBAC7FA,EAAM,eAAc;AAGtB,YAAIy/D,IAAc,CAACnwE,EAAM,MAAM;AAE/B,SAAIA,EAAM,mBAAmB,CAACmwE,KAAeA,KAAenwE,EAAM,oBAChEA,EAAM,gBAAgB,CAACA,EAAM,MAAM,cAAc0Q,CAAK;AAAA,MAEhE,GAEM1Q,EAAM,mBAAmB,WAAY;AAOnC,YANAA,EAAM,oBAAoB,IAC1B,aAAaA,EAAM,gBAAgB,GACnCA,EAAM,mBAAmB,OAAO,WAAW,WAAY;AACrD,UAAAA,EAAM,oBAAoB;AAAA,QAC3B,GAAE,CAAC,GAEAA,EAAM,SAAS;AACjB,cAAIowE;AAEJ,WAACA,IAAgBpwE,EAAM,SAAS,iBAAiB,MAAMowE,GAAe,SAAS;AAAA,QAChF;AAAA,MACT,GAEMpwE,EAAM,kBAAkB,SAAU0Q,GAAO;AACvC,YAAI,EAAA1Q,EAAM,MAAM,QAAQ,CAACA,EAAM,MAAM,eAIrC;AAAA,cAAIzZ,IAASmqB,EAAM,QAEfnf,IAAOyO,EAAM,kBAEbwvE,IAAYxvE,EAAM;AAEtB,WAEC,CAAC1O,GAASC,GAAMhL,CAAM,KAAKyZ,EAAM,kBAAiB,MAAO,CAAC1O,GAASk+E,GAAWjpF,CAAM,KAAK,CAACyZ,EAAM,qBAC/FA,EAAM,MAAK;AAAA;AAAA,MAErB,GAEMA,EAAM,iBAAiB,WAAY;AACjC,YAAIqwE,IAAoBrwE,EAAM,MAAM;AAEpC,YAAIqwE;AACF,iBAAOA,EAAkBrwE,EAAM,WAAW,OAAO;AAGnD,YAAI;AACF,cAAIswE,IAAUl9C,GAAYpzB,EAAM,WAAW,OAAO;AAElD,cAAIswE;AACF,mBAAOA;AAAA,QAEV,QAAC;AAAA,QACD;AAED,eAAOj9C,GAAS,YAAYjyB,GAAuBpB,CAAK,CAAC;AAAA,MACjE,GAEMA,EAAM,6BAA6B,SAAUunD,GAAO;AAClD,YAAIvjE,IAAY,CAAA,GACZ2wB,IAAc3U,EAAM,OACpBuwE,IAAiB57D,EAAY,gBAC7B0yC,IAAoB1yC,EAAY,mBAChCmc,IAAYnc,EAAY,WACxB69C,IAAa79C,EAAY,YACzB67D,IAA6B77D,EAAY;AAE7C,eAAI47D,KAAkBlpB,KACpBrjE,EAAU,KAAKyjE,GAAuBJ,GAAmBv2B,GAAWy2B,GAAOiL,CAAU,CAAC,GAGpFge,KACFxsF,EAAU,KAAKwsF,EAA2BjpB,CAAK,CAAC,GAG3CvjE,EAAU,KAAK,GAAG;AAAA,MACjC,GAEMgc,EAAM,eAAe,WAAY;AAC/B,YAAI8U,IAAe9U,EAAM,OACrB8wB,IAAYhc,EAAa,WACzB23D,IAAqB33D,EAAa,oBAClC85D,IAAiB95D,EAAa,gBAC9B27D,IAAe37D,EAAa,cAC5Bi6D,IAAcj6D,EAAa,aAC3B47D,IAAiB57D,EAAa,gBAC9B67D,IAAsB77D,EAAa,qBACnC+5D,IAAa/5D,EAAa,YAC1BqzC,IAAOrzC,EAAa,MACpBuzC,IAAgBvzC,EAAa,eAC7BwzC,IAAqBxzC,EAAa,oBAClCszC,IAAatzC,EAAa,YAC1BozC,IAASpzC,EAAa,QACtB87D,IAAQ97D,EAAa,OACrBq3D,IAAUr3D,EAAa,SACvB09C,IAAa19C,EAAa,YAC1Bo6D,IAASp6D,EAAa,QACtB6mB,IAAc7mB,EAAa,aAC3B+7D,IAAe/7D,EAAa,cAC5Bg8D,IAAc9wE,EAAM,OACpB+wE,IAAeD,EAAY,cAC3B1G,IAAQ0G,EAAY,OAEpBvpB,IAAQvnD,EAAM,iBAEdgxE,IAAa,CAAA;AAEjB,eAAIhxE,EAAM,yBACRgxE,EAAW,eAAehxE,EAAM,oBAG9BA,EAAM,yBACRgxE,EAAW,eAAehxE,EAAM,oBAGlCgxE,EAAW,cAAchxE,EAAM,kBAC/BgxE,EAAW,eAAehxE,EAAM,kBACZ,gBAAA1nB,EAAM,cAAc22F,IAAOp5E,GAAS;AAAA,UACtD,WAAWi7B;AAAA,UACX,oBAAoB27C;AAAA,UACpB,SAASsE;AAAA,UACT,OAAOve,KAAc4X;AAAA,UACrB,WAAWwE;AAAA,UACX,OAAOrnB;AAAA,UACP,SAASkpB;AAAA,UACT,WAAWC;AAAA,UACX,uBAAuB1wE,EAAM;AAAA,QAC9B,GAAEgxE,GAAY;AAAA,UACb,SAAS7E;AAAA,UACT,gBAAgBnsE,EAAM;AAAA,UACtB,OAAO6uE;AAAA,UACP,MAAM1mB;AAAA,UACN,QAAQD;AAAA,UACR,gBAAgByoB;AAAA,UAChB,eAAetoB;AAAA,UACf,oBAAoBC;AAAA,UACpB,YAAYF;AAAA,UACZ,KAAKpoD,EAAM;AAAA,UACX,QAAQ+uE;AAAA,UACR,QAAQG;AAAA,UACR,aAAavzC;AAAA,UACb,SAASk1C;AAAA,QACnB,CAAS,GAAG,OAAOD,KAAU,aAAaA,EAAO,IAAGA,CAAK;AAAA,MACzD,GAEM5wE,EAAM,eAAe,SAAUixE,GAAgB;AAC7Cz7C,QAAAA,GAAI,OAAOx1B,EAAM,QAAQ;AACzB,YAAIkV,IAAelV,EAAM,OACrBkxE,IAAoBh8D,EAAa,mBACjCs1C,IAAct1C,EAAa,aAE3Bo7D,IAAUtwE,EAAM,kBAEhBmxE;AAEJ,QAAKD,KAEMZ,KAAWY,EAAkB,WAAW,OAIjDC,IAAYD,EAAkBZ,CAAO,KALrCa,IAAY3mB,EAAYxqD,EAAM,eAAgB,CAAA,EAAE,MAQ9CmxE,IACFA,EAAU,YAAYF,CAAc,IAGpCjxE,EAAM,WAAWw1B,GAAI,WAAY;AAC/B,UAAAx1B,EAAM,aAAaixE,CAAc;AAAA,QAC7C,CAAW;AAAA,MAEX,GAEMjxE,EAAM,eAAe,WAAY;AAC/B,YAAI,CAACA,EAAM,iBAAiB;AAM1B,cAAIwqD,IAAcxqD,EAAM,MAAM,aAC1BixE,IAAiBzmB,EAAYxqD,EAAM,eAAc,CAAE,EAAE,cAAc,KAAK;AAG5E,UAAAixE,EAAe,MAAM,WAAW,YAChCA,EAAe,MAAM,MAAM,KAC3BA,EAAe,MAAM,OAAO,KAC5BA,EAAe,MAAM,QAAQ,QAC7BjxE,EAAM,kBAAkBixE;AAAA,QACzB;AAED,eAAAjxE,EAAM,aAAaA,EAAM,eAAe,GAEjCA,EAAM;AAAA,MACrB,GAEMA,EAAM,WAAW,SAAUoqE,GAAO;AAChC,YAAI5X,IAAaxyD,EAAM,MAAM;AAC7B,QAAI,CAACwyD,KAAc,CAAC4X,KAEpBpqE,EAAM,SAAS;AAAA,UACb,OAAO;AAAA,YACL,OAAOoqE,EAAM;AAAA,YACb,OAAOA,EAAM;AAAA,UACd;AAAA,QACX,CAAS;AAAA,MACT,GAEMpqE,EAAM,qBAAqB,WAAY;AACrC,QAAIA,EAAM,MAAM,qBAAqBA,EAAM,MAAM,gBAC/CA,EAAM,MAAM,wBAAwBA,EAAM,MAAM,YAAY;AAAA,MAEtE,GAEMA,EAAM,sBAAsB;AAAA,QAC1B,kBAAkBA,EAAM;AAAA,MAChC;AAEM,UAAIoxE;AAEJ,aAAI,kBAAkB90F,IACpB80F,IAAgB,CAAC,CAAC90F,EAAM,eAExB80F,IAAgB,CAAC,CAAC90F,EAAM,qBAG1B0jB,EAAM,QAAQ;AAAA,QACZ,kBAAkBoxE;AAAA,QAClB,cAAcA;AAAA,MACtB,GACMxB,GAAa,QAAQ,SAAUx3F,GAAG;AAChC,QAAA4nB,EAAM,OAAO,OAAO5nB,CAAC,KAAK,SAAUD,GAAG;AACrC,UAAA6nB,EAAM,WAAW5nB,GAAGD,CAAC;AAAA,QAC/B;AAAA,MACA,CAAO,GACM6nB;AAAA,IACR;AAED,WAAAzS,GAAawiF,GAAS,CAAC;AAAA,MACrB,KAAK;AAAA,MACL,OAAO,WAA6B;AAClC,aAAK,mBAAkB;AAAA,MACxB;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAA8B;AACnC,YAAIzzF,IAAQ,KAAK,OACbonB,IAAQ,KAAK;AAKjB,YAAIA,EAAM,cAAc;AACtB,cAAI2tE;AAEJ,UAAI,CAAC,KAAK,wBAAwB,KAAK,cAAa,KAAM,KAAK,oBAAmB,OAChFA,IAAkB/0F,EAAM,YAAY,KAAK,eAAgB,CAAA,GACzD,KAAK,sBAAsBmvF,GAAiB4F,GAAiB,aAAa,KAAK,eAAe,IAI3F,KAAK,wBACRA,IAAkBA,KAAmB/0F,EAAM,YAAY,KAAK,eAAc,CAAE,GAC5E,KAAK,sBAAsBmvF,GAAiB4F,GAAiB,cAAc,KAAK,eAAe,IAI7F,CAAC,KAAK,8BAA8B,KAAK,oBAAmB,MAC9DA,IAAkBA,KAAmB/0F,EAAM,YAAY,KAAK,eAAc,CAAE,GAC5E,KAAK,6BAA6BmvF,GAAiB4F,GAAiB,UAAU,KAAK,kBAAkB,IAInG,CAAC,KAAK,8BAA8B,KAAK,oBAAmB,MAC9D,KAAK,6BAA6B5F,GAAiB,QAAQ,QAAQ,KAAK,kBAAkB;AAG5F;AAAA,QACD;AAED,aAAK,oBAAmB;AAAA,MACzB;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAAgC;AACrC,aAAK,gBAAe,GACpB,KAAK,oBAAmB,GACxB,aAAa,KAAK,gBAAgB,GAClCj2C,GAAI,OAAO,KAAK,QAAQ;AAAA,MACzB;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAA2B;AAChC,YAAI87C;AAGJ,iBAASA,IAAyB,KAAK,SAAS,aAAa,QAAQA,MAA2B,SAAS,SAASA,EAAuB,WAAU,MAAO;AAAA,MAC3J;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAAyB;AAC9B,YAAIh1F,IAAQ,KAAK,OACbi0F,IAAiBj0F,EAAM,gBACvBi1F,IAAaj1F,EAAM,YACnB+qE,IAAoB/qE,EAAM;AAE9B,eAAIi0F,KAAkBlpB,IACbD,GAAsBC,GAAmBkpB,GAAgBgB,CAAU,IAGrEA;AAAA,MACR;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAKA,SAAyBR,GAAcrgE,GAAO;AAC5C,YAAI8hD,IAAa,KAAK,MAAM,YACxBgf,IAAmB,KAAK,MAAM;AAClC,aAAK,gBAAe,GAEhBA,MAAqBT,MACjB,kBAAkB,KAAK,SAC3B,KAAK,SAAS;AAAA,UACZ,cAAcA;AAAA,UACd,kBAAkBS;AAAA,QAChC,CAAa,GAGH,KAAK,MAAM,qBAAqBT,CAAY,IAI1Cve,KAAc9hD,KAASqgE,KACzB,KAAK,SAASrgE,CAAK;AAAA,MAEtB;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,SAA8BqnB,GAAS05C,GAAQ/gE,GAAO;AAC3D,YAAI7D,IAAS,MAETypB,IAAQm7C,IAAS;AAGrB,YAFA,KAAK,gBAAe,GAEhBn7C,GAAO;AACT,cAAI8zC,IAAQ15D,IAAQ;AAAA,YAClB,OAAOA,EAAM;AAAA,YACb,OAAOA,EAAM;AAAA,UACd,IAAG;AACJ,eAAK,aAAa,OAAO,WAAW,WAAY;AAC9C,YAAA7D,EAAO,gBAAgBkrB,GAASqyC,CAAK,GAErCv9D,EAAO,gBAAe;AAAA,UACvB,GAAEypB,CAAK;AAAA,QAClB;AACU,eAAK,gBAAgByB,GAASrnB,CAAK;AAAA,MAEtC;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAA2B;AAChC,QAAI,KAAK,eACP,aAAa,KAAK,UAAU,GAC5B,KAAK,aAAa;AAAA,MAErB;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAA+B;AACpC,QAAI,KAAK,wBACP,KAAK,oBAAoB,UACzB,KAAK,sBAAsB,OAGzB,KAAK,+BACP,KAAK,2BAA2B,UAChC,KAAK,6BAA6B,OAGhC,KAAK,+BACP,KAAK,2BAA2B,UAChC,KAAK,6BAA6B,OAGhC,KAAK,wBACP,KAAK,oBAAoB,UACzB,KAAK,sBAAsB;AAAA,MAE9B;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,SAAyBA,GAAO;AACrC,YAAIghE,IAAY,KAAK,MAAM,SAAS,OAChCp1F,IAAQ,KAAK;AAEjB,eAAIo1F,EAAUhhE,MAAUp0B,EAAMo0B,KACrB,KAAK,OAAO,OAAOA,CAAK,KAG1BghE,EAAUhhE,MAAUp0B,EAAMo0B;AAAA,MAClC;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAAyB;AAC9B,YAAI8E,IAAe,KAAK,OACpBgI,IAAShI,EAAa,QACtBm8D,IAAan8D,EAAa;AAC9B,eAAOgI,EAAO,QAAQ,OAAO,MAAM,MAAMm0D,EAAW,QAAQ,OAAO,MAAM;AAAA,MAC1E;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAA6B;AAClC,YAAIn0D,IAAS,KAAK,MAAM;AACxB,eAAOA,MAAW,iBAAiBA,EAAO,WAAW,KAAKA,EAAO,OAAO;AAAA,MACzE;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAA+B;AACpC,YAAItH,IAAe,KAAK,OACpBsH,IAAStH,EAAa,QACtBy7D,IAAaz7D,EAAa;AAC9B,eAAOsH,EAAO,QAAQ,aAAa,MAAM,MAAMm0D,EAAW,QAAQ,aAAa,MAAM;AAAA,MACtF;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAAyB;AAC9B,YAAIt6D,IAAe,KAAK,OACpBmG,IAASnG,EAAa,QACtBu6D,IAAav6D,EAAa;AAC9B,eAAOmG,EAAO,QAAQ,OAAO,MAAM,MAAMo0D,EAAW,QAAQ,OAAO,MAAM;AAAA,MAC1E;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAA8B;AACnC,YAAIv5D,IAAe,KAAK,OACpBmF,IAASnF,EAAa,QACtBs5D,IAAat5D,EAAa;AAC9B,eAAOmF,EAAO,QAAQ,OAAO,MAAM,MAAMm0D,EAAW,QAAQ,YAAY,MAAM;AAAA,MAC/E;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAA8B;AACnC,YAAIE,IAAe,KAAK,OACpBr0D,IAASq0D,EAAa,QACtBD,IAAaC,EAAa;AAC9B,eAAOr0D,EAAO,QAAQ,OAAO,MAAM,MAAMo0D,EAAW,QAAQ,YAAY,MAAM;AAAA,MAC/E;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAAyB;AAC9B,YAAIE,IAAe,KAAK,OACpBt0D,IAASs0D,EAAa,QACtBH,IAAaG,EAAa;AAC9B,eAAOt0D,EAAO,QAAQ,OAAO,MAAM,MAAMm0D,EAAW,QAAQ,OAAO,MAAM;AAAA,MAC1E;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAAwB;AAC7B,YAAII,IAAgB,KAAK,OACrBv0D,IAASu0D,EAAc,QACvBH,IAAaG,EAAc;AAC/B,eAAOv0D,EAAO,QAAQ,OAAO,MAAM,MAAMo0D,EAAW,QAAQ,MAAM,MAAM;AAAA,MACzE;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAA2B;AAChC,YAAI,KAAK,MAAM,cAAc;AAC3B,cAAII;AAEJ,WAACA,IAAyB,KAAK,SAAS,aAAa,QAAQA,MAA2B,UAAkBA,EAAuB,WAAU;AAAA,QAC5I;AAAA,MACF;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,SAAoBp3F,GAAMzC,GAAG;AAClC,YAAI85F,IAAgB,KAAK,MAAM,SAAS,MAAMr3F;AAE9C,QAAIq3F,KACFA,EAAc95F,CAAC;AAGjB,YAAI8hB,IAAW,KAAK,MAAMrf;AAE1B,QAAIqf,KACFA,EAAS9hB,CAAC;AAAA,MAEb;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAAiB;AACtB,aAAK,gBAAgB,EAAK;AAAA,MAC3B;AAAA,IACP,GAAO;AAAA,MACD,KAAK;AAAA,MACL,OAAO,WAAkB;AACvB,YAAI44F,IAAe,KAAK,MAAM,cAC1BmB,IAAgB,KAAK,OACrB3uF,IAAW2uF,EAAc,UACzBv2C,IAAcu2C,EAAc,aAC5B1f,IAAa0f,EAAc,YAC3BluF,IAAYkuF,EAAc,WAC1BC,IAAcD,EAAc,aAC5B1vF,IAAQlK,EAAM,SAAS,KAAKiL,CAAQ,GACpC6uF,IAAgB;AAAA,UAClB,KAAK;AAAA,QACf;AAGQ,QAAI,KAAK,wBACPA,EAAc,gBAAgB,KAAK,gBAEnCA,EAAc,gBAAgB,KAAK,gBAAgB,eAAe,GAIhE,KAAK,cAAa,KAAM,KAAK,cAAa,KAC5CA,EAAc,UAAU,KAAK,SAC7BA,EAAc,cAAc,KAAK,aACjCA,EAAc,eAAe,KAAK,iBAElCA,EAAc,UAAU,KAAK,gBAAgB,SAAS,GACtDA,EAAc,cAAc,KAAK,gBAAgB,aAAa,GAC9DA,EAAc,eAAe,KAAK,gBAAgB,cAAc,IAI9D,KAAK,wBACPA,EAAc,eAAe,KAAK,cAE9B5f,MACF4f,EAAc,cAAc,KAAK,gBAGnCA,EAAc,eAAe,KAAK,gBAAgB,cAAc,GAI9D,KAAK,uBACPA,EAAc,eAAe,KAAK,eAElCA,EAAc,eAAe,KAAK,gBAAgB,cAAc,GAI9D,KAAK,cAAa,KAAM,KAAK,aAAY,KAC3CA,EAAc,UAAU,KAAK,SAC7BA,EAAc,SAAS,KAAK,WAE5BA,EAAc,UAAU,KAAK,gBAAgB,SAAS,GACtDA,EAAc,SAAS,KAAK,gBAAgB,QAAQ;AAItD,YAAIC,IAAoB1sF,GAAWnD,KAASA,EAAM,SAASA,EAAM,MAAM,WAAWwB,CAAS;AAE3F,QAAIquF,MACFD,EAAc,YAAYC;AAG5B,YAAI9C,IAAa3oF,EAAc,CAAE,GAAEwrF,CAAa;AAEhD,QAAItnF,GAAWtI,CAAK,MAClB+sF,EAAW,MAAM9kF,GAAW,KAAK,YAAYjI,EAAM,GAAG;AAGxD,YAAI80B,IAAuB,gBAAAh/B,EAAM,aAAakK,GAAO+sF,CAAU,GAC3D+C;AAEJ,gBAAIvB,KAAgB,KAAK,SAAS,WAAWp1C,OAC3C22C,IAAsB,gBAAAh6F,EAAM,cAAcw3F,GAAiB;AAAA,UACzD,KAAK;AAAA,UACL,cAAc,KAAK;AAAA,UACnB,WAAW,KAAK;AAAA,QAC5B,GAAa,KAAK,aAAY,CAAE,IAGpB,CAACiB,KAAgBoB,MACnBG,IAAS,OAGS,gBAAAh6F,EAAM,cAAcm3F,GAAe,UAAU;AAAA,UAC/D,OAAO,KAAK;AAAA,QACtB,GAAWn4D,GAASg7D,CAAM;AAAA,MACnB;AAAA,IACF,CAAA,GAAG,CAAC;AAAA,MACH,KAAK;AAAA,MACL,OAAO,SAAkC5hF,GAAM6hF,GAAW;AACxD,YAAIxB,IAAergF,EAAK,cACpB8hF,IAAW,CAAA;AAEf,eAAIzB,MAAiB,UAAawB,EAAU,iBAAiBxB,MAC3DyB,EAAS,eAAezB,GACxByB,EAAS,mBAAmBD,EAAU,eAGjCC;AAAA,MACR;AAAA,IACF,CAAA,CAAC,GAEKzC;AAAA,EACX,EAAIz3F,EAAM,SAAS;AAEjB,SAAAy3F,EAAQ,cAAcN,IACtBM,EAAQ,eAAe;AAAA,IACrB,WAAW;AAAA,IACX,4BAA4BL;AAAA,IAC5B,aAAaC;AAAA,IACb,sBAAsBtoF;AAAA,IACtB,yBAAyBA;AAAA,IACzB,cAAcA;AAAA,IACd,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,YAAY,CAAE;AAAA,IACd,oBAAoB;AAAA,IACpB,YAAY,CAAE;AAAA,IACd,qBAAqB;AAAA,IACrB,MAAM;AAAA,IACN,cAAc;AAAA,IACd,QAAQ,CAAE;AAAA,IACV,YAAY,CAAE;AAAA,IACd,YAAY,CAAE;AAAA,IACd,aAAa;AAAA,EACjB,GACS0oF;AACT;AACA,MAAeA,KAAAF,GAAgBxmF,EAAM;AC5yBrC,IAAIopF,KAAsB;AAAA,EACxB,YAAY;AAAA,IACV,QAAQ,CAAC,MAAM,IAAI;AAAA,IACnB,QAAQ,CAAC,GAAG,CAAC;AAAA,IACb,UAAU;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,aAAa;AAAA,IACX,QAAQ,CAAC,MAAM,IAAI;AAAA,IACnB,QAAQ,CAAC,GAAG,CAAC;AAAA,IACb,UAAU;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,QAAQ,CAAC,MAAM,IAAI;AAAA,IACnB,QAAQ,CAAC,GAAG,EAAE;AAAA,IACd,UAAU;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,UAAU;AAAA,IACR,QAAQ,CAAC,MAAM,IAAI;AAAA,IACnB,QAAQ,CAAC,GAAG,EAAE;AAAA,IACd,UAAU;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,IACV;AAAA,EACF;AACH;AAEA,SAASC,GAAchiF,GAAM;AAC3B,MAAIgsC,GAEA5L,IAAYpgC,EAAK,WACjBiiF,IAAejiF,EAAK,cACpBm+E,IAAan+E,EAAK,YAClBqnC,IAAUrnC,EAAK,SACfkiF,IAAoBliF,EAAK,mBACzBmiF,IAAgBniF,EAAK,eACrB+jC,IAAiB/jC,EAAK,gBACtBwgF,IAAoBxgF,EAAK,mBACzBnN,IAAWmN,EAAK,UAChBma,IAAQna,EAAK,OACb6/E,IAAiB7/E,EAAK,gBACtBgwC,IAAYhwC,EAAK,WACjBoiF,IAAoB,GAAG,OAAOhiD,GAAW,WAAW,GAEpDiiD,IAAoB,WAA6B;AACnD,WAAIxC,MAAmB,SACdA,IAGF7vC,MAAc,QAAQ,gBAAgB;AAAA,EACjD;AAEE,SAAoB,gBAAApoD,EAAM,cAAcy3F,IAAS;AAAA,IAC/C,YAAY,CAAE;AAAA,IACd,YAAY,CAAE;AAAA,IACd,gBAAgBgD,EAAmB;AAAA,IACnC,mBAAmBN;AAAA,IACnB,WAAWK;AAAA,IACX,qBAAqBr+C;AAAA,IACrB,OAAOk+C;AAAA,IACP,YAAYE;AAAA,IACZ,cAAc96C;AAAA,IACd,gBAAgBpyC,GAAWitF,IAAoBl2C,IAAc,CAAE,GAAE12C,EAAgB02C,GAAa,GAAG,OAAOo2C,GAAmB,QAAQ,GAAGjoE,CAAK,GAAG7kB,EAAgB02C,GAAa,GAAG,OAAOo2C,GAAmB,MAAM,GAAGpyC,MAAc,KAAK,GAAGhE,EAAa;AAAA,IACpP,YAAYmyC;AAAA,IACZ,mBAAmBqC;AAAA,EACpB,GAAE3tF,CAAQ;AACb;AC1Ee,SAASyvF,GAAetiF,GAAM;AAC3C,MAAIwnD,IAAOxnD,EAAK,MACZlR,IAAQkR,EAAK,OACbuiF,IAAiBviF,EAAK,gBACtBwiF,IAAcxiF,EAAK,aACnByiF,IAAiBziF,EAAK,gBACtB0iF,IAAa1iF,EAAK,WAClB2iF,IAAe3iF,EAAK,cACpB4iF,IAAW5iF,EAAK,UAChB6iF,IAAW7iF,EAAK,UAChB8iF,IAAW9iF,EAAK,SAChB+iF,IAAU/iF,EAAK,QAEf6wB,IAAYC,GAAS,EAAK,GAC1BC,IAAalyB,EAAegyB,GAAW,CAAC,GACxCmyD,IAASjyD,EAAW,IACpBkyD,IAAYlyD,EAAW,IAEvB+X,IAAahY,GAAS,EAAK,GAC3BiY,IAAalqC,EAAeiqC,GAAY,CAAC,GACzCo6C,IAAUn6C,EAAW,IACrBo6C,IAAap6C,EAAW,IAOxBq6C,IAAiBjyD,GAAO,EAAK,GAC7BkyD,IAAkBlyD,GAAO,EAAK,GAC9BmyD,IAAoBnyD,GAAO,EAAK,GAChCoyD,IAAa;AAAA,IACf,aAAa,WAAuB;AAClC,MAAAN,EAAU,EAAI,GACdT,EAAY,EAAI;AAAA,IACjB;AAAA,IACD,WAAW,SAAmB/6F,GAAG;AAC/B,UAAI+7F,IAAiB,WAA0B;AAC7C,QAAAF,EAAkB,UAAU;AAAA,MACpC;AAIM,UAFAZ,EAAWj7F,GAAG+7F,CAAc,GAExB,CAAAF,EAAkB,SAEtB;AAAA,gBAAQ77F,EAAE,OAAK;AAAA,UACb,KAAKu0D,EAAQ,OACX;AACE,YAAKwL,IAEMo7B,EAAU,MAAK,MACxBK,EAAU,EAAI,IAFdT,EAAY,EAAI,GAKlB/6F,EAAE,eAAc;AAChB;AAAA,UACD;AAAA,UAEH,KAAKu0D,EAAQ,KACX;AACE,YAAIgnC,KAAUx7B,KAAQ,CAAC//D,EAAE,YACvBw7F,EAAU,EAAK,GACfx7F,EAAE,eAAc,KACP,CAACu7F,KAAUx7B,KAChB,CAACi7B,EAAeh7F,CAAC,KAAKA,EAAE,aAC1Bw7F,EAAU,EAAI,GACdx7F,EAAE,eAAc;AAIpB;AAAA,UACD;AAAA,UAEH,KAAKu0D,EAAQ,KACX;AACE,YAAAinC,EAAU,EAAI,GACdJ;AACA;AAAA,UACD;AAAA,QACJ;AAED,QAAI,CAACr7B,KAAQ,CAAC,CAACxL,EAAQ,KAAK,EAAE,SAASv0D,EAAE,KAAK,IAC5C+6F,EAAY,EAAI,IACNQ,KAEVP,EAAeh7F,CAAC;AAAA;AAAA,IAEnB;AAAA,IACD,SAAS,SAAiBA,GAAG;AAC3B,MAAAw7F,EAAU,EAAI,GACdE,EAAW,EAAI,GAEXL,KACFA,EAASr7F,CAAC;AAAA,IAEb;AAAA,IACD,QAAQ,SAAgBA,GAAG;AACzB,UAAI27F,EAAe,WAAW,CAACb,EAAe,SAAS,aAAa,GAAG;AACrE,QAAAa,EAAe,UAAU;AACzB;AAAA,MACD;AAED,MAAIT,IACF,WAAW,WAAY;AAIrB,iBAHInI,IAAY,UACZ7B,IAAgB6B,EAAU,eAEvB7B,KAAiBA,EAAc;AACpC,UAAAA,IAAgBA,EAAc,WAAW;AAG3C,QAAI4J,EAAe5J,CAAa,KAC9BkK;MAEH,GAAE,CAAC,IACKr7B,MACTg7B,EAAY,EAAK,GAEba,EAAgB,WAClBT,MAIJO,EAAW,EAAK,GAEZJ,KACFA,EAAQt7F,CAAC;AAAA,IAEZ;AAAA,EACL;AAEE,SAAA8pC,GAAU,WAAY;AACpB,IAAA8xD,EAAgB,UAAU;AAAA,EAC9B,GAAK,CAAC77B,CAAI,CAAC,GACTj2B,GAAU,WAAY;AACpB,IAAA8xD,EAAgB,UAAU;AAAA,EAC9B,GAAK,CAACv0F,CAAK,CAAC,GAEVyiC,GAAU,WAAY;AACpB,WAAO2xB,GAAwB,SAAUz7D,GAAG;AAC1C,UAAIoO,IAASutD,GAAmB37D,CAAC;AAEjC,UAAI+/D,GAAM;AACR,YAAIi8B,IAAiBlB,EAAe1sF,CAAM;AAE1C,QAAK4tF,KAMM,CAACP,KAAWO,MACrBjB,EAAY,EAAK,KANjBY,EAAe,UAAU,IAEzB,sBAAsB,WAAY;AAChC,UAAAA,EAAe,UAAU;AAAA,QACrC,CAAW;AAAA,MAIJ;AAAA,IACP,CAAK;AAAA,EACL,CAAG,GACM,CAACG,GAAY;AAAA,IAClB,SAASL;AAAA,IACT,QAAQF;AAAA,EACZ,CAAG;AACH;ACnKe,SAASU,GAAoB1jF,GAAM;AAChD,MAAI2jF,IAAa3jF,EAAK,YAClB4jF,IAAe5jF,EAAK,cAEpByuB,IAAkB7mC,EAAM,SAAS,EAAE,GACnC8mC,IAAmB7vB,EAAe4vB,GAAiB,CAAC,GACpDo1D,IAAOn1D,EAAiB,IACxBo1D,IAAep1D,EAAiB,IAEhCq1D,IAAgBn8F,EAAM,OAAO,CAAE,CAAA;AACnC,EAAAm8F,EAAc,UAAUJ;AAExB,WAASK,EAAkBl1F,GAAO;AAChC,IAAAg1F,EAAah1F,CAAK,GAClB80F,EAAa90F,CAAK;AAAA,EACnB;AAED,WAASm1F,IAAY;AACnB,IAAAH,EAAaC,EAAc,QAAQ,EAAE;AAAA,EACtC;AAED,SAAAn8F,EAAM,UAAU,WAAY;AAC1B,IAAI+7F,EAAW,MAAM,SAAUO,GAAS;AACtC,aAAOA,MAAYL;AAAA,IACzB,CAAK,KACCI;EAEH,GAAE,CAACN,EAAW,KAAK,IAAI,CAAC,CAAC,GACnB,CAACE,GAAMG,GAAmBC,CAAS;AAC5C;IC7BAE,KAAiB,SAAsBC,GAAMC,GAAMC,GAASC,GAAgB;AAC1E,MAAI1yE,IAAMyyE,IAAUA,EAAQ,KAAKC,GAAgBH,GAAMC,CAAI,IAAI;AAE/D,MAAIxyE,MAAQ;AACV,WAAO,CAAC,CAACA;AAGX,MAAIuyE,MAASC;AACX,WAAO;AAGT,MAAI,OAAOD,KAAS,YAAY,CAACA,KAAQ,OAAOC,KAAS,YAAY,CAACA;AACpE,WAAO;AAGT,MAAIG,IAAQ,OAAO,KAAKJ,CAAI,GACxBK,IAAQ,OAAO,KAAKJ,CAAI;AAE5B,MAAIG,EAAM,WAAWC,EAAM;AACzB,WAAO;AAMT,WAHIC,IAAkB,OAAO,UAAU,eAAe,KAAKL,CAAI,GAGtDM,IAAM,GAAGA,IAAMH,EAAM,QAAQG,KAAO;AAC3C,QAAIx0F,IAAMq0F,EAAMG;AAEhB,QAAI,CAACD,EAAgBv0F,CAAG;AACtB,aAAO;AAGT,QAAIy0F,IAASR,EAAKj0F,IACd00F,IAASR,EAAKl0F;AAIlB,QAFA0hB,IAAMyyE,IAAUA,EAAQ,KAAKC,GAAgBK,GAAQC,GAAQ10F,CAAG,IAAI,QAEhE0hB,MAAQ,MAAUA,MAAQ,UAAU+yE,MAAWC;AACjD,aAAO;AAAA,EAEV;AAED,SAAO;AACT;AC1Ce,SAASC,GAAch2F,GAAOkR,GAAM;AACjD,MAAI0mD,IAAa1mD,EAAK,YAClBo9C,IAAiBp9C,EAAK,gBACtB+xB,IAAS/xB,EAAK;AAClB,SAAOixB,GAAQ,WAAY;AACzB,QAAI,CAACniC;AACH,aAAO,CAAC,CAAC,EAAE,GAAG,EAAE;AAOlB,aAHIi2F,IAAiB,IACjBC,IAAiB,CAAA,GAEZnzF,IAAI,GAAGA,IAAI60D,EAAW,QAAQ70D,KAAK,GAAG;AAC7C,UAAI5I,IAASy9D,EAAW70D,IACpBozF,IAAYj4E,GAAYle,GAAO;AAAA,QACjC,gBAAgBsuD;AAAA,QAChB,QAAQrrB;AAAA,QACR,QAAQ9oC;AAAA,MAChB,CAAO;AACD,MAAA+7F,EAAe,KAAKC,CAAS,GAEzBpzF,MAAM,MACRkzF,IAAiBE;AAAA,IAEpB;AAED,WAAO,CAACD,GAAgBD,CAAc;AAAA,EACvC,GAAE,CAACj2F,GAAO43D,CAAU,GAAG,SAAUv/C,GAAMC,GAAM;AAC5C,WAAOD,EAAK,OAAOC,EAAK,MAAM,CAAC89E,GAAa/9E,EAAK,IAAIC,EAAK,EAAE;AAAA,EAChE,CAAG;AACH;AC/Be,SAAS+9E,GAAcC,GAAWplF,GAAM;AACrD,MAAI0mD,IAAa1mD,EAAK,YAClBo9C,IAAiBp9C,EAAK,gBACtB+xB,IAAS/xB,EAAK,QAEd6wB,IAAYC,GAAS,IAAI,GACzBC,IAAalyB,EAAegyB,GAAW,CAAC,GACxC/hC,IAAQiiC,EAAW,IACnBs0D,IAAmBt0D,EAAW,IAE9B+T,IAAM3T,GAAO,IAAI;AAErB,WAAStS,EAAStE,GAAK;AACrB,QAAI+qE,IAAc,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AAGtF,QAFA,qBAAqBxgD,EAAI,OAAO,GAE5BwgD,GAAa;AACf,MAAAD,EAAiB9qE,CAAG;AACpB;AAAA,IACD;AAED,IAAAuqB,EAAI,UAAU,sBAAsB,WAAY;AAC9C,MAAAugD,EAAiB9qE,CAAG;AAAA,IAC1B,CAAK;AAAA,EACF;AAED,MAAIgrE,IAAiBT,GAAch2F,GAAO;AAAA,IACxC,YAAY43D;AAAA,IACZ,gBAAgBtJ;AAAA,IAChB,QAAQrrB;AAAA,EACZ,CAAG,GACGyzD,IAAkB3mF,EAAe0mF,GAAgB,CAAC,GAClDE,IAAYD,EAAgB;AAEhC,WAASljC,EAAQhnC,GAAM;AACrB,IAAAuD,EAASvD,CAAI;AAAA,EACd;AAED,WAASoqE,IAAU;AACjB,QAAIJ,IAAc,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK;AACtF,IAAAzmE,EAAS,MAAMymE,CAAW;AAAA,EAC3B;AAED,SAAA/zD,GAAU,WAAY;AACpB,IAAAm0D,EAAQ,EAAI;AAAA,EAChB,GAAK,CAACN,CAAS,CAAC,GACd7zD,GAAU,WAAY;AACpB,WAAO,WAAY;AACjB,aAAO,qBAAqBuT,EAAI,OAAO;AAAA,IAC7C;AAAA,EACG,GAAE,CAAE,CAAA,GACE,CAAC2gD,GAAWnjC,GAASojC,CAAO;AACrC;ACtDO,SAASC,GAAmB/5F,GAAO;AACxC,MAAI0zD,IAAS1zD,EAAM,QACfu9D,IAAgBv9D,EAAM,eACtBw9D,IAAkBx9D,EAAM,iBACxBy9D,IAAkBz9D,EAAM;AAE5B,EAAI0zD,MAAW,WAAW6J,KAAiBC,KAAmBC,MAC5DjzD,GAAQ,IAAO,qIAAqI;AAExJ;ACRe,SAASwvF,GAAWC,GAASC,GAAc;AACxD,SAAOl+F,EAAM,QAAQ,WAAY;AAC/B,QAAIi+F;AACF,aAAOA;AAGT,QAAIC,GAAc;AAChB1vF,MAAAA,GAAQ,IAAO,uDAAuD;AACtE,UAAI2vF,IAAc,OAAO,KAAKD,CAAY;AAC1C,aAAOC,EAAY,IAAI,SAAUvyF,GAAO;AACtC,YAAI2mB,IAAQ2rE,EAAatyF,IACrB60D,IAAY,OAAOluC,KAAU,aAAaA,EAAK,IAAKA;AACxD,eAAO;AAAA,UACL,OAAO3mB;AAAA,UACP,OAAO60D;AAAA,QACjB;AAAA,MACA,CAAO;AAAA,IACF;AAED,WAAO;EACX,GAAK,CAACw9B,GAASC,CAAY,CAAC;AAC5B;ACtBe,SAASE,GAAYp6F,GAAO;AACzC,MAAIw0C,IAAYx0C,EAAM,WAClBi6F,IAAUj6F,EAAM,SAChBq6F,IAAWr6F,EAAM,SACjBs6F,IAAUt6F,EAAM;AAEpB,SAAKi6F,EAAQ,SAIO,gBAAAj+F,EAAM,cAAc,OAAO;AAAA,IAC7C,WAAW,GAAG,OAAOw4C,GAAW,UAAU;AAAA,EAC9C,GAAkB,gBAAAx4C,EAAM,cAAc,MAAM,MAAMi+F,EAAQ,IAAI,SAAU7lF,GAAMmG,GAAO;AACjF,QAAI3S,IAAQwM,EAAK,OACblR,IAAQkR,EAAK;AACjB,WAAoB,gBAAApY,EAAM,cAAc,MAAM;AAAA,MAC5C,KAAKue;AAAA,MACL,SAAS,WAAmB;AAC1B,QAAA8/E,EAASn3F,CAAK;AAAA,MACf;AAAA,MACD,cAAc,WAAwB;AACpC,QAAAo3F,KAAY,QAAsCA,EAAQp3F,CAAK;AAAA,MAChE;AAAA,MACD,cAAc,WAAwB;AACpC,QAAAo3F,KAAY,QAAsCA,EAAQ,IAAI;AAAA,MAC/D;AAAA,IACF,GAAE1yF,CAAK;AAAA,EACT,CAAA,CAAC,CAAC,IApBM;AAqBX;ACWA,SAAS2yF,GAAYv6F,GAAO;AAC1B,MAAIk8D,GAEA9nD,IAAOpU,GACP8mE,IAAiB1yD,EAAK,WACtBogC,IAAYsyB,MAAmB,SAAS,cAAcA,GACtDvtB,IAAKnlC,EAAK,IACVwzC,IAAWxzC,EAAK,UAChBnC,IAAQmC,EAAK,OACb1M,IAAY0M,EAAK,WACjBkiF,IAAoBliF,EAAK,mBACzBmiF,IAAgBniF,EAAK,eACrBm+E,IAAan+E,EAAK,YAClB+jC,IAAiB/jC,EAAK,gBACtBo9C,IAAiBp9C,EAAK,gBACtB+xB,IAAS/xB,EAAK,QACdomF,IAAgBpmF,EAAK,eACrBqmF,IAAarmF,EAAK,YAClBsmF,IAAYtmF,EAAK,WACjB2iD,IAAW3iD,EAAK,UAChB6yD,IAAc7yD,EAAK,QACnBs/C,IAASuT,MAAgB,SAAS,SAASA,GAC3C5pE,IAAS+W,EAAK,QACd4iD,IAAa5iD,EAAK,YAClBlR,IAAQkR,EAAK,OACbipB,IAAejpB,EAAK,cACpB6lF,IAAU7lF,EAAK,SACfwnD,IAAOxnD,EAAK,MACZumF,IAAcvmF,EAAK,aACnB4zD,IAAmB5zD,EAAK,kBACxBwmF,IAAaxmF,EAAK,YAClBymF,IAAYzmF,EAAK,WACjBtM,IAAWsM,EAAK,UAChBo/C,IAAep/C,EAAK,cACpB0mF,IAAc1mF,EAAK,aACnBwgF,IAAoBxgF,EAAK,mBACzB2mF,IAAY3mF,EAAK,WACjB4mF,IAAc5mF,EAAK,aACnB6oB,IAAW7oB,EAAK,UAChB6mF,IAAe7mF,EAAK,cACpB8mF,IAAU9mF,EAAK,SACf8vD,KAAS9vD,EAAK,QACdgzD,KAAchzD,EAAK,aACnB+mF,KAAY/mF,EAAK,WACjBk8E,KAAel8E,EAAK,cACpBm8E,KAAen8E,EAAK,cACpBgnF,KAAgBhnF,EAAK,eACrB2vC,KAAU3vC,EAAK,SACf0iF,KAAa1iF,EAAK,WAClBivD,IAAYjvD,EAAK,UACjBgwC,IAAYhwC,EAAK,WACjBinF,KAAoBjnF,EAAK,cACzBknF,KAAeD,OAAsB,SAAS,QAAQA,IACtDE,IAAcnnF,EAAK,aACnBonF,IAAWx/F,EAAM,OAAO,IAAI,GAC5BsqE,KAAoB5S,MAAW,UAAU,CAAC,CAACqD,KAAYrD,MAAW,QAClE+nC,KAAazB,GAAWC,CAAO;AAEnC,EAAI,QAAQ,IAAI,aAAa,gBAC3BF,GAAmB/5F,CAAK;AAI1B,MAAI86D,KAAa90C,GAAQ8wC,GAAiBz5D,GAAQq2D,GAAQqD,GAAUC,CAAU,CAAC,GAE3E0kC,KAAc1/F,EAAM,OAAO,IAAI,GAC/B2/F,KAAc3/F,EAAM,OAAO,IAAI,GAC/B6nD,KAAe7nD,EAAM,OAAO,IAAI,GAEhCqsE,KAAkB7Y,GAAe,MAAM;AAAA,IACzC,OAAOtsD;AAAA,IACP,cAAcm6B;AAAA,EAClB,CAAG,GACGirC,KAAmBr1D,EAAeo1D,IAAiB,CAAC,GACpDxY,KAAcyY,GAAiB,IAC/B1Y,KAAgB0Y,GAAiB,IAGjCzlC,KAAkB7mC,EAAM,SAAS6zD,EAAW,GAC5C/sB,KAAmB7vB,EAAe4vB,IAAiB,CAAC,GACpD+4D,KAAgB94D,GAAiB,IACjC+4D,KAAmB/4D,GAAiB,IAGpCq1B,KAAen8D,EAAM,OAAO,IAAI,GAEhCusE,KAAmB/Y,GAAe,IAAO;AAAA,IAC3C,OAAOoM;AAAA,IACP,cAAc++B;AAAA,IACd,WAAW,SAAmBmB,IAAU;AACtC,aAAOh0F,IAAW,KAAQg0F;AAAA,IAC3B;AAAA,IACD,UAAU,SAAkBC,IAAS;AACnC,MAAId,KACFA,EAAac,EAAO,GAGlB,CAACA,MAAW5jC,GAAa,WAAWA,GAAa,QAAQ,WAC3DA,GAAa,QAAQ;IAExB;AAAA,EACL,CAAG,GACGsQ,KAAmBx1D,EAAes1D,IAAkB,CAAC,GACrDyzB,KAAavzB,GAAiB,IAC9BwzB,KAAmBxzB,GAAiB,IAGpCkxB,KAAiBT,GAAc0C,IAAe;AAAA,IAChD,YAAY9gC;AAAA,IACZ,gBAAgBtJ;AAAA,IAChB,QAAQrrB;AAAA,EACZ,CAAG,GACGyzD,KAAkB3mF,EAAe0mF,IAAgB,CAAC,GAClD5B,KAAa6B,GAAgB,IAC7BT,KAAiBS,GAAgB,IAEjCsC,KAAuBpE,GAAoB;AAAA,IAC7C,YAAYC;AAAA,IACZ,cAAc,SAAsBoE,IAAS;AAC3C,UAAIC,KAAYvhC,GAAWshC,IAAS;AAAA,QAClC,QAAQh2D;AAAA,QACR,YAAY20B;AAAA,QACZ,gBAAgBtJ;AAAA,MACxB,CAAO;AAED,MAAI4qC,OAAc,CAAC5oC,KAAgB,CAACA,EAAa4oC,EAAS,MACxDP,GAAiBO,EAAS;AAAA,IAE7B;AAAA,EACL,CAAG,GACGC,KAAwBppF,EAAeipF,IAAsB,CAAC,GAC9DjE,KAAOoE,GAAsB,IAC7BjE,KAAoBiE,GAAsB,IAC1ChE,KAAYgE,GAAsB,IAGlCnsC,KAAgB,SAAuBx0B,IAAU;AACnD,IAAAmgE,GAAiBngE,EAAQ,GACzBk0B,GAAcl0B,EAAQ,GAElBuB,KAAY,CAACm9B,GAAQ5I,GAAgB3B,IAAan0B,EAAQ,KAC5DuB,EAASvB,IAAUA,KAAWta,GAAYsa,IAAU;AAAA,MAClD,gBAAgB81B;AAAA,MAChB,QAAQrrB;AAAA,MACR,QAAQ20B,GAAW;AAAA,IAC3B,CAAO,IAAI,EAAE;AAAA,EAEb,GAEM87B,KAAc,SAAqBmF,IAAS;AAC9C,IAAIj0F,KAAYi0F,MAIhBE,GAAiBF,EAAO;AAAA,EAC5B,GAEMlF,KAAiB,SAAwBh7F,IAAG;AAC9C,WAAImgG,MAAc7jC,GAAa,WAAWA,GAAa,QAAQ,YAEtDA,GAAa,QAAQ,UAAUt8D,EAAC,KAQvC2O,GAAQ,IAAO,qFAAqF,GAC7F;AAAA,EAEb,GAEM8xF,KAAkB,WAA2B;AAC/C,aAASluF,KAAO,UAAU,QAAQ7Q,KAAO,IAAI,MAAM6Q,EAAI,GAAGE,KAAO,GAAGA,KAAOF,IAAME;AAC/E,MAAA/Q,GAAK+Q,MAAQ,UAAUA;AAGzB,IAAAy1C,MAAY,QAAsCA,GAAQ,MAAM,QAAQxmD,EAAI,GAExEi+F,EAAS,YACXA,EAAS,QAAQ,SACjB5E,GAAY,EAAI;AAAA,EAEtB,GAGM2F,IAAkB7F,GAAe;AAAA,IACnC,cAAcpwB;AAAA,IACd,MAAM01B;AAAA,IACN,OAAO/D;AAAA,IACP,aAAarB;AAAA,IACb,gBAAgBC;AAAA,IAChB,gBAAgB,SAAwB5sF,IAAQ;AAC9C,aAAO,CAAC8tD,GAAiB,CAAC2jC,GAAY,SAASC,GAAY,SAAS93C,GAAa,OAAO,GAAG55C,EAAM;AAAA,IAClG;AAAA,IACD,UAAU,WAAoB;AAC5B,aACA,CAAC2xF,MACDpoC,KAAgBA,EAAaooC,EAAa,IACjC,MAGT1rC,GAAc0rC,EAAa,GAC3BhF,GAAY,EAAK,GACjByB,MACO;AAAA,IACR;AAAA,IACD,UAAU,WAAoB;AAC5B,MAAAzB,GAAY,EAAK,GACjBiF,GAAiBhsC,EAAW,GAC5BwoC;IACD;AAAA,IACD,WAAW,SAAmBx8F,IAAG+7F,IAAgB;AAC/C,MAAAd,MAAe,QAAyCA,GAAWj7F,IAAG+7F,EAAc;AAAA,IACrF;AAAA,IACD,SAASsD;AAAA,IACT,QAAQh3B;AAAA,EACZ,CAAG,GACGs4B,KAAmBvpF,EAAespF,GAAiB,CAAC,GACpD5E,KAAa6E,GAAiB,IAC9BC,KAAoBD,GAAiB,IACrClF,KAAUmF,GAAkB,SAC5BrF,KAASqF,GAAkB;AAI/B,EAAAzgG,EAAM,UAAU,WAAY;AAC1B,IAAKggG,OACHH,GAAiBhsC,EAAW,GAExB,CAACkoC,GAAW,UAAUA,GAAW,OAAO,KAC1CK,GAAkB,EAAE,IACXe,OAAmBlB,MAC5BI;EAGR,GAAK,CAAC2D,IAAYjE,EAAU,CAAC,GAE3B/7F,EAAM,UAAU,WAAY;AAC1B,IAAKggG,MACH3D;EAEN,GAAK,CAAC3kC,CAAM,CAAC,GAEX13D,EAAM,UAAU,WAAY;AAE1B,IAAA6/F,GAAiBhsC,EAAW;AAAA,EAChC,GAAK,CAACA,EAAW,CAAC,GAEZkrC,MACFA,EAAU,UAAU;AAAA,IAClB,OAAO,WAAiB;AACtB,MAAIS,EAAS,WACXA,EAAS,QAAQ;IAEpB;AAAA,IACD,MAAM,WAAgB;AACpB,MAAIA,EAAS,WACXA,EAAS,QAAQ;IAEpB;AAAA,EACP;AAGE,MAAIkB,KAAiBnD,GAActB,IAAM;AAAA,IACvC,YAAYn9B;AAAA,IACZ,gBAAgBtJ;AAAA,IAChB,QAAQrrB;AAAA,EACZ,CAAG,GACGw2D,IAAkB1pF,EAAeypF,IAAgB,CAAC,GAClDE,IAAaD,EAAgB,IAC7BjmC,IAAUimC,EAAgB,IAC1B7C,KAAU6C,EAAgB,IAG1BE,KAAavyF,EAAcA,EAAc,CAAA,GAAItK,CAAK,GAAG,IAAI;AAAA,IAC3D,WAAW;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,qBAAqB;AAAA,IACrB,UAAU;AAAA,EACd,CAAG,GAEG2pE,KAAyB,gBAAA3tE,EAAM,cAAc,OAAO;AAAA,IACtD,WAAW,GAAG,OAAOw4C,GAAW,eAAe;AAAA,EACnD,GAAkB,gBAAAx4C,EAAM,cAAco+F,IAAa;AAAA,IAC/C,WAAW5lD;AAAA,IACX,SAASinD;AAAA,IACT,SAAS,SAAiBjqF,IAAW;AACnC,MAAA0+C,GAAc1+C,EAAS,GACvBolF,GAAY,EAAK;AAAA,IAClB;AAAA,EACL,CAAG,GAAgB,gBAAA56F,EAAM,cAAc6qE,IAAattD,GAAS,CAAE,GAAEsjF,IAAY;AAAA,IACzE,gBAAgBrrC;AAAA,IAChB,WAAWnoD,GAAWK,EAAgB,CAAA,GAAI,GAAG,OAAO8qC,GAAW,gBAAgB,GAAG,CAAC4iD,EAAM,CAAC;AAAA,IAC1F,OAAOwE;AAAA,IACP,QAAQz1D;AAAA,IACR,UAAU;AAAA,IACV,UAAU,SAAkBzW,IAAM;AAChC,MAAA2zC,KAAc,QAAwCA,EAAU3zC,EAAI,GACpEmsE,GAAiBnsE,EAAI;AAAA,IACtB;AAAA,IACD,WAAW00B;AAAA,IACX,eAAe,SAAuBqN,IAAU+C,IAAM;AACpD,UAAI4D,KAAgBp4D,EAAM;AAC1B,MAAA85F,GAAQ,EAAI,GACZ1hC,MAAkB,QAA4CA,GAAc3G,IAAU+C,EAAI;AAAA,IAC3F;AAAA,EACF,CAAA,CAAC,CAAC;AAEH,EAAIwmC,MACFrxB,KAAYqxB,EAAYrxB,EAAS;AAGnC,MAAImzB,KAAqB,gBAAA9gG,EAAM,cAAc,OAAO;AAAA,IAClD,WAAW,GAAG,OAAOw4C,GAAW,kBAAkB;AAAA,IAClD,KAAKknD;AAAA,IACL,aAAa,SAAqB7/F,IAAG;AACnC,MAAAA,GAAE,eAAc;AAAA,IACjB;AAAA,EACF,GAAE8tE,EAAS,GACRozB;AAEJ,EAAInC,MACFmC,KAA0B,gBAAA/gG,EAAM,cAAc,QAAQ;AAAA,IACpD,WAAW,GAAG,OAAOw4C,GAAW,SAAS;AAAA,EAC1C,GAAEomD,CAAU;AAGf,MAAIoC;AAEJ,EAAIvC,KAAc5qC,MAAe,CAAC/nD,MAChCk1F,KAAyB,gBAAAhhG,EAAM,cAAc,QAAQ;AAAA,IACnD,aAAa,SAAqBH,IAAG;AACnC,MAAAA,GAAE,eAAc,GAChBA,GAAE,gBAAe;AAAA,IAClB;AAAA,IACD,WAAW,SAAmBA,IAAG;AAC/B,MAAAA,GAAE,eAAc,GAChBA,GAAE,gBAAe,GACjBq0D,GAAc,IAAI,GAClB0mC,GAAY,EAAK;AAAA,IAClB;AAAA,IACD,WAAW,GAAG,OAAOpiD,GAAW,QAAQ;AAAA,IACxC,MAAM;AAAA,EACP,GAAEqmD,KAA0B,gBAAA7+F,EAAM,cAAc,QAAQ;AAAA,IACvD,WAAW,GAAG,OAAOw4C,GAAW,YAAY;AAAA,EAC7C,CAAA,CAAC;AAGJ,MAAIyoD,KAAmB3yF,EAAcA,EAAcA,EAAc;AAAA,IAC/D,IAAIivC;AAAA,IACJ,UAAUqO;AAAA,IACV,UAAU9/C;AAAA,IACV,UAAU0yF,KAAiB,OAAO1/B,GAAW,MAAO,cAAc,CAACs8B;AAAA,IACnE,OAAOwF,KAAc3E;AAAA,IACrB,UAAU,SAAkBp8F,IAAG;AAC7B,MAAAu8F,GAAkBv8F,GAAE,OAAO,KAAK;AAAA,IACjC;AAAA,IACD,WAAW6+F;AAAA,IACX,aAAaI;AAAA,IACb,KAAKU;AAAA,IACL,OAAOvD;AAAA,EACX,GAAKN,EAAU,GAAG,IAAI;AAAA,IAClB,MAAMzgC,GAAaxD,GAAQoH,GAAW,IAAItJ,CAAc;AAAA,EACzD,GAAE8K,GAAmBt8D,CAAK,CAAC,GAAG,IAAI;AAAA,IACjC,cAAcs7F;AAAA,EAClB,CAAG,GAEG4B,KAAY3B,IAAcA,EAAY0B,EAAgB,IAAiB,gBAAAjhG,EAAM,cAAc,SAASihG,EAAgB;AAExH,EAAI,QAAQ,IAAI,aAAa,gBAC3BzyF,GAAQ,CAACw9D,GAAkB,sGAAsG;AAInI,MAAIF,KAAkB,SAAyBp4C,IAAMpxB,IAAM;AACzD,KAAIA,OAAS,YAAYA,OAAS,SAAS,CAACgoE,QAE1CpW,GAAcxgC,EAAI,GAClBknE,GAAY,EAAK;AAAA,EAEvB,GAEM3C,KAAiB7vC,MAAc,QAAQ,gBAAgB;AAC3D,SAAoB,gBAAApoD,EAAM,cAAcs0D,GAAa,UAAU;AAAA,IAC7D,OAAO;AAAA,MACL,cAAc6H;AAAA,MACd,YAAYzE,MAAW;AAAA,MACvB,UAAUoU;AAAA,MACV,MAAMk0B;AAAA,MACN,kBAAkBh0B;AAAA,MAClB,kBAAkBtR;AAAA,MAClB,kBAAkBojC;AAAA,IACnB;AAAA,EACL,GAAkB,gBAAA99F,EAAM,cAAco6F,IAAe;AAAA,IACjD,SAAS4F;AAAA,IACT,cAAcc;AAAA,IACd,YAAYvK;AAAA,IACZ,WAAW/9C;AAAA,IACX,mBAAmB8hD;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB3B;AAAA,IACnB,gBAAgBz8C;AAAA,IAChB,gBAAgB87C;AAAA,IAChB,WAAW7vC;AAAA,EACf,GAAkB,gBAAApoD,EAAM,cAAc,OAAO;AAAA,IACzC,KAAK6nD;AAAA,IACL,WAAWx6C,GAAWmrC,GAAW9sC,IAAYw0D,IAAe,CAAE,GAAExyD,EAAgBwyD,GAAc,GAAG,OAAO1nB,GAAW,WAAW,GAAG1sC,CAAQ,GAAG4B,EAAgBwyD,GAAc,GAAG,OAAO1nB,GAAW,UAAU,GAAG8iD,EAAO,GAAG5tF,EAAgBwyD,GAAc,GAAG,OAAO1nB,GAAW,MAAM,GAAG4P,MAAc,KAAK,GAAG8X,EAAc;AAAA,IACtT,OAAOjqD;AAAA,IACP,aAAam1D;AAAA,IACb,WAAW+zB;AAAA,IACX,cAAc7K;AAAA,IACd,cAAcC;AAAA,IACd,eAAe6K;AAAA,IACf,SAASkB;AAAA,EACb,GAAkB,gBAAAtgG,EAAM,cAAc,OAAO;AAAA,IACzC,WAAWqN,GAAW,GAAG,OAAOmrC,GAAW,QAAQ,GAAG9qC,EAAgB,CAAE,GAAE,GAAG,OAAO8qC,GAAW,oBAAoB,GAAG,CAAC,CAACooD,CAAU,CAAC;AAAA,IACnI,KAAKjB;AAAA,EACN,GAAEuB,IAAWH,IAAYC,EAAS,CAAC,CAAC,CAAC;AACxC;AAGA,IAAIG,KAAsB,yBAAUhlE,GAAkB;AACpD,EAAAnT,GAAUm4E,GAAQhlE,CAAgB;AAElC,MAAIC,IAAS5S,GAAa23E,CAAM;AAEhC,WAASA,IAAS;AAChB,QAAIz5E;AAEJ,IAAA9S,GAAgB,MAAMusF,CAAM;AAE5B,aAAS7/F,IAAQ,UAAU,QAAQC,IAAO,IAAI,MAAMD,CAAK,GAAGE,IAAQ,GAAGA,IAAQF,GAAOE;AACpF,MAAAD,EAAKC,KAAS,UAAUA;AAG1B,WAAAkmB,IAAQ0U,EAAO,KAAK,MAAMA,GAAQ,CAAC,IAAI,EAAE,OAAO76B,CAAI,CAAC,GAErDmM,EAAgBob,GAAuBpB,CAAK,GAAG,aAA0B,gBAAA1nB,EAAM,UAAS,CAAE,GAE1F0N,EAAgBob,GAAuBpB,CAAK,GAAG,SAAS,WAAY;AAClE,MAAIA,EAAM,UAAU,WAClBA,EAAM,UAAU,QAAQ;IAEhC,CAAK,GAEDha,EAAgBob,GAAuBpB,CAAK,GAAG,QAAQ,WAAY;AACjE,MAAIA,EAAM,UAAU,WAClBA,EAAM,UAAU,QAAQ;IAEhC,CAAK,GAEMA;AAAA,EACR;AAED,SAAAzS,GAAaksF,GAAQ,CAAC;AAAA,IACpB,KAAK;AAAA,IACL,OAAO,WAAkB;AACvB,aAAoB,gBAAAnhG,EAAM,cAAcu+F,IAAahhF,GAAS,CAAE,GAAE,KAAK,OAAO;AAAA,QAC5E,WAAW,KAAK;AAAA,MACjB,CAAA,CAAC;AAAA,IACH;AAAA,EACF,CAAA,CAAC,GAEK4jF;AACT,EAAEnhG,EAAM,SAAS;ACxfF,SAASohG,GAAiBhpF,GAAMipF,GAAeC,GAAa;AACzE,MAAI5pC,IAASt/C,EAAK,QACd+xB,IAAS/xB,EAAK,QACdwnF,IAAgBxnF,EAAK,eACrBo/C,IAAep/C,EAAK,cACpBtM,IAAWsM,EAAK,UAChBo9C,IAAiBp9C,EAAK,gBACtBkmD,IAAY9tC,GAASovE,GAAe,CAAC,GACrCxoC,IAAU5mC,GAASovE,GAAe,CAAC;AAEvC,WAAS2B,EAAc7tE,GAAM;AAC3B,WAAO8hC,EAAe,OAAO,iBAAiBrrB,EAAO,QAAQzW,CAAI;AAAA,EAClE;AAED,WAAS8tE,EAAY9tE,GAAM;AACzB,QAAIwjC,IAAO1B,EAAe,QAAQ9hC,CAAI,GAClCyjC,IAAQ3B,EAAe,SAAS9hC,CAAI;AACxC,WAAOwjC,IAAO,MAAMC;AAAA,EACrB;AAED,WAASsqC,EAAc/tE,GAAM;AAC3B,QAAIwjC,IAAO1B,EAAe,QAAQ9hC,CAAI,GAClCguE,IAAUrkC,GAAW7H,GAAgB9hC,CAAI;AAC7C,WAAOwjC,IAAO,KAAKwqC;AAAA,EACpB;AAED,MAAIC,IAAoB3hG,EAAM,YAAY,SAAU0zB,GAAM;AACxD,QAAI8jC,KAAgBA,EAAa9jC,CAAI;AACnC,aAAO;AAIT,QAAI5nB,EAAS,MAAMsrD;AACjB,aAAO,CAACyG,GAAWrI,GAAgB9hC,GAAM0jC,CAAO,KAAK5B,EAAe,QAAQ9hC,GAAM0jC,CAAO;AAI3F,QAAIiqC,KAAiBjqC;AACnB,cAAQM,GAAM;AAAA,QACZ,KAAK;AACH,iBAAO+pC,EAAc/tE,CAAI,IAAI+tE,EAAcrqC,CAAO;AAAA,QAEpD,KAAK;AACH,iBAAOoqC,EAAY9tE,CAAI,IAAI8tE,EAAYpqC,CAAO;AAAA,QAEhD,KAAK;AACH,iBAAOmqC,EAAc7tE,CAAI,IAAI6tE,EAAcnqC,CAAO;AAAA,QAEpD;AACE,iBAAO,CAACyG,GAAWrI,GAAgB9hC,GAAM0jC,CAAO,KAAK5B,EAAe,QAAQ9hC,GAAM0jC,CAAO;AAAA,MAC5F;AAGH,WAAO;AAAA,EACX,GAAK,CAACI,GAAc1rD,EAAS,IAAIsrD,GAASiqC,CAAa,CAAC,GAClDO,IAAkB5hG,EAAM,YAAY,SAAU0zB,GAAM;AACtD,QAAI8jC,KAAgBA,EAAa9jC,CAAI;AACnC,aAAO;AAIT,QAAI5nB,EAAS,MAAMwyD;AACjB,aAAO,CAACT,GAAWrI,GAAgB9hC,GAAM0jC,CAAO,KAAK5B,EAAe,QAAQ8I,GAAW5qC,CAAI;AAI7F,QAAI4tE,KAAehjC;AACjB,cAAQ5G,GAAM;AAAA,QACZ,KAAK;AACH,iBAAO+pC,EAAc/tE,CAAI,IAAI+tE,EAAcnjC,CAAS;AAAA,QAEtD,KAAK;AACH,iBAAOkjC,EAAY9tE,CAAI,IAAI8tE,EAAYljC,CAAS;AAAA,QAElD,KAAK;AACH,iBAAOijC,EAAc7tE,CAAI,IAAI6tE,EAAcjjC,CAAS;AAAA,QAEtD;AACE,iBAAO,CAACT,GAAWrI,GAAgB9hC,GAAM4qC,CAAS,KAAK9I,EAAe,QAAQ8I,GAAW5qC,CAAI;AAAA,MAChG;AAGH,WAAO;AAAA,EACX,GAAK,CAAC8jC,GAAc1rD,EAAS,IAAIwyD,GAAWgjC,CAAW,CAAC;AACtD,SAAO,CAACK,GAAmBC,CAAe;AAC5C;ACnFA,SAASC,GAAoBvjC,GAAWlH,GAASM,GAAQlC,GAAgB;AACvE,MAAIssC,IAAYljC,GAAmBN,GAAW5G,GAAQlC,GAAgB,CAAC;AAEvE,WAASusC,EAAYC,GAAa;AAChC,WAAIA,EAAY1jC,GAAWlH,CAAO,IACzB,SAGL4qC,EAAYF,GAAW1qC,CAAO,IACzB,YAGF;AAAA,EACR;AAED,UAAQM,GAAM;AAAA,IACZ,KAAK;AACH,aAAOqqC,EAAY,SAAU7iC,GAAOxgD,GAAK;AACvC,eAAOk+C,GAAapH,GAAgB0J,GAAOxgD,CAAG;AAAA,MACtD,CAAO;AAAA,IAEH,KAAK;AAAA,IACL,KAAK;AACH,aAAOqjF,EAAY,SAAU7iC,GAAOxgD,GAAK;AACvC,eAAOw+C,GAAW1H,GAAgB0J,GAAOxgD,CAAG;AAAA,MACpD,CAAO;AAAA,IAEH;AACE,aAAOqjF,EAAY,SAAU7iC,GAAOxgD,GAAK;AACvC,eAAOg/C,GAAYlI,GAAgB0J,GAAOxgD,CAAG;AAAA,MACrD,CAAO;AAAA,EACJ;AACH;AAEA,SAASujF,GAAiB17F,GAAQgY,GAAOm5C,GAAQlC,GAAgB;AAC/D,MAAI8I,IAAY9tC,GAASjqB,GAAQ,CAAC,GAC9B6wD,IAAU5mC,GAASjqB,GAAQ,CAAC;AAEhC,MAAIgY,MAAU;AACZ,WAAO+/C;AAGT,MAAIA,KAAalH,GAAS;AACxB,QAAI8qC,IAAWL,GAAoBvjC,GAAWlH,GAASM,GAAQlC,CAAc;AAE7E,YAAQ0sC,GAAQ;AAAA,MACd,KAAK;AACH,eAAO5jC;AAAA,MAET,KAAK;AACH,eAAOA;AAAA,MAET;AACE,eAAOM,GAAmBxH,GAASM,GAAQlC,GAAgB,EAAE;AAAA,IAChE;AAAA,EACF;AAED,SAAO8I;AACT;AAEe,SAAS6jC,GAAkB/pF,GAAM;AAC9C,MAAI7R,IAAS6R,EAAK,QACds/C,IAASt/C,EAAK,QACdgqF,IAAehqF,EAAK,cACpBo9C,IAAiBp9C,EAAK,gBAEtByuB,IAAkB7mC,EAAM,SAAS,WAAY;AAC/C,WAAO,CAACwwB,GAAS4xE,GAAc,CAAC,GAAG5xE,GAAS4xE,GAAc,CAAC,CAAC;AAAA,EAChE,CAAG,GACGt7D,IAAmB7vB,EAAe4vB,GAAiB,CAAC,GACpDw7D,IAAmBv7D,EAAiB,IACpCw7D,IAAsBx7D,EAAiB,IAEvCy7D,IAAmBviG,EAAM,SAAS,IAAI,GACtCwiG,IAAmBvrF,EAAesrF,GAAkB,CAAC,GACrDE,IAAYD,EAAiB,IAC7BE,IAAuBF,EAAiB,IAExClkC,IAAY9tC,GAASjqB,GAAQ,CAAC,GAC9B6wD,IAAU5mC,GAASjqB,GAAQ,CAAC;AAEhC,WAASo8F,EAAYpkF,GAAO;AAE1B,WAAI8jF,EAAiB9jF,KACZ8jF,EAAiB9jF,KAGnBiS,GAASiyE,GAAWlkF,CAAK,KAAK0jF,GAAiB17F,GAAQgY,GAAOm5C,GAAQlC,CAAc,KAAK8I,KAAalH,KAAW5B,EAAe,OAAM;AAAA,EAC9I;AAED,WAASmX,EAAYlX,GAAUl3C,GAAO;AACpC,QAAIk3C,GAAU;AACZ,UAAImtC,IAAepiC,GAAaiiC,GAAWhtC,GAAUl3C,CAAK;AAE1D,MAAA+jF;AAAA,QACA9hC,GAAa6hC,GAAkB,MAAM9jF,CAAK,KAAK,CAAC,MAAM,IAAI;AAAA,MAAC;AAE3D,UAAIskF,KAAgBtkF,IAAQ,KAAK;AAEjC,MAAKiS,GAASjqB,GAAQs8F,CAAY,MAChCD,IAAepiC,GAAaoiC,GAAcntC,GAAUotC,CAAY,IAGlEH,EAAqBE,CAAY;AAAA,IACvC;AAAW,OAAItkC,KAAalH,MAEtBsrC,EAAqB,IAAI;AAAA,EAE5B;AAED,SAAO,CAACC,GAAah2B,CAAW;AAClC;AClFA,SAASm2B,GAAcv8F,GAAQivD,GAAgB;AAC7C,SAAIjvD,KAAUA,EAAO,MAAMA,EAAO,MAAMivD,EAAe,QAAQjvD,EAAO,IAAIA,EAAO,EAAE,IAC1E,CAACA,EAAO,IAAIA,EAAO,EAAE,IAGvBA;AACT;AAEA,SAASw8F,GAAgB77F,GAAOqX,GAAOzS,GAAUk3F,GAAY;AAS3D,SARI,GAAA97F,KAIA87F,KAAcA,EAAWzkF,MAIzBzS,GAAUyS,IAAQ,KAAK;AAK7B;AAEA,SAAS0kF,GAAiBj/F,GAAO;AAC/B,MAAIk8D,GAAcgjC,GAAcC,GAE5B/qF,IAAOpU,GACP8mE,IAAiB1yD,EAAK,WACtBogC,IAAYsyB,MAAmB,SAAS,cAAcA,GACtDvtB,IAAKnlC,EAAK,IACVnC,IAAQmC,EAAK,OACb1M,IAAY0M,EAAK,WACjBm+E,IAAan+E,EAAK,YAClBkiF,IAAoBliF,EAAK,mBACzB+jC,IAAiB/jC,EAAK,gBACtBmiF,IAAgBniF,EAAK,eACrBwgF,IAAoBxgF,EAAK,mBACzBo9C,IAAiBp9C,EAAK,gBACtB+xB,IAAS/xB,EAAK,QACd0mF,IAAc1mF,EAAK,aACnBsmF,IAAYtmF,EAAK,WACjBtM,IAAWsM,EAAK,UAChB/W,IAAS+W,EAAK,QACd6yD,IAAc7yD,EAAK,QACnBs/C,IAASuT,MAAgB,SAAS,SAASA,GAC3ClQ,IAAW3iD,EAAK,UAChB4iD,IAAa5iD,EAAK,YAClBgrF,IAAiBhrF,EAAK,WACtBswC,IAAY06C,MAAmB,SAAS,MAAMA,GAC9Cl8F,IAAQkR,EAAK,OACbipB,IAAejpB,EAAK,cACpB4yD,IAAqB5yD,EAAK,oBAC1BwnD,IAAOxnD,EAAK,MACZumF,IAAcvmF,EAAK,aACnBo/C,IAAep/C,EAAK,cACpBirF,IAAgBjrF,EAAK,cACrB+tD,IAAa/tD,EAAK,YAClB4mF,IAAc5mF,EAAK,aACnB6lF,IAAU7lF,EAAK,SACfkrF,IAASlrF,EAAK,QACd4qF,IAAa5qF,EAAK,YAClBqmF,IAAarmF,EAAK,YAClBwmF,KAAaxmF,EAAK,YAClBymF,KAAYzmF,EAAK,WACjB2mF,KAAY3mF,EAAK,WACjBomF,KAAgBpmF,EAAK,eACrBogD,KAAOpgD,EAAK,MACZ+xD,KAAoB/xD,EAAK,mBACzB6oB,KAAW7oB,EAAK,UAChB6mF,KAAe7mF,EAAK,cACpBgkD,IAAgBhkD,EAAK,eACrBmrF,IAAmBnrF,EAAK,kBACxB8iF,KAAW9iF,EAAK,SAChB8vD,KAAS9vD,EAAK,QACdgzD,IAAchzD,EAAK,aACnB+mF,IAAY/mF,EAAK,WACjBk8E,KAAel8E,EAAK,cACpBm8E,KAAen8E,EAAK,cACpB2vC,KAAU3vC,EAAK,SACfkzD,KAAQlzD,EAAK,MACb0iF,KAAa1iF,EAAK,WAClB8hC,KAAa9hC,EAAK,YAClBorF,KAAQprF,EAAK,OACbgwC,KAAYhwC,EAAK,WACjBqrF,KAAoBrrF,EAAK,mBACzBinF,KAAoBjnF,EAAK,cACzBknF,KAAeD,OAAsB,SAAS,QAAQA,IACtD/0B,KAAoB5S,MAAW,UAAU,CAAC,CAACqD,KAAYrD,MAAW,QAElEgsC,KAAiBn6D,GAAO,CAAA,CAAE,GAC1Bse,KAAete,GAAO,IAAI,GAC1Bm2D,KAAcn2D,GAAO,IAAI,GACzBo6D,KAAmBp6D,GAAO,IAAI,GAC9Bq6D,KAAiBr6D,GAAO,IAAI,GAC5Bs6D,KAAet6D,GAAO,IAAI,GAC1Bu6D,KAAgBv6D,GAAO,IAAI,GAC3Bw6D,KAAcx6D,GAAO,IAAI,GACzBy6D,KAAWz6D,GAAO,IAAI;AAE1B,EAAI,QAAQ,IAAI,aAAa,gBAC3Bw0D,GAAmB/5F,CAAK;AAI1B,MAAI86D,KAAa90C,GAAQ8wC,GAAiBz5D,GAAQq2D,GAAQqD,GAAUC,CAAU,CAAC,GAE3EqR,KAAkB7Y,GAAe,GAAG;AAAA,IACtC,OAAOiwC;AAAA,EACX,CAAG,GACGn3B,KAAmBr1D,EAAeo1D,IAAiB,CAAC,GACpD43B,KAA0B33B,GAAiB,IAC3C43B,KAA6B53B,GAAiB,IAG9CnQ,KAAe5yB,GAAO,IAAI,GAC1BwnB,KAAiB/wD,EAAM,QAAQ,WAAY;AAC7C,WAAI,MAAM,QAAQ8L,CAAQ,IACjBA,IAGF,CAACA,KAAY,IAAOA,KAAY,EAAK;AAAA,EAChD,GAAK,CAACA,CAAQ,CAAC,GAETygE,KAAmB/Y,GAAe,MAAM;AAAA,IAC1C,OAAOtsD;AAAA,IACP,cAAcm6B;AAAA,IACd,WAAW,SAAmB96B,GAAQ;AACpC,aAAOmxD,MAAW,UAAU,CAAC8rC,KAAQj9F,IAASu8F,GAAcv8F,GAAQivD,CAAc;AAAA,IACnF;AAAA,EACL,CAAG,GACGiX,KAAmBx1D,EAAes1D,IAAkB,CAAC,GACrD1Y,KAAc4Y,GAAiB,IAC/B7Y,KAAgB6Y,GAAiB,IAIjC03B,IAAqBhC,GAAkB;AAAA,IACzC,QAAQtuC;AAAA,IACR,QAAQ6D;AAAA,IACR,cAAcsT;AAAA,IACd,gBAAgBxV;AAAA,EACpB,CAAG,GACG4uC,KAAsBntF,EAAektF,GAAoB,CAAC,GAC1DxB,KAAcyB,GAAoB,IAClCz3B,KAAcy3B,GAAoB,IAGlCr3B,KAAmBvZ,GAAeK,IAAa;AAAA,IACjD,WAAW,SAAmBttD,GAAQ;AACpC,UAAI89F,KAAa99F;AAEjB,UAAIwqD,GAAe,MAAMA,GAAe;AACtC,eAAOszC;AAIT,eAASp6F,KAAI,GAAGA,KAAI,GAAGA,MAAK;AAC1B,QAAI8mD,GAAe9mD,OAAM,CAACumB,GAAS6zE,IAAYp6F,EAAC,KAAK,CAACumB,GAASwyE,GAAY/4F,EAAC,MAC1Eo6F,KAAa7jC,GAAa6jC,IAAY7uC,EAAe,OAAM,GAAIvrD,EAAC;AAIpE,aAAOo6F;AAAA,IACR;AAAA,EACL,CAAG,GACGr3B,KAAmB/1D,EAAe81D,IAAkB,CAAC,GACrD6yB,KAAgB5yB,GAAiB,IACjC6yB,IAAmB7yB,GAAiB,IAGpCs3B,IAAmB9wC,GAAe,CAACkE,GAAQA,CAAM,GAAG;AAAA,IACtD,OAAOc;AAAA,EACX,CAAG,GACG+rC,IAAmBttF,EAAeqtF,GAAkB,CAAC,GACrDE,KAAcD,EAAiB,IAC/BE,KAAgBF,EAAiB;AAErC,EAAA56D,GAAU,WAAY;AACpB,IAAA86D,GAAc,CAAC/sC,GAAQA,CAAM,CAAC;AAAA,EAClC,GAAK,CAACA,CAAM,CAAC;AAEX,MAAIgtC,KAAqB,SAA4BC,GAAOp+F,IAAQ;AAClE,IAAAk+F,GAAcE,CAAK,GAEfvoC,KACFA,EAAc71D,IAAQo+F,CAAK;AAAA,EAEjC,GAGMC,KAAoBxD,GAAiB;AAAA,IACvC,QAAQ1pC;AAAA,IACR,eAAekoC;AAAA,IACf,QAAQz1D;AAAA,IACR,UAAU4mB;AAAA,IACV,cAAcyG;AAAA,IACd,gBAAgBhC;AAAA,EACpB,GAAKkuC,GAAe,QAAQ,IAAIA,GAAe,QAAQ,EAAE,GACnDmB,KAAqB5tF,EAAe2tF,IAAmB,CAAC,GACxDjD,KAAoBkD,GAAmB,IACvCjD,KAAkBiD,GAAmB,IAGrCC,KAAmBtxC,GAAe,IAAO;AAAA,IAC3C,OAAOoM;AAAA,IACP,cAAc++B;AAAA,IACd,WAAW,SAAmBmB,GAAU;AACtC,aAAO/uC,GAAekzC,MAA2B,KAAQnE;AAAA,IAC1D;AAAA,IACD,UAAU,SAAkBC,GAAS;AACnC,MAAId,MACFA,GAAac,CAAO,GAGlB,CAACA,KAAW5jC,GAAa,WAAWA,GAAa,QAAQ,WAC3DA,GAAa,QAAQ;IAExB;AAAA,EACL,CAAG,GACG4oC,KAAoB9tF,EAAe6tF,IAAkB,CAAC,GACtD9E,KAAa+E,GAAkB,IAC/B9E,KAAmB8E,GAAkB,IAErCC,KAAYhF,MAAciE,OAA4B,GACtDgB,KAAUjF,MAAciE,OAA4B,GAGpDh7D,KAAYC,GAAS,CAAC,GACtBC,KAAalyB,EAAegyB,IAAW,CAAC,GACxCi8D,KAAgB/7D,GAAW,IAC3Bg8D,KAAmBh8D,GAAW;AAElC,EAAAQ,GAAU,WAAY;AACpB,IAAI,CAACq2D,MAAcn4C,GAAa,WAC9Bs9C,GAAiBt9C,GAAa,QAAQ,WAAW;AAAA,EAEvD,GAAK,CAACm4C,EAAU,CAAC;AAEf,MAAIoF,KAAaplG,EAAM;AAEvB,WAASqlG,GAAatF,IAASxhF,GAAO;AACpC,QAAIwhF;AACF,mBAAaqF,GAAW,OAAO,GAC/B1B,GAAe,QAAQnlF,KAAS,IAChC2lF,GAA2B3lF,CAAK,GAChC0hF,GAAiBF,EAAO,GAEnBC,MACHrzB,GAAY,MAAMpuD,CAAK;AAAA,aAEhB0lF,OAA4B1lF,GAAO;AAC5C,MAAA0hF,GAAiBF,EAAO;AAGxB,UAAIuF,KAAc5B,GAAe;AACjC,MAAA0B,GAAW,UAAU,WAAW,WAAY;AAC1C,QAAIE,OAAgB5B,GAAe,YACjCA,GAAe,UAAU;MAEnC,CAAO;AAAA,IACF;AAAA,EACF;AAED,WAAS6B,GAAoBhnF,IAAO;AAClC,IAAA8mF,GAAa,IAAM9mF,EAAK,GAGxB,WAAW,WAAY;AACrB,UAAIihF,IAAW,CAACsE,IAAeC,EAAW,EAAExlF;AAE5C,MAAIihF,EAAS,WACXA,EAAS,QAAQ;IAEpB,GAAE,CAAC;AAAA,EACL;AAED,WAAStrC,GAAcx0B,IAAU8lE,GAAa;AAC5C,QAAIj/F,KAASm5B,IACT+lE,KAAaj1E,GAASjqB,IAAQ,CAAC,GAC/Bm/F,KAAWl1E,GAASjqB,IAAQ,CAAC;AAEjC,IAAIk/F,MAAcC,MAAYlwC,EAAe,QAAQiwC,IAAYC,EAAQ,MAEvEhuC,MAAW,UAAU,CAACyG,GAAW3I,GAAgBrrB,EAAO,QAAQs7D,IAAYC,EAAQ,KACpFhuC,MAAW,aAAa,CAAC6F,GAAc/H,GAAgBiwC,IAAYC,EAAQ,KAC3EhuC,MAAW,UAAUA,MAAW,aAAaA,MAAW,UAAU,CAACmG,GAAWrI,GAAgBiwC,IAAYC,EAAQ,KAE5GF,MAAgB,KAClBj/F,KAAS,CAACk/F,IAAY,IAAI,GAC1BC,KAAW,SAEXD,KAAa,MACbl/F,KAAS,CAAC,MAAMm/F,EAAQ,IAI1BhC,GAAe,UAAUh2F,EAAgB,CAAE,GAAE83F,GAAa,EAAI,MACrD9tC,MAAW,UAAU8rC,OAAU,QAExCj9F,KAASu8F,GAAcv8F,IAAQivD,CAAc,KAIjDqqC,EAAiBt5F,EAAM;AACvB,QAAIo/F,KAAWp/F,MAAUA,GAAO,KAAK6e,GAAY7e,GAAO,IAAI;AAAA,MAC1D,gBAAgBivD;AAAA,MAChB,QAAQrrB;AAAA,MACR,QAAQ20B,GAAW;AAAA,IACpB,CAAA,IAAI,IACD8mC,KAASr/F,MAAUA,GAAO,KAAK6e,GAAY7e,GAAO,IAAI;AAAA,MACxD,gBAAgBivD;AAAA,MAChB,QAAQrrB;AAAA,MACR,QAAQ20B,GAAW;AAAA,IACpB,CAAA,IAAI;AAEL,QAAIykC,GAAkB;AACpB,UAAIsC,KAAQ;AAAA,QACV,OAAOL,MAAgB,IAAI,UAAU;AAAA,MAC7C;AACM,MAAAjC,EAAiBh9F,IAAQ,CAACo/F,IAAUC,EAAM,GAAGC,EAAK;AAAA,IACnD;AAGD,QAAIC,KAAuB/C,GAAgB0C,IAAY,GAAG10C,IAAgBiyC,CAAU,GAChF+C,KAAqBhD,GAAgB2C,IAAU,GAAG30C,IAAgBiyC,CAAU,GAC5EgD,KAAaz/F,OAAW,QAAQu/F,MAAwBC;AAE5D,IAAIC,OAEFpyC,GAAcrtD,EAAM,GAEhB06B,OAAa,CAACm9B,GAAQ5I,GAAgBhlC,GAASqjC,IAAa,CAAC,GAAG4xC,EAAU,KAAK,CAACrnC,GAAQ5I,GAAgBhlC,GAASqjC,IAAa,CAAC,GAAG6xC,EAAQ,MAC5IzkE,GAAS16B,IAAQ,CAACo/F,IAAUC,EAAM,CAAC;AAMvC,QAAIK,KAAgB;AAEpB,IAAIT,MAAgB,KAAK,CAACz0C,GAAe,KACvCk1C,KAAgB,IACPT,MAAgB,KAAK,CAACz0C,GAAe,OAC9Ck1C,KAAgB,IAGdA,OAAkB,QAAQA,OAAkBhC,OAA4B,CAACP,GAAe,QAAQuC,OAAkB,CAACz1E,GAASjqB,IAAQ0/F,EAAa,MAAMz1E,GAASjqB,IAAQi/F,CAAW,IAErLD,GAAoBU,EAAa,IAEjCZ,GAAa,IAAOG,CAAW;AAAA,EAElC;AAED,MAAI3K,KAAiB,SAAwBh7F,GAAG;AAC9C,WAAImgG,MAAc7jC,GAAa,WAAWA,GAAa,QAAQ,YAEtDA,GAAa,QAAQ,UAAUt8D,CAAC,KAQvC2O,GAAQ,IAAO,qFAAqF,GAC7F;AAAA,EAEb,GAGM03F,KAAuB;AAAA,IACzB,YAAYpnC;AAAA,IACZ,gBAAgBtJ;AAAA,IAChB,QAAQrrB;AAAA,EACZ,GAEMwzD,KAAiBT,GAAc1sE,GAASovE,IAAe,CAAC,GAAGsG,EAAoB,GAC/EtI,KAAkB3mF,EAAe0mF,IAAgB,CAAC,GAClDwI,KAAkBvI,GAAgB,IAClCwI,KAAsBxI,GAAgB,IAEtCyI,KAAkBnJ,GAAc1sE,GAASovE,IAAe,CAAC,GAAGsG,EAAoB,GAChFI,KAAkBrvF,EAAeovF,IAAiB,CAAC,GACnDE,KAAgBD,GAAgB,IAChCE,KAAoBF,GAAgB,IAEpCG,KAAgB,SAAsBtG,GAAS5hF,IAAO;AACxD,QAAI6hF,KAAYvhC,GAAWshC,GAAS;AAAA,MAClC,QAAQh2D;AAAA,MACR,YAAY20B;AAAA,MACZ,gBAAgBtJ;AAAA,IACtB,CAAK,GACGkxC,KAAenoF,OAAU,IAAIojF,KAAoBC;AAErD,IAAIxB,MAAa,CAACsG,GAAatG,EAAS,MACtCP,EAAiBr/B,GAAao/B,IAAeQ,IAAW7hF,EAAK,CAAC,GAC9DouD,GAAYyzB,IAAW7hF,EAAK;AAAA,EAElC,GAEM2hF,KAAuBpE,GAAoB;AAAA,IAC7C,YAAYqK;AAAA,IACZ,cAAc,SAAsBhG,GAAS;AAC3C,aAAOsG,GAActG,GAAS,CAAC;AAAA,IAChC;AAAA,EACL,CAAG,GACGE,KAAwBppF,EAAeipF,IAAsB,CAAC,GAC9DyG,KAAYtG,GAAsB,IAClCuG,KAAyBvG,GAAsB,IAC/CwG,KAAiBxG,GAAsB,IAEvCyG,KAAwBhL,GAAoB;AAAA,IAC9C,YAAYyK;AAAA,IACZ,cAAc,SAAsBpG,GAAS;AAC3C,aAAOsG,GAActG,GAAS,CAAC;AAAA,IAChC;AAAA,EACL,CAAG,GACG4G,KAAwB9vF,EAAe6vF,IAAuB,CAAC,GAC/DE,KAAUD,GAAsB,IAChCE,KAAuBF,GAAsB,IAC7CG,KAAeH,GAAsB,IAErC7lD,KAAahY,GAAS,IAAI,GAC1BiY,KAAalqC,EAAeiqC,IAAY,CAAC,GACzCimD,KAAkBhmD,GAAW,IAC7BimD,KAAqBjmD,GAAW,IAGhCE,KAAanY,GAAS,IAAI,GAC1BoY,KAAarqC,EAAeoqC,IAAY,CAAC,GACzCyjB,KAAmBxjB,GAAW,IAC9B+lD,KAAsB/lD,GAAW,IAEjCo/C,KAAiBnD,GAAcoJ,IAAW;AAAA,IAC5C,YAAY7nC;AAAA,IACZ,gBAAgBtJ;AAAA,IAChB,QAAQrrB;AAAA,EACZ,CAAG,GACGw2D,KAAkB1pF,EAAeypF,IAAgB,CAAC,GAClD4G,KAAkB3G,GAAgB,IAClC4G,KAAe5G,GAAgB,IAC/B6G,KAAe7G,GAAgB,IAE/B8G,KAAkBlK,GAAcyJ,IAAS;AAAA,IAC3C,YAAYloC;AAAA,IACZ,gBAAgBtJ;AAAA,IAChB,QAAQrrB;AAAA,EACZ,CAAG,GACGu9D,KAAkBzwF,EAAewwF,IAAiB,CAAC,GACnDE,KAAgBD,GAAgB,IAChCE,KAAaF,GAAgB,IAC7BG,KAAaH,GAAgB,IAE7BpvC,KAAmB,SAA0B5kC,GAAM;AACrD,IAAA2zE,GAAoB7mC,GAAao/B,IAAelsE,GAAMuwE,EAAuB,CAAC,GAE1EA,OAA4B,IAC9BsD,GAAa7zE,CAAI,IAEjBk0E,GAAWl0E,CAAI;AAAA,EAErB,GAEM6kC,KAAmB,WAA4B;AACjD,IAAA8uC,GAAoB7mC,GAAao/B,IAAe,MAAMqE,EAAuB,CAAC,GAE1EA,OAA4B,IAC9BuD,OAEAK;EAEN,GAGMC,KAA0B,SAAiCvpF,GAAO89E,IAAW;AAC/E,WAAO;AAAA,MACL,cAAc/xB;AAAA,MACd,gBAAgBuwB;AAAA,MAChB,QAAQ3yB;AAAA,MACR,gBAAgB,SAAwBj6D,IAAQ;AAC9C,eAAO,CAAC8tD,GAAiB,CAAC2jC,GAAY,SAASiE,GAAiB,SAASC,GAAe,SAAS/7C,GAAa,OAAO,GAAG55C,EAAM;AAAA,MAC/H;AAAA,MACD,SAAS,SAAiBpO,IAAG;AAC3B,QAAAqkG,GAA2B3lF,CAAK,GAE5B28E,MACFA,GAASr7F,EAAC;AAAA,MAEb;AAAA,MACD,aAAa,SAAqBkgG,IAAS;AACzC,QAAAsF,GAAatF,IAASxhF,CAAK;AAAA,MAC5B;AAAA,MACD,UAAU,WAAoB;AAC5B,YACA,CAACqhF,MACDpoC,KAAgBA,EAAaooC,GAAcrhF,EAAM;AAC/C,iBAAO;AAGT,QAAA21C,GAAc0rC,IAAerhF,CAAK,GAClC89E;MACD;AAAA,MACD,UAAU,WAAoB;AAC5B,QAAAgJ,GAAa,IAAO9mF,CAAK,GAEzBshF,EAAiBhsC,EAAW,GAC5BwoC;MACD;AAAA,IACP;AAAA,EACA,GAEMkE,KAAkB7F,GAAepsF,EAAcA,EAAc,CAAA,GAAIw5F,GAAwB,GAAGjB,EAAc,CAAC,GAAG,IAAI;AAAA,IACpH,MAAM7B;AAAA,IACN,OAAO2B;AAAA,IACP,WAAW,SAAmB9mG,GAAG+7F,IAAgB;AAC/C,MAAAd,MAAe,QAAyCA,GAAWj7F,GAAG+7F,EAAc;AAAA,IACrF;AAAA,EACL,CAAG,CAAC,GACE4E,KAAmBvpF,EAAespF,IAAiB,CAAC,GACpDwH,KAAkBvH,GAAiB,IACnCC,KAAoBD,GAAiB,IACrCwH,KAAevH,GAAkB,SACjCwH,KAAcxH,GAAkB,QAEhCyH,KAAmBxN,GAAepsF,EAAcA,EAAc,CAAA,GAAIw5F,GAAwB,GAAGZ,EAAY,CAAC,GAAG,IAAI;AAAA,IACnH,MAAMjC;AAAA,IACN,OAAO+B;AAAA,IACP,WAAW,SAAmBnnG,GAAG+7F,IAAgB;AAC/C,MAAAd,MAAe,QAAyCA,GAAWj7F,GAAG+7F,EAAc;AAAA,IACrF;AAAA,EACL,CAAG,CAAC,GACEuM,KAAmBlxF,EAAeixF,IAAkB,CAAC,GACrDE,KAAgBD,GAAiB,IACjCE,KAAoBF,GAAiB,IACrCG,KAAaD,GAAkB,SAC/BE,KAAYF,GAAkB,QAG9BG,KAAgB,SAAuB3oG,GAAG;AAG5C,IAAIkoD,MACFA,GAAQloD,CAAC,GAGP,CAACmgG,MAAc,CAAC8D,GAAc,QAAQ,SAASjkG,EAAE,MAAM,KAAK,CAACkkG,GAAY,QAAQ,SAASlkG,EAAE,MAAM,MAC/FkxD,GAAe,KAERA,GAAe,MACzBw0C,GAAoB,CAAC,IAFrBA,GAAoB,CAAC;AAAA,EAK7B,GAEMkD,KAAoB,SAA2B5oG,GAAG;AAEpD,IAAIurE,KACFA,EAAYvrE,CAAC,GAGXmgG,OAAegI,MAAgBM,OAAe,CAACxE,GAAc,QAAQ,SAASjkG,EAAE,MAAM,KAAK,CAACkkG,GAAY,QAAQ,SAASlkG,EAAE,MAAM,KACnIA,EAAE,eAAc;AAAA,EAEtB,GAIM8lG,KAAW9xC,MAAeA,GAAY,KAAKzuC,GAAYyuC,GAAY,IAAI;AAAA,IACzE,QAAQ1pB;AAAA,IACR,QAAQ;AAAA,IACR,gBAAgBqrB;AAAA,EACjB,CAAA,IAAI,IACDowC,KAAS/xC,MAAeA,GAAY,KAAKzuC,GAAYyuC,GAAY,IAAI;AAAA,IACvE,QAAQ1pB;AAAA,IACR,QAAQ;AAAA,IACR,gBAAgBqrB;AAAA,EACjB,CAAA,IAAI;AACL,EAAA7rB,GAAU,WAAY;AACpB,IAAKq2D,OACHH,EAAiBhsC,EAAW,GAExB,CAACsyC,GAAgB,UAAUA,GAAgB,OAAO,KACpDS,GAAuB,EAAE,IAChBR,OAAwBO,MACjCE,MAGE,CAACN,GAAc,UAAUA,GAAc,OAAO,KAChDU,GAAqB,EAAE,IACdT,OAAsBQ,MAC/BE;EAGL,GAAE,CAAClH,IAAYmG,IAAiBI,EAAa,CAAC,GAE/C58D,GAAU,WAAY;AACpB,IAAAk2D,EAAiBhsC,EAAW;AAAA,EAChC,GAAK,CAAC8xC,IAAUC,EAAM,CAAC,GAEjB,QAAQ,IAAI,aAAa,gBACvB1+F,KAAS,MAAM,QAAQ4E,CAAQ,MAAM0kB,GAAS1kB,GAAU,CAAC,KAAK,CAAC0kB,GAAStpB,GAAO,CAAC,KAAKspB,GAAS1kB,GAAU,CAAC,KAAK,CAAC0kB,GAAStpB,GAAO,CAAC,MAClIsH,GAAQ,IAAO,+FAA+F,GAK9GuwF,OACFA,GAAU,UAAU;AAAA,IAClB,OAAO,WAAiB;AACtB,MAAI+E,GAAc,WAChBA,GAAc,QAAQ;IAEzB;AAAA,IACD,MAAM,WAAgB;AACpB,MAAIA,GAAc,WAChBA,GAAc,QAAQ,QAGpBC,GAAY,WACdA,GAAY,QAAQ;IAEvB;AAAA,EACP;AAIE,MAAItE,KAAazB,GAAWC,GAASqF,CAAM;AAiB3C,WAASoF,KAAc;AACrB,QAAIx8B,KAAgB,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,IACpF20B,IAAa,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,CAAA,GACjF8H,KAAwB;AAE5B,IAAI3I,MAAcl7B,MAAoBA,GAAiB,MAAMA,GAAiB,MAAMtP,EAAe,QAAQsP,GAAiB,IAAIA,GAAiB,EAAE,MACjJ6jC,KAAwB7jC;AAG1B,QAAI8jC,KAAgB7tC;AAEpB,QAAIA,KAAY5rD,GAAQ4rD,CAAQ,MAAM,YAAYA,EAAS,cAAc;AACvE,UAAI8tC,KAAoB9tC,EAAS;AACjC,MAAA6tC,KAAgBt6F,EAAcA,EAAc,CAAE,GAAEysD,CAAQ,GAAG,CAAA,GAAI;AAAA,QAC7D,cAAcvqC,GAASq4E,IAAmB5E,EAAuB,KAAK;AAAA,MAC9E,CAAO;AAAA,IACF;AAED,QAAI6E,KAAkB;AAEtB,WAAI3iC,MACF2iC,KAAkB,SAAyBp1E,IAAMwxC,IAAO;AACtD,aAAOiB,EAAWzyC,IAAMwxC,IAAO;AAAA,QAC7B,OAAO++B,KAA0B,QAAQ;AAAA,MACnD,CAAS;AAAA,IACT,IAGwB,gBAAAjkG,EAAM,cAAc2kE,GAAa,UAAU;AAAA,MAC7D,OAAO;AAAA,QACL,SAAS;AAAA,QACT,eAAeuH;AAAA,QACf,aAAai7B,MAAmBvH;AAAA,QAChC,kBAAkB+I;AAAA,MACnB;AAAA,IACP,GAAoB,gBAAA3oG,EAAM,cAAc6qE,IAAattD,GAAS,CAAE,GAAEvZ,GAAO68F,GAAY;AAAA,MAC/E,YAAYiI;AAAA,MACZ,UAAUF;AAAA,MACV,MAAMpE,GAAYP;AAAA,MAClB,gBAAgBzuC;AAAA,MAChB,OAAO;AAAA,MACP,WAAWpN;AAAA,MACX,cAAc67C,OAA4B,IAAItC,KAAoBC;AAAA,MAClE,cAAc,SAAsBluE,IAAM;AACxC,eAAI2vE,IACKA,EAAc3vE,IAAMuwE,OAA4B,IAAI,UAAU,KAAK,IAGrE;AAAA,MACR;AAAA,MACD,WAAW52F,GAAWK,EAAgB,CAAA,GAAI,GAAG,OAAO8qC,GAAW,gBAAgB,GAAGyrD,OAA4B,IAAI,CAACgE,KAAc,CAACM,EAAS,CAAC;AAAA,MAC5I,OAAO/3E,GAASovE,IAAeqE,EAAuB;AAAA,MACtD,QAAQ95D;AAAA,MACR,UAAU;AAAA,MACV,eAAe,SAAuBzW,IAAM25C,IAAS;AAEnD,QAAI42B,OAA4B,KAC9BuD,GAAa,EAAI,GAGfvD,OAA4B,KAC9B4D,GAAW,EAAI,GAGjBnD,GAAmBlkC,GAAagkC,IAAan3B,IAAS42B,EAAuB,GAAGzjC,GAAao/B,IAAelsE,IAAMuwE,EAAuB,CAAC;AAC1I,YAAIxuC,KAAW/hC;AAEf,QAAIw4C,OAAkB,WAAWs4B,GAAYP,QAA6B52B,OACxE5X,KAAWmJ,GAAmBnJ,IAAU4X,IAAS7X,GAAgB,EAAE,IAGrEmX,GAAYlX,IAAUwuC,EAAuB;AAAA,MAC9C;AAAA,MACD,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAU;AAAA,MACV,cAAcA,OAA4B,IAAIzzE,GAASovE,IAAe,CAAC,IAAIpvE,GAASovE,IAAe,CAAC;AAAA,IAErG,CAAA,CAAC,CAAC;AAAA,EACJ;AAED,MAAImJ,KAAY,GACZC,KAAY;AAEhB,MAAI/E,MAA2BN,GAAiB,WAAWE,GAAa,WAAWnE,GAAY,SAAS;AAEtG,IAAAqJ,KAAYpF,GAAiB,QAAQ,cAAcE,GAAa,QAAQ;AAGxE,QAAIoF,KAAkBjF,GAAS,QAAQ,aAAa+E,KAAY/E,GAAS,QAAQ,aAAa+E,KAAY/E,GAAS,QAAQ;AAE3H,IAAItE,GAAY,QAAQ,eAAesE,GAAS,QAAQ,eAAe+E,KAAYrJ,GAAY,QAAQ,cAAcsE,GAAS,QAAQ,eAAe57C,OAAc,QAAQ,IAAI6gD,QAC7KD,KAAYD;AAAA,EAEf;AAED,MAAIG,KAAqB9gD,OAAc,QAAQ;AAAA,IAC7C,OAAO2gD;AAAA,EACX,IAAM;AAAA,IACF,MAAMA;AAAA,EACV;AAEE,WAASI,KAAe;AACtB,QAAIC,IACAC,IAAYn/B,GAAe1xB,GAAWgsD,GAAYP,KAA0B95B,EAAiB,GAC7F2D,KAAa1D,GAAU;AAAA,MACzB,WAAW5xB;AAAA,MACX,YAAY0B;AAAA,MACZ,mBAAmBowB;AAAA,MACnB,YAAY,CAAC95C,GAASovE,IAAeqE,EAAuB,KAAKzsC,KAAgBA,EAAaooC,GAAcqE,GAAwB;AAAA,MACpI,QAAQ95D;AAAA,MAER,MAAM,WAAgB;AACpB,QAAI3Z,GAASovE,IAAeqE,EAAuB,MAEjD/vC,GAAc0rC,IAAeqE,EAAuB,GAEhD34B,MACFA,GAAMs0B,EAAa;AAAA,MAGxB;AAAA,IACP,CAAK;AAED,QAAIloC,MAAW,UAAU,CAACqD,GAAU;AAClC,UAAItF,KAAWktC,GAAYsB,EAAuB,GAC9CqF,KAAe1qC,GAAmBnJ,IAAUiC,GAAQlC,CAAc,GAClEyJ,KAAculC,GAAYP,KAC1BsF,KAAkBtqC,OAAgBvH,GAClC8xC,KAAYd,GAAYa,KAAkB,SAAS,IAAO;AAAA,QAC5D,aAAa9zC;AAAA,QACb,qBAAqB,SAA6Bg0C,IAAa;AAC7D,UAAA98B,GAAY88B,IAAaxF,EAAuB;AAAA,QACjD;AAAA,MACT,CAAO,GACGyF,KAAahB,GAAY,SAAS;AAAA,QACpC,aAAaY;AAAA,QACb,qBAAqB,SAA6BG,IAAa;AAC7D,UAAA98B,GAAY/N,GAAmB6qC,IAAa/xC,GAAQlC,GAAgB,EAAE,GAAGyuC,EAAuB;AAAA,QACjG;AAAA,MACT,CAAO;AAED,MAAI77C,OAAc,QAChBghD,KAAsB,gBAAAppG,EAAM,cAAcA,EAAM,UAAU,MAAM0pG,IAAYH,MAAmBC,EAAS,IAExGJ,KAAsB,gBAAAppG,EAAM,cAAcA,EAAM,UAAU,MAAMwpG,IAAWD,MAAmBG,EAAU;AAAA,IAEhH;AACM,MAAAN,KAASV,GAAW;AAGtB,QAAIiB,KAA2B,gBAAA3pG,EAAM,cAAc,OAAO;AAAA,MACxD,WAAW,GAAG,OAAOw4C,GAAW,eAAe;AAAA,IACrD,GAAoB,gBAAAx4C,EAAM,cAAco+F,IAAa;AAAA,MAC/C,WAAW5lD;AAAA,MACX,SAASinD;AAAA,MACT,SAAS,SAAiBjqF,IAAW;AACnC,QAAA0+C,GAAc1+C,IAAW,IAAI,GAE7B6vF,GAAa,IAAOpB,EAAuB;AAAA,MAC5C;AAAA,MACD,SAAS,SAAiBrD,IAAY;AACpC,QAAAwG,GAAmBxG,EAAU;AAAA,MAC9B;AAAA,IACP,CAAK,GAAgB,gBAAA5gG,EAAM,cAAc,OAAO,MAAmB,gBAAAA,EAAM,cAAc,OAAO;AAAA,MACxF,WAAW,GAAG,OAAOw4C,GAAW,SAAS;AAAA,IAC/C,GAAO4wD,EAAM,IAAIC,KAAav7B,OAA4B,gBAAA9tE,EAAM,cAAc,OAAO;AAAA,MAC/E,WAAW,GAAG,OAAOw4C,GAAW,SAAS;AAAA,IAC/C,GAAO6wD,GAAWv7B,EAAU,CAAC,CAAC;AAE1B,WAAIkxB,MACF2K,KAAc3K,EAAY2K,EAAW,IAGnB,gBAAA3pG,EAAM,cAAc,OAAO;AAAA,MAC7C,WAAW,GAAG,OAAOw4C,GAAW,kBAAkB;AAAA,MAClD,OAAO;AAAA,QACL,YAAYwwD;AAAA,MACb;AAAA,MACD,KAAKtJ;AAAA,MACL,aAAa,SAAqB7/F,IAAG;AACnC,QAAAA,GAAE,eAAc;AAAA,MACjB;AAAA,IACF,GAAE8pG,EAAW;AAAA,EACf;AAED,MAAIC,KAA0B,gBAAA5pG,EAAM,cAAc,OAAO;AAAA,IACvD,WAAWqN,GAAW,GAAG,OAAOmrC,GAAW,gBAAgB,GAAG,GAAG,OAAOA,GAAW,GAAG,EAAE,OAAOkf,GAAQ,gBAAgB,CAAC;AAAA,IACxH,OAAO;AAAA,MACL,UAAUwtC;AAAA,IACX;AAAA,EACL,GAAkB,gBAAAllG,EAAM,cAAc,OAAO;AAAA,IACzC,KAAKgkG;AAAA,IACL,WAAW,GAAG,OAAOxrD,GAAW,cAAc;AAAA,IAC9C,OAAO0wD;AAAA,EACX,CAAG,GAAGC,GAAY,CAAE,GAEdpI;AAEJ,EAAInC,OACFmC,KAA0B,gBAAA/gG,EAAM,cAAc,QAAQ;AAAA,IACpD,WAAW,GAAG,OAAOw4C,GAAW,SAAS;AAAA,EAC1C,GAAEomD,EAAU;AAGf,MAAIoC;AAEJ,EAAIvC,MAAejuE,GAASqjC,IAAa,CAAC,KAAK,CAAC9C,GAAe,MAAMvgC,GAASqjC,IAAa,CAAC,KAAK,CAAC9C,GAAe,QAC/GiwC,KAAyB,gBAAAhhG,EAAM,cAAc,QAAQ;AAAA,IACnD,aAAa,SAAqBH,GAAG;AACnC,MAAAA,EAAE,eAAc,GAChBA,EAAE,gBAAe;AAAA,IAClB;AAAA,IACD,WAAW,SAAmBA,GAAG;AAC/B,MAAAA,EAAE,eAAc,GAChBA,EAAE,gBAAe;AACjB,UAAI0G,KAASstD;AAEb,MAAK9C,GAAe,OAClBxqD,KAASi6D,GAAaj6D,IAAQ,MAAM,CAAC,IAGlCwqD,GAAe,OAClBxqD,KAASi6D,GAAaj6D,IAAQ,MAAM,CAAC,IAGvC2tD,GAAc3tD,IAAQ,IAAI,GAE1B8+F,GAAa,IAAOpB,EAAuB;AAAA,IAC5C;AAAA,IACD,WAAW,GAAG,OAAOzrD,GAAW,QAAQ;AAAA,EACzC,GAAEqmD,MAA0B,gBAAA7+F,EAAM,cAAc,QAAQ;AAAA,IACvD,WAAW,GAAG,OAAOw4C,GAAW,YAAY;AAAA,EAC7C,CAAA,CAAC;AAGJ,MAAIqxD,KAAmB;AAAA,IACrB,MAAM3uC,GAAaxD,GAAQoH,GAAW,IAAItJ,CAAc;AAAA,EAC5D,GACMs0C,KAAgB,GAChBC,KAAiB;AAErB,EAAIpG,GAAiB,WAAWC,GAAe,WAAWC,GAAa,YACjEI,OAA4B,IAC9B8F,KAAiBpG,GAAiB,QAAQ,eAE1CmG,KAAgBf,IAChBgB,KAAiBnG,GAAe,QAAQ;AAI5C,MAAIoG,KAAyB5hD,OAAc,QAAQ;AAAA,IACjD,OAAO0hD;AAAA,EACX,IAAM;AAAA,IACF,MAAMA;AAAA,EACV,GAEMh+B,KAAkB,SAAyBp4C,GAAMpxB,IAAM;AACzD,QAAIiE,KAASi6D,GAAao/B,IAAelsE,GAAMuwE,EAAuB;AAEtE,IAAI3hG,OAAS,YAAYA,OAAS,SAAS,CAACgoE,MAE1CpW,GAAc3tD,IAAQ09F,EAAuB,GAEzCA,OAA4B,IAC9BuD,OAEAK,QAGFhI,EAAiBt5F,EAAM;AAAA,EAE7B;AAEE,SAAoB,gBAAAvG,EAAM,cAAcs0D,GAAa,UAAU;AAAA,IAC7D,OAAO;AAAA,MACL,cAAc6H;AAAA,MACd,YAAYzE,MAAW;AAAA,MACvB,kBAAkBY;AAAA,MAClB,kBAAkBC;AAAA,MAClB,YAAY;AAAA,MACZ,UAAUuT;AAAA,MACV,MAAMk0B;AAAA,IACP;AAAA,EACL,GAAkB,gBAAAhgG,EAAM,cAAco6F,IAAe;AAAA,IACjD,SAAS4F;AAAA,IACT,cAAc4J;AAAA,IACd,YAAYrT;AAAA,IACZ,WAAW/9C;AAAA,IACX,mBAAmB8hD;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB3B;AAAA,IACnB,gBAAgBz8C;AAAA,IAChB,OAAO;AAAA,IACP,WAAWiM;AAAA,EACZ,GAAe,gBAAApoD,EAAM,cAAc,OAAOud,GAAS;AAAA,IAClD,KAAKsqC;AAAA,IACL,WAAWx6C,GAAWmrC,GAAW,GAAG,OAAOA,GAAW,QAAQ,GAAG9sC,IAAYw0D,IAAe,CAAA,GAAIxyD,EAAgBwyD,GAAc,GAAG,OAAO1nB,GAAW,WAAW,GAAGuY,GAAe,MAAMA,GAAe,EAAE,GAAGrjD,EAAgBwyD,GAAc,GAAG,OAAO1nB,GAAW,UAAU,GAAGyrD,OAA4B,IAAI+D,KAAeM,EAAU,GAAG56F,EAAgBwyD,GAAc,GAAG,OAAO1nB,GAAW,MAAM,GAAG4P,OAAc,KAAK,GAAG8X,EAAc;AAAA,IACta,OAAOjqD;AAAA,IACP,SAASuyF;AAAA,IACT,cAAclU;AAAA,IACd,cAAcC;AAAA,IACd,aAAakU;AAAA,IACb,WAAWtJ;AAAA,EACf,GAAK7+B,GAAmBt8D,CAAK,CAAC,GAAgB,gBAAAhE,EAAM,cAAc,OAAO;AAAA,IACrE,WAAWqN,GAAW,GAAG,OAAOmrC,GAAW,QAAQ,IAAI0qD,IAAe,CAAE,GAAEx1F,EAAgBw1F,GAAc,GAAG,OAAO1qD,GAAW,eAAe,GAAGyrD,OAA4B,CAAC,GAAGv2F,EAAgBw1F,GAAc,GAAG,OAAO1qD,GAAW,oBAAoB,GAAG,CAAC,CAAC8uD,EAAe,GAAGpE,EAAc;AAAA,IAC3R,KAAKS;AAAA,EACN,GAAe,gBAAA3jG,EAAM,cAAc,SAASud,GAAS;AAAA,IACpD,IAAIggC;AAAA,IACJ,UAAUwT,GAAe;AAAA,IACzB,UAAUytC,MAAiB,OAAO1/B,GAAW,MAAO,cAAc,CAACmpC;AAAA,IACnE,OAAOX,MAAmBX;AAAA,IAC1B,UAAU,SAAkB9mG,GAAG;AAC7B,MAAA+mG,GAAuB/mG,EAAE,OAAO,KAAK;AAAA,IACtC;AAAA,IACD,WAAW6+F;AAAA,IACX,aAAaluE,GAASsuE,GAAa,CAAC,KAAK;AAAA,IACzC,KAAKgF;AAAA,EACT,GAAKiE,IAAiB8B,IAAkB;AAAA,IACpC,cAAcvK;AAAA,EACf,CAAA,CAAC,CAAC,GAAgB,gBAAAt/F,EAAM,cAAc,OAAO;AAAA,IAC5C,WAAW,GAAG,OAAOw4C,GAAW,kBAAkB;AAAA,IAClD,KAAKqrD;AAAA,EACN,GAAEn7C,CAAS,GAAgB,gBAAA1oD,EAAM,cAAc,OAAO;AAAA,IACrD,WAAWqN,GAAW,GAAG,OAAOmrC,GAAW,QAAQ,IAAI2qD,IAAe,CAAE,GAAEz1F,EAAgBy1F,GAAc,GAAG,OAAO3qD,GAAW,eAAe,GAAGyrD,OAA4B,CAAC,GAAGv2F,EAAgBy1F,GAAc,GAAG,OAAO3qD,GAAW,oBAAoB,GAAG,CAAC,CAACmvD,EAAa,GAAGxE,EAAc;AAAA,IACzR,KAAKS;AAAA,EACN,GAAe,gBAAA5jG,EAAM,cAAc,SAASud,GAAS;AAAA,IACpD,UAAUwzC,GAAe;AAAA,IACzB,UAAUytC,MAAiB,OAAO1/B,GAAW,MAAO,cAAc,CAACypC;AAAA,IACnE,OAAOZ,MAAiBX;AAAA,IACxB,UAAU,SAAkBnnG,GAAG;AAC7B,MAAAonG,GAAqBpnG,EAAE,OAAO,KAAK;AAAA,IACpC;AAAA,IACD,aAAa2wB,GAASsuE,GAAa,CAAC,KAAK;AAAA,IACzC,KAAKiF;AAAA,EACT,GAAKqE,IAAeyB,IAAkB;AAAA,IAClC,cAAcvK;AAAA,EACf,CAAA,CAAC,CAAC,GAAgB,gBAAAt/F,EAAM,cAAc,OAAO;AAAA,IAC5C,WAAW,GAAG,OAAOw4C,GAAW,aAAa;AAAA,IAC7C,OAAOlqC,EAAcA,EAAc,CAAE,GAAE07F,EAAsB,GAAG,CAAA,GAAI;AAAA,MAClE,OAAOD;AAAA,MACP,UAAU;AAAA,IAChB,CAAK;AAAA,EACF,CAAA,GAAGhJ,IAAYC,EAAS,CAAC,CAAC;AAC7B;AAGA,IAAIiJ,KAA2B,yBAAU9tE,GAAkB;AACzD,EAAAnT,GAAUihF,GAAa9tE,CAAgB;AAEvC,MAAIC,IAAS5S,GAAaygF,CAAW;AAErC,WAASA,IAAc;AACrB,QAAIviF;AAEJ,IAAA9S,GAAgB,MAAMq1F,CAAW;AAEjC,aAAS73F,IAAO,UAAU,QAAQ7Q,IAAO,IAAI,MAAM6Q,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,MAAA/Q,EAAK+Q,KAAQ,UAAUA;AAGzB,WAAAoV,IAAQ0U,EAAO,KAAK,MAAMA,GAAQ,CAAC,IAAI,EAAE,OAAO76B,CAAI,CAAC,GAErDmM,EAAgBob,GAAuBpB,CAAK,GAAG,aAA0B,gBAAA1nB,EAAM,UAAS,CAAE,GAE1F0N,EAAgBob,GAAuBpB,CAAK,GAAG,SAAS,WAAY;AAClE,MAAIA,EAAM,UAAU,WAClBA,EAAM,UAAU,QAAQ;IAEhC,CAAK,GAEDha,EAAgBob,GAAuBpB,CAAK,GAAG,QAAQ,WAAY;AACjE,MAAIA,EAAM,UAAU,WAClBA,EAAM,UAAU,QAAQ;IAEhC,CAAK,GAEMA;AAAA,EACR;AAED,SAAAzS,GAAag1F,GAAa,CAAC;AAAA,IACzB,KAAK;AAAA,IACL,OAAO,WAAkB;AACvB,aAAoB,gBAAAjqG,EAAM,cAAcijG,IAAkB1lF,GAAS,CAAE,GAAE,KAAK,OAAO;AAAA,QACjF,WAAW,KAAK;AAAA,MACjB,CAAA,CAAC;AAAA,IACH;AAAA,EACF,CAAA,CAAC,GAEK0sF;AACT,EAAEjqG,EAAM,SAAS;AC5hCV,MAAMkqG,KAAoC,gBAAAlqG,EAAM,cAAc,EAAE;ACfhE,SAASmqG,GAAoB3xD,GAAWiG,GAAQ2rD,GAAa;AAClE,SAAO/8F,GAAW;AAAA,IAChB,CAAC,GAAGmrC,qBAA6BiG,MAAW;AAAA,IAC5C,CAAC,GAAGjG,qBAA6BiG,MAAW;AAAA,IAC5C,CAAC,GAAGjG,mBAA2BiG,MAAW;AAAA,IAC1C,CAAC,GAAGjG,wBAAgCiG,MAAW;AAAA,IAC/C,CAAC,GAAGjG,mBAA2B4xD;AAAA,EACnC,CAAG;AACH;AACO,MAAMC,KAAkB,CAACC,GAAeC,MAAiBA,KAAgBD;ACXzE,SAASE,GAAergE,GAAQutB,GAAQ+yC,GAAsB;AACnE,SAAIA,MAAyB,SACpBA,IAEL/yC,MAAW,UAAUvtB,EAAO,KAAK,kBAC5BA,EAAO,KAAK,kBAEjButB,MAAW,aAAavtB,EAAO,KAAK,qBAC/BA,EAAO,KAAK,qBAEjButB,MAAW,WAAWvtB,EAAO,KAAK,mBAC7BA,EAAO,KAAK,mBAEjButB,MAAW,UAAUvtB,EAAO,KAAK,kBAC5BA,EAAO,KAAK,kBAEjButB,MAAW,UAAUvtB,EAAO,iBAAiB,cACxCA,EAAO,iBAAiB,cAE1BA,EAAO,KAAK;AACrB;AACO,SAASugE,GAAoBvgE,GAAQutB,GAAQ+yC,GAAsB;AACxE,SAAIA,MAAyB,SACpBA,IAEL/yC,MAAW,UAAUvtB,EAAO,KAAK,kBAC5BA,EAAO,KAAK,uBAEjButB,MAAW,aAAavtB,EAAO,KAAK,qBAC/BA,EAAO,KAAK,0BAEjButB,MAAW,WAAWvtB,EAAO,KAAK,mBAC7BA,EAAO,KAAK,wBAEjButB,MAAW,UAAUvtB,EAAO,KAAK,kBAC5BA,EAAO,KAAK,uBAEjButB,MAAW,UAAUvtB,EAAO,iBAAiB,cACxCA,EAAO,iBAAiB,mBAE1BA,EAAO,KAAK;AACrB;AACO,SAASwgE,GAA6BviD,GAAWinB,GAAW;AACjE,QAAM4G,IAAW;AAAA,IACf,SAAS;AAAA,IACT,SAAS;AAAA,EACb;AACE,UAAQ5G,GAAS;AAAA,IACf,KAAK;AAED,aAAO;AAAA,QACL,QAAQ,CAAC,MAAM,IAAI;AAAA,QACnB,QAAQ,CAAC,GAAG,CAAC;AAAA,QACb,UAAA4G;AAAA,MACV;AAAA,IAEI,KAAK;AAED,aAAO;AAAA,QACL,QAAQ,CAAC,MAAM,IAAI;AAAA,QACnB,QAAQ,CAAC,GAAG,CAAC;AAAA,QACb,UAAAA;AAAA,MACV;AAAA,IAEI,KAAK;AAED,aAAO;AAAA,QACL,QAAQ,CAAC,MAAM,IAAI;AAAA,QACnB,QAAQ,CAAC,GAAG,EAAE;AAAA,QACd,UAAAA;AAAA,MACV;AAAA,IAEI,KAAK;AAED,aAAO;AAAA,QACL,QAAQ,CAAC,MAAM,IAAI;AAAA,QACnB,QAAQ,CAAC,GAAG,EAAE;AAAA,QACd,UAAAA;AAAA,MACV;AAAA,IAEI;AAEI,aAAO;AAAA,QACL,QAAQ7tB,MAAc,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI;AAAA,QACxD,QAAQ,CAAC,GAAG,CAAC;AAAA,QACb,UAAA6tB;AAAA,MACV;AAAA,EAEG;AACH;ACtFO,MAAM20B,KAAsB,CAAA59D,OAAU;AAAA,EAE3C,uBAAuB;AAAA,IACrB,SAAS;AAAA,EACV;AAAA,EACD,kBAAkB;AAAA,IAChB,OAAAA;AAAA,IACA,YAAY;AAAA,EACb;AAAA,EAED,uBAAuB;AAAA,IACrB,cAAc;AAAA,EACf;AACH,IACa69D,KAAgB,CAAA7vF,OAAU;AAAA,EACrC,aAAaA,EAAM;AAAA,EACnB,sBAAsBA,EAAM;AAC9B,IACa8vF,KAAiB,CAAA9vF,OAAU;AAAA,EACtC,aAAaA,EAAM;AAAA,EACnB,WAAW,SAASA,EAAM,yBAAyBA,EAAM;AAAA,EACzD,sBAAsBA,EAAM;AAAA,EAC5B,SAAS;AACX,IACaozC,KAAmB,CAAApzC,OAAU;AAAA,EACxC,OAAOA,EAAM;AAAA,EACb,iBAAiBA,EAAM;AAAA,EACvB,aAAaA,EAAM;AAAA,EACnB,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,WAAW,OAAO,OAAO,CAAE,GAAE6vF,GAAc1xD,GAAWn+B,GAAO;AAAA,IAC3D,uBAAuBA,EAAM;AAAA,EAC9B,CAAA,CAAC,CAAC;AACL,IACM+vF,KAAqB,CAAA/vF,MAAS;AAClC,QAAM;AAAA,IACJ,wBAAAgwF;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,0BAAAC;AAAA,EACD,IAAGpwF;AACJ,SAAO;AAAA,IACL,SAAS,GAAGgwF,OAA4BI;AAAA,IACxC,UAAUH;AAAA,IACV,YAAYC;AAAA,IACZ,cAAcC;AAAA,EAClB;AACA,GACaE,KAAqB,CAAArwF,OAAU;AAAA,EAC1C,SAAS,GAAGA,EAAM,4BAA4BA,EAAM,6BAA6B;AAAA,EACjF,cAAcA,EAAM;AACtB,IA0CaswF,KAAqB,CAAAtwF,MAAS,OAAO,OAAO,OAAO,OAAO;AAAA,EACrE,UAAU;AAAA,EACV,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AAAA,EACV,SAAS,GAAGA,EAAM,0BAA0BA,EAAM;AAAA,EAClD,OAAOA,EAAM;AAAA,EACb,UAAUA,EAAM;AAAA,EAChB,YAAYA,EAAM;AAAA,EAClB,iBAAiBA,EAAM;AAAA,EACvB,iBAAiB;AAAA,EACjB,aAAaA,EAAM;AAAA,EACnB,aAAaA,EAAM;AAAA,EACnB,aAAaA,EAAM;AAAA,EACnB,cAAcA,EAAM;AAAA,EACpB,YAAY,OAAOA,EAAM;AAC3B,GAAG4vF,GAAoB5vF,EAAM,oBAAoB,CAAC,GAAG;AAAA,EACnD,WAAW,OAAO,OAAO,CAAE,GAAE6vF,GAAc7vF,CAAK,CAAC;AAAA,EACjD,sBAAsB,OAAO,OAAO,CAAE,GAAE8vF,GAAe9vF,CAAK,CAAC;AAAA,EAC7D,2BAA2B,OAAO,OAAO,CAAE,GAAEozC,GAAiBpzC,CAAK,CAAC;AAAA,EACpE,gBAAgB;AAAA,IACd,2DAA2D;AAAA,MACzD,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,WAAW;AAAA,IACZ;AAAA,EACF;AAAA,EAED,aAAa;AAAA,IACX,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,WAAWA,EAAM;AAAA,IACjB,YAAYA,EAAM;AAAA,IAClB,eAAe;AAAA,IACf,YAAY,OAAOA,EAAM;AAAA,IACzB,QAAQ;AAAA,EACT;AAAA,EAED,QAAQ,OAAO,OAAO,CAAE,GAAE+vF,GAAmB/vF,CAAK,CAAC;AAAA,EACnD,QAAQ,OAAO,OAAO,CAAE,GAAEqwF,GAAmBrwF,CAAK,CAAC;AAAA,EAEnD,SAAS;AAAA,IACP,WAAW;AAAA,EACZ;AAAA,EACD,kBAAkB;AAAA,IAChB,WAAW;AAAA,EACZ;AACH,CAAC;AA2hBM,SAASuwF,GAAevwF,GAAO;AAEpC,SAAOm+B,GAAWn+B,GAAO;AAAA,IACvB,mBAAmBA,EAAM;AAAA,IACzB,sBAAsB,KAAK,IAAI,KAAK,OAAOA,EAAM,gBAAgBA,EAAM,WAAWA,EAAM,cAAc,IAAI,EAAE,IAAI,KAAKA,EAAM,WAAW,CAAC;AAAA,IACvI,wBAAwB,KAAK,MAAMA,EAAM,kBAAkBA,EAAM,aAAaA,EAAM,gBAAgB,IAAI,EAAE,IAAI,KAAKA,EAAM;AAAA,IACzH,wBAAwB,KAAK,IAAI,KAAK,OAAOA,EAAM,kBAAkBA,EAAM,WAAWA,EAAM,cAAc,IAAI,EAAE,IAAI,KAAKA,EAAM,WAAW,CAAC;AAAA,IAC3I,wBAAwBA,EAAM,YAAYA,EAAM;AAAA,IAChD,0BAA0BA,EAAM,YAAYA,EAAM;AAAA,IAClD,0BAA0BA,EAAM,2BAA2BA,EAAM;AAAA,IACjE,uBAAuBA,EAAM;AAAA,IAC7B,wBAAwBA,EAAM;AAAA,EAClC,CAAG;AACH;ACzrBA,MAAMwwF,KAAmB,CAAAtxC,OAAa;AAAA,EACpC,mBAAmBA;AAAA,EACnB,mBAAmB;AACrB,IAEMuxC,KAAwB,CAAAvxC,OAAa;AAAA,EACzC,mBAAmBA;AAAA,EACnB,mBAAmB;AACrB,IACawxC,KAAa,SAAUC,GAAWC,GAAaC,GAAc3xC,GAAU;AAElF,QAAM4xC,KADU,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,MAChD,MAAM;AAC1C,SAAO;AAAA,IACL,CAAC;AAAA,QACGA,IAAkBH;AAAA,QAClBG,IAAkBH;AAAA,QAClB,OAAO,OAAO,OAAO,OAAO,IAAIH,GAAiBtxC,CAAQ,CAAC,GAAG;AAAA,MAC/D,oBAAoB;AAAA,IAC1B,CAAK;AAAA,IACD,CAAC,GAAG4xC,IAAkBH,YAAoB,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIF,GAAsBvxC,CAAQ,CAAC,GAAG;AAAA,MAC1G,oBAAoB;AAAA,IAC1B,CAAK;AAAA,IACD,CAAC;AAAA,QACG4xC,IAAkBH,UAAkBA;AAAA,QACpCG,IAAkBH,WAAmBA;AAAA,QACrC;AAAA,MACF,eAAeC;AAAA,MACf,oBAAoB;AAAA,IACrB;AAAA,IACD,CAAC,GAAGE,IAAkBH,UAAkBA,mBAA2B;AAAA,MACjE,eAAeE;AAAA,MACf,oBAAoB;AAAA,MACpB,eAAe;AAAA,IAChB;AAAA,EACL;AACA,GCjCaE,KAAa,IAAIC,GAAU,iBAAiB;AAAA,EACvD,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYC,KAAc,IAAID,GAAU,kBAAkB;AAAA,EACzD,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYE,KAAa,IAAIF,GAAU,iBAAiB;AAAA,EACvD,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYG,KAAc,IAAIH,GAAU,kBAAkB;AAAA,EACzD,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYI,KAAc,IAAIJ,GAAU,kBAAkB;AAAA,EACzD,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYK,KAAe,IAAIL,GAAU,mBAAmB;AAAA,EAC3D,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYM,KAAW,IAAIN,GAAU,eAAe;AAAA,EACnD,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYO,KAAY,IAAIP,GAAU,gBAAgB;AAAA,EACrD,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACKQ,KAAa;AAAA,EACjB,WAAW;AAAA,IACT,aAAaF;AAAA,IACb,cAAcC;AAAA,EACf;AAAA,EACD,aAAa;AAAA,IACX,aAAaR;AAAA,IACb,cAAcE;AAAA,EACf;AAAA,EACD,aAAa;AAAA,IACX,aAAaC;AAAA,IACb,cAAcC;AAAA,EACf;AAAA,EACD,cAAc;AAAA,IACZ,aAAaC;AAAA,IACb,cAAcC;AAAA,EACf;AACH,GACaI,KAAiB,CAACzxF,GAAOsoC,MAAe;AACnD,QAAM;AAAA,IACJ,QAAAopD;AAAA,EACD,IAAG1xF,GACE2wF,IAAY,GAAGe,KAAUppD,KACzB;AAAA,IACJ,aAAAsoD;AAAA,IACA,cAAAC;AAAA,EACJ,IAAMW,GAAWlpD;AACf,SAAO,CAACooD,GAAWC,GAAWC,GAAaC,GAAc7wF,EAAM,iBAAiB,GAAG;AAAA,IACjF,CAAC;AAAA,UACK2wF;AAAA,UACAA;AAAA,UACA;AAAA,MACJ,SAAS;AAAA,MACT,yBAAyB3wF,EAAM;AAAA,IAChC;AAAA,IACD,CAAC,GAAG2wF,YAAoB;AAAA,MACtB,yBAAyB3wF,EAAM;AAAA,IAChC;AAAA,EACL,CAAG;AACH,GCvIa2xF,KAAY,IAAIX,GAAU,gBAAgB;AAAA,EACrD,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYY,KAAa,IAAIZ,GAAU,iBAAiB;AAAA,EACvD,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYa,KAAc,IAAIb,GAAU,kBAAkB;AAAA,EACzD,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYc,KAAe,IAAId,GAAU,mBAAmB;AAAA,EAC3D,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYe,KAAc,IAAIf,GAAU,kBAAkB;AAAA,EACzD,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYgB,KAAe,IAAIhB,GAAU,mBAAmB;AAAA,EAC3D,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYiB,KAAe,IAAIjB,GAAU,mBAAmB;AAAA,EAC3D,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACYkB,KAAgB,IAAIlB,GAAU,oBAAoB;AAAA,EAC7D,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AAAA,EACD,QAAQ;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACV;AACH,CAAC,GACKmB,KAAc;AAAA,EAClB,YAAY;AAAA,IACV,aAAaR;AAAA,IACb,cAAcC;AAAA,EACf;AAAA,EACD,cAAc;AAAA,IACZ,aAAaC;AAAA,IACb,cAAcC;AAAA,EACf;AAAA,EACD,cAAc;AAAA,IACZ,aAAaC;AAAA,IACb,cAAcC;AAAA,EACf;AAAA,EACD,eAAe;AAAA,IACb,aAAaC;AAAA,IACb,cAAcC;AAAA,EACf;AACH,GACaE,KAAkB,CAACpyF,GAAOsoC,MAAe;AACpD,QAAM;AAAA,IACJ,QAAAopD;AAAA,EACD,IAAG1xF,GACE2wF,IAAY,GAAGe,KAAUppD,KACzB;AAAA,IACJ,aAAAsoD;AAAA,IACA,cAAAC;AAAA,EACJ,IAAMsB,GAAY7pD;AAChB,SAAO,CAACooD,GAAWC,GAAWC,GAAaC,GAAc7wF,EAAM,iBAAiB,GAAG;AAAA,IACjF,CAAC;AAAA,QACG2wF;AAAA,QACAA;AAAA,QACA;AAAA,MACF,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,yBAAyB3wF,EAAM;AAAA,IAChC;AAAA,IACD,CAAC,GAAG2wF,YAAoB;AAAA,MACtB,yBAAyB3wF,EAAM;AAAA,IAChC;AAAA,EACL,CAAG;AACH,GCrIMqyF,KAAkB,CAACryF,GAAOsyF,GAAa74D,GAAUgb,MAAsB;AAC3E,QAAM;AAAA,IACJ,YAAAH;AAAA,EACD,IAAGt0C,GACEuyF,IAAa,KAAK,MAAM94D,IAAW6a,CAAU,IAAI,GACjDk+C,IAAa,KAAK,KAAKF,IAAcC,KAAc,GAAG,CAAC,GACvDE,IAAgB,KAAK,IAAIH,IAAcC,IAAaC,GAAY,CAAC;AACvE,SAAO;AAAA,IACL,SAAS,GAAGA,OAAgB/9C,OAAuBg+C;AAAA,EACvD;AACA,GACMC,KAA0B,CAAA1yF,MAAS;AACvC,QAAM;AAAA,IACJ,cAAAk+B;AAAA,IACA,eAAAy0D;AAAA,IACA,oBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,WAAAt6D;AAAA,IACA,UAAAu6D;AAAA,IACA,cAAAtzD;AAAA,IACA,qBAAAuzD;AAAA,IACA,qBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iCAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,oCAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,0BAAAC;AAAA,EACD,IAAG3zF;AACJ,SAAO;AAAA,IACL,aAAa;AAAA,MACX,UAAU;AAAA,MACV,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,QAAQ;AAAA,MACR,QAAQ6yF;AAAA,MACR,WAAW;AAAA,MACX,YAAY,OAAOC;AAAA,MACnB,SAAS;AAAA,IACV;AAAA,IAED,CAACF,IAAqB;AAAA,MACpB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,UAAUC;AAAA,MACV,QAAQA;AAAA,MACR,YAAY,GAAGA;AAAA,MACf,cAAcE;AAAA,MACd,YAAY,cAAcC,aAA6BA;AAAA,IACxD;AAAA,IAED,CAAC,eAAeL;AAAA,kBACFA,mBAA+BA,sBAAkCA,oBAAgCA,4BAAwCA,uBAAmC;AAAA,MACxL,CAACC,IAAqB;AAAA,QACpB,YAAYK;AAAA,MACb;AAAA,IACF;AAAA,IAED,CAAC,YAAYN,WAAuBC,MAAuB;AAAA,MACzD,aAAa;AAAA,QACX,UAAU;AAAA,QACV,KAAK;AAAA,QACL,gBAAgB;AAAA,QAChB,QAAQ;AAAA,QACR,kBAAkB;AAAA,QAClB,QAAQ;AAAA,QACR,QAAQ,GAAGj6D,OAAeu6D,KAAYtzD;AAAA,QACtC,cAAcmzD;AAAA,QACd,SAAS;AAAA,MACV;AAAA,IACF;AAAA,IAED,CAAC,YAAYJ,eAA2B;AAAA,MACtC,UAAU;AAAA,MACV,aAAa;AAAA,QACX,YAAYQ;AAAA,MACb;AAAA,IACF;AAAA,IAED,CAAC,YAAYR,cAA0BC;AAAA,iBAC1BD,iBAA6BC;AAAA,iBAC7BD,eAA2BC,MAAuB;AAAA,MAC7D,OAAOQ;AAAA,MACP,YAAYxzD;AAAA,IACb;AAAA,IACD,CAAC,YAAY+yD,qBAAiCA;AAAA,iBACjCA,mBAA+BA,wBAAoC;AAAA,MAC9E,aAAa;AAAA,QACX,YAAYQ;AAAA,MACb;AAAA,IACF;AAAA,IACD,CAAC,YAAYR,0BAAsC;AAAA,MACjD,kBAAkB;AAAA,IACnB;AAAA,IACD,CAAC,YAAYA,wBAAoC;AAAA,MAC/C,gBAAgB;AAAA,IACjB;AAAA,IAED,CAAC,YAAYA,2BAAuCA,mBAA+BA,sBAAkCA;AAAA,iBACxGA,yBAAqCA,mBAA+BA,sBAAkCA;AAAA,iBACtGA,sBAAkCA;AAAA,iBAClCA,sBAAkCA,gBAA4BA,cAA0BA;AAAA,iBACxFA,oBAAgCA,gBAA4BA,cAA0BA;AAAA,iBACtFA,oBAAgCA;AAAA,iBAChCA,qBAAiCA,gBAA4B;AAAA,MACxE,YAAY;AAAA,QACV,UAAU;AAAA,QACV,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,QAAQU;AAAA,QACR,WAAW,GAAG16D,cAAsB26D;AAAA,QACpC,cAAc,GAAG36D,cAAsB26D;AAAA,QACvC,WAAW;AAAA,QACX,YAAY,OAAOR;AAAA,QACnB,SAAS;AAAA,MACV;AAAA,IACF;AAAA,IAED,CAAC;AAAA;AAAA,8BAEyB;AAAA,MACxB,gBAAgB;AAAA,MAChB,kBAAkBS;AAAA,IACnB;AAAA,IAED,CAAC,YAAYZ,aAAyBA;AAAA,iBACzBA,gBAA4BA;AAAA,iBAC5BA,cAA0BA;AAAA,iBAC1BA,qBAAiCA,wBAAoCA;AAAA,iBACrEA,mBAA+BA,sBAAkCA;AAAA,QAC1Ez0D;AAAA,eACOA;AAAA,iBACEy0D,aAAyBA;AAAA,QAClCz0D;AAAA,eACOA;AAAA,iBACEy0D,aAAyBA,8BAA0C;AAAA,MAC9E,YAAYa;AAAA,IACb;AAAA,IAED,CAAC,YAAYb,qBAAiCA,6BAAyCA,gBAA4BC,MAAuB;AAAA,MACxI,wBAAwBG;AAAA,MACxB,sBAAsBA;AAAA,MACtB,sBAAsB;AAAA,MACtB,oBAAoB;AAAA,IACrB;AAAA,IAED,CAAC,YAAYJ,mBAA+BA,2BAAuCA,kBAA8BC,MAAuB;AAAA,MACtI,wBAAwB;AAAA,MACxB,sBAAsB;AAAA,MACtB,sBAAsBG;AAAA,MACtB,oBAAoBA;AAAA,IACrB;AAAA,IACD,CAAC,gBAAgBJ,uBAAmC;AAAA,MAClD,kBAAkB;AAAA,IACnB;AAAA,IAED,CAAC,iBAAiBA;AAAA,sBACAA;AAAA,iBACLA,UAAsBA,2BAAuCA;AAAA,iBAC7DA,gCAA4CA;AAAA,iBAC5CA,+BAA2C;AAAA,MACtD,mBAAmBc,IAAuBZ,KAAyB;AAAA,MACnE,mBAAmB,GAAGl6D,cAAsB26D;AAAA,MAC5C,wBAAwB36D;AAAA,MACxB,sBAAsBA;AAAA,IACvB;AAAA,IAED,CAAC,iBAAiBg6D;AAAA,sBACAA;AAAA,iBACLA,QAAoBA,yBAAqCA;AAAA,iBACzDA,8BAA0CA;AAAA,iBAC1CA,6BAAyC;AAAA,MACpD,iBAAiBc,IAAuBZ,KAAyB;AAAA,MACjE,iBAAiB,GAAGl6D,cAAsB26D;AAAA,MAC1C,sBAAsB36D;AAAA,MACtB,oBAAoBA;AAAA,IACrB;AAAA,IAED,cAAc;AAAA,MACZ,OAAO+6D;AAAA,MACP,eAAe;AAAA,MACf,CAACd,IAAqB;AAAA,QACpB,YAAY;AAAA,MACb;AAAA,MACD,aAAa;AAAA,QACX,YAAYe;AAAA,MACb;AAAA,IACF;AAAA,IACD,CAAC,aAAahB,WAAuBC,cAA+B;AAAA,MAClE,aAAac;AAAA,IACd;AAAA,EACL;AACA,GACaE,KAAgB,CAAA5zF,MAAS;AACpC,QAAM;AAAA,IACJ,cAAAk+B;AAAA,IACA,oBAAA00D;AAAA,IACA,0BAAAiB;AAAA,IACA,uBAAAC;AAAA,IACA,sBAAAL;AAAA,IACA,WAAAM;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,WAAAv7D;AAAA,IACA,UAAAu6D;AAAA,IACA,gBAAA/C;AAAA,IACA,cAAAvwD;AAAA,IACA,kBAAAu0D;AAAA,IACA,YAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,WAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,mBAAAvB;AAAA,IACA,gBAAAwB;AAAA,IACA,kBAAAC;AAAA,IACA,uBAAA5B;AAAA,IACA,2BAAA6B;AAAA,IACA,mBAAAhB;AAAA,IACA,WAAAiB;AAAA,IACA,UAAAl7D;AAAA,IACA,oCAAA+5D;AAAA,IACA,oBAAAV;AAAA,IACA,kCAAA8B;AAAA,IACA,iCAAAC;AAAA,IACA,WAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,iCAAA1B;AAAA,IACA,gBAAAP;AAAA,IACA,qBAAAK;AAAA,IACA,cAAA16D;AAAA,IACA,oBAAAu6D;AAAA,IACA,6BAAAgC;AAAA,IACA,4BAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,qBAAAhC;AAAA,IACA,WAAAiC;AAAA,EACD,IAAGp1F,GACEq1F,KAAmB5B,IAAuB,IAAIM,IAAY,IAAI,GAC9DuB,MAA0BD,KAAmBrB,IAAY,KAAK,IAAIH,IAA2B;AACnG,SAAO;AAAA,IACL,CAAC31D,IAAe;AAAA,MACd,WAAW;AAAA,QACT,SAAS;AAAA,QACT,eAAe;AAAA,QACf,WAAW;AAAA,QACX,YAAYg2D;AAAA,QACZ,QAAQ,GAAGv7D,OAAeu6D,KAAYkB;AAAA,QACtC,cAAcjE;AAAA,QACd,SAAS;AAAA,QACT,aAAa;AAAA,UACX,aAAavwD;AAAA,QACd;AAAA,QACD,SAAS;AAAA,UACP,WAAW;AAAA,UACX,CAAC,GAAG1B;AAAA,gBACEA,sBAAiC;AAAA,YACrC,WAAW;AAAA,UACZ;AAAA,UACD,CAAC,GAAGA;AAAA,gBACEA,sBAAiC;AAAA,YACrC,WAAW;AAAA,UACZ;AAAA,QACF;AAAA,MACF;AAAA,MAID,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMiB;AAAA,QAChB,SAAS;AAAA,QACT,eAAe;AAAA,QACf,OAAOm3D;AAAA,MACR;AAAA,MAED,YAAY;AAAA,QACV,SAAS;AAAA,QACT,SAAS,KAAKrB;AAAA,QACd,OAAOG;AAAA,QACP,cAAc,GAAGx7D,OAAeu6D,KAAYkB;AAAA,QAC5C,OAAO;AAAA,UACL,MAAM;AAAA,QACP;AAAA,QACD,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,OAAOE;AAAA,UACP,YAAY,GAAGC;AAAA,UACf,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,YAAY,SAASvB;AAAA,QACtB;AAAA,QACD,YAAY;AAAA,UACV,UAAU;AAAA,UACV,UAAAv5D;AAAA,UACA,WAAW;AAAA,YACT,OAAO+6D;AAAA,UACR;AAAA,QACF;AAAA,QACD,UAAU;AAAA,UACR,MAAM;AAAA,UACN,YAAYC;AAAA,UACZ,YAAY,GAAGF;AAAA,UACf,QAAQ;AAAA,YACN,OAAO;AAAA,YACP,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,uBAAuB;AAAA,cACrB,mBAAmBP;AAAA,YACpB;AAAA,YACD,WAAW;AAAA,cACT,OAAOp0D;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MAED,CAAC;AAAA;AAAA;AAAA,6BAGsB;AAAA,QACrB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAOk0D;AAAA,QACP,QAAQA;AAAA,QACR,aAAa;AAAA,UACX,UAAU;AAAA,UACV,KAAK;AAAA,UACL,kBAAkB;AAAA,UAClB,SAAS;AAAA,UACT,OAAOA;AAAA,UACP,QAAQA;AAAA,UACR,QAAQ;AAAA,UACR,uBAAuBO;AAAA,UACvB,qBAAqB;AAAA,UACrB,wBAAwBA;AAAA,UACxB,sBAAsB;AAAA,UACtB,SAAS;AAAA,QACV;AAAA,MACF;AAAA,MACD,CAAC;AAAA,6BACsB;AAAA,QACrB,YAAY;AAAA,UACV,UAAU;AAAA,UACV,KAAK,KAAK,KAAKP,IAAwB,CAAC;AAAA,UACxC,kBAAkB,KAAK,KAAKA,IAAwB,CAAC;AAAA,UACrD,SAAS;AAAA,UACT,OAAOA;AAAA,UACP,QAAQA;AAAA,UACR,QAAQ;AAAA,UACR,uBAAuBO;AAAA,UACvB,qBAAqB;AAAA,UACrB,wBAAwBA;AAAA,UACxB,sBAAsB;AAAA,UACtB,SAAS;AAAA,QACV;AAAA,MACF;AAAA,MACD,CAAC;AAAA,6BACsB;AAAA,QACrB,WAAW;AAAA,MACZ;AAAA,MACD,CAAC;AAAA,6BACsB;AAAA,QACrB,WAAW;AAAA,MACZ;AAAA,MAED,aAAa;AAAA,QACX,OAAO;AAAA,QACP,aAAa;AAAA,QACb,gBAAgB;AAAA,QAChB,UAAU;AAAA,UACR,UAAU;AAAA,UACV,UAAUxB;AAAA,UACV,YAAY;AAAA,QACb;AAAA,QACD,IAAI;AAAA,UACF,QAAQA,IAAwB6B,IAA4B;AAAA,UAC5D,OAAOC;AAAA,UACP,eAAe;AAAA,QAChB;AAAA,MACF;AAAA,MACD,UAAU,OAAO,OAAO;AAAA,QACtB,SAAS,GAAGD;AAAA,QACZ,OAAOhB;AAAA,QACP,QAAQ;AAAA,QAER,aAAa;AAAA,UACX,OAAOiB;AAAA,QACR;AAAA,MACT,GAASjC,GAAwB1yF,CAAK,CAAC;AAAA,MAEjC,CAAC,gBAAgBk+B,iBAA4BA,kBAA6BA,4BAAuC00D;AAAA,uBAChG10D,iBAA4BA,kBAA6BA,0BAAqC00D,MAAuB;AAAA,QACpI,YAAY;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,YAAYY;AAAA,UACZ,YAAY,OAAOV;AAAA,UACnB,SAAS;AAAA,QACV;AAAA,MACF;AAAA,MACD,CAAC;AAAA,UACG50D,iBAA4BA,kBAA6BA;AAAA,UACzD00D,aAA8B;AAAA,QAChC,gBAAgB,EAAEa,IAAuBZ,KAAyB;AAAA,QAClE,kBAAkB;AAAA,MACnB;AAAA,MACD,CAAC,gBAAgB30D,iBAA4BA,kBAA6BA,0BAAqC00D,aAA8B;AAAA,QAC3I,gBAAgB;AAAA,QAChB,kBAAkB,EAAEa,IAAuBZ,KAAyB;AAAA,MACrE;AAAA,MAED,CAAC,gBAAgB30D,yBAAoC;AAAA,QACnD,gBAAgB;AAAA,MACjB;AAAA,MACD,CAAC;AAAA;AAAA;AAAA,yBAGkB;AAAA,QACjB,CAAC,GAAGA,cAAyB;AAAA,UAC3B,QAAQ02D,IAAmC;AAAA,QAC5C;AAAA,QACD,CAAChC,IAAqB;AAAA,UACpB,SAAS,KAAKoB;AAAA,QACf;AAAA,MACF;AAAA,MACD,mBAAmB;AAAA,QACjB,CAAC,GAAG91D,cAAyB;AAAA,UAC3B,QAAQ22D;AAAA,QACT;AAAA,MACF;AAAA,MAED,CAAC,WAAW32D,aAAwB;AAAA,QAClC,WAAW,GAAGvF,OAAeu6D,KAAYkB;AAAA,MAC1C;AAAA,MACD,YAAY;AAAA,QACV,OAAO;AAAA,QACP,UAAU;AAAA,QACV,YAAY,GAAGG,IAAmB,IAAI57D;AAAA,QACtC,WAAW;AAAA,QACX,WAAW;AAAA,UACT,SAAS,KAAKo7D;AAAA,UACd,YAAY,GAAGQ,IAAmB,IAAI57D;AAAA,UACtC,WAAW;AAAA,UACX,sBAAsB;AAAA,YACpB,cAAc,GAAGA,OAAeu6D,KAAYkB;AAAA,UAC7C;AAAA,QACF;AAAA,MACF;AAAA,MACD,SAAS;AAAA,QACP,WAAW;AAAA,MACZ;AAAA,MACD,eAAe;AAAA,QACb,OAAOU;AAAA,QACP,WAAW;AAAA,UACT,OAAOE;AAAA,QACR;AAAA,QACD,YAAY;AAAA,UACV,OAAOD;AAAA,QACR;AAAA,QACD,CAAC,IAAI72D,yBAAoC;AAAA,UACvC,OAAOw1D;AAAA,UACP,QAAQ;AAAA,QACT;AAAA,MACF;AAAA,MAKD,kBAAkB;AAAA,QAChB,CAACd,IAAqB;AAAA,UACpB,SAAS,KAAKoB,IAAY;AAAA,QAC3B;AAAA,QACD,CAAC,GAAG91D,mBAA8B;AAAA,UAChC,SAAS;AAAA,QACV;AAAA,MACF;AAAA,MAED,CAAC;AAAA;AAAA,yBAEkB;AAAA,QACjB,CAAC,GAAGA,WAAsB;AAAA,UACxB,SAAS,KAAK81D;AAAA,QACf;AAAA,QACD,CAACpB,IAAqB;AAAA,UACpB,OAAOiB;AAAA,QACR;AAAA,QACD,CAAC,GAAG31D,oCAA+C;AAAA,UACjD,kBAAkBo3D;AAAA,UAClB,mBAAmB,GAAG38D,cAAsB26D;AAAA,UAC5C,wBAAwBP;AAAA,UACxB,yBAAyBA;AAAA,UACzB,sBAAsB;AAAA,UACtB,uBAAuB;AAAA,UACvB,CAAC,GAAG70D,kBAA6B;AAAA,YAC/B,gBAAgBo3D;AAAA,YAChB,iBAAiB,GAAG38D,cAAsB26D;AAAA,YAC1C,wBAAwB;AAAA,YACxB,yBAAyB;AAAA,YACzB,sBAAsBP;AAAA,YACtB,uBAAuBA;AAAA,UACxB;AAAA,QACF;AAAA,QACD,CAAC,GAAG70D,kCAA6C;AAAA,UAC/C,gBAAgBo3D;AAAA,UAChB,iBAAiB,GAAG38D,cAAsB26D;AAAA,UAC1C,wBAAwB;AAAA,UACxB,yBAAyB;AAAA,UACzB,sBAAsB56D;AAAA,UACtB,uBAAuBA;AAAA,UACvB,CAAC,GAAGwF,kBAA6B;AAAA,YAC/B,kBAAkBo3D;AAAA,YAClB,mBAAmB,GAAG38D,cAAsB26D;AAAA,YAC5C,wBAAwB56D;AAAA,YACxB,yBAAyBA;AAAA,YACzB,sBAAsB;AAAA,YACtB,uBAAuB;AAAA,UACxB;AAAA,QACF;AAAA,MACF;AAAA,MAED,gBAAgB;AAAA,QACd,CAAC,GAAGwF,WAAsB;AAAA,UACxB,SAAS,GAAG81D,OAAeD;AAAA,QAC5B;AAAA,QAED,CAAC,GAAG71D,WAAsB;AAAA,UACxB,CAAC,WAAW00D;AAAA,yBACGA;AAAA,cACXA,MAAuB;AAAA,YACzB,YAAY;AAAA,UACb;AAAA,QACF;AAAA,QACD,SAAS;AAAA,UACP,IAAI;AAAA,YACF,YAAY,cAAcI;AAAA,YAC1B,iBAAiB;AAAA,cACf,wBAAwBD;AAAA,cACxB,sBAAsBA;AAAA,YACvB;AAAA,YACD,gBAAgB;AAAA,cACd,sBAAsBA;AAAA,cACtB,oBAAoBA;AAAA,YACrB;AAAA,UACF;AAAA,UACD,cAAc;AAAA,YACZ,YAAYE;AAAA,UACb;AAAA,UACD,CAAC;AAAA,mCACwB;AAAA,YACvB,YAAYrzD;AAAA,YACZ,CAAC,IAAI1B,gBAA2B;AAAA,cAC9B,OAAO,IAAIpL,GAAUsgE,CAAmB,EAAE,SAAS,GAAG,EAAE,YAAa;AAAA,YACtE;AAAA,YACD,CAAC,IAAIl1D,gBAA2B00D,cAA+B;AAAA,cAC7D,aAAaQ;AAAA,YACd;AAAA,YACD,CAACR,IAAqB;AAAA,cACpB,OAAOQ;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MAED,gBAAgB;AAAA,QACd,CAAC,GAAGl1D,WAAsB;AAAA,UACxB,SAAS,GAAG81D,OAAeD;AAAA,QAC5B;AAAA,QACD,CAAC,GAAG71D,cAAyB;AAAA,UAC3B,OAAOu1D,IAAuB;AAAA,UAC9B,IAAI;AAAA,YACF,OAAOA;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,MAED,oBAAoB;AAAA,QAClB,SAAS;AAAA,QACT,CAAC,GAAGv1D,iBAA4B;AAAA,UAC9B,mBAAmB,GAAGvF,OAAeu6D,KAAYkB;AAAA,QAClD;AAAA,QACD,CAAC,GAAGl2D;AAAA,YACAA,iBAA4B;AAAA,UAC9B,YAAY,WAAW40D;AAAA,QACxB;AAAA,QAED,YAAY;AAAA,UACV,CAAC,GAAG50D;AAAA,cACAA,iBAA4B;AAAA,YAC9B,SAAS;AAAA,YACT,YAAY;AAAA,cACV,SAAS;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MAED,gBAAgB;AAAA,QACd,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QACX,CAAC,GAAGA,cAAyB;AAAA,UAC3B,SAAS;AAAA,UACT,MAAM;AAAA,UACN,QAAQ+2D;AAAA,QACT;AAAA,QACD,YAAY;AAAA,UACV,MAAM;AAAA,UACN,OAAOC;AAAA,UACP,QAAQ,GAAGjB;AAAA,UACX,SAAS;AAAA,UACT,WAAW;AAAA,UACX,WAAW;AAAA,UACX,WAAW;AAAA,UACX,YAAY,cAAcjB;AAAA,UAC1B,WAAW;AAAA,UACX,YAAY;AAAA,YACV,SAAS;AAAA,YACT,QAAQiC,IAA8BE;AAAA,YACtC,SAAS;AAAA,UACV;AAAA,UACD,uBAAuB;AAAA,YACrB,mBAAmB,GAAGx8D,OAAeu6D,KAAYkB;AAAA,UAClD;AAAA,UACD,YAAY;AAAA,YACV,YAAY,IAAIthE,GAAUqgE,EAAmB,EAAE,SAAS,GAAG,EAAE,YAAa;AAAA,UAC3E;AAAA,UACD,WAAW;AAAA,YACT,WAAW;AAAA,UACZ;AAAA,UACD,QAAQ;AAAA,YACN,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,CAAC,IAAIj1D,sBAAiC;AAAA,cACpC,cAAck3D;AAAA,cACd,CAAC,GAAGl3D,4BAAuC;AAAA,gBACzC,SAAS;AAAA,gBACT,OAAOg3D,KAA6B,IAAIE;AAAA,gBACxC,QAAQD;AAAA,gBACR,QAAQ;AAAA,gBACR,cAAc;AAAA,gBACd,kBAAkB;AAAA,gBAClB,qBAAqBD,KAA6BC,MAA6B;AAAA,gBAC/E,OAAOR;AAAA,gBACP,YAAY,GAAGQ;AAAA,gBACf,cAAcpC;AAAA,gBACd,QAAQ;AAAA,gBACR,YAAY,cAAcC;AAAA,gBAC1B,WAAW;AAAA,kBACT,YAAYC;AAAA,gBACb;AAAA,cACF;AAAA,cACD,cAAc;AAAA,gBACZ,CAAC,GAAG/0D,4BAAuC;AAAA,kBACzC,YAAYi1D;AAAA,gBACb;AAAA,cACF;AAAA,cACD,cAAc;AAAA,gBACZ,CAAC,GAAGj1D,4BAAuC;AAAA,kBACzC,OAAOw1D;AAAA,kBACP,YAAY;AAAA,kBACZ,QAAQ;AAAA,gBACT;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MAED,CAAC,oBAAoBx1D,8BAAyC;AAAA,QAC5D,QAAQ+2D,IAA8BE,KAA4BlB,IAAa;AAAA,MAChF;AAAA,IACF;AAAA,EACL;AACA,GACMsB,KAAuB,CAAAv1F,MAAS;AACpC,QAAM;AAAA,IACJ,cAAAk+B;AAAA,IACA,kBAAAg2D;AAAA,IACA,YAAAsB;AAAA,IACA,mBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,qBAAAC;AAAA,EACD,IAAG31F;AACJ,SAAO;AAAA,IACL,CAACk+B,IAAe;AAAA,MACd,CAAC,iBAAiBA,MAAiB;AAAA,QACjC,8BAA8B;AAAA,UAC5B,iBAAiBg2D;AAAA,UACjB,aAAasB;AAAA,QACd;AAAA,QACD,sBAAsB,OAAO,OAAO,CAAE,GAAE1F,GAAe3xD,GAAWn+B,GAAO;AAAA,UACvE,wBAAwBw1F;AAAA,UACxB,uBAAuBA;AAAA,UACvB,gBAAgBC;AAAA,QACjB,CAAA,CAAC,CAAC;AAAA,QACH,CAAC,GAAGv3D,iBAA4B;AAAA,UAC9B,YAAYs3D;AAAA,QACb;AAAA,MACF;AAAA,MACD,CAAC,mBAAmBt3D,MAAiB;AAAA,QACnC,8BAA8B;AAAA,UAC5B,iBAAiBg2D;AAAA,UACjB,aAAawB;AAAA,QACd;AAAA,QACD,sBAAsB,OAAO,OAAO,CAAE,GAAE5F,GAAe3xD,GAAWn+B,GAAO;AAAA,UACvE,wBAAwB01F;AAAA,UACxB,uBAAuBA;AAAA,UACvB,gBAAgBC;AAAA,QACjB,CAAA,CAAC,CAAC;AAAA,QACH,CAAC,GAAGz3D,iBAA4B;AAAA,UAC9B,YAAYw3D;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,EACL;AACA,GACME,KAAiB,CAAA51F,MAAS;AAC9B,QAAM;AAAA,IACJ,cAAAk+B;AAAA,IACA,QAAAwzD;AAAA,IACA,uBAAAmE;AAAA,IACA,eAAAt/D;AAAA,IACA,UAAAkD;AAAA,IACA,wBAAAq8D;AAAA,IACA,kBAAA5B;AAAA,IACA,WAAAv7D;AAAA,IACA,UAAAu6D;AAAA,IACA,aAAA6C;AAAA,IACA,cAAAr9D;AAAA,IACA,mBAAAs6D;AAAA,IACA,0BAAAW;AAAA,IACA,mBAAAD;AAAA,IACA,sBAAAsC;AAAA,IACA,iBAAAC;AAAA,IACA,YAAAhG;AAAA,IACA,iBAAAoD;AAAA,IACA,0BAAA6C;AAAA,IACA,WAAAlC;AAAA,IACA,UAAAmC;AAAA,IACA,sBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAA/hD;AAAA,IACA,cAAA1U;AAAA,IACA,oBAAAkzD;AAAA,IACA,aAAAwD;AAAA,IACA,YAAArC;AAAA,IACA,WAAAF;AAAA,IACA,kBAAAQ;AAAA,IACA,qBAAApB;AAAA,IACA,oBAAAoD;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,gBAAAxG;AAAA,IACA,oBAAAyG;AAAA,IACA,gBAAA7D;AAAA,IACA,YAAAqB;AAAA,IACA,oBAAAnB;AAAA,IACA,cAAA4D;AAAA,IACA,iBAAAC;AAAA,EACD,IAAG92F;AACJ,SAAO;AAAA,IAAC;AAAA,MACN,CAACk+B,IAAe,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAE,GAAEzB,GAAez8B,CAAK,CAAC,GAAGqyF,GAAgBryF,GAAOu2B,GAAekD,GAAUq8D,CAAsB,CAAC,GAAG;AAAA,QAC9J,UAAU;AAAA,QACV,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,YAAY5B;AAAA,QACZ,YAAY;AAAA,QACZ,QAAQ,GAAGv7D,OAAeu6D,KAAY6C;AAAA,QACtC,cAAAr9D;AAAA,QACA,YAAY,UAAUs6D,iBAAiCA;AAAA,QACvD,sBAAsB,OAAO,OAAO,CAAE,GAAEnD,GAAc7vF,CAAK,CAAC;AAAA,QAC5D,aAAa,OAAO,OAAO,CAAE,GAAE8vF,GAAe9vF,CAAK,CAAC;AAAA,QACpD,CAAC,IAAIk+B,eAA0B;AAAA,UAC7B,YAAYy1D;AAAA,UACZ,aAAaoC;AAAA,UACb,QAAQ;AAAA,UACR,CAAC,GAAG73D,aAAwB;AAAA,YAC1B,OAAOw1D;AAAA,UACR;AAAA,QACF;AAAA,QACD,CAAC,IAAIx1D,iBAA4B;AAAA,UAC/B,iBAAiB;AAAA,UACjB,aAAa;AAAA,UACb,WAAW;AAAA,QACZ;AAAA,QAED,CAAC,GAAGA,YAAuB;AAAA,UACzB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,WAAW,OAAO,OAAO,OAAO,OAAO,IAAIoyD,GAAmBtwF,CAAK,CAAC,GAAG;AAAA,YACrE,MAAM;AAAA,YAGN,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,QAAQ;AAAA,YACR,WAAW;AAAA,cACT,WAAW;AAAA,YACZ;AAAA,YACD,eAAe;AAAA,cACb,YAAY;AAAA,YACb;AAAA,UACX,CAAS;AAAA,UACD,WAAW;AAAA,YACT,CAAC,GAAGk+B,YAAuB;AAAA,cACzB,SAAS;AAAA,YACV;AAAA,UACF;AAAA,UACD,iBAAiB;AAAA,YACf,WAAW;AAAA,cACT,OAAO83D;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QAED,WAAW,OAAO,OAAO,OAAO,OAAO,CAAA,GAAI3D,GAAgBryF,GAAOi2F,GAAiBhG,GAAY6F,CAAsB,CAAC,GAAG;AAAA,UACvH,CAAC,GAAG53D,oBAA+B;AAAA,YACjC,UAAU+xD;AAAA,UACX;AAAA,QACT,CAAO;AAAA,QACD,WAAW,OAAO,OAAO,IAAIoC,GAAgBryF,GAAOqzF,GAAiB55D,GAAUy8D,CAAwB,CAAC;AAAA,QACxG,CAAC,GAAGh4D,aAAwB;AAAA,UAC1B,SAAS;AAAA,UACT,MAAM;AAAA,UACN,WAAW;AAAA,UACX,mBAAmB81D,IAAY;AAAA,UAC/B,OAAON;AAAA,UACP,YAAY;AAAA,UACZ,eAAe;AAAA,UACf,OAAO;AAAA,YACL,eAAe;AAAA,YACf,sBAAsB;AAAA,cACpB,iBAAiByC;AAAA,YAClB;AAAA,UACF;AAAA,QACF;AAAA,QACD,CAAC,GAAGj4D,YAAuB;AAAA,UACzB,UAAU;AAAA,UACV,KAAK;AAAA,UACL,gBAAgB;AAAA,UAChB,OAAOw1D;AAAA,UACP,YAAY;AAAA,UACZ,YAAYQ;AAAA,UACZ,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,YAAY,WAAWlB,YAA4BA;AAAA,UACnD,OAAO;AAAA,YACL,eAAe;AAAA,UAChB;AAAA,UACD,WAAW;AAAA,YACT,OAAOoD;AAAA,UACR;AAAA,QACF;AAAA,QACD,CAAC,GAAGl4D,gBAA2B;AAAA,UAC7B,UAAU;AAAA,UACV,SAAS;AAAA,UACT,OAAO;AAAA,UACP,QAAQ+xD;AAAA,UACR,OAAOyD;AAAA,UACP,UAAUzD;AAAA,UACV,eAAe;AAAA,UACf,QAAQ;AAAA,UACR,CAAC,GAAG/xD,gBAA2B;AAAA,YAC7B,OAAOk4D;AAAA,UACR;AAAA,UACD,CAAC,GAAGl4D,wBAAmC;AAAA,YACrC,CAAC,GAAGA,iBAA4B;AAAA,cAC9B,QAAQ;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,QAED,WAAW;AAAA,UACT,UAAU;AAAA,UACV,SAAS;AAAA,UAET,CAAC,GAAGA,YAAuB;AAAA,YACzB,gBAAgB43D;AAAA,UACjB;AAAA,UACD,WAAW;AAAA,YACT,CAAC,GAAG53D,YAAuB;AAAA,cACzB,SAAS;AAAA,YACV;AAAA,UACF;AAAA,UAED,CAAC,GAAGA,iBAA4B;AAAA,YAC9B,QAAQ,CAACvF;AAAA,YACT,QAAQ09D;AAAA,YACR,mBAAmBP;AAAA,YACnB,YAAYl2D;AAAA,YACZ,SAAS;AAAA,YACT,YAAY,OAAOkzD;AAAA,YACnB,eAAe;AAAA,UAChB;AAAA,UACD,CAAC,IAAI50D,cAAyB;AAAA,YAC5B,CAAC,GAAGA,iBAA4B;AAAA,cAC9B,SAAS;AAAA,YACV;AAAA,UACF;AAAA,UACD,CAAC,GAAGA,sBAAiC;AAAA,YACnC,YAAY;AAAA,YACZ,SAAS,KAAK81D;AAAA,YACd,YAAY;AAAA,UACb;AAAA,UACD,CAAC,IAAI91D,YAAuB;AAAA,YAC1B,CAAC,GAAGA,YAAuB;AAAA,cACzB,gBAAgBg4D;AAAA,YACjB;AAAA,YACD,CAAC,GAAGh4D,iBAA4B;AAAA,cAC9B,mBAAmBg4D;AAAA,YACpB;AAAA,UACF;AAAA,QACF;AAAA,QAED,cAAc,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,GAAIz5D,GAAez8B,CAAK,CAAC,GAAG4zF,GAAc5zF,CAAK,CAAC,GAAG;AAAA,UACzG,UAAU;AAAA,UAGV,KAAK;AAAA,UACL,MAAM;AAAA,YACJ,cAAc;AAAA,YACd,OAAO;AAAA,UACR;AAAA,UACD,QAAQs2F;AAAA,UACR,CAAC,IAAIp4D,sBAAiC;AAAA,YACpC,SAAS;AAAA,UACV;AAAA,UACD,CAAC,IAAIA,oCAA+C;AAAA,YAClD,CAAC,GAAGA,kBAA6B;AAAA,cAC/B,KAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAW;AAAA,YACZ;AAAA,UACF;AAAA,UACD,CAAC,IAAIA,iCAA4C;AAAA,YAC/C,CAAC,GAAGA,kBAA6B;AAAA,cAC/B,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,WAAW;AAAA,YACZ;AAAA,UACF;AAAA,UACD,CAAC,IAAIwzD,mBAAwBA,0BAA+BxzD;AAAA,aACvDwzD,mBAAwBA,0BAA+BxzD;AAAA,aACvDwzD,oBAAyBA,2BAAgCxzD;AAAA,aACzDwzD,oBAAyBA,2BAAgCxzD,kCAA6C;AAAA,YACzG,eAAe2zD;AAAA,UAChB;AAAA,UACD,CAAC,IAAIH,mBAAwBA,0BAA+BxzD;AAAA,aACvDwzD,mBAAwBA,0BAA+BxzD;AAAA,aACvDwzD,oBAAyBA,2BAAgCxzD;AAAA,aACzDwzD,oBAAyBA,2BAAgCxzD,qCAAgD;AAAA,YAC5G,eAAeyzD;AAAA,UAChB;AAAA,UACD,CAAC,IAAID,mBAAwBA,0BAA+BxzD;AAAA,aACvDwzD,mBAAwBA,0BAA+BxzD,kCAA6C;AAAA,YACvG,eAAe4zD;AAAA,UAChB;AAAA,UACD,CAAC,IAAIJ,mBAAwBA,0BAA+BxzD;AAAA,aACvDwzD,mBAAwBA,0BAA+BxzD,qCAAgD;AAAA,YAC1G,eAAe0zD;AAAA,UAChB;AAAA,UAED,CAAC,GAAG1zD,aAAwBA,iBAA4B;AAAA,YACtD,YAAY+1D;AAAA,UACb;AAAA,UAED,CAAC,GAAG/1D,aAAwB;AAAA,YAC1B,cAAc;AAAA,YACd,SAAS,GAAG+1D,OAAgBF;AAAA,YAC5B,UAAU;AAAA,YACV,YAAY,GAAGQ,IAAmB,IAAI57D,IAAYq7D,IAAY;AAAA,YAC9D,WAAW;AAAA,YACX,WAAW;AAAA,YACX,SAAS;AAAA,YACT,gBAAgB;AAAA,YAChB,QAAQ;AAAA,cACN,SAAS;AAAA,YACV;AAAA,YAED,CAAC,GAAG91D,cAAyBwzD,eAAoB;AAAA,cAC/C,OAAO9xD;AAAA,cACP,YAAYuzD;AAAA,cACZ,aAAaoD;AAAA,cACb,QAAQ;AAAA,YACT;AAAA,YACD,CAAC,GAAGr4D,SAAoB;AAAA,cACtB,mBAAmB;AAAA,YACpB;AAAA,UACF;AAAA,UACD,CAAC,GAAGA,oBAA+B;AAAA,YACjC,SAAS;AAAA,YACT,UAAU;AAAA,UACX;AAAA,UACD,CAAC,GAAGA,kBAA6B,OAAO,OAAO;AAAA,YAC7C,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,mBAAmB43D,IAAyB;AAAA,YAC5C,YAAY,QAAQhD;AAAA,UAC9B,GAAWv3D,GAAai7D,GAAgBC,GAAgBC,GAAmBC,GAAiBd,CAAqB,CAAC;AAAA,UAC1G,CAAC,GAAG33D,sBAAiC;AAAA,YACnC,UAAU;AAAA,YACV,eAAe;AAAA,YACf,YAAYy4D;AAAA,YACZ,cAAcxG;AAAA,YACd,WAAWyG;AAAA,YACX,YAAY,UAAU9D;AAAA,YAEtB,CAAC,GAAG50D,mBAA8B;AAAA,cAChC,SAAS;AAAA,cACT,UAAU;AAAA,cACV,YAAY;AAAA,YACb;AAAA,YAED,CAAC,GAAGA,cAAyB;AAAA,cAC3B,SAAS;AAAA,cACT,eAAe;AAAA,cACf,UAAU24D;AAAA,cACV,UAAUC;AAAA,cACV,IAAI;AAAA,gBACF,QAAQ;AAAA,gBACR,MAAM;AAAA,gBACN,WAAW;AAAA,gBACX,UAAU;AAAA,gBACV,QAAQ;AAAA,gBACR,SAAS9C;AAAA,gBACT,iBAAiB,GAAGr7D,OAAeu6D,KAAYkB;AAAA,gBAC/C,IAAI,OAAO,OAAO,OAAO,OAAO,CAAA,GAAI53D,EAAY,GAAG;AAAA,kBACjD,cAAcu2D;AAAA,kBACd,eAAeiB;AAAA,kBACf,eAAeX,IAAkB,KAAK,MAAM55D,IAAW6a,CAAU,KAAK;AAAA,kBACtE,QAAQ;AAAA,kBACR,YAAY,OAAOw+C;AAAA,kBACnB,QAAQ;AAAA,oBACN,WAAWqD;AAAA,kBACZ;AAAA,kBACD,WAAW;AAAA,oBACT,YAAYlD;AAAA,kBACb;AAAA,gBACjB,CAAe;AAAA,cACF;AAAA,YACF;AAAA,YAED,CAAC,GAAG/0D,aAAwB;AAAA,cAC1B,SAAS;AAAA,cACT,UAAU;AAAA,cACV,WAAW;AAAA,cACX,CAAC,GAAGA,YAAuB;AAAA,gBACzB,aAAa,OAAOvF;AAAA,cACrB;AAAA,cACD,gBAAgB;AAAA,gBACd,CAAC,GAAGuF,YAAuB;AAAA,kBACzB,aAAa;AAAA,gBACd;AAAA,cACF;AAAA,YACF;AAAA,YACD,CAAC,GAAGA,YAAuB;AAAA,cACzB,eAAe;AAAA,cACf,YAAY;AAAA,cACZ,cAAc;AAAA,cACd,aAAa;AAAA,cACb,CAAC,GAAGA;AAAA,qBACK;AAAA,gBACP,WAAW;AAAA,cACZ;AAAA,cACD,aAAa;AAAA,gBACX,aAAa63D;AAAA,cACd;AAAA,YACF;AAAA,UACF;AAAA,QACT,CAAO;AAAA,QACD,oBAAoB;AAAA,UAClB,SAAS,GAAGS,IAAiB,IAAI;AAAA,UACjC,YAAY;AAAA,YACV,SAAS;AAAA,UACV;AAAA,QACF;AAAA,QACD,SAAS;AAAA,UACP,WAAW;AAAA,UACX,CAAC,GAAGt4D,gBAA2B;AAAA,YAC7B,WAAW;AAAA,UACZ;AAAA,UACD,CAAC,GAAGA,aAAwB;AAAA,YAC1B,WAAW;AAAA,cACT,WAAW;AAAA,YACZ;AAAA,UACF;AAAA,QACF;AAAA,MACP,CAAK;AAAA,IACF;AAAA,IAEDk0D,GAAgBpyF,GAAO,UAAU;AAAA,IAAGoyF,GAAgBpyF,GAAO,YAAY;AAAA,IAAGyxF,GAAezxF,GAAO,SAAS;AAAA,IAAGyxF,GAAezxF,GAAO,WAAW;AAAA,EAAC;AAChJ,GACa+2F,KAAuB,CAAA/2F,MAAS;AAE3C,QAAM;AAAA,IACJ,cAAAk+B;AAAA,IACA,iBAAA+3D;AAAA,IACA,iBAAA5C;AAAA,IACA,cAAAzzD;AAAA,IACA,YAAAq0D;AAAA,EACD,IAAGj0F;AACJ,SAAO;AAAA,IACL,eAAe,GAAGk+B;AAAA,IAClB,oBAAoB,GAAGA;AAAA,IACvB,kBAAkB+3D;AAAA,IAClB,sBAAsB5C,IAAkB;AAAA,IACxC,uBAAuBA;AAAA,IACvB,iCAAiC,IAAIvgE,GAAU8M,CAAY,EAAE,QAAQ,EAAE,EAAE,YAAa;AAAA,IACtF,oCAAoC,IAAI9M,GAAU8M,CAAY,EAAE,QAAQ,EAAE,EAAE,YAAa;AAAA,IACzF,kCAAkCq2D,IAAkB;AAAA,IACpD,0BAA0BA,IAAkB;AAAA,IAC5C,6BAA6B,KAA4B;AAAA,IACzD,4BAA4BA,IAAkB;AAAA,IAC9C;AAAA,IACA,iCAAiCA,IAAkB;AAAA,IACnD,2BAA2BhC;AAAA,IAC3B,qBAAqB;AAAA,IACrB,uBAAuB;AAAA,IACvB,8BAA8B;AAAA,EAClC;AACA,GAEAnnD,KAAexP,GAAsB,cAAc,CAAAt9B,MAAS;AAC1D,QAAMg3F,IAAc74D,GAAWoyD,GAAevwF,CAAK,GAAG+2F,GAAqB/2F,CAAK,CAAC;AACjF,SAAO;AAAA,IAAC41F,GAAeoB,CAAW;AAAA,IAAGzB,GAAqByB,CAAW;AAAA,IAIrExkD,GAAoBxyC,GAAO;AAAA,MACzB,YAAY,GAAGA,EAAM;AAAA,IACtB,CAAA;AAAA,EAAC;AACJ,GAAG,CAAAA,OAAU;AAAA,EACX,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,aAAaA,EAAM,kBAAkB;AACvC,EAAE;AC7oCF,IAAI66B,KAASC,cAAQA,WAAK,UAAU,SAAUtwC,GAAG3F,GAAG;AAClD,MAAIwP,IAAI,CAAA;AACR,WAAS/P,KAAKkG;AAAG,IAAI,OAAO,UAAU,eAAe,KAAKA,GAAGlG,CAAC,KAAKO,EAAE,QAAQP,CAAC,IAAI,MAAG+P,EAAE/P,KAAKkG,EAAElG;AAC9F,MAAIkG,KAAK,QAAQ,OAAO,OAAO,yBAA0B;AAAY,aAASyE,IAAI,GAAG3K,IAAI,OAAO,sBAAsBkG,CAAC,GAAGyE,IAAI3K,EAAE,QAAQ2K;AACtI,MAAIpK,EAAE,QAAQP,EAAE2K,EAAE,IAAI,KAAK,OAAO,UAAU,qBAAqB,KAAKzE,GAAGlG,EAAE2K,EAAE,MAAGoF,EAAE/P,EAAE2K,MAAMzE,EAAElG,EAAE2K;AAEhG,SAAOoF;AACT;AAqBe,SAAS4iG,GAAoBz8C,GAAgB;AAoH1D,SAnHiC,gBAAA9oD,GAAW,CAAC1I,GAAOwE,MAAQ;AAC1D,UAAM;AAAA,MACF,WAAW4vC;AAAA,MACX,mBAAmB85D;AAAA,MACnB,WAAAxmG;AAAA,MACA,WAAA2jE;AAAA,MACA,MAAM7e;AAAA,MACN,UAAUC;AAAA,MACV,UAAA0hD,IAAW;AAAA,MACX,aAAArT;AAAA,MACA,gBAAAxI;AAAA,MACA,mBAAAgE;AAAA,MACA,QAAQiQ;AAAA,IAChB,IAAUvmG,GACJu8B,IAAYsV,GAAO7xC,GAAO,CAAC,aAAa,qBAAqB,aAAa,aAAa,QAAQ,YAAY,YAAY,eAAe,kBAAkB,qBAAqB,QAAQ,CAAC,GAClLouG,IAAWpyG,EAAM,OAAO,IAAI,GAC5B;AAAA,MACJ,cAAA04C;AAAA,MACA,WAAA0P;AAAA,MACA,mBAAAwwC;AAAA,IACN,IAAQpvD,GAAW6O,EAAa,GACtBG,IAAYE,EAAa,UAAUN,CAAkB,GACrD;AAAA,MACJ,aAAA0Z;AAAA,MACA,uBAAAxJ;AAAA,IACN,IAAQH,GAAsB3P,GAAW4P,CAAS,GACxC;AAAA,MACJ,QAAA/mD;AAAA,MACA,UAAA05D;AAAA,MACA,QAAArD;AAAA,IACD,IAAG1zD,GACE40C,IAAgBF,KAChB,CAACoY,GAASxzC,CAAM,IAAIwqC,GAAStP,CAAS;AAC5C,QAAI65D,IAA0B,CAAA;AAC9B,IAAAA,IAA0B,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAE,GAAEA,CAAuB,GAAGt3C,IAAWu3C,GAAa,OAAO,OAAO;AAAA,MACtI,QAAAjxG;AAAA,MACA,QAAAq2D;AAAA,IACD,GAAEqD,CAAQ,CAAC,IAAI,CAAE,CAAA,GAAGrD,MAAW,SAAS46C,GAAa,OAAO,OAAO,OAAO,OAAO;AAAA,MAChF,QAAAjxG;AAAA,IACD,GAAE2C,CAAK,GAAG;AAAA,MACT,QAAA0zD;AAAA,IACN,CAAK,CAAC,IAAI,CAAA,CAAE,GAEJ,QAAQ,IAAI,aAAa,gBAC3B,QAAQ,IAAI,aAAa,gBAAelpD,GAAQ,CAAC8rF,GAAmB,0BAA0B,yEAAyE;AAGzK,UAAM94E,IAAOxhB,EAAM,WAAWu6C,EAAW,GACnCg4D,IAAazgD,KAAetB,KAAiBhvC,GAE7C1V,IAAW9L,EAAM,WAAWq6C,EAAe,GAC3C0W,IAAiBN,KAAwE3kD,GAEzF0mG,IAAkBhpE,GAAW0gE,EAAoB,GACjD;AAAA,MACJ,aAAAE;AAAA,MACA,QAAQE;AAAA,MACR,cAAAmI;AAAA,IACD,IAAGD,GACEzR,IAA0B,gBAAA/gG,EAAM,cAAcA,EAAM,UAAU,MAAM03D,MAAW,SAAsB,gBAAA13D,EAAM,cAAc4yD,IAAqB,IAAI,IAAiB,gBAAA5yD,EAAM,cAAcyyD,IAAkB,IAAI,GAAG23C,KAAeqI,CAAY;AACjP,WAAAlkC,GAAoB/lE,GAAK,OAAO;AAAA,MAC9B,OAAO,MAAM;AACX,YAAIyiC;AACJ,gBAAQA,IAAKmnE,EAAS,aAAa,QAAQnnE,MAAO,SAAS,SAASA,EAAG,MAAK;AAAA,MAC7E;AAAA,MACD,MAAM,MAAM;AACV,YAAIA;AACJ,gBAAQA,IAAKmnE,EAAS,aAAa,QAAQnnE,MAAO,SAAS,SAASA,EAAG,KAAI;AAAA,MAC5E;AAAA,IACF,EAAC,GACK6lB,EAAsB,gBAAA9wD,EAAM,cAAc8qC,IAAgB;AAAA,MAC/D,eAAe;AAAA,MACf,eAAeP;AAAA,IAChB,GAAE,CAAAmoE,MAAiB;AAClB,YAAMvoE,KAAS,OAAO,OAAO,OAAO,OAAO,CAAE,GAAEuoE,CAAa,GAAG1uG,EAAM,MAAM;AAC3E,aAAoB,gBAAAhE,EAAM,cAAc2yG,IAAe,OAAO,OAAO;AAAA,QACnE,WAAwB,gBAAA3yG,EAAM,cAAc,QAAQ;AAAA,UAClD,cAAc;AAAA,UACd,WAAW,GAAGw4C;AAAA,QACf,GAAe,gBAAAx4C,EAAM,cAAckzD,IAAmB,IAAI,CAAC;AAAA,QAC5D,UAAUnC;AAAA,QACV,KAAKqhD;AAAA,QACL,eAAezH,GAA6BviD,GAAWinB,CAAS;AAAA,QAChE,aAAaq7B,GAAoBvgE,IAAQutB,GAAQonC,CAAW;AAAA,QAC5D,YAAYiC;AAAA,QACZ,WAAwB,gBAAA/gG,EAAM,cAAc+yD,IAAmB,IAAI;AAAA,QACnE,UAAuB,gBAAA/yD,EAAM,cAAc,QAAQ;AAAA,UACjD,WAAW,GAAGw4C;AAAA,QACxB,CAAS;AAAA,QACD,UAAuB,gBAAAx4C,EAAM,cAAc,QAAQ;AAAA,UACjD,WAAW,GAAGw4C;AAAA,QACxB,CAAS;AAAA,QACD,eAA4B,gBAAAx4C,EAAM,cAAc,QAAQ;AAAA,UACtD,WAAW,GAAGw4C;AAAA,QACxB,CAAS;AAAA,QACD,eAA4B,gBAAAx4C,EAAM,cAAc,QAAQ;AAAA,UACtD,WAAW,GAAGw4C;AAAA,QACxB,CAAS;AAAA,QACD,YAAY;AAAA,QACZ,gBAAgB,GAAGI;AAAA,MAC3B,GAASrY,GAAW8xE,GAAyB;AAAA,QACrC,WAAWhlG,GAAW;AAAA,UACpB,CAAC,GAAGmrC,KAAa+5D,MAAeA;AAAA,UAChC,CAAC,GAAG/5D,iBAAyB,CAAC25D;AAAA,QAC/B,GAAEhI,GAAoB3xD,GAAW6xD,GAAgBC,GAAeC,CAAY,GAAGH,CAAW,GAAG9sF,GAAQgrC,GAAuB58C,CAAS;AAAA,QACtI,QAAQy+B,GAAO;AAAA,QACf,WAAWqO;AAAA,QACX,mBAAmB05D,KAA2BtZ;AAAA,QAC9C,gBAAgBpjC;AAAA,QAChB,YAAYo9C;AAAA,QACZ,WAAWxqD;AAAA,QACX,mBAAmB/6C,GAAWiQ,GAAQg5E,KAAkBgE,CAAiB;AAAA,MAC1E,CAAA,CAAC;AAAA,IACH,CAAA,CAAC;AAAA,EACN,CAAG;AAEH;ACjJA,IAAIzkD,KAASC,cAAQA,WAAK,UAAU,SAAUtwC,GAAG3F,GAAG;AAClD,MAAIwP,IAAI,CAAA;AACR,WAAS/P,KAAKkG;AAAG,IAAI,OAAO,UAAU,eAAe,KAAKA,GAAGlG,CAAC,KAAKO,EAAE,QAAQP,CAAC,IAAI,MAAG+P,EAAE/P,KAAKkG,EAAElG;AAC9F,MAAIkG,KAAK,QAAQ,OAAO,OAAO,yBAA0B;AAAY,aAASyE,IAAI,GAAG3K,IAAI,OAAO,sBAAsBkG,CAAC,GAAGyE,IAAI3K,EAAE,QAAQ2K;AACtI,MAAIpK,EAAE,QAAQP,EAAE2K,EAAE,IAAI,KAAK,OAAO,UAAU,qBAAqB,KAAKzE,GAAGlG,EAAE2K,EAAE,MAAGoF,EAAE/P,EAAE2K,MAAMzE,EAAElG,EAAE2K;AAEhG,SAAOoF;AACT;AAoBe,SAASwjG,GAAer9C,GAAgB;AACrD,WAASs9C,EAAUp7C,GAAQ/0D,GAAa;AACtC,UAAMw+F,IAAsB,gBAAAz0F,GAAW,CAAC1I,GAAOwE,MAAQ;AACrD,YAAM;AAAA,QACF,WAAW4vC;AAAA,QACX,mBAAmB26D;AAAA,QACnB,WAAArnG;AAAA,QACA,MAAM8kD;AAAA,QACN,UAAA2hD,IAAW;AAAA,QACX,WAAA9iC;AAAA,QACA,aAAAyvB;AAAA,QACA,gBAAAxI;AAAA,QACA,mBAAAgE;AAAA,QACA,UAAU7pC;AAAA,QACV,QAAQ85C;AAAA,MAClB,IAAYvmG,GACJu8B,IAAYsV,GAAO7xC,GAAO,CAAC,aAAa,qBAAqB,aAAa,QAAQ,YAAY,aAAa,eAAe,kBAAkB,qBAAqB,YAAY,QAAQ,CAAC,GAClL;AAAA,QACJ,cAAA00C;AAAA,QACA,WAAA0P;AAAA,QACA,mBAAAwwC;AAAA,MACR,IAAUpvD,GAAW6O,EAAa,GACtBG,IAAYE,EAAa,UAAUN,CAAkB,GACrD;AAAA,QACJ,aAAA0Z;AAAA,QACA,uBAAAxJ;AAAA,MACR,IAAUH,GAAsB3P,GAAW4P,CAAS,GACxCgqD,IAAWpyG,EAAM,OAAO,IAAI,GAC5B;AAAA,QACJ,QAAAqB;AAAA,QACA,UAAA05D;AAAA,MACD,IAAG/2D,GACE,CAAC8sD,GAASxzC,CAAM,IAAIwqC,GAAStP,CAAS;AAC5C,MAAA+1B,GAAoB/lE,GAAK,OAAO;AAAA,QAC9B,OAAO,MAAM;AACX,cAAIyiC;AACJ,kBAAQA,IAAKmnE,EAAS,aAAa,QAAQnnE,MAAO,SAAS,SAASA,EAAG,MAAK;AAAA,QAC7E;AAAA,QACD,MAAM,MAAM;AACV,cAAIA;AACJ,kBAAQA,IAAKmnE,EAAS,aAAa,QAAQnnE,MAAO,SAAS,SAASA,EAAG,KAAI;AAAA,QAC5E;AAAA,MACF,EAAC;AACF,YAAM+nE,IAAkB;AAAA,QACtB,WAAW;AAAA,MACnB;AACM,UAAIX,IAA0B,CAAA;AAC9B,MAAI36C,MACF26C,EAAwB,SAAS36C;AAEnC,YAAMu7C,IAAev7C,KAAU1zD,EAAM;AACrC,MAAAquG,IAA0B,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAE,GAAEA,CAAuB,GAAGt3C,IAAWu3C,GAAa,OAAO,OAAO;AAAA,QACtI,QAAAjxG;AAAA,QACA,QAAQ4xG;AAAA,MACT,GAAEl4C,CAAQ,CAAC,IAAI,CAAE,CAAA,GAAGk4C,MAAiB,SAASX,GAAa,OAAO,OAAO,OAAO,OAAO;AAAA,QACtF,QAAAjxG;AAAA,MACD,GAAE2C,CAAK,GAAG;AAAA,QACT,QAAQivG;AAAA,MAChB,CAAO,CAAC,IAAI,CAAA,CAAE;AACR,YAAMr6D,IAAgBF;AAEtB,MAAI,QAAQ,IAAI,aAAa,iBAC3B,QAAQ,IAAI,aAAa,gBAAelqC,GAAQkpD,MAAW,WAAW/0D,GAAa,cAAcA,oDAA8D+0D,eAAoB,GACnL,QAAQ,IAAI,aAAa,gBAAelpD,GAAQ,CAAC8rF,GAAmB33F,KAAe,cAAc,yEAAyE;AAG5K,YAAM6e,KAAOxhB,EAAM,WAAWu6C,EAAW,GACnCg4D,KAAazgD,KAAetB,KAAiBhvC,IAE7C1V,KAAW9L,EAAM,WAAWq6C,EAAe,GAC3C0W,KAAiBN,KAAwE3kD,IAEzF0mG,KAAkBhpE,GAAW0gE,EAAoB,GACjD;AAAA,QACJ,aAAAE;AAAA,QACA,QAAQE;AAAA,QACR,cAAAmI;AAAA,MACD,IAAGD,IACEzR,IAA0B,gBAAA/gG,EAAM,cAAcA,EAAM,UAAU,MAAMizG,MAAiB,SAAsB,gBAAAjzG,EAAM,cAAc4yD,IAAqB,IAAI,IAAiB,gBAAA5yD,EAAM,cAAcyyD,IAAkB,IAAI,GAAG23C,MAAeqI,EAAY;AACvP,aAAO3hD,EAAsB,gBAAA9wD,EAAM,cAAc8qC,IAAgB;AAAA,QAC/D,eAAe;AAAA,QACf,eAAeP;AAAA,MAChB,GAAE,CAAAmoE,MAAiB;AAClB,cAAMvoE,KAAS,OAAO,OAAO,OAAO,OAAO,CAAE,GAAEuoE,CAAa,GAAG1uG,EAAM,MAAM;AAC3E,eAAoB,gBAAAhE,EAAM,cAAckzG,IAAU,OAAO,OAAO;AAAA,UAC9D,KAAKd;AAAA,UACL,aAAa5H,GAAergE,IAAQ8oE,GAAcnU,CAAW;AAAA,UAC7D,YAAYiC;AAAA,UACZ,eAAe4J,GAA6BviD,GAAWinB,CAAS;AAAA,UAChE,WAAwB,gBAAArvE,EAAM,cAAc+yD,IAAmB,IAAI;AAAA,UACnE,UAAuB,gBAAA/yD,EAAM,cAAc,QAAQ;AAAA,YACjD,WAAW,GAAGw4C;AAAA,UAC1B,CAAW;AAAA,UACD,UAAuB,gBAAAx4C,EAAM,cAAc,QAAQ;AAAA,YACjD,WAAW,GAAGw4C;AAAA,UAC1B,CAAW;AAAA,UACD,eAA4B,gBAAAx4C,EAAM,cAAc,QAAQ;AAAA,YACtD,WAAW,GAAGw4C;AAAA,UAC1B,CAAW;AAAA,UACD,eAA4B,gBAAAx4C,EAAM,cAAc,QAAQ;AAAA,YACtD,WAAW,GAAGw4C;AAAA,UAC1B,CAAW;AAAA,UACD,YAAY;AAAA,UACZ,gBAAgB,GAAGI;AAAA,QAC7B,GAAWo6D,GAAiBzyE,GAAW8xE,GAAyB;AAAA,UACtD,QAAQloE,GAAO;AAAA,UACf,WAAW98B,GAAW;AAAA,YACpB,CAAC,GAAGmrC,KAAa+5D,OAAeA;AAAA,YAChC,CAAC,GAAG/5D,iBAAyB,CAAC25D;AAAA,UAC/B,GAAEhI,GAAoB3xD,GAAW6xD,GAAgBC,IAAeC,CAAY,GAAGH,EAAW,GAAG9sF,GAAQgrC,GAAuB58C,CAAS;AAAA,UACtI,WAAW8sC;AAAA,UACX,mBAAmBu6D,KAA8Bna;AAAA,UACjD,gBAAgBpjC;AAAA,UAChB,YAAYo9C;AAAA,UACZ,WAAWxqD;AAAA,UACX,UAAU2I;AAAA,UACV,mBAAmB1jD,GAAWiQ,GAAQg5E,KAAkBgE,CAAiB;AAAA,QAC1E,CAAA,CAAC;AAAA,MACH,CAAA,CAAC;AAAA,IACR,CAAK;AACD,WAAI33F,MACFw+F,EAAO,cAAcx+F,IAEhBw+F;AAAAA,EACR;AACD,QAAM12D,IAAaqoE,KACbK,IAAaL,EAAU,QAAQ,YAAY,GAC3CM,IAAcN,EAAU,SAAS,aAAa,GAC9CO,IAAaP,EAAU,QAAQ,YAAY,GAC3C1oE,IAAa0oE,EAAU,QAAQ,YAAY,GAC3CQ,IAAgBR,EAAU,WAAW,eAAe;AAC1D,SAAO;AAAA,IACL,YAAAroE;AAAA,IACA,YAAA0oE;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAjpE;AAAA,IACA,eAAAkpE;AAAA,EACJ;AACA;ACnKO,MAAMV,KAAa;AAAA,EACxB,QAAQpgD;AACV;AACA,SAASxoC,GAAQ/F,GAAM;AACrB,SAAKA,IAGE,MAAM,QAAQA,CAAI,IAAIA,IAAO,CAACA,CAAI,IAFhC;AAGX;AACO,SAASquF,GAAatuG,GAAO;AAClC,QAAM;AAAA,IACJ,QAAA3C;AAAA,IACA,QAAAq2D;AAAA,IACA,UAAAuJ;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAnG;AAAA,EACD,IAAGh3D,GACEuvG,IAAcvpF,GAAQ3oB,CAAM,EAAE,IAC9BmyG,IAAc,OAAO,OAAO,CAAE,GAAExvG,CAAK;AAe3C,SAdIuvG,KAAe,OAAOA,KAAgB,aACpC,CAACA,EAAY,SAAS,GAAG,KAAKpyC,MAAe,WAC/CqyC,EAAY,aAAa,KAEvB,CAACD,EAAY,SAAS,GAAG,KAAKryC,MAAe,WAC/CsyC,EAAY,aAAa,KAEvB,CAACD,EAAY,SAAS,GAAG,KAAK,CAACA,EAAY,SAAS,GAAG,KAAKtyC,MAAa,WAC3EuyC,EAAY,WAAW,MAEpBD,EAAY,SAAS,GAAG,KAAKA,EAAY,SAAS,GAAG,MAAMv4C,MAAe,WAC7Ew4C,EAAY,aAAa,MAGzB97C,MAAW,SACN87C,KAEL,OAAOD,KAAgB,cAEzB,OAAOC,EAAY,QAEd;AAAA,IACL,UAAUA;AAAA,EACd;AACA;AAEA,SAASX,GAAer9C,GAAgB;AAEtC,QAAM;AAAA,IACJ,YAAA/qB;AAAA,IACA,YAAA0oE;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAjpE;AAAA,IACA,eAAAkpE;AAAA,EACJ,IAAMG,GAAqBj+C,CAAc,GAEjCy0C,IAAcgI,GAAoBz8C,CAAc,GAChDk+C,IAAmBjpE;AACzB,SAAAipE,EAAiB,aAAaP,GAC9BO,EAAiB,cAAcN,GAC/BM,EAAiB,aAAaL,GAC9BK,EAAiB,cAAczJ,GAC/ByJ,EAAiB,aAAatpE,GAC9BspE,EAAiB,gBAAgBJ,GAC1BI;AACT;;;;;;;;;;ACrEA,WAASC,EAAuBhmG,GAAK;AACnC,WAAOA,KAAOA,EAAI,aAAaA,IAAM;AAAA,MACnC,SAAWA;AAAA,IACf;AAAA,EACC;AAED,EAAApC,EAAA,UAAiBooG,GAAwBpoG,EAA4B,QAAA,aAAA,IAAMA,EAAO,QAAQ,UAAaA,EAAO;;;;;;UCJ9G,OAAO,eAAeqoG,IAAS,cAAc;AAAA,IAC3C,OAAO;AAAA,EACT,CAAC,GACWA,GAAA,OAAGhlG,GACAglG,GAAA,UAAG,QACNA,GAAA,OAAGC,GACCD,GAAA,WAAGE,GACAF,GAAA,cAAGjlG,GACPilG,GAAA,UAAGplG,GACColG,GAAA,cAAG9kG;AAGtB,MAAIP,IAAS,CAAA;AAEb,WAASC,EAAQC,GAAOC,GAAS;AAE/B,IAAI,QAAQ,IAAI,aAAa,gBAAgB,CAACD,KAAS,YAAY,UACjE,QAAQ,MAAM,YAAY,OAAOC,CAAO,CAAC;AAAA,EAE5C;AAED,WAASmlG,EAAKplG,GAAOC,GAAS;AAE5B,IAAI,QAAQ,IAAI,aAAa,gBAAgB,CAACD,KAAS,YAAY,UACjE,QAAQ,KAAK,SAAS,OAAOC,CAAO,CAAC;AAAA,EAExC;AAED,WAASC,IAAc;AACrB,IAAAJ,IAAS,CAAA;AAAA,EACV;AAED,WAASK,EAAKC,GAAQJ,GAAOC,GAAS;AACpC,IAAI,CAACD,KAAS,CAACF,EAAOG,OACpBG,EAAO,IAAOH,CAAO,GACrBH,EAAOG,KAAW;AAAA,EAErB;AAED,WAASI,EAAYL,GAAOC,GAAS;AACnC,IAAAE,EAAKJ,GAASC,GAAOC,CAAO;AAAA,EAC7B;AAED,WAASolG,EAASrlG,GAAOC,GAAS;AAChC,IAAAE,EAAKilG,GAAMplG,GAAOC,CAAO;AAAA,EAC1B;AAED,MAAIqlG,IAAWjlG;AAGf8kG,SAAAA,GAAA,UAAkBG;;;;;;;;;;;;ACpDlB,KAAC,SAASl0G,GAAEwP,GAAE;AAAsD,MAAA9D,EAAA,UAAe8D,EAAkI;AAAA,IAAA,GAAEymC,IAAM,WAAU;AAAc,aAAO,SAASj2C,GAAEwP,GAAE;AAAC,QAAAA,EAAE,UAAU,UAAQ,SAASxP,GAAE;AAAC,cAAIwP,IAAE,KAAK,QAAO,EAAG,aAAW,GAAEpF,IAAE,KAAK,IAAG5K,KAAG4K,IAAEoF,IAAEpF,IAAE,IAAEA,KAAGoF;AAAE,iBAAO,KAAK,OAAM,EAAG,EAAExP,CAAC,IAAER,IAAE,KAAK,SAASA,GAAE,KAAK,EAAE,IAAIQ,GAAE,KAAK;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC,CAAC;AAAA;;;;;;;;;;;;ACAxa,KAAC,SAASR,GAAEQ,GAAE;AAAsD,MAAA0L,YAAe1L,EAAC;AAAA,IAAoI,GAAEi2C,IAAM,WAAU;AAAc,aAAO,SAASz2C,GAAEQ,GAAEwP,GAAE;AAAC,YAAID,IAAEvP,EAAE,WAAU,IAAE,SAASR,GAAE;AAAC,iBAAOA,MAAIA,EAAE,UAAQA,IAAEA,EAAE;AAAA,QAAE,GAAEoQ,IAAE,SAASpQ,GAAEQ,GAAEwP,GAAED,GAAEK,GAAE;AAAC,cAAIxF,IAAE5K,EAAE,OAAKA,IAAEA,EAAE,QAAO,GAAGI,IAAE,EAAEwK,EAAEpK,EAAE,GAAE2F,IAAE,EAAEyE,EAAEoF,EAAE,GAAErQ,IAAES,KAAG+F,EAAE,IAAK,SAASnG,GAAE;AAAC,mBAAOA,EAAE,MAAM,GAAE+P,CAAC;AAAA,UAAC,CAAC;AAAG,cAAG,CAACK;AAAE,mBAAOzQ;AAAE,cAAIY,IAAEqK,EAAE;AAAU,iBAAOjL,EAAE,IAAK,SAASK,GAAEQ,GAAE;AAAC,mBAAOb,GAAGa,KAAGD,KAAG,MAAI;AAAA,UAAE,CAAC;AAAA,QAAE,GAAEqK,IAAE,WAAU;AAAC,iBAAOoF,EAAE,GAAGA,EAAE,OAAM;AAAA,QAAG,GAAE5P,IAAE,SAASJ,GAAEQ,GAAE;AAAC,iBAAOR,EAAE,QAAQQ,MAAI,SAASR,GAAE;AAAC,mBAAOA,EAAE,QAAQ,kCAAkC,SAASA,GAAEQ,GAAEwP,GAAE;AAAC,qBAAOxP,KAAGwP,EAAE,MAAM,CAAC;AAAA,YAAC,CAAG;AAAA,UAAA,EAAEhQ,EAAE,QAAQQ,EAAE,YAAW,EAAG;AAAA,QAAC,GAAE2F,IAAE,WAAU;AAAC,cAAInG,IAAE;AAAK,iBAAM,EAAC,QAAO,SAASQ,GAAE;AAAC,mBAAOA,IAAEA,EAAE,OAAO,MAAM,IAAE4P,EAAEpQ,GAAE,QAAQ;AAAA,UAAC,GAAE,aAAY,SAASQ,GAAE;AAAC,mBAAOA,IAAEA,EAAE,OAAO,KAAK,IAAE4P,EAAEpQ,GAAE,eAAc,UAAS,CAAC;AAAA,UAAC,GAAE,gBAAe,WAAU;AAAC,mBAAOA,EAAE,QAAS,EAAC,aAAW;AAAA,UAAC,GAAE,UAAS,SAASQ,GAAE;AAAC,mBAAOA,IAAEA,EAAE,OAAO,MAAM,IAAE4P,EAAEpQ,GAAE,UAAU;AAAA,UAAC,GAAE,aAAY,SAASQ,GAAE;AAAC,mBAAOA,IAAEA,EAAE,OAAO,IAAI,IAAE4P,EAAEpQ,GAAE,eAAc,YAAW,CAAC;AAAA,UAAC,GAAE,eAAc,SAASQ,GAAE;AAAC,mBAAOA,IAAEA,EAAE,OAAO,KAAK,IAAE4P,EAAEpQ,GAAE,iBAAgB,YAAW,CAAC;AAAA,UAAC,GAAE,gBAAe,SAASQ,GAAE;AAAC,mBAAOJ,EAAEJ,EAAE,QAAS,GAACQ,CAAC;AAAA,UAAC,GAAE,UAAS,KAAK,QAAS,EAAC,UAAS,SAAQ,KAAK,UAAU,QAAO;AAAA,QAAC;AAAE,QAAAuP,EAAE,aAAW,WAAU;AAAC,iBAAO5J,EAAE,KAAK,IAAI,EAAG;AAAA,QAAA,GAAE6J,EAAE,aAAW,WAAU;AAAC,cAAIhQ,IAAE4K;AAAI,iBAAM,EAAC,gBAAe,WAAU;AAAC,mBAAO5K,EAAE,aAAW;AAAA,UAAC,GAAE,UAAS,WAAU;AAAC,mBAAOgQ,EAAE;UAAU,GAAE,eAAc,WAAU;AAAC,mBAAOA,EAAE;UAAe,GAAE,aAAY,WAAU;AAAC,mBAAOA,EAAE,YAAa;AAAA,UAAA,GAAE,QAAO,WAAU;AAAC,mBAAOA,EAAE,OAAQ;AAAA,UAAA,GAAE,aAAY,WAAU;AAAC,mBAAOA,EAAE,YAAW;AAAA,UAAE,GAAE,gBAAe,SAASxP,GAAE;AAAC,mBAAOJ,EAAEJ,GAAEQ,CAAC;AAAA,UAAC,GAAE,UAASR,EAAE,UAAS,SAAQA,EAAE,QAAO;AAAA,QAAC,GAAEgQ,EAAE,SAAO,WAAU;AAAC,iBAAOI,EAAExF,EAAG,GAAC,QAAQ;AAAA,QAAC,GAAEoF,EAAE,cAAY,WAAU;AAAC,iBAAOI,EAAExF,EAAG,GAAC,eAAc,UAAS,CAAC;AAAA,QAAC,GAAEoF,EAAE,WAAS,SAAShQ,GAAE;AAAC,iBAAOoQ,EAAExF,EAAC,GAAG,YAAW,MAAK,MAAK5K,CAAC;AAAA,QAAC,GAAEgQ,EAAE,gBAAc,SAAShQ,GAAE;AAAC,iBAAOoQ,EAAExF,EAAG,GAAC,iBAAgB,YAAW,GAAE5K,CAAC;AAAA,QAAC,GAAEgQ,EAAE,cAAY,SAAShQ,GAAE;AAAC,iBAAOoQ,EAAExF,EAAG,GAAC,eAAc,YAAW,GAAE5K,CAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;;;;;;;;;;;;;ACA/hE,KAAC,SAASQ,GAAEwP,GAAE;AAAsD,MAAA9D,EAAe,UAAA8D,EAAqI;AAAA,IAAA,GAAEymC,IAAM,WAAU;AAAc,UAAIj2C,IAAE,QAAOwP,IAAE;AAAO,aAAO,SAASpF,GAAE5K,GAAE+P,GAAE;AAAC,YAAIpQ,IAAEK,EAAE;AAAU,QAAAL,EAAE,OAAK,SAASiL,GAAE;AAAC,cAAYA,MAAT,WAAaA,IAAE,OAAaA,MAAP;AAAS,mBAAO,KAAK,IAAI,KAAGA,IAAE,KAAK,KAAI,IAAI,KAAK;AAAE,cAAI5K,IAAE,KAAK,QAAO,EAAG,aAAW;AAAE,cAAQ,KAAK,MAAO,MAAjB,MAAmB,KAAK,KAAI,IAAG,IAAG;AAAC,gBAAIL,IAAEoQ,EAAE,IAAI,EAAE,QAAQC,CAAC,EAAE,IAAI,GAAEA,CAAC,EAAE,KAAKhQ,CAAC,GAAEmG,IAAE4J,EAAE,IAAI,EAAE,MAAMvP,CAAC;AAAE,gBAAGb,EAAE,SAASwG,CAAC;AAAE,qBAAO;AAAA,UAAC;AAAC,cAAI/F,IAAE2P,EAAE,IAAI,EAAE,QAAQC,CAAC,EAAE,KAAKhQ,CAAC,EAAE,QAAQQ,CAAC,EAAE,SAAS,GAAE,aAAa,GAAE+T,IAAE,KAAK,KAAKnU,GAAEI,GAAE,EAAE;AAAE,iBAAO+T,IAAE,IAAExE,EAAE,IAAI,EAAE,QAAQ,MAAM,EAAE,KAAI,IAAG,KAAK,KAAKwE,CAAC;AAAA,QAAC,GAAE5U,EAAE,QAAM,SAASa,GAAE;AAAC,iBAAgBA,MAAT,WAAaA,IAAE,OAAM,KAAK,KAAKA,CAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;;;;;;;;;;;;;ACAnwB,KAAC,SAASA,GAAEwP,GAAE;AAAsD,MAAA9D,EAAe,UAAA8D,EAAmI;AAAA,IAAA,GAAEymC,IAAM,WAAU;AAAc,aAAO,SAASj2C,GAAEwP,GAAE;AAAC,QAAAA,EAAE,UAAU,WAAS,WAAU;AAAC,cAAIxP,IAAE,KAAK,SAAQwP,IAAE,KAAK,KAAI,GAAGhQ,IAAE,KAAK,KAAM;AAAC,iBAAWgQ,MAAJ,KAAYxP,MAAL,KAAOR,IAAE,IAAMQ,MAAJ,KAAOwP,KAAG,KAAGhQ,IAAE,IAAEA;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;;;;;;;;;;;;;ACAvY,KAAC,SAASQ,GAAEwP,GAAE;AAAsD,MAAA9D,EAAA,UAAe8D,EAAC;AAAA,IAAwI,GAAEymC,IAAM,WAAU;AAAc,aAAO,SAASj2C,GAAEwP,GAAE;AAAC,YAAID,IAAEC,EAAE,WAAUhQ,IAAE+P,EAAE;AAAO,QAAAA,EAAE,SAAO,SAASvP,GAAE;AAAC,cAAIwP,IAAE,MAAKD,IAAE,KAAK,QAAO;AAAG,cAAG,CAAC,KAAK,QAAS;AAAC,mBAAO/P,EAAE,KAAK,IAAI,EAAEQ,CAAC;AAAE,cAAI2F,IAAE,KAAK,OAAQ,GAAC/F,KAAGI,KAAG,wBAAwB,QAAQ,+DAA+D,SAASA,GAAE;AAAC,oBAAOA,GAAG;AAAA,cAAA,KAAI;AAAI,uBAAO,KAAK,MAAMwP,EAAE,KAAG,KAAG,CAAC;AAAA,cAAE,KAAI;AAAK,uBAAOD,EAAE,QAAQC,EAAE,EAAE;AAAA,cAAE,KAAI;AAAO,uBAAOA,EAAE,SAAU;AAAA,cAAC,KAAI;AAAO,uBAAOA,EAAE,YAAW;AAAA,cAAG,KAAI;AAAK,uBAAOD,EAAE,QAAQC,EAAE,KAAM,GAAC,GAAG;AAAA,cAAE,KAAI;AAAA,cAAI,KAAI;AAAK,uBAAO7J,EAAE,EAAE6J,EAAE,KAAI,GAASxP,MAAN,MAAQ,IAAE,GAAE,GAAG;AAAA,cAAE,KAAI;AAAA,cAAI,KAAI;AAAK,uBAAO2F,EAAE,EAAE6J,EAAE,QAAO,GAASxP,MAAN,MAAQ,IAAE,GAAE,GAAG;AAAA,cAAE,KAAI;AAAA,cAAI,KAAI;AAAK,uBAAO2F,EAAE,EAAE,OAAW6J,EAAE,OAAN,IAAS,KAAGA,EAAE,EAAE,GAAQxP,MAAN,MAAQ,IAAE,GAAE,GAAG;AAAA,cAAE,KAAI;AAAI,uBAAO,KAAK,MAAMwP,EAAE,GAAG,QAAS,IAAC,GAAG;AAAA,cAAE,KAAI;AAAI,uBAAOA,EAAE,GAAG,QAAO;AAAA,cAAG,KAAI;AAAI,uBAAM,MAAIA,EAAE,WAAU,IAAG;AAAA,cAAI,KAAI;AAAM,uBAAM,MAAIA,EAAE,WAAW,MAAM,IAAE;AAAA,cAAI;AAAQ,uBAAOxP;AAAA,YAAC;AAAA,UAAC,CAAC;AAAG,iBAAOR,EAAE,KAAK,IAAI,EAAEI,CAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;;;;;;;;;;;;;ACAtkC,KAAC,SAASI,GAAEwP,GAAE;AAAsD,MAAA9D,EAAA,UAAe8D,EAA4I;AAAA,IAAA,GAAEymC,IAAM,WAAU;AAAc,UAAIj2C,IAAE,EAAC,KAAI,aAAY,IAAG,UAAS,GAAE,cAAa,IAAG,gBAAe,KAAI,uBAAsB,MAAK,4BAA2B,GAAEwP,IAAE,2FAA0FhQ,IAAE,QAAO+P,IAAE,SAAQnF,IAAE,sBAAqB2J,IAAE,CAAE,GAACpO,IAAE,SAAS3F,GAAE;AAAC,gBAAOA,IAAE,CAACA,MAAIA,IAAE,KAAG,OAAK;AAAA,MAAI,GAAMJ,IAAE,SAASI,GAAE;AAAC,eAAO,SAASwP,GAAE;AAAC,eAAKxP,KAAG,CAACwP;AAAA,QAAC;AAAA,MAAC,GAAErQ,IAAE,CAAC,uBAAsB,SAASa,GAAE;AAAC,SAAC,KAAK,SAAO,KAAK,OAAK,CAAA,IAAK,SAAO,SAASA,GAAE;AAAgB,cAAZ,CAACA,KAAoBA,MAAN;AAAQ,mBAAO;AAAE,cAAIwP,IAAExP,EAAE,MAAM,cAAc,GAAER,IAAE,KAAGgQ,EAAE,MAAI,CAACA,EAAE,MAAI;AAAG,iBAAWhQ,MAAJ,IAAM,IAAQgQ,EAAE,OAAR,MAAW,CAAChQ,IAAEA;AAAA,QAAC,EAAEQ,CAAC;AAAA,MAAC,CAAC,GAAEC,IAAE,SAASD,GAAE;AAAC,YAAIwP,IAAEuE,EAAE/T;AAAG,eAAOwP,MAAIA,EAAE,UAAQA,IAAEA,EAAE,EAAE,OAAOA,EAAE,CAAC;AAAA,MAAE,GAAEI,IAAE,SAAS5P,GAAEwP,GAAE;AAAC,YAAIhQ,GAAE+P,IAAEwE,EAAE;AAAS,YAAGxE;AAAG,mBAAQnF,IAAE,GAAEA,KAAG,IAAGA,KAAG;AAAE,gBAAGpK,EAAE,QAAQuP,EAAEnF,GAAE,GAAEoF,CAAC,CAAC,IAAE,IAAG;AAAC,cAAAhQ,IAAE4K,IAAE;AAAG;AAAA,YAAK;AAAA;AAAO,UAAA5K,IAAEQ,OAAKwP,IAAE,OAAK;AAAM,eAAOhQ;AAAA,MAAC,GAAEO,IAAE,EAAC,GAAE,CAACqK,GAAE,SAASpK,GAAE;AAAC,aAAK,YAAU4P,EAAE5P,GAAE,EAAE;AAAA,MAAC,CAAC,GAAE,GAAE,CAACoK,GAAE,SAASpK,GAAE;AAAC,aAAK,YAAU4P,EAAE5P,GAAE,EAAE;AAAA,MAAC,CAAC,GAAE,GAAE,CAAC,MAAK,SAASA,GAAE;AAAC,aAAK,eAAa,MAAI,CAACA;AAAA,MAAC,CAAC,GAAE,IAAG,CAACR,GAAE,SAASQ,GAAE;AAAC,aAAK,eAAa,KAAG,CAACA;AAAA,MAAC,CAAC,GAAE,KAAI,CAAC,SAAQ,SAASA,GAAE;AAAC,aAAK,eAAa,CAACA;AAAA,MAAC,CAAC,GAAE,GAAE,CAACuP,GAAE3P,EAAE,SAAS,CAAC,GAAE,IAAG,CAAC2P,GAAE3P,EAAE,SAAS,CAAC,GAAE,GAAE,CAAC2P,GAAE3P,EAAE,SAAS,CAAC,GAAE,IAAG,CAAC2P,GAAE3P,EAAE,SAAS,CAAC,GAAE,GAAE,CAAC2P,GAAE3P,EAAE,OAAO,CAAC,GAAE,GAAE,CAAC2P,GAAE3P,EAAE,OAAO,CAAC,GAAE,IAAG,CAAC2P,GAAE3P,EAAE,OAAO,CAAC,GAAE,IAAG,CAAC2P,GAAE3P,EAAE,OAAO,CAAC,GAAE,GAAE,CAAC2P,GAAE3P,EAAE,KAAK,CAAC,GAAE,IAAG,CAACJ,GAAEI,EAAE,KAAK,CAAC,GAAE,IAAG,CAACwK,GAAE,SAASpK,GAAE;AAAC,YAAIwP,IAAEuE,EAAE,SAAQvU,IAAEQ,EAAE,MAAM,KAAK;AAAE,YAAG,KAAK,MAAIR,EAAE,IAAGgQ;AAAE,mBAAQD,IAAE,GAAEA,KAAG,IAAGA,KAAG;AAAE,YAAAC,EAAED,CAAC,EAAE,QAAQ,UAAS,EAAE,MAAIvP,MAAI,KAAK,MAAIuP;AAAA,MAAE,CAAC,GAAE,GAAE,CAACA,GAAE3P,EAAE,OAAO,CAAC,GAAE,IAAG,CAACJ,GAAEI,EAAE,OAAO,CAAC,GAAE,KAAI,CAACwK,GAAE,SAASpK,GAAE;AAAC,YAAIwP,IAAEvP,EAAE,QAAQ,GAAET,KAAGS,EAAE,aAAa,KAAGuP,EAAE,IAAK,SAASxP,GAAE;AAAC,iBAAOA,EAAE,MAAM,GAAE,CAAC;AAAA,QAAC,CAAC,GAAI,QAAQA,CAAC,IAAE;AAAE,YAAGR,IAAE;AAAE,gBAAM,IAAI;AAAM,aAAK,QAAMA,IAAE,MAAIA;AAAA,MAAC,CAAC,GAAE,MAAK,CAAC4K,GAAE,SAASpK,GAAE;AAAC,YAAIwP,IAAEvP,EAAE,QAAQ,EAAE,QAAQD,CAAC,IAAE;AAAE,YAAGwP,IAAE;AAAE,gBAAM,IAAI;AAAM,aAAK,QAAMA,IAAE,MAAIA;AAAA,MAAC,CAAC,GAAE,GAAE,CAAC,YAAW5P,EAAE,MAAM,CAAC,GAAE,IAAG,CAACJ,GAAE,SAASQ,GAAE;AAAC,aAAK,OAAK2F,EAAE3F,CAAC;AAAA,MAAC,CAAC,GAAE,MAAK,CAAC,SAAQJ,EAAE,MAAM,CAAC,GAAE,GAAET,GAAE,IAAGA,EAAC;AAAE,eAASQ,EAAEH,GAAE;AAAC,YAAI+P,GAAEnF;AAAE,QAAAmF,IAAE/P,GAAE4K,IAAE2J,KAAGA,EAAE;AAAQ,iBAAQpO,KAAGnG,IAAE+P,EAAE,QAAQ,qCAAqC,SAASC,GAAEhQ,GAAE+P,GAAE;AAAC,cAAIwE,IAAExE,KAAGA,EAAE,YAAa;AAAC,iBAAO/P,KAAG4K,EAAEmF,MAAIvP,EAAEuP,MAAInF,EAAE2J,GAAG,QAAQ,kCAAkC,SAAS/T,GAAEwP,GAAEhQ,GAAE;AAAC,mBAAOgQ,KAAGhQ,EAAE,MAAM,CAAC;AAAA,UAAC,CAAC;AAAA,QAAE,CAAC,GAAI,MAAMgQ,CAAC,GAAE5P,IAAE+F,EAAE,QAAOxG,IAAE,GAAEA,IAAES,GAAET,KAAG,GAAE;AAAC,cAAIc,IAAE0F,EAAExG,IAAGyQ,IAAE7P,EAAEE,IAAGN,IAAEiQ,KAAGA,EAAE,IAAGtQ,IAAEsQ,KAAGA,EAAE;AAAG,UAAAjK,EAAExG,KAAGG,IAAE,EAAC,OAAMK,GAAE,QAAOL,EAAC,IAAEW,EAAE,QAAQ,YAAW,EAAE;AAAA,QAAC;AAAC,eAAO,SAASD,GAAE;AAAC,mBAAQwP,IAAE,CAAE,GAAChQ,IAAE,GAAE+P,IAAE,GAAE/P,IAAEI,GAAEJ,KAAG,GAAE;AAAC,gBAAI4K,IAAEzE,EAAEnG;AAAG,gBAAa,OAAO4K,KAAjB;AAAmB,cAAAmF,KAAGnF,EAAE;AAAA,iBAAW;AAAC,kBAAI2J,IAAE3J,EAAE,OAAMjL,IAAEiL,EAAE,QAAOnK,IAAED,EAAE,MAAMuP,CAAC,GAAEK,IAAEmE,EAAE,KAAK9T,CAAC,EAAE;AAAG,cAAAd,EAAE,KAAKqQ,GAAEI,CAAC,GAAE5P,IAAEA,EAAE,QAAQ4P,GAAE,EAAE;AAAA,YAAC;AAAA,UAAC;AAAC,iBAAO,SAAS5P,GAAE;AAAC,gBAAIwP,IAAExP,EAAE;AAAU,gBAAYwP,MAAT,QAAW;AAAC,kBAAIhQ,IAAEQ,EAAE;AAAM,cAAAwP,IAAEhQ,IAAE,OAAKQ,EAAE,SAAO,MAASR,MAAL,OAASQ,EAAE,QAAM,IAAG,OAAOA,EAAE;AAAA,YAAS;AAAA,UAAC,EAAEwP,CAAC,GAAEA;AAAA,QAAC;AAAA,MAAC;AAAC,aAAO,SAASxP,GAAEwP,GAAEhQ,GAAE;AAAC,QAAAA,EAAE,EAAE,oBAAkB,IAAGQ,KAAGA,EAAE,sBAAoB2F,IAAE3F,EAAE;AAAmB,YAAIuP,IAAEC,EAAE,WAAUpF,IAAEmF,EAAE;AAAM,QAAAA,EAAE,QAAM,SAASvP,GAAE;AAAC,cAAIwP,IAAExP,EAAE,MAAKuP,IAAEvP,EAAE,KAAI2F,IAAE3F,EAAE;AAAK,eAAK,KAAGuP;AAAE,cAAI3P,IAAE+F,EAAE;AAAG,cAAa,OAAO/F,KAAjB,UAAmB;AAAC,gBAAIT,IAAOwG,EAAE,OAAP,IAAU1F,IAAO0F,EAAE,OAAP,IAAUiK,IAAEzQ,KAAGc,GAAEF,IAAE4F,EAAE;AAAG,YAAA1F,MAAIF,IAAE4F,EAAE,KAAIoO,IAAE,KAAK,WAAU,CAAC5U,KAAGY,MAAIgU,IAAEvU,EAAE,GAAGO,KAAI,KAAK,KAAG,SAASC,GAAEwP,GAAEhQ,GAAE;AAAC,kBAAG;AAAC,oBAAG,CAAC,KAAI,GAAG,EAAE,QAAQgQ,CAAC,IAAE;AAAG,yBAAO,IAAI,MAAYA,MAAN,MAAQ,MAAI,KAAGxP,CAAC;AAAE,oBAAIuP,IAAE5P,EAAE6P,CAAC,EAAExP,CAAC,GAAEoK,IAAEmF,EAAE,MAAKwE,IAAExE,EAAE,OAAM5J,IAAE4J,EAAE,KAAI3P,IAAE2P,EAAE,OAAMpQ,KAAEoQ,EAAE,SAAQtP,KAAEsP,EAAE,SAAQK,KAAEL,EAAE,cAAaxP,KAAEwP,EAAE,MAAKjQ,KAAE,IAAI,QAAKC,KAAEoG,MAAIyE,KAAG2J,IAAE,IAAEzU,GAAE,QAAO,IAAI60G,KAAE/pG,KAAG9K,GAAE,YAAa,GAAC80G,KAAE;AAAE,gBAAAhqG,KAAG,CAAC2J,MAAIqgG,KAAErgG,IAAE,IAAEA,IAAE,IAAEzU,GAAE,SAAU;AAAE,oBAAIG,IAAEG,KAAG,GAAE0N,IAAEnO,MAAG,GAAEk1G,KAAEp0G,MAAG,GAAEJ,KAAE+P,MAAG;AAAE,uBAAO7P,KAAE,IAAI,KAAK,KAAK,IAAIo0G,IAAEC,IAAE70G,IAAEE,GAAE6N,GAAE+mG,IAAEx0G,KAAE,KAAGE,GAAE,SAAO,GAAG,CAAC,IAAEP,IAAE,IAAI,KAAK,KAAK,IAAI20G,IAAEC,IAAE70G,IAAEE,GAAE6N,GAAE+mG,IAAEx0G,EAAC,CAAC,IAAE,IAAI,KAAKs0G,IAAEC,IAAE70G,IAAEE,GAAE6N,GAAE+mG,IAAEx0G,EAAC;AAAA,cAAC,QAAC;AAAS,uBAAO,IAAI,KAAK,EAAE;AAAA,cAAC;AAAA,YAAC,EAAE2P,GAAE5P,GAAE2P,CAAC,GAAE,KAAK,KAAI,GAAGxP,KAAQA,MAAL,OAAS,KAAK,KAAG,KAAK,OAAOA,CAAC,EAAE,KAAI6P,KAAGJ,KAAG,KAAK,OAAO5P,CAAC,MAAI,KAAK,KAAG,IAAI,KAAK,EAAE,IAAGmU,IAAE,CAAA;AAAA,UAAE,WAASnU,aAAa;AAAM,qBAAQN,IAAEM,EAAE,QAAOL,IAAE,GAAEA,KAAGD,GAAEC,KAAG,GAAE;AAAC,cAAAoG,EAAE,KAAG/F,EAAEL,IAAE;AAAG,kBAAI40G,IAAE30G,EAAE,MAAM,MAAKmG,CAAC;AAAE,kBAAGwuG,EAAE,QAAO,GAAG;AAAC,qBAAK,KAAGA,EAAE,IAAG,KAAK,KAAGA,EAAE,IAAG,KAAK,KAAM;AAAC;AAAA,cAAK;AAAC,cAAA50G,MAAID,MAAI,KAAK,KAAG,IAAI,KAAK,EAAE;AAAA,YAAE;AAAA;AAAM,YAAA8K,EAAE,KAAK,MAAKpK,CAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC,CAAC;AAAA;;ACE/pH,IAAI8zG,KAAyB10G;AAE7B,OAAO,eAAek1G,IAAS,cAAc;AAAA,EAC3C,OAAO;AACT,CAAC;AACD,IAAeC,KAAAD,GAAA,UAAG,QAEdE,KAASV,GAAuBnoG,EAAgB,GAEhD8oG,KAAW94B,GAAA,GAEX+4B,KAAWZ,GAAuBl4B,GAAA,CAA+B,GAEjE+4B,KAAcb,GAAuBj4B,GAAA,CAAkC,GAEvE+4B,KAAcd,GAAuBnyB,GAAA,CAAkC,GAEvEkzB,KAAYf,GAAuBtoB,GAAA,CAAgC,GAEnEspB,KAAkBhB,GAAuB5nB,GAAA,CAAsC,GAE/E6oB,KAAqBjB,GAAuBkB,GAAA,CAAyC;AAEzFR,GAAO,QAAQ,OAAOO,GAAmB,OAAO;AAEhDP,GAAO,QAAQ,OAAOM,GAAgB,OAAO;AAE7CN,GAAO,QAAQ,OAAOE,GAAS,OAAO;AAEtCF,GAAO,QAAQ,OAAOG,GAAY,OAAO;AAEzCH,GAAO,QAAQ,OAAOI,GAAY,OAAO;AAEzCJ,GAAO,QAAQ,OAAOK,GAAU,OAAO;AAEvCL,GAAO,QAAQ,OAAO,SAAUzgG,GAAGpU,GAAG;AAEpC,MAAI8pF,IAAQ9pF,EAAE,WACVs1G,IAAYxrB,EAAM;AAEtB,EAAAA,EAAM,SAAS,SAAW+T,GAAW;AACnC,QAAIhpF,KAAOgpF,KAAa,IAAI,QAAQ,MAAM,IAAI;AAC9C,WAAOyX,EAAU,KAAK,IAAI,EAAEzgG,CAAG;AAAA,EACnC;AACA,CAAC;AAED,IAAI0gG,KAAY;AAAA,EAId,OAAO;AAAA,EACP,OAAO;AAAA,EAMP,OAAO;AAAA,EACP,OAAO;AAAA,EAKP,OAAO;AAAA,EAEP,OAAO;AAAA,EAQP,OAAO;AAAA,EAQP,QAAQ;AAAA,EAYR,OAAO;AAAA,EAGP,OAAO;AAAA,EAcP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AACT,GAEIC,KAAc,SAAqB7qE,GAAQ;AAC7C,MAAI8qE,IAAYF,GAAU5qE;AAC1B,SAAO8qE,KAAa9qE,EAAO,MAAM,GAAG,EAAE;AACxC,GAEI+qE,KAAqB,WAA8B;AAErD,MAAIZ,GAAS,UAAU,IAAO,+DAA+D;AAC/F,GAEI9+C,KAAiB;AAAA,EAEnB,QAAQ,WAAkB;AACxB,eAAW6+C,GAAO;EACnB;AAAA,EACD,cAAc,SAAsBphF,GAAQ;AAC1C,eAAWohF,GAAO,SAASphF,GAAQ,CAAC,aAAa,YAAY,CAAC;AAAA,EAC/D;AAAA,EACD,YAAY,SAAoBS,GAAM;AACpC,WAAOA,EAAK,MAAM,OAAO;AAAA,EAC1B;AAAA,EACD,YAAY,SAAoBA,GAAM;AACpC,QAAIrlB,IAAQqlB,EAAK,OAAO,IAAI;AAC5B,WAAOrlB,EAAM,QAAS,IAAGA,EAAM,WAAU,EAAG;EAC7C;AAAA,EACD,SAAS,SAAiBqlB,GAAM;AAC9B,WAAOA,EAAK;EACb;AAAA,EACD,UAAU,SAAkBA,GAAM;AAChC,WAAOA,EAAK;EACb;AAAA,EACD,SAAS,SAAiBA,GAAM;AAC9B,WAAOA,EAAK;EACb;AAAA,EACD,SAAS,SAAiBA,GAAM;AAC9B,WAAOA,EAAK;EACb;AAAA,EACD,WAAW,SAAmBA,GAAM;AAClC,WAAOA,EAAK;EACb;AAAA,EACD,WAAW,SAAmBA,GAAM;AAClC,WAAOA,EAAK;EACb;AAAA,EAED,SAAS,SAAiBA,GAAM8E,GAAM;AACpC,WAAO9E,EAAK,IAAI8E,GAAM,MAAM;AAAA,EAC7B;AAAA,EACD,UAAU,SAAkB9E,GAAM8E,GAAM;AACtC,WAAO9E,EAAK,IAAI8E,GAAM,OAAO;AAAA,EAC9B;AAAA,EACD,SAAS,SAAiB9E,GAAM8E,GAAM;AACpC,WAAO9E,EAAK,IAAI8E,GAAM,KAAK;AAAA,EAC5B;AAAA,EACD,SAAS,SAAiB9E,GAAMwjC,GAAM;AACpC,WAAOxjC,EAAK,KAAKwjC,CAAI;AAAA,EACtB;AAAA,EACD,UAAU,SAAkBxjC,GAAMyjC,GAAO;AACvC,WAAOzjC,EAAK,MAAMyjC,CAAK;AAAA,EACxB;AAAA,EACD,SAAS,SAAiBzjC,GAAMd,GAAK;AACnC,WAAOc,EAAK,KAAKd,CAAG;AAAA,EACrB;AAAA,EACD,SAAS,SAAiBc,GAAMyiC,GAAM;AACpC,WAAOziC,EAAK,KAAKyiC,CAAI;AAAA,EACtB;AAAA,EACD,WAAW,SAAmBziC,GAAM0iC,GAAQ;AAC1C,WAAO1iC,EAAK,OAAO0iC,CAAM;AAAA,EAC1B;AAAA,EACD,WAAW,SAAmB1iC,GAAM2iC,GAAQ;AAC1C,WAAO3iC,EAAK,OAAO2iC,CAAM;AAAA,EAC1B;AAAA,EAED,SAAS,SAAiByH,GAAOC,GAAO;AACtC,WAAOD,EAAM,QAAQC,CAAK;AAAA,EAC3B;AAAA,EACD,YAAY,SAAoBrqC,GAAM;AACpC,WAAOA,EAAK;EACb;AAAA,EACD,QAAQ;AAAA,IACN,iBAAiB,SAAyByW,GAAQ;AAChD,iBAAWkqE,GAAO,SAAU,EAAC,OAAOW,GAAY7qE,CAAM,CAAC,EAAE,aAAa;IACvE;AAAA,IACD,kBAAkB,SAA0BA,GAAQzW,GAAM;AACxD,aAAOA,EAAK,OAAOshF,GAAY7qE,CAAM,CAAC,EAAE,QAAQ,CAAC;AAAA,IAClD;AAAA,IACD,SAAS,SAAiBA,GAAQzW,GAAM;AACtC,aAAOA,EAAK,OAAOshF,GAAY7qE,CAAM,CAAC,EAAE;IACzC;AAAA,IACD,kBAAkB,SAA0BA,GAAQ;AAClD,iBAAWkqE,GAAO,SAAU,EAAC,OAAOW,GAAY7qE,CAAM,CAAC,EAAE,aAAa;IACvE;AAAA,IACD,gBAAgB,SAAwBA,GAAQ;AAC9C,iBAAWkqE,GAAO,SAAU,EAAC,OAAOW,GAAY7qE,CAAM,CAAC,EAAE,aAAa;IACvE;AAAA,IACD,QAAQ,SAAgBA,GAAQzW,GAAMyhF,GAAS;AAC7C,aAAOzhF,EAAK,OAAOshF,GAAY7qE,CAAM,CAAC,EAAE,OAAOgrE,CAAO;AAAA,IACvD;AAAA,IACD,OAAO,SAAehrE,GAAQ8xD,GAAMmZ,GAAS;AAG3C,eAFIC,IAAYL,GAAY7qE,CAAM,GAEzB,IAAI,GAAG,IAAIirE,EAAQ,QAAQ,KAAK,GAAG;AAC1C,YAAI/zG,IAAS+zG,EAAQ,IACjBE,IAAarZ;AAEjB,YAAI56F,EAAO,SAAS,IAAI,KAAKA,EAAO,SAAS,IAAI,GAAG;AAMlD,mBAJI61D,IAAOo+C,EAAW,MAAM,GAAG,EAAE,IAC7BC,IAAUD,EAAW,MAAM,GAAG,EAAE,IAChCE,QAAgBnB,GAAO,SAASn9C,GAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAOm+C,CAAS,GAEzE5zF,IAAI,GAAGA,KAAK,IAAIA,KAAK,GAAG;AAC/B,gBAAIg0F,IAAWD,EAAU,IAAI/zF,GAAG,MAAM;AAEtC,gBAAIg0F,EAAS,OAAO,IAAI,MAAMF;AAC5B,qBAAOE;AAAA,UAEV;AAED,iBAAAP,MACO;AAAA,QACR;AAED,YAAIxhF,QAAW2gF,GAAO,SAASiB,GAAYj0G,GAAQ,EAAI,EAAE,OAAOg0G,CAAS;AAEzE,YAAI3hF,EAAK;AACP,iBAAOA;AAAA,MAEV;AAED,aAAIuoE,KACFiZ,MAGK;AAAA,IACR;AAAA,EACF;AACH,GACInB,KAAWv+C;AACf4+C,KAAAD,GAAA,UAAkBJ;AC3PlB,MAAM,EAAE,UAAA2B,IAAU,QAAAC,GAAW,IAAAC,IAIhBC,KAAY,CAACziG,MACxB0iG,GAAmB1iG,CAAG,IAClBA,EAAI,IAAI,CAAA2iG,MACL3qG,gBAAAA,GAAA,IAAAsqG,IAAA,EAAwB,OAAOK,EAAG,OAChC,UAAGA,EAAA,QAAQ,IAAI,CAAAC,6BACbL,IAAsB,EAAA,OAAOK,EAAI,MAC/B,UAAIA,EAAA,MAAA,GADMA,EAAI,IAEjB,CACD,KALYD,EAAG,KAMlB,CACD,IACD,MAAM,QAAQ3iG,CAAG,IACjBA,EAAI,IAAI,CACN4iG,MAAA5qG,gBAAAA,GAAAA,IAACuqG,IAAsB,EAAA,OAAOK,EAAI,MAC/B,YAAI,MADM,GAAAA,EAAI,IAEjB,CACD,IAC0B,MChBpBC,KAAoB,CAAC;AAAA,EAChC,WAAAvqG;AAAA,EACA,gBAAAsB;AAAA,EACA,SAAA8jB;AAAA,EACA,OAAA5pB;AAAA,EACA,OAAA2E;AAAA,EACA,UAAAC;AAAA,EACA,UAAAoqG;AAAA,EACA,eAAAC;AAAA,EAEA,QAAQnqG;AAAA,EACR,OAAOC;AAAA,EACP,OAAOC;AAAA,EACP,MAAMC;AAAA,EACN,SAASC;AAAA,EACT,YAAYC;AAAA,EACZ,UAAU+pG;AAAA,EACV,OAAOC;AAAA,EACP,WAAWC;AAAA,KACR/pG;AACL,MAA8B;AACtB,QAAA,EAAE,UAAA00B,GAAU,KAAAtO,EAAA,IAAQ4jF,GAAiB,EAAE,gBAAAvpG,GAAgB,eAAAmpG,GAAe,UAAAD,GAAU,OAAAhvG,EAAA,CAAO,GAEvFsvG,IAAUN,IAAW,EAAE,MAAM,WAAA,IAAwB,CAAA;AAGzD,SAAA9qG,gBAAAA,GAAAA,IAAC,QAAK,EAAA,OAAAS,GAAc,WAAAH,GAClB,UAAAN,gBAAAA,GAAA;AAAA,IAACwqG;AAAA,IAAA;AAAA,MACE,GAAGY;AAAA,MACJ,0BAA0B;AAAA,MAC1B,UAAA1qG;AAAA,MACA,OAAO6mB;AAAA,MACP,UAAAsO;AAAA,MACC,GAAG10B;AAAA,MACH,aAAUukB,CAAO;AAAA,IAAA;AAAA,EAEtB,EAAA,CAAA;AAEJ;AAEAmlF,GAAkB,cAAc;ACnChC,MAAMxrE,KAAaooE,GAAe4D,EAAmB,GAExCC,KAAkB,CAAC;AAAA,EAC9B,WAAA7xE;AAAA,EACA,UAAA8xE;AAAA,EACA,OAAAzvG;AAAA,EACA,gBAAA8F;AAAA,EACA,OAAAnB;AAAA,EACA,WAAAH;AAAA,EACA,MAAApJ;AAAA,EACA,WAAAs0G;AAAA,EACA,QAAArwG,IAAS,CAAC;AAAA,EACV,eAAA4vG;AAAA,EACA,cAAAU;AAAA,EACA,WAAAnuD;AAAA,EACA,aAAaouD;AAAA,EACb,UAAAhrG;AAAA,EACA,QAAAirG;AAAA,EACA,mBAAmBC,IAAoBf;AAAA,KACpCjyG;AACL,MAAwB;;AACtB,QAAM,EAAE,UAAAizG,GAAU,qBAAAC,EAAoB,IAAIC,GAAe;AAAA,IACvD,gBAAAnqG;AAAA,IACA,WAAA4pG;AAAA,IACA,UAAAD;AAAA,IACA,OAAAzvG;AAAA,IACA,MAAA5E;AAAA,IACA,eAAA6zG;AAAA,IACA,cAAAU;AAAA,IACA,QAAAtwG;AAAA,EAAA,CACD;AAEG,MAAAowG,MAAa,UAAUA,MAAa;AAC/B,WAAA;AAGH,QAAAS,KAAkBvyE,KAAA,gBAAAA,EAAW,gBAAe,IAC5CwyE,IAAmB,CAAC,MAAM,OAAO,EAAE,SAASV,CAAQ,IAAI,SAASC,KAAa;AAGjF,OAAAD,MAAa,aAAaA,MAAa,kBACvCr0G,MAAS,YAAYA,MAAS,WAE/B+0G,MAAqB,UACrBA,MAAqB,kBACrB;AACM,UAAAC,IAAU,CAAC,QAAQ,IAAI,EAAE,IAAI,CAAC/uG,GAAK0B,MACnC3H,MAAS,SACP+0G,MAAqB,SAErBjsG,gBAAAA,GAAA;AAAA,MAACg/B;AAAAA,MAAA;AAAA,QAEC,OAAO6sE,EAAShtG,KAAKkqG,GAAM8C,EAAShtG,IAAI,UAAU,IAAI;AAAA,QACtD,WAAWstG,GAAmB;AAAA,QAC9B,UAAAzrG;AAAA,QACA,aAAasrG;AAAA,QACb,UAAU,OAAKF,GAAoBt3G,KAAA,gBAAAA,EAAG,OAAO,gBAAe,IAAIqK,CAAC;AAAA,MAAA;AAAA,MAL5D1B;AAAA,IAAA,IAUT6C,gBAAAA,GAAA;AAAA,MAACosG;AAAA,MAAA;AAAA,QAEC,MAAMH;AAAA,QACN,OAAOJ,EAAShtG,MAAM;AAAA,QACtB,WAAWstG,GAAmB;AAAA,QAC9B,UAAAzrG;AAAA,QACA,aAAasrG;AAAA,QACb,UAAU,CAAKv3G,MAAAq3G,EAAoBr3G,EAAE,OAAO,OAAOoK,CAAC;AAAA,MAAA;AAAA,MAN/C1B;AAAA,IAAA,IAWT6C,gBAAAA,GAAA;AAAA,MAAC4rG;AAAA,MAAA;AAAA,QAEE,GAAGhzG;AAAA,QACJ,WAAWuzG,GAAmB;AAAA,QAC9B,gBAAgB,CAAApqG,MAAK+pG,EAAoB/pG,GAAGlD,CAAC;AAAA,QAC7C,UAAA6B;AAAA,QACA,OAAOmrG,EAAShtG,MAAMwtG,GAAelxG,CAAM;AAAA,QAC3C,SAASA;AAAA,QACT,eAAA4vG;AAAA,MAAA;AAAA,MAPK5tG;AAAA,IAAA,CAUV;AACD,WACG8C,gBAAAA,GAAAA,KAAA,QAAA,EAAK,eAAa0rG,GAAQ,WAAArrG,GAAsB,OAAAG,GAC9C,UAAA;AAAA,MAAQyrG,EAAA;AAAA,MACR5uD;AAAA,MACA4uD,EAAQ;AAAA,IACX,EAAA,CAAA;AAAA,EAEJ;AAEA,UAAQh1G,GAAM;AAAA,IACZ,KAAK;AAAA,IACL,KAAK;AAED,aAAA8I,gBAAAA,GAAA;AAAA,QAAC4rG;AAAA,QAAA;AAAA,UACE,GAAGhzG;AAAA,UACJ,WAAA0H;AAAA,UACA,gBAAAsB;AAAA,UACA,SAASzG;AAAA,UACT,OAAAW;AAAA,UACA,OAAA2E;AAAA,UACA,UAAAC;AAAA,UACA,UAAUxJ,MAAS;AAAA,UACnB,eAAA6zG;AAAA,QAAA;AAAA,MAAA;AAAA,IAIN,KAAK;AAED,aAAA/qG,gBAAAA,GAAA;AAAA,QAACosG,GAAM;AAAA,QAAN;AAAA,UACC,OAAAtwG;AAAA,UACA,OAAA2E;AAAA,UACA,WAAAH;AAAA,UACA,UAAAI;AAAA,UACA,aAAasrG;AAAA,UACb,UAAU,CAAAv3G,MAAKmN,EAAenN,EAAE,OAAO,KAAK;AAAA,QAAA;AAAA,MAAA;AAAA,IAIlD,KAAK;AAED,aAAAuL,gBAAAA,GAAA;AAAA,QAAC8B;AAAA,QAAA;AAAA,UACC,SAAS,CAAC,CAAChG;AAAA,UACX,OAAA2E;AAAA,UACA,WAAAH;AAAA,UACA,UAAAI;AAAA,UACA,UAAU,CAAKqB,MAAAH,EAAeG,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IAIrC,KAAK;AAED,aAAA/B,gBAAAA,GAAAA,IAAC,QAAK,EAAA,OAAAS,GAAc,WAAAH,GAClB,UAAAN,gBAAAA,GAAA;AAAA,QAACssG;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,UAAA5rG;AAAA,UACA,UAAU,CAAAjM,MAAKmN,EAAenN,EAAE,OAAO,OAAO;AAAA,UAC9C,SAAS,CAAC,CAACqH;AAAA,QAAA;AAAA,MAEf,EAAA,CAAA;AAAA,IAGJ,KAAK;AACH,oCACG,QAAK,EAAA,WAAAwE,GAAsB,OAAAG,GACzB,UAAAtF,EAAO,IAAI,CACV4G,MAAA/B,gBAAAA,GAAA;AAAA,QAACusG;AAAA,QAAA;AAAA,UAEC,OAAOxqG,EAAE;AAAA,UACT,SAASjG,MAAUiG,EAAE;AAAA,UACrB,UAAArB;AAAA,UACA,UAAU,CAAAjM,MAAKmN,EAAenN,EAAE,OAAO,KAAK;AAAA,UAC3C,UAAEsN,EAAA;AAAA,QAAA;AAAA,QALEA,EAAE;AAAA,MAOV,CAAA,EACH,CAAA;AAAA,EAEN;AAEA,UAAQkqG,GAAkB;AAAA,IACxB,KAAK;AAAA,IACL,KAAK;AACI,aAAAV,MAAa,aAAaA,MAAa,eAC5CvrG,gBAAAA,GAAA;AAAA,QAACq/B,GAAW;AAAA,QAAX;AAAA,UACC,SACEzgB,IAAAA,GAAQ9iB,CAAK,MAAb8iB,gBAAAA,EAAgB,WAAU,IACrBA,GAAQ9iB,CAAK,EAAE,IAAI,CAAAiG,MAAKgnG,GAAMhnG,CAAC,CAAC,IACjC;AAAA,UAEN,UAAUkqG,MAAqB;AAAA,UAC/B,WAAA3rG;AAAA,UACA,UAAAI;AAAA,UACA,aAAa,CAACsrG,GAAiBA,CAAe;AAAA,UAG9C,UAEE,CAASQ,MAAA;AACP,kBAAMv2G,IAAS,aACbg2G,MAAqB,mBAAmB,cAAc,MAElDQ,IAAYD,KAAA,gBAAAA,EAAO,IAAI,OAAKh4G,KAAA,gBAAAA,EAAG,OAAOyB;AACrC,mBAAA2L;AAAA,cACL6qG,IAAa1B,IAAgB0B,IAAYA,EAAU,KAAK,GAAG,IAAKD;AAAA,YAAA;AAAA,UAEpE;AAAA,QAAA;AAAA,MAAA,IAIJxsG,gBAAAA,GAAA;AAAA,QAACq/B;AAAA,QAAA;AAAA,UACC,OAAOvjC,IAAQitG,GAAMjtG,CAAK,IAAI;AAAA,UAC9B,UAAUmwG,MAAqB;AAAA,UAC/B,WAAA3rG;AAAA,UACA,UAAAI;AAAA,UACA,aAAasrG;AAAA,UACb,UAAU,CAACvgG,GAAIihG,MAAe9qG,EAAe8qG,CAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAI7D,KAAK;AAED,aAAA1sG,gBAAAA,GAAA;AAAA,QAACg/B;AAAAA,QAAA;AAAA,UACC,OAAOljC,IAAQitG,GAAMjtG,GAAO,UAAU,IAAI;AAAA,UAC1C,WAAAwE;AAAA,UACA,UAAAI;AAAA,UACA,aAAasrG;AAAA,UACb,UAAU,CAAKx3G,MAAAoN,GAAepN,KAAA,gBAAAA,EAAG,OAAO,gBAAe,EAAE;AAAA,QAAA;AAAA,MAAA;AAAA,EAGjE;AAGE,SAAAwL,gBAAAA,GAAA;AAAA,IAACosG;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,OAAAnwG;AAAA,MACA,OAAA2E;AAAA,MACA,WAAAH;AAAA,MACA,UAAAI;AAAA,MACA,aAAasrG;AAAA,MACb,UAAU,CAAAv3G,MAAKmN,EAAenN,EAAE,OAAO,KAAK;AAAA,IAAA;AAAA,EAAA;AAGlD;AAEA62G,GAAgB,cAAc;ACzOvB,MAAMqB,KAAyC;AAAA,EACpD,gBAAgBtsG;AAAA,EAChB,eAAeA;AAAA,EACf,kBAAkBA;AAAA,EAClB,iBAAiBA;AAAA,EACjB,iBAAiBA;AAAA,EACjB,gBAAgBA;AAAA,EAChB,oBAAoBwqG;AAAA,EACpB,eAAeA;AAAA,EACf,WAAWlpG;AAAA,EACX,kBAAkBkpG;AAAA,EAClB,mBAAmBxqG;AAAA,EACnB,kBAAkBA;AAAA,EAClB,aAAairG;AAAA,EACb,YAAYjqG;AAAA,EACZ,qBAAqBwpG;AACvB,GAEa+B,KAAmBC,GAAyB;AAAA,EACvD,KAAK;AAAA,EACL,iBAAiBF;AACnB,CAAC;"}