{"version":3,"file":"index-legacy.7593ce06.js","sources":["../../../../src/composables/tron/useResourceTypeText.ts","../../../../src/assets/imgs/activity-pc-ch.svg","../../../../src/assets/imgs/activity-pc-en.svg","../../../../src/assets/imgs/activity-imtoken.svg","../../../../src/components/activity/src/Desktop.vue","../../../../src/assets/imgs/arrow-s2.svg","../../../../src/assets/imgs/c2c-sell.png","../../../../src/pages-components/c2c/components/FastTrad.vue","../../../../src/composables/app/getC2cAmountCalculator.ts","../../../../src/pages-components/c2c/components/buy/hooks/useBuy.ts","../../../../src/pages-components/c2c/components/buy/machine/c2cBuyMachine.ts","../../../../src/pages-components/c2c/components/buy/machine/useC2cBuyMachine.ts","../../../../src/components/order-create/src/OrderCreate.vue","../../../../src/pages-components/c2c/components/buy/BuyTnfoConfirmation.vue","../../../../src/pages-components/c2c/components/buy/BuyPopupGather.vue","../../../../src/components/custom-input-number/src/CustomInputNumber.vue","../../../../src/components/check-box/CheckBox.vue","../../../../src/pages-components/c2c/components/buy/BuyPopup.vue","../../../../src/pages-components/c2c/hooks/useMultiSign.ts","../../../../src/pages-components/c2c/hooks/useSell.ts","../../../../src/pages-components/c2c/components/freeze/hooks/useFreeze.ts","../../../../src/pages-components/c2c/components/freeze/FreezePopup.vue","../../../../src/pages-components/c2c/components/sell/machine/c2cSellMachine.ts","../../../../src/pages-components/c2c/components/sell/machine/useC2cSellMachine.ts","../../../../src/pages-components/c2c/components/sell/SellPopup.vue","../../../../src/pages-components/c2c/components/sell/hooks/index.ts","../../../../src/assets/imgs/no-trade.png","../../../../src/pages-components/c2c/components/sell/SelfHelpOrder.vue","../../../../src/pages-components/c2c/components/VoteModal.vue","../../../../src/pages-components/c2c/components/current-order/RightExtra.vue","../../../../src/pages-components/c2c/components/current-order/CurrentOrder.vue","../../../../src/pages-components/c2c/components/history/LatestTable.vue","../../../../src/pages-components/c2c/components/history/RecycleResoure.vue","../../../../src/pages-components/c2c/components/history/AgentTable.vue","../../../../src/pages-components/c2c/components/history/Progress.vue","../../../../src/pages-components/c2c/components/history/CencelOrder.vue","../../../../src/pages-components/c2c/components/history/MineOrderDetail.vue","../../../../src/pages-components/c2c/components/history/BuyTable.vue","../../../../src/pages-components/c2c/components/history/index.vue","../../../../src/pages-components/c2c/index.vue","../../../../src/pages/c2c/index.vue","../../../../src/composables/imtoken/useIsImtoken.ts"],"sourcesContent":["import { TronRes } from '~/utils/tron-v2'\r\n\r\nexport function useResourceTypeText(type: Ref) {\r\n return computed(() => {\r\n return type.value === TronRes.BANDWIDTH ? $t('IgN1EoVRFTDyCVLbFG-oT') : $t('YUG0RoDj9Kcw8PtVRPR9Y')\r\n })\r\n}\r\n","export default \"__VITE_ASSET__49cf4299__\"","export default \"__VITE_ASSET__b16bb195__\"","export default \"__VITE_ASSET__53e41bea__\"","\r\n\r\n\r\n\r\n\r\n","export default \"__VITE_ASSET__c796d0e8__\"","export default \"__VITE_ASSET__82b75fae__\"","\r\n\r\n\r\n\r\n\r\n","import { reactiveComputed } from '@vueuse/core/index'\r\nimport BigNumber, { default as bignumber } from 'bignumber.js';\r\n\r\ninterface ResourceParams {\r\n resourceType: number\r\n rentTimeUnit: 'h' | 'd'\r\n rentDuration: number\r\n}\r\n\r\ninterface DiscountParams {\r\n rentTimeUnit: 'h' | 'd'\r\n rentDuration: number\r\n resourceValue: number | null\r\n resourceType: number\r\n priceInSun: number\r\n\r\n}\r\n\r\n/**\r\n * 资源价格区间,用于输入框限制及输入判断\r\n * @param resourceType TronRes\r\n */\r\nexport function resourcePriceRange(resourceType: Ref) {\r\n const { config } = useAppState()\r\n return reactiveComputed(() => {\r\n const range = {\r\n c2cMinValue: 0,\r\n c2cMaxValue: 0,\r\n }\r\n if (!config.value?.order)\r\n return range\r\n const order = config.value?.order\r\n range.c2cMinValue = unref(resourceType)\r\n ? order.energy_c2c_min_value\r\n : order.bandwidth_c2c_min_value\r\n range.c2cMaxValue = unref(resourceType)\r\n ? order.energy_c2c_max_value\r\n : order.bandwidth_c2c_max_value\r\n\r\n return range\r\n })\r\n}\r\n\r\n/**\r\n * 单价区间\r\n * @param params\r\n */\r\nexport function resourceUnitPrice(params: T) {\r\n const { config } = useAppState()\r\n const resourceType = computed(() => params.resourceType ? 'energy' : 'bandwidth')\r\n return reactiveComputed(() => {\r\n const type = unref(resourceType)\r\n const range = {\r\n c2cMinSun: config.value?.price_c2c[type]!.sun ?? 90, // 最小值\r\n c2cMaxSun: 0,\r\n }\r\n\r\n const source = config.value?.price_c2c[type]\r\n\r\n if (!source)\r\n return range\r\n if (params.rentTimeUnit === 'd') {\r\n if (params.rentDuration === 1)\r\n range.c2cMinSun = source.sun_1d || 0\r\n }\r\n else if (params.rentTimeUnit === 'h') {\r\n if (params.rentDuration === 1)\r\n range.c2cMinSun = source.sun_1h || 0\r\n else if (params.rentDuration === 6)\r\n range.c2cMinSun = source.sun_6h || 0\r\n else if (params.rentDuration === 3)\r\n range.c2cMinSun = source.sun_3h || 0\r\n }\r\n\r\n range.c2cMaxSun = source?.max_sun\r\n\r\n return range\r\n })\r\n}\r\n\r\n/**\r\n * 默认单价\r\n * @param params\r\n */\r\nexport function resourceDefaultPrice(params: T) {\r\n const { config } = useAppState()\r\n const resourceType = computed(() => params.resourceType ? 'energy' : 'bandwidth')\r\n return computed(() => {\r\n const type = resourceType.value.toLowerCase()\r\n // @ts-expect-error\r\n const source = config.value?.price_c2c[type]\r\n if (!source)\r\n return 0\r\n let defaultPriceInSun = source.default_sun\r\n\r\n if (params.rentTimeUnit === 'd') {\r\n if (params.rentDuration === 1)\r\n defaultPriceInSun = source.default_sun_1d\r\n }\r\n else if (params.rentTimeUnit === 'h') {\r\n if (params.rentDuration === 1)\r\n defaultPriceInSun = source.default_sun_1h\r\n else if (params.rentDuration === 6)\r\n defaultPriceInSun = source.default_sun_6h\r\n else if (params.rentDuration === 3)\r\n defaultPriceInSun = source.default_sun_3h\r\n }\r\n return defaultPriceInSun\r\n })\r\n}\r\n\r\n/**\r\n * 计算折扣\r\n * @param params\r\n * todo 折扣类型返回有问题\r\n */\r\nexport function discountResult(params: T) {\r\n return reactiveComputed(() => {\r\n const info = {\r\n fee: bignumber(0),\r\n amount: bignumber(0),\r\n save: bignumber(0),\r\n discount: bignumber(0),\r\n needBurning: bignumber(0),\r\n }\r\n if (!params.priceInSun || !params.resourceValue)\r\n return info\r\n \r\n const day = params.rentTimeUnit === 'h' ? bignumber(1) : bignumber(params.rentDuration)\r\n \r\n const needBurning = params.resourceType\r\n ? bignumber(params.resourceValue).multipliedBy(420).dividedBy(1000000).multipliedBy(day)\r\n : bignumber(1000).dividedBy(1000000).multipliedBy(params.resourceValue).multipliedBy(day);\r\n\r\n info.needBurning = needBurning\r\n info.amount = calcAmount(params)\r\n \r\n // todo 此处将toFixed 改成 BigNumber.ROUND_DOWN 截断\r\n info.save = needBurning.minus(info.amount).isNegative()\r\n ? new BigNumber(0)\r\n : needBurning.minus(info.amount).decimalPlaces(2, BigNumber.ROUND_DOWN);\r\n \r\n const discountFormula = bignumber(100).multipliedBy(bignumber(1).minus(info.amount.dividedBy(needBurning)));\r\n info.discount = discountFormula.isNegative()\r\n ? bignumber(0)\r\n : discountFormula.decimalPlaces(0, BigNumber.ROUND_DOWN);\r\n \r\n\r\n return info\r\n })\r\n}\r\n\r\nfunction calcAmount(params: T) {\r\n let payAmount = bignumber(0)\r\n \r\n switch (params.rentTimeUnit) {\r\n case 'h':\r\n if (params.rentDuration < 1 || params.rentDuration > 23)\r\n break\r\n \r\n payAmount = bignumber((params.resourceValue ?? 0))\r\n .multipliedBy(params.priceInSun)\r\n .dividedBy(1000000)\r\n .multipliedBy(1)\r\n .decimalPlaces(6, BigNumber.ROUND_DOWN);\r\n break;\r\n \r\n case 'd':\r\n \r\n if (params.rentDuration < 1 || params.rentDuration > 30)\r\n break\r\n \r\n payAmount = bignumber((params.resourceValue ?? 0))\r\n .multipliedBy(params.priceInSun)\r\n .dividedBy(1000000)\r\n .multipliedBy(params.rentDuration)\r\n .decimalPlaces(6, BigNumber.ROUND_DOWN);\r\n break;\r\n }\r\n return payAmount\r\n}\r\n","import { createInjectionState, reactiveComputed, useEventBus } from '@vueuse/core'\r\nimport { TronRes, tron } from '~/utils/tron-v2'\r\nimport { EPaymentMethod } from '~/components/pay-type/src/PayType.vue'\r\nimport { imtoken } from '~/utils/imtoken'\r\nimport { useRentalTime } from '~/composables/useRentalTime'\r\nimport { discountResult, resourceDefaultPrice, resourcePriceRange, resourceUnitPrice } from '~/composables/app/getC2cAmountCalculator'\r\nimport { useUserInfo } from '~/composables/app'\r\n\r\ninterface IFormData {\r\n resourceType: number\r\n receiveAddress: string\r\n resourceValue: number | null\r\n priceInSun: number\r\n rentTimeSecond: number\r\n rentTimeUnit: 'h' | 'd'\r\n rentDuration: number\r\n times: number\r\n}\r\nexport const [useBuyProvider, useBuy] = createInjectionState(() => {\r\n const { config } = useAppState()\r\n const { shortcutTime } = useRentalTime('c2c')\r\n const { account, isConnected } = tronComp.useAccountCurrent()\r\n const formData = reactive({\r\n resourceType: TronRes.ENERGY,\r\n receiveAddress: '',\r\n resourceValue: null,\r\n priceInSun: 0,\r\n rentTimeSecond: 259200,\r\n rentTimeUnit: 'd',\r\n rentDuration: 3,\r\n times: 1, // 笔数\r\n })\r\n const fromDataRefs = toRefs(formData)\r\n\r\n const unitPriceRange = resourcePriceRange(fromDataRefs.resourceType)\r\n const priceRange = resourceUnitPrice(formData)\r\n const defaultPriceInSun = resourceDefaultPrice(formData)\r\n const discount = discountResult(formData)\r\n\r\n const buyForm = useAntFormValidator({\r\n resourceType: {\r\n value: fromDataRefs.resourceType,\r\n },\r\n receiveAddress: {\r\n value: fromDataRefs.receiveAddress,\r\n validator(rule, value) {\r\n if (!value)\r\n return Promise.reject($t('koczkm929Fmicnja2sYs4'))\r\n\r\n if (isUnaddressDom.value) {\r\n if (!imtoken.isImToken() && !tron.isAddress(value))\r\n return Promise.reject($t('mbKTfi73xuZvYVdZnac7'))\r\n }\r\n return Promise.resolve()\r\n },\r\n },\r\n resourceValue: {\r\n value: fromDataRefs.resourceValue,\r\n validator(rule, value) {\r\n const type = resourceType.value === 'ENERGY' ? $t('Mqe_hlD_yGPsAMB9oaO1D') : $t('xo7kGD9R2fV50wOIihlhL')\r\n\r\n if (typeof value !== 'number')\r\n return Promise.reject($t('cO4MIzIlIHzj5eWyvgb16', { type }))\r\n\r\n if (!value || value <= 0)\r\n return Promise.reject($t('Z3dE8F8H0GPEYq_juWdf5'))\r\n\r\n if (value < unitPriceRange.c2cMinValue)\r\n return Promise.reject(`${$t('9Air0S8Iviz5hpGdRb9Za')} : ${unitPriceRange.c2cMinValue}`)\r\n\r\n if (value > unitPriceRange.c2cMaxValue)\r\n return Promise.reject(`${$t('onYvOfwpMf8GcNrAc5r4H')} ${unitPriceRange.c2cMaxValue}`)\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n priceInSun: {\r\n value: fromDataRefs.priceInSun,\r\n validator(rule, value) {\r\n if (typeof value !== 'number')\r\n return Promise.reject($t('cw6ImkkTup21CecCdWac'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n rentTimeSecond: {\r\n value: fromDataRefs.rentTimeSecond,\r\n validator(rule, value) {\r\n if (!value)\r\n return Promise.reject($t('dHgidzfd5qiruU6fTpsQ'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n })\r\n\r\n const isPenNumber = ref(false)\r\n\r\n const otherMode = computed(() => !!tron.tronWeb && isConnected.value)\r\n\r\n const changeEnergyUnit = (e: boolean) => {\r\n isPenNumber.value = e\r\n }\r\n\r\n const resourceType = computed(() =>\r\n formData.resourceType ? 'ENERGY' : 'BANDWIDTH',\r\n )\r\n const shortcut = computed(() => resourceType.value === 'ENERGY' ? [50000, 100000, 1000000, 10000000] : [5000, 10000, 50000, 100000])\r\n\r\n const chooseRentDuration = (item?: number) => {\r\n item = item ?? formData.rentTimeSecond\r\n const data = shortcutTime?.find((i: any) => i.value === item)\r\n if (!data)\r\n return\r\n formData.rentTimeSecond = data.value\r\n formData.rentDuration = data.dur\r\n formData.rentTimeUnit = data.unit\r\n formData.priceInSun = defaultPriceInSun.value\r\n buyForm.$form.value?.clearValidate()\r\n }\r\n\r\n const isOpenTTPay = computed(() => config.value?.base.enable_ttpay)\r\n\r\n /** 是否下载有tron钱包插件 */\r\n const isUnaddressDom = computed(() => typeof window.tronWeb === 'object' || imtoken.isImToken())\r\n\r\n const onSubmit = async () => {}\r\n\r\n const onValidate = async () => {}\r\n\r\n const payType = ref(EPaymentMethod.DAPP)\r\n\r\n const paymentMethod = computed(() => {\r\n switch (payType.value) {\r\n case EPaymentMethod.DAPP:\r\n return 'dapp'\r\n case EPaymentMethod.TTPAY:\r\n return 'ttpay'\r\n case EPaymentMethod.BALANCE:\r\n return 'balance'\r\n default:\r\n return 'dapp'\r\n }\r\n })\r\n\r\n const togglePayType = (code: number) => {\r\n payType.value = code\r\n }\r\n const { trxMoney } = useUserInfo()\r\n /** 按钮组显示条件 */\r\n const buttonGroup = reactiveComputed(() => {\r\n return {\r\n walletConnection:\r\n !toValue(isOpenTTPay)\r\n && toValue(isUnaddressDom)\r\n && !toValue(isConnected),\r\n walletConnectionToPay:\r\n toValue(payType) === EPaymentMethod.DAPP\r\n && toValue(isUnaddressDom)\r\n && !toValue(isConnected),\r\n download:\r\n toValue(payType) === EPaymentMethod.DAPP && !toValue(isUnaddressDom),\r\n pay:\r\n toValue(payType) === EPaymentMethod.TTPAY\r\n // eslint-disable-next-line style/no-mixed-operators\r\n || toValue(payType) === EPaymentMethod.BALANCE && (unref(trxMoney) ?? 0) >= toDecimalPlaces(discount.amount, 6)\r\n || (toValue(payType) === EPaymentMethod.DAPP && toValue(isConnected)),\r\n balanceTip: toValue(payType) === EPaymentMethod.BALANCE && (unref(trxMoney) ?? 0) < toDecimalPlaces(discount.amount, 6),\r\n }\r\n })\r\n\r\n const isRentDays = computed(() => formData.rentTimeUnit === 'd' && formData?.rentDuration > 1)\r\n\r\n const paymentAddress = computed(\r\n () => config.value?.wallet?.payment_c2c_address,\r\n )\r\n\r\n const bus = useEventBus('SWITCH-WALLET')\r\n\r\n // 监听钱包切换\r\n bus.on(() => {\r\n formData.receiveAddress = account.address\r\n })\r\n\r\n watchEffect(() => {\r\n formData.priceInSun = defaultPriceInSun.value\r\n })\r\n\r\n watch(isConnected, () => {\r\n formData.receiveAddress = isConnected.value ? account.address : formData.receiveAddress\r\n }, { immediate: true })\r\n\r\n watch(\r\n () => formData.resourceType,\r\n () => {\r\n buyForm.$form.value?.clearValidate()\r\n formData.resourceValue = null\r\n },\r\n )\r\n\r\n return {\r\n shortcut,\r\n changeEnergyUnit,\r\n unitPriceRange,\r\n priceRange,\r\n shortcutTime,\r\n defaultPriceInSun,\r\n formData,\r\n buyForm,\r\n chooseRentDuration,\r\n discount,\r\n onSubmit,\r\n isOpenTTPay,\r\n isUnaddressDom,\r\n onValidate,\r\n togglePayType,\r\n payType,\r\n buttonGroup,\r\n paymentAddress,\r\n paymentMethod,\r\n isRentDays,\r\n isPenNumber,\r\n otherMode,\r\n }\r\n})\r\n\r\ninterface TDiscount {\r\n fee: number\r\n amount: number\r\n save: number\r\n discount: number\r\n}\r\nexport type { TDiscount }\r\n","import { createMachine } from 'xstate'\r\nimport type { TDiscount } from '../hooks/useBuy'\r\n\r\ninterface IContext {\r\n formData: any\r\n payType: number\r\n paymentAddress: string | undefined\r\n discountInfo: TDiscount\r\n toAddress: string\r\n paymentUrl: string\r\n}\r\n\r\nexport const machine = createMachine({\r\n id: 'c2cBuyMachine',\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'confirm',\r\n cond: 'isPc',\r\n },\r\n on: {\r\n OPEN: {\r\n target: 'confirm',\r\n },\r\n },\r\n },\r\n 'confirm': {\r\n on: {\r\n CLOSE: {\r\n target: 'idle',\r\n },\r\n BUY: {\r\n target: 'info-confirm',\r\n actions: {\r\n type: 'setInfo',\r\n },\r\n },\r\n },\r\n },\r\n 'info-confirm': {\r\n on: {\r\n PAY: [\r\n {\r\n target: 'tronlink',\r\n cond: 'isTronlink',\r\n internal: false,\r\n },\r\n {\r\n target: 'TTpay',\r\n cond: 'isTtpay',\r\n internal: false,\r\n },\r\n {\r\n target: 'Balance',\r\n cond: 'isBalance',\r\n },\r\n ],\r\n CLOSE: {\r\n target: 'confirm',\r\n },\r\n },\r\n },\r\n 'tronlink': {\r\n entry: {\r\n type: 'setInfo',\r\n },\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'tronlink-order-precreating',\r\n },\r\n },\r\n 'tronlink-order-precreating': {\r\n invoke: {\r\n src: 'precreateTronlinkOrder',\r\n id: 'precreateTronlinkOrder',\r\n onDone: [\r\n {\r\n target: 'tronlink-create-order',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.confirm',\r\n actions: {\r\n type: 'requestError',\r\n },\r\n },\r\n ],\r\n },\r\n tags: ['request', 'tronlink-request'],\r\n },\r\n 'tronlink-create-order': {\r\n invoke: {\r\n src: 'createTronlinkOrder',\r\n id: 'createTronlinkOrder',\r\n onDone: [\r\n {\r\n target: 'tronlink-query-order',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.confirm',\r\n actions: {\r\n type: 'requestError',\r\n },\r\n },\r\n ],\r\n },\r\n tags: ['request', 'tronlink-request'],\r\n },\r\n 'tronlink-query-order': {\r\n invoke: {\r\n src: 'queryTronlinkOrder',\r\n id: 'invoke-6coj5',\r\n },\r\n tags: ['request', 'tronlink-request', 'querying-tronlink'],\r\n on: {\r\n END: {\r\n target: 'order-results',\r\n },\r\n },\r\n },\r\n 'order-results': {\r\n on: {\r\n OK: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n 'TTpay': {\r\n entry: {\r\n type: 'setInfo',\r\n },\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'ttpay-create-order',\r\n },\r\n },\r\n 'ttpay-create-order': {\r\n invoke: {\r\n src: 'createTtpayOrder',\r\n id: 'createTtpayOrder',\r\n onDone: [\r\n {\r\n target: 'ttpay-query-order',\r\n actions: [\r\n {\r\n type: 'toPayment',\r\n },\r\n {\r\n type: 'setPayment',\r\n },\r\n ],\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.confirm',\r\n actions: {\r\n type: 'requestError',\r\n },\r\n },\r\n ],\r\n },\r\n tags: ['request', 'ttpay-request'],\r\n },\r\n 'ttpay-query-order': {\r\n invoke: {\r\n src: 'queryTtpayOrder',\r\n id: 'invoke-5co6c',\r\n },\r\n tags: ['request', 'ttpay-request', 'querying-ttpay'],\r\n on: {\r\n END: {\r\n target: 'order-results',\r\n },\r\n STOP: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n KEEP: {\r\n actions: {\r\n type: 'toPayment',\r\n },\r\n internal: true,\r\n },\r\n },\r\n },\r\n 'order-results': {\r\n on: {\r\n OK: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n 'Balance': {\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'balance-create-order',\r\n },\r\n },\r\n 'balance-create-order': {\r\n invoke: {\r\n src: 'createBalanceOrder',\r\n id: 'createBalanceOrder',\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.info-confirm',\r\n },\r\n ],\r\n onDone: [\r\n {\r\n target: 'order-results',\r\n },\r\n ],\r\n },\r\n tags: [\r\n 'request',\r\n 'balance-request',\r\n ],\r\n },\r\n 'order-results': {\r\n on: {\r\n OK: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n },\r\n schema: {\r\n events: {} as\r\n | {\r\n type: 'PAY'\r\n formData: any\r\n paymentAddress: string\r\n discountInfo: any\r\n payType: number\r\n toAddress: string\r\n data: any\r\n paymentMethod: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'OPEN'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'CLOSE'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n } | {\r\n type: 'BUY'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'END'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'OK'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'KEEP'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n } | {\r\n type: 'STOP'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n },\r\n },\r\n predictableActionArguments: true,\r\n preserveActionOrder: true,\r\n context: ({} as unknown) as IContext,\r\n tsTypes: {} as import('./c2cBuyMachine.typegen').Typegen0,\r\n})\r\n","import {\r\n createInjectionState,\r\n reactiveComputed,\r\n useTimeoutPoll,\r\n} from '@vueuse/core'\r\nimport { actions } from 'xstate'\r\nimport { useMachine } from '@xstate/vue'\r\nimport { snakeCase } from 'lodash'\r\nimport { useAppBreakpoints } from '@peng_kai/theme/vue/index'\r\nimport { machine as c2cBuylMachine } from './c2cBuyMachine'\r\nimport { tron } from '~/utils/tron-v2'\r\nimport { extractContentInBrackets, jumpCompatible } from '~/utils'\r\nimport { formatTronErrorMessage } from '~/utils/tron-v2/tronError'\r\n\r\nexport const [useC2cBuyMachineProvide, useC2cBuyMachine] = createInjectionState(\r\n () => {\r\n const queryTronlinkOrder = ref()\r\n const queryTtpayOrder = ref()\r\n const rentalInformation = ref()\r\n const bp = useAppBreakpoints()\r\n const { account } = tronComp.useAccountCurrent()\r\n\r\n const machine = useMachine(c2cBuylMachine, {\r\n actions: {\r\n // todo tron的提示和api请求的提示不应该放一起的,这里不走tronError 错误处理,后期需要统一\r\n requestError: (ctx, ev) => {\r\n if (ev.data instanceof Error) {\r\n if (ev.data.message.includes('balance is not sufficient') || ev.data.message.includes('Tapos check error') || ev.data.message.includes('Account resource insufficient error'))\r\n aMessage.error($t('tm41OUsNwS4B7IkB1jey'))\r\n else if (ev.data.message.includes('Confirmation declined by user') || ev.data.message.includes('cancel') || ev.data.message.includes('cancle') || ev.data.message.includes('取消') || ev.data.message.includes('拒绝'))\r\n aMessage.error($t('Hk5eWgjl88eEeU0VPuaRz'))\r\n else if (ev.data.message.includes('Validate TransferContract error, no OwnerAccount'))\r\n aMessage.error($t('fiNURjHwnMnPYh48lYi'))\r\n else if (ev.data.message.includes('does not exist'))\r\n aMessage.error(`${extractContentInBrackets(ev.data.message)} ${$t('AUdgXSOOMymyhIWK9Mg1A')}`)\r\n else\r\n aMessage.error(ev.data.message)\r\n }\r\n },\r\n\r\n toPayment: (ctx, ev) => {\r\n const { data } = ev as any\r\n if (ev.type === 'KEEP') {\r\n if (bp.ltLaptop)\r\n location.href = ctx.paymentUrl\r\n else\r\n window.open(ctx.paymentUrl, '_blank')\r\n }\r\n else if (ev.type === 'done.invoke.createTtpayOrder') {\r\n jumpCompatible($t('rVh4iCmGnClYuxNyVNn6', { url: data.payment_url, href: encodeURIComponent(window.location.href) }))\r\n }\r\n },\r\n\r\n setPayment: actions.assign((ctx, ev) => {\r\n const link\r\n = `${ev.data?.payment_url\r\n }&return_url=${\r\n encodeURIComponent(window.location.href)}`\r\n return {\r\n paymentUrl: link,\r\n }\r\n }),\r\n\r\n setInfo: actions.assign((ctx, ev) => {\r\n if (ev.type === 'BUY') {\r\n rentalInformation.value = ev\r\n return {\r\n formData: ev.formData,\r\n paymentAddress: ev.paymentAddress,\r\n discountInfo: ev.discountInfo,\r\n toAddress: ev.toAddress,\r\n }\r\n }\r\n\r\n if (ev.type === 'PAY') {\r\n return {\r\n toAddress: ev.toAddress,\r\n }\r\n }\r\n\r\n return {}\r\n }),\r\n },\r\n services: {\r\n /** dapp支付流程 开始 */\r\n precreateTronlinkOrder: async (ctx, ev) => {\r\n try {\r\n const params = {\r\n amount: toDecimalPlaces(ctx.discountInfo.amount, 6),\r\n toAddress: ctx.paymentAddress,\r\n fromAddress: ctx.toAddress,\r\n }\r\n const res = await tron.payTRXServerBroadcast(params)\r\n\r\n if (res)\r\n return res\r\n }\r\n catch (e) {\r\n // 兼容imtoken取消时不一样的返回信息\r\n const msg = formatTronErrorMessage(e)\r\n throw new Error(msg)\r\n }\r\n },\r\n createTronlinkOrder: async (ctx, ev) => {\r\n try {\r\n const data:\r\n | Api.GetParam['requestBody']\r\n | { [key: string]: string | number } = {}\r\n\r\n for (const key in ctx.formData)\r\n data[snakeCase(key)] = ctx.formData[key]\r\n\r\n data.signed_txn = ev.data\r\n data.resource_value = Number(data.resource_value)\r\n\r\n return await apis.orderCreateC2C({\r\n requestBody: data,\r\n }, { errorMessageMode: 'none' })\r\n }\r\n catch (e) {\r\n throw new Error(e.msg)\r\n }\r\n },\r\n queryTronlinkOrder: (ctx, ev) => async (callback) => {\r\n let second = 0\r\n while (second <= 15) {\r\n try {\r\n await sleep(2000)\r\n second++\r\n const res = await apis.orderQuery(\r\n {\r\n order_no: ev.data.order_no,\r\n trx_address: ev.data.pay_address,\r\n },\r\n { errorMessageMode: 'none' },\r\n )\r\n if (res) {\r\n queryTronlinkOrder.value = {\r\n code: res.status,\r\n status: 'success',\r\n }\r\n callback({ type: 'END' })\r\n break\r\n }\r\n }\r\n catch (e) {\r\n if (e.code !== 17019) {\r\n // 其他异常\r\n queryTronlinkOrder.value = {\r\n code: e.code,\r\n status: 'fail',\r\n }\r\n callback({ type: 'END' })\r\n throw new Error('')\r\n }\r\n }\r\n }\r\n },\r\n /** dapp支付流程 结束 */\r\n\r\n /** ttpay支付流程 开始 */\r\n createTtpayOrder: async (ctx, ev) => {\r\n const data:\r\n | Api.GetParam['requestBody']\r\n | { [key: string]: string | number } = {}\r\n\r\n data.pay_amount = toDecimalPlaces(ctx.discountInfo.amount, 6)\r\n\r\n for (const key in ctx.formData)\r\n data[snakeCase(key)] = ctx.formData[key]\r\n\r\n return await apis.ttpayOrderC2C({ requestBody: data }, { errorMessageMode: 'none' })\r\n },\r\n queryTtpayOrder: (ctx, ev) => (callback) => {\r\n const { out_trade_no } = ev.data as any\r\n const startTime = Date.now()\r\n const limtTime = 10 * 60 * 1000\r\n\r\n const { resume, pause } = useTimeoutPoll(async () => {\r\n if (Date.now() - startTime > limtTime) {\r\n pause()\r\n queryTtpayOrder.value = {\r\n code: 0,\r\n status: 'fail',\r\n }\r\n callback({ type: 'END' })\r\n return\r\n }\r\n\r\n // 接口请求和结果处理\r\n const res = await apis.orderQuery(\r\n { order_no: out_trade_no },\r\n {\r\n errorMessageMode: 'none',\r\n resultType: 'api',\r\n checkCode: false,\r\n },\r\n )\r\n if (res.code === 0) {\r\n queryTtpayOrder.value = {\r\n code: res.data?.status,\r\n status: 'success',\r\n }\r\n callback({ type: 'END' })\r\n }\r\n\r\n if (res.code !== 17019 && res.code !== 0) {\r\n queryTtpayOrder.value = {\r\n code: res.code,\r\n status: 'fail',\r\n }\r\n callback({ type: 'END' })\r\n }\r\n }, 2000)\r\n\r\n resume()\r\n return () => pause()\r\n },\r\n /** ttpay支付流程 结束 */\r\n\r\n /** 余额支付流程 开始 */\r\n createBalanceOrder: async (ctx) => {\r\n // 请求接口\r\n try {\r\n const data:\r\n | Api.GetParam['requestBody']\r\n | { [key: string]: string | number } = {}\r\n for (const key in ctx.formData)\r\n data[snakeCase(key)] = ctx.formData[key]\r\n\r\n return await apis.apiOrderCreateOrderByBalance({ requestBody: { ...data, order_type: 2, pay_amount: toDecimalPlaces(ctx.discountInfo.amount, 6) } })\r\n }\r\n catch (e) {\r\n throw new Error(e)\r\n }\r\n },\r\n /** 余额支付流程 结束 */\r\n\r\n },\r\n guards: {\r\n isTronlink: (ctx, ev) => {\r\n return ev.paymentMethod === 'dapp'\r\n },\r\n isTtpay: (context, ev) => {\r\n return ev.paymentMethod === 'ttpay'\r\n },\r\n isBalance: (context, ev) => {\r\n console.log('guards', ev.paymentMethod === 'balance')\r\n return ev.paymentMethod === 'balance'\r\n },\r\n isPc: (context, event) => {\r\n return bp.laptopl\r\n },\r\n },\r\n delays: {},\r\n })\r\n\r\n const states = reactiveComputed(() => {\r\n const s = machine.state.value\r\n\r\n const isConfirm = s.matches('confirm')\r\n const isInfoConfirm = s.matches('info-confirm')\r\n const isIdle = s.matches('idle')\r\n const isTronlinkOrderResults = s.matches('tronlink.order-results')\r\n const isTtpayOrderResults = s.matches('TTpay.order-results')\r\n const isBalanceResults = s.matches('Balance.order-results')\r\n const isTtpayQueryOrder = s.matches('TTpay.ttpay-query-order')\r\n const isRequest = s.hasTag('request')\r\n const isQueryingTtpay = s.hasTag('querying-ttpay')\r\n const isRefresh = s.event.type === 'OK'\r\n const requesting = s.hasTag('tronlink-request') || s.hasTag('ttpay-request') || s.hasTag('balance-request')\r\n\r\n return {\r\n isConfirm,\r\n isInfoConfirm,\r\n isTtpayQueryOrder,\r\n isIdle,\r\n isTronlinkOrderResults,\r\n isTtpayOrderResults,\r\n isRequest,\r\n isQueryingTtpay,\r\n isRefresh,\r\n isBalanceResults,\r\n requesting,\r\n }\r\n })\r\n\r\n return {\r\n machine,\r\n states,\r\n queryTronlinkOrder,\r\n rentalInformation,\r\n queryTtpayOrder,\r\n }\r\n },\r\n)\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n {})\r\n \"\r\n />\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
{{ formData.rentDuration }}
\r\n\r\n \r\n {{\r\n (formData.rentTimeSecond ?? 0) >= 86400\r\n ? $t(\"pTlUvYtDyBk3J0M6SwH8\")\r\n : $t(\"e5EcgLaO2CnOhsQrV3zNt\")\r\n }}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n {{ $t(\"MdLWMNeCJsOrXnrrrWLgX\") }}\r\n \r\n {{ formatAmount(formData.resourceValue, 0) }}\r\n {{ $t(ResourceType[formData.resourceType].label) }}\r\n ,\r\n {{ formData.rentDuration }}\r\n \r\n {{\r\n formData.rentTimeUnit === \"h\"\r\n ? $t(\"SlBOLvhC-SbNV2HiN7_bi\")\r\n : $t(\"sgq3K4HMvzvjpCGigTbMu\")\r\n }}\r\n \r\n \r\n {{\r\n formData.rentTimeUnit === \"h\"\r\n ? $t(\"GRAxQVNTjLwXYfOpY6FRh\")\r\n : $t(\"8zE4c0R_g37KkcLgrn4u0\")\r\n }}\r\n \r\n \r\n
\r\n\r\n
\r\n {{ $t(\"5lDjHyMvhDv34o9QihLy\") }}\r\n \r\n {{ formatAmount(discountInfo.needBurning, 6) }} TRX\r\n {{ formatAmount(discountInfo.amount, 6) }} TRX\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n {{ $t(\"hAns2WaHjEPbTgBxlqXn\") }}\r\n \r\n \r\n {{ $t(\"cT9bJuYfJKoIN0Skkp84T\") }}\r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n\r\n\r\n\r\n","import { createInjectionState } from '@vueuse/core'\r\nimport { tron, tronErrors } from '~/utils/tron-v2'\r\n\r\nexport const [useMultiSignProvider, useMultiSign] = createInjectionState(() => {\r\n const info = reactive({ isOwnerPermission: false, permissionId: 0 })\r\n\r\n const addressMuktiSign = ref('')\r\n\r\n const { account: accountCurrent } = tronComp.useAccountCurrent()\r\n const { account: accountMultiSign } = tronComp.useAccount(\r\n addressMuktiSign,\r\n toRef(accountCurrent, 'chainId'),\r\n )\r\n\r\n /**\r\n * 验证多签是否有权限\r\n */\r\n const onValidatePower = (isMultiSign: boolean | Ref, id: number) => {\r\n if (!toValue(isMultiSign))\r\n return\r\n\r\n info.isOwnerPermission = false\r\n info.permissionId = 0\r\n const {\r\n owner_permission: ownerPermission,\r\n active_permission: activePermission,\r\n } = accountMultiSign\r\n\r\n if (!ownerPermission || !activePermission)\r\n info.isOwnerPermission = false\r\n\r\n ownerPermission?.keys.forEach((i:any) => {\r\n if (i.address === tron.tronWeb?.address.toHex(accountCurrent.address))\r\n info.isOwnerPermission = true\r\n })\r\n\r\n if (!info.isOwnerPermission) {\r\n activePermission?.forEach((i:any) => {\r\n if (\r\n i.keys.some(\r\n (obj: { address: string }) =>\r\n obj.address\r\n === tron.tronWeb?.address.toHex(accountCurrent.address),\r\n )\r\n ) {\r\n if (tron.getPermission(i.operations, id))\r\n info.permissionId = i.id\r\n }\r\n })\r\n\r\n if (!info.permissionId)\r\n throw tronErrors.MULTISIGN_ERROR()\r\n }\r\n }\r\n\r\n const setAddress = (address: string) => {\r\n if (!tron.isAddress(address))\r\n return\r\n addressMuktiSign.value = address\r\n }\r\n\r\n return {\r\n info,\r\n onValidatePower,\r\n setAddress,\r\n }\r\n})\r\n","import { createInjectionState } from '@vueuse/core'\r\n\r\nexport const [useSellProvider, useSell] = createInjectionState((is: Ref, address: Ref) => {\r\n const isMultiSign = ref(is)\r\n const multiSingAddress = ref(address)\r\n const muktiSignResources = reactive({\r\n energy: 0,\r\n bandwidth: 0,\r\n balance: 0,\r\n })\r\n\r\n const { account: accountCurrent } = tronComp.useAccountCurrent()\r\n const { account: accountMultiSign } = tronComp.useAccount(\r\n multiSingAddress,\r\n toRef(accountCurrent, 'chainId'),\r\n )\r\n\r\n const setMultiSingAddress = (address: string) => {\r\n multiSingAddress.value = address\r\n }\r\n\r\n const remaineResource = computed(() => {\r\n const info = {\r\n ENERGY: 0,\r\n BANDWIDTH: 0,\r\n };\r\n\r\n // 只判断当前钱包有没有钱会导致,当前钱包没钱而多签钱包有钱而那不到\r\n const { delegable } = accountCurrent;\r\n const { delegable: delegableMulti } = accountMultiSign;\r\n\r\n if (!delegable && !delegableMulti)\r\n return info;\r\n\r\n const energyUnitPrice = toValue(isMultiSign) ? accountMultiSign.resource.energyUnitPrice : accountCurrent.resource.energyUnitPrice;\r\n const netUnitPrice = toValue(isMultiSign) ? accountMultiSign.resource.netUnitPrice : accountCurrent.resource.netUnitPrice;\r\n\r\n const canDelegatedBalanceForEnergy = toValue(isMultiSign)\r\n ? toRef(muktiSignResources, 'energy')\r\n : toRef(delegable, 'energy');\r\n\r\n info.ENERGY = Math.floor(\r\n (canDelegatedBalanceForEnergy.value ?? 0)\r\n * 10 ** -6,\r\n )\r\n * energyUnitPrice;\r\n\r\n const canDelegatedBalanceForBandwidth = toValue(isMultiSign)\r\n ? toRef(muktiSignResources.bandwidth)\r\n : toRef(delegable, 'bandwidth');\r\n\r\n info.BANDWIDTH = Math.floor(\r\n (canDelegatedBalanceForBandwidth.value ?? 0)\r\n * 10 ** -6,\r\n )\r\n * netUnitPrice;\r\n\r\n info.ENERGY = Math.floor(info.ENERGY ?? 0);\r\n info.BANDWIDTH = Math.floor(info.BANDWIDTH ?? 0);\r\n\r\n return info;\r\n });\r\n\r\n const balance = computed(() => {\r\n return toValue(isMultiSign) ? muktiSignResources.balance : accountCurrent.balanceTrx\r\n })\r\n\r\n watchEffect(() => {\r\n if (accountMultiSign) {\r\n muktiSignResources.energy = accountMultiSign?.delegable?.energy ?? 0\r\n muktiSignResources.bandwidth = accountMultiSign?.delegable?.bandwidth ?? 0\r\n muktiSignResources.balance = accountMultiSign.balanceTrx ?? 0\r\n }\r\n })\r\n\r\n return {\r\n setMultiSingAddress,\r\n remaineResource,\r\n balance,\r\n }\r\n})\r\n","import type { IProps } from '../FreezePopup.vue'\r\nimport type { TronRes } from '~/utils/tron-v2'\r\nimport { tron } from '~/utils/tron-v2'\r\nimport { useResource } from '~/composables/tron'\r\nimport { useMultiSign } from '~/pages-components/c2c/hooks/useMultiSign'\r\nimport { useSellProvider } from '~/pages-components/c2c/hooks/useSell'\r\nimport { formatTronErrorMessage } from '~/utils/tron-v2/tronError'\r\n\r\nconst { resourceType: ResourceType } = useResource()\r\nexport function useFreeze(props: IProps) {\r\n const { orderDetail } = props.detail\r\n const isMultiSign = computed(() => !!props?.detail.multiAddress)\r\n const loading = useBoolean()\r\n const freezeResult = ref(false)\r\n const modalContent = ref('')\r\n const { onValidatePower, info } = useMultiSign()!\r\n const {\r\n remaineResource,\r\n balance,\r\n } = useSellProvider(isMultiSign, toRef(props.detail, 'multiAddress'))\r\n\r\n const { account: accountCurrent, refetch } = tronComp.useAccountCurrent()\r\n const { account: accountMulti, refetch: multiRefetch } = tronComp.useAccount(\r\n toRef(props.detail, 'multiAddress'),\r\n toRef(accountCurrent, 'chainId'),\r\n )\r\n\r\n const title = computed(() => {\r\n const map: { [kye: string]: string } = {\r\n '1_0': $t('RRvYluqPaPRe7eGmbayQY'),\r\n '1_1': $t('jEGkLIlIEyQ-oCW7UVmAB'),\r\n '0_0': $t('GBYT0K-9f4v2Bl8fZvbsB'),\r\n '0_1': $t('n5OmlOh-IeEaUjNkslgT2'),\r\n }\r\n const key = `${toValue(isMultiSign) ? 1 : 0}_${props?.detail.mode}`\r\n return map[key]\r\n })\r\n\r\n const maxTRX = computed(() => {\r\n const trx = ((balance.value ?? 0) / 1000000) - 1\r\n return trx > 0 ? trx : 0\r\n })\r\n\r\n const setMaxTrx = () => {\r\n if (!maxTRX.value)\r\n return\r\n formData.amount = Math.floor(maxTRX.value)\r\n onChange(formData.amount)\r\n }\r\n\r\n const resourceType = computed(() =>\r\n orderDetail?.resource_type ? 'ENERGY' : 'BANDWIDTH',\r\n )\r\n\r\n const freezeInfo = reactive({\r\n availableResource: 0,\r\n needResource: props.detail.sellAmount,\r\n })\r\n\r\n const formData = reactive({\r\n amount: undefined,\r\n resource: 'ENERGY' as 'BANDWIDTH' | 'ENERGY',\r\n })\r\n\r\n const needExchange = computed(() => {\r\n const remaine = toValue(remaineResource)[resourceType.value]\r\n const result\r\n = freezeInfo.needResource - remaine - freezeInfo.availableResource\r\n\r\n return result > 0 ? result : 0\r\n })\r\n\r\n const onChange = (e: any) => {\r\n const { resource } = accountCurrent\r\n const cost\r\n = resourceType.value === 'ENERGY'\r\n ? resource?.energyUnitPrice\r\n : resource?.netUnitPrice\r\n freezeInfo.availableResource = Math.floor(e * cost)\r\n }\r\n\r\n function validator() {\r\n return new Promise((resolve, reject) => {\r\n if (!formData.amount) {\r\n aMessage.info($t('APfc3MeEIDjqXLApadbAz'))\r\n reject()\r\n }\r\n\r\n if ((formData.amount ?? 0) > maxTRX.value) {\r\n aMessage.error(\r\n `${$t('38ytZ0y25yoOxKMOvq1o8')} ${formatAmount(maxTRX.value, 0)} TRX ${$t('OSICXBRWyZAISpFNxEdll')}`,\r\n )\r\n reject()\r\n }\r\n\r\n resolve(true)\r\n })\r\n }\r\n\r\n const onSubmit = async () => {\r\n try {\r\n await validator()\r\n\r\n onValidatePower(isMultiSign, 54)\r\n\r\n loading.setTrue()\r\n\r\n let params: any = {\r\n amount: (formData.amount ?? 0) * 10 ** 6,\r\n resourceType: toValue(resourceType),\r\n address: accountCurrent.address,\r\n }\r\n let res = null\r\n if (toValue(isMultiSign)) {\r\n params = {\r\n ...params,\r\n address: accountMulti.address,\r\n isOwnerPermission: info.isOwnerPermission,\r\n permissionId: info.permissionId,\r\n }\r\n res = await tron.freezeBalanceV2ByMultiSign(params)\r\n }\r\n else {\r\n res = await tron.freezeBalanceV2(params)\r\n }\r\n\r\n tron.fetchCanDelegatedMaxSize(accountCurrent.address, 0 as TronRes)\r\n tron.fetchCanDelegatedMaxSize(accountCurrent.address, 1 as TronRes)\r\n\r\n if (res) {\r\n await refetch()\r\n await multiRefetch()\r\n const typeTxt = params.resourceType === 'ENERGY' ? $t('Mqe_hlD_yGPsAMB9oaO1D') : $t('IgN1EoVRFTDyCVLbFG-oT')\r\n modalContent.value = `${$t('JVJZwWrDZaWCpXUvy7eYn', { amount: formatAmount(params.amount * 10 ** -6, 0) })}\r\n ${$t('NKsQg2au3bN_T6s8bA0tY', { typeTxt })}\r\n ${formatAmount(freezeInfo.availableResource, 0)}`\r\n freezeResult.value = true\r\n }\r\n else {\r\n aMessage.error($t('vXcbCo5Z9Xx0PhQvMopAR'))\r\n }\r\n loading.setFalse()\r\n }\r\n catch (e) {\r\n loading.setFalse()\r\n if (typeof e === 'string') {\r\n if (e.includes('Confirmation declined by user'))\r\n aMessage.error($t('Hk5eWgjl88eEeU0VPuaRz'))\r\n\r\n else if (e.includes('but it is not contained of permission'))\r\n aMessage.error($t('XaVJJSbJsBZJUCo6UjiOh'))\r\n\r\n else if (e.includes('frozenBalance must be more than 1TRX'))\r\n aMessage.error($t('xIc755xgV4BzHc55RSuf'))\r\n\r\n else if (e.includes('TRANSACTION_EXPIRATION_ERROR'))\r\n aMessage.error($t('iEe52eGjGSr0BiehkAtdb'))\r\n else\r\n aMessage.error(e)\r\n }\r\n\r\n if (e instanceof Error) {\r\n const msg = formatTronErrorMessage(e)\r\n aMessage.error(msg)\r\n }\r\n }\r\n }\r\n\r\n return {\r\n isMultiSign,\r\n title,\r\n maxTRX,\r\n setMaxTrx,\r\n freezeInfo,\r\n formData,\r\n needExchange,\r\n onChange,\r\n onSubmit,\r\n resourceType,\r\n loading,\r\n remaineResource,\r\n freezeResult,\r\n modalContent,\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { createMachine } from 'xstate'\r\n\r\ninterface ImultiSignIfo {\r\n isOwnerPermission: boolean\r\n permissionId: number\r\n}\r\n\r\ninterface IContext {\r\n orderDetail: Api.GetDataItem\r\n ownerAddress: string\r\n resourceValue: number\r\n settleAddress: string\r\n frozenBalance: number\r\n skipDuplicateCheck: number\r\n orderPreSubmitCode: number\r\n multiSignIfo: ImultiSignIfo\r\n isMultiSign: Ref | boolean\r\n resourceType: string\r\n lockPeriod: number\r\n}\r\n\r\nexport const machine = createMachine({\r\n id: 'C2cSellMachine',\r\n initial: 'idle',\r\n states: {\r\n idle: {\r\n entry: {\r\n type: 'init',\r\n },\r\n on: {\r\n OPEN: {\r\n target: 'confirm',\r\n },\r\n },\r\n },\r\n confirm: {\r\n tags: 'confirm',\r\n entry: {\r\n type: 'resetting',\r\n },\r\n on: {\r\n CLOSE: {\r\n target: 'idle',\r\n },\r\n SUBMIT: {\r\n target: 'FetchOrderPredelegete',\r\n actions: {\r\n type: 'setInfo',\r\n },\r\n },\r\n DOUBLECHEC: {\r\n target: 'FetchOrderPredelegete',\r\n actions: {\r\n type: 'setInfo',\r\n },\r\n },\r\n },\r\n },\r\n FetchOrderPredelegete: {\r\n invoke: {\r\n src: 'fetchOrderPredelegete',\r\n id: 'fetchOrderPredelegete',\r\n onDone: [\r\n {\r\n target: 'fetchDelegateResourceSign',\r\n cond: 'hasOrderRes',\r\n },\r\n {\r\n target: 'fetchdelegateResourceServerBroadcast',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n cond: 'isConflict',\r\n actions: [\r\n {\r\n type: 'preRequestError',\r\n },\r\n {\r\n type: 'showErrorMessage',\r\n },\r\n ],\r\n internal: false,\r\n },\r\n {\r\n target: 'conflict',\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n fetchDelegateResourceSign: {\r\n invoke: {\r\n src: 'fetchDelegateResourceSign',\r\n id: 'fetchDelegateResourceSign',\r\n onDone: [\r\n {\r\n target: 'orderDelegateC2C',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n actions: {\r\n type: 'showErrorMessage',\r\n },\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n fetchdelegateResourceServerBroadcast: {\r\n invoke: {\r\n src: 'fetchdelegateResourceServerBroadcast',\r\n id: 'fetchdelegateResourceServerBroadcast',\r\n onDone: [\r\n {\r\n target: 'orderDelegateC2C',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n actions: {\r\n type: 'showErrorMessage',\r\n },\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n conflict: {\r\n on: {\r\n OK: {\r\n target: 'idle',\r\n },\r\n },\r\n },\r\n orderDelegateC2C: {\r\n invoke: {\r\n src: 'orderDelegateC2C',\r\n id: 'orderDelegateC2C',\r\n onDone: [\r\n {\r\n target: 'orderQuery',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n cond: 'isConflict',\r\n },\r\n {\r\n target: 'conflict',\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n orderQuery: {\r\n invoke: {\r\n src: 'orderQuery',\r\n id: 'orderQuery',\r\n onDone: [\r\n {\r\n target: 'onShowSellSuccessModal',\r\n actions: {\r\n type: 'orderQuerySuccess',\r\n },\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'onShowSellFailModal',\r\n },\r\n ],\r\n },\r\n tags: ['orderQuerying', 'request'],\r\n },\r\n onShowSellSuccessModal: {\r\n tags: ['sellSuccess', 'orderQueryResult'],\r\n on: {\r\n OK: {\r\n target: 'idle',\r\n },\r\n },\r\n },\r\n onShowSellFailModal: {\r\n tags: ['sellFail', 'orderQueryResult'],\r\n on: {\r\n OK: {\r\n target: 'idle',\r\n },\r\n },\r\n },\r\n },\r\n schema: {\r\n events: {} as\r\n | { type: 'OK' }\r\n | { type: 'OPEN' }\r\n | { type: 'CLOSE' }\r\n | { type: 'DOUBLECHEC', skipDuplicateCheck: number }\r\n | {\r\n type: 'SUBMIT'\r\n orderDetail: Api.GetDataItem\r\n ownerAddress: string\r\n resourceValue: number\r\n settleAddress: string\r\n frozenBalance: number\r\n skipDuplicateCheck: number\r\n multiSignIfo: ImultiSignIfo\r\n isMultiSign: boolean | Ref\r\n resourceType: string\r\n },\r\n },\r\n predictableActionArguments: true,\r\n preserveActionOrder: true,\r\n context: ({} as unknown) as IContext,\r\n tsTypes: {} as import('./c2cSellMachine.typegen').Typegen0,\r\n})\r\n","import { createInjectionState, reactiveComputed } from '@vueuse/core'\r\nimport { actions } from 'xstate'\r\nimport { useMachine } from '@xstate/vue'\r\nimport { machine as c2cSellMachine } from './c2cSellMachine'\r\nimport { TronRes, tron } from '~/utils/tron-v2'\r\n\r\nexport const [\r\n useC2cSellMachineProvide,\r\n useC2cSellMachine,\r\n] = createInjectionState(() => {\r\n const machine = useMachine(c2cSellMachine, {\r\n actions: {\r\n init: actions.assign((ctx, ev) => {\r\n return {\r\n orderPreSubmitCode: 0,\r\n }\r\n }),\r\n resetting: actions.assign((ctx, ev) => {\r\n if (ev.type === 'OPEN') {\r\n return {\r\n orderPreSubmitCode: 0,\r\n }\r\n }\r\n return {}\r\n }),\r\n\r\n showErrorMessage: (context, event: any) => {\r\n const { data } = event\r\n if (event.type === 'error.platform.fetchOrderPredelegete') {\r\n if (event.data.code === 12008 || event.data.code === 12001 || event.data.code === 12006)\r\n return;\r\n else\r\n aMessage.error(data.msg);\r\n }\r\n },\r\n\r\n preRequestError: actions.assign((context, event) => {\r\n return { orderPreSubmitCode: event?.data.code }\r\n }),\r\n\r\n orderQuerySuccess: actions.assign((ctx, ev) => {\r\n return {\r\n orderQueryRes: ev.data,\r\n }\r\n }),\r\n\r\n setInfo: actions.assign((ctx, ev) => {\r\n if (ev.type === 'SUBMIT') {\r\n let lockPeriod = 0\r\n if (ev.orderDetail.rent_time_unit === 'd')\r\n lockPeriod = (ev.orderDetail.rent_duration * 86400) / 3\r\n else if (ev.orderDetail.rent_time_unit === 'h')\r\n lockPeriod = (ev.orderDetail.rent_duration * 3600) / 3\r\n\r\n return {\r\n orderDetail: ev.orderDetail,\r\n ownerAddress: ev.ownerAddress,\r\n resourceValue: ev.resourceValue,\r\n settleAddress: ev.settleAddress,\r\n frozenBalance: ev.frozenBalance,\r\n skipDuplicateCheck: ev.skipDuplicateCheck,\r\n orderPreSubmitCode: 0,\r\n multiSignIfo: ev.multiSignIfo,\r\n isMultiSign: ev.isMultiSign,\r\n lockPeriod,\r\n resourceType: ev.resourceType,\r\n }\r\n }\r\n\r\n if (ev.type === 'DOUBLECHEC') {\r\n return {\r\n skipDuplicateCheck: ev.skipDuplicateCheck,\r\n }\r\n }\r\n\r\n return {}\r\n }),\r\n\r\n },\r\n services: {\r\n // 预下单\r\n fetchOrderPredelegete: async (ctx, ev) => {\r\n const res = await apis.orderPreDelegateC2C(\r\n {\r\n requestBody: {\r\n order_no: ctx.orderDetail.order_no,\r\n owner_address: ctx.ownerAddress,\r\n resource_type: ctx.orderDetail.resource_type,\r\n resource_value: ctx.resourceValue,\r\n frozen_balance: ctx.frozenBalance,\r\n permission_id: ctx.multiSignIfo.permissionId,\r\n skip_duplicate_check: ctx.skipDuplicateCheck,\r\n },\r\n },\r\n { errorMessageMode: 'none' },\r\n )\r\n return res\r\n },\r\n\r\n // 拉起签名\r\n fetchDelegateResourceSign: async (ctx, ev: any) => {\r\n const options = ctx.orderDetail.resource_type === TronRes.BANDWIDTH ? { estimatedBandwidth: String(ctx.resourceValue) } : { estimatedEnergy: String(ctx.resourceValue) }\r\n try {\r\n const sign = await tron.getDelegateResourceSign({\r\n c2CPreDelegateResp: { ...ev.data, __options: options },\r\n isMultiSign: toValue(ctx.isMultiSign),\r\n permissionId: ctx.multiSignIfo.permissionId,\r\n isOwnerPermission: ctx.multiSignIfo.isOwnerPermission,\r\n })\r\n sleep(100);\r\n return sign\r\n }\r\n catch (error) {\r\n if (error instanceof Error) {\r\n const msg = formatTronErrorMessage(error);\r\n aMessage.error(msg);\r\n }\r\n throw new Error('');\r\n }\r\n },\r\n\r\n fetchdelegateResourceServerBroadcast: async (ctx, ev) => {\r\n try {\r\n const params = {\r\n frozenBalance: ctx.frozenBalance * 10 ** 6,\r\n ownerAddress: ctx.ownerAddress,\r\n receiveAddress: ctx.orderDetail.receive_address,\r\n resourceType: ctx.resourceType,\r\n isMultiSign: ctx.isMultiSign,\r\n multiSignIfo: ctx.multiSignIfo,\r\n isLock: ctx.orderDetail.is_lock === 1,\r\n lockPeriod: ctx.orderDetail?.lock_period\r\n ? ctx.orderDetail?.lock_period\r\n : ctx.lockPeriod,\r\n }\r\n return await tron.delegateResourceServerBroadcast(params)\r\n }\r\n catch (error) {\r\n if (error instanceof Error) {\r\n const msg = formatTronErrorMessage(error);\r\n aMessage.error(msg);\r\n }\r\n throw new Error('');\r\n }\r\n },\r\n\r\n orderDelegateC2C: async (ctx, ev: any) => {\r\n return await apis.orderDelegateC2C({\r\n requestBody: {\r\n order_no: ctx.orderDetail.order_no,\r\n settle_address: ctx.settleAddress,\r\n resource_value: ctx.resourceValue,\r\n signed_txn: ev.data,\r\n resource_type: ctx.orderDetail.resource_type,\r\n },\r\n }, { errorMessageMode: 'none' })\r\n },\r\n\r\n orderQuery: async (ctx, ev) => {\r\n // 轮询订单\r\n let second = 0\r\n do {\r\n try {\r\n await sleep(2000)\r\n const res = await apis.orderQuery(\r\n {\r\n order_no: ctx.orderDetail.order_no,\r\n },\r\n { errorMessageMode: 'none' },\r\n )\r\n if (res)\r\n return res\r\n second++\r\n }\r\n catch (error: any) {\r\n if (ApiError.is(error)) {\r\n if (error.code === 12002)\r\n throw new Error(error.message)\r\n }\r\n else {\r\n throw new Error(error)\r\n }\r\n }\r\n } while (second <= 8)\r\n throw new Error('')\r\n },\r\n },\r\n guards: {\r\n hasOrderRes: (context, event: any) => {\r\n return !!event.data;\r\n },\r\n\r\n isConflict: (context, event: any) => {\r\n if (event.data.code === 12006)\r\n return false;\r\n\r\n return true;\r\n },\r\n },\r\n delays: {},\r\n })\r\n\r\n const states = reactiveComputed(() => {\r\n const s = machine.state.value;\r\n const isRequest = s.hasTag('request');\r\n const isSameAddress = s.context.orderPreSubmitCode === 12001;\r\n const isConfirm = s.hasTag('confirm') || s.hasTag('request');\r\n const isRefresh = s.matches('onShowSellSuccessModal');\r\n const isConflict = s.matches('conflict');\r\n const showSellRefPopup = s.hasTag('orderQueryResult');\r\n\r\n return {\r\n isRequest,\r\n isConfirm,\r\n isSameAddress,\r\n showSellRefPopup,\r\n isRefresh,\r\n isConflict,\r\n };\r\n });\r\n\r\n watch(machine.state, (state) => {\r\n })\r\n\r\n return {\r\n machine,\r\n states,\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import type { IProps } from '../SellPopup.vue'\r\nimport { EFreezeType } from '../../freeze/FreezePopup.vue'\r\nimport { tron } from '~/utils/tron-v2'\r\nimport { useMultiSignProvider } from '~/pages-components/c2c/hooks/useMultiSign'\r\nimport { useC2cSellMachine } from '~/pages-components/c2c/components/sell/machine/useC2cSellMachine'\r\nimport { SentryUtils } from '~/utils/sentry'\r\nimport { discountResult } from '~/composables/app/getC2cAmountCalculator'\r\n\r\nexport function useSell(props: IProps) {\r\n const sellScope = new SentryUtils('c2c')\r\n const { account, refetch } = tronComp.useAccountCurrent()\r\n\r\n const multiAddress = ref(props.muitiSingAddress)\r\n const isMultiSign = useBoolean(false)\r\n const mode = ref(EFreezeType.Short)\r\n const visibleFreeze = useBoolean(false)\r\n const spinning = useBoolean(false)\r\n const { orderDetail } = props\r\n const { config } = useAppState()\r\n const formData = reactive({\r\n settleAddress: account?.address,\r\n sellAmount: orderDetail.min_amount,\r\n })\r\n\r\n const {\r\n onValidatePower,\r\n info: multiSignIfo,\r\n setAddress,\r\n } = useMultiSignProvider()\r\n const { machine, states } = useC2cSellMachine()!\r\n\r\n const sellForm = useAntFormValidator({\r\n payAddress: {\r\n value: multiAddress,\r\n validator(rule, value) {\r\n if (isMultiSign.is && !tron.isAddress(value))\r\n return Promise.reject($t('sHmcz_3thcjWOabRqDhT'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n settleAddress: {\r\n value: toRef(formData, 'settleAddress'),\r\n validator(rule, value) {\r\n if (!tron.isAddress(value))\r\n return Promise.reject($t('e8ik9k7EhmgdQfl0ZOlu'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n sellAmount: {\r\n value: toRef(formData, 'sellAmount'),\r\n validator(rule, value) {\r\n if (!value)\r\n return Promise.reject($t('n305EyjKQuab3Q0Ym5Msu'))\r\n\r\n for (const [s, e] of toValue(ranges)) {\r\n if (value < s && value > e) {\r\n return Promise.reject(\r\n $t('hB-Pdl_5hJSlPkso_yNMs') + formatAmount(energyMin.value, 0),\r\n )\r\n }\r\n }\r\n return Promise.resolve()\r\n },\r\n },\r\n })\r\n const onSubmit = async () => {\r\n try {\r\n const formState = (await sellForm.$form.value\r\n ?.validate()\r\n .catch(() => {})) as typeof sellForm.formState\r\n\r\n if (formState) {\r\n setAddress(toValue(multiAddress))\r\n\r\n onValidatePower(isMultiSign.is, 57)\r\n await validator()\r\n console.log('formState.sellAmount', formState.sellAmount)\r\n machine.send({\r\n type: 'SUBMIT',\r\n orderDetail,\r\n ownerAddress: getOwnerAddress(),\r\n resourceValue: formState.sellAmount,\r\n settleAddress: formState.settleAddress,\r\n frozenBalance: sellInfo.value.freezeTRX,\r\n skipDuplicateCheck: 0,\r\n multiSignIfo,\r\n isMultiSign: isMultiSign.is,\r\n resourceType: toValue(resourceType),\r\n })\r\n }\r\n }\r\n catch (e) {\r\n if (typeof e === 'object') {\r\n const msg = formatTronErrorMessage(e)\r\n aMessage.error(msg)\r\n return\r\n }\r\n\r\n if (e instanceof Error) {\r\n sellScope.setTagPath('c2c', ['sell'])\r\n sellScope.captureException(e)\r\n aMessage.error(e.message)\r\n }\r\n }\r\n }\r\n\r\n const getOwnerAddress = (): string => {\r\n return isMultiSign.is ? multiAddress.value : account.address\r\n }\r\n\r\n const validator = () => {\r\n return new Promise((resolve, reject) => {\r\n if (orderDetail.receive_address == getOwnerAddress()) {\r\n aMessage.error($t('DogFR2AdsY9AJ9A8dDB8y'))\r\n reject()\r\n }\r\n if (!sellInfo.value.freezeTRX && !formData.sellAmount) {\r\n aMessage.error($t('pVxWPz1WarabRXO2VSUyt'))\r\n reject()\r\n }\r\n resolve('')\r\n })\r\n }\r\n\r\n // 打开质押弹窗\r\n const openFreezeModal = (e: EFreezeType) => {\r\n mode.value = e\r\n setAddress(toValue(multiAddress))\r\n visibleFreeze.setTrue()\r\n }\r\n const closeFreeze = () => visibleFreeze.setFalse()\r\n\r\n const freezeModalDetail = computed(() => {\r\n const info = {\r\n orderDetail,\r\n sellAmount: formData.sellAmount ?? orderDetail.min_amount,\r\n mode: EFreezeType.Short,\r\n multiAddress: isMultiSign.is ? multiAddress.value : '',\r\n }\r\n info.mode = mode.value\r\n\r\n return info\r\n })\r\n\r\n const resourceType = computed(() =>\r\n orderDetail.resource_type === 1 ? 'ENERGY' : 'BANDWIDTH',\r\n )\r\n\r\n const energyMin = computed(() =>\r\n Math.min(\r\n config.value?.order.energy_min_value ?? 10000,\r\n config.value?.order.energy_c2c_min_value ?? 10000,\r\n ),\r\n )\r\n\r\n const ranges = computed(() => {\r\n return [\r\n [0, orderDetail.min_amount - toValue(energyMin)],\r\n [orderDetail.max_amount ?? 10000, orderDetail.max_amount ?? 10000],\r\n ]\r\n })\r\n\r\n const sellInfo = computed(() => {\r\n const { resource } = account\r\n const info = {\r\n freezeTRX: 0,\r\n amount: 0,\r\n }\r\n if (!resource)\r\n return info\r\n // 计算收入\r\n const params = {\r\n rentTimeUnit: orderDetail.rent_time_unit,\r\n rentDuration: orderDetail.rent_duration,\r\n resourceValue: formData.sellAmount,\r\n resourceType: orderDetail.resource_type,\r\n priceInSun: orderDetail.price_in_sun,\r\n\r\n }\r\n const { amount } = discountResult(params)\r\n info.amount = amount * 0.75\r\n\r\n info.freezeTRX = Math.ceil(\r\n formData.sellAmount / (resource.energyUnitPrice ?? 0),\r\n )\r\n if (orderDetail?.resource_type === 0) {\r\n info.freezeTRX = Math.ceil(\r\n formData.sellAmount / (resource.netUnitPrice ?? 0),\r\n ) // 按全网质押单价计算\r\n }\r\n return info\r\n })\r\n\r\n const showSellRang = computed(() => {\r\n return (\r\n (orderDetail.resource_split_value ?? 0) < (orderDetail.max_amount ?? 0)\r\n && orderDetail.max_amount > orderDetail.min_amount\r\n )\r\n })\r\n\r\n return {\r\n onSubmit,\r\n openFreezeModal,\r\n freezeModalDetail,\r\n resourceType,\r\n formData,\r\n ranges,\r\n energyMin,\r\n sellInfo,\r\n closeFreeze,\r\n multiAddress,\r\n accountAddress: account.address,\r\n visibleFreeze,\r\n isMultiSign,\r\n spinning,\r\n sellForm,\r\n showSellRang,\r\n }\r\n}\r\n","export default \"__VITE_ASSET__fb1b5870__\"","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","import { imtoken } from '~/utils/imtoken'\r\n\r\n// 改成 响应式的\r\nexport function useIsImtoken() {\r\n // 没有连接并且是imtoken\r\n if (imtoken.isImToken() && !(window as any).tronWeb)\r\n imtoken.showAccountSwitch()\r\n}\r\n\r\n// 判断是否是imtoken的环境Promise todo\r\nexport function hasImtoken() {\r\n new Promise((resolve, reject) => {\r\n if (imtoken.isImToken() && !(window as any).tronWeb)\r\n resolve()\r\n else\r\n reject()\r\n })\r\n}\r\n"],"names":["useResourceTypeText","type","computed","value","TronRes","BANDWIDTH","$t","_imports_0$1","URL","module","meta","url","href","_imports_1","_imports_2","locale","useSwichLocale","states","onReceive","onRule","receiveList","activityConfig","enabled","isLoading","useActivity","slidesToShow","length","_imports_0","sellImg","config","useAppState","tradRef","ref","useAnimation","animationData","discountResult","params","reactiveComputed","info","fee","bignumber","amount","save","discount","needBurning","priceInSun","resourceValue","day","rentTimeUnit","rentDuration","resourceType","multipliedBy","dividedBy","_params$resourceValue","_params$resourceValue2","payAmount","decimalPlaces","BigNumber","ROUND_DOWN","calcAmount","minus","isNegative","discountFormula","useBuyProvider","useBuy","createInjectionState","shortcutTime","useRentalTime","account","isConnected","tronComp","useAccountCurrent","formData","reactive","ENERGY","receiveAddress","rentTimeSecond","times","fromDataRefs","toRefs","unitPriceRange","_config$value","_config$value2","range","c2cMinValue","c2cMaxValue","order","unref","energy_c2c_min_value","bandwidth_c2c_min_value","energy_c2c_max_value","bandwidth_c2c_max_value","resourcePriceRange","priceRange","_config$value$price_c","_config$value3","_config$value4","c2cMinSun","price_c2c","sun","c2cMaxSun","source","sun_1d","sun_1h","sun_6h","sun_3h","max_sun","resourceUnitPrice","defaultPriceInSun","_config$value5","toLowerCase","default_sun","default_sun_1d","default_sun_1h","default_sun_6h","default_sun_3h","resourceDefaultPrice","buyForm","useAntFormValidator","validator","rule","isUnaddressDom","imtoken","isImToken","tron","isAddress","Promise","resolve","reject","isPenNumber","otherMode","tronWeb","shortcut","isOpenTTPay","_config$value6","base","enable_ttpay","window","payType","EPaymentMethod","DAPP","paymentMethod","TTPAY","BALANCE","trxMoney","useUserInfo","buttonGroup","_unref5","_unref6","walletConnection","toValue","walletConnectionToPay","download","pay","toDecimalPlaces","balanceTip","isRentDays","paymentAddress","_config$value7","wallet","payment_c2c_address","useEventBus","on","address","watchEffect","watch","immediate","_buyForm$$form$value2","$form","clearValidate","changeEnergyUnit","e","chooseRentDuration","item","_item","_buyForm$$form$value","data","find","i","dur","unit","onSubmit","async","onValidate","togglePayType","code","machine","createMachine","id","initial","idle","always","target","cond","OPEN","confirm","CLOSE","BUY","actions","PAY","internal","tronlink","entry","invoke","src","onDone","onError","tags","END","OK","TTpay","STOP","KEEP","Balance","schema","events","predictableActionArguments","preserveActionOrder","context","tsTypes","useC2cBuyMachineProvide","useC2cBuyMachine","queryTronlinkOrder","queryTtpayOrder","rentalInformation","bp","useAppBreakpoints","useMachine","c2cBuylMachine","requestError","ctx","ev","Error","message","includes","aMessage","error","extractContentInBrackets","toPayment","ltLaptop","location","paymentUrl","open","jumpCompatible","payment_url","encodeURIComponent","setPayment","actions.assign","_ev$data","setInfo","discountInfo","toAddress","services","precreateTronlinkOrder","fromAddress","res","payTRXServerBroadcast","msg","formatTronErrorMessage","createTronlinkOrder","key","snakeCase","signed_txn","resource_value","Number","apis","orderCreateC2C","requestBody","errorMessageMode","second","sleep","orderQuery","order_no","trx_address","pay_address","status","callback","createTtpayOrder","pay_amount","ttpayOrderC2C","out_trade_no","startTime","Date","now","resume","pause","useTimeoutPoll","resultType","checkCode","_res$data","createBalanceOrder","apiOrderCreateOrderByBalance","order_type","guards","isTronlink","isTtpay","isBalance","console","log","isPc","event","laptopl","delays","s","state","isConfirm","matches","isInfoConfirm","isIdle","isTronlinkOrderResults","isTtpayOrderResults","isBalanceResults","isTtpayQueryOrder","isRequest","hasTag","isQueryingTtpay","isRefresh","requesting","_hoisted_2","_createElementVNode","class","_hoisted_3","_ctx","_cache","_openBlock","_createElementBlock","_hoisted_1","_toDisplayString","_info$value","_unref7","_unref8","refetch","userInfoQuerier","bus","dappTitle","title","subtitle","ttpayTitle","_queryTtpayOrder$valu","_queryTtpayOrder$valu2","_queryTtpayOrder$valu3","balancePaymentCallback","send","dappPaymentCallback","TRANSFER","props","__props","emits","__emit","max","min","useBoolean","cursorState","count","inc","dec","initiaValue","inc2","dec2","useNumber","useVModel","checking","useHideFormHelp","ResourceType","useResource","isNaN","isLessThanOrEqualTo","_window","_buyForm$$form$value3","showAccountSwitch","formState","validate","catch","setTrue","arr","name","useMultiSignProvider","useMultiSign","isOwnerPermission","permissionId","addressMuktiSign","accountCurrent","accountMultiSign","useAccount","toRef","onValidatePower","isMultiSign","owner_permission","ownerPermission","active_permission","activePermission","keys","forEach","_tron$tronWeb","toHex","some","obj","_tron$tronWeb2","getPermission","operations","tronErrors","MULTISIGN_ERROR","setAddress","useSellProvider","useSell","is","multiSingAddress","muktiSignResources","energy","bandwidth","balance","remaineResource","_canDelegatedBalanceF","_canDelegatedBalanceF2","_info$ENERGY","_info$BANDWIDTH","delegable","delegableMulti","energyUnitPrice","resource","netUnitPrice","canDelegatedBalanceForEnergy","Math","floor","canDelegatedBalanceForBandwidth","balanceTrx","_accountMultiSign$del","_accountMultiSign$del2","_accountMultiSign$del3","_accountMultiSign$del4","_accountMultiSign$bal","setMultiSingAddress","useFreeze","orderDetail","detail","multiAddress","loading","freezeResult","modalContent","accountMulti","multiRefetch","mode","maxTRX","_balance$value","trx","resource_type","freezeInfo","availableResource","needResource","sellAmount","needExchange","remaine","result","onChange","cost","setMaxTrx","_formData$amount2","_formData$amount","formatAmount","freezeBalanceV2ByMultiSign","freezeBalanceV2","fetchCanDelegatedMaxSize","typeTxt","setFalse","EFreezeType","EFreezeType2","resTypeText","SUBMIT","DOUBLECHEC","FetchOrderPredelegete","fetchDelegateResourceSign","fetchdelegateResourceServerBroadcast","conflict","orderDelegateC2C","onShowSellSuccessModal","onShowSellFailModal","useC2cSellMachineProvide","useC2cSellMachine","c2cSellMachine","init","orderPreSubmitCode","resetting","showErrorMessage","preRequestError","orderQuerySuccess","orderQueryRes","lockPeriod","rent_time_unit","rent_duration","ownerAddress","settleAddress","frozenBalance","skipDuplicateCheck","multiSignIfo","fetchOrderPredelegete","orderPreDelegateC2C","owner_address","frozen_balance","permission_id","skip_duplicate_check","options","estimatedBandwidth","String","estimatedEnergy","sign","getDelegateResourceSign","c2CPreDelegateResp","__options","_ctx$orderDetail","_ctx$orderDetail2","receive_address","isLock","is_lock","lock_period","delegateResourceServerBroadcast","settle_address","ApiError","hasOrderRes","isConflict","isSameAddress","showSellRefPopup","exports","openFreezeModal","freezeModalDetail","ranges","energyMin","sellInfo","closeFreeze","showSellRang","accountAddress","visibleFreeze","spinning","sellForm","sellScope","SentryUtils","muitiSingAddress","Short","min_amount","payAddress","getOwnerAddress","freezeTRX","_formData$sellAmount","_config$value$order$e","_config$value8","_config$value$order$e2","_config$value9","energy_min_value","_orderDetail$max_amou","_orderDetail$max_amou2","max_amount","_resource$energyUnitP","price_in_sun","_resource$netUnitPric","ceil","_orderDetail$resource","_orderDetail$max_amou3","resource_split_value","_sellForm$$form$value","setTagPath","captureException","onPayAddressChange","setTimeout","service","onTransition","emptyImg","SellPopupGather","defineAsyncComponent","import","dataList","pagination","sort","total","pageSize","page","useQuery","queryKey","orderTrades","refetchOnWindowFocus","refetchInterval","queryFn","page_size","_data$value$list","_data$value","list","_data$value$paginatio","_data$value2","useSelfHelpOrder","walletBus","SellPopupRef","tableColumns","dataIndex","align","responsive","width","paginationChange","val","record","_globalModal$ConnectW","globalModal","ConnectWallet","visible","prompt","voteList","votetInfo","useVoteData","querier","witnessApi","staleTime","_tronVoteData$tronPow","_tronVoteData$tronPow2","_tronVoteData","voteTotal","voteUsed","votableNumber","maxVoteNumber","voteUsedStic","tronPowerLimit","tronPowerUsed","_querier$data$value","map","onInputBlur","onSetALL","submiting","inputTotal","filterData","_voteList2$value","filter","hasOwnProperty","getInputTotal","_filterDataRes$map","filterDataRes","reduce","previousValue","currentValut","Object","fromEntries","onSetALL2","usableValue","JSON","stringify","vote","close","useVote","_voteList$value","__expose","VoteModalRef","onSelect","emit","toVote","_globalModal$ConnectW2","listData","orderLastTrades","_data$value3","_data$value4","useLatestTable","tronAccount","maxTrx","_formData$value","lockBalance","multiplyByTenToPower","estimatedResource","_formData$value2","print","unitPrinceTrx","customTrx","setAmount","onCconfirm","_formData$value3","_data$estimatedResour","_data$estimatedResour2","_formData$value4","_formData$value5","_formData$value6","receiverAddress","undelegateResource","recoveryResult","useRecycleResoure","onMounted","cancel","isFetching","fetchAgencyOrders","limit","start","_data$value5","_data$value$data$tota","_data$value6","useAgentTable","row","percent","current","orderPreCancelDetail","mutaion","useMutation","mutationKey","orderPreCancel","mutationFn","onCancelOrder","_config$value10","_detail$value","_tron$tronWeb3","_detail$value2","cancelAmount","sendTrx","signedTx","orderCancelC2C","cancelDetail","orderCancelQuery","loop","success","refresh","onCancelOrderPolling","is_split","mutateAsync","_resourceType","queritr","subOrderListByAddress","_record$value2","order_parent_no","_queritr$data$value","_queritr$data$value2","_record$value","getProgressVal","frozen_resource_value","myPayOrder","_data$value7","_data$value8","useBuyTable","CencelOrderRef","MineOrderDetailRef","activeKey","showSellVip","useActivityProvider","BuyPopupRef","ltTabletl","i18nHead","useLocaleHead","addSeoAttributes","useHead","htmlAttrs","lang","link","property","content"],"mappings":"kkDAEO,SAASA,GAAoBC,GAClC,OAAOC,GAAS,IACPD,EAAKE,QAAUC,EAAQC,UAAYC,EAAG,yBAA2BA,EAAG,0BAE/E,CCNe,MAAAC,GAAA,GAAA,IAAAC,IAAA,8BAAAC,EAAAC,KAAAC,KAAAC,KCAAC,GAAA,GAAA,IAAAL,IAAA,8BAAAC,EAAAC,KAAAC,KAAAC,KCAAE,GAAA,GAAA,IAAAN,IAAA,gCAAAC,EAAAC,KAAAC,KAAAC,u+BCIT,MAAAG,OAAEA,GAAWC,MACbC,OAAEA,YAAQC,EAAWC,OAAAA,EAAAC,YAAQA,iBAAaC,EAAgBC,QAAAA,EAAAC,UAASA,GAAcC,KAEjFC,EAAevB,GAAS,KACtB,MAAAwB,EAASN,EAAYjB,MAAMuB,OAC1B,OAAAA,GAAU,EAAI,EAAIA,CAAA,8zDCTZC,GAAA,GAAA,IAAAnB,IAAA,wBAAAC,EAAAC,KAAAC,KAAAC,KCAAgB,GAAA,GAAA,IAAApB,IAAA,wBAAAC,EAAAC,KAAAC,KAAAC,mnuCCIT,MAAAiB,OAAEA,GAAWC,IACbC,EAAUC,EAAoB,aAEpCC,GAAaF,EAASG,kiCC6Gf,SAASC,GAAyCC,GACvD,OAAOC,GAAiB,KACtB,MAAMC,EAAO,CACXC,IAAKC,EAAU,GACfC,OAAQD,EAAU,GAClBE,KAAMF,EAAU,GAChBG,SAAUH,EAAU,GACpBI,YAAaJ,EAAU,IAEzB,IAAKJ,EAAOS,aAAeT,EAAOU,cACzB,OAAAR,EAEH,MAAAS,EAA8B,MAAxBX,EAAOY,aAAuBR,EAAU,GAAKA,EAAUJ,EAAOa,cAEpEL,EAAcR,EAAOc,aACvBV,EAAUJ,EAAOU,eAAeK,aAAa,KAAKC,UAAU,KAASD,aAAaJ,GAClFP,EAAU,KAAMY,UAAU,KAASD,aAAaf,EAAOU,eAAeK,aAAaJ,GAEvFT,EAAKM,YAAcA,EACdN,EAAAG,OAiBT,SAA8CL,GAAWiB,IAAAA,EAAAC,EACnD,IAAAC,EAAYf,EAAU,GAE1B,OAAQJ,EAAOY,cACb,IAAK,IACH,GAAIZ,EAAOa,aAAe,GAAKb,EAAOa,aAAe,GACnD,MAEFM,EAAYf,YAAWJ,EAAOU,qBAAA,IAAAO,EAAAA,EAAiB,GAC9CF,aAAaf,EAAOS,YACpBO,UAAU,KACVD,aAAa,GACbK,cAAc,EAAGC,EAAUC,YAC5B,MAEF,IAAK,IAEH,GAAItB,EAAOa,aAAe,GAAKb,EAAOa,aAAe,GACnD,MAEFM,EAAYf,EAAkBc,UAAPlB,EAAOU,yBAAAQ,EAAAA,EAAiB,GAC9CH,aAAaf,EAAOS,YACpBO,UAAU,KACVD,aAAaf,EAAOa,cACpBO,cAAc,EAAGC,EAAUC,YAGzB,OAAAH,CACT,CA7CkBI,CAAWvB,GAGpBE,EAAAI,KAAOE,EAAYgB,MAAMtB,EAAKG,QAAQoB,aACvC,IAAIJ,EAAU,GACdb,EAAYgB,MAAMtB,EAAKG,QAAQe,cAAc,EAAIC,EAAUC,YAE/D,MAAMI,EAAkBtB,EAAU,KAAKW,aAAaX,EAAU,GAAGoB,MAAMtB,EAAKG,OAAOW,UAAUR,KAMtF,OALFN,EAAAK,SAAWmB,EAAgBD,aAC5BrB,EAAU,GACVsB,EAAgBN,cAAc,EAAGC,EAAUC,YAGxCpB,CAAA,GAEX,CCpIO,MAAOyB,GAAgBC,IAAUC,GAAqB,KACrD,MAAApC,OAAEA,GAAWC,KACboC,aAAEA,GAAiBC,GAAc,QACjCC,QAAEA,EAAAC,YAASA,GAAgBC,EAASC,oBACpCC,EAAWC,EAAoB,CACnCvB,aAAc9C,EAAQsE,OACtBC,eAAgB,GAChB7B,cAAe,KACfD,WAAY,EACZ+B,eAAgB,OAChB5B,aAAc,IACdC,aAAc,EACd4B,MAAO,IAEHC,EAAeC,EAAOP,GAEtBQ,EDZD,SAA4B9B,GAC3B,MAAArB,OAAEA,GAAWC,IACnB,OAAOO,GAAiB,SAAM4C,EAAAC,EAC5B,MAAMC,EAAQ,CACZC,YAAa,EACbC,YAAa,GAEX,WAAAJ,EAACpD,EAAO1B,aAAO,IAAA8E,IAAdA,EAAcK,MACV,OAAAH,EACH,MAAAG,EAAsB,QAAtBJ,EAAQrD,EAAO1B,aAAO,IAAA+E,OAAA,EAAdA,EAAcI,MAQrB,OAPPH,EAAMC,YAAcG,EAAMrC,GACtBoC,EAAME,qBACNF,EAAMG,wBACVN,EAAME,YAAcE,EAAMrC,GACtBoC,EAAMI,qBACNJ,EAAMK,wBAEHR,CAAA,GAEX,CCPyBS,CAAmBd,EAAa5B,cACjD2C,EDYD,SAAqDzD,GACpD,MAAAP,OAAEA,GAAWC,IACboB,EAAehD,GAAS,IAAMkC,EAAOc,aAAe,SAAW,cACrE,OAAOb,GAAiB,KAAMyD,IAAAA,EAAAC,EAAAC,EACtB,MAAA/F,EAAOsF,EAAMrC,GACbiC,EAAQ,CACZc,UAAiD,UAA/B,UAAPpE,EAAO1B,aAAA,IAAA4F,OAAA,EAAPA,EAAcG,UAAUjG,GAAOkG,WAAOL,IAAAA,EAAAA,EAAA,GACjDM,UAAW,GAGPC,UAASL,EAAAnE,EAAO1B,aAAO,IAAA6F,OAAA,EAAdA,EAAcE,UAAUjG,GAEvC,OAAKoG,GAEuB,MAAxBjE,EAAOY,aACmB,IAAxBZ,EAAOa,eACHkC,EAAAc,UAAYI,EAAOC,QAAU,GAEN,MAAxBlE,EAAOY,eACc,IAAxBZ,EAAOa,aACHkC,EAAAc,UAAYI,EAAOE,QAAU,EACJ,IAAxBnE,EAAOa,aACRkC,EAAAc,UAAYI,EAAOG,QAAU,EACJ,IAAxBpE,EAAOa,eACRkC,EAAAc,UAAYI,EAAOI,QAAU,IAGvCtB,EAAMiB,UAAYC,eAAAA,EAAQK,QAEnBvB,GAhBEA,CAgBF,GAEX,CC3CqBwB,CAAkBnC,GAC/BoC,EDgDD,SAAwDxE,GACvD,MAAAP,OAAEA,GAAWC,IACboB,EAAehD,GAAS,IAAMkC,EAAOc,aAAe,SAAW,cACrE,OAAOhD,GAAS,SAAM2G,EACd,MAAA5G,EAAOiD,EAAa/C,MAAM2G,cAE1BT,EAAuBQ,QAAdA,EAAAhF,EAAO1B,iBAAO0G,SAAdA,EAAcX,UAAUjG,GACvC,IAAKoG,EACI,OAAA,EACT,IAAIO,EAAoBP,EAAOU,YAcxB,MAZqB,MAAxB3E,EAAOY,aACmB,IAAxBZ,EAAOa,eACT2D,EAAoBP,EAAOW,gBAEE,MAAxB5E,EAAOY,eACc,IAAxBZ,EAAOa,aACT2D,EAAoBP,EAAOY,eACI,IAAxB7E,EAAOa,aACd2D,EAAoBP,EAAOa,eACI,IAAxB9E,EAAOa,eACd2D,EAAoBP,EAAOc,iBAExBP,CAAA,GAEX,CCzE4BQ,CAAqB5C,GACzC7B,EAAWR,GAAeqC,GAE1B6C,EAAUC,GAAoB,CAClCpE,aAAc,CACZ/C,MAAO2E,EAAa5B,cAEtByB,eAAgB,CACdxE,MAAO2E,EAAaH,eACpB4C,UAAAA,CAAUC,EAAMrH,IACTA,GAGDsH,EAAetH,OACZuH,EAAQC,aAAgBC,EAAKC,UAAU1H,GAGvC2H,QAAQC,UAFJD,QAAQE,OAAO1H,EAAG,yBAJpBwH,QAAQE,OAAO1H,EAAG,2BAS/BwC,cAAe,CACb3C,MAAO2E,EAAahC,cACpByE,SAAAA,CAAUC,EAAMrH,GACR,MAAAF,EAA8B,WAAvBiD,EAAa/C,MAAqBG,EAAG,yBAA2BA,EAAG,yBAEhF,MAAqB,iBAAVH,EACF2H,QAAQE,OAAO1H,EAAG,wBAAyB,CAAEL,WAEjDE,GAASA,GAAS,EACd2H,QAAQE,OAAO1H,EAAG,0BAEvBH,EAAQ6E,EAAeI,YAClB0C,QAAQE,OAAU,GAAA1H,EAAG,8BAA8B0E,EAAeI,eAEvEjF,EAAQ6E,EAAeK,YAClByC,QAAQE,OAAU,GAAA1H,EAAG,4BAA4B0E,EAAeK,eAElEyC,QAAQC,SACjB,GAEFlF,WAAY,CACV1C,MAAO2E,EAAajC,WACpB0E,UAAAA,CAAUC,EAAMrH,IACO,iBAAVA,EACF2H,QAAQE,OAAO1H,EAAG,yBAEpBwH,QAAQC,WAGnBnD,eAAgB,CACdzE,MAAO2E,EAAaF,eACpB2C,UAAAA,CAAUC,EAAMrH,IACTA,EAGE2H,QAAQC,UAFND,QAAQE,OAAO1H,EAAG,4BAO3B2H,EAAcjG,GAAI,GAElBkG,EAAYhI,GAAS,MAAQ0H,EAAKO,SAAW9D,EAAYlE,QAMzD+C,EAAehD,GAAS,IAC5BsE,EAAStB,aAAe,SAAW,cAE/BkF,EAAWlI,GAAS,IAA6B,WAAvBgD,EAAa/C,MAAqB,CAAC,IAAO,IAAQ,IAAS,KAAY,CAAC,IAAM,IAAO,IAAO,OActHkI,EAAcnI,GAAS,SAAAoI,EAAA,OAAaA,QAAbA,EAAMzG,EAAO1B,aAAPmI,IAAOA,OAAPA,EAAAA,EAAcC,KAAKC,YAAY,IAG5Df,EAAiBvH,GAAS,IAAgC,iBAAnBuI,OAAON,SAAwBT,EAAQC,cAM9Ee,EAAU1G,EAAI2G,GAAeC,MAE7BC,EAAgB3I,GAAS,KAC7B,OAAQwI,EAAQvI,OACd,KAAKwI,GAAeC,KACX,MAAA,OACT,KAAKD,GAAeG,MACX,MAAA,QACT,KAAKH,GAAeI,QACX,MAAA,UACT,QACS,MAAA,OACX,KAMIC,SAAEA,GAAaC,IAEfC,EAAc7G,GAAiB,KAAM,IAAA8G,EAAAC,EAClC,MAAA,CACLC,kBACGC,EAAQjB,IACNiB,EAAQ7B,KACP6B,EAAQjF,GACdkF,sBACED,EAAQZ,KAAaC,GAAeC,MACjCU,EAAQ7B,KACP6B,EAAQjF,GACdmF,SACEF,EAAQZ,KAAaC,GAAeC,OAASU,EAAQ7B,GACvDgC,IACEH,EAAQZ,KAAaC,GAAeG,OAEjCQ,EAAQZ,KAAaC,GAAeI,kBAAAI,EAAY5D,EAAMyD,kBAAa,IAAMU,EAAgB/G,EAASF,OAAQ,IACzG6G,EAAQZ,KAAaC,GAAeC,MAAQU,EAAQjF,GAC1DsF,WAAYL,EAAQZ,KAAaC,GAAeI,UAA+B,QAA/BK,EAAY7D,EAAMyD,UAAa,IAAAI,EAAAA,EAAA,GAAKM,EAAgB/G,EAASF,OAAQ,GACvH,IAGImH,EAAa1J,GAAS,IAAgC,MAA1BsE,EAASxB,eAAwBwB,eAAAA,EAAUvB,cAAe,IAEtF4G,EAAiB3J,GACrB,SAAA4J,EAAA,OAAaA,QAAbA,EAAMjI,EAAO1B,aAAA2J,IAAAA,GAAe,QAAfA,EAAPA,EAAcC,cAAQ,IAAAD,OAAA,EAAtBA,EAAsBE,mBAAA,IA0BvB,OAvBKC,EAAoB,iBAG5BC,IAAG,KACL1F,EAASG,eAAiBP,EAAQ+F,OAAA,IAGpCC,GAAY,KACV5F,EAAS3B,WAAa+D,EAAkBzG,KAAA,IAG1CkK,EAAMhG,GAAa,KACjBG,EAASG,eAAiBN,EAAYlE,MAAQiE,EAAQ+F,QAAU3F,EAASG,cAAA,GACxE,CAAE2F,WAAW,IAEhBD,GACE,IAAM7F,EAAStB,eACf,KAAMqH,IAAAA,UACIA,EAAAlD,EAAAmD,MAAMrK,oBAANoK,EAAaE,gBACrBjG,EAAS1B,cAAgB,IAAA,IAItB,CACLsF,WACAsC,iBAtGwBC,IACxB1C,EAAY9H,MAAQwK,CAAA,EAsGpB3F,iBACAa,aACA3B,eACA0C,oBACApC,WACA6C,UACAuD,mBApG0BC,IAAkBC,IAAAA,EAAAC,EAC5CF,UAAAC,EAAOD,iBAAQrG,EAASI,eACxB,MAAMoG,EAAO9G,aAAAA,EAAAA,EAAc+G,MAAMC,GAAWA,EAAE/K,QAAU0K,IACnDG,IAELxG,EAASI,eAAiBoG,EAAK7K,MAC/BqE,EAASvB,aAAe+H,EAAKG,IAC7B3G,EAASxB,aAAegI,EAAKI,KAC7B5G,EAAS3B,WAAa+D,EAAkBzG,cAChC4K,EAAA1D,EAAAmD,MAAMrK,oBAAN4K,EAAaN,gBAAc,EA4FnC9H,WACA0I,SArFeC,YAsFfjD,cACAZ,iBACA8D,WAtFiBD,YAuFjBE,cAtEqBC,IACrB/C,EAAQvI,MAAQsL,CAAA,EAsEhB/C,UACAQ,cACAW,iBACAhB,gBACAe,aACA3B,cACAC,YACF,ICnNWwD,GAAUC,GAAc,CACnCC,GAAI,gBACJC,QAAS,OACT5K,OAAQ,CACN6K,KAAQ,CACNC,OAAQ,CACNC,OAAQ,UACRC,KAAM,QAER/B,GAAI,CACFgC,KAAM,CACJF,OAAQ,aAIdG,QAAW,CACTjC,GAAI,CACFkC,MAAO,CACLJ,OAAQ,QAEVK,IAAK,CACHL,OAAQ,eACRM,QAAS,CACPrM,KAAM,cAKd,eAAgB,CACdiK,GAAI,CACFqC,IAAK,CACH,CACEP,OAAQ,WACRC,KAAM,aACNO,UAAU,GAEZ,CACER,OAAQ,QACRC,KAAM,UACNO,UAAU,GAEZ,CACER,OAAQ,UACRC,KAAM,cAGVG,MAAO,CACLJ,OAAQ,aAIdS,SAAY,CACVC,MAAO,CACLzM,KAAM,WAER4L,QAAS,OACT5K,OAAQ,CACN6K,KAAQ,CACNC,OAAQ,CACNC,OAAQ,+BAGZ,6BAA8B,CAC5BW,OAAQ,CACNC,IAAK,yBACLhB,GAAI,yBACJiB,OAAQ,CACN,CACEb,OAAQ,0BAGZc,QAAS,CACP,CACEd,OAAQ,yBACRM,QAAS,CACPrM,KAAM,mBAKd8M,KAAM,CAAC,UAAW,qBAEpB,wBAAyB,CACvBJ,OAAQ,CACNC,IAAK,sBACLhB,GAAI,sBACJiB,OAAQ,CACN,CACEb,OAAQ,yBAGZc,QAAS,CACP,CACEd,OAAQ,yBACRM,QAAS,CACPrM,KAAM,mBAKd8M,KAAM,CAAC,UAAW,qBAEpB,uBAAwB,CACtBJ,OAAQ,CACNC,IAAK,qBACLhB,GAAI,gBAENmB,KAAM,CAAC,UAAW,mBAAoB,qBACtC7C,GAAI,CACF8C,IAAK,CACHhB,OAAQ,mBAId,gBAAiB,CACf9B,GAAI,CACF+C,GAAI,CACFjB,OAAQ,2BAMlBkB,MAAS,CACPR,MAAO,CACLzM,KAAM,WAER4L,QAAS,OACT5K,OAAQ,CACN6K,KAAQ,CACNC,OAAQ,CACNC,OAAQ,uBAGZ,qBAAsB,CACpBW,OAAQ,CACNC,IAAK,mBACLhB,GAAI,mBACJiB,OAAQ,CACN,CACEb,OAAQ,oBACRM,QAAS,CACP,CACErM,KAAM,aAER,CACEA,KAAM,iBAKd6M,QAAS,CACP,CACEd,OAAQ,yBACRM,QAAS,CACPrM,KAAM,mBAKd8M,KAAM,CAAC,UAAW,kBAEpB,oBAAqB,CACnBJ,OAAQ,CACNC,IAAK,kBACLhB,GAAI,gBAENmB,KAAM,CAAC,UAAW,gBAAiB,kBACnC7C,GAAI,CACF8C,IAAK,CACHhB,OAAQ,iBAEVmB,KAAM,CACJnB,OAAQ,uBAEVoB,KAAM,CACJd,QAAS,CACPrM,KAAM,aAERuM,UAAU,KAIhB,gBAAiB,CACftC,GAAI,CACF+C,GAAI,CACFjB,OAAQ,2BAMlBqB,QAAW,CACTxB,QAAS,OACT5K,OAAQ,CACN6K,KAAQ,CACNC,OAAQ,CACNC,OAAQ,yBAGZ,uBAAwB,CACtBW,OAAQ,CACNC,IAAK,qBACLhB,GAAI,qBACJkB,QAAS,CACP,CACEd,OAAQ,gCAGZa,OAAQ,CACN,CACEb,OAAQ,mBAIde,KAAM,CACJ,UACA,oBAGJ,gBAAiB,CACf7C,GAAI,CACF+C,GAAI,CACFjB,OAAQ,4BAOpBsB,OAAQ,CACNC,OAAQ,CAAC,GAgFXC,4BAA4B,EAC5BC,qBAAqB,EACrBC,QAAU,CAAC,EACXC,QAAS,CAAC,KCxTEC,GAAyBC,IAAoB5J,GACzD,KACE,MAAM6J,EAAqB9L,IACrB+L,EAAkB/L,IAClBgM,EAAoBhM,IACpBiM,EAAKC,IACS5J,EAASC,oBAEvB,MAAAmH,EAAUyC,GAAWC,GAAgB,CACzC9B,QAAS,CAEP+B,aAAcA,CAACC,EAAKC,KACdA,EAAGvD,gBAAgBwD,QACjBD,EAAGvD,KAAKyD,QAAQC,SAAS,8BAAgCH,EAAGvD,KAAKyD,QAAQC,SAAS,sBAAwBH,EAAGvD,KAAKyD,QAAQC,SAAS,uCAC5HC,EAAAC,MAAMtO,EAAG,yBACXiO,EAAGvD,KAAKyD,QAAQC,SAAS,kCAAoCH,EAAGvD,KAAKyD,QAAQC,SAAS,WAAaH,EAAGvD,KAAKyD,QAAQC,SAAS,WAAaH,EAAGvD,KAAKyD,QAAQC,SAAS,OAASH,EAAGvD,KAAKyD,QAAQC,SAAS,MAClMC,EAAAC,MAAMtO,EAAG,0BACXiO,EAAGvD,KAAKyD,QAAQC,SAAS,oDACvBC,EAAAC,MAAMtO,EAAG,wBACXiO,EAAGvD,KAAKyD,QAAQC,SAAS,kBACvBC,EAAAC,MAAS,GAAAC,EAAyBN,EAAGvD,KAAKyD,aAAanO,EAAG,4BAE1DqO,EAAAC,MAAML,EAAGvD,KAAKyD,SAC3B,EAGFK,UAAWA,CAACR,EAAKC,KACT,MAAAvD,KAAEA,GAASuD,EACD,SAAZA,EAAGtO,KACDgO,EAAGc,SACLC,SAASpO,KAAO0N,EAAIW,WAEbxG,OAAAyG,KAAKZ,EAAIW,WAAY,UAEX,iCAAZV,EAAGtO,MACVkP,EAAe7O,EAAG,uBAAwB,CAAEK,IAAKqK,EAAKoE,YAAaxO,KAAMyO,mBAAmB5G,OAAOuG,SAASpO,QAC9G,EAGF0O,WAAYC,IAAe,CAACjB,EAAKC,KAAO,IAAAiB,EAK/B,MAAA,CACLP,WAJK,GAASO,QAATA,EAAAjB,EAAGvD,YAAHwE,IAASA,OAATA,EAAAA,EAASJ,0BAEdC,mBAAmB5G,OAAOuG,SAASpO,QAGrC,IAGF6O,QAASF,IAAe,CAACjB,EAAKC,IACZ,QAAZA,EAAGtO,MACL+N,EAAkB7N,MAAQoO,EACnB,CACL/J,SAAU+J,EAAG/J,SACbqF,eAAgB0E,EAAG1E,eACnB6F,aAAcnB,EAAGmB,aACjBC,UAAWpB,EAAGoB,YAIF,QAAZpB,EAAGtO,KACE,CACL0P,UAAWpB,EAAGoB,WAIX,MAGXC,SAAU,CAERC,uBAAwBvE,MAAOgD,EAAKC,KAC9B,IACF,MAAMnM,EAAS,CACbK,OAAQiH,EAAgB4E,EAAIoB,aAAajN,OAAQ,GACjDkN,UAAWrB,EAAIzE,eACfiG,YAAaxB,EAAIqB,WAEbI,QAAYnI,EAAKoI,sBAAsB5N,GAEzC,GAAA2N,EACK,OAAAA,QAEJpF,GAEC,MAAAsF,EAAMC,EAAuBvF,GAC7B,MAAA,IAAI6D,MAAMyB,EAClB,GAEFE,oBAAqB7E,MAAOgD,EAAKC,KAC3B,IACF,MAAMvD,EAEiC,CAAA,EAEvC,IAAA,MAAWoF,KAAO9B,EAAI9J,SACpBwG,EAAKqF,aAAUD,IAAQ9B,EAAI9J,SAAS4L,GAK/B,OAHPpF,EAAKsF,WAAa/B,EAAGvD,KAChBA,EAAAuF,eAAiBC,OAAOxF,EAAKuF,sBAErBE,EAAKC,eAAe,CAC/BC,YAAa3F,GACZ,CAAE4F,iBAAkB,eAElBjG,GACC,MAAA,IAAI6D,MAAM7D,EAAEsF,IACpB,GAEFnC,mBAAoBA,CAACQ,EAAKC,IAAOjD,UAC/B,IAAIuF,EAAS,EACb,KAAOA,GAAU,IACX,UACIC,EAAM,KACZD,IACM,MAAAd,QAAYU,EAAKM,WACrB,CACEC,SAAUzC,EAAGvD,KAAKgG,SAClBC,YAAa1C,EAAGvD,KAAKkG,aAEvB,CAAEN,iBAAkB,SAEtB,GAAIb,EAAK,CACPjC,EAAmB3N,MAAQ,CACzBsL,KAAMsE,EAAIoB,OACVA,OAAQ,WAEDC,EAAA,CAAEnR,KAAM,QACjB,KACF,QAEK0K,GACD,GAAW,QAAXA,EAAEc,KAOE,MALNqC,EAAmB3N,MAAQ,CACzBsL,KAAMd,EAAEc,KACR0F,OAAQ,QAEDC,EAAA,CAAEnR,KAAM,QACX,IAAIuO,MAAM,GAEpB,CACF,EAKF6C,iBAAkB/F,MAAOgD,EAAKC,KAC5B,MAAMvD,EAEiC,CAAA,EAEvCA,EAAKsG,WAAa5H,EAAgB4E,EAAIoB,aAAajN,OAAQ,GAE3D,IAAA,MAAW2N,KAAO9B,EAAI9J,SACpBwG,EAAKqF,aAAUD,IAAQ9B,EAAI9J,SAAS4L,GAE/B,aAAMK,EAAKc,cAAc,CAAEZ,YAAa3F,GAAQ,CAAE4F,iBAAkB,QAAQ,EAErF7C,gBAAiBA,CAACO,EAAKC,IAAQ6C,IACvB,MAAAI,aAAEA,GAAiBjD,EAAGvD,KACtByG,EAAYC,KAAKC,OAGjBC,OAAEA,EAAAC,MAAQA,GAAUC,GAAexG,UACvC,GAAIoG,KAAKC,MAAQF,EAHF,IAUb,OANMI,IACN9D,EAAgB5N,MAAQ,CACtBsL,KAAM,EACN0F,OAAQ,aAEDC,EAAA,CAAEnR,KAAM,QAKb,MAAA8P,QAAYU,EAAKM,WACrB,CAAEC,SAAUQ,GACZ,CACEZ,iBAAkB,OAClBmB,WAAY,MACZC,WAAW,IAGKC,IAAAA,EAAH,IAAblC,EAAItE,OACNsC,EAAgB5N,MAAQ,CACtBsL,KAAgB,QAAhBwG,EAAMlC,EAAI/E,YAAM,IAAAiH,OAAA,EAAVA,EAAUd,OAChBA,OAAQ,WAEDC,EAAA,CAAEnR,KAAM,SAGF,QAAb8P,EAAItE,MAA+B,IAAbsE,EAAItE,OAC5BsC,EAAgB5N,MAAQ,CACtBsL,KAAMsE,EAAItE,KACV0F,OAAQ,QAEDC,EAAA,CAAEnR,KAAM,QACnB,GACC,KAGH,OADO2R,IACA,IAAMC,GAAM,EAKrBK,mBAAoB5G,UAEd,IACF,MAAMN,EAEiC,CAAA,EACvC,IAAA,MAAWoF,KAAO9B,EAAI9J,SACpBwG,EAAKqF,aAAUD,IAAQ9B,EAAI9J,SAAS4L,GAEtC,aAAaK,EAAK0B,6BAA6B,CAAExB,YAAa,IAAK3F,EAAMoH,WAAY,EAAGd,WAAY5H,EAAgB4E,EAAIoB,aAAajN,OAAQ,YAExIkI,GACC,UAAI6D,MAAM7D,EAClB,IAKJ0H,OAAQ,CACNC,WAAYA,CAAChE,EAAKC,IACY,SAArBA,EAAG1F,cAEZ0J,QAASA,CAAC7E,EAASa,IACW,UAArBA,EAAG1F,cAEZ2J,UAAWA,CAAC9E,EAASa,KACnBkE,QAAQC,IAAI,SAA+B,YAArBnE,EAAG1F,eACG,YAArB0F,EAAG1F,eAEZ8J,KAAMA,CAACjF,EAASkF,IACP3E,EAAG4E,SAGdC,OAAQ,CAAC,IAGL7R,EAASoB,GAAiB,KACxB,MAAA0Q,EAAIrH,EAAQsH,MAAM7S,MAElB8S,EAAYF,EAAEG,QAAQ,WACtBC,EAAgBJ,EAAEG,QAAQ,gBAC1BE,EAASL,EAAEG,QAAQ,QACnBG,EAAyBN,EAAEG,QAAQ,0BACnCI,EAAsBP,EAAEG,QAAQ,uBAChCK,EAAmBR,EAAEG,QAAQ,yBAO5B,MAAA,CACLD,YACAE,gBACAK,kBATwBT,EAAEG,QAAQ,2BAUlCE,SACAC,yBACAC,sBACAG,UAZgBV,EAAEW,OAAO,WAazBC,gBAZsBZ,EAAEW,OAAO,kBAa/BE,UAZiC,OAAjBb,EAAEH,MAAM3S,KAaxBsT,mBACAM,WAbiBd,EAAEW,OAAO,qBAAuBX,EAAEW,OAAO,kBAAoBX,EAAEW,OAAO,mBAczF,IAGK,MAAA,CACLhI,UACAzK,SACA6M,qBACAE,oBACAD,kBACF,+DC9RG+F,GAA+CC,EAAA,IAAA,CAAAC,MAAA,qEAAA,MAAA,GAC/CC,GAAA,CAAAD,MAAM,6HALX,SAAAE,EAAAC,UAGIC,IAAAC,EAAA,MAAAC,GAAA,CACFR,GACAC,EAEI,IAFJE,GAEIM,GADCjU,OAAAA,EAAAA,EAAAA,GAAAA,EAAAA,IAAE,0BAAA,wwBCAX,MAAMoL,QAAEA,EAASzK,OAAAA,EAAQ+M,kBAAmB1L,GAASuL,MAC/CzJ,QAAEA,EAAAC,YAASA,GAAgBC,EAASC,qBACpCmE,QACJA,EAAA8C,cACAA,EAAA3C,cACAA,EAAAlG,SACAA,EAAA0F,YACAA,EAAAZ,eACAA,GACEzD,MACEgF,SAAEA,GAAaC,IACfC,EAAc7G,GAAiB,KAAMmS,IAAAA,EAAAC,EAAAC,EACzC,MAAMjS,EAASiH,EAA4B8K,QAAZA,EAAAlS,EAAKnC,iBAAOqU,GAAAA,QAAAA,EAAZA,EAAY9E,wBAAA8E,SAAZA,EAA0B/R,OAAQ,GAC1D,MAAA,CACL4G,kBACGC,EAAQjB,IAAgBiB,EAAQ7B,KAAoB6B,EAAQjF,GAC/DkF,sBACED,EAAQZ,KAAaC,GAAeC,MACjCU,EAAQ7B,KACP6B,EAAQjF,GACdmF,SACEF,EAAQZ,KAAaC,GAAeC,OAASU,EAAQ7B,GACvDgC,IACEH,EAAQZ,KAAaC,GAAeG,OAChCQ,EAAQZ,KAAaC,GAAeI,UACpB,QADoB0L,EAClClP,EAAMyD,UAAQ,IAAAyL,EAAAA,EAAK,IAAMhS,GAC3B6G,EAAQZ,KAAaC,GAAeC,MAAQU,EAAQjF,GAC1DsF,WACEL,EAAQZ,KAAaC,GAAeI,UAClB2L,QAAdA,EAAAnP,EAAMyD,UAAQ0L,IAAAA,EAAAA,EAAK,GAAKjS,EAChC,20GCtBI,MAAAiJ,QACJA,EAAAzK,OACAA,EAAA6M,mBACAA,EAAAC,gBACAA,GACEF,KAC6B7J,KACjC,MAAM2Q,QAAEA,GAAYrQ,EAASC,qBACvBqQ,gBAAEA,GAAoB3L,IACtB4L,EAAM5K,EAAoB,iBAE1B6K,EAAY5U,GAAS,KACzB,MAAMoC,EAAO,CACXyS,MAAOzU,EAAG,yBACV0U,SAAU,IASL,MAPH,CAAC,EAAG,EAAG,EAAG,IAAItG,SAASZ,EAAmB3N,MAAMsL,QAC7CnJ,EAAAyS,MAAQzU,EAAG,0BAEd,CAAC,GAAGoO,SAASZ,EAAmB3N,MAAMsL,QACnCnJ,EAAAyS,MAAQzU,EAAG,yBACXgC,EAAA0S,SAAW1U,EAAG,0BAEdgC,CAAA,IAGH2S,EAAa/U,GAAS,KAAMgV,IAAAA,EAAAC,EAAAC,EAChC,MAAM9S,EAAO,CACXyS,MAAO,GACPC,SAAU,IAWL,MATH,CAAC,EAAG,EAAG,EAAG,GAAI,GAAGtG,SAAyB,QAAzBwG,EAASnH,EAAgB5N,aAAA,IAAA+U,OAAA,EAAhBA,EAAuBzJ,MAC9CnJ,EAAAyS,MAAQzU,EAAG,yBACT,CAAC,MAAO,GAAGoO,iBAASyG,EAAApH,EAAgB5N,aAAhBgV,WAAAA,EAAAA,EAAuB1J,MAC7CnJ,EAAAyS,MAAQzU,EAAG,yBACuB,iBAAhC8U,EAAArH,EAAgB5N,0BAAhBiV,EAAuB3J,MACzBnJ,EAAAyS,MAAQzU,EAAG,yBAEXgC,EAAAyS,MAAQzU,EAAG,yBAEXgC,CAAA,IAwBTgJ,eAAe+J,IACb3J,EAAQ4J,KAAK,MACbV,EAAgBD,SAClB,CAEA,SAASY,IACCZ,IACRjJ,EAAQ4J,KAAK,KACf,QA1BUhV,EAAG,yBACHqI,GAAeC,KACXtI,EAAG,yBAIPA,EAAG,yBACHqI,GAAe6M,SACXlV,EAAG,yBAIPA,EAAG,yBACHqI,GAAeG,MACXxI,EAAG,yBAejBuU,EAAI3K,IAAG,KACLwB,EAAQ4J,KAAK,QAAO,m5EC5FtB,MAAMG,EAAQC,EAMRC,EAAQC,EAERC,EAAM7T,EAAI,GACV8T,EAAM9T,EAAI,GACA+T,IAAW,GAE3B,MAAMC,EAAchU,KAEdiU,MAAEA,EAAAC,IAAOA,EAAKC,IAAAA,GAQpB,WACQF,MAAAA,EAAQjU,EAAIyT,EAAMW,aAwBjB,MAAA,CACLH,MAAAA,EACAC,IAxBUG,KACNJ,GAAAA,EAAM9V,OAAS0V,EAAI1V,MAGrB,OAFA8V,EAAM9V,MAAQ0V,EAAI1V,WAClB6V,EAAY7V,MAAQ,OAGtB6V,EAAY7V,MAAQ,GACpB8V,EAAM9V,QACNwV,EAAM,qBAAsBM,EAAK,EAiBjCE,IAdUG,KACNL,GAAAA,EAAM9V,OAAS2V,EAAI3V,MAGrB,OAFA8V,EAAM9V,MAAQ2V,EAAI3V,WAClB6V,EAAY7V,MAAQ,OAGtB6V,EAAY7V,MAAQ,GACpB8V,EAAM9V,QACNwV,EAAM,qBAAsBM,EAAK,EAQrC,CAtC4BM,UAE5BnM,GAAY,KACV6L,EAAM9V,MAAQsV,EAAMW,YACpBP,EAAI1V,MAAQsV,EAAMI,IAClBC,EAAI3V,MAAQsV,EAAMK,GAAA,+hCChBpB,MAAML,EAAQC,EAORzV,EAAOuW,GAAUf,EAAO,OAHhBG,+xDCSd,MAAMlK,QAAEA,EAAAzK,OAASA,GAAW4M,MACtBzJ,QAAEA,EAAAC,YAASA,GAAgBC,EAASC,qBACpC1C,OAAEA,GAAWC,KAEbsG,SACJA,EAAAsC,iBACAA,EAAA1F,eACAA,EAAAa,WACAA,EAAA3B,aACAA,EAAAM,SACAA,EAAA6C,QACAA,EAAAuD,mBACAA,EACAjI,SAAU+M,EAAAjI,eACVA,EAAAiB,QACAA,EAAAQ,YACAA,EAAAW,eACAA,EAAAhB,cACAA,EAAAZ,YACAA,GACElE,MAEEiI,OAAEA,EAAQyK,SAAAA,GAAaC,GAAgBrP,EAAQmD,OAC1C0D,IAEX,MAAQhL,aAAcyT,GAAiBC,KAEvC,IAAIjS,EAAiB,GACrB2G,eAAeD,UAoCF,IAAAvD,SAAQ,CAACC,EAASC,KACtB6B,EAAe1J,QACTwO,EAAAC,MAAMtO,EAAG,0BAClB0H,EAAO,KAEH,MAAAvF,EAASD,EAAUkN,EAAajN,SAElCA,EAAOoU,SAAWpU,EAAOqU,oBAAoB,MACtCnI,EAAAC,MAAMtO,EAAG,0BAClB0H,EAAO,KAGTD,GAAQ,EAAI,IA9CR,MAAAoC,EAAUxF,GAAkBH,EAASG,eAC3C+G,EAAQ4J,KAAK,CACXrV,KAAM,MACNuE,SAAU,IACLA,EACH1B,cAAe0N,OAAOhM,EAAS1B,eAC/B6B,eAAgBwF,GAElBN,eAAgBA,EAAe1J,MAC/BuP,eACAC,UAAWvL,EAAQ+F,UAEJxF,EAAA,EACnB,CAEA2G,eAAeC,IAAawL,IAAAA,EAAAC,EAC1B,GAAItP,EAAQC,sBAAeoP,EAAEtO,sBAAAsO,EAAgB5O,SAE3C,YADAT,EAAQuP,oBAIJ,MAAAC,gBAAaF,EAAM3P,EAAQmD,MAAMrK,0BAAd6W,EAAqBG,WAAWC,OAAM,KAC7DX,EAASY,SAAQ,KAGnB1S,EAAiBH,EAASG,eAEtBuS,IACFxO,EAAQvI,MAAQwI,GAAeC,KACtByC,IAEb,CAmBA,MAAMiM,EAAM,CACV,CAAEnX,MAAOC,EAAQsE,OAAQ6S,KAAMjX,EAAG,0BAClC,CAAEH,MAAOC,EAAQC,UAAWkX,KAAMjX,EAAG,66LChGzBkX,GAAsBC,IAAgBxT,GAAqB,KACvE,MAAM3B,EAAOmC,EAAS,CAAEiT,mBAAmB,EAAOC,aAAc,IAE1DC,EAAmB5V,EAAI,KAErBoC,QAASyT,GAAmBvT,EAASC,qBACrCH,QAAS0T,GAAqBxT,EAASyT,WAC7CH,EACAI,GAAMH,EAAgB,YAkDjB,MAAA,CACLvV,OACA2V,gBA9CsBA,CAACC,EAAqCtM,KACxD,IAACtC,EAAQ4O,GACX,OAEF5V,EAAKoV,mBAAoB,EACzBpV,EAAKqV,aAAe,EACd,MACJQ,iBAAkBC,EAClBC,kBAAmBC,GACjBR,EAUA,GARCM,GAAoBE,IACvBhW,EAAKoV,mBAAoB,GAEVU,SAAAA,EAAAG,KAAKC,SAAStN,IAAU,IAAAuN,EACnCvN,EAAEf,mBAAYsO,EAAA7Q,EAAKO,4BAALsQ,EAActO,QAAQuO,MAAMb,EAAe1N,YAC3D7H,EAAKoV,mBAAoB,EAAA,KAGxBpV,EAAKoV,oBACUY,SAAAA,EAAAE,SAAStN,IAEvBA,EAAEqN,KAAKI,MACFC,iBACDA,EAAIzO,mBAAA0O,EACAjR,EAAKO,eAAS,IAAA0Q,OAAA,EAAdA,EAAc1O,QAAQuO,MAAMb,EAAe1N,SAAO,KAGtDvC,EAAKkR,cAAc5N,EAAE6N,WAAYnN,KACnCtJ,EAAKqV,aAAezM,EAAEU,GAC1B,KAGGtJ,EAAKqV,cACR,MAAMqB,GAAWC,iBACrB,EAYAC,WATkB/O,IACbvC,EAAKC,UAAUsC,KAEpByN,EAAiBzX,MAAQgK,EAAA,EAO3B,KC/DYgP,GAAiBC,IAAWnV,GAAqB,CAACoV,EAAkBlP,KAC1E,MAAA+N,EAAclW,EAAIqX,GAClBC,EAAmBtX,EAAImI,GACvBoP,EAAqB9U,EAAS,CAClC+U,OAAQ,EACRC,UAAW,EACXC,QAAS,KAGHtV,QAASyT,GAAmBvT,EAASC,qBACrCH,QAAS0T,GAAqBxT,EAASyT,WAC7CuB,EACAtB,GAAMH,EAAgB,YAOlB8B,EAAkBzZ,GAAS,KAAM,IAAA0Z,EAAAC,EAAAC,EAAAC,EACrC,MAAMzX,EAAO,CACXoC,OAAQ,EACRrE,UAAW,IAIP2Z,UAAEA,GAAcnC,GACdmC,UAAWC,GAAmBnC,EAElC,IAACkC,IAAcC,EACV,OAAA3X,EAEH,MAAA4X,EAAkB5Q,EAAQ4O,GAAeJ,EAAiBqC,SAASD,gBAAkBrC,EAAesC,SAASD,gBAC7GE,EAAe9Q,EAAQ4O,GAAeJ,EAAiBqC,SAASC,aAAevC,EAAesC,SAASC,aAEvGC,EAA+B/Q,EAAQ4O,GACzCF,GAAMuB,EAAoB,UAC1BvB,GAAMgC,EAAW,UAErB1X,EAAKoC,OAAS4V,KAAKC,OACwB,QAAtCX,EAAAS,EAA6Bla,aAASyZ,IAAAA,EAAAA,EAAA,GACrC,KAAM,GAERM,EAEE,MAAAM,EAAkClR,EAAQ4O,GAC5CF,GAAMuB,EAAmBE,WACzBzB,GAAMgC,EAAW,aAWd,OATP1X,EAAKjC,UAAYia,KAAKC,OACwBV,QAAzCA,EAAAW,EAAgCra,iBAAS0Z,EAAAA,EAAA,GACxC,KAAM,GAERO,EAEJ9X,EAAKoC,OAAS4V,KAAKC,cAAMT,EAAAxX,EAAKoC,sBAAU,GACxCpC,EAAKjC,UAAYia,KAAKC,cAAMR,EAAAzX,EAAKjC,yBAAa,GAEvCiC,CAAA,IAGHoX,EAAUxZ,GAAS,IAChBoJ,EAAQ4O,GAAeqB,EAAmBG,QAAU7B,EAAe4C,aAWrE,OARPrQ,GAAY,KACYsQ,IAAAA,EAAAC,EAAAC,EAAAC,EAAAC,EAAlBhD,IACiByB,EAAAC,eAAAkB,EAAS5C,SAAkB,QAAA6C,EAAlB7C,EAAkBkC,iBAAA,IAAAW,OAAA,EAAlBA,EAA6BnB,cAAU,IAAAkB,EAAAA,EAAA,EAChDnB,EAAAE,UAAsD,QAAtDmB,EAAY9C,SAAkB+C,QAAAA,EAAlB/C,EAAkBkC,qBAAAa,SAAlBA,EAA6BpB,iBAAamB,IAAAA,EAAAA,EAAA,EACtDrB,EAAAG,QAAyC,QAAzCoB,EAAUhD,EAAiB2C,kBAAcK,IAAAA,EAAAA,EAAA,EAC9D,IAGK,CACLC,oBA3D2B5Q,IAC3BmP,EAAiBnZ,MAAQgK,CAAAA,EA2DzBwP,kBACAD,UACF,ICtEK,SAASsB,GAAUvF,GAClB,MAAAwF,YAAEA,GAAgBxF,EAAMyF,OACxBhD,EAAchY,GAAS,MAAQuV,UAAAA,EAAOyF,OAAOC,gBAC7CC,EAAUrF,KACVsF,EAAerZ,GAAI,GACnBsZ,EAAetZ,EAAI,KACnBiW,gBAAEA,EAAA3V,KAAiBA,GAASmV,MAC5BkC,gBACJA,EAAAD,QACAA,GACEP,GAAgBjB,EAAaF,GAAMvC,EAAMyF,OAAQ,kBAE7C9W,QAASyT,EAAAlD,QAAgBA,GAAYrQ,EAASC,qBAC9CH,QAASmX,EAAc5G,QAAS6G,GAAiBlX,EAASyT,WAChEC,GAAMvC,EAAMyF,OAAQ,gBACpBlD,GAAMH,EAAgB,YAGlB9C,EAAQ7U,GAAS,KACkB,CACrC,MAAOI,EAAG,yBACV,MAAOA,EAAG,yBACV,MAAOA,EAAG,yBACV,MAAOA,EAAG,0BAEG,GAAAgJ,EAAQ4O,GAAe,EAAI,KAAKzC,eAAAA,EAAOyF,OAAOO,WAIzDC,EAASxb,GAAS,KAAMyb,IAAAA,EAC5B,MAAMC,GAAyBD,QAAjBA,EAAAjC,EAAQvZ,aAASwb,IAAAA,EAAAA,EAAA,GAAK,IAAW,EACxC,OAAAC,EAAM,EAAIA,EAAM,CAAA,IAUnB1Y,EAAehD,GAAS,IAC5B+a,SAAAA,EAAaY,cAAgB,SAAW,cAGpCC,EAAarX,EAAS,CAC1BsX,kBAAmB,EACnBC,aAAcvG,EAAMyF,OAAOe,aAGvBzX,EAAWC,EAAS,CACxBhC,YAAQ,EACR0X,SAAU,WAGN+B,EAAehc,GAAS,KAC5B,MAAMic,EAAU7S,EAAQqQ,GAAiBzW,EAAa/C,OAChDic,EACFN,EAAWE,aAAeG,EAAUL,EAAWC,kBAE5C,OAAAK,EAAS,EAAIA,EAAS,CAAA,IAGzBC,EAAY1R,IACV,MAAAwP,SAAEA,GAAatC,EACfyE,EACqB,WAAvBpZ,EAAa/C,MACXga,eAAAA,EAAUD,gBACVC,aAAU,EAAVA,EAAUC,aAChB0B,EAAWC,kBAAoBzB,KAAKC,MAAM5P,EAAI2R,EAAI,EA0F7C,MAAA,CACLpE,cACAnD,QACA2G,SACAa,UAjIgBA,KACXb,EAAOvb,QAEZqE,EAAS/B,OAAS6X,KAAKC,MAAMmB,EAAOvb,OACpCkc,EAAS7X,EAAS/B,QAAM,EA8HxBqZ,aACAtX,WACA0X,eACAG,WACAhR,SA9EeC,UACX,QAAAkR,QAlBO,IAAA1U,SAAQ,CAACC,EAASC,KAAW,IAAAyU,EACjCjY,EAAS/B,SACHkM,EAAArM,KAAKhC,EAAG,0BACV0H,MAGK,QAAdyU,EAAKjY,EAAS/B,cAAA,IAAAga,EAAAA,EAAU,GAAKf,EAAOvb,QACzBwO,EAAAC,MACJ,GAAAtO,EAAG,4BAA4Boc,EAAahB,EAAOvb,MAAO,UAAUG,EAAG,4BAErE0H,KAGTD,GAAQ,EAAI,IAQZkQ,EAAgBC,EAAa,IAE7BkD,EAAQ/D,UAER,IAAIjV,EAAc,CAChBK,gBAAS+Z,EAAAhY,EAAS/B,cAAU,IAAA+Z,EAAAA,EAAA,GAAK,IAAM,EACvCtZ,aAAcoG,EAAQpG,GACtBiH,QAAS0N,EAAe1N,SAEtB4F,EAAM,KAiBV,GAhBIzG,EAAQ4O,IACD9V,EAAA,IACJA,EACH+H,QAASoR,EAAapR,QACtBuN,kBAAmBpV,EAAKoV,kBACxBC,aAAcrV,EAAKqV,cAEf5H,QAAMnI,EAAK+U,2BAA2Bva,IAGtC2N,QAAMnI,EAAKgV,gBAAgBxa,GAG9BwF,EAAAiV,yBAAyBhF,EAAe1N,QAAS,GACjDvC,EAAAiV,yBAAyBhF,EAAe1N,QAAS,GAElD4F,EAAK,OACD4E,UACA6G,IACA,MAAAsB,EAAkC,WAAxB1a,EAAOc,aAA4B5C,EAAG,yBAA2BA,EAAG,yBACpFgb,EAAanb,MAAQ,GAAGG,EAAG,wBAAyB,CAAEmC,OAAQia,EAAata,EAAOK,OAAS,KAAM,EAAI,qBAC/FnC,EAAG,wBAAyB,CAAEwc,4BAC9BJ,EAAaZ,EAAWC,kBAAmB,KACjDV,EAAalb,OAAQ,CAAA,MAGZwO,EAAAC,MAAMtO,EAAG,0BAEpB8a,EAAQ2B,iBAEHpS,GAkBL,GAjBAyQ,EAAQ2B,WACS,iBAANpS,IACLA,EAAE+D,SAAS,iCACJC,EAAAC,MAAMtO,EAAG,0BAEXqK,EAAE+D,SAAS,yCACTC,EAAAC,MAAMtO,EAAG,0BAEXqK,EAAE+D,SAAS,wCACTC,EAAAC,MAAMtO,EAAG,yBAEXqK,EAAE+D,SAAS,gCACTC,EAAAC,MAAMtO,EAAG,0BAElBqO,EAASC,MAAMjE,IAGfA,aAAa6D,MAAO,CAChB,MAAAyB,EAAMC,EAAuBvF,GACnCgE,EAASC,MAAMqB,EACjB,CACF,GAaA/M,eACAkY,UACAzB,kBACA0B,eACAC,eAEJ,CAhLuC1E,k6BCG3B,IAAAoG,IAAAA,IACVA,EAAAC,EAAA,MAAA,GAAA,QACAD,EAAAC,EAAA,OAAA,GAAA,SAFUD,IAAAA,IAAA,CAAA,uFAYZ,MAAMvH,EAAQC,GACRuF,YAAEA,GAAgBxF,EAAMyF,QACtBhY,aAAcyT,GAAiBC,KACjCsG,EAAcld,GAAoBgY,IAAM,IAAMvC,EAAMyF,OAAOD,YAAYY,kBAEvE9G,MAEJA,EAAA2G,OACAA,EAAAa,UACAA,EAAAT,WACAA,EAAAtX,SACAA,EAAA0X,aACAA,EAAAG,SACAA,EAAAhR,SACAA,EAAAnI,aACAA,EAAAkY,QACAA,EAAAzB,gBACAA,EAAA0B,aACAA,EAAAC,aACAA,GACEN,GAAUvF,iuFCtBD/J,GAAUC,GAAc,CACnCC,GAAI,iBACJC,QAAS,OACT5K,OAAQ,CACN6K,KAAM,CACJY,MAAO,CACLzM,KAAM,QAERiK,GAAI,CACFgC,KAAM,CACJF,OAAQ,aAIdG,QAAS,CACPY,KAAM,UACNL,MAAO,CACLzM,KAAM,aAERiK,GAAI,CACFkC,MAAO,CACLJ,OAAQ,QAEVmR,OAAQ,CACNnR,OAAQ,wBACRM,QAAS,CACPrM,KAAM,YAGVmd,WAAY,CACVpR,OAAQ,wBACRM,QAAS,CACPrM,KAAM,cAKdod,sBAAuB,CACrB1Q,OAAQ,CACNC,IAAK,wBACLhB,GAAI,wBACJiB,OAAQ,CACN,CACEb,OAAQ,4BACRC,KAAM,eAER,CACED,OAAQ,yCAGZc,QAAS,CACP,CACEd,OAAQ,UACRC,KAAM,aACNK,QAAS,CACP,CACErM,KAAM,mBAER,CACEA,KAAM,qBAGVuM,UAAU,GAEZ,CACER,OAAQ,cAIde,KAAM,WAERuQ,0BAA2B,CACzB3Q,OAAQ,CACNC,IAAK,4BACLhB,GAAI,4BACJiB,OAAQ,CACN,CACEb,OAAQ,qBAGZc,QAAS,CACP,CACEd,OAAQ,UACRM,QAAS,CACPrM,KAAM,uBAKd8M,KAAM,WAERwQ,qCAAsC,CACpC5Q,OAAQ,CACNC,IAAK,uCACLhB,GAAI,uCACJiB,OAAQ,CACN,CACEb,OAAQ,qBAGZc,QAAS,CACP,CACEd,OAAQ,UACRM,QAAS,CACPrM,KAAM,uBAKd8M,KAAM,WAERyQ,SAAU,CACRtT,GAAI,CACF+C,GAAI,CACFjB,OAAQ,UAIdyR,iBAAkB,CAChB9Q,OAAQ,CACNC,IAAK,mBACLhB,GAAI,mBACJiB,OAAQ,CACN,CACEb,OAAQ,eAGZc,QAAS,CACP,CACEd,OAAQ,UACRC,KAAM,cAER,CACED,OAAQ,cAIde,KAAM,WAERgE,WAAY,CACVpE,OAAQ,CACNC,IAAK,aACLhB,GAAI,aACJiB,OAAQ,CACN,CACEb,OAAQ,yBACRM,QAAS,CACPrM,KAAM,uBAIZ6M,QAAS,CACP,CACEd,OAAQ,yBAIde,KAAM,CAAC,gBAAiB,YAE1B2Q,uBAAwB,CACtB3Q,KAAM,CAAC,cAAe,oBACtB7C,GAAI,CACF+C,GAAI,CACFjB,OAAQ,UAId2R,oBAAqB,CACnB5Q,KAAM,CAAC,WAAY,oBACnB7C,GAAI,CACF+C,GAAI,CACFjB,OAAQ,WAKhBsB,OAAQ,CACNC,OAAQ,CAAC,GAkBXC,4BAA4B,EAC5BC,qBAAqB,EACrBC,QAAU,CAAC,EACXC,QAAS,CAAC,KCpNViQ,GACAC,IACE5Z,GAAqB,KACjB,MAAAyH,EAAUyC,GAAW2P,GAAgB,CACzCxR,QAAS,CACPyR,KAAMxO,IAAe,CAACjB,EAAKC,KAClB,CACLyP,mBAAoB,MAGxBC,UAAW1O,IAAe,CAACjB,EAAKC,IACd,SAAZA,EAAGtO,KACE,CACL+d,mBAAoB,GAGjB,KAGTE,iBAAkBA,CAACxQ,EAASkF,KACpB,MAAA5H,KAAEA,GAAS4H,EACb,GAAe,yCAAfA,EAAM3S,KAAiD,CACrD,GAAoB,QAApB2S,EAAM5H,KAAKS,MAAsC,QAApBmH,EAAM5H,KAAKS,MAAsC,QAApBmH,EAAM5H,KAAKS,KACvE,OAESkD,EAAAC,MAAM5D,EAAKiF,IACxB,GAGFkO,gBAAiB5O,IAAe,CAAC7B,EAASkF,KACjC,CAAEoL,mBAAoBpL,aAAAA,EAAAA,EAAO5H,KAAKS,SAG3C2S,kBAAmB7O,IAAe,CAACjB,EAAKC,KAC/B,CACL8P,cAAe9P,EAAGvD,SAItByE,QAASF,IAAe,CAACjB,EAAKC,KACxB,GAAY,WAAZA,EAAGtO,KAAmB,CACxB,IAAIqe,EAAa,EAMV,MAL+B,MAAlC/P,EAAG0M,YAAYsD,eACHD,EAA+B,MAA/B/P,EAAG0M,YAAYuD,cAAyB,EACb,MAAlCjQ,EAAG0M,YAAYsD,iBACRD,EAA+B,KAA/B/P,EAAG0M,YAAYuD,cAAwB,GAEhD,CACLvD,YAAa1M,EAAG0M,YAChBwD,aAAclQ,EAAGkQ,aACjB3b,cAAeyL,EAAGzL,cAClB4b,cAAenQ,EAAGmQ,cAClBC,cAAepQ,EAAGoQ,cAClBC,mBAAoBrQ,EAAGqQ,mBACvBZ,mBAAoB,EACpBa,aAActQ,EAAGsQ,aACjB3G,YAAa3J,EAAG2J,YAChBoG,aACApb,aAAcqL,EAAGrL,aAErB,CAEI,MAAY,eAAZqL,EAAGtO,KACE,CACL2e,mBAAoBrQ,EAAGqQ,oBAIpB,EAAC,KAIZhP,SAAU,CAERkP,sBAAuBxT,MAAOgD,EAAKC,UACfkC,EAAKsO,oBACrB,CACEpO,YAAa,CACXK,SAAU1C,EAAI2M,YAAYjK,SAC1BgO,cAAe1Q,EAAImQ,aACnB5C,cAAevN,EAAI2M,YAAYY,cAC/BtL,eAAgBjC,EAAIxL,cACpBmc,eAAgB3Q,EAAIqQ,cACpBO,cAAe5Q,EAAIuQ,aAAalH,aAChCwH,qBAAsB7Q,EAAIsQ,qBAG9B,CAAEhO,iBAAkB,SAMxB0M,0BAA2BhS,MAAOgD,EAAKC,KACrC,MAAM6Q,EAAU9Q,EAAI2M,YAAYY,gBAAkBzb,EAAQC,UAAY,CAAEgf,mBAAoBC,OAAOhR,EAAIxL,gBAAmB,CAAEyc,gBAAiBD,OAAOhR,EAAIxL,gBACpJ,IACI,MAAA0c,QAAa5X,EAAK6X,wBAAwB,CAC9CC,mBAAoB,IAAKnR,EAAGvD,KAAM2U,UAAWP,GAC7ClH,YAAa5O,EAAQgF,EAAI4J,aACzBP,aAAcrJ,EAAIuQ,aAAalH,aAC/BD,kBAAmBpJ,EAAIuQ,aAAanH,oBAG/B,OADP5G,EAAM,KACC0O,QAEF5Q,GACL,GAAIA,aAAiBJ,MAAO,CACpB,MAAAyB,EAAMC,EAAuBtB,GACnCD,EAASC,MAAMqB,EACjB,CACM,MAAI,IAAAzB,MAAM,GAClB,GAGF+O,qCAAsCjS,MAAOgD,EAAKC,KAC5C,IAAA,IAAAqR,EAAAC,EACF,MAAMzd,EAAS,CACbuc,cAAerQ,EAAIqQ,cAAgB,IAAM,EACzCF,aAAcnQ,EAAImQ,aAClB9Z,eAAgB2J,EAAI2M,YAAY6E,gBAChC5c,aAAcoL,EAAIpL,aAClBgV,YAAa5J,EAAI4J,YACjB2G,aAAcvQ,EAAIuQ,aAClBkB,OAAoC,IAA5BzR,EAAI2M,YAAY+E,QACxB1B,WAAgBsB,QAAJA,EAAAtR,EAAI2M,mBAAJ2E,IAAIA,GAAJA,EAAiBK,YACrB,UAAJ3R,EAAI2M,mBAAA,IAAA4E,OAAA,EAAJA,EAAiBI,YACjB3R,EAAIgQ,YAEH,aAAM1W,EAAKsY,gCAAgC9d,SAE7CwM,GACL,GAAIA,aAAiBJ,MAAO,CACpB,MAAAyB,EAAMC,EAAuBtB,GACnCD,EAASC,MAAMqB,EACjB,CACM,MAAA,IAAIzB,MAAM,GAClB,GAGFiP,iBAAkBnS,MAAOgD,EAAKC,UACfkC,EAAKgN,iBAAiB,CACjC9M,YAAa,CACXK,SAAU1C,EAAI2M,YAAYjK,SAC1BmP,eAAgB7R,EAAIoQ,cACpBnO,eAAgBjC,EAAIxL,cACpBwN,WAAY/B,EAAGvD,KACf6Q,cAAevN,EAAI2M,YAAYY,gBAEhC,CAAEjL,iBAAkB,SAGzBG,WAAYzF,MAAOgD,EAAKC,KAEtB,IAAIsC,EAAS,EACV,GACG,UACIC,EAAM,KACN,MAAAf,QAAYU,EAAKM,WACrB,CACEC,SAAU1C,EAAI2M,YAAYjK,UAE5B,CAAEJ,iBAAkB,SAElB,GAAAb,EACK,OAAAA,EACTc,UAEKjC,GACD,IAAAwR,GAAS/G,GAAGzK,GAKR,MAAA,IAAIJ,MAAMI,GAJhB,GAAmB,QAAfA,EAAMnD,KACF,MAAA,IAAI+C,MAAMI,EAAMH,QAK5B,QACOoC,GAAU,GACb,MAAI,IAAArC,MAAM,GAAE,GAGtB6D,OAAQ,CACNgO,YAAaA,CAAC3S,EAASkF,MACZA,EAAM5H,KAGjBsV,WAAYA,CAAC5S,EAASkF,IACI,QAApBA,EAAM5H,KAAKS,MAMnBqH,OAAQ,CAAC,IAGL7R,EAASoB,GAAiB,KACxB,MAAA0Q,EAAIrH,EAAQsH,MAAM7S,MAClBsT,EAAYV,EAAEW,OAAO,WACrB6M,EAAiD,QAAjCxN,EAAErF,QAAQsQ,mBAC1B/K,EAAYF,EAAEW,OAAO,YAAcX,EAAEW,OAAO,WAC5CE,EAAYb,EAAEG,QAAQ,0BACtBoN,EAAavN,EAAEG,QAAQ,YAGtB,MAAA,CACLO,YACAR,YACAsN,gBACAC,iBANuBzN,EAAEW,OAAO,oBAOhCE,YACA0M,aACF,IAMK,OAHDjW,EAAAqB,EAAQsH,OAAQA,QAGf,CAAAtH,QACLA,EACAzK,SACF,IACDwf,EAAA,IAAA5C,0zBCrND,MAAMpI,EAAQC,EACRC,EAAQC,EACyBgB,KACjC,MAAApS,SACJA,EAAAkc,gBACAA,EAAArV,SACAA,EAAAsV,kBACAA,EAAAzd,aACAA,EAAA0d,OACAA,EAAAC,UACAA,EAAAC,SACAA,EAAAC,YACAA,EAAAC,aACAA,EAAA7F,aACAA,EAAA8F,eACAA,EAAAC,cACAA,EAAAhJ,YACAA,EAAAiJ,SACAA,EAAAC,SACAA,GC1BK,SAAiB3L,GAChB,MAAA4L,EAAY,IAAIC,GAAY,QAC5Bld,QAAEA,EAAAuQ,QAASA,GAAYrQ,EAASC,oBAEhC4W,EAAenZ,EAAIyT,EAAM8L,kBACzBrJ,EAAcnC,IAAW,GACzB0F,EAAOzZ,EAAiBgb,GAAYwE,OACpCN,EAAgBnL,IAAW,GAC3BoL,EAAWpL,IAAW,IACtBkF,YAAEA,GAAgBxF,GAClB5T,OAAEA,GAAWC,IACb0C,EAAWC,EAAS,CACxBia,cAAeta,aAAAA,EAAAA,EAAS+F,QACxB8R,WAAYhB,EAAYwG,cAGpBxJ,gBACJA,EACA3V,KAAMuc,EAAA3F,WACNA,GACE1B,MACE9L,QAAEA,EAAAzK,OAASA,GAAW4c,KAEtBuD,EAAW9Z,GAAoB,CACnCoa,WAAY,CACVvhB,MAAOgb,EACP5T,UAAAA,CAAUC,EAAMrH,IACV+X,EAAYmB,KAAOzR,EAAKC,UAAU1H,GAC7B2H,QAAQE,OAAO1H,EAAG,yBAEpBwH,QAAQC,WAGnB2W,cAAe,CACbve,MAAO6X,GAAMxT,EAAU,iBACvB+C,UAAAA,CAAUC,EAAMrH,IACTyH,EAAKC,UAAU1H,GAGb2H,QAAQC,UAFND,QAAQE,OAAO1H,EAAG,0BAK/B2b,WAAY,CACV9b,MAAO6X,GAAMxT,EAAU,cACvB+C,SAAAA,CAAUC,EAAMrH,GACd,IAAKA,EACH,OAAO2H,QAAQE,OAAO1H,EAAG,0BAE3B,IAAA,MAAYyS,EAAGpI,KAAMrB,EAAQsX,GACvB,GAAAzgB,EAAQ4S,GAAK5S,EAAQwK,EACvB,OAAO7C,QAAQE,OACb1H,EAAG,yBAA2Boc,EAAamE,EAAU1gB,MAAO,IAIlE,OAAO2H,QAAQC,SACjB,KA4CE4Z,EAAkBA,IACfzJ,EAAYmB,GAAK8B,EAAahb,MAAQiE,EAAQ+F,QAGjD5C,EAAYA,IACL,IAAAO,SAAQ,CAACC,EAASC,KACvBiT,EAAY6E,iBAAmB6B,MACxBhT,EAAAC,MAAMtO,EAAG,0BACX0H,KAEJ8Y,EAAS3gB,MAAMyhB,WAAcpd,EAASyX,aAChCtN,EAAAC,MAAMtO,EAAG,0BACX0H,KAETD,EAAQ,GAAE,IAYR4Y,EAAoBzgB,GAAgC,KAAM,IAAA2hB,EAC9D,MAAMvf,EAAO,CACX2Y,cACAgB,WAAqB,QAArB4F,EAAYrd,EAASyX,kBAAA4F,IAAAA,EAAAA,EAAc5G,EAAYwG,WAC/ChG,KAAMuB,GAAYwE,MAClBrG,aAAcjD,EAAYmB,GAAK8B,EAAahb,MAAQ,IAI/C,OAFPmC,EAAKmZ,KAAOA,EAAKtb,MAEVmC,CAAA,IAGHY,EAAehD,GAAS,IACE,IAA9B+a,EAAYY,cAAsB,SAAW,cAGzCgF,EAAY3gB,GAAS,KAAA4hB,IAAAA,EAAAC,EAAAC,EAAAC,SACzB3H,KAAKxE,IACqC,QADrCgM,EACWC,QADXA,EACHlgB,EAAO1B,iBAAO4hB,SAAdA,EAAczc,MAAM4c,wBAAoB,IAAAJ,EAAAA,EAAA,IACIE,QADJA,EAC1BC,QAD0BA,EACxCpgB,EAAO1B,aAAP8hB,IAAcA,OAAdA,EAAAA,EAAc3c,MAAME,gCAAwBwc,EAAAA,EAAA,IAC9C,IAGIpB,EAAS1gB,GAAS,SAAMiiB,EAAAC,EACrB,MAAA,CACL,CAAC,EAAGnH,EAAYwG,WAAanY,EAAQuX,IACrC,CAAa,QAAbsB,EAAClH,EAAYoH,kBAAA,IAAAF,EAAAA,EAAc,YAAOC,EAAAnH,EAAYoH,0BAAc,KAC9D,IAGIvB,EAAW5gB,GAAS,KAAMoiB,IAAAA,EACxB,MAAAnI,SAAEA,GAAa/V,EACf9B,EAAO,CACXsf,UAAW,EACXnf,OAAQ,GAEV,IAAK0X,EACI,OAAA7X,EAET,MAAMF,EAAS,CACbY,aAAciY,EAAYsD,eAC1Btb,aAAcgY,EAAYuD,cAC1B1b,cAAe0B,EAASyX,WACxB/Y,aAAc+X,EAAYY,cAC1BhZ,WAAYoY,EAAYsH,eAGpB9f,OAAEA,GAAWN,GAAeC,GAMIogB,IAAAA,EAK/B,OAVPlgB,EAAKG,OAAkB,IAATA,EAEdH,EAAKsf,UAAYtH,KAAKmI,KACpBje,EAASyX,YAA0C,QAA5BqG,EAAAnI,EAASD,uBAAmB,IAAAoI,EAAAA,EAAA,IAElB,KAA/BrH,aAAAA,EAAAA,EAAaY,iBACfvZ,EAAKsf,UAAYtH,KAAKmI,KACpBje,EAASyX,YAAuC,QAAzBuG,EAAArI,EAASC,oBAAgB,IAAAoI,EAAAA,EAAA,KAG7ClgB,CAAA,IAGH0e,EAAe9gB,GAAS,KAAM,IAAAwiB,EAAAC,EAE/B,eAAAD,EAAAzH,EAAY2H,oCAAwB,YAAMD,EAAA1H,EAAYoH,0BAAc,IAClEpH,EAAYoH,WAAapH,EAAYwG,UAAA,IAIrC,MAAA,CACLpW,SAxIeC,UACX,IAAA,IAAAuX,EACI,MAAA3L,gBAAa2L,EAAMzB,EAAS5W,MAAMrK,0BAAf0iB,EACrB1L,WACDC,OAAM,UAELF,IACSgC,EAAA5P,EAAQ6R,IAEHlD,EAAAC,EAAYmB,GAAI,UAC1B9R,IACEkL,QAAAC,IAAI,uBAAwBwE,EAAU+E,YAC9CvQ,EAAQ4J,KAAK,CACXrV,KAAM,SACNgb,cACAwD,aAAckD,IACd7e,cAAeoU,EAAU+E,WACzByC,cAAexH,EAAUwH,cACzBC,cAAemC,EAAS3gB,MAAMyhB,UAC9BhD,mBAAoB,EACpBC,eACA3G,YAAaA,EAAYmB,GACzBnW,aAAcoG,EAAQpG,YAIrByH,GACD,GAAa,iBAANA,EAAgB,CACnB,MAAAsF,EAAMC,EAAuBvF,GAEnC,YADAgE,EAASC,MAAMqB,EAEjB,CAEItF,aAAa6D,QACf6S,EAAUyB,WAAW,MAAO,CAAC,SAC7BzB,EAAU0B,iBAAiBpY,GAClBgE,EAAAC,MAAMjE,EAAE8D,SAErB,GAmGAiS,gBA7EuB/V,IACvB8Q,EAAKtb,MAAQwK,EACFuO,EAAA5P,EAAQ6R,IACnB+F,EAAc7J,SAAQ,EA2EtBsJ,oBACAzd,eACAsB,WACAoc,SACAC,YACAC,WACAC,YA/EkBA,IAAMG,EAAcnE,WAgFtC5B,eACA8F,eAAgB7c,EAAQ+F,QACxB+W,gBACAhJ,cACAiJ,WACAC,WACAJ,eAEJ,CDzLI5H,CAAQ3D,IACNkE,gBAAEA,EAAiBD,QAAAA,GAAYP,GACnCnB,GAAME,EAAa,MACnBiD,IAEIzP,QAAEA,EAAAzK,OAASA,GAAW4c,KACtBX,EAAcld,GAAoBgY,IAAM,IAAMvC,EAAMwF,YAAYY,iBAEtE,SAASmH,IACP,MAAM7iB,EAAQgb,EAAahb,MAEtByH,EAAKC,UAAU1H,KAGpBghB,EAAS9J,UAET1B,EAAM,0BAA2BxV,GAEjC8iB,YAAW,KACT9B,EAASpE,UAAS,GACjB,KACL,QAEA1S,EAAM6N,GAAa,KACjBiD,EAAahb,MAAQ,EAAA,IAEfuL,EAAAwX,QAAQC,cAAcnQ,IACa,QAArCA,EAAMtF,QAAQsQ,oBAChB0C,EAAgB,EAAC,+hJE/DN0C,GAAA,GAAA,IAAA5iB,IAAA,wBAAAC,EAAAC,KAAAC,KAAAC,+lCCSf,MAAM6U,EAAQC,EACR2N,EAAkBC,IACtB,YAAM7iB,EAAA8iB,OAAO,8CAAuB,EAAA9iB,eAGhC+iB,SAAEA,YAAUjiB,EAAWkiB,WAAAA,EAAAC,KAAYA,QAAMC,EAAOhP,QAAAA,GA4CtD,WACE,MAAM8O,EAAahf,EAAS,CAC1Bmf,SAAU,EACVC,KAAM,IAEFH,EAAO1hB,EAAI,GACXkB,EAAehD,GAAS,IAAMuV,EAAMvS,gBAEpC8H,KAAEA,EAAMzJ,UAAAA,EAAWoT,QAAAA,GAAYmP,GAAS,CAC5CC,SAAU,CAACtT,EAAKuT,YAAYpY,GAAI6X,EAAYC,EAAMxgB,GAClD+gB,sBAAsB,EACtBC,gBAAiB,IACjBC,QAASA,IACP1T,EAAKuT,YAAY,CACfH,KAAMJ,EAAWI,KACjBO,UAAWX,EAAWG,SACtBF,KAAMA,EAAKvjB,MACX0b,cAAe3Y,EAAa/C,UAI5BqjB,EAAWtjB,GAAS,SAAAmkB,EAAAC,EAAA,OAAkB,QAAlBD,EAAkBC,QAAlBA,EAAMtZ,EAAK7K,iBAAOmkB,SAAZA,EAAYC,YAAA,IAAAF,EAAAA,EAAQ,EAAE,IAChDV,EAAQzjB,GAAS,KAAAskB,IAAAA,EAAAC,EAAAD,eAAAA,UAAAC,EAAMzZ,EAAK7K,aAAO,IAAAskB,OAAA,EAAZA,EAAYhB,WAAWE,qBAAS,CAAC,IAEvD,MAAA,CACLH,SAAAA,EACAC,WAAAA,EACAliB,UAAAA,EACAoiB,MAAAA,EACAD,KAAAA,EACA/O,QAAAA,EAEJ,CA5EkE+P,GAC5D7P,EAAM5K,EAAoB,mBAC1B0a,EAAY1a,EAAoB,iBAChC2a,EAAe5iB,IACfiZ,EAAcjZ,IACduf,EAAmBvf,EAAI,KAEvBqC,YAAEA,GAAgBC,EAASC,oBAC3BsgB,EAAe3kB,GAAsB,IAClC,CACL,CACE6U,MAAOzU,EAAG,yBACVwkB,UAAW,aACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,aACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,eACXC,MAAO,OACPC,WAAY,CAAC,OAEf,CACEjQ,MAAOzU,EAAG,yBACVwkB,UAAW,gBACXC,MAAO,OACPC,WAAY,CAAC,OAEf,CACEjQ,MAAOzU,EAAG,yBACVwkB,UAAW,UACXC,MAAO,SACPE,MAAO,WAKPC,EAAoBrB,GAAkBJ,EAAWI,KAAOA,GACxDnY,QAAEA,EAAAzK,OAASA,GAAW2c,YAiD5BvT,GACE,IAAM,CAACpJ,EAAO2S,UAAW3S,EAAOqf,cAC/B6E,IACKA,EAAIxM,MAAKzN,KAAOA,MACVyJ,IACsB,IAA1B6O,EAASrjB,MAAMuB,QAAmC,GAAnB+hB,EAAWI,OAC5CJ,EAAWI,KAAO,GACtB,IAQJhP,EAAI3K,IAJJ,SAAkBS,GACX+Y,EAAAvjB,MAAQqQ,OAAO7F,GACpB8Y,EAAWI,KAAO,CACpB,IAGAc,EAAUza,IAAG,KACXwB,EAAQ4J,KAAK,QAAO,wpGA/BtBhK,eAA6B8Z,GAAaC,IAAAA,EACnC/b,EAAQjF,kBACLghB,EAAAC,EAAYC,kCAAZF,EAA2BnW,QAE9BkW,GAKLnK,EAAY9a,MAAQilB,EACpB1Z,EAAQ4J,KAAK,SALF3G,EAAArM,KAAKhC,EAAG,yBAMrB,gjDClGA,MAAMmV,EAAQC,EACR8P,EAAUzP,KACV0P,EAASzjB,GAAI,IACboC,QAAEA,GAAYE,EAASC,qBACvBmhB,SAAEA,EAAAnkB,UAAUA,EAAWokB,UAAAA,GAAcC,IAE3C,SAASA,IACP,MAAMC,EAAU/B,GAAS,CACvBC,SAAU,CAACtT,EAAKqV,WAAWla,IAC3Bma,UAAW,EACX5B,QAASA,IACP1T,EAAKqV,WACH,CAAE7U,YAAa7M,EAAQ+F,SACvB,CAAEyG,iBAAkB,WAKpB8U,EAAW1jB,IAEX2jB,EAAYzlB,GAAS,KAAM,IAAA8lB,EAAAC,EAC/B,MAAMC,EAAgB9hB,EAAQ+V,SACxB7X,EAAO,CACX6jB,UAAW,EACXC,SAAU,EACVC,cAAe,EACfC,cAAe,EACfC,aAAc,GAGhB,OAAKL,GAGA5jB,EAAA6jB,UAA0B,QAA1BH,EAAYE,EAAcM,sBAAAR,IAAAA,EAAAA,EAAkB1jB,EAAK6jB,UACjD7jB,EAAAikB,qBAAAN,EAAeC,EAAcO,qBAAA,IAAAR,EAAAA,EAAiB3jB,EAAKikB,aACxDjkB,EAAK8jB,SAAW,EACX9jB,EAAA+jB,cAAgB/jB,EAAK6jB,UAAY7jB,EAAKikB,aACtCjkB,EAAAgkB,cAAgBhkB,EAAK6jB,UAAY7jB,EAAK8jB,SAEpC9jB,GAREA,CAQF,IAQF,OALP8H,GAAY,SAAMsc,EACZb,EAAQ7a,KAAK7K,QACfulB,EAASvlB,MAA4B,QAA5BumB,EAAQb,EAAQ7a,KAAK7K,aAAbumB,IAAoBA,OAApBA,EAAAA,EAAoBC,KAAUzb,IAAA,IAAKA,EAAG+K,MAAO,SAAO,IAGlE,CACLyP,SAAAA,EACAnkB,UAAWskB,EAAQtkB,UACnBokB,UAAAA,EAEJ,CAEA,MAAMiB,YAAEA,EAAaC,SAAAA,EAAAxb,SAAUA,YAAUyb,GAEzC,SAAiBpB,GACf,MAAQC,UAAAA,GAAcC,IAChBmB,EAAa/kB,EAAI,GACjBwC,EAAWxC,IACX8kB,EAAY9kB,GAAI,GAkFtB,SAASglB,QAAaC,EACpB,OAAgBA,QAAhBA,EAAOvB,EAASvlB,iBAAA8mB,SAATvB,EACHwB,QAAOrc,GAAQA,EAAKsc,eAAe,UAAYtc,EAAKoL,QACrD0Q,KAAK9b,IACA,GAAAA,EAAKoL,OAAS0P,EAAUxlB,MAAMmmB,cAChC,MAAO,CAACzb,EAAKV,QAASqG,OAAO3F,EAAKoL,OAAM,GAEhD,CAEA,SAASmR,QAAgBC,EAEvB,MAAMC,EAAgBN,IAGlB,OAA0B,KAA1BM,eAAAA,EAAe5lB,SACjBqlB,EAAW5mB,MAAQ,EACZ,KAGE4mB,EAAA5mB,MAAQmnB,SAEfD,UAFeC,EACfX,KAAI9b,GAAQ2F,OAAO3F,EAAK,iBACxBwc,SAFeA,EAEfE,QACA,CAACC,EAAeC,IAAiBD,EAAgBC,IAE9CH,EACT,CAEO,MAAA,CACLV,YA7GmBxW,IACnB,GAAIsV,EAASvlB,MAAMiQ,GAAK6F,MAAQ,GAAM,EAEpC,YADAyP,EAASvlB,MAAMiQ,GAAK6F,MAAQ,GAI9B,GAAIyP,EAASvlB,MAAMiQ,GAAK6F,OAASyP,EAASvlB,MAAMiQ,GAAK6F,MAAQ0P,EAAUxlB,MAAMmmB,cAE3E,YADAZ,EAASvlB,MAAMiQ,GAAK6F,MAAQ,GAK9B,MAAMqR,EAAgBF,IAEtB,GAAK1B,EAASvlB,MAAMiQ,GAAK6F,MAAzB,CAKI,GAA0B,KAA1BqR,aAAA,EAAAA,EAAe5lB,QAOjB,OALAgkB,EAASvlB,MAAOiQ,GAAK6F,MAAQqE,KAAKxE,IAChCwR,EAAc,GAAG,GACjB3B,EAAUxlB,MAAMmmB,oBAElB9hB,EAASrE,MAAQunB,OAAOC,YAAYX,MAItC,GAAID,EAAW5mB,MAAQwlB,EAAUxlB,MAAMmmB,cAAe,CAC9C,MAAArQ,EAAQ0P,EAAUxlB,MAAMmmB,eACzBS,EAAW5mB,MAAQulB,EAASvlB,MAAMiQ,GAAK6F,OAC5CyP,EAASvlB,MAAMiQ,GAAK6F,MAChBA,EAAQ,EAAI,EAAIA,CACtB,CACAzR,EAASrE,MAAQunB,OAAOC,YAAYX,IAlBpC,MAFWxiB,EAAArE,MAAQunB,OAAOC,YAAYL,EAoBW,EA2EjDT,SAxEee,CAACxX,EAAalF,KACfkc,IACN3U,QAAAC,IAAI,mBAAoBqU,EAAW5mB,OAC3C,MAAM0nB,EAAclC,EAAUxlB,MAAMmmB,cAAgBS,EAAW5mB,MACvDsS,QAAAC,IAAI,cAAemV,GACvBA,GAAe,GAAK3c,EAAE+K,QAAU0P,EAAUxlB,MAAMmmB,cACzC3X,EAAAC,MAAMtO,EAAG,0BAIN8mB,IACd1B,EAASvlB,MAAMiQ,GAAK6F,MAAQ4R,EAAcnC,EAASvlB,MAAMiQ,GAAK6F,MAChDmR,IACd5iB,EAASrE,MAAQunB,OAAOC,YAAYX,KAAa,EA4DjD3b,SAzDeC,UACX,GAAC9G,EAASrE,OAA4C,OAAnC2nB,KAAKC,UAAUvjB,EAASrE,OAA3C,CAKJ2mB,EAAU3mB,OAAQ,EACd,UACIyH,EAAKogB,KAAK5jB,EAAQ+F,QAAS3F,EAASrE,OAC1CslB,EAAOtlB,OAAQ,QAEVwK,GACY,iBAANA,IACLA,EAAE+D,SAAS,6BACJC,EAAAC,MAAMtO,EAAG,0BACXqK,EAAE+D,SAAS,iCACTC,EAAAC,MAAMtO,EAAG,0BAElBqO,EAASC,MAAMjE,IAEfA,aAAa6D,OACNG,EAAAC,MAAMjE,EAAE8D,SAEnBqY,EAAU3mB,OAAQ,EAClBsV,EAAMwS,OACR,CArBA,MAFWtZ,EAAAC,MAAMtO,EAAG,wBAuBpB,EAiCAwmB,UAAAA,EAEJ,CAzHuDoB,CAAQxC,UA2H/Dtb,GAAY,KACO,IAAA+d,EAAZ3C,EAAQnM,YACF8O,EAAAzC,EAAAvlB,aAAA,IAAAgoB,GAAAA,EAAO3P,SAAStN,IACvBA,EAAE+K,MAAQ,IAAA,GAEd,IAGWmS,EAAA,CACXlZ,KAAMsW,EAAQnO,QACd4Q,MAAOzC,EAAQzI,+iEC1LjB,MAAM1Y,YAAEA,GAAgBC,EAASC,oBACLsJ,KACtB,MAAAgH,EAAM5K,EAAoB,mBAC1B0a,EAAY1a,EAAoB,iBAChCoe,EAAermB,IAEf0hB,EAAO1hB,EAAI,GACXwjB,EAAUzP,KAChB,SAASuS,EAASnoB,GAChB0U,EAAI0T,KAAKpoB,EACX,CACAmL,eAAekd,IAASC,IAAAA,EACjBljB,EAAMlB,kBACHokB,EAAAnD,EAAYC,kCAAZkD,EAA2BvZ,QAEnCsW,EAAQnO,SACV,QAGAsN,EAAUza,IAAG,KACXsb,EAAQzI,UAAS,y8CCtBb,MAAA7Z,EAAelB,EAAI,o0CCqEzB,MAAM0mB,SAAEA,EAAAnnB,UAAUA,GA5BlB,WACQ,MAAAkiB,EAAaphB,GAAiB,KAC3B,CACLwhB,KAAM,EACND,SAAU,QAGR5Y,KAAEA,EAAAzJ,UAAMA,EAAWoT,QAAAA,GAAYmP,GAAS,CAC5CC,SAAU,CAACtT,EAAKkY,gBAAgB/c,GAAI6X,GACpCU,QAASA,IACP1T,EAAKkY,gBAAgB,CACnB9E,KAAMJ,EAAWI,KACjBO,UAAWX,EAAWG,aAGtB8E,EAAWxoB,GAAS,KAAA0oB,IAAAA,EAAAA,eAAAA,EAAM5d,EAAK7K,0BAALyoB,EAAYrE,IAAI,IAC1CZ,EAAQzjB,GAAS,KAAA2oB,IAAAA,EAAAA,OAAWA,QAAXA,EAAM7d,EAAK7K,iBAAA0oB,SAALA,EAAYpF,WAAWE,KAAK,IAClD,MAAA,CACL+E,WACAnnB,YACAoT,UACA8O,aACAE,QAEJ,CAIgCmF,oKAlEvB,CACL,CACE/T,MAAOzU,EAAG,yBACVwkB,UAAW,eACXG,MAAO,KAET,CACElQ,MAAOzU,EAAG,yBACVwkB,UAAW,iBACXG,MAAO,KAET,CACElQ,MAAOzU,EAAG,yBACVwkB,UAAW,SACXC,MAAO,OACPE,MAAO,KAET,CACElQ,MAAOzU,EAAG,yBACVwkB,UAAW,gBACXC,MAAO,OACPE,MAAO,KAET,CACElQ,MAAOzU,EAAG,yBACVwkB,UAAW,OACXC,MAAO,OACPE,MAAO,KAET,CACElQ,MAAOzU,EAAG,yBACVwkB,UAAW,YACXC,MAAO,SACPE,MAAO,miFClCb,MAAMxP,EAAQC,EACRC,EAAQC,GACNxR,QAAS2kB,EAAApU,QAAaA,GAAYrQ,EAASC,oBAC7C6W,EAAUrF,IAAW,IACnB7S,aAAcyT,GAAiBC,KACjC5L,EAiBN,WACQ,MAAAge,EAAS9oB,GAAS,KAAM,IAAA+oB,EAC5B,MAAMC,YAAEA,EAAaxP,QAAAA,WAAYuP,EAAAzkB,EAASrE,qBAAS,CAAA,EAC/C,OAAgB,IAAhB+oB,GAAiC,IAAZxP,EAChB,EACMyP,GAAqBzP,EAAUwP,KAAiB,EACxDF,IAGHI,EAAoBlpB,GAAS,KAAMmpB,IAAAA,EACjC,MAAAlP,SAAEA,GAAa4O,GACb5O,SAAUjX,WAAiBmmB,EAAA7kB,EAASrE,qBAAS,CAAA,EACrD,IAAKga,EACH,MAAO,GACT,MAAMmP,EACe,IAAjBpmB,EAAqBiX,eAAAA,EAAUD,gBAAkBC,eAAAA,EAAUC,aAExD,MAAA,CACLmP,cAAejP,KAAKC,MAAMyO,EAAO7oB,OAASmpB,QAAAA,EAAS,IACnDE,UAAWlP,KAAKC,MAAM9X,EAAOtC,OAASmpB,QAAAA,EAAS,IACjD,IAmDF,OAAO7kB,EAAS,CACdukB,SACAI,oBACAK,UAnDgBA,KACXT,EAAO7oB,QAEZsC,EAAOtC,MAAQ6oB,EAAO7oB,MAAA,EAiDtBupB,WA9CiBpe,UAAYqe,IAAAA,EAAAC,EAAAC,EAE7B,GADAzO,EAAQ/D,WACH5U,EAAOtC,MACV,OAAOwO,EAASrM,KAAKhC,EAAG,0BAC1B,MAAM8e,EAAuC,aAA7BuK,EAAAnlB,EAASrE,aAAO,IAAAwpB,OAAA,EAAhBA,EAAgBxP,UAAiB,CAAEoF,wBAAAqK,EAAiB5e,EAAKoe,yBAAA,IAAAQ,OAAA,EAALA,EAAwBJ,WAAc,CAAEnK,2BAAoBwK,EAAA7e,EAAKoe,sCAALS,EAAwBL,WACpJ,IAAAM,IAAAA,EAAAC,EAAAC,EACF,MAAM5nB,EAAS,CACbK,OAAQ8C,EAAM9C,GAAU,IAAM,EAC9BwnB,gBAAiC,QAAjCH,EAAiBtlB,EAASrE,aAAT2pB,IAAgBA,OAAhBA,EAAAA,EAAgBG,gBACjC9P,SAAUxD,EAAsB,QAAtBoT,EAAavlB,EAASrE,aAAT4pB,IAASA,OAATA,EAAAA,EAAgB5P,UAAUla,KACjDkK,QAAyB,QAAzB6f,EAASxlB,EAASrE,aAAT6pB,IAAgBA,OAAhBA,EAAAA,EAAgBvL,aACzBW,YAEIhD,OAAEA,SAAiBxU,EAAKsiB,mBAAmB9nB,GAEjDqjB,EAAOtlB,OAAQ,EACXic,GACMzH,IACRgB,EAAM,WACNwU,EAAe9S,WAGf8S,EAAepN,iBAGZnO,GACDA,aAAiBJ,OACfI,aAAiB0Q,SACf1Q,EAAMF,SAAS,6BACRC,EAAAC,MAAMtO,EAAG,0BACXsO,EAAMF,SAAS,iCACbC,EAAAC,MAAMtO,EAAG,0BAElBqO,EAASC,MAAMA,GAErB,CAEF,QACEwM,EAAQ2B,UACV,IASJ,CA9FaqN,GAEP5lB,EAAWxC,EAAI,CACnBmY,SAAU,IAEN1X,EAAST,EAAI,GAEnBqoB,IAAU,KACR7lB,EAASrE,MAAQsV,EAAMjR,SACvBwG,EAAKye,WAAU,IAEX,MAAAhE,EAASzjB,GAAI,GACbmoB,EAAiBpU,IAAW,GAClC,SAASuU,IACP7U,EAAMwS,OACR,gmFCoDA,MAAM5jB,YAAEA,GAAgBC,EAASC,qBAC3BmkB,SAAEA,EAAUjF,WAAAA,EAAAE,MAAYA,UAAOhP,EAASpT,UAAAA,GArC9C,WACE,MAAM8C,YAAEA,EAAAD,QAAaA,GAAYE,EAASC,oBACpCkf,EAAaphB,GAAiB,KAC3B,CACLwhB,KAAM,EACND,SAAU,QAGR5Y,KAAEA,EAAM2J,QAAAA,EAAApT,UAASA,EAAWgpB,WAAAA,GAAezG,GAAS,CACxDC,SAAU,CAAC,gBAAiBN,EAAY,IAAMrf,EAAQ+F,SACtD7I,QAAS+C,EACT8f,QAASA,IACAvc,EAAK4iB,kBAAkB,CAC5BrgB,QAAS/F,EAAQ+F,QACjBsgB,MAAOhH,EAAWG,SAClB8G,OAAQjH,EAAWI,KAAO,GAAKJ,EAAWG,SAC1C3jB,KAAM,MAKNyoB,EAAWxoB,GAAS,SAAAyqB,EAAA,eAAAA,EAAM3f,EAAK7K,aAAA,IAAAwqB,OAAA,EAALA,EAAY3f,KAAKA,IAAI,IAC/C2Y,EAAQzjB,GAAS,KAAA,IAAA0qB,EAAAC,EAAAD,eAAAA,UAAAC,EAAM7f,EAAK7K,aAAO,IAAA0qB,OAAA,EAAZA,EAAY7f,KAAK2Y,qBAAS,CAAC,IAClDvI,EAAUlb,GAAS,IAAMmE,EAAYlE,OAASoB,EAAUpB,OAASoqB,EAAWpqB,QAE3E,MAAA,CACLuoB,WACA/T,UACA8O,aACAE,QACApiB,UAAW6Z,EAEf,CAK4D0P,GACtDtF,EAAUzP,KACVqP,EAASpjB,IAQf,SAASkN,EAAK6b,GACZ3F,EAAOjlB,MAAQ4qB,EACfvF,EAAQnO,SACV,QAVYpN,EAAoB,iBAG5BC,IAAG,KACLsb,EAAQzI,UAAS,IAQb1S,EAAAmb,GAAUA,IACTA,GACK7Q,GAAA,4KAvFH,CACL,CACEI,MAAOzU,EAAG,yBACVwkB,UAAW,MAEb,CACE/P,MAAOzU,EAAG,yBACVwkB,UAAW,QACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,UACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,aACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,gBACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,YACXC,MAAO,soHCnBb,MAAMtP,EAAQC,EAiBRsV,EAAU9qB,GAAS,KACvB,OAPkB+qB,EAOAxV,EAAMwV,QAPGtH,EAOMlO,EAAMkO,MANlCsH,GAAYtH,EAETsH,EAAUtH,EAAS,IADlB,EAFF,IAAWsH,EAAStH,CAOiB,0lCC/B9C,MAAMlO,EAAQC,EAMR8P,EAAUzP,KACVqF,EAAUrF,IAAW,GACrBmF,EAASlZ,IACTkpB,EAAuBhrB,GAAS,IAAMirB,EAAQngB,KAAK7K,SACnD0B,OAAEA,GAAWC,IAEbqpB,EAAUC,GAAY,CAC1BC,YAAa,CAAC5a,EAAK6a,eAAe1f,GAAIsP,GACtCqQ,WAAY9a,EAAK6a,iBAGnBhgB,eAAekgB,IACb,GAAK3pB,EAAO1B,MAAZ,CAGAib,EAAQ/D,UACJ,IAAAoU,IAAAA,EAAAC,EAAAC,EAAAC,EACF,MAAMxpB,EAAS,CACbuN,UAAkB,QAAlB8b,EAAW5pB,EAAO1B,aAAA,IAAAsrB,OAAA,EAAPA,EAAc1hB,OAAOC,oBAChC6hB,aAAc,EACdnK,mBAAAgK,EAAYxQ,EAAO/a,aAAO,IAAAurB,OAAA,EAAdA,EAAcxa,aAGtB0K,QAAYhU,EAAKkkB,QAAQ1pB,GACzB2pB,QAA+BJ,QAApBA,EAAM/jB,EAAKO,mBAASwjB,SAAdA,EAAc/P,IAAI4D,KAAK5D,IAC9C,IAAKmQ,EACH,MAAM,IAAIvd,MAAMlO,EAAG,0BAEjB,GAAe,QAAfsrB,EAAC1Q,EAAO/a,aAAPyrB,IAAcA,IAAdA,EAAc5a,SACjB,MAAM,IAAIxC,MAAMlO,EAAG,gCAEfmQ,EAAKub,eACT,CACErb,YAAa,CACXK,SAAUkK,EAAO/a,MAAM6Q,SACvBV,WAAYyb,IAGhB,CAAEnb,iBAAkB,SAyB1BtF,iBACE,MAAM4F,YAAEA,EAAAF,SAAaA,GAAazL,EAAM2V,GACpC,GAAChK,GAAgBF,EAEjB,IACI,MAAAib,QAyBV3gB,iBACE,MAAM4F,YAAEA,EAAAF,SAAaA,GAAazL,EAAM2V,GACxC,IAAA,IAAShQ,EAAI,EAAGA,GAAK,GAAIA,IAAK,CACtB,MAAA6E,QAAYU,EAAKyb,iBACrB,CACElb,WACAC,YAAaC,GAEf,CACEN,iBAAkB,OAClBmB,WAAY,MACZC,WAAW,IAMf,GAHiB,QAAbjC,EAAItE,YACAqF,EAAM,KAEG,IAAbf,EAAItE,KACN,OAAOsE,EAAI/E,KAEb,GAAiB,IAAb+E,EAAItE,MAA2B,QAAbsE,EAAItE,KACxB,MAAU2U,IAAAA,GAAS9f,EAAG,yBAC1B,CACF,CAhD+B6rB,GAEvB,GADJ3G,EAAQzI,WACqB,MAAzBkP,aAAAA,EAAAA,EAAc9a,QAGhB,OAFSxC,EAAAyd,QAAQ9rB,EAAG,+BAgDxBmV,EAAM4W,UA5CA,GAAyB,MAAzBJ,aAAA,EAAAA,EAAc9a,QAIhB,YAHSxC,EAAArM,QACJhC,EAAG,6BAA6BA,EAAG,4BAIjCqO,EAAAC,MAAMtO,EAAG,0BAClB8a,EAAQ2B,iBAEHpS,GACDA,aAAayV,IACNzR,EAAAC,MAAMjE,EAAE8D,QAAO,CAE5B,QACE2M,EAAQ2B,UACV,CACF,CAlDyBuP,SAEhB1d,GACDA,aAAiB0Q,SACf1Q,EAAMF,SAAS,6BACRC,EAAAC,MAAMtO,EAAG,0BACXsO,EAAMF,SAAS,iCACbC,EAAAC,MAAMtO,EAAG,0BAElBqO,EAASC,MAAMA,IAGfA,aAAiBwR,IACA,QAAfxR,EAAMnD,MACRgK,EAAM4W,UAENzd,aAAiBJ,OACVG,EAAAC,MAAMA,EAAMH,SACvB2M,EAAQ2B,UACV,CA7CA3B,CA8CF,QA0EagN,EAAA,CACXlZ,KAdF,SAAckW,GACLlK,EAAA/a,MAAQoF,EAAM6f,GACrBI,EAAQnO,UACJ6D,EAAO/a,MAAMosB,UACfpB,EAAQqB,YAAY,CAClB7b,YAAa,CACXK,SAAUoU,EAAOpU,SACjBE,YAAakU,EAAOlU,cAI5B,EAIE+W,MAAOzC,EAAQzI,kjDC/IjB,MAAM3Y,QAAEA,GAAYE,EAASC,oBACvBihB,EAAUzP,KAGVqP,EAASpjB,IACTyqB,EAAgBzqB,EAAY,GAmC5BkjB,EAAoBrB,GAAkBJ,EAAWI,KAAOA,EAExDJ,EAAahf,EAAS,CAC1Bof,KAAM,EACND,SAAU,IAGNtiB,EAAUpB,GACd,MAAQqF,EAAM6f,MAAaA,EAAOjlB,MAAM6Q,YAAc5M,EAAQ+F,UAG1DuiB,EAAU5I,GAAS,CACvBC,SAAU,CAACtT,EAAKkc,sBAAsB/gB,GAAI6X,EAAY2B,GACtD9jB,UACA2iB,sBAAsB,EACtB8B,UAAW,IACX5B,QAASA,KAAAyI,IAAAA,EACP,OAAAnc,EAAKkc,sBAAsB,CACzB1b,YAAa7M,EAAQ+F,QACrB0iB,gBAA+BD,QAA/BA,EAAiBxH,EAAOjlB,aAAPysB,IAAcA,OAAdA,EAAAA,EAAc5b,SAC/B6S,KAAMJ,EAAWI,KACjBO,UAAWX,EAAWG,UACvB,IAGC8E,EAAWxoB,GAAS,KAAA4sB,IAAAA,SAAMJ,iBAASI,EAATJ,EAAS1hB,KAAK7K,0BAAd2sB,EAAqBvI,IAAI,IACnDZ,EAAQzjB,GAAS,SAAA6sB,EAAA,OAAML,SAAcK,UAAdL,EAAS1hB,KAAK7K,iBAAA4sB,SAAdA,EAAqBtJ,WAAWE,KAAK,WAErDyE,EAAA,CACXlZ,KA9DF,SAAckQ,GACZgG,EAAOjlB,MAAQif,EACfqN,EAActsB,MAAQif,EAAQvD,cAC9B2J,EAAQnO,SACV,EA2DE4Q,MAAOzC,EAAQzI,+oBAxDR,CACL,CACEhI,cAAOiY,EAAA5H,EAAOjlB,aAAO,IAAA6sB,GAAdA,EAAcnR,cACjBvb,EAAG,yBACHA,EAAG,yBACPwkB,UAAW,iBACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,cACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,cACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,YACXC,MAAO,+4BAtBb,IAAgCiI,8vBC4EhC,SAASC,EAAelC,GAChB,MAAAmC,sBAAEA,EAAuB3c,eAAAA,GAAmBwa,EAC9C,OAACmC,GAA0B3c,EAEvB2c,EAAwB3c,EAAkB,KACpD,CAEA,MAAMlM,YAAEA,GAAgBC,EAASC,qBAC3BmkB,SAAEA,YAAUnnB,EAAWkiB,WAAAA,EAAAE,MAAYA,UAAOhP,EAASxP,MAAAA,GA9CzD,WACE,MAAQd,YAAAA,EAAAA,QAAaD,GAAYE,EAASC,oBAEpCkf,EAAaphB,GAAiB,KAC3B,CACLwhB,KAAM,EACND,SAAU,OAIRze,EAAQnD,EAAI,IAEZgJ,KAAEA,EAAMzJ,UAAAA,EAAWoT,QAAAA,GAAYmP,GAAS,CAC5CC,SAAU,CAACtT,EAAK0c,WAAWvhB,GAAI6X,EAAY,IAAMrf,EAAQ+F,QAAShF,GAClE7D,QAAS+C,EACT8f,QAASA,IACP1T,EAAK0c,WAAW,CACdlc,YAAa7M,EAAQ+F,QACrB0Z,KAAMJ,EAAWI,KACjBO,UAAWX,EAAWG,SACtBze,MAAOA,EAAMhF,UAIbuoB,EAAWxoB,GAAS,KAAA,IAAAktB,EAAA,eAAAA,EAAMpiB,EAAK7K,aAALitB,WAAAA,EAAAA,EAAY7I,IAAI,IAC1CZ,EAAQzjB,GAAS,KAAA,IAAAmtB,EAAA,OAAW,QAAXA,EAAMriB,EAAK7K,aAALktB,IAAKA,OAALA,EAAAA,EAAY5J,WAAWE,KAAK,IACnDvI,EAAUlb,GAAS,IAAMmE,EAAYlE,OAASoB,EAAUpB,QAEvD,MAAA,CACLuoB,SAAAA,EACA/T,QAAAA,EACA8O,WAAAA,EACAE,MAAAA,EACApiB,UAAW6Z,EACXjW,MAAAA,EAEJ,CAUmEmoB,GAE7DC,EAAiBvrB,IACjBwrB,EAAqBxrB,IAChBkM,IACL,MAAAuN,EAAOvb,GAAS,IAAM,CAAC,CAAEC,MAAO,EAAGoX,KAAMjX,EAAG,yBAA2B,CAAEH,MAAO,EAAGoX,KAAMjX,EAAG,+hBA5FzF,CACL,CACEyU,MAAOzU,EAAG,yBACVwkB,UAAW,OACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,iBACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,gBACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,yBACVwkB,UAAW,aACXC,MAAO,QAET,CACEhQ,MAAOzU,EAAG,wBACVwkB,UAAW,aACXC,MAAO,SACPC,WAAY,CAAC,OAEf,CACEjQ,MAAOzU,EAAG,yBACVwkB,UAAW,WACXC,MAAO,SACPC,WAAY,CAAC,OAEf,CACEjQ,MAAOzU,EAAG,yBACVwkB,UAAW,YACXC,MAAO,s4KCtCP,MAAA0I,EAAYzrB,EAAI,quCCDtB,MAAM0rB,EAAc3X,MACd1R,YAAEA,GAAgBC,EAASC,qBAC3BmH,QAAEA,EAAAzK,OAASA,GAAW2M,MACtBtM,QAAEA,GAAYqsB,KACdC,EAAc5rB,IACdiM,EAAKC,WAEL7D,GAAA,IAAM4D,EAAG4f,YAAW,KACxBniB,EAAQ4J,KAAK,QAAO,g4DChBtB,MAAMwY,EAAWC,GAAc,CAAEC,kBAAkB,WAC3CC,GAAA,CACNlZ,MAAOA,IAAS,GAAAzU,EAAG,8BAA8BA,EAAG,2BACpD4tB,UAAW,CACTC,KAAML,EAAS3tB,MAAM+tB,UAAWC,MAElCC,KAAM,IAAKN,EAAS3tB,MAAMiuB,MAAQ,IAClC1tB,KAAM,IACAotB,EAAS3tB,MAAMO,MAAQ,GAC5B,CACC2tB,SAAU,WACVC,QAASA,IAAMhuB,EAAG,6BCVhBoH,EAAQC,cAAiBc,OAAeN,SAC1CT,EAAQuP"}