@orderly.network/trading-rewards 2.8.10 → 2.8.11-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -11
- package/dist/index.mjs.map +1 -1
- package/package.json +11 -11
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pages/index/title/title.ui.tsx","../src/pages/index/provider.tsx","../src/pages/index/title/title.script.tsx","../src/pages/index/title/title.widget.tsx","../src/pages/index/curEpoch/curEpoch.script.tsx","../src/pages/index/components/esOrderlyIcon.tsx","../src/pages/index/components/orderlyIcon.tsx","../src/pages/index/curEpoch/rewardsTooltip.tsx","../src/pages/index/curEpoch/curEpoch.ui.tsx","../src/pages/index/curEpoch/curEpoch.widget.tsx","../src/pages/index/curEpoch/index.ts","../src/pages/index/availableToClaim/availableToClaim.script.tsx","../src/pages/index/components/jumpIcon.tsx","../src/pages/index/availableToClaim/availableToClaim.ui.tsx","../src/pages/index/availableToClaim/availableToClaim.widget.tsx","../src/pages/index/availableToClaim/index.ts","../src/pages/index/stakeBooster/stakeBooster.script.tsx","../src/pages/index/components/rocket.tsx","../src/pages/index/stakeBooster/stakeBooster.ui.tsx","../src/pages/index/stakeBooster/stakeBooster.widget.tsx","../src/pages/index/stakeBooster/index.ts","../src/pages/index/rewardHistory/rewardsHistory.ui.tsx","../src/pages/index/rewardHistory/rewardsHistory.script.tsx","../src/pages/index/rewardHistory/rewardsHistory.widget.tsx","../src/pages/index/rewardHistory/index.ts","../src/pages/index/index.tsx","../src/pages/index/title/index.ts","../src/pages/index/page.tsx","../src/layout/layout.script.tsx","../src/layout/layout.ui.tsx","../src/layout/layout.widget.tsx"],"names":["jsx","useMemo","jsxs","React","Flex","Text","useTranslation","useState","AccountStatusEnum","commifyOptional","useWalletConnector","Statics","ENVType","useGetEnv","useDataTap","Decimal","Box","Divider","useAccount","useAppContext","useTradingRewardsStatus","EpochStatus","cn","StakeBooster","useEffect","useMediaQuery","TradingRewardsLeftSidebarPath"],"mappings":"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","sourcesContent":["import { Divider, Flex, Text } from \"@orderly.network/ui\";\nimport { FC } from \"react\";\nimport { TitleConfig } from \"./title.script\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const Title: FC<TitleConfig> = (props) => {\n const { title, subtitle, content, docOpenOptions } = props;\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-title\"\n p={6}\n direction={\"column\"}\n itemAlign={\"start\"}\n gap={4}\n className=\"oui-bg-base-9 oui-font-semibold\"\n r={\"2xl\"}\n width={\"100%\"}\n >\n {title || <Text size=\"lg\">{t(\"common.tradingRewards\")}</Text>}\n <Divider intensity={8} className=\"oui-w-full\" />\n <Flex direction={\"column\"} itemAlign={\"start\"} gap={1}>\n {subtitle || (\n <Text size=\"base\">\n {t(\"tradingRewards.subtitle\", {\n brokerName: props.brokerName,\n })}\n </Text>\n )}\n\n {content || <MultiLineText docOpenOptions={docOpenOptions} />}\n </Flex>\n </Flex>\n );\n};\n\nconst MultiLineText: FC<{\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n}> = (props) => {\n const { t } = useTranslation();\n\n // const clickableParts = [\n // {\n // content: \"Learn more here\",\n // isLink: true,\n // },\n // // {\n // // content: \"about Orderly Trading rewards Program.\",\n // // isLink: false,\n // // },\n // // {\n // // content: \"Trading rewards Docs\",\n // // isLink: true,\n // // },\n // ];\n // const renderText = () => {\n // return clickableParts.map((item, index) => {\n // return (\n // <span\n // key={index}\n // className={`${\n // item.isLink\n // ? \"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\"\n // : \"\"\n // }`}\n // dangerouslySetInnerHTML={{ __html: item.content }}\n // />\n // );\n // });\n // };\n\n return (\n <div\n className=\"oui-text-sm oui-text-base-contrast-54 oui-font-normal oui-flex oui-gap-1 oui-items-center hover:oui-text-primary-darken oui-text-primary-light oui-cursor-pointer\"\n onClick={() => [\n window.open(\n props.docOpenOptions?.url,\n props.docOpenOptions?.target,\n props.docOpenOptions?.features\n ),\n ]}\n >\n <span className=\"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\">\n {t(\"tradingRewards.learnMore\")}\n </span>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.008 7.995c0-.368.298-.666.666-.666H9.71L7.733 5.331l.937-.936 3.143 3.122c.13.13.195.304.195.479a.67.67 0 0 1-.195.478L8.67 11.596l-.937-.937 1.978-1.998H4.674a.666.666 0 0 1-.666-.666\" />\n </svg>\n </div>\n );\n};\n\nexport default MultiLineText;\n","import React, {\n PropsWithChildren,\n createContext,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n TWType,\n EpochInfoType,\n useEpochInfo,\n useAllBrokers,\n useGetClaimed,\n DistributionId,\n useCurEpochEstimate,\n CurrentEpochEstimate,\n useWalletRewardsHistory,\n WalletRewardsHistoryReturns,\n Brokers,\n useConfig,\n useTradingRewardsStatus,\n StatusInfo,\n} from \"@orderly.network/hooks\";\nimport type { TitleConfig } from \"./title/title.script\";\n\nexport type TradingRewardsState = {\n type: TWType;\n brokerId: string;\n brokerName?: string;\n brokers?: Brokers;\n epochList: EpochInfoType;\n totalOrderClaimedReward: [number | undefined, { refresh: () => void }];\n totalEsOrderClaimedReward: [number | undefined, { refresh: () => void }];\n curEpochEstimate?: CurrentEpochEstimate;\n walletRewardsHistory: WalletRewardsHistoryReturns;\n titleConfig: TitleConfig;\n statusInfo: StatusInfo | undefined;\n showEpochPauseCountdown?: boolean;\n};\n\nexport const TradingRewardsContext = createContext<TradingRewardsState>(\n {} as TradingRewardsState,\n);\n\nexport const TradingRewardsProvider: React.FC<\n PropsWithChildren<{\n type?: TWType;\n titleConfig?: TitleConfig;\n showEpochPauseCountdown?: boolean;\n }>\n> = (props) => {\n const {\n type = TWType.normal,\n showEpochPauseCountdown,\n titleConfig = {\n docOpenOptions: {\n url: \"https://orderly.network/docs/introduction/tokenomics/trading-rewards\",\n target: \"_blank\",\n },\n },\n children,\n } = props;\n\n const brokerId = useConfig(\"brokerId\");\n\n const { statusInfo } = useTradingRewardsStatus(type === TWType.mm);\n const totalOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmOrder : DistributionId.order,\n );\n const totalEsOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmEsOrder : DistributionId.esORder,\n );\n\n const [brokers] = useAllBrokers();\n\n const [curEpochEstimate] = useCurEpochEstimate(type);\n\n const walletRewardsHistory = useWalletRewardsHistory(type);\n\n const epochList = useEpochInfo(type);\n\n const brokerName = useMemo(() => {\n return brokers?.[brokerId];\n }, [brokerId, brokers]);\n\n const memoizedValue = useMemo<TradingRewardsState>(() => {\n return {\n type: type,\n totalOrderClaimedReward,\n totalEsOrderClaimedReward,\n epochList,\n curEpochEstimate,\n walletRewardsHistory,\n titleConfig,\n brokerId,\n brokerName,\n brokers,\n statusInfo,\n showEpochPauseCountdown: showEpochPauseCountdown ?? false,\n };\n }, [\n type,\n totalOrderClaimedReward,\n totalEsOrderClaimedReward,\n epochList,\n curEpochEstimate,\n walletRewardsHistory,\n titleConfig,\n brokerId,\n brokerName,\n brokers,\n statusInfo,\n showEpochPauseCountdown,\n ]);\n\n return (\n <TradingRewardsContext.Provider value={memoizedValue}>\n {children}\n </TradingRewardsContext.Provider>\n );\n};\n\nexport const useTradingRewardsContext = () => {\n return useContext<TradingRewardsState>(TradingRewardsContext);\n};\n","import { ReactNode } from \"react\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type TitleConfig = {\n /// default is `Trading rewards`\n title?: string | ReactNode;\n /// default is `Trade with Orderly’s to earn ORDER.`\n subtitle?: string | ReactNode;\n /// default is `Learn more about Orderly Trading rewards Program in Trading rewards Docs`\n content?: string | ReactNode;\n /// default is { url: 'https://orderly.network/docs/introduction/tokenomics/trading-rewards', target: \"_blank\"}\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n brokerName?: string;\n};\n\nexport const useTitleScript = (): TitleConfig => {\n\n const { titleConfig } = useTradingRewardsContext();\n\n return titleConfig;\n};\n","import React from \"react\";\nimport { useTitleScript } from \"./title.script\";\nimport { Title } from \"./title.ui\";\n\nexport const TitleWidget: React.FC = () => {\n const state = useTitleScript();\n return <Title {...state} />;\n};\n","import { useMemo } from \"react\";\nimport { useAccount, useWalletConnector } from \"@orderly.network/hooks\";\nimport { useAppContext } from \"@orderly.network/react-app\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { RewardsTooltipProps } from \"./rewardsTooltip\";\n\nexport const useCurEpochScript = () => {\n const {\n epochList,\n curEpochEstimate: estimate,\n brokerId,\n brokerName,\n statusInfo,\n showEpochPauseCountdown,\n } = useTradingRewardsContext();\n const { wrongNetwork, disabledConnect } = useAppContext();\n const { connect } = useWalletConnector();\n const { state } = useAccount();\n\n const hideData = useMemo(() => {\n return (\n state.status <= AccountStatusEnum.SignedIn ||\n wrongNetwork ||\n disabledConnect\n );\n }, [state, wrongNetwork, disabledConnect]);\n\n const notConnected = useMemo(() => {\n return state.status <= AccountStatusEnum.SignedIn || disabledConnect;\n }, [state, disabledConnect]);\n\n const rewardsTooltip = useMemo((): RewardsTooltipProps | undefined => {\n if (typeof estimate === \"undefined\" || estimate === null) return undefined;\n const otherRewards = estimate.rows\n .filter((item) => item.broker_id !== brokerId)\n .reduce((a, b) => a + b.est_r_account, 0);\n const curRewards = Number(estimate.est_r_wallet) - otherRewards;\n return {\n brokerName,\n curRewards,\n otherRewards,\n };\n }, [brokerId, brokerName, estimate]);\n\n return {\n epochList,\n estimate,\n hideData,\n notConnected,\n connect,\n rewardsTooltip: hideData ? undefined : rewardsTooltip,\n statusInfo,\n showEpochPauseCountdown,\n };\n};\n\nexport type CurEpochReturns = ReturnType<typeof useCurEpochScript>;\n","export const EsOrderlyIcon = (props: {className?: string}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2449)\">\n <path\n d=\"M10.0249 19.9361C15.5202 19.9361 19.9751 15.4813 19.9751 9.98589C19.9751 4.49052 15.5202 0.0356445 10.0249 0.0356445C4.52949 0.0356445 0.0746155 4.49052 0.0746155 9.98589C0.0746155 15.4813 4.52949 19.9361 10.0249 19.9361Z\"\n fill=\"url(#paint0_linear_862_2449)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0992 5.0347C14.1824 5.0347 14.2202 4.93253 14.1556 4.88017C13.0272 3.96625 11.59 3.41876 10.0249 3.41876C8.4598 3.41876 7.02258 3.96625 5.89428 4.88017C5.82963 4.93253 5.86743 5.0347 5.95063 5.0347H14.0992ZM7.2658 11.6648C7.34763 11.6648 7.42329 11.707 7.47028 11.7739C8.03421 12.5781 8.96819 13.1038 10.025 13.1038C11.0817 13.1038 12.0156 12.5781 12.5796 11.7739C12.6266 11.707 12.7022 11.6648 12.7841 11.6648H16.2198C16.2985 11.6648 16.3559 11.7395 16.334 11.8151C15.5419 14.5521 13.0171 16.5531 10.0249 16.5531C7.03275 16.5531 4.50795 14.5521 3.71578 11.8151C3.6939 11.7395 3.75127 11.6648 3.83 11.6648H7.2658ZM12.335 7.8919C12.3825 7.94426 12.4493 7.97581 12.5199 7.97581H16.114C16.1955 7.97581 16.2533 7.89653 16.2264 7.81972C15.9727 7.0936 15.5951 6.42564 15.119 5.84118C15.0743 5.78631 15.007 5.75526 14.9361 5.75526H5.11354C5.04279 5.75526 4.97543 5.78631 4.93075 5.84118C4.4546 6.42564 4.07701 7.0936 3.82337 7.81972C3.79653 7.89653 3.8543 7.97581 3.93567 7.97581H7.52983C7.60053 7.97581 7.66725 7.94426 7.71477 7.8919C8.28522 7.263 9.10892 6.86807 10.0249 6.86807C10.9408 6.86807 11.7646 7.263 12.335 7.8919ZM13.028 10.8273C13.0114 10.8862 13.0549 10.9458 13.116 10.9458H16.4447C16.4894 10.9458 16.5273 10.913 16.5333 10.8688C16.572 10.5798 16.5921 10.285 16.5921 9.98539C16.5921 9.56935 16.5534 9.1623 16.4795 8.76771C16.4716 8.72551 16.4345 8.6952 16.3916 8.6952H13.0042C12.9388 8.6952 12.895 8.763 12.9195 8.82377C13.0636 9.18276 13.1429 9.57477 13.1429 9.98529C13.1429 10.277 13.1029 10.5595 13.028 10.8273ZM6.9338 10.9458C6.99492 10.9458 7.03829 10.8862 7.02183 10.8273C6.94688 10.5595 6.90682 10.277 6.90682 9.98529C6.90682 9.57477 6.98617 9.18276 7.13037 8.82377C7.15477 8.763 7.11101 8.6952 7.04553 8.6952H3.65817C3.61522 8.6952 3.5782 8.72551 3.5703 8.76771C3.49631 9.1623 3.45761 9.56935 3.45761 9.98539C3.45761 10.285 3.47767 10.5798 3.51651 10.8688C3.52246 10.913 3.56045 10.9458 3.60511 10.9458H6.9338Z\"\n fill=\"url(#paint1_linear_862_2449)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"-2.24058\"\n x2=\"10.0249\"\n y2=\"21.2774\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"1\" stopColor=\"#EDE9F4\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"3.41876\"\n x2=\"10.0249\"\n y2=\"16.5531\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2449\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","export const OrderlyIcon = (props: {\n className?: string;\n}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2443)\">\n <path\n d=\"M10.0249 19.9491C15.5202 19.9491 19.9751 15.4942 19.9751 9.99883C19.9751 4.50346 15.5202 0.048584 10.0249 0.048584C4.52949 0.048584 0.0746155 4.50346 0.0746155 9.99883C0.0746155 15.4942 4.52949 19.9491 10.0249 19.9491Z\"\n fill=\"url(#paint0_linear_862_2443)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1556 4.8931C14.2202 4.94547 14.1824 5.04764 14.0992 5.04764H5.95063C5.86743 5.04764 5.82963 4.94547 5.89428 4.8931C7.02258 3.97918 8.4598 3.4317 10.0249 3.4317C11.59 3.4317 13.0272 3.97918 14.1556 4.8931Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.47028 11.7869C7.4233 11.7199 7.34764 11.6777 7.26581 11.6777H3.83C3.75128 11.6777 3.69391 11.7525 3.71579 11.8281C4.50796 14.565 7.03275 16.566 10.0249 16.566C13.0171 16.566 15.5419 14.565 16.334 11.8281C16.3559 11.7525 16.2985 11.6777 16.2198 11.6777H12.7841C12.7022 11.6777 12.6266 11.7199 12.5796 11.7869C12.0156 12.5911 11.0817 13.1167 10.025 13.1167C8.96818 13.1167 8.03421 12.5911 7.47028 11.7869Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.335 7.90476C12.3825 7.95713 12.4493 7.98867 12.5199 7.98867H16.114C16.1955 7.98867 16.2533 7.9094 16.2264 7.83259C15.9727 7.10647 15.5951 6.43851 15.119 5.85405C15.0743 5.79918 15.007 5.76813 14.9361 5.76813H5.11354C5.04278 5.76813 4.97543 5.79918 4.93074 5.85405C4.45459 6.43851 4.07701 7.10647 3.82337 7.83259C3.79652 7.9094 3.85428 7.98867 3.93567 7.98867H7.52982C7.60052 7.98867 7.66725 7.95713 7.71475 7.90476C8.28522 7.27587 9.10892 6.88093 10.0249 6.88093C10.9408 6.88093 11.7646 7.27587 12.335 7.90476Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.116 10.9587C13.0549 10.9587 13.0114 10.8991 13.028 10.8402C13.1029 10.5723 13.1429 10.29 13.1429 9.99822C13.1429 9.5877 13.0636 9.19568 12.9195 8.83669C12.895 8.77593 12.9388 8.70813 13.0042 8.70813H16.3916C16.4345 8.70813 16.4716 8.73843 16.4795 8.78064C16.5534 9.17523 16.5921 9.58228 16.5921 9.99832C16.5921 10.2979 16.572 10.5927 16.5333 10.8816C16.5273 10.9259 16.4894 10.9587 16.4447 10.9587H13.116ZM7.02183 10.8402C7.03829 10.8991 6.99492 10.9587 6.93381 10.9587H3.60511C3.56045 10.9587 3.52246 10.9259 3.51651 10.8816C3.47767 10.5927 3.45761 10.2979 3.45761 9.99832C3.45761 9.58228 3.49631 9.17523 3.5703 8.78064C3.5782 8.73843 3.61523 8.70813 3.65817 8.70813H7.04553C7.11101 8.70813 7.15477 8.77593 7.13037 8.83669C6.98617 9.19568 6.90682 9.5877 6.90682 9.99822C6.90682 10.29 6.94688 10.5723 7.02183 10.8402Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2443\"\n x1=\"10.0249\"\n y1=\"0.0486119\"\n x2=\"10.0249\"\n y2=\"19.9491\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2443\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n };\n ","import React, { FC, useState } from \"react\";\nimport { Flex, Text, Tooltip } from \"@orderly.network/ui\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type RewardsTooltipProps = {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n};\n\nexport const RewardsTooltip: FC<{\n rewardsTooltip?: RewardsTooltipProps;\n children?: React.ReactElement;\n className?: string;\n arrowClassName?: string;\n align?: \"start\" | \"center\" | \"end\";\n}> = (props) => {\n const [open, setOpen] = useState(false);\n const { t } = useTranslation();\n\n const content = (): any => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-leading-[1.5] oui-text-2xs oui-text-base-contrast-80 oui-min-w-[204px]\"\n gap={1}\n >\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">{props.rewardsTooltip?.brokerName}</Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.curRewards, { fix: 2 })}\n </Text>\n </Flex>\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">\n {t(\"tradingRewards.otherOrderlyDex\")}\n </Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.otherRewards, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n );\n };\n\n return (\n <Tooltip\n content={content()}\n align={props.align}\n className={props.className}\n open={open}\n onOpenChange={setOpen}\n arrow={{\n className: props.arrowClassName,\n }}\n delayDuration={100}\n >\n {!!props.children ? (\n React.cloneElement(props.children!, {\n onClick: (e: any) => {\n e.preventDefault();\n setOpen(!open);\n },\n })\n ) : (\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"oui-cursor-pointer\"\n onClick={(e) => {\n e.preventDefault();\n setOpen(!open);\n }}\n >\n <path\n d=\"M10.5 1.678a8.333 8.333 0 1 0-.001 16.667 8.333 8.333 0 0 0 0-16.667m0 4.167a.833.833 0 1 1-.001 1.667.833.833 0 0 1 0-1.667m0 2.5c.46 0 .832.373.832.833v4.167a.833.833 0 0 1-1.666 0V9.178c0-.46.373-.833.833-.833\"\n fill=\"#fff\"\n fillOpacity=\".36\"\n />\n </svg>\n )}\n </Tooltip>\n );\n};\n","import { useState, useEffect, FC, ReactNode, SVGProps, useMemo } from \"react\";\nimport { EpochStatus } from \"@orderly.network/hooks\";\nimport { useTranslation } from \"@orderly.network/i18n\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { Box, Flex, Text, cn } from \"@orderly.network/ui\";\nimport { AuthGuard } from \"@orderly.network/ui-connector\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { CurEpochReturns } from \"./curEpoch.script\";\nimport { RewardsTooltip } from \"./rewardsTooltip\";\n\nexport const CurEpoch: FC<CurEpochReturns> = (props) => {\n const { t } = useTranslation();\n\n const state = props;\n const curEpochInfo = state.epochList?.[1].curEpochInfo;\n const epochList = state.epochList?.[0];\n const startTime = curEpochInfo?.start_time;\n const endTime = curEpochInfo?.end_time;\n const curEpochId = curEpochInfo?.epoch_id;\n const max_reward_amount = curEpochInfo?.max_reward_amount;\n const token = curEpochInfo?.epoch_token;\n\n const isOrder = curEpochInfo\n ? `${curEpochInfo?.epoch_token}`.toLowerCase() === \"order\"\n : undefined;\n\n const pausedEpochTimeDown = useMemo(() => {\n if (!props.showEpochPauseCountdown) {\n return undefined;\n }\n if (!epochList || props.statusInfo?.epochStatus !== EpochStatus.paused) {\n return undefined;\n }\n\n const lastCompletedEpoch = props.statusInfo?.lastCompletedEpoch;\n if (lastCompletedEpoch === undefined) {\n return undefined;\n }\n const nextEpoch = lastCompletedEpoch + 1;\n const epoch = epochList.find((item: any) => item.epoch_id === nextEpoch);\n return epoch?.start_time;\n }, [props.statusInfo?.epochStatus, epochList]);\n\n const showPauseCountdown = useMemo(() => {\n return (\n props.statusInfo?.epochStatus === EpochStatus.paused &&\n pausedEpochTimeDown\n );\n }, [props.statusInfo?.epochStatus, pausedEpochTimeDown]);\n\n if (props.statusInfo?.epochStatus !== EpochStatus.active) {\n return (\n <Flex\n id=\"oui-tradingRewards-home-currentEpoch\"\n r={\"2xl\"}\n className=\"oui-bg-base-9 oui-font-semibold oui-p-10\"\n width={\"100%\"}\n height={\"100%\"}\n direction={\"column\"}\n // justify={\"stretch\"}\n itemAlign={\"stretch\"}\n >\n <Flex\n gap={2}\n direction={\"column\"}\n justify={\"center\"}\n itemAlign={\"center\"}\n className=\"oui-size-full\"\n >\n {showPauseCountdown ? (\n <Flex\n gap={2}\n direction={\"column\"}\n justify={\"center\"}\n itemAlign={\"center\"}\n >\n <Text className=\"oui-text-base-contrast-54 oui-text-sm\">\n {t(\"tradingRewards.epochPauseCountdown.title\")}\n </Text>\n <Countdown targetTimestamp={pausedEpochTimeDown} isStandalone />\n </Flex>\n ) : (\n <Flex\n className=\"oui-text-base-contrast-54 oui-text-sm oui-text-center\"\n justify={\"center\"}\n itemAlign={\"center\"}\n >\n {props.statusInfo?.epochStatus === EpochStatus.paused\n ? t(\"tradingRewards.eopchStatus.pause\")\n : t(\"tradingRewards.eopchStatus.ended\")}\n </Flex>\n )}\n {props.statusInfo?.epochStatus === EpochStatus.paused && (\n <div\n className={cn(\n \"oui-w-full\",\n showPauseCountdown ? \"oui-mt-2\" : \"oui-mt-0\",\n )}\n >\n <TwitterLInk />\n </div>\n )}\n </Flex>\n </Flex>\n );\n }\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-currentEpoch\"\n r={\"2xl\"}\n className=\"oui-bg-base-9 oui-font-semibold\"\n width={\"100%\"}\n height={\"100%\"}\n direction={\"column\"}\n // justify={\"stretch\"}\n itemAlign={\"stretch\"}\n >\n <Countdown targetTimestamp={endTime} />\n <Flex p={6} direction={\"column\"} gap={4} className=\"oui-h-full\">\n <Flex direction={\"row\"} gap={3} width={\"100%\"} justify={\"around\"}>\n <Statics\n title={t(\"tradingRewards.epoch\")}\n highLight={curEpochId ? `${curEpochId}` : \"--\"}\n text={\n startTime && endTime\n ? `${getDate(startTime)} - ${getDate(endTime)}`\n : \"\"\n }\n />\n <Statics\n title={t(\"tradingRewards.epochRewards\")}\n highLight={commifyOptional(max_reward_amount, { fix: 0 })}\n text={token}\n />\n </Flex>\n <EstRewards\n isOrder={isOrder}\n direction={state.notConnected ? \"row\" : \"column\"}\n justify={state.notConnected ? \"between\" : \"center\"}\n hideData={state.hideData}\n estRewards={state.hideData ? \"--\" : props.estimate?.est_r_wallet}\n rewardsTooltip={props.rewardsTooltip}\n background={\n state.notConnected\n ? \"linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%)\"\n : \"linear-gradient(0deg, #2D0061 2.62%, #BD6BED 86.5%)\"\n }\n />\n {/* {state.notConnected && (\n <Button\n variant=\"gradient\"\n fullWidth\n onClick={(e) => {\n e.stopPropagation();\n state.connect();\n }}\n >\n Connect wallet\n </Button>\n )} */}\n\n <div className=\"oui-w-full\">\n <AuthGuard\n status={AccountStatusEnum.SignedIn}\n buttonProps={{ fullWidth: true }}\n >\n <></>\n </AuthGuard>\n </div>\n </Flex>\n </Flex>\n );\n};\n\nconst EstRewards: FC<{\n isOrder?: boolean;\n estRewards?: number | string;\n direction: \"row\" | \"column\";\n justify: \"center\" | \"between\";\n background: string;\n hideData: boolean;\n rewardsTooltip:\n | {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n }\n | undefined;\n}> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n direction={props.direction}\n gap={2}\n py={4}\n px={6}\n width={\"100%\"}\n r=\"xl\"\n itemAlign={\"center\"}\n justify={props.justify}\n style={{\n background: props.background,\n }}\n className=\"oui-flex-1 oui-h-full\"\n >\n <Text className=\"oui-text-base xl:oui-text-lg oui-text-base-contrast-54\">\n {t(\"tradingRewards.myEstRewards\")}\n </Text>\n <Flex direction={\"row\"} gap={3}>\n {props.isOrder == true && (\n <OrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n {props.isOrder == false && (\n <EsOrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n <Text\n children={commifyOptional(props.estRewards, { fix: 2 })}\n className=\"oui-text-xl md:oui-text-2xl xl:oui-text-[32px]\"\n />\n {props.rewardsTooltip && (\n <RewardsTooltip rewardsTooltip={props.rewardsTooltip} />\n )}\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n highLight?: string;\n text?: string;\n}> = (props) => {\n const { title, highLight, text } = props;\n return (\n <Flex\n // px={1}\n py={2}\n justify={\"between\"}\n direction={\"column\"}\n className=\"flex-1\"\n gap={2}\n >\n <Text\n className={cn(\n \"oui-text-base-contrast-54\",\n // font size\n \"oui-text-xs md:oui-text-sm xl:oui-text-base\",\n /// leading\n \"oui-leading-[20px] xl:oui-leading-[24px]\",\n )}\n >\n {title}\n </Text>\n <Flex direction={\"row\"} gap={1} itemAlign={\"end\"} justify={\"center\"}>\n <Text.gradient\n color=\"brand\"\n angle={90}\n className=\"oui-text-base md:oui-text-lg lg:oui-text-xl xl:oui-text-2xl\"\n >\n {highLight}\n </Text.gradient>\n <Text\n intensity={80}\n className=\"oui-mb-[3px] oui-text-2xs md:oui-text-xs xl:oui-text-sm\"\n >\n {text}\n </Text>\n </Flex>\n </Flex>\n );\n};\n\nconst Countdown: FC<{\n targetTimestamp?: number;\n isStandalone?: boolean;\n}> = (props) => {\n const { targetTimestamp, isStandalone } = props;\n const { t } = useTranslation();\n const [timeLeft, setTimeLeft] = useState({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n if (typeof targetTimestamp === \"undefined\") return;\n const now = new Date().getTime();\n const distance = targetTimestamp - now;\n\n if (distance < 0) {\n clearInterval(intervalId as unknown as number);\n setTimeLeft({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n } else {\n const days = Math.floor(distance / (1000 * 60 * 60 * 24));\n const hours = Math.floor(\n (distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60),\n );\n const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((distance % (1000 * 60)) / 1000);\n\n setTimeLeft({ days, hours, minutes, seconds });\n }\n }, 1000);\n\n return () => clearInterval(intervalId as unknown as number);\n }, [targetTimestamp]);\n\n const num = (value: string) => {\n return (\n <Text className=\"oui-text-sm oui-text-base-contrast md:oui-text-base lg:oui-text-lg \">\n {value}\n </Text>\n );\n };\n\n return (\n <Box\n className=\"oui-rounded-t-2xl oui-font-semibold oui-text-base-contrast-54\"\n gradient={isStandalone ? undefined : \"neutral\"}\n angle={180}\n width={\"full\"}\n >\n <Flex justify={\"center\"} gap={1}>\n {isStandalone ? null : <span>{`${t(\"common.countdown\")}: `}</span>}\n <Flex\n direction={\"row\"}\n itemAlign={\"end\"}\n gap={1}\n className={cn(\n \"oui-text-2xs md:oui-text-xs lg:oui-text-sm\",\n isStandalone ? \"oui-py-0\" : \"oui-py-[13px]\",\n )}\n >\n {num(`${timeLeft.days}`.padStart(2, \"0\"))}\n <span>D</span>\n {num(`${timeLeft.hours}`.padStart(2, \"0\"))}\n <span>H</span>\n {num(`${timeLeft.minutes}`.padStart(2, \"0\"))}\n <span>M</span>\n {num(`${timeLeft.seconds}`.padStart(2, \"0\"))}\n <span>S</span>\n </Flex>\n </Flex>\n </Box>\n );\n};\n\nconst CountDownNum = (props: { children?: ReactNode }) => {\n return (\n <Text className=\"oui-text-sm oui-text-base-contrast md:oui-text-base lg:oui-text-lg \">\n {props.children}\n </Text>\n );\n};\n\nconst getDate = (timestamp?: number) => {\n if (!timestamp) return \"\";\n\n const date = new Date(timestamp);\n\n // return format(timestamp, \"MMM. d\");\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate();\n return `${month}. ${day}`;\n};\n\nexport const ArrowRightIcon: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <mask\n id=\"mask0_1997_45723\"\n style={{ maskType: \"alpha\" }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"0\"\n width=\"21\"\n height=\"20\"\n >\n <rect x=\"0.5\" width=\"20\" height=\"20\" fill=\"#D9D9D9\" />\n </mask>\n <g mask=\"url(#mask0_1997_45723)\">\n <path\n d=\"M12.0384 14.7111L11.1603 13.8073L14.343 10.6246H4.25V9.37463H14.343L11.1603 6.19192L12.0384 5.28809L16.75 9.99961L12.0384 14.7111Z\"\n // fill=\"black\"\n // fill-opacity=\"0.8\"\n />\n </g>\n </svg>\n);\nconst TwitterLInk: FC = () => {\n const { t } = useTranslation();\n return (\n <Flex\n gap={1}\n itemAlign={\"center\"}\n justify={\"center\"}\n className=\"oui-group oui-cursor-pointer oui-fill-base-contrast-36 oui-text-sm oui-text-base-contrast-36 group-hover:oui-text-base-contrast-80\"\n onClick={() => window.open(\"https://x.com/OrderlyNetwork\")}\n >\n <div className=\"oui-cursor-pointer oui-fill-base-contrast-36 oui-text-sm oui-text-base-contrast-36 group-hover:oui-text-base-contrast-80\">\n {t(\"tradingRewards.eopchStatus.linkDescription\")}\n </div>\n <ArrowRightIcon className=\"oui-text-fill-base-contrast-36 oui-fill-base-contrast-36 group-hover:oui-fill-base-contrast-80\" />\n </Flex>\n );\n};\n","import { FC } from \"react\";\nimport { useCurEpochScript } from \"./curEpoch.script\";\nimport { CurEpoch } from \"./curEpoch.ui\";\n\nexport const CurEpochWidget: FC = () => {\n const state = useCurEpochScript();\n return <CurEpoch {...state} />;\n};\n","export { CurEpochWidget } from \"./curEpoch.widget\";\nexport { CurEpoch } from \"./curEpoch.ui\";\nexport { useCurEpochScript } from \"./curEpoch.script\";\n","import { useCallback, useMemo } from \"react\";\nimport { useDataTap } from \"@orderly.network/react-app\";\nimport { Decimal } from \"@orderly.network/utils\";\nimport { ChainNamespace } from \"@orderly.network/types\";\nimport { ENVType, useGetEnv, useWalletConnector } from \"@orderly.network/hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type AvailableReturns = {\n order?: number;\n esOrder?: number;\n goToClaim?: (e: any) => void;\n};\n\nexport const useAvailableScript = (): AvailableReturns => {\n const {\n totalOrderClaimedReward,\n walletRewardsHistory,\n totalEsOrderClaimedReward,\n } = useTradingRewardsContext();\n const [orderClaimedRewardData] = totalOrderClaimedReward;\n const [esOrderClaimedRewardData] = totalEsOrderClaimedReward;\n\n const { namespace } = useWalletConnector();\n\n const [data] = walletRewardsHistory;\n\n const lifetimeOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_order;\n }\n return data?.wallet_pending_trading_rewards_order;\n }, [namespace, data]);\n\n const lifetimeEsOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_escrow;\n }\n return data?.wallet_pending_trading_rewards_escrow;\n }, [data, namespace]);\n\n const env = useGetEnv();\n const goToClaim = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/tradingRewards`;\n window.open(url, \"_blank\");\n };\n\n const calculateRemainingReward = useCallback(\n (totalReward: string | undefined, claimedReward: number | undefined) => {\n if (\n typeof claimedReward !== \"undefined\" &&\n typeof totalReward !== \"undefined\"\n ) {\n const remainingReward = new Decimal(totalReward)\n .sub(claimedReward)\n .toFixed(18, Decimal.ROUND_DOWN);\n return Number(remainingReward);\n }\n return undefined;\n },\n []\n );\n\n const availableOrder = useMemo(\n () => calculateRemainingReward(lifetimeOrderReward, orderClaimedRewardData),\n [lifetimeOrderReward, orderClaimedRewardData, calculateRemainingReward]\n );\n\n const availableEsOrder = useMemo(\n () =>\n calculateRemainingReward(lifetimeEsOrderReward, esOrderClaimedRewardData),\n [lifetimeEsOrderReward, esOrderClaimedRewardData, calculateRemainingReward]\n );\n\n const orderValue = useDataTap<number | undefined>(availableOrder);\n const esorderValue = useDataTap<number | undefined>(availableEsOrder);\n return {\n order: orderValue ?? undefined,\n esOrder: esorderValue ?? undefined,\n goToClaim,\n };\n};\n","export const JumpIcon = () => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n // fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n >\n <path\n d=\"M11.3275 13.9938C12.8001 13.9938 13.9941 12.7998 13.9941 11.3272V4.66049C13.9941 3.18782 12.8001 1.99382 11.3275 1.99382H4.66081C3.18814 1.99382 1.99414 3.18782 1.99414 4.66049V11.3272C1.99414 12.7998 3.18814 13.9938 4.66081 13.9938H11.3275ZM5.99414 10.6605C5.82347 10.6605 5.64548 10.6031 5.51481 10.4732C5.25481 10.2125 5.25481 9.77516 5.51481 9.51449L8.18148 6.84782L6.66081 5.32715H10.6608V9.32715L9.14014 7.80648L6.47347 10.4732C6.34347 10.6031 6.16481 10.6605 5.99414 10.6605Z\"\n \n />\n </svg>\n );\n};\n","import { Flex, Text } from \"@orderly.network/ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { FC } from \"react\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { AvailableReturns } from \"./availableToClaim.script\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const AvailableToClaim: FC<AvailableReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-availableToClaim\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">\n {t(\"tradingRewards.availableClaim\")}\n </Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.goToClaim}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.claim\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics title=\"ORDER\" value={props.order} />\n <Statics title=\"esORDER\" value={props.esOrder} isEsOrder />\n </Flex>\n </Flex>\n );\n};\n// background: linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%);\n\nconst Statics: FC<{\n title: string;\n isEsOrder?: boolean;\n value?: number;\n}> = (props) => {\n const { value } = props;\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.isEsOrder ? <EsOrderlyIcon /> : <OrderlyIcon />}\n <Text\n className=\"oui-text-sm xl:oui-text-base\"\n children={commifyOptional(value, { fix: 2 })}\n />\n </Flex>\n </Flex>\n );\n};\n","import React from \"react\";\nimport { useAvailableScript } from \"./availableToClaim.script\";\nimport { AvailableToClaim } from \"./availableToClaim.ui\";\n\nexport const AvailableToClaimWidget: React.FC = () => {\n const state = useAvailableScript();\n return <AvailableToClaim {...state} />;\n};\n","\nexport { AvailableToClaimWidget } from \"./availableToClaim.widget\";\nexport { AvailableToClaim } from \"./availableToClaim.ui\";","import { CurrentEpochEstimate } from \"@orderly.network/hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { ENVType, useGetEnv } from \"@orderly.network/hooks\";\nimport { useDataTap } from \"@orderly.network/react-app\";\nimport { Decimal } from \"@orderly.network/utils\";\nimport { useMemo } from \"react\";\n\nexport const useStakeBoosterScript = () => {\n const { curEpochEstimate } = useTradingRewardsContext();\n\n const env = useGetEnv();\n const stakeNow = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/staking`;\n window.open(url, \"_blank\");\n };\n const estimateValue = useDataTap(curEpochEstimate);\n\n const booster = useMemo(() => {\n const estStakeBoost = curEpochEstimate?.est_stake_boost;\n if (typeof estStakeBoost === \"undefined\" || estStakeBoost === null) {\n return undefined;\n }\n\n if (estStakeBoost === 0) return estStakeBoost;\n\n return new Decimal(estStakeBoost)\n .div(new Decimal(10).pow(0.15))\n .toDecimalPlaces(2, Decimal.ROUND_DOWN)\n .toString();\n }, [curEpochEstimate?.est_stake_boost]);\n return {\n curEpochEstimate: estimateValue ?? undefined,\n stakeNow,\n booster,\n };\n};\n\n\nexport type StakeBoosterReturns = ReturnType<typeof useStakeBoosterScript>;","export const RocketIcon = () => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.439 10.5672C14.0868 10.9198 13.7025 11.2403 13.3183 11.5287C13.1902 11.6248 13.1261 11.721 13.0941 11.8812C12.7739 13.1952 12.1015 14.4451 11.0448 15.5027C10.5645 15.9835 10.0522 16.3681 9.47584 16.7206C8.99553 17.009 8.41917 16.5283 8.61129 15.9835C8.93149 15.1502 9.05957 14.2528 9.05957 13.3234C8.99553 13.3234 8.89947 13.3555 8.83543 13.3555C8.06695 12.7145 7.3625 12.0415 6.65805 11.3364C5.95361 10.6313 5.28118 9.89421 4.64078 9.15708C4.64078 9.09299 4.6728 8.99684 4.6728 8.93274C3.74421 8.93274 2.84764 9.09299 2.01512 9.38143C1.50279 9.57372 0.990469 8.99684 1.27865 8.51611C1.63087 7.93923 2.01512 7.42645 2.49542 6.94572C3.55209 5.88811 4.80088 5.21508 6.11371 4.89459C6.24179 4.86255 6.36987 4.7664 6.46593 4.67025C6.75412 4.25362 7.07432 3.90108 7.42654 3.54855C9.92412 1.04874 13.4143 0.183422 16.6484 0.920545C16.8725 0.984642 17.0326 1.14489 17.0967 1.36923C17.8011 4.57411 16.9366 8.06742 14.439 10.5672ZM13.0301 4.95869C12.2616 4.18952 10.9808 4.18952 10.2123 4.95869C9.44382 5.72786 9.44382 7.00982 10.2123 7.77899C10.9808 8.54816 12.2616 8.54816 13.0301 7.77899C13.8306 6.97777 13.8306 5.72786 13.0301 4.95869ZM5.88957 14.7656C5.28118 15.3745 1.53481 17.9385 0.798348 17.2013C0.0618817 16.4642 2.6235 12.7145 3.23189 12.1056C3.84027 11.4966 4.92896 11.5928 5.66543 12.3299C6.40189 13.067 6.49795 14.1567 5.88957 14.7656Z\"\n fill=\"url(#paint0_linear_88_1748)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_88_1748\"\n x1=\"17.3331\"\n y1=\"8.99996\"\n x2=\"0.666504\"\n y2=\"8.99996\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC, ReactNode } from \"react\";\nimport { Flex, Text } from \"@orderly.network/ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { RocketIcon } from \"../components/rocket\";\nimport { StakeBoosterReturns } from \"./stakeBooster.script\";\nimport { commify, commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const StakeBooster: FC<StakeBoosterReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-stakeBooster\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">{t(\"tradingRewards.stakeBooster\")}</Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.stakeNow}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.stake\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics\n title={t(\"tradingRewards.avgStakedAmount\")}\n value={props.curEpochEstimate?.est_avg_stake}\n icon={\n <div className=\"oui-flex oui-w-[32px] oui-h-[20px] oui-relative\">\n <div className=\"oui-absolute oui-right-0 oui-top-0\">\n <EsOrderlyIcon />\n </div>\n <div className=\"oui-absolute oui-left-0 oui-top-0 \">\n <OrderlyIcon />\n </div>\n </div>\n }\n />\n <Statics\n title={t(\"tradingRewards.booster\")}\n value={props.booster}\n icon={<RocketIcon />}\n gradient\n />\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n icon: ReactNode;\n value?: number | string;\n gradient?: boolean;\n}> = (props) => {\n const calcValue = commify(props.value || \"--\", 2);\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.icon}\n {props.gradient ? (\n <Text.gradient\n className=\"oui-text-sm xl:oui-text-base\"\n color=\"brand\"\n angle={90}\n >\n {calcValue + (calcValue === \"--\" ? \"\" : \"x\")}\n </Text.gradient>\n ) : (\n <Text className=\"oui-text-sm xl:oui-text-base\">\n {commifyOptional(props.value, { fix: 2 })}\n </Text>\n )}\n </Flex>\n </Flex>\n );\n};\n","import React from \"react\";\nimport { useStakeBoosterScript } from \"./stakeBooster.script\";\nimport { StakeBooster } from \"./stakeBooster.ui\";\n\nexport const StakeBoosterWidget: React.FC = () => {\n const state = useStakeBoosterScript();\n return <StakeBooster {...state} />;\n};\n","\nexport { StakeBoosterWidget } from \"./stakeBooster.widget\";\nexport { StakeBooster } from \"./stakeBooster.ui\";","import { FC } from \"react\";\nimport {\n Box,\n Divider,\n Flex,\n ListView,\n Text,\n DataTable,\n Column,\n} from \"@orderly.network/ui\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { ListType, RewardsHistoryReturns } from \"./rewardsHistory.script\";\nimport { useMediaQuery } from \"@orderly.network/hooks\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { AuthGuardEmpty } from \"@orderly.network/ui-connector\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { RewardsTooltip } from \"../curEpoch/rewardsTooltip\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const RewardHistory: FC<RewardsHistoryReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-rewardHistory\"\n py={4}\n px={3}\n direction={\"column\"}\n gap={2}\n itemAlign={\"start\"}\n r=\"2xl\"\n className=\"oui-bg-base-9 oui-w-full oui-font-semibold oui-tabular-nums\"\n >\n <Text className=\"oui-text-lg oui-px-3\">\n {t(\"tradingRewards.rewardHistory\")}\n </Text>\n <div className=\"oui-border-t-2 oui-border-line-4 oui-w-full\">\n <List {...props} />\n </div>\n </Flex>\n );\n};\n\nconst List: FC<RewardsHistoryReturns> = (props) => {\n const isMobile = useMediaQuery(\"(max-width: 767px)\");\n\n return isMobile ? (\n <ListView\n dataSource={props.originalData}\n renderItem={(item, index) => {\n return <MobileCell data={item} />;\n }}\n className=\"oui-mt-3 oui-max-h-[356px]\"\n />\n ) : (\n <Box px={3}>\n <DesktopList {...props} />\n </Box>\n );\n};\n\nconst MobileCell: FC<{\n data: ListType;\n}> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n console.log(data.rewardsTooltip);\n const isOrder =\n `${data?.info?.epoch_token || data.epoch_token}`.toLowerCase() === \"order\";\n const r_warret = commifyOptional(data.info?.r_wallet, { fix: 2 });\n\n return (\n <Flex\n key={data.epoch_id}\n direction={\"column\"}\n px={4}\n pt={0}\n gap={3}\n className=\"oui-text-base-contrast-80\"\n >\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epoch\")}\n </Text>\n <Text className=\"oui-text-sm\">{`Epoch ${data.epoch_id}`}</Text>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epochRewards\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text className=\"oui-text-sm\">\n {commifyOptional(data.max_reward_amount, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardsEarned\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {r_warret !== \"--\" &&\n (isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />)}\n {!!data.rewardsTooltip ? (\n <RewardsTooltip\n rewardsTooltip={data.rewardsTooltip}\n children={\n <Text className=\"oui-text-sm oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\">\n {r_warret}\n </Text>\n }\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n ) : (\n <Text className=\"oui-text-sm\">{r_warret}</Text>\n )}\n </Flex>\n </Flex>\n </Flex>\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.startDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.start_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.start_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.endDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.end_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Divider className=\"oui-w-full\" />\n </Flex>\n );\n};\n\nconst DesktopList: FC<RewardsHistoryReturns> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n const columns: Column<ListType>[] = [\n {\n title: t(\"tradingRewards.epoch\"),\n dataIndex: \"epoch_id\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value) => {\n return <Text>{`${t(\"tradingRewards.epoch\")} ${value}`}</Text>;\n },\n },\n {\n title: t(\"tradingRewards.rewardHistory.column.start&EndDate\"),\n dataIndex: \"time\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[2px]\"\n justify={\"start\"}\n itemAlign={\"start\"}\n >\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.start_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.start_time).secondPart}\n </Text>\n </Flex>\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.end_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.epochRewards\"),\n dataIndex: \"max_reward_amount\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text>{commifyOptional(value)}</Text>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.rewardsEarned\"),\n dataIndex: \"earned\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n\n let children = (\n <Text\n className={\n record.rewardsTooltip\n ? \"oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\"\n : \"\"\n }\n >\n {commifyOptional(record.info?.r_wallet, { fix: 2 })}\n </Text>\n );\n\n if (record.rewardsTooltip) {\n children = (\n <RewardsTooltip\n rewardsTooltip={record.rewardsTooltip}\n children={children}\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n );\n }\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n {children}\n </Flex>\n );\n },\n },\n ];\n\n return (\n <DataTable\n bordered\n columns={columns}\n loading={props.isLoading}\n dataSource={data}\n emptyView={<AuthGuardEmpty status={AccountStatusEnum.SignedIn} />}\n onRow={(record) => {\n return {\n className: \"oui-h-[59px]\",\n };\n }}\n pagination={props.pagination}\n />\n );\n};\n\nfunction formatTimestamp(timestamp?: number) {\n if (typeof timestamp === \"undefined\")\n return {\n firstPart: \"-\",\n secondPart: \"\",\n };\n const date = new Date(timestamp);\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate().toString().padStart(2, \"0\");\n const year = date.getUTCFullYear();\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const amPm = hours >= 12 ? \"PM\" : \"AM\";\n const formattedHours = (hours % 12).toString().padStart(2, \"0\");\n const formattedMinutes = minutes.toString().padStart(2, \"0\");\n\n // return `${month} ${day}, ${year}_${formattedHours}:${formattedMinutes} ${amPm}`;\n return {\n firstPart: `${month} ${day}, ${year}`,\n secondPart: `${formattedHours}:${formattedMinutes} ${amPm}`,\n };\n}\n","import { useMemo } from \"react\";\nimport {\n EpochInfoItem,\n useAccount,\n useAccountRewardsHistory,\n WalletRewardsItem,\n} from \"@orderly.network/hooks\";\nimport { useAppContext } from \"@orderly.network/react-app\";\nimport { usePagination } from \"@orderly.network/ui\";\nimport { getTimestamp } from \"@orderly.network/utils\";\nimport { RewardsTooltipProps } from \"../curEpoch/rewardsTooltip\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type ListType = EpochInfoItem & {\n info?: WalletRewardsItem;\n state?: string;\n rewardsTooltip?: RewardsTooltipProps;\n};\n\nexport type RewardsHistoryReturns = ReturnType<typeof useRewardsHistoryScript>;\n\nexport const useRewardsHistoryScript = () => {\n const { account } = useAccount();\n const {\n epochList,\n walletRewardsHistory,\n totalOrderClaimedReward,\n brokerId,\n brokerName,\n } = useTradingRewardsContext();\n const epochInfos = epochList?.[0];\n const { isNotStared } = epochList?.[1];\n const [history] = walletRewardsHistory;\n const { wrongNetwork, disabledConnect } = useAppContext();\n\n const { data: accountHistory } = useAccountRewardsHistory(account.address);\n\n const data = useMemo(() => {\n if (isNotStared || disabledConnect) {\n return [];\n }\n const list = [...(epochInfos || [])];\n\n const combineData = list.map((e): ListType => {\n const id = e.epoch_id;\n const index = history?.rows.findIndex((info) => id === info.epoch_id);\n\n let rewardsTooltip: RewardsTooltipProps | undefined = undefined;\n\n if (index !== -1 && !wrongNetwork) {\n const info = history?.rows?.[index as number];\n const _findIndex = accountHistory?.findIndex((item: any) => {\n return item?.epoch_id === e.epoch_id;\n });\n\n if (\n accountHistory !== undefined &&\n _findIndex !== undefined &&\n _findIndex !== -1\n ) {\n // get broker\n const brokerList = accountHistory[_findIndex].broker;\n const curBrokerIndex = brokerList.findIndex(\n (item) => item.broker_id === brokerId,\n );\n const curBroker =\n curBrokerIndex !== -1 ? brokerList[curBrokerIndex] : undefined;\n const curRewards = curBroker?.r_account ?? 0;\n const otherRewards = Math.max(0, (info?.r_wallet ?? 0) - curRewards);\n rewardsTooltip = {\n brokerName,\n curRewards,\n otherRewards,\n };\n }\n return {\n ...e,\n info,\n rewardsTooltip,\n } as ListType;\n }\n return {\n ...e,\n } as ListType;\n });\n\n combineData.sort((a, b) => a.epoch_id - b.epoch_id); // asc\n let [claimedReward] = totalOrderClaimedReward;\n if (typeof claimedReward !== \"undefined\") {\n for (let i = 0; i < combineData.length; i++) {\n const element = combineData[i];\n if (typeof element?.info === \"undefined\") {\n element.state = \"Null\";\n continue;\n }\n const status = element.info?.reward_status;\n if (status === \"Confirmed\") {\n if (claimedReward - element.info?.r_wallet >= 0) {\n element.state = \"Claimed\";\n } else {\n element.state = \"Claimable\";\n }\n claimedReward -= element.info?.r_wallet;\n } else if (status === \"Pending\") {\n element.state = \"Processing\";\n }\n }\n }\n combineData.sort((a, b) => b.epoch_id - a.epoch_id);\n const curDate = getTimestamp();\n return combineData.filter((item) => item.end_time <= curDate);\n }, [\n history,\n epochInfos,\n totalOrderClaimedReward,\n isNotStared,\n wrongNetwork,\n accountHistory,\n disabledConnect,\n ]);\n\n const { pagination } = usePagination();\n\n return {\n data,\n originalData: data,\n pagination,\n isLoading: epochList[1].isLoading,\n };\n};\n","import React from \"react\";\nimport { useRewardsHistoryScript } from \"./rewardsHistory.script\";\nimport { RewardHistory } from \"./rewardsHistory.ui\";\n\nexport const RewardsHistoryWidget: React.FC = () => {\n const state = useRewardsHistoryScript();\n return <RewardHistory {...state} />;\n};\n","export { RewardHistory } from \"./rewardsHistory.ui\";\nexport { RewardsHistoryWidget } from \"./rewardsHistory.widget\";","\nexport * from \"./title\";\nexport * from \"./curEpoch\";\nexport * from \"./availableToClaim\";\nexport * from \"./stakeBooster\";\nexport * from \"./rewardHistory\";\nexport { TradingRewardsProvider} from \"./provider\";\nexport { HomePage } from \"./page\";\n","export { Title } from \"./title.ui\";\nexport { TitleWidget } from \"./title.widget\";\nexport type { TitleConfig } from \"./title.script\";","import React, { useMemo } from \"react\";\nimport { useTradingRewardsStatus, EpochStatus } from \"@orderly.network/hooks\";\nimport { Flex, Box, cn } from \"@orderly.network/ui\";\nimport { TradingRewardsProvider } from \"./provider\";\nimport type { TitleConfig } from \"./title/title.script\";\n\nconst LazyTitleWidget = React.lazy(() =>\n import(\"./title/title.widget\").then((mod) => {\n return { default: mod.TitleWidget };\n }),\n);\n\nconst LazyCurEpochWidget = React.lazy(() =>\n import(\"./curEpoch\").then((mod) => {\n return { default: mod.CurEpochWidget };\n }),\n);\n\nconst LazyAvailableToClaimWidget = React.lazy(() =>\n import(\"./availableToClaim\").then((mod) => {\n return { default: mod.AvailableToClaimWidget };\n }),\n);\n\nconst LazyStakeBoosterWidget = React.lazy(() =>\n import(\"./stakeBooster\").then((mod) => {\n return { default: mod.StakeBoosterWidget };\n }),\n);\n\nconst LazyRewardsHistoryWidget = React.lazy(() =>\n import(\"./rewardHistory\").then((mod) => {\n return { default: mod.RewardsHistoryWidget };\n }),\n);\n\nconst StakeBooster: React.FC = () => {\n const { statusInfo } = useTradingRewardsStatus(false);\n const isStakeBoosterVisible = useMemo(() => {\n return statusInfo?.epochStatus === EpochStatus.active;\n }, [statusInfo?.epochStatus]);\n return isStakeBoosterVisible ? (\n <React.Suspense fallback={null}>\n <LazyStakeBoosterWidget />\n </React.Suspense>\n ) : null;\n};\n\nexport const HomePage: React.FC<{\n titleConfig?: TitleConfig;\n className?: string;\n showEpochPauseCountdown?: boolean;\n}> = (props) => {\n return (\n <TradingRewardsProvider\n titleConfig={props.titleConfig}\n showEpochPauseCountdown={props.showEpochPauseCountdown}\n >\n <Flex\n id=\"oui-tradingRewards-home-page\"\n className={cn(\"oui-h-lvw oui-w-full\", props.className)}\n direction={\"column\"}\n gap={4}\n >\n <React.Suspense fallback={null}>\n <LazyTitleWidget />\n </React.Suspense>\n <Flex className=\"oui-flex oui-size-full oui-flex-col oui-gap-4 2xl:oui-flex-row 2xl:oui-items-stretch\">\n <Box className=\"oui-w-full 2xl:oui-size-auto 2xl:oui-flex-1\">\n <React.Suspense fallback={null}>\n <LazyCurEpochWidget />\n </React.Suspense>\n </Box>\n <Flex className=\"oui-flex oui-w-full oui-flex-col oui-gap-4 lg:oui-flex-row 2xl:oui-flex-1 2xl:oui-flex-col\">\n <React.Suspense fallback={null}>\n <LazyAvailableToClaimWidget />\n </React.Suspense>\n <StakeBooster />\n </Flex>\n </Flex>\n <React.Suspense fallback={null}>\n <LazyRewardsHistoryWidget />\n </React.Suspense>\n </Flex>\n </TradingRewardsProvider>\n );\n};\n","import { useEffect, useMemo, useState } from \"react\";\nimport { useMediaQuery } from \"@orderly.network/hooks\";\nimport type { SideBarProps } from \"@orderly.network/ui-scaffold\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport enum TradingRewardsLeftSidebarPath {\n Trading = \"/rewards/trading\",\n Affiliate = \"/rewards/affiliate\",\n}\n\nexport const useTradingRewardsLayoutScript = (props: {\n current?: string;\n}): SideBarProps & {\n hideSideBar: boolean;\n} => {\n const { t } = useTranslation();\n const [current, setCurrent] = useState(props.current || \"/rewards/affiliate\");\n\n useEffect(() => {\n if (props.current) setCurrent(props.current);\n }, [props.current]);\n\n const items = useMemo(() => {\n return [\n {\n name: t(\"common.trading\"),\n href: TradingRewardsLeftSidebarPath.Trading,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.883 1.5c-.166.01-.393.076-.515.173a2 2 0 0 0-.18.173L.918 6.553a.86.86 0 0 0-.168.475c0 .339.232.543.232.543l7.374 8.633c.005.006.269.301.644.296s.64-.29.644-.296l7.402-8.663s.204-.269.204-.513-.196-.517-.196-.517L13.82 1.848c-.023-.032-.076-.021-.103-.049-.033-.038-.037-.091-.077-.124-.123-.097-.267-.106-.413-.123-.04-.005-.063-.049-.103-.049h-.078zm1.745 1.582h4.744L9 5.795zm-1.675.542 2.294 2.615H3.122zm8.094 0 1.831 2.615h-4.125zM3.328 7.818h4.847v5.672zm6.497 0h4.847c-1.151 1.345-3.422 4.007-4.847 5.672z\"\n // fill=\"url(#a)\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n <defs>\n <linearGradient\n id=\"a\"\n x1=\"17.25\"\n y1=\"9\"\n x2=\".75\"\n y2=\"9\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop\n offset=\"1\"\n stopColor=\"rgb(var(--oui-gradient-brand-start))\"\n />\n </linearGradient>\n </defs>\n </svg>\n ),\n },\n {\n name: t(\"common.affiliate\"),\n href: TradingRewardsLeftSidebarPath.Affiliate,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.625 4.95c0-.746.604-1.35 1.35-1.35h4.05c.746 0 1.35.604 1.35 1.35v4.62L9 12.195 5.625 9.57zm8.624 3.163-.524.407v-.96l.074.05c.193.128.346.302.45.502m-4.42 5.148L14.4 9.705v3.345a1.35 1.35 0 0 1-1.35 1.35h-8.1a1.35 1.35 0 0 1-1.35-1.35V9.705l4.571 3.556c.488.379 1.17.379 1.658 0M4.275 8.52l-.524-.407c.104-.2.257-.374.45-.503l.074-.049zm0-2.581V4.95a2.7 2.7 0 0 1 2.7-2.7h4.05a2.7 2.7 0 0 1 2.7 2.7v.989l.823.548a2.7 2.7 0 0 1 1.202 2.247v4.316a2.7 2.7 0 0 1-2.7 2.7h-8.1a2.7 2.7 0 0 1-2.7-2.7V8.734a2.7 2.7 0 0 1 1.202-2.247zM9 6.089l.111-.118.005-.005a1.08 1.08 0 0 1 1.58.004 1.223 1.223 0 0 1 0 1.668l-1.515 1.62-.004.004c-.1.102-.26.1-.358-.004l-1.516-1.62a1.223 1.223 0 0 1 0-1.668l.004-.004a1.08 1.08 0 0 1 1.58.004z\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n </svg>\n ),\n },\n ];\n }, [t]);\n\n const hideSideBar = useMediaQuery(\"(max-width: 768px)\");\n\n return {\n items,\n current,\n hideSideBar,\n // open: sideOpen,\n // onOpenChange(open) {\n // setSideOpen(open);\n // },\n onItemSelect: (item) => {\n // @ts-ignore\n setCurrent(item.href);\n },\n };\n};\n","import React, { PropsWithChildren } from \"react\";\nimport omit from \"ramda/es/omit\";\nimport { cn } from \"@orderly.network/ui\";\nimport { Scaffold, SideBarProps } from \"@orderly.network/ui-scaffold\";\nimport { ScaffoldProps } from \"@orderly.network/ui-scaffold\";\n\nexport type TradingRewardsLayoutProps = ScaffoldProps & {\n hideSideBar?: boolean;\n items?: SideBarProps[\"items\"];\n};\n\nexport const TradingRewardsLayout: React.FC<\n PropsWithChildren<TradingRewardsLayoutProps>\n> = (props) => {\n const { children, classNames, ...rest } = props;\n return (\n <Scaffold\n leftSidebar={null}\n routerAdapter={props.routerAdapter}\n classNames={{\n ...classNames,\n content: classNames?.content,\n topNavbar: cn(\"oui-bg-base-9\", classNames?.topNavbar),\n leftSidebar: cn(\n \"oui-rounded-xl oui-bg-base-9\",\n \"oui-m-3 oui-p-4\",\n \"oui-border oui-border-line\",\n classNames?.leftSidebar,\n ),\n }}\n {...omit([\"leftSideProps\"], rest)}\n >\n {children}\n </Scaffold>\n );\n};\n\n// type LeftSidebarProps = SideBarProps & {\n// routerAdapter?: RouterAdapter;\n// };\n\n// const LeftSidebar: React.FC<LeftSidebarProps> = (props) => {\n// const { t } = useTranslation();\n// const { expanded, setExpand } = useScaffoldContext();\n// return (\n// <SideBar\n// title={t(\"tradingRewards.rewards\")}\n// {...props}\n// open={expanded}\n// onOpenChange={(open) => setExpand(open)}\n// onItemSelect={(a) => {\n// props.onItemSelect?.(a);\n// props.routerAdapter?.onRouteChange?.({\n// href: a.href || \"\",\n// name: a.name,\n// });\n// }}\n// />\n// );\n// };\n","import { FC, PropsWithChildren } from \"react\";\nimport { ScaffoldProps } from \"@orderly.network/ui-scaffold\";\nimport { useTradingRewardsLayoutScript } from \"./layout.script\";\nimport { TradingRewardsLayout } from \"./layout.ui\";\n\nexport const TradingRewardsLayoutWidget: FC<\n PropsWithChildren<ScaffoldProps>\n> = (props) => {\n const state = useTradingRewardsLayoutScript({\n current: props.leftSideProps?.current,\n });\n return (\n <TradingRewardsLayout {...state} {...props}>\n {props.children}\n </TradingRewardsLayout>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/pages/index/title/title.ui.tsx","../src/pages/index/provider.tsx","../src/pages/index/title/title.script.tsx","../src/pages/index/title/title.widget.tsx","../src/pages/index/curEpoch/curEpoch.script.tsx","../src/pages/index/components/esOrderlyIcon.tsx","../src/pages/index/components/orderlyIcon.tsx","../src/pages/index/curEpoch/rewardsTooltip.tsx","../src/pages/index/curEpoch/curEpoch.ui.tsx","../src/pages/index/curEpoch/curEpoch.widget.tsx","../src/pages/index/curEpoch/index.ts","../src/pages/index/availableToClaim/availableToClaim.script.tsx","../src/pages/index/components/jumpIcon.tsx","../src/pages/index/availableToClaim/availableToClaim.ui.tsx","../src/pages/index/availableToClaim/availableToClaim.widget.tsx","../src/pages/index/availableToClaim/index.ts","../src/pages/index/stakeBooster/stakeBooster.script.tsx","../src/pages/index/components/rocket.tsx","../src/pages/index/stakeBooster/stakeBooster.ui.tsx","../src/pages/index/stakeBooster/stakeBooster.widget.tsx","../src/pages/index/stakeBooster/index.ts","../src/pages/index/rewardHistory/rewardsHistory.ui.tsx","../src/pages/index/rewardHistory/rewardsHistory.script.tsx","../src/pages/index/rewardHistory/rewardsHistory.widget.tsx","../src/pages/index/rewardHistory/index.ts","../src/pages/index/index.tsx","../src/pages/index/title/index.ts","../src/pages/index/page.tsx","../src/layout/layout.script.tsx","../src/layout/layout.ui.tsx","../src/layout/layout.widget.tsx"],"names":["useTranslation","jsxs","Flex","Text","jsx","Divider","createContext","TWType","useConfig","useTradingRewardsStatus","useGetClaimed","DistributionId","useAllBrokers","useCurEpochEstimate","useWalletRewardsHistory","useEpochInfo","useMemo","useContext","useAppContext","useWalletConnector","useAccount","AccountStatusEnum","useState","commifyOptional","Tooltip","React","EpochStatus","cn","AuthGuard","Fragment","useEffect","Box","ChainNamespace","useGetEnv","ENVType","useCallback","Decimal","useDataTap","Statics","commify","useMediaQuery","ListView","DataTable","AuthGuardEmpty","useAccountRewardsHistory","getTimestamp","usePagination","StakeBooster","TradingRewardsLeftSidebarPath","Scaffold","omit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAKa,KAAA,EAgCP,aAAA;AArCN,IAAA,aAAA,GAAA,KAAA,CAAA;AAAA,EAAA,oCAAA,GAAA;AAKO,IAAM,KAAA,GAAyB,CAAC,KAAA,KAAU;AAC/C,MAAA,MAAM,EAAE,KAAA,EAAO,QAAA,EAAU,OAAA,EAAS,gBAAe,GAAI,KAAA;AACrD,MAAA,MAAM,EAAE,CAAA,EAAE,GAAIA,mBAAA,EAAe;AAE7B,MAAA,uBACEC,eAAA;AAAA,QAACC,OAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,+BAAA;AAAA,UACH,CAAA,EAAG,CAAA;AAAA,UACH,SAAA,EAAW,QAAA;AAAA,UACX,SAAA,EAAW,OAAA;AAAA,UACX,GAAA,EAAK,CAAA;AAAA,UACL,SAAA,EAAU,iCAAA;AAAA,UACV,CAAA,EAAG,KAAA;AAAA,UACH,KAAA,EAAO,MAAA;AAAA,UAEN,QAAA,EAAA;AAAA,YAAA,KAAA,mCAAUC,OAAA,EAAA,EAAK,IAAA,EAAK,IAAA,EAAM,QAAA,EAAA,CAAA,CAAE,uBAAuB,CAAA,EAAE,CAAA;AAAA,4BACtDC,cAAA,CAACC,UAAA,EAAA,EAAQ,SAAA,EAAW,CAAA,EAAG,WAAU,YAAA,EAAa,CAAA;AAAA,4CAC7CH,OAAA,EAAA,EAAK,SAAA,EAAW,UAAU,SAAA,EAAW,OAAA,EAAS,KAAK,CAAA,EACjD,QAAA,EAAA;AAAA,cAAA,QAAA,oBACCE,cAAA,CAACD,OAAA,EAAA,EAAK,IAAA,EAAK,MAAA,EACR,YAAE,yBAAA,EAA2B;AAAA,gBAC5B,YAAY,KAAA,CAAM;AAAA,eACnB,CAAA,EACH,CAAA;AAAA,cAGD,OAAA,oBAAWC,cAAA,CAAC,aAAA,EAAA,EAAc,cAAA,EAAgC;AAAA,aAAA,EAC7D;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAEA,IAAM,aAAA,GAMD,CAAC,KAAA,KAAU;AACd,MAAA,MAAM,EAAE,CAAA,EAAE,GAAIJ,mBAAA,EAAe;AAgC7B,MAAA,uBACEC,eAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,mKAAA;AAAA,UACV,SAAS,MAAM;AAAA,YACb,MAAA,CAAO,IAAA;AAAA,cACL,MAAM,cAAA,EAAgB,GAAA;AAAA,cACtB,MAAM,cAAA,EAAgB,MAAA;AAAA,cACtB,MAAM,cAAA,EAAgB;AAAA;AACxB,WACF;AAAA,UAEA,QAAA,EAAA;AAAA,4BAAAG,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,yEAAA,EACb,QAAA,EAAA,CAAA,CAAE,0BAA0B,CAAA,EAC/B,CAAA;AAAA,4BACAA,cAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,KAAA,EAAM,IAAA;AAAA,gBACN,MAAA,EAAO,IAAA;AAAA,gBACP,OAAA,EAAQ,WAAA;AAAA,gBACR,IAAA,EAAK,cAAA;AAAA,gBACL,KAAA,EAAM,4BAAA;AAAA,gBAEN,QAAA,kBAAAA,cAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,6LAAA,EAA8L;AAAA;AAAA;AACxM;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACrGA,IAuCa,uBAIA,sBAAA,EA8EA,wBAAA;AAzHb,IAAA,aAAA,GAAA,KAAA,CAAA;AAAA,EAAA,8BAAA,GAAA;AAuCO,IAAM,qBAAA,GAAwBE,oBAAA;AAAA,MACnC;AAAC,KACH;AAEO,IAAM,sBAAA,GAMT,CAAC,KAAA,KAAU;AACb,MAAA,MAAM;AAAA,QACJ,OAAOC,YAAA,CAAO,MAAA;AAAA,QACd,uBAAA;AAAA,QACA,WAAA,GAAc;AAAA,UACZ,cAAA,EAAgB;AAAA,YACd,GAAA,EAAK,sEAAA;AAAA,YACL,MAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,OACF,GAAI,KAAA;AAEJ,MAAA,MAAM,QAAA,GAAWC,gBAAU,UAAU,CAAA;AAErC,MAAA,MAAM,EAAE,UAAA,EAAW,GAAIC,6BAAA,CAAwB,IAAA,KAASF,aAAO,EAAE,CAAA;AACjE,MAAA,MAAM,uBAAA,GAA0BG,mBAAA;AAAA,QAC9B,IAAA,KAASH,YAAA,CAAO,EAAA,GAAKI,oBAAA,CAAe,UAAUA,oBAAA,CAAe;AAAA,OAC/D;AACA,MAAA,MAAM,yBAAA,GAA4BD,mBAAA;AAAA,QAChC,IAAA,KAASH,YAAA,CAAO,EAAA,GAAKI,oBAAA,CAAe,YAAYA,oBAAA,CAAe;AAAA,OACjE;AAEA,MAAA,MAAM,CAAC,OAAO,CAAA,GAAIC,mBAAA,EAAc;AAEhC,MAAA,MAAM,CAAC,gBAAgB,CAAA,GAAIC,yBAAA,CAAoB,IAAI,CAAA;AAEnD,MAAA,MAAM,oBAAA,GAAuBC,8BAAwB,IAAI,CAAA;AAEzD,MAAA,MAAM,SAAA,GAAYC,mBAAa,IAAI,CAAA;AAEnC,MAAA,MAAM,UAAA,GAAaC,eAAQ,MAAM;AAC/B,QAAA,OAAO,UAAU,QAAQ,CAAA;AAAA,MAC3B,CAAA,EAAG,CAAC,QAAA,EAAU,OAAO,CAAC,CAAA;AAEtB,MAAA,MAAM,aAAA,GAAgBA,eAA6B,MAAM;AACvD,QAAA,OAAO;AAAA,UACL,IAAA;AAAA,UACA,uBAAA;AAAA,UACA,yBAAA;AAAA,UACA,SAAA;AAAA,UACA,gBAAA;AAAA,UACA,oBAAA;AAAA,UACA,WAAA;AAAA,UACA,QAAA;AAAA,UACA,UAAA;AAAA,UACA,OAAA;AAAA,UACA,UAAA;AAAA,UACA,yBAAyB,uBAAA,IAA2B;AAAA,SACtD;AAAA,MACF,CAAA,EAAG;AAAA,QACD,IAAA;AAAA,QACA,uBAAA;AAAA,QACA,yBAAA;AAAA,QACA,SAAA;AAAA,QACA,gBAAA;AAAA,QACA,oBAAA;AAAA,QACA,WAAA;AAAA,QACA,QAAA;AAAA,QACA,UAAA;AAAA,QACA,OAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACD,CAAA;AAED,MAAA,uBACEZ,cAAAA,CAAC,qBAAA,CAAsB,UAAtB,EAA+B,KAAA,EAAO,eACpC,QAAA,EACH,CAAA;AAAA,IAEJ,CAAA;AAEO,IAAM,2BAA2B,MAAM;AAC5C,MAAA,OAAOa,kBAAgC,qBAAqB,CAAA;AAAA,IAC9D,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;;;AC3HA,IAmBa,cAAA;AAnBb,IAAA,iBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,wCAAA,GAAA;AACA,IAAA,aAAA,EAAA;AAkBO,IAAM,iBAAiB,MAAmB;AAE7C,MAAA,MAAM,EAAE,WAAA,EAAY,GAAI,wBAAA,EAAyB;AAEjD,MAAA,OAAO,WAAA;AAAA,IACX,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;;;ACxBA,IAAA,oBAAA,GAAA,EAAA;AAAA,QAAA,CAAA,oBAAA,EAAA;AAAA,EAAA,WAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAAA,IAIa,WAAA;AAJb,IAAA,iBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,wCAAA,GAAA;AACA,IAAA,iBAAA,EAAA;AACA,IAAA,aAAA,EAAA;AAEO,IAAM,cAAwB,MAAM;AACzC,MAAA,MAAM,QAAQ,cAAA,EAAe;AAC7B,MAAA,uBAAOb,cAAAA,CAAC,KAAA,EAAA,EAAO,GAAG,KAAA,EAAO,CAAA;AAAA,IAC3B,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACPA,IAOa,iBAAA;AAPb,IAAA,oBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,8CAAA,GAAA;AAIA,IAAA,aAAA,EAAA;AAGO,IAAM,oBAAoB,MAAM;AACrC,MAAA,MAAM;AAAA,QACJ,SAAA;AAAA,QACA,gBAAA,EAAkB,QAAA;AAAA,QAClB,QAAA;AAAA,QACA,UAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,UACE,wBAAA,EAAyB;AAC7B,MAAA,MAAM,EAAE,YAAA,EAAc,eAAA,EAAgB,GAAIc,sBAAA,EAAc;AACxD,MAAA,MAAM,EAAE,OAAA,EAAQ,GAAIC,wBAAA,EAAmB;AACvC,MAAA,MAAM,EAAE,KAAA,EAAM,GAAIC,gBAAA,EAAW;AAE7B,MAAA,MAAM,QAAA,GAAWJ,eAAQ,MAAM;AAC7B,QAAA,OACE,KAAA,CAAM,MAAA,IAAUK,uBAAA,CAAkB,QAAA,IAClC,YAAA,IACA,eAAA;AAAA,MAEJ,CAAA,EAAG,CAAC,KAAA,EAAO,YAAA,EAAc,eAAe,CAAC,CAAA;AAEzC,MAAA,MAAM,YAAA,GAAeL,eAAQ,MAAM;AACjC,QAAA,OAAO,KAAA,CAAM,MAAA,IAAUK,uBAAA,CAAkB,QAAA,IAAY,eAAA;AAAA,MACvD,CAAA,EAAG,CAAC,KAAA,EAAO,eAAe,CAAC,CAAA;AAE3B,MAAA,MAAM,cAAA,GAAiBL,eAAQ,MAAuC;AACpE,QAAA,IAAI,OAAO,QAAA,KAAa,WAAA,IAAe,QAAA,KAAa,MAAM,OAAO,MAAA;AACjE,QAAA,MAAM,eAAe,QAAA,CAAS,IAAA,CAC3B,MAAA,CAAO,CAAC,SAAS,IAAA,CAAK,SAAA,KAAc,QAAQ,CAAA,CAC5C,OAAO,CAAC,CAAA,EAAG,MAAM,CAAA,GAAI,CAAA,CAAE,eAAe,CAAC,CAAA;AAC1C,QAAA,MAAM,UAAA,GAAa,MAAA,CAAO,QAAA,CAAS,YAAY,CAAA,GAAI,YAAA;AACnD,QAAA,OAAO;AAAA,UACL,UAAA;AAAA,UACA,UAAA;AAAA,UACA;AAAA,SACF;AAAA,MACF,CAAA,EAAG,CAAC,QAAA,EAAU,UAAA,EAAY,QAAQ,CAAC,CAAA;AAEnC,MAAA,OAAO;AAAA,QACL,SAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA,YAAA;AAAA,QACA,OAAA;AAAA,QACA,cAAA,EAAgB,WAAW,MAAA,GAAY,cAAA;AAAA,QACvC,UAAA;AAAA,QACA;AAAA,OACF;AAAA,IACF,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACvDA,IAAa,aAAA;AAAb,IAAA,kBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,8CAAA,GAAA;AAAO,IAAM,aAAA,GAAgB,CAAC,KAAA,KAAgC;AAC5D,MAAA,uBACEf,eAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,IAAA;AAAA,UACN,MAAA,EAAO,IAAA;AAAA,UACP,OAAA,EAAQ,WAAA;AAAA,UACR,IAAA,EAAK,MAAA;AAAA,UACL,KAAA,EAAM,4BAAA;AAAA,UACN,WAAW,KAAA,CAAM,SAAA;AAAA,UAEjB,QAAA,EAAA;AAAA,4BAAAA,eAAAA,CAAC,GAAA,EAAA,EAAE,QAAA,EAAS,sBAAA,EACV,QAAA,EAAA;AAAA,8BAAAG,cAAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,CAAA,EAAE,+NAAA;AAAA,kBACF,IAAA,EAAK;AAAA;AAAA,eACP;AAAA,8BACAA,cAAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,QAAA,EAAS,SAAA;AAAA,kBACT,QAAA,EAAS,SAAA;AAAA,kBACT,CAAA,EAAE,24DAAA;AAAA,kBACF,IAAA,EAAK;AAAA;AAAA;AACP,aAAA,EACF,CAAA;AAAA,4BACAH,gBAAC,MAAA,EAAA,EACC,QAAA,EAAA;AAAA,8BAAAA,eAAAA;AAAA,gBAAC,gBAAA;AAAA,gBAAA;AAAA,kBACC,EAAA,EAAG,wBAAA;AAAA,kBACH,EAAA,EAAG,SAAA;AAAA,kBACH,EAAA,EAAG,UAAA;AAAA,kBACH,EAAA,EAAG,SAAA;AAAA,kBACH,EAAA,EAAG,SAAA;AAAA,kBACH,aAAA,EAAc,gBAAA;AAAA,kBAEd,QAAA,EAAA;AAAA,oCAAAG,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,OAAA,EAAQ,CAAA;AAAA,oCACxBA,cAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,SAAA,EAAU;AAAA;AAAA;AAAA,eACvC;AAAA,8BACAH,eAAAA;AAAA,gBAAC,gBAAA;AAAA,gBAAA;AAAA,kBACC,EAAA,EAAG,wBAAA;AAAA,kBACH,EAAA,EAAG,SAAA;AAAA,kBACH,EAAA,EAAG,SAAA;AAAA,kBACH,EAAA,EAAG,SAAA;AAAA,kBACH,EAAA,EAAG,SAAA;AAAA,kBACH,aAAA,EAAc,gBAAA;AAAA,kBAEd,QAAA,EAAA;AAAA,oCAAAG,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,CAAA;AAAA,oCAC1BA,cAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,SAAA,EAAU;AAAA;AAAA;AAAA,eACvC;AAAA,8BACAA,cAAAA,CAAC,UAAA,EAAA,EAAS,EAAA,EAAG,kBACX,QAAA,kBAAAA,cAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,IAAA,EAAK,SAAQ,CAAA,EAC5C;AAAA,aAAA,EACF;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACnDA,IAAa,WAAA;AAAb,IAAA,gBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,4CAAA,GAAA;AAAO,IAAM,WAAA,GAAc,CAAC,KAAA,KAEtB;AACF,MAAA,uBACEH,eAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,IAAA;AAAA,UACN,MAAA,EAAO,IAAA;AAAA,UACP,OAAA,EAAQ,WAAA;AAAA,UACR,IAAA,EAAK,MAAA;AAAA,UACL,KAAA,EAAM,4BAAA;AAAA,UACN,WAAW,KAAA,CAAM,SAAA;AAAA,UAEjB,QAAA,EAAA;AAAA,4BAAAA,eAAAA,CAAC,GAAA,EAAA,EAAE,QAAA,EAAS,sBAAA,EACV,QAAA,EAAA;AAAA,8BAAAG,cAAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,CAAA,EAAE,4NAAA;AAAA,kBACF,IAAA,EAAK;AAAA;AAAA,eACP;AAAA,8BACAA,cAAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,QAAA,EAAS,SAAA;AAAA,kBACT,QAAA,EAAS,SAAA;AAAA,kBACT,CAAA,EAAE,kNAAA;AAAA,kBACF,IAAA,EAAK;AAAA;AAAA,eACP;AAAA,8BACAA,cAAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,QAAA,EAAS,SAAA;AAAA,kBACT,QAAA,EAAS,SAAA;AAAA,kBACT,CAAA,EAAE,wZAAA;AAAA,kBACF,IAAA,EAAK;AAAA;AAAA,eACP;AAAA,8BACAA,cAAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,QAAA,EAAS,SAAA;AAAA,kBACT,QAAA,EAAS,SAAA;AAAA,kBACT,CAAA,EAAE,ogBAAA;AAAA,kBACF,IAAA,EAAK;AAAA;AAAA,eACP;AAAA,8BACAA,cAAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,QAAA,EAAS,SAAA;AAAA,kBACT,QAAA,EAAS,SAAA;AAAA,kBACT,CAAA,EAAE,uzBAAA;AAAA,kBACF,IAAA,EAAK;AAAA;AAAA;AACP,aAAA,EACF,CAAA;AAAA,4BACAH,gBAAC,MAAA,EAAA,EACC,QAAA,EAAA;AAAA,8BAAAA,eAAAA;AAAA,gBAAC,gBAAA;AAAA,gBAAA;AAAA,kBACC,EAAA,EAAG,wBAAA;AAAA,kBACH,EAAA,EAAG,SAAA;AAAA,kBACH,EAAA,EAAG,WAAA;AAAA,kBACH,EAAA,EAAG,SAAA;AAAA,kBACH,EAAA,EAAG,SAAA;AAAA,kBACH,aAAA,EAAc,gBAAA;AAAA,kBAEd,QAAA,EAAA;AAAA,oCAAAG,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,CAAA;AAAA,oCAC1BA,cAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,SAAA,EAAU;AAAA;AAAA;AAAA,eACvC;AAAA,8BACAA,cAAAA,CAAC,UAAA,EAAA,EAAS,EAAA,EAAG,kBACX,QAAA,kBAAAA,cAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,IAAA,EAAK,SAAQ,CAAA,EAC5C;AAAA,aAAA,EACF;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;AC5DF,IAWa,cAAA;AAXb,IAAA,mBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,6CAAA,GAAA;AAWO,IAAM,cAAA,GAMR,CAAC,KAAA,KAAU;AACd,MAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIkB,gBAAS,KAAK,CAAA;AACtC,MAAA,MAAM,EAAE,CAAA,EAAE,GAAItB,mBAAAA,EAAe;AAE7B,MAAA,MAAM,UAAU,MAAW;AACzB,QAAA,uBACEC,eAAAA;AAAA,UAACC,OAAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,QAAA;AAAA,YACX,SAAA,EAAU,4EAAA;AAAA,YACV,GAAA,EAAK,CAAA;AAAA,YAEL,QAAA,EAAA;AAAA,8BAAAD,gBAACC,OAAAA,EAAA,EAAK,GAAA,EAAK,CAAA,EAAG,OAAO,MAAA,EACnB,QAAA,EAAA;AAAA,gCAAAE,eAACD,OAAAA,EAAA,EAAK,WAAU,YAAA,EAAc,QAAA,EAAA,KAAA,CAAM,gBAAgB,UAAA,EAAW,CAAA;AAAA,gCAC/DC,cAAAA,CAACD,OAAAA,EAAA,EACE,QAAA,EAAAoB,qBAAA,CAAgB,KAAA,CAAM,cAAA,EAAgB,UAAA,EAAY,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,EAC/D;AAAA,eAAA,EACF,CAAA;AAAA,8BACAtB,eAAAA,CAACC,OAAAA,EAAA,EAAK,GAAA,EAAK,CAAA,EAAG,OAAO,MAAA,EACnB,QAAA,EAAA;AAAA,gCAAAE,eAACD,OAAAA,EAAA,EAAK,WAAU,YAAA,EACb,QAAA,EAAA,CAAA,CAAE,gCAAgC,CAAA,EACrC,CAAA;AAAA,gCACAC,cAAAA,CAACD,OAAAA,EAAA,EACE,QAAA,EAAAoB,qBAAA,CAAgB,KAAA,CAAM,cAAA,EAAgB,YAAA,EAAc,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,EACjE;AAAA,eAAA,EACF;AAAA;AAAA;AAAA,SACF;AAAA,MAEJ,CAAA;AAEA,MAAA,uBACEnB,cAAAA;AAAA,QAACoB,UAAA;AAAA,QAAA;AAAA,UACC,SAAS,OAAA,EAAQ;AAAA,UACjB,OAAO,KAAA,CAAM,KAAA;AAAA,UACb,WAAW,KAAA,CAAM,SAAA;AAAA,UACjB,IAAA;AAAA,UACA,YAAA,EAAc,OAAA;AAAA,UACd,KAAA,EAAO;AAAA,YACL,WAAW,KAAA,CAAM;AAAA,WACnB;AAAA,UACA,aAAA,EAAe,GAAA;AAAA,UAEd,WAAC,CAAC,KAAA,CAAM,WACPC,uBAAAA,CAAM,YAAA,CAAa,MAAM,QAAA,EAAW;AAAA,YAClC,OAAA,EAAS,CAAC,CAAA,KAAW;AACnB,cAAA,CAAA,CAAE,cAAA,EAAe;AACjB,cAAA,OAAA,CAAQ,CAAC,IAAI,CAAA;AAAA,YACf;AAAA,WACD,oBAEDrB,cAAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,KAAA,EAAM,IAAA;AAAA,cACN,MAAA,EAAO,IAAA;AAAA,cACP,OAAA,EAAQ,WAAA;AAAA,cACR,IAAA,EAAK,MAAA;AAAA,cACL,KAAA,EAAM,4BAAA;AAAA,cACN,SAAA,EAAU,oBAAA;AAAA,cACV,OAAA,EAAS,CAAC,CAAA,KAAM;AACd,gBAAA,CAAA,CAAE,cAAA,EAAe;AACjB,gBAAA,OAAA,CAAQ,CAAC,IAAI,CAAA;AAAA,cACf,CAAA;AAAA,cAEA,QAAA,kBAAAA,cAAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,CAAA,EAAE,sNAAA;AAAA,kBACF,IAAA,EAAK,MAAA;AAAA,kBACL,WAAA,EAAY;AAAA;AAAA;AACd;AAAA;AACF;AAAA,OAEJ;AAAA,IAEJ,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACvFA,IAYa,QAAA,EAqKP,UAAA,EAsDA,OAAA,EA6CA,SAAA,EA0FA,SA0BO,cAAA,EA6BP,WAAA;AAraN,IAAA,gBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,0CAAA,GAAA;AAOA,IAAA,kBAAA,EAAA;AACA,IAAA,gBAAA,EAAA;AAEA,IAAA,mBAAA,EAAA;AAEO,IAAM,QAAA,GAAgC,CAAC,KAAA,KAAU;AACtD,MAAA,MAAM,EAAE,CAAA,EAAE,GAAIJ,mBAAAA,EAAe;AAE7B,MAAA,MAAM,KAAA,GAAQ,KAAA;AACd,MAAA,MAAM,YAAA,GAAe,KAAA,CAAM,SAAA,GAAY,CAAC,CAAA,CAAE,YAAA;AAC1C,MAAA,MAAM,SAAA,GAAY,KAAA,CAAM,SAAA,GAAY,CAAC,CAAA;AACrC,MAAA,MAAM,YAAY,YAAA,EAAc,UAAA;AAChC,MAAA,MAAM,UAAU,YAAA,EAAc,QAAA;AAC9B,MAAA,MAAM,aAAa,YAAA,EAAc,QAAA;AACjC,MAAA,MAAM,oBAAoB,YAAA,EAAc,iBAAA;AACxC,MAAA,MAAM,QAAQ,YAAA,EAAc,WAAA;AAE5B,MAAA,MAAM,OAAA,GAAU,eACZ,CAAA,EAAG,YAAA,EAAc,WAAW,CAAA,CAAA,CAAG,WAAA,OAAkB,OAAA,GACjD,MAAA;AAEJ,MAAA,MAAM,mBAAA,GAAsBgB,eAAQ,MAAM;AACxC,QAAA,IAAI,CAAC,MAAM,uBAAA,EAAyB;AAClC,UAAA,OAAO,MAAA;AAAA,QACT;AACA,QAAA,IAAI,CAAC,SAAA,IAAa,KAAA,CAAM,UAAA,EAAY,WAAA,KAAgBU,kBAAY,MAAA,EAAQ;AACtE,UAAA,OAAO,MAAA;AAAA,QACT;AAEA,QAAA,MAAM,kBAAA,GAAqB,MAAM,UAAA,EAAY,kBAAA;AAC7C,QAAA,IAAI,uBAAuB,MAAA,EAAW;AACpC,UAAA,OAAO,MAAA;AAAA,QACT;AACA,QAAA,MAAM,YAAY,kBAAA,GAAqB,CAAA;AACvC,QAAA,MAAM,QAAQ,SAAA,CAAU,IAAA,CAAK,CAAC,IAAA,KAAc,IAAA,CAAK,aAAa,SAAS,CAAA;AACvE,QAAA,OAAO,KAAA,EAAO,UAAA;AAAA,MAChB,GAAG,CAAC,KAAA,CAAM,UAAA,EAAY,WAAA,EAAa,SAAS,CAAC,CAAA;AAE7C,MAAA,MAAM,kBAAA,GAAqBV,eAAQ,MAAM;AACvC,QAAA,OACE,KAAA,CAAM,UAAA,EAAY,WAAA,KAAgBU,iBAAA,CAAY,MAAA,IAC9C,mBAAA;AAAA,MAEJ,GAAG,CAAC,KAAA,CAAM,UAAA,EAAY,WAAA,EAAa,mBAAmB,CAAC,CAAA;AAEvD,MAAA,IAAI,KAAA,CAAM,UAAA,EAAY,WAAA,KAAgBA,iBAAA,CAAY,MAAA,EAAQ;AACxD,QAAA,uBACEtB,cAAAA;AAAA,UAACF,OAAAA;AAAA,UAAA;AAAA,YACC,EAAA,EAAG,sCAAA;AAAA,YACH,CAAA,EAAG,KAAA;AAAA,YACH,SAAA,EAAU,0CAAA;AAAA,YACV,KAAA,EAAO,MAAA;AAAA,YACP,MAAA,EAAQ,MAAA;AAAA,YACR,SAAA,EAAW,QAAA;AAAA,YAEX,SAAA,EAAW,SAAA;AAAA,YAEX,QAAA,kBAAAD,eAAAA;AAAA,cAACC,OAAAA;AAAA,cAAA;AAAA,gBACC,GAAA,EAAK,CAAA;AAAA,gBACL,SAAA,EAAW,QAAA;AAAA,gBACX,OAAA,EAAS,QAAA;AAAA,gBACT,SAAA,EAAW,QAAA;AAAA,gBACX,SAAA,EAAU,eAAA;AAAA,gBAET,QAAA,EAAA;AAAA,kBAAA,kBAAA,mBACCD,eAAAA;AAAA,oBAACC,OAAAA;AAAA,oBAAA;AAAA,sBACC,GAAA,EAAK,CAAA;AAAA,sBACL,SAAA,EAAW,QAAA;AAAA,sBACX,OAAA,EAAS,QAAA;AAAA,sBACT,SAAA,EAAW,QAAA;AAAA,sBAEX,QAAA,EAAA;AAAA,wCAAAE,eAACD,OAAAA,EAAA,EAAK,WAAU,uCAAA,EACb,QAAA,EAAA,CAAA,CAAE,0CAA0C,CAAA,EAC/C,CAAA;AAAA,wCACAC,cAAAA,CAAC,SAAA,EAAA,EAAU,eAAA,EAAiB,mBAAA,EAAqB,cAAY,IAAA,EAAC;AAAA;AAAA;AAAA,sCAGhEA,cAAAA;AAAA,oBAACF,OAAAA;AAAA,oBAAA;AAAA,sBACC,SAAA,EAAU,uDAAA;AAAA,sBACV,OAAA,EAAS,QAAA;AAAA,sBACT,SAAA,EAAW,QAAA;AAAA,sBAEV,QAAA,EAAA,KAAA,CAAM,YAAY,WAAA,KAAgBwB,iBAAA,CAAY,SAC3C,CAAA,CAAE,kCAAkC,CAAA,GACpC,CAAA,CAAE,kCAAkC;AAAA;AAAA,mBAC1C;AAAA,kBAED,KAAA,CAAM,UAAA,EAAY,WAAA,KAAgBA,iBAAA,CAAY,0BAC7CtB,cAAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBACC,SAAA,EAAWuB,KAAA;AAAA,wBACT,YAAA;AAAA,wBACA,qBAAqB,UAAA,GAAa;AAAA,uBACpC;AAAA,sBAEA,QAAA,kBAAAvB,eAAC,WAAA,EAAA,EAAY;AAAA;AAAA;AACf;AAAA;AAAA;AAEJ;AAAA,SACF;AAAA,MAEJ;AAEA,MAAA,uBACEH,eAAAA;AAAA,QAACC,OAAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,sCAAA;AAAA,UACH,CAAA,EAAG,KAAA;AAAA,UACH,SAAA,EAAU,iCAAA;AAAA,UACV,KAAA,EAAO,MAAA;AAAA,UACP,MAAA,EAAQ,MAAA;AAAA,UACR,SAAA,EAAW,QAAA;AAAA,UAEX,SAAA,EAAW,SAAA;AAAA,UAEX,QAAA,EAAA;AAAA,4BAAAE,cAAAA,CAAC,SAAA,EAAA,EAAU,eAAA,EAAiB,OAAA,EAAS,CAAA;AAAA,4BACrCH,eAAAA,CAACC,OAAAA,EAAA,EAAK,CAAA,EAAG,CAAA,EAAG,SAAA,EAAW,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,SAAA,EAAU,YAAA,EACjD,QAAA,EAAA;AAAA,8BAAAD,eAAAA,CAACC,OAAAA,EAAA,EAAK,SAAA,EAAW,KAAA,EAAO,KAAK,CAAA,EAAG,KAAA,EAAO,MAAA,EAAQ,OAAA,EAAS,QAAA,EACtD,QAAA,EAAA;AAAA,gCAAAE,cAAAA;AAAA,kBAAC,OAAA;AAAA,kBAAA;AAAA,oBACC,KAAA,EAAO,EAAE,sBAAsB,CAAA;AAAA,oBAC/B,SAAA,EAAW,UAAA,GAAa,CAAA,EAAG,UAAU,CAAA,CAAA,GAAK,IAAA;AAAA,oBAC1C,IAAA,EACE,SAAA,IAAa,OAAA,GACT,CAAA,EAAG,OAAA,CAAQ,SAAS,CAAC,CAAA,GAAA,EAAM,OAAA,CAAQ,OAAO,CAAC,CAAA,CAAA,GAC3C;AAAA;AAAA,iBAER;AAAA,gCACAA,cAAAA;AAAA,kBAAC,OAAA;AAAA,kBAAA;AAAA,oBACC,KAAA,EAAO,EAAE,6BAA6B,CAAA;AAAA,oBACtC,WAAWmB,qBAAAA,CAAgB,iBAAA,EAAmB,EAAE,GAAA,EAAK,GAAG,CAAA;AAAA,oBACxD,IAAA,EAAM;AAAA;AAAA;AACR,eAAA,EACF,CAAA;AAAA,8BACAnB,cAAAA;AAAA,gBAAC,UAAA;AAAA,gBAAA;AAAA,kBACC,OAAA;AAAA,kBACA,SAAA,EAAW,KAAA,CAAM,YAAA,GAAe,KAAA,GAAQ,QAAA;AAAA,kBACxC,OAAA,EAAS,KAAA,CAAM,YAAA,GAAe,SAAA,GAAY,QAAA;AAAA,kBAC1C,UAAU,KAAA,CAAM,QAAA;AAAA,kBAChB,UAAA,EAAY,KAAA,CAAM,QAAA,GAAW,IAAA,GAAO,MAAM,QAAA,EAAU,YAAA;AAAA,kBACpD,gBAAgB,KAAA,CAAM,cAAA;AAAA,kBACtB,UAAA,EACE,KAAA,CAAM,YAAA,GACF,0DAAA,GACA;AAAA;AAAA,eAER;AAAA,8BAcAA,cAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,cACb,QAAA,kBAAAA,cAAAA;AAAA,gBAACwB,qBAAA;AAAA,gBAAA;AAAA,kBACC,QAAQP,uBAAAA,CAAkB,QAAA;AAAA,kBAC1B,WAAA,EAAa,EAAE,SAAA,EAAW,IAAA,EAAK;AAAA,kBAE/B,QAAA,kBAAAjB,eAAAyB,mBAAA,EAAA,EAAE;AAAA;AAAA,eACJ,EACF;AAAA,aAAA,EACF;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAEA,IAAM,UAAA,GAcD,CAAC,KAAA,KAAU;AACd,MAAA,MAAM,EAAE,CAAA,EAAE,GAAI7B,mBAAAA,EAAe;AAE7B,MAAA,uBACEC,eAAAA;AAAA,QAACC,OAAAA;AAAA,QAAA;AAAA,UACC,WAAW,KAAA,CAAM,SAAA;AAAA,UACjB,GAAA,EAAK,CAAA;AAAA,UACL,EAAA,EAAI,CAAA;AAAA,UACJ,EAAA,EAAI,CAAA;AAAA,UACJ,KAAA,EAAO,MAAA;AAAA,UACP,CAAA,EAAE,IAAA;AAAA,UACF,SAAA,EAAW,QAAA;AAAA,UACX,SAAS,KAAA,CAAM,OAAA;AAAA,UACf,KAAA,EAAO;AAAA,YACL,YAAY,KAAA,CAAM;AAAA,WACpB;AAAA,UACA,SAAA,EAAU,uBAAA;AAAA,UAEV,QAAA,EAAA;AAAA,4BAAAE,eAACD,OAAAA,EAAA,EAAK,WAAU,wDAAA,EACb,QAAA,EAAA,CAAA,CAAE,6BAA6B,CAAA,EAClC,CAAA;AAAA,4BACAF,eAAAA,CAACC,OAAAA,EAAA,EAAK,SAAA,EAAW,KAAA,EAAO,KAAK,CAAA,EAC1B,QAAA,EAAA;AAAA,cAAA,KAAA,CAAM,WAAW,IAAA,oBAChBE,cAAAA,CAAC,WAAA,EAAA,EAAY,WAAU,mFAAA,EAAoF,CAAA;AAAA,cAE5G,MAAM,OAAA,IAAW,KAAA,oBAChBA,cAAAA,CAAC,aAAA,EAAA,EAAc,WAAU,mFAAA,EAAoF,CAAA;AAAA,8BAE/GA,cAAAA;AAAA,gBAACD,OAAAA;AAAA,gBAAA;AAAA,kBACC,UAAUoB,qBAAAA,CAAgB,KAAA,CAAM,YAAY,EAAE,GAAA,EAAK,GAAG,CAAA;AAAA,kBACtD,SAAA,EAAU;AAAA;AAAA,eACZ;AAAA,cACC,MAAM,cAAA,oBACLnB,eAAC,cAAA,EAAA,EAAe,cAAA,EAAgB,MAAM,cAAA,EAAgB;AAAA,aAAA,EAE1D;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAEA,IAAM,OAAA,GAID,CAAC,KAAA,KAAU;AACd,MAAA,MAAM,EAAE,KAAA,EAAO,SAAA,EAAW,IAAA,EAAK,GAAI,KAAA;AACnC,MAAA,uBACEH,eAAAA;AAAA,QAACC,OAAAA;AAAA,QAAA;AAAA,UAEC,EAAA,EAAI,CAAA;AAAA,UACJ,OAAA,EAAS,SAAA;AAAA,UACT,SAAA,EAAW,QAAA;AAAA,UACX,SAAA,EAAU,QAAA;AAAA,UACV,GAAA,EAAK,CAAA;AAAA,UAEL,QAAA,EAAA;AAAA,4BAAAE,cAAAA;AAAA,cAACD,OAAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAWwB,KAAA;AAAA,kBACT,2BAAA;AAAA;AAAA,kBAEA,6CAAA;AAAA;AAAA,kBAEA;AAAA,iBACF;AAAA,gBAEC,QAAA,EAAA;AAAA;AAAA,aACH;AAAA,4BACA1B,eAAAA,CAACC,OAAAA,EAAA,EAAK,SAAA,EAAW,KAAA,EAAO,GAAA,EAAK,CAAA,EAAG,SAAA,EAAW,KAAA,EAAO,OAAA,EAAS,QAAA,EACzD,QAAA,EAAA;AAAA,8BAAAE,cAAAA;AAAA,gBAACD,OAAAA,CAAK,QAAA;AAAA,gBAAL;AAAA,kBACC,KAAA,EAAM,OAAA;AAAA,kBACN,KAAA,EAAO,EAAA;AAAA,kBACP,SAAA,EAAU,6DAAA;AAAA,kBAET,QAAA,EAAA;AAAA;AAAA,eACH;AAAA,8BACAC,cAAAA;AAAA,gBAACD,OAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAW,EAAA;AAAA,kBACX,SAAA,EAAU,yDAAA;AAAA,kBAET,QAAA,EAAA;AAAA;AAAA;AACH,aAAA,EACF;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAEA,IAAM,SAAA,GAGD,CAAC,KAAA,KAAU;AACd,MAAA,MAAM,EAAE,eAAA,EAAiB,YAAA,EAAa,GAAI,KAAA;AAC1C,MAAA,MAAM,EAAE,CAAA,EAAE,GAAIH,mBAAAA,EAAe;AAC7B,MAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIsB,eAAAA,CAAS;AAAA,QACvC,IAAA,EAAM,CAAA;AAAA,QACN,KAAA,EAAO,CAAA;AAAA,QACP,OAAA,EAAS,CAAA;AAAA,QACT,OAAA,EAAS;AAAA,OACV,CAAA;AAED,MAAAQ,gBAAA,CAAU,MAAM;AACd,QAAA,MAAM,UAAA,GAAa,YAAY,MAAM;AACnC,UAAA,IAAI,OAAO,oBAAoB,WAAA,EAAa;AAC5C,UAAA,MAAM,GAAA,GAAA,iBAAM,IAAI,IAAA,EAAK,EAAE,OAAA,EAAQ;AAC/B,UAAA,MAAM,WAAW,eAAA,GAAkB,GAAA;AAEnC,UAAA,IAAI,WAAW,CAAA,EAAG;AAChB,YAAA,aAAA,CAAc,UAA+B,CAAA;AAC7C,YAAA,WAAA,CAAY;AAAA,cACV,IAAA,EAAM,CAAA;AAAA,cACN,KAAA,EAAO,CAAA;AAAA,cACP,OAAA,EAAS,CAAA;AAAA,cACT,OAAA,EAAS;AAAA,aACV,CAAA;AAAA,UACH,CAAA,MAAO;AACL,YAAA,MAAM,OAAO,IAAA,CAAK,KAAA,CAAM,YAAY,GAAA,GAAO,EAAA,GAAK,KAAK,EAAA,CAAG,CAAA;AACxD,YAAA,MAAM,QAAQ,IAAA,CAAK,KAAA;AAAA,cAChB,YAAY,GAAA,GAAO,EAAA,GAAK,EAAA,GAAK,EAAA,CAAA,IAAQ,MAAO,EAAA,GAAK,EAAA;AAAA,aACpD;AACA,YAAA,MAAM,OAAA,GAAU,KAAK,KAAA,CAAO,QAAA,IAAY,MAAO,EAAA,GAAK,EAAA,CAAA,IAAQ,MAAO,EAAA,CAAG,CAAA;AACtE,YAAA,MAAM,UAAU,IAAA,CAAK,KAAA,CAAO,QAAA,IAAY,GAAA,GAAO,MAAO,GAAI,CAAA;AAE1D,YAAA,WAAA,CAAY,EAAE,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,SAAS,CAAA;AAAA,UAC/C;AAAA,QACF,GAAG,GAAI,CAAA;AAEP,QAAA,OAAO,MAAM,cAAc,UAA+B,CAAA;AAAA,MAC5D,CAAA,EAAG,CAAC,eAAe,CAAC,CAAA;AAEpB,MAAA,MAAM,GAAA,GAAM,CAAC,KAAA,KAAkB;AAC7B,QAAA,uBACE1B,cAAAA,CAACD,OAAAA,EAAA,EAAK,SAAA,EAAU,uEACb,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,MAEJ,CAAA;AAEA,MAAA,uBACEC,cAAAA;AAAA,QAAC2B,MAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,+DAAA;AAAA,UACV,QAAA,EAAU,eAAe,MAAA,GAAY,SAAA;AAAA,UACrC,KAAA,EAAO,GAAA;AAAA,UACP,KAAA,EAAO,MAAA;AAAA,UAEP,0BAAA9B,eAAAA,CAACC,OAAAA,EAAA,EAAK,OAAA,EAAS,QAAA,EAAU,KAAK,CAAA,EAC3B,QAAA,EAAA;AAAA,YAAA,YAAA,GAAe,IAAA,mBAAOE,cAAAA,CAAC,MAAA,EAAA,EAAM,aAAG,CAAA,CAAE,kBAAkB,CAAC,CAAA,EAAA,CAAA,EAAK,CAAA;AAAA,4BAC3DH,eAAAA;AAAA,cAACC,OAAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAW,KAAA;AAAA,gBACX,SAAA,EAAW,KAAA;AAAA,gBACX,GAAA,EAAK,CAAA;AAAA,gBACL,SAAA,EAAWyB,KAAA;AAAA,kBACT,4CAAA;AAAA,kBACA,eAAe,UAAA,GAAa;AAAA,iBAC9B;AAAA,gBAEC,QAAA,EAAA;AAAA,kBAAA,GAAA,CAAI,GAAG,QAAA,CAAS,IAAI,GAAG,QAAA,CAAS,CAAA,EAAG,GAAG,CAAC,CAAA;AAAA,kCACxCvB,cAAAA,CAAC,MAAA,EAAA,EAAK,QAAA,EAAA,GAAA,EAAC,CAAA;AAAA,kBACN,GAAA,CAAI,GAAG,QAAA,CAAS,KAAK,GAAG,QAAA,CAAS,CAAA,EAAG,GAAG,CAAC,CAAA;AAAA,kCACzCA,cAAAA,CAAC,MAAA,EAAA,EAAK,QAAA,EAAA,GAAA,EAAC,CAAA;AAAA,kBACN,GAAA,CAAI,GAAG,QAAA,CAAS,OAAO,GAAG,QAAA,CAAS,CAAA,EAAG,GAAG,CAAC,CAAA;AAAA,kCAC3CA,cAAAA,CAAC,MAAA,EAAA,EAAK,QAAA,EAAA,GAAA,EAAC,CAAA;AAAA,kBACN,GAAA,CAAI,GAAG,QAAA,CAAS,OAAO,GAAG,QAAA,CAAS,CAAA,EAAG,GAAG,CAAC,CAAA;AAAA,kCAC3CA,cAAAA,CAAC,MAAA,EAAA,EAAK,QAAA,EAAA,GAAA,EAAC;AAAA;AAAA;AAAA;AACT,WAAA,EACF;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAUA,IAAM,OAAA,GAAU,CAAC,SAAA,KAAuB;AACtC,MAAA,IAAI,CAAC,WAAW,OAAO,EAAA;AAEvB,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,SAAS,CAAA;AAI/B,MAAA,MAAM,UAAA,GAAa;AAAA,QACjB,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA;AAAA,OACF;AACA,MAAA,MAAM,KAAA,GAAQ,UAAA,CAAW,IAAA,CAAK,WAAA,EAAa,CAAA;AAC3C,MAAA,MAAM,GAAA,GAAM,KAAK,UAAA,EAAW;AAC5B,MAAA,OAAO,CAAA,EAAG,KAAK,CAAA,EAAA,EAAK,GAAG,CAAA,CAAA;AAAA,IACzB,CAAA;AAEO,IAAM,cAAA,GAA8C,CAAC,KAAA,qBAC1DH,eAAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAM,IAAA;AAAA,QACN,MAAA,EAAO,IAAA;AAAA,QACP,OAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAK,cAAA;AAAA,QACL,KAAA,EAAM,4BAAA;AAAA,QACL,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAAG,cAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,EAAA,EAAG,kBAAA;AAAA,cACH,KAAA,EAAO,EAAE,QAAA,EAAU,OAAA,EAAQ;AAAA,cAC3B,SAAA,EAAU,gBAAA;AAAA,cACV,CAAA,EAAE,GAAA;AAAA,cACF,CAAA,EAAE,GAAA;AAAA,cACF,KAAA,EAAM,IAAA;AAAA,cACN,MAAA,EAAO,IAAA;AAAA,cAEP,QAAA,kBAAAA,cAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,KAAA,EAAM,OAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,IAAA,EAAK,SAAA,EAAU;AAAA;AAAA,WACtD;AAAA,0BACAA,cAAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAK,0BACN,QAAA,kBAAAA,cAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAA,EAAE;AAAA;AAAA,WAGJ,EACF;AAAA;AAAA;AAAA,KACF;AAEF,IAAM,cAAkB,MAAM;AAC5B,MAAA,MAAM,EAAE,CAAA,EAAE,GAAIJ,mBAAAA,EAAe;AAC7B,MAAA,uBACEC,eAAAA;AAAA,QAACC,OAAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,CAAA;AAAA,UACL,SAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAS,QAAA;AAAA,UACT,SAAA,EAAU,qIAAA;AAAA,UACV,OAAA,EAAS,MAAM,MAAA,CAAO,IAAA,CAAK,8BAA8B,CAAA;AAAA,UAEzD,QAAA,EAAA;AAAA,4BAAAE,eAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2HAAA,EACZ,QAAA,EAAA,CAAA,CAAE,4CAA4C,CAAA,EACjD,CAAA;AAAA,4BACAA,cAAAA,CAAC,cAAA,EAAA,EAAe,SAAA,EAAU,iGAAA,EAAkG;AAAA;AAAA;AAAA,OAC9H;AAAA,IAEJ,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACrbA,IAIa,cAAA;AAJb,IAAA,oBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,8CAAA,GAAA;AACA,IAAA,oBAAA,EAAA;AACA,IAAA,gBAAA,EAAA;AAEO,IAAM,iBAAqB,MAAM;AACtC,MAAA,MAAM,QAAQ,iBAAA,EAAkB;AAChC,MAAA,uBAAOA,cAAAA,CAAC,QAAA,EAAA,EAAU,GAAG,KAAA,EAAO,CAAA;AAAA,IAC9B,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;;;ACPA,IAAA,gBAAA,GAAA,EAAA;AAAA,QAAA,CAAA,gBAAA,EAAA;AAAA,EAAA,QAAA,EAAA,MAAA,QAAA;AAAA,EAAA,cAAA,EAAA,MAAA,cAAA;AAAA,EAAA,iBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAAA,IAAA,aAAA,GAAA,KAAA,CAAA;AAAA,EAAA,mCAAA,GAAA;AAAA,IAAA,oBAAA,EAAA;AACA,IAAA,gBAAA,EAAA;AACA,IAAA,oBAAA,EAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACFA,IAaa,kBAAA;AAbb,IAAA,4BAAA,GAAA,KAAA,CAAA;AAAA,EAAA,8DAAA,GAAA;AAKA,IAAA,aAAA,EAAA;AAQO,IAAM,qBAAqB,MAAwB;AACxD,MAAA,MAAM;AAAA,QACJ,uBAAA;AAAA,QACA,oBAAA;AAAA,QACA;AAAA,UACE,wBAAA,EAAyB;AAC7B,MAAA,MAAM,CAAC,sBAAsB,CAAA,GAAI,uBAAA;AACjC,MAAA,MAAM,CAAC,wBAAwB,CAAA,GAAI,yBAAA;AAEnC,MAAA,MAAM,EAAE,SAAA,EAAU,GAAIe,wBAAAA,EAAmB;AAEzC,MAAA,MAAM,CAAC,IAAI,CAAA,GAAI,oBAAA;AAEf,MAAA,MAAM,mBAAA,GAAsBH,eAAQ,MAAM;AACxC,QAAA,IAAI,SAAA,KAAcgB,qBAAe,GAAA,EAAK;AACpC,UAAA,OAAO,IAAA,EAAM,qCAAA;AAAA,QACf;AACA,QAAA,OAAO,IAAA,EAAM,oCAAA;AAAA,MACf,CAAA,EAAG,CAAC,SAAA,EAAW,IAAI,CAAC,CAAA;AAEpB,MAAA,MAAM,qBAAA,GAAwBhB,eAAQ,MAAM;AAC1C,QAAA,IAAI,SAAA,KAAcgB,qBAAe,GAAA,EAAK;AACpC,UAAA,OAAO,IAAA,EAAM,sCAAA;AAAA,QACf;AACA,QAAA,OAAO,IAAA,EAAM,qCAAA;AAAA,MACf,CAAA,EAAG,CAAC,IAAA,EAAM,SAAS,CAAC,CAAA;AAEpB,MAAA,MAAM,MAAMC,eAAA,EAAU;AACtB,MAAA,MAAM,SAAA,GAAY,CAAC,CAAA,KAAW;AAC5B,QAAA,MAAM,GAAA,GAAM,WACV,GAAA,KAAQC,aAAA,CAAQ,OAAO,CAAA,EAAG,GAAG,MAAM,EACrC,CAAA,kCAAA,CAAA;AACA,QAAA,MAAA,CAAO,IAAA,CAAK,KAAK,QAAQ,CAAA;AAAA,MAC3B,CAAA;AAEA,MAAA,MAAM,wBAAA,GAA2BC,kBAAA;AAAA,QAC/B,CAAC,aAAiC,aAAA,KAAsC;AACtE,UAAA,IACE,OAAO,aAAA,KAAkB,WAAA,IACzB,OAAO,gBAAgB,WAAA,EACvB;AACA,YAAA,MAAM,eAAA,GAAkB,IAAIC,aAAA,CAAQ,WAAW,CAAA,CAC5C,GAAA,CAAI,aAAa,CAAA,CACjB,OAAA,CAAQ,EAAA,EAAIA,aAAA,CAAQ,UAAU,CAAA;AACjC,YAAA,OAAO,OAAO,eAAe,CAAA;AAAA,UAC/B;AACA,UAAA,OAAO,MAAA;AAAA,QACT,CAAA;AAAA,QACA;AAAC,OACH;AAEA,MAAA,MAAM,cAAA,GAAiBpB,cAAAA;AAAA,QACrB,MAAM,wBAAA,CAAyB,mBAAA,EAAqB,sBAAsB,CAAA;AAAA,QAC1E,CAAC,mBAAA,EAAqB,sBAAA,EAAwB,wBAAwB;AAAA,OACxE;AAEA,MAAA,MAAM,gBAAA,GAAmBA,cAAAA;AAAA,QACvB,MACE,wBAAA,CAAyB,qBAAA,EAAuB,wBAAwB,CAAA;AAAA,QAC1E,CAAC,qBAAA,EAAuB,wBAAA,EAA0B,wBAAwB;AAAA,OAC5E;AAEA,MAAA,MAAM,UAAA,GAAaqB,oBAA+B,cAAc,CAAA;AAChE,MAAA,MAAM,YAAA,GAAeA,oBAA+B,gBAAgB,CAAA;AACpE,MAAA,OAAO;AAAA,QACL,OAAO,UAAA,IAAc,MAAA;AAAA,QACrB,SAAS,YAAA,IAAgB,MAAA;AAAA,QACzB;AAAA,OACF;AAAA,IACF,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;AClFA,IAAa,QAAA;AAAb,IAAA,aAAA,GAAA,KAAA,CAAA;AAAA,EAAA,yCAAA,GAAA;AAAO,IAAM,WAAW,MAAM;AAC5B,MAAA,uBACEjC,cAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,IAAA;AAAA,UACN,MAAA,EAAO,IAAA;AAAA,UACP,OAAA,EAAQ,WAAA;AAAA,UAER,KAAA,EAAM,4BAAA;AAAA,UACN,IAAA,EAAK,cAAA;AAAA,UAEL,QAAA,kBAAAA,cAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAA,EAAE;AAAA;AAAA;AAEJ;AAAA,OACF;AAAA,IAEJ,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;AChBA,IASa,gBAAA,EAoCPkC,QAAAA;AA7CN,IAAA,wBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,0DAAA,GAAA;AACA,IAAA,aAAA,EAAA;AAEA,IAAA,kBAAA,EAAA;AACA,IAAA,gBAAA,EAAA;AAKO,IAAM,gBAAA,GAAyC,CAAC,KAAA,KAAU;AAC/D,MAAA,MAAM,EAAE,CAAA,EAAE,GAAItC,mBAAAA,EAAe;AAE7B,MAAA,uBACEC,eAAAA;AAAA,QAACC,OAAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,0CAAA;AAAA,UACH,CAAA,EAAG,CAAA;AAAA,UACH,CAAA,EAAE,KAAA;AAAA,UACF,SAAA,EAAW,QAAA;AAAA,UACX,GAAA,EAAK,CAAA;AAAA,UACL,KAAA,EAAO,MAAA;AAAA,UACP,SAAA,EAAU,mCAAA;AAAA,UAEV,QAAA,EAAA;AAAA,4BAAAD,eAAAA,CAACC,SAAA,EAAK,SAAA,EAAW,OAAO,OAAA,EAAS,SAAA,EAAW,OAAO,MAAA,EACjD,QAAA,EAAA;AAAA,8BAAAE,eAACD,OAAAA,EAAA,EAAK,WAAU,aAAA,EACb,QAAA,EAAA,CAAA,CAAE,+BAA+B,CAAA,EACpC,CAAA;AAAA,8BACAF,eAAAA;AAAA,gBAACC,OAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAW,KAAA;AAAA,kBACX,GAAA,EAAK,CAAA;AAAA,kBACL,SAAS,KAAA,CAAM,SAAA;AAAA,kBACf,SAAA,EAAU,2CAAA;AAAA,kBAEV,QAAA,EAAA;AAAA,oCAAAE,eAACD,OAAAA,EAAA,EAAK,MAAK,IAAA,EAAM,QAAA,EAAA,CAAA,CAAE,sBAAsB,CAAA,EAAE,CAAA;AAAA,oCAC3CC,eAAC,QAAA,EAAA,EAAS;AAAA;AAAA;AAAA;AACZ,aAAA,EACF,CAAA;AAAA,4BACAH,gBAACC,OAAAA,EAAA,EAAK,WAAW,KAAA,EAAO,GAAA,EAAK,CAAA,EAAG,KAAA,EAAO,MAAA,EACrC,QAAA,EAAA;AAAA,8BAAAE,eAACkC,QAAAA,EAAA,EAAQ,OAAM,OAAA,EAAQ,KAAA,EAAO,MAAM,KAAA,EAAO,CAAA;AAAA,8BAC3ClC,cAAAA,CAACkC,QAAAA,EAAA,EAAQ,KAAA,EAAM,WAAU,KAAA,EAAO,KAAA,CAAM,OAAA,EAAS,SAAA,EAAS,IAAA,EAAC;AAAA,aAAA,EAC3D;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAGA,IAAMA,QAAAA,GAID,CAAC,KAAA,KAAU;AACd,MAAA,MAAM,EAAE,OAAM,GAAI,KAAA;AAClB,MAAA,uBACErC,eAAAA;AAAA,QAACC,OAAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,wCAAA;AAAA,UACV,SAAA,EAAW,QAAA;AAAA,UACX,GAAA,EAAK,CAAA;AAAA,UACL,CAAA,EAAE,IAAA;AAAA,UACF,QAAA,EAAS,SAAA;AAAA,UACT,KAAA,EAAO,GAAA;AAAA,UACP,MAAA,EAAM,IAAA;AAAA,UACN,WAAA,EAAa,CAAA;AAAA,UAEb,QAAA,EAAA;AAAA,4BAAAE,eAACD,OAAAA,EAAA,EAAK,SAAA,EAAU,sDAAA,EACb,gBAAM,KAAA,EACT,CAAA;AAAA,4BACAF,eAAAA,CAACC,OAAAA,EAAA,EAAK,SAAA,EAAW,KAAA,EAAO,KAAK,CAAA,EAC1B,QAAA,EAAA;AAAA,cAAA,KAAA,CAAM,4BAAYE,cAAAA,CAAC,iBAAc,CAAA,mBAAKA,eAAC,WAAA,EAAA,EAAY,CAAA;AAAA,8BACpDA,cAAAA;AAAA,gBAACD,OAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAU,8BAAA;AAAA,kBACV,UAAUoB,qBAAAA,CAAgB,KAAA,EAAO,EAAE,GAAA,EAAK,GAAG;AAAA;AAAA;AAC7C,aAAA,EACF;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;AC1EA,IAIa,sBAAA;AAJb,IAAA,4BAAA,GAAA,KAAA,CAAA;AAAA,EAAA,8DAAA,GAAA;AACA,IAAA,4BAAA,EAAA;AACA,IAAA,wBAAA,EAAA;AAEO,IAAM,yBAAmC,MAAM;AACpD,MAAA,MAAM,QAAQ,kBAAA,EAAmB;AACjC,MAAA,uBAAOnB,cAAAA,CAAC,gBAAA,EAAA,EAAkB,GAAG,KAAA,EAAO,CAAA;AAAA,IACtC,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;;;ACPA,IAAA,wBAAA,GAAA,EAAA;AAAA,QAAA,CAAA,wBAAA,EAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,sBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAAA,IAAA,qBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,2CAAA,GAAA;AACA,IAAA,4BAAA,EAAA;AACA,IAAA,wBAAA,EAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACFA,IAOa,qBAAA;AAPb,IAAA,wBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,sDAAA,GAAA;AACA,IAAA,aAAA,EAAA;AAMO,IAAM,wBAAwB,MAAM;AACzC,MAAA,MAAM,EAAE,gBAAA,EAAiB,GAAI,wBAAA,EAAyB;AAEtD,MAAA,MAAM,MAAM6B,eAAAA,EAAU;AACtB,MAAA,MAAM,QAAA,GAAW,CAAC,CAAA,KAAW;AAC3B,QAAA,MAAM,GAAA,GAAM,WACV,GAAA,KAAQC,aAAAA,CAAQ,OAAO,CAAA,EAAG,GAAG,MAAM,EACrC,CAAA,2BAAA,CAAA;AACA,QAAA,MAAA,CAAO,IAAA,CAAK,KAAK,QAAQ,CAAA;AAAA,MAC3B,CAAA;AACA,MAAA,MAAM,aAAA,GAAgBG,oBAAW,gBAAgB,CAAA;AAEjD,MAAA,MAAM,OAAA,GAAUrB,eAAQ,MAAM;AAC5B,QAAA,MAAM,gBAAgB,gBAAA,EAAkB,eAAA;AACxC,QAAA,IAAI,OAAO,aAAA,KAAkB,WAAA,IAAe,aAAA,KAAkB,IAAA,EAAM;AAClE,UAAA,OAAO,MAAA;AAAA,QACT;AAEA,QAAA,IAAI,aAAA,KAAkB,GAAG,OAAO,aAAA;AAEhC,QAAA,OAAO,IAAIoB,aAAAA,CAAQ,aAAa,EAC7B,GAAA,CAAI,IAAIA,cAAQ,EAAE,CAAA,CAAE,GAAA,CAAI,IAAI,CAAC,CAAA,CAC7B,eAAA,CAAgB,GAAGA,aAAAA,CAAQ,UAAU,EACrC,QAAA,EAAS;AAAA,MACd,CAAA,EAAG,CAAC,gBAAA,EAAkB,eAAe,CAAC,CAAA;AACtC,MAAA,OAAO;AAAA,QACL,kBAAkB,aAAA,IAAiB,MAAA;AAAA,QACnC,QAAA;AAAA,QACA;AAAA,OACF;AAAA,IACF,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACrCA,IAAa,UAAA;AAAb,IAAA,WAAA,GAAA,KAAA,CAAA;AAAA,EAAA,uCAAA,GAAA;AAAO,IAAM,aAAa,MAAM;AAC9B,MAAA,uBACEnC,eAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,IAAA;AAAA,UACN,MAAA,EAAO,IAAA;AAAA,UACP,OAAA,EAAQ,WAAA;AAAA,UACR,IAAA,EAAK,MAAA;AAAA,UACL,KAAA,EAAM,4BAAA;AAAA,UAEN,QAAA,EAAA;AAAA,4BAAAG,cAAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,CAAA,EAAE,k0CAAA;AAAA,gBACF,IAAA,EAAK;AAAA;AAAA,aACP;AAAA,4BACAA,cAAAA,CAAC,MAAA,EAAA,EACC,QAAA,kBAAAH,eAAAA;AAAA,cAAC,gBAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAG,uBAAA;AAAA,gBACH,EAAA,EAAG,SAAA;AAAA,gBACH,EAAA,EAAG,SAAA;AAAA,gBACH,EAAA,EAAG,UAAA;AAAA,gBACH,EAAA,EAAG,SAAA;AAAA,gBACH,aAAA,EAAc,gBAAA;AAAA,gBAEd,QAAA,EAAA;AAAA,kCAAAG,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,oCAAA,EAAqC,CAAA;AAAA,kCACrDA,cAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,sCAAA,EAAuC;AAAA;AAAA;AAAA,aACpE,EACF;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;AC5BA,IAUa,YAAA,EAmDPkC,QAAAA;AA7DN,IAAA,oBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,kDAAA,GAAA;AAEA,IAAA,aAAA,EAAA;AACA,IAAA,kBAAA,EAAA;AACA,IAAA,gBAAA,EAAA;AACA,IAAA,WAAA,EAAA;AAKO,IAAM,YAAA,GAAwC,CAAC,KAAA,KAAU;AAC9D,MAAA,MAAM,EAAE,CAAA,EAAE,GAAItC,mBAAAA,EAAe;AAE7B,MAAA,uBACEC,eAAAA;AAAA,QAACC,OAAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,sCAAA;AAAA,UACH,CAAA,EAAG,CAAA;AAAA,UACH,CAAA,EAAE,KAAA;AAAA,UACF,SAAA,EAAW,QAAA;AAAA,UACX,GAAA,EAAK,CAAA;AAAA,UACL,KAAA,EAAO,MAAA;AAAA,UACP,SAAA,EAAU,mCAAA;AAAA,UAEV,QAAA,EAAA;AAAA,4BAAAD,eAAAA,CAACC,SAAA,EAAK,SAAA,EAAW,OAAO,OAAA,EAAS,SAAA,EAAW,OAAO,MAAA,EACjD,QAAA,EAAA;AAAA,8BAAAE,eAACD,OAAAA,EAAA,EAAK,WAAU,aAAA,EAAe,QAAA,EAAA,CAAA,CAAE,6BAA6B,CAAA,EAAE,CAAA;AAAA,8BAChEF,eAAAA;AAAA,gBAACC,OAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAW,KAAA;AAAA,kBACX,GAAA,EAAK,CAAA;AAAA,kBACL,SAAS,KAAA,CAAM,QAAA;AAAA,kBACf,SAAA,EAAU,2CAAA;AAAA,kBAEV,QAAA,EAAA;AAAA,oCAAAE,eAACD,OAAAA,EAAA,EAAK,MAAK,IAAA,EAAM,QAAA,EAAA,CAAA,CAAE,sBAAsB,CAAA,EAAE,CAAA;AAAA,oCAC3CC,eAAC,QAAA,EAAA,EAAS;AAAA;AAAA;AAAA;AACZ,aAAA,EACF,CAAA;AAAA,4BACAH,gBAACC,OAAAA,EAAA,EAAK,WAAW,KAAA,EAAO,GAAA,EAAK,CAAA,EAAG,KAAA,EAAO,MAAA,EACrC,QAAA,EAAA;AAAA,8BAAAE,cAAAA;AAAA,gBAACkC,QAAAA;AAAA,gBAAA;AAAA,kBACC,KAAA,EAAO,EAAE,gCAAgC,CAAA;AAAA,kBACzC,KAAA,EAAO,MAAM,gBAAA,EAAkB,aAAA;AAAA,kBAC/B,IAAA,kBACErC,eAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,iDAAA,EACb,QAAA,EAAA;AAAA,oCAAAG,eAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sCACb,QAAA,kBAAAA,cAAAA,CAAC,iBAAc,CAAA,EACjB,CAAA;AAAA,oCACAA,eAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sCACb,QAAA,kBAAAA,cAAAA,CAAC,eAAY,CAAA,EACf;AAAA,mBAAA,EACF;AAAA;AAAA,eAEJ;AAAA,8BACAA,cAAAA;AAAA,gBAACkC,QAAAA;AAAA,gBAAA;AAAA,kBACC,KAAA,EAAO,EAAE,wBAAwB,CAAA;AAAA,kBACjC,OAAO,KAAA,CAAM,OAAA;AAAA,kBACb,IAAA,kBAAMlC,cAAAA,CAAC,UAAA,EAAA,EAAW,CAAA;AAAA,kBAClB,QAAA,EAAQ;AAAA;AAAA;AACV,aAAA,EACF;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAEA,IAAMkC,QAAAA,GAKD,CAAC,KAAA,KAAU;AACd,MAAA,MAAM,SAAA,GAAYC,aAAA,CAAQ,KAAA,CAAM,KAAA,IAAS,MAAM,CAAC,CAAA;AAChD,MAAA,uBACEtC,eAAAA;AAAA,QAACC,OAAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,wCAAA;AAAA,UACV,SAAA,EAAW,QAAA;AAAA,UACX,GAAA,EAAK,CAAA;AAAA,UACL,CAAA,EAAE,IAAA;AAAA,UACF,QAAA,EAAS,SAAA;AAAA,UACT,KAAA,EAAO,GAAA;AAAA,UACP,MAAA,EAAM,IAAA;AAAA,UACN,WAAA,EAAa,CAAA;AAAA,UAEb,QAAA,EAAA;AAAA,4BAAAE,eAACD,OAAAA,EAAA,EAAK,SAAA,EAAU,sDAAA,EACb,gBAAM,KAAA,EACT,CAAA;AAAA,4BACAF,eAAAA,CAACC,OAAAA,EAAA,EAAK,SAAA,EAAW,KAAA,EAAO,KAAK,CAAA,EAC1B,QAAA,EAAA;AAAA,cAAA,KAAA,CAAM,IAAA;AAAA,cACN,KAAA,CAAM,2BACLE,cAAAA;AAAA,gBAACD,OAAAA,CAAK,QAAA;AAAA,gBAAL;AAAA,kBACC,SAAA,EAAU,8BAAA;AAAA,kBACV,KAAA,EAAM,OAAA;AAAA,kBACN,KAAA,EAAO,EAAA;AAAA,kBAEN,QAAA,EAAA,SAAA,IAAa,SAAA,KAAc,IAAA,GAAO,EAAA,GAAK,GAAA;AAAA;AAAA,eAC1C,mBAEAC,cAAAA,CAACD,OAAAA,EAAA,EAAK,SAAA,EAAU,8BAAA,EACb,QAAA,EAAAoB,qBAAAA,CAAgB,MAAM,KAAA,EAAO,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,EAC1C;AAAA,aAAA,EAEJ;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACpGA,IAIa,kBAAA;AAJb,IAAA,wBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,sDAAA,GAAA;AACA,IAAA,wBAAA,EAAA;AACA,IAAA,oBAAA,EAAA;AAEO,IAAM,qBAA+B,MAAM;AAChD,MAAA,MAAM,QAAQ,qBAAA,EAAsB;AACpC,MAAA,uBAAOnB,cAAAA,CAAC,YAAA,EAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AAAA,IAClC,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;;;ACPA,IAAA,oBAAA,GAAA,EAAA;AAAA,QAAA,CAAA,oBAAA,EAAA;AAAA,EAAA,YAAA,EAAA,MAAA,YAAA;AAAA,EAAA,kBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAAA,IAAA,iBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,uCAAA,GAAA;AACA,IAAA,wBAAA,EAAA;AACA,IAAA,oBAAA,EAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACoSA,SAAS,gBAAgB,SAAA,EAAoB;AAC3C,EAAA,IAAI,OAAO,SAAA,KAAc,WAAA;AACvB,IAAA,OAAO;AAAA,MACL,SAAA,EAAW,GAAA;AAAA,MACX,UAAA,EAAY;AAAA,KACd;AACF,EAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,SAAS,CAAA;AAE/B,EAAA,MAAM,UAAA,GAAa;AAAA,IACjB,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,KAAA,GAAQ,UAAA,CAAW,IAAA,CAAK,WAAA,EAAa,CAAA;AAC3C,EAAA,MAAM,GAAA,GAAM,KAAK,UAAA,EAAW,CAAE,UAAS,CAAE,QAAA,CAAS,GAAG,GAAG,CAAA;AACxD,EAAA,MAAM,IAAA,GAAO,KAAK,cAAA,EAAe;AACjC,EAAA,MAAM,KAAA,GAAQ,KAAK,WAAA,EAAY;AAC/B,EAAA,MAAM,OAAA,GAAU,KAAK,aAAA,EAAc;AACnC,EAAA,MAAM,IAAA,GAAO,KAAA,IAAS,EAAA,GAAK,IAAA,GAAO,IAAA;AAClC,EAAA,MAAM,kBAAkB,KAAA,GAAQ,EAAA,EAAI,UAAS,CAAE,QAAA,CAAS,GAAG,GAAG,CAAA;AAC9D,EAAA,MAAM,mBAAmB,OAAA,CAAQ,QAAA,EAAS,CAAE,QAAA,CAAS,GAAG,GAAG,CAAA;AAG3D,EAAA,OAAO;AAAA,IACL,WAAW,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,GAAG,KAAK,IAAI,CAAA,CAAA;AAAA,IACnC,YAAY,CAAA,EAAG,cAAc,CAAA,CAAA,EAAI,gBAAgB,IAAI,IAAI,CAAA;AAAA,GAC3D;AACF;AA1UA,IAoBa,aAAA,EAwBP,MAkBA,UAAA,EAoHA,WAAA;AAlLN,IAAA,sBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,qDAAA,GAAA;AAUA,IAAA,kBAAA,EAAA;AACA,IAAA,gBAAA,EAAA;AAMA,IAAA,mBAAA,EAAA;AAGO,IAAM,aAAA,GAA2C,CAAC,KAAA,KAAU;AACjE,MAAA,MAAM,EAAE,CAAA,EAAE,GAAIJ,mBAAAA,EAAe;AAE7B,MAAA,uBACEC,eAAAA;AAAA,QAACC,OAAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,uCAAA;AAAA,UACH,EAAA,EAAI,CAAA;AAAA,UACJ,EAAA,EAAI,CAAA;AAAA,UACJ,SAAA,EAAW,QAAA;AAAA,UACX,GAAA,EAAK,CAAA;AAAA,UACL,SAAA,EAAW,OAAA;AAAA,UACX,CAAA,EAAE,KAAA;AAAA,UACF,SAAA,EAAU,6DAAA;AAAA,UAEV,QAAA,EAAA;AAAA,4BAAAE,eAACD,OAAAA,EAAA,EAAK,WAAU,sBAAA,EACb,QAAA,EAAA,CAAA,CAAE,8BAA8B,CAAA,EACnC,CAAA;AAAA,4BACAC,cAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6CAAA,EACb,0BAAAA,cAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,KAAA,EAAO,CAAA,EACnB;AAAA;AAAA;AAAA,OACF;AAAA,IAEJ,CAAA;AAEA,IAAM,IAAA,GAAkC,CAAC,KAAA,KAAU;AACjD,MAAA,MAAM,QAAA,GAAWoC,oBAAc,oBAAoB,CAAA;AAEnD,MAAA,OAAO,2BACLpC,cAAAA;AAAA,QAACqC,WAAA;AAAA,QAAA;AAAA,UACC,YAAY,KAAA,CAAM,YAAA;AAAA,UAClB,UAAA,EAAY,CAAC,IAAA,EAAM,KAAA,KAAU;AAC3B,YAAA,uBAAOrC,cAAAA,CAAC,UAAA,EAAA,EAAW,IAAA,EAAM,IAAA,EAAM,CAAA;AAAA,UACjC,CAAA;AAAA,UACA,SAAA,EAAU;AAAA;AAAA,OACZ,mBAEAA,cAAAA,CAAC2B,MAAAA,EAAA,EAAI,EAAA,EAAI,CAAA,EACP,QAAA,kBAAA3B,cAAAA,CAAC,WAAA,EAAA,EAAa,GAAG,KAAA,EAAO,CAAA,EAC1B,CAAA;AAAA,IAEJ,CAAA;AAEA,IAAM,UAAA,GAED,CAAC,KAAA,KAAU;AACd,MAAA,MAAM,EAAE,MAAK,GAAI,KAAA;AACjB,MAAA,MAAM,EAAE,CAAA,EAAE,GAAIJ,mBAAAA,EAAe;AAG7B,MAAA,MAAM,OAAA,GACJ,GAAG,IAAA,EAAM,IAAA,EAAM,eAAe,IAAA,CAAK,WAAW,CAAA,CAAA,CAAG,WAAA,EAAY,KAAM,OAAA;AACrE,MAAA,MAAM,QAAA,GAAWuB,sBAAgB,IAAA,CAAK,IAAA,EAAM,UAAU,EAAE,GAAA,EAAK,GAAG,CAAA;AAEhE,MAAA,uBACEtB,eAAAA;AAAA,QAACC,OAAAA;AAAA,QAAA;AAAA,UAEC,SAAA,EAAW,QAAA;AAAA,UACX,EAAA,EAAI,CAAA;AAAA,UACJ,EAAA,EAAI,CAAA;AAAA,UACJ,GAAA,EAAK,CAAA;AAAA,UACL,SAAA,EAAU,2BAAA;AAAA,UAEV,QAAA,EAAA;AAAA,4BAAAD,gBAACC,OAAAA,EAAA,EAAK,SAAA,EAAW,KAAA,EAAO,OAAO,MAAA,EAC7B,QAAA,EAAA;AAAA,8BAAAD,eAAAA;AAAA,gBAACC,OAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAW,QAAA;AAAA,kBACX,SAAA,EAAU,0BAAA;AAAA,kBACV,SAAA,EAAW,OAAA;AAAA,kBAEX,QAAA,EAAA;AAAA,oCAAAE,eAACD,OAAAA,EAAA,EAAK,WAAU,wCAAA,EACb,QAAA,EAAA,CAAA,CAAE,sBAAsB,CAAA,EAC3B,CAAA;AAAA,oCACAC,eAACD,OAAAA,EAAA,EAAK,WAAU,aAAA,EAAe,QAAA,EAAA,CAAA,MAAA,EAAS,IAAA,CAAK,QAAQ,CAAA,CAAA,EAAG;AAAA;AAAA;AAAA,eAC1D;AAAA,8BACAF,eAAAA;AAAA,gBAACC,OAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAW,QAAA;AAAA,kBACX,SAAA,EAAU,0BAAA;AAAA,kBACV,SAAA,EAAW,OAAA;AAAA,kBAEX,QAAA,EAAA;AAAA,oCAAAD,eAAAA,CAACE,OAAAA,EAAA,EAAK,SAAA,EAAU,wCAAA,EACb,QAAA,EAAA;AAAA,sBAAA,CAAA,CAAE,6BAA6B,CAAA;AAAA,sBAAG;AAAA,qBAAA,EACrC,CAAA;AAAA,oCACAF,eAAAA,CAACC,OAAAA,EAAA,EAAK,KAAK,CAAA,EACR,QAAA,EAAA;AAAA,sBAAA,OAAA,mBAAUE,cAAAA,CAAC,WAAA,EAAA,EAAY,CAAA,mBAAKA,eAAC,aAAA,EAAA,EAAc,CAAA;AAAA,sCAC5CA,cAAAA,CAACD,OAAAA,EAAA,EAAK,WAAU,aAAA,EACb,QAAA,EAAAoB,qBAAAA,CAAgB,IAAA,CAAK,iBAAA,EAAmB,EAAE,GAAA,EAAK,CAAA,EAAG,CAAA,EACrD;AAAA,qBAAA,EACF;AAAA;AAAA;AAAA,eACF;AAAA,8BACAtB,eAAAA;AAAA,gBAACC,OAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAW,QAAA;AAAA,kBACX,SAAA,EAAU,0BAAA;AAAA,kBACV,SAAA,EAAW,KAAA;AAAA,kBAEX,QAAA,EAAA;AAAA,oCAAAD,eAAAA,CAACE,OAAAA,EAAA,EAAK,SAAA,EAAU,wCAAA,EACb,QAAA,EAAA;AAAA,sBAAA,CAAA,CAAE,8BAA8B,CAAA;AAAA,sBAAG;AAAA,qBAAA,EACtC,CAAA;AAAA,oCACAF,eAAAA,CAACC,OAAAA,EAAA,EAAK,KAAK,CAAA,EACR,QAAA,EAAA;AAAA,sBAAA,QAAA,KAAa,IAAA,KACX,0BAAUE,cAAAA,CAAC,eAAY,CAAA,mBAAKA,eAAC,aAAA,EAAA,EAAc,CAAA,CAAA;AAAA,sBAC7C,CAAC,CAAC,IAAA,CAAK,cAAA,mBACNA,cAAAA;AAAA,wBAAC,cAAA;AAAA,wBAAA;AAAA,0BACC,gBAAgB,IAAA,CAAK,cAAA;AAAA,0BACrB,0BACEA,cAAAA,CAACD,SAAA,EAAK,SAAA,EAAU,oHACb,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,0BAEF,KAAA,EAAM,QAAA;AAAA,0BACN,SAAA,EAAU,eAAA;AAAA,0BACV,cAAA,EAAe;AAAA;AAAA,0CAGjBC,cAAAA,CAACD,SAAA,EAAK,SAAA,EAAU,eAAe,QAAA,EAAA,QAAA,EAAS;AAAA,qBAAA,EAE5C;AAAA;AAAA;AAAA;AACF,aAAA,EACF,CAAA;AAAA,4BACAF,eAAAA,CAACC,OAAAA,EAAA,EAAK,SAAA,EAAW,KAAA,EAAO,OAAO,MAAA,EAC7B,QAAA,EAAA;AAAA,8BAAAD,eAAAA;AAAA,gBAACC,OAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAW,QAAA;AAAA,kBACX,SAAA,EAAU,0BAAA;AAAA,kBACV,SAAA,EAAW,OAAA;AAAA,kBAEX,QAAA,EAAA;AAAA,oCAAAE,eAACD,OAAAA,EAAA,EAAK,WAAU,wCAAA,EACb,QAAA,EAAA,CAAA,CAAE,+CAA+C,CAAA,EACpD,CAAA;AAAA,oCACAF,eAAAA,CAACC,OAAAA,EAAA,EAAK,WAAW,KAAA,EACf,QAAA,EAAA;AAAA,sCAAAD,eAAAA,CAACE,OAAAA,EAAA,EAAK,SAAA,EAAU,aAAA,EACb,QAAA,EAAA;AAAA,wBAAA,eAAA,CAAgB,IAAA,CAAK,UAAU,CAAA,CAAE,SAAA;AAAA,wBAAU;AAAA,uBAAA,EAC9C,CAAA;AAAA,sCACAC,cAAAA,CAACD,OAAAA,EAAA,EAAK,SAAA,EAAU,0CACb,QAAA,EAAA,eAAA,CAAgB,IAAA,CAAK,UAAU,CAAA,CAAE,UAAA,EACpC;AAAA,qBAAA,EACF;AAAA;AAAA;AAAA,eACF;AAAA,8BACAF,eAAAA;AAAA,gBAACC,OAAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAW,QAAA;AAAA,kBACX,SAAA,EAAU,0BAAA;AAAA,kBACV,SAAA,EAAW,KAAA;AAAA,kBAEX,QAAA,EAAA;AAAA,oCAAAE,eAACD,OAAAA,EAAA,EAAK,WAAU,wCAAA,EACb,QAAA,EAAA,CAAA,CAAE,6CAA6C,CAAA,EAClD,CAAA;AAAA,oCACAF,eAAAA,CAACC,OAAAA,EAAA,EAAK,WAAW,KAAA,EACf,QAAA,EAAA;AAAA,sCAAAD,eAAAA,CAACE,OAAAA,EAAA,EAAK,SAAA,EAAU,aAAA,EACb,QAAA,EAAA;AAAA,wBAAA,eAAA,CAAgB,IAAA,CAAK,QAAQ,CAAA,CAAE,SAAA;AAAA,wBAAU;AAAA,uBAAA,EAC5C,CAAA;AAAA,sCACAC,cAAAA,CAACD,OAAAA,EAAA,EAAK,SAAA,EAAU,0CACb,QAAA,EAAA,eAAA,CAAgB,IAAA,CAAK,QAAQ,CAAA,CAAE,UAAA,EAClC;AAAA,qBAAA,EACF;AAAA;AAAA;AAAA;AACF,aAAA,EACF,CAAA;AAAA,4BACAC,cAAAA,CAACC,UAAAA,EAAA,EAAQ,WAAU,YAAA,EAAa;AAAA;AAAA,SAAA;AAAA,QAlG3B,IAAA,CAAK;AAAA,OAmGZ;AAAA,IAEJ,CAAA;AAEA,IAAM,WAAA,GAAyC,CAAC,KAAA,KAAU;AACxD,MAAA,MAAM,EAAE,MAAK,GAAI,KAAA;AACjB,MAAA,MAAM,EAAE,CAAA,EAAE,GAAIL,mBAAAA,EAAe;AAE7B,MAAA,MAAM,OAAA,GAA8B;AAAA,QAClC;AAAA,UACE,KAAA,EAAO,EAAE,sBAAsB,CAAA;AAAA,UAC/B,SAAA,EAAW,UAAA;AAAA,UACX,SAAA,EAAW,6BAAA;AAAA,UACX,MAAA,EAAQ,CAAC,KAAA,KAAU;AACjB,YAAA,uBAAOI,cAAAA,CAACD,OAAAA,EAAA,EAAM,QAAA,EAAA,CAAA,EAAG,EAAE,sBAAsB,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAG,CAAA;AAAA,UACxD;AAAA,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAO,EAAE,mDAAmD,CAAA;AAAA,UAC5D,SAAA,EAAW,MAAA;AAAA,UACX,SAAA,EAAW,6BAAA;AAAA,UACX,MAAA,EAAQ,CAAC,KAAA,EAAO,MAAA,KAAW;AACzB,YAAA,uBACEF,eAAAA;AAAA,cAACC,OAAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAW,QAAA;AAAA,gBACX,SAAA,EAAU,eAAA;AAAA,gBACV,OAAA,EAAS,OAAA;AAAA,gBACT,SAAA,EAAW,OAAA;AAAA,gBAEX,QAAA,EAAA;AAAA,kCAAAD,gBAACC,OAAAA,EAAA,EAAK,SAAA,EAAW,KAAA,EAAO,KAAK,CAAA,EAC3B,QAAA,EAAA;AAAA,oCAAAE,eAACD,OAAAA,EAAA,EAAM,0BAAgB,MAAA,CAAO,UAAU,EAAE,SAAA,EAAU,CAAA;AAAA,oCACpDC,cAAAA,CAACD,OAAAA,EAAA,EAAK,SAAA,EAAU,6BACb,QAAA,EAAA,eAAA,CAAgB,MAAA,CAAO,UAAU,CAAA,CAAE,UAAA,EACtC;AAAA,mBAAA,EACF,CAAA;AAAA,kCACAF,eAAAA,CAACC,OAAAA,EAAA,EAAK,SAAA,EAAW,KAAA,EAAO,KAAK,CAAA,EAC3B,QAAA,EAAA;AAAA,oCAAAE,eAACD,OAAAA,EAAA,EAAM,0BAAgB,MAAA,CAAO,QAAQ,EAAE,SAAA,EAAU,CAAA;AAAA,oCAClDC,cAAAA,CAACD,OAAAA,EAAA,EAAK,SAAA,EAAU,6BACb,QAAA,EAAA,eAAA,CAAgB,MAAA,CAAO,QAAQ,CAAA,CAAE,UAAA,EACpC;AAAA,mBAAA,EACF;AAAA;AAAA;AAAA,aACF;AAAA,UAEJ;AAAA,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAO,EAAE,6BAA6B,CAAA;AAAA,UACtC,SAAA,EAAW,mBAAA;AAAA,UACX,SAAA,EAAW,6BAAA;AAAA,UACX,MAAA,EAAQ,CAAC,KAAA,EAAO,MAAA,KAAW;AACzB,YAAA,MAAM,OAAA,GACJ,GAAG,MAAA,EAAQ,IAAA,EAAM,eAAe,MAAA,CAAO,WAAW,CAAA,CAAA,CAAG,WAAA,EAAY,KACjE,OAAA;AACF,YAAA,uBACEF,eAAAA,CAACC,OAAAA,EAAA,EAAK,SAAA,EAAW,KAAA,EAAO,KAAK,CAAA,EAC1B,QAAA,EAAA;AAAA,cAAA,OAAA,mBAAUE,cAAAA,CAAC,WAAA,EAAA,EAAY,CAAA,mBAAKA,eAAC,aAAA,EAAA,EAAc,CAAA;AAAA,8BAC5CA,cAAAA,CAACD,OAAAA,EAAA,EAAM,QAAA,EAAAoB,qBAAAA,CAAgB,KAAK,CAAA,EAAE;AAAA,aAAA,EAChC,CAAA;AAAA,UAEJ;AAAA,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAO,EAAE,8BAA8B,CAAA;AAAA,UACvC,SAAA,EAAW,QAAA;AAAA,UACX,SAAA,EAAW,6BAAA;AAAA,UACX,MAAA,EAAQ,CAAC,KAAA,EAAO,MAAA,KAAW;AACzB,YAAA,MAAM,OAAA,GACJ,GAAG,MAAA,EAAQ,IAAA,EAAM,eAAe,MAAA,CAAO,WAAW,CAAA,CAAA,CAAG,WAAA,EAAY,KACjE,OAAA;AAEF,YAAA,IAAI,2BACFnB,cAAAA;AAAA,cAACD,OAAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EACE,MAAA,CAAO,cAAA,GACH,sGAAA,GACA,EAAA;AAAA,gBAGL,QAAA,EAAAoB,sBAAgB,MAAA,CAAO,IAAA,EAAM,UAAU,EAAE,GAAA,EAAK,GAAG;AAAA;AAAA,aACpD;AAGF,YAAA,IAAI,OAAO,cAAA,EAAgB;AACzB,cAAA,QAAA,mBACEnB,cAAAA;AAAA,gBAAC,cAAA;AAAA,gBAAA;AAAA,kBACC,gBAAgB,MAAA,CAAO,cAAA;AAAA,kBACvB,QAAA;AAAA,kBACA,KAAA,EAAM,QAAA;AAAA,kBACN,SAAA,EAAU,eAAA;AAAA,kBACV,cAAA,EAAe;AAAA;AAAA,eACjB;AAAA,YAEJ;AACA,YAAA,uBACEH,eAAAA,CAACC,OAAAA,EAAA,EAAK,SAAA,EAAW,KAAA,EAAO,KAAK,CAAA,EAC1B,QAAA,EAAA;AAAA,cAAA,OAAA,mBAAUE,cAAAA,CAAC,WAAA,EAAA,EAAY,CAAA,mBAAKA,eAAC,aAAA,EAAA,EAAc,CAAA;AAAA,cAC3C;AAAA,aAAA,EACH,CAAA;AAAA,UAEJ;AAAA;AACF,OACF;AAEA,MAAA,uBACEA,cAAAA;AAAA,QAACsC,YAAA;AAAA,QAAA;AAAA,UACC,QAAA,EAAQ,IAAA;AAAA,UACR,OAAA;AAAA,UACA,SAAS,KAAA,CAAM,SAAA;AAAA,UACf,UAAA,EAAY,IAAA;AAAA,UACZ,2BAAWtC,cAAAA,CAACuC,0BAAA,EAAA,EAAe,MAAA,EAAQtB,wBAAkB,QAAA,EAAU,CAAA;AAAA,UAC/D,KAAA,EAAO,CAAC,MAAA,KAAW;AACjB,YAAA,OAAO;AAAA,cACL,SAAA,EAAW;AAAA,aACb;AAAA,UACF,CAAA;AAAA,UACA,YAAY,KAAA,CAAM;AAAA;AAAA,OACpB;AAAA,IAEJ,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACpSA,IAqBa,uBAAA;AArBb,IAAA,0BAAA,GAAA,KAAA,CAAA;AAAA,EAAA,yDAAA,GAAA;AAWA,IAAA,aAAA,EAAA;AAUO,IAAM,0BAA0B,MAAM;AAC3C,MAAA,MAAM,EAAE,OAAA,EAAQ,GAAID,gBAAAA,EAAW;AAC/B,MAAA,MAAM;AAAA,QACJ,SAAA;AAAA,QACA,oBAAA;AAAA,QACA,uBAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,UACE,wBAAA,EAAyB;AAC7B,MAAA,MAAM,UAAA,GAAa,YAAY,CAAC,CAAA;AAChC,MAAA,MAAM,EAAE,WAAA,EAAY,GAAI,SAAA,GAAY,CAAC,CAAA;AACrC,MAAA,MAAM,CAAC,OAAO,CAAA,GAAI,oBAAA;AAClB,MAAA,MAAM,EAAE,YAAA,EAAc,eAAA,EAAgB,GAAIF,sBAAAA,EAAc;AAExD,MAAA,MAAM,EAAE,IAAA,EAAM,cAAA,EAAe,GAAI0B,8BAAA,CAAyB,QAAQ,OAAO,CAAA;AAEzE,MAAA,MAAM,IAAA,GAAO5B,eAAQ,MAAM;AACzB,QAAA,IAAI,eAAe,eAAA,EAAiB;AAClC,UAAA,OAAO,EAAC;AAAA,QACV;AACA,QAAA,MAAM,IAAA,GAAO,CAAC,GAAI,UAAA,IAAc,EAAG,CAAA;AAEnC,QAAA,MAAM,WAAA,GAAc,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,KAAgB;AAC5C,UAAA,MAAM,KAAK,CAAA,CAAE,QAAA;AACb,UAAA,MAAM,KAAA,GAAQ,SAAS,IAAA,CAAK,SAAA,CAAU,CAAC,IAAA,KAAS,EAAA,KAAO,KAAK,QAAQ,CAAA;AAEpE,UAAA,IAAI,cAAA,GAAkD,MAAA;AAEtD,UAAA,IAAI,KAAA,KAAU,EAAA,IAAM,CAAC,YAAA,EAAc;AACjC,YAAA,MAAM,IAAA,GAAO,OAAA,EAAS,IAAA,GAAO,KAAe,CAAA;AAC5C,YAAA,MAAM,UAAA,GAAa,cAAA,EAAgB,SAAA,CAAU,CAAC,IAAA,KAAc;AAC1D,cAAA,OAAO,IAAA,EAAM,aAAa,CAAA,CAAE,QAAA;AAAA,YAC9B,CAAC,CAAA;AAED,YAAA,IACE,cAAA,KAAmB,MAAA,IACnB,UAAA,KAAe,MAAA,IACf,eAAe,EAAA,EACf;AAEA,cAAA,MAAM,UAAA,GAAa,cAAA,CAAe,UAAU,CAAA,CAAE,MAAA;AAC9C,cAAA,MAAM,iBAAiB,UAAA,CAAW,SAAA;AAAA,gBAChC,CAAC,IAAA,KAAS,IAAA,CAAK,SAAA,KAAc;AAAA,eAC/B;AACA,cAAA,MAAM,SAAA,GACJ,cAAA,KAAmB,EAAA,GAAK,UAAA,CAAW,cAAc,CAAA,GAAI,MAAA;AACvD,cAAA,MAAM,UAAA,GAAa,WAAW,SAAA,IAAa,CAAA;AAC3C,cAAA,MAAM,eAAe,IAAA,CAAK,GAAA,CAAI,IAAI,IAAA,EAAM,QAAA,IAAY,KAAK,UAAU,CAAA;AACnE,cAAA,cAAA,GAAiB;AAAA,gBACf,UAAA;AAAA,gBACA,UAAA;AAAA,gBACA;AAAA,eACF;AAAA,YACF;AACA,YAAA,OAAO;AAAA,cACL,GAAG,CAAA;AAAA,cACH,IAAA;AAAA,cACA;AAAA,aACF;AAAA,UACF;AACA,UAAA,OAAO;AAAA,YACL,GAAG;AAAA,WACL;AAAA,QACF,CAAC,CAAA;AAED,QAAA,WAAA,CAAY,KAAK,CAAC,CAAA,EAAG,MAAM,CAAA,CAAE,QAAA,GAAW,EAAE,QAAQ,CAAA;AAClD,QAAA,IAAI,CAAC,aAAa,CAAA,GAAI,uBAAA;AACtB,QAAA,IAAI,OAAO,kBAAkB,WAAA,EAAa;AACxC,UAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,WAAA,CAAY,QAAQ,CAAA,EAAA,EAAK;AAC3C,YAAA,MAAM,OAAA,GAAU,YAAY,CAAC,CAAA;AAC7B,YAAA,IAAI,OAAO,OAAA,EAAS,IAAA,KAAS,WAAA,EAAa;AACxC,cAAA,OAAA,CAAQ,KAAA,GAAQ,MAAA;AAChB,cAAA;AAAA,YACF;AACA,YAAA,MAAM,MAAA,GAAS,QAAQ,IAAA,EAAM,aAAA;AAC7B,YAAA,IAAI,WAAW,WAAA,EAAa;AAC1B,cAAA,IAAI,aAAA,GAAgB,OAAA,CAAQ,IAAA,EAAM,QAAA,IAAY,CAAA,EAAG;AAC/C,gBAAA,OAAA,CAAQ,KAAA,GAAQ,SAAA;AAAA,cAClB,CAAA,MAAO;AACL,gBAAA,OAAA,CAAQ,KAAA,GAAQ,WAAA;AAAA,cAClB;AACA,cAAA,aAAA,IAAiB,QAAQ,IAAA,EAAM,QAAA;AAAA,YACjC,CAAA,MAAA,IAAW,WAAW,SAAA,EAAW;AAC/B,cAAA,OAAA,CAAQ,KAAA,GAAQ,YAAA;AAAA,YAClB;AAAA,UACF;AAAA,QACF;AACA,QAAA,WAAA,CAAY,KAAK,CAAC,CAAA,EAAG,MAAM,CAAA,CAAE,QAAA,GAAW,EAAE,QAAQ,CAAA;AAClD,QAAA,MAAM,UAAU6B,kBAAA,EAAa;AAC7B,QAAA,OAAO,YAAY,MAAA,CAAO,CAAC,IAAA,KAAS,IAAA,CAAK,YAAY,OAAO,CAAA;AAAA,MAC9D,CAAA,EAAG;AAAA,QACD,OAAA;AAAA,QACA,UAAA;AAAA,QACA,uBAAA;AAAA,QACA,WAAA;AAAA,QACA,YAAA;AAAA,QACA,cAAA;AAAA,QACA;AAAA,OACD,CAAA;AAED,MAAA,MAAM,EAAE,UAAA,EAAW,GAAIC,gBAAA,EAAc;AAErC,MAAA,OAAO;AAAA,QACL,IAAA;AAAA,QACA,YAAA,EAAc,IAAA;AAAA,QACd,UAAA;AAAA,QACA,SAAA,EAAW,SAAA,CAAU,CAAC,CAAA,CAAE;AAAA,OAC1B;AAAA,IACF,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;ACjIA,IAIa,oBAAA;AAJb,IAAA,0BAAA,GAAA,KAAA,CAAA;AAAA,EAAA,yDAAA,GAAA;AACA,IAAA,0BAAA,EAAA;AACA,IAAA,sBAAA,EAAA;AAEO,IAAM,uBAAiC,MAAM;AAClD,MAAA,MAAM,QAAQ,uBAAA,EAAwB;AACtC,MAAA,uBAAO1C,cAAAA,CAAC,aAAA,EAAA,EAAe,GAAG,KAAA,EAAO,CAAA;AAAA,IACnC,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA;;;ACPA,IAAA,qBAAA,GAAA,EAAA;AAAA,QAAA,CAAA,qBAAA,EAAA;AAAA,EAAA,aAAA,EAAA,MAAA,aAAA;AAAA,EAAA,oBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAAA,IAAA,kBAAA,GAAA,KAAA,CAAA;AAAA,EAAA,wCAAA,GAAA;AAAA,IAAA,sBAAA,EAAA;AACA,IAAA,0BAAA,EAAA;AAAA,EAAA;AAAA,CAAA,CAAA;;;ACDA,IAAA,aAAA,GAAA;AAAA,QAAA,CAAA,aAAA,EAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,sBAAA,EAAA,MAAA,sBAAA;AAAA,EAAA,QAAA,EAAA,MAAA,QAAA;AAAA,EAAA,cAAA,EAAA,MAAA,cAAA;AAAA,EAAA,QAAA,EAAA,MAAA,QAAA;AAAA,EAAA,aAAA,EAAA,MAAA,aAAA;AAAA,EAAA,oBAAA,EAAA,MAAA,oBAAA;AAAA,EAAA,YAAA,EAAA,MAAA,YAAA;AAAA,EAAA,kBAAA,EAAA,MAAA,kBAAA;AAAA,EAAA,KAAA,EAAA,MAAA,KAAA;AAAA,EAAA,WAAA,EAAA,MAAA,WAAA;AAAA,EAAA,sBAAA,EAAA,MAAA,sBAAA;AAAA,EAAA,iBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;;;ACAA,aAAA,EAAA;AACA,iBAAA,EAAA;;;ADCA,aAAA,EAAA;AACA,qBAAA,EAAA;AACA,iBAAA,EAAA;AACA,kBAAA,EAAA;AACA,aAAA,EAAA;;;AEHA,aAAA,EAAA;AAGA,IAAM,kBAAkBqB,uBAAAA,CAAM,IAAA;AAAA,EAAK,MACjC,OAAA,CAAA,OAAA,EAAA,CAAA,IAAA,CAAA,OAAA,iBAAA,EAAA,EAAA,oBAAA,CAAA,CAAA,CAA+B,IAAA,CAAK,CAAC,GAAA,KAAQ;AAC3C,IAAA,OAAO,EAAE,OAAA,EAAS,GAAA,CAAI,WAAA,EAAY;AAAA,EACpC,CAAC;AACH,CAAA;AAEA,IAAM,qBAAqBA,uBAAAA,CAAM,IAAA;AAAA,EAAK,MACpC,OAAA,CAAA,OAAA,EAAA,CAAA,IAAA,CAAA,OAAA,aAAA,EAAA,EAAA,gBAAA,CAAA,CAAA,CAAqB,IAAA,CAAK,CAAC,GAAA,KAAQ;AACjC,IAAA,OAAO,EAAE,OAAA,EAAS,GAAA,CAAI,cAAA,EAAe;AAAA,EACvC,CAAC;AACH,CAAA;AAEA,IAAM,6BAA6BA,uBAAAA,CAAM,IAAA;AAAA,EAAK,MAC5C,OAAA,CAAA,OAAA,EAAA,CAAA,IAAA,CAAA,OAAA,qBAAA,EAAA,EAAA,wBAAA,CAAA,CAAA,CAA6B,IAAA,CAAK,CAAC,GAAA,KAAQ;AACzC,IAAA,OAAO,EAAE,OAAA,EAAS,GAAA,CAAI,sBAAA,EAAuB;AAAA,EAC/C,CAAC;AACH,CAAA;AAEA,IAAM,yBAAyBA,uBAAAA,CAAM,IAAA;AAAA,EAAK,MACxC,OAAA,CAAA,OAAA,EAAA,CAAA,IAAA,CAAA,OAAA,iBAAA,EAAA,EAAA,oBAAA,CAAA,CAAA,CAAyB,IAAA,CAAK,CAAC,GAAA,KAAQ;AACrC,IAAA,OAAO,EAAE,OAAA,EAAS,GAAA,CAAI,kBAAA,EAAmB;AAAA,EAC3C,CAAC;AACH,CAAA;AAEA,IAAM,2BAA2BA,uBAAAA,CAAM,IAAA;AAAA,EAAK,MAC1C,OAAA,CAAA,OAAA,EAAA,CAAA,IAAA,CAAA,OAAA,kBAAA,EAAA,EAAA,qBAAA,CAAA,CAAA,CAA0B,IAAA,CAAK,CAAC,GAAA,KAAQ;AACtC,IAAA,OAAO,EAAE,OAAA,EAAS,GAAA,CAAI,oBAAA,EAAqB;AAAA,EAC7C,CAAC;AACH,CAAA;AAEA,IAAMsB,gBAAyB,MAAM;AACnC,EAAA,MAAM,EAAE,UAAA,EAAW,GAAItC,6BAAAA,CAAwB,KAAK,CAAA;AACpD,EAAA,MAAM,qBAAA,GAAwBO,eAAQ,MAAM;AAC1C,IAAA,OAAO,UAAA,EAAY,gBAAgBU,iBAAAA,CAAY,MAAA;AAAA,EACjD,CAAA,EAAG,CAAC,UAAA,EAAY,WAAW,CAAC,CAAA;AAC5B,EAAA,OAAO,qBAAA,mBACLtB,cAAAA,CAACqB,uBAAAA,CAAM,QAAA,EAAN,EAAe,QAAA,EAAU,IAAA,EACxB,QAAA,kBAAArB,cAAAA,CAAC,sBAAA,EAAA,EAAuB,CAAA,EAC1B,CAAA,GACE,IAAA;AACN,CAAA;AAEO,IAAM,QAAA,GAIR,CAAC,KAAA,KAAU;AACd,EAAA,uBACEA,cAAAA;AAAA,IAAC,sBAAA;AAAA,IAAA;AAAA,MACC,aAAa,KAAA,CAAM,WAAA;AAAA,MACnB,yBAAyB,KAAA,CAAM,uBAAA;AAAA,MAE/B,QAAA,kBAAAH,eAAAA;AAAA,QAACC,OAAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAG,8BAAA;AAAA,UACH,SAAA,EAAWyB,KAAAA,CAAG,sBAAA,EAAwB,KAAA,CAAM,SAAS,CAAA;AAAA,UACrD,SAAA,EAAW,QAAA;AAAA,UACX,GAAA,EAAK,CAAA;AAAA,UAEL,QAAA,EAAA;AAAA,4BAAAvB,cAAAA,CAACqB,wBAAM,QAAA,EAAN,EAAe,UAAU,IAAA,EACxB,QAAA,kBAAArB,cAAAA,CAAC,eAAA,EAAA,EAAgB,CAAA,EACnB,CAAA;AAAA,4BACAH,eAAAA,CAACC,OAAAA,EAAA,EAAK,WAAU,sFAAA,EACd,QAAA,EAAA;AAAA,8BAAAE,eAAC2B,MAAAA,EAAA,EAAI,SAAA,EAAU,6CAAA,EACb,0BAAA3B,cAAAA,CAACqB,uBAAAA,CAAM,QAAA,EAAN,EAAe,UAAU,IAAA,EACxB,QAAA,kBAAArB,cAAAA,CAAC,kBAAA,EAAA,EAAmB,GACtB,CAAA,EACF,CAAA;AAAA,8BACAH,eAAAA,CAACC,OAAAA,EAAA,EAAK,WAAU,4FAAA,EACd,QAAA,EAAA;AAAA,gCAAAE,cAAAA,CAACqB,wBAAM,QAAA,EAAN,EAAe,UAAU,IAAA,EACxB,QAAA,kBAAArB,cAAAA,CAAC,0BAAA,EAAA,EAA2B,CAAA,EAC9B,CAAA;AAAA,gCACAA,cAAAA,CAAC2C,aAAAA,EAAA,EAAa;AAAA,eAAA,EAChB;AAAA,aAAA,EACF,CAAA;AAAA,4BACA3C,cAAAA,CAACqB,uBAAAA,CAAM,QAAA,EAAN,EAAe,UAAU,IAAA,EACxB,QAAA,kBAAArB,cAAAA,CAAC,wBAAA,EAAA,EAAyB,CAAA,EAC5B;AAAA;AAAA;AAAA;AACF;AAAA,GACF;AAEJ,CAAA;ACjFO,IAAK,6BAAA,qBAAA4C,8BAAAA,KAAL;AACL,EAAAA,+BAAA,SAAA,CAAA,GAAU,kBAAA;AACV,EAAAA,+BAAA,WAAA,CAAA,GAAY,oBAAA;AAFF,EAAA,OAAAA,8BAAAA;AAAA,CAAA,EAAA,6BAAA,IAAA,EAAA;AAKL,IAAM,6BAAA,GAAgC,CAAC,KAAA,KAIzC;AACH,EAAA,MAAM,EAAE,CAAA,EAAE,GAAIhD,mBAAAA,EAAe;AAC7B,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,IAAIsB,eAAAA,CAAS,KAAA,CAAM,WAAW,oBAAoB,CAAA;AAE5E,EAAAQ,iBAAU,MAAM;AACd,IAAA,IAAI,KAAA,CAAM,OAAA,EAAS,UAAA,CAAW,KAAA,CAAM,OAAO,CAAA;AAAA,EAC7C,CAAA,EAAG,CAAC,KAAA,CAAM,OAAO,CAAC,CAAA;AAElB,EAAA,MAAM,KAAA,GAAQd,eAAQ,MAAM;AAC1B,IAAA,OAAO;AAAA,MACL;AAAA,QACE,IAAA,EAAM,EAAE,gBAAgB,CAAA;AAAA,QACxB,IAAA,EAAM,kBAAA;AAAA,QACN,sBACEf,eAAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAM,IAAA;AAAA,YACN,MAAA,EAAO,IAAA;AAAA,YACP,OAAA,EAAQ,WAAA;AAAA,YACR,IAAA,EAAK,MAAA;AAAA,YACL,KAAA,EAAM,4BAAA;AAAA,YAEN,QAAA,EAAA;AAAA,8BAAAG,cAAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,CAAA,EAAE,ugBAAA;AAAA,kBAEF,SAAA,EAAU;AAAA;AAAA,eACZ;AAAA,8BACAA,cAAAA,CAAC,MAAA,EAAA,EACC,QAAA,kBAAAH,eAAAA;AAAA,gBAAC,gBAAA;AAAA,gBAAA;AAAA,kBACC,EAAA,EAAG,GAAA;AAAA,kBACH,EAAA,EAAG,OAAA;AAAA,kBACH,EAAA,EAAG,GAAA;AAAA,kBACH,EAAA,EAAG,KAAA;AAAA,kBACH,EAAA,EAAG,GAAA;AAAA,kBACH,aAAA,EAAc,gBAAA;AAAA,kBAEd,QAAA,EAAA;AAAA,oCAAAG,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,oCAAA,EAAqC,CAAA;AAAA,oCACrDA,cAAAA;AAAA,sBAAC,MAAA;AAAA,sBAAA;AAAA,wBACC,MAAA,EAAO,GAAA;AAAA,wBACP,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA;AAAA,eACF,EACF;AAAA;AAAA;AAAA;AACF,OAEJ;AAAA,MACA;AAAA,QACE,IAAA,EAAM,EAAE,kBAAkB,CAAA;AAAA,QAC1B,IAAA,EAAM,oBAAA;AAAA,QACN,sBACEA,cAAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAM,IAAA;AAAA,YACN,MAAA,EAAO,IAAA;AAAA,YACP,OAAA,EAAQ,WAAA;AAAA,YACR,IAAA,EAAK,MAAA;AAAA,YACL,KAAA,EAAM,4BAAA;AAAA,YAEN,QAAA,kBAAAA,cAAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,QAAA,EAAS,SAAA;AAAA,gBACT,QAAA,EAAS,SAAA;AAAA,gBACT,CAAA,EAAE,ytBAAA;AAAA,gBACF,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA;AACF;AAEJ,KACF;AAAA,EACF,CAAA,EAAG,CAAC,CAAC,CAAC,CAAA;AAEN,EAAA,MAAM,WAAA,GAAcoC,oBAAc,oBAAoB,CAAA;AAEtD,EAAA,OAAO;AAAA,IACL,KAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA,EAAc,CAAC,IAAA,KAAS;AAEtB,MAAA,UAAA,CAAW,KAAK,IAAI,CAAA;AAAA,IACtB;AAAA,GACF;AACF;ACtFO,IAAM,oBAAA,GAET,CAAC,KAAA,KAAU;AACb,EAAA,MAAM,EAAE,QAAA,EAAU,UAAA,EAAY,GAAG,MAAK,GAAI,KAAA;AAC1C,EAAA,uBACEpC,cAAAA;AAAA,IAAC6C,mBAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAa,IAAA;AAAA,MACb,eAAe,KAAA,CAAM,aAAA;AAAA,MACrB,UAAA,EAAY;AAAA,QACV,GAAG,UAAA;AAAA,QACH,SAAS,UAAA,EAAY,OAAA;AAAA,QACrB,SAAA,EAAWtB,KAAAA,CAAG,eAAA,EAAiB,UAAA,EAAY,SAAS,CAAA;AAAA,QACpD,WAAA,EAAaA,KAAAA;AAAA,UACX,8BAAA;AAAA,UACA,iBAAA;AAAA,UACA,4BAAA;AAAA,UACA,UAAA,EAAY;AAAA;AACd,OACF;AAAA,MACC,GAAGuB,qBAAA,CAAK,CAAC,eAAe,GAAG,IAAI,CAAA;AAAA,MAE/B;AAAA;AAAA,GACH;AAEJ;AC9BO,IAAM,0BAAA,GAET,CAAC,KAAA,KAAU;AACb,EAAA,MAAM,QAAQ,6BAAA,CAA8B;AAAA,IAC1C,OAAA,EAAS,MAAM,aAAA,EAAe;AAAA,GAC/B,CAAA;AACD,EAAA,uBACE9C,eAAC,oBAAA,EAAA,EAAsB,GAAG,OAAQ,GAAG,KAAA,EAClC,gBAAM,QAAA,EACT,CAAA;AAEJ","file":"index.js","sourcesContent":["import { Divider, Flex, Text } from \"@orderly.network/ui\";\nimport { FC } from \"react\";\nimport { TitleConfig } from \"./title.script\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const Title: FC<TitleConfig> = (props) => {\n const { title, subtitle, content, docOpenOptions } = props;\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-title\"\n p={6}\n direction={\"column\"}\n itemAlign={\"start\"}\n gap={4}\n className=\"oui-bg-base-9 oui-font-semibold\"\n r={\"2xl\"}\n width={\"100%\"}\n >\n {title || <Text size=\"lg\">{t(\"common.tradingRewards\")}</Text>}\n <Divider intensity={8} className=\"oui-w-full\" />\n <Flex direction={\"column\"} itemAlign={\"start\"} gap={1}>\n {subtitle || (\n <Text size=\"base\">\n {t(\"tradingRewards.subtitle\", {\n brokerName: props.brokerName,\n })}\n </Text>\n )}\n\n {content || <MultiLineText docOpenOptions={docOpenOptions} />}\n </Flex>\n </Flex>\n );\n};\n\nconst MultiLineText: FC<{\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n}> = (props) => {\n const { t } = useTranslation();\n\n // const clickableParts = [\n // {\n // content: \"Learn more here\",\n // isLink: true,\n // },\n // // {\n // // content: \"about Orderly Trading rewards Program.\",\n // // isLink: false,\n // // },\n // // {\n // // content: \"Trading rewards Docs\",\n // // isLink: true,\n // // },\n // ];\n // const renderText = () => {\n // return clickableParts.map((item, index) => {\n // return (\n // <span\n // key={index}\n // className={`${\n // item.isLink\n // ? \"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\"\n // : \"\"\n // }`}\n // dangerouslySetInnerHTML={{ __html: item.content }}\n // />\n // );\n // });\n // };\n\n return (\n <div\n className=\"oui-text-sm oui-text-base-contrast-54 oui-font-normal oui-flex oui-gap-1 oui-items-center hover:oui-text-primary-darken oui-text-primary-light oui-cursor-pointer\"\n onClick={() => [\n window.open(\n props.docOpenOptions?.url,\n props.docOpenOptions?.target,\n props.docOpenOptions?.features\n ),\n ]}\n >\n <span className=\"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\">\n {t(\"tradingRewards.learnMore\")}\n </span>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.008 7.995c0-.368.298-.666.666-.666H9.71L7.733 5.331l.937-.936 3.143 3.122c.13.13.195.304.195.479a.67.67 0 0 1-.195.478L8.67 11.596l-.937-.937 1.978-1.998H4.674a.666.666 0 0 1-.666-.666\" />\n </svg>\n </div>\n );\n};\n\nexport default MultiLineText;\n","import React, {\n PropsWithChildren,\n createContext,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n TWType,\n EpochInfoType,\n useEpochInfo,\n useAllBrokers,\n useGetClaimed,\n DistributionId,\n useCurEpochEstimate,\n CurrentEpochEstimate,\n useWalletRewardsHistory,\n WalletRewardsHistoryReturns,\n Brokers,\n useConfig,\n useTradingRewardsStatus,\n StatusInfo,\n} from \"@orderly.network/hooks\";\nimport type { TitleConfig } from \"./title/title.script\";\n\nexport type TradingRewardsState = {\n type: TWType;\n brokerId: string;\n brokerName?: string;\n brokers?: Brokers;\n epochList: EpochInfoType;\n totalOrderClaimedReward: [number | undefined, { refresh: () => void }];\n totalEsOrderClaimedReward: [number | undefined, { refresh: () => void }];\n curEpochEstimate?: CurrentEpochEstimate;\n walletRewardsHistory: WalletRewardsHistoryReturns;\n titleConfig: TitleConfig;\n statusInfo: StatusInfo | undefined;\n showEpochPauseCountdown?: boolean;\n};\n\nexport const TradingRewardsContext = createContext<TradingRewardsState>(\n {} as TradingRewardsState,\n);\n\nexport const TradingRewardsProvider: React.FC<\n PropsWithChildren<{\n type?: TWType;\n titleConfig?: TitleConfig;\n showEpochPauseCountdown?: boolean;\n }>\n> = (props) => {\n const {\n type = TWType.normal,\n showEpochPauseCountdown,\n titleConfig = {\n docOpenOptions: {\n url: \"https://orderly.network/docs/introduction/tokenomics/trading-rewards\",\n target: \"_blank\",\n },\n },\n children,\n } = props;\n\n const brokerId = useConfig(\"brokerId\");\n\n const { statusInfo } = useTradingRewardsStatus(type === TWType.mm);\n const totalOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmOrder : DistributionId.order,\n );\n const totalEsOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmEsOrder : DistributionId.esORder,\n );\n\n const [brokers] = useAllBrokers();\n\n const [curEpochEstimate] = useCurEpochEstimate(type);\n\n const walletRewardsHistory = useWalletRewardsHistory(type);\n\n const epochList = useEpochInfo(type);\n\n const brokerName = useMemo(() => {\n return brokers?.[brokerId];\n }, [brokerId, brokers]);\n\n const memoizedValue = useMemo<TradingRewardsState>(() => {\n return {\n type: type,\n totalOrderClaimedReward,\n totalEsOrderClaimedReward,\n epochList,\n curEpochEstimate,\n walletRewardsHistory,\n titleConfig,\n brokerId,\n brokerName,\n brokers,\n statusInfo,\n showEpochPauseCountdown: showEpochPauseCountdown ?? false,\n };\n }, [\n type,\n totalOrderClaimedReward,\n totalEsOrderClaimedReward,\n epochList,\n curEpochEstimate,\n walletRewardsHistory,\n titleConfig,\n brokerId,\n brokerName,\n brokers,\n statusInfo,\n showEpochPauseCountdown,\n ]);\n\n return (\n <TradingRewardsContext.Provider value={memoizedValue}>\n {children}\n </TradingRewardsContext.Provider>\n );\n};\n\nexport const useTradingRewardsContext = () => {\n return useContext<TradingRewardsState>(TradingRewardsContext);\n};\n","import { ReactNode } from \"react\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type TitleConfig = {\n /// default is `Trading rewards`\n title?: string | ReactNode;\n /// default is `Trade with Orderly’s to earn ORDER.`\n subtitle?: string | ReactNode;\n /// default is `Learn more about Orderly Trading rewards Program in Trading rewards Docs`\n content?: string | ReactNode;\n /// default is { url: 'https://orderly.network/docs/introduction/tokenomics/trading-rewards', target: \"_blank\"}\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n brokerName?: string;\n};\n\nexport const useTitleScript = (): TitleConfig => {\n\n const { titleConfig } = useTradingRewardsContext();\n\n return titleConfig;\n};\n","import React from \"react\";\nimport { useTitleScript } from \"./title.script\";\nimport { Title } from \"./title.ui\";\n\nexport const TitleWidget: React.FC = () => {\n const state = useTitleScript();\n return <Title {...state} />;\n};\n","import { useMemo } from \"react\";\nimport { useAccount, useWalletConnector } from \"@orderly.network/hooks\";\nimport { useAppContext } from \"@orderly.network/react-app\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { RewardsTooltipProps } from \"./rewardsTooltip\";\n\nexport const useCurEpochScript = () => {\n const {\n epochList,\n curEpochEstimate: estimate,\n brokerId,\n brokerName,\n statusInfo,\n showEpochPauseCountdown,\n } = useTradingRewardsContext();\n const { wrongNetwork, disabledConnect } = useAppContext();\n const { connect } = useWalletConnector();\n const { state } = useAccount();\n\n const hideData = useMemo(() => {\n return (\n state.status <= AccountStatusEnum.SignedIn ||\n wrongNetwork ||\n disabledConnect\n );\n }, [state, wrongNetwork, disabledConnect]);\n\n const notConnected = useMemo(() => {\n return state.status <= AccountStatusEnum.SignedIn || disabledConnect;\n }, [state, disabledConnect]);\n\n const rewardsTooltip = useMemo((): RewardsTooltipProps | undefined => {\n if (typeof estimate === \"undefined\" || estimate === null) return undefined;\n const otherRewards = estimate.rows\n .filter((item) => item.broker_id !== brokerId)\n .reduce((a, b) => a + b.est_r_account, 0);\n const curRewards = Number(estimate.est_r_wallet) - otherRewards;\n return {\n brokerName,\n curRewards,\n otherRewards,\n };\n }, [brokerId, brokerName, estimate]);\n\n return {\n epochList,\n estimate,\n hideData,\n notConnected,\n connect,\n rewardsTooltip: hideData ? undefined : rewardsTooltip,\n statusInfo,\n showEpochPauseCountdown,\n };\n};\n\nexport type CurEpochReturns = ReturnType<typeof useCurEpochScript>;\n","export const EsOrderlyIcon = (props: {className?: string}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2449)\">\n <path\n d=\"M10.0249 19.9361C15.5202 19.9361 19.9751 15.4813 19.9751 9.98589C19.9751 4.49052 15.5202 0.0356445 10.0249 0.0356445C4.52949 0.0356445 0.0746155 4.49052 0.0746155 9.98589C0.0746155 15.4813 4.52949 19.9361 10.0249 19.9361Z\"\n fill=\"url(#paint0_linear_862_2449)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0992 5.0347C14.1824 5.0347 14.2202 4.93253 14.1556 4.88017C13.0272 3.96625 11.59 3.41876 10.0249 3.41876C8.4598 3.41876 7.02258 3.96625 5.89428 4.88017C5.82963 4.93253 5.86743 5.0347 5.95063 5.0347H14.0992ZM7.2658 11.6648C7.34763 11.6648 7.42329 11.707 7.47028 11.7739C8.03421 12.5781 8.96819 13.1038 10.025 13.1038C11.0817 13.1038 12.0156 12.5781 12.5796 11.7739C12.6266 11.707 12.7022 11.6648 12.7841 11.6648H16.2198C16.2985 11.6648 16.3559 11.7395 16.334 11.8151C15.5419 14.5521 13.0171 16.5531 10.0249 16.5531C7.03275 16.5531 4.50795 14.5521 3.71578 11.8151C3.6939 11.7395 3.75127 11.6648 3.83 11.6648H7.2658ZM12.335 7.8919C12.3825 7.94426 12.4493 7.97581 12.5199 7.97581H16.114C16.1955 7.97581 16.2533 7.89653 16.2264 7.81972C15.9727 7.0936 15.5951 6.42564 15.119 5.84118C15.0743 5.78631 15.007 5.75526 14.9361 5.75526H5.11354C5.04279 5.75526 4.97543 5.78631 4.93075 5.84118C4.4546 6.42564 4.07701 7.0936 3.82337 7.81972C3.79653 7.89653 3.8543 7.97581 3.93567 7.97581H7.52983C7.60053 7.97581 7.66725 7.94426 7.71477 7.8919C8.28522 7.263 9.10892 6.86807 10.0249 6.86807C10.9408 6.86807 11.7646 7.263 12.335 7.8919ZM13.028 10.8273C13.0114 10.8862 13.0549 10.9458 13.116 10.9458H16.4447C16.4894 10.9458 16.5273 10.913 16.5333 10.8688C16.572 10.5798 16.5921 10.285 16.5921 9.98539C16.5921 9.56935 16.5534 9.1623 16.4795 8.76771C16.4716 8.72551 16.4345 8.6952 16.3916 8.6952H13.0042C12.9388 8.6952 12.895 8.763 12.9195 8.82377C13.0636 9.18276 13.1429 9.57477 13.1429 9.98529C13.1429 10.277 13.1029 10.5595 13.028 10.8273ZM6.9338 10.9458C6.99492 10.9458 7.03829 10.8862 7.02183 10.8273C6.94688 10.5595 6.90682 10.277 6.90682 9.98529C6.90682 9.57477 6.98617 9.18276 7.13037 8.82377C7.15477 8.763 7.11101 8.6952 7.04553 8.6952H3.65817C3.61522 8.6952 3.5782 8.72551 3.5703 8.76771C3.49631 9.1623 3.45761 9.56935 3.45761 9.98539C3.45761 10.285 3.47767 10.5798 3.51651 10.8688C3.52246 10.913 3.56045 10.9458 3.60511 10.9458H6.9338Z\"\n fill=\"url(#paint1_linear_862_2449)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"-2.24058\"\n x2=\"10.0249\"\n y2=\"21.2774\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"1\" stopColor=\"#EDE9F4\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"3.41876\"\n x2=\"10.0249\"\n y2=\"16.5531\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2449\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","export const OrderlyIcon = (props: {\n className?: string;\n}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2443)\">\n <path\n d=\"M10.0249 19.9491C15.5202 19.9491 19.9751 15.4942 19.9751 9.99883C19.9751 4.50346 15.5202 0.048584 10.0249 0.048584C4.52949 0.048584 0.0746155 4.50346 0.0746155 9.99883C0.0746155 15.4942 4.52949 19.9491 10.0249 19.9491Z\"\n fill=\"url(#paint0_linear_862_2443)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1556 4.8931C14.2202 4.94547 14.1824 5.04764 14.0992 5.04764H5.95063C5.86743 5.04764 5.82963 4.94547 5.89428 4.8931C7.02258 3.97918 8.4598 3.4317 10.0249 3.4317C11.59 3.4317 13.0272 3.97918 14.1556 4.8931Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.47028 11.7869C7.4233 11.7199 7.34764 11.6777 7.26581 11.6777H3.83C3.75128 11.6777 3.69391 11.7525 3.71579 11.8281C4.50796 14.565 7.03275 16.566 10.0249 16.566C13.0171 16.566 15.5419 14.565 16.334 11.8281C16.3559 11.7525 16.2985 11.6777 16.2198 11.6777H12.7841C12.7022 11.6777 12.6266 11.7199 12.5796 11.7869C12.0156 12.5911 11.0817 13.1167 10.025 13.1167C8.96818 13.1167 8.03421 12.5911 7.47028 11.7869Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.335 7.90476C12.3825 7.95713 12.4493 7.98867 12.5199 7.98867H16.114C16.1955 7.98867 16.2533 7.9094 16.2264 7.83259C15.9727 7.10647 15.5951 6.43851 15.119 5.85405C15.0743 5.79918 15.007 5.76813 14.9361 5.76813H5.11354C5.04278 5.76813 4.97543 5.79918 4.93074 5.85405C4.45459 6.43851 4.07701 7.10647 3.82337 7.83259C3.79652 7.9094 3.85428 7.98867 3.93567 7.98867H7.52982C7.60052 7.98867 7.66725 7.95713 7.71475 7.90476C8.28522 7.27587 9.10892 6.88093 10.0249 6.88093C10.9408 6.88093 11.7646 7.27587 12.335 7.90476Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.116 10.9587C13.0549 10.9587 13.0114 10.8991 13.028 10.8402C13.1029 10.5723 13.1429 10.29 13.1429 9.99822C13.1429 9.5877 13.0636 9.19568 12.9195 8.83669C12.895 8.77593 12.9388 8.70813 13.0042 8.70813H16.3916C16.4345 8.70813 16.4716 8.73843 16.4795 8.78064C16.5534 9.17523 16.5921 9.58228 16.5921 9.99832C16.5921 10.2979 16.572 10.5927 16.5333 10.8816C16.5273 10.9259 16.4894 10.9587 16.4447 10.9587H13.116ZM7.02183 10.8402C7.03829 10.8991 6.99492 10.9587 6.93381 10.9587H3.60511C3.56045 10.9587 3.52246 10.9259 3.51651 10.8816C3.47767 10.5927 3.45761 10.2979 3.45761 9.99832C3.45761 9.58228 3.49631 9.17523 3.5703 8.78064C3.5782 8.73843 3.61523 8.70813 3.65817 8.70813H7.04553C7.11101 8.70813 7.15477 8.77593 7.13037 8.83669C6.98617 9.19568 6.90682 9.5877 6.90682 9.99822C6.90682 10.29 6.94688 10.5723 7.02183 10.8402Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2443\"\n x1=\"10.0249\"\n y1=\"0.0486119\"\n x2=\"10.0249\"\n y2=\"19.9491\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2443\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n };\n ","import React, { FC, useState } from \"react\";\nimport { Flex, Text, Tooltip } from \"@orderly.network/ui\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type RewardsTooltipProps = {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n};\n\nexport const RewardsTooltip: FC<{\n rewardsTooltip?: RewardsTooltipProps;\n children?: React.ReactElement;\n className?: string;\n arrowClassName?: string;\n align?: \"start\" | \"center\" | \"end\";\n}> = (props) => {\n const [open, setOpen] = useState(false);\n const { t } = useTranslation();\n\n const content = (): any => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-leading-[1.5] oui-text-2xs oui-text-base-contrast-80 oui-min-w-[204px]\"\n gap={1}\n >\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">{props.rewardsTooltip?.brokerName}</Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.curRewards, { fix: 2 })}\n </Text>\n </Flex>\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">\n {t(\"tradingRewards.otherOrderlyDex\")}\n </Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.otherRewards, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n );\n };\n\n return (\n <Tooltip\n content={content()}\n align={props.align}\n className={props.className}\n open={open}\n onOpenChange={setOpen}\n arrow={{\n className: props.arrowClassName,\n }}\n delayDuration={100}\n >\n {!!props.children ? (\n React.cloneElement(props.children!, {\n onClick: (e: any) => {\n e.preventDefault();\n setOpen(!open);\n },\n })\n ) : (\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"oui-cursor-pointer\"\n onClick={(e) => {\n e.preventDefault();\n setOpen(!open);\n }}\n >\n <path\n d=\"M10.5 1.678a8.333 8.333 0 1 0-.001 16.667 8.333 8.333 0 0 0 0-16.667m0 4.167a.833.833 0 1 1-.001 1.667.833.833 0 0 1 0-1.667m0 2.5c.46 0 .832.373.832.833v4.167a.833.833 0 0 1-1.666 0V9.178c0-.46.373-.833.833-.833\"\n fill=\"#fff\"\n fillOpacity=\".36\"\n />\n </svg>\n )}\n </Tooltip>\n );\n};\n","import { useState, useEffect, FC, ReactNode, SVGProps, useMemo } from \"react\";\nimport { EpochStatus } from \"@orderly.network/hooks\";\nimport { useTranslation } from \"@orderly.network/i18n\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { Box, Flex, Text, cn } from \"@orderly.network/ui\";\nimport { AuthGuard } from \"@orderly.network/ui-connector\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { CurEpochReturns } from \"./curEpoch.script\";\nimport { RewardsTooltip } from \"./rewardsTooltip\";\n\nexport const CurEpoch: FC<CurEpochReturns> = (props) => {\n const { t } = useTranslation();\n\n const state = props;\n const curEpochInfo = state.epochList?.[1].curEpochInfo;\n const epochList = state.epochList?.[0];\n const startTime = curEpochInfo?.start_time;\n const endTime = curEpochInfo?.end_time;\n const curEpochId = curEpochInfo?.epoch_id;\n const max_reward_amount = curEpochInfo?.max_reward_amount;\n const token = curEpochInfo?.epoch_token;\n\n const isOrder = curEpochInfo\n ? `${curEpochInfo?.epoch_token}`.toLowerCase() === \"order\"\n : undefined;\n\n const pausedEpochTimeDown = useMemo(() => {\n if (!props.showEpochPauseCountdown) {\n return undefined;\n }\n if (!epochList || props.statusInfo?.epochStatus !== EpochStatus.paused) {\n return undefined;\n }\n\n const lastCompletedEpoch = props.statusInfo?.lastCompletedEpoch;\n if (lastCompletedEpoch === undefined) {\n return undefined;\n }\n const nextEpoch = lastCompletedEpoch + 1;\n const epoch = epochList.find((item: any) => item.epoch_id === nextEpoch);\n return epoch?.start_time;\n }, [props.statusInfo?.epochStatus, epochList]);\n\n const showPauseCountdown = useMemo(() => {\n return (\n props.statusInfo?.epochStatus === EpochStatus.paused &&\n pausedEpochTimeDown\n );\n }, [props.statusInfo?.epochStatus, pausedEpochTimeDown]);\n\n if (props.statusInfo?.epochStatus !== EpochStatus.active) {\n return (\n <Flex\n id=\"oui-tradingRewards-home-currentEpoch\"\n r={\"2xl\"}\n className=\"oui-bg-base-9 oui-font-semibold oui-p-10\"\n width={\"100%\"}\n height={\"100%\"}\n direction={\"column\"}\n // justify={\"stretch\"}\n itemAlign={\"stretch\"}\n >\n <Flex\n gap={2}\n direction={\"column\"}\n justify={\"center\"}\n itemAlign={\"center\"}\n className=\"oui-size-full\"\n >\n {showPauseCountdown ? (\n <Flex\n gap={2}\n direction={\"column\"}\n justify={\"center\"}\n itemAlign={\"center\"}\n >\n <Text className=\"oui-text-base-contrast-54 oui-text-sm\">\n {t(\"tradingRewards.epochPauseCountdown.title\")}\n </Text>\n <Countdown targetTimestamp={pausedEpochTimeDown} isStandalone />\n </Flex>\n ) : (\n <Flex\n className=\"oui-text-base-contrast-54 oui-text-sm oui-text-center\"\n justify={\"center\"}\n itemAlign={\"center\"}\n >\n {props.statusInfo?.epochStatus === EpochStatus.paused\n ? t(\"tradingRewards.eopchStatus.pause\")\n : t(\"tradingRewards.eopchStatus.ended\")}\n </Flex>\n )}\n {props.statusInfo?.epochStatus === EpochStatus.paused && (\n <div\n className={cn(\n \"oui-w-full\",\n showPauseCountdown ? \"oui-mt-2\" : \"oui-mt-0\",\n )}\n >\n <TwitterLInk />\n </div>\n )}\n </Flex>\n </Flex>\n );\n }\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-currentEpoch\"\n r={\"2xl\"}\n className=\"oui-bg-base-9 oui-font-semibold\"\n width={\"100%\"}\n height={\"100%\"}\n direction={\"column\"}\n // justify={\"stretch\"}\n itemAlign={\"stretch\"}\n >\n <Countdown targetTimestamp={endTime} />\n <Flex p={6} direction={\"column\"} gap={4} className=\"oui-h-full\">\n <Flex direction={\"row\"} gap={3} width={\"100%\"} justify={\"around\"}>\n <Statics\n title={t(\"tradingRewards.epoch\")}\n highLight={curEpochId ? `${curEpochId}` : \"--\"}\n text={\n startTime && endTime\n ? `${getDate(startTime)} - ${getDate(endTime)}`\n : \"\"\n }\n />\n <Statics\n title={t(\"tradingRewards.epochRewards\")}\n highLight={commifyOptional(max_reward_amount, { fix: 0 })}\n text={token}\n />\n </Flex>\n <EstRewards\n isOrder={isOrder}\n direction={state.notConnected ? \"row\" : \"column\"}\n justify={state.notConnected ? \"between\" : \"center\"}\n hideData={state.hideData}\n estRewards={state.hideData ? \"--\" : props.estimate?.est_r_wallet}\n rewardsTooltip={props.rewardsTooltip}\n background={\n state.notConnected\n ? \"linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%)\"\n : \"linear-gradient(0deg, #2D0061 2.62%, #BD6BED 86.5%)\"\n }\n />\n {/* {state.notConnected && (\n <Button\n variant=\"gradient\"\n fullWidth\n onClick={(e) => {\n e.stopPropagation();\n state.connect();\n }}\n >\n Connect wallet\n </Button>\n )} */}\n\n <div className=\"oui-w-full\">\n <AuthGuard\n status={AccountStatusEnum.SignedIn}\n buttonProps={{ fullWidth: true }}\n >\n <></>\n </AuthGuard>\n </div>\n </Flex>\n </Flex>\n );\n};\n\nconst EstRewards: FC<{\n isOrder?: boolean;\n estRewards?: number | string;\n direction: \"row\" | \"column\";\n justify: \"center\" | \"between\";\n background: string;\n hideData: boolean;\n rewardsTooltip:\n | {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n }\n | undefined;\n}> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n direction={props.direction}\n gap={2}\n py={4}\n px={6}\n width={\"100%\"}\n r=\"xl\"\n itemAlign={\"center\"}\n justify={props.justify}\n style={{\n background: props.background,\n }}\n className=\"oui-flex-1 oui-h-full\"\n >\n <Text className=\"oui-text-base xl:oui-text-lg oui-text-base-contrast-54\">\n {t(\"tradingRewards.myEstRewards\")}\n </Text>\n <Flex direction={\"row\"} gap={3}>\n {props.isOrder == true && (\n <OrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n {props.isOrder == false && (\n <EsOrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n <Text\n children={commifyOptional(props.estRewards, { fix: 2 })}\n className=\"oui-text-xl md:oui-text-2xl xl:oui-text-[32px]\"\n />\n {props.rewardsTooltip && (\n <RewardsTooltip rewardsTooltip={props.rewardsTooltip} />\n )}\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n highLight?: string;\n text?: string;\n}> = (props) => {\n const { title, highLight, text } = props;\n return (\n <Flex\n // px={1}\n py={2}\n justify={\"between\"}\n direction={\"column\"}\n className=\"flex-1\"\n gap={2}\n >\n <Text\n className={cn(\n \"oui-text-base-contrast-54\",\n // font size\n \"oui-text-xs md:oui-text-sm xl:oui-text-base\",\n /// leading\n \"oui-leading-[20px] xl:oui-leading-[24px]\",\n )}\n >\n {title}\n </Text>\n <Flex direction={\"row\"} gap={1} itemAlign={\"end\"} justify={\"center\"}>\n <Text.gradient\n color=\"brand\"\n angle={90}\n className=\"oui-text-base md:oui-text-lg lg:oui-text-xl xl:oui-text-2xl\"\n >\n {highLight}\n </Text.gradient>\n <Text\n intensity={80}\n className=\"oui-mb-[3px] oui-text-2xs md:oui-text-xs xl:oui-text-sm\"\n >\n {text}\n </Text>\n </Flex>\n </Flex>\n );\n};\n\nconst Countdown: FC<{\n targetTimestamp?: number;\n isStandalone?: boolean;\n}> = (props) => {\n const { targetTimestamp, isStandalone } = props;\n const { t } = useTranslation();\n const [timeLeft, setTimeLeft] = useState({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n if (typeof targetTimestamp === \"undefined\") return;\n const now = new Date().getTime();\n const distance = targetTimestamp - now;\n\n if (distance < 0) {\n clearInterval(intervalId as unknown as number);\n setTimeLeft({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n } else {\n const days = Math.floor(distance / (1000 * 60 * 60 * 24));\n const hours = Math.floor(\n (distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60),\n );\n const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((distance % (1000 * 60)) / 1000);\n\n setTimeLeft({ days, hours, minutes, seconds });\n }\n }, 1000);\n\n return () => clearInterval(intervalId as unknown as number);\n }, [targetTimestamp]);\n\n const num = (value: string) => {\n return (\n <Text className=\"oui-text-sm oui-text-base-contrast md:oui-text-base lg:oui-text-lg \">\n {value}\n </Text>\n );\n };\n\n return (\n <Box\n className=\"oui-rounded-t-2xl oui-font-semibold oui-text-base-contrast-54\"\n gradient={isStandalone ? undefined : \"neutral\"}\n angle={180}\n width={\"full\"}\n >\n <Flex justify={\"center\"} gap={1}>\n {isStandalone ? null : <span>{`${t(\"common.countdown\")}: `}</span>}\n <Flex\n direction={\"row\"}\n itemAlign={\"end\"}\n gap={1}\n className={cn(\n \"oui-text-2xs md:oui-text-xs lg:oui-text-sm\",\n isStandalone ? \"oui-py-0\" : \"oui-py-[13px]\",\n )}\n >\n {num(`${timeLeft.days}`.padStart(2, \"0\"))}\n <span>D</span>\n {num(`${timeLeft.hours}`.padStart(2, \"0\"))}\n <span>H</span>\n {num(`${timeLeft.minutes}`.padStart(2, \"0\"))}\n <span>M</span>\n {num(`${timeLeft.seconds}`.padStart(2, \"0\"))}\n <span>S</span>\n </Flex>\n </Flex>\n </Box>\n );\n};\n\nconst CountDownNum = (props: { children?: ReactNode }) => {\n return (\n <Text className=\"oui-text-sm oui-text-base-contrast md:oui-text-base lg:oui-text-lg \">\n {props.children}\n </Text>\n );\n};\n\nconst getDate = (timestamp?: number) => {\n if (!timestamp) return \"\";\n\n const date = new Date(timestamp);\n\n // return format(timestamp, \"MMM. d\");\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate();\n return `${month}. ${day}`;\n};\n\nexport const ArrowRightIcon: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <mask\n id=\"mask0_1997_45723\"\n style={{ maskType: \"alpha\" }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"0\"\n width=\"21\"\n height=\"20\"\n >\n <rect x=\"0.5\" width=\"20\" height=\"20\" fill=\"#D9D9D9\" />\n </mask>\n <g mask=\"url(#mask0_1997_45723)\">\n <path\n d=\"M12.0384 14.7111L11.1603 13.8073L14.343 10.6246H4.25V9.37463H14.343L11.1603 6.19192L12.0384 5.28809L16.75 9.99961L12.0384 14.7111Z\"\n // fill=\"black\"\n // fill-opacity=\"0.8\"\n />\n </g>\n </svg>\n);\nconst TwitterLInk: FC = () => {\n const { t } = useTranslation();\n return (\n <Flex\n gap={1}\n itemAlign={\"center\"}\n justify={\"center\"}\n className=\"oui-group oui-cursor-pointer oui-fill-base-contrast-36 oui-text-sm oui-text-base-contrast-36 group-hover:oui-text-base-contrast-80\"\n onClick={() => window.open(\"https://x.com/OrderlyNetwork\")}\n >\n <div className=\"oui-cursor-pointer oui-fill-base-contrast-36 oui-text-sm oui-text-base-contrast-36 group-hover:oui-text-base-contrast-80\">\n {t(\"tradingRewards.eopchStatus.linkDescription\")}\n </div>\n <ArrowRightIcon className=\"oui-text-fill-base-contrast-36 oui-fill-base-contrast-36 group-hover:oui-fill-base-contrast-80\" />\n </Flex>\n );\n};\n","import { FC } from \"react\";\nimport { useCurEpochScript } from \"./curEpoch.script\";\nimport { CurEpoch } from \"./curEpoch.ui\";\n\nexport const CurEpochWidget: FC = () => {\n const state = useCurEpochScript();\n return <CurEpoch {...state} />;\n};\n","export { CurEpochWidget } from \"./curEpoch.widget\";\nexport { CurEpoch } from \"./curEpoch.ui\";\nexport { useCurEpochScript } from \"./curEpoch.script\";\n","import { useCallback, useMemo } from \"react\";\nimport { useDataTap } from \"@orderly.network/react-app\";\nimport { Decimal } from \"@orderly.network/utils\";\nimport { ChainNamespace } from \"@orderly.network/types\";\nimport { ENVType, useGetEnv, useWalletConnector } from \"@orderly.network/hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type AvailableReturns = {\n order?: number;\n esOrder?: number;\n goToClaim?: (e: any) => void;\n};\n\nexport const useAvailableScript = (): AvailableReturns => {\n const {\n totalOrderClaimedReward,\n walletRewardsHistory,\n totalEsOrderClaimedReward,\n } = useTradingRewardsContext();\n const [orderClaimedRewardData] = totalOrderClaimedReward;\n const [esOrderClaimedRewardData] = totalEsOrderClaimedReward;\n\n const { namespace } = useWalletConnector();\n\n const [data] = walletRewardsHistory;\n\n const lifetimeOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_order;\n }\n return data?.wallet_pending_trading_rewards_order;\n }, [namespace, data]);\n\n const lifetimeEsOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_escrow;\n }\n return data?.wallet_pending_trading_rewards_escrow;\n }, [data, namespace]);\n\n const env = useGetEnv();\n const goToClaim = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/tradingRewards`;\n window.open(url, \"_blank\");\n };\n\n const calculateRemainingReward = useCallback(\n (totalReward: string | undefined, claimedReward: number | undefined) => {\n if (\n typeof claimedReward !== \"undefined\" &&\n typeof totalReward !== \"undefined\"\n ) {\n const remainingReward = new Decimal(totalReward)\n .sub(claimedReward)\n .toFixed(18, Decimal.ROUND_DOWN);\n return Number(remainingReward);\n }\n return undefined;\n },\n []\n );\n\n const availableOrder = useMemo(\n () => calculateRemainingReward(lifetimeOrderReward, orderClaimedRewardData),\n [lifetimeOrderReward, orderClaimedRewardData, calculateRemainingReward]\n );\n\n const availableEsOrder = useMemo(\n () =>\n calculateRemainingReward(lifetimeEsOrderReward, esOrderClaimedRewardData),\n [lifetimeEsOrderReward, esOrderClaimedRewardData, calculateRemainingReward]\n );\n\n const orderValue = useDataTap<number | undefined>(availableOrder);\n const esorderValue = useDataTap<number | undefined>(availableEsOrder);\n return {\n order: orderValue ?? undefined,\n esOrder: esorderValue ?? undefined,\n goToClaim,\n };\n};\n","export const JumpIcon = () => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n // fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n >\n <path\n d=\"M11.3275 13.9938C12.8001 13.9938 13.9941 12.7998 13.9941 11.3272V4.66049C13.9941 3.18782 12.8001 1.99382 11.3275 1.99382H4.66081C3.18814 1.99382 1.99414 3.18782 1.99414 4.66049V11.3272C1.99414 12.7998 3.18814 13.9938 4.66081 13.9938H11.3275ZM5.99414 10.6605C5.82347 10.6605 5.64548 10.6031 5.51481 10.4732C5.25481 10.2125 5.25481 9.77516 5.51481 9.51449L8.18148 6.84782L6.66081 5.32715H10.6608V9.32715L9.14014 7.80648L6.47347 10.4732C6.34347 10.6031 6.16481 10.6605 5.99414 10.6605Z\"\n \n />\n </svg>\n );\n};\n","import { Flex, Text } from \"@orderly.network/ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { FC } from \"react\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { AvailableReturns } from \"./availableToClaim.script\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const AvailableToClaim: FC<AvailableReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-availableToClaim\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">\n {t(\"tradingRewards.availableClaim\")}\n </Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.goToClaim}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.claim\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics title=\"ORDER\" value={props.order} />\n <Statics title=\"esORDER\" value={props.esOrder} isEsOrder />\n </Flex>\n </Flex>\n );\n};\n// background: linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%);\n\nconst Statics: FC<{\n title: string;\n isEsOrder?: boolean;\n value?: number;\n}> = (props) => {\n const { value } = props;\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.isEsOrder ? <EsOrderlyIcon /> : <OrderlyIcon />}\n <Text\n className=\"oui-text-sm xl:oui-text-base\"\n children={commifyOptional(value, { fix: 2 })}\n />\n </Flex>\n </Flex>\n );\n};\n","import React from \"react\";\nimport { useAvailableScript } from \"./availableToClaim.script\";\nimport { AvailableToClaim } from \"./availableToClaim.ui\";\n\nexport const AvailableToClaimWidget: React.FC = () => {\n const state = useAvailableScript();\n return <AvailableToClaim {...state} />;\n};\n","\nexport { AvailableToClaimWidget } from \"./availableToClaim.widget\";\nexport { AvailableToClaim } from \"./availableToClaim.ui\";","import { CurrentEpochEstimate } from \"@orderly.network/hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { ENVType, useGetEnv } from \"@orderly.network/hooks\";\nimport { useDataTap } from \"@orderly.network/react-app\";\nimport { Decimal } from \"@orderly.network/utils\";\nimport { useMemo } from \"react\";\n\nexport const useStakeBoosterScript = () => {\n const { curEpochEstimate } = useTradingRewardsContext();\n\n const env = useGetEnv();\n const stakeNow = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/staking`;\n window.open(url, \"_blank\");\n };\n const estimateValue = useDataTap(curEpochEstimate);\n\n const booster = useMemo(() => {\n const estStakeBoost = curEpochEstimate?.est_stake_boost;\n if (typeof estStakeBoost === \"undefined\" || estStakeBoost === null) {\n return undefined;\n }\n\n if (estStakeBoost === 0) return estStakeBoost;\n\n return new Decimal(estStakeBoost)\n .div(new Decimal(10).pow(0.15))\n .toDecimalPlaces(2, Decimal.ROUND_DOWN)\n .toString();\n }, [curEpochEstimate?.est_stake_boost]);\n return {\n curEpochEstimate: estimateValue ?? undefined,\n stakeNow,\n booster,\n };\n};\n\n\nexport type StakeBoosterReturns = ReturnType<typeof useStakeBoosterScript>;","export const RocketIcon = () => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.439 10.5672C14.0868 10.9198 13.7025 11.2403 13.3183 11.5287C13.1902 11.6248 13.1261 11.721 13.0941 11.8812C12.7739 13.1952 12.1015 14.4451 11.0448 15.5027C10.5645 15.9835 10.0522 16.3681 9.47584 16.7206C8.99553 17.009 8.41917 16.5283 8.61129 15.9835C8.93149 15.1502 9.05957 14.2528 9.05957 13.3234C8.99553 13.3234 8.89947 13.3555 8.83543 13.3555C8.06695 12.7145 7.3625 12.0415 6.65805 11.3364C5.95361 10.6313 5.28118 9.89421 4.64078 9.15708C4.64078 9.09299 4.6728 8.99684 4.6728 8.93274C3.74421 8.93274 2.84764 9.09299 2.01512 9.38143C1.50279 9.57372 0.990469 8.99684 1.27865 8.51611C1.63087 7.93923 2.01512 7.42645 2.49542 6.94572C3.55209 5.88811 4.80088 5.21508 6.11371 4.89459C6.24179 4.86255 6.36987 4.7664 6.46593 4.67025C6.75412 4.25362 7.07432 3.90108 7.42654 3.54855C9.92412 1.04874 13.4143 0.183422 16.6484 0.920545C16.8725 0.984642 17.0326 1.14489 17.0967 1.36923C17.8011 4.57411 16.9366 8.06742 14.439 10.5672ZM13.0301 4.95869C12.2616 4.18952 10.9808 4.18952 10.2123 4.95869C9.44382 5.72786 9.44382 7.00982 10.2123 7.77899C10.9808 8.54816 12.2616 8.54816 13.0301 7.77899C13.8306 6.97777 13.8306 5.72786 13.0301 4.95869ZM5.88957 14.7656C5.28118 15.3745 1.53481 17.9385 0.798348 17.2013C0.0618817 16.4642 2.6235 12.7145 3.23189 12.1056C3.84027 11.4966 4.92896 11.5928 5.66543 12.3299C6.40189 13.067 6.49795 14.1567 5.88957 14.7656Z\"\n fill=\"url(#paint0_linear_88_1748)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_88_1748\"\n x1=\"17.3331\"\n y1=\"8.99996\"\n x2=\"0.666504\"\n y2=\"8.99996\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { FC, ReactNode } from \"react\";\nimport { Flex, Text } from \"@orderly.network/ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { RocketIcon } from \"../components/rocket\";\nimport { StakeBoosterReturns } from \"./stakeBooster.script\";\nimport { commify, commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const StakeBooster: FC<StakeBoosterReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-stakeBooster\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">{t(\"tradingRewards.stakeBooster\")}</Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.stakeNow}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.stake\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics\n title={t(\"tradingRewards.avgStakedAmount\")}\n value={props.curEpochEstimate?.est_avg_stake}\n icon={\n <div className=\"oui-flex oui-w-[32px] oui-h-[20px] oui-relative\">\n <div className=\"oui-absolute oui-right-0 oui-top-0\">\n <EsOrderlyIcon />\n </div>\n <div className=\"oui-absolute oui-left-0 oui-top-0 \">\n <OrderlyIcon />\n </div>\n </div>\n }\n />\n <Statics\n title={t(\"tradingRewards.booster\")}\n value={props.booster}\n icon={<RocketIcon />}\n gradient\n />\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n icon: ReactNode;\n value?: number | string;\n gradient?: boolean;\n}> = (props) => {\n const calcValue = commify(props.value || \"--\", 2);\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.icon}\n {props.gradient ? (\n <Text.gradient\n className=\"oui-text-sm xl:oui-text-base\"\n color=\"brand\"\n angle={90}\n >\n {calcValue + (calcValue === \"--\" ? \"\" : \"x\")}\n </Text.gradient>\n ) : (\n <Text className=\"oui-text-sm xl:oui-text-base\">\n {commifyOptional(props.value, { fix: 2 })}\n </Text>\n )}\n </Flex>\n </Flex>\n );\n};\n","import React from \"react\";\nimport { useStakeBoosterScript } from \"./stakeBooster.script\";\nimport { StakeBooster } from \"./stakeBooster.ui\";\n\nexport const StakeBoosterWidget: React.FC = () => {\n const state = useStakeBoosterScript();\n return <StakeBooster {...state} />;\n};\n","\nexport { StakeBoosterWidget } from \"./stakeBooster.widget\";\nexport { StakeBooster } from \"./stakeBooster.ui\";","import { FC } from \"react\";\nimport {\n Box,\n Divider,\n Flex,\n ListView,\n Text,\n DataTable,\n Column,\n} from \"@orderly.network/ui\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { ListType, RewardsHistoryReturns } from \"./rewardsHistory.script\";\nimport { useMediaQuery } from \"@orderly.network/hooks\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { AuthGuardEmpty } from \"@orderly.network/ui-connector\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { RewardsTooltip } from \"../curEpoch/rewardsTooltip\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const RewardHistory: FC<RewardsHistoryReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-rewardHistory\"\n py={4}\n px={3}\n direction={\"column\"}\n gap={2}\n itemAlign={\"start\"}\n r=\"2xl\"\n className=\"oui-bg-base-9 oui-w-full oui-font-semibold oui-tabular-nums\"\n >\n <Text className=\"oui-text-lg oui-px-3\">\n {t(\"tradingRewards.rewardHistory\")}\n </Text>\n <div className=\"oui-border-t-2 oui-border-line-4 oui-w-full\">\n <List {...props} />\n </div>\n </Flex>\n );\n};\n\nconst List: FC<RewardsHistoryReturns> = (props) => {\n const isMobile = useMediaQuery(\"(max-width: 767px)\");\n\n return isMobile ? (\n <ListView\n dataSource={props.originalData}\n renderItem={(item, index) => {\n return <MobileCell data={item} />;\n }}\n className=\"oui-mt-3 oui-max-h-[356px]\"\n />\n ) : (\n <Box px={3}>\n <DesktopList {...props} />\n </Box>\n );\n};\n\nconst MobileCell: FC<{\n data: ListType;\n}> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n console.log(data.rewardsTooltip);\n const isOrder =\n `${data?.info?.epoch_token || data.epoch_token}`.toLowerCase() === \"order\";\n const r_warret = commifyOptional(data.info?.r_wallet, { fix: 2 });\n\n return (\n <Flex\n key={data.epoch_id}\n direction={\"column\"}\n px={4}\n pt={0}\n gap={3}\n className=\"oui-text-base-contrast-80\"\n >\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epoch\")}\n </Text>\n <Text className=\"oui-text-sm\">{`Epoch ${data.epoch_id}`}</Text>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epochRewards\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text className=\"oui-text-sm\">\n {commifyOptional(data.max_reward_amount, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardsEarned\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {r_warret !== \"--\" &&\n (isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />)}\n {!!data.rewardsTooltip ? (\n <RewardsTooltip\n rewardsTooltip={data.rewardsTooltip}\n children={\n <Text className=\"oui-text-sm oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\">\n {r_warret}\n </Text>\n }\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n ) : (\n <Text className=\"oui-text-sm\">{r_warret}</Text>\n )}\n </Flex>\n </Flex>\n </Flex>\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.startDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.start_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.start_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.endDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.end_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Divider className=\"oui-w-full\" />\n </Flex>\n );\n};\n\nconst DesktopList: FC<RewardsHistoryReturns> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n const columns: Column<ListType>[] = [\n {\n title: t(\"tradingRewards.epoch\"),\n dataIndex: \"epoch_id\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value) => {\n return <Text>{`${t(\"tradingRewards.epoch\")} ${value}`}</Text>;\n },\n },\n {\n title: t(\"tradingRewards.rewardHistory.column.start&EndDate\"),\n dataIndex: \"time\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[2px]\"\n justify={\"start\"}\n itemAlign={\"start\"}\n >\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.start_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.start_time).secondPart}\n </Text>\n </Flex>\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.end_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.epochRewards\"),\n dataIndex: \"max_reward_amount\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text>{commifyOptional(value)}</Text>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.rewardsEarned\"),\n dataIndex: \"earned\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n\n let children = (\n <Text\n className={\n record.rewardsTooltip\n ? \"oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\"\n : \"\"\n }\n >\n {commifyOptional(record.info?.r_wallet, { fix: 2 })}\n </Text>\n );\n\n if (record.rewardsTooltip) {\n children = (\n <RewardsTooltip\n rewardsTooltip={record.rewardsTooltip}\n children={children}\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n );\n }\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n {children}\n </Flex>\n );\n },\n },\n ];\n\n return (\n <DataTable\n bordered\n columns={columns}\n loading={props.isLoading}\n dataSource={data}\n emptyView={<AuthGuardEmpty status={AccountStatusEnum.SignedIn} />}\n onRow={(record) => {\n return {\n className: \"oui-h-[59px]\",\n };\n }}\n pagination={props.pagination}\n />\n );\n};\n\nfunction formatTimestamp(timestamp?: number) {\n if (typeof timestamp === \"undefined\")\n return {\n firstPart: \"-\",\n secondPart: \"\",\n };\n const date = new Date(timestamp);\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate().toString().padStart(2, \"0\");\n const year = date.getUTCFullYear();\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const amPm = hours >= 12 ? \"PM\" : \"AM\";\n const formattedHours = (hours % 12).toString().padStart(2, \"0\");\n const formattedMinutes = minutes.toString().padStart(2, \"0\");\n\n // return `${month} ${day}, ${year}_${formattedHours}:${formattedMinutes} ${amPm}`;\n return {\n firstPart: `${month} ${day}, ${year}`,\n secondPart: `${formattedHours}:${formattedMinutes} ${amPm}`,\n };\n}\n","import { useMemo } from \"react\";\nimport {\n EpochInfoItem,\n useAccount,\n useAccountRewardsHistory,\n WalletRewardsItem,\n} from \"@orderly.network/hooks\";\nimport { useAppContext } from \"@orderly.network/react-app\";\nimport { usePagination } from \"@orderly.network/ui\";\nimport { getTimestamp } from \"@orderly.network/utils\";\nimport { RewardsTooltipProps } from \"../curEpoch/rewardsTooltip\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type ListType = EpochInfoItem & {\n info?: WalletRewardsItem;\n state?: string;\n rewardsTooltip?: RewardsTooltipProps;\n};\n\nexport type RewardsHistoryReturns = ReturnType<typeof useRewardsHistoryScript>;\n\nexport const useRewardsHistoryScript = () => {\n const { account } = useAccount();\n const {\n epochList,\n walletRewardsHistory,\n totalOrderClaimedReward,\n brokerId,\n brokerName,\n } = useTradingRewardsContext();\n const epochInfos = epochList?.[0];\n const { isNotStared } = epochList?.[1];\n const [history] = walletRewardsHistory;\n const { wrongNetwork, disabledConnect } = useAppContext();\n\n const { data: accountHistory } = useAccountRewardsHistory(account.address);\n\n const data = useMemo(() => {\n if (isNotStared || disabledConnect) {\n return [];\n }\n const list = [...(epochInfos || [])];\n\n const combineData = list.map((e): ListType => {\n const id = e.epoch_id;\n const index = history?.rows.findIndex((info) => id === info.epoch_id);\n\n let rewardsTooltip: RewardsTooltipProps | undefined = undefined;\n\n if (index !== -1 && !wrongNetwork) {\n const info = history?.rows?.[index as number];\n const _findIndex = accountHistory?.findIndex((item: any) => {\n return item?.epoch_id === e.epoch_id;\n });\n\n if (\n accountHistory !== undefined &&\n _findIndex !== undefined &&\n _findIndex !== -1\n ) {\n // get broker\n const brokerList = accountHistory[_findIndex].broker;\n const curBrokerIndex = brokerList.findIndex(\n (item) => item.broker_id === brokerId,\n );\n const curBroker =\n curBrokerIndex !== -1 ? brokerList[curBrokerIndex] : undefined;\n const curRewards = curBroker?.r_account ?? 0;\n const otherRewards = Math.max(0, (info?.r_wallet ?? 0) - curRewards);\n rewardsTooltip = {\n brokerName,\n curRewards,\n otherRewards,\n };\n }\n return {\n ...e,\n info,\n rewardsTooltip,\n } as ListType;\n }\n return {\n ...e,\n } as ListType;\n });\n\n combineData.sort((a, b) => a.epoch_id - b.epoch_id); // asc\n let [claimedReward] = totalOrderClaimedReward;\n if (typeof claimedReward !== \"undefined\") {\n for (let i = 0; i < combineData.length; i++) {\n const element = combineData[i];\n if (typeof element?.info === \"undefined\") {\n element.state = \"Null\";\n continue;\n }\n const status = element.info?.reward_status;\n if (status === \"Confirmed\") {\n if (claimedReward - element.info?.r_wallet >= 0) {\n element.state = \"Claimed\";\n } else {\n element.state = \"Claimable\";\n }\n claimedReward -= element.info?.r_wallet;\n } else if (status === \"Pending\") {\n element.state = \"Processing\";\n }\n }\n }\n combineData.sort((a, b) => b.epoch_id - a.epoch_id);\n const curDate = getTimestamp();\n return combineData.filter((item) => item.end_time <= curDate);\n }, [\n history,\n epochInfos,\n totalOrderClaimedReward,\n isNotStared,\n wrongNetwork,\n accountHistory,\n disabledConnect,\n ]);\n\n const { pagination } = usePagination();\n\n return {\n data,\n originalData: data,\n pagination,\n isLoading: epochList[1].isLoading,\n };\n};\n","import React from \"react\";\nimport { useRewardsHistoryScript } from \"./rewardsHistory.script\";\nimport { RewardHistory } from \"./rewardsHistory.ui\";\n\nexport const RewardsHistoryWidget: React.FC = () => {\n const state = useRewardsHistoryScript();\n return <RewardHistory {...state} />;\n};\n","export { RewardHistory } from \"./rewardsHistory.ui\";\nexport { RewardsHistoryWidget } from \"./rewardsHistory.widget\";","\nexport * from \"./title\";\nexport * from \"./curEpoch\";\nexport * from \"./availableToClaim\";\nexport * from \"./stakeBooster\";\nexport * from \"./rewardHistory\";\nexport { TradingRewardsProvider} from \"./provider\";\nexport { HomePage } from \"./page\";\n","export { Title } from \"./title.ui\";\nexport { TitleWidget } from \"./title.widget\";\nexport type { TitleConfig } from \"./title.script\";","import React, { useMemo } from \"react\";\nimport { useTradingRewardsStatus, EpochStatus } from \"@orderly.network/hooks\";\nimport { Flex, Box, cn } from \"@orderly.network/ui\";\nimport { TradingRewardsProvider } from \"./provider\";\nimport type { TitleConfig } from \"./title/title.script\";\n\nconst LazyTitleWidget = React.lazy(() =>\n import(\"./title/title.widget\").then((mod) => {\n return { default: mod.TitleWidget };\n }),\n);\n\nconst LazyCurEpochWidget = React.lazy(() =>\n import(\"./curEpoch\").then((mod) => {\n return { default: mod.CurEpochWidget };\n }),\n);\n\nconst LazyAvailableToClaimWidget = React.lazy(() =>\n import(\"./availableToClaim\").then((mod) => {\n return { default: mod.AvailableToClaimWidget };\n }),\n);\n\nconst LazyStakeBoosterWidget = React.lazy(() =>\n import(\"./stakeBooster\").then((mod) => {\n return { default: mod.StakeBoosterWidget };\n }),\n);\n\nconst LazyRewardsHistoryWidget = React.lazy(() =>\n import(\"./rewardHistory\").then((mod) => {\n return { default: mod.RewardsHistoryWidget };\n }),\n);\n\nconst StakeBooster: React.FC = () => {\n const { statusInfo } = useTradingRewardsStatus(false);\n const isStakeBoosterVisible = useMemo(() => {\n return statusInfo?.epochStatus === EpochStatus.active;\n }, [statusInfo?.epochStatus]);\n return isStakeBoosterVisible ? (\n <React.Suspense fallback={null}>\n <LazyStakeBoosterWidget />\n </React.Suspense>\n ) : null;\n};\n\nexport const HomePage: React.FC<{\n titleConfig?: TitleConfig;\n className?: string;\n showEpochPauseCountdown?: boolean;\n}> = (props) => {\n return (\n <TradingRewardsProvider\n titleConfig={props.titleConfig}\n showEpochPauseCountdown={props.showEpochPauseCountdown}\n >\n <Flex\n id=\"oui-tradingRewards-home-page\"\n className={cn(\"oui-h-lvw oui-w-full\", props.className)}\n direction={\"column\"}\n gap={4}\n >\n <React.Suspense fallback={null}>\n <LazyTitleWidget />\n </React.Suspense>\n <Flex className=\"oui-flex oui-size-full oui-flex-col oui-gap-4 2xl:oui-flex-row 2xl:oui-items-stretch\">\n <Box className=\"oui-w-full 2xl:oui-size-auto 2xl:oui-flex-1\">\n <React.Suspense fallback={null}>\n <LazyCurEpochWidget />\n </React.Suspense>\n </Box>\n <Flex className=\"oui-flex oui-w-full oui-flex-col oui-gap-4 lg:oui-flex-row 2xl:oui-flex-1 2xl:oui-flex-col\">\n <React.Suspense fallback={null}>\n <LazyAvailableToClaimWidget />\n </React.Suspense>\n <StakeBooster />\n </Flex>\n </Flex>\n <React.Suspense fallback={null}>\n <LazyRewardsHistoryWidget />\n </React.Suspense>\n </Flex>\n </TradingRewardsProvider>\n );\n};\n","import { useEffect, useMemo, useState } from \"react\";\nimport { useMediaQuery } from \"@orderly.network/hooks\";\nimport type { SideBarProps } from \"@orderly.network/ui-scaffold\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport enum TradingRewardsLeftSidebarPath {\n Trading = \"/rewards/trading\",\n Affiliate = \"/rewards/affiliate\",\n}\n\nexport const useTradingRewardsLayoutScript = (props: {\n current?: string;\n}): SideBarProps & {\n hideSideBar: boolean;\n} => {\n const { t } = useTranslation();\n const [current, setCurrent] = useState(props.current || \"/rewards/affiliate\");\n\n useEffect(() => {\n if (props.current) setCurrent(props.current);\n }, [props.current]);\n\n const items = useMemo(() => {\n return [\n {\n name: t(\"common.trading\"),\n href: TradingRewardsLeftSidebarPath.Trading,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.883 1.5c-.166.01-.393.076-.515.173a2 2 0 0 0-.18.173L.918 6.553a.86.86 0 0 0-.168.475c0 .339.232.543.232.543l7.374 8.633c.005.006.269.301.644.296s.64-.29.644-.296l7.402-8.663s.204-.269.204-.513-.196-.517-.196-.517L13.82 1.848c-.023-.032-.076-.021-.103-.049-.033-.038-.037-.091-.077-.124-.123-.097-.267-.106-.413-.123-.04-.005-.063-.049-.103-.049h-.078zm1.745 1.582h4.744L9 5.795zm-1.675.542 2.294 2.615H3.122zm8.094 0 1.831 2.615h-4.125zM3.328 7.818h4.847v5.672zm6.497 0h4.847c-1.151 1.345-3.422 4.007-4.847 5.672z\"\n // fill=\"url(#a)\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n <defs>\n <linearGradient\n id=\"a\"\n x1=\"17.25\"\n y1=\"9\"\n x2=\".75\"\n y2=\"9\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop\n offset=\"1\"\n stopColor=\"rgb(var(--oui-gradient-brand-start))\"\n />\n </linearGradient>\n </defs>\n </svg>\n ),\n },\n {\n name: t(\"common.affiliate\"),\n href: TradingRewardsLeftSidebarPath.Affiliate,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.625 4.95c0-.746.604-1.35 1.35-1.35h4.05c.746 0 1.35.604 1.35 1.35v4.62L9 12.195 5.625 9.57zm8.624 3.163-.524.407v-.96l.074.05c.193.128.346.302.45.502m-4.42 5.148L14.4 9.705v3.345a1.35 1.35 0 0 1-1.35 1.35h-8.1a1.35 1.35 0 0 1-1.35-1.35V9.705l4.571 3.556c.488.379 1.17.379 1.658 0M4.275 8.52l-.524-.407c.104-.2.257-.374.45-.503l.074-.049zm0-2.581V4.95a2.7 2.7 0 0 1 2.7-2.7h4.05a2.7 2.7 0 0 1 2.7 2.7v.989l.823.548a2.7 2.7 0 0 1 1.202 2.247v4.316a2.7 2.7 0 0 1-2.7 2.7h-8.1a2.7 2.7 0 0 1-2.7-2.7V8.734a2.7 2.7 0 0 1 1.202-2.247zM9 6.089l.111-.118.005-.005a1.08 1.08 0 0 1 1.58.004 1.223 1.223 0 0 1 0 1.668l-1.515 1.62-.004.004c-.1.102-.26.1-.358-.004l-1.516-1.62a1.223 1.223 0 0 1 0-1.668l.004-.004a1.08 1.08 0 0 1 1.58.004z\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n </svg>\n ),\n },\n ];\n }, [t]);\n\n const hideSideBar = useMediaQuery(\"(max-width: 768px)\");\n\n return {\n items,\n current,\n hideSideBar,\n // open: sideOpen,\n // onOpenChange(open) {\n // setSideOpen(open);\n // },\n onItemSelect: (item) => {\n // @ts-ignore\n setCurrent(item.href);\n },\n };\n};\n","import React, { PropsWithChildren } from \"react\";\nimport omit from \"ramda/es/omit\";\nimport { cn } from \"@orderly.network/ui\";\nimport { Scaffold, SideBarProps } from \"@orderly.network/ui-scaffold\";\nimport { ScaffoldProps } from \"@orderly.network/ui-scaffold\";\n\nexport type TradingRewardsLayoutProps = ScaffoldProps & {\n hideSideBar?: boolean;\n items?: SideBarProps[\"items\"];\n};\n\nexport const TradingRewardsLayout: React.FC<\n PropsWithChildren<TradingRewardsLayoutProps>\n> = (props) => {\n const { children, classNames, ...rest } = props;\n return (\n <Scaffold\n leftSidebar={null}\n routerAdapter={props.routerAdapter}\n classNames={{\n ...classNames,\n content: classNames?.content,\n topNavbar: cn(\"oui-bg-base-9\", classNames?.topNavbar),\n leftSidebar: cn(\n \"oui-rounded-xl oui-bg-base-9\",\n \"oui-m-3 oui-p-4\",\n \"oui-border oui-border-line\",\n classNames?.leftSidebar,\n ),\n }}\n {...omit([\"leftSideProps\"], rest)}\n >\n {children}\n </Scaffold>\n );\n};\n\n// type LeftSidebarProps = SideBarProps & {\n// routerAdapter?: RouterAdapter;\n// };\n\n// const LeftSidebar: React.FC<LeftSidebarProps> = (props) => {\n// const { t } = useTranslation();\n// const { expanded, setExpand } = useScaffoldContext();\n// return (\n// <SideBar\n// title={t(\"tradingRewards.rewards\")}\n// {...props}\n// open={expanded}\n// onOpenChange={(open) => setExpand(open)}\n// onItemSelect={(a) => {\n// props.onItemSelect?.(a);\n// props.routerAdapter?.onRouteChange?.({\n// href: a.href || \"\",\n// name: a.name,\n// });\n// }}\n// />\n// );\n// };\n","import { FC, PropsWithChildren } from \"react\";\nimport { ScaffoldProps } from \"@orderly.network/ui-scaffold\";\nimport { useTradingRewardsLayoutScript } from \"./layout.script\";\nimport { TradingRewardsLayout } from \"./layout.ui\";\n\nexport const TradingRewardsLayoutWidget: FC<\n PropsWithChildren<ScaffoldProps>\n> = (props) => {\n const state = useTradingRewardsLayoutScript({\n current: props.leftSideProps?.current,\n });\n return (\n <TradingRewardsLayout {...state} {...props}>\n {props.children}\n </TradingRewardsLayout>\n );\n};\n"]}
|