@quantabit/account-type-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/types/index.js","../src/services/accountTypeApi.js","../src/i18n/index.js","../src/hooks/useAccountType.js","../src/components/AccountType.jsx"],"sourcesContent":["/**\n * Account Type SDK - 类型定义\n */\n\n// 账号类型\nexport const AccountType = {\n PERSONAL: 'personal', // 个人账号\n CREATOR: 'creator', // 创作者账号\n BUSINESS: 'business', // 企业账号\n INSTITUTION: 'institution', // 机构账号\n DEVELOPER: 'developer', // 开发者账号\n};\n\n// 认证级别\nexport const VerificationLevel = {\n NONE: 'none',\n BASIC: 'basic',\n VERIFIED: 'verified',\n OFFICIAL: 'official',\n};\n\n// 认证标识颜色\nexport const VerificationBadge = {\n BLUE: 'blue', // 蓝V - 个人认证\n YELLOW: 'yellow', // 黄V - 企业认证\n RED: 'red', // 红V - 官方认证\n PURPLE: 'purple', // 紫V - 机构认证\n};\n\n// 申请状态\nexport const ApplicationStatus = {\n PENDING: 'pending',\n REVIEWING: 'reviewing',\n APPROVED: 'approved',\n REJECTED: 'rejected',\n NEED_INFO: 'need_info',\n};\n\n/**\n * 账号类型配置\n */\nexport const ACCOUNT_TYPE_CONFIG = {\n [AccountType.PERSONAL]: {\n name: '个人账号',\n icon: '👤',\n badge: null,\n features: ['基础功能', '社交互动', '内容发布'],\n limits: { dailyPosts: 10, followers: 5000 },\n },\n [AccountType.CREATOR]: {\n name: '创作者账号',\n icon: '✨',\n badge: VerificationBadge.BLUE,\n features: ['数据分析', '粉丝运营', '收益提现', '专属标识'],\n limits: { dailyPosts: 50, followers: null },\n requirements: { followers: 1000, posts: 10 },\n },\n [AccountType.BUSINESS]: {\n name: '企业账号',\n icon: '🏢',\n badge: VerificationBadge.YELLOW,\n features: ['企业主页', '客户管理', '数据面板', '优先客服'],\n limits: { dailyPosts: 100, followers: null },\n requirements: { businessLicense: true },\n },\n [AccountType.INSTITUTION]: {\n name: '机构账号',\n icon: '🏛️',\n badge: VerificationBadge.PURPLE,\n features: ['多账号管理', '团队协作', 'API接入', '专属客服'],\n limits: { dailyPosts: 200, subAccounts: 50 },\n requirements: { institutionLicense: true },\n },\n [AccountType.DEVELOPER]: {\n name: '开发者账号',\n icon: '👨‍💻',\n badge: null,\n features: ['API访问', '开发文档', '沙箱环境', '技术支持'],\n limits: { apiCalls: 10000 },\n requirements: { email: true },\n },\n};\n\n/**\n * 获取账号类型信息\n */\nexport function getAccountTypeInfo(type) {\n return ACCOUNT_TYPE_CONFIG[type] || ACCOUNT_TYPE_CONFIG[AccountType.PERSONAL];\n}\n\n/**\n * 获取认证图标\n */\nexport function getVerificationBadgeIcon(badge) {\n const icons = {\n [VerificationBadge.BLUE]: '✓',\n [VerificationBadge.YELLOW]: '✓',\n [VerificationBadge.RED]: '★',\n [VerificationBadge.PURPLE]: '✓',\n };\n return icons[badge] || '';\n}\n\n/**\n * 获取认证颜色\n */\nexport function getVerificationColor(badge) {\n const colors = {\n [VerificationBadge.BLUE]: '#3b82f6',\n [VerificationBadge.YELLOW]: '#f59e0b',\n [VerificationBadge.RED]: '#ef4444',\n [VerificationBadge.PURPLE]: '#8b5cf6',\n };\n return colors[badge] || '#6b7280';\n}\n\n/**\n * 检查升级条件\n */\nexport function checkUpgradeEligibility(currentType, targetType, userStats) {\n const config = ACCOUNT_TYPE_CONFIG[targetType];\n if (!config?.requirements) return { eligible: true, missing: [] };\n \n const missing = [];\n const { requirements } = config;\n \n if (requirements.followers && userStats.followers < requirements.followers) {\n missing.push(`粉丝数需达到 ${requirements.followers}`);\n }\n if (requirements.posts && userStats.posts < requirements.posts) {\n missing.push(`发布内容需达到 ${requirements.posts} 条`);\n }\n if (requirements.businessLicense && !userStats.hasBusinessLicense) {\n missing.push('需要营业执照');\n }\n \n return { eligible: missing.length === 0, missing };\n}\n","/**\n * Account Type SDK - API 客户端\n * 账号类型管理系统后端接口封装\n * \n * 使用 BaseApiClient 基类简化代码\n */\n\nimport { BaseApiClient } from '@quantabit/sdk-config';\n\n/**\n * 账号类型 API 客户端\n */\nexport class AccountTypeApiClient extends BaseApiClient {\n constructor(config = {}) {\n super('/account-type', config);\n }\n\n // ============ 账号类型查询 ============\n\n /**\n * 获取当前账号类型\n */\n async getMyAccountType() {\n return this.get('/me');\n }\n\n /**\n * 获取可用账号类型列表\n */\n async getAvailableTypes() {\n return this.get('/types');\n }\n\n /**\n * 获取类型详情\n * @param {string} type - 类型标识\n */\n async getTypeDetails(type) {\n return this.get(`/types/${type}`);\n }\n\n /**\n * 获取权益对比\n * @param {string} type1 - 类型1\n * @param {string} type2 - 类型2\n */\n async compareBenefits(type1, type2) {\n return this.get('/compare', { type1, type2 });\n }\n\n // ============ 升级申请 ============\n\n /**\n * 检查升级资格\n * @param {string} targetType - 目标类型\n */\n async checkEligibility(targetType) {\n return this.get('/upgrade/check', { type: targetType });\n }\n\n /**\n * 申请升级\n * @param {string} targetType - 目标类型\n * @param {Object} documents - 证明材料\n */\n async applyUpgrade(targetType, documents = {}) {\n return this.post('/upgrade/apply', { targetType, documents });\n }\n\n /**\n * 获取申请状态\n */\n async getApplicationStatus() {\n return this.get('/upgrade/status');\n }\n\n /**\n * 取消申请\n * @param {string} applicationId - 申请 ID\n */\n async cancelApplication(applicationId) {\n return this.post(`/upgrade/${applicationId}/cancel`);\n }\n\n /**\n * 补充材料\n * @param {string} applicationId - 申请 ID\n * @param {Object} documents - 补充材料\n */\n async submitAdditionalDocs(applicationId, documents) {\n return this.post(`/upgrade/${applicationId}/documents`, { documents });\n }\n\n /**\n * 获取升级历史\n */\n async getUpgradeHistory() {\n return this.get('/upgrade/history');\n }\n\n // ============ 认证申请 ============\n\n /**\n * 申请企业认证\n * @param {Object} data - 企业信息\n */\n async applyBusinessVerification(data) {\n return this.post('/verification/business', data);\n }\n\n /**\n * 申请创作者认证\n * @param {Object} data - 创作者信息\n */\n async applyCreatorVerification(data) {\n return this.post('/verification/creator', data);\n }\n\n /**\n * 申请机构认证\n * @param {Object} data - 机构信息\n */\n async applyOrganizationVerification(data) {\n return this.post('/verification/organization', data);\n }\n\n /**\n * 获取认证状态\n * @param {string} type - 认证类型\n */\n async getVerificationStatus(type) {\n return this.get(`/verification/${type}/status`);\n }\n}\n\n// 创建默认实例\nexport const accountTypeApi = new AccountTypeApiClient();\n\nexport default accountTypeApi;\n","/**\n * Account Type SDK - 国际化支持\n */\n\nconst messages = {\n en: {\n accountType: 'Account Type',\n personal: 'Personal',\n creator: 'Creator',\n business: 'Business',\n institution: 'Institution',\n developer: 'Developer',\n \n currentType: 'Current Type',\n upgrade: 'Upgrade',\n downgrade: 'Downgrade',\n apply: 'Apply',\n cancel: 'Cancel',\n \n verified: 'Verified',\n unverified: 'Unverified',\n \n features: 'Features',\n benefits: 'Benefits',\n requirements: 'Requirements',\n \n applicationPending: 'Application Pending',\n applicationApproved: 'Approved',\n applicationRejected: 'Rejected',\n needMoreInfo: 'Need More Info',\n \n followers: 'Followers',\n posts: 'Posts',\n businessLicense: 'Business License',\n \n upgradeSuccess: 'Upgrade Successful!',\n applicationSubmitted: 'Application Submitted',\n },\n \n zh: {\n accountType: '账号类型',\n personal: '个人账号',\n creator: '创作者',\n business: '企业账号',\n institution: '机构账号',\n developer: '开发者',\n \n currentType: '当前类型',\n upgrade: '升级',\n downgrade: '降级',\n apply: '申请',\n cancel: '取消',\n \n verified: '已认证',\n unverified: '未认证',\n \n features: '功能特权',\n benefits: '权益',\n requirements: '申请条件',\n \n applicationPending: '申请审核中',\n applicationApproved: '已通过',\n applicationRejected: '已拒绝',\n needMoreInfo: '需要补充材料',\n \n followers: '粉丝数',\n posts: '发布内容',\n businessLicense: '营业执照',\n \n upgradeSuccess: '升级成功!',\n applicationSubmitted: '申请已提交',\n },\n \n ja: {\n accountType: 'アカウントタイプ',\n personal: '個人',\n creator: 'クリエイター',\n business: 'ビジネス',\n institution: '機関',\n developer: '開発者',\n \n currentType: '現在のタイプ',\n upgrade: 'アップグレード',\n downgrade: 'ダウングレード',\n apply: '申請',\n cancel: 'キャンセル',\n \n verified: '認証済み',\n unverified: '未認証',\n \n features: '機能',\n benefits: '特典',\n requirements: '申請条件',\n \n applicationPending: '審査中',\n applicationApproved: '承認済み',\n applicationRejected: '却下',\n needMoreInfo: '追加情報が必要',\n \n followers: 'フォロワー',\n posts: '投稿',\n businessLicense: '事業許可証',\n \n upgradeSuccess: 'アップグレード成功!',\n applicationSubmitted: '申請完了',\n },\n \n ko: {\n accountType: '계정 유형',\n personal: '개인',\n creator: '크리에이터',\n business: '비즈니스',\n institution: '기관',\n developer: '개발자',\n \n currentType: '현재 유형',\n upgrade: '업그레이드',\n downgrade: '다운그레이드',\n apply: '신청',\n cancel: '취소',\n \n verified: '인증됨',\n unverified: '미인증',\n \n features: '기능',\n benefits: '혜택',\n requirements: '신청 조건',\n \n applicationPending: '심사 중',\n applicationApproved: '승인됨',\n applicationRejected: '거절됨',\n needMoreInfo: '추가 정보 필요',\n \n followers: '팔로워',\n posts: '게시물',\n businessLicense: '사업자등록증',\n \n upgradeSuccess: '업그레이드 성공!',\n applicationSubmitted: '신청 완료',\n },\n};\n\nconst SUPPORTED_LANGUAGES = ['en', 'zh', 'ja', 'ko'];\nlet currentLanguage = 'zh';\n\nexport function setLanguage(lang) {\n if (SUPPORTED_LANGUAGES.includes(lang)) {\n currentLanguage = lang;\n }\n}\n\nexport function getLanguage() {\n return currentLanguage;\n}\n\nexport function t(key, params = {}) {\n let text = messages[currentLanguage]?.[key] || messages.en[key] || key;\n Object.keys(params).forEach((param) => {\n text = text.replace(`{${param}}`, params[param]);\n });\n return text;\n}\n\nexport { messages, SUPPORTED_LANGUAGES };\n","/**\n * Account Type SDK - React Hooks\n */\n\nimport { useState, useEffect, useCallback } from 'react';\nimport { accountTypeApi } from '../services/accountTypeApi';\n\n// 获取当前账号类型\nexport function useAccountType() {\n const [accountType, setAccountType] = useState(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n\n const refresh = useCallback(async () => {\n try {\n setLoading(true);\n const data = await accountTypeApi.getMyAccountType();\n setAccountType(data);\n setError(null);\n } catch (err) {\n setError(err.message);\n } finally {\n setLoading(false);\n }\n }, []);\n\n useEffect(() => {\n refresh();\n }, [refresh]);\n\n return { accountType, loading, error, refresh };\n}\n\n// 获取可用类型\nexport function useAvailableTypes() {\n const [types, setTypes] = useState([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n\n useEffect(() => {\n accountTypeApi.getAvailableTypes()\n .then(setTypes)\n .catch((err) => setError(err.message))\n .finally(() => setLoading(false));\n }, []);\n\n return { types, loading, error };\n}\n\n// 升级申请\nexport function useUpgradeApplication() {\n const [status, setStatus] = useState(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n const fetchStatus = useCallback(async () => {\n try {\n const data = await accountTypeApi.getApplicationStatus();\n setStatus(data);\n } catch (err) {\n // 可能没有申请记录\n setStatus(null);\n }\n }, []);\n\n const apply = useCallback(async (targetType, documents = {}) => {\n try {\n setLoading(true);\n setError(null);\n const result = await accountTypeApi.applyUpgrade(targetType, documents);\n await fetchStatus();\n return result;\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, [fetchStatus]);\n\n const cancel = useCallback(async (applicationId) => {\n try {\n setLoading(true);\n await accountTypeApi.cancelApplication(applicationId);\n await fetchStatus();\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, [fetchStatus]);\n\n const submitDocs = useCallback(async (applicationId, documents) => {\n try {\n setLoading(true);\n await accountTypeApi.submitAdditionalDocs(applicationId, documents);\n await fetchStatus();\n } catch (err) {\n setError(err.message);\n throw err;\n } finally {\n setLoading(false);\n }\n }, [fetchStatus]);\n\n useEffect(() => {\n fetchStatus();\n }, [fetchStatus]);\n\n return { status, apply, cancel, submitDocs, loading, error, refresh: fetchStatus };\n}\n\n// 资格检查\nexport function useEligibilityCheck(targetType) {\n const [eligibility, setEligibility] = useState(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n\n useEffect(() => {\n if (!targetType) return;\n \n accountTypeApi.checkEligibility(targetType)\n .then(setEligibility)\n .catch((err) => setError(err.message))\n .finally(() => setLoading(false));\n }, [targetType]);\n\n return { eligibility, loading, error };\n}\n\n// 权益对比\nexport function useBenefitsComparison(type1, type2) {\n const [comparison, setComparison] = useState(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n\n useEffect(() => {\n if (!type1 || !type2) return;\n \n accountTypeApi.compareBenefits(type1, type2)\n .then(setComparison)\n .catch((err) => setError(err.message))\n .finally(() => setLoading(false));\n }, [type1, type2]);\n\n return { comparison, loading, error };\n}\n","import React, { useState } from 'react';\nimport { getAccountTypeInfo, getVerificationColor, getVerificationBadgeIcon, AccountType, ApplicationStatus } from '../types';\n\n/**\n * 认证徽章\n */\nexport function VerificationBadge({ badge, size = 'medium' }) {\n if (!badge) return null;\n \n const color = getVerificationColor(badge);\n const icon = getVerificationBadgeIcon(badge);\n const sizeClass = { small: 'badge-sm', medium: 'badge-md', large: 'badge-lg' };\n \n return (\n <span \n className={`account-badge ${sizeClass[size]}`}\n style={{ backgroundColor: color }}\n >\n {icon}\n </span>\n );\n}\n\n/**\n * 账号类型卡片\n */\nexport function AccountTypeCard({\n type,\n isCurrent = false,\n isSelected = false,\n onSelect,\n disabled = false,\n}) {\n const info = getAccountTypeInfo(type);\n \n return (\n <div \n className={`account-type-card ${isCurrent ? 'current' : ''} ${isSelected ? 'selected' : ''} ${disabled ? 'disabled' : ''}`}\n onClick={() => !disabled && onSelect?.(type)}\n >\n {isCurrent && <span className=\"account-current-tag\">当前</span>}\n <div className=\"account-type-icon\">{info.icon}</div>\n <div className=\"account-type-name\">\n {info.name}\n {info.badge && <VerificationBadge badge={info.badge} size=\"small\" />}\n </div>\n <ul className=\"account-type-features\">\n {info.features.map((feature, i) => (\n <li key={i}>✓ {feature}</li>\n ))}\n </ul>\n {info.requirements && (\n <div className=\"account-type-requirements\">\n 需要满足条件\n </div>\n )}\n </div>\n );\n}\n\n/**\n * 类型选择器\n */\nexport function AccountTypeSelector({\n currentType,\n selectedType,\n onSelect,\n types = Object.values(AccountType),\n}) {\n return (\n <div className=\"account-type-selector\">\n {types.map((type) => (\n <AccountTypeCard\n key={type}\n type={type}\n isCurrent={type === currentType}\n isSelected={type === selectedType}\n onSelect={onSelect}\n />\n ))}\n </div>\n );\n}\n\n/**\n * 申请状态卡片\n */\nexport function ApplicationStatusCard({\n application,\n onCancel,\n onSubmitDocs,\n}) {\n if (!application) return null;\n\n const statusConfig = {\n [ApplicationStatus.PENDING]: { label: '待审核', color: '#f59e0b', icon: '⏳' },\n [ApplicationStatus.REVIEWING]: { label: '审核中', color: '#3b82f6', icon: '🔍' },\n [ApplicationStatus.APPROVED]: { label: '已通过', color: '#22c55e', icon: '✅' },\n [ApplicationStatus.REJECTED]: { label: '已拒绝', color: '#ef4444', icon: '❌' },\n [ApplicationStatus.NEED_INFO]: { label: '需补充材料', color: '#f97316', icon: '📝' },\n };\n\n const config = statusConfig[application.status] || statusConfig[ApplicationStatus.PENDING];\n const targetInfo = getAccountTypeInfo(application.targetType);\n\n return (\n <div className=\"account-application-card\">\n <div className=\"account-application-header\">\n <span className=\"account-application-target\">\n {targetInfo.icon} 升级至 {targetInfo.name}\n </span>\n <span \n className=\"account-application-status\"\n style={{ backgroundColor: config.color }}\n >\n {config.icon} {config.label}\n </span>\n </div>\n \n <div className=\"account-application-info\">\n <div>申请时间: {new Date(application.createdAt).toLocaleDateString()}</div>\n {application.message && <div>备注: {application.message}</div>}\n </div>\n\n {application.status === ApplicationStatus.NEED_INFO && (\n <button \n className=\"account-btn primary\"\n onClick={() => onSubmitDocs?.(application.id)}\n >\n 补充材料\n </button>\n )}\n\n {[ApplicationStatus.PENDING, ApplicationStatus.REVIEWING].includes(application.status) && (\n <button \n className=\"account-btn secondary\"\n onClick={() => onCancel?.(application.id)}\n >\n 取消申请\n </button>\n )}\n </div>\n );\n}\n\n/**\n * 权益对比表\n */\nexport function BenefitsComparison({\n currentType,\n targetType,\n}) {\n const currentInfo = getAccountTypeInfo(currentType);\n const targetInfo = getAccountTypeInfo(targetType);\n\n return (\n <div className=\"account-comparison\">\n <div className=\"account-comparison-header\">\n <div className=\"account-comparison-col\">\n <span className=\"account-comparison-type current\">\n {currentInfo.icon} {currentInfo.name}\n </span>\n </div>\n <div className=\"account-comparison-arrow\">→</div>\n <div className=\"account-comparison-col\">\n <span className=\"account-comparison-type target\">\n {targetInfo.icon} {targetInfo.name}\n </span>\n </div>\n </div>\n <div className=\"account-comparison-body\">\n <div className=\"account-comparison-section\">\n <h4>新增权益</h4>\n {targetInfo.features\n .filter((f) => !currentInfo.features.includes(f))\n .map((feature, i) => (\n <div key={i} className=\"account-comparison-item new\">\n ✨ {feature}\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}\n\n/**\n * 升级表单\n */\nexport function UpgradeForm({\n targetType,\n onSubmit,\n loading = false,\n}) {\n const [documents, setDocuments] = useState({});\n const info = getAccountTypeInfo(targetType);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n onSubmit?.(documents);\n };\n\n return (\n <form className=\"account-upgrade-form\" onSubmit={handleSubmit}>\n <h3>申请升级至 {info.name}</h3>\n \n {targetType === AccountType.BUSINESS && (\n <div className=\"account-form-group\">\n <label>营业执照</label>\n <input \n type=\"file\" \n accept=\"image/*,.pdf\"\n onChange={(e) => setDocuments({ ...documents, businessLicense: e.target.files[0] })}\n />\n </div>\n )}\n\n {targetType === AccountType.CREATOR && (\n <div className=\"account-form-group\">\n <label>创作领域</label>\n <select \n value={documents.category || ''}\n onChange={(e) => setDocuments({ ...documents, category: e.target.value })}\n >\n <option value=\"\">请选择</option>\n <option value=\"tech\">科技</option>\n <option value=\"lifestyle\">生活</option>\n <option value=\"entertainment\">娱乐</option>\n <option value=\"education\">教育</option>\n </select>\n </div>\n )}\n\n <div className=\"account-form-group\">\n <label>申请说明(选填)</label>\n <textarea \n placeholder=\"请简要说明您的申请理由\"\n value={documents.description || ''}\n onChange={(e) => setDocuments({ ...documents, description: e.target.value })}\n />\n </div>\n\n <button \n type=\"submit\" \n className=\"account-btn primary large\"\n disabled={loading}\n >\n {loading ? '提交中...' : '提交申请'}\n </button>\n </form>\n );\n}\n\n/**\n * 账号类型页面\n */\nexport function AccountTypePage({\n currentType,\n application,\n onApply,\n onCancelApplication,\n loading = false,\n}) {\n const [selectedType, setSelectedType] = useState(null);\n const [showForm, setShowForm] = useState(false);\n\n const handleSelect = (type) => {\n if (type !== currentType) {\n setSelectedType(type);\n }\n };\n\n const handleApply = (documents) => {\n onApply?.(selectedType, documents);\n setShowForm(false);\n };\n\n return (\n <div className=\"account-type-page\">\n <h1>账号类型</h1>\n \n {application && (\n <ApplicationStatusCard\n application={application}\n onCancel={onCancelApplication}\n />\n )}\n\n <section>\n <h2>选择账号类型</h2>\n <AccountTypeSelector\n currentType={currentType}\n selectedType={selectedType}\n onSelect={handleSelect}\n />\n </section>\n\n {selectedType && selectedType !== currentType && (\n <section>\n <BenefitsComparison\n currentType={currentType}\n targetType={selectedType}\n />\n <button \n className=\"account-btn primary large\"\n onClick={() => setShowForm(true)}\n >\n 申请升级\n </button>\n </section>\n )}\n\n {showForm && (\n <div className=\"account-modal-overlay\" onClick={() => setShowForm(false)}>\n <div className=\"account-modal\" onClick={(e) => e.stopPropagation()}>\n <UpgradeForm\n targetType={selectedType}\n onSubmit={handleApply}\n loading={loading}\n />\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"names":["AccountType","PERSONAL","CREATOR","BUSINESS","INSTITUTION","DEVELOPER","VerificationLevel","NONE","BASIC","VERIFIED","OFFICIAL","VerificationBadge","BLUE","YELLOW","RED","PURPLE","ApplicationStatus","PENDING","REVIEWING","APPROVED","REJECTED","NEED_INFO","ACCOUNT_TYPE_CONFIG","name","icon","badge","features","limits","dailyPosts","followers","requirements","posts","businessLicense","subAccounts","institutionLicense","apiCalls","email","getAccountTypeInfo","type","getVerificationBadgeIcon","icons","getVerificationColor","colors","checkUpgradeEligibility","currentType","targetType","userStats","config","eligible","missing","push","hasBusinessLicense","length","AccountTypeApiClient","BaseApiClient","constructor","getMyAccountType","get","getAvailableTypes","getTypeDetails","compareBenefits","type1","type2","checkEligibility","applyUpgrade","documents","post","getApplicationStatus","cancelApplication","applicationId","submitAdditionalDocs","getUpgradeHistory","applyBusinessVerification","data","applyCreatorVerification","applyOrganizationVerification","getVerificationStatus","accountTypeApi","messages","en","accountType","personal","creator","business","institution","developer","upgrade","downgrade","apply","cancel","verified","unverified","benefits","applicationPending","applicationApproved","applicationRejected","needMoreInfo","upgradeSuccess","applicationSubmitted","zh","ja","ko","SUPPORTED_LANGUAGES","currentLanguage","setLanguage","lang","includes","getLanguage","t","key","params","text","Object","keys","forEach","param","replace","useAccountType","setAccountType","useState","loading","setLoading","error","setError","refresh","useCallback","err","message","useEffect","useAvailableTypes","types","setTypes","then","catch","finally","useUpgradeApplication","status","setStatus","fetchStatus","result","submitDocs","useEligibilityCheck","eligibility","setEligibility","useBenefitsComparison","comparison","setComparison","size","color","sizeClass","small","medium","large","React","createElement","className","style","backgroundColor","AccountTypeCard","isCurrent","isSelected","onSelect","disabled","info","onClick","map","feature","i","AccountTypeSelector","selectedType","values","ApplicationStatusCard","application","onCancel","onSubmitDocs","statusConfig","label","targetInfo","Date","createdAt","toLocaleDateString","id","BenefitsComparison","currentInfo","filter","f","UpgradeForm","onSubmit","setDocuments","handleSubmit","e","preventDefault","accept","onChange","target","files","value","category","placeholder","description","AccountTypePage","onApply","onCancelApplication","setSelectedType","showForm","setShowForm","handleSelect","handleApply","stopPropagation"],"mappings":";;;;AAAA;AACA;AACA;;AAEA;AACO,MAAMA,WAAW,GAAG;AACzBC,EAAAA,QAAQ,EAAE,UAAU;AAAQ;AAC5BC,EAAAA,OAAO,EAAE,SAAS;AAAU;AAC5BC,EAAAA,QAAQ,EAAE,UAAU;AAAQ;AAC5BC,EAAAA,WAAW,EAAE,aAAa;AAAE;EAC5BC,SAAS,EAAE,WAAW;AACxB;;AAEA;AACO,MAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,QAAQ,EAAE;AACZ;;AAEA;AACO,MAAMC,mBAAiB,GAAG;AAC/BC,EAAAA,IAAI,EAAE,MAAM;AAAM;AAClBC,EAAAA,MAAM,EAAE,QAAQ;AAAE;AAClBC,EAAAA,GAAG,EAAE,KAAK;AAAQ;EAClBC,MAAM,EAAE,QAAQ;AAClB;;AAEA;AACO,MAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,SAAS,EAAE;AACb;;AAEA;AACA;AACA;AACO,MAAMC,mBAAmB,GAAG;EACjC,CAACtB,WAAW,CAACC,QAAQ,GAAG;AACtBsB,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,IAAI,EAAE,IAAI;AACVC,IAAAA,KAAK,EAAE,IAAI;AACXC,IAAAA,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAClCC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,UAAU,EAAE,EAAE;AAAEC,MAAAA,SAAS,EAAE;AAAK;GAC3C;EACD,CAAC7B,WAAW,CAACE,OAAO,GAAG;AACrBqB,IAAAA,IAAI,EAAE,OAAO;AACbC,IAAAA,IAAI,EAAE,GAAG;IACTC,KAAK,EAAEd,mBAAiB,CAACC,IAAI;IAC7Bc,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC1CC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,UAAU,EAAE,EAAE;AAAEC,MAAAA,SAAS,EAAE;KAAM;AAC3CC,IAAAA,YAAY,EAAE;AAAED,MAAAA,SAAS,EAAE,IAAI;AAAEE,MAAAA,KAAK,EAAE;AAAG;GAC5C;EACD,CAAC/B,WAAW,CAACG,QAAQ,GAAG;AACtBoB,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,IAAI,EAAE,IAAI;IACVC,KAAK,EAAEd,mBAAiB,CAACE,MAAM;IAC/Ba,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC1CC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,UAAU,EAAE,GAAG;AAAEC,MAAAA,SAAS,EAAE;KAAM;AAC5CC,IAAAA,YAAY,EAAE;AAAEE,MAAAA,eAAe,EAAE;AAAK;GACvC;EACD,CAAChC,WAAW,CAACI,WAAW,GAAG;AACzBmB,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,IAAI,EAAE,KAAK;IACXC,KAAK,EAAEd,mBAAiB,CAACI,MAAM;IAC/BW,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;AAC5CC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,UAAU,EAAE,GAAG;AAAEK,MAAAA,WAAW,EAAE;KAAI;AAC5CH,IAAAA,YAAY,EAAE;AAAEI,MAAAA,kBAAkB,EAAE;AAAK;GAC1C;EACD,CAAClC,WAAW,CAACK,SAAS,GAAG;AACvBkB,IAAAA,IAAI,EAAE,OAAO;AACbC,IAAAA,IAAI,EAAE,OAAO;AACbC,IAAAA,KAAK,EAAE,IAAI;IACXC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3CC,IAAAA,MAAM,EAAE;AAAEQ,MAAAA,QAAQ,EAAE;KAAO;AAC3BL,IAAAA,YAAY,EAAE;AAAEM,MAAAA,KAAK,EAAE;AAAK;AAC9B;AACF;;AAEA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,IAAI,EAAE;EACvC,OAAOhB,mBAAmB,CAACgB,IAAI,CAAC,IAAIhB,mBAAmB,CAACtB,WAAW,CAACC,QAAQ,CAAC;AAC/E;;AAEA;AACA;AACA;AACO,SAASsC,wBAAwBA,CAACd,KAAK,EAAE;AAC9C,EAAA,MAAMe,KAAK,GAAG;AACZ,IAAA,CAAC7B,mBAAiB,CAACC,IAAI,GAAG,GAAG;AAC7B,IAAA,CAACD,mBAAiB,CAACE,MAAM,GAAG,GAAG;AAC/B,IAAA,CAACF,mBAAiB,CAACG,GAAG,GAAG,GAAG;IAC5B,CAACH,mBAAiB,CAACI,MAAM,GAAG;GAC7B;AACD,EAAA,OAAOyB,KAAK,CAACf,KAAK,CAAC,IAAI,EAAE;AAC3B;;AAEA;AACA;AACA;AACO,SAASgB,oBAAoBA,CAAChB,KAAK,EAAE;AAC1C,EAAA,MAAMiB,MAAM,GAAG;AACb,IAAA,CAAC/B,mBAAiB,CAACC,IAAI,GAAG,SAAS;AACnC,IAAA,CAACD,mBAAiB,CAACE,MAAM,GAAG,SAAS;AACrC,IAAA,CAACF,mBAAiB,CAACG,GAAG,GAAG,SAAS;IAClC,CAACH,mBAAiB,CAACI,MAAM,GAAG;GAC7B;AACD,EAAA,OAAO2B,MAAM,CAACjB,KAAK,CAAC,IAAI,SAAS;AACnC;;AAEA;AACA;AACA;AACO,SAASkB,uBAAuBA,CAACC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAE;AAC1E,EAAA,MAAMC,MAAM,GAAGzB,mBAAmB,CAACuB,UAAU,CAAC;AAC9C,EAAA,IAAI,CAACE,MAAM,EAAEjB,YAAY,EAAE,OAAO;AAAEkB,IAAAA,QAAQ,EAAE,IAAI;AAAEC,IAAAA,OAAO,EAAE;GAAI;EAEjE,MAAMA,OAAO,GAAG,EAAE;EAClB,MAAM;AAAEnB,IAAAA;AAAa,GAAC,GAAGiB,MAAM;EAE/B,IAAIjB,YAAY,CAACD,SAAS,IAAIiB,SAAS,CAACjB,SAAS,GAAGC,YAAY,CAACD,SAAS,EAAE;IAC1EoB,OAAO,CAACC,IAAI,CAAC,CAAA,OAAA,EAAUpB,YAAY,CAACD,SAAS,EAAE,CAAC;AAClD,EAAA;EACA,IAAIC,YAAY,CAACC,KAAK,IAAIe,SAAS,CAACf,KAAK,GAAGD,YAAY,CAACC,KAAK,EAAE;IAC9DkB,OAAO,CAACC,IAAI,CAAC,CAAA,QAAA,EAAWpB,YAAY,CAACC,KAAK,IAAI,CAAC;AACjD,EAAA;EACA,IAAID,YAAY,CAACE,eAAe,IAAI,CAACc,SAAS,CAACK,kBAAkB,EAAE;AACjEF,IAAAA,OAAO,CAACC,IAAI,CAAC,QAAQ,CAAC;AACxB,EAAA;EAEA,OAAO;AAAEF,IAAAA,QAAQ,EAAEC,OAAO,CAACG,MAAM,KAAK,CAAC;AAAEH,IAAAA;GAAS;AACpD;;ACzIA;AACA;AACA;AACA;AACA;AACA;;;AAIA;AACA;AACA;AACO,MAAMI,oBAAoB,SAASC,aAAa,CAAC;AACtDC,EAAAA,WAAWA,CAACR,MAAM,GAAG,EAAE,EAAE;AACvB,IAAA,KAAK,CAAC,eAAe,EAAEA,MAAM,CAAC;AAChC,EAAA;;AAEA;;AAEA;AACF;AACA;EACE,MAAMS,gBAAgBA,GAAG;AACvB,IAAA,OAAO,IAAI,CAACC,GAAG,CAAC,KAAK,CAAC;AACxB,EAAA;;AAEA;AACF;AACA;EACE,MAAMC,iBAAiBA,GAAG;AACxB,IAAA,OAAO,IAAI,CAACD,GAAG,CAAC,QAAQ,CAAC;AAC3B,EAAA;;AAEA;AACF;AACA;AACA;EACE,MAAME,cAAcA,CAACrB,IAAI,EAAE;AACzB,IAAA,OAAO,IAAI,CAACmB,GAAG,CAAC,CAAA,OAAA,EAAUnB,IAAI,EAAE,CAAC;AACnC,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACE,EAAA,MAAMsB,eAAeA,CAACC,KAAK,EAAEC,KAAK,EAAE;AAClC,IAAA,OAAO,IAAI,CAACL,GAAG,CAAC,UAAU,EAAE;MAAEI,KAAK;AAAEC,MAAAA;AAAM,KAAC,CAAC;AAC/C,EAAA;;AAEA;;AAEA;AACF;AACA;AACA;EACE,MAAMC,gBAAgBA,CAAClB,UAAU,EAAE;AACjC,IAAA,OAAO,IAAI,CAACY,GAAG,CAAC,gBAAgB,EAAE;AAAEnB,MAAAA,IAAI,EAAEO;AAAW,KAAC,CAAC;AACzD,EAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,MAAMmB,YAAYA,CAACnB,UAAU,EAAEoB,SAAS,GAAG,EAAE,EAAE;AAC7C,IAAA,OAAO,IAAI,CAACC,IAAI,CAAC,gBAAgB,EAAE;MAAErB,UAAU;AAAEoB,MAAAA;AAAU,KAAC,CAAC;AAC/D,EAAA;;AAEA;AACF;AACA;EACE,MAAME,oBAAoBA,GAAG;AAC3B,IAAA,OAAO,IAAI,CAACV,GAAG,CAAC,iBAAiB,CAAC;AACpC,EAAA;;AAEA;AACF;AACA;AACA;EACE,MAAMW,iBAAiBA,CAACC,aAAa,EAAE;AACrC,IAAA,OAAO,IAAI,CAACH,IAAI,CAAC,CAAA,SAAA,EAAYG,aAAa,SAAS,CAAC;AACtD,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACE,EAAA,MAAMC,oBAAoBA,CAACD,aAAa,EAAEJ,SAAS,EAAE;AACnD,IAAA,OAAO,IAAI,CAACC,IAAI,CAAC,CAAA,SAAA,EAAYG,aAAa,YAAY,EAAE;AAAEJ,MAAAA;AAAU,KAAC,CAAC;AACxE,EAAA;;AAEA;AACF;AACA;EACE,MAAMM,iBAAiBA,GAAG;AACxB,IAAA,OAAO,IAAI,CAACd,GAAG,CAAC,kBAAkB,CAAC;AACrC,EAAA;;AAEA;;AAEA;AACF;AACA;AACA;EACE,MAAMe,yBAAyBA,CAACC,IAAI,EAAE;AACpC,IAAA,OAAO,IAAI,CAACP,IAAI,CAAC,wBAAwB,EAAEO,IAAI,CAAC;AAClD,EAAA;;AAEA;AACF;AACA;AACA;EACE,MAAMC,wBAAwBA,CAACD,IAAI,EAAE;AACnC,IAAA,OAAO,IAAI,CAACP,IAAI,CAAC,uBAAuB,EAAEO,IAAI,CAAC;AACjD,EAAA;;AAEA;AACF;AACA;AACA;EACE,MAAME,6BAA6BA,CAACF,IAAI,EAAE;AACxC,IAAA,OAAO,IAAI,CAACP,IAAI,CAAC,4BAA4B,EAAEO,IAAI,CAAC;AACtD,EAAA;;AAEA;AACF;AACA;AACA;EACE,MAAMG,qBAAqBA,CAACtC,IAAI,EAAE;AAChC,IAAA,OAAO,IAAI,CAACmB,GAAG,CAAC,CAAA,cAAA,EAAiBnB,IAAI,SAAS,CAAC;AACjD,EAAA;AACF;;AAEA;MACauC,cAAc,GAAG,IAAIxB,oBAAoB;;ACxItD;AACA;AACA;;AAEA,MAAMyB,QAAQ,GAAG;AACfC,EAAAA,EAAE,EAAE;AACFC,IAAAA,WAAW,EAAE,cAAc;AAC3BC,IAAAA,QAAQ,EAAE,UAAU;AACpBC,IAAAA,OAAO,EAAE,SAAS;AAClBC,IAAAA,QAAQ,EAAE,UAAU;AACpBC,IAAAA,WAAW,EAAE,aAAa;AAC1BC,IAAAA,SAAS,EAAE,WAAW;AAEtBzC,IAAAA,WAAW,EAAE,cAAc;AAC3B0C,IAAAA,OAAO,EAAE,SAAS;AAClBC,IAAAA,SAAS,EAAE,WAAW;AACtBC,IAAAA,KAAK,EAAE,OAAO;AACdC,IAAAA,MAAM,EAAE,QAAQ;AAEhBC,IAAAA,QAAQ,EAAE,UAAU;AACpBC,IAAAA,UAAU,EAAE,YAAY;AAExBjE,IAAAA,QAAQ,EAAE,UAAU;AACpBkE,IAAAA,QAAQ,EAAE,UAAU;AACpB9D,IAAAA,YAAY,EAAE,cAAc;AAE5B+D,IAAAA,kBAAkB,EAAE,qBAAqB;AACzCC,IAAAA,mBAAmB,EAAE,UAAU;AAC/BC,IAAAA,mBAAmB,EAAE,UAAU;AAC/BC,IAAAA,YAAY,EAAE,gBAAgB;AAE9BnE,IAAAA,SAAS,EAAE,WAAW;AACtBE,IAAAA,KAAK,EAAE,OAAO;AACdC,IAAAA,eAAe,EAAE,kBAAkB;AAEnCiE,IAAAA,cAAc,EAAE,qBAAqB;AACrCC,IAAAA,oBAAoB,EAAE;GACvB;AAEDC,EAAAA,EAAE,EAAE;AACFnB,IAAAA,WAAW,EAAE,MAAM;AACnBC,IAAAA,QAAQ,EAAE,MAAM;AAChBC,IAAAA,OAAO,EAAE,KAAK;AACdC,IAAAA,QAAQ,EAAE,MAAM;AAChBC,IAAAA,WAAW,EAAE,MAAM;AACnBC,IAAAA,SAAS,EAAE,KAAK;AAEhBzC,IAAAA,WAAW,EAAE,MAAM;AACnB0C,IAAAA,OAAO,EAAE,IAAI;AACbC,IAAAA,SAAS,EAAE,IAAI;AACfC,IAAAA,KAAK,EAAE,IAAI;AACXC,IAAAA,MAAM,EAAE,IAAI;AAEZC,IAAAA,QAAQ,EAAE,KAAK;AACfC,IAAAA,UAAU,EAAE,KAAK;AAEjBjE,IAAAA,QAAQ,EAAE,MAAM;AAChBkE,IAAAA,QAAQ,EAAE,IAAI;AACd9D,IAAAA,YAAY,EAAE,MAAM;AAEpB+D,IAAAA,kBAAkB,EAAE,OAAO;AAC3BC,IAAAA,mBAAmB,EAAE,KAAK;AAC1BC,IAAAA,mBAAmB,EAAE,KAAK;AAC1BC,IAAAA,YAAY,EAAE,QAAQ;AAEtBnE,IAAAA,SAAS,EAAE,KAAK;AAChBE,IAAAA,KAAK,EAAE,MAAM;AACbC,IAAAA,eAAe,EAAE,MAAM;AAEvBiE,IAAAA,cAAc,EAAE,OAAO;AACvBC,IAAAA,oBAAoB,EAAE;GACvB;AAEDE,EAAAA,EAAE,EAAE;AACFpB,IAAAA,WAAW,EAAE,UAAU;AACvBC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,OAAO,EAAE,QAAQ;AACjBC,IAAAA,QAAQ,EAAE,MAAM;AAChBC,IAAAA,WAAW,EAAE,IAAI;AACjBC,IAAAA,SAAS,EAAE,KAAK;AAEhBzC,IAAAA,WAAW,EAAE,QAAQ;AACrB0C,IAAAA,OAAO,EAAE,SAAS;AAClBC,IAAAA,SAAS,EAAE,SAAS;AACpBC,IAAAA,KAAK,EAAE,IAAI;AACXC,IAAAA,MAAM,EAAE,OAAO;AAEfC,IAAAA,QAAQ,EAAE,MAAM;AAChBC,IAAAA,UAAU,EAAE,KAAK;AAEjBjE,IAAAA,QAAQ,EAAE,IAAI;AACdkE,IAAAA,QAAQ,EAAE,IAAI;AACd9D,IAAAA,YAAY,EAAE,MAAM;AAEpB+D,IAAAA,kBAAkB,EAAE,KAAK;AACzBC,IAAAA,mBAAmB,EAAE,MAAM;AAC3BC,IAAAA,mBAAmB,EAAE,IAAI;AACzBC,IAAAA,YAAY,EAAE,SAAS;AAEvBnE,IAAAA,SAAS,EAAE,OAAO;AAClBE,IAAAA,KAAK,EAAE,IAAI;AACXC,IAAAA,eAAe,EAAE,OAAO;AAExBiE,IAAAA,cAAc,EAAE,YAAY;AAC5BC,IAAAA,oBAAoB,EAAE;GACvB;AAEDG,EAAAA,EAAE,EAAE;AACFrB,IAAAA,WAAW,EAAE,OAAO;AACpBC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,OAAO,EAAE,OAAO;AAChBC,IAAAA,QAAQ,EAAE,MAAM;AAChBC,IAAAA,WAAW,EAAE,IAAI;AACjBC,IAAAA,SAAS,EAAE,KAAK;AAEhBzC,IAAAA,WAAW,EAAE,OAAO;AACpB0C,IAAAA,OAAO,EAAE,OAAO;AAChBC,IAAAA,SAAS,EAAE,QAAQ;AACnBC,IAAAA,KAAK,EAAE,IAAI;AACXC,IAAAA,MAAM,EAAE,IAAI;AAEZC,IAAAA,QAAQ,EAAE,KAAK;AACfC,IAAAA,UAAU,EAAE,KAAK;AAEjBjE,IAAAA,QAAQ,EAAE,IAAI;AACdkE,IAAAA,QAAQ,EAAE,IAAI;AACd9D,IAAAA,YAAY,EAAE,OAAO;AAErB+D,IAAAA,kBAAkB,EAAE,MAAM;AAC1BC,IAAAA,mBAAmB,EAAE,KAAK;AAC1BC,IAAAA,mBAAmB,EAAE,KAAK;AAC1BC,IAAAA,YAAY,EAAE,UAAU;AAExBnE,IAAAA,SAAS,EAAE,KAAK;AAChBE,IAAAA,KAAK,EAAE,KAAK;AACZC,IAAAA,eAAe,EAAE,QAAQ;AAEzBiE,IAAAA,cAAc,EAAE,WAAW;AAC3BC,IAAAA,oBAAoB,EAAE;AACxB;AACF;AAEA,MAAMI,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AACnD,IAAIC,eAAe,GAAG,IAAI;AAEnB,SAASC,WAAWA,CAACC,IAAI,EAAE;AAChC,EAAA,IAAIH,mBAAmB,CAACI,QAAQ,CAACD,IAAI,CAAC,EAAE;AACtCF,IAAAA,eAAe,GAAGE,IAAI;AACxB,EAAA;AACF;AAEO,SAASE,WAAWA,GAAG;AAC5B,EAAA,OAAOJ,eAAe;AACxB;AAEO,SAASK,CAACA,CAACC,GAAG,EAAEC,MAAM,GAAG,EAAE,EAAE;AAClC,EAAA,IAAIC,IAAI,GAAGjC,QAAQ,CAACyB,eAAe,CAAC,GAAGM,GAAG,CAAC,IAAI/B,QAAQ,CAACC,EAAE,CAAC8B,GAAG,CAAC,IAAIA,GAAG;EACtEG,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC,CAACI,OAAO,CAAEC,KAAK,IAAK;AACrCJ,IAAAA,IAAI,GAAGA,IAAI,CAACK,OAAO,CAAC,CAAA,CAAA,EAAID,KAAK,CAAA,CAAA,CAAG,EAAEL,MAAM,CAACK,KAAK,CAAC,CAAC;AAClD,EAAA,CAAC,CAAC;AACF,EAAA,OAAOJ,IAAI;AACb;;ACjKA;AACA;AACA;;;AAKA;AACO,SAASM,cAAcA,GAAG;EAC/B,MAAM,CAACrC,WAAW,EAAEsC,cAAc,CAAC,GAAGC,QAAQ,CAAC,IAAI,CAAC;EACpD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGF,QAAQ,CAAC,IAAI,CAAC;EAC5C,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAGJ,QAAQ,CAAC,IAAI,CAAC;AAExC,EAAA,MAAMK,OAAO,GAAGC,WAAW,CAAC,YAAY;IACtC,IAAI;MACFJ,UAAU,CAAC,IAAI,CAAC;AAChB,MAAA,MAAMhD,IAAI,GAAG,MAAMI,cAAc,CAACrB,gBAAgB,EAAE;MACpD8D,cAAc,CAAC7C,IAAI,CAAC;MACpBkD,QAAQ,CAAC,IAAI,CAAC;IAChB,CAAC,CAAC,OAAOG,GAAG,EAAE;AACZH,MAAAA,QAAQ,CAACG,GAAG,CAACC,OAAO,CAAC;AACvB,IAAA,CAAC,SAAS;MACRN,UAAU,CAAC,KAAK,CAAC;AACnB,IAAA;EACF,CAAC,EAAE,EAAE,CAAC;AAENO,EAAAA,SAAS,CAAC,MAAM;AACdJ,IAAAA,OAAO,EAAE;AACX,EAAA,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,OAAO;IAAE5C,WAAW;IAAEwC,OAAO;IAAEE,KAAK;AAAEE,IAAAA;GAAS;AACjD;;AAEA;AACO,SAASK,iBAAiBA,GAAG;EAClC,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGZ,QAAQ,CAAC,EAAE,CAAC;EACtC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGF,QAAQ,CAAC,IAAI,CAAC;EAC5C,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAGJ,QAAQ,CAAC,IAAI,CAAC;AAExCS,EAAAA,SAAS,CAAC,MAAM;AACdnD,IAAAA,cAAc,CAACnB,iBAAiB,EAAE,CAC/B0E,IAAI,CAACD,QAAQ,CAAC,CACdE,KAAK,CAAEP,GAAG,IAAKH,QAAQ,CAACG,GAAG,CAACC,OAAO,CAAC,CAAC,CACrCO,OAAO,CAAC,MAAMb,UAAU,CAAC,KAAK,CAAC,CAAC;EACrC,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IAAES,KAAK;IAAEV,OAAO;AAAEE,IAAAA;GAAO;AAClC;;AAEA;AACO,SAASa,qBAAqBA,GAAG;EACtC,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGlB,QAAQ,CAAC,IAAI,CAAC;EAC1C,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGF,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAGJ,QAAQ,CAAC,IAAI,CAAC;AAExC,EAAA,MAAMmB,WAAW,GAAGb,WAAW,CAAC,YAAY;IAC1C,IAAI;AACF,MAAA,MAAMpD,IAAI,GAAG,MAAMI,cAAc,CAACV,oBAAoB,EAAE;MACxDsE,SAAS,CAAChE,IAAI,CAAC;IACjB,CAAC,CAAC,OAAOqD,GAAG,EAAE;AACZ;MACAW,SAAS,CAAC,IAAI,CAAC;AACjB,IAAA;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMjD,KAAK,GAAGqC,WAAW,CAAC,OAAOhF,UAAU,EAAEoB,SAAS,GAAG,EAAE,KAAK;IAC9D,IAAI;MACFwD,UAAU,CAAC,IAAI,CAAC;MAChBE,QAAQ,CAAC,IAAI,CAAC;MACd,MAAMgB,MAAM,GAAG,MAAM9D,cAAc,CAACb,YAAY,CAACnB,UAAU,EAAEoB,SAAS,CAAC;MACvE,MAAMyE,WAAW,EAAE;AACnB,MAAA,OAAOC,MAAM;IACf,CAAC,CAAC,OAAOb,GAAG,EAAE;AACZH,MAAAA,QAAQ,CAACG,GAAG,CAACC,OAAO,CAAC;AACrB,MAAA,MAAMD,GAAG;AACX,IAAA,CAAC,SAAS;MACRL,UAAU,CAAC,KAAK,CAAC;AACnB,IAAA;AACF,EAAA,CAAC,EAAE,CAACiB,WAAW,CAAC,CAAC;AAEjB,EAAA,MAAMjD,MAAM,GAAGoC,WAAW,CAAC,MAAOxD,aAAa,IAAK;IAClD,IAAI;MACFoD,UAAU,CAAC,IAAI,CAAC;AAChB,MAAA,MAAM5C,cAAc,CAACT,iBAAiB,CAACC,aAAa,CAAC;MACrD,MAAMqE,WAAW,EAAE;IACrB,CAAC,CAAC,OAAOZ,GAAG,EAAE;AACZH,MAAAA,QAAQ,CAACG,GAAG,CAACC,OAAO,CAAC;AACrB,MAAA,MAAMD,GAAG;AACX,IAAA,CAAC,SAAS;MACRL,UAAU,CAAC,KAAK,CAAC;AACnB,IAAA;AACF,EAAA,CAAC,EAAE,CAACiB,WAAW,CAAC,CAAC;EAEjB,MAAME,UAAU,GAAGf,WAAW,CAAC,OAAOxD,aAAa,EAAEJ,SAAS,KAAK;IACjE,IAAI;MACFwD,UAAU,CAAC,IAAI,CAAC;AAChB,MAAA,MAAM5C,cAAc,CAACP,oBAAoB,CAACD,aAAa,EAAEJ,SAAS,CAAC;MACnE,MAAMyE,WAAW,EAAE;IACrB,CAAC,CAAC,OAAOZ,GAAG,EAAE;AACZH,MAAAA,QAAQ,CAACG,GAAG,CAACC,OAAO,CAAC;AACrB,MAAA,MAAMD,GAAG;AACX,IAAA,CAAC,SAAS;MACRL,UAAU,CAAC,KAAK,CAAC;AACnB,IAAA;AACF,EAAA,CAAC,EAAE,CAACiB,WAAW,CAAC,CAAC;AAEjBV,EAAAA,SAAS,CAAC,MAAM;AACdU,IAAAA,WAAW,EAAE;AACf,EAAA,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,OAAO;IAAEF,MAAM;IAAEhD,KAAK;IAAEC,MAAM;IAAEmD,UAAU;IAAEpB,OAAO;IAAEE,KAAK;AAAEE,IAAAA,OAAO,EAAEc;GAAa;AACpF;;AAEA;AACO,SAASG,mBAAmBA,CAAChG,UAAU,EAAE;EAC9C,MAAM,CAACiG,WAAW,EAAEC,cAAc,CAAC,GAAGxB,QAAQ,CAAC,IAAI,CAAC;EACpD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGF,QAAQ,CAAC,IAAI,CAAC;EAC5C,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAGJ,QAAQ,CAAC,IAAI,CAAC;AAExCS,EAAAA,SAAS,CAAC,MAAM;IACd,IAAI,CAACnF,UAAU,EAAE;AAEjBgC,IAAAA,cAAc,CAACd,gBAAgB,CAAClB,UAAU,CAAC,CACxCuF,IAAI,CAACW,cAAc,CAAC,CACpBV,KAAK,CAAEP,GAAG,IAAKH,QAAQ,CAACG,GAAG,CAACC,OAAO,CAAC,CAAC,CACrCO,OAAO,CAAC,MAAMb,UAAU,CAAC,KAAK,CAAC,CAAC;AACrC,EAAA,CAAC,EAAE,CAAC5E,UAAU,CAAC,CAAC;EAEhB,OAAO;IAAEiG,WAAW;IAAEtB,OAAO;AAAEE,IAAAA;GAAO;AACxC;;AAEA;AACO,SAASsB,qBAAqBA,CAACnF,KAAK,EAAEC,KAAK,EAAE;EAClD,MAAM,CAACmF,UAAU,EAAEC,aAAa,CAAC,GAAG3B,QAAQ,CAAC,IAAI,CAAC;EAClD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGF,QAAQ,CAAC,IAAI,CAAC;EAC5C,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAGJ,QAAQ,CAAC,IAAI,CAAC;AAExCS,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAACnE,KAAK,IAAI,CAACC,KAAK,EAAE;AAEtBe,IAAAA,cAAc,CAACjB,eAAe,CAACC,KAAK,EAAEC,KAAK,CAAC,CACzCsE,IAAI,CAACc,aAAa,CAAC,CACnBb,KAAK,CAAEP,GAAG,IAAKH,QAAQ,CAACG,GAAG,CAACC,OAAO,CAAC,CAAC,CACrCO,OAAO,CAAC,MAAMb,UAAU,CAAC,KAAK,CAAC,CAAC;AACrC,EAAA,CAAC,EAAE,CAAC5D,KAAK,EAAEC,KAAK,CAAC,CAAC;EAElB,OAAO;IAAEmF,UAAU;IAAEzB,OAAO;AAAEE,IAAAA;GAAO;AACvC;;AChJA;AACA;AACA;AACO,SAAS/G,iBAAiBA,CAAC;EAAEc,KAAK;AAAE0H,EAAAA,IAAI,GAAG;AAAS,CAAC,EAAE;AAC5D,EAAA,IAAI,CAAC1H,KAAK,EAAE,OAAO,IAAI;AAEvB,EAAA,MAAM2H,KAAK,GAAG3G,oBAAoB,CAAChB,KAAK,CAAC;AACzC,EAAA,MAAMD,IAAI,GAAGe,wBAAwB,CAACd,KAAK,CAAC;AAC5C,EAAA,MAAM4H,SAAS,GAAG;AAAEC,IAAAA,KAAK,EAAE,UAAU;AAAEC,IAAAA,MAAM,EAAE,UAAU;AAAEC,IAAAA,KAAK,EAAE;GAAY;EAE9E,oBACEC,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEC,IAAAA,SAAS,EAAE,CAAA,cAAA,EAAiBN,SAAS,CAACF,IAAI,CAAC,CAAA,CAAG;AAC9CS,IAAAA,KAAK,EAAE;AAAEC,MAAAA,eAAe,EAAET;AAAM;AAAE,GAAA,EAEjC5H,IACG,CAAC;AAEX;;AAEA;AACA;AACA;AACO,SAASsI,eAAeA,CAAC;EAC9BxH,IAAI;AACJyH,EAAAA,SAAS,GAAG,KAAK;AACjBC,EAAAA,UAAU,GAAG,KAAK;EAClBC,QAAQ;AACRC,EAAAA,QAAQ,GAAG;AACb,CAAC,EAAE;AACD,EAAA,MAAMC,IAAI,GAAG9H,kBAAkB,CAACC,IAAI,CAAC;EAErC,oBACEmH,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAE,CAAA,kBAAA,EAAqBI,SAAS,GAAG,SAAS,GAAG,EAAE,CAAA,CAAA,EAAIC,UAAU,GAAG,UAAU,GAAG,EAAE,CAAA,CAAA,EAAIE,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAA,CAAG;IAC3HE,OAAO,EAAEA,MAAM,CAACF,QAAQ,IAAID,QAAQ,GAAG3H,IAAI;AAAE,GAAA,EAE5CyH,SAAS,iBAAIN,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMC,IAAAA,SAAS,EAAC;AAAqB,GAAA,EAAC,cAAQ,CAAC,eAC7DF,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;AAAmB,GAAA,EAAEQ,IAAI,CAAC3I,IAAU,CAAC,eACpDiI,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;AAAmB,GAAA,EAC/BQ,IAAI,CAAC5I,IAAI,EACT4I,IAAI,CAAC1I,KAAK,iBAAIgI,KAAA,CAAAC,aAAA,CAAC/I,iBAAiB,EAAA;IAACc,KAAK,EAAE0I,IAAI,CAAC1I,KAAM;AAAC0H,IAAAA,IAAI,EAAC;AAAO,GAAE,CAChE,CAAC,eACNM,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIC,IAAAA,SAAS,EAAC;AAAuB,GAAA,EAClCQ,IAAI,CAACzI,QAAQ,CAAC2I,GAAG,CAAC,CAACC,OAAO,EAAEC,CAAC,kBAC5Bd,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAI7C,IAAAA,GAAG,EAAE0D;AAAE,GAAA,EAAC,SAAE,EAACD,OAAY,CAC5B,CACC,CAAC,EACJH,IAAI,CAACrI,YAAY,iBAChB2H,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAA2B,EAAC,sCAEtC,CAEJ,CAAC;AAEV;;AAEA;AACA;AACA;AACO,SAASa,mBAAmBA,CAAC;EAClC5H,WAAW;EACX6H,YAAY;EACZR,QAAQ;AACR/B,EAAAA,KAAK,GAAGlB,MAAM,CAAC0D,MAAM,CAAC1K,WAAW;AACnC,CAAC,EAAE;EACD,oBACEyJ,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAAuB,EACnCzB,KAAK,CAACmC,GAAG,CAAE/H,IAAI,iBACdmH,KAAA,CAAAC,aAAA,CAACI,eAAe,EAAA;AACdjD,IAAAA,GAAG,EAAEvE,IAAK;AACVA,IAAAA,IAAI,EAAEA,IAAK;IACXyH,SAAS,EAAEzH,IAAI,KAAKM,WAAY;IAChCoH,UAAU,EAAE1H,IAAI,KAAKmI,YAAa;AAClCR,IAAAA,QAAQ,EAAEA;GACX,CACF,CACE,CAAC;AAEV;;AAEA;AACA;AACA;AACO,SAASU,qBAAqBA,CAAC;EACpCC,WAAW;EACXC,QAAQ;AACRC,EAAAA;AACF,CAAC,EAAE;AACD,EAAA,IAAI,CAACF,WAAW,EAAE,OAAO,IAAI;AAE7B,EAAA,MAAMG,YAAY,GAAG;IACnB,CAAC/J,iBAAiB,CAACC,OAAO,GAAG;AAAE+J,MAAAA,KAAK,EAAE,KAAK;AAAE5B,MAAAA,KAAK,EAAE,SAAS;AAAE5H,MAAAA,IAAI,EAAE;KAAK;IAC1E,CAACR,iBAAiB,CAACE,SAAS,GAAG;AAAE8J,MAAAA,KAAK,EAAE,KAAK;AAAE5B,MAAAA,KAAK,EAAE,SAAS;AAAE5H,MAAAA,IAAI,EAAE;KAAM;IAC7E,CAACR,iBAAiB,CAACG,QAAQ,GAAG;AAAE6J,MAAAA,KAAK,EAAE,KAAK;AAAE5B,MAAAA,KAAK,EAAE,SAAS;AAAE5H,MAAAA,IAAI,EAAE;KAAK;IAC3E,CAACR,iBAAiB,CAACI,QAAQ,GAAG;AAAE4J,MAAAA,KAAK,EAAE,KAAK;AAAE5B,MAAAA,KAAK,EAAE,SAAS;AAAE5H,MAAAA,IAAI,EAAE;KAAK;IAC3E,CAACR,iBAAiB,CAACK,SAAS,GAAG;AAAE2J,MAAAA,KAAK,EAAE,OAAO;AAAE5B,MAAAA,KAAK,EAAE,SAAS;AAAE5H,MAAAA,IAAI,EAAE;AAAK;GAC/E;AAED,EAAA,MAAMuB,MAAM,GAAGgI,YAAY,CAACH,WAAW,CAACpC,MAAM,CAAC,IAAIuC,YAAY,CAAC/J,iBAAiB,CAACC,OAAO,CAAC;AAC1F,EAAA,MAAMgK,UAAU,GAAG5I,kBAAkB,CAACuI,WAAW,CAAC/H,UAAU,CAAC;EAE7D,oBACE4G,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAA0B,eACvCF,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAA4B,eACzCF,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMC,IAAAA,SAAS,EAAC;AAA4B,GAAA,EACzCsB,UAAU,CAACzJ,IAAI,EAAC,sBAAK,EAACyJ,UAAU,CAAC1J,IAC9B,CAAC,eACPkI,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,4BAA4B;AACtCC,IAAAA,KAAK,EAAE;MAAEC,eAAe,EAAE9G,MAAM,CAACqG;AAAM;AAAE,GAAA,EAExCrG,MAAM,CAACvB,IAAI,EAAC,GAAC,EAACuB,MAAM,CAACiI,KAClB,CACH,CAAC,eAENvB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAA0B,eACvCF,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EAAK,4BAAM,EAAC,IAAIwB,IAAI,CAACN,WAAW,CAACO,SAAS,CAAC,CAACC,kBAAkB,EAAQ,CAAC,EACtER,WAAW,CAAC7C,OAAO,iBAAI0B,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EAAK,gBAAI,EAACkB,WAAW,CAAC7C,OAAa,CACxD,CAAC,EAEL6C,WAAW,CAACpC,MAAM,KAAKxH,iBAAiB,CAACK,SAAS,iBACjDoI,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,qBAAqB;AAC/BS,IAAAA,OAAO,EAAEA,MAAMU,YAAY,GAAGF,WAAW,CAACS,EAAE;GAAE,EAC/C,0BAEO,CACT,EAEA,CAACrK,iBAAiB,CAACC,OAAO,EAAED,iBAAiB,CAACE,SAAS,CAAC,CAACwF,QAAQ,CAACkE,WAAW,CAACpC,MAAM,CAAC,iBACpFiB,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,uBAAuB;AACjCS,IAAAA,OAAO,EAAEA,MAAMS,QAAQ,GAAGD,WAAW,CAACS,EAAE;GAAE,EAC3C,0BAEO,CAEP,CAAC;AAEV;;AAEA;AACA;AACA;AACO,SAASC,kBAAkBA,CAAC;EACjC1I,WAAW;AACXC,EAAAA;AACF,CAAC,EAAE;AACD,EAAA,MAAM0I,WAAW,GAAGlJ,kBAAkB,CAACO,WAAW,CAAC;AACnD,EAAA,MAAMqI,UAAU,GAAG5I,kBAAkB,CAACQ,UAAU,CAAC;EAEjD,oBACE4G,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAAoB,eACjCF,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAA2B,eACxCF,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAAwB,eACrCF,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMC,IAAAA,SAAS,EAAC;AAAiC,GAAA,EAC9C4B,WAAW,CAAC/J,IAAI,EAAC,GAAC,EAAC+J,WAAW,CAAChK,IAC5B,CACH,CAAC,eACNkI,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;AAA0B,GAAA,EAAC,QAAM,CAAC,eACjDF,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAAwB,eACrCF,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMC,IAAAA,SAAS,EAAC;AAAgC,GAAA,EAC7CsB,UAAU,CAACzJ,IAAI,EAAC,GAAC,EAACyJ,UAAU,CAAC1J,IAC1B,CACH,CACF,CAAC,eACNkI,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAAyB,eACtCF,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;AAA4B,GAAA,eACzCF,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAA,EAAI,0BAAQ,CAAC,EACZuB,UAAU,CAACvJ,QAAQ,CACjB8J,MAAM,CAAEC,CAAC,IAAK,CAACF,WAAW,CAAC7J,QAAQ,CAACgF,QAAQ,CAAC+E,CAAC,CAAC,CAAC,CAChDpB,GAAG,CAAC,CAACC,OAAO,EAAEC,CAAC,kBACdd,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK7C,IAAAA,GAAG,EAAE0D,CAAE;AAACZ,IAAAA,SAAS,EAAC;AAA6B,GAAA,EAAC,SACjD,EAACW,OACA,CACN,CACA,CACF,CACF,CAAC;AAEV;;AAEA;AACA;AACA;AACO,SAASoB,WAAWA,CAAC;EAC1B7I,UAAU;EACV8I,QAAQ;AACRnE,EAAAA,OAAO,GAAG;AACZ,CAAC,EAAE;EACD,MAAM,CAACvD,SAAS,EAAE2H,YAAY,CAAC,GAAGrE,QAAQ,CAAC,EAAE,CAAC;AAC9C,EAAA,MAAM4C,IAAI,GAAG9H,kBAAkB,CAACQ,UAAU,CAAC;EAE3C,MAAMgJ,YAAY,GAAIC,CAAC,IAAK;IAC1BA,CAAC,CAACC,cAAc,EAAE;IAClBJ,QAAQ,GAAG1H,SAAS,CAAC;EACvB,CAAC;EAED,oBACEwF,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMC,IAAAA,SAAS,EAAC,sBAAsB;AAACgC,IAAAA,QAAQ,EAAEE;AAAa,GAAA,eAC5DpC,KAAA,CAAAC,aAAA,aAAI,iCAAM,EAACS,IAAI,CAAC5I,IAAS,CAAC,EAEzBsB,UAAU,KAAK7C,WAAW,CAACG,QAAQ,iBAClCsJ,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAAoB,eACjCF,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA,IAAA,EAAO,0BAAW,CAAC,eACnBD,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AACEpH,IAAAA,IAAI,EAAC,MAAM;AACX0J,IAAAA,MAAM,EAAC,cAAc;AACrBC,IAAAA,QAAQ,EAAGH,CAAC,IAAKF,YAAY,CAAC;AAAE,MAAA,GAAG3H,SAAS;AAAEjC,MAAAA,eAAe,EAAE8J,CAAC,CAACI,MAAM,CAACC,KAAK,CAAC,CAAC;KAAG;GACnF,CACE,CACN,EAEAtJ,UAAU,KAAK7C,WAAW,CAACE,OAAO,iBACjCuJ,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAAoB,eACjCF,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA,IAAA,EAAO,0BAAW,CAAC,eACnBD,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AACE0C,IAAAA,KAAK,EAAEnI,SAAS,CAACoI,QAAQ,IAAI,EAAG;AAChCJ,IAAAA,QAAQ,EAAGH,CAAC,IAAKF,YAAY,CAAC;AAAE,MAAA,GAAG3H,SAAS;AAAEoI,MAAAA,QAAQ,EAAEP,CAAC,CAACI,MAAM,CAACE;KAAO;GAAE,eAE1E3C,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQ0C,IAAAA,KAAK,EAAC;AAAE,GAAA,EAAC,oBAAW,CAAC,eAC7B3C,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQ0C,IAAAA,KAAK,EAAC;AAAM,GAAA,EAAC,cAAU,CAAC,eAChC3C,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQ0C,IAAAA,KAAK,EAAC;AAAW,GAAA,EAAC,cAAU,CAAC,eACrC3C,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQ0C,IAAAA,KAAK,EAAC;AAAe,GAAA,EAAC,cAAU,CAAC,eACzC3C,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQ0C,IAAAA,KAAK,EAAC;AAAW,GAAA,EAAC,cAAU,CAC9B,CACL,CACN,eAED3C,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GAAoB,eACjCF,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA,IAAA,EAAO,kDAAe,CAAC,eACvBD,KAAA,CAAAC,aAAA,CAAA,UAAA,EAAA;AACE4C,IAAAA,WAAW,EAAC,oEAAa;AACzBF,IAAAA,KAAK,EAAEnI,SAAS,CAACsI,WAAW,IAAI,EAAG;AACnCN,IAAAA,QAAQ,EAAGH,CAAC,IAAKF,YAAY,CAAC;AAAE,MAAA,GAAG3H,SAAS;AAAEsI,MAAAA,WAAW,EAAET,CAAC,CAACI,MAAM,CAACE;KAAO;AAAE,GAC9E,CACE,CAAC,eAEN3C,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AACEpH,IAAAA,IAAI,EAAC,QAAQ;AACbqH,IAAAA,SAAS,EAAC,2BAA2B;AACrCO,IAAAA,QAAQ,EAAE1C;AAAQ,GAAA,EAEjBA,OAAO,GAAG,QAAQ,GAAG,MAChB,CACJ,CAAC;AAEX;;AAEA;AACA;AACA;AACO,SAASgF,eAAeA,CAAC;EAC9B5J,WAAW;EACXgI,WAAW;EACX6B,OAAO;EACPC,mBAAmB;AACnBlF,EAAAA,OAAO,GAAG;AACZ,CAAC,EAAE;EACD,MAAM,CAACiD,YAAY,EAAEkC,eAAe,CAAC,GAAGpF,QAAQ,CAAC,IAAI,CAAC;EACtD,MAAM,CAACqF,QAAQ,EAAEC,WAAW,CAAC,GAAGtF,QAAQ,CAAC,KAAK,CAAC;EAE/C,MAAMuF,YAAY,GAAIxK,IAAI,IAAK;IAC7B,IAAIA,IAAI,KAAKM,WAAW,EAAE;MACxB+J,eAAe,CAACrK,IAAI,CAAC;AACvB,IAAA;EACF,CAAC;EAED,MAAMyK,WAAW,GAAI9I,SAAS,IAAK;AACjCwI,IAAAA,OAAO,GAAGhC,YAAY,EAAExG,SAAS,CAAC;IAClC4I,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC;EAED,oBACEpD,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;AAAmB,GAAA,eAChCF,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAA,EAAI,0BAAQ,CAAC,EAEZkB,WAAW,iBACVnB,KAAA,CAAAC,aAAA,CAACiB,qBAAqB,EAAA;AACpBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,QAAQ,EAAE6B;AAAoB,GAC/B,CACF,eAEDjD,KAAA,CAAAC,aAAA,+BACED,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAA,EAAI,sCAAU,CAAC,eACfD,KAAA,CAAAC,aAAA,CAACc,mBAAmB,EAAA;AAClB5H,IAAAA,WAAW,EAAEA,WAAY;AACzB6H,IAAAA,YAAY,EAAEA,YAAa;AAC3BR,IAAAA,QAAQ,EAAE6C;AAAa,GACxB,CACM,CAAC,EAETrC,YAAY,IAAIA,YAAY,KAAK7H,WAAW,iBAC3C6G,KAAA,CAAAC,aAAA,CAAA,SAAA,EAAA,IAAA,eACED,KAAA,CAAAC,aAAA,CAAC4B,kBAAkB,EAAA;AACjB1I,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,UAAU,EAAE4H;AAAa,GAC1B,CAAC,eACFhB,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,2BAA2B;AACrCS,IAAAA,OAAO,EAAEA,MAAMyC,WAAW,CAAC,IAAI;GAAE,EAClC,0BAEO,CACD,CACV,EAEAD,QAAQ,iBACPnD,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,uBAAuB;AAACS,IAAAA,OAAO,EAAEA,MAAMyC,WAAW,CAAC,KAAK;GAAE,eACvEpD,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,eAAe;AAACS,IAAAA,OAAO,EAAG0B,CAAC,IAAKA,CAAC,CAACkB,eAAe;AAAG,GAAA,eACjEvD,KAAA,CAAAC,aAAA,CAACgC,WAAW,EAAA;AACV7I,IAAAA,UAAU,EAAE4H,YAAa;AACzBkB,IAAAA,QAAQ,EAAEoB,WAAY;AACtBvF,IAAAA,OAAO,EAAEA;GACV,CACE,CACF,CAEJ,CAAC;AAEV;;;;"}