blob: 554d1c815fa7eff42102c89a9f9aadb69ffd89c5 [file] [log] [blame]
{"version":3,"sources":["webpack:///./node_modules/@ant-design/icons-svg/lib/asn/DoubleRightOutlined.js","webpack:///./node_modules/rc-util/es/hooks/useMergedState.js","webpack:///./node_modules/@ant-design/icons/DownOutlined.js","webpack:///./node_modules/@ant-design/icons/lib/icons/DoubleRightOutlined.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/EllipsisOutlined.js","webpack:///./node_modules/@ant-design/icons/CheckOutlined.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/PlusOutlined.js","webpack:///./node_modules/@ant-design/icons/lib/icons/DownOutlined.js","webpack:///./node_modules/antd/es/spin/index.js","webpack:///./node_modules/antd/es/grid/hooks/useBreakpoint.js","webpack:///./node_modules/rc-pagination/es/Pager.js","webpack:///./node_modules/rc-pagination/es/KeyCode.js","webpack:///./node_modules/rc-pagination/es/Options.js","webpack:///./node_modules/rc-pagination/es/Pagination.js","webpack:///./node_modules/rc-pagination/es/locale/zh_CN.js","webpack:///./node_modules/rc-util/es/pickAttrs.js","webpack:///./node_modules/rc-virtual-list/es/Filler.js","webpack:///./node_modules/rc-virtual-list/node_modules/rc-util/es/raf.js","webpack:///./node_modules/rc-virtual-list/es/ScrollBar.js","webpack:///./node_modules/rc-virtual-list/es/Item.js","webpack:///./node_modules/rc-virtual-list/es/utils/CacheMap.js","webpack:///./node_modules/rc-virtual-list/es/hooks/useHeights.js","webpack:///./node_modules/rc-virtual-list/node_modules/rc-util/es/Dom/findDOMNode.js","webpack:///./node_modules/rc-virtual-list/es/hooks/useScrollTo.js","webpack:///./node_modules/rc-virtual-list/es/hooks/useDiffItem.js","webpack:///./node_modules/rc-virtual-list/es/utils/algorithmUtil.js","webpack:///./node_modules/rc-virtual-list/es/utils/isFirefox.js","webpack:///./node_modules/rc-virtual-list/es/hooks/useOriginScroll.js","webpack:///./node_modules/rc-virtual-list/es/List.js","webpack:///./node_modules/rc-virtual-list/es/hooks/useFrameWheel.js","webpack:///./node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js","webpack:///./node_modules/rc-virtual-list/es/hooks/useChildren.js","webpack:///./node_modules/rc-virtual-list/es/index.js","webpack:///./node_modules/rc-select/es/TransBtn.js","webpack:///./node_modules/rc-select/es/OptionList.js","webpack:///./node_modules/rc-util/es/hooks/useMemo.js","webpack:///./node_modules/rc-select/es/Option.js","webpack:///./node_modules/rc-select/es/OptGroup.js","webpack:///./node_modules/rc-select/es/utils/legacyUtil.js","webpack:///./node_modules/rc-select/es/utils/commonUtil.js","webpack:///./node_modules/rc-select/es/utils/valueUtil.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/toArray.js","webpack:///./node_modules/rc-select/es/Selector/Input.js","webpack:///./node_modules/rc-select/es/hooks/useLayoutEffect.js","webpack:///./node_modules/rc-select/es/Selector/MultipleSelector.js","webpack:///./node_modules/rc-select/es/Selector/SingleSelector.js","webpack:///./node_modules/rc-select/es/hooks/useLock.js","webpack:///./node_modules/rc-select/es/Selector/index.js","webpack:///./node_modules/rc-select/es/SelectTrigger.js","webpack:///./node_modules/rc-select/es/generate.js","webpack:///./node_modules/rc-select/es/utils/warningPropsUtil.js","webpack:///./node_modules/rc-select/es/Select.js","webpack:///./node_modules/rc-select/es/interface/generator.js","webpack:///./node_modules/rc-select/es/hooks/useDelayReset.js","webpack:///./node_modules/rc-select/es/hooks/useCacheOptions.js","webpack:///./node_modules/rc-select/es/hooks/useCacheDisplayValue.js","webpack:///./node_modules/rc-select/es/hooks/useSelectTriggerControl.js","webpack:///./node_modules/rc-select/es/index.js","webpack:///./node_modules/antd/es/select/index.js","webpack:///./node_modules/antd/es/select/utils/iconUtil.js","webpack:///./node_modules/antd/es/pagination/MiniSelect.js","webpack:///./node_modules/antd/es/pagination/Pagination.js","webpack:///./node_modules/antd/es/pagination/index.js","webpack:///./node_modules/antd/es/list/Item.js","webpack:///./node_modules/antd/es/list/index.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/DownOutlined.js","webpack:///./node_modules/@ant-design/icons/lib/icons/SearchOutlined.js","webpack:///./node_modules/@ant-design/icons/lib/icons/DoubleLeftOutlined.js","webpack:///./node_modules/performance-now/lib/performance-now.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/SearchOutlined.js","webpack:///./node_modules/antd/es/card/Grid.js","webpack:///./node_modules/antd/es/card/Meta.js","webpack:///./node_modules/rc-tabs/es/hooks/useRaf.js","webpack:///./node_modules/rc-tabs/es/TabNavList/TabNode.js","webpack:///./node_modules/rc-tabs/es/hooks/useOffsets.js","webpack:///./node_modules/rc-tabs/es/hooks/useVisibleRange.js","webpack:///./node_modules/rc-dropdown/es/placements.js","webpack:///./node_modules/rc-dropdown/es/Dropdown.js","webpack:///./node_modules/rc-dropdown/es/index.js","webpack:///./node_modules/rc-tabs/es/TabNavList/AddButton.js","webpack:///./node_modules/rc-tabs/es/TabNavList/OperationNode.js","webpack:///./node_modules/rc-tabs/es/TabContext.js","webpack:///./node_modules/rc-tabs/es/hooks/useTouchMove.js","webpack:///./node_modules/rc-tabs/es/hooks/useSyncState.js","webpack:///./node_modules/rc-tabs/es/TabNavList/index.js","webpack:///./node_modules/rc-tabs/es/hooks/useRefs.js","webpack:///./node_modules/rc-tabs/es/TabPanelList/index.js","webpack:///./node_modules/rc-tabs/es/TabPanelList/TabPane.js","webpack:///./node_modules/rc-tabs/es/Tabs.js","webpack:///./node_modules/rc-tabs/es/index.js","webpack:///./node_modules/antd/es/tabs/index.js","webpack:///./node_modules/antd/es/card/index.js","webpack:///./node_modules/rc-util/es/ref.js","webpack:///./node_modules/@ant-design/icons/EllipsisOutlined.js","webpack:///./node_modules/@ant-design/icons/PlusOutlined.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/DoubleLeftOutlined.js","webpack:///./node_modules/@ant-design/icons/lib/icons/EllipsisOutlined.js","webpack:///./node_modules/@ant-design/icons/DoubleRightOutlined.js","webpack:///./node_modules/rc-resize-observer/es/index.js","webpack:///./node_modules/rc-util/es/Dom/findDOMNode.js","webpack:///./node_modules/@ant-design/icons/lib/icons/PlusOutlined.js","webpack:///./node_modules/@ant-design/icons/DoubleLeftOutlined.js","webpack:///./node_modules/@ant-design/icons/SearchOutlined.js","webpack:///./node_modules/@ant-design/icons/lib/icons/CheckOutlined.js","webpack:///./node_modules/raf/index.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/CheckOutlined.js"],"names":["Object","defineProperty","exports","value","default","_slicedToArray","arr","i","Array","isArray","_arrayWithHoles","Symbol","iterator","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","length","err","_iterableToArrayLimit","o","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","name","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","useControlledState","defaultStateValue","option","_ref","defaultValue","onChange","postState","_React$useState2","innerValue","setInnerValue","mergedValue","firstRenderRef","current","newValue","obj","_default","__esModule","module","_interopRequireDefault","_interopRequireWildcard","React","_DoubleRightOutlined","_AntdIcon","DoubleRightOutlined","props","ref","createElement","assign","icon","displayName","forwardRef","_DownOutlined","DownOutlined","__rest","s","e","t","p","hasOwnProperty","indexOf","getOwnPropertySymbols","propertyIsEnumerable","defaultIndicator","_React$Component","Spin","_super","_this","this","debouncifyUpdateSpinning","delay","cancelExistingSpin","updateSpinning","originalUpdateSpinning","spinning","state","setState","renderSpin","_ref2","_classNames","getPrefixCls","direction","_a","customizePrefixCls","prefixCls","className","size","tip","wrapperClassName","style","restProps","spinClassName","concat","divProps","spinElement","indicator","dotClassName","renderIndicator","isNestedPattern","containerClassName","key","children","shouldBeDelayed","isNaN","Number","shouldDelay","cancel","defaultProps","_useState","_useState2","screens","setScreens","token","subscribe","supportScreens","unsubscribe","rootPrefixCls","cls","page","active","title","showTitle","onClick","onKeyPress","tabIndex","itemRender","rel","Options","_len","arguments","args","_key","apply","goInputText","buildOptionText","locale","items_per_page","changeSize","handleChange","target","handleBlur","_this$props","goButton","quickGo","relatedTarget","getValidValue","go","keyCode","type","_this$state","_this$props2","pageSize","pageSizeOptions","some","sort","a","b","_this2","_this$props3","selectComponentClass","selectPrefixCls","disabled","Select","changeSelect","goInput","gotoButton","getPageSizeOptions","options","map","opt","Option","showSearch","optionLabelProp","dropdownMatchSelectWidth","getPopupContainer","triggerNode","parentNode","onKeyUp","jump_to_confirm","jump_to","onBlur","Component","noop","calculatePage","Math","floor","total","Pagination","getJumpPrevPage","max","showLessItems","getJumpNextPage","min","getItemIcon","label","iconNode","savePaginationNode","node","paginationNode","isValid","isFinite","shouldDisplayQuickJumper","showQuickJumper","handleKeyDown","preventDefault","handleKeyUp","currentInputValue","changePageSize","newCurrent","onShowSizeChange","currentPage","prev","hasPrev","hasNext","jumpPrev","jumpNext","runIfEnter","event","callback","charCode","restParams","runIfEnterPrev","runIfEnterNext","runIfEnterJumpPrev","runIfEnterJumpNext","handleGoTO","hasOnChange","console","warn","_current","defaultCurrent","_pageSize","defaultPageSize","prevProps","prevState","lastCurrentNode","querySelector","document","activeElement","blur","inputValue","allPages","showSizeChanger","totalBoundaryShowSizeChanger","prevPage","prevIcon","prevButton","nextPage","_this$props4","nextIcon","nextButton","_this$props5","hideOnSinglePage","showTotal","simple","showPrevNextJumpers","jumpPrevIcon","jumpNextIcon","pagerList","firstPager","lastPager","pageBufferSize","dataOrAriaAttributeProps","keys","reduce","substr","prev_page","renderPrev","onKeyDown","next_page","renderNext","pagerProps","prevItemTitle","prev_3","prev_5","nextItemTitle","next_3","next_5","last","left","right","_active","unshift","totalText","prevDisabled","nextDisabled","unselectable","getShowSizeChanger","newState","element","propList","split","prefix","pickAttrs","ariaOnly","attrs","forEach","includes","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","configurable","writable","Filler","height","offset","onInnerResize","outerStyle","innerStyle","display","flexDirection","position","overflow","transform","top","onResize","offsetHeight","raf","setTimeout","caf","num","clearTimeout","wrapperRaf","_typeof","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","self","ReferenceError","_assertThisInitialized","getPrototypeOf","window","requestAnimationFrame","handle","cancelAnimationFrame","getPageY","touches","pageY","subClass","superClass","create","_inherits","ScrollBar","protoProps","staticProps","moveRaf","scrollbarRef","thumbRef","visibleTimeout","dragging","startTop","visible","delayHidden","onScrollbarTouchStart","onContainerMouseDown","stopPropagation","patchEvents","addEventListener","onMouseMove","onMouseUp","removeEvents","removeEventListener","onMouseDown","onStartMove","getTop","onScroll","newTop","enableScrollRange","getEnableScrollRange","enableHeightRange","getEnableHeightRange","ptg","newScrollTop","ceil","onStopMove","getSpinHeight","baseHeight","count","scrollHeight","scrollTop","getVisible","spinHeight","width","bottom","background","borderRadius","cursor","userSelect","setRef","refFunc","CacheMap","maps","useHeights","getKey","onItemAdd","onItemRemove","updatedMark","setUpdatedMark","instanceRef","Map","heightsRef","heightUpdateIdRef","collectHeight","currentId","Promise","resolve","then","offsetParent","htmlElement","HTMLElement","findDOMNode","get","set","c","item","origin","delete","useDiffItem","data","onDiff","prevData","setPrevData","_React$useState4","diffItem","setDiffItem","diff","originList","targetList","shortList","longList","originLen","targetLen","notExistKey","__EMPTY_ITEM__","getItemKey","diffIndex","multiple","abs","shortKey","index","findListDiffIndex","navigator","userAgent","lockRef","lockTimeoutRef","lockScroll","scrollPingRef","isScrollAtTop","isScrollAtBottom","deltaY","smoothOffset","originScroll","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","EMPTY_DATA","ScrollStyle","overflowY","overflowAnchor","List","_props$prefixCls","itemHeight","_props$fullHeight","fullHeight","itemKey","virtual","_props$component","component","useVirtual","inVirtual","setScrollTop","_useState4","scrollMoving","setScrollMoving","mergedClassName","mergedData","componentRef","fillerInnerRef","scrollBarRef","sharedConfig","syncScrollTop","alignedTop","maxScrollHeightRef","keepInRange","rangeRef","start","end","diffItemRef","_useHeights2","setInstanceRef","heights","heightUpdatedMark","_React$useMemo","_fillerInnerRef$curre","startIndex","startOffset","endIndex","itemTop","dataLen","cacheHeight","currentItemBottom","maxScrollHeight","useOriginScroll","_useFrameWheel2","onWheelDelta","offsetRef","nextFrameRef","wheelValueRef","isMouseScrollRef","patchMultiple","detail","useFrameWheel","offsetY","onRawWheel","onFireFoxScroll","listRef","cleanUpEvents","touchedRef","touchYRef","elementRef","intervalRef","onTouchMove","currentY","clearInterval","setInterval","onTouchEnd","onTouchStart","useMobileTouchMove","onMozMousePixelScroll","scrollTo","containerRef","triggerFlash","scrollRef","arg","align","findIndex","_arg$offset","syncScroll","times","targetAlign","clientHeight","needCollectHeight","newTargetAlign","mergedAlign","stackTop","itemBottom","targetTop","useScrollTo","_scrollBarRef$current","listChildren","list","setNodeRef","renderFunc","ele","useChildren","componentStyle","pointerEvents","currentTarget","customizeIcon","customizeIconProps","_onMouseDown","WebkitUserSelect","RefOptionList","getValue","condition","shouldUpdate","cacheRef","id","flattenOptions","childrenAsData","values","searchValue","defaultActiveFirstOption","notFoundContent","open","menuItemSelectedIcon","onSelect","onToggleOpen","onActiveValue","onMouseEnter","itemPrefixCls","memoFlattenOptions","onListMouseDown","scrollIntoView","getEnabledActiveIndex","_memoFlattenOptions$c","group","_React$useState","activeIndex","setActiveIndex","setActive","fromKeyboard","info","flattenItem","_listRef$current","timeoutId","onSelectValue","selected","has","which","UP","DOWN","nextActiveIndex","ENTER","ESC","role","renderItem","itemData","mergedLabel","_ref3","itemIndex","groupOption","otherProps","optionPrefixCls","optionClassName","iconVisible","content","optionTitle","isSelected","isSelectOption","OptGroup","isSelectOptGroup","convertNodeToOption","_node$props","nodes","optionOnly","toArray","_node$props2","removeLastEnabledValue","measureValues","removeIndex","newValues","removedValue","splice","isBrowserClient","documentElement","uuid","injectPropsWithOption","newOption","warning","_ref$prevValueOptions","prevValueOptions","optionMap","val","find","_INTERNAL_OPTION_VALUE_","toRawString","join","getSeparatedContent","text","tokens","match","separate","str","_ref4","_ref5","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","restTokens","prevList","unitStr","unit","RefInput","inputElement","autoFocus","autoComplete","editable","accessibilityIndex","_onKeyDown","_onChange","onPaste","_onCompositionStart","onCompositionStart","_onCompositionEnd","onCompositionEnd","inputNode","_inputNode","originRef","_inputNode$props","onOriginKeyDown","onOriginChange","onOriginMouseDown","onOriginCompositionStart","onOriginCompositionEnd","opacity","readOnly","useLayoutEffect","effect","deps","inputRef","placeholder","mode","removeIcon","choiceTransitionName","maxTagCount","maxTagTextLength","_props$maxTagPlacehol","maxTagPlaceholder","omittedValues","tagRender","onInputChange","onInputPaste","onInputKeyDown","onInputMouseDown","onInputCompositionStart","onInputCompositionEnd","motionAppear","setMotionAppear","measureRef","_React$useState3","inputWidth","setInputWidth","inputEditable","scrollWidth","restCount","displayValues","rest","displayLabel","strLabel","String","selectionNode","motionName","itemDisabled","mergedKey","closable","onClose","activeValue","inputChanged","setInputChanged","combobox","hasTextInput","useLock","duration","timeoutRef","doLock","locked","ForwardSelector","compositionStatusRef","tokenWithEnter","onSearch","onSearchSubmit","domRef","focus","_useLock","_useLock2","getInputMouseDown","setInputMouseDown","pastedTextRef","sharedProps","SHIFT","TAB","BACKSPACE","replacedText","replace","triggerOnSearch","clipboardData","getData","selectNode","MultipleSelector","body","msTouchAction","inputMouseDown","RefSelectTrigger","popupElement","containerWidth","animation","transitionName","dropdownStyle","dropdownClassName","_props$direction","_props$dropdownMatchS","dropdownRender","dropdownAlign","empty","getTriggerDOMNode","dropdownPrefixCls","popupNode","builtInPlacements","adjustX","bottomLeft","points","adjustY","bottomRight","topLeft","topRight","getBuiltInPlacements","mergedTransitionName","popupRef","getPopupElement","popupStyle","minWidth","showAction","hideAction","popupPlacement","builtinPlacements","popupTransitionName","popup","popupAlign","popupVisible","popupClassName","DEFAULT_OMIT_PROPS","config","defaultPrefixCls","OptionList","convertChildrenToData","getLabeledValue","filterOptions","isValueDisabled","findValueOption","fillOptionsWithMissingValue","omitDOMProps","backfill","allowClear","getInputElement","defaultOpen","labelInValue","mergedShowSearch","mergedOptions","every","hasNumberValue","invalidateChildType","subNode","components","optionList","flattenList","dig","isGroupOption","prevValItem","prevValue","prevValues","prevItem","trim","filterFunc","optionFilterProp","filterOption","filteredOptions","lowerSearchText","toLowerCase","getFilterFunction","subOptions","subItem","warningProps","cloneOptions","optionValues","Set","subOpt","add","_ref6","_classNames2","_props$optionFilterPr","_props$autoClearSearc","autoClearSearchValue","clearIcon","showArrow","inputIcon","loading","_props$notFoundConten","_props$listHeight","listHeight","_props$listItemHeight","listItemHeight","_props$showAction","tokenSeparators","onPopupScroll","onDropdownVisibleChange","onFocus","onDeselect","onClear","_props$internalProps","internalProps","useInternalProps","mark","domProps","prop","triggerRef","selectorRef","tokenSeparator","_useDelayReset","timeout","bool","setBool","delayRef","cancelLatest","delaySetBool","useDelayReset","_useDelayReset2","mockFocused","setMockFocused","cancelSetMockFocused","innerId","setInnerId","retId","mergedId","mergedOptionLabelProp","mergedLabelInValue","isMultiple","selectorDomRef","_useMergedState","useMergedState","_useMergedState2","setMergedValue","mergedRawValue","toInnerValue","rawValues","_useState3","setActiveValue","_useState5","_useState6","innerSearchValue","setInnerSearchValue","mergedSearchValue","newOptions","mergedFlattenOptions","getValueOption","prevOptionMapRef","vals","Boolean","useCacheOptions","displayOptions","displayFlattenOptions","prevValuesRef","tmpValues","valueOptions","displayValue","valueLabels","resultValues","cacheLabel","triggerSelect","isSelect","newValueOption","outOption","skipTriggerSelect","selectValue","onRawSelect","onRawDeselect","_useState7","_useState8","setPrevValueOptions","triggerChange","newRawValues","skipTriggerChange","newRawValuesOptions","outValues","valueList","toOuterValues","outValue","outOptions","clone","onInternalSelect","newRawValue","customizeInputElement","_useMergedState3","_useMergedState4","innerOpen","setInnerOpen","mergedOpen","emptyListContent","triggerOpen","newOpen","nextOpen","elements","propsRef","onGlobalMouseDown","contains","useSelectTriggerControl","triggerSearch","searchText","fromTyping","isCompositing","ret","newSearchText","patchLabels","patchRawValues","getClearLock","setClearLock","focusRef","activeTimeoutIds","_useState9","_useState10","setAccessibilityIndex","mergedDefaultActiveFirstOption","_useState11","_useState12","setContainerWidth","_useState13","forceUpdate","newWidth","offsetWidth","clearNode","_ref3$source","arrowNode","mergedShowArrow","focused","_len3","restArgs","_key3","clearLock","removeInfo","_len2","_key2","_listRef$current2","selectRef","mergedNotFound","_a$bordered","bordered","_a$listHeight","_a$listItemHeight","customizeSize","_a$transitionName","_React$useContext","getContextPopupContainer","renderEmpty","SizeContext","m","_getIcons","suffixIcon","mergedClearIcon","mergedSuffixIcon","spin","iconCls","itemIcon","getIcons","selectProps","rcSelectRtlDropDownClassName","mergedSize","SECRET_COMBOBOX_MODE_DO_NOT_USE","customizeSelectPrefixCls","customLocale","xs","renderPagination","contextLocale","isSmall","responsive","extendedClassName","mini","ellipsis","getIconsProps","LocaleReceiver","componentName","defaultLocale","actions","extra","colStyle","others","_React$useContext2","ListContext","grid","itemLayout","actionsContent","action","Element","itemChildren","flex","Meta","avatar","description","classString","Consumer","_a$pagination","pagination","_a$split","loadMore","_a$dataSource","dataSource","header","footer","_a$loading","rowKey","paginationObj","paginationCurrent","setPaginationCurrent","paginationSize","setPaginationSize","triggerPaginationEvent","eventName","onPaginationChange","onPaginationShowSizeChange","loadingProp","isLoading","sizeCls","paginationProps","largestPage","paginationContent","splitDataSource","currentBreakpoint","breakpoint","columnCount","column","maxWidth","childrenContent","minHeight","items","renderInnerItem","childrenList","child","gutter","renderEmptyHandler","emptyText","renderEmptyFunc","paginationPosition","Provider","Item","_SearchOutlined","SearchOutlined","_DoubleLeftOutlined","DoubleLeftOutlined","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","now","process","hr","uptime","getTime","_props$hoverable","hoverable","avatarDom","titleDom","descriptionDom","MetaDetail","useRaf","rafRef","removedRef","rtl","_ref$tab","tab","closeIcon","tabBarGutter","tabPosition","renderWrapper","removeAriaLabel","onRemove","tabPrefix","nodeStyle","marginBottom","removable","onInternalClick","KeyCode","SPACE","onEdit","DEFAULT_SIZE","autoAdjustOverflow","targetOffset","topCenter","bottomCenter","_props$arrow","arrow","_props$placement","placement","_props$placements","placements","overlayClassName","overlayStyle","_props$trigger","trigger","triggerVisible","setTriggerVisible","mergedVisible","openClassName","childrenProps","childClassName","minOverlayWidthMatchTrigger","alignPoint","getOverlayElement","overlay","onOverlayClick","overlayProps","getMenuElement","overlayElement","extraOverlayProps","triggerHideAction","popupAnimation","stretch","onPopupVisibleChange","onVisibleChange","showAdd","addAriaLabel","addIcon","tabs","mobile","_ref$moreIcon","moreIcon","moreTransitionName","onTabClick","setOpen","selectedKey","setSelectedKey","popupId","dropdownPrefix","selectedItemId","dropdownAriaLabel","menu","domEvent","selectedKeys","selectOffset","enabledTabs","selectedIndex","getElementById","moreStyle","visibility","order","moreNode","mouseEnterDelay","mouseLeaveDelay","SPEED_OFF_MULTIPLE","pow","useSyncState","defaultState","stateRef","updater","assertExtra","cacheRefs","TabContext","animated","activeKey","onTabScroll","tabsWrapperRef","tabListRef","operationsRef","innerAddButtonRef","_useRefs","_useRefs2","getBtnRef","removeBtnRef","tabPositionTopOrBottom","_useSyncState","_useSyncState2","transformLeft","setTransformLeft","_useSyncState3","_useSyncState4","transformTop","setTransformTop","wrapperScrollWidth","setWrapperScrollWidth","wrapperScrollHeight","setWrapperScrollHeight","wrapperContentWidth","setWrapperContentWidth","wrapperContentHeight","setWrapperContentHeight","wrapperWidth","setWrapperWidth","wrapperHeight","setWrapperHeight","_useState14","addWidth","setAddWidth","_useState15","_useState16","addHeight","setAddHeight","_useRafState","batchRef","flushUpdate","useRafState","_useRafState2","tabSizes","setTabSizes","tabOffsets","holderScrollWidth","_tabs$","lastOffset","rightOffset","_tabs","entity","useOffsets","operationsHiddenClassName","transformMin","transformMax","alignInRange","touchMovingRef","_useState17","_useState18","lockAnimation","setLockAnimation","doLockAnimation","clearTouchMoving","scrollToTab","tabOffset","newTransform","_newTransform","onOffset","touchPosition","setTouchPosition","lastTimestamp","setLastTimestamp","lastTimeDiff","setLastTimeDiff","setLastOffset","motionRef","lastWheelTimestampRef","lastWheelPreventRef","lastWheelDirectionRef","touchEventsRef","_e$touches$","screenX","screenY","x","y","_e$touches$2","offsetX","distanceX","distanceY","absX","absY","currentX","onWheel","deltaX","mixed","onProxyTouchMove","onProxyTouchEnd","passive","useTouchMove","doMove","_alignInRange","_alignInRange2","needPrevent","_useVisibleRange","containerSize","tabContentNodeSize","addNodeSize","transformSize","basicSize","tabContentSize","addSize","mergedBasicSize","useVisibleRange","_useVisibleRange2","visibleStart","visibleEnd","tabNodes","scrollLeft","onListHolderResize","_tabsWrapperRef$curre","_tabsWrapperRef$curre2","_innerAddButtonRef$cu","_innerAddButtonRef$cu2","_operationsRef$curren","_operationsRef$curren2","_tabListRef$current","_tabListRef$current2","_operationsRef$curren3","newAddWidth","newAddHeight","newOperationWidth","newOperationHeight","newWrapperScrollWidth","newWrapperScrollHeight","isOperationHidden","newSizes","btnNode","offsetLeft","offsetTop","startHiddenTabs","endHiddenTabs","hiddenTabs","_useState19","_useState20","inkStyle","setInkStyle","activeTabOffset","inkBarRafRef","cleanInkBarRaf","newInkStyle","pingLeft","pingRight","pingTop","pingBottom","hasDropdown","wrapPrefix","transition","inkBar","TabPanelList","destroyInactiveTabPane","tabPaneAnimated","tabPane","tabKey","TabPane","forceRender","visited","setVisited","mergedStyle","ForwardTabs","mergedAnimated","_ref$prefixCls","defaultActiveKey","_ref$animated","_ref$tabPosition","tabBarStyle","tabBarExtraContent","renderTabBar","parseTabList","setMobile","agent","vendor","opera","mergedActiveKey","setMergedActiveKey","_tabs$newActiveIndex","newActiveIndex","setMergedId","mergedTabPosition","tabNavBar","tabNavBarProps","panes","_onEdit","hideAdd","centered","editType","devWarning","_extends2","head","_props$headStyle","headStyle","_props$bodyStyle","bodyStyle","_props$bordered","cover","tabList","activeTabKey","defaultActiveTabKey","_props$tabProps","tabProps","loadingBlockStyle","padding","block","loadingBlock","span","hasActiveTabKey","extraProps","onTabChange","containGrid","coverDom","actionDom","getAction","Grid","fillRef","composeRef","refs","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","render","_EllipsisOutlined","EllipsisOutlined","ReactResizeObserver","resizeObserver","childNode","currentElement","entries","_target$getBoundingCl","getBoundingClientRect","fixedWidth","fixedHeight","setChildNode","onComponentUpdated","destroyObserver","observe","disconnect","childNodes","_PlusOutlined","PlusOutlined","_CheckOutlined","CheckOutlined","root","global","vendors","suffix","queue","_now","cp","cancelled","round","fn","polyfill"],"mappings":"sHAEAA,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAmBTD,EAAQE,QAjBkB,CACxB,KAAQ,CACN,IAAO,MACP,MAAS,CACP,QAAW,gBACX,UAAa,SAEf,SAAY,CAAC,CACX,IAAO,OACP,MAAS,CACP,EAAK,uXAIX,KAAQ,eACR,MAAS,a,oCCpBX,2DAASC,EAAeC,EAAKC,GAC3B,OAqDF,SAAyBD,GACvB,GAAIE,MAAMC,QAAQH,GAAM,OAAOA,EAtDxBI,CAAgBJ,IA0BzB,SAA+BA,EAAKC,GAClC,GAAsB,oBAAXI,UAA4BA,OAAOC,YAAYZ,OAAOM,IAAO,OACxE,IAAIO,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKC,EAET,IACE,IAAK,IAAiCC,EAA7BC,EAAKb,EAAIK,OAAOC,cAAmBE,GAAMI,EAAKC,EAAGC,QAAQC,QAChER,EAAKS,KAAKJ,EAAGf,QAETI,GAAKM,EAAKU,SAAWhB,GAH8CO,GAAK,IAK9E,MAAOU,GACPT,GAAK,EACLC,EAAKQ,EACL,QACA,IACOV,GAAsB,MAAhBK,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIJ,EAAI,MAAMC,GAIlB,OAAOH,EAlDwBY,CAAsBnB,EAAKC,IAO5D,SAAqCmB,EAAGC,GACtC,IAAKD,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAOE,EAAkBF,EAAGC,GACvD,IAAIE,EAAI7B,OAAO8B,UAAUC,SAASC,KAAKN,GAAGO,MAAM,GAAI,GAC1C,WAANJ,GAAkBH,EAAEQ,cAAaL,EAAIH,EAAEQ,YAAYC,MACvD,GAAU,QAANN,GAAqB,QAANA,EAAa,OAAOrB,MAAM4B,KAAKV,GAClD,GAAU,cAANG,GAAqB,2CAA2CQ,KAAKR,GAAI,OAAOD,EAAkBF,EAAGC,GAbzCW,CAA4BhC,EAAKC,IAGnG,WACE,MAAM,IAAIgC,UAAU,6IAJmFC,GAgBzG,SAASZ,EAAkBtB,EAAKmC,IACnB,MAAPA,GAAeA,EAAMnC,EAAIiB,UAAQkB,EAAMnC,EAAIiB,QAE/C,IAAK,IAAIhB,EAAI,EAAGmC,EAAO,IAAIlC,MAAMiC,GAAMlC,EAAIkC,EAAKlC,IAC9CmC,EAAKnC,GAAKD,EAAIC,GAGhB,OAAOmC,EAmCM,SAASC,EAAmBC,EAAmBC,GAC5D,IAAIC,EAAOD,GAAU,GACjBE,EAAeD,EAAKC,aACpB5C,EAAQ2C,EAAK3C,MACb6C,EAAWF,EAAKE,SAChBC,EAAYH,EAAKG,UAajBC,EAAmB7C,EAXD,YAAe,WACnC,YAAcY,IAAVd,EACKA,OAGYc,IAAjB8B,EAC6B,mBAAjBA,EAA8BA,IAAiBA,EAG3B,mBAAtBH,EAAmCA,IAAsBA,KAElB,GACnDO,EAAaD,EAAiB,GAC9BE,EAAgBF,EAAiB,GAEjCG,OAAwBpC,IAAVd,EAAsBA,EAAQgD,EAE5CF,IACFI,EAAcJ,EAAUI,IAY1B,IAAIC,EAAiB,UAAa,GAWlC,OAVA,aAAgB,WACVA,EAAeC,QACjBD,EAAeC,SAAU,OAIbtC,IAAVd,GACFiD,EAAcjD,KAEf,CAACA,IACG,CAACkD,EApBR,SAAuBG,GACrBJ,EAAcI,GAEVH,IAAgBG,GAAYR,GAC9BA,EAASQ,EAAUH,O,8LCpFzB,IAEgCI,EAPhCzD,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAUlB,IAAIsD,GAN4BD,EAFW,EAAQ,UAGnCA,EAAIE,WAAaF,EAAM,CACnC,QAAWA,GAKfvD,EAAQE,QAAUsD,EAClBE,EAAO1D,QAAUwD,G,oCCfjB,IAAIG,EAAyB,EAAQ,QAEjCC,EAA0B,EAAQ,QAEtC9D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAElB,IAAI2D,EAAQD,EAAwB,EAAQ,SAExCE,EAAuBH,EAAuB,EAAQ,SAEtDI,EAAYJ,EAAuB,EAAQ,SAI3CK,EAAsB,SAA6BC,EAAOC,GAC5D,OAAOL,EAAMM,cAAcJ,EAAU7D,QAASJ,OAAOsE,OAAO,GAAIH,EAAO,CACrEC,IAAKA,EACLG,KAAMP,EAAqB5D,YAI/B8D,EAAoBM,YAAc,sBAElC,IAAId,EAAWK,EAAMU,WAAWP,GAEhChE,EAAQE,QAAUsD,G,yDC5BlB1D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAmBTD,EAAQE,QAjBe,CACrB,KAAQ,CACN,IAAO,MACP,MAAS,CACP,QAAW,gBACX,UAAa,SAEf,SAAY,CAAC,CACX,IAAO,OACP,MAAS,CACP,EAAK,iIAIX,KAAQ,WACR,MAAS,a,2ICbX,IAEgCqD,EAPhCzD,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAUlB,IAAIsD,GAN4BD,EAFY,EAAQ,UAGpCA,EAAIE,WAAaF,EAAM,CACnC,QAAWA,GAKfvD,EAAQE,QAAUsD,EAClBE,EAAO1D,QAAUwD,G,yDCfjB1D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IA+BTD,EAAQE,QA7BW,CACjB,KAAQ,CACN,IAAO,MACP,MAAS,CACP,QAAW,gBACX,UAAa,SAEf,SAAY,CAAC,CACX,IAAO,OACP,MAAS,GACT,SAAY,CAAC,CACX,IAAO,QACP,MAAS,MAEV,CACD,IAAO,OACP,MAAS,CACP,EAAK,8DAEN,CACD,IAAO,OACP,MAAS,CACP,EAAK,gEAIX,KAAQ,OACR,MAAS,a,kCC9BX,IAAIyD,EAAyB,EAAQ,QAEjCC,EAA0B,EAAQ,QAEtC9D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAElB,IAAI2D,EAAQD,EAAwB,EAAQ,SAExCY,EAAgBb,EAAuB,EAAQ,SAE/CI,EAAYJ,EAAuB,EAAQ,SAI3Cc,EAAe,SAAsBR,EAAOC,GAC9C,OAAOL,EAAMM,cAAcJ,EAAU7D,QAASJ,OAAOsE,OAAO,GAAIH,EAAO,CACrEC,IAAKA,EACLG,KAAMG,EAActE,YAIxBuE,EAAaH,YAAc,eAE3B,IAAId,EAAWK,EAAMU,WAAWE,GAEhCzE,EAAQE,QAAUsD,G,qXCvBdkB,EAAgC,SAAUC,EAAGC,GAC/C,IAAIC,EAAI,GAER,IAAK,IAAIC,KAAKH,EACR7E,OAAO8B,UAAUmD,eAAejD,KAAK6C,EAAGG,IAAMF,EAAEI,QAAQF,GAAK,IAAGD,EAAEC,GAAKH,EAAEG,IAG/E,GAAS,MAALH,GAAqD,mBAAjC7E,OAAOmF,sBAA2C,KAAI5E,EAAI,EAAb,IAAgByE,EAAIhF,OAAOmF,sBAAsBN,GAAItE,EAAIyE,EAAEzD,OAAQhB,IAClIuE,EAAEI,QAAQF,EAAEzE,IAAM,GAAKP,OAAO8B,UAAUsD,qBAAqBpD,KAAK6C,EAAGG,EAAEzE,MAAKwE,EAAEC,EAAEzE,IAAMsE,EAAEG,EAAEzE,KAEhG,OAAOwE,GAYLM,GAFY,YAAM,QAAS,UAAW,SAEnB,MAuCvB,IAAI,EAAoB,SAAUC,GAChC,IAAUC,EAAMD,GAEhB,IAAIE,EAAS,IAAaD,GAE1B,SAASA,EAAKpB,GACZ,IAAIsB,EAEJ,IAAgBC,KAAMH,IAEtBE,EAAQD,EAAOxD,KAAK0D,KAAMvB,IAEpBwB,yBAA2B,SAAUxB,GACzC,IACIyB,GADOzB,GAASsB,EAAMtB,OACTyB,MAEbA,IACFH,EAAMI,qBAENJ,EAAMK,eAAiB,IAASL,EAAMM,uBAAwBH,KAIlEH,EAAMK,eAAiB,WACrB,IAAIE,EAAWP,EAAMtB,MAAM6B,SACLP,EAAMQ,MAAMD,WAEVA,GACtBP,EAAMS,SAAS,CACbF,SAAUA,KAKhBP,EAAMU,WAAa,SAAUC,GAC3B,IAAIC,EAEAC,EAAeF,EAAME,aACrBC,EAAYH,EAAMG,UAElBC,EAAKf,EAAMtB,MACXsC,EAAqBD,EAAGE,UACxBC,EAAYH,EAAGG,UACfC,EAAOJ,EAAGI,KACVC,EAAML,EAAGK,IACTC,EAAmBN,EAAGM,iBACtBC,EAAQP,EAAGO,MACXC,EAAYpC,EAAO4B,EAAI,CAAC,YAAa,YAAa,OAAQ,MAAO,mBAAoB,UAErFR,EAAWP,EAAMQ,MAAMD,SACvBU,EAAYJ,EAAa,OAAQG,GACjCQ,EAAgB,IAAWP,GAAYL,EAAc,GAAI,IAAgBA,EAAa,GAAGa,OAAOR,EAAW,OAAiB,UAATE,GAAmB,IAAgBP,EAAa,GAAGa,OAAOR,EAAW,OAAiB,UAATE,GAAmB,IAAgBP,EAAa,GAAGa,OAAOR,EAAW,aAAcV,GAAW,IAAgBK,EAAa,GAAGa,OAAOR,EAAW,gBAAiBG,GAAM,IAAgBR,EAAa,GAAGa,OAAOR,EAAW,QAAuB,QAAdH,GAAsBF,GAAcM,GAEtcQ,EAAW,YAAKH,EAAW,CAAC,WAAY,QAAS,cACjDI,EAA2B,gBAAoB,MAAO,IAAS,GAAID,EAAU,CAC/EJ,MAAOA,EACPJ,UAAWM,IA7FnB,SAAyBP,EAAWvC,GAClC,IAAIkD,EAAYlD,EAAMkD,UAClBC,EAAe,GAAGJ,OAAOR,EAAW,QAExC,OAAkB,OAAdW,EACK,KAGL,YAAeA,GACV,YAAaA,EAAW,CAC7BV,UAAW,IAAWU,EAAUlD,MAAMwC,UAAWW,KAIjD,YAAejC,GACV,YAAaA,EAAkB,CACpCsB,UAAW,IAAWtB,EAAiBlB,MAAMwC,UAAWW,KAIxC,gBAAoB,OAAQ,CAC9CX,UAAW,IAAWW,EAAc,GAAGJ,OAAOR,EAAW,eAC3C,gBAAoB,IAAK,CACvCC,UAAW,GAAGO,OAAOR,EAAW,eACjB,gBAAoB,IAAK,CACxCC,UAAW,GAAGO,OAAOR,EAAW,eACjB,gBAAoB,IAAK,CACxCC,UAAW,GAAGO,OAAOR,EAAW,eACjB,gBAAoB,IAAK,CACxCC,UAAW,GAAGO,OAAOR,EAAW,gBAiE1Ba,CAAgBb,EAAWjB,EAAMtB,OAAQ0C,EAAmB,gBAAoB,MAAO,CACzFF,UAAW,GAAGO,OAAOR,EAAW,UAC/BG,GAAO,MAEV,GAAIpB,EAAM+B,kBAAmB,CAC3B,IAAIC,EAAqB,IAAW,GAAGP,OAAOR,EAAW,cAAe,IAAgB,GAAI,GAAGQ,OAAOR,EAAW,SAAUV,IAC3H,OAAoB,gBAAoB,MAAO,IAAS,GAAImB,EAAU,CACpER,UAAW,IAAW,GAAGO,OAAOR,EAAW,mBAAoBI,KAC7Dd,GAAyB,gBAAoB,MAAO,CACtD0B,IAAK,WACJN,GAA2B,gBAAoB,MAAO,CACvDT,UAAWc,EACXC,IAAK,aACJjC,EAAMtB,MAAMwD,WAGjB,OAAOP,GAGT,IAAIpB,EAAW7B,EAAM6B,SAEjB4B,EAlFR,SAAqB5B,EAAUJ,GAC7B,QAASI,KAAcJ,IAAUiC,MAAMC,OAAOlC,IAiFtBmC,CAAY/B,EADtB7B,EAAMyB,OASlB,OAPAH,EAAMQ,MAAQ,CACZD,SAAUA,IAAa4B,GAEzBnC,EAAMM,uBAAyBN,EAAMK,eAErCL,EAAME,yBAAyBxB,GAExBsB,EA6CT,OA1CA,IAAaF,EAAM,CAAC,CAClBmC,IAAK,oBACLvH,MAAO,WACLuF,KAAKI,mBAEN,CACD4B,IAAK,qBACLvH,MAAO,WACLuF,KAAKC,2BACLD,KAAKI,mBAEN,CACD4B,IAAK,uBACLvH,MAAO,WACLuF,KAAKG,uBAEN,CACD6B,IAAK,qBACLvH,MAAO,WACL,IAAI2F,EAAiBJ,KAAKI,eAEtBA,GAAkBA,EAAekC,QACnClC,EAAekC,WAGlB,CACDN,IAAK,kBACLvH,MAAO,WACL,SAAUuF,KAAKvB,QAASuB,KAAKvB,MAAMwD,YAEpC,CACDD,IAAK,SACLvH,MAAO,WACL,OAAoB,gBAAoB,IAAgB,KAAMuF,KAAKS,eAEnE,CAAC,CACHuB,IAAK,sBACLvH,MAAO,SAA6BkH,GAClChC,EAAmBgC,MAIhB9B,EAnIe,CAoItB,aAEF,EAAK0C,aAAe,CAClBjC,UAAU,EACVY,KAAM,UACNE,iBAAkB,IAEL,Q,YC1LA,MAjBf,WACE,IAAIoB,EAAY,mBAAS,IACrBC,EAAa,IAAeD,EAAW,GACvCE,EAAUD,EAAW,GACrBE,EAAaF,EAAW,GAU5B,OARA,qBAAU,WACR,IAAIG,EAAQ,IAAkBC,WAAU,SAAUC,GAChDH,EAAWG,MAEb,OAAO,WACL,OAAO,IAAkBC,YAAYH,MAEtC,IACIF,G,oFCaM,EAzBH,SAAejE,GACzB,IAAIkC,EAEAK,EAAY,GAAGQ,OAAO/C,EAAMuE,cAAe,SAC3CC,EAAM,IAAWjC,EAAW,GAAGQ,OAAOR,EAAW,KAAKQ,OAAO/C,EAAMyE,OAAQvC,EAAc,GAAI,YAAgBA,EAAa,GAAGa,OAAOR,EAAW,WAAYvC,EAAM0E,QAAS,YAAgBxC,EAAalC,EAAMwC,YAAaxC,EAAMwC,WAAY,YAAgBN,EAAa,GAAGa,OAAOR,EAAW,cAAevC,EAAMyE,MAAOvC,IAU9T,OAAoB,IAAMhC,cAAc,KAAM,CAC5CyE,MAAO3E,EAAM4E,UAAY5E,EAAMyE,KAAO,KACtCjC,UAAWgC,EACXK,QAXgB,WAChB7E,EAAM6E,QAAQ7E,EAAMyE,OAWpBK,WARmB,SAAwBnE,GAC3CX,EAAM8E,WAAWnE,EAAGX,EAAM6E,QAAS7E,EAAMyE,OAQzCM,SAAU,KACT/E,EAAMgF,WAAWhF,EAAMyE,KAAM,OAAqB,IAAMvE,cAAc,IAAK,CAC5E+E,IAAK,YACJjF,EAAMyE,SC5BI,EAON,GAPM,EAQH,GARG,EASD,GCAV,EAAuB,SAAUtD,GACnC,YAAU+D,EAAS/D,GAEnB,IAAIE,EAAS,YAAa6D,GAE1B,SAASA,IACP,IAAI5D,EAEJ,YAAgBC,KAAM2D,GAEtB,IAAK,IAAIC,EAAOC,UAAUhI,OAAQiI,EAAO,IAAIhJ,MAAM8I,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/ED,EAAKC,GAAQF,UAAUE,GA4DzB,OAzDAhE,EAAQD,EAAOxD,KAAK0H,MAAMlE,EAAQ,CAACE,MAAMwB,OAAOsC,KAC1CvD,MAAQ,CACZ0D,YAAa,IAGflE,EAAMmE,gBAAkB,SAAUzJ,GAChC,MAAO,GAAG+G,OAAO/G,EAAO,KAAK+G,OAAOzB,EAAMtB,MAAM0F,OAAOC,iBAGzDrE,EAAMsE,WAAa,SAAU5J,GAC3BsF,EAAMtB,MAAM4F,WAAWjC,OAAO3H,KAGhCsF,EAAMuE,aAAe,SAAUlF,GAC7BW,EAAMS,SAAS,CACbyD,YAAa7E,EAAEmF,OAAO9J,SAI1BsF,EAAMyE,WAAa,SAAUpF,GAC3B,IAAIqF,EAAc1E,EAAMtB,MACpBiG,EAAWD,EAAYC,SACvBC,EAAUF,EAAYE,QACtB3B,EAAgByB,EAAYzB,cAC5BiB,EAAclE,EAAMQ,MAAM0D,YAE1BS,GAA4B,KAAhBT,GAIZ7E,EAAEwF,gBAAkBxF,EAAEwF,cAAc3D,UAAUzB,QAAQ,GAAGgC,OAAOwB,EAAe,WAAa,GAAK5D,EAAEwF,cAAc3D,UAAUzB,QAAQ,GAAGgC,OAAOwB,EAAe,WAAa,KAI7KjD,EAAMS,SAAS,CACbyD,YAAa,KAGfU,EAAQ5E,EAAM8E,mBAGhB9E,EAAM+E,GAAK,SAAU1F,GAGC,KAFFW,EAAMQ,MAAM0D,cAM1B7E,EAAE2F,UAAY,GAA4B,UAAX3F,EAAE4F,OACnCjF,EAAMS,SAAS,CACbyD,YAAa,KAGflE,EAAMtB,MAAMkG,QAAQ5E,EAAM8E,oBAIvB9E,EAoHT,OAjHA,YAAa4D,EAAS,CAAC,CACrB3B,IAAK,gBACLvH,MAAO,WACL,IAAIwK,EAAcjF,KAAKO,MACnB0D,EAAcgB,EAAYhB,YAC1BpG,EAAUoH,EAAYpH,QAE1B,OAAQoG,GAAe9B,MAAM8B,GAAepG,EAAUuE,OAAO6B,KAE9D,CACDjC,IAAK,qBACLvH,MAAO,WACL,IAAIyK,EAAelF,KAAKvB,MACpB0G,EAAWD,EAAaC,SACxBC,EAAkBF,EAAaE,gBAEnC,OAAIA,EAAgBC,MAAK,SAAUlI,GACjC,OAAOA,EAAOd,aAAe8I,EAAS9I,cAE/B+I,EAGFA,EAAgB5D,OAAO,CAAC2D,EAAS9I,aAAaiJ,MAAK,SAAUC,EAAGC,GAKrE,OAHcrD,MAAMC,OAAOmD,IAAM,EAAInD,OAAOmD,KAE9BpD,MAAMC,OAAOoD,IAAM,EAAIpD,OAAOoD,SAI/C,CACDxD,IAAK,SACLvH,MAAO,WACL,IAAIgL,EAASzF,KAET0F,EAAe1F,KAAKvB,MACpB0G,EAAWO,EAAaP,SACxBhB,EAASuB,EAAavB,OACtBnB,EAAgB0C,EAAa1C,cAC7BqB,EAAaqB,EAAarB,WAC1BM,EAAUe,EAAaf,QACvBD,EAAWgB,EAAahB,SACxBiB,EAAuBD,EAAaC,qBACpCzB,EAAkBwB,EAAaxB,gBAC/B0B,EAAkBF,EAAaE,gBAC/BC,EAAWH,EAAaG,SACxB5B,EAAcjE,KAAKO,MAAM0D,YACzBjD,EAAY,GAAGQ,OAAOwB,EAAe,YACrC8C,EAASH,EACTI,EAAe,KACfC,EAAU,KACVC,EAAa,KAEjB,IAAK5B,IAAeM,EAClB,OAAO,KAGT,IAAIS,EAAkBpF,KAAKkG,qBAE3B,GAAI7B,GAAcyB,EAAQ,CACxB,IAAIK,EAAUf,EAAgBgB,KAAI,SAAUC,EAAKxL,GAC/C,OAAoB,IAAM8D,cAAcmH,EAAOQ,OAAQ,CACrDtE,IAAKnH,EACLJ,MAAO4L,EAAIhK,aACT6H,GAAmBuB,EAAOvB,iBAAiBmC,OAEjDN,EAA4B,IAAMpH,cAAcmH,EAAQ,CACtDD,SAAUA,EACV7E,UAAW4E,EACXW,YAAY,EACZtF,UAAW,GAAGO,OAAOR,EAAW,iBAChCwF,gBAAiB,WACjBC,0BAA0B,EAC1BhM,OAAQ0K,GAAYC,EAAgB,IAAI/I,WACxCiB,SAAU0C,KAAKqE,WACfqC,kBAAmB,SAA2BC,GAC5C,OAAOA,EAAYC,aAEpBT,GA6BL,OA1BIxB,IACED,IACFuB,EAAiC,kBAAbvB,EAAsC,IAAM/F,cAAc,SAAU,CACtFqG,KAAM,SACN1B,QAAStD,KAAK8E,GACd+B,QAAS7G,KAAK8E,GACde,SAAUA,EACV5E,UAAW,GAAGO,OAAOR,EAAW,yBAC/BmD,EAAO2C,iBAAgC,IAAMnI,cAAc,OAAQ,CACpE2E,QAAStD,KAAK8E,GACd+B,QAAS7G,KAAK8E,IACbJ,IAGLsB,EAAuB,IAAMrH,cAAc,MAAO,CAChDsC,UAAW,GAAGO,OAAOR,EAAW,kBAC/BmD,EAAO4C,QAAsB,IAAMpI,cAAc,QAAS,CAC3DkH,SAAUA,EACVb,KAAM,OACNvK,MAAOwJ,EACP3G,SAAU0C,KAAKsE,aACfuC,QAAS7G,KAAK8E,GACdkC,OAAQhH,KAAKwE,aACXL,EAAOjB,KAAM+C,IAGC,IAAMtH,cAAc,KAAM,CAC5CsC,UAAW,GAAGO,OAAOR,IACpB+E,EAAcC,OAIdrC,EA3LkB,CA4LzB,IAAMsD,WAER,EAAQ1E,aAAe,CACrB6C,gBAAiB,CAAC,KAAM,KAAM,KAAM,QAEvB,QC1Lf,SAAS8B,KAYT,SAASC,EAAc7H,EAAGiB,EAAO9B,GAC/B,IAAI0G,OAAwB,IAAN7F,EAAoBiB,EAAM4E,SAAW7F,EAC3D,OAAO8H,KAAKC,OAAO5I,EAAM6I,MAAQ,GAAKnC,GAAY,EAGpD,IAAI,EAA0B,SAAUvF,GACtC,YAAU2H,EAAY3H,GAEtB,IAAIE,EAAS,YAAayH,GAE1B,SAASA,EAAW9I,GAClB,IAAIsB,EAEJ,YAAgBC,KAAMuH,IAEtBxH,EAAQD,EAAOxD,KAAK0D,KAAMvB,IAEpB+I,gBAAkB,WACtB,OAAOJ,KAAKK,IAAI,EAAG1H,EAAMQ,MAAM1C,SAAWkC,EAAMtB,MAAMiJ,cAAgB,EAAI,KAG5E3H,EAAM4H,gBAAkB,WACtB,OAAOP,KAAKQ,IAAIT,OAAc5L,EAAWwE,EAAMQ,MAAOR,EAAMtB,OAAQsB,EAAMQ,MAAM1C,SAAWkC,EAAMtB,MAAMiJ,cAAgB,EAAI,KAG7H3H,EAAM8H,YAAc,SAAUhJ,EAAMiJ,GAClC,IAAI9G,EAAYjB,EAAMtB,MAAMuC,UACxB+G,EAAWlJ,GAAqB,IAAMF,cAAc,SAAU,CAChEqG,KAAM,SACN,aAAc8C,EACd7G,UAAW,GAAGO,OAAOR,EAAW,gBAOlC,MAJoB,mBAATnC,IACTkJ,EAAW,IAAMpJ,cAAcE,EAAM,YAAc,GAAIkB,EAAMtB,SAGxDsJ,GAGThI,EAAMiI,mBAAqB,SAAUC,GACnClI,EAAMmI,eAAiBD,GAGzBlI,EAAMoI,QAAU,SAAUjF,GACxB,MArDe,iBAFFzI,EAuDIyI,IArDUkF,SAAS3N,IAAU2M,KAAKC,MAAM5M,KAAWA,GAqD1CyI,IAASnD,EAAMQ,MAAM1C,QAvDrD,IAAmBpD,GA0DfsF,EAAMsI,yBAA2B,WAC/B,IAAI5D,EAAc1E,EAAMtB,MACpB6J,EAAkB7D,EAAY6D,gBAC9BnD,EAAWV,EAAYU,SAG3B,QAFYV,EAAY6C,OAEXnC,IAINmD,GAGTvI,EAAMwI,cAAgB,SAAUnJ,GAC1BA,EAAE2F,UAAY,GAAoB3F,EAAE2F,UAAY,GAClD3F,EAAEoJ,kBAINzI,EAAM0I,YAAc,SAAUrJ,GAC5B,IAAI3E,EAAQsF,EAAM8E,cAAczF,GAI5B3E,IAFoBsF,EAAMQ,MAAMmI,mBAGlC3I,EAAMS,SAAS,CACbkI,kBAAmBjO,IAInB2E,EAAE2F,UAAY,EAChBhF,EAAMuE,aAAa7J,GACV2E,EAAE2F,UAAY,EACvBhF,EAAMuE,aAAa7J,EAAQ,GAClB2E,EAAE2F,UAAY,GACvBhF,EAAMuE,aAAa7J,EAAQ,IAI/BsF,EAAM4I,eAAiB,SAAUzH,GAC/B,IAAIrD,EAAUkC,EAAMQ,MAAM1C,QACtB+K,EAAazB,EAAcjG,EAAMnB,EAAMQ,MAAOR,EAAMtB,OACxDZ,EAAUA,EAAU+K,EAAaA,EAAa/K,EAG3B,IAAf+K,IAEF/K,EAAUkC,EAAMQ,MAAM1C,SAGJ,iBAATqD,IACH,aAAcnB,EAAMtB,OACxBsB,EAAMS,SAAS,CACb2E,SAAUjE,IAIR,YAAanB,EAAMtB,OACvBsB,EAAMS,SAAS,CACb3C,QAASA,EACT6K,kBAAmB7K,KAKzBkC,EAAMtB,MAAMoK,iBAAiBhL,EAASqD,GAElC,aAAcnB,EAAMtB,OAASsB,EAAMtB,MAAMnB,UAC3CyC,EAAMtB,MAAMnB,SAASO,EAASqD,IAIlCnB,EAAMuE,aAAe,SAAUhF,GAC7B,IAAIuG,EAAW9F,EAAMtB,MAAMoH,SACvB3C,EAAO5D,EAEX,GAAIS,EAAMoI,QAAQjF,KAAU2C,EAAU,CACpC,IAAIiD,EAAc3B,OAAc5L,EAAWwE,EAAMQ,MAAOR,EAAMtB,OAE1DyE,EAAO4F,EACT5F,EAAO4F,EACE5F,EAAO,IAChBA,EAAO,GAGH,YAAanD,EAAMtB,OACvBsB,EAAMS,SAAS,CACb3C,QAASqF,EACTwF,kBAAmBxF,IAIvB,IAAIiC,EAAWpF,EAAMQ,MAAM4E,SAI3B,OAFApF,EAAMtB,MAAMnB,SAAS4F,EAAMiC,GAEpBjC,EAGT,OAAOnD,EAAMQ,MAAM1C,SAGrBkC,EAAMgJ,KAAO,WACPhJ,EAAMiJ,WACRjJ,EAAMuE,aAAavE,EAAMQ,MAAM1C,QAAU,IAI7CkC,EAAMrE,KAAO,WACPqE,EAAMkJ,WACRlJ,EAAMuE,aAAavE,EAAMQ,MAAM1C,QAAU,IAI7CkC,EAAMmJ,SAAW,WACfnJ,EAAMuE,aAAavE,EAAMyH,oBAG3BzH,EAAMoJ,SAAW,WACfpJ,EAAMuE,aAAavE,EAAM4H,oBAG3B5H,EAAMiJ,QAAU,WACd,OAAOjJ,EAAMQ,MAAM1C,QAAU,GAG/BkC,EAAMkJ,QAAU,WACd,OAAOlJ,EAAMQ,MAAM1C,QAAUsJ,OAAc5L,EAAWwE,EAAMQ,MAAOR,EAAMtB,QAG3EsB,EAAMqJ,WAAa,SAAUC,EAAOC,GAClC,GAAkB,UAAdD,EAAMrH,KAAsC,KAAnBqH,EAAME,SAAiB,CAClD,IAAK,IAAI3F,EAAOC,UAAUhI,OAAQ2N,EAAa,IAAI1O,MAAM8I,EAAO,EAAIA,EAAO,EAAI,GAAIG,EAAO,EAAGA,EAAOH,EAAMG,IACxGyF,EAAWzF,EAAO,GAAKF,UAAUE,GAGnCuF,EAAStF,WAAM,EAAQwF,KAI3BzJ,EAAM0J,eAAiB,SAAUrK,GAC/BW,EAAMqJ,WAAWhK,EAAGW,EAAMgJ,OAG5BhJ,EAAM2J,eAAiB,SAAUtK,GAC/BW,EAAMqJ,WAAWhK,EAAGW,EAAMrE,OAG5BqE,EAAM4J,mBAAqB,SAAUvK,GACnCW,EAAMqJ,WAAWhK,EAAGW,EAAMmJ,WAG5BnJ,EAAM6J,mBAAqB,SAAUxK,GACnCW,EAAMqJ,WAAWhK,EAAGW,EAAMoJ,WAG5BpJ,EAAM8J,WAAa,SAAUzK,GACvBA,EAAE2F,UAAY,GAA4B,UAAX3F,EAAE4F,MACnCjF,EAAMuE,aAAavE,EAAMQ,MAAMmI,oBAInC,IAAIoB,EAAcrL,EAAMnB,WAAa4J,EACnB,YAAazI,IAEZqL,GAEjBC,QAAQC,KAAK,2IAGf,IAAIC,EAAWxL,EAAMyL,eAEjB,YAAazL,IAEfwL,EAAWxL,EAAMZ,SAGnB,IAAIsM,EAAY1L,EAAM2L,gBAatB,MAXI,aAAc3L,IAEhB0L,EAAY1L,EAAM0G,UAGpB8E,EAAW7C,KAAKQ,IAAIqC,EAAU9C,EAAcgD,OAAW5O,EAAWkD,IAClEsB,EAAMQ,MAAQ,CACZ1C,QAASoM,EACTvB,kBAAmBuB,EACnB9E,SAAUgF,GAELpK,EA4XT,OAzXA,YAAawH,EAAY,CAAC,CACxBvF,IAAK,qBACLvH,MAAO,SAA4B4P,EAAWC,GAG5C,IAAItJ,EAAYhB,KAAKvB,MAAMuC,UAE3B,GAAIsJ,EAAUzM,UAAYmC,KAAKO,MAAM1C,SAAWmC,KAAKkI,eAAgB,CACnE,IAAIqC,EAAkBvK,KAAKkI,eAAesC,cAAc,IAAIhJ,OAAOR,EAAW,UAAUQ,OAAO8I,EAAUzM,UAErG0M,GAAmBE,SAASC,gBAAkBH,GAChDA,EAAgBI,UAIrB,CACD3I,IAAK,gBACLvH,MAAO,SAAuB2E,GAC5B,IAAIwL,EAAaxL,EAAEmF,OAAO9J,MACtBoQ,EAAW1D,OAAc5L,EAAWyE,KAAKO,MAAOP,KAAKvB,OACrDiK,EAAoB1I,KAAKO,MAAMmI,kBAanC,MAVmB,KAAfkC,EACMA,EACCzI,MAAMC,OAAOwI,IACdlC,EACCkC,GAAcC,EACfA,EAEAzI,OAAOwI,KAKlB,CACD5I,IAAK,qBACLvH,MAAO,WACL,IAAIyK,EAAelF,KAAKvB,MACpBqM,EAAkB5F,EAAa4F,gBAC/BxD,EAAQpC,EAAaoC,MACrByD,EAA+B7F,EAAa6F,6BAEhD,YAA+B,IAApBD,EACFA,EAGFxD,EAAQyD,IAEhB,CACD/I,IAAK,aACLvH,MAAO,SAAoBuQ,GACzB,IAAItF,EAAe1F,KAAKvB,MACpBwM,EAAWvF,EAAauF,SAExBC,GAAazH,EADAiC,EAAajC,YACFuH,EAAU,OAAQhL,KAAK6H,YAAYoD,EAAU,cACrEpF,GAAY7F,KAAKgJ,UACrB,OAAO,yBAAekC,GAAc,uBAAaA,EAAY,CAC3DrF,SAAUA,IACPqF,IAEN,CACDlJ,IAAK,aACLvH,MAAO,SAAoB0Q,GACzB,IAAIC,EAAepL,KAAKvB,MACpB4M,EAAWD,EAAaC,SAExBC,GAAa7H,EADA2H,EAAa3H,YACF0H,EAAU,OAAQnL,KAAK6H,YAAYwD,EAAU,cACrExF,GAAY7F,KAAKiJ,UACrB,OAAO,yBAAeqC,GAAc,uBAAaA,EAAY,CAC3DzF,SAAUA,IACPyF,IAEN,CACDtJ,IAAK,SACLvH,MAAO,WACL,IAAIgL,EAASzF,KAETuL,EAAevL,KAAKvB,MACpBuC,EAAYuK,EAAavK,UACzBC,EAAYsK,EAAatK,UACzBI,EAAQkK,EAAalK,MACrBwE,EAAW0F,EAAa1F,SACxB2F,EAAmBD,EAAaC,iBAChClE,EAAQiE,EAAajE,MACrBnD,EAASoH,EAAapH,OACtBmE,EAAkBiD,EAAajD,gBAC/BZ,EAAgB6D,EAAa7D,cAC7BrE,EAAYkI,EAAalI,UACzBoI,EAAYF,EAAaE,UACzBC,EAASH,EAAaG,OACtBjI,EAAa8H,EAAa9H,WAC1BkI,EAAsBJ,EAAaI,oBACnCC,EAAeL,EAAaK,aAC5BC,EAAeN,EAAaM,aAC5BlG,EAAuB4F,EAAa5F,qBACpCC,EAAkB2F,EAAa3F,gBAC/BR,EAAkBmG,EAAanG,gBAC/BH,EAAcjF,KAAKO,MACnB1C,EAAUoH,EAAYpH,QACtBsH,EAAWF,EAAYE,SACvBuD,EAAoBzD,EAAYyD,kBAEpC,IAAyB,IAArB8C,GAA6BlE,GAASnC,EACxC,OAAO,KAGT,IAAI0F,EAAW1D,OAAc5L,EAAWyE,KAAKO,MAAOP,KAAKvB,OACrDqN,EAAY,GACZ5C,EAAW,KACXC,EAAW,KACX4C,EAAa,KACbC,EAAY,KACZ/F,EAAa,KACbvB,EAAW4D,GAAmBA,EAAgB5D,SAC9CuH,EAAiBvE,EAAgB,EAAI,EACrCsD,EAAWnN,EAAU,EAAI,EAAIA,EAAU,EAAI,EAC3CsN,EAAWtN,EAAU,EAAIgN,EAAWhN,EAAU,EAAIgN,EAClDqB,EAA2B5R,OAAO6R,KAAKnM,KAAKvB,OAAO2N,QAAO,SAAUrD,EAAM/G,GAM5E,MALyB,UAArBA,EAAIqK,OAAO,EAAG,IAAuC,UAArBrK,EAAIqK,OAAO,EAAG,IAA0B,SAARrK,IAElE+G,EAAK/G,GAAOyD,EAAOhH,MAAMuD,IAGpB+G,IACN,IAEH,GAAI2C,EAqBF,OApBIhH,IAEAuB,EADsB,kBAAbvB,EACiB,IAAM/F,cAAc,SAAU,CACtDqG,KAAM,SACN1B,QAAStD,KAAK6J,WACdhD,QAAS7G,KAAK6J,YACb1F,EAAO2C,iBAEgB,IAAMnI,cAAc,OAAQ,CACpD2E,QAAStD,KAAK6J,WACdhD,QAAS7G,KAAK6J,YACbnF,GAGLuB,EAA0B,IAAMtH,cAAc,KAAM,CAClDyE,MAAOC,EAAY,GAAG7B,OAAO2C,EAAO4C,SAASvF,OAAO3D,EAAS,KAAK2D,OAAOqJ,GAAY,KACrF5J,UAAW,GAAGO,OAAOR,EAAW,kBAC/BiF,IAGe,IAAMtH,cAAc,KAAM,YAAS,CACrDsC,UAAW,IAAWD,EAAW,GAAGQ,OAAOR,EAAW,WAAY,YAAgB,GAAI,GAAGQ,OAAOR,EAAW,aAAc6E,GAAW5E,GACpII,MAAOA,EACP3C,IAAKsB,KAAKgI,oBACTkE,GAAwC,IAAMvN,cAAc,KAAM,CACnEyE,MAAOC,EAAYc,EAAOmI,UAAY,KACtChJ,QAAStD,KAAK+I,KACdvF,SAAUxD,KAAKgJ,UAAY,EAAI,KAC/BzF,WAAYvD,KAAKyJ,eACjBxI,UAAW,IAAW,GAAGO,OAAOR,EAAW,SAAU,YAAgB,GAAI,GAAGQ,OAAOR,EAAW,cAAehB,KAAKgJ,YAClH,iBAAkBhJ,KAAKgJ,WACtBhJ,KAAKuM,WAAWvB,IAAyB,IAAMrM,cAAc,KAAM,CACpEyE,MAAOC,EAAY,GAAG7B,OAAO3D,EAAS,KAAK2D,OAAOqJ,GAAY,KAC9D5J,UAAW,GAAGO,OAAOR,EAAW,kBAClB,IAAMrC,cAAc,QAAS,CAC3CqG,KAAM,OACNvK,MAAOiO,EACP7C,SAAUA,EACV2G,UAAWxM,KAAKuI,cAChB1B,QAAS7G,KAAKyI,YACdnL,SAAU0C,KAAKyI,YACfvH,KAAM,MACS,IAAMvC,cAAc,OAAQ,CAC3CsC,UAAW,GAAGO,OAAOR,EAAW,WAC/B,KAAM6J,GAAwB,IAAMlM,cAAc,KAAM,CACzDyE,MAAOC,EAAYc,EAAOsI,UAAY,KACtCnJ,QAAStD,KAAKtE,KACd8H,SAAUxD,KAAKgJ,UAAY,EAAI,KAC/BzF,WAAYvD,KAAK0J,eACjBzI,UAAW,IAAW,GAAGO,OAAOR,EAAW,SAAU,YAAgB,GAAI,GAAGQ,OAAOR,EAAW,cAAehB,KAAKiJ,YAClH,iBAAkBjJ,KAAKiJ,WACtBjJ,KAAK0M,WAAWvB,IAAYlF,GAGjC,GAAI4E,GAAY,EAAqB,EAAjBoB,EAAoB,CACtC,IAAIU,EAAa,CACfxI,OAAQA,EACRnB,cAAehC,EACfsC,QAAStD,KAAKsE,aACdf,WAAYvD,KAAKoJ,WACjB/F,UAAWA,EACXI,WAAYA,GAGToH,GACHiB,EAAUlQ,KAAmB,IAAM+C,cAAc,EAAO,YAAS,GAAIgO,EAAY,CAC/E3K,IAAK,UACLkB,KAAM2H,EACN5J,UAAW,GAAGO,OAAOR,EAAW,iBAIpC,IAAK,IAAInG,EAAI,EAAGA,GAAKgQ,EAAUhQ,GAAK,EAAG,CACrC,IAAIsI,EAAStF,IAAYhD,EACzBiR,EAAUlQ,KAAmB,IAAM+C,cAAc,EAAO,YAAS,GAAIgO,EAAY,CAC/E3K,IAAKnH,EACLqI,KAAMrI,EACNsI,OAAQA,WAGP,CACL,IAAIyJ,EAAgBlF,EAAgBvD,EAAO0I,OAAS1I,EAAO2I,OACvDC,EAAgBrF,EAAgBvD,EAAO6I,OAAS7I,EAAO8I,OAEvDtB,IACFzC,EAAwB,IAAMvK,cAAc,KAAM,CAChDyE,MAAOC,EAAYuJ,EAAgB,KACnC5K,IAAK,OACLsB,QAAStD,KAAKkJ,SACd1F,SAAU,IACVD,WAAYvD,KAAK2J,mBACjB1I,UAAW,IAAW,GAAGO,OAAOR,EAAW,cAAe,YAAgB,GAAI,GAAGQ,OAAOR,EAAW,4BAA6B4K,KAC/HnI,EAAWzD,KAAKwH,kBAAmB,YAAaxH,KAAK6H,YAAY+D,EAAc,eAClFzC,EAAwB,IAAMxK,cAAc,KAAM,CAChDyE,MAAOC,EAAY0J,EAAgB,KACnC/K,IAAK,OACLwB,SAAU,IACVF,QAAStD,KAAKmJ,SACd5F,WAAYvD,KAAK4J,mBACjB3I,UAAW,IAAW,GAAGO,OAAOR,EAAW,cAAe,YAAgB,GAAI,GAAGQ,OAAOR,EAAW,4BAA6B6K,KAC/HpI,EAAWzD,KAAK2H,kBAAmB,YAAa3H,KAAK6H,YAAYgE,EAAc,gBAGpFG,EAAyB,IAAMrN,cAAc,EAAO,CAClDwF,OAAQA,EACR+I,MAAM,EACNlK,cAAehC,EACfsC,QAAStD,KAAKsE,aACdf,WAAYvD,KAAKoJ,WACjBpH,IAAK6I,EACL3H,KAAM2H,EACN1H,QAAQ,EACRE,UAAWA,EACXI,WAAYA,IAEdsI,EAA0B,IAAMpN,cAAc,EAAO,CACnDwF,OAAQA,EACRnB,cAAehC,EACfsC,QAAStD,KAAKsE,aACdf,WAAYvD,KAAKoJ,WACjBpH,IAAK,EACLkB,KAAM,EACNC,QAAQ,EACRE,UAAWA,EACXI,WAAYA,IAEd,IAAI0J,EAAO/F,KAAKK,IAAI,EAAG5J,EAAUoO,GAC7BmB,EAAQhG,KAAKQ,IAAI/J,EAAUoO,EAAgBpB,GAE3ChN,EAAU,GAAKoO,IACjBmB,EAAQ,EAAqB,EAAjBnB,GAGVpB,EAAWhN,GAAWoO,IACxBkB,EAAOtC,EAA4B,EAAjBoB,GAGpB,IAAK,IAAIxQ,EAAK0R,EAAM1R,GAAM2R,EAAO3R,GAAM,EAAG,CACxC,IAAI4R,EAAUxP,IAAYpC,EAE1BqQ,EAAUlQ,KAAmB,IAAM+C,cAAc,EAAO,CACtDwF,OAAQA,EACRnB,cAAehC,EACfsC,QAAStD,KAAKsE,aACdf,WAAYvD,KAAKoJ,WACjBpH,IAAKvG,EACLyH,KAAMzH,EACN0H,OAAQkK,EACRhK,UAAWA,EACXI,WAAYA,KAIZ5F,EAAU,GAAsB,EAAjBoO,GAAkC,IAAZpO,IACvCiO,EAAU,GAAK,uBAAaA,EAAU,GAAI,CACxC7K,UAAW,GAAGO,OAAOR,EAAW,2BAElC8K,EAAUwB,QAAQpE,IAGhB2B,EAAWhN,GAA4B,EAAjBoO,GAAsBpO,IAAYgN,EAAW,IACrEiB,EAAUA,EAAUjQ,OAAS,GAAK,uBAAaiQ,EAAUA,EAAUjQ,OAAS,GAAI,CAC9EoF,UAAW,GAAGO,OAAOR,EAAW,4BAElC8K,EAAUlQ,KAAKuN,IAGJ,IAATgE,GACFrB,EAAUwB,QAAQvB,GAGhBqB,IAAUvC,GACZiB,EAAUlQ,KAAKoQ,GAInB,IAAIuB,GAAY,KAEZ9B,IACF8B,GAAyB,IAAM5O,cAAc,KAAM,CACjDsC,UAAW,GAAGO,OAAOR,EAAW,gBAC/ByK,EAAUnE,EAAO,CAAW,IAAVA,EAAc,GAAKzJ,EAAU,GAAKsH,EAAW,EAAGtH,EAAUsH,EAAWmC,EAAQA,EAAQzJ,EAAUsH,MAGtH,IAAIqI,IAAgBxN,KAAKgJ,YAAc6B,EACnC4C,IAAgBzN,KAAKiJ,YAAc4B,EACvC,OAAoB,IAAMlM,cAAc,KAAM,YAAS,CACrDsC,UAAW,IAAWD,EAAWC,EAAW,YAAgB,GAAI,GAAGO,OAAOR,EAAW,aAAc6E,IACnGxE,MAAOA,EACPqM,aAAc,eACdhP,IAAKsB,KAAKgI,oBACTkE,GAA2BqB,GAAwB,IAAM5O,cAAc,KAAM,CAC9EyE,MAAOC,EAAYc,EAAOmI,UAAY,KACtChJ,QAAStD,KAAK+I,KACdvF,SAAUgK,GAAe,KAAO,EAChCjK,WAAYvD,KAAKyJ,eACjBxI,UAAW,IAAW,GAAGO,OAAOR,EAAW,SAAU,YAAgB,GAAI,GAAGQ,OAAOR,EAAW,aAAcwM,KAC5G,gBAAiBA,IAChBxN,KAAKuM,WAAWvB,IAAYc,EAAwB,IAAMnN,cAAc,KAAM,CAC/EyE,MAAOC,EAAYc,EAAOsI,UAAY,KACtCnJ,QAAStD,KAAKtE,KACd8H,SAAUiK,GAAe,KAAO,EAChClK,WAAYvD,KAAK0J,eACjBzI,UAAW,IAAW,GAAGO,OAAOR,EAAW,SAAU,YAAgB,GAAI,GAAGQ,OAAOR,EAAW,aAAcyM,KAC5G,gBAAiBA,IAChBzN,KAAK0M,WAAWvB,IAAyB,IAAMxM,cAAc,EAAS,CACvEkH,SAAUA,EACV1B,OAAQA,EACRnB,cAAehC,EACf2E,qBAAsBA,EACtBC,gBAAiBA,EACjBvB,WAAYrE,KAAK2N,qBAAuB3N,KAAK2I,eAAiB,KAC9D9K,QAASA,EACTsH,SAAUA,EACVC,gBAAiBA,EACjBT,QAAS3E,KAAKqI,2BAA6BrI,KAAKsE,aAAe,KAC/DI,SAAUA,QAGZ,CAAC,CACH1C,IAAK,2BACLvH,MAAO,SAAkCgE,EAAO6L,GAC9C,IAAIsD,EAAW,GAUf,GARI,YAAanP,IACfmP,EAAS/P,QAAUY,EAAMZ,QAErBY,EAAMZ,UAAYyM,EAAUzM,UAC9B+P,EAASlF,kBAAoBkF,EAAS/P,UAItC,aAAcY,GAASA,EAAM0G,WAAamF,EAAUnF,SAAU,CAChE,IAAItH,EAAUyM,EAAUzM,QACpB+K,EAAazB,EAAc1I,EAAM0G,SAAUmF,EAAW7L,GAC1DZ,EAAUA,EAAU+K,EAAaA,EAAa/K,EAExC,YAAaY,IACjBmP,EAAS/P,QAAUA,EACnB+P,EAASlF,kBAAoB7K,GAG/B+P,EAASzI,SAAW1G,EAAM0G,SAG5B,OAAOyI,MAIJrG,EArmBqB,CAsmB5B,IAAMN,WAER,EAAW1E,aAAe,CACxB2H,eAAgB,EAChB5C,MAAO,EACP8C,gBAAiB,GACjB9M,SAAU4J,EACVjG,UAAW,GACX2E,gBAAiB,YACjB5E,UAAW,gBACX2E,qBAAsB,KACtB6F,kBAAkB,EAClBG,qBAAqB,EACrBrD,iBAAiB,EACjBZ,eAAe,EACfrE,WAAW,EACXwF,iBAAkB3B,EAClB/C,OCxpBa,CAEbC,eAAgB,MAChB2C,QAAS,KACTD,gBAAiB,KACjB5D,KAAM,IAENoJ,UAAW,MACXG,UAAW,MACXK,OAAQ,SACRG,OAAQ,SACRJ,OAAQ,SACRG,OAAQ,UD6oBR3L,MAAO,GACPoC,WAloBF,SAA2BP,EAAM8B,EAAM6I,GACrC,OAAOA,GAkoBP9C,6BAA8B,IAEjB,Q,oJE3pBX+C,GAAW,GAAGtM,OAFD,ogCAEoB,KAAKA,OADzB,0tBAC4CuM,MAAM,WAMnE,SAAS,GAAM/L,EAAKgM,GAClB,OAA+B,IAAxBhM,EAAIxC,QAAQwO,GAGN,SAASC,GAAUxP,GAChC,IAAIyP,EAAWrK,UAAUhI,OAAS,QAAsBN,IAAjBsI,UAAU,IAAmBA,UAAU,GAC1EsK,EAAQ,GAQZ,OAPA7T,OAAO6R,KAAK1N,GAAO2P,SAAQ,SAAUpM,GAC/B,GAAMA,EAXG,SAYXmM,EAAMnM,GAAOvD,EAAMuD,GACTkM,IAAaJ,GAASO,SAASrM,KAAQ,GAAMA,EAZ5C,WAaXmM,EAAMnM,GAAOvD,EAAMuD,OAGhBmM,E,iBCtBT,SAASG,GAAQC,EAAQC,GACvB,IAAIrC,EAAO7R,OAAO6R,KAAKoC,GAEvB,GAAIjU,OAAOmF,sBAAuB,CAChC,IAAIgP,EAAUnU,OAAOmF,sBAAsB8O,GACvCC,IAAgBC,EAAUA,EAAQC,QAAO,SAAUC,GACrD,OAAOrU,OAAOsU,yBAAyBL,EAAQI,GAAKE,eAEtD1C,EAAKvQ,KAAKoI,MAAMmI,EAAMsC,GAGxB,OAAOtC,EAGT,SAAS2C,GAAcvK,GACrB,IAAK,IAAI1J,EAAI,EAAGA,EAAIgJ,UAAUhI,OAAQhB,IAAK,CACzC,IAAIkU,EAAyB,MAAhBlL,UAAUhJ,GAAagJ,UAAUhJ,GAAK,GAE/CA,EAAI,EACNyT,GAAQhU,OAAOyU,IAAS,GAAMX,SAAQ,SAAUpM,GAC9CgN,GAAgBzK,EAAQvC,EAAK+M,EAAO/M,OAE7B1H,OAAO2U,0BAChB3U,OAAO4U,iBAAiB3K,EAAQjK,OAAO2U,0BAA0BF,IAEjET,GAAQhU,OAAOyU,IAASX,SAAQ,SAAUpM,GACxC1H,OAAOC,eAAegK,EAAQvC,EAAK1H,OAAOsU,yBAAyBG,EAAQ/M,OAKjF,OAAOuC,EAGT,SAASyK,GAAgBjR,EAAKiE,EAAKvH,GAYjC,OAXIuH,KAAOjE,EACTzD,OAAOC,eAAewD,EAAKiE,EAAK,CAC9BvH,MAAOA,EACPoU,YAAY,EACZM,cAAc,EACdC,UAAU,IAGZrR,EAAIiE,GAAOvH,EAGNsD,EAUT,IAAIsR,GAAS,cAAiB,SAAUjS,EAAMsB,GAC5C,IAAI4Q,EAASlS,EAAKkS,OACdC,EAASnS,EAAKmS,OACdtN,EAAW7E,EAAK6E,SAChBjB,EAAY5D,EAAK4D,UACjBwO,EAAgBpS,EAAKoS,cACrBC,EAAa,GACbC,EAAa,CACfC,QAAS,OACTC,cAAe,UAkBjB,YAferU,IAAXgU,IACFE,EAAa,CACXH,OAAQA,EACRO,SAAU,WACVC,SAAU,UAEZJ,EAAaZ,GAAcA,GAAc,GAAIY,GAAa,GAAI,CAC5DK,UAAW,cAAcvO,OAAO+N,EAAQ,OACxCM,SAAU,WACV1C,KAAM,EACNC,MAAO,EACP4C,IAAK,KAIF,gBAAoB,MAAO,CAChC3O,MAAOoO,GACN,gBAAoB,KAAgB,CACrCQ,SAAU,SAAkBvP,GACPA,EAAMwP,cAELV,GAClBA,MAGH,gBAAoB,MAAO,CAC5BnO,MAAOqO,EACPzO,UAAW,IAAW+N,GAAgB,GAAI,GAAGxN,OAAOR,EAAW,iBAAkBA,IACjFtC,IAAKA,GACJuD,QAELoN,GAAOvQ,YAAc,SACN,UCpGXqR,GAAM,SAAa7G,GACrB,OAAQ8G,WAAW9G,EAAU,KAG3B+G,GAAM,SAAaC,GACrB,OAAOC,aAAaD,IAaP,SAASE,GAAWlH,GACjC,OAAO6G,GAAI7G,GCnBb,SAASmH,GAAQ1S,GAaf,OATE0S,GADoB,mBAAXxV,QAAoD,iBAApBA,OAAOC,SACtC,SAAiB6C,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAX9C,QAAyB8C,EAAIvB,cAAgBvB,QAAU8C,IAAQ9C,OAAOmB,UAAY,gBAAkB2B,IAI9GA,GAkBjB,SAAS2S,GAAgBC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAI/T,UAAU,qCAIxB,SAASgU,GAAkBtM,EAAQ9F,GACjC,IAAK,IAAI5D,EAAI,EAAGA,EAAI4D,EAAM5C,OAAQhB,IAAK,CACrC,IAAIiW,EAAarS,EAAM5D,GACvBiW,EAAWjC,WAAaiC,EAAWjC,aAAc,EACjDiC,EAAW3B,cAAe,EACtB,UAAW2B,IAAYA,EAAW1B,UAAW,GACjD9U,OAAOC,eAAegK,EAAQuM,EAAW9O,IAAK8O,IAyBlD,SAASC,GAAgB/U,EAAGsD,GAM1B,OALAyR,GAAkBzW,OAAO0W,gBAAkB,SAAyBhV,EAAGsD,GAErE,OADAtD,EAAEiV,UAAY3R,EACPtD,IAGcA,EAAGsD,GAG5B,SAAS4R,GAAaC,GACpB,IAAIC,EAkCN,WACE,GAAuB,oBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUC,KAAM,OAAO,EACnC,GAAqB,mBAAVC,MAAsB,OAAO,EAExC,IAEE,OADAC,KAAKrV,UAAUC,SAASC,KAAK+U,QAAQC,UAAUG,KAAM,IAAI,iBAClD,EACP,MAAOrS,GACP,OAAO,GA3CuBsS,GAEhC,OAAO,WACL,IACIC,EADAC,EAAQC,GAAgBV,GAG5B,GAAIC,EAA2B,CAC7B,IAAIU,EAAYD,GAAgB7R,MAAMxD,YAEtCmV,EAASN,QAAQC,UAAUM,EAAO/N,UAAWiO,QAE7CH,EAASC,EAAM5N,MAAMhE,KAAM6D,WAG7B,OAAOkO,GAA2B/R,KAAM2R,IAI5C,SAASI,GAA2BC,EAAM1V,GACxC,OAAIA,GAA2B,WAAlBmU,GAAQnU,IAAsC,mBAATA,EAOpD,SAAgC0V,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAG3B,OAAOD,EARAE,CAAuBF,GAHrB1V,EA2BX,SAASuV,GAAgB7V,GAIvB,OAHA6V,GAAkBvX,OAAO0W,eAAiB1W,OAAO6X,eAAiB,SAAyBnW,GACzF,OAAOA,EAAEiV,WAAa3W,OAAO6X,eAAenW,KAEvBA,GDzHH,oBAAXoW,QAA0B,0BAA2BA,SAC9DjC,GAAM,SAAa7G,GACjB,OAAO8I,OAAOC,sBAAsB/I,IAGtC+G,GAAM,SAAaiC,GACjB,OAAOF,OAAOG,qBAAqBD,KAOvC9B,GAAWlO,OAAS+N,GCoHpB,SAASmC,GAASpT,GAChB,MAAO,YAAaA,EAAIA,EAAEqT,QAAQ,GAAGC,MAAQtT,EAAEsT,MAGjD,IAAI,GAAyB,SAAU9S,IAxFvC,SAAmB+S,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAI/V,UAAU,sDAGtB8V,EAASvW,UAAY9B,OAAOuY,OAAOD,GAAcA,EAAWxW,UAAW,CACrEI,YAAa,CACX/B,MAAOkY,EACPvD,UAAU,EACVD,cAAc,KAGdyD,GAAY7B,GAAgB4B,EAAUC,GA6E1CE,CAAUC,EAAWnT,GAErB,IAjGoBgR,EAAaoC,EAAYC,EAiGzCnT,EAASoR,GAAa6B,GAE1B,SAASA,IACP,IAAIhT,EA6KJ,OA3KA2Q,GAAgB1Q,KAAM+S,IAEtBhT,EAAQD,EAAOkE,MAAMhE,KAAM6D,YACrBqP,QAAU,KAChBnT,EAAMoT,aAAe,cACrBpT,EAAMqT,SAAW,cACjBrT,EAAMsT,eAAiB,KACvBtT,EAAMQ,MAAQ,CACZ+S,UAAU,EACVZ,MAAO,KACPa,SAAU,KACVC,SAAS,GAGXzT,EAAM0T,YAAc,WAClBlD,aAAaxQ,EAAMsT,gBAEnBtT,EAAMS,SAAS,CACbgT,SAAS,IAGXzT,EAAMsT,eAAiBjD,YAAW,WAChCrQ,EAAMS,SAAS,CACbgT,SAAS,MAEV,MAGLzT,EAAM2T,sBAAwB,SAAUtU,GACtCA,EAAEoJ,kBAGJzI,EAAM4T,qBAAuB,SAAUvU,GACrCA,EAAEwU,kBACFxU,EAAEoJ,kBAIJzI,EAAM8T,YAAc,WAClBzB,OAAO0B,iBAAiB,YAAa/T,EAAMgU,aAC3C3B,OAAO0B,iBAAiB,UAAW/T,EAAMiU,WAEzCjU,EAAMqT,SAASvV,QAAQiW,iBAAiB,YAAa/T,EAAMgU,aAE3DhU,EAAMqT,SAASvV,QAAQiW,iBAAiB,WAAY/T,EAAMiU,YAG5DjU,EAAMkU,aAAe,WACnB7B,OAAO8B,oBAAoB,YAAanU,EAAMgU,aAC9C3B,OAAO8B,oBAAoB,UAAWnU,EAAMiU,WAE5CjU,EAAMoT,aAAatV,QAAQqW,oBAAoB,aAAcnU,EAAM2T,uBAEnE3T,EAAMqT,SAASvV,QAAQqW,oBAAoB,aAAcnU,EAAMoU,aAE/DpU,EAAMqT,SAASvV,QAAQqW,oBAAoB,YAAanU,EAAMgU,aAE9DhU,EAAMqT,SAASvV,QAAQqW,oBAAoB,WAAYnU,EAAMiU,WAE7D,GAAI1R,OAAOvC,EAAMmT,UAInBnT,EAAMoU,YAAc,SAAU/U,GAC5B,IAAIgV,EAAcrU,EAAMtB,MAAM2V,YAE9BrU,EAAMS,SAAS,CACb8S,UAAU,EACVZ,MAAOF,GAASpT,GAChBmU,SAAUxT,EAAMsU,WAGlBD,IAEArU,EAAM8T,cAENzU,EAAEwU,kBACFxU,EAAEoJ,kBAGJzI,EAAMgU,YAAc,SAAU3U,GAC5B,IAAI6F,EAAclF,EAAMQ,MACpB+S,EAAWrO,EAAYqO,SACvBZ,EAAQzN,EAAYyN,MACpBa,EAAWtO,EAAYsO,SACvBe,EAAWvU,EAAMtB,MAAM6V,SAG3B,GAFA,GAAIhS,OAAOvC,EAAMmT,SAEbI,EAAU,CACZ,IACIiB,EAAShB,GADCf,GAASpT,GAAKsT,GAGxB8B,EAAoBzU,EAAM0U,uBAE1BC,EAAoB3U,EAAM4U,uBAE1BC,EAAMF,EAAoBH,EAASG,EAAoB,EACvDG,EAAezN,KAAK0N,KAAKF,EAAMJ,GACnCzU,EAAMmT,QAAU,IAAI,WAClBoB,EAASO,QAKf9U,EAAMiU,UAAY,WAChB,IAAIe,EAAahV,EAAMtB,MAAMsW,WAE7BhV,EAAMS,SAAS,CACb8S,UAAU,IAGZyB,IAEAhV,EAAMkU,gBAIRlU,EAAMiV,cAAgB,WACpB,IAAIvQ,EAAc1E,EAAMtB,MACpB6Q,EAAS7K,EAAY6K,OAErB2F,EAAa3F,EADL7K,EAAYyQ,MACU,GAGlC,OAFAD,EAAa7N,KAAKK,IAAIwN,EAxIb,IAyITA,EAAa7N,KAAKQ,IAAIqN,EAAY3F,EAAS,GACpClI,KAAKC,MAAM4N,IAGpBlV,EAAM0U,qBAAuB,WAC3B,IAAIvP,EAAenF,EAAMtB,MAGzB,OAFmByG,EAAaiQ,aACnBjQ,EAAaoK,QACM,GAGlCvP,EAAM4U,qBAAuB,WAK3B,OAJa5U,EAAMtB,MAAM6Q,OAERvP,EAAMiV,iBAEO,GAGhCjV,EAAMsU,OAAS,WACb,IAAIe,EAAYrV,EAAMtB,MAAM2W,UAExBZ,EAAoBzU,EAAM0U,uBAE1BC,EAAoB3U,EAAM4U,uBAE9B,OAAkB,IAAdS,GAAyC,IAAtBZ,EACd,EAGCY,EAAYZ,EACTE,GAIf3U,EAAMsV,WAAa,WACjB,IAAI7B,EAAUzT,EAAMQ,MAAMiT,QACtB9N,EAAe3F,EAAMtB,MAIzB,QAHaiH,EAAa4J,QACP5J,EAAayP,eAMzB3B,GAGFzT,EA+DT,OAhVoB6Q,EAoRPmC,GApRoBC,EAoRT,CAAC,CACvBhR,IAAK,oBACLvH,MAAO,WACLuF,KAAKmT,aAAatV,QAAQiW,iBAAiB,aAAc9T,KAAK0T,uBAC9D1T,KAAKoT,SAASvV,QAAQiW,iBAAiB,aAAc9T,KAAKmU,eAE3D,CACDnS,IAAK,qBACLvH,MAAO,SAA4B4P,GAC7BA,EAAU+K,YAAcpV,KAAKvB,MAAM2W,WACrCpV,KAAKyT,gBAGR,CACDzR,IAAK,uBACLvH,MAAO,WACLuF,KAAKiU,eACL1D,aAAavQ,KAAKqT,kBAGnB,CACDrR,IAAK,SACLvH,MAAO,WACL,IA1UmBsD,EAAKiE,EAAKvH,EA0UzB6Y,EAAWtT,KAAKO,MAAM+S,SACtBtS,EAAYhB,KAAKvB,MAAMuC,UACvBsU,EAAatV,KAAKgV,gBAClBhF,EAAMhQ,KAAKqU,SACXb,EAAUxT,KAAKqV,aACnB,OAAO,gBAAoB,MAAO,CAChC3W,IAAKsB,KAAKmT,aACVlS,UAAW,GAAGO,OAAOR,EAAW,cAChCK,MAAO,CACLkU,MAAO,EACPvF,IAAK,EACLwF,OAAQ,EACRpI,MAAO,EACPyC,SAAU,WACVF,QAAS6D,EAAU,KAAO,QAE5BW,YAAanU,KAAK2T,qBAClBI,YAAa/T,KAAKyT,aACjB,gBAAoB,MAAO,CAC5B/U,IAAKsB,KAAKoT,SACVnS,UAAW,IAAW,GAAGO,OAAOR,EAAW,qBA9V1BjD,EA8V+D,GA9V1DiE,EA8V8D,GAAGR,OAAOR,EAAW,2BA9V9EvG,EA8V0G6Y,EA7VvItR,KAAOjE,EACTzD,OAAOC,eAAewD,EAAKiE,EAAK,CAC9BvH,MAAOA,EACPoU,YAAY,EACZM,cAAc,EACdC,UAAU,IAGZrR,EAAIiE,GAAOvH,EAGNsD,IAmVDsD,MAAO,CACLkU,MAAO,OACPjG,OAAQgG,EACRtF,IAAKA,EACL7C,KAAM,EACN0C,SAAU,WACV4F,WAAY,qBACZC,aAAc,GACdC,OAAQ,UACRC,WAAY,QAEdzB,YAAanU,KAAKmU,oBA1URtD,GAAkBD,EAAYxU,UAAW4W,GACrDC,GAAapC,GAAkBD,EAAaqC,GA8UzCF,EAlPoB,CAmP3B,aC/XK,SAAS,GAAK3V,GACnB,IAAI6E,EAAW7E,EAAK6E,SAChB4T,EAASzY,EAAKyY,OACdC,EAAU,eAAkB,SAAU7N,GACxC4N,EAAO5N,KACN,IACH,OAAO,eAAmBhG,EAAU,CAClCvD,IAAKoX,I,4BCFT,SAAS,GAAkBvR,EAAQ9F,GACjC,IAAK,IAAI5D,EAAI,EAAGA,EAAI4D,EAAM5C,OAAQhB,IAAK,CACrC,IAAIiW,EAAarS,EAAM5D,GACvBiW,EAAWjC,WAAaiC,EAAWjC,aAAc,EACjDiC,EAAW3B,cAAe,EACtB,UAAW2B,IAAYA,EAAW1B,UAAW,GACjD9U,OAAOC,eAAegK,EAAQuM,EAAW9O,IAAK8O,IAWlD,IAuBe,GAvBa,WAC1B,SAASiF,KAxBX,SAAyBpF,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAI/T,UAAU,qCAuBpB,CAAgBmD,KAAM+V,GAEtB/V,KAAKgW,KAAO,GACZhW,KAAKgW,KAAK5Z,UAAY,KAZ1B,IAAsBwU,EAAaoC,EAAYC,EA2B7C,OA3BoBrC,EAePmF,GAfoB/C,EAeV,CAAC,CACtBhR,IAAK,MACLvH,MAAO,SAAauH,EAAKvH,GACvBuF,KAAKgW,KAAKhU,GAAOvH,IAElB,CACDuH,IAAK,MACLvH,MAAO,SAAauH,GAClB,OAAOhC,KAAKgW,KAAKhU,QAtBL,GAAkB4O,EAAYxU,UAAW4W,GACrDC,GAAa,GAAkBrC,EAAaqC,GAyBzC8C,EApBmB,GCvB5B,SAASpb,GAAeC,EAAKC,GAC3B,OAqDF,SAAyBD,GACvB,GAAIE,MAAMC,QAAQH,GAAM,OAAOA,EAtDxBI,CAAgBJ,IA0BzB,SAA+BA,EAAKC,GAClC,GAAsB,oBAAXI,UAA4BA,OAAOC,YAAYZ,OAAOM,IAAO,OACxE,IAAIO,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKC,EAET,IACE,IAAK,IAAiCC,EAA7BC,EAAKb,EAAIK,OAAOC,cAAmBE,GAAMI,EAAKC,EAAGC,QAAQC,QAChER,EAAKS,KAAKJ,EAAGf,QAETI,GAAKM,EAAKU,SAAWhB,GAH8CO,GAAK,IAK9E,MAAOU,GACPT,GAAK,EACLC,EAAKQ,EACL,QACA,IACOV,GAAsB,MAAhBK,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIJ,EAAI,MAAMC,GAIlB,OAAOH,EAlDwBY,CAAsBnB,EAAKC,IAO5D,SAAqCmB,EAAGC,GACtC,IAAKD,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAOE,GAAkBF,EAAGC,GACvD,IAAIE,EAAI7B,OAAO8B,UAAUC,SAASC,KAAKN,GAAGO,MAAM,GAAI,GAC1C,WAANJ,GAAkBH,EAAEQ,cAAaL,EAAIH,EAAEQ,YAAYC,MACvD,GAAU,QAANN,GAAqB,QAANA,EAAa,OAAOrB,MAAM4B,KAAKV,GAClD,GAAU,cAANG,GAAqB,2CAA2CQ,KAAKR,GAAI,OAAOD,GAAkBF,EAAGC,GAbzCW,CAA4BhC,EAAKC,IAGnG,WACE,MAAM,IAAIgC,UAAU,6IAJmFC,GAgBzG,SAASZ,GAAkBtB,EAAKmC,IACnB,MAAPA,GAAeA,EAAMnC,EAAIiB,UAAQkB,EAAMnC,EAAIiB,QAE/C,IAAK,IAAIhB,EAAI,EAAGmC,EAAO,IAAIlC,MAAMiC,GAAMlC,EAAIkC,EAAKlC,IAC9CmC,EAAKnC,GAAKD,EAAIC,GAGhB,OAAOmC,EAsCM,SAASiZ,GAAWC,EAAQC,EAAWC,GACpD,IACI5Y,EAAmB7C,GADD,WAAe,GACkB,GACnD0b,EAAc7Y,EAAiB,GAC/B8Y,EAAiB9Y,EAAiB,GAElC+Y,EAAc,iBAAO,IAAIC,KACzBC,EAAa,iBAAO,IAAI,IACxBC,EAAoB,iBAAO,GAE/B,SAASC,IACPD,EAAkB7Y,SAAW,EAC7B,IAAI+Y,EAAYF,EAAkB7Y,QAClCgZ,QAAQC,UAAUC,MAAK,WAEjBH,IAAcF,EAAkB7Y,UACpC0Y,EAAY1Y,QAAQuQ,SAAQ,SAAUP,EAAS7L,GAC7C,GAAI6L,GAAWA,EAAQmJ,aAAc,CACnC,IAAIC,GC3EsBhP,ED2EI4F,aC1ElBqJ,YACXjP,EAGF,KAASkP,YAAYlP,GDuEhBiI,EAAe+G,EAAY/G,aAE3BuG,EAAW5Y,QAAQuZ,IAAIpV,KAASkO,GAClCuG,EAAW5Y,QAAQwZ,IAAIrV,EAAKiV,EAAY/G,cC/ErC,IAAqBjI,KDoF9BqO,GAAe,SAAUgB,GACvB,OAAOA,EAAI,SA0BjB,MAAO,CArBP,SAAwBC,EAAM5G,GAC5B,IAAI3O,EAAMkU,EAAOqB,GACbC,EAASjB,EAAY1Y,QAAQuZ,IAAIpV,GAEjC2O,GACF4F,EAAY1Y,QAAQwZ,IAAIrV,EAAK2O,GAC7BgG,KAEAJ,EAAY1Y,QAAQ4Z,OAAOzV,IAIxBwV,IAAY7G,IACXA,EACFwF,SAAsDA,EAAUoB,GAEhEnB,SAA4DA,EAAamB,KAKvDZ,EAAeF,EAAW5Y,QAASwY,GEpH7D,SAAS,GAAQtY,GAaf,OATE,GADoB,mBAAX9C,QAAoD,iBAApBA,OAAOC,SACtC,SAAiB6C,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAX9C,QAAyB8C,EAAIvB,cAAgBvB,QAAU8C,IAAQ9C,OAAOmB,UAAY,gBAAkB2B,IAI9GA,GCbjB,SAAS,GAAenD,EAAKC,GAC3B,OAqDF,SAAyBD,GACvB,GAAIE,MAAMC,QAAQH,GAAM,OAAOA,EAtDxB,CAAgBA,IA0BzB,SAA+BA,EAAKC,GAClC,GAAsB,oBAAXI,UAA4BA,OAAOC,YAAYZ,OAAOM,IAAO,OACxE,IAAIO,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKC,EAET,IACE,IAAK,IAAiCC,EAA7BC,EAAKb,EAAIK,OAAOC,cAAmBE,GAAMI,EAAKC,EAAGC,QAAQC,QAChER,EAAKS,KAAKJ,EAAGf,QAETI,GAAKM,EAAKU,SAAWhB,GAH8CO,GAAK,IAK9E,MAAOU,GACPT,GAAK,EACLC,EAAKQ,EACL,QACA,IACOV,GAAsB,MAAhBK,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIJ,EAAI,MAAMC,GAIlB,OAAOH,EAlDwB,CAAsBP,EAAKC,IAO5D,SAAqCmB,EAAGC,GACtC,IAAKD,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAO,GAAkBA,EAAGC,GACvD,IAAIE,EAAI7B,OAAO8B,UAAUC,SAASC,KAAKN,GAAGO,MAAM,GAAI,GAC1C,WAANJ,GAAkBH,EAAEQ,cAAaL,EAAIH,EAAEQ,YAAYC,MACvD,GAAU,QAANN,GAAqB,QAANA,EAAa,OAAOrB,MAAM4B,KAAKV,GAClD,GAAU,cAANG,GAAqB,2CAA2CQ,KAAKR,GAAI,OAAO,GAAkBH,EAAGC,GAbzC,CAA4BrB,EAAKC,IAGnG,WACE,MAAM,IAAIgC,UAAU,6IAJmF,GAgBzG,SAAS,GAAkBjC,EAAKmC,IACnB,MAAPA,GAAeA,EAAMnC,EAAIiB,UAAQkB,EAAMnC,EAAIiB,QAE/C,IAAK,IAAIhB,EAAI,EAAGmC,EAAO,IAAIlC,MAAMiC,GAAMlC,EAAIkC,EAAKlC,IAC9CmC,EAAKnC,GAAKD,EAAIC,GAGhB,OAAOmC,EAoCM,SAAS0a,GAAYC,EAAMzB,EAAQ0B,GAChD,IACIpa,EAAmB,GADD,WAAema,GACkB,GACnDE,EAAWra,EAAiB,GAC5Bsa,EAActa,EAAiB,GAG/Bua,EAAmB,GADA,WAAe,MACkB,GACpDC,EAAWD,EAAiB,GAC5BE,EAAcF,EAAiB,GAYnC,OAVA,aAAgB,WACd,IAAIG,EChCD,SAA2BC,EAAYC,EAAYlC,GACxD,IAEImC,EACAC,EAHAC,EAAYJ,EAAWtc,OACvB2c,EAAYJ,EAAWvc,OAI3B,GAAkB,IAAd0c,GAAiC,IAAdC,EACrB,OAAO,KAGLD,EAAYC,GACdH,EAAYF,EACZG,EAAWF,IAEXC,EAAYD,EACZE,EAAWH,GAGb,IAAIM,EAAc,CAChBC,gBAAgB,GAGlB,SAASC,EAAWpB,GAClB,YAAahc,IAATgc,EACKrB,EAAOqB,GAGTkB,EAOT,IAHA,IAAIG,EAAY,KACZC,EAA+C,IAApCzR,KAAK0R,IAAIP,EAAYC,GAE3B3d,EAAI,EAAGA,EAAIyd,EAASzc,OAAQhB,GAAK,EAAG,CAC3C,IAAIke,EAAWJ,EAAWN,EAAUxd,IAGpC,GAAIke,IAFUJ,EAAWL,EAASzd,IAER,CACxB+d,EAAY/d,EACZge,EAAWA,GAAYE,IAAaJ,EAAWL,EAASzd,EAAI,IAC5D,OAIJ,OAAqB,OAAd+d,EAAqB,KAAO,CACjCI,MAAOJ,EACPC,SAAUA,GDfCI,CAAkBpB,GAAY,GAAIF,GAAQ,GAAIzB,QAEQ3a,KAA5D2c,aAAmC,EAASA,EAAKc,SACpDpB,SAAgDA,EAAOM,EAAKc,OAC5Df,EAAYN,EAAKO,EAAKc,SAGxBlB,EAAYH,KACX,CAACA,IACG,CAACK,GEjFV,SAAS,GAAQja,GAaf,OATE,GADoB,mBAAX9C,QAAoD,iBAApBA,OAAOC,SACtC,SAAiB6C,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAX9C,QAAyB8C,EAAIvB,cAAgBvB,QAAU8C,IAAQ9C,OAAOmB,UAAY,gBAAkB2B,IAI9GA,GAGjB,IACe,GADsE,YAApD,oBAAdmb,UAA4B,YAAc,GAAQA,aAA4B,WAAWvc,KAAKuc,UAAUC,WCf3G,iBAEd,IAAIC,EAAU,kBAAO,GACjBC,EAAiB,iBAAO,MAE5B,SAASC,IACP/I,aAAa8I,EAAexb,SAC5Bub,EAAQvb,SAAU,EAClBwb,EAAexb,QAAUuS,YAAW,WAClCgJ,EAAQvb,SAAU,IACjB,IAIL,IAAI0b,EAAgB,iBAAO,CACzBvJ,IAAKwJ,EACLhE,OAAQiE,IAIV,OAFAF,EAAc1b,QAAQmS,IAAMwJ,EAC5BD,EAAc1b,QAAQ2X,OAASiE,EACxB,SAAUC,GACf,IAAIC,EAAe9V,UAAUhI,OAAS,QAAsBN,IAAjBsI,UAAU,IAAmBA,UAAU,GAC9E+V,EACJF,EAAS,GAAKH,EAAc1b,QAAQmS,KACpC0J,EAAS,GAAKH,EAAc1b,QAAQ2X,OAUpC,OARImE,GAAgBC,GAElBrJ,aAAa8I,EAAexb,SAC5Bub,EAAQvb,SAAU,GACR+b,IAAgBR,EAAQvb,SAClCyb,KAGMF,EAAQvb,SAAW+b,ICnC/B,SAAS,GAAQrL,EAAQC,GACvB,IAAIrC,EAAO7R,OAAO6R,KAAKoC,GAEvB,GAAIjU,OAAOmF,sBAAuB,CAChC,IAAIgP,EAAUnU,OAAOmF,sBAAsB8O,GACvCC,IAAgBC,EAAUA,EAAQC,QAAO,SAAUC,GACrD,OAAOrU,OAAOsU,yBAAyBL,EAAQI,GAAKE,eAEtD1C,EAAKvQ,KAAKoI,MAAMmI,EAAMsC,GAGxB,OAAOtC,EAGT,SAAS,GAAc5H,GACrB,IAAK,IAAI1J,EAAI,EAAGA,EAAIgJ,UAAUhI,OAAQhB,IAAK,CACzC,IAAIkU,EAAyB,MAAhBlL,UAAUhJ,GAAagJ,UAAUhJ,GAAK,GAE/CA,EAAI,EACN,GAAQP,OAAOyU,IAAS,GAAMX,SAAQ,SAAUpM,GAC9C,GAAgBuC,EAAQvC,EAAK+M,EAAO/M,OAE7B1H,OAAO2U,0BAChB3U,OAAO4U,iBAAiB3K,EAAQjK,OAAO2U,0BAA0BF,IAEjE,GAAQzU,OAAOyU,IAASX,SAAQ,SAAUpM,GACxC1H,OAAOC,eAAegK,EAAQvC,EAAK1H,OAAOsU,yBAAyBG,EAAQ/M,OAKjF,OAAOuC,EAGT,SAAS,GAAgBxG,EAAKiE,EAAKvH,GAYjC,OAXIuH,KAAOjE,EACTzD,OAAOC,eAAewD,EAAKiE,EAAK,CAC9BvH,MAAOA,EACPoU,YAAY,EACZM,cAAc,EACdC,UAAU,IAGZrR,EAAIiE,GAAOvH,EAGNsD,EAGT,SAAS,GAAenD,EAAKC,GAC3B,OAqDF,SAAyBD,GACvB,GAAIE,MAAMC,QAAQH,GAAM,OAAOA,EAtDxB,CAAgBA,IA0BzB,SAA+BA,EAAKC,GAClC,GAAsB,oBAAXI,UAA4BA,OAAOC,YAAYZ,OAAOM,IAAO,OACxE,IAAIO,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKC,EAET,IACE,IAAK,IAAiCC,EAA7BC,EAAKb,EAAIK,OAAOC,cAAmBE,GAAMI,EAAKC,EAAGC,QAAQC,QAChER,EAAKS,KAAKJ,EAAGf,QAETI,GAAKM,EAAKU,SAAWhB,GAH8CO,GAAK,IAK9E,MAAOU,GACPT,GAAK,EACLC,EAAKQ,EACL,QACA,IACOV,GAAsB,MAAhBK,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIJ,EAAI,MAAMC,GAIlB,OAAOH,EAlDwB,CAAsBP,EAAKC,IAO5D,SAAqCmB,EAAGC,GACtC,IAAKD,EAAG,OACR,GAAiB,iBAANA,EAAgB,OAAO,GAAkBA,EAAGC,GACvD,IAAIE,EAAI7B,OAAO8B,UAAUC,SAASC,KAAKN,GAAGO,MAAM,GAAI,GAC1C,WAANJ,GAAkBH,EAAEQ,cAAaL,EAAIH,EAAEQ,YAAYC,MACvD,GAAU,QAANN,GAAqB,QAANA,EAAa,OAAOrB,MAAM4B,KAAKV,GAClD,GAAU,cAANG,GAAqB,2CAA2CQ,KAAKR,GAAI,OAAO,GAAkBH,EAAGC,GAbzC,CAA4BrB,EAAKC,IAGnG,WACE,MAAM,IAAIgC,UAAU,6IAJmF,GAgBzG,SAAS,GAAkBjC,EAAKmC,IACnB,MAAPA,GAAeA,EAAMnC,EAAIiB,UAAQkB,EAAMnC,EAAIiB,QAE/C,IAAK,IAAIhB,EAAI,EAAGmC,EAAO,IAAIlC,MAAMiC,GAAMlC,EAAIkC,EAAKlC,IAC9CmC,EAAKnC,GAAKD,EAAIC,GAGhB,OAAOmC,EAkCT,SAAS6c,GAAyB9K,EAAQ+K,GACxC,GAAc,MAAV/K,EAAgB,MAAO,GAE3B,IAEI/M,EAAKnH,EAFL0J,EAkBN,SAAuCwK,EAAQ+K,GAC7C,GAAc,MAAV/K,EAAgB,MAAO,GAC3B,IAEI/M,EAAKnH,EAFL0J,EAAS,GACTwV,EAAazf,OAAO6R,KAAK4C,GAG7B,IAAKlU,EAAI,EAAGA,EAAIkf,EAAWle,OAAQhB,IACjCmH,EAAM+X,EAAWlf,GACbif,EAASta,QAAQwC,IAAQ,IAC7BuC,EAAOvC,GAAO+M,EAAO/M,IAGvB,OAAOuC,EA9BMyV,CAA8BjL,EAAQ+K,GAInD,GAAIxf,OAAOmF,sBAAuB,CAChC,IAAIwa,EAAmB3f,OAAOmF,sBAAsBsP,GAEpD,IAAKlU,EAAI,EAAGA,EAAIof,EAAiBpe,OAAQhB,IACvCmH,EAAMiY,EAAiBpf,GACnBif,EAASta,QAAQwC,IAAQ,GACxB1H,OAAO8B,UAAUsD,qBAAqBpD,KAAKyS,EAAQ/M,KACxDuC,EAAOvC,GAAO+M,EAAO/M,IAIzB,OAAOuC,EA8BT,IAAI2V,GAAa,GACbC,GAAc,CAChBC,UAAW,OACXC,eAAgB,QA6SlB,IAAIC,GAAO,cA3SJ,SAAiB7b,EAAOC,GAC7B,IAAI6b,EAAmB9b,EAAMuC,UACzBA,OAAiC,IAArBuZ,EAA8B,kBAAoBA,EAC9DtZ,EAAYxC,EAAMwC,UAClBqO,EAAS7Q,EAAM6Q,OACfkL,EAAa/b,EAAM+b,WACnBC,EAAoBhc,EAAMic,WAC1BA,OAAmC,IAAtBD,GAAsCA,EACnDpZ,EAAQ5C,EAAM4C,MACdsW,EAAOlZ,EAAMkZ,KACb1V,EAAWxD,EAAMwD,SACjB0Y,EAAUlc,EAAMkc,QAChBC,EAAUnc,EAAMmc,QAChBC,EAAmBpc,EAAMqc,UACzB7T,OAAiC,IAArB4T,EAA8B,MAAQA,EAClDvG,EAAW7V,EAAM6V,SACjBhT,EAAYuY,GAAyBpb,EAAO,CAAC,YAAa,YAAa,SAAU,aAAc,aAAc,QAAS,OAAQ,WAAY,UAAW,UAAW,YAAa,aAG7Ksc,KAA4B,IAAZH,IAAqBtL,IAAUkL,GAC/CQ,EAAYD,GAAcpD,GAAQ6C,EAAa7C,EAAK9b,OAASyT,EAG7D7M,EAAa,GADD,mBAAS,GACkB,GACvC2S,EAAY3S,EAAW,GACvBwY,EAAexY,EAAW,GAG1ByY,EAAa,GADA,oBAAS,GACkB,GACxCC,EAAeD,EAAW,GAC1BE,EAAkBF,EAAW,GAE7BG,EAAkB,IAAWra,EAAWC,GACxCqa,EAAa3D,GAAQuC,GACrBqB,EAAe,mBACfC,EAAiB,mBACjBC,EAAe,mBAGfvF,EAAS,eAAkB,SAAUqB,GACvC,MAAuB,mBAAZoD,EACFA,EAAQpD,GAGVA,EAAKoD,KACX,CAACA,IACAe,EAAe,CACjBxF,OAAQA,GAGV,SAASyF,EAAcpH,GACrB0G,GAAa,SAAUzD,GACrB,IAQIoE,EA4GR,SAAqB/G,GACnB,IAAIN,EAASnN,KAAKK,IAAIoN,EAAc,GAE/BzS,OAAOD,MAAM0Z,EAAmBhe,WACnC0W,EAASnN,KAAKQ,IAAI2M,EAAQsH,EAAmBhe,UAG/C,OAAO0W,EAnHYuH,CANK,mBAAXvH,EACDA,EAAOiD,GAEPjD,GAKV,OADAgH,EAAa1d,QAAQuX,UAAYwG,EAC1BA,KAMX,IAAIG,EAAW,iBAAO,CACpBC,MAAO,EACPC,IAAKX,EAAWzf,SAEdqgB,EAAc,mBAIdlE,EADgB,GADDN,GAAY4D,EAAYpF,GACM,GACpB,GAE7BgG,EAAYre,QAAUma,EAEtB,IACImE,EAAe,GADDlG,GAAWC,EAAQ,KAAM,MACI,GAC3CkG,EAAiBD,EAAa,GAC9BxF,EAAgBwF,EAAa,GAC7BE,EAAUF,EAAa,GACvBG,EAAoBH,EAAa,GAGjCI,EAAiB,WAAc,WACjC,IAAKxB,EACH,MAAO,CACL5F,kBAAc5Z,EACdygB,MAAO,EACPC,IAAKX,EAAWzf,OAAS,EACzB0T,YAAQhU,GAMV,IAAIihB,EADN,IAAKxB,EAGH,MAAO,CACL7F,cAAoE,QAApDqH,EAAwBhB,EAAe3d,eAA+C,IAA1B2e,OAAmC,EAASA,EAAsBtM,eAAiB,EAC/J8L,MAAO,EACPC,IAAKX,EAAWzf,OAAS,EACzB0T,YAAQhU,GAUZ,IANA,IACIkhB,EACAC,EACAC,EAHAC,EAAU,EAIVC,EAAUvB,EAAWzf,OAEhBhB,EAAI,EAAGA,EAAIgiB,EAAShiB,GAAK,EAAG,CACnC,IAAI0c,EAAO+D,EAAWzgB,GAClBmH,EAAMkU,EAAOqB,GACbuF,EAAcT,EAAQjF,IAAIpV,GAC1B+a,EAAoBH,QAA2BrhB,IAAhBuhB,EAA4BtC,EAAasC,GAExEC,GAAqB3H,QAA4B7Z,IAAfkhB,IACpCA,EAAa5hB,EACb6hB,EAAcE,GAIZG,EAAoB3H,EAAY9F,QAAuB/T,IAAbohB,IAC5CA,EAAW9hB,GAGb+hB,EAAUG,EAiBZ,YAXmBxhB,IAAfkhB,IACFA,EAAa,EACbC,EAAc,QAGCnhB,IAAbohB,IACFA,EAAWrB,EAAWzf,OAAS,GAK1B,CACLsZ,aAAcyH,EACdZ,MAAOS,EACPR,IAJFU,EAAWvV,KAAKQ,IAAI+U,EAAW,EAAGrB,EAAWzf,QAK3C0T,OAAQmN,KAET,CAAC1B,EAAWD,EAAY3F,EAAWkG,EAAYgB,EAAmBhN,IACjE6F,EAAeoH,EAAepH,aAC9B6G,EAAQO,EAAeP,MACvBC,EAAMM,EAAeN,IACrB1M,EAASgN,EAAehN,OAE5BwM,EAASle,QAAQme,MAAQA,EACzBD,EAASle,QAAQoe,IAAMA,EAEvB,IAAIe,EAAkB7H,EAAe7F,EACjCuM,EAAqB,iBAAOmB,GAChCnB,EAAmBhe,QAAUmf,EAY7B,IAAIxD,EAAgBpE,GAAa,EAC7BqE,EAAmBrE,GAAa4H,EAChCpD,EAAeqD,GAAgBzD,EAAeC,GA2B9CyD,GAAkB,GC3WT,SAAuBlC,EAAWxB,EAAeC,EAAkB0D,GAChF,IAAIC,EAAY,iBAAO,GACnBC,EAAe,iBAAO,MAEtBC,EAAgB,iBAAO,MACvBC,EAAmB,kBAAO,GAE1B3D,EAAeqD,GAAgBzD,EAAeC,GA8BlD,MAAO,CA5BP,SAAiBpQ,GACf,GAAK2R,EAAL,CACA,GAAI1Y,OAAO+a,EAAaxf,SACxB,IAAI6b,EAASrQ,EAAMqQ,OACnB0D,EAAUvf,SAAW6b,EACrB4D,EAAczf,QAAU6b,EAEpBE,EAAaF,KAEZ,IACHrQ,EAAMb,iBAGR6U,EAAaxf,QAAU,IAAI,WAGzB,IAAI2f,EAAgBD,EAAiB1f,QAAU,GAAK,EACpDsf,EAAaC,EAAUvf,QAAU2f,GACjCJ,EAAUvf,QAAU,QAKxB,SAAyBwL,GAClB2R,IACLuC,EAAiB1f,QAAUwL,EAAMoU,SAAWH,EAAczf,WDmUvC6f,CAAc3C,EAAYvB,EAAeC,GAAkB,SAAUkE,GACxFhC,GAAc,SAAU3L,GAEtB,OADaA,EAAM2N,QAI8B,GACjDC,GAAaV,GAAgB,GAC7BW,GAAkBX,GAAgB,IE9WzB,SAA4BlC,EAAW8C,EAASxU,GAC7D,IAKIyU,EALAC,EAAa,kBAAO,GACpBC,EAAY,iBAAO,GACnBC,EAAa,iBAAO,MAEpBC,EAAc,iBAAO,MAGrBC,EAAc,SAAqBhf,GACrC,GAAI4e,EAAWngB,QAAS,CACtB,IAAIwgB,EAAWjX,KAAK0N,KAAK1V,EAAEqT,QAAQ,GAAGC,OAClCiL,EAAUM,EAAUpgB,QAAUwgB,EAClCJ,EAAUpgB,QAAUwgB,EAEhB/U,EAASqU,IACXve,EAAEoJ,iBAIJ8V,cAAcH,EAAYtgB,SAC1BsgB,EAAYtgB,QAAU0gB,aAAY,aAG3BjV,EAFLqU,GAtBS,GAAK,IAwBS,IAASvW,KAAK0R,IAAI6E,IAAY,KACnDW,cAAcH,EAAYtgB,WAE3B,MAIH2gB,EAAa,WACfR,EAAWngB,SAAU,EACrBkgB,KAGEU,EAAe,SAAsBrf,GACvC2e,IAEyB,IAArB3e,EAAEqT,QAAQ5W,QAAiBmiB,EAAWngB,UACxCmgB,EAAWngB,SAAU,EACrBogB,EAAUpgB,QAAUuJ,KAAK0N,KAAK1V,EAAEqT,QAAQ,GAAGC,OAC3CwL,EAAWrgB,QAAUuB,EAAEmF,OACvB2Z,EAAWrgB,QAAQiW,iBAAiB,YAAasK,GACjDF,EAAWrgB,QAAQiW,iBAAiB,WAAY0K,KAIpDT,EAAgB,WACVG,EAAWrgB,UACbqgB,EAAWrgB,QAAQqW,oBAAoB,YAAakK,GACpDF,EAAWrgB,QAAQqW,oBAAoB,WAAYsK,KAIvD,mBAAsB,WAKpB,OAJIxD,GACF8C,EAAQjgB,QAAQiW,iBAAiB,aAAc2K,GAG1C,WACLX,EAAQjgB,QAAQqW,oBAAoB,aAAcuK,GAClDV,IACAO,cAAcH,EAAYtgB,YAE3B,CAACmd,IFiTJ0D,CAAmB3D,EAAYQ,GAAc,SAAU7B,EAAQC,GAC7D,OAAIC,EAAaF,EAAQC,KAIzBiE,GAAW,CACTpV,eAAgB,aAChBkR,OAAQA,KAEH,MAET,mBAAsB,WAEpB,SAASiF,EAAsBvf,GACzB2b,GACF3b,EAAEoJ,iBAON,OAHA+S,EAAa1d,QAAQiW,iBAAiB,QAAS8J,IAC/CrC,EAAa1d,QAAQiW,iBAAiB,iBAAkB+J,IACxDtC,EAAa1d,QAAQiW,iBAAiB,sBAAuB6K,GACtD,WACLpD,EAAa1d,QAAQqW,oBAAoB,QAAS0J,IAClDrC,EAAa1d,QAAQqW,oBAAoB,iBAAkB2J,IAC3DtC,EAAa1d,QAAQqW,oBAAoB,sBAAuByK,MAEjE,CAAC5D,IAEJ,IAAI6D,GL7XS,SAAqBC,EAAclH,EAAM0E,EAAS7B,EAAYtE,EAAQS,EAAegF,EAAemD,GACjH,IAAIC,EAAY,WAChB,OAAO,SAAUC,GAEf,GAAIA,SAQJ,GAFA,GAAI1c,OAAOyc,EAAUlhB,SAEF,iBAARmhB,EACTrD,EAAcqD,QACT,GAAIA,GAAwB,WAAjB,GAAQA,GAAmB,CAC3C,IAAIhG,EACAiG,EAAQD,EAAIC,MAGdjG,EADE,UAAWgG,EACLA,EAAIhG,MAEJrB,EAAKuH,WAAU,SAAU3H,GAC/B,OAAOrB,EAAOqB,KAAUyH,EAAIhd,OAIhC,IAAImd,EAAcH,EAAIzP,OAClBA,OAAyB,IAAhB4P,EAAyB,EAAIA,GAEzB,SAASC,EAAWC,EAAOC,GAC1C,KAAID,EAAQ,IAAMR,EAAahhB,QAA/B,CACA,IAAIyR,EAASuP,EAAahhB,QAAQ0hB,aAC9BC,GAAoB,EACpBC,EAAiBH,EAErB,GAAIhQ,EAAQ,CAOV,IANA,IAAIoQ,EAAcJ,GAAeL,EAE7BU,EAAW,EACX/C,EAAU,EACVgD,EAAa,EAER/kB,EAAI,EAAGA,GAAKme,EAAOne,GAAK,EAAG,CAClC,IAAImH,EAAMkU,EAAOyB,EAAK9c,IACtB+hB,EAAU+C,EACV,IAAI7C,EAAcT,EAAQjF,IAAIpV,GAE9B2d,EADAC,EAAahD,QAA2BrhB,IAAhBuhB,EAA4BtC,EAAasC,GAG7DjiB,IAAMme,QAAyBzd,IAAhBuhB,IACjB0C,GAAoB,GAKxB,IAAIK,EAAY,KAEhB,OAAQH,GACN,IAAK,MACHG,EAAYjD,EAAUrN,EACtB,MAEF,IAAK,SACHsQ,EAAYD,EAAatQ,EAASC,EAClC,MAEF,QAEI,IAAI6F,EAAYyJ,EAAahhB,QAAQuX,UAGjCwH,EAAUxH,EACZqK,EAAiB,MACRG,EAJQxK,EAAY9F,IAK7BmQ,EAAiB,UAKP,OAAdI,GAAsBA,IAAchB,EAAahhB,QAAQuX,WAC3DuG,EAAckE,GAKlBd,EAAUlhB,QAAU,IAAI,WAClB2hB,GACF7I,IAGFyI,EAAWC,EAAQ,EAAGI,OAI1BL,CAAW,SAzFXN,KKwXWgB,CAAYvE,EAAcD,EAAYe,EAAS7B,EAAYtE,EAAQS,EAAegF,GAAe,WAC9G,IAAIoE,EAE+C,QAAlDA,EAAwBtE,EAAa5d,eAA+C,IAA1BkiB,GAA4CA,EAAsBtM,iBAE/H,sBAA0B/U,GAAK,WAC7B,MAAO,CACLkgB,SAAUA,OAId,IAAIoB,GG1ZS,SAAqBC,EAAMxD,EAAYE,EAAUuD,EAAYC,EAAY/iB,GACtF,IAAI8Y,EAAS9Y,EAAK8Y,OAClB,OAAO+J,EAAK1jB,MAAMkgB,EAAYE,EAAW,GAAGvW,KAAI,SAAUmR,EAAMyB,GAC9D,IACI/Q,EAAOkY,EAAW5I,EADPkF,EAAazD,EACU,IAElChX,EAAMkU,EAAOqB,GACjB,OAAO,gBAAoB,GAAM,CAC/BvV,IAAKA,EACL6T,OAAQ,SAAgBuK,GACtB,OAAOF,EAAW3I,EAAM6I,KAEzBnY,MH8YcoY,CAAY/E,EAAYU,EAAOC,EAAKG,EAAgBna,EAAUyZ,GAC7E4E,GAAiB,KAcrB,OAZIhR,IACFgR,GAAiB,GAAc,GAAgB,GAAI5F,EAAa,SAAW,YAAapL,GAAS6K,IAE7FY,IACFuF,GAAelG,UAAY,SAEvBe,IACFmF,GAAeC,cAAgB,UAK9B,gBAAoB,MAAOjmB,OAAOsE,OAAO,CAC9CyC,MAAO,GAAc,GAAc,GAAIA,GAAQ,GAAI,CACjDwO,SAAU,aAEZ5O,UAAWoa,GACV/Z,GAAY,gBAAoB2F,EAAW,CAC5ChG,UAAW,GAAGO,OAAOR,EAAW,WAChCK,MAAOif,GACP5hB,IAAK6c,EACLjH,SAvFF,SAA0BlV,GACxB,IAAIyV,EAAezV,EAAEohB,cAAcpL,UAE/BP,IAAiBO,GACnBuG,EAAc9G,GAIhBP,SAAoDA,EAASlV,KAgF5D,gBAAoB,GAAQ,CAC7B4B,UAAWA,EACXsO,OAAQ6F,EACR5F,OAAQA,EACRC,cAAemH,EACfjY,IAAK8c,GACJwE,KAAgBjF,GAAc,gBAAoB,GAAW,CAC9Drc,IAAK+c,EACLza,UAAWA,EACXoU,UAAWA,EACX9F,OAAQA,EACR6F,aAAcA,EACdD,MAAOoG,EAAWzf,OAClByY,SA5GF,SAAqBO,GAEnB8G,EADa9G,IA4GbT,YAAa,WACXgH,GAAgB,IAElBrG,WAAY,WACVqG,GAAgB,UAKtBd,GAAKxb,YAAc,OACJ,II5cA,GJ4cA,GKpaA,GAtCA,SAAkB1B,GAC/B,IAMIyB,EANAoC,EAAY7D,EAAK6D,UACjBwf,EAAgBrjB,EAAKqjB,cACrBC,EAAqBtjB,EAAKsjB,mBAC1BC,EAAevjB,EAAK+W,YACpB7Q,EAAUlG,EAAKkG,QACfrB,EAAW7E,EAAK6E,SASpB,OALEpD,EAD2B,mBAAlB4hB,EACFA,EAAcC,GAEdD,EAGF,gBAAoB,OAAQ,CACjCxf,UAAWA,EACXkT,YAAa,SAAqB9K,GAChCA,EAAMb,iBAEFmY,GACFA,EAAatX,IAGjBhI,MAAO,CACLuU,WAAY,OACZgL,iBAAkB,QAEpBlT,aAAc,KACdpK,QAASA,EACT,eAAe,QACL/H,IAATsD,EAAqBA,EAAO,gBAAoB,OAAQ,CACzDoC,UAAW,IAAWA,EAAU8M,MAAM,OAAO3H,KAAI,SAAUnD,GACzD,MAAO,GAAGzB,OAAOyB,EAAK,cAEvBhB,KC0RD4e,GAAgB,cAjTH,SAAoBzjB,EAAMsB,GACzC,ICf8BoiB,EAAUC,EAAWC,EAC/CC,EDcAjgB,EAAY5D,EAAK4D,UACjBkgB,EAAK9jB,EAAK8jB,GACVC,EAAiB/jB,EAAK+jB,eACtBC,EAAiBhkB,EAAKgkB,eACtBC,EAASjkB,EAAKikB,OACdC,EAAclkB,EAAKkkB,YACnBzI,EAAWzb,EAAKyb,SAChB0I,EAA2BnkB,EAAKmkB,yBAChCjS,EAASlS,EAAKkS,OACdkL,EAAapd,EAAKod,WAClBgH,EAAkBpkB,EAAKokB,gBACvBC,EAAOrkB,EAAKqkB,KACZC,EAAuBtkB,EAAKskB,qBAC5B9G,EAAUxd,EAAKwd,QACf+G,EAAWvkB,EAAKukB,SAChBC,EAAexkB,EAAKwkB,aACpBC,EAAgBzkB,EAAKykB,cACrBvN,EAAWlX,EAAKkX,SAChBwN,EAAe1kB,EAAK0kB,aACpBC,EAAgB,GAAGvgB,OAAOR,EAAW,SACrCghB,GCnC0BlB,EDmCG,WAC/B,OAAOK,GCpC+BJ,EDqCrC,CAACU,EAAMN,GCrCyCH,EDqCxB,SAAUjY,EAAMrN,GACzC,OAAOA,EAAK,IAAMqN,EAAK,KAAOrN,EAAK,ICnC/B,UAFFulB,EAAW,SAAa,KAEFpjB,UAAYmjB,EAAaC,EAASpjB,QAAQkjB,UAAWA,KAC7EE,EAASpjB,QAAQpD,MAAQqmB,IACzBG,EAASpjB,QAAQkjB,UAAYA,GAGxBE,EAASpjB,QAAQpD,ODiCpBqjB,EAAU,SAAa,MAEvBmE,EAAkB,SAAyB5Y,GAC7CA,EAAMb,kBAGJ0Z,EAAiB,SAAwBlJ,GACvC8E,EAAQjgB,SACVigB,EAAQjgB,QAAQ+gB,SAAS,CACvB5F,MAAOA,KAMTmJ,EAAwB,SAA+BnJ,GAIzD,IAHA,IAAIzJ,EAAS1L,UAAUhI,OAAS,QAAsBN,IAAjBsI,UAAU,GAAmBA,UAAU,GAAK,EAC7E9G,EAAMilB,EAAmBnmB,OAEpBhB,EAAI,EAAGA,EAAIkC,EAAKlC,GAAK,EAAG,CAC/B,IAAIgD,GAAWmb,EAAQne,EAAI0U,EAASxS,GAAOA,EACvCqlB,EAAwBJ,EAAmBnkB,GAC3CwkB,EAAQD,EAAsBC,MAC9B1K,EAAOyK,EAAsBzK,KAEjC,IAAK0K,IAAU1K,EAAK9R,SAClB,OAAOhI,EAIX,OAAQ,GAGNykB,EAAkB,YAAe,WACnC,OAAOH,EAAsB,MAE3B3kB,EAAmB,aAAe8kB,EAAiB,GACnDC,EAAc/kB,EAAiB,GAC/BglB,EAAiBhlB,EAAiB,GAElCilB,EAAY,SAAmBzJ,GACjC,IAAI0J,EAAe7e,UAAUhI,OAAS,QAAsBN,IAAjBsI,UAAU,IAAmBA,UAAU,GAClF2e,EAAexJ,GACf,IAAI2J,EAAO,CACT5T,OAAQ2T,EAAe,WAAa,SAGlCE,EAAcZ,EAAmBhJ,GAEhC4J,EAKLf,EAAce,EAAYjL,KAAKld,MAAOue,EAAO2J,GAJ3Cd,EAAc,MAAO,EAAGc,IAQ5B,aAAgB,WACdF,GAAuC,IAA7BlB,EAAqCY,EAAsB,IAAM,KAC1E,CAACH,EAAmBnmB,OAAQylB,IAE/B,aAAgB,WAMd,IAaMuB,EAbFC,EAAY1S,YAAW,WACzB,IAAKyI,GAAY4I,GAAwB,IAAhBJ,EAAOngB,KAAY,CAC1C,IAAIzG,EAAQK,MAAM4B,KAAK2kB,GAAQ,GAC3BrI,EAAQgJ,EAAmB9C,WAAU,SAAUxe,GAEjD,OADWA,EAAMiX,KACLld,QAAUA,KAExBgoB,EAAUzJ,GACVkJ,EAAelJ,OAIfyI,IAGuC,QAAxCoB,EAAmB/E,EAAQjgB,eAA0C,IAArBglB,GAAuCA,EAAiBjE,cAASrjB,IAGpH,OAAO,WACL,OAAOgV,aAAauS,MAErB,CAACrB,IAEJ,IAAIsB,EAAgB,SAAuBtoB,QAC3Bc,IAAVd,GACFknB,EAASlnB,EAAO,CACduoB,UAAW3B,EAAO4B,IAAIxoB,KAKrBoe,GACH+I,GAAa,IAiEjB,GA5DA,sBAA0BljB,GAAK,WAC7B,MAAO,CACL8N,UAAW,SAAmBnD,GAC5B,IAAI6Z,EAAQ7Z,EAAM6Z,MAElB,OAAQA,GAEN,KAAK,KAAQC,GACb,KAAK,KAAQC,KAET,IAAI7T,EAAS,EAQb,GANI2T,IAAU,KAAQC,GACpB5T,GAAU,EACD2T,IAAU,KAAQE,OAC3B7T,EAAS,GAGI,IAAXA,EAAc,CAChB,IAAI8T,EAAkBlB,EAAsBI,EAAchT,EAAQA,GAClE2S,EAAemB,GACfZ,EAAUY,GAAiB,GAG7B,MAIJ,KAAK,KAAQC,MAGT,IAAI/L,EAAOyK,EAAmBO,GAE1BhL,IAASA,EAAKI,KAAK9R,SACrBkd,EAAcxL,EAAKI,KAAKld,OAExBsoB,OAAcxnB,GAGZkmB,GACFpY,EAAMb,iBAGR,MAIJ,KAAK,KAAQ+a,IAET3B,GAAa,KAIrB/a,QAAS,aACT+X,SAAU,SAAkB5F,GAC1BkJ,EAAelJ,QAKa,IAA9BgJ,EAAmBnmB,OACrB,OAAO,gBAAoB,MAAO,CAChC2nB,KAAM,UACNtC,GAAI,GAAG1f,OAAO0f,EAAI,SAClBjgB,UAAW,GAAGO,OAAOugB,EAAe,UACpC5N,YAAa8N,GACZT,GAGL,SAASiC,EAAWzK,GAClB,IAAIzB,EAAOyK,EAAmBhJ,GAC9B,IAAKzB,EAAM,OAAO,KAClB,IAAImM,EAAWnM,EAAKI,MAAQ,GACxBld,EAAQipB,EAASjpB,MACjBqN,EAAQ4b,EAAS5b,MACjB7F,EAAWyhB,EAASzhB,SACpBkM,EAAQF,GAAUyV,GAAU,GAC5BC,EAAcvC,EAAiBnf,EAAW6F,EAC9C,OAAOyP,EAAO,gBAAoB,MAAOjd,OAAOsE,OAAO,CACrD,aAAqC,iBAAhB+kB,EAA2BA,EAAc,MAC7DxV,EAAO,CACRnM,IAAKgX,EACLwK,KAAM,SACNtC,GAAI,GAAG1f,OAAO0f,EAAI,UAAU1f,OAAOwX,GACnC,gBAAiBqI,EAAO4B,IAAIxoB,KAC1BA,GAAS,KAGf,OAAO,gBAAoB,WAAgB,KAAM,gBAAoB,MAAO,CAC1E+oB,KAAM,UACNtC,GAAI,GAAG1f,OAAO0f,EAAI,SAClB7f,MAAO,CACLiO,OAAQ,EACRiG,MAAO,EACPzF,SAAU,WAEX2T,EAAWlB,EAAc,GAAIkB,EAAWlB,GAAckB,EAAWlB,EAAc,IAAK,gBAAoB,GAAM,CAC/G5H,QAAS,MACTjc,IAAKof,EACLnG,KAAMqK,EACN1S,OAAQA,EACRkL,WAAYA,EACZE,YAAY,EACZvG,YAAa8N,EACb3N,SAAUA,EACVsG,QAASA,EACTkH,aAAcA,IACb,SAAU8B,EAAOC,GAClB,IAAIljB,EAEA0hB,EAAQuB,EAAMvB,MACdyB,EAAcF,EAAME,YACpBnM,EAAOiM,EAAMjM,KACb7P,EAAQ6P,EAAK7P,MACb9F,EAAM2V,EAAK3V,IAEf,GAAIqgB,EACF,OAAO,gBAAoB,MAAO,CAChCphB,UAAW,IAAW8gB,EAAe,GAAGvgB,OAAOugB,EAAe,iBACnDxmB,IAAVuM,EAAsBA,EAAQ9F,GAGnC,IAAI6D,EAAW8R,EAAK9R,SAChBpL,EAAQkd,EAAKld,MACb2I,EAAQuU,EAAKvU,MACbnB,EAAW0V,EAAK1V,SAChBZ,EAAQsW,EAAKtW,MACbJ,EAAY0W,EAAK1W,UACjB8iB,EAAa,aAAyBpM,EAAM,CAAC,WAAY,QAAS,QAAS,WAAY,QAAS,cAGhGqL,EAAW3B,EAAO4B,IAAIxoB,GACtBupB,EAAkB,GAAGxiB,OAAOugB,EAAe,WAC3CkC,EAAkB,IAAWlC,EAAeiC,EAAiB/iB,GAAYN,EAAc,GAAI,YAAgBA,EAAa,GAAGa,OAAOwiB,EAAiB,YAAaF,GAAc,YAAgBnjB,EAAa,GAAGa,OAAOwiB,EAAiB,WAAYzB,IAAgBsB,IAAche,GAAW,YAAgBlF,EAAa,GAAGa,OAAOwiB,EAAiB,aAAcne,GAAW,YAAgBlF,EAAa,GAAGa,OAAOwiB,EAAiB,aAAchB,GAAWriB,IAE7bujB,GAAexC,GAAwD,mBAAzBA,GAAuCsB,EACrFmB,GAFc/C,EAAiBnf,EAAW6F,IAEjBrN,EAEzB2pB,EAAiC,iBAAZD,GAA2C,iBAAZA,EAAuBA,EAAQ9nB,gBAAad,EAMpG,YAJcA,IAAV6H,IACFghB,EAAchhB,GAGT,gBAAoB,MAAO9I,OAAOsE,OAAO,GAAImlB,EAAY,CAC9D,gBAAiBf,EACjB/hB,UAAWgjB,EACX7gB,MAAOghB,EACPrQ,YAAa,WACPwO,IAAgBsB,GAAahe,GAIjC4c,EAAUoB,IAEZvgB,QAAS,WACFuC,GACHkd,EAActoB,IAGlB4G,MAAOA,IACL,gBAAoB,MAAO,CAC7BJ,UAAW,GAAGO,OAAOwiB,EAAiB,aACrCG,GAAU,iBAAqBzC,IAAyBsB,EAAUkB,GAAe,gBAAoB,GAAU,CAChHjjB,UAAW,GAAGO,OAAOugB,EAAe,iBACpCtB,cAAeiB,EACfhB,mBAAoB,CAClB2D,WAAYrB,IAEbA,EAAW,IAAM,cAKxBnC,GAAc/hB,YAAc,aACb,UEjUXwH,GAAS,WACX,OAAO,MAGTA,GAAOge,gBAAiB,EACT,UCLXC,GAAW,WACb,OAAO,MAGTA,GAASC,kBAAmB,EACb,U,aCDf,SAASC,GAAoBxc,GAC3B,IAAIjG,EAAMiG,EAAKjG,IACX0iB,EAAczc,EAAKxJ,MACnBwD,EAAWyiB,EAAYziB,SACvBxH,EAAQiqB,EAAYjqB,MACpB6G,EAAY,aAAyBojB,EAAa,CAAC,WAAY,UAEnE,OAAO,YAAc,CACnB1iB,IAAKA,EACLvH,WAAiBc,IAAVd,EAAsBA,EAAQuH,EACrCC,SAAUA,GACTX,GAGE,SAAS,GAAsBqjB,GACpC,IAAIC,EAAa/gB,UAAUhI,OAAS,QAAsBN,IAAjBsI,UAAU,IAAmBA,UAAU,GAChF,OAAO,OAAAghB,GAAA,GAAQF,GAAOve,KAAI,SAAU6B,EAAM+Q,GACxC,IAAK,iBAAqB/Q,KAAUA,EAAKjD,KACvC,OAAO,KAGT,IAAIwf,EAAmBvc,EAAKjD,KAAKwf,iBAC7BxiB,EAAMiG,EAAKjG,IACX8iB,EAAe7c,EAAKxJ,MACpBwD,EAAW6iB,EAAa7iB,SACxBX,EAAY,aAAyBwjB,EAAc,CAAC,aAExD,OAAIF,IAAeJ,EACVC,GAAoBxc,GAGtB,YAAc,YAAc,CACjCjG,IAAK,oBAAoBR,OAAe,OAARQ,EAAegX,EAAQhX,EAAK,MAC5D8F,MAAO9F,GACNV,GAAY,GAAI,CACjB6E,QAAS,GAAsBlE,QAEhCyM,QAAO,SAAUiJ,GAClB,OAAOA,K,mGC1CJ,SAAS,GAAQld,GACtB,OAAIK,MAAMC,QAAQN,GACTA,OAGQc,IAAVd,EAAsB,CAACA,GAAS,GAmDlC,SAASsqB,GAAuBC,EAAe3D,GACpD,IAEI4D,EAFAC,EAAY,aAAmB7D,GAInC,IAAK4D,EAAcD,EAAcnpB,OAAS,EAAGopB,GAAe,GACrDD,EAAcC,GAAapf,SAD6Bof,GAAe,GAM9E,IAAIE,EAAe,KAOnB,OALqB,IAAjBF,IACFE,EAAeD,EAAUD,GACzBC,EAAUE,OAAOH,EAAa,IAGzB,CACL5D,OAAQ6D,EACRC,aAAcA,GAGX,IAGIE,GAH6B,oBAAXjT,QAA0BA,OAAO3H,UAAY2H,OAAO3H,SAAS6a,gBAItFC,GAAO,EC5EX,SAAS,GAAO5N,EAAMqB,GACpB,IACIve,EADAuH,EAAM2V,EAAK3V,IAOf,MAJI,UAAW2V,IACbld,EAAQkd,EAAKld,OAGXuH,QACKA,OAGKzG,IAAVd,EACKA,EAGF,gBAAgB+G,OAAOwX,GAwChC,SAASwM,GAAsBroB,GAC7B,IAAIsoB,EAAY,YAAc,GAAItoB,GAWlC,MATM,UAAWsoB,GACfnrB,OAAOC,eAAekrB,EAAW,QAAS,CACxCrO,IAAK,WAEH,OADA,OAAAsO,GAAA,IAAQ,EAAO,iHACRD,KAKNA,EAGF,SAAS,GAAgBpE,EAAQlb,GACtC,IAAI/I,EAAOyG,UAAUhI,OAAS,QAAsBN,IAAjBsI,UAAU,GAAmBA,UAAU,GAAK,GAC3E8hB,EAAwBvoB,EAAKwoB,iBAC7BA,OAA6C,IAA1BD,EAAmC,GAAKA,EAE3DE,EAAY,IAAIrP,IAQpB,OAPArQ,EAAQiI,SAAQ,SAAUwU,GACxB,IAAKA,EAAYP,MAAO,CACtB,IAAI1K,EAAOiL,EAAYjL,KAEvBkO,EAAUxO,IAAIM,EAAKld,MAAOkd,OAGvB0J,EAAOjb,KAAI,SAAU0f,GAC1B,IAAI3oB,EAAS0oB,EAAUzO,IAAI0O,GAQ3B,OANK3oB,IACHA,EAAS,YAAc,GAAIyoB,EAAiBG,MAAK,SAAU1f,GACzD,OAAOA,EAAI2f,0BAA4BF,OAIpCN,GAAsBroB,MA2CjC,SAAS8oB,GAAY9B,GACnB,OAAO,GAAQA,GAAS+B,KAAK,IAoExB,SAASC,GAAoBC,EAAMC,GACxC,IAAKA,IAAWA,EAAOxqB,OACrB,OAAO,KAGT,IAAIyqB,GAAQ,EAoBZ,IAAIrG,EAlBJ,SAASsG,EAASC,EAAKC,GACrB,ICzN6B7rB,EDyNzB8rB,GCzNyB9rB,EDyNR6rB,ECxNhB,OAAAE,GAAA,GAAe/rB,IAAQ,OAAAgsB,GAAA,GAAgBhsB,IAAQ,OAAAisB,GAAA,GAA2BjsB,IAAQ,OAAAksB,GAAA,MDyNnFlkB,EAAQ8jB,EAAM,GACdK,EAAaL,EAAMnqB,MAAM,GAE7B,IAAKqG,EACH,MAAO,CAAC4jB,GAGV,IAAIvG,EAAOuG,EAAIzY,MAAMnL,GAErB,OADA0jB,EAAQA,GAASrG,EAAKpkB,OAAS,EACxBokB,EAAK7T,QAAO,SAAU4a,EAAUC,GACrC,MAAO,GAAGzlB,OAAO,aAAmBwlB,GAAW,aAAmBT,EAASU,EAASF,OACnF,IAAIrY,QAAO,SAAUwY,GACtB,OAAOA,KAIAX,CAASH,EAAMC,GAC1B,OAAOC,EAAQrG,EAAO,K,2CE/IpBkH,GAAW,cA5FH,SAAe/pB,EAAMsB,GAC/B,IAAIsC,EAAY5D,EAAK4D,UACjBkgB,EAAK9jB,EAAK8jB,GACVkG,EAAehqB,EAAKgqB,aACpBvhB,EAAWzI,EAAKyI,SAChBrC,EAAWpG,EAAKoG,SAChB6jB,EAAYjqB,EAAKiqB,UACjBC,EAAelqB,EAAKkqB,aACpBC,EAAWnqB,EAAKmqB,SAChBC,EAAqBpqB,EAAKoqB,mBAC1B/sB,EAAQ2C,EAAK3C,MACbgtB,EAAarqB,EAAKoP,UAClBmU,EAAevjB,EAAK+W,YACpBuT,EAAYtqB,EAAKE,SACjBqqB,EAAUvqB,EAAKuqB,QACfC,EAAsBxqB,EAAKyqB,mBAC3BC,EAAoB1qB,EAAK2qB,iBACzBtG,EAAOrkB,EAAKqkB,KACZtT,EAAQ/Q,EAAK+Q,MACb6Z,EAAYZ,GAAgB,gBAAoB,QAAS,MACzDa,EAAaD,EACbE,EAAYD,EAAWvpB,IACvBypB,EAAmBF,EAAWxpB,MAC9B2pB,EAAkBD,EAAiB3b,UACnC6b,EAAiBF,EAAiB7qB,SAClCgrB,EAAoBH,EAAiBhU,YACrCoU,EAA2BJ,EAAiBN,mBAC5CW,EAAyBL,EAAiBJ,iBAC1C1mB,EAAQ8mB,EAAiB9mB,MA6D7B,OA5DA2mB,EAAY,eAAmBA,EAAW,YAAc,YAAc,CACpE9G,GAAIA,EACJxiB,IAAK,aAAWA,EAAKwpB,GACrBriB,SAAUA,EACVrC,SAAUA,EACV8jB,aAAcA,GAAgB,MAC9BtiB,KAAM,SACNqiB,UAAWA,EACXpmB,UAAW,GAAGO,OAAOR,EAAW,2BAChCK,MAAO,YAAc,YAAc,GAAIA,GAAQ,GAAI,CACjDonB,QAASlB,EAAW,KAAO,IAE7B/D,KAAM,WACN,gBAAiB/B,EACjB,gBAAiB,UACjB,YAAa,GAAGjgB,OAAO0f,EAAI,SAC3B,oBAAqB,OACrB,gBAAiB,GAAG1f,OAAO0f,EAAI,SAC/B,wBAAyB,GAAG1f,OAAO0f,EAAI,UAAU1f,OAAOgmB,IACvDrZ,GAAQ,GAAI,CACb1T,MAAO8sB,EAAW9sB,EAAQ,GAC1BiuB,UAAWnB,EACX7Z,aAAe6Z,EAAkB,KAAP,KAC1B/a,UAAW,SAAmBnD,GAC5Boe,EAAWpe,GAEP+e,GACFA,EAAgB/e,IAGpB8K,YAAa,SAAqB9K,GAChCsX,EAAatX,GAETif,GACFA,EAAkBjf,IAGtB/L,SAAU,SAAkB+L,GAC1Bqe,EAAUre,GAENgf,GACFA,EAAehf,IAGnBwe,mBAAoB,SAA4Bxe,GAC9Cue,EAAoBve,GAEhBkf,GACFA,EAAyBlf,IAG7B0e,iBAAkB,SAA0B1e,GAC1Cye,EAAkBze,GAEdmf,GACFA,EAAuBnf,IAG3Bse,QAASA,QAMbR,GAASroB,YAAc,QACR,UC3FA,SAAS6pB,GAAgBC,EAAQC,GAE1CxD,GAEF,kBAAsBuD,EAAQC,GAE9B,YAAgBD,EAAQC,GCF5B,IAsLe,GApLM,SAAwBpqB,GAC3C,IAAIyiB,EAAKziB,EAAMyiB,GACXlgB,EAAYvC,EAAMuC,UAClBqgB,EAAS5iB,EAAM4iB,OACfI,EAAOhjB,EAAMgjB,KACbH,EAAc7iB,EAAM6iB,YACpBwH,EAAWrqB,EAAMqqB,SACjBC,EAActqB,EAAMsqB,YACpBljB,EAAWpH,EAAMoH,SACjBmjB,EAAOvqB,EAAMuqB,KACbziB,EAAa9H,EAAM8H,WACnB8gB,EAAY5oB,EAAM4oB,UAClBC,EAAe7oB,EAAM6oB,aACrBE,EAAqB/oB,EAAM+oB,mBAC3BhkB,EAAW/E,EAAM+E,SACjBylB,EAAaxqB,EAAMwqB,WACnBC,EAAuBzqB,EAAMyqB,qBAC7BC,EAAc1qB,EAAM0qB,YACpBC,EAAmB3qB,EAAM2qB,iBACzBC,EAAwB5qB,EAAM6qB,kBAC9BA,OAA8C,IAA1BD,EAAmC,SAAUE,GACnE,MAAO,KAAK/nB,OAAO+nB,EAAc1tB,OAAQ,SACvCwtB,EACAG,EAAY/qB,EAAM+qB,UAClB7H,EAAWljB,EAAMkjB,SACjB8H,EAAgBhrB,EAAMgrB,cACtBC,EAAejrB,EAAMirB,aACrBC,EAAiBlrB,EAAMkrB,eACvBC,EAAmBnrB,EAAMmrB,iBACzBC,EAA0BprB,EAAMorB,wBAChCC,EAAwBrrB,EAAMqrB,sBAE9BxH,EAAkB,YAAe,GACjC9kB,EAAmB,aAAe8kB,EAAiB,GACnDyH,EAAevsB,EAAiB,GAChCwsB,EAAkBxsB,EAAiB,GAEnCysB,EAAa,SAAa,MAE1BC,EAAmB,WAAe,GAClCnS,EAAmB,aAAemS,EAAkB,GACpDC,EAAapS,EAAiB,GAC9BqS,EAAgBrS,EAAiB,GAGrC,aAAgB,WACdiS,GAAgB,KACf,IAEH,IAAIpf,EAAa6W,GAAiB,SAATuH,EAAkB1H,EAAc,GACrD+I,EAAyB,SAATrB,GAAmBvH,GAAQlb,EAE/CoiB,IAAgB,WACdyB,EAAcH,EAAWpsB,QAAQysB,eAChC,CAAC1f,IAEJ,IAEI2f,EAFAC,EAAgBnJ,EAIO,iBAAhB8H,IACToB,EAAYlJ,EAAOxlB,OAASstB,EAC5BqB,EAAgBnJ,EAAO9kB,MAAM,EAAG4sB,IAIF,iBAArBC,IACToB,EAAgBA,EAAcpkB,KAAI,SAAUhJ,GAC1C,IAAI0K,EAAQ1K,EAAK0K,MACb2iB,EAAO,aAAyBrtB,EAAM,CAAC,UAEvCstB,EAAe5iB,EAEnB,GAAqB,iBAAVA,GAAuC,iBAAVA,EAAoB,CAC1D,IAAI6iB,EAAWC,OAAOF,GAElBC,EAAS9uB,OAASutB,IACpBsB,EAAe,GAAGlpB,OAAOmpB,EAASpuB,MAAM,EAAG6sB,GAAmB,QAIlE,OAAO,YAAc,YAAc,GAAIqB,GAAO,GAAI,CAChD3iB,MAAO4iB,QAMTH,EAAY,GACdC,EAAc5uB,KAAK,CACjBoG,IA5Fa,+BA6Fb8F,MAAoC,mBAAtBwhB,EAAmCA,EAAkBjI,EAAO9kB,MAAM4sB,IAAgBG,IAIpG,IAAIuB,EAAgB,gBAAoB,KAAe,CACrD/P,WAAW,EACX3O,KAAMqe,EACNM,WAAY5B,EACZa,aAAcA,IACb,SAAUrpB,GACX,IAAIsB,EAAMtB,EAAMsB,IACZ8F,EAAQpH,EAAMoH,MACdrN,EAAQiG,EAAMjG,MACdswB,EAAerqB,EAAMmF,SACrB5E,EAAYP,EAAMO,UAClBI,EAAQX,EAAMW,MACd2pB,EAAYhpB,GAAOvH,EACnBwwB,GAAYplB,GA9GD,iCA8Ga7D,IAAyB+oB,EAEjD5W,EAAc,SAAqB9K,GACrCA,EAAMb,iBACNa,EAAMuK,mBAGJsX,EAAU,SAAiB7hB,GACzBA,GAAOA,EAAMuK,kBACjB+N,EAASlnB,EAAO,CACduoB,UAAU,KAId,MAA4B,mBAAdwG,EAA2B,gBAAoB,OAAQ,CACnExnB,IAAKgpB,EACL7W,YAAaA,EACblT,UAAWA,EACXI,MAAOA,GACNmoB,EAAU,CACX1hB,MAAOA,EACPrN,MAAOA,EACPoL,SAAUklB,EACVE,SAAUA,EACVC,QAASA,KACL,gBAAoB,OAAQ,CAChClpB,IAAKgpB,EACL/pB,UAAW,IAAWA,EAAW,GAAGO,OAAOR,EAAW,mBAAoB,YAAgB,GAAI,GAAGQ,OAAOR,EAAW,4BAA6B+pB,IAChJ1pB,MAAOA,GACN,gBAAoB,OAAQ,CAC7BJ,UAAW,GAAGO,OAAOR,EAAW,4BAC/B8G,GAAQmjB,GAAY,gBAAoB,GAAU,CACnDhqB,UAAW,GAAGO,OAAOR,EAAW,0BAChCmT,YAAaA,EACb7Q,QAAS4nB,EACTzK,cAAewI,GACd,SAEL,OAAO,gBAAoB,WAAgB,KAAM4B,EAAe,gBAAoB,OAAQ,CAC1F5pB,UAAW,GAAGO,OAAOR,EAAW,qBAChCK,MAAO,CACLkU,MAAO4U,IAER,gBAAoB,GAAO,CAC5BzrB,IAAKoqB,EACLrH,KAAMA,EACNzgB,UAAWA,EACXkgB,GAAIA,EACJkG,aAAc,KACdvhB,SAAUA,EACVwhB,UAAWA,EACXC,aAAcA,EACdC,SAAU8C,EACV7C,mBAAoBA,EACpB/sB,MAAOmQ,EACP4B,UAAWmd,EACXxV,YAAayV,EACbtsB,SAAUmsB,EACV9B,QAAS+B,EACT7B,mBAAoBgC,EACpB9B,iBAAkB+B,EAClBtmB,SAAUA,EACV2K,MAAOF,GAAUxP,GAAO,KACtB,gBAAoB,OAAQ,CAC9BC,IAAKurB,EACLhpB,UAAW,GAAGO,OAAOR,EAAW,4BAChC,eAAe,GACd4J,EAAY,OAAWyW,EAAOxlB,SAAW+O,GAAc,gBAAoB,OAAQ,CACpF3J,UAAW,GAAGO,OAAOR,EAAW,2BAC/B+nB,KC1GU,GA/EM,SAAwBtqB,GAC3C,IAAI2oB,EAAe3oB,EAAM2oB,aACrBpmB,EAAYvC,EAAMuC,UAClBkgB,EAAKziB,EAAMyiB,GACX4H,EAAWrqB,EAAMqqB,SACjBjjB,EAAWpH,EAAMoH,SACjBwhB,EAAY5oB,EAAM4oB,UAClBC,EAAe7oB,EAAM6oB,aACrBE,EAAqB/oB,EAAM+oB,mBAC3BwB,EAAOvqB,EAAMuqB,KACbvH,EAAOhjB,EAAMgjB,KACbJ,EAAS5iB,EAAM4iB,OACf0H,EAActqB,EAAMsqB,YACpBvlB,EAAW/E,EAAM+E,SACjB+C,EAAa9H,EAAM8H,WACnB+a,EAAc7iB,EAAM6iB,YACpB6J,EAAc1sB,EAAM0sB,YACpBxB,EAAiBlrB,EAAMkrB,eACvBC,EAAmBnrB,EAAMmrB,iBACzBH,EAAgBhrB,EAAMgrB,cACtBC,EAAejrB,EAAMirB,aACrBG,EAA0BprB,EAAMorB,wBAChCC,EAAwBrrB,EAAMqrB,sBAE9BxH,EAAkB,YAAe,GACjC9kB,EAAmB,aAAe8kB,EAAiB,GACnD8I,EAAe5tB,EAAiB,GAChC6tB,EAAkB7tB,EAAiB,GAEnC8tB,EAAoB,aAATtC,EACXqB,EAAgBiB,GAAY/kB,EAC5BgR,EAAO8J,EAAO,GACdzW,EAAa0W,GAAe,GAE5BgK,GAAYH,IAAgBC,IAC9BxgB,EAAaugB,GAGf,aAAgB,WACVG,GACFD,GAAgB,KAEjB,CAACC,EAAUH,IAEd,IAAII,IAAwB,aAATvC,IAAwBvH,MAAiB7W,EACxDxH,GAAQmU,GAA+B,iBAAfA,EAAKzP,OAA4C,iBAAfyP,EAAKzP,WAA8CvM,EAAxBgc,EAAKzP,MAAMzL,WACpG,OAAO,gBAAoB,WAAgB,KAAM,gBAAoB,OAAQ,CAC3E4E,UAAW,GAAGO,OAAOR,EAAW,sBAC/B,gBAAoB,GAAO,CAC5BtC,IAAKoqB,EACL9nB,UAAWA,EACXkgB,GAAIA,EACJO,KAAMA,EACN2F,aAAcA,EACdvhB,SAAUA,EACVwhB,UAAWA,EACXC,aAAcA,EACdC,SAAU8C,EACV7C,mBAAoBA,EACpB/sB,MAAOmQ,EACP4B,UAAWmd,EACXxV,YAAayV,EACbtsB,SAAU,SAAkB8B,GAC1BisB,GAAgB,GAChB5B,EAAcrqB,IAEhBuoB,QAAS+B,EACT7B,mBAAoBgC,EACpB9B,iBAAkB+B,EAClBtmB,SAAUA,EACV2K,MAAOF,GAAUxP,GAAO,OACpB6sB,GAAY/T,IAASgU,GAAgB,gBAAoB,OAAQ,CACrEtqB,UAAW,GAAGO,OAAOR,EAAW,mBAChCoC,MAAOA,GACNmU,EAAKzP,QAASyP,IAASgU,GAAgB,gBAAoB,OAAQ,CACpEtqB,UAAW,GAAGO,OAAOR,EAAW,2BAC/B+nB,KCzEU,SAASyC,KACtB,IAAIC,EAAW5nB,UAAUhI,OAAS,QAAsBN,IAAjBsI,UAAU,GAAmBA,UAAU,GAAK,IAC/EuV,EAAU,SAAa,MACvBsS,EAAa,SAAa,MAQ9B,SAASC,EAAOC,IACVA,GAA8B,OAApBxS,EAAQvb,WACpBub,EAAQvb,QAAU+tB,GAGpBxZ,OAAO7B,aAAamb,EAAW7tB,SAC/B6tB,EAAW7tB,QAAUuU,OAAOhC,YAAW,WACrCgJ,EAAQvb,QAAU,OACjB4tB,GAGL,OAjBA,aAAgB,WACd,OAAO,WACLrZ,OAAO7B,aAAamb,EAAW7tB,YAEhC,IAaI,CAAC,WACN,OAAOub,EAAQvb,SACd8tB,GCdL,IAsJIE,GAAkB,cAtJP,SAAkBptB,EAAOC,GACtC,IAAIoqB,EAAW,iBAAO,MAClBgD,EAAuB,kBAAO,GAC9B9qB,EAAYvC,EAAMuC,UAClB6X,EAAWpa,EAAMoa,SACjB4I,EAAOhjB,EAAMgjB,KACbuH,EAAOvqB,EAAMuqB,KACbziB,EAAa9H,EAAM8H,WACnBwlB,EAAiBttB,EAAMstB,eACvBC,EAAWvtB,EAAMutB,SACjBC,EAAiBxtB,EAAMwtB,eACvBrK,EAAenjB,EAAMmjB,aACrB+H,EAAiBlrB,EAAMkrB,eACvBuC,EAASztB,EAAMytB,OAEnB,sBAA0BxtB,GAAK,WAC7B,MAAO,CACLytB,MAAO,WACLrD,EAASjrB,QAAQsuB,SAEnBxhB,KAAM,WACJme,EAASjrB,QAAQ8M,YAKvB,IAAIyhB,EAAWZ,GAAQ,GACnBa,EAAY,aAAeD,EAAU,GACrCE,EAAoBD,EAAU,GAC9BE,EAAoBF,EAAU,GAkC9BG,EAAgB,iBAAO,MAqEvBC,EAAc,CAChB3D,SAAUA,EACVa,eAvG2B,SAAgCtgB,GAC3D,IAAI6Z,EAAQ7Z,EAAM6Z,MAEdA,IAAU,KAAQC,IAAMD,IAAU,KAAQE,MAC5C/Z,EAAMb,iBAGJmhB,GACFA,EAAetgB,GAGb6Z,IAAU,KAAQI,OAAkB,SAAT0F,GAAoB8C,EAAqBjuB,SAAY4jB,GAGlFwK,EAAe5iB,EAAM9E,OAAO9J,OAGzB,CAAC,KAAQiyB,MAAO,KAAQC,IAAK,KAAQC,UAAW,KAAQrJ,KAAKlV,SAAS6U,IACzEtB,GAAa,IAsFfgI,iBA7E6B,WAC7B2C,GAAkB,IA6ElB9C,cAzDkB,SAAuBpgB,GACzC,IAAI5O,EAAQ4O,EAAM9E,OAAO9J,MAEzB,GAAIsxB,GAAkBS,EAAc3uB,SAAW,SAASlB,KAAK6vB,EAAc3uB,SAAU,CAEnF,IAAIgvB,EAAeL,EAAc3uB,QAAQivB,QAAQ,QAAS,KAAKA,QAAQ,UAAW,KAClFryB,EAAQA,EAAMqyB,QAAQD,EAAcL,EAAc3uB,SAGpD2uB,EAAc3uB,QAAU,KAvBJ,SAAyBpD,IACe,IAAxDuxB,EAASvxB,GAAO,EAAMqxB,EAAqBjuB,UAC7C+jB,GAAa,GAsBfmL,CAAgBtyB,IAgDhBivB,aA7CiB,SAAsBtqB,GACvC,IACI3E,EADgB2E,EAAE4tB,cACIC,QAAQ,QAClCT,EAAc3uB,QAAUpD,GA2CxBovB,wBAnE4B,WAC5BiC,EAAqBjuB,SAAU,GAmE/BisB,sBAhE0B,WAC1BgC,EAAqBjuB,SAAU,IAiE7BqvB,EAAarU,EAAW,gBAAoBsU,GAAkB7yB,OAAOsE,OAAO,GAAIH,EAAOguB,IAAgB,gBAAoB,GAAgBnyB,OAAOsE,OAAO,GAAIH,EAAOguB,IACxK,OAAO,gBAAoB,MAAO,CAChC/tB,IAAKwtB,EACLjrB,UAAW,GAAGO,OAAOR,EAAW,aAChCsC,QA/CY,SAAiBlG,GAChBA,EAAKmH,SAEHukB,EAASjrB,eAE2BtC,IAAtCkP,SAAS2iB,KAAK/rB,MAAMgsB,cAG7Bjd,YAAW,WACT0Y,EAASjrB,QAAQsuB,WAGnBrD,EAASjrB,QAAQsuB,UAoCrBhY,YA/BgB,SAAqB9K,GACrC,IAAIikB,EAAiBhB,IAEjBjjB,EAAM9E,SAAWukB,EAASjrB,SAAYyvB,GACxCjkB,EAAMb,kBAGK,aAATwgB,GAAyBziB,GAAe+mB,IAAoB7L,IAC1DA,GACFuK,EAAS,IAAI,GAAM,GAGrBpK,OAoBDsL,MAILrB,GAAgB/sB,YAAc,WACf,U,aCnDXyuB,GAAmB,cAzEH,SAAuB9uB,EAAOC,GAChD,IAAIsC,EAAYvC,EAAMuC,UAElBwS,GADW/U,EAAMoH,SACPpH,EAAM+U,SAChBvR,EAAWxD,EAAMwD,SACjBurB,EAAe/uB,EAAM+uB,aACrBC,EAAiBhvB,EAAMgvB,eACvBC,EAAYjvB,EAAMivB,UAClBC,EAAiBlvB,EAAMkvB,eACvBC,EAAgBnvB,EAAMmvB,cACtBC,EAAoBpvB,EAAMovB,kBAC1BC,EAAmBrvB,EAAMoC,UACzBA,OAAiC,IAArBitB,EAA8B,MAAQA,EAClDC,EAAwBtvB,EAAMgI,yBAC9BA,OAAqD,IAA1BsnB,GAA0CA,EACrEC,EAAiBvvB,EAAMuvB,eACvBC,EAAgBxvB,EAAMwvB,cACtBvnB,EAAoBjI,EAAMiI,kBAC1BwnB,EAAQzvB,EAAMyvB,MACdC,EAAoB1vB,EAAM0vB,kBAC1B7sB,EAAY,aAAyB7C,EAAO,CAAC,YAAa,WAAY,UAAW,WAAY,eAAgB,iBAAkB,YAAa,iBAAkB,gBAAiB,oBAAqB,YAAa,2BAA4B,iBAAkB,gBAAiB,oBAAqB,QAAS,sBAE9S2vB,EAAoB,GAAG5sB,OAAOR,EAAW,aACzCqtB,EAAYb,EAEZQ,IACFK,EAAYL,EAAeR,IAG7B,IAAIc,EAAoB,WAAc,WACpC,OArEuB,SAA8B7nB,GAEvD,IAAI8nB,EAA8C,iBAA7B9nB,EAAwC,EAAI,EACjE,MAAO,CACL+nB,WAAY,CACVC,OAAQ,CAAC,KAAM,MACflf,OAAQ,CAAC,EAAG,GACZO,SAAU,CACRye,QAASA,EACTG,QAAS,IAGbC,YAAa,CACXF,OAAQ,CAAC,KAAM,MACflf,OAAQ,CAAC,EAAG,GACZO,SAAU,CACRye,QAASA,EACTG,QAAS,IAGbE,QAAS,CACPH,OAAQ,CAAC,KAAM,MACflf,OAAQ,CAAC,GAAI,GACbO,SAAU,CACRye,QAASA,EACTG,QAAS,IAGbG,SAAU,CACRJ,OAAQ,CAAC,KAAM,MACflf,OAAQ,CAAC,GAAI,GACbO,SAAU,CACRye,QAASA,EACTG,QAAS,KAoCNI,CAAqBroB,KAC3B,CAACA,IAEAsoB,EAAuBrB,EAAY,GAAGlsB,OAAO4sB,EAAmB,KAAK5sB,OAAOksB,GAAaC,EAEzFqB,EAAW,SAAa,MAC5B,sBAA0BtwB,GAAK,WAC7B,MAAO,CACLuwB,gBAAiB,WACf,OAAOD,EAASnxB,aAKtB,IAAIqxB,EAAa,YAAc,CAC7BC,SAAU1B,GACTG,GAQH,MANwC,iBAA7BnnB,EACTyoB,EAAW3Z,MAAQ9O,EACVA,IACTyoB,EAAW3Z,MAAQkY,GAGd,gBAAoB,KAASnzB,OAAOsE,OAAO,GAAI0C,EAAW,CAC/D8tB,WAAY,GACZC,WAAY,GACZC,eAA8B,QAAdzuB,EAAsB,cAAgB,aACtD0uB,kBAAmBjB,EACnBttB,UAAWotB,EACXoB,oBAAqBT,EACrBU,MAAO,gBAAoB,MAAO,CAChC/wB,IAAKswB,GACJX,GACHqB,WAAYzB,EACZ0B,aAAcnc,EACd9M,kBAAmBA,EACnBkpB,eAAgB,IAAW/B,EAAmB,YAAgB,GAAI,GAAGrsB,OAAO4sB,EAAmB,UAAWF,IAC1GgB,WAAYA,EACZf,kBAAmBA,IACjBlsB,MAINsrB,GAAiBzuB,YAAc,gBAChB,UC1Ff,IAAI+wB,GAAqB,CAAC,aAAc,cAAe,YAAa,cAAe,mBAAoB,oBAAqB,uBAAwB,kBC+ErI,IDzE0BC,GACnCC,GACAC,GACAC,GACA9O,GACA+O,GACAC,GACAC,GACAC,GAEAC,GACAC,GC8DS,GAvGf,SAAsB9xB,GACpB,IAAIuqB,EAAOvqB,EAAMuqB,KACb7iB,EAAU1H,EAAM0H,QAChBlE,EAAWxD,EAAMwD,SACjBuuB,EAAW/xB,EAAM+xB,SACjBC,EAAahyB,EAAMgyB,WACnB1H,EAActqB,EAAMsqB,YACpB2H,EAAkBjyB,EAAMiyB,gBACxBnqB,EAAa9H,EAAM8H,WACnBylB,EAAWvtB,EAAMutB,SACjB2E,EAAclyB,EAAMkyB,YACpBtJ,EAAY5oB,EAAM4oB,UAClBuJ,EAAenyB,EAAMmyB,aACrBn2B,EAAQgE,EAAMhE,MACdmQ,EAAanM,EAAMmM,WACnBpE,EAAkB/H,EAAM+H,gBACxBqS,EAAoB,aAATmQ,GAAgC,SAATA,EAClC6H,OAAkCt1B,IAAfgL,EAA2BA,EAAasS,GAAqB,aAATmQ,EACvE8H,EAAgB3qB,GAAW,GAAsBlE,GAMrD,GAJA,OAAAyjB,GAAA,GAAiB,SAATsD,GAAmB8H,EAAcC,OAAM,SAAU1qB,GACvD,OAAQA,EAAIR,YACV,gGAES,SAATmjB,GAA4B,aAATA,EAAqB,CAC1C,IAAIgI,EAAiBF,EAAczrB,MAAK,SAAUkS,GAChD,OAAIA,EAAKpR,QACAoR,EAAKpR,QAAQd,MAAK,SAAUgB,GACjC,MAAyD,iBAA1C,UAAWA,EAAMA,EAAI5L,MAAQ4L,EAAIrE,QAIQ,iBAA7C,UAAWuV,EAAOA,EAAK9c,MAAQ8c,EAAKvV,QAErD,OAAA0jB,GAAA,IAASsL,EAAgB,qFAkB3B,GAdA,OAAAtL,GAAA,GAAiB,aAATsD,IAAwBxiB,EAAiB,yFAEjD,OAAAkf,GAAA,GAAiB,aAATsD,IAAwBwH,EAAU,+CAE1C,OAAA9K,GAAA,GAAiB,aAATsD,IAAwB0H,EAAiB,qDAEjD,aAAkB,aAAT1H,IAAwB0H,IAAoBD,IAAe1H,EAAa,mIAE7EiD,IAAa6E,GAA6B,aAAT7H,GAAgC,SAATA,GAC1D,OAAAtD,GAAA,IAAQ,EAAO,kEAGjB,cAAUiL,GAAetJ,EAAW,oIAEhC5sB,QAAuC,CACzC,IAAI4mB,EAAS,GAAQ5mB,GACrB,OAAAirB,GAAA,IAASkL,GAAgBvP,EAAO0P,OAAM,SAAUjL,GAC9C,MAAwB,WAAjB,aAAQA,KAAsB,QAASA,GAAO,UAAWA,MAC9D,oHACJ,OAAAJ,GAAA,IAAS7M,GAAY/d,MAAMC,QAAQN,GAAQ,+DAI7C,GAAIwH,EAAU,CACZ,IAAIgvB,EAAsB,KAC1B,aAAYhvB,GAAUoD,MAAK,SAAU4C,GACnC,IAAK,iBAAqBA,KAAUA,EAAKjD,KACvC,OAAO,EAGT,IAAIA,EAAOiD,EAAKjD,KAEhB,OAAIA,EAAKsf,iBAILtf,EAAKwf,kBACgB,aAAYvc,EAAKxJ,MAAMwD,UAAU8uB,OAAM,SAAUG,GACtE,QAAK,iBAAqBA,IAAajpB,EAAKjD,OAAQksB,EAAQlsB,KAAKsf,kBAIjE2M,EAAsBC,EAAQlsB,MACvB,OAUXisB,EAAsBjsB,GACf,OAGLisB,GACF,OAAAvL,GAAA,IAAQ,EAAO,yEAAyElkB,OAAOyvB,EAAoBnyB,aAAemyB,EAAoBx0B,MAAQw0B,EAAqB,OAGrL,OAAAvL,GAAA,QAAuBnqB,IAAfqP,EAA0B,mEC/DlC,IFLEmlB,IADmCD,GEMR,CAC/B9uB,UAAW,YACXmwB,WAAY,CACVC,WAAY,IAEdnB,sBAAuB,GACvB9O,eXhBK,SAAwBhb,GAC7B,IAAIkrB,EAAc,GAwBlB,OAtBA,SAASC,EAAIrR,EAAMsR,GACjBtR,EAAK7R,SAAQ,SAAUuJ,GACjB4Z,KAAmB,YAAa5Z,GAElC0Z,EAAYz1B,KAAK,CACfoG,IAAK,GAAO2V,EAAM0Z,EAAYx1B,QAC9BioB,YAAayN,EACb5Z,KAAMA,KAIR0Z,EAAYz1B,KAAK,CACfoG,IAAK,GAAO2V,EAAM0Z,EAAYx1B,QAC9BwmB,OAAO,EACP1K,KAAMA,IAER2Z,EAAI3Z,EAAKxR,SAAS,OAKxBmrB,CAAInrB,GAAS,GACNkrB,GWRPnB,gBXsD2B,SAAyBz1B,EAAOiG,GAC3D,IAQI8wB,EARArrB,EAAUzF,EAAMyF,QAChBsrB,EAAY/wB,EAAM+wB,UAClBb,EAAelwB,EAAMkwB,aACrBpqB,EAAkB9F,EAAM8F,gBACxB+Q,EAAO,GAAgB,CAAC9c,GAAQ0L,GAAS,GACzCwL,EAAS,CACXlX,MAAOA,GAGLi3B,EAAa,GAAQD,GA2BzB,OAzBIb,IACFY,EAAcE,EAAW3L,MAAK,SAAU4L,GACtC,MAA0B,WAAtB,aAAQA,IAA0B,UAAWA,EACxCA,EAASl3B,QAAUA,EAIrBk3B,EAAS3vB,MAAQvH,MAIxB+2B,GAAwC,WAAzB,aAAQA,IAA6B,UAAWA,GACjE7f,EAAO7J,MAAQ0pB,EAAY1pB,MAEvByP,GAAqC,iBAAtBia,EAAY1pB,OAAuD,iBAA1ByP,EAAK/Q,IAAiCgrB,EAAY1pB,MAAM8pB,SAAWra,EAAK/Q,GAAiBorB,QACnJ,OAAAlM,GAAA,IAAQ,EAAO,iEAGjB/T,EAAO7J,MADEyP,GAAQ/Q,KAAmB+Q,EACrBA,EAAK/Q,GAEL/L,EAIjBkX,EAAO3P,IAAM2P,EAAOlX,MACbkX,GW1FPwe,cXoHK,SAAuB7O,EAAanb,EAASyd,GAClD,IAGIiO,EAHAC,EAAmBlO,EAAMkO,iBACzBC,EAAenO,EAAMmO,aACrBC,EAAkB,GAGtB,OAAqB,IAAjBD,EACK,aAAmB5rB,IAI1B0rB,EAD0B,mBAAjBE,EACIA,EA5BjB,SAA2BD,GACzB,OAAO,SAAUxQ,EAAankB,GAC5B,IAAI80B,EAAkB3Q,EAAY4Q,cAElC,MAAI,YAAa/0B,EACR8oB,GAAY9oB,EAAO2K,OAAOoqB,cAAc7jB,SAAS4jB,GAK9ChM,GADG9oB,EAAO20B,IACYI,cACrB7jB,SAAS4jB,IAmBTE,CAAkBL,GAGjC3rB,EAAQiI,SAAQ,SAAUmJ,GAExB,GAAI,YAAaA,EAIf,GAFiBsa,EAAWvQ,EAAa/J,GAGvCya,EAAgBp2B,KAAK2b,OAChB,CAEL,IAAI6a,EAAa7a,EAAKpR,QAAQuI,QAAO,SAAU2jB,GAC7C,OAAOR,EAAWvQ,EAAa+Q,MAG7BD,EAAWv2B,QACbm2B,EAAgBp2B,KAAK,YAAc,YAAc,GAAI2b,GAAO,GAAI,CAC9DpR,QAASisB,UAQbP,EAAWvQ,EAAakE,GAAsBjO,KAChDya,EAAgBp2B,KAAK2b,MAGlBya,IW/JP5B,gBX6LK,SAAyB31B,EAAO0L,GAErC,OADa,GAAgB,CAAC1L,GAAQ0L,GAAS,GACjCN,UW9LdwqB,gBAAiB,GACjBiC,aAAc,GACdhC,4BXkMK,SAAqCnqB,EAAS1L,EAAO+L,EAAiBoqB,GAC3E,IAAIvP,EAAS,GAAQ5mB,GAAO8B,QAAQ+I,OAEhCitB,EAAe,aAAmBpsB,GAGlCqsB,EAAe,IAAIC,IAsBvB,OArBAtsB,EAAQiI,SAAQ,SAAU/H,GACpBA,EAAIF,QACNE,EAAIF,QAAQiI,SAAQ,SAAUskB,GAC5BF,EAAaG,IAAID,EAAOj4B,UAG1B+3B,EAAaG,IAAItsB,EAAI5L,UAIzB4mB,EAAOjT,SAAQ,SAAUmJ,GACvB,IAGMqb,EAHF9M,EAAM8K,EAAerZ,EAAK9c,MAAQ8c,EAEjCib,EAAavP,IAAI6C,IAGpByM,EAAa32B,KAAKg1B,GAAgBgC,EAAQ,GAAI,YAAgBA,EAAOpsB,EAAiB+Q,EAAKzP,OAAQ,YAAgB8qB,EAAO,QAAS9M,GAAM8M,GAAS,CAChJn4B,MAAOqrB,OAINyM,KS/OuBvxB,UAC1BgvB,GAAaF,GAAOqB,WAAWC,WAC/BnB,GAAwBH,GAAOG,sBAC/B9O,GAAiB2O,GAAO3O,eACxB+O,GAAkBJ,GAAOI,gBACzBC,GAAgBL,GAAOK,cACvBC,GAAkBN,GAAOM,gBACzBC,GAAkBP,GAAOO,gBACVP,GAAOwC,aACtBhC,GAA8BR,GAAOQ,4BACrCC,GAAeT,GAAOS,aAwyBV,cAtyBhB,SAAgB9xB,EAAOC,GACrB,IAAIm0B,EAEAtY,EAAmB9b,EAAMuC,UACzBA,OAAiC,IAArBuZ,EAA8BwV,GAAmBxV,EAC7DtZ,EAAYxC,EAAMwC,UAClBigB,EAAKziB,EAAMyiB,GACXO,EAAOhjB,EAAMgjB,KACbkP,EAAclyB,EAAMkyB,YACpBxqB,EAAU1H,EAAM0H,QAChBlE,EAAWxD,EAAMwD,SACjB+mB,EAAOvqB,EAAMuqB,KACbvuB,EAAQgE,EAAMhE,MACd4C,EAAeoB,EAAMpB,aACrBuzB,EAAenyB,EAAMmyB,aACrBrqB,EAAa9H,EAAM8H,WACnBqE,EAAanM,EAAMmM,WACnB0W,EAAc7iB,EAAM6iB,YACpByQ,EAAetzB,EAAMszB,aACrBe,EAAwBr0B,EAAMqzB,iBAC9BA,OAA6C,IAA1BgB,EAAmC,QAAUA,EAChEC,EAAwBt0B,EAAMu0B,qBAC9BA,OAAiD,IAA1BD,GAA0CA,EACjE/G,EAAWvtB,EAAMutB,SACjByE,EAAahyB,EAAMgyB,WACnBwC,EAAYx0B,EAAMw0B,UAClBC,EAAYz0B,EAAMy0B,UAClBC,EAAY10B,EAAM00B,UAClBzR,EAAuBjjB,EAAMijB,qBAC7B7b,EAAWpH,EAAMoH,SACjButB,EAAU30B,EAAM20B,QAChB7R,EAA2B9iB,EAAM8iB,yBACjC8R,EAAwB50B,EAAM+iB,gBAC9BA,OAA4C,IAA1B6R,EAAmC,YAAcA,EACnE7sB,EAAkB/H,EAAM+H,gBACxBgqB,EAAW/xB,EAAM+xB,SACjBE,EAAkBjyB,EAAMiyB,gBACxBhqB,EAAoBjI,EAAMiI,kBAC1B4sB,EAAoB70B,EAAM80B,WAC1BA,OAAmC,IAAtBD,EAA+B,IAAMA,EAClDE,EAAwB/0B,EAAMg1B,eAC9BA,OAA2C,IAA1BD,EAAmC,GAAKA,EACzD9F,EAAYjvB,EAAMivB,UAClBC,EAAiBlvB,EAAMkvB,eACvB/S,EAAUnc,EAAMmc,QAChBgT,EAAgBnvB,EAAMmvB,cACtBC,EAAoBpvB,EAAMovB,kBAC1BpnB,EAA2BhI,EAAMgI,yBACjCunB,EAAiBvvB,EAAMuvB,eACvBC,EAAgBxvB,EAAMwvB,cACtByF,GAAoBj1B,EAAM2wB,WAC1BA,QAAmC,IAAtBsE,GAA+B,GAAKA,GACjD7yB,GAAYpC,EAAMoC,UAClB8yB,GAAkBl1B,EAAMk1B,gBACxBnK,GAAY/qB,EAAM+qB,UAClBoK,GAAgBn1B,EAAMm1B,cACtBC,GAA0Bp1B,EAAMo1B,wBAChCC,GAAUr1B,EAAMq1B,QAChB9sB,GAASvI,EAAMuI,OACfH,GAAUpI,EAAMoI,QAChB2F,GAAY/N,EAAM+N,UAClB2H,GAAc1V,EAAM0V,YACpB7W,GAAWmB,EAAMnB,SACjBqkB,GAAWljB,EAAMkjB,SACjBoS,GAAat1B,EAAMs1B,WACnBC,GAAUv1B,EAAMu1B,QAChBC,GAAuBx1B,EAAMy1B,cAC7BA,QAAyC,IAAzBD,GAAkC,GAAKA,GACvD3yB,GAAY,aAAyB7C,EAAO,CAAC,YAAa,YAAa,KAAM,OAAQ,cAAe,UAAW,WAAY,OAAQ,QAAS,eAAgB,eAAgB,aAAc,aAAc,cAAe,eAAgB,mBAAoB,uBAAwB,WAAY,aAAc,YAAa,YAAa,YAAa,uBAAwB,WAAY,UAAW,2BAA4B,kBAAmB,kBAAmB,WAAY,kBAAmB,oBAAqB,aAAc,iBAAkB,YAAa,iBAAkB,UAAW,gBAAiB,oBAAqB,2BAA4B,iBAAkB,gBAAiB,aAAc,YAAa,kBAAmB,YAAa,gBAAiB,0BAA2B,UAAW,SAAU,UAAW,YAAa,cAAe,WAAY,WAAY,aAAc,UAAW,kBAE53B01B,GGxHyB,kCHwHND,GAAcE,KACjCC,GAAW9D,GAAeA,GAAajvB,IAAaA,GACxDuuB,GAAmBzhB,SAAQ,SAAUkmB,UAC5BD,GAASC,MAElB,IAAIzV,GAAe,iBAAO,MACtB0V,GAAa,iBAAO,MACpBC,GAAc,iBAAO,MACrB1W,GAAU,iBAAO,MACjBiO,GAAiB,mBAAQ,WAC3B,OAAQ4H,IAAmB,IAAItuB,MAAK,SAAUovB,GAC5C,MAAO,CAAC,KAAM,QAAQpmB,SAASomB,QAEhC,CAACd,KAGAe,GIjIO,WACb,IAAIC,EAAU9wB,UAAUhI,OAAS,QAAsBN,IAAjBsI,UAAU,GAAmBA,UAAU,GAAK,GAE9Eye,EAAkB,YAAe,GACjC9kB,EAAmB,aAAe8kB,EAAiB,GACnDsS,EAAOp3B,EAAiB,GACxBq3B,EAAUr3B,EAAiB,GAE3Bs3B,EAAW,SAAa,MAExBC,EAAe,WACjB3iB,OAAO7B,aAAaukB,EAASj3B,UAG/B,aAAgB,WACd,OAAOk3B,IACN,IAEH,IAAIC,EAAe,SAAsBv6B,EAAO6O,GAC9CyrB,IACAD,EAASj3B,QAAUuU,OAAOhC,YAAW,WACnCykB,EAAQp6B,GAEJ6O,GACFA,MAEDqrB,IAGL,MAAO,CAACC,EAAMI,EAAcD,GJoGLE,GACjBC,GAAkB,aAAeR,GAAgB,GACjDS,GAAcD,GAAgB,GAC9BE,GAAiBF,GAAgB,GACjCG,GAAuBH,GAAgB,GAGvC1yB,GAAY,qBACZC,GAAa,aAAeD,GAAW,GACvC8yB,GAAU7yB,GAAW,GACrB8yB,GAAa9yB,GAAW,GAE5B,qBAAU,WV7DP,IACD+yB,EU6DAD,GAAW,aAAa/zB,QVzDxB6jB,IACFmQ,EAAQjQ,GACRA,IAAQ,GAERiQ,EAAQ,cAGHA,OUmDF,IACH,IAAIC,GAAWvU,GAAMoU,GAEjBI,GAAwBlvB,OAEEjL,IAA1Bm6B,KACFA,GAAwBvvB,EAAU,QAAU,YAI9C,IAAIwvB,GAA8B,aAAT3M,GAA8B4H,EACnDgF,GAAsB,SAAT5M,GAA4B,aAATA,EAChC6H,QAAkCt1B,IAAfgL,EAA2BA,EAAaqvB,IAAuB,aAAT5M,EAEzE6M,GAAiB,iBAAO,MAC5B,sBAA0Bn3B,GAAK,WAC7B,MAAO,CACLytB,MAAOqI,GAAY32B,QAAQsuB,MAC3BxhB,KAAM6pB,GAAY32B,QAAQ8M,SAI9B,IAAImrB,GAAkB,OAAAC,GAAA,GAAe14B,EAAc,CACjD5C,MAAOA,IAELu7B,GAAmB,aAAeF,GAAiB,GACnDn4B,GAAcq4B,GAAiB,GAC/BC,GAAiBD,GAAiB,GAIlCE,GAAiB,mBAAQ,WAC3B,OV1KC,SAAsBz7B,EAAO2C,GAClC,IAAIwzB,EAAexzB,EAAKwzB,aACpBtF,EAAWluB,EAAKkuB,SAEpB,QAAc/vB,IAAVd,GAAiC,KAAVA,GAAgB6wB,EACzC,MAAO,GAGT,IAAIjK,EAASvmB,MAAMC,QAAQN,GAASA,EAAQ,CAACA,GAE7C,OAAIm2B,EACKvP,EAAOjb,KAAI,SAAU1F,GAC1B,IAAIsB,EAAMtB,EAAMsB,IACZ8jB,EAAMplB,EAAMjG,MAChB,YAAec,IAARuqB,EAAoBA,EAAM9jB,KAI9Bqf,EUwJI8U,CAAax4B,GAAa,CAC/BizB,aAAc+E,GACdrK,SAAmB,aAATtC,MAEX,CAACrrB,GAAag4B,KAGbS,GAAY,mBAAQ,WACtB,OAAO,IAAI3D,IAAIyD,MACd,CAACA,KAGAG,GAAa,mBAAS,MACtBnb,GAAa,aAAemb,GAAY,GACxClL,GAAcjQ,GAAW,GACzBob,GAAiBpb,GAAW,GAE5Bqb,GAAa,mBAAS,IACtBC,GAAa,aAAeD,GAAY,GACxCE,GAAmBD,GAAW,GAC9BE,GAAsBF,GAAW,GAEjCG,GAAoBF,GAEX,aAATzN,QAAuCztB,IAAhBoC,GACzBg5B,GAAoBh5B,QACKpC,IAAhB+lB,EACTqV,GAAoBrV,EACX1W,IACT+rB,GAAoB/rB,GAGtB,IAAIkmB,GAAgB,mBAAQ,WAC1B,IAAI8F,EAAazwB,EAejB,YAbmB5K,IAAfq7B,IACFA,EAAa3G,GAAsBhuB,IAQxB,SAAT+mB,GAAmBsH,KACrBsG,EAAatG,GAA4BsG,EAAYj5B,GAAa+3B,GAAuB9E,IAGpFgG,GAAc,KACpB,CAACzwB,EAASlE,EAAU+mB,EAAMrrB,KACzBk5B,GAAuB,mBAAQ,WACjC,OAAO1V,GAAe2P,GAAeryB,KACpC,CAACqyB,KACAgG,GK1OO,SAAyBzV,EAAQlb,GAC9C,IAAI4wB,EAAmB,SAAa,MAChClR,EAAY,WAAc,WAC5B,IAAIzf,EAAM,IAAIoQ,IAKd,OAJArQ,EAAQiI,SAAQ,SAAUmJ,GACxB,IAAI9c,EAAQ8c,EAAKI,KAAKld,MACtB2L,EAAIiR,IAAI5c,EAAO8c,MAEVnR,IACN,CAACib,EAAQlb,IASZ,OARA4wB,EAAiBl5B,QAAUgoB,EAEN,SAAwBmR,GAC3C,OAAOA,EAAK5wB,KAAI,SAAU3L,GACxB,OAAOs8B,EAAiBl5B,QAAQuZ,IAAI3c,MACnCiU,OAAOuoB,UL2NWC,CAAgBhB,GAAgBW,IAEjDM,GAAiB,mBAAQ,WAC3B,IAAKR,KAAsB9F,GACzB,OAAO,aAAmBC,IAG5B,IAAIkB,EAAkB7B,GAAcwG,GAAmB7F,GAAe,CACpEgB,iBAAkBA,EAClBC,aAAuB,aAAT/I,QAAwCztB,IAAjBw2B,EAA6B,WAChE,OAAO,GACLA,IAaN,MAVa,SAAT/I,GAAmBgJ,EAAgBjB,OAAM,SAAU1qB,GACrD,OAAOA,EAAIyrB,KAAsB6E,OAEjC3E,EAAgB1kB,QAAQ,CACtB7S,MAAOk8B,GACP7uB,MAAO6uB,GACP30B,IAAK,kCAIFgwB,IACN,CAAClB,GAAe6F,GAAmB3N,EAAM6H,KACxCuG,GAAwB,mBAAQ,WAClC,OAAOjW,GAAegW,GAAgB14B,KACrC,CAAC04B,KACJ,qBAAU,WACJrZ,GAAQjgB,SAAWigB,GAAQjgB,QAAQ+gB,UACrCd,GAAQjgB,QAAQ+gB,SAAS,KAE1B,CAAC+X,KAEJ,IM5QyCtV,GACvCgW,GN2QE7M,GAAgB,mBAAQ,WAC1B,IAAI8M,EAAYpB,GAAe9vB,KAAI,SAAU0f,GAC3C,IAAIyR,EAAeT,GAAe,CAAChR,IAC/B0R,EAAetH,GAAgBpK,EAAK,CACtC3f,QAASoxB,EACT9F,UAAW9zB,GACXizB,aAAc+E,GACdnvB,gBAAiBkvB,KAEnB,OAAO,YAAc,YAAc,GAAI8B,GAAe,GAAI,CACxD3xB,SAAUuqB,GAAgBtK,EAAKyR,QAInC,OAAKvO,GAA6B,IAArBsO,EAAUz7B,QAAuC,OAAvBy7B,EAAU,GAAG78B,OAAyC,OAAvB68B,EAAU,GAAGxvB,MAI5EwvB,EAHE,KAIR,CAAC35B,GAAamzB,GAAe9H,IM/RS3H,GNiSJmJ,GMhSnC6M,GAAgB,SAAahW,INgS/BmJ,GM/RiB,WAAc,WAE/B,IAAIiN,EAAc,IAAIjhB,IACtB6gB,GAAcx5B,QAAQuQ,SAAQ,SAAUhR,GACtC,IAAI3C,EAAQ2C,EAAK3C,MACbqN,EAAQ1K,EAAK0K,MAEbrN,IAAUqN,GACZ2vB,EAAYpgB,IAAI5c,EAAOqN,MAG3B,IAAI4vB,EAAerW,GAAOjb,KAAI,SAAUmR,GACtC,IAAIogB,EAAaF,EAAYrgB,IAAIG,EAAK9c,OAEtC,OAAI8c,EAAK9c,QAAU8c,EAAKzP,OAAS6vB,EACxB,YAAc,YAAc,GAAIpgB,GAAO,GAAI,CAChDzP,MAAO6vB,IAIJpgB,KAGT,OADA8f,GAAcx5B,QAAU65B,EACjBA,IACN,CAACrW,KNyQF,IAAIuW,GAAgB,SAAuB95B,EAAU+5B,EAAU9oB,GAC7D,IAAI+oB,EAAiBhB,GAAe,CAACh5B,IACjCi6B,EAAY1H,GAAgB,CAACvyB,GAAWg6B,GAAgB,GAE5D,IAAK5D,GAAc8D,kBAAmB,CAEpC,IAAIC,EAActC,GAAqBzF,GAAgBpyB,EAAU,CAC/DqI,QAAS2xB,EACTrG,UAAW9zB,GACXizB,aAAc+E,GACdnvB,gBAAiBkvB,KACd53B,EAED+5B,GAAYlW,GACdA,GAASsW,EAAaF,IACZF,GAAY9D,IACtBA,GAAWkE,EAAaF,GAKxB5D,KACE0D,GAAY3D,GAAcgE,YAC5BhE,GAAcgE,YAAYp6B,EAAUi6B,EAAWhpB,IACrC8oB,GAAY3D,GAAciE,eACpCjE,GAAciE,cAAcr6B,EAAUi6B,EAAWhpB,KAMnDqpB,GAAa,mBAAS,IACtBC,GAAa,aAAeD,GAAY,GACxCxS,GAAmByS,GAAW,GAC9BC,GAAsBD,GAAW,GAEjCE,GAAgB,SAAuBC,GACzC,IAAIrE,KAAoBD,GAAcuE,kBAAtC,CAIA,IAAIC,EAAsB5B,GAAe0B,GACrCG,EV3SH,SAAuBC,EAAWhV,GACvC,IAAIpd,EAAkBod,EAAMpd,gBACxBoqB,EAAehN,EAAMgN,aACrBa,EAAY7N,EAAM6N,UAClBtrB,EAAUyd,EAAMzd,QAChB+pB,EAAkBtM,EAAMsM,gBACxB7O,EAASuX,EAab,OAXIhI,IACFvP,EAASA,EAAOjb,KAAI,SAAU0f,GAC5B,OAAOoK,EAAgBpK,EAAK,CAC1B3f,QAASA,EACTsrB,UAAWA,EACXb,aAAcA,EACdpqB,gBAAiBA,QAKhB6a,EUwRawX,CAAc/9B,MAAM4B,KAAK87B,GAAe,CACtD5H,aAAc+E,GACdxvB,QAASuyB,EACTxI,gBAAiBA,GACjBuB,UAAW9zB,GACX6I,gBAAiBkvB,KAEfoD,EAAWlD,GAAa+C,EAAYA,EAAU,GAElD,GAAIr7B,KAAuC,IAA1B44B,GAAer6B,QAAqC,IAArB88B,EAAU98B,QAAe,CACvE,IAAIk9B,EAAa1I,GAAgBmI,EAAcE,EAAqB,CAClE9S,iBAAkBA,KAGpB0S,GAAoBS,EAAW3yB,KAAI,SAAUjJ,EAAQ6b,GACnD,IAAIggB,EAAQ,YAAc,GAAI77B,GAO9B,OALA7C,OAAOC,eAAey+B,EAAO,0BAA2B,CACtD5hB,IAAK,WACH,OAAOohB,EAAaxf,MAGjBggB,MAET17B,GAASw7B,EAAUlD,GAAamD,EAAaA,EAAW,IAG1D9C,GAAe6C,KAGbG,GAAmB,SAA0Bn7B,EAAUV,GACzD,IAOI87B,EAPAlW,EAAW5lB,EAAK4lB,SAChBjU,EAAS3R,EAAK2R,OAEdlJ,IAMA+vB,IACFsD,EAAc,IAAIzG,IAAIyD,IAElBlT,EACFkW,EAAYvG,IAAI70B,GAEhBo7B,EAAYzhB,OAAO3Z,KAGrBo7B,EAAc,IAAIzG,KACNE,IAAI70B,IAId83B,KAAeA,IAAc96B,MAAM4B,KAAKw5B,IAAgB,KAAOp4B,IACjEy6B,GAAcz9B,MAAM4B,KAAKw8B,IAI3BtB,GAAc95B,GAAW83B,IAAc5S,EAAUjU,GAEpC,aAATia,GACF0N,GAAoB9L,OAAO9sB,IAC3Bw4B,GAAe,KACLV,KAAc5C,IACxB0D,GAAoB,IACpBJ,GAAe,OAkBf6C,GAAiC,aAATnQ,GAAuB0H,GAAmBA,KAAqB,KAEvF0I,GAAmB,OAAArD,GAAA,QAAex6B,EAAW,CAC/C8B,aAAcszB,EACdl2B,MAAOgnB,IAEL4X,GAAmB,aAAeD,GAAkB,GACpDE,GAAYD,GAAiB,GAC7BE,GAAeF,GAAiB,GAEhCG,GAAaF,GAEbG,IAAoBjY,IAAoB2V,GAAet7B,QAEvDgK,GAAY4zB,IAAoBD,IAAuB,aAATxQ,KAChDwQ,IAAa,GAGf,IAAIE,IAAcD,IAA2BD,GAEzC5X,GAAe,SAAsB+X,GACvC,IAAIC,OAAuBr+B,IAAZo+B,EAAwBA,GAAWH,GAE9CF,KAAcM,GAAa/zB,IAC7B0zB,GAAaK,GAET/F,IACFA,GAAwB+F,MO7bnB,SAAiCC,EAAUpY,EAAMiY,GAC9D,IAAII,EAAW,SAAa,MAC5BA,EAASj8B,QAAU,CACjBg8B,SAAUA,EAASnrB,QAAO,SAAUtP,GAClC,OAAOA,KAETqiB,KAAMA,EACNiY,YAAaA,GAEf,aAAgB,WACd,SAASK,EAAkB1wB,GACzB,IAAI9E,EAAS8E,EAAM9E,OAEfu1B,EAASj8B,QAAQ4jB,MAAQqY,EAASj8B,QAAQg8B,SAAS9I,OAAM,SAAUljB,GACrE,OAAQA,EAAQmsB,SAASz1B,IAAWsJ,IAAYtJ,MAGhDu1B,EAASj8B,QAAQ67B,aAAY,GAKjC,OADAtnB,OAAO0B,iBAAiB,YAAaimB,GAC9B,WACL,OAAO3nB,OAAO8B,oBAAoB,YAAa6lB,MAEhD,IPyaDE,CAAwB,CAACpb,GAAahhB,QAAS02B,GAAW12B,SAAW02B,GAAW12B,QAAQoxB,mBAAoByK,GAAa9X,IAEzH,IAAIsY,GAAgB,SAAuBC,EAAYC,EAAYC,GACjE,IAAIC,GAAM,EACNC,EAAgBJ,EACpB7D,GAAe,MAEf,IAAIkE,EAAcH,EAAgB,KAAOlU,GAAoBgU,EAAYxG,IACrE8G,EAAiBD,EAErB,GAAa,aAATxR,EAEEoR,GACF7B,GAAc,CAACgC,SAEZ,GAAIC,EAAa,CACtBD,EAAgB,GAEH,SAATvR,IACFyR,EAAiBD,EAAYp0B,KAAI,SAAU0B,GACzC,IAAIyP,EAAOsf,GAAqB9Q,MAAK,SAAUrlB,GAE7C,OADWA,EAAMiX,KACL+d,MAA2B5tB,KAEzC,OAAOyP,EAAOA,EAAKI,KAAKld,MAAQ,QAC/BiU,QAAO,SAAUoX,GAClB,OAAe,OAARA,MAIX,IAAI0S,EAAe19B,MAAM4B,KAAK,IAAI+1B,IAAI,GAAGjxB,OAAO,aAAmB00B,IAAiB,aAAmBuE,MACvGlC,GAAcC,GACdA,EAAapqB,SAAQ,SAAU8qB,GAC7BtB,GAAcsB,GAAa,EAAM,YAGnCtX,IAAa,GAEb0Y,GAAM,EASR,OANA5D,GAAoB6D,GAEhBvO,GAAY2K,KAAsB4D,GACpCvO,EAASuO,GAGJD,GAgBT,qBAAU,WACJhB,IAAezzB,GACjB0zB,IAAa,KAEd,CAAC1zB,IAEJ,qBAAU,WACH2zB,IAAe5D,IAAuB,aAAT5M,GAChCkR,GAAc,IAAI,GAAO,KAE1B,CAACV,KASJ,IAAIpN,GAAWZ,KACXa,GAAY,aAAeD,GAAU,GACrCsO,GAAerO,GAAU,GACzBsO,GAAetO,GAAU,GAyDzBuO,GAAW,kBAAO,GA6ClBC,GAAmB,GACvB,qBAAU,WACR,OAAO,WACLA,GAAiBzsB,SAAQ,SAAU0U,GACjC,OAAOvS,aAAauS,MAEtB+X,GAAiBzV,OAAO,EAAGyV,GAAiBh/B,WAE7C,IAEH,IA+BIi/B,GAAa,mBAAS,GACtBC,GAAc,aAAeD,GAAY,GACzCtT,GAAqBuT,GAAY,GACjCC,GAAwBD,GAAY,GAEpCE,QAA8D1/B,IAA7BgmB,EAAyCA,EAAoC,aAATyH,EAerGkS,GAAc,mBAAS,MACvBC,GAAc,aAAeD,GAAa,GAC1CzN,GAAiB0N,GAAY,GAC7BC,GAAoBD,GAAY,GAEhCE,GAAc,mBAAS,IAEvBC,GADc,aAAeD,GAAa,GAChB,GAO9B1S,IAAgB,WACd,GAAI+Q,GAAa,CACf,IAAI6B,EAAWn0B,KAAK0N,KAAK+J,GAAahhB,QAAQ29B,aAE1C/N,KAAmB8N,GACrBH,GAAkBG,MAGrB,CAAC7B,KACJ,IAwBI+B,GAxBApN,GAAY,gBAAoB2B,GAAY,CAC9CtxB,IAAKof,GACL9c,UAAWA,EACXkgB,GAAIuU,GACJhU,KAAM+X,GACNpY,gBAAiBjb,EACjBA,QAASgxB,GACThW,eAAgBiW,GAChBve,SAAU+c,GACVvU,OAAQ+U,GACR9mB,OAAQikB,EACR/Y,WAAYiZ,EACZ9R,SAzU2B,SAAgC7jB,EAAU6kB,GACrEsW,GAAiBn7B,EAAU,YAAc,YAAc,GAAI6kB,GAAO,GAAI,CACpE5T,OAAQ,aAwUV6S,aAAcA,GACdC,cAlDkB,SAAuB1e,EAAQ6V,GACjD,IAAI4K,EAAQ/f,UAAUhI,OAAS,QAAsBN,IAAjBsI,UAAU,GAAmBA,UAAU,GAAK,GAC5E63B,EAAe9X,EAAM7U,OACrBA,OAA0B,IAAjB2sB,EAA0B,WAAaA,EAEpDV,GAAsBhiB,GAElBwX,GAAqB,aAATxH,GAAkC,OAAX7lB,GAA8B,aAAX4L,GACxDunB,GAAe1L,OAAOznB,KA2CxBoe,yBAA0B0Z,GAC1BzZ,gBAAiBA,EACjBlN,SAAUsf,GACVtS,YAAaqV,GACbjV,qBAAsBA,EACtB9G,SAAqB,IAAZA,IAAkD,IAA7BnU,EAC9Bqb,aAlCF,WACEwZ,GAAY,QAoDTz1B,GAAY4qB,IAAeyF,GAAer6B,QAAU86B,MACvD8E,GAAY,gBAAoB,GAAU,CACxCx6B,UAAW,GAAGO,OAAOR,EAAW,UAChCmT,YAjBmB,WAEjBggB,IAAoBD,GAAcF,SACpCE,GAAcF,UAGZA,IACFA,KAGFuE,GAAc,IACd2B,GAAc,IAAI,GAAO,IAOvBzZ,cAAewS,GACd,MAIL,IACI0I,GADAC,QAAgCrgC,IAAd23B,EAA0BA,EAAYE,IAAYwC,IAAuB,aAAT5M,EAGlF4S,KACFD,GAAY,gBAAoB,GAAU,CACxC16B,UAAW,IAAW,GAAGO,OAAOR,EAAW,UAAW,YAAgB,GAAI,GAAGQ,OAAOR,EAAW,kBAAmBoyB,IAClH3S,cAAe0S,EACfzS,mBAAoB,CAClB0S,QAASA,EACT9R,YAAaqV,GACblV,KAAM+X,GACNqC,QAAS1G,GACT5uB,WAAYsqB,OAWlB,IAAIxV,GAAkB,IAAWra,EAAWC,GAAY4xB,EAAe,GAAI,YAAgBA,EAAc,GAAGrxB,OAAOR,EAAW,YAAam0B,IAAc,YAAgBtC,EAAc,GAAGrxB,OAAOR,EAAW,aAAc40B,IAAa,YAAgB/C,EAAc,GAAGrxB,OAAOR,EAAW,YAAa40B,IAAa,YAAgB/C,EAAc,GAAGrxB,OAAOR,EAAW,gBAAiByvB,GAAa,YAAgBoC,EAAc,GAAGrxB,OAAOR,EAAW,eAAgB46B,IAAkB,YAAgB/I,EAAc,GAAGrxB,OAAOR,EAAW,aAAc6E,GAAW,YAAgBgtB,EAAc,GAAGrxB,OAAOR,EAAW,YAAaoyB,GAAU,YAAgBP,EAAc,GAAGrxB,OAAOR,EAAW,SAAUw4B,IAAa,YAAgB3G,EAAc,GAAGrxB,OAAOR,EAAW,oBAAqBm4B,IAAwB,YAAgBtG,EAAc,GAAGrxB,OAAOR,EAAW,gBAAiB6vB,IAAmBgC,IACj3B,OAAO,gBAAoB,MAAOv4B,OAAOsE,OAAO,CAC9CqC,UAAWoa,IACVgZ,GAAU,CACX31B,IAAKmgB,GACL1K,YAvJwB,SAA6B9K,GACrD,IAAI9E,EAAS8E,EAAM9E,OACfipB,EAAe+G,GAAW12B,SAAW02B,GAAW12B,QAAQoxB,kBAE5D,GAAIzB,GAAgBA,EAAawM,SAASz1B,GAAS,CACjD,IAAIue,EAAY1S,YAAW,WACzB,IAAI4I,EAAQ6hB,GAAiBr7B,QAAQsjB,IAEtB,IAAX9J,GACF6hB,GAAiBzV,OAAOpM,EAAO,GAGjCqc,KAEK7H,EAAawM,SAASvvB,SAASC,gBAClC8pB,GAAY32B,QAAQsuB,WAGxB0O,GAAiBj/B,KAAKknB,GAGxB,GAAI3O,GAAa,CACf,IAAK,IAAI2nB,EAAQj4B,UAAUhI,OAAQkgC,EAAW,IAAIjhC,MAAMghC,EAAQ,EAAIA,EAAQ,EAAI,GAAIE,EAAQ,EAAGA,EAAQF,EAAOE,IAC5GD,EAASC,EAAQ,GAAKn4B,UAAUm4B,GAGlC7nB,GAAYnQ,WAAM,EAAQ,CAACqF,GAAO7H,OAAOu6B,MA8H3CvvB,UArQsB,SAA2BnD,GACjD,IAuBMwZ,EAvBFoZ,EAAYvB,KACZxX,EAAQ7Z,EAAM6Z,MAQlB,GANKsW,IAActW,IAAU,KAAQI,OACnC1B,IAAa,GAGf+Y,KAAehE,IAEXzT,IAAU,KAAQ0J,YAAcqP,GAAarG,KAAee,IAAqBT,GAAer6B,OAAQ,CAC1G,IAAIqgC,EAAanX,GAAuByF,GAAe0L,IAEvB,OAA5BgG,EAAW/W,eACboT,GAAc2D,EAAW7a,QACzBuW,GAAcsE,EAAW/W,cAAc,EAAO,UAIlD,IAAK,IAAIvhB,EAAOC,UAAUhI,OAAQ4uB,EAAO,IAAI3vB,MAAM8I,EAAO,EAAIA,EAAO,EAAI,GAAIG,EAAO,EAAGA,EAAOH,EAAMG,IAClG0mB,EAAK1mB,EAAO,GAAKF,UAAUE,GAGzBy1B,IAAc1b,GAAQjgB,UAGvBglB,EAAmB/E,GAAQjgB,SAAS2O,UAAUxI,MAAM6e,EAAkB,CAACxZ,GAAO7H,OAAOipB,IAGpFje,IACFA,GAAUxI,WAAM,EAAQ,CAACqF,GAAO7H,OAAOipB,KAwOzC5jB,QAnOoB,SAAyBwC,GAC7C,IAAK,IAAI8yB,EAAQt4B,UAAUhI,OAAQ4uB,EAAO,IAAI3vB,MAAMqhC,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxG3R,EAAK2R,EAAQ,GAAKv4B,UAAUu4B,GAI5B,IAAIC,EADF7C,IAAc1b,GAAQjgB,UAGvBw+B,EAAoBve,GAAQjgB,SAASgJ,QAAQ7C,MAAMq4B,EAAmB,CAAChzB,GAAO7H,OAAOipB,IAGpF5jB,IACFA,GAAQ7C,WAAM,EAAQ,CAACqF,GAAO7H,OAAOipB,KAwNvCqJ,QA/MqB,WACrBsB,IAAe,GAEVvvB,IACCiuB,KAAY8G,GAAS/8B,SACvBi2B,GAAQ9vB,WAAM,EAAQH,WAIpBurB,GAAW/gB,SAAS,UACtBuT,IAAa,IAIjBgZ,GAAS/8B,SAAU,GAkMnBmJ,OA/LoB,WACpBouB,IAAe,GAAO,WACpBwF,GAAS/8B,SAAU,EACnB+jB,IAAa,MAGX/b,IAIA8wB,KAEW,SAAT3N,GACFkR,GAAc,IAAI,GAAO,GACzB3B,GAAcz9B,MAAM4B,KAAK,IAAI+1B,IAAI,GAAGjxB,OAAO,aAAmB00B,IAAiB,CAACS,SAC9D,aAAT3N,GAET0N,GAAoB,KAIpB1vB,IACFA,GAAOhD,WAAM,EAAQH,eA0KrBsxB,KAAgBqE,IAAc,gBAAoB,OAAQ,CAC5Dn4B,MAAO,CACLkU,MAAO,EACPjG,OAAQ,EACRK,QAAS,OACTG,SAAU,SACV2Y,QAAS,GAEX,YAAa,UACZ,GAAGjnB,OAAO00B,GAAehQ,KAAK,QAAS,gBAAoB,GAAe,CAC3ExnB,IAAK61B,GACL1uB,SAAUA,EACV7E,UAAWA,EACXwS,QAASkmB,GACTlM,aAAca,GACdZ,eAAgBA,GAChBC,UAAWA,EACXC,eAAgBA,EAChBC,cAAeA,EACfC,kBAAmBA,EACnBhtB,UAAWA,GACX4F,yBAA0BA,EAC1BunB,eAAgBA,EAChBC,cAAeA,EACfvnB,kBAAmBA,EACnBwnB,OAAQ4C,GAAcj1B,OACtBsyB,kBAAmB,WACjB,OAAO0H,GAAeh4B,UAEvB,gBAAoB,GAAUvD,OAAOsE,OAAO,GAAIH,EAAO,CACxDytB,OAAQ2J,GACR70B,UAAWA,EACXomB,aAAc+R,GACdz6B,IAAK81B,GACLtT,GAAIuU,GACJlvB,WAAYsqB,GACZ7H,KAAMA,EACNxB,mBAAoBA,GACpB3O,SAAU+c,GACVpM,UAAWA,GACXnI,OAAQmJ,GACR/I,KAAM+X,GACN5X,aAAcA,GACdN,YAAaqV,GACbxL,YAAaA,GACba,SAAUkO,GACVjO,eA1VmB,SAAwBkO,GAC3C,IAAI3B,EAAe19B,MAAM4B,KAAK,IAAI+1B,IAAI,GAAGjxB,OAAO,aAAmB00B,IAAiB,CAACiE,MACrF5B,GAAcC,GACdA,EAAapqB,SAAQ,SAAU8qB,GAC7BtB,GAAcsB,GAAa,EAAM,YAEnCxC,GAAoB,KAqVpB/U,SAxb8B,SAAmC7jB,EAAU6kB,GAC3EsW,GAAiBn7B,EAAU,YAAc,YAAc,GAAI6kB,GAAO,GAAI,CACpE5T,OAAQ,gBAubVgd,eAAgBA,OACZ4P,GAAWF,QEvxBjB,GAAsB,SAAU77B,GAClC,YAAUkG,EAAQlG,GAElB,IAAIE,EAAS,YAAagG,GAE1B,SAASA,IACP,IAAI/F,EAeJ,OAbA,YAAgBC,KAAM8F,IAEtB/F,EAAQD,EAAOkE,MAAMhE,KAAM6D,YACrBy4B,UAAY,cAElBv8B,EAAMosB,MAAQ,WACZpsB,EAAMu8B,UAAUz+B,QAAQsuB,SAG1BpsB,EAAM4K,KAAO,WACX5K,EAAMu8B,UAAUz+B,QAAQ8M,QAGnB5K,EAYT,OATA,YAAa+F,EAAQ,CAAC,CACpB9D,IAAK,SACLvH,MAAO,WACL,OAAO,gBAAoB,GAAWH,OAAOsE,OAAO,CAClDF,IAAKsB,KAAKs8B,WACTt8B,KAAKvB,YAILqH,EAjCiB,CAkCxB,aAEF,GAAOQ,OAAS,GAChB,GAAOie,SAAW,GACH,IMhGA,GNgGA,G,iKOjGX,GAAgC,SAAUplB,EAAGC,GAC/C,IAAIC,EAAI,GAER,IAAK,IAAIC,KAAKH,EACR7E,OAAO8B,UAAUmD,eAAejD,KAAK6C,EAAGG,IAAMF,EAAEI,QAAQF,GAAK,IAAGD,EAAEC,GAAKH,EAAEG,IAG/E,GAAS,MAALH,GAAqD,mBAAjC7E,OAAOmF,sBAA2C,KAAI5E,EAAI,EAAb,IAAgByE,EAAIhF,OAAOmF,sBAAsBN,GAAItE,EAAIyE,EAAEzD,OAAQhB,IAClIuE,EAAEI,QAAQF,EAAEzE,IAAM,GAAKP,OAAO8B,UAAUsD,qBAAqBpD,KAAK6C,EAAGG,EAAEzE,MAAKwE,EAAEC,EAAEzE,IAAMsE,EAAEG,EAAEzE,KAEhG,OAAOwE,GAYL,GAAiB,SAAwByB,EAAIpC,GAC/C,IAAIm0B,EA2CA0J,EAzCAx7B,EAAqBD,EAAGE,UACxBw7B,EAAc17B,EAAG27B,SACjBA,OAA2B,IAAhBD,GAAgCA,EAC3Cv7B,EAAYH,EAAGG,UACfyF,EAAoB5F,EAAG4F,kBACvBmnB,EAAoB/sB,EAAG+sB,kBACvB6O,EAAgB57B,EAAGyyB,WACnBA,OAA+B,IAAlBmJ,EAA2B,IAAMA,EAC9CC,EAAoB77B,EAAG2yB,eACvBA,OAAuC,IAAtBkJ,EAA+B,GAAKA,EACrDC,EAAgB97B,EAAGI,KACnBsgB,EAAkB1gB,EAAG0gB,gBACrBqb,EAAoB/7B,EAAG6sB,eACvBA,OAAuC,IAAtBkP,EAA+B,WAAaA,EAC7Dp+B,EAAQ,GAAOqC,EAAI,CAAC,YAAa,WAAY,YAAa,oBAAqB,oBAAqB,aAAc,iBAAkB,OAAQ,kBAAmB,mBAE/Jg8B,EAAoB,aAAiB,KACrCC,EAA2BD,EAAkBp2B,kBAC7C9F,EAAek8B,EAAkBl8B,aACjCo8B,EAAcF,EAAkBE,YAChCn8B,EAAYi8B,EAAkBj8B,UAC9B+Z,EAAUkiB,EAAkBliB,QAC5BnU,EAA2Bq2B,EAAkBr2B,yBAE7CvF,EAAO,aAAiB+7B,GAAA,GACxBj8B,EAAYJ,EAAa,SAAUG,GACnCioB,EAAO,WAAc,WACvB,IAAIkU,EAAIz+B,EAAMuqB,KAEd,GAAU,aAANkU,EAIJ,MAtCkC,oCAsC9BA,EACK,WAGFA,IACN,CAACz+B,EAAMuqB,OACN4M,EAAsB,aAAT5M,GAAgC,SAATA,EAKtCuT,OADsBhhC,IAApBimB,EACeA,EACC,aAATwH,EACQ,KAEAgU,EAAY,UAI/B,IAAIG,ECzES,SAAkB//B,GAC/B,IAAIggC,EAAahgC,EAAKggC,WAClBnK,EAAY71B,EAAK61B,UACjBvR,EAAuBtkB,EAAKskB,qBAC5BuH,EAAa7rB,EAAK6rB,WAClBmK,EAAUh2B,EAAKg2B,QACfva,EAAWzb,EAAKyb,SAChB7X,EAAY5D,EAAK4D,UAEjBq8B,EAAkBpK,EAEjBA,IACHoK,EAA+B,gBAAoB,KAAmB,OAIxE,IAAIC,EAAmB,KAEvB,QAAmB/hC,IAAf6hC,EACFE,EAAmBF,OACd,GAAIhK,EACTkK,EAAgC,gBAAoB,KAAiB,CACnEC,MAAM,QAEH,CACL,IAAIC,EAAU,GAAGh8B,OAAOR,EAAW,WAEnCs8B,EAAmB,SAA0B58B,GAC3C,IAAI+gB,EAAO/gB,EAAM+gB,KACblb,EAAa7F,EAAM6F,WAEvB,OAAIkb,GAAQlb,EACU,gBAAoB,KAAgB,CACtDtF,UAAWu8B,IAIK,gBAAoB,KAAc,CACpDv8B,UAAWu8B,KAwBjB,MAAO,CACLvK,UAAWoK,EACXD,WAAYE,EACZG,cAnB2BliC,IAAzBmmB,EACeA,EACR7I,EACqB,gBAAoB,KAAe,MAEhD,KAejBoQ,gBAViB1tB,IAAf0tB,EACiBA,EAEa,gBAAoB,KAAe,ODcrDyU,CAAS,IAAS,IAAS,GAAIj/B,GAAQ,CACrDoa,SAAU+c,EACV50B,UAAWA,KAETo8B,EAAaD,EAAUC,WACvBK,EAAWN,EAAUM,SACrBxU,EAAakU,EAAUlU,WACvBgK,EAAYkK,EAAUlK,UAEtB0K,EAAc,YAAKl/B,EAAO,CAAC,aAAc,aACzCm/B,EAA+B,IAAW/P,EAAmB,IAAgB,GAAI,GAAGrsB,OAAOR,EAAW,cAAcQ,OAAOX,GAA0B,QAAdA,IACvIg9B,EAAajB,GAAiB17B,EAC9Bma,EAAkB,KAAYwX,EAAe,GAAI,IAAgBA,EAAc,GAAGrxB,OAAOR,EAAW,OAAuB,UAAf68B,GAAyB,IAAgBhL,EAAc,GAAGrxB,OAAOR,EAAW,OAAuB,UAAf68B,GAAyB,IAAgBhL,EAAc,GAAGrxB,OAAOR,EAAW,QAAuB,QAAdH,GAAsB,IAAgBgyB,EAAc,GAAGrxB,OAAOR,EAAW,gBAAiBy7B,GAAW5J,GAAe5xB,GAC7Y,OAAoB,gBAAoB,GAAU,IAAS,CACzDvC,IAAKA,EACLkc,QAASA,EACTnU,yBAA0BA,GACzBk3B,EAAa,CACdhQ,eAAgBA,EAChB4F,WAAYA,EACZE,eAAgBA,EAChBzK,KAAMA,EACNhoB,UAAWA,EACXH,UAAWA,EACXsyB,UAAWiK,EACX1b,qBAAsB+b,EACtBxU,WAAYA,EACZgK,UAAWA,EACXzR,gBAAiB+a,EACjBt7B,UAAWoa,EACX3U,kBAAmBA,GAAqBq2B,EACxClP,kBAAmB+P,MAKnB,GADyB,aAAiB,IAE9C,GAAOE,gCA9F+B,kCA+FtC,GAAOx3B,OAAS,GAChB,GAAOie,SAAW,GACH,UEpHX,GAAa,SAAoB9lB,GACnC,OAAoB,gBAAoB,GAAQ,IAAS,CACvDyC,KAAM,SACLzC,KAGL,GAAW6H,OAAS,GAAOA,OACZ,U,aCRX,GAAgC,SAAUnH,EAAGC,GAC/C,IAAIC,EAAI,GAER,IAAK,IAAIC,KAAKH,EACR7E,OAAO8B,UAAUmD,eAAejD,KAAK6C,EAAGG,IAAMF,EAAEI,QAAQF,GAAK,IAAGD,EAAEC,GAAKH,EAAEG,IAG/E,GAAS,MAALH,GAAqD,mBAAjC7E,OAAOmF,sBAA2C,KAAI5E,EAAI,EAAb,IAAgByE,EAAIhF,OAAOmF,sBAAsBN,GAAItE,EAAIyE,EAAEzD,OAAQhB,IAClIuE,EAAEI,QAAQF,EAAEzE,IAAM,GAAKP,OAAO8B,UAAUsD,qBAAqBpD,KAAK6C,EAAGG,EAAEzE,MAAKwE,EAAEC,EAAEzE,IAAMsE,EAAEG,EAAEzE,KAEhG,OAAOwE,GCZM,GD6BE,SAAoByB,GACnC,IAAIC,EAAqBD,EAAGE,UACxB+8B,EAA2Bj9B,EAAG8E,gBAC9B3E,EAAYH,EAAGG,UACfC,EAAOJ,EAAGI,KACV88B,EAAel9B,EAAGqD,OAClB7C,EAAY,GAAOR,EAAI,CAAC,YAAa,kBAAmB,YAAa,OAAQ,WAG7Em9B,EADiB,IACGA,GAEpBnB,EAAoB,aAAiB,KACrCl8B,EAAek8B,EAAkBl8B,aACjCC,EAAYi8B,EAAkBj8B,UAE9BG,EAAYJ,EAAa,aAAcG,GAgDvCm9B,EAAmB,SAA0BC,GAC/C,IAAIh6B,EAAS,IAAS,IAAS,GAAIg6B,GAAgBH,GAE/CI,EAAmB,UAATl9B,MAAuB+8B,GAAO/8B,IAAQI,EAAU+8B,YAC1Dz4B,EAAkBhF,EAAa,SAAUm9B,GACzCO,EAAoB,IAAW,IAAgB,CACjDC,KAAMH,GACL,GAAG58B,OAAOR,EAAW,QAAuB,QAAdH,GAAsBI,GACvD,OAAoB,gBAAoB,EAAc,IAAS,GAAIK,EAAW,CAC5EN,UAAWA,EACX4E,gBAAiBA,GAxDD,WAClB,IAAI44B,EAAwB,gBAAoB,OAAQ,CACtDv9B,UAAW,GAAGO,OAAOR,EAAW,mBAC/B,OACCiK,EAAwB,gBAAoB,SAAU,CACxDhK,UAAW,GAAGO,OAAOR,EAAW,cAChCgE,KAAM,SACNxB,UAAW,GACG,gBAAoB,KAAc,OAC9C6H,EAAwB,gBAAoB,SAAU,CACxDpK,UAAW,GAAGO,OAAOR,EAAW,cAChCgE,KAAM,SACNxB,UAAW,GACG,gBAAoB,KAAe,OAC/CoI,EAA4B,gBAAoB,IAAK,CACvD3K,UAAW,GAAGO,OAAOR,EAAW,eAClB,gBAAoB,MAAO,CACzCC,UAAW,GAAGO,OAAOR,EAAW,oBAClB,gBAAoB,KAAoB,CACtDC,UAAW,GAAGO,OAAOR,EAAW,qBAC9Bw9B,IACA3yB,EAA4B,gBAAoB,IAAK,CACvD5K,UAAW,GAAGO,OAAOR,EAAW,eAClB,gBAAoB,MAAO,CACzCC,UAAW,GAAGO,OAAOR,EAAW,oBAClB,gBAAoB,KAAqB,CACvDC,UAAW,GAAGO,OAAOR,EAAW,qBAC9Bw9B,IAEJ,GAAkB,QAAd39B,EAAqB,CACvB,IAAIzD,EAAO,CAACiO,EAAUJ,GACtBA,EAAW7N,EAAK,GAChBiO,EAAWjO,EAAK,GAChB,IAAIsD,EAAQ,CAACmL,EAAcD,GAC3BA,EAAelL,EAAM,GACrBmL,EAAenL,EAAM,GAGvB,MAAO,CACLuK,SAAUA,EACVI,SAAUA,EACVO,aAAcA,EACdC,aAAcA,GAeb4yB,GAAiB,CAClBx9B,UAAWq9B,EACX34B,qBAAsBy4B,EAAU,GAAa,GAC7Cj6B,OAAQA,MAIZ,OAAoB,gBAAoBu6B,GAAA,EAAgB,CACtDC,cAAe,aACfC,cAAe,MACdV,I,0BE/GD,GAAgC,SAAU/+B,EAAGC,GAC/C,IAAIC,EAAI,GAER,IAAK,IAAIC,KAAKH,EACR7E,OAAO8B,UAAUmD,eAAejD,KAAK6C,EAAGG,IAAMF,EAAEI,QAAQF,GAAK,IAAGD,EAAEC,GAAKH,EAAEG,IAG/E,GAAS,MAALH,GAAqD,mBAAjC7E,OAAOmF,sBAA2C,KAAI5E,EAAI,EAAb,IAAgByE,EAAIhF,OAAOmF,sBAAsBN,GAAItE,EAAIyE,EAAEzD,OAAQhB,IAClIuE,EAAEI,QAAQF,EAAEzE,IAAM,GAAKP,OAAO8B,UAAUsD,qBAAqBpD,KAAK6C,EAAGG,EAAEzE,MAAKwE,EAAEC,EAAEzE,IAAMsE,EAAEG,EAAEzE,KAEhG,OAAOwE,GAoCL,GAAO,SAAcyB,GACvB,IAgBM6Q,EAhBF5Q,EAAqBD,EAAGE,UACxBiB,EAAWnB,EAAGmB,SACd48B,EAAU/9B,EAAG+9B,QACbC,EAAQh+B,EAAGg+B,MACX79B,EAAYH,EAAGG,UACf89B,EAAWj+B,EAAGi+B,SACdC,EAAS,GAAOl+B,EAAI,CAAC,YAAa,WAAY,UAAW,QAAS,YAAa,aAE/Em+B,EAAqB,aAAiBC,IACtCC,EAAOF,EAAmBE,KAC1BC,EAAaH,EAAmBG,WAGhCx+B,EADqB,aAAiB,KACJA,aAoBlCI,EAAYJ,EAAa,OAAQG,GACjCs+B,EAAiBR,GAAWA,EAAQhjC,OAAS,GAAkB,gBAAoB,KAAM,CAC3FoF,UAAW,GAAGO,OAAOR,EAAW,gBAChCgB,IAAK,WACJ68B,EAAQz4B,KAAI,SAAUk5B,EAAQzkC,GAC/B,OAGE,gBAAoB,KAAM,CACxBmH,IAAK,GAAGR,OAAOR,EAAW,iBAAiBQ,OAAO3G,IACjDykC,EAAQzkC,IAAMgkC,EAAQhjC,OAAS,GAAkB,gBAAoB,KAAM,CAC5EoF,UAAW,GAAGO,OAAOR,EAAW,6BAIlCu+B,EAAUJ,EAAO,MAAQ,KACzBK,EAA4B,gBAAoBD,EAAS,IAAS,GAAIP,EAAQ,CAEhF/9B,UAAW,IAAW,GAAGO,OAAOR,EAAW,SAAU,IAAgB,GAAI,GAAGQ,OAAOR,EAAW,mBAzB3E,aAAfo+B,EACON,GAVX,WAAe1wB,QAAQnM,GAAU,SAAU4L,GAClB,iBAAZA,IACT8D,GAAS,QAGNA,GAAU,WAAeuD,MAAMjT,GAAY,MA6B8EhB,KAC/G,aAAfm+B,GAA6BN,EAAQ,CAAc,gBAAoB,MAAO,CAChF79B,UAAW,GAAGO,OAAOR,EAAW,cAChCgB,IAAK,WACJC,EAAUo9B,GAA8B,gBAAoB,MAAO,CACpEp+B,UAAW,GAAGO,OAAOR,EAAW,eAChCgB,IAAK,SACJ88B,IAAU,CAAC78B,EAAUo9B,EAAgB,YAAaP,EAAO,CAC1D98B,IAAK,YAEP,OAAOm9B,EAAoB,gBAAoB,KAAK,CAClDM,KAAM,EACNp+B,MAAO09B,GACNS,GAAgBA,GAGrB,GAAKE,KA/Fa,SAAc5+B,GAC9B,IAAIC,EAAqBD,EAAGE,UACxBC,EAAYH,EAAGG,UACf0+B,EAAS7+B,EAAG6+B,OACZv8B,EAAQtC,EAAGsC,MACXw8B,EAAc9+B,EAAG8+B,YACjBZ,EAAS,GAAOl+B,EAAI,CAAC,YAAa,YAAa,SAAU,QAAS,gBAKlEE,GAAYJ,EAHQ,aAAiB,KACJA,cAER,OAAQG,GACjC8+B,EAAc,IAAW,GAAGr+B,OAAOR,EAAW,cAAeC,GAC7DkjB,EAAuB,gBAAoB,MAAO,CACpDljB,UAAW,GAAGO,OAAOR,EAAW,uBAC/BoC,GAAsB,gBAAoB,KAAM,CACjDnC,UAAW,GAAGO,OAAOR,EAAW,qBAC/BoC,GAAQw8B,GAA4B,gBAAoB,MAAO,CAChE3+B,UAAW,GAAGO,OAAOR,EAAW,2BAC/B4+B,IACH,OAAoB,gBAAoB,MAAO,IAAS,GAAIZ,EAAQ,CAClE/9B,UAAW4+B,IACTF,GAAuB,gBAAoB,MAAO,CACpD1+B,UAAW,GAAGO,OAAOR,EAAW,sBAC/B2+B,IAAUv8B,GAASw8B,IAAgBzb,IAwEzB,UChHX,GAAgC,SAAUhlB,EAAGC,GAC/C,IAAIC,EAAI,GAER,IAAK,IAAIC,KAAKH,EACR7E,OAAO8B,UAAUmD,eAAejD,KAAK6C,EAAGG,IAAMF,EAAEI,QAAQF,GAAK,IAAGD,EAAEC,GAAKH,EAAEG,IAG/E,GAAS,MAALH,GAAqD,mBAAjC7E,OAAOmF,sBAA2C,KAAI5E,EAAI,EAAb,IAAgByE,EAAIhF,OAAOmF,sBAAsBN,GAAItE,EAAIyE,EAAEzD,OAAQhB,IAClIuE,EAAEI,QAAQF,EAAEzE,IAAM,GAAKP,OAAO8B,UAAUsD,qBAAqBpD,KAAK6C,EAAGG,EAAEzE,MAAKwE,EAAEC,EAAEzE,IAAMsE,EAAEG,EAAEzE,KAEhG,OAAOwE,GAYE6/B,GAA2B,gBAAoB,IAChCA,GAAYY,SAEtC,SAAS,GAAKh/B,GACZ,IAAIH,EAEAo/B,EAAgBj/B,EAAGk/B,WACnBA,OAA+B,IAAlBD,GAAmCA,EAChDh/B,EAAqBD,EAAGE,UACxBw7B,EAAc17B,EAAG27B,SACjBA,OAA2B,IAAhBD,GAAiCA,EAC5CyD,EAAWn/B,EAAGiN,MACdA,OAAqB,IAAbkyB,GAA6BA,EACrCh/B,EAAYH,EAAGG,UACfgB,EAAWnB,EAAGmB,SACdm9B,EAAat+B,EAAGs+B,WAChBc,EAAWp/B,EAAGo/B,SACdf,EAAOr+B,EAAGq+B,KACVgB,EAAgBr/B,EAAGs/B,WACnBA,OAA+B,IAAlBD,EAA2B,GAAKA,EAC7Cj/B,EAAOJ,EAAGI,KACVm/B,EAASv/B,EAAGu/B,OACZC,EAASx/B,EAAGw/B,OACZC,EAAaz/B,EAAGsyB,QAChBA,OAAyB,IAAfmN,GAAgCA,EAC1CC,EAAS1/B,EAAG0/B,OACZ/c,EAAa3iB,EAAG2iB,WAChBtf,EAASrD,EAAGqD,OACZsmB,EAAO,GAAO3pB,EAAI,CAAC,aAAc,YAAa,WAAY,QAAS,YAAa,WAAY,aAAc,WAAY,OAAQ,aAAc,OAAQ,SAAU,SAAU,UAAW,SAAU,aAAc,WAE3M2/B,EAAgBT,GAAsC,WAAxB,IAAQA,GAA2BA,EAAa,GAE9E1d,EAAkB,WAAeme,EAAcv2B,gBAAkB,GACjE1M,EAAmB,IAAe8kB,EAAiB,GACnDoe,EAAoBljC,EAAiB,GACrCmjC,EAAuBnjC,EAAiB,GAExC0sB,EAAmB,WAAeuW,EAAcr2B,iBAAmB,IACnE2N,EAAmB,IAAemS,EAAkB,GACpD0W,EAAiB7oB,EAAiB,GAClC8oB,EAAoB9oB,EAAiB,GAErC+kB,EAAoB,aAAiB,KACrCl8B,EAAek8B,EAAkBl8B,aACjCo8B,EAAcF,EAAkBE,YAChCn8B,EAAYi8B,EAAkBj8B,UAM9BsL,EAAO,GAEP20B,EAAyB,SAAgCC,GAC3D,OAAO,SAAU79B,EAAMiC,GACrBw7B,EAAqBz9B,GACrB29B,EAAkB17B,GAEd66B,GAAcA,EAAWe,IAC3Bf,EAAWe,GAAW79B,EAAMiC,KAK9B67B,EAAqBF,EAAuB,YAC5CG,EAA6BH,EAAuB,oBAgCpD9/B,EAAYJ,EAAa,OAAQG,GACjCmgC,GAAc9N,EAES,kBAAhB8N,KACTA,GAAc,CACZ5gC,SAAU4gC,KAId,IAAIC,GAAYD,IAAeA,GAAY5gC,SAGvC8gC,GAAU,GAEd,OAAQlgC,GACN,IAAK,QACHkgC,GAAU,KACV,MAEF,IAAK,QACHA,GAAU,KAOd,IAAIvB,GAAc,IAAW7+B,GAAYL,EAAc,GAAI,IAAgBA,EAAa,GAAGa,OAAOR,EAAW,aAA6B,aAAfo+B,GAA4B,IAAgBz+B,EAAa,GAAGa,OAAOR,EAAW,KAAKQ,OAAO4/B,IAAUA,IAAU,IAAgBzgC,EAAa,GAAGa,OAAOR,EAAW,UAAW+M,GAAQ,IAAgBpN,EAAa,GAAGa,OAAOR,EAAW,aAAcy7B,GAAW,IAAgB97B,EAAa,GAAGa,OAAOR,EAAW,YAAamgC,IAAY,IAAgBxgC,EAAa,GAAGa,OAAOR,EAAW,SAAUm+B,GAAO,IAAgBx+B,EAAa,GAAGa,OAAOR,EAAW,iCApC7iBk/B,GAAYF,GAAcM,IAoC+kB,IAAgB3/B,EAAa,GAAGa,OAAOR,EAAW,QAAuB,QAAdH,GAAsBF,GAAcM,GAEhtBogC,GAAkB,IAAS,IAAS,IAAS,GA/EpB,CAC3BxjC,QAAS,EACTyJ,MAAO,IA6EqE,CAC5EA,MAAO84B,EAAWvkC,OAClBgC,QAAS6iC,EACTv7B,SAAUy7B,IACRZ,GAAc,IAEdsB,GAAcl6B,KAAK0N,KAAKusB,GAAgB/5B,MAAQ+5B,GAAgBl8B,UAEhEk8B,GAAgBxjC,QAAUyjC,KAC5BD,GAAgBxjC,QAAUyjC,IAG5B,IAAIC,GAAoBvB,EAA0B,gBAAoB,MAAO,CAC3E/+B,UAAW,GAAGO,OAAOR,EAAW,gBAClB,gBAAoB,GAAY,IAAS,GAAIqgC,GAAiB,CAC5E/jC,SAAU0jC,EACVn4B,iBAAkBo4B,MACb,KAEHO,GAAkB,IAAmBpB,GAErCJ,GACEI,EAAWvkC,QAAUwlC,GAAgBxjC,QAAU,GAAKwjC,GAAgBl8B,WACtEq8B,GAAkB,IAAmBpB,GAAYhb,QAAQic,GAAgBxjC,QAAU,GAAKwjC,GAAgBl8B,SAAUk8B,GAAgBl8B,WAItI,IAAIzC,GAAU,IACV++B,GAAoB,WAAc,WACpC,IAAK,IAAI5mC,EAAI,EAAGA,EAAI,IAAgBgB,OAAQhB,GAAK,EAAG,CAClD,IAAI6mC,EAAa,IAAgB7mC,GAEjC,GAAI6H,GAAQg/B,GACV,OAAOA,KAKV,CAACh/B,KACAq8B,GAAW,WAAc,WAC3B,GAAKI,EAAL,CAIA,IAAIwC,EAAcF,IAAqBtC,EAAKsC,IAAqBtC,EAAKsC,IAAqBtC,EAAKyC,OAEhG,OAAID,EACK,CACLpsB,MAAO,GAAG/T,OAAO,IAAMmgC,EAAa,KACpCE,SAAU,GAAGrgC,OAAO,IAAMmgC,EAAa,WAH3C,KAMC,CAACxC,aAAmC,EAASA,EAAKyC,OAAQH,KACzDK,GAAkBX,IAA0B,gBAAoB,MAAO,CACzE9/B,MAAO,CACL0gC,UAAW,MAIf,GAAIP,GAAgB3lC,OAAS,EAAG,CAC9B,IAAImmC,GAAQR,GAAgBp7B,KAAI,SAAUmR,EAAMyB,GAC9C,OAxHkB,SAAyBzB,EAAMyB,GACnD,OAAKyK,IAIHzhB,EADoB,mBAAXw+B,EACHA,EAAOjpB,GACc,iBAAXipB,EACVjpB,EAAKipB,GAELjpB,EAAKvV,OAIXA,EAAM,aAAaR,OAAOwX,IAG5B7M,EAAK6M,GAAShX,EACPyhB,EAAWlM,EAAMyB,IAhBA,KACxB,IAAIhX,EAsHKigC,CAAgB1qB,EAAMyB,MAE3BkpB,GAAe,WAAe97B,IAAI47B,IAAO,SAAUG,EAAOnpB,GAC5D,OAAoB,gBAAoB,MAAO,CAC7ChX,IAAKmK,EAAK6M,GACV3X,MAAO09B,IACNoD,MAELL,GAAkB3C,EAAoB,gBAAoB,KAAK,CAC7DiD,OAAQjD,EAAKiD,QACZF,IAA6B,gBAAoB,KAAM,CACxDjhC,UAAW,GAAGO,OAAOR,EAAW,WAC/BghC,SACO//B,GAAak/B,KACvBW,GA9GoB,SAAyB9gC,EAAWqhC,GACxD,OAAoB,gBAAoB,MAAO,CAC7CphC,UAAW,GAAGO,OAAOR,EAAW,gBAC/BmD,GAAUA,EAAOm+B,WAAaD,EAAmB,SA2GlCE,CAAgBvhC,EAAWg8B,IAG/C,IAAIwF,GAAqBnB,GAAgBxxB,UAAY,SACrD,OAAoB,gBAAoBqvB,GAAYuD,SAAU,CAC5DhoC,MAAO,CACL0kC,KAAMA,EACNC,WAAYA,IAEA,gBAAoB,MAAO,IAAS,CAClDn+B,UAAW4+B,IACVpV,IAA+B,QAAvB+X,IAAuD,SAAvBA,KAAkCjB,GAAmBlB,GAAuB,gBAAoB,MAAO,CAChJp/B,UAAW,GAAGO,OAAOR,EAAW,YAC/Bq/B,GAAsB,gBAAoB,EAAMa,GAAaY,GAAiB7/B,GAAWq+B,GAAuB,gBAAoB,MAAO,CAC5Ir/B,UAAW,GAAGO,OAAOR,EAAW,YAC/Bs/B,GAASJ,IAAoC,WAAvBsC,IAA0D,SAAvBA,KAAkCjB,KAGhG,GAAKmB,KAAO,GACG,Q,kCCtPfpoC,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAmBTD,EAAQE,QAjBW,CACjB,KAAQ,CACN,IAAO,MACP,MAAS,CACP,QAAW,gBACX,UAAa,SAEf,SAAY,CAAC,CACX,IAAO,OACP,MAAS,CACP,EAAK,gMAIX,KAAQ,OACR,MAAS,a,kCClBX,IAAIyD,EAAyB,EAAQ,QAEjCC,EAA0B,EAAQ,QAEtC9D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAElB,IAAI2D,EAAQD,EAAwB,EAAQ,SAExCukC,EAAkBxkC,EAAuB,EAAQ,SAEjDI,EAAYJ,EAAuB,EAAQ,SAI3CykC,EAAiB,SAAwBnkC,EAAOC,GAClD,OAAOL,EAAMM,cAAcJ,EAAU7D,QAASJ,OAAOsE,OAAO,GAAIH,EAAO,CACrEC,IAAKA,EACLG,KAAM8jC,EAAgBjoC,YAI1BkoC,EAAe9jC,YAAc,iBAE7B,IAAId,EAAWK,EAAMU,WAAW6jC,GAEhCpoC,EAAQE,QAAUsD,G,kCC5BlB,IAAIG,EAAyB,EAAQ,QAEjCC,EAA0B,EAAQ,QAEtC9D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAElB,IAAI2D,EAAQD,EAAwB,EAAQ,SAExCykC,EAAsB1kC,EAAuB,EAAQ,SAErDI,EAAYJ,EAAuB,EAAQ,SAI3C2kC,EAAqB,SAA4BrkC,EAAOC,GAC1D,OAAOL,EAAMM,cAAcJ,EAAU7D,QAASJ,OAAOsE,OAAO,GAAIH,EAAO,CACrEC,IAAKA,EACLG,KAAMgkC,EAAoBnoC,YAI9BooC,EAAmBhkC,YAAc,qBAEjC,IAAId,EAAWK,EAAMU,WAAW+jC,GAEhCtoC,EAAQE,QAAUsD,G,sBC9BlB,aACA,WACE,IAAI+kC,EAAgBC,EAAQC,EAAUC,EAAgBC,EAAcC,EAEzC,oBAAhBC,aAA+C,OAAhBA,aAAwBA,YAAYC,IAC5EplC,EAAO1D,QAAU,WACf,OAAO6oC,YAAYC,OAEZ,MAAOC,GAA+CA,EAAQP,QACvE9kC,EAAO1D,QAAU,WACf,OAAQuoC,IAAmBI,GAAgB,KAG7CH,EAASO,EAAQP,OAQjBE,GANAH,EAAiB,WACf,IAAIS,EAEJ,OAAe,KADfA,EAAKR,KACK,GAAWQ,EAAG,OAI1BJ,EAA4B,IAAnBG,EAAQE,SACjBN,EAAeD,EAAiBE,GACvB3xB,KAAK6xB,KACdplC,EAAO1D,QAAU,WACf,OAAOiX,KAAK6xB,MAAQL,GAGtBA,EAAWxxB,KAAK6xB,QAEhBplC,EAAO1D,QAAU,WACf,OAAO,IAAIiX,MAAOiyB,UAAYT,GAGhCA,GAAW,IAAIxxB,MAAOiyB,aAEvBpnC,KAAK0D,Q,wDCnCR1F,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAmBTD,EAAQE,QAjBa,CACnB,KAAQ,CACN,IAAO,MACP,MAAS,CACP,QAAW,gBACX,UAAa,SAEf,SAAY,CAAC,CACX,IAAO,OACP,MAAS,CACP,EAAK,ugBAIX,KAAQ,SACR,MAAS,a,yICjBPwE,EAAgC,SAAUC,EAAGC,GAC/C,IAAIC,EAAI,GAER,IAAK,IAAIC,KAAKH,EACR7E,OAAO8B,UAAUmD,eAAejD,KAAK6C,EAAGG,IAAMF,EAAEI,QAAQF,GAAK,IAAGD,EAAEC,GAAKH,EAAEG,IAG/E,GAAS,MAALH,GAAqD,mBAAjC7E,OAAOmF,sBAA2C,KAAI5E,EAAI,EAAb,IAAgByE,EAAIhF,OAAOmF,sBAAsBN,GAAItE,EAAIyE,EAAEzD,OAAQhB,IAClIuE,EAAEI,QAAQF,EAAEzE,IAAM,GAAKP,OAAO8B,UAAUsD,qBAAqBpD,KAAK6C,EAAGG,EAAEzE,MAAKwE,EAAEC,EAAEzE,IAAMsE,EAAEG,EAAEzE,KAEhG,OAAOwE,GAyBM,EAlBJ,SAAcZ,GACvB,OAAoB,gBAAoB,IAAgB,MAAM,SAAUrB,GACtE,IAAIwD,EAAexD,EAAKwD,aAEpBG,EAAqBtC,EAAMuC,UAC3BC,EAAYxC,EAAMwC,UAClB0iC,EAAmBllC,EAAMmlC,UACzBA,OAAiC,IAArBD,GAAqCA,EACjD3E,EAAS9/B,EAAOT,EAAO,CAAC,YAAa,YAAa,cAElDuC,EAAYJ,EAAa,OAAQG,GACjC8+B,EAAc,IAAW,GAAGr+B,OAAOR,EAAW,SAAUC,EAAW,IAAgB,GAAI,GAAGO,OAAOR,EAAW,mBAAoB4iC,IACpI,OAAoB,gBAAoB,MAAO,IAAS,GAAI5E,EAAQ,CAClE/9B,UAAW4+B,SC/Bb,EAAgC,SAAU1gC,EAAGC,GAC/C,IAAIC,EAAI,GAER,IAAK,IAAIC,KAAKH,EACR7E,OAAO8B,UAAUmD,eAAejD,KAAK6C,EAAGG,IAAMF,EAAEI,QAAQF,GAAK,IAAGD,EAAEC,GAAKH,EAAEG,IAG/E,GAAS,MAALH,GAAqD,mBAAjC7E,OAAOmF,sBAA2C,KAAI5E,EAAI,EAAb,IAAgByE,EAAIhF,OAAOmF,sBAAsBN,GAAItE,EAAIyE,EAAEzD,OAAQhB,IAClIuE,EAAEI,QAAQF,EAAEzE,IAAM,GAAKP,OAAO8B,UAAUsD,qBAAqBpD,KAAK6C,EAAGG,EAAEzE,MAAKwE,EAAEC,EAAEzE,IAAMsE,EAAEG,EAAEzE,KAEhG,OAAOwE,GAsCM,EA/BJ,SAAcZ,GACvB,OAAoB,gBAAoB,IAAgB,MAAM,SAAUrB,GACtE,IAAIwD,EAAexD,EAAKwD,aAEpBG,EAAqBtC,EAAMuC,UAC3BC,EAAYxC,EAAMwC,UAClB0+B,EAASlhC,EAAMkhC,OACfv8B,EAAQ3E,EAAM2E,MACdw8B,EAAcnhC,EAAMmhC,YACpBZ,EAAS,EAAOvgC,EAAO,CAAC,YAAa,YAAa,SAAU,QAAS,gBAErEuC,EAAYJ,EAAa,OAAQG,GACjC8+B,EAAc,IAAW,GAAGr+B,OAAOR,EAAW,SAAUC,GACxD4iC,EAAYlE,EAAsB,gBAAoB,MAAO,CAC/D1+B,UAAW,GAAGO,OAAOR,EAAW,iBAC/B2+B,GAAU,KACTmE,EAAW1gC,EAAqB,gBAAoB,MAAO,CAC7DnC,UAAW,GAAGO,OAAOR,EAAW,gBAC/BoC,GAAS,KACR2gC,EAAiBnE,EAA2B,gBAAoB,MAAO,CACzE3+B,UAAW,GAAGO,OAAOR,EAAW,sBAC/B4+B,GAAe,KACdoE,EAAaF,GAAYC,EAA8B,gBAAoB,MAAO,CACpF9iC,UAAW,GAAGO,OAAOR,EAAW,iBAC/B8iC,EAAUC,GAAkB,KAC/B,OAAoB,gBAAoB,MAAO,IAAS,GAAI/E,EAAQ,CAClE/9B,UAAW4+B,IACTgE,EAAWG,O,iIC3CJ,SAASC,EAAO36B,GAC7B,IAAI46B,EAAS,mBACTC,EAAa,kBAAO,GAqBxB,OANA,qBAAU,WACR,OAAO,WACLA,EAAWtmC,SAAU,EACrB,IAAIyE,OAAO4hC,EAAOrmC,YAEnB,IAlBH,WACE,IAAK,IAAI+F,EAAOC,UAAUhI,OAAQiI,EAAO,IAAIhJ,MAAM8I,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/ED,EAAKC,GAAQF,UAAUE,GAGpBogC,EAAWtmC,UACd,IAAIyE,OAAO4hC,EAAOrmC,SAClBqmC,EAAOrmC,QAAU,KAAI,WACnByL,EAAStF,WAAM,EAAQF,Q,gBCkFhB,oBA5Ff,SAAiB1G,EAAMsB,GACrB,IAAIiC,EAEAK,EAAY5D,EAAK4D,UACjBkgB,EAAK9jB,EAAK8jB,GACV/d,EAAS/F,EAAK+F,OACdihC,EAAMhnC,EAAKgnC,IACXC,EAAWjnC,EAAKknC,IAChBtiC,EAAMqiC,EAASriC,IACfsiC,EAAMD,EAASC,IACfz+B,EAAWw+B,EAASx+B,SACpB0+B,EAAYF,EAASE,UACrBC,EAAepnC,EAAKonC,aACpBC,EAAcrnC,EAAKqnC,YACnBxZ,EAAW7tB,EAAK6tB,SAChByZ,EAAgBtnC,EAAKsnC,cACrBC,EAAkBvnC,EAAKunC,gBACvBpd,EAAWnqB,EAAKmqB,SAChBjkB,EAAUlG,EAAKkG,QACfshC,EAAWxnC,EAAKwnC,SAChB9Q,EAAU12B,EAAK02B,QACf+Q,EAAY,GAAGrjC,OAAOR,EAAW,QACrC,aAAgB,WACd,OAAO4jC,IACN,IACH,IAAIE,EAAY,GAEI,QAAhBL,GAAyC,WAAhBA,EAC3BK,EAAUV,EAAM,aAAe,eAAiBI,EAEhDM,EAAUC,aAAeP,EAG3B,IAAIQ,EAAYzd,IAAyB,IAAb0D,IAAuBplB,EAEnD,SAASo/B,EAAgB7lC,GACnByG,GACJvC,EAAQlE,GAYV,IAAI6I,EAAO,gBAAoB,MAAO,CACpCjG,IAAKA,EACLtD,IAAKA,EACLuC,UAAW,IAAW4jC,GAAYlkC,EAAc,GAAI,YAAgBA,EAAa,GAAGa,OAAOqjC,EAAW,gBAAiBG,GAAY,YAAgBrkC,EAAa,GAAGa,OAAOqjC,EAAW,WAAY1hC,GAAS,YAAgBxC,EAAa,GAAGa,OAAOqjC,EAAW,aAAch/B,GAAWlF,IACrRU,MAAOyjC,EACPxhC,QAAS2hC,GACR,gBAAoB,MAAO,CAC5BzhB,KAAM,MACN,gBAAiBrgB,EACjB+d,GAAIA,GAAM,GAAG1f,OAAO0f,EAAI,SAAS1f,OAAOQ,GACxCf,UAAW,GAAGO,OAAOqjC,EAAW,QAChC,gBAAiB3jB,GAAM,GAAG1f,OAAO0f,EAAI,WAAW1f,OAAOQ,GACvD,gBAAiB6D,EACjBrC,SAAUqC,EAAW,KAAO,EAC5BvC,QAAS,SAAiBlE,GACxBA,EAAEwU,kBACFqxB,EAAgB7lC,IAElBoN,UAAW,SAAmBpN,GACxB,CAAC8lC,EAAA,EAAQC,MAAOD,EAAA,EAAQ5hB,OAAOjV,SAASjP,EAAE8jB,SAC5C9jB,EAAEoJ,iBACFy8B,EAAgB7lC,KAGpB00B,QAASA,GACRwQ,GAAMU,GAAa,gBAAoB,SAAU,CAClDhgC,KAAM,SACN,aAAc2/B,GAAmB,SACjCnhC,SAAU,EACVvC,UAAW,GAAGO,OAAOqjC,EAAW,WAChCvhC,QAAS,SAAiBlE,GAvC5B,IAAqBiK,EAwCjBjK,EAAEwU,mBAxCevK,EAyCLjK,GAxCRoJ,iBACNa,EAAMuK,kBACN2T,EAAS6d,OAAO,SAAU,CACxBpjC,IAAKA,EACLqH,MAAOA,MAsCRk7B,GAAahd,EAAS0B,YAAc,MAMvC,OAJIyb,IACFz8B,EAAOy8B,EAAcz8B,IAGhBA,KC5FLo9B,EAAe,CACjB9vB,MAAO,EACPjG,OAAQ,EACRnC,KAAM,EACN6C,IAAK,GCLP,IAAI,EAAe,CACjBuF,MAAO,EACPjG,OAAQ,EACRnC,KAAM,EACN6C,IAAK,EACL5C,MAAO,G,4BCNLk4B,EAAqB,CACvB/W,QAAS,EACTG,QAAS,GAEP6W,EAAe,CAAC,EAAG,GAuCR,EAtCE,CACf3W,QAAS,CACPH,OAAQ,CAAC,KAAM,MACf3e,SAAUw1B,EACV/1B,OAAQ,CAAC,GAAI,GACbg2B,aAAcA,GAEhBC,UAAW,CACT/W,OAAQ,CAAC,KAAM,MACf3e,SAAUw1B,EACV/1B,OAAQ,CAAC,GAAI,GACbg2B,aAAcA,GAEhB1W,SAAU,CACRJ,OAAQ,CAAC,KAAM,MACf3e,SAAUw1B,EACV/1B,OAAQ,CAAC,GAAI,GACbg2B,aAAcA,GAEhB/W,WAAY,CACVC,OAAQ,CAAC,KAAM,MACf3e,SAAUw1B,EACV/1B,OAAQ,CAAC,EAAG,GACZg2B,aAAcA,GAEhBE,aAAc,CACZhX,OAAQ,CAAC,KAAM,MACf3e,SAAUw1B,EACV/1B,OAAQ,CAAC,EAAG,GACZg2B,aAAcA,GAEhB5W,YAAa,CACXF,OAAQ,CAAC,KAAM,MACf3e,SAAUw1B,EACV/1B,OAAQ,CAAC,EAAG,GACZg2B,aAAcA,ICwHH,IC/JA,ED+JA,cAxJf,SAAkB9mC,EAAOC,GACvB,IAAIgnC,EAAejnC,EAAMknC,MACrBA,OAAyB,IAAjBD,GAAkCA,EAC1CnrB,EAAmB9b,EAAMuC,UACzBA,OAAiC,IAArBuZ,EAA8B,cAAgBA,EAC1DoT,EAAiBlvB,EAAMkvB,eACvBD,EAAYjvB,EAAMivB,UAClBzO,EAAQxgB,EAAMwgB,MACd2mB,EAAmBnnC,EAAMonC,UACzBA,OAAiC,IAArBD,EAA8B,aAAeA,EACzDE,EAAoBrnC,EAAMsnC,WAC1BA,OAAmC,IAAtBD,EAA+B,EAAaA,EACzDp/B,EAAoBjI,EAAMiI,kBAC1B0oB,EAAa3wB,EAAM2wB,WACnBC,EAAa5wB,EAAM4wB,WACnB2W,EAAmBvnC,EAAMunC,iBACzBC,EAAexnC,EAAMwnC,aACrBzyB,EAAU/U,EAAM+U,QAChB0yB,EAAiBznC,EAAM0nC,QACvBA,OAA6B,IAAnBD,EAA4B,CAAC,SAAWA,EAClDniB,EAAa,YAAyBtlB,EAAO,CAAC,QAAS,YAAa,iBAAkB,YAAa,QAAS,YAAa,aAAc,oBAAqB,aAAc,aAAc,mBAAoB,eAAgB,UAAW,YAEvO6jB,EAAkB,aAClB9kB,EAAmB,YAAe8kB,EAAiB,GACnD8jB,EAAiB5oC,EAAiB,GAClC6oC,EAAoB7oC,EAAiB,GAErC8oC,EAAgB,YAAa7nC,EAAQ+U,EAAU4yB,EAC/C7R,EAAa,SAAa,MAC9B,sBAA0B71B,GAAK,WAC7B,OAAO61B,EAAW12B,WAGpB,IA0EM0oC,EAUAtkC,EACAukC,EACAC,EAvBAC,EACAC,EAhEFC,EAAoB,WACtB,IAAIC,EAAUpoC,EAAMooC,QASpB,MANuB,mBAAZA,EACQA,IAEAA,GAMjBvjC,EAAU,SAAiBlE,GAC7B,IAAI0nC,EAAiBroC,EAAMqoC,eACvBC,EAAeH,IAAoBnoC,MACvC4nC,GAAkB,GAEdS,GACFA,EAAe1nC,GAGb2nC,EAAazjC,SACfyjC,EAAazjC,QAAQlE,IAarB4nC,EAAiB,WACnB,IAAIC,EAAiBL,IACjBM,EAAoB,CACtBlmC,UAAW,GAAGQ,OAAOR,EAAW,SAChCsC,QAASA,GAOX,MAJmC,iBAAxB2jC,EAAejiC,aACjBkiC,EAAkBlmC,UAGpB,gBAAoB,WAAgB,KAAM2kC,GAAS,gBAAoB,MAAO,CACnF1kC,UAAW,GAAGO,OAAOR,EAAW,YAC9B,eAAmBimC,EAAgBC,KA2CrCC,EAAoB9X,EAMxB,OAJK8X,IAAyD,IAApChB,EAAQ3mC,QAAQ,iBACxC2nC,EAAoB,CAAC,UAGhB,gBAAoB,IAAS7sC,OAAOsE,OAAO,GAAImlB,EAAY,CAChE/iB,UAAWA,EACXtC,IAAK61B,EACL3E,eAAgB,IAAWoW,EAAkB,YAAgB,GAAI,GAAGxkC,OAAOR,EAAW,eAAgB2kC,IACtGzW,WAAY+W,EACZ1W,kBAAmBwW,EACnBzG,OAAQ6G,EACR/W,WAAYA,EACZC,WAAY8X,GAAqB,GACjC7X,eAAgBuW,EAChBnW,WAAYzQ,EACZuQ,oBAAqB7B,EACrByZ,eAAgB1Z,EAChBiC,aAAc2W,EACde,SAjDIX,EAA8BjoC,EAAMioC,4BACpCC,EAAaloC,EAAMkoC,YAEnB,gCAAiCloC,EAC5BioC,GAGDC,GA0CoC,WAAa,IACzDlX,MA1DuB,mBAFThxB,EAAMooC,QAGXG,EAGFA,IAuDPM,qBAvFoB,SAAyB9zB,GAC7C,IAAI+zB,EAAkB9oC,EAAM8oC,gBAC5BlB,EAAkB7yB,GAEa,mBAApB+zB,GACTA,EAAgB/zB,IAmFlB9M,kBAAmBA,KA/BfzE,EAAWxD,EAAMwD,SACjBukC,EAAgBvkC,EAASxD,MAAQwD,EAASxD,MAAQ,GAClDgoC,EAAiB,IAAWD,EAAcvlC,eAVxB1F,KAFlBgrC,EAAgB9nC,EAAM8nC,eAGjBA,EAGF,GAAG/kC,OAAOR,EAAW,UAOrBolC,GAAkBnkC,EAAW,eAAmBA,EAAU,CAC/DhB,UAAWwlC,IACRxkC,OExGM,oBAxBf,SAAmB7E,EAAMsB,GACvB,IAAIsC,EAAY5D,EAAK4D,UACjBumB,EAAWnqB,EAAKmqB,SAChBpjB,EAAS/G,EAAK+G,OACd9C,EAAQjE,EAAKiE,MAEjB,OAAKkmB,IAAiC,IAArBA,EAASigB,QAInB,gBAAoB,SAAU,CACnC9oC,IAAKA,EACLsG,KAAM,SACN/D,UAAW,GAAGO,OAAOR,EAAW,YAChCK,MAAOA,EACP,cAAe8C,aAAuC,EAASA,EAAOsjC,eAAiB,UACvFnkC,QAAS,SAAiB+F,GACxBke,EAAS6d,OAAO,MAAO,CACrB/7B,MAAOA,MAGVke,EAASmgB,SAAW,KAdd,QCoKI,oBAnKf,SAAuBtqC,EAAMsB,GAC3B,IAAIsC,EAAY5D,EAAK4D,UACjBkgB,EAAK9jB,EAAK8jB,GACVymB,EAAOvqC,EAAKuqC,KACZxjC,EAAS/G,EAAK+G,OACdyjC,EAASxqC,EAAKwqC,OACdC,EAAgBzqC,EAAK0qC,SACrBA,OAA6B,IAAlBD,EAA2B,OAASA,EAC/CE,EAAqB3qC,EAAK2qC,mBAC1B1mC,EAAQjE,EAAKiE,MACbJ,EAAY7D,EAAK6D,UACjBsmB,EAAWnqB,EAAKmqB,SAChBid,EAAepnC,EAAKonC,aACpBJ,EAAMhnC,EAAKgnC,IACX4D,EAAa5qC,EAAK4qC,WAElBxlC,EAAY,oBAAS,GACrBC,EAAa,YAAeD,EAAW,GACvCif,EAAOhf,EAAW,GAClBwlC,EAAUxlC,EAAW,GAErB4zB,EAAa,mBAAS,MACtBnb,EAAa,YAAemb,EAAY,GACxC6R,EAAchtB,EAAW,GACzBitB,EAAiBjtB,EAAW,GAE5BktB,EAAU,GAAG5mC,OAAO0f,EAAI,eACxBmnB,EAAiB,GAAG7mC,OAAOR,EAAW,aACtCsnC,EAAiC,OAAhBJ,EAAuB,GAAG1mC,OAAO4mC,EAAS,KAAK5mC,OAAO0mC,GAAe,KACtFK,EAAoBpkC,aAAuC,EAASA,EAAOokC,kBAC3EC,EAAO,gBAAoB,IAAM,CACnCllC,QAAS,SAAiB5C,GACxB,IAAIsB,EAAMtB,EAAMsB,IACZymC,EAAW/nC,EAAM+nC,SACrBT,EAAWhmC,EAAKymC,GAChBR,GAAQ,IAEV/mB,GAAIknB,EACJ5kC,UAAW,EACXggB,KAAM,UACN,wBAAyB8kB,EACzBI,aAAc,CAACR,GACf,kBAAoC3sC,IAAtBgtC,EAAkCA,EAAoB,qBACnEZ,EAAKvhC,KAAI,SAAUk+B,GACpB,OAAO,gBAAoB,IAAU,CACnCtiC,IAAKsiC,EAAItiC,IACTkf,GAAI,GAAG1f,OAAO4mC,EAAS,KAAK5mC,OAAO8iC,EAAItiC,KACvCwhB,KAAM,SACN,gBAAiBtC,GAAM,GAAG1f,OAAO0f,EAAI,WAAW1f,OAAO8iC,EAAItiC,KAC3D6D,SAAUy+B,EAAIz+B,UACby+B,EAAIA,SAGT,SAASqE,EAAap5B,GASpB,IARA,IAAIq5B,EAAcjB,EAAKj5B,QAAO,SAAU41B,GACtC,OAAQA,EAAIz+B,YAEVgjC,EAAgBD,EAAY1pB,WAAU,SAAUolB,GAClD,OAAOA,EAAItiC,MAAQkmC,MACf,EACFnrC,EAAM6rC,EAAY/sC,OAEbhB,EAAI,EAAGA,EAAIkC,EAAKlC,GAAK,EAAG,CAE/B,IAAIypC,EAAMsE,EADVC,GAAiBA,EAAgBt5B,EAASxS,GAAOA,GAGjD,IAAKunC,EAAIz+B,SAEP,YADAsiC,EAAe7D,EAAItiC,MAyCzB,qBAAU,WAER,IAAIoe,EAAM3V,SAASq+B,eAAeR,GAE9BloB,GAAOA,EAAI8B,gBACb9B,EAAI8B,gBAAe,KAEpB,CAACgmB,IACJ,qBAAU,WACHzmB,GACH0mB,EAAe,QAEhB,CAAC1mB,IAEJ,IAAIsnB,EAAY,YAAgB,GAAI3E,EAAM,aAAe,cAAeI,GAEnEmD,EAAK9rC,SACRktC,EAAUC,WAAa,SACvBD,EAAUE,MAAQ,GAGpB,IAAIjD,EAAmB,IAAW,YAAgB,GAAI,GAAGxkC,OAAO6mC,EAAgB,QAASjE,IACrF8E,EAAWtB,EAAS,KAAO,gBAAoB,EAAU,CAC3D5mC,UAAWqnC,EACXxB,QAAS2B,EACTrC,QAAS,CAAC,SACV3yB,QAASiO,EACTkM,eAAgBoa,EAChBR,gBAAiBU,EACjBjC,iBAAkBA,EAClBmD,gBAAiB,GACjBC,gBAAiB,IAChB,gBAAoB,SAAU,CAC/BpkC,KAAM,SACN/D,UAAW,GAAGO,OAAOR,EAAW,aAChCK,MAAO0nC,EACPvlC,UAAW,EACX,cAAe,OACf,gBAAiB,UACjB,gBAAiB4kC,EACjBlnB,GAAI,GAAG1f,OAAO0f,EAAI,SAClB,gBAAiBO,EACjBjV,UA7EF,SAAmBpN,GACjB,IAAI8jB,EAAQ9jB,EAAE8jB,MAEd,GAAKzB,EASL,OAAQyB,GACN,KAAKgiB,EAAA,EAAQ/hB,GACXwlB,GAAc,GACdvpC,EAAEoJ,iBACF,MAEF,KAAK08B,EAAA,EAAQ9hB,KACXulB,EAAa,GACbvpC,EAAEoJ,iBACF,MAEF,KAAK08B,EAAA,EAAQ3hB,IACX0kB,GAAQ,GACR,MAEF,KAAK/C,EAAA,EAAQC,MACb,KAAKD,EAAA,EAAQ5hB,MACS,OAAhB4kB,GAAsBF,EAAWE,EAAa9oC,OAzBhD,CAAC8lC,EAAA,EAAQ9hB,KAAM8hB,EAAA,EAAQC,MAAOD,EAAA,EAAQ5hB,OAAOjV,SAAS6U,KACxD+kB,GAAQ,GACR7oC,EAAEoJ,oBAwELs/B,IACH,OAAO,gBAAoB,MAAO,CAChC7mC,UAAW,IAAW,GAAGO,OAAOR,EAAW,mBAAoBC,GAC/DI,MAAOA,EACP3C,IAAKA,GACJwqC,EAAU,gBAAoB,EAAW,CAC1CloC,UAAWA,EACXmD,OAAQA,EACRojB,SAAUA,QCxKC,0BAAc,MCKzB8hB,EAAqBjiC,KAAKkiC,IAAI,KADX,ICHR,SAASC,EAAaC,EAAclsC,GACjD,IAAImsC,EAAW,SAAaD,GAExBlnB,EAAkB,WAAe,IAEjCgZ,EADmB,YAAehZ,EAAiB,GACpB,GAanC,MAAO,CAACmnB,EAAS5rC,QAXjB,SAAkB6rC,GAChB,IAAI5rC,EAA8B,mBAAZ4rC,EAAyBA,EAAQD,EAAS5rC,SAAW6rC,EAEvE5rC,IAAa2rC,EAAS5rC,SACxBP,EAASQ,EAAU2rC,EAAS5rC,SAG9B4rC,EAAS5rC,QAAUC,EACnBw9B,EAAY,MCGhB,IAAI,EAAe,SAAsBl+B,GACvC,IAII+mB,EAJAtU,EAAWzS,EAAKyS,SAChB7O,EAAY5D,EAAK4D,UACjB89B,EAAQ1hC,EAAK0hC,MACjB,IAAKA,EAAO,OAAO,KAEnB,IAAI6K,EAAc7K,EAUlB,MARiB,UAAbjvB,IACFsU,EAAUwlB,EAAYv8B,QAAUu8B,EAAYx8B,MAAQw8B,GAAe,MAGpD,SAAb95B,IACFsU,EAAUwlB,EAAYx8B,MAAQ,MAGzBgX,EAAU,gBAAoB,MAAO,CAC1CljB,UAAW,GAAGO,OAAOR,EAAW,mBAC/BmjB,GAAW,MAqcD,oBAlcf,SAAoB1lB,EAAOC,GACzB,IAAIiC,ECvCAipC,EDyCA9M,EAAoB,aAAiB+M,GACrC7oC,EAAY87B,EAAkB97B,UAC9B2mC,EAAO7K,EAAkB6K,KAEzB1mC,EAAYxC,EAAMwC,UAClBI,EAAQ5C,EAAM4C,MACd6f,EAAKziB,EAAMyiB,GACX4oB,EAAWrrC,EAAMqrC,SACjBC,EAAYtrC,EAAMsrC,UAClB3F,EAAM3lC,EAAM2lC,IACZtF,EAAQrgC,EAAMqgC,MACdvX,EAAW9oB,EAAM8oB,SACjBpjB,EAAS1F,EAAM0F,OACfsgC,EAAchmC,EAAMgmC,YACpBD,EAAe/lC,EAAM+lC,aACrBviC,EAAWxD,EAAMwD,SACjB+lC,EAAavpC,EAAMupC,WACnBgC,EAAcvrC,EAAMurC,YACpBC,EAAiB,mBACjBC,EAAa,mBACbC,EAAgB,mBAChBC,EAAoB,mBAEpBC,GChEAT,EAAY,iBAAO,IAAIpzB,KAcpB,CAZP,SAAgBxU,GAKd,OAJK4nC,EAAU/rC,QAAQolB,IAAIjhB,IACzB4nC,EAAU/rC,QAAQwZ,IAAIrV,EAAK,eAGtB4nC,EAAU/rC,QAAQuZ,IAAIpV,IAG/B,SAAmBA,GACjB4nC,EAAU/rC,QAAQ4Z,OAAOzV,MDsDvBsoC,EAAY,YAAeD,EAAU,GACrCE,EAAYD,EAAU,GACtBE,EAAeF,EAAU,GAEzBG,EAAyC,QAAhBhG,GAAyC,WAAhBA,EAElDiG,EAAgBnB,EAAa,GAAG,SAAU7tC,EAAMqN,GAC9C0hC,GAA0BT,GAC5BA,EAAY,CACVnpC,UAAWnF,EAAOqN,EAAO,OAAS,aAIpC4hC,EAAiB,YAAeD,EAAe,GAC/CE,EAAgBD,EAAe,GAC/BE,EAAmBF,EAAe,GAElCG,EAAiBvB,EAAa,GAAG,SAAU7tC,EAAMqN,IAC9C0hC,GAA0BT,GAC7BA,EAAY,CACVnpC,UAAWnF,EAAOqN,EAAO,MAAQ,cAInCgiC,EAAiB,YAAeD,EAAgB,GAChDE,GAAeD,EAAe,GAC9BE,GAAkBF,EAAe,GAEjCvoC,GAAY,mBAAS,GACrBC,GAAa,YAAeD,GAAW,GACvC0oC,GAAqBzoC,GAAW,GAChC0oC,GAAwB1oC,GAAW,GAEnC4zB,GAAa,mBAAS,GACtBnb,GAAa,YAAemb,GAAY,GACxC+U,GAAsBlwB,GAAW,GACjCmwB,GAAyBnwB,GAAW,GAEpCqb,GAAa,mBAAS,GACtBC,GAAa,YAAeD,GAAY,GACxC+U,GAAsB9U,GAAW,GACjC+U,GAAyB/U,GAAW,GAEpC4B,GAAa,mBAAS,GACtBC,GAAa,YAAeD,GAAY,GACxCoT,GAAuBnT,GAAW,GAClCoT,GAA0BpT,GAAW,GAErCyC,GAAa,mBAAS,MACtBC,GAAc,YAAeD,GAAY,GACzC4Q,GAAe3Q,GAAY,GAC3B4Q,GAAkB5Q,GAAY,GAE9BG,GAAc,mBAAS,MACvBC,GAAc,YAAeD,GAAa,GAC1C0Q,GAAgBzQ,GAAY,GAC5B0Q,GAAmB1Q,GAAY,GAE/BE,GAAc,mBAAS,GACvByQ,GAAc,YAAezQ,GAAa,GAC1C0Q,GAAWD,GAAY,GACvBE,GAAcF,GAAY,GAE1BG,GAAc,mBAAS,GACvBC,GAAc,YAAeD,GAAa,GAC1CE,GAAYD,GAAY,GACxBE,GAAeF,GAAY,GAE3BG,GZ5GC,SAAqB7C,GAC1B,IAAI8C,EAAW,iBAAO,IAElB9pC,EAAY,mBAAS,IAErB84B,EADa,YAAe94B,EAAW,GACd,GAEzBjC,EAAQ,iBAA+B,mBAAjBipC,EAA8BA,IAAiBA,GACrE+C,EAActI,GAAO,WACvB,IAAIpmC,EAAU0C,EAAM1C,QACpByuC,EAASzuC,QAAQuQ,SAAQ,SAAU9E,GACjCzL,EAAUyL,EAASzL,MAErByuC,EAASzuC,QAAU,GACnB0C,EAAM1C,QAAUA,EAChBy9B,EAAY,OAQd,MAAO,CAAC/6B,EAAM1C,QALd,SAAiByL,GACfgjC,EAASzuC,QAAQjC,KAAK0N,GACtBijC,MYwFiBC,CAAY,IAAIh2B,KAC/Bi2B,GAAgB,YAAeJ,GAAc,GAC7CK,GAAWD,GAAc,GACzBE,GAAcF,GAAc,GAE5BG,GVrIS,SAAoBjF,EAAM+E,EAAUG,GACjD,OAAO,mBAAQ,WAOb,IANA,IAAIC,EAEA1mC,EAAM,IAAIoQ,IACVu2B,EAAaL,EAASt1B,IAA2B,QAAtB01B,EAASnF,EAAK,UAA2B,IAAXmF,OAAoB,EAASA,EAAO9qC,MAAQqjC,EACrG2H,EAAcD,EAAW5/B,KAAO4/B,EAAWx3B,MAEtC1a,EAAI,EAAGA,EAAI8sC,EAAK9rC,OAAQhB,GAAK,EAAG,CACvC,IAIMoyC,EAJFjrC,EAAM2lC,EAAK9sC,GAAGmH,IACd2V,EAAO+0B,EAASt1B,IAAIpV,GAExB,IAAK2V,EAGHA,EAAO+0B,EAASt1B,IAA8B,QAAzB61B,EAAQtF,EAAK9sC,EAAI,UAA0B,IAAVoyC,OAAmB,EAASA,EAAMjrC,MAAQqjC,EAGlG,IAAI6H,EAAS9mC,EAAIgR,IAAIpV,IAAQ,YAAc,GAAI2V,GAG/Cu1B,EAAO9/B,MAAQ4/B,EAAcE,EAAO//B,KAAO+/B,EAAO33B,MAElDnP,EAAIiR,IAAIrV,EAAKkrC,GAGf,OAAO9mC,IACN,CAACuhC,EAAKvhC,KAAI,SAAUk+B,GACrB,OAAOA,EAAItiC,OACVkkB,KAAK,KAAMwmB,EAAUG,IUwGPM,CAAWxF,EAAM+E,GAAUxB,IAExCkC,GAA4B,GAAG5rC,OAAOR,EAAW,0BACjDqsC,GAAe,EACfC,GAAe,EAanB,SAASC,GAAa9yC,GACpB,OAAIA,EAAQ4yC,GACH,CAACA,IAAc,GAGpB5yC,EAAQ6yC,GACH,CAACA,IAAc,GAGjB,CAAC7yC,GAAO,GApBZgwC,EAGMrG,GACTiJ,GAAe,EACfC,GAAelmC,KAAKK,IAAI,EAAGyjC,GAAqBQ,MAEhD2B,GAAejmC,KAAKQ,IAAI,EAAG8jC,GAAeR,IAC1CoC,GAAe,IAPfD,GAAejmC,KAAKQ,IAAI,EAAGgkC,GAAgBR,IAC3CkC,GAAe,GAsBjB,IAAIE,GAAiB,mBAEjBC,GAAc,qBACdC,GAAc,YAAeD,GAAa,GAC1CE,GAAgBD,GAAY,GAC5BE,GAAmBF,GAAY,GAEnC,SAASG,KACPD,GAAiBn8B,KAAK6xB,OAGxB,SAASwK,KACP17B,OAAO7B,aAAai9B,GAAe3vC,SAiDrC,SAASkwC,KACP,IAAI/rC,EAAM6B,UAAUhI,OAAS,QAAsBN,IAAjBsI,UAAU,GAAmBA,UAAU,GAAKkmC,EAC1EiE,EAAYpB,GAAWx1B,IAAIpV,GAC/B,GAAKgsC,EAEL,GAAIvD,EAAwB,CAE1B,IAAIwD,EAAerD,EAEfxG,EACE4J,EAAU5gC,MAAQw9B,EACpBqD,EAAeD,EAAU5gC,MAChB4gC,EAAU5gC,MAAQ4gC,EAAUz4B,MAAQq1B,EAAgBc,KAC7DuC,EAAeD,EAAU5gC,MAAQ4gC,EAAUz4B,MAAQm2B,IAG9CsC,EAAU7gC,MAAQy9B,EACvBqD,GAAgBD,EAAU7gC,KACjB6gC,EAAU7gC,KAAO6gC,EAAUz4B,OAASq1B,EAAgBc,KAC7DuC,IAAiBD,EAAU7gC,KAAO6gC,EAAUz4B,MAAQm2B,KAGxDT,GAAgB,GAChBJ,EAAiB0C,GAAaU,GAAc,QACvC,CAEL,IAAIC,EAAgBlD,GAEhBgD,EAAUh+B,KAAOg7B,GACnBkD,GAAiBF,EAAUh+B,IAClBg+B,EAAUh+B,IAAMg+B,EAAU1+B,QAAU07B,GAAeY,KAC5DsC,IAAkBF,EAAUh+B,IAAMg+B,EAAU1+B,OAASs8B,KAGvDf,EAAiB,GACjBI,GAAgBsC,GAAaW,GAAe,MFzPnC,SAAsBxvC,EAAKyvC,GACxC,IAAI3rC,EAAY,qBACZC,EAAa,YAAeD,EAAW,GACvC4rC,EAAgB3rC,EAAW,GAC3B4rC,EAAmB5rC,EAAW,GAE9B4zB,EAAa,mBAAS,GACtBnb,EAAa,YAAemb,EAAY,GACxCiY,EAAgBpzB,EAAW,GAC3BqzB,EAAmBrzB,EAAW,GAE9Bqb,EAAa,mBAAS,GACtBC,EAAa,YAAeD,EAAY,GACxCiY,EAAehY,EAAW,GAC1BiY,EAAkBjY,EAAW,GAE7B4B,EAAa,qBACbC,EAAa,YAAeD,EAAY,GACxC2U,EAAa1U,EAAW,GACxBqW,EAAgBrW,EAAW,GAE3BsW,EAAY,mBAgEZC,EAAwB,iBAAO,GAC/BC,EAAsB,kBAAO,GAC7BC,EAAwB,mBAoCxBC,EAAiB,iBAAO,MAC5BA,EAAelxC,QAAU,CACvB4gB,aArGF,SAAsBrf,GACpB,IAAI4vC,EAAc5vC,EAAEqT,QAAQ,GACxBw8B,EAAUD,EAAYC,QACtBC,EAAUF,EAAYE,QAC1Bb,EAAiB,CACfc,EAAGF,EACHG,EAAGF,IAEL98B,OAAOkM,cAAcqwB,EAAU9wC,UA8F/BugB,YA3FF,SAAqBhf,GACnB,GAAKgvC,EAAL,CACAhvC,EAAEoJ,iBACF,IAAI6mC,EAAejwC,EAAEqT,QAAQ,GACzBw8B,EAAUI,EAAaJ,QACvBC,EAAUG,EAAaH,QAC3Bb,EAAiB,CACfc,EAAGF,EACHG,EAAGF,IAEL,IAAII,EAAUL,EAAUb,EAAce,EAClCxxB,EAAUuxB,EAAUd,EAAcgB,EACtCjB,EAASmB,EAAS3xB,GAClB,IAAI2lB,EAAM7xB,KAAK6xB,MACfiL,EAAiBjL,GACjBmL,EAAgBnL,EAAMgL,GACtBI,EAAc,CACZS,EAAGG,EACHF,EAAGzxB,MA0ELa,WAtEF,WACE,GAAK4vB,IACLC,EAAiB,MACjBK,EAAc,MAEV3B,GAAY,CACd,IAAIwC,EAAYxC,EAAWoC,EAAIX,EAC3BgB,EAAYzC,EAAWqC,EAAIZ,EAC3BiB,EAAOroC,KAAK0R,IAAIy2B,GAChBG,EAAOtoC,KAAK0R,IAAI02B,GAEpB,GAAIpoC,KAAKK,IAAIgoC,EAAMC,GAnFA,GAmF4B,OAC/C,IAAIC,EAAWJ,EACXlxB,EAAWmxB,EACfb,EAAU9wC,QAAUuU,OAAOmM,aAAY,WACjCnX,KAAK0R,IAAI62B,GAtFK,KAsF8BvoC,KAAK0R,IAAIuF,GAtFvC,IAuFhBjM,OAAOkM,cAAcqwB,EAAU9wC,SAMjCswC,EA5Fe,IA0FfwB,GAAYtG,GA1FG,IA2FfhrB,GAAYgrB,MA3FG,MA6InBuG,QAvCF,SAAiBxwC,GACf,IAAIywC,EAASzwC,EAAEywC,OACXn2B,EAASta,EAAEsa,OAEXo2B,EAAQ,EACRL,EAAOroC,KAAK0R,IAAI+2B,GAChBH,EAAOtoC,KAAK0R,IAAIY,GAEhB+1B,IAASC,EACXI,EAA0C,MAAlChB,EAAsBjxC,QAAkBgyC,EAASn2B,EAChD+1B,EAAOC,GAChBI,EAAQD,EACRf,EAAsBjxC,QAAU,MAEhCiyC,EAAQp2B,EACRo1B,EAAsBjxC,QAAU,KAIlC,IAAIylC,EAAM7xB,KAAK6xB,MAEXA,EAAMsL,EAAsB/wC,QAAU,MACxCgxC,EAAoBhxC,SAAU,IAG5BswC,GAAU2B,GAAQA,IAAUjB,EAAoBhxC,WAClDuB,EAAEoJ,iBACFqmC,EAAoBhxC,SAAU,GAGhC+wC,EAAsB/wC,QAAUylC,IAWlC,aAAgB,WAKd,SAASyM,EAAiB3wC,GACxB2vC,EAAelxC,QAAQugB,YAAYhf,GAGrC,SAAS4wC,EAAgB5wC,GACvB2vC,EAAelxC,QAAQ2gB,WAAWpf,GAkBpC,OAXAqL,SAASqJ,iBAAiB,YAAai8B,EAAkB,CACvDE,SAAS,IAEXxlC,SAASqJ,iBAAiB,WAAYk8B,EAAiB,CACrDC,SAAS,IAGXvxC,EAAIb,QAAQiW,iBAAiB,cAvB7B,SAA2B1U,GACzB2vC,EAAelxC,QAAQ4gB,aAAarf,KAsBwB,CAC5D6wC,SAAS,IAEXvxC,EAAIb,QAAQiW,iBAAiB,SAd7B,SAAsB1U,GACpB2vC,EAAelxC,QAAQ+xC,QAAQxwC,MAc1B,WACLqL,SAASyJ,oBAAoB,YAAa67B,GAC1CtlC,SAASyJ,oBAAoB,WAAY87B,MAE1C,IEMHE,CAAajG,GAAgB,SAAUqF,EAAS3xB,GAC9C,IAAInV,GAAiB,EAErB,SAAS2nC,EAAO3vC,EAAU+O,GACxB/O,GAAS,SAAU/F,GACjB,IAAI21C,EAAgB7C,GAAa9yC,EAAQ8U,GACrC8gC,EAAiB,YAAeD,EAAe,GAC/CtyC,EAAWuyC,EAAe,GAC1BC,EAAcD,EAAe,GAGjC,OADA7nC,EAAiB8nC,EACVxyC,KAIX,GAAI2sC,EAAwB,CAE1B,GAAIiB,IAAgBR,GAClB,OAAO1iC,EAGT2nC,EAAOtF,EAAkByE,OACpB,CACL,GAAI1D,IAAiBR,GACnB,OAAO5iC,EAGT2nC,EAAOlF,GAAiBttB,GAK1B,OAFAmwB,KACAD,KACOrlC,KAET,qBAAU,WASR,OARAslC,KAEIH,KACFH,GAAe3vC,QAAUuU,OAAOhC,YAAW,WACzCw9B,GAAiB,KAChB,MAGEE,KACN,CAACH,KA2CJ,IAAI4C,GTzQS,SAAyB3D,EAAY4D,EAAeC,EAAoBC,EAAatzC,GAClG,IAGI8pB,EACArX,EACA8gC,EALAhJ,EAAOvqC,EAAKuqC,KACZlD,EAAcrnC,EAAKqnC,YACnBL,EAAMhnC,EAAKgnC,IAKX,CAAC,MAAO,UAAU/1B,SAASo2B,IAC7Bvd,EAAO,QACPrX,EAAWu0B,EAAM,QAAU,OAC3BuM,EAAgBvpC,KAAK0R,IAAI03B,EAAcrjC,QAEvC+Z,EAAO,SACPrX,EAAW,MACX8gC,GAAiBH,EAAcxgC,KAGjC,IAAI4gC,EAAYJ,EAActpB,GAC1B2pB,EAAiBJ,EAAmBvpB,GACpC4pB,EAAUJ,EAAYxpB,GACtB6pB,EAAkBH,EAMtB,OAJIC,EAAiBC,EAAUF,IAC7BG,EAAkBH,EAAYE,GAGzB,mBAAQ,WACb,IAAKnJ,EAAK9rC,OACR,MAAO,CAAC,EAAG,GAMb,IAHA,IAAIkB,EAAM4qC,EAAK9rC,OACX8gB,EAAW5f,EAENlC,EAAI,EAAGA,EAAIkC,EAAKlC,GAAK,EAAG,CAC/B,IAAI0U,EAASq9B,EAAWx1B,IAAIuwB,EAAK9sC,GAAGmH,MAAQ,EAE5C,GAAIuN,EAAOM,GAAYN,EAAO2X,GAAQypB,EAAgBI,EAAiB,CACrEp0B,EAAW9hB,EAAI,EACf,OAMJ,IAFA,IAAI4hB,EAAa,EAERhhB,EAAKsB,EAAM,EAAGtB,GAAM,EAAGA,GAAM,EAAG,CAGvC,IAFcmxC,EAAWx1B,IAAIuwB,EAAKlsC,GAAIuG,MAAQ,GAElC6N,GAAY8gC,EAAe,CACrCl0B,EAAahhB,EAAK,EAClB,OAIJ,MAAO,CAACghB,EAAYE,KACnB,CAACiwB,EAAY+D,EAAeI,EAAiBtM,EAAakD,EAAKvhC,KAAI,SAAUk+B,GAC9E,OAAOA,EAAItiC,OACVkkB,KAAK,KAAMke,IS+MS4M,CAAgBpE,GAAY,CACjDr3B,MAAOm2B,GACPp8B,OAAQs8B,GACRz+B,KAAMy9B,EACN56B,IAAKg7B,IACJ,CACDz1B,MAAO+1B,GACPh8B,OAAQk8B,IACP,CACDj2B,MAAOw2B,GACPz8B,OAAQ68B,IACP,YAAc,YAAc,GAAI1tC,GAAQ,GAAI,CAC7CkpC,KAAMA,KAEJsJ,GAAoB,YAAeV,GAAkB,GACrDW,GAAeD,GAAkB,GACjCE,GAAaF,GAAkB,GAE/BG,GAAWzJ,EAAKvhC,KAAI,SAAUk+B,GAChC,IAAItiC,EAAMsiC,EAAItiC,IACd,OAAO,gBAAoB,EAAS,CAClCkf,GAAIA,EACJlgB,UAAWA,EACXgB,IAAKA,EACLoiC,IAAKA,EACLE,IAAKA,EACLrZ,SAAUqZ,EAAIrZ,SACd1D,SAAUA,EACVpkB,OAAQnB,IAAQ+nC,EAChBtF,YAAaA,EACbD,aAAcA,EACdE,cAAeziC,EACf0iC,gBAAiBxgC,aAAuC,EAASA,EAAOwgC,gBACxEjmC,IAAK6rC,EAAUvoC,GACfsB,QAAS,SAAiBlE,GACxB4oC,EAAWhmC,EAAK5C,IAElBwlC,SAAU,WACR4F,EAAaxoC,IAEf8xB,QAAS,WACPia,GAAY/rC,GACZ6rC,KAEKzJ,IACH6F,EAAepsC,QAAQwzC,WAAa,GAGtCpH,EAAepsC,QAAQuX,UAAY,QAIrCk8B,GAAqBrN,GAAO,WAC9B,IAAIsN,EAAuBC,EAAwBC,EAAuBC,EAAwBC,EAAuBC,EAAwBC,EAAqBC,EAAsBC,EAGxLvW,GAAoE,QAApD+V,EAAwBtH,EAAepsC,eAA+C,IAA1B0zC,OAAmC,EAASA,EAAsB/V,cAAgB,EAC9JtrB,GAAsE,QAArDshC,EAAyBvH,EAAepsC,eAAgD,IAA3B2zC,OAAoC,EAASA,EAAuBthC,eAAiB,EACnK8hC,GAAuE,QAAvDP,EAAwBrH,EAAkBvsC,eAA+C,IAA1B4zC,OAAmC,EAASA,EAAsBjW,cAAgB,EACjKyW,GAAyE,QAAxDP,EAAyBtH,EAAkBvsC,eAAgD,IAA3B6zC,OAAoC,EAASA,EAAuBxhC,eAAiB,EACtKgiC,GAAyE,QAAnDP,EAAwBxH,EAActsC,eAA+C,IAA1B8zC,OAAmC,EAASA,EAAsBnW,cAAgB,EACnK2W,GAA2E,QAApDP,EAAyBzH,EAActsC,eAAgD,IAA3B+zC,OAAoC,EAASA,EAAuB1hC,eAAiB,EAC5Ky7B,GAAgBnQ,GAChBqQ,GAAiB37B,GACjB87B,GAAYgG,GACZ5F,GAAa6F,GACb,IAAIG,IAAyE,QAA9CP,EAAsB3H,EAAWrsC,eAA6C,IAAxBg0C,OAAiC,EAASA,EAAoBrW,cAAgB,GAAKwW,EACpKK,IAA2E,QAA/CP,EAAuB5H,EAAWrsC,eAA8C,IAAzBi0C,OAAkC,EAASA,EAAqB5hC,eAAiB,GAAK+hC,EAC7K9G,GAAsBiH,GACtB/G,GAAuBgH,GACvB,IAAIC,EAAyE,QAApDP,EAAyB5H,EAActsC,eAAgD,IAA3Bk0C,OAAoC,EAASA,EAAuB9wC,UAAUoN,SAAS++B,IAC5K7B,GAAuB6G,GAAyBE,EAAoB,EAAIJ,IACxEzG,GAAwB4G,GAA0BC,EAAoB,EAAIH,IAE1ExF,IAAY,WACV,IAAI4F,EAAW,IAAI/7B,IAcnB,OAbAmxB,EAAKv5B,SAAQ,SAAU1N,GACrB,IAAIsB,EAAMtB,EAAMsB,IACZwwC,EAAUjI,EAAUvoC,GAAKnE,QAEzB20C,GACFD,EAASl7B,IAAIrV,EAAK,CAChBuT,MAAOi9B,EAAQhX,YACflsB,OAAQkjC,EAAQtiC,aAChB/C,KAAMqlC,EAAQC,WACdziC,IAAKwiC,EAAQE,eAIZH,QAIPI,GAAkBhL,EAAKprC,MAAM,EAAG20C,IAChC0B,GAAgBjL,EAAKprC,MAAM40C,GAAa,GACxC0B,GAAa,GAAGrxC,OAAO,YAAmBmxC,IAAkB,YAAmBC,KAE/EE,GAAc,qBACdC,GAAc,YAAeD,GAAa,GAC1CE,GAAWD,GAAY,GACvBE,GAAcF,GAAY,GAE1BG,GAAkBtG,GAAWx1B,IAAI2yB,GAEjCoJ,GAAe,mBAEnB,SAASC,KACP,IAAI9wC,OAAO6wC,GAAat1C,SAG1B,qBAAU,WACR,IAAIw1C,EAAc,GAqBlB,OAnBIH,KACEzI,GACErG,EACFiP,EAAYjmC,MAAQ8lC,GAAgB9lC,MAEpCimC,EAAYlmC,KAAO+lC,GAAgB/lC,KAGrCkmC,EAAY99B,MAAQ29B,GAAgB39B,QAEpC89B,EAAYrjC,IAAMkjC,GAAgBljC,IAClCqjC,EAAY/jC,OAAS4jC,GAAgB5jC,SAIzC8jC,KACAD,GAAat1C,QAAU,KAAI,WACzBo1C,GAAYI,MAEPD,KACN,CAACF,GAAiBzI,EAAwBrG,IAE7C,qBAAU,WACR2J,OACC,CAAChE,EAAWmJ,GAAiBtG,GAAYnC,IAE5C,qBAAU,WACR6G,OACC,CAAClN,EAAKI,EAAcuF,EAAWpC,EAAKvhC,KAAI,SAAUk+B,GACnD,OAAOA,EAAItiC,OACVkkB,KAAK,OAER,IAEIotB,GACAC,GACAC,GACAC,GALAC,KAAgBb,GAAWh3C,OAC3B83C,GAAa,GAAGnyC,OAAOR,EAAW,aAqBtC,OAfIypC,EACErG,GACFmP,GAAY3I,EAAgB,EAC5B0I,GAAW1I,EAAgBc,GAAeR,KAE1CoI,GAAW1I,EAAgB,EAC3B2I,IAAa3I,EAAgBc,GAAeR,KAG9CsI,GAAUxI,GAAe,EACzByI,IAAczI,GAAeY,GAAgBR,IAKxC,gBAAoB,MAAO,CAChC1sC,IAAKA,EACL8kB,KAAM,UACNviB,UAAW,IAAW,GAAGO,OAAOR,EAAW,QAASC,GACpDI,MAAOA,EACPmL,UAAW,WAETqhC,OAED,gBAAoB,EAAc,CACnCh+B,SAAU,OACVivB,MAAOA,EACP99B,UAAWA,IACT,gBAAoB,IAAgB,CACtCiP,SAAUqhC,IACT,gBAAoB,MAAO,CAC5BrwC,UAAW,IAAW0yC,IAAahzC,EAAc,GAAI,YAAgBA,EAAa,GAAGa,OAAOmyC,GAAY,cAAeL,IAAW,YAAgB3yC,EAAa,GAAGa,OAAOmyC,GAAY,eAAgBJ,IAAY,YAAgB5yC,EAAa,GAAGa,OAAOmyC,GAAY,aAAcH,IAAU,YAAgB7yC,EAAa,GAAGa,OAAOmyC,GAAY,gBAAiBF,IAAa9yC,IAC7WjC,IAAKurC,GACJ,gBAAoB,IAAgB,CACrCh6B,SAAUqhC,IACT,gBAAoB,MAAO,CAC5B5yC,IAAKwrC,EACLjpC,UAAW,GAAGO,OAAOR,EAAW,aAChCK,MAAO,CACL0O,UAAW,aAAavO,OAAOopC,EAAe,QAAQppC,OAAOwpC,GAAc,OAC3E4I,WAAYjG,GAAgB,YAASpyC,IAEtC61C,GAAU,gBAAoB,EAAW,CAC1C1yC,IAAK0rC,EACLppC,UAAWA,EACXmD,OAAQA,EACRojB,SAAUA,EACVlmB,MAAO,CACL2nC,WAAY0K,GAAc,SAAW,QAErC,gBAAoB,MAAO,CAC7BzyC,UAAW,IAAW,GAAGO,OAAOR,EAAW,YAAa,YAAgB,GAAI,GAAGQ,OAAOR,EAAW,qBAAsB8oC,EAAS+J,SAChIxyC,MAAO2xC,SACD,gBAAoB,EAAe14C,OAAOsE,OAAO,GAAIH,EAAO,CAClEC,IAAKyrC,EACLnpC,UAAWA,EACX2mC,KAAMkL,GACN5xC,WAAYyyC,IAAetG,MACxB,gBAAoB,EAAc,CACrCv9B,SAAU,QACVivB,MAAOA,EACP99B,UAAWA,QEleA,SAAS8yC,EAAa12C,GACnC,IAAI8jB,EAAK9jB,EAAK8jB,GACV6oB,EAAY3sC,EAAK2sC,UACjBD,EAAW1sC,EAAK0sC,SAChBrF,EAAcrnC,EAAKqnC,YACnBL,EAAMhnC,EAAKgnC,IACX2P,EAAyB32C,EAAK22C,uBAE9BjX,EAAoB,aAAiB+M,GACrC7oC,EAAY87B,EAAkB97B,UAC9B2mC,EAAO7K,EAAkB6K,KAEzBqM,EAAkBlK,EAASmK,QAC3B1xB,EAAcolB,EAAKzoB,WAAU,SAAUolB,GACzC,OAAOA,EAAItiC,MAAQ+nC,KAErB,OAAO,gBAAoB,MAAO,CAChC9oC,UAAW,IAAW,GAAGO,OAAOR,EAAW,qBAC1C,gBAAoB,MAAO,CAC5BC,UAAW,IAAW,GAAGO,OAAOR,EAAW,YAAa,GAAGQ,OAAOR,EAAW,aAAaQ,OAAOijC,GAAc,YAAgB,GAAI,GAAGjjC,OAAOR,EAAW,qBAAsBgzC,IAC9K3yC,MAAOkhB,GAAeyxB,EAAkB,YAAgB,GAAI5P,EAAM,cAAgB,aAAc,IAAI5iC,OAAO+gB,EAAa,QAAU,MACjIolB,EAAKvhC,KAAI,SAAUk+B,GACpB,OAAO,eAAmBA,EAAIr8B,KAAM,CAClCjG,IAAKsiC,EAAItiC,IACThB,UAAWA,EACXkzC,OAAQ5P,EAAItiC,IACZkf,GAAIA,EACJ4oB,SAAUkK,EACV7wC,OAAQmhC,EAAItiC,MAAQ+nC,EACpBgK,uBAAwBA,SC7Bf,SAASI,EAAQ/2C,GAC9B,IAAI4D,EAAY5D,EAAK4D,UACjBozC,EAAch3C,EAAKg3C,YACnBnzC,EAAY7D,EAAK6D,UACjBI,EAAQjE,EAAKiE,MACb6f,EAAK9jB,EAAK8jB,GACV/d,EAAS/F,EAAK+F,OACd2mC,EAAW1sC,EAAK0sC,SAChBiK,EAAyB32C,EAAK22C,uBAC9BG,EAAS92C,EAAK82C,OACdjyC,EAAW7E,EAAK6E,SAEhBqgB,EAAkB,WAAe8xB,GACjC52C,EAAmB,YAAe8kB,EAAiB,GACnD+xB,EAAU72C,EAAiB,GAC3B82C,EAAa92C,EAAiB,GAElC,aAAgB,WACV2F,EACFmxC,GAAW,GACFP,GACTO,GAAW,KAEZ,CAACnxC,EAAQ4wC,IACZ,IAAIQ,EAAc,GAYlB,OAVKpxC,IACC2mC,GACFyK,EAAYvL,WAAa,SACzBuL,EAAYjlC,OAAS,EACrBilC,EAAYn6B,UAAY,UAExBm6B,EAAY5kC,QAAU,QAInB,gBAAoB,MAAO,CAChCuR,GAAIA,GAAM,GAAG1f,OAAO0f,EAAI,WAAW1f,OAAO0yC,GAC1C1wB,KAAM,WACNhgB,SAAUL,EAAS,GAAK,EACxB,kBAAmB+d,GAAM,GAAG1f,OAAO0f,EAAI,SAAS1f,OAAO0yC,GACvD,eAAgB/wC,EAChB9B,MAAO,YAAc,YAAc,GAAIkzC,GAAclzC,GACrDJ,UAAW,IAAW,GAAGO,OAAOR,EAAW,YAAamC,GAAU,GAAG3B,OAAOR,EAAW,mBAAoBC,KACzGkC,GAAUkxC,GAAWD,IAAgBnyC,GCrB3C,IAAIsjB,EAAO,EAmMX,IAAIivB,EAAc,cAhLlB,SAAcp3C,EAAMsB,GAClB,IAAIiC,EAiCA8zC,EA/BAvzB,EAAK9jB,EAAK8jB,GACVwzB,EAAiBt3C,EAAK4D,UACtBA,OAA+B,IAAnB0zC,EAA4B,UAAYA,EACpDzzC,EAAY7D,EAAK6D,UACjBgB,EAAW7E,EAAK6E,SAChBpB,EAAYzD,EAAKyD,UACjBkpC,EAAY3sC,EAAK2sC,UACjB4K,EAAmBv3C,EAAKu3C,iBACxBptB,EAAWnqB,EAAKmqB,SAChBqtB,EAAgBx3C,EAAK0sC,SACrBA,OAA6B,IAAlB8K,EAA2B,CACxCf,QAAQ,EACRI,SAAS,GACPW,EACAC,EAAmBz3C,EAAKqnC,YACxBA,OAAmC,IAArBoQ,EAA8B,MAAQA,EACpDrQ,EAAepnC,EAAKonC,aACpBsQ,EAAc13C,EAAK03C,YACnBC,EAAqB33C,EAAK23C,mBAC1B5wC,EAAS/G,EAAK+G,OACd2jC,EAAW1qC,EAAK0qC,SAChBC,EAAqB3qC,EAAK2qC,mBAC1BgM,EAAyB32C,EAAK22C,uBAC9BiB,EAAe53C,EAAK43C,aACpB13C,EAAWF,EAAKE,SAChB0qC,EAAa5qC,EAAK4qC,WAClBgC,EAAc5sC,EAAK4sC,YACnB1oC,EAAY,YAAyBlE,EAAM,CAAC,KAAM,YAAa,YAAa,WAAY,YAAa,YAAa,mBAAoB,WAAY,WAAY,cAAe,eAAgB,cAAe,qBAAsB,SAAU,WAAY,qBAAsB,yBAA0B,eAAgB,WAAY,aAAc,gBAElVuqC,EAjDN,SAAsB1lC,GACpB,OAAO,OAAA4iB,EAAA,GAAQ5iB,GAAUmE,KAAI,SAAU6B,GACrC,GAAI,iBAAqBA,GAAO,CAC9B,IAAIjG,OAAmBzG,IAAb0M,EAAKjG,IAAoB4oB,OAAO3iB,EAAKjG,UAAOzG,EACtD,OAAO,YAAc,YAAc,CACjCyG,IAAKA,GACJiG,EAAKxJ,OAAQ,GAAI,CAClBwJ,KAAMA,IAIV,OAAO,QACNyG,QAAO,SAAU41B,GAClB,OAAOA,KAoCE2Q,CAAahzC,GACpBmiC,EAAoB,QAAdvjC,EAIR4zC,GADe,IAAb3K,EACe,CACf+J,QAAQ,EACRI,SAAS,IAEW,IAAbnK,EACQ,CACf+J,QAAQ,EACRI,SAAS,GAGM,YAAc,CAC7BJ,QAAQ,EACRI,SAAS,GACc,WAAtB,YAAQnK,GAAyBA,EAAW,IAIjD,IAAItnC,EAAY,oBAAS,GACrBC,EAAa,YAAeD,EAAW,GACvColC,EAASnlC,EAAW,GACpByyC,EAAYzyC,EAAW,GAE3B,qBAAU,WNjGL,IACD0yC,EMkGFD,GNlGEC,EAAQj8B,UAAUC,WAAaD,UAAUk8B,QAAUhjC,OAAOijC,SAE1D,sVAAsV14C,KAAKw4C,KAAU,4hDAA4hDx4C,KAAKw4C,EAAM9oC,OAAO,EAAG,SMiGv5D,IAEH,IAAIypB,EAAkB,OAAAC,EAAA,IAAe,WACnC,IAAI+W,EAEJ,OAA8B,QAAtBA,EAASnF,EAAK,UAA2B,IAAXmF,OAAoB,EAASA,EAAO9qC,MACzE,CACDvH,MAAOsvC,EACP1sC,aAAcs3C,IAEZ3e,EAAmB,YAAeF,EAAiB,GACnDwf,EAAkBtf,EAAiB,GACnCuf,EAAqBvf,EAAiB,GAEtCK,EAAa,oBAAS,WACxB,OAAOsR,EAAKzoB,WAAU,SAAUolB,GAC9B,OAAOA,EAAItiC,MAAQszC,QAGnBp6B,EAAa,YAAemb,EAAY,GACxC9T,GAAcrH,EAAW,GACzBsH,GAAiBtH,EAAW,GAGhC,qBAAU,WACR,IAKMs6B,EALFC,EAAiB9N,EAAKzoB,WAAU,SAAUolB,GAC5C,OAAOA,EAAItiC,MAAQszC,MAGG,IAApBG,IAGFA,EAAiBruC,KAAKK,IAAI,EAAGL,KAAKQ,IAAI2a,GAAaolB,EAAK9rC,OAAS,IACjE05C,EAAqE,QAAjDC,EAAuB7N,EAAK8N,UAAsD,IAAzBD,OAAkC,EAASA,EAAqBxzC,MAG/IwgB,GAAeizB,KACd,CAAC9N,EAAKvhC,KAAI,SAAUk+B,GACrB,OAAOA,EAAItiC,OACVkkB,KAAK,KAAMovB,EAAiB/yB,KAE/B,IAAI6W,GAAmB,OAAArD,EAAA,GAAe,KAAM,CAC1Ct7B,MAAOymB,IAELmY,GAAmB,YAAeD,GAAkB,GACpD3D,GAAW4D,GAAiB,GAC5Bqc,GAAcrc,GAAiB,GAE/Bsc,GAAoBlR,EAEpBmD,IAAW,CAAC,OAAQ,SAASv5B,SAASo2B,KACxCkR,GAAoB,OAItB,qBAAU,WACHz0B,IACHw0B,GAAY,WAAWl0C,OAAkD+jB,IACzEA,GAAQ,KAET,IASH,IAQIqwB,GARAnpB,GAAc,CAChBvL,GAAIuU,GACJsU,UAAWuL,EACXxL,SAAU2K,EACVhQ,YAAakR,GACbvR,IAAKA,EACLwD,OAAQA,GAINiO,GAAiB,YAAc,YAAc,GAAIppB,IAAc,GAAI,CACrElF,SAAUA,EACVpjB,OAAQA,EACR2jC,SAAUA,EACVC,mBAAoBA,EACpBvD,aAAcA,EACdwD,WAvBF,SAA4BhmC,EAAK5C,GAC/B4oC,SAAwDA,EAAWhmC,EAAK5C,GACxEm2C,EAAmBvzC,GACnB1E,SAAoDA,EAAS0E,IAqB7DgoC,YAAaA,EACblL,MAAOiW,EACP1zC,MAAOyzC,EACPgB,MAAO7zC,IAST,OALE2zC,GADEZ,EACUA,EAAaa,GAAgB,GAE7B,gBAAoB,EAAYv7C,OAAOsE,OAAO,GAAIi3C,KAGzD,gBAAoBhM,EAAWpH,SAAU,CAC9ChoC,MAAO,CACLktC,KAAMA,EACN3mC,UAAWA,IAEZ,gBAAoB,MAAO1G,OAAOsE,OAAO,CAC1CF,IAAKA,EACLwiB,GAAIA,EACJjgB,UAAW,IAAWD,EAAW,GAAGQ,OAAOR,EAAW,KAAKQ,OAAOm0C,KAAqBh1C,EAAc,GAAI,YAAgBA,EAAa,GAAGa,OAAOR,EAAW,WAAY4mC,GAAS,YAAgBjnC,EAAa,GAAGa,OAAOR,EAAW,aAAcumB,GAAW,YAAgB5mB,EAAa,GAAGa,OAAOR,EAAW,QAASojC,GAAMzjC,GAAcM,IACzUK,GAAYs0C,GAAW,gBAAoB9B,EAAcx5C,OAAOsE,OAAO,CACxEm1C,uBAAwBA,GACvBtnB,GAAa,CACdqd,SAAU2K,UAKdD,EAAYL,QAAUA,EACP,IC7NA,ED6NA,E,gFE7NX,GAAgC,SAAUh1C,EAAGC,GAC/C,IAAIC,EAAI,GAER,IAAK,IAAIC,KAAKH,EACR7E,OAAO8B,UAAUmD,eAAejD,KAAK6C,EAAGG,IAAMF,EAAEI,QAAQF,GAAK,IAAGD,EAAEC,GAAKH,EAAEG,IAG/E,GAAS,MAALH,GAAqD,mBAAjC7E,OAAOmF,sBAA2C,KAAI5E,EAAI,EAAb,IAAgByE,EAAIhF,OAAOmF,sBAAsBN,GAAItE,EAAIyE,EAAEzD,OAAQhB,IAClIuE,EAAEI,QAAQF,EAAEzE,IAAM,GAAKP,OAAO8B,UAAUsD,qBAAqBpD,KAAK6C,EAAGG,EAAEzE,MAAKwE,EAAEC,EAAEzE,IAAMsE,EAAEG,EAAEzE,KAEhG,OAAOwE,GAYT,SAAS,GAAKyB,GACZ,IAAIH,EAkBA4mB,EAhBAviB,EAAOlE,EAAGkE,KACV/D,EAAYH,EAAGG,UACfC,EAAOJ,EAAGI,KACV60C,EAAUj1C,EAAGskC,OACb4Q,EAAUl1C,EAAGk1C,QACbC,EAAWn1C,EAAGm1C,SACdvO,EAAU5mC,EAAG4mC,QACbjpC,EAAQ,GAAOqC,EAAI,CAAC,OAAQ,YAAa,OAAQ,SAAU,UAAW,WAAY,YAElFC,EAAqBtC,EAAMuC,UAE3B87B,EAAoB,aAAiB,KACrCl8B,EAAek8B,EAAkBl8B,aACjCC,EAAYi8B,EAAkBj8B,UAE9BG,EAAYJ,EAAa,OAAQG,GAiBrC,MAda,kBAATiE,IACFuiB,EAAW,CACT6d,OAAQ,SAAgB8Q,EAAU94C,GAChC,IAAI4E,EAAM5E,EAAK4E,IACXqH,EAAQjM,EAAKiM,MACjB0sC,SAAkDA,EAAqB,QAAbG,EAAqB7sC,EAAQrH,EAAKk0C,IAE9FjtB,WAAyB,gBAAoB,KAAe,MAC5Dye,QAASA,GAAwB,gBAAoB,IAAc,MACnEF,SAAqB,IAAZwO,IAIb,OAAAG,GAAA,KAAa,gBAAiB13C,MAAY,gBAAiBA,GAAQ,OAAQ,uFACvD,gBAAoB,EAAQ,IAAS,CACvDoC,UAAWA,GACVpC,EAAO,CACRspC,mBAAoB,WACpB9mC,UAAW,KAAYN,EAAc,GAAI,IAAgBA,EAAa,GAAGa,OAAOR,EAAW,KAAKQ,OAAON,GAAOA,GAAO,IAAgBP,EAAa,GAAGa,OAAOR,EAAW,SAAU,CAAC,OAAQ,iBAAiBqN,SAASrJ,IAAQ,IAAgBrE,EAAa,GAAGa,OAAOR,EAAW,kBAA4B,kBAATgE,GAA2B,IAAgBrE,EAAa,GAAGa,OAAOR,EAAW,aAAci1C,GAAWt1C,GAAcM,GACrZsmB,SAAUA,EACVugB,SAAuB,gBAAoB,IAAkB,MAC7D9mC,UAAWA,KAIf,GAAKmzC,QAAUA,EACA,U,uCCrEX,GAAgC,SAAUh1C,EAAGC,GAC/C,IAAIC,EAAI,GAER,IAAK,IAAIC,KAAKH,EACR7E,OAAO8B,UAAUmD,eAAejD,KAAK6C,EAAGG,IAAMF,EAAEI,QAAQF,GAAK,IAAGD,EAAEC,GAAKH,EAAEG,IAG/E,GAAS,MAALH,GAAqD,mBAAjC7E,OAAOmF,sBAA2C,KAAI5E,EAAI,EAAb,IAAgByE,EAAIhF,OAAOmF,sBAAsBN,GAAItE,EAAIyE,EAAEzD,OAAQhB,IAClIuE,EAAEI,QAAQF,EAAEzE,IAAM,GAAKP,OAAO8B,UAAUsD,qBAAqBpD,KAAK6C,EAAGG,EAAEzE,MAAKwE,EAAEC,EAAEzE,IAAMsE,EAAEG,EAAEzE,KAEhG,OAAOwE,GA8BT,IAAI,GAAO,SAAcZ,GACvB,IAAI23C,EAAWz1C,EA8FX01C,EA5FAvZ,EAAoB,aAAiB,KACrCl8B,EAAek8B,EAAkBl8B,aACjCC,EAAYi8B,EAAkBj8B,UAE9BK,EAAO,aAAiB+7B,GAAA,GAkBxBl8B,EAAqBtC,EAAMuC,UAC3BC,EAAYxC,EAAMwC,UAClB69B,EAAQrgC,EAAMqgC,MACdwX,EAAmB73C,EAAM83C,UACzBA,OAAiC,IAArBD,EAA8B,GAAKA,EAC/CE,EAAmB/3C,EAAMg4C,UACzBA,OAAiC,IAArBD,EAA8B,GAAKA,EAC/CpzC,EAAQ3E,EAAM2E,MACdgwB,EAAU30B,EAAM20B,QAChBsjB,EAAkBj4C,EAAMg+B,SACxBA,OAA+B,IAApBia,GAAoCA,EAC/C9Z,EAAgBn+B,EAAMyC,KACtB8D,EAAOvG,EAAMuG,KACb2xC,EAAQl4C,EAAMk4C,MACd9X,EAAUpgC,EAAMogC,QAChB+X,EAAUn4C,EAAMm4C,QAChB30C,EAAWxD,EAAMwD,SACjB40C,EAAep4C,EAAMo4C,aACrBC,EAAsBr4C,EAAMq4C,oBAC5B/B,EAAqBt2C,EAAMs2C,mBAC3BnR,EAAYnlC,EAAMmlC,UAClBmT,EAAkBt4C,EAAMu4C,SACxBA,OAA+B,IAApBD,EAA6B,GAAKA,EAC7C/X,EAAS,GAAOvgC,EAAO,CAAC,YAAa,YAAa,QAAS,YAAa,YAAa,QAAS,UAAW,WAAY,OAAQ,OAAQ,QAAS,UAAW,UAAW,WAAY,eAAgB,sBAAuB,qBAAsB,YAAa,aAE1PuC,EAAYJ,EAAa,OAAQG,GACjCk2C,EAA0C,IAAtBR,EAAUS,SAAuC,QAAtBT,EAAUS,QAAoB,CAC/EA,QAAS,SACP37C,EACA47C,EAAqB,gBAAoB,MAAO,CAClDl2C,UAAW,GAAGO,OAAOR,EAAW,oBAE9Bo2C,EAA4B,gBAAoB,MAAO,CACzDn2C,UAAW,GAAGO,OAAOR,EAAW,oBAChCK,MAAO41C,GACO,gBAAoB,KAAK,CACvC7U,OAAQ,GACM,gBAAoB,KAAK,CACvCiV,KAAM,IACLF,IAAsB,gBAAoB,KAAK,CAChD/U,OAAQ,GACM,gBAAoB,KAAK,CACvCiV,KAAM,GACLF,GAAqB,gBAAoB,KAAK,CAC/CE,KAAM,IACLF,IAAsB,gBAAoB,KAAK,CAChD/U,OAAQ,GACM,gBAAoB,KAAK,CACvCiV,KAAM,GACLF,GAAqB,gBAAoB,KAAK,CAC/CE,KAAM,IACLF,IAAsB,gBAAoB,KAAK,CAChD/U,OAAQ,GACM,gBAAoB,KAAK,CACvCiV,KAAM,IACLF,GAAqB,gBAAoB,KAAK,CAC/CE,KAAM,GACLF,IAAsB,gBAAoB,KAAK,CAChD/U,OAAQ,GACM,gBAAoB,KAAK,CACvCiV,KAAM,GACLF,GAAqB,gBAAoB,KAAK,CAC/CE,KAAM,GACLF,GAAqB,gBAAoB,KAAK,CAC/CE,KAAM,IACLF,KACCG,OAAmC/7C,IAAjBs7C,EAElBU,EAAa,IAAS,IAAS,GAAIP,IAAYZ,EAAY,GAAI,IAAgBA,EAAWkB,EAAkB,YAAc,mBAAoBA,EAAkBT,EAAeC,GAAsB,IAAgBV,EAAW,qBAAsBrB,GAAqBqB,IAG3QzO,EAAOiP,GAAWA,EAAQ/6C,OAAsB,gBAAoB,GAAM,IAAS,CACrFqF,KAAM,SACLq2C,EAAY,CACbt2C,UAAW,GAAGO,OAAOR,EAAW,cAChC1D,SA3FgB,SAAqB0E,GACjCvD,EAAM+4C,aACR/4C,EAAM+4C,YAAYx1C,MA0FlB40C,EAAQxwC,KAAI,SAAUmR,GACxB,OAAoB,gBAAoB,GAAK48B,QAAS,CACpD7P,IAAK/sB,EAAK+sB,IACVz+B,SAAU0R,EAAK1R,SACf7D,IAAKuV,EAAKvV,UAER,MAEFoB,GAAS07B,GAAS6I,KACpB0O,EAAoB,gBAAoB,MAAO,CAC7Cp1C,UAAW,GAAGO,OAAOR,EAAW,SAChCK,MAAOk1C,GACO,gBAAoB,MAAO,CACzCt1C,UAAW,GAAGO,OAAOR,EAAW,kBAC/BoC,GAAsB,gBAAoB,MAAO,CAClDnC,UAAW,GAAGO,OAAOR,EAAW,gBAC/BoC,GAAQ07B,GAAsB,gBAAoB,MAAO,CAC1D79B,UAAW,GAAGO,OAAOR,EAAW,WAC/B89B,IAAS6I,IAGd,IA1GM8P,EA0GFC,EAAWf,EAAqB,gBAAoB,MAAO,CAC7D11C,UAAW,GAAGO,OAAOR,EAAW,WAC/B21C,GAAS,KACRvpB,EAAoB,gBAAoB,MAAO,CACjDnsB,UAAW,GAAGO,OAAOR,EAAW,SAChCK,MAAOo1C,GACNrjB,EAAUgkB,EAAen1C,GACxB01C,EAAY9Y,GAAWA,EAAQhjC,OAAsB,gBAAoB,KAAM,CACjFoF,UAAW,GAAGO,OAAOR,EAAW,aAlJpC,SAAmB69B,GAajB,OAZiBA,EAAQz4B,KAAI,SAAUk5B,EAAQtmB,GAC7C,OAGE,gBAAoB,KAAM,CACxB3X,MAAO,CACLkU,MAAO,GAAG/T,OAAO,IAAMq9B,EAAQhjC,OAAQ,MAEzCmG,IAAK,UAAUR,OAAOwX,IACR,gBAAoB,OAAQ,KAAMsmB,OAyInDsY,CAAU/Y,IAAY,KACrBp9B,EAAW,YAAKu9B,EAAQ,CAAC,gBACzBnB,EAAajB,GAAiB17B,EAC9B2+B,EAAc,IAAW7+B,GAAYL,EAAc,GAAI,IAAgBA,EAAa,GAAGa,OAAOR,EAAW,YAAaoyB,GAAU,IAAgBzyB,EAAa,GAAGa,OAAOR,EAAW,aAAcy7B,GAAW,IAAgB97B,EAAa,GAAGa,OAAOR,EAAW,cAAe4iC,GAAY,IAAgBjjC,EAAa,GAAGa,OAAOR,EAAW,kBArH5U,WAAeoN,QAAQ3P,EAAMwD,UAAU,SAAU4L,GAC3CA,GAAWA,EAAQ7I,MAAQ6I,EAAQ7I,OAAS,IAC9CyyC,GAAc,MAGXA,IAgHyW,IAAgB92C,EAAa,GAAGa,OAAOR,EAAW,iBAAkB41C,GAAWA,EAAQ/6C,QAAS,IAAgB8E,EAAa,GAAGa,OAAOR,EAAW,KAAKQ,OAAOq8B,GAAaA,GAAa,IAAgBl9B,EAAa,GAAGa,OAAOR,EAAW,UAAUQ,OAAOwD,KAASA,GAAO,IAAgBrE,EAAa,GAAGa,OAAOR,EAAW,QAAuB,QAAdH,GAAsBF,GAAcM,GAC5tB,OAAoB,gBAAoB,MAAO,IAAS,GAAIQ,EAAU,CACpER,UAAW4+B,IACTwW,EAAMqB,EAAUtqB,EAAMuqB,IAG5B,GAAKE,KAAO,EACZ,GAAKnY,KAAO,EACG,Q,oCCzLf,6FAASjvB,EAAQ1S,GAaf,OATE0S,EADoB,mBAAXxV,QAAoD,iBAApBA,OAAOC,SACtC,SAAiB6C,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAX9C,QAAyB8C,EAAIvB,cAAgBvB,QAAU8C,IAAQ9C,OAAOmB,UAAY,gBAAkB2B,IAI9GA,GAIV,SAAS+5C,EAAQp5C,EAAKuJ,GACR,mBAARvJ,EACTA,EAAIuJ,GACsB,WAAjBwI,EAAQ/R,IAAqBA,GAAO,YAAaA,IAC1DA,EAAIb,QAAUoK,GAOX,SAAS8vC,IACd,IAAK,IAAIn0C,EAAOC,UAAUhI,OAAQm8C,EAAO,IAAIl9C,MAAM8I,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/Ei0C,EAAKj0C,GAAQF,UAAUE,GAGzB,OAAO,SAAUkE,GACf+vC,EAAK5pC,SAAQ,SAAU1P,GACrBo5C,EAAQp5C,EAAKuJ,OAIZ,SAASgwC,EAAWC,GACzB,IAAIC,EAAiBC,EAEjBpzC,EAAO,iBAAOkzC,GAAmBA,EAAgBlzC,KAAKA,KAAOkzC,EAAgBlzC,KAEjF,QAAoB,mBAATA,KAAgE,QAAtCmzC,EAAkBnzC,EAAK5I,iBAA2C,IAApB+7C,OAA6B,EAASA,EAAgBE,YAK1G,mBAApBH,KAA4F,QAAvDE,EAAwBF,EAAgB97C,iBAAiD,IAA1Bg8C,OAAmC,EAASA,EAAsBC,W,kCC1CnL,IAEgCt6C,EAPhCzD,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAUlB,IAAIsD,GAN4BD,EAFe,EAAQ,UAGvCA,EAAIE,WAAaF,EAAM,CACnC,QAAWA,GAKfvD,EAAQE,QAAUsD,EAClBE,EAAO1D,QAAUwD,G,0DCVjB,IAEgCD,EAPhCzD,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAUlB,IAAIsD,GAN4BD,EAFW,EAAQ,UAGnCA,EAAIE,WAAaF,EAAM,CACnC,QAAWA,GAKfvD,EAAQE,QAAUsD,EAClBE,EAAO1D,QAAUwD,G,kCCfjB1D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAmBTD,EAAQE,QAjBiB,CACvB,KAAQ,CACN,IAAO,MACP,MAAS,CACP,QAAW,gBACX,UAAa,SAEf,SAAY,CAAC,CACX,IAAO,OACP,MAAS,CACP,EAAK,qXAIX,KAAQ,cACR,MAAS,a,kCClBX,IAAIyD,EAAyB,EAAQ,QAEjCC,EAA0B,EAAQ,QAEtC9D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAElB,IAAI2D,EAAQD,EAAwB,EAAQ,SAExCk6C,EAAoBn6C,EAAuB,EAAQ,SAEnDI,EAAYJ,EAAuB,EAAQ,SAI3Co6C,EAAmB,SAA0B95C,EAAOC,GACtD,OAAOL,EAAMM,cAAcJ,EAAU7D,QAASJ,OAAOsE,OAAO,GAAIH,EAAO,CACrEC,IAAKA,EACLG,KAAMy5C,EAAkB59C,YAI5B69C,EAAiBz5C,YAAc,mBAE/B,IAAId,EAAWK,EAAMU,WAAWw5C,GAEhC/9C,EAAQE,QAAUsD,G,oCCvBlB,IAEgCD,EAPhCzD,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAUlB,IAAIsD,GAN4BD,EAFkB,EAAQ,UAG1CA,EAAIE,WAAaF,EAAM,CACnC,QAAWA,GAKfvD,EAAQE,QAAUsD,EAClBE,EAAO1D,QAAUwD,G,uLCJb,EAAmC,SAAU4B,GAC/C,YAAU44C,EAAqB54C,GAE/B,IAAIE,EAAS,YAAa04C,GAE1B,SAASA,IACP,IAAIz4C,EA4DJ,OA1DA,YAAgBC,KAAMw4C,IAEtBz4C,EAAQD,EAAOkE,MAAMhE,KAAM6D,YACrB40C,eAAiB,KACvB14C,EAAM24C,UAAY,KAClB34C,EAAM44C,eAAiB,KACvB54C,EAAMQ,MAAQ,CACZgV,MAAO,EACPjG,OAAQ,EACRY,aAAc,EACdsrB,YAAa,GAGfz7B,EAAMkQ,SAAW,SAAU2oC,GACzB,IAAI3oC,EAAWlQ,EAAMtB,MAAMwR,SACvB1L,EAASq0C,EAAQ,GAAGr0C,OAEpBs0C,EAAwBt0C,EAAOu0C,wBAC/BvjC,EAAQsjC,EAAsBtjC,MAC9BjG,EAASupC,EAAsBvpC,OAE/BksB,EAAcj3B,EAAOi3B,YACrBtrB,EAAe3L,EAAO2L,aAOtB6oC,EAAa3xC,KAAKC,MAAMkO,GACxByjC,EAAc5xC,KAAKC,MAAMiI,GAE7B,GAAIvP,EAAMQ,MAAMgV,QAAUwjC,GAAch5C,EAAMQ,MAAM+O,SAAW0pC,GAAej5C,EAAMQ,MAAMi7B,cAAgBA,GAAez7B,EAAMQ,MAAM2P,eAAiBA,EAAc,CAClK,IAAIhP,EAAO,CACTqU,MAAOwjC,EACPzpC,OAAQ0pC,EACRxd,YAAaA,EACbtrB,aAAcA,GAGhBnQ,EAAMS,SAASU,GAEX+O,GAEF4G,QAAQC,UAAUC,MAAK,WACrB9G,EAAS,YAAc,YAAc,GAAI/O,GAAO,GAAI,CAClDs6B,YAAaA,EACbtrB,aAAcA,UAOxBnQ,EAAMk5C,aAAe,SAAUhxC,GAC7BlI,EAAM24C,UAAYzwC,GAGblI,EAoFT,OAjFA,YAAay4C,EAAqB,CAAC,CACjCx2C,IAAK,oBACLvH,MAAO,WACLuF,KAAKk5C,uBAEN,CACDl3C,IAAK,qBACLvH,MAAO,WACLuF,KAAKk5C,uBAEN,CACDl3C,IAAK,uBACLvH,MAAO,WACLuF,KAAKm5C,oBAEN,CACDn3C,IAAK,qBACLvH,MAAO,WAGL,GAFeuF,KAAKvB,MAAMoH,SAGxB7F,KAAKm5C,sBADP,CAMA,ICvG8BlxC,EDuG1B4F,GCvG0B5F,EDuGJjI,KAAK04C,WAAa14C,gBCtG5BkX,YACXjP,EAGF,IAASkP,YAAYlP,GDmGH4F,IAAY7N,KAAK24C,iBAGpC34C,KAAKm5C,kBACLn5C,KAAK24C,eAAiB9qC,IAGnB7N,KAAKy4C,gBAAkB5qC,IAC1B7N,KAAKy4C,eAAiB,IAAI,UAAez4C,KAAKiQ,UAC9CjQ,KAAKy4C,eAAeW,QAAQvrC,OAG/B,CACD7L,IAAK,kBACLvH,MAAO,WACDuF,KAAKy4C,iBACPz4C,KAAKy4C,eAAeY,aACpBr5C,KAAKy4C,eAAiB,QAGzB,CACDz2C,IAAK,SACLvH,MAAO,WACL,IAAIwH,EAAWjC,KAAKvB,MAAMwD,SACtBq3C,EAAa,OAAAz0B,EAAA,GAAQ5iB,GAEzB,GAAIq3C,EAAWz9C,OAAS,EACtB,OAAA6pB,EAAA,IAAQ,EAAO,sGACV,GAA0B,IAAtB4zB,EAAWz9C,OAEpB,OADA,OAAA6pB,EAAA,IAAQ,EAAO,iEACR,KAGT,IAAIgzB,EAAYY,EAAW,GAE3B,GAAI,iBAAqBZ,IAAc,YAAWA,GAAY,CAC5D,IAAIh6C,EAAMg6C,EAAUh6C,IACpB46C,EAAW,GAAK,eAAmBZ,EAAW,CAC5Ch6C,IAAK,YAAWA,EAAKsB,KAAKi5C,gBAI9B,OAA6B,IAAtBK,EAAWz9C,OAAey9C,EAAW,GAAKA,EAAWlzC,KAAI,SAAU6B,EAAM+Q,GAC9E,OAAK,iBAAqB/Q,IAAS,QAASA,GAAqB,OAAbA,EAAKjG,IAChDiG,EAGF,eAAmBA,EAAM,CAC9BjG,IAAK,GAAGR,OAlJQ,kBAkJoB,KAAKA,OAAOwX,YAMjDw/B,EAtJ8B,CAuJrC,aAEF,EAAoB15C,YAAc,iBACnB,O,kCErKf,IAAIX,EAAyB,EAAQ,QAEjCC,EAA0B,EAAQ,QAEtC9D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAElB,IAAI2D,EAAQD,EAAwB,EAAQ,SAExCm7C,EAAgBp7C,EAAuB,EAAQ,SAE/CI,EAAYJ,EAAuB,EAAQ,SAI3Cq7C,EAAe,SAAsB/6C,EAAOC,GAC9C,OAAOL,EAAMM,cAAcJ,EAAU7D,QAASJ,OAAOsE,OAAO,GAAIH,EAAO,CACrEC,IAAKA,EACLG,KAAM06C,EAAc7+C,YAIxB8+C,EAAa16C,YAAc,eAE3B,IAAId,EAAWK,EAAMU,WAAWy6C,GAEhCh/C,EAAQE,QAAUsD,G,kCCvBlB,IAEgCD,EAPhCzD,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAUlB,IAAIsD,GAN4BD,EAFiB,EAAQ,UAGzCA,EAAIE,WAAaF,EAAM,CACnC,QAAWA,GAKfvD,EAAQE,QAAUsD,EAClBE,EAAO1D,QAAUwD,G,kCCVjB,IAEgCD,EAPhCzD,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAUlB,IAAIsD,GAN4BD,EAFa,EAAQ,UAGrCA,EAAIE,WAAaF,EAAM,CACnC,QAAWA,GAKfvD,EAAQE,QAAUsD,EAClBE,EAAO1D,QAAUwD,G,kCCfjB,IAAIG,EAAyB,EAAQ,QAEjCC,EAA0B,EAAQ,QAEtC9D,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQE,aAAU,EAElB,IAAI2D,EAAQD,EAAwB,EAAQ,SAExCq7C,EAAiBt7C,EAAuB,EAAQ,SAEhDI,EAAYJ,EAAuB,EAAQ,SAI3Cu7C,EAAgB,SAAuBj7C,EAAOC,GAChD,OAAOL,EAAMM,cAAcJ,EAAU7D,QAASJ,OAAOsE,OAAO,GAAIH,EAAO,CACrEC,IAAKA,EACLG,KAAM46C,EAAe/+C,YAIzBg/C,EAAc56C,YAAc,gBAE5B,IAAId,EAAWK,EAAMU,WAAW26C,GAEhCl/C,EAAQE,QAAUsD,G,sBC9BlB,YAOA,IAPA,MAAU,EAAQ,QACd27C,EAAyB,oBAAXvnC,OAAyBwnC,EAASxnC,OAChDynC,EAAU,CAAC,MAAO,UAClBC,EAAS,iBACT3pC,EAAMwpC,EAAK,UAAYG,GACvBzpC,EAAMspC,EAAK,SAAWG,IAAWH,EAAK,gBAAkBG,GAEnDj/C,EAAI,GAAIsV,GAAOtV,EAAIg/C,EAAQh+C,OAAQhB,IAC1CsV,EAAMwpC,EAAKE,EAAQh/C,GAAK,UAAYi/C,GACpCzpC,EAAMspC,EAAKE,EAAQh/C,GAAK,SAAWi/C,IAAWH,EAAKE,EAAQh/C,GAAK,gBAAkBi/C,GAIpF,IAAK3pC,IAAQE,EAAK,CAChB,IAAInD,EAAO,EACPgU,EAAK,EACL64B,EAAQ,GAGZ5pC,EAAM,SAAa7G,GACjB,GAAqB,IAAjBywC,EAAMl+C,OAAc,CACtB,IAAIm+C,EAAO1W,IACP5nC,EAAO0L,KAAKK,IAAI,EALJ,IAAO,IAKiBuyC,EAAO9sC,IAE/CA,EAAOxR,EAAOs+C,EACd5pC,YAAW,WACT,IAAI6pC,EAAKF,EAAMx9C,MAAM,GAIrBw9C,EAAMl+C,OAAS,EAEf,IAAK,IAAIhB,EAAI,EAAGA,EAAIo/C,EAAGp+C,OAAQhB,IAC7B,IAAKo/C,EAAGp/C,GAAGq/C,UACT,IACED,EAAGp/C,GAAGyO,SAAS4D,GACf,MAAO9N,GACPgR,YAAW,WACT,MAAMhR,IACL,MAIRgI,KAAK+yC,MAAMz+C,IAQhB,OALAq+C,EAAMn+C,KAAK,CACT0W,SAAU4O,EACV5X,SAAUA,EACV4wC,WAAW,IAENh5B,GAGT7Q,EAAM,SAAaiC,GACjB,IAAK,IAAIzX,EAAI,EAAGA,EAAIk/C,EAAMl+C,OAAQhB,IAC5Bk/C,EAAMl/C,GAAGyX,SAAWA,IACtBynC,EAAMl/C,GAAGq/C,WAAY,IAM7Bh8C,EAAO1D,QAAU,SAAU4/C,GAIzB,OAAOjqC,EAAI7T,KAAKq9C,EAAMS,IAGxBl8C,EAAO1D,QAAQ8H,OAAS,WACtB+N,EAAIrM,MAAM21C,EAAM91C,YAGlB3F,EAAO1D,QAAQ6/C,SAAW,SAAU9rC,GAC7BA,IACHA,EAASorC,GAGXprC,EAAO8D,sBAAwBlC,EAC/B5B,EAAOgE,qBAAuBlC,K,wDC9EhC/V,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAmBTD,EAAQE,QAjBY,CAClB,KAAQ,CACN,IAAO,MACP,MAAS,CACP,QAAW,gBACX,UAAa,SAEf,SAAY,CAAC,CACX,IAAO,OACP,MAAS,CACP,EAAK,+LAIX,KAAQ,QACR,MAAS","file":"5b2f3b0e704fdc62392057951b1d447ebe44f152-6bd4bddc281051b8d881.js","sourcesContent":["\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar DoubleRightOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z\"\n }\n }]\n },\n \"name\": \"double-right\",\n \"theme\": \"outlined\"\n};\nexports.default = DoubleRightOutlined;","function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _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}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_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}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nimport * as React from 'react';\nexport default function useControlledState(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 _React$useState = React.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 _React$useState2 = _slicedToArray(_React$useState, 2),\n innerValue = _React$useState2[0],\n setInnerValue = _React$useState2[1];\n\n var mergedValue = value !== undefined ? value : innerValue;\n\n if (postState) {\n mergedValue = postState(mergedValue);\n }\n\n function triggerChange(newValue) {\n setInnerValue(newValue);\n\n if (mergedValue !== newValue && onChange) {\n onChange(newValue, mergedValue);\n }\n } // Effect of reset value to `undefined`\n\n\n var firstRenderRef = React.useRef(true);\n React.useEffect(function () {\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n return;\n }\n\n if (value === undefined) {\n setInnerValue(value);\n }\n }, [value]);\n return [mergedValue, triggerChange];\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _DownOutlined = _interopRequireDefault(require('./lib/icons/DownOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _DownOutlined;\nexports.default = _default;\nmodule.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _DoubleRightOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/DoubleRightOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar DoubleRightOutlined = function DoubleRightOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _DoubleRightOutlined.default\n }));\n};\n\nDoubleRightOutlined.displayName = 'DoubleRightOutlined';\n\nvar _default = React.forwardRef(DoubleRightOutlined);\n\nexports.default = _default;","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar EllipsisOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z\"\n }\n }]\n },\n \"name\": \"ellipsis\",\n \"theme\": \"outlined\"\n};\nexports.default = EllipsisOutlined;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _CheckOutlined = _interopRequireDefault(require('./lib/icons/CheckOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _CheckOutlined;\nexports.default = _default;\nmodule.exports = _default;","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar PlusOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"defs\",\n \"attrs\": {},\n \"children\": [{\n \"tag\": \"style\",\n \"attrs\": {}\n }]\n }, {\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\"\n }\n }, {\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z\"\n }\n }]\n },\n \"name\": \"plus\",\n \"theme\": \"outlined\"\n};\nexports.default = PlusOutlined;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _DownOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/DownOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar DownOutlined = function DownOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _DownOutlined.default\n }));\n};\n\nDownOutlined.displayName = 'DownOutlined';\n\nvar _default = React.forwardRef(DownOutlined);\n\nexports.default = _default;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport debounce from 'lodash/debounce';\nimport { ConfigConsumer } from '../config-provider';\nimport { tuple } from '../_util/type';\nimport { isValidElement, cloneElement } from '../_util/reactNode';\nvar SpinSizes = tuple('small', 'default', 'large'); // Render indicator\n\nvar defaultIndicator = null;\n\nfunction renderIndicator(prefixCls, props) {\n var indicator = props.indicator;\n var dotClassName = \"\".concat(prefixCls, \"-dot\"); // should not be render default indicator when indicator value is null\n\n if (indicator === null) {\n return null;\n }\n\n if (isValidElement(indicator)) {\n return cloneElement(indicator, {\n className: classNames(indicator.props.className, dotClassName)\n });\n }\n\n if (isValidElement(defaultIndicator)) {\n return cloneElement(defaultIndicator, {\n className: classNames(defaultIndicator.props.className, dotClassName)\n });\n }\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(dotClassName, \"\".concat(prefixCls, \"-dot-spin\"))\n }, /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }));\n}\n\nfunction shouldDelay(spinning, delay) {\n return !!spinning && !!delay && !isNaN(Number(delay));\n}\n\nvar Spin = /*#__PURE__*/function (_React$Component) {\n _inherits(Spin, _React$Component);\n\n var _super = _createSuper(Spin);\n\n function Spin(props) {\n var _this;\n\n _classCallCheck(this, Spin);\n\n _this = _super.call(this, props);\n\n _this.debouncifyUpdateSpinning = function (props) {\n var _ref = props || _this.props,\n delay = _ref.delay;\n\n if (delay) {\n _this.cancelExistingSpin();\n\n _this.updateSpinning = debounce(_this.originalUpdateSpinning, delay);\n }\n };\n\n _this.updateSpinning = function () {\n var spinning = _this.props.spinning;\n var currentSpinning = _this.state.spinning;\n\n if (currentSpinning !== spinning) {\n _this.setState({\n spinning: spinning\n });\n }\n };\n\n _this.renderSpin = function (_ref2) {\n var _classNames;\n\n var getPrefixCls = _ref2.getPrefixCls,\n direction = _ref2.direction;\n\n var _a = _this.props,\n customizePrefixCls = _a.prefixCls,\n className = _a.className,\n size = _a.size,\n tip = _a.tip,\n wrapperClassName = _a.wrapperClassName,\n style = _a.style,\n restProps = __rest(_a, [\"prefixCls\", \"className\", \"size\", \"tip\", \"wrapperClassName\", \"style\"]);\n\n var spinning = _this.state.spinning;\n var prefixCls = getPrefixCls('spin', customizePrefixCls);\n var spinClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spinning\"), spinning), _defineProperty(_classNames, \"\".concat(prefixCls, \"-show-text\"), !!tip), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className); // fix https://fb.me/react-unknown-prop\n\n var divProps = omit(restProps, ['spinning', 'delay', 'indicator']);\n var spinElement = /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n style: style,\n className: spinClassName\n }), renderIndicator(prefixCls, _this.props), tip ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-text\")\n }, tip) : null);\n\n if (_this.isNestedPattern()) {\n var containerClassName = classNames(\"\".concat(prefixCls, \"-container\"), _defineProperty({}, \"\".concat(prefixCls, \"-blur\"), spinning));\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n className: classNames(\"\".concat(prefixCls, \"-nested-loading\"), wrapperClassName)\n }), spinning && /*#__PURE__*/React.createElement(\"div\", {\n key: \"loading\"\n }, spinElement), /*#__PURE__*/React.createElement(\"div\", {\n className: containerClassName,\n key: \"container\"\n }, _this.props.children));\n }\n\n return spinElement;\n };\n\n var spinning = props.spinning,\n delay = props.delay;\n var shouldBeDelayed = shouldDelay(spinning, delay);\n _this.state = {\n spinning: spinning && !shouldBeDelayed\n };\n _this.originalUpdateSpinning = _this.updateSpinning;\n\n _this.debouncifyUpdateSpinning(props);\n\n return _this;\n }\n\n _createClass(Spin, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateSpinning();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.debouncifyUpdateSpinning();\n this.updateSpinning();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelExistingSpin();\n }\n }, {\n key: \"cancelExistingSpin\",\n value: function cancelExistingSpin() {\n var updateSpinning = this.updateSpinning;\n\n if (updateSpinning && updateSpinning.cancel) {\n updateSpinning.cancel();\n }\n }\n }, {\n key: \"isNestedPattern\",\n value: function isNestedPattern() {\n return !!(this.props && this.props.children);\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderSpin);\n }\n }], [{\n key: \"setDefaultIndicator\",\n value: function setDefaultIndicator(indicator) {\n defaultIndicator = indicator;\n }\n }]);\n\n return Spin;\n}(React.Component);\n\nSpin.defaultProps = {\n spinning: true,\n size: 'default',\n wrapperClassName: ''\n};\nexport default Spin;","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useEffect, useState } from 'react';\nimport ResponsiveObserve from '../../_util/responsiveObserve';\n\nfunction useBreakpoint() {\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n screens = _useState2[0],\n setScreens = _useState2[1];\n\n useEffect(function () {\n var token = ResponsiveObserve.subscribe(function (supportScreens) {\n setScreens(supportScreens);\n });\n return function () {\n return ResponsiveObserve.unsubscribe(token);\n };\n }, []);\n return screens;\n}\n\nexport default useBreakpoint;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n/* eslint react/prop-types: 0 */\n\nimport React from 'react';\nimport classNames from 'classnames';\n\nvar Pager = function Pager(props) {\n var _classNames;\n\n var prefixCls = \"\".concat(props.rootPrefixCls, \"-item\");\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(props.page), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), props.active), _defineProperty(_classNames, props.className, !!props.className), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), !props.page), _classNames));\n\n var handleClick = function handleClick() {\n props.onClick(props.page);\n };\n\n var handleKeyPress = function handleKeyPress(e) {\n props.onKeyPress(e, props.onClick, props.page);\n };\n\n return /*#__PURE__*/React.createElement(\"li\", {\n title: props.showTitle ? props.page : null,\n className: cls,\n onClick: handleClick,\n onKeyPress: handleKeyPress,\n tabIndex: \"0\"\n }, props.itemRender(props.page, 'page', /*#__PURE__*/React.createElement(\"a\", {\n rel: \"nofollow\"\n }, props.page)));\n};\n\nexport default Pager;","export default {\n ZERO: 48,\n NINE: 57,\n NUMPAD_ZERO: 96,\n NUMPAD_NINE: 105,\n BACKSPACE: 8,\n DELETE: 46,\n ENTER: 13,\n ARROW_UP: 38,\n ARROW_DOWN: 40\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\";\n/* eslint react/prop-types: 0 */\n\nimport React from 'react';\nimport KEYCODE from './KeyCode';\n\nvar Options = /*#__PURE__*/function (_React$Component) {\n _inherits(Options, _React$Component);\n\n var _super = _createSuper(Options);\n\n function Options() {\n var _this;\n\n _classCallCheck(this, Options);\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 _this.state = {\n goInputText: ''\n };\n\n _this.buildOptionText = function (value) {\n return \"\".concat(value, \" \").concat(_this.props.locale.items_per_page);\n };\n\n _this.changeSize = function (value) {\n _this.props.changeSize(Number(value));\n };\n\n _this.handleChange = function (e) {\n _this.setState({\n goInputText: e.target.value\n });\n };\n\n _this.handleBlur = function (e) {\n var _this$props = _this.props,\n goButton = _this$props.goButton,\n quickGo = _this$props.quickGo,\n rootPrefixCls = _this$props.rootPrefixCls;\n var goInputText = _this.state.goInputText;\n\n if (goButton || goInputText === '') {\n return;\n }\n\n if (e.relatedTarget && (e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-prev\")) >= 0 || e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-next\")) >= 0)) {\n return;\n }\n\n _this.setState({\n goInputText: ''\n });\n\n quickGo(_this.getValidValue());\n };\n\n _this.go = function (e) {\n var goInputText = _this.state.goInputText;\n\n if (goInputText === '') {\n return;\n }\n\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this.setState({\n goInputText: ''\n });\n\n _this.props.quickGo(_this.getValidValue());\n }\n };\n\n return _this;\n }\n\n _createClass(Options, [{\n key: \"getValidValue\",\n value: function getValidValue() {\n var _this$state = this.state,\n goInputText = _this$state.goInputText,\n current = _this$state.current; // eslint-disable-next-line no-restricted-globals\n\n return !goInputText || isNaN(goInputText) ? current : Number(goInputText);\n }\n }, {\n key: \"getPageSizeOptions\",\n value: function getPageSizeOptions() {\n var _this$props2 = this.props,\n pageSize = _this$props2.pageSize,\n pageSizeOptions = _this$props2.pageSizeOptions;\n\n if (pageSizeOptions.some(function (option) {\n return option.toString() === pageSize.toString();\n })) {\n return pageSizeOptions;\n }\n\n return pageSizeOptions.concat([pageSize.toString()]).sort(function (a, b) {\n // eslint-disable-next-line no-restricted-globals\n var numberA = isNaN(Number(a)) ? 0 : Number(a); // eslint-disable-next-line no-restricted-globals\n\n var numberB = isNaN(Number(b)) ? 0 : Number(b);\n return numberA - numberB;\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props3 = this.props,\n pageSize = _this$props3.pageSize,\n locale = _this$props3.locale,\n rootPrefixCls = _this$props3.rootPrefixCls,\n changeSize = _this$props3.changeSize,\n quickGo = _this$props3.quickGo,\n goButton = _this$props3.goButton,\n selectComponentClass = _this$props3.selectComponentClass,\n buildOptionText = _this$props3.buildOptionText,\n selectPrefixCls = _this$props3.selectPrefixCls,\n disabled = _this$props3.disabled;\n var goInputText = this.state.goInputText;\n var prefixCls = \"\".concat(rootPrefixCls, \"-options\");\n var Select = selectComponentClass;\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n\n if (!changeSize && !quickGo) {\n return null;\n }\n\n var pageSizeOptions = this.getPageSizeOptions();\n\n if (changeSize && Select) {\n var options = pageSizeOptions.map(function (opt, i) {\n return /*#__PURE__*/React.createElement(Select.Option, {\n key: i,\n value: opt.toString()\n }, (buildOptionText || _this2.buildOptionText)(opt));\n });\n changeSelect = /*#__PURE__*/React.createElement(Select, {\n disabled: disabled,\n prefixCls: selectPrefixCls,\n showSearch: false,\n className: \"\".concat(prefixCls, \"-size-changer\"),\n optionLabelProp: \"children\",\n dropdownMatchSelectWidth: false,\n value: (pageSize || pageSizeOptions[0]).toString(),\n onChange: this.changeSize,\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n }\n }, options);\n }\n\n if (quickGo) {\n if (goButton) {\n gotoButton = typeof goButton === 'boolean' ? /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: this.go,\n onKeyUp: this.go,\n disabled: disabled,\n className: \"\".concat(prefixCls, \"-quick-jumper-button\")\n }, locale.jump_to_confirm) : /*#__PURE__*/React.createElement(\"span\", {\n onClick: this.go,\n onKeyUp: this.go\n }, goButton);\n }\n\n goInput = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-quick-jumper\")\n }, locale.jump_to, /*#__PURE__*/React.createElement(\"input\", {\n disabled: disabled,\n type: \"text\",\n value: goInputText,\n onChange: this.handleChange,\n onKeyUp: this.go,\n onBlur: this.handleBlur\n }), locale.page, gotoButton);\n }\n\n return /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls)\n }, changeSelect, goInput);\n }\n }]);\n\n return Options;\n}(React.Component);\n\nOptions.defaultProps = {\n pageSizeOptions: ['10', '20', '50', '100']\n};\nexport default Options;","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 _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\";\n/* eslint react/prop-types: 0 */\n\nimport React, { cloneElement, isValidElement } from 'react';\nimport classNames from 'classnames';\nimport Pager from './Pager';\nimport Options from './Options';\nimport KEYCODE from './KeyCode';\nimport LOCALE from './locale/zh_CN';\n\nfunction noop() {}\n\nfunction isInteger(value) {\n return (// eslint-disable-next-line no-restricted-globals\n typeof value === 'number' && isFinite(value) && Math.floor(value) === value\n );\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nfunction calculatePage(p, state, props) {\n var pageSize = typeof p === 'undefined' ? state.pageSize : p;\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nvar Pagination = /*#__PURE__*/function (_React$Component) {\n _inherits(Pagination, _React$Component);\n\n var _super = _createSuper(Pagination);\n\n function Pagination(props) {\n var _this;\n\n _classCallCheck(this, Pagination);\n\n _this = _super.call(this, props);\n\n _this.getJumpPrevPage = function () {\n return Math.max(1, _this.state.current - (_this.props.showLessItems ? 3 : 5));\n };\n\n _this.getJumpNextPage = function () {\n return Math.min(calculatePage(undefined, _this.state, _this.props), _this.state.current + (_this.props.showLessItems ? 3 : 5));\n };\n\n _this.getItemIcon = function (icon, label) {\n var prefixCls = _this.props.prefixCls;\n var iconNode = icon || /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": label,\n className: \"\".concat(prefixCls, \"-item-link\")\n });\n\n if (typeof icon === 'function') {\n iconNode = React.createElement(icon, _objectSpread({}, _this.props));\n }\n\n return iconNode;\n };\n\n _this.savePaginationNode = function (node) {\n _this.paginationNode = node;\n };\n\n _this.isValid = function (page) {\n return isInteger(page) && page !== _this.state.current;\n };\n\n _this.shouldDisplayQuickJumper = function () {\n var _this$props = _this.props,\n showQuickJumper = _this$props.showQuickJumper,\n pageSize = _this$props.pageSize,\n total = _this$props.total;\n\n if (total <= pageSize) {\n return false;\n }\n\n return showQuickJumper;\n };\n\n _this.handleKeyDown = function (e) {\n if (e.keyCode === KEYCODE.ARROW_UP || e.keyCode === KEYCODE.ARROW_DOWN) {\n e.preventDefault();\n }\n };\n\n _this.handleKeyUp = function (e) {\n var value = _this.getValidValue(e);\n\n var currentInputValue = _this.state.currentInputValue;\n\n if (value !== currentInputValue) {\n _this.setState({\n currentInputValue: value\n });\n }\n\n if (e.keyCode === KEYCODE.ENTER) {\n _this.handleChange(value);\n } else if (e.keyCode === KEYCODE.ARROW_UP) {\n _this.handleChange(value - 1);\n } else if (e.keyCode === KEYCODE.ARROW_DOWN) {\n _this.handleChange(value + 1);\n }\n };\n\n _this.changePageSize = function (size) {\n var current = _this.state.current;\n var newCurrent = calculatePage(size, _this.state, _this.props);\n current = current > newCurrent ? newCurrent : current; // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n\n if (newCurrent === 0) {\n // eslint-disable-next-line prefer-destructuring\n current = _this.state.current;\n }\n\n if (typeof size === 'number') {\n if (!('pageSize' in _this.props)) {\n _this.setState({\n pageSize: size\n });\n }\n\n if (!('current' in _this.props)) {\n _this.setState({\n current: current,\n currentInputValue: current\n });\n }\n }\n\n _this.props.onShowSizeChange(current, size);\n\n if ('onChange' in _this.props && _this.props.onChange) {\n _this.props.onChange(current, size);\n }\n };\n\n _this.handleChange = function (p) {\n var disabled = _this.props.disabled;\n var page = p;\n\n if (_this.isValid(page) && !disabled) {\n var currentPage = calculatePage(undefined, _this.state, _this.props);\n\n if (page > currentPage) {\n page = currentPage;\n } else if (page < 1) {\n page = 1;\n }\n\n if (!('current' in _this.props)) {\n _this.setState({\n current: page,\n currentInputValue: page\n });\n }\n\n var pageSize = _this.state.pageSize;\n\n _this.props.onChange(page, pageSize);\n\n return page;\n }\n\n return _this.state.current;\n };\n\n _this.prev = function () {\n if (_this.hasPrev()) {\n _this.handleChange(_this.state.current - 1);\n }\n };\n\n _this.next = function () {\n if (_this.hasNext()) {\n _this.handleChange(_this.state.current + 1);\n }\n };\n\n _this.jumpPrev = function () {\n _this.handleChange(_this.getJumpPrevPage());\n };\n\n _this.jumpNext = function () {\n _this.handleChange(_this.getJumpNextPage());\n };\n\n _this.hasPrev = function () {\n return _this.state.current > 1;\n };\n\n _this.hasNext = function () {\n return _this.state.current < calculatePage(undefined, _this.state, _this.props);\n };\n\n _this.runIfEnter = function (event, callback) {\n if (event.key === 'Enter' || event.charCode === 13) {\n for (var _len = arguments.length, restParams = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n\n callback.apply(void 0, restParams);\n }\n };\n\n _this.runIfEnterPrev = function (e) {\n _this.runIfEnter(e, _this.prev);\n };\n\n _this.runIfEnterNext = function (e) {\n _this.runIfEnter(e, _this.next);\n };\n\n _this.runIfEnterJumpPrev = function (e) {\n _this.runIfEnter(e, _this.jumpPrev);\n };\n\n _this.runIfEnterJumpNext = function (e) {\n _this.runIfEnter(e, _this.jumpNext);\n };\n\n _this.handleGoTO = function (e) {\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this.handleChange(_this.state.currentInputValue);\n }\n };\n\n var hasOnChange = props.onChange !== noop;\n var hasCurrent = ('current' in props);\n\n if (hasCurrent && !hasOnChange) {\n // eslint-disable-next-line no-console\n console.warn('Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.');\n }\n\n var _current = props.defaultCurrent;\n\n if ('current' in props) {\n // eslint-disable-next-line prefer-destructuring\n _current = props.current;\n }\n\n var _pageSize = props.defaultPageSize;\n\n if ('pageSize' in props) {\n // eslint-disable-next-line prefer-destructuring\n _pageSize = props.pageSize;\n }\n\n _current = Math.min(_current, calculatePage(_pageSize, undefined, props));\n _this.state = {\n current: _current,\n currentInputValue: _current,\n pageSize: _pageSize\n };\n return _this;\n }\n\n _createClass(Pagination, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n var prefixCls = this.props.prefixCls;\n\n if (prevState.current !== this.state.current && this.paginationNode) {\n var lastCurrentNode = this.paginationNode.querySelector(\".\".concat(prefixCls, \"-item-\").concat(prevState.current));\n\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n }\n }, {\n key: \"getValidValue\",\n value: function getValidValue(e) {\n var inputValue = e.target.value;\n var allPages = calculatePage(undefined, this.state, this.props);\n var currentInputValue = this.state.currentInputValue;\n var value;\n\n if (inputValue === '') {\n value = inputValue; // eslint-disable-next-line no-restricted-globals\n } else if (isNaN(Number(inputValue))) {\n value = currentInputValue;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n\n return value;\n }\n }, {\n key: \"getShowSizeChanger\",\n value: function getShowSizeChanger() {\n var _this$props2 = this.props,\n showSizeChanger = _this$props2.showSizeChanger,\n total = _this$props2.total,\n totalBoundaryShowSizeChanger = _this$props2.totalBoundaryShowSizeChanger;\n\n if (typeof showSizeChanger !== 'undefined') {\n return showSizeChanger;\n }\n\n return total > totalBoundaryShowSizeChanger;\n }\n }, {\n key: \"renderPrev\",\n value: function renderPrev(prevPage) {\n var _this$props3 = this.props,\n prevIcon = _this$props3.prevIcon,\n itemRender = _this$props3.itemRender;\n var prevButton = itemRender(prevPage, 'prev', this.getItemIcon(prevIcon, 'prev page'));\n var disabled = !this.hasPrev();\n return isValidElement(prevButton) ? cloneElement(prevButton, {\n disabled: disabled\n }) : prevButton;\n }\n }, {\n key: \"renderNext\",\n value: function renderNext(nextPage) {\n var _this$props4 = this.props,\n nextIcon = _this$props4.nextIcon,\n itemRender = _this$props4.itemRender;\n var nextButton = itemRender(nextPage, 'next', this.getItemIcon(nextIcon, 'next page'));\n var disabled = !this.hasNext();\n return isValidElement(nextButton) ? cloneElement(nextButton, {\n disabled: disabled\n }) : nextButton;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props5 = this.props,\n prefixCls = _this$props5.prefixCls,\n className = _this$props5.className,\n style = _this$props5.style,\n disabled = _this$props5.disabled,\n hideOnSinglePage = _this$props5.hideOnSinglePage,\n total = _this$props5.total,\n locale = _this$props5.locale,\n showQuickJumper = _this$props5.showQuickJumper,\n showLessItems = _this$props5.showLessItems,\n showTitle = _this$props5.showTitle,\n showTotal = _this$props5.showTotal,\n simple = _this$props5.simple,\n itemRender = _this$props5.itemRender,\n showPrevNextJumpers = _this$props5.showPrevNextJumpers,\n jumpPrevIcon = _this$props5.jumpPrevIcon,\n jumpNextIcon = _this$props5.jumpNextIcon,\n selectComponentClass = _this$props5.selectComponentClass,\n selectPrefixCls = _this$props5.selectPrefixCls,\n pageSizeOptions = _this$props5.pageSizeOptions;\n var _this$state = this.state,\n current = _this$state.current,\n pageSize = _this$state.pageSize,\n currentInputValue = _this$state.currentInputValue; // When hideOnSinglePage is true and there is only 1 page, hide the pager\n\n if (hideOnSinglePage === true && total <= pageSize) {\n return null;\n }\n\n var allPages = calculatePage(undefined, this.state, this.props);\n var pagerList = [];\n var jumpPrev = null;\n var jumpNext = null;\n var firstPager = null;\n var lastPager = null;\n var gotoButton = null;\n var goButton = showQuickJumper && showQuickJumper.goButton;\n var pageBufferSize = showLessItems ? 1 : 2;\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n var dataOrAriaAttributeProps = Object.keys(this.props).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {\n // eslint-disable-next-line no-param-reassign\n prev[key] = _this2.props[key];\n }\n\n return prev;\n }, {});\n\n if (simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n }, locale.jump_to_confirm);\n } else {\n gotoButton = /*#__PURE__*/React.createElement(\"span\", {\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n }, goButton);\n }\n\n gotoButton = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(locale.jump_to).concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, gotoButton);\n }\n\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-simple\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), className),\n style: style,\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps), /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterPrev,\n className: classNames(\"\".concat(prefixCls, \"-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), !this.hasPrev())),\n \"aria-disabled\": !this.hasPrev()\n }, this.renderPrev(prevPage)), /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? \"\".concat(current, \"/\").concat(allPages) : null,\n className: \"\".concat(prefixCls, \"-simple-pager\")\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n value: currentInputValue,\n disabled: disabled,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onChange: this.handleKeyUp,\n size: \"3\"\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-slash\")\n }, \"/\"), allPages), /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterNext,\n className: classNames(\"\".concat(prefixCls, \"-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), !this.hasNext())),\n \"aria-disabled\": !this.hasNext()\n }, this.renderNext(nextPage)), gotoButton);\n }\n\n if (allPages <= 3 + pageBufferSize * 2) {\n var pagerProps = {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n showTitle: showTitle,\n itemRender: itemRender\n };\n\n if (!allPages) {\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: \"noPager\",\n page: allPages,\n className: \"\".concat(prefixCls, \"-disabled\")\n })));\n }\n\n for (var i = 1; i <= allPages; i += 1) {\n var active = current === i;\n pagerList.push( /*#__PURE__*/React.createElement(Pager, _extends({}, pagerProps, {\n key: i,\n page: i,\n active: active\n })));\n }\n } else {\n var prevItemTitle = showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = showLessItems ? locale.next_3 : locale.next_5;\n\n if (showPrevNextJumpers) {\n jumpPrev = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? prevItemTitle : null,\n key: \"prev\",\n onClick: this.jumpPrev,\n tabIndex: \"0\",\n onKeyPress: this.runIfEnterJumpPrev,\n className: classNames(\"\".concat(prefixCls, \"-jump-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-prev-custom-icon\"), !!jumpPrevIcon))\n }, itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon(jumpPrevIcon, 'prev page')));\n jumpNext = /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? nextItemTitle : null,\n key: \"next\",\n tabIndex: \"0\",\n onClick: this.jumpNext,\n onKeyPress: this.runIfEnterJumpNext,\n className: classNames(\"\".concat(prefixCls, \"-jump-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-jump-next-custom-icon\"), !!jumpNextIcon))\n }, itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon(jumpNextIcon, 'next page')));\n }\n\n lastPager = /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n last: true,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: allPages,\n page: allPages,\n active: false,\n showTitle: showTitle,\n itemRender: itemRender\n });\n firstPager = /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: 1,\n page: 1,\n active: false,\n showTitle: showTitle,\n itemRender: itemRender\n });\n var left = Math.max(1, current - pageBufferSize);\n var right = Math.min(current + pageBufferSize, allPages);\n\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (var _i = left; _i <= right; _i += 1) {\n var _active = current === _i;\n\n pagerList.push( /*#__PURE__*/React.createElement(Pager, {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: _i,\n page: _i,\n active: _active,\n showTitle: showTitle,\n itemRender: itemRender\n }));\n }\n\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = cloneElement(pagerList[0], {\n className: \"\".concat(prefixCls, \"-item-after-jump-prev\")\n });\n pagerList.unshift(jumpPrev);\n }\n\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n pagerList[pagerList.length - 1] = cloneElement(pagerList[pagerList.length - 1], {\n className: \"\".concat(prefixCls, \"-item-before-jump-next\")\n });\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n var totalText = null;\n\n if (showTotal) {\n totalText = /*#__PURE__*/React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-total-text\")\n }, showTotal(total, [total === 0 ? 0 : (current - 1) * pageSize + 1, current * pageSize > total ? total : current * pageSize]));\n }\n\n var prevDisabled = !this.hasPrev() || !allPages;\n var nextDisabled = !this.hasNext() || !allPages;\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, className, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled)),\n style: style,\n unselectable: \"unselectable\",\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps), totalText, /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: prevDisabled ? null : 0,\n onKeyPress: this.runIfEnterPrev,\n className: classNames(\"\".concat(prefixCls, \"-prev\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), prevDisabled)),\n \"aria-disabled\": prevDisabled\n }, this.renderPrev(prevPage)), pagerList, /*#__PURE__*/React.createElement(\"li\", {\n title: showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: nextDisabled ? null : 0,\n onKeyPress: this.runIfEnterNext,\n className: classNames(\"\".concat(prefixCls, \"-next\"), _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), nextDisabled)),\n \"aria-disabled\": nextDisabled\n }, this.renderNext(nextPage)), /*#__PURE__*/React.createElement(Options, {\n disabled: disabled,\n locale: locale,\n rootPrefixCls: prefixCls,\n selectComponentClass: selectComponentClass,\n selectPrefixCls: selectPrefixCls,\n changeSize: this.getShowSizeChanger() ? this.changePageSize : null,\n current: current,\n pageSize: pageSize,\n pageSizeOptions: pageSizeOptions,\n quickGo: this.shouldDisplayQuickJumper() ? this.handleChange : null,\n goButton: goButton\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, prevState) {\n var newState = {};\n\n if ('current' in props) {\n newState.current = props.current;\n\n if (props.current !== prevState.current) {\n newState.currentInputValue = newState.current;\n }\n }\n\n if ('pageSize' in props && props.pageSize !== prevState.pageSize) {\n var current = prevState.current;\n var newCurrent = calculatePage(props.pageSize, prevState, props);\n current = current > newCurrent ? newCurrent : current;\n\n if (!('current' in props)) {\n newState.current = current;\n newState.currentInputValue = current;\n }\n\n newState.pageSize = props.pageSize;\n }\n\n return newState;\n }\n }]);\n\n return Pagination;\n}(React.Component);\n\nPagination.defaultProps = {\n defaultCurrent: 1,\n total: 0,\n defaultPageSize: 10,\n onChange: noop,\n className: '',\n selectPrefixCls: 'rc-select',\n prefixCls: 'rc-pagination',\n selectComponentClass: null,\n hideOnSinglePage: false,\n showPrevNextJumpers: true,\n showQuickJumper: false,\n showLessItems: false,\n showTitle: true,\n onShowSizeChange: noop,\n locale: LOCALE,\n style: {},\n itemRender: defaultItemRender,\n totalBoundaryShowSizeChanger: 50\n};\nexport default Pagination;","export default {\n // Options.jsx\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n // Pagination.jsx\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页'\n};","var attributes = \"accept acceptCharset accessKey action allowFullScreen allowTransparency\\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\\n charSet checked classID className colSpan cols content contentEditable contextMenu\\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\\n mediaGroup method min minLength multiple muted name noValidate nonce open\\n optimum pattern placeholder poster preload radioGroup readOnly rel required\\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\\n summary tabIndex target title type useMap value width wmode wrap\";\nvar eventsName = \"onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError\";\nvar propList = \"\".concat(attributes, \" \").concat(eventsName).split(/[\\s\\n]+/);\n/* eslint-enable max-len */\n\nvar ariaPrefix = 'aria-';\nvar dataPrefix = 'data-';\n\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n\nexport default function pickAttrs(props) {\n var ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var attrs = {};\n Object.keys(props).forEach(function (key) {\n if (match(key, ariaPrefix)) {\n attrs[key] = props[key];\n } else if (!ariaOnly && (propList.includes(key) || match(key, dataPrefix))) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(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 _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\nimport * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport classNames from 'classnames';\n/**\n * Fill component to provided the scroll content real height.\n */\n\nvar Filler = React.forwardRef(function (_ref, ref) {\n var height = _ref.height,\n offset = _ref.offset,\n children = _ref.children,\n prefixCls = _ref.prefixCls,\n onInnerResize = _ref.onInnerResize;\n var outerStyle = {};\n var innerStyle = {\n display: 'flex',\n flexDirection: 'column'\n };\n\n if (offset !== undefined) {\n outerStyle = {\n height: height,\n position: 'relative',\n overflow: 'hidden'\n };\n innerStyle = _objectSpread(_objectSpread({}, innerStyle), {}, {\n transform: \"translateY(\".concat(offset, \"px)\"),\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0\n });\n }\n\n return React.createElement(\"div\", {\n style: outerStyle\n }, React.createElement(ResizeObserver, {\n onResize: function onResize(_ref2) {\n var offsetHeight = _ref2.offsetHeight;\n\n if (offsetHeight && onInnerResize) {\n onInnerResize();\n }\n }\n }, React.createElement(\"div\", {\n style: innerStyle,\n className: classNames(_defineProperty({}, \"\".concat(prefixCls, \"-holder-inner\"), prefixCls)),\n ref: ref\n }, children)));\n});\nFiller.displayName = 'Filler';\nexport default Filler;","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\nexport default function wrapperRaf(callback) {\n return raf(callback);\n}\nwrapperRaf.cancel = caf;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(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\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _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\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _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 if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _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}\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 Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport raf from \"rc-util/es/raf\";\nvar MIN_SIZE = 20;\n\nfunction getPageY(e) {\n return 'touches' in e ? e.touches[0].pageY : e.pageY;\n}\n\nvar ScrollBar = /*#__PURE__*/function (_React$Component) {\n _inherits(ScrollBar, _React$Component);\n\n var _super = _createSuper(ScrollBar);\n\n function ScrollBar() {\n var _this;\n\n _classCallCheck(this, ScrollBar);\n\n _this = _super.apply(this, arguments);\n _this.moveRaf = null;\n _this.scrollbarRef = React.createRef();\n _this.thumbRef = React.createRef();\n _this.visibleTimeout = null;\n _this.state = {\n dragging: false,\n pageY: null,\n startTop: null,\n visible: false\n };\n\n _this.delayHidden = function () {\n clearTimeout(_this.visibleTimeout);\n\n _this.setState({\n visible: true\n });\n\n _this.visibleTimeout = setTimeout(function () {\n _this.setState({\n visible: false\n });\n }, 2000);\n };\n\n _this.onScrollbarTouchStart = function (e) {\n e.preventDefault();\n };\n\n _this.onContainerMouseDown = function (e) {\n e.stopPropagation();\n e.preventDefault();\n }; // ======================= Clean =======================\n\n\n _this.patchEvents = function () {\n window.addEventListener('mousemove', _this.onMouseMove);\n window.addEventListener('mouseup', _this.onMouseUp);\n\n _this.thumbRef.current.addEventListener('touchmove', _this.onMouseMove);\n\n _this.thumbRef.current.addEventListener('touchend', _this.onMouseUp);\n };\n\n _this.removeEvents = function () {\n window.removeEventListener('mousemove', _this.onMouseMove);\n window.removeEventListener('mouseup', _this.onMouseUp);\n\n _this.scrollbarRef.current.removeEventListener('touchstart', _this.onScrollbarTouchStart);\n\n _this.thumbRef.current.removeEventListener('touchstart', _this.onMouseDown);\n\n _this.thumbRef.current.removeEventListener('touchmove', _this.onMouseMove);\n\n _this.thumbRef.current.removeEventListener('touchend', _this.onMouseUp);\n\n raf.cancel(_this.moveRaf);\n }; // ======================= Thumb =======================\n\n\n _this.onMouseDown = function (e) {\n var onStartMove = _this.props.onStartMove;\n\n _this.setState({\n dragging: true,\n pageY: getPageY(e),\n startTop: _this.getTop()\n });\n\n onStartMove();\n\n _this.patchEvents();\n\n e.stopPropagation();\n e.preventDefault();\n };\n\n _this.onMouseMove = function (e) {\n var _this$state = _this.state,\n dragging = _this$state.dragging,\n pageY = _this$state.pageY,\n startTop = _this$state.startTop;\n var onScroll = _this.props.onScroll;\n raf.cancel(_this.moveRaf);\n\n if (dragging) {\n var offsetY = getPageY(e) - pageY;\n var newTop = startTop + offsetY;\n\n var enableScrollRange = _this.getEnableScrollRange();\n\n var enableHeightRange = _this.getEnableHeightRange();\n\n var ptg = enableHeightRange ? newTop / enableHeightRange : 0;\n var newScrollTop = Math.ceil(ptg * enableScrollRange);\n _this.moveRaf = raf(function () {\n onScroll(newScrollTop);\n });\n }\n };\n\n _this.onMouseUp = function () {\n var onStopMove = _this.props.onStopMove;\n\n _this.setState({\n dragging: false\n });\n\n onStopMove();\n\n _this.removeEvents();\n }; // ===================== Calculate =====================\n\n\n _this.getSpinHeight = function () {\n var _this$props = _this.props,\n height = _this$props.height,\n count = _this$props.count;\n var baseHeight = height / count * 10;\n baseHeight = Math.max(baseHeight, MIN_SIZE);\n baseHeight = Math.min(baseHeight, height / 2);\n return Math.floor(baseHeight);\n };\n\n _this.getEnableScrollRange = function () {\n var _this$props2 = _this.props,\n scrollHeight = _this$props2.scrollHeight,\n height = _this$props2.height;\n return scrollHeight - height || 0;\n };\n\n _this.getEnableHeightRange = function () {\n var height = _this.props.height;\n\n var spinHeight = _this.getSpinHeight();\n\n return height - spinHeight || 0;\n };\n\n _this.getTop = function () {\n var scrollTop = _this.props.scrollTop;\n\n var enableScrollRange = _this.getEnableScrollRange();\n\n var enableHeightRange = _this.getEnableHeightRange();\n\n if (scrollTop === 0 || enableScrollRange === 0) {\n return 0;\n }\n\n var ptg = scrollTop / enableScrollRange;\n return ptg * enableHeightRange;\n }; // Not show scrollbar when height is large thane scrollHeight\n\n\n _this.getVisible = function () {\n var visible = _this.state.visible;\n var _this$props3 = _this.props,\n height = _this$props3.height,\n scrollHeight = _this$props3.scrollHeight;\n\n if (height >= scrollHeight) {\n return false;\n }\n\n return visible;\n };\n\n return _this;\n }\n\n _createClass(ScrollBar, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.scrollbarRef.current.addEventListener('touchstart', this.onScrollbarTouchStart);\n this.thumbRef.current.addEventListener('touchstart', this.onMouseDown);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.scrollTop !== this.props.scrollTop) {\n this.delayHidden();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.removeEvents();\n clearTimeout(this.visibleTimeout);\n } // ====================== Render =======================\n\n }, {\n key: \"render\",\n value: function render() {\n var dragging = this.state.dragging;\n var prefixCls = this.props.prefixCls;\n var spinHeight = this.getSpinHeight();\n var top = this.getTop();\n var visible = this.getVisible();\n return React.createElement(\"div\", {\n ref: this.scrollbarRef,\n className: \"\".concat(prefixCls, \"-scrollbar\"),\n style: {\n width: 8,\n top: 0,\n bottom: 0,\n right: 0,\n position: 'absolute',\n display: visible ? null : 'none'\n },\n onMouseDown: this.onContainerMouseDown,\n onMouseMove: this.delayHidden\n }, React.createElement(\"div\", {\n ref: this.thumbRef,\n className: classNames(\"\".concat(prefixCls, \"-scrollbar-thumb\"), _defineProperty({}, \"\".concat(prefixCls, \"-scrollbar-thumb-moving\"), dragging)),\n style: {\n width: '100%',\n height: spinHeight,\n top: top,\n left: 0,\n position: 'absolute',\n background: 'rgba(0, 0, 0, 0.5)',\n borderRadius: 99,\n cursor: 'pointer',\n userSelect: 'none'\n },\n onMouseDown: this.onMouseDown\n }));\n }\n }]);\n\n return ScrollBar;\n}(React.Component);\n\nexport { ScrollBar as default };","import * as React from 'react';\nexport function Item(_ref) {\n var children = _ref.children,\n setRef = _ref.setRef;\n var refFunc = React.useCallback(function (node) {\n setRef(node);\n }, []);\n return React.cloneElement(children, {\n ref: refFunc\n });\n}","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _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\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n} // Firefox has low performance of map.\n\n\nvar CacheMap = /*#__PURE__*/function () {\n function CacheMap() {\n _classCallCheck(this, CacheMap);\n\n this.maps = {};\n this.maps.prototype = null;\n }\n\n _createClass(CacheMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.maps[key] = value;\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.maps[key];\n }\n }]);\n\n return CacheMap;\n}();\n\nexport default CacheMap;","function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _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}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_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}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport CacheMap from '../utils/CacheMap';\nexport default function useHeights(getKey, onItemAdd, onItemRemove) {\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n updatedMark = _React$useState2[0],\n setUpdatedMark = _React$useState2[1];\n\n var instanceRef = useRef(new Map());\n var heightsRef = useRef(new CacheMap());\n var heightUpdateIdRef = useRef(0);\n\n function collectHeight() {\n heightUpdateIdRef.current += 1;\n var currentId = heightUpdateIdRef.current;\n Promise.resolve().then(function () {\n // Only collect when it's latest call\n if (currentId !== heightUpdateIdRef.current) return;\n instanceRef.current.forEach(function (element, key) {\n if (element && element.offsetParent) {\n var htmlElement = findDOMNode(element);\n var offsetHeight = htmlElement.offsetHeight;\n\n if (heightsRef.current.get(key) !== offsetHeight) {\n heightsRef.current.set(key, htmlElement.offsetHeight);\n }\n }\n }); // Always trigger update mark to tell parent that should re-calculate heights when resized\n\n setUpdatedMark(function (c) {\n return c + 1;\n });\n });\n }\n\n function setInstanceRef(item, instance) {\n var key = getKey(item);\n var origin = instanceRef.current.get(key);\n\n if (instance) {\n instanceRef.current.set(key, instance);\n collectHeight();\n } else {\n instanceRef.current.delete(key);\n } // Instance changed\n\n\n if (!origin !== !instance) {\n if (instance) {\n onItemAdd === null || onItemAdd === void 0 ? void 0 : onItemAdd(item);\n } else {\n onItemRemove === null || onItemRemove === void 0 ? void 0 : onItemRemove(item);\n }\n }\n }\n\n return [setInstanceRef, collectHeight, heightsRef.current, updatedMark];\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}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(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/* eslint-disable no-param-reassign */\n\n\nimport * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHeight, syncScrollTop, triggerFlash) {\n var scrollRef = React.useRef();\n return function (arg) {\n // When not argument provided, we think dev may want to show the scrollbar\n if (arg === null || arg === undefined) {\n triggerFlash();\n return;\n } // Normal scroll logic\n\n\n raf.cancel(scrollRef.current);\n\n if (typeof arg === 'number') {\n syncScrollTop(arg);\n } else if (arg && _typeof(arg) === 'object') {\n var index;\n var align = arg.align;\n\n if ('index' in arg) {\n index = arg.index;\n } else {\n index = data.findIndex(function (item) {\n return getKey(item) === arg.key;\n });\n }\n\n var _arg$offset = arg.offset,\n offset = _arg$offset === void 0 ? 0 : _arg$offset; // We will retry 3 times in case dynamic height shaking\n\n var syncScroll = function syncScroll(times, targetAlign) {\n if (times < 0 || !containerRef.current) return;\n var height = containerRef.current.clientHeight;\n var needCollectHeight = false;\n var newTargetAlign = targetAlign; // Go to next frame if height not exist\n\n if (height) {\n var mergedAlign = targetAlign || align; // Get top & bottom\n\n var stackTop = 0;\n var itemTop = 0;\n var itemBottom = 0;\n\n for (var i = 0; i <= index; i += 1) {\n var key = getKey(data[i]);\n itemTop = stackTop;\n var cacheHeight = heights.get(key);\n itemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n stackTop = itemBottom;\n\n if (i === index && cacheHeight === undefined) {\n needCollectHeight = true;\n }\n } // Scroll to\n\n\n var targetTop = null;\n\n switch (mergedAlign) {\n case 'top':\n targetTop = itemTop - offset;\n break;\n\n case 'bottom':\n targetTop = itemBottom - height + offset;\n break;\n\n default:\n {\n var scrollTop = containerRef.current.scrollTop;\n var scrollBottom = scrollTop + height;\n\n if (itemTop < scrollTop) {\n newTargetAlign = 'top';\n } else if (itemBottom > scrollBottom) {\n newTargetAlign = 'bottom';\n }\n }\n }\n\n if (targetTop !== null && targetTop !== containerRef.current.scrollTop) {\n syncScrollTop(targetTop);\n }\n } // We will retry since element may not sync height as it described\n\n\n scrollRef.current = raf(function () {\n if (needCollectHeight) {\n collectHeight();\n }\n\n syncScroll(times - 1, newTargetAlign);\n });\n };\n\n syncScroll(3);\n }\n };\n}","function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _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}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_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}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nimport * as React from 'react';\nimport { findListDiffIndex } from '../utils/algorithmUtil';\nexport default function useDiffItem(data, getKey, onDiff) {\n var _React$useState = React.useState(data),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prevData = _React$useState2[0],\n setPrevData = _React$useState2[1];\n\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n diffItem = _React$useState4[0],\n setDiffItem = _React$useState4[1];\n\n React.useEffect(function () {\n var diff = findListDiffIndex(prevData || [], data || [], getKey);\n\n if ((diff === null || diff === void 0 ? void 0 : diff.index) !== undefined) {\n onDiff === null || onDiff === void 0 ? void 0 : onDiff(diff.index);\n setDiffItem(data[diff.index]);\n }\n\n setPrevData(data);\n }, [data]);\n return [diffItem];\n}","/**\n * Get index with specific start index one by one. e.g.\n * min: 3, max: 9, start: 6\n *\n * Return index is:\n * [0]: 6\n * [1]: 7\n * [2]: 5\n * [3]: 8\n * [4]: 4\n * [5]: 9\n * [6]: 3\n */\nexport function getIndexByStartLoc(min, max, start, index) {\n var beforeCount = start - min;\n var afterCount = max - start;\n var balanceCount = Math.min(beforeCount, afterCount) * 2; // Balance\n\n if (index <= balanceCount) {\n var stepIndex = Math.floor(index / 2);\n\n if (index % 2) {\n return start + stepIndex + 1;\n }\n\n return start - stepIndex;\n } // One is out of range\n\n\n if (beforeCount > afterCount) {\n return start - (index - afterCount);\n }\n\n return start + (index - beforeCount);\n}\n/**\n * We assume that 2 list has only 1 item diff and others keeping the order.\n * So we can use dichotomy algorithm to find changed one.\n */\n\nexport function findListDiffIndex(originList, targetList, getKey) {\n var originLen = originList.length;\n var targetLen = targetList.length;\n var shortList;\n var longList;\n\n if (originLen === 0 && targetLen === 0) {\n return null;\n }\n\n if (originLen < targetLen) {\n shortList = originList;\n longList = targetList;\n } else {\n shortList = targetList;\n longList = originList;\n }\n\n var notExistKey = {\n __EMPTY_ITEM__: true\n };\n\n function getItemKey(item) {\n if (item !== undefined) {\n return getKey(item);\n }\n\n return notExistKey;\n } // Loop to find diff one\n\n\n var diffIndex = null;\n var multiple = Math.abs(originLen - targetLen) !== 1;\n\n for (var i = 0; i < longList.length; i += 1) {\n var shortKey = getItemKey(shortList[i]);\n var longKey = getItemKey(longList[i]);\n\n if (shortKey !== longKey) {\n diffIndex = i;\n multiple = multiple || shortKey !== getItemKey(longList[i + 1]);\n break;\n }\n }\n\n return diffIndex === null ? null : {\n index: diffIndex,\n multiple: multiple\n };\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(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\nvar isFF = (typeof navigator === \"undefined\" ? \"undefined\" : _typeof(navigator)) === 'object' && /Firefox/i.test(navigator.userAgent);\nexport default isFF;","import { useRef } from 'react';\nexport default (function (isScrollAtTop, isScrollAtBottom) {\n // Do lock for a wheel when scrolling\n var lockRef = useRef(false);\n var lockTimeoutRef = useRef(null);\n\n function lockScroll() {\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = true;\n lockTimeoutRef.current = setTimeout(function () {\n lockRef.current = false;\n }, 50);\n } // Pass to ref since global add is in closure\n\n\n var scrollPingRef = useRef({\n top: isScrollAtTop,\n bottom: isScrollAtBottom\n });\n scrollPingRef.current.top = isScrollAtTop;\n scrollPingRef.current.bottom = isScrollAtBottom;\n return function (deltaY) {\n var smoothOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var originScroll = // Pass origin wheel when on the top\n deltaY < 0 && scrollPingRef.current.top || // Pass origin wheel when on the bottom\n deltaY > 0 && scrollPingRef.current.bottom;\n\n if (smoothOffset && originScroll) {\n // No need lock anymore when it's smooth offset from touchMove interval\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = false;\n } else if (!originScroll || lockRef.current) {\n lockScroll();\n }\n\n return !lockRef.current && originScroll;\n };\n});","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(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 _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\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _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}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_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}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\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}\n\nfunction _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}\n\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport Filler from './Filler';\nimport ScrollBar from './ScrollBar';\nimport useChildren from './hooks/useChildren';\nimport useHeights from './hooks/useHeights';\nimport useScrollTo from './hooks/useScrollTo';\nimport useDiffItem from './hooks/useDiffItem';\nimport useFrameWheel from './hooks/useFrameWheel';\nimport useMobileTouchMove from './hooks/useMobileTouchMove';\nimport useOriginScroll from './hooks/useOriginScroll';\nvar EMPTY_DATA = [];\nvar ScrollStyle = {\n overflowY: 'auto',\n overflowAnchor: 'none'\n};\nexport function RawList(props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-virtual-list' : _props$prefixCls,\n className = props.className,\n height = props.height,\n itemHeight = props.itemHeight,\n _props$fullHeight = props.fullHeight,\n fullHeight = _props$fullHeight === void 0 ? true : _props$fullHeight,\n style = props.style,\n data = props.data,\n children = props.children,\n itemKey = props.itemKey,\n virtual = props.virtual,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n onScroll = props.onScroll,\n restProps = _objectWithoutProperties(props, [\"prefixCls\", \"className\", \"height\", \"itemHeight\", \"fullHeight\", \"style\", \"data\", \"children\", \"itemKey\", \"virtual\", \"component\", \"onScroll\"]); // ================================= MISC =================================\n\n\n var useVirtual = !!(virtual !== false && height && itemHeight);\n var inVirtual = useVirtual && data && itemHeight * data.length > height;\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n scrollTop = _useState2[0],\n setScrollTop = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n scrollMoving = _useState4[0],\n setScrollMoving = _useState4[1];\n\n var mergedClassName = classNames(prefixCls, className);\n var mergedData = data || EMPTY_DATA;\n var componentRef = useRef();\n var fillerInnerRef = useRef();\n var scrollBarRef = useRef(); // Hack on scrollbar to enable flash call\n // =============================== Item Key ===============================\n\n var getKey = React.useCallback(function (item) {\n if (typeof itemKey === 'function') {\n return itemKey(item);\n }\n\n return item[itemKey];\n }, [itemKey]);\n var sharedConfig = {\n getKey: getKey\n }; // ================================ Scroll ================================\n\n function syncScrollTop(newTop) {\n setScrollTop(function (origin) {\n var value;\n\n if (typeof newTop === 'function') {\n value = newTop(origin);\n } else {\n value = newTop;\n }\n\n var alignedTop = keepInRange(value);\n componentRef.current.scrollTop = alignedTop;\n return alignedTop;\n });\n } // ================================ Legacy ================================\n // Put ref here since the range is generate by follow\n\n\n var rangeRef = useRef({\n start: 0,\n end: mergedData.length\n });\n var diffItemRef = useRef();\n\n var _useDiffItem = useDiffItem(mergedData, getKey),\n _useDiffItem2 = _slicedToArray(_useDiffItem, 1),\n diffItem = _useDiffItem2[0];\n\n diffItemRef.current = diffItem; // ================================ Height ================================\n\n var _useHeights = useHeights(getKey, null, null),\n _useHeights2 = _slicedToArray(_useHeights, 4),\n setInstanceRef = _useHeights2[0],\n collectHeight = _useHeights2[1],\n heights = _useHeights2[2],\n heightUpdatedMark = _useHeights2[3]; // ========================== Visible Calculation =========================\n\n\n var _React$useMemo = React.useMemo(function () {\n if (!useVirtual) {\n return {\n scrollHeight: undefined,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n } // Always use virtual scroll bar in avoid shaking\n\n\n if (!inVirtual) {\n var _fillerInnerRef$curre;\n\n return {\n scrollHeight: ((_fillerInnerRef$curre = fillerInnerRef.current) === null || _fillerInnerRef$curre === void 0 ? void 0 : _fillerInnerRef$curre.offsetHeight) || 0,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n\n var itemTop = 0;\n var startIndex;\n var startOffset;\n var endIndex;\n var dataLen = mergedData.length;\n\n for (var i = 0; i < dataLen; i += 1) {\n var item = mergedData[i];\n var key = getKey(item);\n var cacheHeight = heights.get(key);\n var currentItemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight); // Check item top in the range\n\n if (currentItemBottom >= scrollTop && startIndex === undefined) {\n startIndex = i;\n startOffset = itemTop;\n } // Check item bottom in the range. We will render additional one item for motion usage\n\n\n if (currentItemBottom > scrollTop + height && endIndex === undefined) {\n endIndex = i;\n }\n\n itemTop = currentItemBottom;\n } // Fallback to normal if not match. This code should never reach\n\n /* istanbul ignore next */\n\n\n if (startIndex === undefined) {\n startIndex = 0;\n startOffset = 0;\n }\n\n if (endIndex === undefined) {\n endIndex = mergedData.length - 1;\n } // Give cache to improve scroll experience\n\n\n endIndex = Math.min(endIndex + 1, mergedData.length);\n return {\n scrollHeight: itemTop,\n start: startIndex,\n end: endIndex,\n offset: startOffset\n };\n }, [inVirtual, useVirtual, scrollTop, mergedData, heightUpdatedMark, height]),\n scrollHeight = _React$useMemo.scrollHeight,\n start = _React$useMemo.start,\n end = _React$useMemo.end,\n offset = _React$useMemo.offset;\n\n rangeRef.current.start = start;\n rangeRef.current.end = end; // =============================== In Range ===============================\n\n var maxScrollHeight = scrollHeight - height;\n var maxScrollHeightRef = useRef(maxScrollHeight);\n maxScrollHeightRef.current = maxScrollHeight;\n\n function keepInRange(newScrollTop) {\n var newTop = Math.max(newScrollTop, 0);\n\n if (!Number.isNaN(maxScrollHeightRef.current)) {\n newTop = Math.min(newTop, maxScrollHeightRef.current);\n }\n\n return newTop;\n }\n\n var isScrollAtTop = scrollTop <= 0;\n var isScrollAtBottom = scrollTop >= maxScrollHeight;\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom); // ================================ Scroll ================================\n\n function onScrollBar(newScrollTop) {\n var newTop = newScrollTop;\n syncScrollTop(newTop);\n } // This code may only trigger in test case.\n // But we still need a sync if some special escape\n\n\n function onFallbackScroll(e) {\n var newScrollTop = e.currentTarget.scrollTop;\n\n if (newScrollTop !== scrollTop) {\n syncScrollTop(newScrollTop);\n } // Trigger origin onScroll\n\n\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n } // Since this added in global,should use ref to keep update\n\n\n var _useFrameWheel = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, function (offsetY) {\n syncScrollTop(function (top) {\n var newTop = top + offsetY;\n return newTop;\n });\n }),\n _useFrameWheel2 = _slicedToArray(_useFrameWheel, 2),\n onRawWheel = _useFrameWheel2[0],\n onFireFoxScroll = _useFrameWheel2[1]; // Mobile touch move\n\n\n useMobileTouchMove(useVirtual, componentRef, function (deltaY, smoothOffset) {\n if (originScroll(deltaY, smoothOffset)) {\n return false;\n }\n\n onRawWheel({\n preventDefault: function preventDefault() {},\n deltaY: deltaY\n });\n return true;\n });\n React.useLayoutEffect(function () {\n // Firefox only\n function onMozMousePixelScroll(e) {\n if (useVirtual) {\n e.preventDefault();\n }\n }\n\n componentRef.current.addEventListener('wheel', onRawWheel);\n componentRef.current.addEventListener('DOMMouseScroll', onFireFoxScroll);\n componentRef.current.addEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n return function () {\n componentRef.current.removeEventListener('wheel', onRawWheel);\n componentRef.current.removeEventListener('DOMMouseScroll', onFireFoxScroll);\n componentRef.current.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n };\n }, [useVirtual]); // ================================= Ref ==================================\n\n var scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, collectHeight, syncScrollTop, function () {\n var _scrollBarRef$current;\n\n (_scrollBarRef$current = scrollBarRef.current) === null || _scrollBarRef$current === void 0 ? void 0 : _scrollBarRef$current.delayHidden();\n });\n React.useImperativeHandle(ref, function () {\n return {\n scrollTo: scrollTo\n };\n }); // ================================ Render ================================\n\n var listChildren = useChildren(mergedData, start, end, setInstanceRef, children, sharedConfig);\n var componentStyle = null;\n\n if (height) {\n componentStyle = _objectSpread(_defineProperty({}, fullHeight ? 'height' : 'maxHeight', height), ScrollStyle);\n\n if (useVirtual) {\n componentStyle.overflowY = 'hidden';\n\n if (scrollMoving) {\n componentStyle.pointerEvents = 'none';\n }\n }\n }\n\n return React.createElement(\"div\", Object.assign({\n style: _objectSpread(_objectSpread({}, style), {}, {\n position: 'relative'\n }),\n className: mergedClassName\n }, restProps), React.createElement(Component, {\n className: \"\".concat(prefixCls, \"-holder\"),\n style: componentStyle,\n ref: componentRef,\n onScroll: onFallbackScroll\n }, React.createElement(Filler, {\n prefixCls: prefixCls,\n height: scrollHeight,\n offset: offset,\n onInnerResize: collectHeight,\n ref: fillerInnerRef\n }, listChildren)), useVirtual && React.createElement(ScrollBar, {\n ref: scrollBarRef,\n prefixCls: prefixCls,\n scrollTop: scrollTop,\n height: height,\n scrollHeight: scrollHeight,\n count: mergedData.length,\n onScroll: onScrollBar,\n onStartMove: function onStartMove() {\n setScrollMoving(true);\n },\n onStopMove: function onStopMove() {\n setScrollMoving(false);\n }\n }));\n}\nvar List = React.forwardRef(RawList);\nList.displayName = 'List';\nexport default List;","import { useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nimport isFF from '../utils/isFirefox';\nimport useOriginScroll from './useOriginScroll';\nexport default function useFrameWheel(inVirtual, isScrollAtTop, isScrollAtBottom, onWheelDelta) {\n var offsetRef = useRef(0);\n var nextFrameRef = useRef(null); // Firefox patch\n\n var wheelValueRef = useRef(null);\n var isMouseScrollRef = useRef(false); // Scroll status sync\n\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom);\n\n function onWheel(event) {\n if (!inVirtual) return;\n raf.cancel(nextFrameRef.current);\n var deltaY = event.deltaY;\n offsetRef.current += deltaY;\n wheelValueRef.current = deltaY; // Do nothing when scroll at the edge, Skip check when is in scroll\n\n if (originScroll(deltaY)) return; // Proxy of scroll events\n\n if (!isFF) {\n event.preventDefault();\n }\n\n nextFrameRef.current = raf(function () {\n // Patch a multiple for Firefox to fix wheel number too small\n // ref: https://github.com/ant-design/ant-design/issues/26372#issuecomment-679460266\n var patchMultiple = isMouseScrollRef.current ? 10 : 1;\n onWheelDelta(offsetRef.current * patchMultiple);\n offsetRef.current = 0;\n });\n } // A patch for firefox\n\n\n function onFireFoxScroll(event) {\n if (!inVirtual) return;\n isMouseScrollRef.current = event.detail === wheelValueRef.current;\n }\n\n return [onWheel, onFireFoxScroll];\n}","import * as React from 'react';\nimport { useRef } from 'react';\nvar SMOOTH_PTG = 14 / 15;\nexport default function useMobileTouchMove(inVirtual, listRef, callback) {\n var touchedRef = useRef(false);\n var touchYRef = useRef(0);\n var elementRef = useRef(null); // Smooth scroll\n\n var intervalRef = useRef(null);\n var cleanUpEvents;\n\n var onTouchMove = function onTouchMove(e) {\n if (touchedRef.current) {\n var currentY = Math.ceil(e.touches[0].pageY);\n var offsetY = touchYRef.current - currentY;\n touchYRef.current = currentY;\n\n if (callback(offsetY)) {\n e.preventDefault();\n } // Smooth interval\n\n\n clearInterval(intervalRef.current);\n intervalRef.current = setInterval(function () {\n offsetY *= SMOOTH_PTG;\n\n if (!callback(offsetY, true) || Math.abs(offsetY) <= 0.1) {\n clearInterval(intervalRef.current);\n }\n }, 16);\n }\n };\n\n var onTouchEnd = function onTouchEnd() {\n touchedRef.current = false;\n cleanUpEvents();\n };\n\n var onTouchStart = function onTouchStart(e) {\n cleanUpEvents();\n\n if (e.touches.length === 1 && !touchedRef.current) {\n touchedRef.current = true;\n touchYRef.current = Math.ceil(e.touches[0].pageY);\n elementRef.current = e.target;\n elementRef.current.addEventListener('touchmove', onTouchMove);\n elementRef.current.addEventListener('touchend', onTouchEnd);\n }\n };\n\n cleanUpEvents = function cleanUpEvents() {\n if (elementRef.current) {\n elementRef.current.removeEventListener('touchmove', onTouchMove);\n elementRef.current.removeEventListener('touchend', onTouchEnd);\n }\n };\n\n React.useLayoutEffect(function () {\n if (inVirtual) {\n listRef.current.addEventListener('touchstart', onTouchStart);\n }\n\n return function () {\n listRef.current.removeEventListener('touchstart', onTouchStart);\n cleanUpEvents();\n clearInterval(intervalRef.current);\n };\n }, [inVirtual]);\n}","import * as React from 'react';\nimport { Item } from '../Item';\nexport default function useChildren(list, startIndex, endIndex, setNodeRef, renderFunc, _ref) {\n var getKey = _ref.getKey;\n return list.slice(startIndex, endIndex + 1).map(function (item, index) {\n var eleIndex = startIndex + index;\n var node = renderFunc(item, eleIndex, {// style: status === 'MEASURE_START' ? { visibility: 'hidden' } : {},\n });\n var key = getKey(item);\n return React.createElement(Item, {\n key: key,\n setRef: function setRef(ele) {\n return setNodeRef(item, ele);\n }\n }, node);\n });\n}","import List from './List';\nexport default List;","import * as React from 'react';\nimport classNames from 'classnames';\n\nvar TransBtn = function TransBtn(_ref) {\n var className = _ref.className,\n customizeIcon = _ref.customizeIcon,\n customizeIconProps = _ref.customizeIconProps,\n _onMouseDown = _ref.onMouseDown,\n onClick = _ref.onClick,\n children = _ref.children;\n var icon;\n\n if (typeof customizeIcon === 'function') {\n icon = customizeIcon(customizeIconProps);\n } else {\n icon = customizeIcon;\n }\n\n return React.createElement(\"span\", {\n className: className,\n onMouseDown: function onMouseDown(event) {\n event.preventDefault();\n\n if (_onMouseDown) {\n _onMouseDown(event);\n }\n },\n style: {\n userSelect: 'none',\n WebkitUserSelect: 'none'\n },\n unselectable: \"on\",\n onClick: onClick,\n \"aria-hidden\": true\n }, icon !== undefined ? icon : React.createElement(\"span\", {\n className: classNames(className.split(/\\s+/).map(function (cls) {\n return \"\".concat(cls, \"-icon\");\n }))\n }, children));\n};\n\nexport default TransBtn;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport classNames from 'classnames';\nimport List from 'rc-virtual-list';\nimport TransBtn from './TransBtn';\n/**\n * Using virtual list of option display.\n * Will fallback to dom if use customize render.\n */\n\nvar OptionList = function OptionList(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n flattenOptions = _ref.flattenOptions,\n childrenAsData = _ref.childrenAsData,\n values = _ref.values,\n searchValue = _ref.searchValue,\n multiple = _ref.multiple,\n defaultActiveFirstOption = _ref.defaultActiveFirstOption,\n height = _ref.height,\n itemHeight = _ref.itemHeight,\n notFoundContent = _ref.notFoundContent,\n open = _ref.open,\n menuItemSelectedIcon = _ref.menuItemSelectedIcon,\n virtual = _ref.virtual,\n onSelect = _ref.onSelect,\n onToggleOpen = _ref.onToggleOpen,\n onActiveValue = _ref.onActiveValue,\n onScroll = _ref.onScroll,\n onMouseEnter = _ref.onMouseEnter;\n var itemPrefixCls = \"\".concat(prefixCls, \"-item\");\n var memoFlattenOptions = useMemo(function () {\n return flattenOptions;\n }, [open, flattenOptions], function (prev, next) {\n return next[0] && prev[1] !== next[1];\n }); // =========================== List ===========================\n\n var listRef = React.useRef(null);\n\n var onListMouseDown = function onListMouseDown(event) {\n event.preventDefault();\n };\n\n var scrollIntoView = function scrollIntoView(index) {\n if (listRef.current) {\n listRef.current.scrollTo({\n index: index\n });\n }\n }; // ========================== Active ==========================\n\n\n var getEnabledActiveIndex = function getEnabledActiveIndex(index) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var len = memoFlattenOptions.length;\n\n for (var i = 0; i < len; i += 1) {\n var current = (index + i * offset + len) % len;\n var _memoFlattenOptions$c = memoFlattenOptions[current],\n group = _memoFlattenOptions$c.group,\n data = _memoFlattenOptions$c.data;\n\n if (!group && !data.disabled) {\n return current;\n }\n }\n\n return -1;\n };\n\n var _React$useState = React.useState(function () {\n return getEnabledActiveIndex(0);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeIndex = _React$useState2[0],\n setActiveIndex = _React$useState2[1];\n\n var setActive = function setActive(index) {\n var fromKeyboard = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n setActiveIndex(index);\n var info = {\n source: fromKeyboard ? 'keyboard' : 'mouse'\n }; // Trigger active event\n\n var flattenItem = memoFlattenOptions[index];\n\n if (!flattenItem) {\n onActiveValue(null, -1, info);\n return;\n }\n\n onActiveValue(flattenItem.data.value, index, info);\n }; // Auto active first item when list length or searchValue changed\n\n\n React.useEffect(function () {\n setActive(defaultActiveFirstOption !== false ? getEnabledActiveIndex(0) : -1);\n }, [memoFlattenOptions.length, searchValue]); // Auto scroll to item position in single mode\n\n React.useEffect(function () {\n /**\n * React will skip `onChange` when component update.\n * `setActive` function will call root accessibility state update which makes re-render.\n * So we need to delay to let Input component trigger onChange first.\n */\n var timeoutId = setTimeout(function () {\n if (!multiple && open && values.size === 1) {\n var value = Array.from(values)[0];\n var index = memoFlattenOptions.findIndex(function (_ref2) {\n var data = _ref2.data;\n return data.value === value;\n });\n setActive(index);\n scrollIntoView(index);\n }\n }); // Force trigger scrollbar visible when open\n\n if (open) {\n var _listRef$current;\n\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(undefined);\n }\n\n return function () {\n return clearTimeout(timeoutId);\n };\n }, [open]); // ========================== Values ==========================\n\n var onSelectValue = function onSelectValue(value) {\n if (value !== undefined) {\n onSelect(value, {\n selected: !values.has(value)\n });\n } // Single mode should always close by select\n\n\n if (!multiple) {\n onToggleOpen(false);\n }\n }; // ========================= Keyboard =========================\n\n\n React.useImperativeHandle(ref, function () {\n return {\n onKeyDown: function onKeyDown(event) {\n var which = event.which;\n\n switch (which) {\n // >>> Arrow keys\n case KeyCode.UP:\n case KeyCode.DOWN:\n {\n var offset = 0;\n\n if (which === KeyCode.UP) {\n offset = -1;\n } else if (which === KeyCode.DOWN) {\n offset = 1;\n }\n\n if (offset !== 0) {\n var nextActiveIndex = getEnabledActiveIndex(activeIndex + offset, offset);\n scrollIntoView(nextActiveIndex);\n setActive(nextActiveIndex, true);\n }\n\n break;\n }\n // >>> Select\n\n case KeyCode.ENTER:\n {\n // value\n var item = memoFlattenOptions[activeIndex];\n\n if (item && !item.data.disabled) {\n onSelectValue(item.data.value);\n } else {\n onSelectValue(undefined);\n }\n\n if (open) {\n event.preventDefault();\n }\n\n break;\n }\n // >>> Close\n\n case KeyCode.ESC:\n {\n onToggleOpen(false);\n }\n }\n },\n onKeyUp: function onKeyUp() {},\n scrollTo: function scrollTo(index) {\n scrollIntoView(index);\n }\n };\n }); // ========================== Render ==========================\n\n if (memoFlattenOptions.length === 0) {\n return React.createElement(\"div\", {\n role: \"listbox\",\n id: \"\".concat(id, \"_list\"),\n className: \"\".concat(itemPrefixCls, \"-empty\"),\n onMouseDown: onListMouseDown\n }, notFoundContent);\n }\n\n function renderItem(index) {\n var item = memoFlattenOptions[index];\n if (!item) return null;\n var itemData = item.data || {};\n var value = itemData.value,\n label = itemData.label,\n children = itemData.children;\n var attrs = pickAttrs(itemData, true);\n var mergedLabel = childrenAsData ? children : label;\n return item ? React.createElement(\"div\", Object.assign({\n \"aria-label\": typeof mergedLabel === 'string' ? mergedLabel : null\n }, attrs, {\n key: index,\n role: \"option\",\n id: \"\".concat(id, \"_list_\").concat(index),\n \"aria-selected\": values.has(value)\n }), value) : null;\n }\n\n return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n role: \"listbox\",\n id: \"\".concat(id, \"_list\"),\n style: {\n height: 0,\n width: 0,\n overflow: 'hidden'\n }\n }, renderItem(activeIndex - 1), renderItem(activeIndex), renderItem(activeIndex + 1)), React.createElement(List, {\n itemKey: \"key\",\n ref: listRef,\n data: memoFlattenOptions,\n height: height,\n itemHeight: itemHeight,\n fullHeight: false,\n onMouseDown: onListMouseDown,\n onScroll: onScroll,\n virtual: virtual,\n onMouseEnter: onMouseEnter\n }, function (_ref3, itemIndex) {\n var _classNames;\n\n var group = _ref3.group,\n groupOption = _ref3.groupOption,\n data = _ref3.data;\n var label = data.label,\n key = data.key; // Group\n\n if (group) {\n return React.createElement(\"div\", {\n className: classNames(itemPrefixCls, \"\".concat(itemPrefixCls, \"-group\"))\n }, label !== undefined ? label : key);\n }\n\n var disabled = data.disabled,\n value = data.value,\n title = data.title,\n children = data.children,\n style = data.style,\n className = data.className,\n otherProps = _objectWithoutProperties(data, [\"disabled\", \"value\", \"title\", \"children\", \"style\", \"className\"]); // Option\n\n\n var selected = values.has(value);\n var optionPrefixCls = \"\".concat(itemPrefixCls, \"-option\");\n var optionClassName = classNames(itemPrefixCls, optionPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-grouped\"), groupOption), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-active\"), activeIndex === itemIndex && !disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-selected\"), selected), _classNames));\n var mergedLabel = childrenAsData ? children : label;\n var iconVisible = !menuItemSelectedIcon || typeof menuItemSelectedIcon === 'function' || selected;\n var content = mergedLabel || value; // https://github.com/ant-design/ant-design/issues/26717\n\n var optionTitle = typeof content === 'string' || typeof content === 'number' ? content.toString() : undefined;\n\n if (title !== undefined) {\n optionTitle = title;\n }\n\n return React.createElement(\"div\", Object.assign({}, otherProps, {\n \"aria-selected\": selected,\n className: optionClassName,\n title: optionTitle,\n onMouseMove: function onMouseMove() {\n if (activeIndex === itemIndex || disabled) {\n return;\n }\n\n setActive(itemIndex);\n },\n onClick: function onClick() {\n if (!disabled) {\n onSelectValue(value);\n }\n },\n style: style\n }), React.createElement(\"div\", {\n className: \"\".concat(optionPrefixCls, \"-content\")\n }, content), React.isValidElement(menuItemSelectedIcon) || selected, iconVisible && React.createElement(TransBtn, {\n className: \"\".concat(itemPrefixCls, \"-option-state\"),\n customizeIcon: menuItemSelectedIcon,\n customizeIconProps: {\n isSelected: selected\n }\n }, selected ? '✓' : null));\n }));\n};\n\nvar RefOptionList = React.forwardRef(OptionList);\nRefOptionList.displayName = 'OptionList';\nexport default RefOptionList;","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}","/** This is a placeholder, not real render in dom */\nvar Option = function Option() {\n return null;\n};\n\nOption.isSelectOption = true;\nexport default Option;","/** This is a placeholder, not real render in dom */\nvar OptGroup = function OptGroup() {\n return null;\n};\n\nOptGroup.isSelectOptGroup = true;\nexport default OptGroup;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\n\nfunction convertNodeToOption(node) {\n var key = node.key,\n _node$props = node.props,\n children = _node$props.children,\n value = _node$props.value,\n restProps = _objectWithoutProperties(_node$props, [\"children\", \"value\"]);\n\n return _objectSpread({\n key: key,\n value: value !== undefined ? value : key,\n children: children\n }, restProps);\n}\n\nexport function convertChildrenToData(nodes) {\n var optionOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return toArray(nodes).map(function (node, index) {\n if (!React.isValidElement(node) || !node.type) {\n return null;\n }\n\n var isSelectOptGroup = node.type.isSelectOptGroup,\n key = node.key,\n _node$props2 = node.props,\n children = _node$props2.children,\n restProps = _objectWithoutProperties(_node$props2, [\"children\"]);\n\n if (optionOnly || !isSelectOptGroup) {\n return convertNodeToOption(node);\n }\n\n return _objectSpread(_objectSpread({\n key: \"__RC_SELECT_GRP__\".concat(key === null ? index : key, \"__\"),\n label: key\n }, restProps), {}, {\n options: convertChildrenToData(children)\n });\n }).filter(function (data) {\n return data;\n });\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nexport function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n\n return value !== undefined ? [value] : [];\n}\n/**\n * Convert outer props value into internal value\n */\n\nexport function toInnerValue(value, _ref) {\n var labelInValue = _ref.labelInValue,\n combobox = _ref.combobox;\n\n if (value === undefined || value === '' && combobox) {\n return [];\n }\n\n var values = Array.isArray(value) ? value : [value];\n\n if (labelInValue) {\n return values.map(function (_ref2) {\n var key = _ref2.key,\n val = _ref2.value;\n return val !== undefined ? val : key;\n });\n }\n\n return values;\n}\n/**\n * Convert internal value into out event value\n */\n\nexport function toOuterValues(valueList, _ref3) {\n var optionLabelProp = _ref3.optionLabelProp,\n labelInValue = _ref3.labelInValue,\n prevValue = _ref3.prevValue,\n options = _ref3.options,\n getLabeledValue = _ref3.getLabeledValue;\n var values = valueList;\n\n if (labelInValue) {\n values = values.map(function (val) {\n return getLabeledValue(val, {\n options: options,\n prevValue: prevValue,\n labelInValue: labelInValue,\n optionLabelProp: optionLabelProp\n });\n });\n }\n\n return values;\n}\nexport function removeLastEnabledValue(measureValues, values) {\n var newValues = _toConsumableArray(values);\n\n var removeIndex;\n\n for (removeIndex = measureValues.length - 1; removeIndex >= 0; removeIndex -= 1) {\n if (!measureValues[removeIndex].disabled) {\n break;\n }\n }\n\n var removedValue = null;\n\n if (removeIndex !== -1) {\n removedValue = newValues[removeIndex];\n newValues.splice(removeIndex, 1);\n }\n\n return {\n values: newValues,\n removedValue: removedValue\n };\n}\nexport var isClient = typeof window !== 'undefined' && window.document && window.document.documentElement;\n/** Is client side and not jsdom */\n\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && isClient;\nvar uuid = 0;\n/** Get unique id for accessibility usage */\n\nexport function getUUID() {\n var retId; // Test never reach\n\n /* istanbul ignore if */\n\n if (isBrowserClient) {\n retId = uuid;\n uuid += 1;\n } else {\n retId = 'TEST_OR_SSR';\n }\n\n return retId;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nimport { toArray } from './commonUtil';\n\nfunction getKey(data, index) {\n var key = data.key;\n var value;\n\n if ('value' in data) {\n value = data.value;\n }\n\n if (key !== null && key !== undefined) {\n return key;\n }\n\n if (value !== undefined) {\n return value;\n }\n\n return \"rc-index-key-\".concat(index);\n}\n/**\n * Flat options into flatten list.\n * We use `optionOnly` here is aim to avoid user use nested option group.\n * Here is simply set `key` to the index if not provided.\n */\n\n\nexport function flattenOptions(options) {\n var flattenList = [];\n\n function dig(list, isGroupOption) {\n list.forEach(function (data) {\n if (isGroupOption || !('options' in data)) {\n // Option\n flattenList.push({\n key: getKey(data, flattenList.length),\n groupOption: isGroupOption,\n data: data\n });\n } else {\n // Option Group\n flattenList.push({\n key: getKey(data, flattenList.length),\n group: true,\n data: data\n });\n dig(data.options, true);\n }\n });\n }\n\n dig(options, false);\n return flattenList;\n}\n/**\n * Inject `props` into `option` for legacy usage\n */\n\nfunction injectPropsWithOption(option) {\n var newOption = _objectSpread({}, option);\n\n if (!('props' in newOption)) {\n Object.defineProperty(newOption, 'props', {\n get: function get() {\n warning(false, 'Return type is option instead of Option instance. Please read value directly instead of reading from `props`.');\n return newOption;\n }\n });\n }\n\n return newOption;\n}\n\nexport function findValueOption(values, options) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$prevValueOptions = _ref.prevValueOptions,\n prevValueOptions = _ref$prevValueOptions === void 0 ? [] : _ref$prevValueOptions;\n\n var optionMap = new Map();\n options.forEach(function (flattenItem) {\n if (!flattenItem.group) {\n var data = flattenItem.data; // Check if match\n\n optionMap.set(data.value, data);\n }\n });\n return values.map(function (val) {\n var option = optionMap.get(val); // Fallback to try to find prev options\n\n if (!option) {\n option = _objectSpread({}, prevValueOptions.find(function (opt) {\n return opt._INTERNAL_OPTION_VALUE_ === val;\n }));\n }\n\n return injectPropsWithOption(option);\n });\n}\nexport var getLabeledValue = function getLabeledValue(value, _ref2) {\n var options = _ref2.options,\n prevValue = _ref2.prevValue,\n labelInValue = _ref2.labelInValue,\n optionLabelProp = _ref2.optionLabelProp;\n var item = findValueOption([value], options)[0];\n var result = {\n value: value\n };\n var prevValItem;\n var prevValues = toArray(prevValue);\n\n if (labelInValue) {\n prevValItem = prevValues.find(function (prevItem) {\n if (_typeof(prevItem) === 'object' && 'value' in prevItem) {\n return prevItem.value === value;\n } // [Legacy] Support `key` as `value`\n\n\n return prevItem.key === value;\n });\n }\n\n if (prevValItem && _typeof(prevValItem) === 'object' && 'label' in prevValItem) {\n result.label = prevValItem.label;\n\n if (item && typeof prevValItem.label === 'string' && typeof item[optionLabelProp] === 'string' && prevValItem.label.trim() !== item[optionLabelProp].trim()) {\n warning(false, '`label` of `value` is not same as `label` in Select options.');\n }\n } else if (item && optionLabelProp in item) {\n result.label = item[optionLabelProp];\n } else {\n result.label = value;\n } // Used for motion control\n\n\n result.key = result.value;\n return result;\n};\n\nfunction toRawString(content) {\n return toArray(content).join('');\n}\n/** Filter single option if match the search text */\n\n\nfunction getFilterFunction(optionFilterProp) {\n return function (searchValue, option) {\n var lowerSearchText = searchValue.toLowerCase(); // Group label search\n\n if ('options' in option) {\n return toRawString(option.label).toLowerCase().includes(lowerSearchText);\n } // Option value search\n\n\n var rawValue = option[optionFilterProp];\n var value = toRawString(rawValue).toLowerCase();\n return value.includes(lowerSearchText);\n };\n}\n/** Filter options and return a new options by the search text */\n\n\nexport function filterOptions(searchValue, options, _ref3) {\n var optionFilterProp = _ref3.optionFilterProp,\n filterOption = _ref3.filterOption;\n var filteredOptions = [];\n var filterFunc;\n\n if (filterOption === false) {\n return _toConsumableArray(options);\n }\n\n if (typeof filterOption === 'function') {\n filterFunc = filterOption;\n } else {\n filterFunc = getFilterFunction(optionFilterProp);\n }\n\n options.forEach(function (item) {\n // Group should check child options\n if ('options' in item) {\n // Check group first\n var matchGroup = filterFunc(searchValue, item);\n\n if (matchGroup) {\n filteredOptions.push(item);\n } else {\n // Check option\n var subOptions = item.options.filter(function (subItem) {\n return filterFunc(searchValue, subItem);\n });\n\n if (subOptions.length) {\n filteredOptions.push(_objectSpread(_objectSpread({}, item), {}, {\n options: subOptions\n }));\n }\n }\n\n return;\n }\n\n if (filterFunc(searchValue, injectPropsWithOption(item))) {\n filteredOptions.push(item);\n }\n });\n return filteredOptions;\n}\nexport function getSeparatedContent(text, tokens) {\n if (!tokens || !tokens.length) {\n return null;\n }\n\n var match = false;\n\n function separate(str, _ref4) {\n var _ref5 = _toArray(_ref4),\n token = _ref5[0],\n restTokens = _ref5.slice(1);\n\n if (!token) {\n return [str];\n }\n\n var list = str.split(token);\n match = match || list.length > 1;\n return list.reduce(function (prevList, unitStr) {\n return [].concat(_toConsumableArray(prevList), _toConsumableArray(separate(unitStr, restTokens)));\n }, []).filter(function (unit) {\n return unit;\n });\n }\n\n var list = separate(text, tokens);\n return match ? list : null;\n}\nexport function isValueDisabled(value, options) {\n var option = findValueOption([value], options)[0];\n return option.disabled;\n}\n/**\n * `tags` mode should fill un-list item into the option list\n */\n\nexport function fillOptionsWithMissingValue(options, value, optionLabelProp, labelInValue) {\n var values = toArray(value).slice().sort();\n\n var cloneOptions = _toConsumableArray(options); // Convert options value to set\n\n\n var optionValues = new Set();\n options.forEach(function (opt) {\n if (opt.options) {\n opt.options.forEach(function (subOpt) {\n optionValues.add(subOpt.value);\n });\n } else {\n optionValues.add(opt.value);\n }\n }); // Fill missing value\n\n values.forEach(function (item) {\n var val = labelInValue ? item.value : item;\n\n if (!optionValues.has(val)) {\n var _ref6;\n\n cloneOptions.push(labelInValue ? (_ref6 = {}, _defineProperty(_ref6, optionLabelProp, item.label), _defineProperty(_ref6, \"value\", val), _ref6) : {\n value: val\n });\n }\n });\n return cloneOptions;\n}","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport { composeRef } from \"rc-util/es/ref\";\n\nvar Input = function Input(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n inputElement = _ref.inputElement,\n disabled = _ref.disabled,\n tabIndex = _ref.tabIndex,\n autoFocus = _ref.autoFocus,\n autoComplete = _ref.autoComplete,\n editable = _ref.editable,\n accessibilityIndex = _ref.accessibilityIndex,\n value = _ref.value,\n _onKeyDown = _ref.onKeyDown,\n _onMouseDown = _ref.onMouseDown,\n _onChange = _ref.onChange,\n onPaste = _ref.onPaste,\n _onCompositionStart = _ref.onCompositionStart,\n _onCompositionEnd = _ref.onCompositionEnd,\n open = _ref.open,\n attrs = _ref.attrs;\n var inputNode = inputElement || React.createElement(\"input\", null);\n var _inputNode = inputNode,\n originRef = _inputNode.ref,\n _inputNode$props = _inputNode.props,\n onOriginKeyDown = _inputNode$props.onKeyDown,\n onOriginChange = _inputNode$props.onChange,\n onOriginMouseDown = _inputNode$props.onMouseDown,\n onOriginCompositionStart = _inputNode$props.onCompositionStart,\n onOriginCompositionEnd = _inputNode$props.onCompositionEnd,\n style = _inputNode$props.style;\n inputNode = React.cloneElement(inputNode, _objectSpread(_objectSpread({\n id: id,\n ref: composeRef(ref, originRef),\n disabled: disabled,\n tabIndex: tabIndex,\n autoComplete: autoComplete || 'off',\n type: 'search',\n autoFocus: autoFocus,\n className: \"\".concat(prefixCls, \"-selection-search-input\"),\n style: _objectSpread(_objectSpread({}, style), {}, {\n opacity: editable ? null : 0\n }),\n role: 'combobox',\n 'aria-expanded': open,\n 'aria-haspopup': 'listbox',\n 'aria-owns': \"\".concat(id, \"_list\"),\n 'aria-autocomplete': 'list',\n 'aria-controls': \"\".concat(id, \"_list\"),\n 'aria-activedescendant': \"\".concat(id, \"_list_\").concat(accessibilityIndex)\n }, attrs), {}, {\n value: editable ? value : '',\n readOnly: !editable,\n unselectable: !editable ? 'on' : null,\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(event);\n\n if (onOriginKeyDown) {\n onOriginKeyDown(event);\n }\n },\n onMouseDown: function onMouseDown(event) {\n _onMouseDown(event);\n\n if (onOriginMouseDown) {\n onOriginMouseDown(event);\n }\n },\n onChange: function onChange(event) {\n _onChange(event);\n\n if (onOriginChange) {\n onOriginChange(event);\n }\n },\n onCompositionStart: function onCompositionStart(event) {\n _onCompositionStart(event);\n\n if (onOriginCompositionStart) {\n onOriginCompositionStart(event);\n }\n },\n onCompositionEnd: function onCompositionEnd(event) {\n _onCompositionEnd(event);\n\n if (onOriginCompositionEnd) {\n onOriginCompositionEnd(event);\n }\n },\n onPaste: onPaste\n }));\n return inputNode;\n};\n\nvar RefInput = React.forwardRef(Input);\nRefInput.displayName = 'Input';\nexport default RefInput;","/* eslint-disable react-hooks/rules-of-hooks */\nimport * as React from 'react';\nimport { isBrowserClient } from '../utils/commonUtil';\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\n\nexport default function useLayoutEffect(effect, deps) {\n // Never happen in test env\n if (isBrowserClient) {\n /* istanbul ignore next */\n React.useLayoutEffect(effect, deps);\n } else {\n React.useEffect(effect, deps);\n }\n}\n/* eslint-enable */","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport { CSSMotionList } from 'rc-motion';\nimport TransBtn from '../TransBtn';\nimport Input from './Input';\nimport useLayoutEffect from '../hooks/useLayoutEffect';\nvar REST_TAG_KEY = '__RC_SELECT_MAX_REST_COUNT__';\n\nvar SelectSelector = function SelectSelector(props) {\n var id = props.id,\n prefixCls = props.prefixCls,\n values = props.values,\n open = props.open,\n searchValue = props.searchValue,\n inputRef = props.inputRef,\n placeholder = props.placeholder,\n disabled = props.disabled,\n mode = props.mode,\n showSearch = props.showSearch,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n accessibilityIndex = props.accessibilityIndex,\n tabIndex = props.tabIndex,\n removeIcon = props.removeIcon,\n choiceTransitionName = props.choiceTransitionName,\n maxTagCount = props.maxTagCount,\n maxTagTextLength = props.maxTagTextLength,\n _props$maxTagPlacehol = props.maxTagPlaceholder,\n maxTagPlaceholder = _props$maxTagPlacehol === void 0 ? function (omittedValues) {\n return \"+ \".concat(omittedValues.length, \" ...\");\n } : _props$maxTagPlacehol,\n tagRender = props.tagRender,\n onSelect = props.onSelect,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n motionAppear = _React$useState2[0],\n setMotionAppear = _React$useState2[1];\n\n var measureRef = React.useRef(null);\n\n var _React$useState3 = React.useState(0),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n inputWidth = _React$useState4[0],\n setInputWidth = _React$useState4[1]; // ===================== Motion ======================\n\n\n React.useEffect(function () {\n setMotionAppear(true);\n }, []); // ===================== Search ======================\n\n var inputValue = open || mode === 'tags' ? searchValue : '';\n var inputEditable = mode === 'tags' || open && showSearch; // We measure width and set to the input immediately\n\n useLayoutEffect(function () {\n setInputWidth(measureRef.current.scrollWidth);\n }, [inputValue]); // ==================== Selection ====================\n\n var displayValues = values; // Cut by `maxTagCount`\n\n var restCount;\n\n if (typeof maxTagCount === 'number') {\n restCount = values.length - maxTagCount;\n displayValues = values.slice(0, maxTagCount);\n } // Update by `maxTagTextLength`\n\n\n if (typeof maxTagTextLength === 'number') {\n displayValues = displayValues.map(function (_ref) {\n var label = _ref.label,\n rest = _objectWithoutProperties(_ref, [\"label\"]);\n\n var displayLabel = label;\n\n if (typeof label === 'string' || typeof label === 'number') {\n var strLabel = String(displayLabel);\n\n if (strLabel.length > maxTagTextLength) {\n displayLabel = \"\".concat(strLabel.slice(0, maxTagTextLength), \"...\");\n }\n }\n\n return _objectSpread(_objectSpread({}, rest), {}, {\n label: displayLabel\n });\n });\n } // Fill rest\n\n\n if (restCount > 0) {\n displayValues.push({\n key: REST_TAG_KEY,\n label: typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(values.slice(maxTagCount)) : maxTagPlaceholder\n });\n }\n\n var selectionNode = React.createElement(CSSMotionList, {\n component: false,\n keys: displayValues,\n motionName: choiceTransitionName,\n motionAppear: motionAppear\n }, function (_ref2) {\n var key = _ref2.key,\n label = _ref2.label,\n value = _ref2.value,\n itemDisabled = _ref2.disabled,\n className = _ref2.className,\n style = _ref2.style;\n var mergedKey = key || value;\n var closable = !disabled && key !== REST_TAG_KEY && !itemDisabled;\n\n var onMouseDown = function onMouseDown(event) {\n event.preventDefault();\n event.stopPropagation();\n };\n\n var onClose = function onClose(event) {\n if (event) event.stopPropagation();\n onSelect(value, {\n selected: false\n });\n };\n\n return typeof tagRender === 'function' ? React.createElement(\"span\", {\n key: mergedKey,\n onMouseDown: onMouseDown,\n className: className,\n style: style\n }, tagRender({\n label: label,\n value: value,\n disabled: itemDisabled,\n closable: closable,\n onClose: onClose\n })) : React.createElement(\"span\", {\n key: mergedKey,\n className: classNames(className, \"\".concat(prefixCls, \"-selection-item\"), _defineProperty({}, \"\".concat(prefixCls, \"-selection-item-disabled\"), itemDisabled)),\n style: style\n }, React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-item-content\")\n }, label), closable && React.createElement(TransBtn, {\n className: \"\".concat(prefixCls, \"-selection-item-remove\"),\n onMouseDown: onMouseDown,\n onClick: onClose,\n customizeIcon: removeIcon\n }, \"\\xD7\"));\n });\n return React.createElement(React.Fragment, null, selectionNode, React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-search\"),\n style: {\n width: inputWidth\n }\n }, React.createElement(Input, {\n ref: inputRef,\n open: open,\n prefixCls: prefixCls,\n id: id,\n inputElement: null,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n accessibilityIndex: accessibilityIndex,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: onInputChange,\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true)\n }), React.createElement(\"span\", {\n ref: measureRef,\n className: \"\".concat(prefixCls, \"-selection-search-mirror\"),\n \"aria-hidden\": true\n }, inputValue, \"\\xA0\")), !values.length && !inputValue && React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-placeholder\")\n }, placeholder));\n};\n\nexport default SelectSelector;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Input from './Input';\n\nvar SingleSelector = function SingleSelector(props) {\n var inputElement = props.inputElement,\n prefixCls = props.prefixCls,\n id = props.id,\n inputRef = props.inputRef,\n disabled = props.disabled,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n accessibilityIndex = props.accessibilityIndex,\n mode = props.mode,\n open = props.open,\n values = props.values,\n placeholder = props.placeholder,\n tabIndex = props.tabIndex,\n showSearch = props.showSearch,\n searchValue = props.searchValue,\n activeValue = props.activeValue,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n inputChanged = _React$useState2[0],\n setInputChanged = _React$useState2[1];\n\n var combobox = mode === 'combobox';\n var inputEditable = combobox || showSearch;\n var item = values[0];\n var inputValue = searchValue || '';\n\n if (combobox && activeValue && !inputChanged) {\n inputValue = activeValue;\n }\n\n React.useEffect(function () {\n if (combobox) {\n setInputChanged(false);\n }\n }, [combobox, activeValue]); // Not show text when closed expect combobox mode\n\n var hasTextInput = mode !== 'combobox' && !open ? false : !!inputValue;\n var title = item && (typeof item.label === 'string' || typeof item.label === 'number') ? item.label.toString() : undefined;\n return React.createElement(React.Fragment, null, React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-search\")\n }, React.createElement(Input, {\n ref: inputRef,\n prefixCls: prefixCls,\n id: id,\n open: open,\n inputElement: inputElement,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n accessibilityIndex: accessibilityIndex,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: function onChange(e) {\n setInputChanged(true);\n onInputChange(e);\n },\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true)\n })), !combobox && item && !hasTextInput && React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-item\"),\n title: title\n }, item.label), !item && !hasTextInput && React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-placeholder\")\n }, placeholder));\n};\n\nexport default SingleSelector;","import * as React from 'react';\n/**\n * Locker return cached mark.\n * If set to `true`, will return `true` in a short time even if set `false`.\n * If set to `false` and then set to `true`, will change to `true`.\n * And after time duration, it will back to `null` automatically.\n */\n\nexport default function useLock() {\n var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 250;\n var lockRef = React.useRef(null);\n var timeoutRef = React.useRef(null); // Clean up\n\n React.useEffect(function () {\n return function () {\n window.clearTimeout(timeoutRef.current);\n };\n }, []);\n\n function doLock(locked) {\n if (locked || lockRef.current === null) {\n lockRef.current = locked;\n }\n\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(function () {\n lockRef.current = null;\n }, duration);\n }\n\n return [function () {\n return lockRef.current;\n }, doLock];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n/**\n * Cursor rule:\n * 1. Only `showSearch` enabled\n * 2. Only `open` is `true`\n * 3. When typing, set `open` to `true` which hit rule of 2\n *\n * Accessibility:\n * - https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html\n */\n\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport MultipleSelector from './MultipleSelector';\nimport SingleSelector from './SingleSelector';\nimport useLock from '../hooks/useLock';\n\nvar Selector = function Selector(props, ref) {\n var inputRef = useRef(null);\n var compositionStatusRef = useRef(false);\n var prefixCls = props.prefixCls,\n multiple = props.multiple,\n open = props.open,\n mode = props.mode,\n showSearch = props.showSearch,\n tokenWithEnter = props.tokenWithEnter,\n onSearch = props.onSearch,\n onSearchSubmit = props.onSearchSubmit,\n onToggleOpen = props.onToggleOpen,\n onInputKeyDown = props.onInputKeyDown,\n domRef = props.domRef; // ======================= Ref =======================\n\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n inputRef.current.focus();\n },\n blur: function blur() {\n inputRef.current.blur();\n }\n };\n }); // ====================== Input ======================\n\n var _useLock = useLock(0),\n _useLock2 = _slicedToArray(_useLock, 2),\n getInputMouseDown = _useLock2[0],\n setInputMouseDown = _useLock2[1];\n\n var onInternalInputKeyDown = function onInternalInputKeyDown(event) {\n var which = event.which;\n\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n event.preventDefault();\n }\n\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n\n if (which === KeyCode.ENTER && mode === 'tags' && !compositionStatusRef.current && !open) {\n // When menu isn't open, OptionList won't trigger a value change\n // So when enter is pressed, the tag's input value should be emitted here to let selector know\n onSearchSubmit(event.target.value);\n }\n\n if (![KeyCode.SHIFT, KeyCode.TAB, KeyCode.BACKSPACE, KeyCode.ESC].includes(which)) {\n onToggleOpen(true);\n }\n };\n /**\n * We can not use `findDOMNode` sine it will get warning,\n * have to use timer to check if is input element.\n */\n\n\n var onInternalInputMouseDown = function onInternalInputMouseDown() {\n setInputMouseDown(true);\n }; // When paste come, ignore next onChange\n\n\n var pastedTextRef = useRef(null);\n\n var triggerOnSearch = function triggerOnSearch(value) {\n if (onSearch(value, true, compositionStatusRef.current) !== false) {\n onToggleOpen(true);\n }\n };\n\n var onInputCompositionStart = function onInputCompositionStart() {\n compositionStatusRef.current = true;\n };\n\n var onInputCompositionEnd = function onInputCompositionEnd() {\n compositionStatusRef.current = false;\n };\n\n var onInputChange = function onInputChange(event) {\n var value = event.target.value; // Pasted text should replace back to origin content\n\n if (tokenWithEnter && pastedTextRef.current && /[\\r\\n]/.test(pastedTextRef.current)) {\n // CRLF will be treated as a single space for input element\n var replacedText = pastedTextRef.current.replace(/\\r\\n/g, ' ').replace(/[\\r\\n]/g, ' ');\n value = value.replace(replacedText, pastedTextRef.current);\n }\n\n pastedTextRef.current = null;\n triggerOnSearch(value);\n };\n\n var onInputPaste = function onInputPaste(e) {\n var clipboardData = e.clipboardData;\n var value = clipboardData.getData('text');\n pastedTextRef.current = value;\n };\n\n var onClick = function onClick(_ref) {\n var target = _ref.target;\n\n if (target !== inputRef.current) {\n // Should focus input if click the selector\n var isIE = document.body.style.msTouchAction !== undefined;\n\n if (isIE) {\n setTimeout(function () {\n inputRef.current.focus();\n });\n } else {\n inputRef.current.focus();\n }\n }\n };\n\n var onMouseDown = function onMouseDown(event) {\n var inputMouseDown = getInputMouseDown();\n\n if (event.target !== inputRef.current && !inputMouseDown) {\n event.preventDefault();\n }\n\n if (mode !== 'combobox' && (!showSearch || !inputMouseDown) || !open) {\n if (open) {\n onSearch('', true, false);\n }\n\n onToggleOpen();\n }\n }; // ================= Inner Selector ==================\n\n\n var sharedProps = {\n inputRef: inputRef,\n onInputKeyDown: onInternalInputKeyDown,\n onInputMouseDown: onInternalInputMouseDown,\n onInputChange: onInputChange,\n onInputPaste: onInputPaste,\n onInputCompositionStart: onInputCompositionStart,\n onInputCompositionEnd: onInputCompositionEnd\n };\n var selectNode = multiple ? React.createElement(MultipleSelector, Object.assign({}, props, sharedProps)) : React.createElement(SingleSelector, Object.assign({}, props, sharedProps));\n return React.createElement(\"div\", {\n ref: domRef,\n className: \"\".concat(prefixCls, \"-selector\"),\n onClick: onClick,\n onMouseDown: onMouseDown\n }, selectNode);\n};\n\nvar ForwardSelector = React.forwardRef(Selector);\nForwardSelector.displayName = 'Selector';\nexport default ForwardSelector;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\n\nvar getBuiltInPlacements = function getBuiltInPlacements(dropdownMatchSelectWidth) {\n // Enable horizontal overflow auto-adjustment when a custom dropdown width is provided\n var adjustX = typeof dropdownMatchSelectWidth !== 'number' ? 0 : 1;\n return {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n }\n };\n};\n\nvar SelectTrigger = function SelectTrigger(props, ref) {\n var prefixCls = props.prefixCls,\n disabled = props.disabled,\n visible = props.visible,\n children = props.children,\n popupElement = props.popupElement,\n containerWidth = props.containerWidth,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'ltr' : _props$direction,\n _props$dropdownMatchS = props.dropdownMatchSelectWidth,\n dropdownMatchSelectWidth = _props$dropdownMatchS === void 0 ? true : _props$dropdownMatchS,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n getPopupContainer = props.getPopupContainer,\n empty = props.empty,\n getTriggerDOMNode = props.getTriggerDOMNode,\n restProps = _objectWithoutProperties(props, [\"prefixCls\", \"disabled\", \"visible\", \"children\", \"popupElement\", \"containerWidth\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"direction\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"getPopupContainer\", \"empty\", \"getTriggerDOMNode\"]);\n\n var dropdownPrefixCls = \"\".concat(prefixCls, \"-dropdown\");\n var popupNode = popupElement;\n\n if (dropdownRender) {\n popupNode = dropdownRender(popupElement);\n }\n\n var builtInPlacements = React.useMemo(function () {\n return getBuiltInPlacements(dropdownMatchSelectWidth);\n }, [dropdownMatchSelectWidth]); // ===================== Motion ======================\n\n var mergedTransitionName = animation ? \"\".concat(dropdownPrefixCls, \"-\").concat(animation) : transitionName; // ======================= Ref =======================\n\n var popupRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n getPopupElement: function getPopupElement() {\n return popupRef.current;\n }\n };\n });\n\n var popupStyle = _objectSpread({\n minWidth: containerWidth\n }, dropdownStyle);\n\n if (typeof dropdownMatchSelectWidth === 'number') {\n popupStyle.width = dropdownMatchSelectWidth;\n } else if (dropdownMatchSelectWidth) {\n popupStyle.width = containerWidth;\n }\n\n return React.createElement(Trigger, Object.assign({}, restProps, {\n showAction: [],\n hideAction: [],\n popupPlacement: direction === 'rtl' ? 'bottomRight' : 'bottomLeft',\n builtinPlacements: builtInPlacements,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: mergedTransitionName,\n popup: React.createElement(\"div\", {\n ref: popupRef\n }, popupNode),\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer: getPopupContainer,\n popupClassName: classNames(dropdownClassName, _defineProperty({}, \"\".concat(dropdownPrefixCls, \"-empty\"), empty)),\n popupStyle: popupStyle,\n getTriggerDOMNode: getTriggerDOMNode\n }), children);\n};\n\nvar RefSelectTrigger = React.forwardRef(SelectTrigger);\nRefSelectTrigger.displayName = 'SelectTrigger';\nexport default RefSelectTrigger;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n/**\n * To match accessibility requirement, we always provide an input in the component.\n * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.\n * For focused select, we set `aria-live=\"polite\"` to update the accessibility content.\n *\n * ref:\n * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions\n */\n\nimport * as React from 'react';\nimport { useState, useRef, useEffect, useMemo } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport Selector from './Selector';\nimport SelectTrigger from './SelectTrigger';\nimport { INTERNAL_PROPS_MARK } from './interface/generator';\nimport { toInnerValue, toOuterValues, removeLastEnabledValue, getUUID } from './utils/commonUtil';\nimport TransBtn from './TransBtn';\nimport useLock from './hooks/useLock';\nimport useDelayReset from './hooks/useDelayReset';\nimport useLayoutEffect from './hooks/useLayoutEffect';\nimport { getSeparatedContent } from './utils/valueUtil';\nimport useSelectTriggerControl from './hooks/useSelectTriggerControl';\nimport useCacheDisplayValue from './hooks/useCacheDisplayValue';\nimport useCacheOptions from './hooks/useCacheOptions';\nvar DEFAULT_OMIT_PROPS = ['removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown'];\n/**\n * This function is in internal usage.\n * Do not use it in your prod env since we may refactor this.\n */\n\nexport default function generateSelector(config) {\n var defaultPrefixCls = config.prefixCls,\n OptionList = config.components.optionList,\n convertChildrenToData = config.convertChildrenToData,\n flattenOptions = config.flattenOptions,\n getLabeledValue = config.getLabeledValue,\n filterOptions = config.filterOptions,\n isValueDisabled = config.isValueDisabled,\n findValueOption = config.findValueOption,\n warningProps = config.warningProps,\n fillOptionsWithMissingValue = config.fillOptionsWithMissingValue,\n omitDOMProps = config.omitDOMProps; // Use raw define since `React.FC` not support generic\n\n function Select(props, ref) {\n var _classNames2;\n\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? defaultPrefixCls : _props$prefixCls,\n className = props.className,\n id = props.id,\n open = props.open,\n defaultOpen = props.defaultOpen,\n options = props.options,\n children = props.children,\n mode = props.mode,\n value = props.value,\n defaultValue = props.defaultValue,\n labelInValue = props.labelInValue,\n showSearch = props.showSearch,\n inputValue = props.inputValue,\n searchValue = props.searchValue,\n filterOption = props.filterOption,\n _props$optionFilterPr = props.optionFilterProp,\n optionFilterProp = _props$optionFilterPr === void 0 ? 'value' : _props$optionFilterPr,\n _props$autoClearSearc = props.autoClearSearchValue,\n autoClearSearchValue = _props$autoClearSearc === void 0 ? true : _props$autoClearSearc,\n onSearch = props.onSearch,\n allowClear = props.allowClear,\n clearIcon = props.clearIcon,\n showArrow = props.showArrow,\n inputIcon = props.inputIcon,\n menuItemSelectedIcon = props.menuItemSelectedIcon,\n disabled = props.disabled,\n loading = props.loading,\n defaultActiveFirstOption = props.defaultActiveFirstOption,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n optionLabelProp = props.optionLabelProp,\n backfill = props.backfill,\n getInputElement = props.getInputElement,\n getPopupContainer = props.getPopupContainer,\n _props$listHeight = props.listHeight,\n listHeight = _props$listHeight === void 0 ? 200 : _props$listHeight,\n _props$listItemHeight = props.listItemHeight,\n listItemHeight = _props$listItemHeight === void 0 ? 20 : _props$listItemHeight,\n animation = props.animation,\n transitionName = props.transitionName,\n virtual = props.virtual,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n _props$showAction = props.showAction,\n showAction = _props$showAction === void 0 ? [] : _props$showAction,\n direction = props.direction,\n tokenSeparators = props.tokenSeparators,\n tagRender = props.tagRender,\n onPopupScroll = props.onPopupScroll,\n onDropdownVisibleChange = props.onDropdownVisibleChange,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onKeyUp = props.onKeyUp,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onDeselect = props.onDeselect,\n onClear = props.onClear,\n _props$internalProps = props.internalProps,\n internalProps = _props$internalProps === void 0 ? {} : _props$internalProps,\n restProps = _objectWithoutProperties(props, [\"prefixCls\", \"className\", \"id\", \"open\", \"defaultOpen\", \"options\", \"children\", \"mode\", \"value\", \"defaultValue\", \"labelInValue\", \"showSearch\", \"inputValue\", \"searchValue\", \"filterOption\", \"optionFilterProp\", \"autoClearSearchValue\", \"onSearch\", \"allowClear\", \"clearIcon\", \"showArrow\", \"inputIcon\", \"menuItemSelectedIcon\", \"disabled\", \"loading\", \"defaultActiveFirstOption\", \"notFoundContent\", \"optionLabelProp\", \"backfill\", \"getInputElement\", \"getPopupContainer\", \"listHeight\", \"listItemHeight\", \"animation\", \"transitionName\", \"virtual\", \"dropdownStyle\", \"dropdownClassName\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"showAction\", \"direction\", \"tokenSeparators\", \"tagRender\", \"onPopupScroll\", \"onDropdownVisibleChange\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onMouseDown\", \"onChange\", \"onSelect\", \"onDeselect\", \"onClear\", \"internalProps\"]);\n\n var useInternalProps = internalProps.mark === INTERNAL_PROPS_MARK;\n var domProps = omitDOMProps ? omitDOMProps(restProps) : restProps;\n DEFAULT_OMIT_PROPS.forEach(function (prop) {\n delete domProps[prop];\n });\n var containerRef = useRef(null);\n var triggerRef = useRef(null);\n var selectorRef = useRef(null);\n var listRef = useRef(null);\n var tokenWithEnter = useMemo(function () {\n return (tokenSeparators || []).some(function (tokenSeparator) {\n return ['\\n', '\\r\\n'].includes(tokenSeparator);\n });\n }, [tokenSeparators]);\n /** Used for component focused management */\n\n var _useDelayReset = useDelayReset(),\n _useDelayReset2 = _slicedToArray(_useDelayReset, 3),\n mockFocused = _useDelayReset2[0],\n setMockFocused = _useDelayReset2[1],\n cancelSetMockFocused = _useDelayReset2[2]; // Inner id for accessibility usage. Only work in client side\n\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n innerId = _useState2[0],\n setInnerId = _useState2[1];\n\n useEffect(function () {\n setInnerId(\"rc_select_\".concat(getUUID()));\n }, []);\n var mergedId = id || innerId; // optionLabelProp\n\n var mergedOptionLabelProp = optionLabelProp;\n\n if (mergedOptionLabelProp === undefined) {\n mergedOptionLabelProp = options ? 'label' : 'children';\n } // labelInValue\n\n\n var mergedLabelInValue = mode === 'combobox' ? false : labelInValue;\n var isMultiple = mode === 'tags' || mode === 'multiple';\n var mergedShowSearch = showSearch !== undefined ? showSearch : isMultiple || mode === 'combobox'; // ============================== Ref ===============================\n\n var selectorDomRef = useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n focus: selectorRef.current.focus,\n blur: selectorRef.current.blur\n };\n }); // ============================= Value ==============================\n\n var _useMergedState = useMergedState(defaultValue, {\n value: value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setMergedValue = _useMergedState2[1];\n /** Unique raw values */\n\n\n var mergedRawValue = useMemo(function () {\n return toInnerValue(mergedValue, {\n labelInValue: mergedLabelInValue,\n combobox: mode === 'combobox'\n });\n }, [mergedValue, mergedLabelInValue]);\n /** We cache a set of raw values to speed up check */\n\n var rawValues = useMemo(function () {\n return new Set(mergedRawValue);\n }, [mergedRawValue]); // ============================= Option =============================\n // Set by option list active, it will merge into search input when mode is `combobox`\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n activeValue = _useState4[0],\n setActiveValue = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n innerSearchValue = _useState6[0],\n setInnerSearchValue = _useState6[1];\n\n var mergedSearchValue = innerSearchValue;\n\n if (mode === 'combobox' && mergedValue !== undefined) {\n mergedSearchValue = mergedValue;\n } else if (searchValue !== undefined) {\n mergedSearchValue = searchValue;\n } else if (inputValue) {\n mergedSearchValue = inputValue;\n }\n\n var mergedOptions = useMemo(function () {\n var newOptions = options;\n\n if (newOptions === undefined) {\n newOptions = convertChildrenToData(children);\n }\n /**\n * `tags` should fill un-list item.\n * This is not cool here since TreeSelect do not need this\n */\n\n\n if (mode === 'tags' && fillOptionsWithMissingValue) {\n newOptions = fillOptionsWithMissingValue(newOptions, mergedValue, mergedOptionLabelProp, labelInValue);\n }\n\n return newOptions || [];\n }, [options, children, mode, mergedValue]);\n var mergedFlattenOptions = useMemo(function () {\n return flattenOptions(mergedOptions, props);\n }, [mergedOptions]);\n var getValueOption = useCacheOptions(mergedRawValue, mergedFlattenOptions); // Display options for OptionList\n\n var displayOptions = useMemo(function () {\n if (!mergedSearchValue || !mergedShowSearch) {\n return _toConsumableArray(mergedOptions);\n }\n\n var filteredOptions = filterOptions(mergedSearchValue, mergedOptions, {\n optionFilterProp: optionFilterProp,\n filterOption: mode === 'combobox' && filterOption === undefined ? function () {\n return true;\n } : filterOption\n });\n\n if (mode === 'tags' && filteredOptions.every(function (opt) {\n return opt[optionFilterProp] !== mergedSearchValue;\n })) {\n filteredOptions.unshift({\n value: mergedSearchValue,\n label: mergedSearchValue,\n key: '__RC_SELECT_TAG_PLACEHOLDER__'\n });\n }\n\n return filteredOptions;\n }, [mergedOptions, mergedSearchValue, mode, mergedShowSearch]);\n var displayFlattenOptions = useMemo(function () {\n return flattenOptions(displayOptions, props);\n }, [displayOptions]);\n useEffect(function () {\n if (listRef.current && listRef.current.scrollTo) {\n listRef.current.scrollTo(0);\n }\n }, [mergedSearchValue]); // ============================ Selector ============================\n\n var displayValues = useMemo(function () {\n var tmpValues = mergedRawValue.map(function (val) {\n var valueOptions = getValueOption([val]);\n var displayValue = getLabeledValue(val, {\n options: valueOptions,\n prevValue: mergedValue,\n labelInValue: mergedLabelInValue,\n optionLabelProp: mergedOptionLabelProp\n });\n return _objectSpread(_objectSpread({}, displayValue), {}, {\n disabled: isValueDisabled(val, valueOptions)\n });\n });\n\n if (!mode && tmpValues.length === 1 && tmpValues[0].value === null && tmpValues[0].label === null) {\n return [];\n }\n\n return tmpValues;\n }, [mergedValue, mergedOptions, mode]); // Polyfill with cache label\n\n displayValues = useCacheDisplayValue(displayValues);\n\n var triggerSelect = function triggerSelect(newValue, isSelect, source) {\n var newValueOption = getValueOption([newValue]);\n var outOption = findValueOption([newValue], newValueOption)[0];\n\n if (!internalProps.skipTriggerSelect) {\n // Skip trigger `onSelect` or `onDeselect` if configured\n var selectValue = mergedLabelInValue ? getLabeledValue(newValue, {\n options: newValueOption,\n prevValue: mergedValue,\n labelInValue: mergedLabelInValue,\n optionLabelProp: mergedOptionLabelProp\n }) : newValue;\n\n if (isSelect && onSelect) {\n onSelect(selectValue, outOption);\n } else if (!isSelect && onDeselect) {\n onDeselect(selectValue, outOption);\n }\n } // Trigger internal event\n\n\n if (useInternalProps) {\n if (isSelect && internalProps.onRawSelect) {\n internalProps.onRawSelect(newValue, outOption, source);\n } else if (!isSelect && internalProps.onRawDeselect) {\n internalProps.onRawDeselect(newValue, outOption, source);\n }\n }\n }; // We need cache options here in case user update the option list\n\n\n var _useState7 = useState([]),\n _useState8 = _slicedToArray(_useState7, 2),\n prevValueOptions = _useState8[0],\n setPrevValueOptions = _useState8[1];\n\n var triggerChange = function triggerChange(newRawValues) {\n if (useInternalProps && internalProps.skipTriggerChange) {\n return;\n }\n\n var newRawValuesOptions = getValueOption(newRawValues);\n var outValues = toOuterValues(Array.from(newRawValues), {\n labelInValue: mergedLabelInValue,\n options: newRawValuesOptions,\n getLabeledValue: getLabeledValue,\n prevValue: mergedValue,\n optionLabelProp: mergedOptionLabelProp\n });\n var outValue = isMultiple ? outValues : outValues[0]; // Skip trigger if prev & current value is both empty\n\n if (onChange && (mergedRawValue.length !== 0 || outValues.length !== 0)) {\n var outOptions = findValueOption(newRawValues, newRawValuesOptions, {\n prevValueOptions: prevValueOptions\n }); // We will cache option in case it removed by ajax\n\n setPrevValueOptions(outOptions.map(function (option, index) {\n var clone = _objectSpread({}, option);\n\n Object.defineProperty(clone, '_INTERNAL_OPTION_VALUE_', {\n get: function get() {\n return newRawValues[index];\n }\n });\n return clone;\n }));\n onChange(outValue, isMultiple ? outOptions : outOptions[0]);\n }\n\n setMergedValue(outValue);\n };\n\n var onInternalSelect = function onInternalSelect(newValue, _ref) {\n var selected = _ref.selected,\n source = _ref.source;\n\n if (disabled) {\n return;\n }\n\n var newRawValue;\n\n if (isMultiple) {\n newRawValue = new Set(mergedRawValue);\n\n if (selected) {\n newRawValue.add(newValue);\n } else {\n newRawValue.delete(newValue);\n }\n } else {\n newRawValue = new Set();\n newRawValue.add(newValue);\n } // Multiple always trigger change and single should change if value changed\n\n\n if (isMultiple || !isMultiple && Array.from(mergedRawValue)[0] !== newValue) {\n triggerChange(Array.from(newRawValue));\n } // Trigger `onSelect`. Single mode always trigger select\n\n\n triggerSelect(newValue, !isMultiple || selected, source); // Clean search value if single or configured\n\n if (mode === 'combobox') {\n setInnerSearchValue(String(newValue));\n setActiveValue('');\n } else if (!isMultiple || autoClearSearchValue) {\n setInnerSearchValue('');\n setActiveValue('');\n }\n };\n\n var onInternalOptionSelect = function onInternalOptionSelect(newValue, info) {\n onInternalSelect(newValue, _objectSpread(_objectSpread({}, info), {}, {\n source: 'option'\n }));\n };\n\n var onInternalSelectionSelect = function onInternalSelectionSelect(newValue, info) {\n onInternalSelect(newValue, _objectSpread(_objectSpread({}, info), {}, {\n source: 'selection'\n }));\n }; // ============================= Input ==============================\n // Only works in `combobox`\n\n\n var customizeInputElement = mode === 'combobox' && getInputElement && getInputElement() || null; // ============================== Open ==============================\n\n var _useMergedState3 = useMergedState(undefined, {\n defaultValue: defaultOpen,\n value: open\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n innerOpen = _useMergedState4[0],\n setInnerOpen = _useMergedState4[1];\n\n var mergedOpen = innerOpen; // Not trigger `open` in `combobox` when `notFoundContent` is empty\n\n var emptyListContent = !notFoundContent && !displayOptions.length;\n\n if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {\n mergedOpen = false;\n }\n\n var triggerOpen = emptyListContent ? false : mergedOpen;\n\n var onToggleOpen = function onToggleOpen(newOpen) {\n var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n\n if (innerOpen !== nextOpen && !disabled) {\n setInnerOpen(nextOpen);\n\n if (onDropdownVisibleChange) {\n onDropdownVisibleChange(nextOpen);\n }\n }\n };\n\n useSelectTriggerControl([containerRef.current, triggerRef.current && triggerRef.current.getPopupElement()], triggerOpen, onToggleOpen); // ============================= Search =============================\n\n var triggerSearch = function triggerSearch(searchText, fromTyping, isCompositing) {\n var ret = true;\n var newSearchText = searchText;\n setActiveValue(null); // Check if match the `tokenSeparators`\n\n var patchLabels = isCompositing ? null : getSeparatedContent(searchText, tokenSeparators);\n var patchRawValues = patchLabels;\n\n if (mode === 'combobox') {\n // Only typing will trigger onChange\n if (fromTyping) {\n triggerChange([newSearchText]);\n }\n } else if (patchLabels) {\n newSearchText = '';\n\n if (mode !== 'tags') {\n patchRawValues = patchLabels.map(function (label) {\n var item = mergedFlattenOptions.find(function (_ref2) {\n var data = _ref2.data;\n return data[mergedOptionLabelProp] === label;\n });\n return item ? item.data.value : null;\n }).filter(function (val) {\n return val !== null;\n });\n }\n\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(mergedRawValue), _toConsumableArray(patchRawValues))));\n triggerChange(newRawValues);\n newRawValues.forEach(function (newRawValue) {\n triggerSelect(newRawValue, true, 'input');\n }); // Should close when paste finish\n\n onToggleOpen(false); // Tell Selector that break next actions\n\n ret = false;\n }\n\n setInnerSearchValue(newSearchText);\n\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText);\n }\n\n return ret;\n }; // Only triggered when menu is closed & mode is tags\n // If menu is open, OptionList will take charge\n // If mode isn't tags, press enter is not meaningful when you can't see any option\n\n\n var onSearchSubmit = function onSearchSubmit(searchText) {\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(mergedRawValue), [searchText])));\n triggerChange(newRawValues);\n newRawValues.forEach(function (newRawValue) {\n triggerSelect(newRawValue, true, 'input');\n });\n setInnerSearchValue('');\n }; // Close dropdown when disabled change\n\n\n useEffect(function () {\n if (innerOpen && !!disabled) {\n setInnerOpen(false);\n }\n }, [disabled]); // Close will clean up single mode search text\n\n useEffect(function () {\n if (!mergedOpen && !isMultiple && mode !== 'combobox') {\n triggerSearch('', false, false);\n }\n }, [mergedOpen]); // ============================ Keyboard ============================\n\n /**\n * We record input value here to check if can press to clean up by backspace\n * - null: Key is not down, this is reset by key up\n * - true: Search text is empty when first time backspace down\n * - false: Search text is not empty when first time backspace down\n */\n\n var _useLock = useLock(),\n _useLock2 = _slicedToArray(_useLock, 2),\n getClearLock = _useLock2[0],\n setClearLock = _useLock2[1]; // KeyDown\n\n\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var clearLock = getClearLock();\n var which = event.which; // We only manage open state here, close logic should handle by list component\n\n if (!mergedOpen && which === KeyCode.ENTER) {\n onToggleOpen(true);\n }\n\n setClearLock(!!mergedSearchValue); // Remove value by `backspace`\n\n if (which === KeyCode.BACKSPACE && !clearLock && isMultiple && !mergedSearchValue && mergedRawValue.length) {\n var removeInfo = removeLastEnabledValue(displayValues, mergedRawValue);\n\n if (removeInfo.removedValue !== null) {\n triggerChange(removeInfo.values);\n triggerSelect(removeInfo.removedValue, false, 'input');\n }\n }\n\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 if (mergedOpen && listRef.current) {\n var _listRef$current;\n\n (_listRef$current = listRef.current).onKeyDown.apply(_listRef$current, [event].concat(rest));\n }\n\n if (onKeyDown) {\n onKeyDown.apply(void 0, [event].concat(rest));\n }\n }; // KeyUp\n\n\n var onInternalKeyUp = function onInternalKeyUp(event) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n rest[_key2 - 1] = arguments[_key2];\n }\n\n if (mergedOpen && listRef.current) {\n var _listRef$current2;\n\n (_listRef$current2 = listRef.current).onKeyUp.apply(_listRef$current2, [event].concat(rest));\n }\n\n if (onKeyUp) {\n onKeyUp.apply(void 0, [event].concat(rest));\n }\n }; // ========================== Focus / Blur ==========================\n\n /** Record real focus status */\n\n\n var focusRef = useRef(false);\n\n var onContainerFocus = function onContainerFocus() {\n setMockFocused(true);\n\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus.apply(void 0, arguments);\n } // `showAction` should handle `focus` if set\n\n\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n\n focusRef.current = true;\n };\n\n var onContainerBlur = function onContainerBlur() {\n setMockFocused(false, function () {\n focusRef.current = false;\n onToggleOpen(false);\n });\n\n if (disabled) {\n return;\n }\n\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n triggerSearch('', false, false);\n triggerChange(Array.from(new Set([].concat(_toConsumableArray(mergedRawValue), [mergedSearchValue]))));\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n setInnerSearchValue('');\n }\n }\n\n if (onBlur) {\n onBlur.apply(void 0, arguments);\n }\n };\n\n var activeTimeoutIds = [];\n useEffect(function () {\n return function () {\n activeTimeoutIds.forEach(function (timeoutId) {\n return clearTimeout(timeoutId);\n });\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n };\n }, []);\n\n var onInternalMouseDown = function onInternalMouseDown(event) {\n var target = event.target;\n var popupElement = triggerRef.current && triggerRef.current.getPopupElement(); // We should give focus back to selector if clicked item is not focusable\n\n if (popupElement && popupElement.contains(target)) {\n var timeoutId = setTimeout(function () {\n var index = activeTimeoutIds.indexOf(timeoutId);\n\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n\n cancelSetMockFocused();\n\n if (!popupElement.contains(document.activeElement)) {\n selectorRef.current.focus();\n }\n });\n activeTimeoutIds.push(timeoutId);\n }\n\n if (onMouseDown) {\n for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n restArgs[_key3 - 1] = arguments[_key3];\n }\n\n onMouseDown.apply(void 0, [event].concat(restArgs));\n }\n }; // ========================= Accessibility ==========================\n\n\n var _useState9 = useState(0),\n _useState10 = _slicedToArray(_useState9, 2),\n accessibilityIndex = _useState10[0],\n setAccessibilityIndex = _useState10[1];\n\n var mergedDefaultActiveFirstOption = defaultActiveFirstOption !== undefined ? defaultActiveFirstOption : mode !== 'combobox';\n\n var onActiveValue = function onActiveValue(active, index) {\n var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref3$source = _ref3.source,\n source = _ref3$source === void 0 ? 'keyboard' : _ref3$source;\n\n setAccessibilityIndex(index);\n\n if (backfill && mode === 'combobox' && active !== null && source === 'keyboard') {\n setActiveValue(String(active));\n }\n }; // ============================= Popup ==============================\n\n\n var _useState11 = useState(null),\n _useState12 = _slicedToArray(_useState11, 2),\n containerWidth = _useState12[0],\n setContainerWidth = _useState12[1];\n\n var _useState13 = useState({}),\n _useState14 = _slicedToArray(_useState13, 2),\n forceUpdate = _useState14[1]; // We need force update here since popup dom is render async\n\n\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n\n useLayoutEffect(function () {\n if (triggerOpen) {\n var newWidth = Math.ceil(containerRef.current.offsetWidth);\n\n if (containerWidth !== newWidth) {\n setContainerWidth(newWidth);\n }\n }\n }, [triggerOpen]);\n var popupNode = React.createElement(OptionList, {\n ref: listRef,\n prefixCls: prefixCls,\n id: mergedId,\n open: mergedOpen,\n childrenAsData: !options,\n options: displayOptions,\n flattenOptions: displayFlattenOptions,\n multiple: isMultiple,\n values: rawValues,\n height: listHeight,\n itemHeight: listItemHeight,\n onSelect: onInternalOptionSelect,\n onToggleOpen: onToggleOpen,\n onActiveValue: onActiveValue,\n defaultActiveFirstOption: mergedDefaultActiveFirstOption,\n notFoundContent: notFoundContent,\n onScroll: onPopupScroll,\n searchValue: mergedSearchValue,\n menuItemSelectedIcon: menuItemSelectedIcon,\n virtual: virtual !== false && dropdownMatchSelectWidth !== false,\n onMouseEnter: onPopupMouseEnter\n }); // ============================= Clear ==============================\n\n var clearNode;\n\n var onClearMouseDown = function onClearMouseDown() {\n // Trigger internal `onClear` event\n if (useInternalProps && internalProps.onClear) {\n internalProps.onClear();\n }\n\n if (onClear) {\n onClear();\n }\n\n triggerChange([]);\n triggerSearch('', false, false);\n };\n\n if (!disabled && allowClear && (mergedRawValue.length || mergedSearchValue)) {\n clearNode = React.createElement(TransBtn, {\n className: \"\".concat(prefixCls, \"-clear\"),\n onMouseDown: onClearMouseDown,\n customizeIcon: clearIcon\n }, \"\\xD7\");\n } // ============================= Arrow ==============================\n\n\n var mergedShowArrow = showArrow !== undefined ? showArrow : loading || !isMultiple && mode !== 'combobox';\n var arrowNode;\n\n if (mergedShowArrow) {\n arrowNode = React.createElement(TransBtn, {\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), _defineProperty({}, \"\".concat(prefixCls, \"-arrow-loading\"), loading)),\n customizeIcon: inputIcon,\n customizeIconProps: {\n loading: loading,\n searchValue: mergedSearchValue,\n open: mergedOpen,\n focused: mockFocused,\n showSearch: mergedShowSearch\n }\n });\n } // ============================ Warning =============================\n\n\n if (process.env.NODE_ENV !== 'production' && warningProps) {\n warningProps(props);\n } // ============================= Render =============================\n\n\n var mergedClassName = classNames(prefixCls, className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-focused\"), mockFocused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-multiple\"), isMultiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-single\"), !isMultiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-allow-clear\"), allowClear), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-arrow\"), mergedShowArrow), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-loading\"), loading), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-open\"), mergedOpen), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-customize-input\"), customizeInputElement), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-search\"), mergedShowSearch), _classNames2));\n return React.createElement(\"div\", Object.assign({\n className: mergedClassName\n }, domProps, {\n ref: containerRef,\n onMouseDown: onInternalMouseDown,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onFocus: onContainerFocus,\n onBlur: onContainerBlur\n }), mockFocused && !mergedOpen && React.createElement(\"span\", {\n style: {\n width: 0,\n height: 0,\n display: 'flex',\n overflow: 'hidden',\n opacity: 0\n },\n \"aria-live\": \"polite\"\n }, \"\".concat(mergedRawValue.join(', '))), React.createElement(SelectTrigger, {\n ref: triggerRef,\n disabled: disabled,\n prefixCls: prefixCls,\n visible: triggerOpen,\n popupElement: popupNode,\n containerWidth: containerWidth,\n animation: animation,\n transitionName: transitionName,\n dropdownStyle: dropdownStyle,\n dropdownClassName: dropdownClassName,\n direction: direction,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n dropdownRender: dropdownRender,\n dropdownAlign: dropdownAlign,\n getPopupContainer: getPopupContainer,\n empty: !mergedOptions.length,\n getTriggerDOMNode: function getTriggerDOMNode() {\n return selectorDomRef.current;\n }\n }, React.createElement(Selector, Object.assign({}, props, {\n domRef: selectorDomRef,\n prefixCls: prefixCls,\n inputElement: customizeInputElement,\n ref: selectorRef,\n id: mergedId,\n showSearch: mergedShowSearch,\n mode: mode,\n accessibilityIndex: accessibilityIndex,\n multiple: isMultiple,\n tagRender: tagRender,\n values: displayValues,\n open: mergedOpen,\n onToggleOpen: onToggleOpen,\n searchValue: mergedSearchValue,\n activeValue: activeValue,\n onSearch: triggerSearch,\n onSearchSubmit: onSearchSubmit,\n onSelect: onInternalSelectionSelect,\n tokenWithEnter: tokenWithEnter\n }))), arrowNode, clearNode);\n }\n\n var RefSelect = React.forwardRef(Select);\n return RefSelect;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport warning, { noteOnce } from \"rc-util/es/warning\";\nimport toNodeArray from \"rc-util/es/Children/toArray\";\nimport { convertChildrenToData } from './legacyUtil';\nimport { toArray } from './commonUtil';\n\nfunction warningProps(props) {\n var mode = props.mode,\n options = props.options,\n children = props.children,\n backfill = props.backfill,\n allowClear = props.allowClear,\n placeholder = props.placeholder,\n getInputElement = props.getInputElement,\n showSearch = props.showSearch,\n onSearch = props.onSearch,\n defaultOpen = props.defaultOpen,\n autoFocus = props.autoFocus,\n labelInValue = props.labelInValue,\n value = props.value,\n inputValue = props.inputValue,\n optionLabelProp = props.optionLabelProp;\n var multiple = mode === 'multiple' || mode === 'tags';\n var mergedShowSearch = showSearch !== undefined ? showSearch : multiple || mode === 'combobox';\n var mergedOptions = options || convertChildrenToData(children); // `tags` should not set option as disabled\n\n warning(mode !== 'tags' || mergedOptions.every(function (opt) {\n return !opt.disabled;\n }), 'Please avoid setting option to disabled in tags mode since user can always type text as tag.'); // `combobox` & `tags` should option be `string` type\n\n if (mode === 'tags' || mode === 'combobox') {\n var hasNumberValue = mergedOptions.some(function (item) {\n if (item.options) {\n return item.options.some(function (opt) {\n return typeof ('value' in opt ? opt.value : opt.key) === 'number';\n });\n }\n\n return typeof ('value' in item ? item.value : item.key) === 'number';\n });\n warning(!hasNumberValue, '`value` of Option should not use number type when `mode` is `tags` or `combobox`.');\n } // `combobox` should not use `optionLabelProp`\n\n\n warning(mode !== 'combobox' || !optionLabelProp, '`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly.'); // Only `combobox` support `backfill`\n\n warning(mode === 'combobox' || !backfill, '`backfill` only works with `combobox` mode.'); // Only `combobox` support `getInputElement`\n\n warning(mode === 'combobox' || !getInputElement, '`getInputElement` only work with `combobox` mode.'); // Customize `getInputElement` should not use `allowClear` & `placeholder`\n\n noteOnce(mode !== 'combobox' || !getInputElement || !allowClear || !placeholder, 'Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`.'); // `onSearch` should use in `combobox` or `showSearch`\n\n if (onSearch && !mergedShowSearch && mode !== 'combobox' && mode !== 'tags') {\n warning(false, '`onSearch` should work with `showSearch` instead of use alone.');\n }\n\n noteOnce(!defaultOpen || autoFocus, '`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed.');\n\n if (value !== undefined && value !== null) {\n var values = toArray(value);\n warning(!labelInValue || values.every(function (val) {\n return _typeof(val) === 'object' && ('key' in val || 'value' in val);\n }), '`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`');\n warning(!multiple || Array.isArray(value), '`value` should be array when `mode` is `multiple` or `tags`');\n } // Syntactic sugar should use correct children type\n\n\n if (children) {\n var invalidateChildType = null;\n toNodeArray(children).some(function (node) {\n if (!React.isValidElement(node) || !node.type) {\n return false;\n }\n\n var type = node.type;\n\n if (type.isSelectOption) {\n return false;\n }\n\n if (type.isSelectOptGroup) {\n var allChildrenValid = toNodeArray(node.props.children).every(function (subNode) {\n if (!React.isValidElement(subNode) || !node.type || subNode.type.isSelectOption) {\n return true;\n }\n\n invalidateChildType = subNode.type;\n return false;\n });\n\n if (allChildrenValid) {\n return false;\n }\n\n return true;\n }\n\n invalidateChildType = type;\n return true;\n });\n\n if (invalidateChildType) {\n warning(false, \"`children` should be `Select.Option` or `Select.OptGroup` instead of `\".concat(invalidateChildType.displayName || invalidateChildType.name || invalidateChildType, \"`.\"));\n }\n\n warning(inputValue === undefined, '`inputValue` is deprecated, please use `searchValue` instead.');\n }\n}\n\nexport default warningProps;","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\";\n/**\n * To match accessibility requirement, we always provide an input in the component.\n * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.\n * For focused select, we set `aria-live=\"polite\"` to update the accessibility content.\n *\n * ref:\n * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions\n *\n * New api:\n * - listHeight\n * - listItemHeight\n * - component\n *\n * Remove deprecated api:\n * - multiple\n * - tags\n * - combobox\n * - firstActiveValue\n * - dropdownMenuStyle\n * - openClassName (Not list in api)\n *\n * Update:\n * - `backfill` only support `combobox` mode\n * - `combobox` mode not support `labelInValue` since it's meaningless\n * - `getInputElement` only support `combobox` mode\n * - `onChange` return OptionData instead of ReactNode\n * - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode\n * - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option\n * - `combobox` mode not support `optionLabelProp`\n */\n\nimport * as React from 'react';\nimport SelectOptionList from './OptionList';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nimport { convertChildrenToData as convertSelectChildrenToData } from './utils/legacyUtil';\nimport { getLabeledValue as getSelectLabeledValue, filterOptions as selectDefaultFilterOptions, isValueDisabled as isSelectValueDisabled, findValueOption as findSelectValueOption, flattenOptions, fillOptionsWithMissingValue } from './utils/valueUtil';\nimport generateSelector from './generate';\nimport warningProps from './utils/warningPropsUtil';\nvar RefSelect = generateSelector({\n prefixCls: 'rc-select',\n components: {\n optionList: SelectOptionList\n },\n convertChildrenToData: convertSelectChildrenToData,\n flattenOptions: flattenOptions,\n getLabeledValue: getSelectLabeledValue,\n filterOptions: selectDefaultFilterOptions,\n isValueDisabled: isSelectValueDisabled,\n findValueOption: findSelectValueOption,\n warningProps: warningProps,\n fillOptionsWithMissingValue: fillOptionsWithMissingValue\n});\n/**\n * Typescript not support generic with function component,\n * we have to wrap an class component to handle this.\n */\n\nvar Select = /*#__PURE__*/function (_React$Component) {\n _inherits(Select, _React$Component);\n\n var _super = _createSuper(Select);\n\n function Select() {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _super.apply(this, arguments);\n _this.selectRef = React.createRef();\n\n _this.focus = function () {\n _this.selectRef.current.focus();\n };\n\n _this.blur = function () {\n _this.selectRef.current.blur();\n };\n\n return _this;\n }\n\n _createClass(Select, [{\n key: \"render\",\n value: function render() {\n return React.createElement(RefSelect, Object.assign({\n ref: this.selectRef\n }, this.props));\n }\n }]);\n\n return Select;\n}(React.Component);\n\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nexport default Select;","export var INTERNAL_PROPS_MARK = 'RC_SELECT_INTERNAL_PROPS_MARK';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Similar with `useLock`, but this hook will always execute last value.\n * When set to `true`, it will keep `true` for a short time even if `false` is set.\n */\n\nexport default function useDelayReset() {\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n bool = _React$useState2[0],\n setBool = _React$useState2[1];\n\n var delayRef = React.useRef(null);\n\n var cancelLatest = function cancelLatest() {\n window.clearTimeout(delayRef.current);\n };\n\n React.useEffect(function () {\n return cancelLatest;\n }, []);\n\n var delaySetBool = function delaySetBool(value, callback) {\n cancelLatest();\n delayRef.current = window.setTimeout(function () {\n setBool(value);\n\n if (callback) {\n callback();\n }\n }, timeout);\n };\n\n return [bool, delaySetBool, cancelLatest];\n}","import * as React from 'react';\nexport default function useCacheOptions(values, options) {\n var prevOptionMapRef = React.useRef(null);\n var optionMap = React.useMemo(function () {\n var map = new Map();\n options.forEach(function (item) {\n var value = item.data.value;\n map.set(value, item);\n });\n return map;\n }, [values, options]);\n prevOptionMapRef.current = optionMap;\n\n var getValueOption = function getValueOption(vals) {\n return vals.map(function (value) {\n return prevOptionMapRef.current.get(value);\n }).filter(Boolean);\n };\n\n return getValueOption;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nexport default function useCacheDisplayValue(values) {\n var prevValuesRef = React.useRef(values);\n var mergedValues = React.useMemo(function () {\n // Create value - label map\n var valueLabels = new Map();\n prevValuesRef.current.forEach(function (_ref) {\n var value = _ref.value,\n label = _ref.label;\n\n if (value !== label) {\n valueLabels.set(value, label);\n }\n });\n var resultValues = values.map(function (item) {\n var cacheLabel = valueLabels.get(item.value);\n\n if (item.value === item.label && cacheLabel) {\n return _objectSpread(_objectSpread({}, item), {}, {\n label: cacheLabel\n });\n }\n\n return item;\n });\n prevValuesRef.current = resultValues;\n return resultValues;\n }, [values]);\n return mergedValues;\n}","import * as React from 'react';\nexport default function useSelectTriggerControl(elements, open, triggerOpen) {\n var propsRef = React.useRef(null);\n propsRef.current = {\n elements: elements.filter(function (e) {\n return e;\n }),\n open: open,\n triggerOpen: triggerOpen\n };\n React.useEffect(function () {\n function onGlobalMouseDown(event) {\n var target = event.target;\n\n if (propsRef.current.open && propsRef.current.elements.every(function (element) {\n return !element.contains(target) && element !== target;\n })) {\n // Should trigger close\n propsRef.current.triggerOpen(false);\n }\n }\n\n window.addEventListener('mousedown', onGlobalMouseDown);\n return function () {\n return window.removeEventListener('mousedown', onGlobalMouseDown);\n };\n }, []);\n}","import Select from './Select';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nexport { Option, OptGroup };\nexport default Select;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\"; // TODO: 4.0 - codemod should help to change `filterOption` to support node props.\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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\nimport * as React from 'react';\nimport omit from 'omit.js';\nimport classNames from 'classnames';\nimport RcSelect, { Option, OptGroup } from 'rc-select';\nimport { ConfigContext } from '../config-provider';\nimport getIcons from './utils/iconUtil';\nimport SizeContext from '../config-provider/SizeContext';\nvar SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\n\nvar InternalSelect = function InternalSelect(_a, ref) {\n var _classNames2;\n\n var customizePrefixCls = _a.prefixCls,\n _a$bordered = _a.bordered,\n bordered = _a$bordered === void 0 ? true : _a$bordered,\n className = _a.className,\n getPopupContainer = _a.getPopupContainer,\n dropdownClassName = _a.dropdownClassName,\n _a$listHeight = _a.listHeight,\n listHeight = _a$listHeight === void 0 ? 256 : _a$listHeight,\n _a$listItemHeight = _a.listItemHeight,\n listItemHeight = _a$listItemHeight === void 0 ? 24 : _a$listItemHeight,\n customizeSize = _a.size,\n notFoundContent = _a.notFoundContent,\n _a$transitionName = _a.transitionName,\n transitionName = _a$transitionName === void 0 ? 'slide-up' : _a$transitionName,\n props = __rest(_a, [\"prefixCls\", \"bordered\", \"className\", \"getPopupContainer\", \"dropdownClassName\", \"listHeight\", \"listItemHeight\", \"size\", \"notFoundContent\", \"transitionName\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n renderEmpty = _React$useContext.renderEmpty,\n direction = _React$useContext.direction,\n virtual = _React$useContext.virtual,\n dropdownMatchSelectWidth = _React$useContext.dropdownMatchSelectWidth;\n\n var size = React.useContext(SizeContext);\n var prefixCls = getPrefixCls('select', customizePrefixCls);\n var mode = React.useMemo(function () {\n var m = props.mode;\n\n if (m === 'combobox') {\n return undefined;\n }\n\n if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return 'combobox';\n }\n\n return m;\n }, [props.mode]);\n var isMultiple = mode === 'multiple' || mode === 'tags'; // ===================== Empty =====================\n\n var mergedNotFound;\n\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent;\n } else if (mode === 'combobox') {\n mergedNotFound = null;\n } else {\n mergedNotFound = renderEmpty('Select');\n } // ===================== Icons =====================\n\n\n var _getIcons = getIcons(_extends(_extends({}, props), {\n multiple: isMultiple,\n prefixCls: prefixCls\n })),\n suffixIcon = _getIcons.suffixIcon,\n itemIcon = _getIcons.itemIcon,\n removeIcon = _getIcons.removeIcon,\n clearIcon = _getIcons.clearIcon;\n\n var selectProps = omit(props, ['suffixIcon', 'itemIcon']);\n var rcSelectRtlDropDownClassName = classNames(dropdownClassName, _defineProperty({}, \"\".concat(prefixCls, \"-dropdown-\").concat(direction), direction === 'rtl'));\n var mergedSize = customizeSize || size;\n var mergedClassName = classNames((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-lg\"), mergedSize === 'large'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-sm\"), mergedSize === 'small'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-borderless\"), !bordered), _classNames2), className);\n return /*#__PURE__*/React.createElement(RcSelect, _extends({\n ref: ref,\n virtual: virtual,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth\n }, selectProps, {\n transitionName: transitionName,\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n mode: mode,\n prefixCls: prefixCls,\n direction: direction,\n inputIcon: suffixIcon,\n menuItemSelectedIcon: itemIcon,\n removeIcon: removeIcon,\n clearIcon: clearIcon,\n notFoundContent: mergedNotFound,\n className: mergedClassName,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: rcSelectRtlDropDownClassName\n }));\n};\n\nvar SelectRef = /*#__PURE__*/React.forwardRef(InternalSelect);\nvar Select = SelectRef;\nSelect.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE;\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nexport default Select;","import * as React from 'react';\nimport DownOutlined from '@ant-design/icons/DownOutlined';\nimport LoadingOutlined from '@ant-design/icons/LoadingOutlined';\nimport CheckOutlined from '@ant-design/icons/CheckOutlined';\nimport CloseOutlined from '@ant-design/icons/CloseOutlined';\nimport CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';\nimport SearchOutlined from '@ant-design/icons/SearchOutlined';\nexport default function getIcons(_ref) {\n var suffixIcon = _ref.suffixIcon,\n clearIcon = _ref.clearIcon,\n menuItemSelectedIcon = _ref.menuItemSelectedIcon,\n removeIcon = _ref.removeIcon,\n loading = _ref.loading,\n multiple = _ref.multiple,\n prefixCls = _ref.prefixCls; // Clear Icon\n\n var mergedClearIcon = clearIcon;\n\n if (!clearIcon) {\n mergedClearIcon = /*#__PURE__*/React.createElement(CloseCircleFilled, null);\n } // Arrow item icon\n\n\n var mergedSuffixIcon = null;\n\n if (suffixIcon !== undefined) {\n mergedSuffixIcon = suffixIcon;\n } else if (loading) {\n mergedSuffixIcon = /*#__PURE__*/React.createElement(LoadingOutlined, {\n spin: true\n });\n } else {\n var iconCls = \"\".concat(prefixCls, \"-suffix\");\n\n mergedSuffixIcon = function mergedSuffixIcon(_ref2) {\n var open = _ref2.open,\n showSearch = _ref2.showSearch;\n\n if (open && showSearch) {\n return /*#__PURE__*/React.createElement(SearchOutlined, {\n className: iconCls\n });\n }\n\n return /*#__PURE__*/React.createElement(DownOutlined, {\n className: iconCls\n });\n };\n } // Checked item icon\n\n\n var mergedItemIcon = null;\n\n if (menuItemSelectedIcon !== undefined) {\n mergedItemIcon = menuItemSelectedIcon;\n } else if (multiple) {\n mergedItemIcon = /*#__PURE__*/React.createElement(CheckOutlined, null);\n } else {\n mergedItemIcon = null;\n }\n\n var mergedRemoveIcon = null;\n\n if (removeIcon !== undefined) {\n mergedRemoveIcon = removeIcon;\n } else {\n mergedRemoveIcon = /*#__PURE__*/React.createElement(CloseOutlined, null);\n }\n\n return {\n clearIcon: mergedClearIcon,\n suffixIcon: mergedSuffixIcon,\n itemIcon: mergedItemIcon,\n removeIcon: mergedRemoveIcon\n };\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from 'react';\nimport Select from '../select';\n\nvar MiniSelect = function MiniSelect(props) {\n return /*#__PURE__*/React.createElement(Select, _extends({\n size: \"small\"\n }, props));\n};\n\nMiniSelect.Option = Select.Option;\nexport default MiniSelect;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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\nimport * as React from 'react';\nimport RcPagination from 'rc-pagination';\nimport enUS from \"rc-pagination/es/locale/en_US\";\nimport classNames from 'classnames';\nimport LeftOutlined from '@ant-design/icons/LeftOutlined';\nimport RightOutlined from '@ant-design/icons/RightOutlined';\nimport DoubleLeftOutlined from '@ant-design/icons/DoubleLeftOutlined';\nimport DoubleRightOutlined from '@ant-design/icons/DoubleRightOutlined';\nimport MiniSelect from './MiniSelect';\nimport Select from '../select';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { ConfigContext } from '../config-provider';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\n\nvar Pagination = function Pagination(_a) {\n var customizePrefixCls = _a.prefixCls,\n customizeSelectPrefixCls = _a.selectPrefixCls,\n className = _a.className,\n size = _a.size,\n customLocale = _a.locale,\n restProps = __rest(_a, [\"prefixCls\", \"selectPrefixCls\", \"className\", \"size\", \"locale\"]);\n\n var _useBreakpoint = useBreakpoint(),\n xs = _useBreakpoint.xs;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var prefixCls = getPrefixCls('pagination', customizePrefixCls);\n\n var getIconsProps = function getIconsProps() {\n var ellipsis = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-item-ellipsis\")\n }, \"\\u2022\\u2022\\u2022\");\n var prevIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: \"\".concat(prefixCls, \"-item-link\"),\n type: \"button\",\n tabIndex: -1\n }, /*#__PURE__*/React.createElement(LeftOutlined, null));\n var nextIcon = /*#__PURE__*/React.createElement(\"button\", {\n className: \"\".concat(prefixCls, \"-item-link\"),\n type: \"button\",\n tabIndex: -1\n }, /*#__PURE__*/React.createElement(RightOutlined, null));\n var jumpPrevIcon = /*#__PURE__*/React.createElement(\"a\", {\n className: \"\".concat(prefixCls, \"-item-link\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-container\")\n }, /*#__PURE__*/React.createElement(DoubleLeftOutlined, {\n className: \"\".concat(prefixCls, \"-item-link-icon\")\n }), ellipsis));\n var jumpNextIcon = /*#__PURE__*/React.createElement(\"a\", {\n className: \"\".concat(prefixCls, \"-item-link\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-container\")\n }, /*#__PURE__*/React.createElement(DoubleRightOutlined, {\n className: \"\".concat(prefixCls, \"-item-link-icon\")\n }), ellipsis)); // change arrows direction in right-to-left direction\n\n if (direction === 'rtl') {\n var _ref = [nextIcon, prevIcon];\n prevIcon = _ref[0];\n nextIcon = _ref[1];\n var _ref2 = [jumpNextIcon, jumpPrevIcon];\n jumpPrevIcon = _ref2[0];\n jumpNextIcon = _ref2[1];\n }\n\n return {\n prevIcon: prevIcon,\n nextIcon: nextIcon,\n jumpPrevIcon: jumpPrevIcon,\n jumpNextIcon: jumpNextIcon\n };\n };\n\n var renderPagination = function renderPagination(contextLocale) {\n var locale = _extends(_extends({}, contextLocale), customLocale);\n\n var isSmall = size === 'small' || !!(xs && !size && restProps.responsive);\n var selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);\n var extendedClassName = classNames(_defineProperty({\n mini: isSmall\n }, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), className);\n return /*#__PURE__*/React.createElement(RcPagination, _extends({}, restProps, {\n prefixCls: prefixCls,\n selectPrefixCls: selectPrefixCls\n }, getIconsProps(), {\n className: extendedClassName,\n selectComponentClass: isSmall ? MiniSelect : Select,\n locale: locale\n }));\n };\n\n return /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Pagination\",\n defaultLocale: enUS\n }, renderPagination);\n};\n\nexport default Pagination;","import Pagination from './Pagination';\nexport default Pagination;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ListContext } from './index';\nimport { Col } from '../grid';\nimport { ConfigContext } from '../config-provider';\nimport { cloneElement } from '../_util/reactNode';\nexport var Meta = function Meta(_a) {\n var customizePrefixCls = _a.prefixCls,\n className = _a.className,\n avatar = _a.avatar,\n title = _a.title,\n description = _a.description,\n others = __rest(_a, [\"prefixCls\", \"className\", \"avatar\", \"title\", \"description\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('list', customizePrefixCls);\n var classString = classNames(\"\".concat(prefixCls, \"-item-meta\"), className);\n var content = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-meta-content\")\n }, title && /*#__PURE__*/React.createElement(\"h4\", {\n className: \"\".concat(prefixCls, \"-item-meta-title\")\n }, title), description && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-meta-description\")\n }, description));\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classString\n }), avatar && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-meta-avatar\")\n }, avatar), (title || description) && content);\n};\n\nvar Item = function Item(_a) {\n var customizePrefixCls = _a.prefixCls,\n children = _a.children,\n actions = _a.actions,\n extra = _a.extra,\n className = _a.className,\n colStyle = _a.colStyle,\n others = __rest(_a, [\"prefixCls\", \"children\", \"actions\", \"extra\", \"className\", \"colStyle\"]);\n\n var _React$useContext2 = React.useContext(ListContext),\n grid = _React$useContext2.grid,\n itemLayout = _React$useContext2.itemLayout;\n\n var _React$useContext3 = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext3.getPrefixCls;\n\n var isItemContainsTextNodeAndNotSingular = function isItemContainsTextNodeAndNotSingular() {\n var result;\n React.Children.forEach(children, function (element) {\n if (typeof element === 'string') {\n result = true;\n }\n });\n return result && React.Children.count(children) > 1;\n };\n\n var isFlexMode = function isFlexMode() {\n if (itemLayout === 'vertical') {\n return !!extra;\n }\n\n return !isItemContainsTextNodeAndNotSingular();\n };\n\n var prefixCls = getPrefixCls('list', customizePrefixCls);\n var actionsContent = actions && actions.length > 0 && /*#__PURE__*/React.createElement(\"ul\", {\n className: \"\".concat(prefixCls, \"-item-action\"),\n key: \"actions\"\n }, actions.map(function (action, i) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n key: \"\".concat(prefixCls, \"-item-action-\").concat(i)\n }, action, i !== actions.length - 1 && /*#__PURE__*/React.createElement(\"em\", {\n className: \"\".concat(prefixCls, \"-item-action-split\")\n }))\n );\n }));\n var Element = grid ? 'div' : 'li';\n var itemChildren = /*#__PURE__*/React.createElement(Element, _extends({}, others, {\n // `li` element `onCopy` prop args is not same as `div`\n className: classNames(\"\".concat(prefixCls, \"-item\"), _defineProperty({}, \"\".concat(prefixCls, \"-item-no-flex\"), !isFlexMode()), className)\n }), itemLayout === 'vertical' && extra ? [/*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-main\"),\n key: \"content\"\n }, children, actionsContent), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-extra\"),\n key: \"extra\"\n }, extra)] : [children, actionsContent, cloneElement(extra, {\n key: 'extra'\n })]);\n return grid ? /*#__PURE__*/React.createElement(Col, {\n flex: 1,\n style: colStyle\n }, itemChildren) : itemChildren;\n};\n\nItem.Meta = Meta;\nexport default Item;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Spin from '../spin';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\nimport { responsiveArray } from '../_util/responsiveObserve';\nimport { ConfigContext } from '../config-provider';\nimport Pagination from '../pagination';\nimport { Row } from '../grid';\nimport Item from './Item';\nexport var ListContext = /*#__PURE__*/React.createContext({});\nexport var ListConsumer = ListContext.Consumer;\n\nfunction List(_a) {\n var _classNames;\n\n var _a$pagination = _a.pagination,\n pagination = _a$pagination === void 0 ? false : _a$pagination,\n customizePrefixCls = _a.prefixCls,\n _a$bordered = _a.bordered,\n bordered = _a$bordered === void 0 ? false : _a$bordered,\n _a$split = _a.split,\n split = _a$split === void 0 ? true : _a$split,\n className = _a.className,\n children = _a.children,\n itemLayout = _a.itemLayout,\n loadMore = _a.loadMore,\n grid = _a.grid,\n _a$dataSource = _a.dataSource,\n dataSource = _a$dataSource === void 0 ? [] : _a$dataSource,\n size = _a.size,\n header = _a.header,\n footer = _a.footer,\n _a$loading = _a.loading,\n loading = _a$loading === void 0 ? false : _a$loading,\n rowKey = _a.rowKey,\n renderItem = _a.renderItem,\n locale = _a.locale,\n rest = __rest(_a, [\"pagination\", \"prefixCls\", \"bordered\", \"split\", \"className\", \"children\", \"itemLayout\", \"loadMore\", \"grid\", \"dataSource\", \"size\", \"header\", \"footer\", \"loading\", \"rowKey\", \"renderItem\", \"locale\"]);\n\n var paginationObj = pagination && _typeof(pagination) === 'object' ? pagination : {};\n\n var _React$useState = React.useState(paginationObj.defaultCurrent || 1),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n paginationCurrent = _React$useState2[0],\n setPaginationCurrent = _React$useState2[1];\n\n var _React$useState3 = React.useState(paginationObj.defaultPageSize || 10),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n paginationSize = _React$useState4[0],\n setPaginationSize = _React$useState4[1];\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n renderEmpty = _React$useContext.renderEmpty,\n direction = _React$useContext.direction;\n\n var defaultPaginationProps = {\n current: 1,\n total: 0\n };\n var keys = {};\n\n var triggerPaginationEvent = function triggerPaginationEvent(eventName) {\n return function (page, pageSize) {\n setPaginationCurrent(page);\n setPaginationSize(pageSize);\n\n if (pagination && pagination[eventName]) {\n pagination[eventName](page, pageSize);\n }\n };\n };\n\n var onPaginationChange = triggerPaginationEvent('onChange');\n var onPaginationShowSizeChange = triggerPaginationEvent('onShowSizeChange');\n\n var renderInnerItem = function renderInnerItem(item, index) {\n if (!renderItem) return null;\n var key;\n\n if (typeof rowKey === 'function') {\n key = rowKey(item);\n } else if (typeof rowKey === 'string') {\n key = item[rowKey];\n } else {\n key = item.key;\n }\n\n if (!key) {\n key = \"list-item-\".concat(index);\n }\n\n keys[index] = key;\n return renderItem(item, index);\n };\n\n var isSomethingAfterLastItem = function isSomethingAfterLastItem() {\n return !!(loadMore || pagination || footer);\n };\n\n var renderEmptyFunc = function renderEmptyFunc(prefixCls, renderEmptyHandler) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-empty-text\")\n }, locale && locale.emptyText || renderEmptyHandler('List'));\n };\n\n var prefixCls = getPrefixCls('list', customizePrefixCls);\n var loadingProp = loading;\n\n if (typeof loadingProp === 'boolean') {\n loadingProp = {\n spinning: loadingProp\n };\n }\n\n var isLoading = loadingProp && loadingProp.spinning; // large => lg\n // small => sm\n\n var sizeCls = '';\n\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n\n case 'small':\n sizeCls = 'sm';\n break;\n\n default:\n break;\n }\n\n var classString = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-vertical\"), itemLayout === 'vertical'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(sizeCls), sizeCls), _defineProperty(_classNames, \"\".concat(prefixCls, \"-split\"), split), _defineProperty(_classNames, \"\".concat(prefixCls, \"-bordered\"), bordered), _defineProperty(_classNames, \"\".concat(prefixCls, \"-loading\"), isLoading), _defineProperty(_classNames, \"\".concat(prefixCls, \"-grid\"), grid), _defineProperty(_classNames, \"\".concat(prefixCls, \"-something-after-last-item\"), isSomethingAfterLastItem()), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n\n var paginationProps = _extends(_extends(_extends({}, defaultPaginationProps), {\n total: dataSource.length,\n current: paginationCurrent,\n pageSize: paginationSize\n }), pagination || {});\n\n var largestPage = Math.ceil(paginationProps.total / paginationProps.pageSize);\n\n if (paginationProps.current > largestPage) {\n paginationProps.current = largestPage;\n }\n\n var paginationContent = pagination ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-pagination\")\n }, /*#__PURE__*/React.createElement(Pagination, _extends({}, paginationProps, {\n onChange: onPaginationChange,\n onShowSizeChange: onPaginationShowSizeChange\n }))) : null;\n\n var splitDataSource = _toConsumableArray(dataSource);\n\n if (pagination) {\n if (dataSource.length > (paginationProps.current - 1) * paginationProps.pageSize) {\n splitDataSource = _toConsumableArray(dataSource).splice((paginationProps.current - 1) * paginationProps.pageSize, paginationProps.pageSize);\n }\n }\n\n var screens = useBreakpoint();\n var currentBreakpoint = React.useMemo(function () {\n for (var i = 0; i < responsiveArray.length; i += 1) {\n var breakpoint = responsiveArray[i];\n\n if (screens[breakpoint]) {\n return breakpoint;\n }\n }\n\n return undefined;\n }, [screens]);\n var colStyle = React.useMemo(function () {\n if (!grid) {\n return undefined;\n }\n\n var columnCount = currentBreakpoint && grid[currentBreakpoint] ? grid[currentBreakpoint] : grid.column;\n\n if (columnCount) {\n return {\n width: \"\".concat(100 / columnCount, \"%\"),\n maxWidth: \"\".concat(100 / columnCount, \"%\")\n };\n }\n }, [grid === null || grid === void 0 ? void 0 : grid.column, currentBreakpoint]);\n var childrenContent = isLoading && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n minHeight: 53\n }\n });\n\n if (splitDataSource.length > 0) {\n var items = splitDataSource.map(function (item, index) {\n return renderInnerItem(item, index);\n });\n var childrenList = React.Children.map(items, function (child, index) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: keys[index],\n style: colStyle\n }, child);\n });\n childrenContent = grid ? /*#__PURE__*/React.createElement(Row, {\n gutter: grid.gutter\n }, childrenList) : /*#__PURE__*/React.createElement(\"ul\", {\n className: \"\".concat(prefixCls, \"-items\")\n }, items);\n } else if (!children && !isLoading) {\n childrenContent = renderEmptyFunc(prefixCls, renderEmpty);\n }\n\n var paginationPosition = paginationProps.position || 'bottom';\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: {\n grid: grid,\n itemLayout: itemLayout\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classString\n }, rest), (paginationPosition === 'top' || paginationPosition === 'both') && paginationContent, header && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-header\")\n }, header), /*#__PURE__*/React.createElement(Spin, loadingProp, childrenContent, children), footer && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, footer), loadMore || (paginationPosition === 'bottom' || paginationPosition === 'both') && paginationContent));\n}\n\nList.Item = Item;\nexport default List;","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar DownOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\"\n }\n }]\n },\n \"name\": \"down\",\n \"theme\": \"outlined\"\n};\nexports.default = DownOutlined;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _SearchOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/SearchOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar SearchOutlined = function SearchOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _SearchOutlined.default\n }));\n};\n\nSearchOutlined.displayName = 'SearchOutlined';\n\nvar _default = React.forwardRef(SearchOutlined);\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _DoubleLeftOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/DoubleLeftOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar DoubleLeftOutlined = function DoubleLeftOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _DoubleLeftOutlined.default\n }));\n};\n\nDoubleLeftOutlined.displayName = 'DoubleLeftOutlined';\n\nvar _default = React.forwardRef(DoubleLeftOutlined);\n\nexports.default = _default;","// Generated by CoffeeScript 1.12.2\n(function () {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if (typeof performance !== \"undefined\" && performance !== null && performance.now) {\n module.exports = function () {\n return performance.now();\n };\n } else if (typeof process !== \"undefined\" && process !== null && process.hrtime) {\n module.exports = function () {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n\n hrtime = process.hrtime;\n\n getNanoSeconds = function getNanoSeconds() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function () {\n return Date.now() - loadTime;\n };\n\n loadTime = Date.now();\n } else {\n module.exports = function () {\n return new Date().getTime() - loadTime;\n };\n\n loadTime = new Date().getTime();\n }\n}).call(this);","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar SearchOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z\"\n }\n }]\n },\n \"name\": \"search\",\n \"theme\": \"outlined\"\n};\nexports.default = SearchOutlined;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\n\nvar Grid = function Grid(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n _props$hoverable = props.hoverable,\n hoverable = _props$hoverable === void 0 ? true : _props$hoverable,\n others = __rest(props, [\"prefixCls\", \"className\", \"hoverable\"]);\n\n var prefixCls = getPrefixCls('card', customizePrefixCls);\n var classString = classNames(\"\".concat(prefixCls, \"-grid\"), className, _defineProperty({}, \"\".concat(prefixCls, \"-grid-hoverable\"), hoverable));\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classString\n }));\n });\n};\n\nexport default Grid;","import _extends from \"@babel/runtime/helpers/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\n\nvar Meta = function Meta(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n avatar = props.avatar,\n title = props.title,\n description = props.description,\n others = __rest(props, [\"prefixCls\", \"className\", \"avatar\", \"title\", \"description\"]);\n\n var prefixCls = getPrefixCls('card', customizePrefixCls);\n var classString = classNames(\"\".concat(prefixCls, \"-meta\"), className);\n var avatarDom = avatar ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-meta-avatar\")\n }, avatar) : null;\n var titleDom = title ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-meta-title\")\n }, title) : null;\n var descriptionDom = description ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-meta-description\")\n }, description) : null;\n var MetaDetail = titleDom || descriptionDom ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-meta-detail\")\n }, titleDom, descriptionDom) : null;\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classString\n }), avatarDom, MetaDetail);\n });\n};\n\nexport default Meta;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\nimport raf from 'raf';\nexport default function useRaf(callback) {\n var rafRef = useRef();\n var removedRef = useRef(false);\n\n function trigger() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (!removedRef.current) {\n raf.cancel(rafRef.current);\n rafRef.current = raf(function () {\n callback.apply(void 0, args);\n });\n }\n }\n\n useEffect(function () {\n return function () {\n removedRef.current = true;\n raf.cancel(rafRef.current);\n };\n }, []);\n return trigger;\n}\nexport function useRafState(defaultState) {\n var batchRef = useRef([]);\n\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n\n var state = useRef(typeof defaultState === 'function' ? defaultState() : defaultState);\n var flushUpdate = useRaf(function () {\n var current = state.current;\n batchRef.current.forEach(function (callback) {\n current = callback(current);\n });\n batchRef.current = [];\n state.current = current;\n forceUpdate({});\n });\n\n function updater(callback) {\n batchRef.current.push(callback);\n flushUpdate();\n }\n\n return [state.current, updater];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\n\nfunction TabNode(_ref, ref) {\n var _classNames;\n\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n active = _ref.active,\n rtl = _ref.rtl,\n _ref$tab = _ref.tab,\n key = _ref$tab.key,\n tab = _ref$tab.tab,\n disabled = _ref$tab.disabled,\n closeIcon = _ref$tab.closeIcon,\n tabBarGutter = _ref.tabBarGutter,\n tabPosition = _ref.tabPosition,\n closable = _ref.closable,\n renderWrapper = _ref.renderWrapper,\n removeAriaLabel = _ref.removeAriaLabel,\n editable = _ref.editable,\n onClick = _ref.onClick,\n onRemove = _ref.onRemove,\n onFocus = _ref.onFocus;\n var tabPrefix = \"\".concat(prefixCls, \"-tab\");\n React.useEffect(function () {\n return onRemove;\n }, []);\n var nodeStyle = {};\n\n if (tabPosition === 'top' || tabPosition === 'bottom') {\n nodeStyle[rtl ? 'marginLeft' : 'marginRight'] = tabBarGutter;\n } else {\n nodeStyle.marginBottom = tabBarGutter;\n }\n\n var removable = editable && closable !== false && !disabled;\n\n function onInternalClick(e) {\n if (disabled) return;\n onClick(e);\n }\n\n function onRemoveTab(event) {\n event.preventDefault();\n event.stopPropagation();\n editable.onEdit('remove', {\n key: key,\n event: event\n });\n }\n\n var node = React.createElement(\"div\", {\n key: key,\n ref: ref,\n className: classNames(tabPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(tabPrefix, \"-with-remove\"), removable), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-active\"), active), _defineProperty(_classNames, \"\".concat(tabPrefix, \"-disabled\"), disabled), _classNames)),\n style: nodeStyle,\n onClick: onInternalClick\n }, React.createElement(\"div\", {\n role: \"tab\",\n \"aria-selected\": active,\n id: id && \"\".concat(id, \"-tab-\").concat(key),\n className: \"\".concat(tabPrefix, \"-btn\"),\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(key),\n \"aria-disabled\": disabled,\n tabIndex: disabled ? null : 0,\n onClick: function onClick(e) {\n e.stopPropagation();\n onInternalClick(e);\n },\n onKeyDown: function onKeyDown(e) {\n if ([KeyCode.SPACE, KeyCode.ENTER].includes(e.which)) {\n e.preventDefault();\n onInternalClick(e);\n }\n },\n onFocus: onFocus\n }, tab), removable && React.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": removeAriaLabel || 'remove',\n tabIndex: 0,\n className: \"\".concat(tabPrefix, \"-remove\"),\n onClick: function onClick(e) {\n e.stopPropagation();\n onRemoveTab(e);\n }\n }, closeIcon || editable.removeIcon || '×'));\n\n if (renderWrapper) {\n node = renderWrapper(node);\n }\n\n return node;\n}\n\nexport default React.forwardRef(TabNode);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n};\nexport default function useOffsets(tabs, tabSizes, holderScrollWidth) {\n return useMemo(function () {\n var _tabs$;\n\n var map = new Map();\n var lastOffset = tabSizes.get((_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key) || DEFAULT_SIZE;\n var rightOffset = lastOffset.left + lastOffset.width;\n\n for (var i = 0; i < tabs.length; i += 1) {\n var key = tabs[i].key;\n var data = tabSizes.get(key); // Reuse last one when not exist yet\n\n if (!data) {\n var _tabs;\n\n data = tabSizes.get((_tabs = tabs[i - 1]) === null || _tabs === void 0 ? void 0 : _tabs.key) || DEFAULT_SIZE;\n }\n\n var entity = map.get(key) || _objectSpread({}, data); // Right\n\n\n entity.right = rightOffset - entity.left - entity.width; // Update entity\n\n map.set(key, entity);\n }\n\n return map;\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), tabSizes, holderScrollWidth]);\n}","import { useMemo } from 'react';\nvar DEFAULT_SIZE = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n right: 0\n};\nexport default function useVisibleRange(tabOffsets, containerSize, tabContentNodeSize, addNodeSize, _ref) {\n var tabs = _ref.tabs,\n tabPosition = _ref.tabPosition,\n rtl = _ref.rtl;\n var unit;\n var position;\n var transformSize;\n\n if (['top', 'bottom'].includes(tabPosition)) {\n unit = 'width';\n position = rtl ? 'right' : 'left';\n transformSize = Math.abs(containerSize.left);\n } else {\n unit = 'height';\n position = 'top';\n transformSize = -containerSize.top;\n }\n\n var basicSize = containerSize[unit];\n var tabContentSize = tabContentNodeSize[unit];\n var addSize = addNodeSize[unit];\n var mergedBasicSize = basicSize;\n\n if (tabContentSize + addSize > basicSize) {\n mergedBasicSize = basicSize - addSize;\n }\n\n return useMemo(function () {\n if (!tabs.length) {\n return [0, 0];\n }\n\n var len = tabs.length;\n var endIndex = len;\n\n for (var i = 0; i < len; i += 1) {\n var offset = tabOffsets.get(tabs[i].key) || DEFAULT_SIZE;\n\n if (offset[position] + offset[unit] > transformSize + mergedBasicSize) {\n endIndex = i - 1;\n break;\n }\n }\n\n var startIndex = 0;\n\n for (var _i = len - 1; _i >= 0; _i -= 1) {\n var _offset = tabOffsets.get(tabs[_i].key) || DEFAULT_SIZE;\n\n if (_offset[position] < transformSize) {\n startIndex = _i + 1;\n break;\n }\n }\n\n return [startIndex, endIndex];\n }, [tabOffsets, transformSize, mergedBasicSize, tabPosition, tabs.map(function (tab) {\n return tab.key;\n }).join('_'), rtl]);\n}","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topCenter: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomCenter: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\nimport Placements from './placements';\n\nfunction Dropdown(props, ref) {\n var _props$arrow = props.arrow,\n arrow = _props$arrow === void 0 ? false : _props$arrow,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,\n transitionName = props.transitionName,\n animation = props.animation,\n align = props.align,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,\n _props$placements = props.placements,\n placements = _props$placements === void 0 ? Placements : _props$placements,\n getPopupContainer = props.getPopupContainer,\n showAction = props.showAction,\n hideAction = props.hideAction,\n overlayClassName = props.overlayClassName,\n overlayStyle = props.overlayStyle,\n visible = props.visible,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n otherProps = _objectWithoutProperties(props, [\"arrow\", \"prefixCls\", \"transitionName\", \"animation\", \"align\", \"placement\", \"placements\", \"getPopupContainer\", \"showAction\", \"hideAction\", \"overlayClassName\", \"overlayStyle\", \"visible\", \"trigger\"]);\n\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n triggerVisible = _React$useState2[0],\n setTriggerVisible = _React$useState2[1];\n\n var mergedVisible = 'visible' in props ? visible : triggerVisible;\n var triggerRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n\n var getOverlayElement = function getOverlayElement() {\n var overlay = props.overlay;\n var overlayElement;\n\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n\n return overlayElement;\n };\n\n var onClick = function onClick(e) {\n var onOverlayClick = props.onOverlayClick;\n var overlayProps = getOverlayElement().props;\n setTriggerVisible(false);\n\n if (onOverlayClick) {\n onOverlayClick(e);\n }\n\n if (overlayProps.onClick) {\n overlayProps.onClick(e);\n }\n };\n\n var onVisibleChange = function onVisibleChange(visible) {\n var onVisibleChange = props.onVisibleChange;\n setTriggerVisible(visible);\n\n if (typeof onVisibleChange === 'function') {\n onVisibleChange(visible);\n }\n };\n\n var getMenuElement = function getMenuElement() {\n var overlayElement = getOverlayElement();\n var extraOverlayProps = {\n prefixCls: \"\".concat(prefixCls, \"-menu\"),\n onClick: onClick\n };\n\n if (typeof overlayElement.type === 'string') {\n delete extraOverlayProps.prefixCls;\n }\n\n return React.createElement(React.Fragment, null, arrow && React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }), React.cloneElement(overlayElement, extraOverlayProps));\n };\n\n var getMenuElementOrLambda = function getMenuElementOrLambda() {\n var overlay = props.overlay;\n\n if (typeof overlay === 'function') {\n return getMenuElement;\n }\n\n return getMenuElement();\n };\n\n var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {\n var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,\n alignPoint = props.alignPoint;\n\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n\n return !alignPoint;\n };\n\n var getOpenClassName = function getOpenClassName() {\n var openClassName = props.openClassName;\n\n if (openClassName !== undefined) {\n return openClassName;\n }\n\n return \"\".concat(prefixCls, \"-open\");\n };\n\n var renderChildren = function renderChildren() {\n var children = props.children;\n var childrenProps = children.props ? children.props : {};\n var childClassName = classNames(childrenProps.className, getOpenClassName());\n return triggerVisible && children ? React.cloneElement(children, {\n className: childClassName\n }) : children;\n };\n\n var triggerHideAction = hideAction;\n\n if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {\n triggerHideAction = ['click'];\n }\n\n return React.createElement(Trigger, Object.assign({}, otherProps, {\n prefixCls: prefixCls,\n ref: triggerRef,\n popupClassName: classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-show-arrow\"), arrow)),\n popupStyle: overlayStyle,\n builtinPlacements: placements,\n action: trigger,\n showAction: showAction,\n hideAction: triggerHideAction || [],\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: mergedVisible,\n stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',\n popup: getMenuElementOrLambda(),\n onPopupVisibleChange: onVisibleChange,\n getPopupContainer: getPopupContainer\n }), renderChildren());\n}\n\nexport default React.forwardRef(Dropdown);","import Dropdown from './Dropdown';\nexport default Dropdown;","import * as React from 'react';\n\nfunction AddButton(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n editable = _ref.editable,\n locale = _ref.locale,\n style = _ref.style;\n\n if (!editable || editable.showAdd === false) {\n return null;\n }\n\n return React.createElement(\"button\", {\n ref: ref,\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-add\"),\n style: style,\n \"aria-label\": (locale === null || locale === void 0 ? void 0 : locale.addAriaLabel) || 'Add tab',\n onClick: function onClick(event) {\n editable.onEdit('add', {\n event: event\n });\n }\n }, editable.addIcon || '+');\n}\n\nexport default React.forwardRef(AddButton);","import _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 { useState, useEffect } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport Menu, { MenuItem } from 'rc-menu';\nimport Dropdown from 'rc-dropdown';\nimport AddButton from './AddButton';\n\nfunction OperationNode(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n tabs = _ref.tabs,\n locale = _ref.locale,\n mobile = _ref.mobile,\n _ref$moreIcon = _ref.moreIcon,\n moreIcon = _ref$moreIcon === void 0 ? 'More' : _ref$moreIcon,\n moreTransitionName = _ref.moreTransitionName,\n style = _ref.style,\n className = _ref.className,\n editable = _ref.editable,\n tabBarGutter = _ref.tabBarGutter,\n rtl = _ref.rtl,\n onTabClick = _ref.onTabClick; // ======================== Dropdown ========================\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n open = _useState2[0],\n setOpen = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedKey = _useState4[0],\n setSelectedKey = _useState4[1];\n\n var popupId = \"\".concat(id, \"-more-popup\");\n var dropdownPrefix = \"\".concat(prefixCls, \"-dropdown\");\n var selectedItemId = selectedKey !== null ? \"\".concat(popupId, \"-\").concat(selectedKey) : null;\n var dropdownAriaLabel = locale === null || locale === void 0 ? void 0 : locale.dropdownAriaLabel;\n var menu = React.createElement(Menu, {\n onClick: function onClick(_ref2) {\n var key = _ref2.key,\n domEvent = _ref2.domEvent;\n onTabClick(key, domEvent);\n setOpen(false);\n },\n id: popupId,\n tabIndex: -1,\n role: \"listbox\",\n \"aria-activedescendant\": selectedItemId,\n selectedKeys: [selectedKey],\n \"aria-label\": dropdownAriaLabel !== undefined ? dropdownAriaLabel : 'expanded dropdown'\n }, tabs.map(function (tab) {\n return React.createElement(MenuItem, {\n key: tab.key,\n id: \"\".concat(popupId, \"-\").concat(tab.key),\n role: \"option\",\n \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(tab.key),\n disabled: tab.disabled\n }, tab.tab);\n }));\n\n function selectOffset(offset) {\n var enabledTabs = tabs.filter(function (tab) {\n return !tab.disabled;\n });\n var selectedIndex = enabledTabs.findIndex(function (tab) {\n return tab.key === selectedKey;\n }) || 0;\n var len = enabledTabs.length;\n\n for (var i = 0; i < len; i += 1) {\n selectedIndex = (selectedIndex + offset + len) % len;\n var tab = enabledTabs[selectedIndex];\n\n if (!tab.disabled) {\n setSelectedKey(tab.key);\n return;\n }\n }\n }\n\n function onKeyDown(e) {\n var which = e.which;\n\n if (!open) {\n if ([KeyCode.DOWN, KeyCode.SPACE, KeyCode.ENTER].includes(which)) {\n setOpen(true);\n e.preventDefault();\n }\n\n return;\n }\n\n switch (which) {\n case KeyCode.UP:\n selectOffset(-1);\n e.preventDefault();\n break;\n\n case KeyCode.DOWN:\n selectOffset(1);\n e.preventDefault();\n break;\n\n case KeyCode.ESC:\n setOpen(false);\n break;\n\n case KeyCode.SPACE:\n case KeyCode.ENTER:\n if (selectedKey !== null) onTabClick(selectedKey, e);\n break;\n }\n } // ========================= Effect =========================\n\n\n useEffect(function () {\n // We use query element here to avoid React strict warning\n var ele = document.getElementById(selectedItemId);\n\n if (ele && ele.scrollIntoView) {\n ele.scrollIntoView(false);\n }\n }, [selectedKey]);\n useEffect(function () {\n if (!open) {\n setSelectedKey(null);\n }\n }, [open]); // ========================= Render =========================\n\n var moreStyle = _defineProperty({}, rtl ? 'marginLeft' : 'marginRight', tabBarGutter);\n\n if (!tabs.length) {\n moreStyle.visibility = 'hidden';\n moreStyle.order = 1;\n }\n\n var overlayClassName = classNames(_defineProperty({}, \"\".concat(dropdownPrefix, \"-rtl\"), rtl));\n var moreNode = mobile ? null : React.createElement(Dropdown, {\n prefixCls: dropdownPrefix,\n overlay: menu,\n trigger: ['hover'],\n visible: open,\n transitionName: moreTransitionName,\n onVisibleChange: setOpen,\n overlayClassName: overlayClassName,\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1\n }, React.createElement(\"button\", {\n type: \"button\",\n className: \"\".concat(prefixCls, \"-nav-more\"),\n style: moreStyle,\n tabIndex: -1,\n \"aria-hidden\": \"true\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": popupId,\n id: \"\".concat(id, \"-more\"),\n \"aria-expanded\": open,\n onKeyDown: onKeyDown\n }, moreIcon));\n return React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-nav-operations\"), className),\n style: style,\n ref: ref\n }, moreNode, React.createElement(AddButton, {\n prefixCls: prefixCls,\n locale: locale,\n editable: editable\n }));\n}\n\nexport default React.forwardRef(OperationNode);","import { createContext } from 'react';\nexport default createContext(null);","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState, useRef } from 'react';\nvar MIN_SWIPE_DISTANCE = 0.1;\nvar STOP_SWIPE_DISTANCE = 0.01;\nvar REFRESH_INTERVAL = 20;\nvar SPEED_OFF_MULTIPLE = Math.pow(0.995, REFRESH_INTERVAL); // ========================= Check if is a mobile =========================\n\nexport function isMobile() {\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.substr(0, 4))) {\n return true;\n }\n\n return false;\n} // ================================= Hook =================================\n\nexport default function useTouchMove(ref, onOffset) {\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n touchPosition = _useState2[0],\n setTouchPosition = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n lastTimestamp = _useState4[0],\n setLastTimestamp = _useState4[1];\n\n var _useState5 = useState(0),\n _useState6 = _slicedToArray(_useState5, 2),\n lastTimeDiff = _useState6[0],\n setLastTimeDiff = _useState6[1];\n\n var _useState7 = useState(),\n _useState8 = _slicedToArray(_useState7, 2),\n lastOffset = _useState8[0],\n setLastOffset = _useState8[1];\n\n var motionRef = useRef(); // ========================= Events =========================\n // >>> Touch events\n\n function onTouchStart(e) {\n var _e$touches$ = e.touches[0],\n screenX = _e$touches$.screenX,\n screenY = _e$touches$.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n window.clearInterval(motionRef.current);\n }\n\n function onTouchMove(e) {\n if (!touchPosition) return;\n e.preventDefault();\n var _e$touches$2 = e.touches[0],\n screenX = _e$touches$2.screenX,\n screenY = _e$touches$2.screenY;\n setTouchPosition({\n x: screenX,\n y: screenY\n });\n var offsetX = screenX - touchPosition.x;\n var offsetY = screenY - touchPosition.y;\n onOffset(offsetX, offsetY);\n var now = Date.now();\n setLastTimestamp(now);\n setLastTimeDiff(now - lastTimestamp);\n setLastOffset({\n x: offsetX,\n y: offsetY\n });\n }\n\n function onTouchEnd() {\n if (!touchPosition) return;\n setTouchPosition(null);\n setLastOffset(null); // Swipe if needed\n\n if (lastOffset) {\n var distanceX = lastOffset.x / lastTimeDiff;\n var distanceY = lastOffset.y / lastTimeDiff;\n var absX = Math.abs(distanceX);\n var absY = Math.abs(distanceY); // Skip swipe if low distance\n\n if (Math.max(absX, absY) < MIN_SWIPE_DISTANCE) return;\n var currentX = distanceX;\n var currentY = distanceY;\n motionRef.current = window.setInterval(function () {\n if (Math.abs(currentX) < STOP_SWIPE_DISTANCE && Math.abs(currentY) < STOP_SWIPE_DISTANCE) {\n window.clearInterval(motionRef.current);\n return;\n }\n\n currentX *= SPEED_OFF_MULTIPLE;\n currentY *= SPEED_OFF_MULTIPLE;\n onOffset(currentX * REFRESH_INTERVAL, currentY * REFRESH_INTERVAL);\n }, REFRESH_INTERVAL);\n }\n } // >>> Wheel event\n\n\n var lastWheelTimestampRef = useRef(0);\n var lastWheelPreventRef = useRef(false);\n var lastWheelDirectionRef = useRef();\n\n function onWheel(e) {\n var deltaX = e.deltaX,\n deltaY = e.deltaY; // Convert both to x & y since wheel only happened on PC\n\n var mixed = 0;\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n\n if (absX === absY) {\n mixed = lastWheelDirectionRef.current === 'x' ? deltaX : deltaY;\n } else if (absX > absY) {\n mixed = deltaX;\n lastWheelDirectionRef.current = 'x';\n } else {\n mixed = deltaY;\n lastWheelDirectionRef.current = 'y';\n } // Optimize mac touch scroll\n\n\n var now = Date.now();\n\n if (now - lastWheelTimestampRef.current > 100) {\n lastWheelPreventRef.current = false;\n }\n\n if (onOffset(-mixed, -mixed) || lastWheelPreventRef.current) {\n e.preventDefault();\n lastWheelPreventRef.current = true;\n }\n\n lastWheelTimestampRef.current = now;\n } // ========================= Effect =========================\n\n\n var touchEventsRef = useRef(null);\n touchEventsRef.current = {\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd,\n onWheel: onWheel\n };\n React.useEffect(function () {\n function onProxyTouchStart(e) {\n touchEventsRef.current.onTouchStart(e);\n }\n\n function onProxyTouchMove(e) {\n touchEventsRef.current.onTouchMove(e);\n }\n\n function onProxyTouchEnd(e) {\n touchEventsRef.current.onTouchEnd(e);\n }\n\n function onProxyWheel(e) {\n touchEventsRef.current.onWheel(e);\n }\n\n document.addEventListener('touchmove', onProxyTouchMove, {\n passive: false\n });\n document.addEventListener('touchend', onProxyTouchEnd, {\n passive: false\n }); // No need to clean up since element removed\n\n ref.current.addEventListener('touchstart', onProxyTouchStart, {\n passive: false\n });\n ref.current.addEventListener('wheel', onProxyWheel);\n return function () {\n document.removeEventListener('touchmove', onProxyTouchMove);\n document.removeEventListener('touchend', onProxyTouchEnd);\n };\n }, []);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useSyncState(defaultState, onChange) {\n var stateRef = React.useRef(defaultState);\n\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n\n function setState(updater) {\n var newValue = typeof updater === 'function' ? updater(stateRef.current) : updater;\n\n if (newValue !== stateRef.current) {\n onChange(newValue, stateRef.current);\n }\n\n stateRef.current = newValue;\n forceUpdate({});\n }\n\n return [stateRef.current, setState];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState, useRef, useEffect } from 'react';\nimport classNames from 'classnames';\nimport raf from 'raf';\nimport ResizeObserver from 'rc-resize-observer';\nimport useRaf, { useRafState } from '../hooks/useRaf';\nimport TabNode from './TabNode';\nimport useOffsets from '../hooks/useOffsets';\nimport useVisibleRange from '../hooks/useVisibleRange';\nimport OperationNode from './OperationNode';\nimport TabContext from '../TabContext';\nimport useTouchMove from '../hooks/useTouchMove';\nimport useRefs from '../hooks/useRefs';\nimport AddButton from './AddButton';\nimport useSyncState from '../hooks/useSyncState';\n\nvar ExtraContent = function ExtraContent(_ref) {\n var position = _ref.position,\n prefixCls = _ref.prefixCls,\n extra = _ref.extra;\n if (!extra) return null;\n var content;\n var assertExtra = extra;\n\n if (position === 'right') {\n content = assertExtra.right || !assertExtra.left && assertExtra || null;\n }\n\n if (position === 'left') {\n content = assertExtra.left || null;\n }\n\n return content ? React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra-content\")\n }, content) : null;\n};\n\nfunction TabNavList(props, ref) {\n var _classNames;\n\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n\n var className = props.className,\n style = props.style,\n id = props.id,\n animated = props.animated,\n activeKey = props.activeKey,\n rtl = props.rtl,\n extra = props.extra,\n editable = props.editable,\n locale = props.locale,\n tabPosition = props.tabPosition,\n tabBarGutter = props.tabBarGutter,\n children = props.children,\n onTabClick = props.onTabClick,\n onTabScroll = props.onTabScroll;\n var tabsWrapperRef = useRef();\n var tabListRef = useRef();\n var operationsRef = useRef();\n var innerAddButtonRef = useRef();\n\n var _useRefs = useRefs(),\n _useRefs2 = _slicedToArray(_useRefs, 2),\n getBtnRef = _useRefs2[0],\n removeBtnRef = _useRefs2[1];\n\n var tabPositionTopOrBottom = tabPosition === 'top' || tabPosition === 'bottom';\n\n var _useSyncState = useSyncState(0, function (next, prev) {\n if (tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'left' : 'right'\n });\n }\n }),\n _useSyncState2 = _slicedToArray(_useSyncState, 2),\n transformLeft = _useSyncState2[0],\n setTransformLeft = _useSyncState2[1];\n\n var _useSyncState3 = useSyncState(0, function (next, prev) {\n if (!tabPositionTopOrBottom && onTabScroll) {\n onTabScroll({\n direction: next > prev ? 'top' : 'bottom'\n });\n }\n }),\n _useSyncState4 = _slicedToArray(_useSyncState3, 2),\n transformTop = _useSyncState4[0],\n setTransformTop = _useSyncState4[1];\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n wrapperScrollWidth = _useState2[0],\n setWrapperScrollWidth = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n wrapperScrollHeight = _useState4[0],\n setWrapperScrollHeight = _useState4[1];\n\n var _useState5 = useState(0),\n _useState6 = _slicedToArray(_useState5, 2),\n wrapperContentWidth = _useState6[0],\n setWrapperContentWidth = _useState6[1];\n\n var _useState7 = useState(0),\n _useState8 = _slicedToArray(_useState7, 2),\n wrapperContentHeight = _useState8[0],\n setWrapperContentHeight = _useState8[1];\n\n var _useState9 = useState(null),\n _useState10 = _slicedToArray(_useState9, 2),\n wrapperWidth = _useState10[0],\n setWrapperWidth = _useState10[1];\n\n var _useState11 = useState(null),\n _useState12 = _slicedToArray(_useState11, 2),\n wrapperHeight = _useState12[0],\n setWrapperHeight = _useState12[1];\n\n var _useState13 = useState(0),\n _useState14 = _slicedToArray(_useState13, 2),\n addWidth = _useState14[0],\n setAddWidth = _useState14[1];\n\n var _useState15 = useState(0),\n _useState16 = _slicedToArray(_useState15, 2),\n addHeight = _useState16[0],\n setAddHeight = _useState16[1];\n\n var _useRafState = useRafState(new Map()),\n _useRafState2 = _slicedToArray(_useRafState, 2),\n tabSizes = _useRafState2[0],\n setTabSizes = _useRafState2[1];\n\n var tabOffsets = useOffsets(tabs, tabSizes, wrapperScrollWidth); // ========================== Util =========================\n\n var operationsHiddenClassName = \"\".concat(prefixCls, \"-nav-operations-hidden\");\n var transformMin = 0;\n var transformMax = 0;\n\n if (!tabPositionTopOrBottom) {\n transformMin = Math.min(0, wrapperHeight - wrapperScrollHeight);\n transformMax = 0;\n } else if (rtl) {\n transformMin = 0;\n transformMax = Math.max(0, wrapperScrollWidth - wrapperWidth);\n } else {\n transformMin = Math.min(0, wrapperWidth - wrapperScrollWidth);\n transformMax = 0;\n }\n\n function alignInRange(value) {\n if (value < transformMin) {\n return [transformMin, false];\n }\n\n if (value > transformMax) {\n return [transformMax, false];\n }\n\n return [value, true];\n } // ========================= Mobile ========================\n\n\n var touchMovingRef = useRef();\n\n var _useState17 = useState(),\n _useState18 = _slicedToArray(_useState17, 2),\n lockAnimation = _useState18[0],\n setLockAnimation = _useState18[1];\n\n function doLockAnimation() {\n setLockAnimation(Date.now());\n }\n\n function clearTouchMoving() {\n window.clearTimeout(touchMovingRef.current);\n }\n\n useTouchMove(tabsWrapperRef, function (offsetX, offsetY) {\n var preventDefault = false;\n\n function doMove(setState, offset) {\n setState(function (value) {\n var _alignInRange = alignInRange(value + offset),\n _alignInRange2 = _slicedToArray(_alignInRange, 2),\n newValue = _alignInRange2[0],\n needPrevent = _alignInRange2[1];\n\n preventDefault = needPrevent;\n return newValue;\n });\n }\n\n if (tabPositionTopOrBottom) {\n // Skip scroll if place is enough\n if (wrapperWidth >= wrapperScrollWidth) {\n return preventDefault;\n }\n\n doMove(setTransformLeft, offsetX);\n } else {\n if (wrapperHeight >= wrapperScrollHeight) {\n return preventDefault;\n }\n\n doMove(setTransformTop, offsetY);\n }\n\n clearTouchMoving();\n doLockAnimation();\n return preventDefault;\n });\n useEffect(function () {\n clearTouchMoving();\n\n if (lockAnimation) {\n touchMovingRef.current = window.setTimeout(function () {\n setLockAnimation(0);\n }, 100);\n }\n\n return clearTouchMoving;\n }, [lockAnimation]); // ========================= Scroll ========================\n\n function scrollToTab() {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : activeKey;\n var tabOffset = tabOffsets.get(key);\n if (!tabOffset) return;\n\n if (tabPositionTopOrBottom) {\n // ============ Align with top & bottom ============\n var newTransform = transformLeft; // RTL\n\n if (rtl) {\n if (tabOffset.right < transformLeft) {\n newTransform = tabOffset.right;\n } else if (tabOffset.right + tabOffset.width > transformLeft + wrapperWidth) {\n newTransform = tabOffset.right + tabOffset.width - wrapperWidth;\n }\n } // LTR\n else if (tabOffset.left < -transformLeft) {\n newTransform = -tabOffset.left;\n } else if (tabOffset.left + tabOffset.width > -transformLeft + wrapperWidth) {\n newTransform = -(tabOffset.left + tabOffset.width - wrapperWidth);\n }\n\n setTransformTop(0);\n setTransformLeft(alignInRange(newTransform)[0]);\n } else {\n // ============ Align with left & right ============\n var _newTransform = transformTop;\n\n if (tabOffset.top < -transformTop) {\n _newTransform = -tabOffset.top;\n } else if (tabOffset.top + tabOffset.height > -transformTop + wrapperHeight) {\n _newTransform = -(tabOffset.top + tabOffset.height - wrapperHeight);\n }\n\n setTransformLeft(0);\n setTransformTop(alignInRange(_newTransform)[0]);\n }\n } // ========================== Tab ==========================\n // Render tab node & collect tab offset\n\n\n var _useVisibleRange = useVisibleRange(tabOffsets, {\n width: wrapperWidth,\n height: wrapperHeight,\n left: transformLeft,\n top: transformTop\n }, {\n width: wrapperContentWidth,\n height: wrapperContentHeight\n }, {\n width: addWidth,\n height: addHeight\n }, _objectSpread(_objectSpread({}, props), {}, {\n tabs: tabs\n })),\n _useVisibleRange2 = _slicedToArray(_useVisibleRange, 2),\n visibleStart = _useVisibleRange2[0],\n visibleEnd = _useVisibleRange2[1];\n\n var tabNodes = tabs.map(function (tab) {\n var key = tab.key;\n return React.createElement(TabNode, {\n id: id,\n prefixCls: prefixCls,\n key: key,\n rtl: rtl,\n tab: tab,\n closable: tab.closable,\n editable: editable,\n active: key === activeKey,\n tabPosition: tabPosition,\n tabBarGutter: tabBarGutter,\n renderWrapper: children,\n removeAriaLabel: locale === null || locale === void 0 ? void 0 : locale.removeAriaLabel,\n ref: getBtnRef(key),\n onClick: function onClick(e) {\n onTabClick(key, e);\n },\n onRemove: function onRemove() {\n removeBtnRef(key);\n },\n onFocus: function onFocus() {\n scrollToTab(key);\n doLockAnimation(); // Focus element will make scrollLeft change which we should reset back\n\n if (!rtl) {\n tabsWrapperRef.current.scrollLeft = 0;\n }\n\n tabsWrapperRef.current.scrollTop = 0;\n }\n });\n });\n var onListHolderResize = useRaf(function () {\n var _tabsWrapperRef$curre, _tabsWrapperRef$curre2, _innerAddButtonRef$cu, _innerAddButtonRef$cu2, _operationsRef$curren, _operationsRef$curren2, _tabListRef$current, _tabListRef$current2, _operationsRef$curren3; // Update wrapper records\n\n\n var offsetWidth = ((_tabsWrapperRef$curre = tabsWrapperRef.current) === null || _tabsWrapperRef$curre === void 0 ? void 0 : _tabsWrapperRef$curre.offsetWidth) || 0;\n var offsetHeight = ((_tabsWrapperRef$curre2 = tabsWrapperRef.current) === null || _tabsWrapperRef$curre2 === void 0 ? void 0 : _tabsWrapperRef$curre2.offsetHeight) || 0;\n var newAddWidth = ((_innerAddButtonRef$cu = innerAddButtonRef.current) === null || _innerAddButtonRef$cu === void 0 ? void 0 : _innerAddButtonRef$cu.offsetWidth) || 0;\n var newAddHeight = ((_innerAddButtonRef$cu2 = innerAddButtonRef.current) === null || _innerAddButtonRef$cu2 === void 0 ? void 0 : _innerAddButtonRef$cu2.offsetHeight) || 0;\n var newOperationWidth = ((_operationsRef$curren = operationsRef.current) === null || _operationsRef$curren === void 0 ? void 0 : _operationsRef$curren.offsetWidth) || 0;\n var newOperationHeight = ((_operationsRef$curren2 = operationsRef.current) === null || _operationsRef$curren2 === void 0 ? void 0 : _operationsRef$curren2.offsetHeight) || 0;\n setWrapperWidth(offsetWidth);\n setWrapperHeight(offsetHeight);\n setAddWidth(newAddWidth);\n setAddHeight(newAddHeight);\n var newWrapperScrollWidth = (((_tabListRef$current = tabListRef.current) === null || _tabListRef$current === void 0 ? void 0 : _tabListRef$current.offsetWidth) || 0) - newAddWidth;\n var newWrapperScrollHeight = (((_tabListRef$current2 = tabListRef.current) === null || _tabListRef$current2 === void 0 ? void 0 : _tabListRef$current2.offsetHeight) || 0) - newAddHeight;\n setWrapperScrollWidth(newWrapperScrollWidth);\n setWrapperScrollHeight(newWrapperScrollHeight);\n var isOperationHidden = (_operationsRef$curren3 = operationsRef.current) === null || _operationsRef$curren3 === void 0 ? void 0 : _operationsRef$curren3.className.includes(operationsHiddenClassName);\n setWrapperContentWidth(newWrapperScrollWidth - (isOperationHidden ? 0 : newOperationWidth));\n setWrapperContentHeight(newWrapperScrollHeight - (isOperationHidden ? 0 : newOperationHeight)); // Update buttons records\n\n setTabSizes(function () {\n var newSizes = new Map();\n tabs.forEach(function (_ref2) {\n var key = _ref2.key;\n var btnNode = getBtnRef(key).current;\n\n if (btnNode) {\n newSizes.set(key, {\n width: btnNode.offsetWidth,\n height: btnNode.offsetHeight,\n left: btnNode.offsetLeft,\n top: btnNode.offsetTop\n });\n }\n });\n return newSizes;\n });\n }); // ======================== Dropdown =======================\n\n var startHiddenTabs = tabs.slice(0, visibleStart);\n var endHiddenTabs = tabs.slice(visibleEnd + 1);\n var hiddenTabs = [].concat(_toConsumableArray(startHiddenTabs), _toConsumableArray(endHiddenTabs)); // =================== Link & Operations ===================\n\n var _useState19 = useState(),\n _useState20 = _slicedToArray(_useState19, 2),\n inkStyle = _useState20[0],\n setInkStyle = _useState20[1];\n\n var activeTabOffset = tabOffsets.get(activeKey); // Delay set ink style to avoid remove tab blink\n\n var inkBarRafRef = useRef();\n\n function cleanInkBarRaf() {\n raf.cancel(inkBarRafRef.current);\n }\n\n useEffect(function () {\n var newInkStyle = {};\n\n if (activeTabOffset) {\n if (tabPositionTopOrBottom) {\n if (rtl) {\n newInkStyle.right = activeTabOffset.right;\n } else {\n newInkStyle.left = activeTabOffset.left;\n }\n\n newInkStyle.width = activeTabOffset.width;\n } else {\n newInkStyle.top = activeTabOffset.top;\n newInkStyle.height = activeTabOffset.height;\n }\n }\n\n cleanInkBarRaf();\n inkBarRafRef.current = raf(function () {\n setInkStyle(newInkStyle);\n });\n return cleanInkBarRaf;\n }, [activeTabOffset, tabPositionTopOrBottom, rtl]); // ========================= Effect ========================\n\n useEffect(function () {\n scrollToTab();\n }, [activeKey, activeTabOffset, tabOffsets, tabPositionTopOrBottom]); // Should recalculate when rtl changed\n\n useEffect(function () {\n onListHolderResize();\n }, [rtl, tabBarGutter, activeKey, tabs.map(function (tab) {\n return tab.key;\n }).join('_')]); // ========================= Render ========================\n\n var hasDropdown = !!hiddenTabs.length;\n var wrapPrefix = \"\".concat(prefixCls, \"-nav-wrap\");\n var pingLeft;\n var pingRight;\n var pingTop;\n var pingBottom;\n\n if (tabPositionTopOrBottom) {\n if (rtl) {\n pingRight = transformLeft > 0;\n pingLeft = transformLeft + wrapperWidth < wrapperScrollWidth;\n } else {\n pingLeft = transformLeft < 0;\n pingRight = -transformLeft + wrapperWidth < wrapperScrollWidth;\n }\n } else {\n pingTop = transformTop < 0;\n pingBottom = -transformTop + wrapperHeight < wrapperScrollHeight;\n }\n /* eslint-disable jsx-a11y/interactive-supports-focus */\n\n\n return React.createElement(\"div\", {\n ref: ref,\n role: \"tablist\",\n className: classNames(\"\".concat(prefixCls, \"-nav\"), className),\n style: style,\n onKeyDown: function onKeyDown() {\n // No need animation when use keyboard\n doLockAnimation();\n }\n }, React.createElement(ExtraContent, {\n position: \"left\",\n extra: extra,\n prefixCls: prefixCls\n }), React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, React.createElement(\"div\", {\n className: classNames(wrapPrefix, (_classNames = {}, _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-left\"), pingLeft), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-right\"), pingRight), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-top\"), pingTop), _defineProperty(_classNames, \"\".concat(wrapPrefix, \"-ping-bottom\"), pingBottom), _classNames)),\n ref: tabsWrapperRef\n }, React.createElement(ResizeObserver, {\n onResize: onListHolderResize\n }, React.createElement(\"div\", {\n ref: tabListRef,\n className: \"\".concat(prefixCls, \"-nav-list\"),\n style: {\n transform: \"translate(\".concat(transformLeft, \"px, \").concat(transformTop, \"px)\"),\n transition: lockAnimation ? 'none' : undefined\n }\n }, tabNodes, React.createElement(AddButton, {\n ref: innerAddButtonRef,\n prefixCls: prefixCls,\n locale: locale,\n editable: editable,\n style: {\n visibility: hasDropdown ? 'hidden' : null\n }\n }), React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-ink-bar\"), _defineProperty({}, \"\".concat(prefixCls, \"-ink-bar-animated\"), animated.inkBar)),\n style: inkStyle\n }))))), React.createElement(OperationNode, Object.assign({}, props, {\n ref: operationsRef,\n prefixCls: prefixCls,\n tabs: hiddenTabs,\n className: !hasDropdown && operationsHiddenClassName\n })), React.createElement(ExtraContent, {\n position: \"right\",\n extra: extra,\n prefixCls: prefixCls\n }));\n /* eslint-enable */\n}\n\nexport default React.forwardRef(TabNavList);","import * as React from 'react';\nimport { useRef } from 'react';\nexport default function useRefs() {\n var cacheRefs = useRef(new Map());\n\n function getRef(key) {\n if (!cacheRefs.current.has(key)) {\n cacheRefs.current.set(key, React.createRef());\n }\n\n return cacheRefs.current.get(key);\n }\n\n function removeRef(key) {\n cacheRefs.current.delete(key);\n }\n\n return [getRef, removeRef];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport TabContext from '../TabContext';\nexport default function TabPanelList(_ref) {\n var id = _ref.id,\n activeKey = _ref.activeKey,\n animated = _ref.animated,\n tabPosition = _ref.tabPosition,\n rtl = _ref.rtl,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane;\n\n var _React$useContext = React.useContext(TabContext),\n prefixCls = _React$useContext.prefixCls,\n tabs = _React$useContext.tabs;\n\n var tabPaneAnimated = animated.tabPane;\n var activeIndex = tabs.findIndex(function (tab) {\n return tab.key === activeKey;\n });\n return React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content-holder\"))\n }, React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), \"\".concat(prefixCls, \"-content-\").concat(tabPosition), _defineProperty({}, \"\".concat(prefixCls, \"-content-animated\"), tabPaneAnimated)),\n style: activeIndex && tabPaneAnimated ? _defineProperty({}, rtl ? 'marginRight' : 'marginLeft', \"-\".concat(activeIndex, \"00%\")) : null\n }, tabs.map(function (tab) {\n return React.cloneElement(tab.node, {\n key: tab.key,\n prefixCls: prefixCls,\n tabKey: tab.key,\n id: id,\n animated: tabPaneAnimated,\n active: tab.key === activeKey,\n destroyInactiveTabPane: destroyInactiveTabPane\n });\n })));\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nexport default function TabPane(_ref) {\n var prefixCls = _ref.prefixCls,\n forceRender = _ref.forceRender,\n className = _ref.className,\n style = _ref.style,\n id = _ref.id,\n active = _ref.active,\n animated = _ref.animated,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane,\n tabKey = _ref.tabKey,\n children = _ref.children;\n\n var _React$useState = React.useState(forceRender),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visited = _React$useState2[0],\n setVisited = _React$useState2[1];\n\n React.useEffect(function () {\n if (active) {\n setVisited(true);\n } else if (destroyInactiveTabPane) {\n setVisited(false);\n }\n }, [active, destroyInactiveTabPane]);\n var mergedStyle = {};\n\n if (!active) {\n if (animated) {\n mergedStyle.visibility = 'hidden';\n mergedStyle.height = 0;\n mergedStyle.overflowY = 'hidden';\n } else {\n mergedStyle.display = 'none';\n }\n }\n\n return React.createElement(\"div\", {\n id: id && \"\".concat(id, \"-panel-\").concat(tabKey),\n role: \"tabpanel\",\n tabIndex: active ? 0 : -1,\n \"aria-labelledby\": id && \"\".concat(id, \"-tab-\").concat(tabKey),\n \"aria-hidden\": !active,\n style: _objectSpread(_objectSpread({}, mergedStyle), style),\n className: classNames(\"\".concat(prefixCls, \"-tabpane\"), active && \"\".concat(prefixCls, \"-tabpane-active\"), className)\n }, (active || visited || forceRender) && children);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\"; // Accessibility https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Tab_Role\n\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport TabNavList from './TabNavList';\nimport TabPanelList from './TabPanelList';\nimport TabPane from './TabPanelList/TabPane';\nimport TabContext from './TabContext';\nimport { isMobile } from './hooks/useTouchMove';\n/**\n * Should added antd:\n * - type\n *\n * Removed:\n * - onNextClick\n * - onPrevClick\n * - keyboard\n */\n// Used for accessibility\n\nvar uuid = 0;\n\nfunction parseTabList(children) {\n return toArray(children).map(function (node) {\n if (React.isValidElement(node)) {\n var key = node.key !== undefined ? String(node.key) : undefined;\n return _objectSpread(_objectSpread({\n key: key\n }, node.props), {}, {\n node: node\n });\n }\n\n return null;\n }).filter(function (tab) {\n return tab;\n });\n}\n\nfunction Tabs(_ref, ref) {\n var _classNames;\n\n var id = _ref.id,\n _ref$prefixCls = _ref.prefixCls,\n prefixCls = _ref$prefixCls === void 0 ? 'rc-tabs' : _ref$prefixCls,\n className = _ref.className,\n children = _ref.children,\n direction = _ref.direction,\n activeKey = _ref.activeKey,\n defaultActiveKey = _ref.defaultActiveKey,\n editable = _ref.editable,\n _ref$animated = _ref.animated,\n animated = _ref$animated === void 0 ? {\n inkBar: true,\n tabPane: false\n } : _ref$animated,\n _ref$tabPosition = _ref.tabPosition,\n tabPosition = _ref$tabPosition === void 0 ? 'top' : _ref$tabPosition,\n tabBarGutter = _ref.tabBarGutter,\n tabBarStyle = _ref.tabBarStyle,\n tabBarExtraContent = _ref.tabBarExtraContent,\n locale = _ref.locale,\n moreIcon = _ref.moreIcon,\n moreTransitionName = _ref.moreTransitionName,\n destroyInactiveTabPane = _ref.destroyInactiveTabPane,\n renderTabBar = _ref.renderTabBar,\n onChange = _ref.onChange,\n onTabClick = _ref.onTabClick,\n onTabScroll = _ref.onTabScroll,\n restProps = _objectWithoutProperties(_ref, [\"id\", \"prefixCls\", \"className\", \"children\", \"direction\", \"activeKey\", \"defaultActiveKey\", \"editable\", \"animated\", \"tabPosition\", \"tabBarGutter\", \"tabBarStyle\", \"tabBarExtraContent\", \"locale\", \"moreIcon\", \"moreTransitionName\", \"destroyInactiveTabPane\", \"renderTabBar\", \"onChange\", \"onTabClick\", \"onTabScroll\"]);\n\n var tabs = parseTabList(children);\n var rtl = direction === 'rtl';\n var mergedAnimated;\n\n if (animated === false) {\n mergedAnimated = {\n inkBar: false,\n tabPane: false\n };\n } else if (animated === true) {\n mergedAnimated = {\n inkBar: true,\n tabPane: true\n };\n } else {\n mergedAnimated = _objectSpread({\n inkBar: true,\n tabPane: false\n }, _typeof(animated) === 'object' ? animated : {});\n } // ======================== Mobile ========================\n\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n mobile = _useState2[0],\n setMobile = _useState2[1];\n\n useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []); // ====================== Active Key ======================\n\n var _useMergedState = useMergedState(function () {\n var _tabs$;\n\n return (_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key;\n }, {\n value: activeKey,\n defaultValue: defaultActiveKey\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedActiveKey = _useMergedState2[0],\n setMergedActiveKey = _useMergedState2[1];\n\n var _useState3 = useState(function () {\n return tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n activeIndex = _useState4[0],\n setActiveIndex = _useState4[1]; // Reset active key if not exist anymore\n\n\n useEffect(function () {\n var newActiveIndex = tabs.findIndex(function (tab) {\n return tab.key === mergedActiveKey;\n });\n\n if (newActiveIndex === -1) {\n var _tabs$newActiveIndex;\n\n newActiveIndex = Math.max(0, Math.min(activeIndex, tabs.length - 1));\n setMergedActiveKey((_tabs$newActiveIndex = tabs[newActiveIndex]) === null || _tabs$newActiveIndex === void 0 ? void 0 : _tabs$newActiveIndex.key);\n }\n\n setActiveIndex(newActiveIndex);\n }, [tabs.map(function (tab) {\n return tab.key;\n }).join('_'), mergedActiveKey, activeIndex]); // ===================== Accessibility ====================\n\n var _useMergedState3 = useMergedState(null, {\n value: id\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedId = _useMergedState4[0],\n setMergedId = _useMergedState4[1];\n\n var mergedTabPosition = tabPosition;\n\n if (mobile && !['left', 'right'].includes(tabPosition)) {\n mergedTabPosition = 'top';\n } // Async generate id to avoid ssr mapping failed\n\n\n useEffect(function () {\n if (!id) {\n setMergedId(\"rc-tabs-\".concat(process.env.NODE_ENV === 'test' ? 'test' : uuid));\n uuid += 1;\n }\n }, []); // ======================== Events ========================\n\n function onInternalTabClick(key, e) {\n onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(key, e);\n setMergedActiveKey(key);\n onChange === null || onChange === void 0 ? void 0 : onChange(key);\n } // ======================== Render ========================\n\n\n var sharedProps = {\n id: mergedId,\n activeKey: mergedActiveKey,\n animated: mergedAnimated,\n tabPosition: mergedTabPosition,\n rtl: rtl,\n mobile: mobile\n };\n var tabNavBar;\n\n var tabNavBarProps = _objectSpread(_objectSpread({}, sharedProps), {}, {\n editable: editable,\n locale: locale,\n moreIcon: moreIcon,\n moreTransitionName: moreTransitionName,\n tabBarGutter: tabBarGutter,\n onTabClick: onInternalTabClick,\n onTabScroll: onTabScroll,\n extra: tabBarExtraContent,\n style: tabBarStyle,\n panes: children\n });\n\n if (renderTabBar) {\n tabNavBar = renderTabBar(tabNavBarProps, TabNavList);\n } else {\n tabNavBar = React.createElement(TabNavList, Object.assign({}, tabNavBarProps));\n }\n\n return React.createElement(TabContext.Provider, {\n value: {\n tabs: tabs,\n prefixCls: prefixCls\n }\n }, React.createElement(\"div\", Object.assign({\n ref: ref,\n id: id,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(mergedTabPosition), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-mobile\"), mobile), _defineProperty(_classNames, \"\".concat(prefixCls, \"-editable\"), editable), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), rtl), _classNames), className)\n }, restProps), tabNavBar, React.createElement(TabPanelList, Object.assign({\n destroyInactiveTabPane: destroyInactiveTabPane\n }, sharedProps, {\n animated: mergedAnimated\n }))));\n}\n\nvar ForwardTabs = React.forwardRef(Tabs);\nForwardTabs.TabPane = TabPane;\nexport default ForwardTabs;","import Tabs from './Tabs';\nimport TabPane from './TabPanelList/TabPane';\nexport { TabPane };\nexport default Tabs;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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\nimport * as React from 'react';\nimport RcTabs, { TabPane } from 'rc-tabs';\nimport classNames from 'classnames';\nimport EllipsisOutlined from '@ant-design/icons/EllipsisOutlined';\nimport PlusOutlined from '@ant-design/icons/PlusOutlined';\nimport CloseOutlined from '@ant-design/icons/CloseOutlined';\nimport devWarning from '../_util/devWarning';\nimport { ConfigContext } from '../config-provider';\n\nfunction Tabs(_a) {\n var _classNames;\n\n var type = _a.type,\n className = _a.className,\n size = _a.size,\n _onEdit = _a.onEdit,\n hideAdd = _a.hideAdd,\n centered = _a.centered,\n addIcon = _a.addIcon,\n props = __rest(_a, [\"type\", \"className\", \"size\", \"onEdit\", \"hideAdd\", \"centered\", \"addIcon\"]);\n\n var customizePrefixCls = props.prefixCls;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var prefixCls = getPrefixCls('tabs', customizePrefixCls);\n var editable;\n\n if (type === 'editable-card') {\n editable = {\n onEdit: function onEdit(editType, _ref) {\n var key = _ref.key,\n event = _ref.event;\n _onEdit === null || _onEdit === void 0 ? void 0 : _onEdit(editType === 'add' ? event : key, editType);\n },\n removeIcon: /*#__PURE__*/React.createElement(CloseOutlined, null),\n addIcon: addIcon || /*#__PURE__*/React.createElement(PlusOutlined, null),\n showAdd: hideAdd !== true\n };\n }\n\n devWarning(!('onPrevClick' in props) && !('onNextClick' in props), 'Tabs', '`onPrevClick` and `onNextClick` has been removed. Please use `onTabScroll` instead.');\n return /*#__PURE__*/React.createElement(RcTabs, _extends({\n direction: direction\n }, props, {\n moreTransitionName: \"slide-up\",\n className: classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(size), size), _defineProperty(_classNames, \"\".concat(prefixCls, \"-card\"), ['card', 'editable-card'].includes(type)), _defineProperty(_classNames, \"\".concat(prefixCls, \"-editable-card\"), type === 'editable-card'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-centered\"), centered), _classNames), className),\n editable: editable,\n moreIcon: /*#__PURE__*/React.createElement(EllipsisOutlined, null),\n prefixCls: prefixCls\n }));\n}\n\nTabs.TabPane = TabPane;\nexport default Tabs;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport Grid from './Grid';\nimport Meta from './Meta';\nimport Tabs from '../tabs';\nimport Row from '../row';\nimport Col from '../col';\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\n\nfunction getAction(actions) {\n var actionList = actions.map(function (action, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n style: {\n width: \"\".concat(100 / actions.length, \"%\")\n },\n key: \"action-\".concat(index)\n }, /*#__PURE__*/React.createElement(\"span\", null, action))\n );\n });\n return actionList;\n}\n\nvar Card = function Card(props) {\n var _extends2, _classNames;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var size = React.useContext(SizeContext);\n\n var onTabChange = function onTabChange(key) {\n if (props.onTabChange) {\n props.onTabChange(key);\n }\n };\n\n var isContainGrid = function isContainGrid() {\n var containGrid;\n React.Children.forEach(props.children, function (element) {\n if (element && element.type && element.type === Grid) {\n containGrid = true;\n }\n });\n return containGrid;\n };\n\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n extra = props.extra,\n _props$headStyle = props.headStyle,\n headStyle = _props$headStyle === void 0 ? {} : _props$headStyle,\n _props$bodyStyle = props.bodyStyle,\n bodyStyle = _props$bodyStyle === void 0 ? {} : _props$bodyStyle,\n title = props.title,\n loading = props.loading,\n _props$bordered = props.bordered,\n bordered = _props$bordered === void 0 ? true : _props$bordered,\n customizeSize = props.size,\n type = props.type,\n cover = props.cover,\n actions = props.actions,\n tabList = props.tabList,\n children = props.children,\n activeTabKey = props.activeTabKey,\n defaultActiveTabKey = props.defaultActiveTabKey,\n tabBarExtraContent = props.tabBarExtraContent,\n hoverable = props.hoverable,\n _props$tabProps = props.tabProps,\n tabProps = _props$tabProps === void 0 ? {} : _props$tabProps,\n others = __rest(props, [\"prefixCls\", \"className\", \"extra\", \"headStyle\", \"bodyStyle\", \"title\", \"loading\", \"bordered\", \"size\", \"type\", \"cover\", \"actions\", \"tabList\", \"children\", \"activeTabKey\", \"defaultActiveTabKey\", \"tabBarExtraContent\", \"hoverable\", \"tabProps\"]);\n\n var prefixCls = getPrefixCls('card', customizePrefixCls);\n var loadingBlockStyle = bodyStyle.padding === 0 || bodyStyle.padding === '0px' ? {\n padding: 24\n } : undefined;\n var block = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-loading-block\")\n });\n var loadingBlock = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-loading-content\"),\n style: loadingBlockStyle\n }, /*#__PURE__*/React.createElement(Row, {\n gutter: 8\n }, /*#__PURE__*/React.createElement(Col, {\n span: 22\n }, block)), /*#__PURE__*/React.createElement(Row, {\n gutter: 8\n }, /*#__PURE__*/React.createElement(Col, {\n span: 8\n }, block), /*#__PURE__*/React.createElement(Col, {\n span: 15\n }, block)), /*#__PURE__*/React.createElement(Row, {\n gutter: 8\n }, /*#__PURE__*/React.createElement(Col, {\n span: 6\n }, block), /*#__PURE__*/React.createElement(Col, {\n span: 18\n }, block)), /*#__PURE__*/React.createElement(Row, {\n gutter: 8\n }, /*#__PURE__*/React.createElement(Col, {\n span: 13\n }, block), /*#__PURE__*/React.createElement(Col, {\n span: 9\n }, block)), /*#__PURE__*/React.createElement(Row, {\n gutter: 8\n }, /*#__PURE__*/React.createElement(Col, {\n span: 4\n }, block), /*#__PURE__*/React.createElement(Col, {\n span: 3\n }, block), /*#__PURE__*/React.createElement(Col, {\n span: 16\n }, block)));\n var hasActiveTabKey = activeTabKey !== undefined;\n\n var extraProps = _extends(_extends({}, tabProps), (_extends2 = {}, _defineProperty(_extends2, hasActiveTabKey ? 'activeKey' : 'defaultActiveKey', hasActiveTabKey ? activeTabKey : defaultActiveTabKey), _defineProperty(_extends2, \"tabBarExtraContent\", tabBarExtraContent), _extends2));\n\n var head;\n var tabs = tabList && tabList.length ? /*#__PURE__*/React.createElement(Tabs, _extends({\n size: \"large\"\n }, extraProps, {\n className: \"\".concat(prefixCls, \"-head-tabs\"),\n onChange: onTabChange\n }), tabList.map(function (item) {\n return /*#__PURE__*/React.createElement(Tabs.TabPane, {\n tab: item.tab,\n disabled: item.disabled,\n key: item.key\n });\n })) : null;\n\n if (title || extra || tabs) {\n head = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-head\"),\n style: headStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-head-wrapper\")\n }, title && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-head-title\")\n }, title), extra && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra\")\n }, extra)), tabs);\n }\n\n var coverDom = cover ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-cover\")\n }, cover) : null;\n var body = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-body\"),\n style: bodyStyle\n }, loading ? loadingBlock : children);\n var actionDom = actions && actions.length ? /*#__PURE__*/React.createElement(\"ul\", {\n className: \"\".concat(prefixCls, \"-actions\")\n }, getAction(actions)) : null;\n var divProps = omit(others, ['onTabChange']);\n var mergedSize = customizeSize || size;\n var classString = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-loading\"), loading), _defineProperty(_classNames, \"\".concat(prefixCls, \"-bordered\"), bordered), _defineProperty(_classNames, \"\".concat(prefixCls, \"-hoverable\"), hoverable), _defineProperty(_classNames, \"\".concat(prefixCls, \"-contain-grid\"), isContainGrid()), _defineProperty(_classNames, \"\".concat(prefixCls, \"-contain-tabs\"), tabList && tabList.length), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(mergedSize), mergedSize), _defineProperty(_classNames, \"\".concat(prefixCls, \"-type-\").concat(type), !!type), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n className: classString\n }), head, coverDom, body, actionDom);\n};\n\nCard.Grid = Grid;\nCard.Meta = Meta;\nexport default Card;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(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\nimport { isMemo } from 'react-is';\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 return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\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 */","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _EllipsisOutlined = _interopRequireDefault(require('./lib/icons/EllipsisOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _EllipsisOutlined;\nexports.default = _default;\nmodule.exports = _default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _PlusOutlined = _interopRequireDefault(require('./lib/icons/PlusOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _PlusOutlined;\nexports.default = _default;\nmodule.exports = _default;","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar DoubleLeftOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z\"\n }\n }]\n },\n \"name\": \"double-left\",\n \"theme\": \"outlined\"\n};\nexports.default = DoubleLeftOutlined;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _EllipsisOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/EllipsisOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar EllipsisOutlined = function EllipsisOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _EllipsisOutlined.default\n }));\n};\n\nEllipsisOutlined.displayName = 'EllipsisOutlined';\n\nvar _default = React.forwardRef(EllipsisOutlined);\n\nexports.default = _default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _DoubleRightOutlined = _interopRequireDefault(require('./lib/icons/DoubleRightOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _DoubleRightOutlined;\nexports.default = _default;\nmodule.exports = _default;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _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';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport ResizeObserver from 'resize-observer-polyfill';\nvar INTERNAL_PREFIX_KEY = 'rc-observer-key'; // Still need to be compatible with React 15, we use class component here\n\nvar ReactResizeObserver = /*#__PURE__*/function (_React$Component) {\n _inherits(ReactResizeObserver, _React$Component);\n\n var _super = _createSuper(ReactResizeObserver);\n\n function ReactResizeObserver() {\n var _this;\n\n _classCallCheck(this, ReactResizeObserver);\n\n _this = _super.apply(this, arguments);\n _this.resizeObserver = null;\n _this.childNode = null;\n _this.currentElement = null;\n _this.state = {\n width: 0,\n height: 0,\n offsetHeight: 0,\n offsetWidth: 0\n };\n\n _this.onResize = function (entries) {\n var onResize = _this.props.onResize;\n var target = entries[0].target;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var offsetWidth = target.offsetWidth,\n offsetHeight = target.offsetHeight;\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (_this.state.width !== fixedWidth || _this.state.height !== fixedHeight || _this.state.offsetWidth !== offsetWidth || _this.state.offsetHeight !== offsetHeight) {\n var size = {\n width: fixedWidth,\n height: fixedHeight,\n offsetWidth: offsetWidth,\n offsetHeight: offsetHeight\n };\n\n _this.setState(size);\n\n if (onResize) {\n // defer the callback but not defer to next frame\n Promise.resolve().then(function () {\n onResize(_objectSpread(_objectSpread({}, size), {}, {\n offsetWidth: offsetWidth,\n offsetHeight: offsetHeight\n }));\n });\n }\n }\n };\n\n _this.setChildNode = function (node) {\n _this.childNode = node;\n };\n\n return _this;\n }\n\n _createClass(ReactResizeObserver, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.onComponentUpdated();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.onComponentUpdated();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.destroyObserver();\n }\n }, {\n key: \"onComponentUpdated\",\n value: function onComponentUpdated() {\n var disabled = this.props.disabled; // Unregister if disabled\n\n if (disabled) {\n this.destroyObserver();\n return;\n } // Unregister if element changed\n\n\n var element = findDOMNode(this.childNode || this);\n var elementChanged = element !== this.currentElement;\n\n if (elementChanged) {\n this.destroyObserver();\n this.currentElement = element;\n }\n\n if (!this.resizeObserver && element) {\n this.resizeObserver = new ResizeObserver(this.onResize);\n this.resizeObserver.observe(element);\n }\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n var childNodes = toArray(children);\n\n if (childNodes.length > 1) {\n warning(false, 'Find more than one child node with `children` in ResizeObserver. Will only observe first one.');\n } else if (childNodes.length === 0) {\n warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');\n return null;\n }\n\n var childNode = childNodes[0];\n\n if (React.isValidElement(childNode) && supportRef(childNode)) {\n var ref = childNode.ref;\n childNodes[0] = React.cloneElement(childNode, {\n ref: composeRef(ref, this.setChildNode)\n });\n }\n\n return childNodes.length === 1 ? childNodes[0] : childNodes.map(function (node, index) {\n if (!React.isValidElement(node) || 'key' in node && node.key !== null) {\n return node;\n }\n\n return React.cloneElement(node, {\n key: \"\".concat(INTERNAL_PREFIX_KEY, \"-\").concat(index)\n });\n });\n }\n }]);\n\n return ReactResizeObserver;\n}(React.Component);\n\nReactResizeObserver.displayName = 'ResizeObserver';\nexport default ReactResizeObserver;","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}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _PlusOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/PlusOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar PlusOutlined = function PlusOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _PlusOutlined.default\n }));\n};\n\nPlusOutlined.displayName = 'PlusOutlined';\n\nvar _default = React.forwardRef(PlusOutlined);\n\nexports.default = _default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _DoubleLeftOutlined = _interopRequireDefault(require('./lib/icons/DoubleLeftOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _DoubleLeftOutlined;\nexports.default = _default;\nmodule.exports = _default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _SearchOutlined = _interopRequireDefault(require('./lib/icons/SearchOutlined'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _default = _SearchOutlined;\nexports.default = _default;\nmodule.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CheckOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CheckOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\")); // GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\n\nvar CheckOutlined = function CheckOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _CheckOutlined.default\n }));\n};\n\nCheckOutlined.displayName = 'CheckOutlined';\n\nvar _default = React.forwardRef(CheckOutlined);\n\nexports.default = _default;","var now = require('performance-now'),\n root = typeof window === 'undefined' ? global : window,\n vendors = ['moz', 'webkit'],\n suffix = 'AnimationFrame',\n raf = root['request' + suffix],\n caf = root['cancel' + suffix] || root['cancelRequest' + suffix];\n\nfor (var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix];\n caf = root[vendors[i] + 'Cancel' + suffix] || root[vendors[i] + 'CancelRequest' + suffix];\n} // Some versions of FF have rAF but not cAF\n\n\nif (!raf || !caf) {\n var last = 0,\n id = 0,\n queue = [],\n frameDuration = 1000 / 60;\n\n raf = function raf(callback) {\n if (queue.length === 0) {\n var _now = now(),\n next = Math.max(0, frameDuration - (_now - last));\n\n last = next + _now;\n setTimeout(function () {\n var cp = queue.slice(0); // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n\n queue.length = 0;\n\n for (var i = 0; i < cp.length; i++) {\n if (!cp[i].cancelled) {\n try {\n cp[i].callback(last);\n } catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n }\n }, Math.round(next));\n }\n\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n });\n return id;\n };\n\n caf = function caf(handle) {\n for (var i = 0; i < queue.length; i++) {\n if (queue[i].handle === handle) {\n queue[i].cancelled = true;\n }\n }\n };\n}\n\nmodule.exports = function (fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn);\n};\n\nmodule.exports.cancel = function () {\n caf.apply(root, arguments);\n};\n\nmodule.exports.polyfill = function (object) {\n if (!object) {\n object = root;\n }\n\n object.requestAnimationFrame = raf;\n object.cancelAnimationFrame = caf;\n};","\"use strict\"; // This icon file is generated automatically.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar CheckOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\"\n }\n }]\n },\n \"name\": \"check\",\n \"theme\": \"outlined\"\n};\nexports.default = CheckOutlined;"],"sourceRoot":""}