@chenchaolong/plugin-trade-compliance-workbench 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -1
- package/dist/assets/branding/yuneec-logo.png +0 -0
- package/dist/assets/templates/CI.xlsx +0 -0
- package/dist/assets/templates/CUSTOMS_DECLARATION.xlsx +0 -0
- package/dist/assets/templates/PI.xlsx +0 -0
- package/dist/assets/templates/PL.xlsx +0 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/adapters/file-storage.d.ts +4 -2
- package/dist/lib/adapters/file-storage.d.ts.map +1 -1
- package/dist/lib/adapters/file-storage.js +25 -10
- package/dist/lib/adapters/file-storage.js.map +1 -1
- package/dist/lib/adapters/hsbianma.provider.d.ts +1 -0
- package/dist/lib/adapters/hsbianma.provider.d.ts.map +1 -1
- package/dist/lib/adapters/hsbianma.provider.js +32 -3
- package/dist/lib/adapters/hsbianma.provider.js.map +1 -1
- package/dist/lib/adapters/translation.provider.d.ts +3 -0
- package/dist/lib/adapters/translation.provider.d.ts.map +1 -1
- package/dist/lib/adapters/translation.provider.js +15 -6
- package/dist/lib/adapters/translation.provider.js.map +1 -1
- package/dist/lib/constants.d.ts +3 -2
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +3 -2
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/demo-data.definitions.d.ts +28 -0
- package/dist/lib/demo-data.definitions.d.ts.map +1 -0
- package/dist/lib/demo-data.definitions.js +236 -0
- package/dist/lib/demo-data.definitions.js.map +1 -0
- package/dist/lib/demo-data.entity.d.ts +9 -0
- package/dist/lib/demo-data.entity.d.ts.map +1 -0
- package/dist/lib/demo-data.entity.js +24 -0
- package/dist/lib/demo-data.entity.js.map +1 -0
- package/dist/lib/demo-data.ids.d.ts +4 -0
- package/dist/lib/demo-data.ids.d.ts.map +1 -0
- package/dist/lib/demo-data.ids.js +19 -0
- package/dist/lib/demo-data.ids.js.map +1 -0
- package/dist/lib/demo-data.service.d.ts +26 -0
- package/dist/lib/demo-data.service.d.ts.map +1 -0
- package/dist/lib/demo-data.service.js +124 -0
- package/dist/lib/demo-data.service.js.map +1 -0
- package/dist/lib/domain/default-settings.d.ts +1 -0
- package/dist/lib/domain/default-settings.d.ts.map +1 -1
- package/dist/lib/domain/default-settings.js +1 -0
- package/dist/lib/domain/default-settings.js.map +1 -1
- package/dist/lib/domain/risk-notice.d.ts +59 -0
- package/dist/lib/domain/risk-notice.d.ts.map +1 -0
- package/dist/lib/domain/risk-notice.js +30 -0
- package/dist/lib/domain/risk-notice.js.map +1 -0
- package/dist/lib/entities/catalog.entity.d.ts.map +1 -1
- package/dist/lib/entities/catalog.entity.js +4 -2
- package/dist/lib/entities/catalog.entity.js.map +1 -1
- package/dist/lib/entities/customer.entity.d.ts +9 -2
- package/dist/lib/entities/customer.entity.d.ts.map +1 -1
- package/dist/lib/entities/customer.entity.js +29 -1
- package/dist/lib/entities/customer.entity.js.map +1 -1
- package/dist/lib/entities/index.d.ts +2 -2
- package/dist/lib/entities/index.d.ts.map +1 -1
- package/dist/lib/entities/index.js +2 -2
- package/dist/lib/entities/index.js.map +1 -1
- package/dist/lib/entities/procurement.entity.d.ts +6 -4
- package/dist/lib/entities/procurement.entity.d.ts.map +1 -1
- package/dist/lib/entities/procurement.entity.js +9 -1
- package/dist/lib/entities/procurement.entity.js.map +1 -1
- package/dist/lib/entities/settings.entity.d.ts +12 -2
- package/dist/lib/entities/settings.entity.d.ts.map +1 -1
- package/dist/lib/entities/settings.entity.js +40 -0
- package/dist/lib/entities/settings.entity.js.map +1 -1
- package/dist/lib/entities/shared.entity.d.ts +10 -5
- package/dist/lib/entities/shared.entity.d.ts.map +1 -1
- package/dist/lib/entities/shared.entity.js +22 -1
- package/dist/lib/entities/shared.entity.js.map +1 -1
- package/dist/lib/remote-components/trade-compliance-workbench/app.css +1 -0
- package/dist/lib/remote-components/trade-compliance-workbench/app.js +63 -277
- package/dist/lib/remote-ui/analytics-contracts.d.ts +106 -0
- package/dist/lib/remote-ui/analytics-contracts.d.ts.map +1 -0
- package/dist/lib/remote-ui/analytics-contracts.js +4 -0
- package/dist/lib/remote-ui/analytics-contracts.js.map +1 -0
- package/dist/lib/remote-ui/app-source.d.ts +2 -0
- package/dist/lib/remote-ui/app-source.d.ts.map +1 -0
- package/dist/lib/remote-ui/app-source.js +753 -0
- package/dist/lib/remote-ui/app-source.js.map +1 -0
- package/dist/lib/remote-ui/bridge.d.ts +36 -0
- package/dist/lib/remote-ui/bridge.d.ts.map +1 -0
- package/dist/lib/remote-ui/bridge.js +159 -0
- package/dist/lib/remote-ui/bridge.js.map +1 -0
- package/dist/lib/remote-ui/components/data-grid.d.ts +34 -0
- package/dist/lib/remote-ui/components/data-grid.d.ts.map +1 -0
- package/dist/lib/remote-ui/components/data-grid.js +59 -0
- package/dist/lib/remote-ui/components/data-grid.js.map +1 -0
- package/dist/lib/remote-ui/components/forms.d.ts +63 -0
- package/dist/lib/remote-ui/components/forms.d.ts.map +1 -0
- package/dist/lib/remote-ui/components/forms.js +117 -0
- package/dist/lib/remote-ui/components/forms.js.map +1 -0
- package/dist/lib/remote-ui/components/layout.d.ts +34 -0
- package/dist/lib/remote-ui/components/layout.d.ts.map +1 -0
- package/dist/lib/remote-ui/components/layout.js +89 -0
- package/dist/lib/remote-ui/components/layout.js.map +1 -0
- package/dist/lib/remote-ui/contract-import.d.ts +82 -0
- package/dist/lib/remote-ui/contract-import.d.ts.map +1 -0
- package/dist/lib/remote-ui/contract-import.js +102 -0
- package/dist/lib/remote-ui/contract-import.js.map +1 -0
- package/dist/lib/remote-ui/contracts.d.ts +257 -0
- package/dist/lib/remote-ui/contracts.d.ts.map +1 -0
- package/dist/lib/remote-ui/contracts.js +12 -0
- package/dist/lib/remote-ui/contracts.js.map +1 -0
- package/dist/lib/remote-ui/customer-contract-contracts.d.ts +227 -0
- package/dist/lib/remote-ui/customer-contract-contracts.d.ts.map +1 -0
- package/dist/lib/remote-ui/customer-contract-contracts.js +10 -0
- package/dist/lib/remote-ui/customer-contract-contracts.js.map +1 -0
- package/dist/lib/remote-ui/model.d.ts +31 -0
- package/dist/lib/remote-ui/model.d.ts.map +1 -0
- package/dist/lib/remote-ui/model.js +248 -0
- package/dist/lib/remote-ui/model.js.map +1 -0
- package/dist/lib/remote-ui/pages/analytics.d.ts +12 -0
- package/dist/lib/remote-ui/pages/analytics.d.ts.map +1 -0
- package/dist/lib/remote-ui/pages/analytics.js +123 -0
- package/dist/lib/remote-ui/pages/analytics.js.map +1 -0
- package/dist/lib/remote-ui/pages/catalogs.d.ts +225 -0
- package/dist/lib/remote-ui/pages/catalogs.d.ts.map +1 -0
- package/dist/lib/remote-ui/pages/catalogs.js +572 -0
- package/dist/lib/remote-ui/pages/catalogs.js.map +1 -0
- package/dist/lib/remote-ui/pages/contracts.d.ts +80 -0
- package/dist/lib/remote-ui/pages/contracts.d.ts.map +1 -0
- package/dist/lib/remote-ui/pages/contracts.js +396 -0
- package/dist/lib/remote-ui/pages/contracts.js.map +1 -0
- package/dist/lib/remote-ui/pages/files.d.ts +31 -0
- package/dist/lib/remote-ui/pages/files.d.ts.map +1 -0
- package/dist/lib/remote-ui/pages/files.js +64 -0
- package/dist/lib/remote-ui/pages/files.js.map +1 -0
- package/dist/lib/remote-ui/pages/home.d.ts +71 -0
- package/dist/lib/remote-ui/pages/home.d.ts.map +1 -0
- package/dist/lib/remote-ui/pages/home.js +136 -0
- package/dist/lib/remote-ui/pages/home.js.map +1 -0
- package/dist/lib/remote-ui/pages/procurement.d.ts +36 -0
- package/dist/lib/remote-ui/pages/procurement.d.ts.map +1 -0
- package/dist/lib/remote-ui/pages/procurement.js +370 -0
- package/dist/lib/remote-ui/pages/procurement.js.map +1 -0
- package/dist/lib/remote-ui/pages/sales.d.ts +12 -0
- package/dist/lib/remote-ui/pages/sales.d.ts.map +1 -0
- package/dist/lib/remote-ui/pages/sales.js +106 -0
- package/dist/lib/remote-ui/pages/sales.js.map +1 -0
- package/dist/lib/remote-ui/pages/settings.d.ts +34 -0
- package/dist/lib/remote-ui/pages/settings.d.ts.map +1 -0
- package/dist/lib/remote-ui/pages/settings.js +259 -0
- package/dist/lib/remote-ui/pages/settings.js.map +1 -0
- package/dist/lib/remote-ui/procurement-contracts.d.ts +177 -0
- package/dist/lib/remote-ui/procurement-contracts.d.ts.map +1 -0
- package/dist/lib/remote-ui/procurement-contracts.js +2 -0
- package/dist/lib/remote-ui/procurement-contracts.js.map +1 -0
- package/dist/lib/remote-ui/sales-contracts.d.ts +133 -0
- package/dist/lib/remote-ui/sales-contracts.d.ts.map +1 -0
- package/dist/lib/remote-ui/sales-contracts.js +2 -0
- package/dist/lib/remote-ui/sales-contracts.js.map +1 -0
- package/dist/lib/remote-ui/settings-contracts.d.ts +114 -0
- package/dist/lib/remote-ui/settings-contracts.d.ts.map +1 -0
- package/dist/lib/remote-ui/settings-contracts.js +6 -0
- package/dist/lib/remote-ui/settings-contracts.js.map +1 -0
- package/dist/lib/remote-ui/upload-policy.d.ts +18 -0
- package/dist/lib/remote-ui/upload-policy.d.ts.map +1 -0
- package/dist/lib/remote-ui/upload-policy.js +56 -0
- package/dist/lib/remote-ui/upload-policy.js.map +1 -0
- package/dist/lib/runtime-validation.d.ts +61 -0
- package/dist/lib/runtime-validation.d.ts.map +1 -0
- package/dist/lib/runtime-validation.js +243 -0
- package/dist/lib/runtime-validation.js.map +1 -0
- package/dist/lib/sales-file.service.d.ts +54 -6
- package/dist/lib/sales-file.service.d.ts.map +1 -1
- package/dist/lib/sales-file.service.js +278 -33
- package/dist/lib/sales-file.service.js.map +1 -1
- package/dist/lib/trade-compliance.config.d.ts +32 -0
- package/dist/lib/trade-compliance.config.d.ts.map +1 -1
- package/dist/lib/trade-compliance.config.js +16 -4
- package/dist/lib/trade-compliance.config.js.map +1 -1
- package/dist/lib/types.d.ts +253 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +24 -0
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/workbench-view.provider.d.ts +675 -38
- package/dist/lib/workbench-view.provider.d.ts.map +1 -1
- package/dist/lib/workbench-view.provider.js +411 -40
- package/dist/lib/workbench-view.provider.js.map +1 -1
- package/dist/lib/workbench.middleware.d.ts +70 -19
- package/dist/lib/workbench.middleware.d.ts.map +1 -1
- package/dist/lib/workbench.middleware.js +5 -1
- package/dist/lib/workbench.middleware.js.map +1 -1
- package/dist/lib/workbench.plugin.d.ts.map +1 -1
- package/dist/lib/workbench.plugin.js +6 -4
- package/dist/lib/workbench.plugin.js.map +1 -1
- package/dist/lib/workbench.service.d.ts +629 -48
- package/dist/lib/workbench.service.d.ts.map +1 -1
- package/dist/lib/workbench.service.js +1818 -300
- package/dist/lib/workbench.service.js.map +1 -1
- package/package.json +15 -4
- package/scripts/seed-demo-data.mjs +138 -0
|
@@ -1,277 +1,63 @@
|
|
|
1
|
-
(function () {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const h = React.createElement
|
|
6
|
-
const CHANNEL = 'xpert.remote-ui'
|
|
7
|
-
|
|
8
|
-
let instanceId = null
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (!(options && options.noReload)) await reload()
|
|
65
|
-
return dataOf(response)
|
|
66
|
-
} catch (error) { show(messageOf(error) || '操作失败', 'error'); throw error }
|
|
67
|
-
finally { setBusy(false) }
|
|
68
|
-
}
|
|
69
|
-
async function upload(actionKey, file, input) {
|
|
70
|
-
setBusy(true)
|
|
71
|
-
try {
|
|
72
|
-
const response = await fileAction(actionKey, file, input)
|
|
73
|
-
const result = payload(response)
|
|
74
|
-
if (result && result.success === false) throw new Error(messageOf(result))
|
|
75
|
-
const commands = dataOf(response) && dataOf(response).commands || []
|
|
76
|
-
for (const command of commands) await request('invokeClientCommand', { commandKey: command.commandKey, payload: command.payload })
|
|
77
|
-
show('文件已进入解析中')
|
|
78
|
-
setDialog(null); await reload()
|
|
79
|
-
beginPolling()
|
|
80
|
-
} catch (error) { show(messageOf(error) || '上传失败', 'error') }
|
|
81
|
-
finally { setBusy(false) }
|
|
82
|
-
}
|
|
83
|
-
function beginPolling() { let count = 0; const timer = setInterval(async () => { count += 1; await reload(); if (count >= 600) clearInterval(timer) }, 2000) }
|
|
84
|
-
|
|
85
|
-
const ctx = { data, search, setSearch, busy, setBusy, show, run, upload, dialog, setDialog, purchasePath, setPurchasePath, salesPath, setSalesPath }
|
|
86
|
-
return h('div', { className: 'tcw-shell' },
|
|
87
|
-
h('aside', { className: 'tcw-sidebar' }, h('div', { className: 'tcw-brand' }, h('span', { className: 'tcw-shield' }, 'G'), h('strong', null, '外贸合规工作台')), h('nav', null, pages.map(item => h('button', { key: item[0], className: page === item[0] ? 'active' : '', onClick: () => { setPage(item[0]); setPurchasePath({ supplierId: null, orderId: null }); setSalesPath({ customerId: null, orderKey: null }) } }, h('span', { 'aria-hidden': true }, item[2]), item[1])))),
|
|
88
|
-
h('main', { className: 'tcw-main' }, h(Topbar, { page, busy, onRefresh: () => reload() }), pageView(page, ctx)),
|
|
89
|
-
notice && h('div', { className: `tcw-toast ${notice.kind || ''}` }, notice.message),
|
|
90
|
-
busy && h('div', { className: 'tcw-busy' }, h('span', { className: 'tcw-spinner' }), '处理中...'),
|
|
91
|
-
dialog && renderDialog(dialog, ctx)
|
|
92
|
-
)
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
function Topbar({ page, busy, onRefresh }) { const label = pages.find(item => item[0] === page)?.[1] || ''; return h('header', { className: 'tcw-topbar' }, h('div', null, h('span', null, '首页'), h('b', null, ' / '), h('span', null, label)), h('button', { className: 'icon-button', title: '刷新', disabled: busy, onClick: onRefresh }, '↻')) }
|
|
96
|
-
function pageView(page, ctx) { if (page === 'home') return h(HomePage, ctx); if (page === 'controlled') return h(ControlledPage, ctx); if (page === 'sanctions') return h(SanctionsPage, ctx); if (page === 'purchase') return h(PurchasePage, ctx); if (page === 'contract-review') return h(ContractReviewPage, ctx); if (page === 'sales') return h(SalesPage, ctx); if (page === 'files') return h(FilesPage, ctx); if (page === 'analytics') return h(AnalyticsPage, ctx); return h(SettingsPage, ctx) }
|
|
97
|
-
function PageTitle({ title, actions, breadcrumb }) { return h('div', { className: 'tcw-page-title' }, h('div', null, breadcrumb && h('div', { className: 'tcw-breadcrumb' }, breadcrumb), h('h1', null, title)), h('div', { className: 'tcw-page-actions' }, actions)) }
|
|
98
|
-
function SearchBar({ value, onChange, fields }) { return h('div', { className: 'tcw-filterbar' }, h('label', null, h('span', null, fields || '动态筛选'), h('input', { value, placeholder: '输入关键字', onChange: event => onChange(event.target.value) })), h('button', { className: 'button muted', onClick: () => onChange('') }, '重置')) }
|
|
99
|
-
function Button({ children, onClick, tone, title, disabled }) { return h('button', { className: `button ${tone || ''}`, onClick, title, disabled }, children) }
|
|
100
|
-
function Status({ children, tone }) { return h('span', { className: `status ${tone || ''}` }, children) }
|
|
101
|
-
function Empty({ label }) { return h('div', { className: 'tcw-empty' }, label || '暂无数据') }
|
|
102
|
-
|
|
103
|
-
function HomePage({ data }) {
|
|
104
|
-
const d = data.dashboard || {}
|
|
105
|
-
return h('section', null, h(PageTitle, { title: '首页' }), h('div', { className: 'tcw-risk-band' }, h('div', { className: 'risk-icon' }, '!'), h('div', { dangerouslySetInnerHTML: { __html: sanitizeRich(d.riskNotice && d.riskNotice.content || '') } })), h('div', { className: 'tcw-metrics' }, metric('商品风险命中', d.controlledRiskCount || 0), metric('公司制裁命中', d.sanctionRiskCount || 0), metric('未关联采购合同', d.unlinkedPurchaseCount || 0), metric('未关联客户合同', d.unlinkedCustomerCount || 0)), h('div', { className: 'tcw-process' }, ['维护风险目录', '上传采购合同', '审核客户合同', '销售合规校验', '生成销售文件'].map((name, index) => h(React.Fragment, { key: name }, h('div', { className: 'process-step' }, h('b', null, index + 1), h('span', null, name)), index < 4 && h('span', { className: 'process-arrow' }, '→')))))
|
|
106
|
-
}
|
|
107
|
-
function metric(label, value) { return h('div', { className: 'metric' }, h('span', null, label), h('strong', null, value)) }
|
|
108
|
-
|
|
109
|
-
function ControlledPage(ctx) {
|
|
110
|
-
const rows = ctx.data.controlledGoods.items || []
|
|
111
|
-
const actions = [h(Button, { key: 'upload', onClick: () => ctx.setDialog({ type: 'catalog-upload', catalog: 'controlled' }) }, '↑ 上传目录文件'), h(Button, { key: 'add', tone: 'muted', onClick: () => editControlled(ctx) }, '+ 手工新增')]
|
|
112
|
-
return h('section', null, h(PageTitle, { title: '管控商品目录', actions }), h(SearchBar, { value: ctx.search, onChange: ctx.setSearch, fields: '目录类型、来源文件、商品名称、海关编码' }), h(DataTable, { columns: [['productName', '商品名称', (value) => h('button', { className: 'cell-link', onClick: () => openHsDialog(ctx, value) }, value || '—')], ['hsCode', '海关编码', (value, row) => h('button', { className: 'cell-link', onClick: () => openHsDialog(ctx, value || row.productName) }, value || '—')], ['catalogType', '合规分类', value => value === 'DUAL_USE' ? '军民两用物资' : '海外制裁'], ['controlDescription', '管控说明', 'ellipsis'], ['sourceType', '来源'], ['updatedAt', '更新时间', dateTime]], rows, actions: row => [h('button', { key: 'edit', onClick: () => editControlled(ctx, row) }, '审核'), h('button', { key: 'delete', className: 'danger-link', onClick: () => confirmDelete(ctx, 'controlledGoods', row.id, row.productName) }, '删除')] }), h(ImportSummary, { tasks: ctx.data.importTasks.items, type: 'CONTROLLED_CATALOG', ctx }))
|
|
113
|
-
}
|
|
114
|
-
function editControlled(ctx, row) { ctx.setDialog({ type: 'form', title: row ? '审核管控商品' : '新增管控商品', actionKey: row ? 'update_controlled_goods' : 'save_controlled_goods', values: Object.assign({ catalogType: 'DUAL_USE', productName: '', hsCode: '', controlDescription: '' }, row || {}), fields: [['catalogType', '目录类型', 'select', [['DUAL_USE', '军民两用物资'], ['OVERSEAS_SANCTION', '海外制裁']]], ['productName', '商品名称', 'text', true], ['hsCode', '海关编码'], ['controlDescription', '管控说明', 'textarea']], source: row && sourcePane(row) }) }
|
|
115
|
-
|
|
116
|
-
function SanctionsPage(ctx) {
|
|
117
|
-
const rows = ctx.data.sanctionedCompanies.items || []
|
|
118
|
-
const actions = [h(Button, { key: 'upload', onClick: () => ctx.setDialog({ type: 'catalog-upload', catalog: 'sanctions' }) }, '↑ 上传目录文件'), h(Button, { key: 'add', tone: 'muted', onClick: () => editSanction(ctx) }, '+ 手工新增')]
|
|
119
|
-
return h('section', null, h(PageTitle, { title: '公司制裁目录', actions }), h(SearchBar, { value: ctx.search, onChange: ctx.setSearch, fields: '公司名称、国家地区、制裁名单来源' }), h(DataTable, { columns: [['companyName', '公司名称', 'link'], ['countryOrRegion', '国家或地区'], ['sanctionListSource', '制裁名单来源'], ['sanctionReason', '制裁原因', 'ellipsis'], ['effectiveDate', '生效日期'], ['updatedAt', '更新时间', dateTime]], rows, actions: row => [h('button', { key: 'edit', onClick: () => editSanction(ctx, row) }, '审核'), h('button', { key: 'delete', className: 'danger-link', onClick: () => confirmDelete(ctx, 'sanctionedCompany', row.id, row.companyName) }, '删除')] }), h(ImportSummary, { tasks: ctx.data.importTasks.items, type: 'SANCTION_CATALOG', ctx }))
|
|
120
|
-
}
|
|
121
|
-
function editSanction(ctx, row) { ctx.setDialog({ type: 'form', title: row ? '审核制裁公司' : '新增制裁公司', actionKey: row ? 'update_sanctioned_company' : 'save_sanctioned_company', values: Object.assign({ companyName: '', countryOrRegion: '', sanctionListSource: '', effectiveDate: '', sanctionReason: '', remarks: '' }, row || {}), fields: [['companyName', '公司名称', 'text', true], ['countryOrRegion', '国家或地区'], ['sanctionListSource', '制裁名单来源'], ['effectiveDate', '发布/生效日期', 'date'], ['sanctionReason', '制裁原因', 'textarea'], ['remarks', '备注', 'textarea']], source: row && sourcePane(row) }) }
|
|
122
|
-
|
|
123
|
-
function PurchasePage(ctx) {
|
|
124
|
-
const path = ctx.purchasePath
|
|
125
|
-
if (path.orderId) return h(PurchaseLines, ctx)
|
|
126
|
-
if (path.supplierId) return h(PurchaseOrders, ctx)
|
|
127
|
-
const rows = ctx.data.suppliers.items || []
|
|
128
|
-
return h('section', null, h(PageTitle, { title: '采购合规管理', actions: [h(Button, { key: 'upload', onClick: () => ctx.setDialog({ type: 'file-upload', actionKey: 'upload_purchase_contract', title: '上传采购合同' }) }, '↑ 上传采购合同')] }), h(SearchBar, { value: ctx.search, onChange: ctx.setSearch, fields: '供应商代码、名称、简称、联系人、经营产品' }), h(DataTable, { columns: [['code', '供应商代码'], ['name', '供应商名称', 'ellipsis'], ['shortName', '简称'], ['contactName', '联系人'], ['phone', '联系电话'], ['businessProducts', '经营产品', 'ellipsis']], rows, actions: row => [h('button', { key: 'detail', onClick: () => ctx.setPurchasePath({ supplierId: row.id, orderId: null }) }, '详情'), h('button', { key: 'edit', onClick: () => editSupplier(ctx, row) }, '审核'), h('button', { key: 'delete', className: 'danger-link', onClick: () => confirmDelete(ctx, 'supplier', row.id, row.name) }, '删除')] }), h(ImportSummary, { tasks: ctx.data.importTasks.items, type: 'PURCHASE_CONTRACT', ctx, review: true }))
|
|
129
|
-
}
|
|
130
|
-
function editSupplier(ctx, row) { ctx.setDialog({ type: 'form', title: '审核供应商信息', actionKey: 'update_supplier', values: row, fields: partyFields('供应商') }) }
|
|
131
|
-
function PurchaseOrders(ctx) {
|
|
132
|
-
const supplier = (ctx.data.suppliers.items || []).find(row => row.id === ctx.purchasePath.supplierId)
|
|
133
|
-
const rows = (ctx.data.purchaseOrders.items || []).filter(row => row.supplierId === ctx.purchasePath.supplierId)
|
|
134
|
-
const total = sum(rows, 'contractAmountCny'); const annual = rows.filter(row => String(row.orderDate || '').startsWith(String(new Date().getFullYear())))
|
|
135
|
-
return h('section', null, h(PageTitle, { title: `${supplier?.name || ''} / 采购订单`, breadcrumb: h('button', { className: 'back-link', onClick: () => ctx.setPurchasePath({ supplierId: null, orderId: null }) }, '← 返回供应商'), actions: [h(Button, { key: 'upload', onClick: () => ctx.setDialog({ type: 'file-upload', actionKey: 'upload_purchase_contract', title: '上传采购合同' }) }, '↑ 上传采购合同')] }), h('div', { className: 'tcw-metrics compact' }, metric('订单总数', rows.length), metric('采购总金额', money(total)), metric('本年订单数量', annual.length), metric('本年采购金额', money(sum(annual, 'contractAmountCny'))), metric('采购商品 TOP5', topLabel(ctx.data.analytics.purchaseTop5))), h(DataTable, { columns: [['contractNo', '订单编码'], ['orderDate', '下单日期'], ['contractAmountCny', '订单总额', money], ['paidAmountCny', '已付款', money], ['sourceFileName', '来源合同', 'ellipsis']], rows, actions: row => [h('button', { key: 'detail', onClick: () => ctx.setPurchasePath({ supplierId: row.supplierId, orderId: row.id }) }, '详情'), h('button', { key: 'edit', onClick: () => editPurchaseOrder(ctx, row) }, '审核'), h('button', { key: 'delete', className: 'danger-link', onClick: () => confirmDelete(ctx, 'purchaseOrder', row.id, row.contractNo) }, '删除')] }))
|
|
136
|
-
}
|
|
137
|
-
function editPurchaseOrder(ctx, row) { ctx.setDialog({ type: 'form', title: '审核采购订单', actionKey: 'update_purchase_order', values: row, fields: [['contractNo', '合同编号', 'readonly'], ['orderDate', '下单日期', 'date'], ['contractAmountCny', '订单总额(人民币)', 'number'], ['paidAmountCny', '已付款(人民币)', 'number'], ['refundedAmountCny', '已退税(人民币)', 'number']] }) }
|
|
138
|
-
function PurchaseLines(ctx) {
|
|
139
|
-
const order = (ctx.data.purchaseOrders.items || []).find(row => row.id === ctx.purchasePath.orderId)
|
|
140
|
-
const rows = (ctx.data.purchaseLines.items || []).filter(row => row.purchaseOrderId === ctx.purchasePath.orderId)
|
|
141
|
-
return h('section', null, h(PageTitle, { title: `${order?.contractNo || ''} / 商品明细`, breadcrumb: h('button', { className: 'back-link', onClick: () => ctx.setPurchasePath({ supplierId: ctx.purchasePath.supplierId, orderId: null }) }, '← 返回订单'), actions: [h(Button, { key: 'add', tone: 'muted', onClick: () => editPurchaseLine(ctx, null, order) }, '+ 新增商品')] }), h(SearchBar, { value: ctx.search, onChange: ctx.setSearch, fields: '商品名称、描述、规格型号、海关编码' }), h(DataTable, { columns: [['lineNumber', '序号'], ['productName', '商品名称', 'ellipsis'], ['modelSpecification', '规格型号', 'ellipsis'], ['quantity', '数量'], ['unit', '单位'], ['unitPriceTaxIncluded', '含税单价', money], ['lineAmountTaxIncluded', '含税总价', money], ['hsCode', '海关编码'], ['refundRate', '退税率', percent]], rows, actions: row => [h('button', { key: 'edit', onClick: () => editPurchaseLine(ctx, row, order) }, '审核'), h('button', { key: 'delete', className: 'danger-link', onClick: () => confirmDelete(ctx, 'purchaseLine', row.id, row.productName) }, '删除')] }))
|
|
142
|
-
}
|
|
143
|
-
function editPurchaseLine(ctx, row, order) { ctx.setDialog({ type: 'form', title: row ? '审核采购商品' : '新增采购商品', actionKey: row ? 'update_purchase_line' : 'add_purchase_line', values: Object.assign({ purchaseOrderId: order.id, productName: '', quantity: 1, unitPriceTaxIncluded: 0, lineAmountTaxIncluded: 0, hsCodeStatus: 'UNCONFIRMED' }, row || {}), fields: [['productName', '商品名称', 'text', true], ['englishName', '英文名称'], ['productDescription', '商品描述', 'textarea'], ['modelSpecification', '规格型号'], ['unit', '单位'], ['quantity', '数量', 'number', true], ['unitPriceTaxIncluded', '含税单价', 'number', true], ['lineAmountTaxIncluded', '含税总价', 'number', true], ['vatRate', '增值税率', 'number'], ['hsCode', '海关编码'], ['hsCodeStatus', '编码状态', 'select', [['UNCONFIRMED', '未确认'], ['AI_CONFIRMED', 'AI确认'], ['MANUALLY_CONFIRMED', '人工确认']]], ['refundRate', '退税率', 'number'], ['refundPolicyReference', '退税政策依据', 'textarea'], ['refundPolicyDate', '退税政策日期', 'date']], source: row && sourcePane(row) }) }
|
|
144
|
-
|
|
145
|
-
function ContractReviewPage(ctx) {
|
|
146
|
-
const rows = ctx.data.customerContracts.items || []; const customers = ctx.data.customers.items || []
|
|
147
|
-
return h('section', null, h(PageTitle, { title: '客户合同审核', actions: [h(Button, { key: 'upload', onClick: () => ctx.setDialog({ type: 'file-upload', actionKey: 'upload_customer_contract', title: '上传客户合同' }) }, '↑ 上传客户合同')] }), h(SearchBar, { value: ctx.search, onChange: ctx.setSearch, fields: '合同编码、客户名称、来源文件' }), h(DataTable, { columns: [['contractNo', '合同编码'], ['customerId', '客户名称', value => customers.find(item => item.id === value)?.name || ''], ['contractAmountReviewCny', '预审合同金额', money], ['signedAt', '签订日期'], ['overallRiskLevel', '条款风险', riskLabel], ['sourceFileName', '来源文件', 'ellipsis']], rows, actions: row => [h('button', { key: 'review', onClick: () => openContractReview(ctx, row.id) }, '审核'), h('button', { key: 'delete', className: 'danger-link', onClick: () => confirmDelete(ctx, 'customerContract', row.id, row.contractNo) }, '删除')] }), h(ImportSummary, { tasks: ctx.data.importTasks.items, type: 'CUSTOMER_CONTRACT', ctx, review: true }))
|
|
148
|
-
}
|
|
149
|
-
async function openContractReview(ctx, id) { const review = await ctx.run('get_customer_contract_review', { id }, { silent: true, noReload: true }); ctx.setDialog({ type: 'contract-detail', review }) }
|
|
150
|
-
async function openHsDialog(ctx, keywords) { const result = await ctx.run('search_hs_code', { keywords, page: 1 }, { silent: true, noReload: true }); ctx.setDialog({ type: 'hs-detail', keywords, result }) }
|
|
151
|
-
|
|
152
|
-
function SalesPage(ctx) {
|
|
153
|
-
const path = ctx.salesPath
|
|
154
|
-
if (path.orderKey) return h(SalesLines, ctx)
|
|
155
|
-
if (path.customerId) return h(SalesOrders, ctx)
|
|
156
|
-
const rows = ctx.data.customers.items || []
|
|
157
|
-
return h('section', null, h(PageTitle, { title: '销售合规管理' }), h(SearchBar, { value: ctx.search, onChange: ctx.setSearch, fields: '客户代码、名称、国别、联系人' }), h(DataTable, { columns: [['code', '客户代码'], ['name', '客户名称', 'ellipsis'], ['shortName', '简称'], ['country', '国别'], ['contactName', '联系人'], ['defaultPricingProfitRate', '默认利润率', percent]], rows, actions: row => [h('button', { key: 'detail', onClick: () => enterCustomer(ctx, row) }, '订单详情'), h('button', { key: 'profit', onClick: () => profitDialog(ctx, row) }, '默认利润率')] }))
|
|
158
|
-
}
|
|
159
|
-
function enterCustomer(ctx, row) { if (row.defaultPricingProfitRate == null) ctx.setDialog({ type: 'confirm', title: '利润率未维护', message: '进入销售订单前必须维护客户默认利润率。', confirmText: '维护利润率', onConfirm: () => profitDialog(ctx, row) }); else ctx.setSalesPath({ customerId: row.id, orderKey: null }) }
|
|
160
|
-
function profitDialog(ctx, customer) { ctx.setDialog({ type: 'form', title: '维护客户默认利润率', actionKey: 'save_customer_profit_rate', values: { customerId: customer.id, rate: customer.defaultPricingProfitRate || 0 }, fields: [['customerId', '客户ID', 'hidden'], ['rate', '默认利润率(小数)', 'number', true]] }) }
|
|
161
|
-
function SalesOrders(ctx) {
|
|
162
|
-
const customer = (ctx.data.customers.items || []).find(row => row.id === ctx.salesPath.customerId)
|
|
163
|
-
const rows = (ctx.data.derivedSalesOrders || []).filter(row => row.customerId === ctx.salesPath.customerId)
|
|
164
|
-
const annual = rows.filter(row => String(row.orderDate || '').startsWith(String(new Date().getFullYear())))
|
|
165
|
-
return h('section', null, h(PageTitle, { title: `${customer?.name || ''} / 销售订单`, breadcrumb: h('button', { className: 'back-link', onClick: () => ctx.setSalesPath({ customerId: null, orderKey: null }) }, '← 返回客户') }), h('div', { className: 'tcw-metrics compact' }, metric('订单总数', rows.length), metric('订单总额', money(sum(rows, 'orderAmountCny'))), metric('本年订单数量', annual.length), metric('本年合同金额', money(sum(annual, 'orderAmountCny'))), metric('销售商品 TOP5', topLabel(ctx.data.analytics.salesTop5))), h(DataTable, { columns: [['salesOrderNo', '销售订单编码'], ['purchaseContractNo', '采购合同编码'], ['orderDate', '下单日期'], ['effectivePricingProfitRate', '有效利润率', percent], ['orderAmountCny', '订单总额', money], ['receivedAmountCny', '已收款', money], ['unreceivedAmountCny', '未收款', money]], rows, actions: row => [h('button', { key: 'detail', onClick: () => ctx.setSalesPath({ customerId: row.customerId, orderKey: orderKey(row) }) }, '商品详情'), h('button', { key: 'profit', onClick: () => salesManualDialog(ctx, row) }, '订单利润率'), h('button', { key: 'receipt', onClick: () => receiptDialog(ctx, row) }, '已收款')] }))
|
|
166
|
-
}
|
|
167
|
-
function SalesLines(ctx) { const order = (ctx.data.derivedSalesOrders || []).find(row => orderKey(row) === ctx.salesPath.orderKey); return h('section', null, h(PageTitle, { title: `${order?.salesOrderNo || ''} / 销售商品`, breadcrumb: h('button', { className: 'back-link', onClick: () => ctx.setSalesPath({ customerId: ctx.salesPath.customerId, orderKey: null }) }, '← 返回订单') }), h(DataTable, { columns: [['productName', '商品名称', 'ellipsis'], ['modelSpecification', '规格型号', 'ellipsis'], ['productDescription', '商品描述', 'ellipsis'], ['quantity', '数量'], ['unit', '单位'], ['salesUnitPriceCny', '销售单价', money], ['salesLineAmountCny', '销售总价', money], ['hsCode', '海关编码'], ['complianceMatches', '合规分类', matchesLabel]], rows: order?.lines || [] })) }
|
|
168
|
-
function salesManualDialog(ctx, row) { ctx.setDialog({ type: 'form', title: '维护订单利润率', actionKey: 'save_derived_manual_data', values: { customerContractId: row.customerContractId, purchaseOrderId: row.purchaseOrderId, pricingProfitRateOverride: row.pricingProfitRateSource === 'ORDER_OVERRIDE' ? row.effectivePricingProfitRate : '' }, fields: [['customerContractId', '', 'hidden'], ['purchaseOrderId', '', 'hidden'], ['pricingProfitRateOverride', '订单利润率(留空继承客户)', 'number']] }) }
|
|
169
|
-
function receiptDialog(ctx, row) { ctx.setDialog({ type: 'form', title: '维护已收款', actionKey: 'save_derived_manual_data', values: { customerContractId: row.customerContractId, purchaseOrderId: row.purchaseOrderId, receivedAmountCny: row.receivedAmountCny }, fields: [['customerContractId', '', 'hidden'], ['purchaseOrderId', '', 'hidden'], ['receivedAmountCny', '已收款(人民币)', 'number', true]] }) }
|
|
170
|
-
|
|
171
|
-
function FilesPage(ctx) {
|
|
172
|
-
const rows = ctx.data.derivedSalesOrders || []
|
|
173
|
-
return h('section', null, h(PageTitle, { title: '销售文件管理' }), h(SearchBar, { value: ctx.search, onChange: ctx.setSearch, fields: '销售订单、采购合同、客户合同' }), h(DataTable, { columns: [['salesOrderNo', '销售订单'], ['purchaseContractNo', '采购合同'], ['customerContractNo', '客户合同'], ['orderDate', '下单日期'], ['orderAmountCny', '销售金额', money], ['effectivePricingProfitRate', '定价利润率', percent]], rows, actionWidth: 330, actions: row => ['PI', 'CI', 'PL', 'CUSTOMS_DECLARATION'].map(type => h('button', { key: type, onClick: () => generationDialog(ctx, row, type) }, `生成${type === 'CUSTOMS_DECLARATION' ? '报关单' : type}`)).concat(h('button', { key: 'history', onClick: () => ctx.setDialog({ type: 'history', row }) }, '历史生成')) }))
|
|
174
|
-
}
|
|
175
|
-
function generationDialog(ctx, row, fileType) { const banks = ctx.data.settings.banks || []; ctx.setDialog({ type: 'form', title: `生成${fileType === 'CUSTOMS_DECLARATION' ? '报关单' : fileType}`, actionKey: 'generate_sales_file', values: { customerContractId: row.customerContractId, purchaseOrderId: row.purchaseOrderId, fileType, bankType: banks[0]?.bankType || 'OVERSEAS_CNY' }, fields: [['customerContractId', '', 'hidden'], ['purchaseOrderId', '', 'hidden'], ['fileType', '', 'hidden']].concat(fileType === 'CUSTOMS_DECLARATION' ? [] : [['bankType', '银行信息', 'select', banks.map(item => [item.bankType, `${bankLabel(item.bankType)} / ${item.bankName || '未维护'}`]), true]]) }) }
|
|
176
|
-
|
|
177
|
-
function AnalyticsPage(ctx) { const a = ctx.data.analytics || {}; return h('section', null, h(PageTitle, { title: '数据分析' }), h(SearchBar, { value: ctx.search, onChange: ctx.setSearch, fields: '下单日期、供应商/客户、商品名称、海关编码、未付款/未收款' }), h('div', { className: 'tcw-tabs' }, h('button', { className: 'active' }, '采购订单报表'), h('button', null, '销售订单报表')), h('div', { className: 'tcw-metrics' }, metric('采购订单总额', money(a.purchase?.totalCny)), metric('采购已付款', money(a.purchase?.paidCny)), metric('采购未付款', money(a.purchase?.unpaidCny)), metric('销售订单总额', money(a.sales?.totalCny)), metric('销售已收款', money(a.sales?.paidCny)), metric('销售未收款', money(a.sales?.unpaidCny))), h('div', { className: 'tcw-analysis-grid' }, h(Ranking, { title: '采购商品 TOP5', rows: a.purchaseTop5 }), h(Ranking, { title: '销售商品 TOP5', rows: a.salesTop5 }))) }
|
|
178
|
-
function Ranking({ title, rows }) { return h('div', { className: 'ranking' }, h('h3', null, title), (rows || []).map((row, index) => h('div', { key: row.name }, h('b', null, index + 1), h('span', { title: row.name }, row.name), h('strong', null, money(row.amountCny))))) }
|
|
179
|
-
|
|
180
|
-
function SettingsPage(ctx) {
|
|
181
|
-
const s = ctx.data.settings || {}; const company = s.company || {}; const profit = s.profit || {}; const risk = s.risk || {}
|
|
182
|
-
return h('section', null, h(PageTitle, { title: '系统设置' }), h('div', { className: 'settings-stack' },
|
|
183
|
-
settingBlock('风险提示', h('div', { className: 'rich-preview', dangerouslySetInnerHTML: { __html: sanitizeRich(risk.content || '') } }), () => ctx.setDialog({ type: 'rich', title: '编辑风险提示', values: { content: risk.content || '' } })),
|
|
184
|
-
settingBlock('企业信息', h(KeyValues, { values: [['公司中文名称', company.companyNameZh], ['公司英文名称', company.companyNameEn], ['统一社会信用代码', company.unifiedSocialCreditCode], ['电话', company.phone], ['邮箱', company.email]] }), () => settingsForm(ctx, 'company', company, [['companyNameZh', '公司中文名称'], ['companyNameEn', '公司英文名称'], ['unifiedSocialCreditCode', '统一社会信用代码'], ['addressZh', '中文地址', 'textarea'], ['addressEn', '英文地址', 'textarea'], ['phone', '公司电话'], ['email', '公司邮箱']])),
|
|
185
|
-
settingBlock('银行信息', h(DataTable, { columns: [['bankType', '银行类型', bankLabel], ['beneficiary', '收款人'], ['bankName', '银行名称'], ['accountNo', '账号', 'ellipsis'], ['swiftCode', 'SWIFT']], rows: s.banks || [], actions: row => [h('button', { key: 'edit', onClick: () => bankForm(ctx, row) }, '编辑')] }), () => bankForm(ctx, { bankType: 'OVERSEAS_CNY' })),
|
|
186
|
-
settingBlock('合规利润规则', h(KeyValues, { values: [['配置状态', profit.status === 'ACTIVE' ? '已启用' : '未配置'], ['最低合规利润率', percent(profit.minimumOrderProfitRate)], ['换汇成本范围', `${profit.exchangeCostMinimum || 5} - ${profit.exchangeCostMaximum || 8}`]] }), () => settingsForm(ctx, 'profit', profit, [['status', '配置状态', 'select', [['UNCONFIGURED', '未配置'], ['ACTIVE', '启用']]], ['minimumOrderProfitRate', '最低合规利润率', 'number'], ['exchangeCostMinimum', '换汇成本下限', 'number'], ['exchangeCostMaximum', '换汇成本上限', 'number']])),
|
|
187
|
-
settingBlock('月度美元汇率', h(DataTable, { columns: [['year', '年份'], ['month', '月份'], ['currencyCode', '币种'], ['usdToCnyRate', '美元兑人民币'], ['sourceReference', '来源说明', 'ellipsis']], rows: s.rates || [], actions: row => [h('button', { key: 'edit', onClick: () => exchangeForm(ctx, row) }, '编辑'), h('button', { key: 'delete', className: 'danger-link', onClick: () => confirmDelete(ctx, 'exchangeRate', row.id, `${row.year}-${row.month}`) }, '删除')] }), () => exchangeForm(ctx, {}))
|
|
188
|
-
))
|
|
189
|
-
}
|
|
190
|
-
function settingBlock(title, content, onEdit) { return h('div', { className: 'setting-block' }, h('div', { className: 'setting-head' }, h('h2', null, title), h(Button, { tone: 'muted', onClick: onEdit }, '编辑')), content) }
|
|
191
|
-
function settingsForm(ctx, type, values, fields) { ctx.setDialog({ type: 'form', title: '编辑系统设置', actionKey: 'save_settings', values: { settingsType: type, values: Object.assign({}, values) }, nestedValues: true, fields }) }
|
|
192
|
-
function bankForm(ctx, row) { settingsForm(ctx, 'bank', row, [['bankType', '银行类型', 'select', [['OVERSEAS_CNY', '国外收款银行(人民币)'], ['OVERSEAS_USD', '国外收款银行(美元)']]], ['beneficiary', 'Beneficiary'], ['bankName', 'Bank Name'], ['bankAddress', 'Bank Address', 'textarea'], ['cnapsCode', 'CNAPS Code'], ['accountNo', 'Account No.'], ['swiftCode', 'SWIFT Code']]) }
|
|
193
|
-
function exchangeForm(ctx, row) { settingsForm(ctx, 'rate', Object.assign({ year: new Date().getFullYear(), month: new Date().getMonth() + 1 }, row), [['year', '年份', 'number'], ['month', '月份', 'number'], ['usdToCnyRate', '美元兑人民币汇率', 'number', true], ['sourceReference', '来源说明', 'textarea']]) }
|
|
194
|
-
|
|
195
|
-
function ImportSummary({ tasks, type, ctx, review }) {
|
|
196
|
-
const rows = (tasks || []).filter(task => task.documentType === type).slice(0, 5)
|
|
197
|
-
if (!rows.length) return null
|
|
198
|
-
return h('div', { className: 'import-summary' }, h('h3', null, '最近解析任务'), h(DataTable, { columns: [['sourceFileName', '文件名称', 'ellipsis'], ['status', '解析状态', taskStatus], ['errorMessage', '提示', 'ellipsis'], ['createdAt', '上传时间', dateTime]], rows, actions: task => review && task.status === 'AWAITING_REVIEW' ? [h('button', { key: 'review', onClick: () => ctx.setDialog({ type: 'draft-review', task }) }, '审核')] : !review && task.status === 'SUCCEEDED' && task.resultEntityId ? [h('button', { key: 'issues', onClick: () => downloadBase64(ctx, 'download_import_issues', { documentType: type, batchId: task.resultEntityId }) }, '问题明细')] : [] }))
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
function DataTable({ columns, rows, actions, actionWidth }) {
|
|
202
|
-
if (!rows || !rows.length) return h(Empty)
|
|
203
|
-
return h('div', { className: 'table-wrap' }, h('table', null, h('thead', null, h('tr', null, columns.map(column => h('th', { key: column[0] }, column[1])), actions && h('th', { className: 'action-cell', style: { width: actionWidth || 180, minWidth: actionWidth || 180 } }, '操作'))), h('tbody', null, rows.map((row, index) => h('tr', { key: row.id || `${index}` }, columns.map(column => h('td', { key: column[0], className: column[2] === 'ellipsis' ? 'ellipsis' : '', title: titleFor(row[column[0]], column[2]) }, cell(row[column[0]], column[2], row))), actions && h('td', { className: 'action-cell', style: { width: actionWidth || 180, minWidth: actionWidth || 180 } }, h('div', { className: 'row-actions' }, actions(row))))))))
|
|
204
|
-
}
|
|
205
|
-
function cell(value, renderer, row) { if (typeof renderer === 'function') return renderer(value, row); if (renderer === 'link') return h('button', { className: 'cell-link', title: value || '' }, value || '—'); if (renderer === 'ellipsis') return value || '—'; if (Array.isArray(value)) return value.join('、'); return value === null || value === undefined || value === '' ? '—' : String(value) }
|
|
206
|
-
function titleFor(value, renderer) { return renderer === 'ellipsis' ? String(value || '') : undefined }
|
|
207
|
-
function KeyValues({ values }) { return h('div', { className: 'key-values' }, values.map(item => h('div', { key: item[0] }, h('span', null, item[0]), h('strong', null, item[1] || '—')))) }
|
|
208
|
-
|
|
209
|
-
function renderDialog(dialog, ctx) {
|
|
210
|
-
if (dialog.type === 'form') return h(FormDialog, { dialog, ctx })
|
|
211
|
-
if (dialog.type === 'catalog-upload') return h(CatalogUploadDialog, { dialog, ctx })
|
|
212
|
-
if (dialog.type === 'file-upload') return h(FileUploadDialog, { dialog, ctx })
|
|
213
|
-
if (dialog.type === 'confirm') return h(ConfirmDialog, { dialog, ctx })
|
|
214
|
-
if (dialog.type === 'draft-review') return h(DraftReviewDialog, { dialog, ctx })
|
|
215
|
-
if (dialog.type === 'contract-detail') return h(ContractDetailDialog, { dialog, ctx })
|
|
216
|
-
if (dialog.type === 'hs-detail') return h(HsDetailDialog, { dialog, ctx })
|
|
217
|
-
if (dialog.type === 'history') return h(HistoryDialog, { dialog, ctx })
|
|
218
|
-
if (dialog.type === 'excel') return h(ExcelDialog, { dialog, ctx })
|
|
219
|
-
if (dialog.type === 'rich') return h(RichTextDialog, { dialog, ctx })
|
|
220
|
-
return null
|
|
221
|
-
}
|
|
222
|
-
function Modal({ title, children, footer, wide, full, onClose }) { return h('div', { className: 'modal-backdrop' }, h('div', { className: `modal ${wide ? 'wide' : ''} ${full ? 'full' : ''}` }, h('header', null, h('h2', null, title), h('button', { className: 'icon-button', title: '关闭', onClick: onClose }, '×')), h('div', { className: 'modal-body' }, children), footer && h('footer', null, footer))) }
|
|
223
|
-
function FormDialog({ dialog, ctx }) {
|
|
224
|
-
const initial = dialog.nestedValues ? dialog.values.values : dialog.values
|
|
225
|
-
const [values, setValues] = React.useState(Object.assign({}, initial))
|
|
226
|
-
async function save() { const missing = dialog.fields.find(field => field[3] && !String(values[field[0]] ?? '').trim()); if (missing) return ctx.show(`${missing[1]}不能为空`, 'error'); const input = dialog.nestedValues ? { settingsType: dialog.values.settingsType, values } : values; await ctx.run(dialog.actionKey, input); ctx.setDialog(null) }
|
|
227
|
-
return h(Modal, { title: dialog.title, wide: !!dialog.source, onClose: () => ctx.setDialog(null), footer: [h(Button, { key: 'cancel', tone: 'muted', onClick: () => ctx.setDialog(null) }, '取消'), h(Button, { key: 'save', onClick: save }, '保存')] }, h('div', { className: dialog.source ? 'review-split' : '' }, h('div', { className: 'form-grid' }, dialog.fields.map(field => h(FormField, { key: field[0], field, value: values[field[0]], onChange: value => setValues(Object.assign({}, values, { [field[0]]: value })) }))), dialog.source && h('div', { className: 'source-pane' }, dialog.source)))
|
|
228
|
-
}
|
|
229
|
-
function FormField({ field, value, onChange }) { const [name, label, type, required, options] = field; if (type === 'hidden') return null; return h('label', { className: type === 'textarea' ? 'span-2' : '' }, h('span', null, required && h('i', null, '*'), label), type === 'textarea' ? h('textarea', { value: value || '', onChange: event => onChange(event.target.value), rows: 4 }) : type === 'select' ? h('select', { value: value || '', onChange: event => onChange(event.target.value) }, (options || []).map(option => h('option', { key: option[0], value: option[0] }, option[1]))) : h('input', { type: type === 'number' ? 'number' : type === 'date' ? 'date' : 'text', step: type === 'number' ? 'any' : undefined, value: value ?? '', readOnly: type === 'readonly', onChange: event => onChange(type === 'number' ? event.target.value : event.target.value) })) }
|
|
230
|
-
function CatalogUploadDialog({ dialog, ctx }) { const [type, setType] = React.useState('DUAL_USE'); const [replace, setReplace] = React.useState(''); const input = React.useRef(); const batches = dialog.catalog === 'controlled' ? ctx.data.controlledBatches.items || [] : ctx.data.sanctionBatches.items || []; const actionKey = dialog.catalog === 'controlled' ? 'upload_controlled_catalog' : 'upload_sanction_catalog'; function selected(file) { if (!file) return; const upload = () => ctx.upload(actionKey, file, { catalogType: type, replaceBatchId: replace || undefined }); if (!replace) return upload(); const batch = batches.find(item => item.id === replace); ctx.setDialog({ type: 'confirm', title: '确认覆盖历史目录', message: `本次操作会逻辑删除“${batch?.sourceFileName || '所选历史文件'}”及其全部目录记录,再导入新文件。该操作可能影响现有风险匹配结果。`, danger: true, confirmText: '确认覆盖并上传', onConfirm: upload }) } return h(Modal, { title: '上传目录文件', onClose: () => ctx.setDialog(null), footer: [h(Button, { key: 'cancel', tone: 'muted', onClick: () => ctx.setDialog(null) }, '取消'), h(Button, { key: 'upload', onClick: () => input.current && input.current.click() }, '选择文件并上传')] }, h('div', { className: 'form-grid one' }, dialog.catalog === 'controlled' && h(FormField, { field: ['catalogType', '目录类型', 'select', true, [['DUAL_USE', '军民两用物资'], ['OVERSEAS_SANCTION', '海外制裁']]], value: type, onChange: setType }), h(FormField, { field: ['replaceBatchId', '覆盖历史文件(可选)', 'select', false, [['', '不覆盖,新增目录']].concat(batches.map(item => [item.id, item.sourceFileName]))], value: replace, onChange: setReplace }), replace && h('div', { className: 'danger-note' }, '选择文件后还需要进行二次风险确认。'), h('input', { ref: input, className: 'hidden-input', type: 'file', accept: '.pdf,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg,.webp', onChange: event => selected(event.target.files[0]) }))) }
|
|
231
|
-
function FileUploadDialog({ dialog, ctx }) { const input = React.useRef(); return h(Modal, { title: dialog.title, onClose: () => ctx.setDialog(null), footer: [h(Button, { key: 'cancel', tone: 'muted', onClick: () => ctx.setDialog(null) }, '取消'), h(Button, { key: 'choose', onClick: () => input.current.click() }, '选择文件并上传')] }, h('div', { className: 'upload-zone', onClick: () => input.current.click() }, h('strong', null, '选择合同文件'), h('span', null, 'PDF、Word、Excel、PNG、JPG、WEBP,最大 20 MB')), h('input', { ref: input, className: 'hidden-input', type: 'file', accept: '.pdf,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg,.webp', onChange: event => event.target.files[0] && ctx.upload(dialog.actionKey, event.target.files[0], {}) })) }
|
|
232
|
-
function ConfirmDialog({ dialog, ctx }) { return h(Modal, { title: dialog.title, onClose: () => ctx.setDialog(null), footer: [h(Button, { key: 'cancel', tone: 'muted', onClick: () => ctx.setDialog(null) }, '取消'), h(Button, { key: 'confirm', tone: dialog.danger ? 'danger' : '', onClick: async () => { await dialog.onConfirm(); if (ctx.dialog) ctx.setDialog(null) } }, dialog.confirmText || '确认')] }, h('div', { className: dialog.danger ? 'danger-note large' : 'confirm-message' }, dialog.message)) }
|
|
233
|
-
function DraftReviewDialog({ dialog, ctx }) { const task = dialog.task; const draft = task.resultPayload || {}; const isPurchase = task.documentType === 'PURCHASE_CONTRACT'; const [json, setJson] = React.useState(JSON.stringify(draft, null, 2)); async function save() { try { const parsed = JSON.parse(json); await ctx.run(isPurchase ? 'save_purchase_review' : 'save_customer_contract_review', { importTaskId: task.id, draft: parsed }); ctx.setDialog(null) } catch (error) { ctx.show('审核内容不是有效的结构化数据:' + messageOf(error), 'error') } } return h(Modal, { title: isPurchase ? '审核采购合同' : '审核客户合同', wide: true, onClose: () => ctx.setDialog(null), footer: [h(Button, { key: 'cancel', tone: 'muted', onClick: () => ctx.setDialog(null) }, '取消'), h(Button, { key: 'save', onClick: save }, '保存审核结果')] }, h('div', { className: 'review-split' }, h('div', null, h('h3', null, '识别内容'), h('textarea', { className: 'json-editor', value: json, onChange: event => setJson(event.target.value) })), h('div', { className: 'source-pane' }, h('h3', null, '源文件内容'), h('p', null, task.sourceFileName), h('p', null, '来源文件已保留,审核保存后直接入库。')))) }
|
|
234
|
-
function ContractDetailDialog({ dialog, ctx }) { const review = dialog.review || {}; const [customer, setCustomer] = React.useState(Object.assign({}, review.customer)); const [contract, setContract] = React.useState(Object.assign({}, review.contract)); const [clauses, setClauses] = React.useState((review.clauses || []).map(item => Object.assign({}, item))); async function save() { await ctx.run('update_customer_contract_review', { id: contract.id, customer, contract, clauses: clauses.map(item => ({ id: item.id, reviewedText: item.reviewedText })) }); ctx.setDialog(null) } return h(Modal, { title: '审核客户合同关键条款', wide: true, onClose: () => ctx.setDialog(null), footer: [h(Button, { key: 'cancel', tone: 'muted', onClick: () => ctx.setDialog(null) }, '取消'), h(Button, { key: 'save', onClick: save }, '保存审核结果')] }, h('div', { className: 'review-split' }, h('div', null, h('div', { className: 'form-grid' }, h(FormField, { field: ['name', '客户名称', 'text', true], value: customer.name, onChange: value => setCustomer(Object.assign({}, customer, { name: value })) }), h(FormField, { field: ['contractNo', '合同编码', 'readonly'], value: contract.contractNo, onChange: () => {} }), h(FormField, { field: ['contractAmountReviewCny', '合同金额(人民币)', 'number'], value: contract.contractAmountReviewCny, onChange: value => setContract(Object.assign({}, contract, { contractAmountReviewCny: value })) }), h(FormField, { field: ['signedAt', '签订日期', 'date'], value: contract.signedAt, onChange: value => setContract(Object.assign({}, contract, { signedAt: value })) })), h('div', { className: 'clause-list' }, clauses.map((clause, index) => { const analysis = (review.analyses || []).find(item => item.clauseType === clause.clauseType); return h('div', { key: clause.id, className: `clause ${String(analysis?.riskLevel || '').toLowerCase()}` }, h('b', null, clauseLabel(clause.clauseType)), h('textarea', { value: clause.reviewedText || '', rows: 4, onChange: event => { const next = clauses.slice(); next[index] = Object.assign({}, clause, { reviewedText: event.target.value }); setClauses(next) } }), analysis && h(React.Fragment, null, h('strong', null, analysis.riskMessageZh), h('small', null, analysis.suggestionZh))) }))), h('div', { className: 'source-pane' }, h('h3', null, '来源证据'), h(Button, { tone: 'muted', onClick: () => downloadBase64(ctx, 'download_source_file', { sourceFileId: contract.sourceFileId, fileName: contract.sourceFileName }) }, '下载源文件'), clauses.map(clause => h('div', { key: clause.id }, h('b', null, clause.sourceLocation || '未定位'), h('p', null, clause.sourceContent || clause.sourceText || '—')))))) }
|
|
235
|
-
function HsDetailDialog({ dialog, ctx }) { const rows = dialog.result?.items || dialog.result?.records || dialog.result?.data || (Array.isArray(dialog.result) ? dialog.result : []); return h(Modal, { title: `海关编码查询:${dialog.keywords}`, wide: true, onClose: () => ctx.setDialog(null), footer: h(Button, { onClick: () => ctx.setDialog(null) }, '关闭') }, Array.isArray(rows) && rows.length ? h(DataTable, { columns: [['code', '海关编码'], ['name', '商品名称', 'ellipsis'], ['englishName', '英文名称', 'ellipsis'], ['refundRate', '退税率']], rows }) : h('pre', { className: 'hs-result' }, JSON.stringify(dialog.result || {}, null, 2))) }
|
|
236
|
-
function HistoryDialog({ dialog, ctx }) { const row = dialog.row; const files = (ctx.data.generatedFiles.items || []).filter(file => file.customerContractId === row.customerContractId && file.purchaseOrderId === row.purchaseOrderId); return h(Modal, { title: `${row.salesOrderNo} / 历史生成`, wide: true, onClose: () => ctx.setDialog(null) }, h(DataTable, { columns: [['fileType', '文件类型', fileTypeLabel], ['documentNo', '文件编号'], ['fileName', '文件名称', 'ellipsis'], ['complianceProfitRate', '合规利润率', percent], ['exchangeCost', '换汇成本'], ['generatedAt', '生成时间', dateTime]], rows: files, actions: file => [h('button', { key: 'download', onClick: () => downloadFile(ctx, file) }, '下载'), h('button', { key: 'edit', onClick: () => editExcel(ctx, file) }, '审核'), h('button', { key: 'delete', className: 'danger-link', onClick: () => confirmDelete(ctx, 'generatedFile', file.id, file.fileName) }, '删除')] })) }
|
|
237
|
-
async function downloadFile(ctx, file) { const result = await ctx.run('download_sales_file', { id: file.id }, { silent: true, noReload: true }); const link = document.createElement('a'); link.href = `data:${result.mimeType};base64,${result.base64}`; link.download = result.fileName; link.click() }
|
|
238
|
-
async function downloadBase64(ctx, actionKey, input) { const result = await ctx.run(actionKey, input, { silent: true, noReload: true }); const link = document.createElement('a'); link.href = `data:${result.mimeType};base64,${result.base64}`; link.download = result.fileName; link.click() }
|
|
239
|
-
async function editExcel(ctx, file) { const result = await ctx.run('download_sales_file', { id: file.id }, { silent: true, noReload: true }); ctx.setDialog({ type: 'excel', file, base64: result.base64 }) }
|
|
240
|
-
function ExcelDialog({ dialog, ctx }) { const container = React.useRef(); const editor = React.useRef(); const [ready, setReady] = React.useState(false); React.useEffect(() => { let active = true; window.TradeComplianceExcelEditor.open({ container: container.current, base64: dialog.base64, onSave: base64 => ctx.run('save_edited_sales_file', { id: dialog.file.id, base64 }, { message: '工作簿已覆盖保存' }) }).then(instance => { if (active) { editor.current = instance; setReady(true) } else instance.dispose() }).catch(error => ctx.show('工作簿加载失败:' + messageOf(error), 'error')); return () => { active = false; editor.current && editor.current.dispose() } }, []); return h(Modal, { title: dialog.file.fileName, full: true, onClose: () => ctx.setDialog(null), footer: [h(Button, { key: 'close', tone: 'muted', onClick: () => ctx.setDialog(null) }, '关闭'), h(Button, { key: 'save', disabled: !ready, onClick: () => editor.current && editor.current.save() }, '保存并覆盖当前文件')] }, h('div', { ref: container, className: 'univer-container' }, !ready && h('div', { className: 'editor-loading' }, '正在加载工作簿...'))) }
|
|
241
|
-
function RichTextDialog({ dialog, ctx }) { const editor = React.useRef(); async function save() { const content = sanitizeRich(editor.current.innerHTML); await ctx.run('save_settings', { settingsType: 'risk', values: { content } }); ctx.setDialog(null) } function command(name) { document.execCommand(name, false); editor.current.focus() } return h(Modal, { title: dialog.title, wide: true, onClose: () => ctx.setDialog(null), footer: [h(Button, { key: 'cancel', tone: 'muted', onClick: () => ctx.setDialog(null) }, '取消'), h(Button, { key: 'save', onClick: save }, '保存')] }, h('div', { className: 'rich-toolbar' }, h('button', { onClick: () => command('formatBlock') }, '标题'), h('button', { onClick: () => command('bold') }, 'B'), h('button', { onClick: () => command('insertUnorderedList') }, '• 列表')), h('div', { ref: editor, className: 'rich-editor', contentEditable: true, dangerouslySetInnerHTML: { __html: sanitizeRich(dialog.values.content) } })) }
|
|
242
|
-
|
|
243
|
-
function confirmDelete(ctx, entityType, id, name) { ctx.setDialog({ type: 'confirm', title: '确认删除', message: `删除“${name}”后前端不提供恢复入口,后台将永久保留逻辑删除记录。`, danger: true, confirmText: '确认删除', onConfirm: () => ctx.run('delete_entity', { entityType, id }) }) }
|
|
244
|
-
function sourcePane(row) { return h(React.Fragment, null, h('h3', null, '来源证据(只读)'), h(KeyValues, { values: [['来源位置', row.sourceLocation], ['来源原文', row.sourceContent]] })) }
|
|
245
|
-
function partyFields(label) { return [['code', `${label}代码`], ['name', `${label}名称`, 'text', true], ['shortName', '简称'], ['address', '地址', 'textarea'], ['contactName', '联系人'], ['phone', '联系电话'], ['wechat', '微信'], ['email', '邮箱'], ['taxNumber', '税号'], ['paymentAccount', '收款账号'], ['bankName', '开户行'], ['taxpayerRating', '纳税等级'], ['website', '公司网站'], ['businessProducts', '经营产品', 'textarea']] }
|
|
246
|
-
function money(value) { const number = Number(value || 0); return Number.isFinite(number) ? `¥${number.toLocaleString('zh-CN', { minimumFractionDigits: 0, maximumFractionDigits: 2 })}` : '—' }
|
|
247
|
-
function percent(value) { const number = Number(value); return Number.isFinite(number) ? `${(number * 100).toFixed(2)}%` : '—' }
|
|
248
|
-
function sum(rows, key) { return (rows || []).reduce((total, row) => total + Number(row[key] || 0), 0) }
|
|
249
|
-
function dateTime(value) { return value ? new Date(value).toLocaleString('zh-CN', { hour12: false }) : '—' }
|
|
250
|
-
function orderKey(row) { return `${row.customerContractId}:${row.purchaseOrderId}` }
|
|
251
|
-
function topLabel(rows) { return (rows || []).slice(0, 3).map(row => row.name).join('、') || '—' }
|
|
252
|
-
function bankLabel(value) { return value === 'OVERSEAS_USD' ? '国外收款银行(美元)' : '国外收款银行(人民币)' }
|
|
253
|
-
function fileTypeLabel(value) { return value === 'CUSTOMS_DECLARATION' ? '报关单' : value }
|
|
254
|
-
function riskLabel(value) { const map = { HIGH: ['高风险', 'danger'], MEDIUM: ['中风险', 'warning'], LOW: ['低风险', 'success'] }; const item = map[value] || ['未分析', '']; return h(Status, { tone: item[1] }, item[0]) }
|
|
255
|
-
function taskStatus(value) { const labels = { QUEUED: '排队中', EXTRACTING: '提取中', AI_PARSING: 'AI解析中', VALIDATING: '校验中', AWAITING_REVIEW: '待审核', PERSISTING: '入库中', SUCCEEDED: '已完成', FAILED: '失败', TIMED_OUT: '已超时' }; return h(Status, { tone: value === 'FAILED' || value === 'TIMED_OUT' ? 'danger' : value === 'SUCCEEDED' ? 'success' : 'warning' }, labels[value] || value) }
|
|
256
|
-
function matchesLabel(value) { const labels = Array.from(new Set((value || []).map(item => item.catalogType === 'DUAL_USE' ? '军民两用物资' : '海外制裁'))); return labels.length ? labels.map(label => h(Status, { key: label, tone: 'danger' }, label)) : h(Status, null, '未命中') }
|
|
257
|
-
function clauseLabel(value) { return { CONTRACT_AMOUNT: '合同金额', TAX_RATE: '税率', PRICE_TERMS: '价格条款', TRANSPORT: '运输方式', WARRANTY: '质保条款', BREACH_LIABILITY: '违约责任', PAYMENT_TERMS: '付款条款' }[value] || value }
|
|
258
|
-
function sanitizeRich(value) { const template = document.createElement('template'); template.innerHTML = String(value || ''); template.content.querySelectorAll('*').forEach(node => { if (!['H1', 'H2', 'H3', 'P', 'STRONG', 'B', 'UL', 'OL', 'LI', 'BR'].includes(node.tagName)) node.replaceWith(...node.childNodes); else [...node.attributes].forEach(attribute => node.removeAttribute(attribute.name)) }); return template.innerHTML }
|
|
259
|
-
|
|
260
|
-
const style = document.createElement('style')
|
|
261
|
-
style.textContent = `
|
|
262
|
-
:root{--primary:#1456b8;--primary-soft:#edf4ff;--text:#172033;--muted:#687386;--border:#dfe5ee;--surface:#fff;--soft:#f6f8fb;--danger:#c73737;--warning:#9a6700;--success:#237548;font-family:Inter,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--text);background:#f7f9fc}*{box-sizing:border-box}body{margin:0;background:#f7f9fc}button,input,select,textarea{font:inherit;letter-spacing:0}.tcw-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.tcw-sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--border);padding:24px 12px}.tcw-brand{display:flex;align-items:center;gap:10px;padding:0 10px 24px;font-size:19px}.tcw-shield{display:grid;place-items:center;width:30px;height:34px;color:#fff;background:var(--primary);clip-path:polygon(50% 0,100% 15%,90% 72%,50% 100%,10% 72%,0 15%);font-size:13px}.tcw-sidebar nav{display:grid;gap:4px}.tcw-sidebar nav button{display:flex;gap:12px;align-items:center;width:100%;height:46px;border:0;background:transparent;color:#3b4658;padding:0 14px;text-align:left;cursor:pointer}.tcw-sidebar nav button span{width:22px;text-align:center;color:#758195}.tcw-sidebar nav button.active{background:var(--primary-soft);color:var(--primary);font-weight:650;border-left:3px solid var(--primary)}.tcw-main{min-width:0;padding:0 28px 42px}.tcw-topbar{height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);color:var(--muted);font-size:13px}.tcw-topbar b{margin:0 7px;color:#adb5c2}.icon-button{border:0;background:transparent;color:#526074;font-size:22px;cursor:pointer}.tcw-page-title{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:26px 0 18px}.tcw-page-title h1{margin:0;font-size:27px;line-height:1.2}.tcw-page-actions,.row-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.button{height:38px;padding:0 16px;border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:5px;cursor:pointer}.button.muted{background:#fff;border-color:#cbd3df;color:#344054}.button.danger{background:var(--danger);border-color:var(--danger)}.button:disabled{opacity:.5;cursor:not-allowed}.tcw-filterbar{display:flex;align-items:end;gap:12px;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:6px;margin-bottom:14px}.tcw-filterbar label{display:grid;gap:7px;min-width:min(620px,75%);font-size:13px;font-weight:600}.tcw-filterbar input,.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #cfd7e4;border-radius:4px;padding:9px 11px;background:#fff;outline:none}.tcw-filterbar input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #e5efff}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--border);border-radius:6px}.table-wrap table{border-collapse:separate;border-spacing:0;width:100%;min-width:960px;font-size:13px}.table-wrap th,.table-wrap td{height:48px;padding:9px 13px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:middle;white-space:nowrap}.table-wrap th{background:#f6f8fb;color:#475467;font-weight:650;position:sticky;top:0;z-index:1}.table-wrap tr:last-child td{border-bottom:0}.table-wrap tbody tr:hover td{background:#fafcff}.table-wrap .ellipsis{max-width:220px;overflow:hidden;text-overflow:ellipsis}.table-wrap .action-cell{position:sticky;right:0;z-index:2;background:#fff;box-shadow:-5px 0 10px rgba(16,24,40,.04)}.table-wrap th.action-cell{background:#f6f8fb;z-index:3}.row-actions button,.cell-link,.back-link{border:0;background:transparent;color:var(--primary);padding:3px;cursor:pointer}.row-actions .danger-link{color:var(--danger)}.tcw-empty{padding:48px;text-align:center;color:var(--muted);background:#fff;border:1px solid var(--border)}.status{display:inline-flex;align-items:center;min-height:23px;padding:2px 7px;border-radius:4px;background:#f0f2f5;color:#596579;font-size:12px;margin-right:4px}.status.danger{background:#fff0f0;color:var(--danger)}.status.warning{background:#fff7df;color:var(--warning)}.status.success{background:#eaf8f0;color:var(--success)}.tcw-risk-band{display:grid;grid-template-columns:42px 1fr;gap:16px;background:#fff;border:1px solid #f0c8c8;border-left:4px solid var(--danger);padding:20px;margin-bottom:18px}.tcw-risk-band h3{margin:0 0 8px}.tcw-risk-band p,.tcw-risk-band ul{margin:6px 0;color:#4b5565;line-height:1.7}.risk-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff0f0;color:var(--danger);font-weight:bold}.tcw-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.tcw-metrics.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.metric{display:grid;gap:8px;background:#fff;border:1px solid var(--border);padding:16px;min-height:82px}.metric span{color:var(--muted);font-size:12px}.metric strong{font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcw-process{display:flex;align-items:center;justify-content:center;gap:15px;background:#fff;border:1px solid var(--border);padding:28px;margin-top:18px;overflow-x:auto}.process-step{display:flex;align-items:center;gap:9px;min-width:130px}.process-step b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary-soft);color:var(--primary)}.process-arrow{color:#98a2b3}.import-summary{margin-top:18px}.import-summary h3{font-size:15px}.tcw-breadcrumb{margin-bottom:8px}.tcw-toast{position:fixed;right:28px;top:24px;z-index:1001;padding:12px 16px;background:#eef8f2;border:1px solid #a8d5ba;color:var(--success);box-shadow:0 8px 24px rgba(16,24,40,.12)}.tcw-toast.error{background:#fff2f2;border-color:#e7b1b1;color:var(--danger)}.tcw-busy{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(255,255,255,.64);font-weight:600}.tcw-spinner{width:22px;height:22px;border:3px solid #cdd9ea;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;z-index:900;background:rgba(20,30,48,.48);display:grid;place-items:center;padding:24px}.modal{width:min(620px,96vw);max-height:92vh;background:#fff;border-radius:6px;box-shadow:0 24px 80px rgba(15,23,42,.25);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.modal.wide{width:min(1120px,96vw)}.modal.full{width:calc(100vw - 24px);height:calc(100vh - 24px);max-height:none}.modal>header,.modal>footer{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--border)}.modal>footer{justify-content:flex-end;gap:9px;border-top:1px solid var(--border);border-bottom:0}.modal h2{font-size:19px;margin:0}.modal-body{padding:20px;overflow:auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.one{grid-template-columns:1fr}.form-grid label{display:grid;gap:6px;font-size:13px;font-weight:600}.form-grid label.span-2{grid-column:1/-1}.form-grid label i{color:var(--danger);font-style:normal;margin-right:3px}.review-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.source-pane{border-left:1px solid var(--border);padding-left:22px;color:#4b5565}.source-pane p{white-space:pre-wrap;line-height:1.6}.danger-note{padding:12px;border:1px solid #efb1b1;background:#fff4f4;color:var(--danger);grid-column:1/-1}.danger-note.large,.confirm-message{font-size:15px;line-height:1.7}.upload-zone{display:grid;place-items:center;gap:8px;padding:44px;border:1px dashed #aeb9ca;background:#f8faff;cursor:pointer}.upload-zone span{color:var(--muted);font-size:13px}.hidden-input{display:none}.json-editor{width:100%;height:470px;border:1px solid var(--border);padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.key-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.key-values>div{display:grid;gap:5px;padding:12px;background:#fff}.key-values span{font-size:12px;color:var(--muted)}.clause-list{display:grid;gap:10px;margin-top:14px}.clause{border:1px solid var(--border);border-left:3px solid #a8b2c1;padding:12px}.clause.high{border-left-color:var(--danger)}.clause.medium{border-left-color:#d79a19}.clause p{white-space:pre-wrap}.clause strong,.clause small{display:block;margin-top:7px}.clause small{color:var(--muted)}.tcw-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:14px}.tcw-tabs button{border:0;background:transparent;padding:12px 18px;color:var(--muted)}.tcw-tabs button.active{color:var(--primary);border-bottom:2px solid var(--primary)}.tcw-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ranking{background:#fff;border:1px solid var(--border);padding:18px}.ranking h3{margin:0 0 12px}.ranking>div{display:grid;grid-template-columns:28px 1fr auto;gap:8px;padding:10px 0;border-top:1px solid #edf0f4}.ranking>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-stack{display:grid;gap:14px}.setting-block{background:#fff;border:1px solid var(--border);padding:18px}.setting-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.setting-head h2{font-size:17px;margin:0}.rich-preview{line-height:1.65;color:#475467}.rich-toolbar{display:flex;gap:7px;padding:8px;border:1px solid var(--border);border-bottom:0}.rich-toolbar button{min-width:34px;height:30px;border:1px solid #ccd4df;background:#fff}.rich-editor{min-height:360px;padding:15px;border:1px solid var(--border);outline:none}.univer-container{height:100%;min-height:620px;position:relative}.editor-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}
|
|
263
|
-
@media(max-width:1000px){.tcw-shell{grid-template-columns:82px minmax(0,1fr)}.tcw-brand strong,.tcw-sidebar nav button:not(.active){font-size:0}.tcw-sidebar nav button{justify-content:center}.tcw-sidebar nav button span{font-size:17px}.tcw-metrics,.tcw-metrics.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.review-split{grid-template-columns:1fr}.source-pane{border-left:0;border-top:1px solid var(--border);padding:18px 0 0}.tcw-analysis-grid{grid-template-columns:1fr}}@media(max-width:640px){.tcw-shell{display:block}.tcw-sidebar{position:static;width:100%;height:auto}.tcw-sidebar nav{grid-template-columns:repeat(3,1fr)}.tcw-sidebar nav button{font-size:11px!important}.tcw-main{padding:0 12px 30px}.tcw-page-title{align-items:stretch;flex-direction:column}.form-grid,.key-values{grid-template-columns:1fr}.tcw-metrics,.tcw-metrics.compact{grid-template-columns:1fr}.tcw-filterbar{align-items:stretch;flex-direction:column}.tcw-filterbar label{min-width:0}.modal-backdrop{padding:6px}.modal{max-height:98vh}.tcw-process{justify-content:flex-start}}
|
|
264
|
-
`
|
|
265
|
-
document.head.appendChild(style)
|
|
266
|
-
style.textContent += `.clause textarea{width:100%;margin-top:9px;padding:9px 10px;border:1px solid #cfd7e4;border-radius:4px;resize:vertical}.hs-result{max-height:560px;overflow:auto;white-space:pre-wrap;background:var(--soft);border:1px solid var(--border);padding:14px}`
|
|
267
|
-
|
|
268
|
-
window.addEventListener('message', event => {
|
|
269
|
-
const message = event.data
|
|
270
|
-
if (!message || message.channel !== CHANNEL || message.protocolVersion !== VERSION) return
|
|
271
|
-
if (message.type === 'init') { instanceId = message.instanceId; if (window.XpertRemoteUI && window.XpertRemoteUI.applyTheme) window.XpertRemoteUI.applyTheme(message.theme); window.__tcwInit && window.__tcwInit({ manifest: message.manifest, payload: message.payload, initialQuery: message.initialQuery || {}, locale: message.locale, theme: message.theme }); setTimeout(reportResize, 0); return }
|
|
272
|
-
if (message.instanceId !== instanceId) return
|
|
273
|
-
if (message.type === 'hostEvent') { window.__tcwHostEvent && window.__tcwHostEvent(message.event); return }
|
|
274
|
-
if (message.requestId && pending.has(message.requestId)) { const item = pending.get(message.requestId); pending.delete(message.requestId); if (message.type === 'error') item.reject(new Error(message.message || '远程请求失败')); else item.resolve(message) }
|
|
275
|
-
})
|
|
276
|
-
ReactDOM.render(h(App), document.getElementById('root'))
|
|
277
|
-
})()
|
|
1
|
+
"use strict";(()=>{var Py=Object.create;var Cc=Object.defineProperty;var _y=Object.getOwnPropertyDescriptor;var Fy=Object.getOwnPropertyNames;var Dy=Object.getPrototypeOf,Oy=Object.prototype.hasOwnProperty;var en=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}};var Ly=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Fy(t))!Oy.call(e,o)&&o!==n&&Cc(e,o,{get:()=>t[o],enumerable:!(r=_y(t,o))||r.enumerable});return e};var J=(e,t,n)=>(n=e!=null?Py(Dy(e)):{},Ly(t||!e||!e.__esModule?Cc(n,"default",{value:e,enumerable:!0}):n,e));var _c=en(X=>{"use strict";var oo=Symbol.for("react.element"),My=Symbol.for("react.portal"),Uy=Symbol.for("react.fragment"),zy=Symbol.for("react.strict_mode"),By=Symbol.for("react.profiler"),Hy=Symbol.for("react.provider"),jy=Symbol.for("react.context"),Gy=Symbol.for("react.forward_ref"),Wy=Symbol.for("react.suspense"),Vy=Symbol.for("react.memo"),$y=Symbol.for("react.lazy"),bc=Symbol.iterator;function Qy(e){return e===null||typeof e!="object"?null:(e=bc&&e[bc]||e["@@iterator"],typeof e=="function"?e:null)}var Sc={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Rc=Object.assign,Nc={};function gr(e,t,n){this.props=e,this.context=t,this.refs=Nc,this.updater=n||Sc}gr.prototype.isReactComponent={};gr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};gr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Tc(){}Tc.prototype=gr.prototype;function cs(e,t,n){this.props=e,this.context=t,this.refs=Nc,this.updater=n||Sc}var ds=cs.prototype=new Tc;ds.constructor=cs;Rc(ds,gr.prototype);ds.isPureReactComponent=!0;var kc=Array.isArray,Ec=Object.prototype.hasOwnProperty,ps={current:null},Ac={key:!0,ref:!0,__self:!0,__source:!0};function Ic(e,t,n){var r,o={},i=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(i=""+t.key),t)Ec.call(t,r)&&!Ac.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=n;else if(1<s){for(var l=Array(s),u=0;u<s;u++)l[u]=arguments[u+2];o.children=l}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)o[r]===void 0&&(o[r]=s[r]);return{$$typeof:oo,type:e,key:i,ref:a,props:o,_owner:ps.current}}function qy(e,t){return{$$typeof:oo,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function ms(e){return typeof e=="object"&&e!==null&&e.$$typeof===oo}function Ky(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var xc=/\/+/g;function us(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Ky(""+e.key):t.toString(36)}function ci(e,t,n,r,o){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var a=!1;if(e===null)a=!0;else switch(i){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case oo:case My:a=!0}}if(a)return a=e,o=o(a),e=r===""?"."+us(a,0):r,kc(o)?(n="",e!=null&&(n=e.replace(xc,"$&/")+"/"),ci(o,t,n,"",function(u){return u})):o!=null&&(ms(o)&&(o=qy(o,n+(!o.key||a&&a.key===o.key?"":(""+o.key).replace(xc,"$&/")+"/")+e)),t.push(o)),1;if(a=0,r=r===""?".":r+":",kc(e))for(var s=0;s<e.length;s++){i=e[s];var l=r+us(i,s);a+=ci(i,t,n,l,o)}else if(l=Qy(e),typeof l=="function")for(e=l.call(e),s=0;!(i=e.next()).done;)i=i.value,l=r+us(i,s++),a+=ci(i,t,n,l,o);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return a}function ui(e,t,n){if(e==null)return e;var r=[],o=0;return ci(e,r,"","",function(i){return t.call(n,i,o++)}),r}function Yy(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var nt={current:null},di={transition:null},Xy={ReactCurrentDispatcher:nt,ReactCurrentBatchConfig:di,ReactCurrentOwner:ps};function Pc(){throw Error("act(...) is not supported in production builds of React.")}X.Children={map:ui,forEach:function(e,t,n){ui(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ui(e,function(){t++}),t},toArray:function(e){return ui(e,function(t){return t})||[]},only:function(e){if(!ms(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};X.Component=gr;X.Fragment=Uy;X.Profiler=By;X.PureComponent=cs;X.StrictMode=zy;X.Suspense=Wy;X.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Xy;X.act=Pc;X.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=Rc({},e.props),o=e.key,i=e.ref,a=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,a=ps.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in t)Ec.call(t,l)&&!Ac.hasOwnProperty(l)&&(r[l]=t[l]===void 0&&s!==void 0?s[l]:t[l])}var l=arguments.length-2;if(l===1)r.children=n;else if(1<l){s=Array(l);for(var u=0;u<l;u++)s[u]=arguments[u+2];r.children=s}return{$$typeof:oo,type:e.type,key:o,ref:i,props:r,_owner:a}};X.createContext=function(e){return e={$$typeof:jy,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Hy,_context:e},e.Consumer=e};X.createElement=Ic;X.createFactory=function(e){var t=Ic.bind(null,e);return t.type=e,t};X.createRef=function(){return{current:null}};X.forwardRef=function(e){return{$$typeof:Gy,render:e}};X.isValidElement=ms;X.lazy=function(e){return{$$typeof:$y,_payload:{_status:-1,_result:e},_init:Yy}};X.memo=function(e,t){return{$$typeof:Vy,type:e,compare:t===void 0?null:t}};X.startTransition=function(e){var t=di.transition;di.transition={};try{e()}finally{di.transition=t}};X.unstable_act=Pc;X.useCallback=function(e,t){return nt.current.useCallback(e,t)};X.useContext=function(e){return nt.current.useContext(e)};X.useDebugValue=function(){};X.useDeferredValue=function(e){return nt.current.useDeferredValue(e)};X.useEffect=function(e,t){return nt.current.useEffect(e,t)};X.useId=function(){return nt.current.useId()};X.useImperativeHandle=function(e,t,n){return nt.current.useImperativeHandle(e,t,n)};X.useInsertionEffect=function(e,t){return nt.current.useInsertionEffect(e,t)};X.useLayoutEffect=function(e,t){return nt.current.useLayoutEffect(e,t)};X.useMemo=function(e,t){return nt.current.useMemo(e,t)};X.useReducer=function(e,t,n){return nt.current.useReducer(e,t,n)};X.useRef=function(e){return nt.current.useRef(e)};X.useState=function(e){return nt.current.useState(e)};X.useSyncExternalStore=function(e,t,n){return nt.current.useSyncExternalStore(e,t,n)};X.useTransition=function(){return nt.current.useTransition()};X.version="18.3.1"});var ct=en((j1,Fc)=>{"use strict";Fc.exports=_c()});var Gc=en(ce=>{"use strict";function hs(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(0<pi(o,t))e[r]=t,e[n]=o,n=r;else break e}}function Ft(e){return e.length===0?null:e[0]}function fi(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,i=o>>>1;r<i;){var a=2*(r+1)-1,s=e[a],l=a+1,u=e[l];if(0>pi(s,n))l<o&&0>pi(u,s)?(e[r]=u,e[l]=n,r=l):(e[r]=s,e[a]=n,r=a);else if(l<o&&0>pi(u,n))e[r]=u,e[l]=n,r=l;else break e}}return t}function pi(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(Dc=performance,ce.unstable_now=function(){return Dc.now()}):(fs=Date,Oc=fs.now(),ce.unstable_now=function(){return fs.now()-Oc});var Dc,fs,Oc,Gt=[],hn=[],Zy=1,St=null,Ke=3,gi=!1,Wn=!1,ao=!1,Uc=typeof setTimeout=="function"?setTimeout:null,zc=typeof clearTimeout=="function"?clearTimeout:null,Lc=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function ws(e){for(var t=Ft(hn);t!==null;){if(t.callback===null)fi(hn);else if(t.startTime<=e)fi(hn),t.sortIndex=t.expirationTime,hs(Gt,t);else break;t=Ft(hn)}}function vs(e){if(ao=!1,ws(e),!Wn)if(Ft(Gt)!==null)Wn=!0,bs(Cs);else{var t=Ft(hn);t!==null&&ks(vs,t.startTime-e)}}function Cs(e,t){Wn=!1,ao&&(ao=!1,zc(so),so=-1),gi=!0;var n=Ke;try{for(ws(t),St=Ft(Gt);St!==null&&(!(St.expirationTime>t)||e&&!jc());){var r=St.callback;if(typeof r=="function"){St.callback=null,Ke=St.priorityLevel;var o=r(St.expirationTime<=t);t=ce.unstable_now(),typeof o=="function"?St.callback=o:St===Ft(Gt)&&fi(Gt),ws(t)}else fi(Gt);St=Ft(Gt)}if(St!==null)var i=!0;else{var a=Ft(hn);a!==null&&ks(vs,a.startTime-t),i=!1}return i}finally{St=null,Ke=n,gi=!1}}var yi=!1,mi=null,so=-1,Bc=5,Hc=-1;function jc(){return!(ce.unstable_now()-Hc<Bc)}function gs(){if(mi!==null){var e=ce.unstable_now();Hc=e;var t=!0;try{t=mi(!0,e)}finally{t?io():(yi=!1,mi=null)}}else yi=!1}var io;typeof Lc=="function"?io=function(){Lc(gs)}:typeof MessageChannel<"u"?(ys=new MessageChannel,Mc=ys.port2,ys.port1.onmessage=gs,io=function(){Mc.postMessage(null)}):io=function(){Uc(gs,0)};var ys,Mc;function bs(e){mi=e,yi||(yi=!0,io())}function ks(e,t){so=Uc(function(){e(ce.unstable_now())},t)}ce.unstable_IdlePriority=5;ce.unstable_ImmediatePriority=1;ce.unstable_LowPriority=4;ce.unstable_NormalPriority=3;ce.unstable_Profiling=null;ce.unstable_UserBlockingPriority=2;ce.unstable_cancelCallback=function(e){e.callback=null};ce.unstable_continueExecution=function(){Wn||gi||(Wn=!0,bs(Cs))};ce.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Bc=0<e?Math.floor(1e3/e):5};ce.unstable_getCurrentPriorityLevel=function(){return Ke};ce.unstable_getFirstCallbackNode=function(){return Ft(Gt)};ce.unstable_next=function(e){switch(Ke){case 1:case 2:case 3:var t=3;break;default:t=Ke}var n=Ke;Ke=t;try{return e()}finally{Ke=n}};ce.unstable_pauseExecution=function(){};ce.unstable_requestPaint=function(){};ce.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Ke;Ke=e;try{return t()}finally{Ke=n}};ce.unstable_scheduleCallback=function(e,t,n){var r=ce.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=n+o,e={id:Zy++,callback:t,priorityLevel:e,startTime:n,expirationTime:o,sortIndex:-1},n>r?(e.sortIndex=n,hs(hn,e),Ft(Gt)===null&&e===Ft(hn)&&(ao?(zc(so),so=-1):ao=!0,ks(vs,n-r))):(e.sortIndex=o,hs(Gt,e),Wn||gi||(Wn=!0,bs(Cs))),e};ce.unstable_shouldYield=jc;ce.unstable_wrapCallback=function(e){var t=Ke;return function(){var n=Ke;Ke=t;try{return e.apply(this,arguments)}finally{Ke=n}}}});var Vc=en((W1,Wc)=>{"use strict";Wc.exports=Gc()});var Km=en(xt=>{"use strict";var Jy=ct(),bt=Vc();function D(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Zd=new Set,Io={};function rr(e,t){Lr(e,t),Lr(e+"Capture",t)}function Lr(e,t){for(Io[e]=t,e=0;e<t.length;e++)Zd.add(t[e])}var sn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Vs=Object.prototype.hasOwnProperty,eh=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,$c={},Qc={};function th(e){return Vs.call(Qc,e)?!0:Vs.call($c,e)?!1:eh.test(e)?Qc[e]=!0:($c[e]=!0,!1)}function nh(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function rh(e,t,n,r){if(t===null||typeof t>"u"||nh(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function it(e,t,n,r,o,i,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var Ge={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ge[e]=new it(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ge[t]=new it(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ge[e]=new it(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ge[e]=new it(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Ge[e]=new it(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ge[e]=new it(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ge[e]=new it(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ge[e]=new it(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ge[e]=new it(e,5,!1,e.toLowerCase(),null,!1,!1)});var Ml=/[\-:]([a-z])/g;function Ul(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Ml,Ul);Ge[t]=new it(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Ml,Ul);Ge[t]=new it(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Ml,Ul);Ge[t]=new it(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ge[e]=new it(e,1,!1,e.toLowerCase(),null,!1,!1)});Ge.xlinkHref=new it("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ge[e]=new it(e,1,!1,e.toLowerCase(),null,!0,!0)});function zl(e,t,n,r){var o=Ge.hasOwnProperty(t)?Ge[t]:null;(o!==null?o.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(rh(t,n,o,r)&&(n=null),r||o===null?th(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=n===null?o.type===3?!1:"":n:(t=o.attributeName,r=o.attributeNamespace,n===null?e.removeAttribute(t):(o=o.type,n=o===3||o===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var dn=Jy.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,hi=Symbol.for("react.element"),wr=Symbol.for("react.portal"),vr=Symbol.for("react.fragment"),Bl=Symbol.for("react.strict_mode"),$s=Symbol.for("react.profiler"),Jd=Symbol.for("react.provider"),ep=Symbol.for("react.context"),Hl=Symbol.for("react.forward_ref"),Qs=Symbol.for("react.suspense"),qs=Symbol.for("react.suspense_list"),jl=Symbol.for("react.memo"),vn=Symbol.for("react.lazy"),tp=Symbol.for("react.offscreen"),qc=Symbol.iterator;function lo(e){return e===null||typeof e!="object"?null:(e=qc&&e[qc]||e["@@iterator"],typeof e=="function"?e:null)}var ve=Object.assign,xs;function ho(e){if(xs===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);xs=t&&t[1]||""}return`
|
|
2
|
+
`+xs+e}var Ss=!1;function Rs(e,t){if(!e||Ss)return"";Ss=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&typeof u.stack=="string"){for(var o=u.stack.split(`
|
|
3
|
+
`),i=r.stack.split(`
|
|
4
|
+
`),a=o.length-1,s=i.length-1;1<=a&&0<=s&&o[a]!==i[s];)s--;for(;1<=a&&0<=s;a--,s--)if(o[a]!==i[s]){if(a!==1||s!==1)do if(a--,s--,0>s||o[a]!==i[s]){var l=`
|
|
5
|
+
`+o[a].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{Ss=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ho(e):""}function oh(e){switch(e.tag){case 5:return ho(e.type);case 16:return ho("Lazy");case 13:return ho("Suspense");case 19:return ho("SuspenseList");case 0:case 2:case 15:return e=Rs(e.type,!1),e;case 11:return e=Rs(e.type.render,!1),e;case 1:return e=Rs(e.type,!0),e;default:return""}}function Ks(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case vr:return"Fragment";case wr:return"Portal";case $s:return"Profiler";case Bl:return"StrictMode";case Qs:return"Suspense";case qs:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ep:return(e.displayName||"Context")+".Consumer";case Jd:return(e._context.displayName||"Context")+".Provider";case Hl:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case jl:return t=e.displayName||null,t!==null?t:Ks(e.type)||"Memo";case vn:t=e._payload,e=e._init;try{return Ks(e(t))}catch{}}return null}function ih(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Ks(t);case 8:return t===Bl?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Fn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function np(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function ah(e){var t=np(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(a){r=""+a,i.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function wi(e){e._valueTracker||(e._valueTracker=ah(e))}function rp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=np(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function $i(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Ys(e,t){var n=t.checked;return ve({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Kc(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Fn(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function op(e,t){t=t.checked,t!=null&&zl(e,"checked",t,!1)}function Xs(e,t){op(e,t);var n=Fn(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Zs(e,t.type,n):t.hasOwnProperty("defaultValue")&&Zs(e,t.type,Fn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Yc(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Zs(e,t,n){(t!=="number"||$i(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var wo=Array.isArray;function Ir(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Fn(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function Js(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(D(91));return ve({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Xc(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(D(92));if(wo(n)){if(1<n.length)throw Error(D(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:Fn(n)}}function ip(e,t){var n=Fn(t.value),r=Fn(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function Zc(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function ap(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function el(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?ap(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var vi,sp=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e})(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(vi=vi||document.createElement("div"),vi.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=vi.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Po(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var bo={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},sh=["Webkit","ms","Moz","O"];Object.keys(bo).forEach(function(e){sh.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),bo[t]=bo[e]})});function lp(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||bo.hasOwnProperty(e)&&bo[e]?(""+t).trim():t+"px"}function up(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=lp(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var lh=ve({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function tl(e,t){if(t){if(lh[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(D(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(D(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(D(61))}if(t.style!=null&&typeof t.style!="object")throw Error(D(62))}}function nl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var rl=null;function Gl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ol=null,Pr=null,_r=null;function Jc(e){if(e=Ko(e)){if(typeof ol!="function")throw Error(D(280));var t=e.stateNode;t&&(t=Ca(t),ol(e.stateNode,e.type,t))}}function cp(e){Pr?_r?_r.push(e):_r=[e]:Pr=e}function dp(){if(Pr){var e=Pr,t=_r;if(_r=Pr=null,Jc(e),t)for(e=0;e<t.length;e++)Jc(t[e])}}function pp(e,t){return e(t)}function mp(){}var Ns=!1;function fp(e,t,n){if(Ns)return e(t,n);Ns=!0;try{return pp(e,t,n)}finally{Ns=!1,(Pr!==null||_r!==null)&&(mp(),dp())}}function _o(e,t){var n=e.stateNode;if(n===null)return null;var r=Ca(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(D(231,t,typeof n));return n}var il=!1;if(sn)try{yr={},Object.defineProperty(yr,"passive",{get:function(){il=!0}}),window.addEventListener("test",yr,yr),window.removeEventListener("test",yr,yr)}catch{il=!1}var yr;function uh(e,t,n,r,o,i,a,s,l){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(c){this.onError(c)}}var ko=!1,Qi=null,qi=!1,al=null,ch={onError:function(e){ko=!0,Qi=e}};function dh(e,t,n,r,o,i,a,s,l){ko=!1,Qi=null,uh.apply(ch,arguments)}function ph(e,t,n,r,o,i,a,s,l){if(dh.apply(this,arguments),ko){if(ko){var u=Qi;ko=!1,Qi=null}else throw Error(D(198));qi||(qi=!0,al=u)}}function or(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function gp(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function ed(e){if(or(e)!==e)throw Error(D(188))}function mh(e){var t=e.alternate;if(!t){if(t=or(e),t===null)throw Error(D(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(o===null)break;var i=o.alternate;if(i===null){if(r=o.return,r!==null){n=r;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return ed(o),e;if(i===r)return ed(o),t;i=i.sibling}throw Error(D(188))}if(n.return!==r.return)n=o,r=i;else{for(var a=!1,s=o.child;s;){if(s===n){a=!0,n=o,r=i;break}if(s===r){a=!0,r=o,n=i;break}s=s.sibling}if(!a){for(s=i.child;s;){if(s===n){a=!0,n=i,r=o;break}if(s===r){a=!0,r=i,n=o;break}s=s.sibling}if(!a)throw Error(D(189))}}if(n.alternate!==r)throw Error(D(190))}if(n.tag!==3)throw Error(D(188));return n.stateNode.current===n?e:t}function yp(e){return e=mh(e),e!==null?hp(e):null}function hp(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=hp(e);if(t!==null)return t;e=e.sibling}return null}var wp=bt.unstable_scheduleCallback,td=bt.unstable_cancelCallback,fh=bt.unstable_shouldYield,gh=bt.unstable_requestPaint,Te=bt.unstable_now,yh=bt.unstable_getCurrentPriorityLevel,Wl=bt.unstable_ImmediatePriority,vp=bt.unstable_UserBlockingPriority,Ki=bt.unstable_NormalPriority,hh=bt.unstable_LowPriority,Cp=bt.unstable_IdlePriority,ya=null,Qt=null;function wh(e){if(Qt&&typeof Qt.onCommitFiberRoot=="function")try{Qt.onCommitFiberRoot(ya,e,void 0,(e.current.flags&128)===128)}catch{}}var Ut=Math.clz32?Math.clz32:bh,vh=Math.log,Ch=Math.LN2;function bh(e){return e>>>=0,e===0?32:31-(vh(e)/Ch|0)|0}var Ci=64,bi=4194304;function vo(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Yi(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~o;s!==0?r=vo(s):(i&=a,i!==0&&(r=vo(i)))}else a=n&~o,a!==0?r=vo(a):i!==0&&(r=vo(i));if(r===0)return 0;if(t!==0&&t!==r&&(t&o)===0&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-Ut(t),o=1<<n,r|=e[n],t&=~o;return r}function kh(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function xh(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,i=e.pendingLanes;0<i;){var a=31-Ut(i),s=1<<a,l=o[a];l===-1?((s&n)===0||(s&r)!==0)&&(o[a]=kh(s,t)):l<=t&&(e.expiredLanes|=s),i&=~s}}function sl(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function bp(){var e=Ci;return Ci<<=1,(Ci&4194240)===0&&(Ci=64),e}function Ts(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Qo(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ut(t),e[t]=n}function Sh(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-Ut(n),i=1<<o;t[o]=0,r[o]=-1,e[o]=-1,n&=~i}}function Vl(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Ut(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}var ie=0;function kp(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var xp,$l,Sp,Rp,Np,ll=!1,ki=[],Rn=null,Nn=null,Tn=null,Fo=new Map,Do=new Map,bn=[],Rh="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function nd(e,t){switch(e){case"focusin":case"focusout":Rn=null;break;case"dragenter":case"dragleave":Nn=null;break;case"mouseover":case"mouseout":Tn=null;break;case"pointerover":case"pointerout":Fo.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Do.delete(t.pointerId)}}function uo(e,t,n,r,o,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[o]},t!==null&&(t=Ko(t),t!==null&&$l(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function Nh(e,t,n,r,o){switch(t){case"focusin":return Rn=uo(Rn,e,t,n,r,o),!0;case"dragenter":return Nn=uo(Nn,e,t,n,r,o),!0;case"mouseover":return Tn=uo(Tn,e,t,n,r,o),!0;case"pointerover":var i=o.pointerId;return Fo.set(i,uo(Fo.get(i)||null,e,t,n,r,o)),!0;case"gotpointercapture":return i=o.pointerId,Do.set(i,uo(Do.get(i)||null,e,t,n,r,o)),!0}return!1}function Tp(e){var t=Qn(e.target);if(t!==null){var n=or(t);if(n!==null){if(t=n.tag,t===13){if(t=gp(n),t!==null){e.blockedOn=t,Np(e.priority,function(){Sp(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Li(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=ul(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);rl=r,n.target.dispatchEvent(r),rl=null}else return t=Ko(n),t!==null&&$l(t),e.blockedOn=n,!1;t.shift()}return!0}function rd(e,t,n){Li(e)&&n.delete(t)}function Th(){ll=!1,Rn!==null&&Li(Rn)&&(Rn=null),Nn!==null&&Li(Nn)&&(Nn=null),Tn!==null&&Li(Tn)&&(Tn=null),Fo.forEach(rd),Do.forEach(rd)}function co(e,t){e.blockedOn===t&&(e.blockedOn=null,ll||(ll=!0,bt.unstable_scheduleCallback(bt.unstable_NormalPriority,Th)))}function Oo(e){function t(o){return co(o,e)}if(0<ki.length){co(ki[0],e);for(var n=1;n<ki.length;n++){var r=ki[n];r.blockedOn===e&&(r.blockedOn=null)}}for(Rn!==null&&co(Rn,e),Nn!==null&&co(Nn,e),Tn!==null&&co(Tn,e),Fo.forEach(t),Do.forEach(t),n=0;n<bn.length;n++)r=bn[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<bn.length&&(n=bn[0],n.blockedOn===null);)Tp(n),n.blockedOn===null&&bn.shift()}var Fr=dn.ReactCurrentBatchConfig,Xi=!0;function Eh(e,t,n,r){var o=ie,i=Fr.transition;Fr.transition=null;try{ie=1,Ql(e,t,n,r)}finally{ie=o,Fr.transition=i}}function Ah(e,t,n,r){var o=ie,i=Fr.transition;Fr.transition=null;try{ie=4,Ql(e,t,n,r)}finally{ie=o,Fr.transition=i}}function Ql(e,t,n,r){if(Xi){var o=ul(e,t,n,r);if(o===null)Ds(e,t,r,Zi,n),nd(e,r);else if(Nh(o,e,t,n,r))r.stopPropagation();else if(nd(e,r),t&4&&-1<Rh.indexOf(e)){for(;o!==null;){var i=Ko(o);if(i!==null&&xp(i),i=ul(e,t,n,r),i===null&&Ds(e,t,r,Zi,n),i===o)break;o=i}o!==null&&r.stopPropagation()}else Ds(e,t,r,null,n)}}var Zi=null;function ul(e,t,n,r){if(Zi=null,e=Gl(r),e=Qn(e),e!==null)if(t=or(e),t===null)e=null;else if(n=t.tag,n===13){if(e=gp(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Zi=e,null}function Ep(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(yh()){case Wl:return 1;case vp:return 4;case Ki:case hh:return 16;case Cp:return 536870912;default:return 16}default:return 16}}var xn=null,ql=null,Mi=null;function Ap(){if(Mi)return Mi;var e,t=ql,n=t.length,r,o="value"in xn?xn.value:xn.textContent,i=o.length;for(e=0;e<n&&t[e]===o[e];e++);var a=n-e;for(r=1;r<=a&&t[n-r]===o[i-r];r++);return Mi=o.slice(e,1<r?1-r:void 0)}function Ui(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function xi(){return!0}function od(){return!1}function kt(e){function t(n,r,o,i,a){this._reactName=n,this._targetInst=o,this.type=r,this.nativeEvent=i,this.target=a,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(n=e[s],this[s]=n?n(i):i[s]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?xi:od,this.isPropagationStopped=od,this}return ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=xi)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=xi)},persist:function(){},isPersistent:xi}),t}var Gr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Kl=kt(Gr),qo=ve({},Gr,{view:0,detail:0}),Ih=kt(qo),Es,As,po,ha=ve({},qo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Yl,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==po&&(po&&e.type==="mousemove"?(Es=e.screenX-po.screenX,As=e.screenY-po.screenY):As=Es=0,po=e),Es)},movementY:function(e){return"movementY"in e?e.movementY:As}}),id=kt(ha),Ph=ve({},ha,{dataTransfer:0}),_h=kt(Ph),Fh=ve({},qo,{relatedTarget:0}),Is=kt(Fh),Dh=ve({},Gr,{animationName:0,elapsedTime:0,pseudoElement:0}),Oh=kt(Dh),Lh=ve({},Gr,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Mh=kt(Lh),Uh=ve({},Gr,{data:0}),ad=kt(Uh),zh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Bh={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Hh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function jh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Hh[e])?!!t[e]:!1}function Yl(){return jh}var Gh=ve({},qo,{key:function(e){if(e.key){var t=zh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Ui(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Bh[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Yl,charCode:function(e){return e.type==="keypress"?Ui(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Ui(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Wh=kt(Gh),Vh=ve({},ha,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),sd=kt(Vh),$h=ve({},qo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Yl}),Qh=kt($h),qh=ve({},Gr,{propertyName:0,elapsedTime:0,pseudoElement:0}),Kh=kt(qh),Yh=ve({},ha,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Xh=kt(Yh),Zh=[9,13,27,32],Xl=sn&&"CompositionEvent"in window,xo=null;sn&&"documentMode"in document&&(xo=document.documentMode);var Jh=sn&&"TextEvent"in window&&!xo,Ip=sn&&(!Xl||xo&&8<xo&&11>=xo),ld=" ",ud=!1;function Pp(e,t){switch(e){case"keyup":return Zh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function _p(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Cr=!1;function ew(e,t){switch(e){case"compositionend":return _p(t);case"keypress":return t.which!==32?null:(ud=!0,ld);case"textInput":return e=t.data,e===ld&&ud?null:e;default:return null}}function tw(e,t){if(Cr)return e==="compositionend"||!Xl&&Pp(e,t)?(e=Ap(),Mi=ql=xn=null,Cr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Ip&&t.locale!=="ko"?null:t.data;default:return null}}var nw={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function cd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!nw[e.type]:t==="textarea"}function Fp(e,t,n,r){cp(r),t=Ji(t,"onChange"),0<t.length&&(n=new Kl("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var So=null,Lo=null;function rw(e){Wp(e,0)}function wa(e){var t=xr(e);if(rp(t))return e}function ow(e,t){if(e==="change")return t}var Dp=!1;sn&&(sn?(Ri="oninput"in document,Ri||(Ps=document.createElement("div"),Ps.setAttribute("oninput","return;"),Ri=typeof Ps.oninput=="function"),Si=Ri):Si=!1,Dp=Si&&(!document.documentMode||9<document.documentMode));var Si,Ri,Ps;function dd(){So&&(So.detachEvent("onpropertychange",Op),Lo=So=null)}function Op(e){if(e.propertyName==="value"&&wa(Lo)){var t=[];Fp(t,Lo,e,Gl(e)),fp(rw,t)}}function iw(e,t,n){e==="focusin"?(dd(),So=t,Lo=n,So.attachEvent("onpropertychange",Op)):e==="focusout"&&dd()}function aw(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return wa(Lo)}function sw(e,t){if(e==="click")return wa(t)}function lw(e,t){if(e==="input"||e==="change")return wa(t)}function uw(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bt=typeof Object.is=="function"?Object.is:uw;function Mo(e,t){if(Bt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!Vs.call(t,o)||!Bt(e[o],t[o]))return!1}return!0}function pd(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function md(e,t){var n=pd(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=pd(n)}}function Lp(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Lp(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Mp(){for(var e=window,t=$i();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=$i(e.document)}return t}function Zl(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function cw(e){var t=Mp(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Lp(n.ownerDocument.documentElement,n)){if(r!==null&&Zl(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=md(n,i);var a=md(n,r);o&&a&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var dw=sn&&"documentMode"in document&&11>=document.documentMode,br=null,cl=null,Ro=null,dl=!1;function fd(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;dl||br==null||br!==$i(r)||(r=br,"selectionStart"in r&&Zl(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ro&&Mo(Ro,r)||(Ro=r,r=Ji(cl,"onSelect"),0<r.length&&(t=new Kl("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=br)))}function Ni(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var kr={animationend:Ni("Animation","AnimationEnd"),animationiteration:Ni("Animation","AnimationIteration"),animationstart:Ni("Animation","AnimationStart"),transitionend:Ni("Transition","TransitionEnd")},_s={},Up={};sn&&(Up=document.createElement("div").style,"AnimationEvent"in window||(delete kr.animationend.animation,delete kr.animationiteration.animation,delete kr.animationstart.animation),"TransitionEvent"in window||delete kr.transitionend.transition);function va(e){if(_s[e])return _s[e];if(!kr[e])return e;var t=kr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Up)return _s[e]=t[n];return e}var zp=va("animationend"),Bp=va("animationiteration"),Hp=va("animationstart"),jp=va("transitionend"),Gp=new Map,gd="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function On(e,t){Gp.set(e,t),rr(t,[e])}for(Ti=0;Ti<gd.length;Ti++)Ei=gd[Ti],yd=Ei.toLowerCase(),hd=Ei[0].toUpperCase()+Ei.slice(1),On(yd,"on"+hd);var Ei,yd,hd,Ti;On(zp,"onAnimationEnd");On(Bp,"onAnimationIteration");On(Hp,"onAnimationStart");On("dblclick","onDoubleClick");On("focusin","onFocus");On("focusout","onBlur");On(jp,"onTransitionEnd");Lr("onMouseEnter",["mouseout","mouseover"]);Lr("onMouseLeave",["mouseout","mouseover"]);Lr("onPointerEnter",["pointerout","pointerover"]);Lr("onPointerLeave",["pointerout","pointerover"]);rr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));rr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));rr("onBeforeInput",["compositionend","keypress","textInput","paste"]);rr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));rr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));rr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Co="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),pw=new Set("cancel close invalid load scroll toggle".split(" ").concat(Co));function wd(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,ph(r,t,void 0,e),e.currentTarget=null}function Wp(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var a=r.length-1;0<=a;a--){var s=r[a],l=s.instance,u=s.currentTarget;if(s=s.listener,l!==i&&o.isPropagationStopped())break e;wd(o,s,u),i=l}else for(a=0;a<r.length;a++){if(s=r[a],l=s.instance,u=s.currentTarget,s=s.listener,l!==i&&o.isPropagationStopped())break e;wd(o,s,u),i=l}}}if(qi)throw e=al,qi=!1,al=null,e}function me(e,t){var n=t[yl];n===void 0&&(n=t[yl]=new Set);var r=e+"__bubble";n.has(r)||(Vp(t,e,2,!1),n.add(r))}function Fs(e,t,n){var r=0;t&&(r|=4),Vp(n,e,r,t)}var Ai="_reactListening"+Math.random().toString(36).slice(2);function Uo(e){if(!e[Ai]){e[Ai]=!0,Zd.forEach(function(n){n!=="selectionchange"&&(pw.has(n)||Fs(n,!1,e),Fs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Ai]||(t[Ai]=!0,Fs("selectionchange",!1,t))}}function Vp(e,t,n,r){switch(Ep(t)){case 1:var o=Eh;break;case 4:o=Ah;break;default:o=Ql}n=o.bind(null,t,n,e),o=void 0,!il||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Ds(e,t,n,r,o){var i=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var a=r.tag;if(a===3||a===4){var s=r.stateNode.containerInfo;if(s===o||s.nodeType===8&&s.parentNode===o)break;if(a===4)for(a=r.return;a!==null;){var l=a.tag;if((l===3||l===4)&&(l=a.stateNode.containerInfo,l===o||l.nodeType===8&&l.parentNode===o))return;a=a.return}for(;s!==null;){if(a=Qn(s),a===null)return;if(l=a.tag,l===5||l===6){r=i=a;continue e}s=s.parentNode}}r=r.return}fp(function(){var u=i,c=Gl(n),d=[];e:{var p=Gp.get(e);if(p!==void 0){var f=Kl,v=e;switch(e){case"keypress":if(Ui(n)===0)break e;case"keydown":case"keyup":f=Wh;break;case"focusin":v="focus",f=Is;break;case"focusout":v="blur",f=Is;break;case"beforeblur":case"afterblur":f=Is;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":f=id;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":f=_h;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":f=Qh;break;case zp:case Bp:case Hp:f=Oh;break;case jp:f=Kh;break;case"scroll":f=Ih;break;case"wheel":f=Xh;break;case"copy":case"cut":case"paste":f=Mh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":f=sd}var y=(t&4)!==0,x=!y&&e==="scroll",m=y?p!==null?p+"Capture":null:p;y=[];for(var g=u,h;g!==null;){h=g;var k=h.stateNode;if(h.tag===5&&k!==null&&(h=k,m!==null&&(k=_o(g,m),k!=null&&y.push(zo(g,k,h)))),x)break;g=g.return}0<y.length&&(p=new f(p,v,null,n,c),d.push({event:p,listeners:y}))}}if((t&7)===0){e:{if(p=e==="mouseover"||e==="pointerover",f=e==="mouseout"||e==="pointerout",p&&n!==rl&&(v=n.relatedTarget||n.fromElement)&&(Qn(v)||v[ln]))break e;if((f||p)&&(p=c.window===c?c:(p=c.ownerDocument)?p.defaultView||p.parentWindow:window,f?(v=n.relatedTarget||n.toElement,f=u,v=v?Qn(v):null,v!==null&&(x=or(v),v!==x||v.tag!==5&&v.tag!==6)&&(v=null)):(f=null,v=u),f!==v)){if(y=id,k="onMouseLeave",m="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(y=sd,k="onPointerLeave",m="onPointerEnter",g="pointer"),x=f==null?p:xr(f),h=v==null?p:xr(v),p=new y(k,g+"leave",f,n,c),p.target=x,p.relatedTarget=h,k=null,Qn(c)===u&&(y=new y(m,g+"enter",v,n,c),y.target=h,y.relatedTarget=x,k=y),x=k,f&&v)t:{for(y=f,m=v,g=0,h=y;h;h=hr(h))g++;for(h=0,k=m;k;k=hr(k))h++;for(;0<g-h;)y=hr(y),g--;for(;0<h-g;)m=hr(m),h--;for(;g--;){if(y===m||m!==null&&y===m.alternate)break t;y=hr(y),m=hr(m)}y=null}else y=null;f!==null&&vd(d,p,f,y,!1),v!==null&&x!==null&&vd(d,x,v,y,!0)}}e:{if(p=u?xr(u):window,f=p.nodeName&&p.nodeName.toLowerCase(),f==="select"||f==="input"&&p.type==="file")var C=ow;else if(cd(p))if(Dp)C=lw;else{C=aw;var T=iw}else(f=p.nodeName)&&f.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(C=sw);if(C&&(C=C(e,u))){Fp(d,C,n,c);break e}T&&T(e,p,u),e==="focusout"&&(T=p._wrapperState)&&T.controlled&&p.type==="number"&&Zs(p,"number",p.value)}switch(T=u?xr(u):window,e){case"focusin":(cd(T)||T.contentEditable==="true")&&(br=T,cl=u,Ro=null);break;case"focusout":Ro=cl=br=null;break;case"mousedown":dl=!0;break;case"contextmenu":case"mouseup":case"dragend":dl=!1,fd(d,n,c);break;case"selectionchange":if(dw)break;case"keydown":case"keyup":fd(d,n,c)}var E;if(Xl)e:{switch(e){case"compositionstart":var O="onCompositionStart";break e;case"compositionend":O="onCompositionEnd";break e;case"compositionupdate":O="onCompositionUpdate";break e}O=void 0}else Cr?Pp(e,n)&&(O="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(O="onCompositionStart");O&&(Ip&&n.locale!=="ko"&&(Cr||O!=="onCompositionStart"?O==="onCompositionEnd"&&Cr&&(E=Ap()):(xn=c,ql="value"in xn?xn.value:xn.textContent,Cr=!0)),T=Ji(u,O),0<T.length&&(O=new ad(O,e,null,n,c),d.push({event:O,listeners:T}),E?O.data=E:(E=_p(n),E!==null&&(O.data=E)))),(E=Jh?ew(e,n):tw(e,n))&&(u=Ji(u,"onBeforeInput"),0<u.length&&(c=new ad("onBeforeInput","beforeinput",null,n,c),d.push({event:c,listeners:u}),c.data=E))}Wp(d,t)})}function zo(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ji(e,t){for(var n=t+"Capture",r=[];e!==null;){var o=e,i=o.stateNode;o.tag===5&&i!==null&&(o=i,i=_o(e,n),i!=null&&r.unshift(zo(e,i,o)),i=_o(e,t),i!=null&&r.push(zo(e,i,o))),e=e.return}return r}function hr(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function vd(e,t,n,r,o){for(var i=t._reactName,a=[];n!==null&&n!==r;){var s=n,l=s.alternate,u=s.stateNode;if(l!==null&&l===r)break;s.tag===5&&u!==null&&(s=u,o?(l=_o(n,i),l!=null&&a.unshift(zo(n,l,s))):o||(l=_o(n,i),l!=null&&a.push(zo(n,l,s)))),n=n.return}a.length!==0&&e.push({event:t,listeners:a})}var mw=/\r\n?/g,fw=/\u0000|\uFFFD/g;function Cd(e){return(typeof e=="string"?e:""+e).replace(mw,`
|
|
6
|
+
`).replace(fw,"")}function Ii(e,t,n){if(t=Cd(t),Cd(e)!==t&&n)throw Error(D(425))}function ea(){}var pl=null,ml=null;function fl(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var gl=typeof setTimeout=="function"?setTimeout:void 0,gw=typeof clearTimeout=="function"?clearTimeout:void 0,bd=typeof Promise=="function"?Promise:void 0,yw=typeof queueMicrotask=="function"?queueMicrotask:typeof bd<"u"?function(e){return bd.resolve(null).then(e).catch(hw)}:gl;function hw(e){setTimeout(function(){throw e})}function Os(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"){if(r===0){e.removeChild(o),Oo(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=o}while(n);Oo(t)}function En(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function kd(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Wr=Math.random().toString(36).slice(2),$t="__reactFiber$"+Wr,Bo="__reactProps$"+Wr,ln="__reactContainer$"+Wr,yl="__reactEvents$"+Wr,ww="__reactListeners$"+Wr,vw="__reactHandles$"+Wr;function Qn(e){var t=e[$t];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ln]||n[$t]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=kd(e);e!==null;){if(n=e[$t])return n;e=kd(e)}return t}e=n,n=e.parentNode}return null}function Ko(e){return e=e[$t]||e[ln],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function xr(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(D(33))}function Ca(e){return e[Bo]||null}var hl=[],Sr=-1;function Ln(e){return{current:e}}function fe(e){0>Sr||(e.current=hl[Sr],hl[Sr]=null,Sr--)}function de(e,t){Sr++,hl[Sr]=e.current,e.current=t}var Dn={},Je=Ln(Dn),mt=Ln(!1),Zn=Dn;function Mr(e,t){var n=e.type.contextTypes;if(!n)return Dn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function ft(e){return e=e.childContextTypes,e!=null}function ta(){fe(mt),fe(Je)}function xd(e,t,n){if(Je.current!==Dn)throw Error(D(168));de(Je,t),de(mt,n)}function $p(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(D(108,ih(e)||"Unknown",o));return ve({},n,r)}function na(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Dn,Zn=Je.current,de(Je,e),de(mt,mt.current),!0}function Sd(e,t,n){var r=e.stateNode;if(!r)throw Error(D(169));n?(e=$p(e,t,Zn),r.__reactInternalMemoizedMergedChildContext=e,fe(mt),fe(Je),de(Je,e)):fe(mt),de(mt,n)}var nn=null,ba=!1,Ls=!1;function Qp(e){nn===null?nn=[e]:nn.push(e)}function Cw(e){ba=!0,Qp(e)}function Mn(){if(!Ls&&nn!==null){Ls=!0;var e=0,t=ie;try{var n=nn;for(ie=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}nn=null,ba=!1}catch(o){throw nn!==null&&(nn=nn.slice(e+1)),wp(Wl,Mn),o}finally{ie=t,Ls=!1}}return null}var Rr=[],Nr=0,ra=null,oa=0,Rt=[],Nt=0,Jn=null,rn=1,on="";function Vn(e,t){Rr[Nr++]=oa,Rr[Nr++]=ra,ra=e,oa=t}function qp(e,t,n){Rt[Nt++]=rn,Rt[Nt++]=on,Rt[Nt++]=Jn,Jn=e;var r=rn;e=on;var o=32-Ut(r)-1;r&=~(1<<o),n+=1;var i=32-Ut(t)+o;if(30<i){var a=o-o%5;i=(r&(1<<a)-1).toString(32),r>>=a,o-=a,rn=1<<32-Ut(t)+o|n<<o|r,on=i+e}else rn=1<<i|n<<o|r,on=e}function Jl(e){e.return!==null&&(Vn(e,1),qp(e,1,0))}function eu(e){for(;e===ra;)ra=Rr[--Nr],Rr[Nr]=null,oa=Rr[--Nr],Rr[Nr]=null;for(;e===Jn;)Jn=Rt[--Nt],Rt[Nt]=null,on=Rt[--Nt],Rt[Nt]=null,rn=Rt[--Nt],Rt[Nt]=null}var Ct=null,vt=null,ye=!1,Mt=null;function Kp(e,t){var n=Tt(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function Rd(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Ct=e,vt=En(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Ct=e,vt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Jn!==null?{id:rn,overflow:on}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Tt(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,Ct=e,vt=null,!0):!1;default:return!1}}function wl(e){return(e.mode&1)!==0&&(e.flags&128)===0}function vl(e){if(ye){var t=vt;if(t){var n=t;if(!Rd(e,t)){if(wl(e))throw Error(D(418));t=En(n.nextSibling);var r=Ct;t&&Rd(e,t)?Kp(r,n):(e.flags=e.flags&-4097|2,ye=!1,Ct=e)}}else{if(wl(e))throw Error(D(418));e.flags=e.flags&-4097|2,ye=!1,Ct=e}}}function Nd(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Ct=e}function Pi(e){if(e!==Ct)return!1;if(!ye)return Nd(e),ye=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!fl(e.type,e.memoizedProps)),t&&(t=vt)){if(wl(e))throw Yp(),Error(D(418));for(;t;)Kp(e,t),t=En(t.nextSibling)}if(Nd(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(D(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){vt=En(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}vt=null}}else vt=Ct?En(e.stateNode.nextSibling):null;return!0}function Yp(){for(var e=vt;e;)e=En(e.nextSibling)}function Ur(){vt=Ct=null,ye=!1}function tu(e){Mt===null?Mt=[e]:Mt.push(e)}var bw=dn.ReactCurrentBatchConfig;function mo(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(D(309));var r=n.stateNode}if(!r)throw Error(D(147,e));var o=r,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=function(a){var s=o.refs;a===null?delete s[i]:s[i]=a},t._stringRef=i,t)}if(typeof e!="string")throw Error(D(284));if(!n._owner)throw Error(D(290,e))}return e}function _i(e,t){throw e=Object.prototype.toString.call(t),Error(D(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Td(e){var t=e._init;return t(e._payload)}function Xp(e){function t(m,g){if(e){var h=m.deletions;h===null?(m.deletions=[g],m.flags|=16):h.push(g)}}function n(m,g){if(!e)return null;for(;g!==null;)t(m,g),g=g.sibling;return null}function r(m,g){for(m=new Map;g!==null;)g.key!==null?m.set(g.key,g):m.set(g.index,g),g=g.sibling;return m}function o(m,g){return m=_n(m,g),m.index=0,m.sibling=null,m}function i(m,g,h){return m.index=h,e?(h=m.alternate,h!==null?(h=h.index,h<g?(m.flags|=2,g):h):(m.flags|=2,g)):(m.flags|=1048576,g)}function a(m){return e&&m.alternate===null&&(m.flags|=2),m}function s(m,g,h,k){return g===null||g.tag!==6?(g=Gs(h,m.mode,k),g.return=m,g):(g=o(g,h),g.return=m,g)}function l(m,g,h,k){var C=h.type;return C===vr?c(m,g,h.props.children,k,h.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===vn&&Td(C)===g.type)?(k=o(g,h.props),k.ref=mo(m,g,h),k.return=m,k):(k=Vi(h.type,h.key,h.props,null,m.mode,k),k.ref=mo(m,g,h),k.return=m,k)}function u(m,g,h,k){return g===null||g.tag!==4||g.stateNode.containerInfo!==h.containerInfo||g.stateNode.implementation!==h.implementation?(g=Ws(h,m.mode,k),g.return=m,g):(g=o(g,h.children||[]),g.return=m,g)}function c(m,g,h,k,C){return g===null||g.tag!==7?(g=Xn(h,m.mode,k,C),g.return=m,g):(g=o(g,h),g.return=m,g)}function d(m,g,h){if(typeof g=="string"&&g!==""||typeof g=="number")return g=Gs(""+g,m.mode,h),g.return=m,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case hi:return h=Vi(g.type,g.key,g.props,null,m.mode,h),h.ref=mo(m,null,g),h.return=m,h;case wr:return g=Ws(g,m.mode,h),g.return=m,g;case vn:var k=g._init;return d(m,k(g._payload),h)}if(wo(g)||lo(g))return g=Xn(g,m.mode,h,null),g.return=m,g;_i(m,g)}return null}function p(m,g,h,k){var C=g!==null?g.key:null;if(typeof h=="string"&&h!==""||typeof h=="number")return C!==null?null:s(m,g,""+h,k);if(typeof h=="object"&&h!==null){switch(h.$$typeof){case hi:return h.key===C?l(m,g,h,k):null;case wr:return h.key===C?u(m,g,h,k):null;case vn:return C=h._init,p(m,g,C(h._payload),k)}if(wo(h)||lo(h))return C!==null?null:c(m,g,h,k,null);_i(m,h)}return null}function f(m,g,h,k,C){if(typeof k=="string"&&k!==""||typeof k=="number")return m=m.get(h)||null,s(g,m,""+k,C);if(typeof k=="object"&&k!==null){switch(k.$$typeof){case hi:return m=m.get(k.key===null?h:k.key)||null,l(g,m,k,C);case wr:return m=m.get(k.key===null?h:k.key)||null,u(g,m,k,C);case vn:var T=k._init;return f(m,g,h,T(k._payload),C)}if(wo(k)||lo(k))return m=m.get(h)||null,c(g,m,k,C,null);_i(g,k)}return null}function v(m,g,h,k){for(var C=null,T=null,E=g,O=g=0,L=null;E!==null&&O<h.length;O++){E.index>O?(L=E,E=null):L=E.sibling;var P=p(m,E,h[O],k);if(P===null){E===null&&(E=L);break}e&&E&&P.alternate===null&&t(m,E),g=i(P,g,O),T===null?C=P:T.sibling=P,T=P,E=L}if(O===h.length)return n(m,E),ye&&Vn(m,O),C;if(E===null){for(;O<h.length;O++)E=d(m,h[O],k),E!==null&&(g=i(E,g,O),T===null?C=E:T.sibling=E,T=E);return ye&&Vn(m,O),C}for(E=r(m,E);O<h.length;O++)L=f(E,m,O,h[O],k),L!==null&&(e&&L.alternate!==null&&E.delete(L.key===null?O:L.key),g=i(L,g,O),T===null?C=L:T.sibling=L,T=L);return e&&E.forEach(function(Q){return t(m,Q)}),ye&&Vn(m,O),C}function y(m,g,h,k){var C=lo(h);if(typeof C!="function")throw Error(D(150));if(h=C.call(h),h==null)throw Error(D(151));for(var T=C=null,E=g,O=g=0,L=null,P=h.next();E!==null&&!P.done;O++,P=h.next()){E.index>O?(L=E,E=null):L=E.sibling;var Q=p(m,E,P.value,k);if(Q===null){E===null&&(E=L);break}e&&E&&Q.alternate===null&&t(m,E),g=i(Q,g,O),T===null?C=Q:T.sibling=Q,T=Q,E=L}if(P.done)return n(m,E),ye&&Vn(m,O),C;if(E===null){for(;!P.done;O++,P=h.next())P=d(m,P.value,k),P!==null&&(g=i(P,g,O),T===null?C=P:T.sibling=P,T=P);return ye&&Vn(m,O),C}for(E=r(m,E);!P.done;O++,P=h.next())P=f(E,m,O,P.value,k),P!==null&&(e&&P.alternate!==null&&E.delete(P.key===null?O:P.key),g=i(P,g,O),T===null?C=P:T.sibling=P,T=P);return e&&E.forEach(function(Ie){return t(m,Ie)}),ye&&Vn(m,O),C}function x(m,g,h,k){if(typeof h=="object"&&h!==null&&h.type===vr&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case hi:e:{for(var C=h.key,T=g;T!==null;){if(T.key===C){if(C=h.type,C===vr){if(T.tag===7){n(m,T.sibling),g=o(T,h.props.children),g.return=m,m=g;break e}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===vn&&Td(C)===T.type){n(m,T.sibling),g=o(T,h.props),g.ref=mo(m,T,h),g.return=m,m=g;break e}n(m,T);break}else t(m,T);T=T.sibling}h.type===vr?(g=Xn(h.props.children,m.mode,k,h.key),g.return=m,m=g):(k=Vi(h.type,h.key,h.props,null,m.mode,k),k.ref=mo(m,g,h),k.return=m,m=k)}return a(m);case wr:e:{for(T=h.key;g!==null;){if(g.key===T)if(g.tag===4&&g.stateNode.containerInfo===h.containerInfo&&g.stateNode.implementation===h.implementation){n(m,g.sibling),g=o(g,h.children||[]),g.return=m,m=g;break e}else{n(m,g);break}else t(m,g);g=g.sibling}g=Ws(h,m.mode,k),g.return=m,m=g}return a(m);case vn:return T=h._init,x(m,g,T(h._payload),k)}if(wo(h))return v(m,g,h,k);if(lo(h))return y(m,g,h,k);_i(m,h)}return typeof h=="string"&&h!==""||typeof h=="number"?(h=""+h,g!==null&&g.tag===6?(n(m,g.sibling),g=o(g,h),g.return=m,m=g):(n(m,g),g=Gs(h,m.mode,k),g.return=m,m=g),a(m)):n(m,g)}return x}var zr=Xp(!0),Zp=Xp(!1),ia=Ln(null),aa=null,Tr=null,nu=null;function ru(){nu=Tr=aa=null}function ou(e){var t=ia.current;fe(ia),e._currentValue=t}function Cl(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Dr(e,t){aa=e,nu=Tr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(pt=!0),e.firstContext=null)}function At(e){var t=e._currentValue;if(nu!==e)if(e={context:e,memoizedValue:t,next:null},Tr===null){if(aa===null)throw Error(D(308));Tr=e,aa.dependencies={lanes:0,firstContext:e}}else Tr=Tr.next=e;return t}var qn=null;function iu(e){qn===null?qn=[e]:qn.push(e)}function Jp(e,t,n,r){var o=t.interleaved;return o===null?(n.next=n,iu(t)):(n.next=o.next,o.next=n),t.interleaved=n,un(e,r)}function un(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Cn=!1;function au(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function em(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function an(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function An(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(ne&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,un(e,n)}return o=r.interleaved,o===null?(t.next=t,iu(r)):(t.next=o.next,o.next=t),r.interleaved=t,un(e,n)}function zi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Vl(e,n)}}function Ed(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?o=i=a:i=i.next=a,n=n.next}while(n!==null);i===null?o=i=t:i=i.next=t}else o=i=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function sa(e,t,n,r){var o=e.updateQueue;Cn=!1;var i=o.firstBaseUpdate,a=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var l=s,u=l.next;l.next=null,a===null?i=u:a.next=u,a=l;var c=e.alternate;c!==null&&(c=c.updateQueue,s=c.lastBaseUpdate,s!==a&&(s===null?c.firstBaseUpdate=u:s.next=u,c.lastBaseUpdate=l))}if(i!==null){var d=o.baseState;a=0,c=u=l=null,s=i;do{var p=s.lane,f=s.eventTime;if((r&p)===p){c!==null&&(c=c.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var v=e,y=s;switch(p=t,f=n,y.tag){case 1:if(v=y.payload,typeof v=="function"){d=v.call(f,d,p);break e}d=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=y.payload,p=typeof v=="function"?v.call(f,d,p):v,p==null)break e;d=ve({},d,p);break e;case 2:Cn=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,p=o.effects,p===null?o.effects=[s]:p.push(s))}else f={eventTime:f,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},c===null?(u=c=f,l=d):c=c.next=f,a|=p;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;p=s,s=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);if(c===null&&(l=d),o.baseState=l,o.firstBaseUpdate=u,o.lastBaseUpdate=c,t=o.shared.interleaved,t!==null){o=t;do a|=o.lane,o=o.next;while(o!==t)}else i===null&&(o.shared.lanes=0);tr|=a,e.lanes=a,e.memoizedState=d}}function Ad(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(o!==null){if(r.callback=null,r=n,typeof o!="function")throw Error(D(191,o));o.call(r)}}}var Yo={},qt=Ln(Yo),Ho=Ln(Yo),jo=Ln(Yo);function Kn(e){if(e===Yo)throw Error(D(174));return e}function su(e,t){switch(de(jo,t),de(Ho,e),de(qt,Yo),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:el(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=el(t,e)}fe(qt),de(qt,t)}function Br(){fe(qt),fe(Ho),fe(jo)}function tm(e){Kn(jo.current);var t=Kn(qt.current),n=el(t,e.type);t!==n&&(de(Ho,e),de(qt,n))}function lu(e){Ho.current===e&&(fe(qt),fe(Ho))}var he=Ln(0);function la(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ms=[];function uu(){for(var e=0;e<Ms.length;e++)Ms[e]._workInProgressVersionPrimary=null;Ms.length=0}var Bi=dn.ReactCurrentDispatcher,Us=dn.ReactCurrentBatchConfig,er=0,we=null,De=null,ze=null,ua=!1,No=!1,Go=0,kw=0;function Ye(){throw Error(D(321))}function cu(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Bt(e[n],t[n]))return!1;return!0}function du(e,t,n,r,o,i){if(er=i,we=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Bi.current=e===null||e.memoizedState===null?Nw:Tw,e=n(r,o),No){i=0;do{if(No=!1,Go=0,25<=i)throw Error(D(301));i+=1,ze=De=null,t.updateQueue=null,Bi.current=Ew,e=n(r,o)}while(No)}if(Bi.current=ca,t=De!==null&&De.next!==null,er=0,ze=De=we=null,ua=!1,t)throw Error(D(300));return e}function pu(){var e=Go!==0;return Go=0,e}function Vt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ze===null?we.memoizedState=ze=e:ze=ze.next=e,ze}function It(){if(De===null){var e=we.alternate;e=e!==null?e.memoizedState:null}else e=De.next;var t=ze===null?we.memoizedState:ze.next;if(t!==null)ze=t,De=e;else{if(e===null)throw Error(D(310));De=e,e={memoizedState:De.memoizedState,baseState:De.baseState,baseQueue:De.baseQueue,queue:De.queue,next:null},ze===null?we.memoizedState=ze=e:ze=ze.next=e}return ze}function Wo(e,t){return typeof t=="function"?t(e):t}function zs(e){var t=It(),n=t.queue;if(n===null)throw Error(D(311));n.lastRenderedReducer=e;var r=De,o=r.baseQueue,i=n.pending;if(i!==null){if(o!==null){var a=o.next;o.next=i.next,i.next=a}r.baseQueue=o=i,n.pending=null}if(o!==null){i=o.next,r=r.baseState;var s=a=null,l=null,u=i;do{var c=u.lane;if((er&c)===c)l!==null&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var d={lane:c,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};l===null?(s=l=d,a=r):l=l.next=d,we.lanes|=c,tr|=c}u=u.next}while(u!==null&&u!==i);l===null?a=r:l.next=s,Bt(r,t.memoizedState)||(pt=!0),t.memoizedState=r,t.baseState=a,t.baseQueue=l,n.lastRenderedState=r}if(e=n.interleaved,e!==null){o=e;do i=o.lane,we.lanes|=i,tr|=i,o=o.next;while(o!==e)}else o===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Bs(e){var t=It(),n=t.queue;if(n===null)throw Error(D(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,i=t.memoizedState;if(o!==null){n.pending=null;var a=o=o.next;do i=e(i,a.action),a=a.next;while(a!==o);Bt(i,t.memoizedState)||(pt=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function nm(){}function rm(e,t){var n=we,r=It(),o=t(),i=!Bt(r.memoizedState,o);if(i&&(r.memoizedState=o,pt=!0),r=r.queue,mu(am.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||ze!==null&&ze.memoizedState.tag&1){if(n.flags|=2048,Vo(9,im.bind(null,n,r,o,t),void 0,null),Be===null)throw Error(D(349));(er&30)!==0||om(n,t,o)}return o}function om(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=we.updateQueue,t===null?(t={lastEffect:null,stores:null},we.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function im(e,t,n,r){t.value=n,t.getSnapshot=r,sm(t)&&lm(e)}function am(e,t,n){return n(function(){sm(t)&&lm(e)})}function sm(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Bt(e,n)}catch{return!0}}function lm(e){var t=un(e,1);t!==null&&zt(t,e,1,-1)}function Id(e){var t=Vt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:e},t.queue=e,e=e.dispatch=Rw.bind(null,we,e),[t.memoizedState,e]}function Vo(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=we.updateQueue,t===null?(t={lastEffect:null,stores:null},we.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function um(){return It().memoizedState}function Hi(e,t,n,r){var o=Vt();we.flags|=e,o.memoizedState=Vo(1|t,n,void 0,r===void 0?null:r)}function ka(e,t,n,r){var o=It();r=r===void 0?null:r;var i=void 0;if(De!==null){var a=De.memoizedState;if(i=a.destroy,r!==null&&cu(r,a.deps)){o.memoizedState=Vo(t,n,i,r);return}}we.flags|=e,o.memoizedState=Vo(1|t,n,i,r)}function Pd(e,t){return Hi(8390656,8,e,t)}function mu(e,t){return ka(2048,8,e,t)}function cm(e,t){return ka(4,2,e,t)}function dm(e,t){return ka(4,4,e,t)}function pm(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function mm(e,t,n){return n=n!=null?n.concat([e]):null,ka(4,4,pm.bind(null,t,e),n)}function fu(){}function fm(e,t){var n=It();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&cu(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function gm(e,t){var n=It();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&cu(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function ym(e,t,n){return(er&21)===0?(e.baseState&&(e.baseState=!1,pt=!0),e.memoizedState=n):(Bt(n,t)||(n=bp(),we.lanes|=n,tr|=n,e.baseState=!0),t)}function xw(e,t){var n=ie;ie=n!==0&&4>n?n:4,e(!0);var r=Us.transition;Us.transition={};try{e(!1),t()}finally{ie=n,Us.transition=r}}function hm(){return It().memoizedState}function Sw(e,t,n){var r=Pn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},wm(e))vm(t,n);else if(n=Jp(e,t,n,r),n!==null){var o=ot();zt(n,e,r,o),Cm(n,t,r)}}function Rw(e,t,n){var r=Pn(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(wm(e))vm(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var a=t.lastRenderedState,s=i(a,n);if(o.hasEagerState=!0,o.eagerState=s,Bt(s,a)){var l=t.interleaved;l===null?(o.next=o,iu(t)):(o.next=l.next,l.next=o),t.interleaved=o;return}}catch{}n=Jp(e,t,o,r),n!==null&&(o=ot(),zt(n,e,r,o),Cm(n,t,r))}}function wm(e){var t=e.alternate;return e===we||t!==null&&t===we}function vm(e,t){No=ua=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Cm(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Vl(e,n)}}var ca={readContext:At,useCallback:Ye,useContext:Ye,useEffect:Ye,useImperativeHandle:Ye,useInsertionEffect:Ye,useLayoutEffect:Ye,useMemo:Ye,useReducer:Ye,useRef:Ye,useState:Ye,useDebugValue:Ye,useDeferredValue:Ye,useTransition:Ye,useMutableSource:Ye,useSyncExternalStore:Ye,useId:Ye,unstable_isNewReconciler:!1},Nw={readContext:At,useCallback:function(e,t){return Vt().memoizedState=[e,t===void 0?null:t],e},useContext:At,useEffect:Pd,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Hi(4194308,4,pm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Hi(4194308,4,e,t)},useInsertionEffect:function(e,t){return Hi(4,2,e,t)},useMemo:function(e,t){var n=Vt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Vt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Sw.bind(null,we,e),[r.memoizedState,e]},useRef:function(e){var t=Vt();return e={current:e},t.memoizedState=e},useState:Id,useDebugValue:fu,useDeferredValue:function(e){return Vt().memoizedState=e},useTransition:function(){var e=Id(!1),t=e[0];return e=xw.bind(null,e[1]),Vt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=we,o=Vt();if(ye){if(n===void 0)throw Error(D(407));n=n()}else{if(n=t(),Be===null)throw Error(D(349));(er&30)!==0||om(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Pd(am.bind(null,r,i,e),[e]),r.flags|=2048,Vo(9,im.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Vt(),t=Be.identifierPrefix;if(ye){var n=on,r=rn;n=(r&~(1<<32-Ut(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Go++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=kw++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},Tw={readContext:At,useCallback:fm,useContext:At,useEffect:mu,useImperativeHandle:mm,useInsertionEffect:cm,useLayoutEffect:dm,useMemo:gm,useReducer:zs,useRef:um,useState:function(){return zs(Wo)},useDebugValue:fu,useDeferredValue:function(e){var t=It();return ym(t,De.memoizedState,e)},useTransition:function(){var e=zs(Wo)[0],t=It().memoizedState;return[e,t]},useMutableSource:nm,useSyncExternalStore:rm,useId:hm,unstable_isNewReconciler:!1},Ew={readContext:At,useCallback:fm,useContext:At,useEffect:mu,useImperativeHandle:mm,useInsertionEffect:cm,useLayoutEffect:dm,useMemo:gm,useReducer:Bs,useRef:um,useState:function(){return Bs(Wo)},useDebugValue:fu,useDeferredValue:function(e){var t=It();return De===null?t.memoizedState=e:ym(t,De.memoizedState,e)},useTransition:function(){var e=Bs(Wo)[0],t=It().memoizedState;return[e,t]},useMutableSource:nm,useSyncExternalStore:rm,useId:hm,unstable_isNewReconciler:!1};function Ot(e,t){if(e&&e.defaultProps){t=ve({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function bl(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:ve({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var xa={isMounted:function(e){return(e=e._reactInternals)?or(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ot(),o=Pn(e),i=an(r,o);i.payload=t,n!=null&&(i.callback=n),t=An(e,i,o),t!==null&&(zt(t,e,o,r),zi(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ot(),o=Pn(e),i=an(r,o);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=An(e,i,o),t!==null&&(zt(t,e,o,r),zi(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ot(),r=Pn(e),o=an(n,r);o.tag=2,t!=null&&(o.callback=t),t=An(e,o,r),t!==null&&(zt(t,e,r,n),zi(t,e,r))}};function _d(e,t,n,r,o,i,a){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,i,a):t.prototype&&t.prototype.isPureReactComponent?!Mo(n,r)||!Mo(o,i):!0}function bm(e,t,n){var r=!1,o=Dn,i=t.contextType;return typeof i=="object"&&i!==null?i=At(i):(o=ft(t)?Zn:Je.current,r=t.contextTypes,i=(r=r!=null)?Mr(e,o):Dn),t=new t(n,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=xa,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=i),t}function Fd(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&xa.enqueueReplaceState(t,t.state,null)}function kl(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},au(e);var i=t.contextType;typeof i=="object"&&i!==null?o.context=At(i):(i=ft(t)?Zn:Je.current,o.context=Mr(e,i)),o.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(bl(e,t,i,n),o.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(t=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),t!==o.state&&xa.enqueueReplaceState(o,o.state,null),sa(e,n,o,r),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function Hr(e,t){try{var n="",r=t;do n+=oh(r),r=r.return;while(r);var o=n}catch(i){o=`
|
|
7
|
+
Error generating stack: `+i.message+`
|
|
8
|
+
`+i.stack}return{value:e,source:t,stack:o,digest:null}}function Hs(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function xl(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Aw=typeof WeakMap=="function"?WeakMap:Map;function km(e,t,n){n=an(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){pa||(pa=!0,Fl=r),xl(e,t)},n}function xm(e,t,n){n=an(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){xl(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){xl(e,t),typeof r!="function"&&(In===null?In=new Set([this]):In.add(this));var a=t.stack;this.componentDidCatch(t.value,{componentStack:a!==null?a:""})}),n}function Dd(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Aw;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=Gw.bind(null,e,t,n),t.then(e,e))}function Od(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Ld(e,t,n,r,o){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=an(-1,1),t.tag=2,An(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var Iw=dn.ReactCurrentOwner,pt=!1;function rt(e,t,n,r){t.child=e===null?Zp(t,null,n,r):zr(t,e.child,n,r)}function Md(e,t,n,r,o){n=n.render;var i=t.ref;return Dr(t,o),r=du(e,t,n,r,i,o),n=pu(),e!==null&&!pt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,cn(e,t,o)):(ye&&n&&Jl(t),t.flags|=1,rt(e,t,r,o),t.child)}function Ud(e,t,n,r,o){if(e===null){var i=n.type;return typeof i=="function"&&!ku(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,Sm(e,t,i,r,o)):(e=Vi(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,(e.lanes&o)===0){var a=i.memoizedProps;if(n=n.compare,n=n!==null?n:Mo,n(a,r)&&e.ref===t.ref)return cn(e,t,o)}return t.flags|=1,e=_n(i,r),e.ref=t.ref,e.return=t,t.child=e}function Sm(e,t,n,r,o){if(e!==null){var i=e.memoizedProps;if(Mo(i,r)&&e.ref===t.ref)if(pt=!1,t.pendingProps=r=i,(e.lanes&o)!==0)(e.flags&131072)!==0&&(pt=!0);else return t.lanes=e.lanes,cn(e,t,o)}return Sl(e,t,n,r,o)}function Rm(e,t,n){var r=t.pendingProps,o=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},de(Ar,wt),wt|=n;else{if((n&1073741824)===0)return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,de(Ar,wt),wt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,de(Ar,wt),wt|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,de(Ar,wt),wt|=r;return rt(e,t,o,n),t.child}function Nm(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Sl(e,t,n,r,o){var i=ft(n)?Zn:Je.current;return i=Mr(t,i),Dr(t,o),n=du(e,t,n,r,i,o),r=pu(),e!==null&&!pt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,cn(e,t,o)):(ye&&r&&Jl(t),t.flags|=1,rt(e,t,n,o),t.child)}function zd(e,t,n,r,o){if(ft(n)){var i=!0;na(t)}else i=!1;if(Dr(t,o),t.stateNode===null)ji(e,t),bm(t,n,r),kl(t,n,r,o),r=!0;else if(e===null){var a=t.stateNode,s=t.memoizedProps;a.props=s;var l=a.context,u=n.contextType;typeof u=="object"&&u!==null?u=At(u):(u=ft(n)?Zn:Je.current,u=Mr(t,u));var c=n.getDerivedStateFromProps,d=typeof c=="function"||typeof a.getSnapshotBeforeUpdate=="function";d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==r||l!==u)&&Fd(t,a,r,u),Cn=!1;var p=t.memoizedState;a.state=p,sa(t,r,a,o),l=t.memoizedState,s!==r||p!==l||mt.current||Cn?(typeof c=="function"&&(bl(t,n,c,r),l=t.memoizedState),(s=Cn||_d(t,n,s,r,p,l,u))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=u,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,em(e,t),s=t.memoizedProps,u=t.type===t.elementType?s:Ot(t.type,s),a.props=u,d=t.pendingProps,p=a.context,l=n.contextType,typeof l=="object"&&l!==null?l=At(l):(l=ft(n)?Zn:Je.current,l=Mr(t,l));var f=n.getDerivedStateFromProps;(c=typeof f=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==d||p!==l)&&Fd(t,a,r,l),Cn=!1,p=t.memoizedState,a.state=p,sa(t,r,a,o);var v=t.memoizedState;s!==d||p!==v||mt.current||Cn?(typeof f=="function"&&(bl(t,n,f,r),v=t.memoizedState),(u=Cn||_d(t,n,u,r,p,v,l)||!1)?(c||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,v,l),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,v,l)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=v),a.props=r,a.state=v,a.context=l,r=u):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Rl(e,t,n,r,i,o)}function Rl(e,t,n,r,o,i){Nm(e,t);var a=(t.flags&128)!==0;if(!r&&!a)return o&&Sd(t,n,!1),cn(e,t,i);r=t.stateNode,Iw.current=t;var s=a&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&a?(t.child=zr(t,e.child,null,i),t.child=zr(t,null,s,i)):rt(e,t,s,i),t.memoizedState=r.state,o&&Sd(t,n,!0),t.child}function Tm(e){var t=e.stateNode;t.pendingContext?xd(e,t.pendingContext,t.pendingContext!==t.context):t.context&&xd(e,t.context,!1),su(e,t.containerInfo)}function Bd(e,t,n,r,o){return Ur(),tu(o),t.flags|=256,rt(e,t,n,r),t.child}var Nl={dehydrated:null,treeContext:null,retryLane:0};function Tl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Em(e,t,n){var r=t.pendingProps,o=he.current,i=!1,a=(t.flags&128)!==0,s;if((s=a)||(s=e!==null&&e.memoizedState===null?!1:(o&2)!==0),s?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),de(he,o&1),e===null)return vl(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(a=r.children,e=r.fallback,i?(r=t.mode,i=t.child,a={mode:"hidden",children:a},(r&1)===0&&i!==null?(i.childLanes=0,i.pendingProps=a):i=Na(a,r,0,null),e=Xn(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Tl(n),t.memoizedState=Nl,e):gu(t,a));if(o=e.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return Pw(e,t,a,r,s,o,n);if(i){i=r.fallback,a=t.mode,o=e.child,s=o.sibling;var l={mode:"hidden",children:r.children};return(a&1)===0&&t.child!==o?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=_n(o,l),r.subtreeFlags=o.subtreeFlags&14680064),s!==null?i=_n(s,i):(i=Xn(i,a,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,a=e.child.memoizedState,a=a===null?Tl(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},i.memoizedState=a,i.childLanes=e.childLanes&~n,t.memoizedState=Nl,r}return i=e.child,e=i.sibling,r=_n(i,{mode:"visible",children:r.children}),(t.mode&1)===0&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function gu(e,t){return t=Na({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Fi(e,t,n,r){return r!==null&&tu(r),zr(t,e.child,null,n),e=gu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Pw(e,t,n,r,o,i,a){if(n)return t.flags&256?(t.flags&=-257,r=Hs(Error(D(422))),Fi(e,t,a,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,o=t.mode,r=Na({mode:"visible",children:r.children},o,0,null),i=Xn(i,o,a,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,(t.mode&1)!==0&&zr(t,e.child,null,a),t.child.memoizedState=Tl(a),t.memoizedState=Nl,i);if((t.mode&1)===0)return Fi(e,t,a,null);if(o.data==="$!"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var s=r.dgst;return r=s,i=Error(D(419)),r=Hs(i,r,void 0),Fi(e,t,a,r)}if(s=(a&e.childLanes)!==0,pt||s){if(r=Be,r!==null){switch(a&-a){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(r.suspendedLanes|a))!==0?0:o,o!==0&&o!==i.retryLane&&(i.retryLane=o,un(e,o),zt(r,e,o,-1))}return bu(),r=Hs(Error(D(421))),Fi(e,t,a,r)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=Ww.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,vt=En(o.nextSibling),Ct=t,ye=!0,Mt=null,e!==null&&(Rt[Nt++]=rn,Rt[Nt++]=on,Rt[Nt++]=Jn,rn=e.id,on=e.overflow,Jn=t),t=gu(t,r.children),t.flags|=4096,t)}function Hd(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Cl(e.return,t,n)}function js(e,t,n,r,o){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=o)}function Am(e,t,n){var r=t.pendingProps,o=r.revealOrder,i=r.tail;if(rt(e,t,r.children,n),r=he.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Hd(e,n,t);else if(e.tag===19)Hd(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(de(he,r),(t.mode&1)===0)t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&la(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),js(t,!1,o,n,i);break;case"backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&la(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}js(t,!0,n,null,i);break;case"together":js(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ji(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function cn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),tr|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(D(153));if(t.child!==null){for(e=t.child,n=_n(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=_n(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function _w(e,t,n){switch(t.tag){case 3:Tm(t),Ur();break;case 5:tm(t);break;case 1:ft(t.type)&&na(t);break;case 4:su(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;de(ia,r._currentValue),r._currentValue=o;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(de(he,he.current&1),t.flags|=128,null):(n&t.child.childLanes)!==0?Em(e,t,n):(de(he,he.current&1),e=cn(e,t,n),e!==null?e.sibling:null);de(he,he.current&1);break;case 19:if(r=(n&t.childLanes)!==0,(e.flags&128)!==0){if(r)return Am(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),de(he,he.current),r)break;return null;case 22:case 23:return t.lanes=0,Rm(e,t,n)}return cn(e,t,n)}var Im,El,Pm,_m;Im=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};El=function(){};Pm=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Kn(qt.current);var i=null;switch(n){case"input":o=Ys(e,o),r=Ys(e,r),i=[];break;case"select":o=ve({},o,{value:void 0}),r=ve({},r,{value:void 0}),i=[];break;case"textarea":o=Js(e,o),r=Js(e,r),i=[];break;default:typeof o.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=ea)}tl(n,r);var a;n=null;for(u in o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&o[u]!=null)if(u==="style"){var s=o[u];for(a in s)s.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Io.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var l=r[u];if(s=o?.[u],r.hasOwnProperty(u)&&l!==s&&(l!=null||s!=null))if(u==="style")if(s){for(a in s)!s.hasOwnProperty(a)||l&&l.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in l)l.hasOwnProperty(a)&&s[a]!==l[a]&&(n||(n={}),n[a]=l[a])}else n||(i||(i=[]),i.push(u,n)),n=l;else u==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,s=s?s.__html:void 0,l!=null&&s!==l&&(i=i||[]).push(u,l)):u==="children"?typeof l!="string"&&typeof l!="number"||(i=i||[]).push(u,""+l):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Io.hasOwnProperty(u)?(l!=null&&u==="onScroll"&&me("scroll",e),i||s===l||(i=[])):(i=i||[]).push(u,l))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}};_m=function(e,t,n,r){n!==r&&(t.flags|=4)};function fo(e,t){if(!ye)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Xe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags&14680064,r|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Fw(e,t,n){var r=t.pendingProps;switch(eu(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Xe(t),null;case 1:return ft(t.type)&&ta(),Xe(t),null;case 3:return r=t.stateNode,Br(),fe(mt),fe(Je),uu(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Pi(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Mt!==null&&(Ll(Mt),Mt=null))),El(e,t),Xe(t),null;case 5:lu(t);var o=Kn(jo.current);if(n=t.type,e!==null&&t.stateNode!=null)Pm(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(D(166));return Xe(t),null}if(e=Kn(qt.current),Pi(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[$t]=t,r[Bo]=i,e=(t.mode&1)!==0,n){case"dialog":me("cancel",r),me("close",r);break;case"iframe":case"object":case"embed":me("load",r);break;case"video":case"audio":for(o=0;o<Co.length;o++)me(Co[o],r);break;case"source":me("error",r);break;case"img":case"image":case"link":me("error",r),me("load",r);break;case"details":me("toggle",r);break;case"input":Kc(r,i),me("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},me("invalid",r);break;case"textarea":Xc(r,i),me("invalid",r)}tl(n,i),o=null;for(var a in i)if(i.hasOwnProperty(a)){var s=i[a];a==="children"?typeof s=="string"?r.textContent!==s&&(i.suppressHydrationWarning!==!0&&Ii(r.textContent,s,e),o=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(i.suppressHydrationWarning!==!0&&Ii(r.textContent,s,e),o=["children",""+s]):Io.hasOwnProperty(a)&&s!=null&&a==="onScroll"&&me("scroll",r)}switch(n){case"input":wi(r),Yc(r,i,!0);break;case"textarea":wi(r),Zc(r);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(r.onclick=ea)}r=o,t.updateQueue=r,r!==null&&(t.flags|=4)}else{a=o.nodeType===9?o:o.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=ap(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=a.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[$t]=t,e[Bo]=r,Im(e,t,!1,!1),t.stateNode=e;e:{switch(a=nl(n,r),n){case"dialog":me("cancel",e),me("close",e),o=r;break;case"iframe":case"object":case"embed":me("load",e),o=r;break;case"video":case"audio":for(o=0;o<Co.length;o++)me(Co[o],e);o=r;break;case"source":me("error",e),o=r;break;case"img":case"image":case"link":me("error",e),me("load",e),o=r;break;case"details":me("toggle",e),o=r;break;case"input":Kc(e,r),o=Ys(e,r),me("invalid",e);break;case"option":o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=ve({},r,{value:void 0}),me("invalid",e);break;case"textarea":Xc(e,r),o=Js(e,r),me("invalid",e);break;default:o=r}tl(n,o),s=o;for(i in s)if(s.hasOwnProperty(i)){var l=s[i];i==="style"?up(e,l):i==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&sp(e,l)):i==="children"?typeof l=="string"?(n!=="textarea"||l!=="")&&Po(e,l):typeof l=="number"&&Po(e,""+l):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(Io.hasOwnProperty(i)?l!=null&&i==="onScroll"&&me("scroll",e):l!=null&&zl(e,i,l,a))}switch(n){case"input":wi(e),Yc(e,r,!1);break;case"textarea":wi(e),Zc(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Fn(r.value));break;case"select":e.multiple=!!r.multiple,i=r.value,i!=null?Ir(e,!!r.multiple,i,!1):r.defaultValue!=null&&Ir(e,!!r.multiple,r.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=ea)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return Xe(t),null;case 6:if(e&&t.stateNode!=null)_m(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(D(166));if(n=Kn(jo.current),Kn(qt.current),Pi(t)){if(r=t.stateNode,n=t.memoizedProps,r[$t]=t,(i=r.nodeValue!==n)&&(e=Ct,e!==null))switch(e.tag){case 3:Ii(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Ii(r.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[$t]=t,t.stateNode=r}return Xe(t),null;case 13:if(fe(he),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(ye&&vt!==null&&(t.mode&1)!==0&&(t.flags&128)===0)Yp(),Ur(),t.flags|=98560,i=!1;else if(i=Pi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(D(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(D(317));i[$t]=t}else Ur(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Xe(t),i=!1}else Mt!==null&&(Ll(Mt),Mt=null),i=!0;if(!i)return t.flags&65536?t:null}return(t.flags&128)!==0?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,(t.mode&1)!==0&&(e===null||(he.current&1)!==0?Oe===0&&(Oe=3):bu())),t.updateQueue!==null&&(t.flags|=4),Xe(t),null);case 4:return Br(),El(e,t),e===null&&Uo(t.stateNode.containerInfo),Xe(t),null;case 10:return ou(t.type._context),Xe(t),null;case 17:return ft(t.type)&&ta(),Xe(t),null;case 19:if(fe(he),i=t.memoizedState,i===null)return Xe(t),null;if(r=(t.flags&128)!==0,a=i.rendering,a===null)if(r)fo(i,!1);else{if(Oe!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(a=la(e),a!==null){for(t.flags|=128,fo(i,!1),r=a.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)i=n,e=r,i.flags&=14680066,a=i.alternate,a===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=a.childLanes,i.lanes=a.lanes,i.child=a.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=a.memoizedProps,i.memoizedState=a.memoizedState,i.updateQueue=a.updateQueue,i.type=a.type,e=a.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return de(he,he.current&1|2),t.child}e=e.sibling}i.tail!==null&&Te()>jr&&(t.flags|=128,r=!0,fo(i,!1),t.lanes=4194304)}else{if(!r)if(e=la(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),fo(i,!0),i.tail===null&&i.tailMode==="hidden"&&!a.alternate&&!ye)return Xe(t),null}else 2*Te()-i.renderingStartTime>jr&&n!==1073741824&&(t.flags|=128,r=!0,fo(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(n=i.last,n!==null?n.sibling=a:t.child=a,i.last=a)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Te(),t.sibling=null,n=he.current,de(he,r?n&1|2:n&1),t):(Xe(t),null);case 22:case 23:return Cu(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(wt&1073741824)!==0&&(Xe(t),t.subtreeFlags&6&&(t.flags|=8192)):Xe(t),null;case 24:return null;case 25:return null}throw Error(D(156,t.tag))}function Dw(e,t){switch(eu(t),t.tag){case 1:return ft(t.type)&&ta(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Br(),fe(mt),fe(Je),uu(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return lu(t),null;case 13:if(fe(he),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(D(340));Ur()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return fe(he),null;case 4:return Br(),null;case 10:return ou(t.type._context),null;case 22:case 23:return Cu(),null;case 24:return null;default:return null}}var Di=!1,Ze=!1,Ow=typeof WeakSet=="function"?WeakSet:Set,B=null;function Er(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){xe(e,t,r)}else n.current=null}function Al(e,t,n){try{n()}catch(r){xe(e,t,r)}}var jd=!1;function Lw(e,t){if(pl=Xi,e=Mp(),Zl(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var a=0,s=-1,l=-1,u=0,c=0,d=e,p=null;t:for(;;){for(var f;d!==n||o!==0&&d.nodeType!==3||(s=a+o),d!==i||r!==0&&d.nodeType!==3||(l=a+r),d.nodeType===3&&(a+=d.nodeValue.length),(f=d.firstChild)!==null;)p=d,d=f;for(;;){if(d===e)break t;if(p===n&&++u===o&&(s=a),p===i&&++c===r&&(l=a),(f=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=f}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(ml={focusedElem:e,selectionRange:n},Xi=!1,B=t;B!==null;)if(t=B,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,B=e;else for(;B!==null;){t=B;try{var v=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var y=v.memoizedProps,x=v.memoizedState,m=t.stateNode,g=m.getSnapshotBeforeUpdate(t.elementType===t.type?y:Ot(t.type,y),x);m.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var h=t.stateNode.containerInfo;h.nodeType===1?h.textContent="":h.nodeType===9&&h.documentElement&&h.removeChild(h.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(D(163))}}catch(k){xe(t,t.return,k)}if(e=t.sibling,e!==null){e.return=t.return,B=e;break}B=t.return}return v=jd,jd=!1,v}function To(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&Al(t,n,i)}o=o.next}while(o!==r)}}function Sa(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Il(e){var t=e.ref;if(t!==null){var n=e.stateNode;e.tag,e=n,typeof t=="function"?t(e):t.current=e}}function Fm(e){var t=e.alternate;t!==null&&(e.alternate=null,Fm(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[$t],delete t[Bo],delete t[yl],delete t[ww],delete t[vw])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Dm(e){return e.tag===5||e.tag===3||e.tag===4}function Gd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Dm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Pl(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ea));else if(r!==4&&(e=e.child,e!==null))for(Pl(e,t,n),e=e.sibling;e!==null;)Pl(e,t,n),e=e.sibling}function _l(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(_l(e,t,n),e=e.sibling;e!==null;)_l(e,t,n),e=e.sibling}var He=null,Lt=!1;function wn(e,t,n){for(n=n.child;n!==null;)Om(e,t,n),n=n.sibling}function Om(e,t,n){if(Qt&&typeof Qt.onCommitFiberUnmount=="function")try{Qt.onCommitFiberUnmount(ya,n)}catch{}switch(n.tag){case 5:Ze||Er(n,t);case 6:var r=He,o=Lt;He=null,wn(e,t,n),He=r,Lt=o,He!==null&&(Lt?(e=He,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):He.removeChild(n.stateNode));break;case 18:He!==null&&(Lt?(e=He,n=n.stateNode,e.nodeType===8?Os(e.parentNode,n):e.nodeType===1&&Os(e,n),Oo(e)):Os(He,n.stateNode));break;case 4:r=He,o=Lt,He=n.stateNode.containerInfo,Lt=!0,wn(e,t,n),He=r,Lt=o;break;case 0:case 11:case 14:case 15:if(!Ze&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,a=i.destroy;i=i.tag,a!==void 0&&((i&2)!==0||(i&4)!==0)&&Al(n,t,a),o=o.next}while(o!==r)}wn(e,t,n);break;case 1:if(!Ze&&(Er(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){xe(n,t,s)}wn(e,t,n);break;case 21:wn(e,t,n);break;case 22:n.mode&1?(Ze=(r=Ze)||n.memoizedState!==null,wn(e,t,n),Ze=r):wn(e,t,n);break;default:wn(e,t,n)}}function Wd(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Ow),t.forEach(function(r){var o=Vw.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function Dt(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var o=n[r];try{var i=e,a=t,s=a;e:for(;s!==null;){switch(s.tag){case 5:He=s.stateNode,Lt=!1;break e;case 3:He=s.stateNode.containerInfo,Lt=!0;break e;case 4:He=s.stateNode.containerInfo,Lt=!0;break e}s=s.return}if(He===null)throw Error(D(160));Om(i,a,o),He=null,Lt=!1;var l=o.alternate;l!==null&&(l.return=null),o.return=null}catch(u){xe(o,t,u)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Lm(t,e),t=t.sibling}function Lm(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Dt(t,e),Wt(e),r&4){try{To(3,e,e.return),Sa(3,e)}catch(y){xe(e,e.return,y)}try{To(5,e,e.return)}catch(y){xe(e,e.return,y)}}break;case 1:Dt(t,e),Wt(e),r&512&&n!==null&&Er(n,n.return);break;case 5:if(Dt(t,e),Wt(e),r&512&&n!==null&&Er(n,n.return),e.flags&32){var o=e.stateNode;try{Po(o,"")}catch(y){xe(e,e.return,y)}}if(r&4&&(o=e.stateNode,o!=null)){var i=e.memoizedProps,a=n!==null?n.memoizedProps:i,s=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{s==="input"&&i.type==="radio"&&i.name!=null&&op(o,i),nl(s,a);var u=nl(s,i);for(a=0;a<l.length;a+=2){var c=l[a],d=l[a+1];c==="style"?up(o,d):c==="dangerouslySetInnerHTML"?sp(o,d):c==="children"?Po(o,d):zl(o,c,d,u)}switch(s){case"input":Xs(o,i);break;case"textarea":ip(o,i);break;case"select":var p=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!i.multiple;var f=i.value;f!=null?Ir(o,!!i.multiple,f,!1):p!==!!i.multiple&&(i.defaultValue!=null?Ir(o,!!i.multiple,i.defaultValue,!0):Ir(o,!!i.multiple,i.multiple?[]:"",!1))}o[Bo]=i}catch(y){xe(e,e.return,y)}}break;case 6:if(Dt(t,e),Wt(e),r&4){if(e.stateNode===null)throw Error(D(162));o=e.stateNode,i=e.memoizedProps;try{o.nodeValue=i}catch(y){xe(e,e.return,y)}}break;case 3:if(Dt(t,e),Wt(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Oo(t.containerInfo)}catch(y){xe(e,e.return,y)}break;case 4:Dt(t,e),Wt(e);break;case 13:Dt(t,e),Wt(e),o=e.child,o.flags&8192&&(i=o.memoizedState!==null,o.stateNode.isHidden=i,!i||o.alternate!==null&&o.alternate.memoizedState!==null||(wu=Te())),r&4&&Wd(e);break;case 22:if(c=n!==null&&n.memoizedState!==null,e.mode&1?(Ze=(u=Ze)||c,Dt(t,e),Ze=u):Dt(t,e),Wt(e),r&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!c&&(e.mode&1)!==0)for(B=e,c=e.child;c!==null;){for(d=B=c;B!==null;){switch(p=B,f=p.child,p.tag){case 0:case 11:case 14:case 15:To(4,p,p.return);break;case 1:Er(p,p.return);var v=p.stateNode;if(typeof v.componentWillUnmount=="function"){r=p,n=p.return;try{t=r,v.props=t.memoizedProps,v.state=t.memoizedState,v.componentWillUnmount()}catch(y){xe(r,n,y)}}break;case 5:Er(p,p.return);break;case 22:if(p.memoizedState!==null){$d(d);continue}}f!==null?(f.return=p,B=f):$d(d)}c=c.sibling}e:for(c=null,d=e;;){if(d.tag===5){if(c===null){c=d;try{o=d.stateNode,u?(i=o.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(s=d.stateNode,l=d.memoizedProps.style,a=l!=null&&l.hasOwnProperty("display")?l.display:null,s.style.display=lp("display",a))}catch(y){xe(e,e.return,y)}}}else if(d.tag===6){if(c===null)try{d.stateNode.nodeValue=u?"":d.memoizedProps}catch(y){xe(e,e.return,y)}}else if((d.tag!==22&&d.tag!==23||d.memoizedState===null||d===e)&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===e)break e;for(;d.sibling===null;){if(d.return===null||d.return===e)break e;c===d&&(c=null),d=d.return}c===d&&(c=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:Dt(t,e),Wt(e),r&4&&Wd(e);break;case 21:break;default:Dt(t,e),Wt(e)}}function Wt(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(Dm(n)){var r=n;break e}n=n.return}throw Error(D(160))}switch(r.tag){case 5:var o=r.stateNode;r.flags&32&&(Po(o,""),r.flags&=-33);var i=Gd(e);_l(e,i,o);break;case 3:case 4:var a=r.stateNode.containerInfo,s=Gd(e);Pl(e,s,a);break;default:throw Error(D(161))}}catch(l){xe(e,e.return,l)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Mw(e,t,n){B=e,Mm(e,t,n)}function Mm(e,t,n){for(var r=(e.mode&1)!==0;B!==null;){var o=B,i=o.child;if(o.tag===22&&r){var a=o.memoizedState!==null||Di;if(!a){var s=o.alternate,l=s!==null&&s.memoizedState!==null||Ze;s=Di;var u=Ze;if(Di=a,(Ze=l)&&!u)for(B=o;B!==null;)a=B,l=a.child,a.tag===22&&a.memoizedState!==null?Qd(o):l!==null?(l.return=a,B=l):Qd(o);for(;i!==null;)B=i,Mm(i,t,n),i=i.sibling;B=o,Di=s,Ze=u}Vd(e,t,n)}else(o.subtreeFlags&8772)!==0&&i!==null?(i.return=o,B=i):Vd(e,t,n)}}function Vd(e){for(;B!==null;){var t=B;if((t.flags&8772)!==0){var n=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:Ze||Sa(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!Ze)if(n===null)r.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:Ot(t.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&Ad(t,i,r);break;case 3:var a=t.updateQueue;if(a!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Ad(t,a,n)}break;case 5:var s=t.stateNode;if(n===null&&t.flags&4){n=s;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var c=u.memoizedState;if(c!==null){var d=c.dehydrated;d!==null&&Oo(d)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(D(163))}Ze||t.flags&512&&Il(t)}catch(p){xe(t,t.return,p)}}if(t===e){B=null;break}if(n=t.sibling,n!==null){n.return=t.return,B=n;break}B=t.return}}function $d(e){for(;B!==null;){var t=B;if(t===e){B=null;break}var n=t.sibling;if(n!==null){n.return=t.return,B=n;break}B=t.return}}function Qd(e){for(;B!==null;){var t=B;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Sa(4,t)}catch(l){xe(t,n,l)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var o=t.return;try{r.componentDidMount()}catch(l){xe(t,o,l)}}var i=t.return;try{Il(t)}catch(l){xe(t,i,l)}break;case 5:var a=t.return;try{Il(t)}catch(l){xe(t,a,l)}}}catch(l){xe(t,t.return,l)}if(t===e){B=null;break}var s=t.sibling;if(s!==null){s.return=t.return,B=s;break}B=t.return}}var Uw=Math.ceil,da=dn.ReactCurrentDispatcher,yu=dn.ReactCurrentOwner,Et=dn.ReactCurrentBatchConfig,ne=0,Be=null,_e=null,je=0,wt=0,Ar=Ln(0),Oe=0,$o=null,tr=0,Ra=0,hu=0,Eo=null,dt=null,wu=0,jr=1/0,tn=null,pa=!1,Fl=null,In=null,Oi=!1,Sn=null,ma=0,Ao=0,Dl=null,Gi=-1,Wi=0;function ot(){return(ne&6)!==0?Te():Gi!==-1?Gi:Gi=Te()}function Pn(e){return(e.mode&1)===0?1:(ne&2)!==0&&je!==0?je&-je:bw.transition!==null?(Wi===0&&(Wi=bp()),Wi):(e=ie,e!==0||(e=window.event,e=e===void 0?16:Ep(e.type)),e)}function zt(e,t,n,r){if(50<Ao)throw Ao=0,Dl=null,Error(D(185));Qo(e,n,r),((ne&2)===0||e!==Be)&&(e===Be&&((ne&2)===0&&(Ra|=n),Oe===4&&kn(e,je)),gt(e,r),n===1&&ne===0&&(t.mode&1)===0&&(jr=Te()+500,ba&&Mn()))}function gt(e,t){var n=e.callbackNode;xh(e,t);var r=Yi(e,e===Be?je:0);if(r===0)n!==null&&td(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&td(n),t===1)e.tag===0?Cw(qd.bind(null,e)):Qp(qd.bind(null,e)),yw(function(){(ne&6)===0&&Mn()}),n=null;else{switch(kp(r)){case 1:n=Wl;break;case 4:n=vp;break;case 16:n=Ki;break;case 536870912:n=Cp;break;default:n=Ki}n=Vm(n,Um.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Um(e,t){if(Gi=-1,Wi=0,(ne&6)!==0)throw Error(D(327));var n=e.callbackNode;if(Or()&&e.callbackNode!==n)return null;var r=Yi(e,e===Be?je:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||t)t=fa(e,r);else{t=r;var o=ne;ne|=2;var i=Bm();(Be!==e||je!==t)&&(tn=null,jr=Te()+500,Yn(e,t));do try{Hw();break}catch(s){zm(e,s)}while(!0);ru(),da.current=i,ne=o,_e!==null?t=0:(Be=null,je=0,t=Oe)}if(t!==0){if(t===2&&(o=sl(e),o!==0&&(r=o,t=Ol(e,o))),t===1)throw n=$o,Yn(e,0),kn(e,r),gt(e,Te()),n;if(t===6)kn(e,r);else{if(o=e.current.alternate,(r&30)===0&&!zw(o)&&(t=fa(e,r),t===2&&(i=sl(e),i!==0&&(r=i,t=Ol(e,i))),t===1))throw n=$o,Yn(e,0),kn(e,r),gt(e,Te()),n;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(D(345));case 2:$n(e,dt,tn);break;case 3:if(kn(e,r),(r&130023424)===r&&(t=wu+500-Te(),10<t)){if(Yi(e,0)!==0)break;if(o=e.suspendedLanes,(o&r)!==r){ot(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=gl($n.bind(null,e,dt,tn),t);break}$n(e,dt,tn);break;case 4:if(kn(e,r),(r&4194240)===r)break;for(t=e.eventTimes,o=-1;0<r;){var a=31-Ut(r);i=1<<a,a=t[a],a>o&&(o=a),r&=~i}if(r=o,r=Te()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Uw(r/1960))-r,10<r){e.timeoutHandle=gl($n.bind(null,e,dt,tn),r);break}$n(e,dt,tn);break;case 5:$n(e,dt,tn);break;default:throw Error(D(329))}}}return gt(e,Te()),e.callbackNode===n?Um.bind(null,e):null}function Ol(e,t){var n=Eo;return e.current.memoizedState.isDehydrated&&(Yn(e,t).flags|=256),e=fa(e,t),e!==2&&(t=dt,dt=n,t!==null&&Ll(t)),e}function Ll(e){dt===null?dt=e:dt.push.apply(dt,e)}function zw(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var o=n[r],i=o.getSnapshot;o=o.value;try{if(!Bt(i(),o))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function kn(e,t){for(t&=~hu,t&=~Ra,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ut(t),r=1<<n;e[n]=-1,t&=~r}}function qd(e){if((ne&6)!==0)throw Error(D(327));Or();var t=Yi(e,0);if((t&1)===0)return gt(e,Te()),null;var n=fa(e,t);if(e.tag!==0&&n===2){var r=sl(e);r!==0&&(t=r,n=Ol(e,r))}if(n===1)throw n=$o,Yn(e,0),kn(e,t),gt(e,Te()),n;if(n===6)throw Error(D(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,$n(e,dt,tn),gt(e,Te()),null}function vu(e,t){var n=ne;ne|=1;try{return e(t)}finally{ne=n,ne===0&&(jr=Te()+500,ba&&Mn())}}function nr(e){Sn!==null&&Sn.tag===0&&(ne&6)===0&&Or();var t=ne;ne|=1;var n=Et.transition,r=ie;try{if(Et.transition=null,ie=1,e)return e()}finally{ie=r,Et.transition=n,ne=t,(ne&6)===0&&Mn()}}function Cu(){wt=Ar.current,fe(Ar)}function Yn(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,gw(n)),_e!==null)for(n=_e.return;n!==null;){var r=n;switch(eu(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&ta();break;case 3:Br(),fe(mt),fe(Je),uu();break;case 5:lu(r);break;case 4:Br();break;case 13:fe(he);break;case 19:fe(he);break;case 10:ou(r.type._context);break;case 22:case 23:Cu()}n=n.return}if(Be=e,_e=e=_n(e.current,null),je=wt=t,Oe=0,$o=null,hu=Ra=tr=0,dt=Eo=null,qn!==null){for(t=0;t<qn.length;t++)if(n=qn[t],r=n.interleaved,r!==null){n.interleaved=null;var o=r.next,i=n.pending;if(i!==null){var a=i.next;i.next=o,r.next=a}n.pending=r}qn=null}return e}function zm(e,t){do{var n=_e;try{if(ru(),Bi.current=ca,ua){for(var r=we.memoizedState;r!==null;){var o=r.queue;o!==null&&(o.pending=null),r=r.next}ua=!1}if(er=0,ze=De=we=null,No=!1,Go=0,yu.current=null,n===null||n.return===null){Oe=1,$o=t,_e=null;break}e:{var i=e,a=n.return,s=n,l=t;if(t=je,s.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var u=l,c=s,d=c.tag;if((c.mode&1)===0&&(d===0||d===11||d===15)){var p=c.alternate;p?(c.updateQueue=p.updateQueue,c.memoizedState=p.memoizedState,c.lanes=p.lanes):(c.updateQueue=null,c.memoizedState=null)}var f=Od(a);if(f!==null){f.flags&=-257,Ld(f,a,s,i,t),f.mode&1&&Dd(i,u,t),t=f,l=u;var v=t.updateQueue;if(v===null){var y=new Set;y.add(l),t.updateQueue=y}else v.add(l);break e}else{if((t&1)===0){Dd(i,u,t),bu();break e}l=Error(D(426))}}else if(ye&&s.mode&1){var x=Od(a);if(x!==null){(x.flags&65536)===0&&(x.flags|=256),Ld(x,a,s,i,t),tu(Hr(l,s));break e}}i=l=Hr(l,s),Oe!==4&&(Oe=2),Eo===null?Eo=[i]:Eo.push(i),i=a;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var m=km(i,l,t);Ed(i,m);break e;case 1:s=l;var g=i.type,h=i.stateNode;if((i.flags&128)===0&&(typeof g.getDerivedStateFromError=="function"||h!==null&&typeof h.componentDidCatch=="function"&&(In===null||!In.has(h)))){i.flags|=65536,t&=-t,i.lanes|=t;var k=xm(i,s,t);Ed(i,k);break e}}i=i.return}while(i!==null)}jm(n)}catch(C){t=C,_e===n&&n!==null&&(_e=n=n.return);continue}break}while(!0)}function Bm(){var e=da.current;return da.current=ca,e===null?ca:e}function bu(){(Oe===0||Oe===3||Oe===2)&&(Oe=4),Be===null||(tr&268435455)===0&&(Ra&268435455)===0||kn(Be,je)}function fa(e,t){var n=ne;ne|=2;var r=Bm();(Be!==e||je!==t)&&(tn=null,Yn(e,t));do try{Bw();break}catch(o){zm(e,o)}while(!0);if(ru(),ne=n,da.current=r,_e!==null)throw Error(D(261));return Be=null,je=0,Oe}function Bw(){for(;_e!==null;)Hm(_e)}function Hw(){for(;_e!==null&&!fh();)Hm(_e)}function Hm(e){var t=Wm(e.alternate,e,wt);e.memoizedProps=e.pendingProps,t===null?jm(e):_e=t,yu.current=null}function jm(e){var t=e;do{var n=t.alternate;if(e=t.return,(t.flags&32768)===0){if(n=Fw(n,t,wt),n!==null){_e=n;return}}else{if(n=Dw(n,t),n!==null){n.flags&=32767,_e=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Oe=6,_e=null;return}}if(t=t.sibling,t!==null){_e=t;return}_e=t=e}while(t!==null);Oe===0&&(Oe=5)}function $n(e,t,n){var r=ie,o=Et.transition;try{Et.transition=null,ie=1,jw(e,t,n,r)}finally{Et.transition=o,ie=r}return null}function jw(e,t,n,r){do Or();while(Sn!==null);if((ne&6)!==0)throw Error(D(327));n=e.finishedWork;var o=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(D(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(Sh(e,i),e===Be&&(_e=Be=null,je=0),(n.subtreeFlags&2064)===0&&(n.flags&2064)===0||Oi||(Oi=!0,Vm(Ki,function(){return Or(),null})),i=(n.flags&15990)!==0,(n.subtreeFlags&15990)!==0||i){i=Et.transition,Et.transition=null;var a=ie;ie=1;var s=ne;ne|=4,yu.current=null,Lw(e,n),Lm(n,e),cw(ml),Xi=!!pl,ml=pl=null,e.current=n,Mw(n,e,o),gh(),ne=s,ie=a,Et.transition=i}else e.current=n;if(Oi&&(Oi=!1,Sn=e,ma=o),i=e.pendingLanes,i===0&&(In=null),wh(n.stateNode,r),gt(e,Te()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],r(o.value,{componentStack:o.stack,digest:o.digest});if(pa)throw pa=!1,e=Fl,Fl=null,e;return(ma&1)!==0&&e.tag!==0&&Or(),i=e.pendingLanes,(i&1)!==0?e===Dl?Ao++:(Ao=0,Dl=e):Ao=0,Mn(),null}function Or(){if(Sn!==null){var e=kp(ma),t=Et.transition,n=ie;try{if(Et.transition=null,ie=16>e?16:e,Sn===null)var r=!1;else{if(e=Sn,Sn=null,ma=0,(ne&6)!==0)throw Error(D(331));var o=ne;for(ne|=4,B=e.current;B!==null;){var i=B,a=i.child;if((B.flags&16)!==0){var s=i.deletions;if(s!==null){for(var l=0;l<s.length;l++){var u=s[l];for(B=u;B!==null;){var c=B;switch(c.tag){case 0:case 11:case 15:To(8,c,i)}var d=c.child;if(d!==null)d.return=c,B=d;else for(;B!==null;){c=B;var p=c.sibling,f=c.return;if(Fm(c),c===u){B=null;break}if(p!==null){p.return=f,B=p;break}B=f}}}var v=i.alternate;if(v!==null){var y=v.child;if(y!==null){v.child=null;do{var x=y.sibling;y.sibling=null,y=x}while(y!==null)}}B=i}}if((i.subtreeFlags&2064)!==0&&a!==null)a.return=i,B=a;else e:for(;B!==null;){if(i=B,(i.flags&2048)!==0)switch(i.tag){case 0:case 11:case 15:To(9,i,i.return)}var m=i.sibling;if(m!==null){m.return=i.return,B=m;break e}B=i.return}}var g=e.current;for(B=g;B!==null;){a=B;var h=a.child;if((a.subtreeFlags&2064)!==0&&h!==null)h.return=a,B=h;else e:for(a=g;B!==null;){if(s=B,(s.flags&2048)!==0)try{switch(s.tag){case 0:case 11:case 15:Sa(9,s)}}catch(C){xe(s,s.return,C)}if(s===a){B=null;break e}var k=s.sibling;if(k!==null){k.return=s.return,B=k;break e}B=s.return}}if(ne=o,Mn(),Qt&&typeof Qt.onPostCommitFiberRoot=="function")try{Qt.onPostCommitFiberRoot(ya,e)}catch{}r=!0}return r}finally{ie=n,Et.transition=t}}return!1}function Kd(e,t,n){t=Hr(n,t),t=km(e,t,1),e=An(e,t,1),t=ot(),e!==null&&(Qo(e,1,t),gt(e,t))}function xe(e,t,n){if(e.tag===3)Kd(e,e,n);else for(;t!==null;){if(t.tag===3){Kd(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(In===null||!In.has(r))){e=Hr(n,e),e=xm(t,e,1),t=An(t,e,1),e=ot(),t!==null&&(Qo(t,1,e),gt(t,e));break}}t=t.return}}function Gw(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=ot(),e.pingedLanes|=e.suspendedLanes&n,Be===e&&(je&n)===n&&(Oe===4||Oe===3&&(je&130023424)===je&&500>Te()-wu?Yn(e,0):hu|=n),gt(e,t)}function Gm(e,t){t===0&&((e.mode&1)===0?t=1:(t=bi,bi<<=1,(bi&130023424)===0&&(bi=4194304)));var n=ot();e=un(e,t),e!==null&&(Qo(e,t,n),gt(e,n))}function Ww(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Gm(e,n)}function Vw(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(D(314))}r!==null&&r.delete(t),Gm(e,n)}var Wm;Wm=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||mt.current)pt=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return pt=!1,_w(e,t,n);pt=(e.flags&131072)!==0}else pt=!1,ye&&(t.flags&1048576)!==0&&qp(t,oa,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ji(e,t),e=t.pendingProps;var o=Mr(t,Je.current);Dr(t,n),o=du(null,t,r,e,o,n);var i=pu();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ft(r)?(i=!0,na(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,au(t),o.updater=xa,t.stateNode=o,o._reactInternals=t,kl(t,r,e,n),t=Rl(null,t,r,!0,i,n)):(t.tag=0,ye&&i&&Jl(t),rt(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ji(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=Qw(r),e=Ot(r,e),o){case 0:t=Sl(null,t,r,e,n);break e;case 1:t=zd(null,t,r,e,n);break e;case 11:t=Md(null,t,r,e,n);break e;case 14:t=Ud(null,t,r,Ot(r.type,e),n);break e}throw Error(D(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Ot(r,o),Sl(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Ot(r,o),zd(e,t,r,o,n);case 3:e:{if(Tm(t),e===null)throw Error(D(387));r=t.pendingProps,i=t.memoizedState,o=i.element,em(e,t),sa(t,r,null,n);var a=t.memoizedState;if(r=a.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Hr(Error(D(423)),t),t=Bd(e,t,r,n,o);break e}else if(r!==o){o=Hr(Error(D(424)),t),t=Bd(e,t,r,n,o);break e}else for(vt=En(t.stateNode.containerInfo.firstChild),Ct=t,ye=!0,Mt=null,n=Zp(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ur(),r===o){t=cn(e,t,n);break e}rt(e,t,r,n)}t=t.child}return t;case 5:return tm(t),e===null&&vl(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,a=o.children,fl(r,o)?a=null:i!==null&&fl(r,i)&&(t.flags|=32),Nm(e,t),rt(e,t,a,n),t.child;case 6:return e===null&&vl(t),null;case 13:return Em(e,t,n);case 4:return su(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=zr(t,null,r,n):rt(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Ot(r,o),Md(e,t,r,o,n);case 7:return rt(e,t,t.pendingProps,n),t.child;case 8:return rt(e,t,t.pendingProps.children,n),t.child;case 12:return rt(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,a=o.value,de(ia,r._currentValue),r._currentValue=a,i!==null)if(Bt(i.value,a)){if(i.children===o.children&&!mt.current){t=cn(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){a=i.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(i.tag===1){l=an(-1,n&-n),l.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),Cl(i.return,n,t),s.lanes|=n;break}l=l.next}}else if(i.tag===10)a=i.type===t.type?null:i.child;else if(i.tag===18){if(a=i.return,a===null)throw Error(D(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),Cl(a,n,t),a=i.sibling}else a=i.child;if(a!==null)a.return=i;else for(a=i;a!==null;){if(a===t){a=null;break}if(i=a.sibling,i!==null){i.return=a.return,a=i;break}a=a.return}i=a}rt(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Dr(t,n),o=At(o),r=r(o),t.flags|=1,rt(e,t,r,n),t.child;case 14:return r=t.type,o=Ot(r,t.pendingProps),o=Ot(r.type,o),Ud(e,t,r,o,n);case 15:return Sm(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Ot(r,o),ji(e,t),t.tag=1,ft(r)?(e=!0,na(t)):e=!1,Dr(t,n),bm(t,r,o),kl(t,r,o,n),Rl(null,t,r,!0,e,n);case 19:return Am(e,t,n);case 22:return Rm(e,t,n)}throw Error(D(156,t.tag))};function Vm(e,t){return wp(e,t)}function $w(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,n,r){return new $w(e,t,n,r)}function ku(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Qw(e){if(typeof e=="function")return ku(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Hl)return 11;if(e===jl)return 14}return 2}function _n(e,t){var n=e.alternate;return n===null?(n=Tt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Vi(e,t,n,r,o,i){var a=2;if(r=e,typeof e=="function")ku(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case vr:return Xn(n.children,o,i,t);case Bl:a=8,o|=8;break;case $s:return e=Tt(12,n,t,o|2),e.elementType=$s,e.lanes=i,e;case Qs:return e=Tt(13,n,t,o),e.elementType=Qs,e.lanes=i,e;case qs:return e=Tt(19,n,t,o),e.elementType=qs,e.lanes=i,e;case tp:return Na(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Jd:a=10;break e;case ep:a=9;break e;case Hl:a=11;break e;case jl:a=14;break e;case vn:a=16,r=null;break e}throw Error(D(130,e==null?e:typeof e,""))}return t=Tt(a,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function Xn(e,t,n,r){return e=Tt(7,e,r,t),e.lanes=n,e}function Na(e,t,n,r){return e=Tt(22,e,r,t),e.elementType=tp,e.lanes=n,e.stateNode={isHidden:!1},e}function Gs(e,t,n){return e=Tt(6,e,null,t),e.lanes=n,e}function Ws(e,t,n){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function qw(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ts(0),this.expirationTimes=Ts(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ts(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function xu(e,t,n,r,o,i,a,s,l){return e=new qw(e,t,n,s,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Tt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},au(i),e}function Kw(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:wr,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function $m(e){if(!e)return Dn;e=e._reactInternals;e:{if(or(e)!==e||e.tag!==1)throw Error(D(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(ft(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(D(171))}if(e.tag===1){var n=e.type;if(ft(n))return $p(e,n,t)}return t}function Qm(e,t,n,r,o,i,a,s,l){return e=xu(n,r,!0,e,o,i,a,s,l),e.context=$m(null),n=e.current,r=ot(),o=Pn(n),i=an(r,o),i.callback=t??null,An(n,i,o),e.current.lanes=o,Qo(e,o,r),gt(e,r),e}function Ta(e,t,n,r){var o=t.current,i=ot(),a=Pn(o);return n=$m(n),t.context===null?t.context=n:t.pendingContext=n,t=an(i,a),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=An(o,t,a),e!==null&&(zt(e,o,a,i),zi(e,o,a)),a}function ga(e){return e=e.current,e.child?(e.child.tag===5,e.child.stateNode):null}function Yd(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Su(e,t){Yd(e,t),(e=e.alternate)&&Yd(e,t)}function Yw(){return null}var qm=typeof reportError=="function"?reportError:function(e){console.error(e)};function Ru(e){this._internalRoot=e}Ea.prototype.render=Ru.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(D(409));Ta(e,t,null,null)};Ea.prototype.unmount=Ru.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;nr(function(){Ta(null,e,null,null)}),t[ln]=null}};function Ea(e){this._internalRoot=e}Ea.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rp();e={blockedOn:null,target:e,priority:t};for(var n=0;n<bn.length&&t!==0&&t<bn[n].priority;n++);bn.splice(n,0,e),n===0&&Tp(e)}};function Nu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Aa(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Xd(){}function Xw(e,t,n,r,o){if(o){if(typeof r=="function"){var i=r;r=function(){var u=ga(a);i.call(u)}}var a=Qm(t,r,e,0,null,!1,!1,"",Xd);return e._reactRootContainer=a,e[ln]=a.current,Uo(e.nodeType===8?e.parentNode:e),nr(),a}for(;o=e.lastChild;)e.removeChild(o);if(typeof r=="function"){var s=r;r=function(){var u=ga(l);s.call(u)}}var l=xu(e,0,!1,null,null,!1,!1,"",Xd);return e._reactRootContainer=l,e[ln]=l.current,Uo(e.nodeType===8?e.parentNode:e),nr(function(){Ta(t,l,n,r)}),l}function Ia(e,t,n,r,o){var i=n._reactRootContainer;if(i){var a=i;if(typeof o=="function"){var s=o;o=function(){var l=ga(a);s.call(l)}}Ta(t,a,e,o)}else a=Xw(n,t,e,o,r);return ga(a)}xp=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=vo(t.pendingLanes);n!==0&&(Vl(t,n|1),gt(t,Te()),(ne&6)===0&&(jr=Te()+500,Mn()))}break;case 13:nr(function(){var r=un(e,1);if(r!==null){var o=ot();zt(r,e,1,o)}}),Su(e,1)}};$l=function(e){if(e.tag===13){var t=un(e,134217728);if(t!==null){var n=ot();zt(t,e,134217728,n)}Su(e,134217728)}};Sp=function(e){if(e.tag===13){var t=Pn(e),n=un(e,t);if(n!==null){var r=ot();zt(n,e,t,r)}Su(e,t)}};Rp=function(){return ie};Np=function(e,t){var n=ie;try{return ie=e,t()}finally{ie=n}};ol=function(e,t,n){switch(t){case"input":if(Xs(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=Ca(r);if(!o)throw Error(D(90));rp(r),Xs(r,o)}}}break;case"textarea":ip(e,n);break;case"select":t=n.value,t!=null&&Ir(e,!!n.multiple,t,!1)}};pp=vu;mp=nr;var Zw={usingClientEntryPoint:!1,Events:[Ko,xr,Ca,cp,dp,vu]},go={findFiberByHostInstance:Qn,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Jw={bundleType:go.bundleType,version:go.version,rendererPackageName:go.rendererPackageName,rendererConfig:go.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:dn.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=yp(e),e===null?null:e.stateNode},findFiberByHostInstance:go.findFiberByHostInstance||Yw,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(yo=__REACT_DEVTOOLS_GLOBAL_HOOK__,!yo.isDisabled&&yo.supportsFiber))try{ya=yo.inject(Jw),Qt=yo}catch{}var yo;xt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Zw;xt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Nu(t))throw Error(D(200));return Kw(e,t,null,n)};xt.createRoot=function(e,t){if(!Nu(e))throw Error(D(299));var n=!1,r="",o=qm;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=xu(e,1,!1,null,null,n,!1,r,o),e[ln]=t.current,Uo(e.nodeType===8?e.parentNode:e),new Ru(t)};xt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(D(188)):(e=Object.keys(e).join(","),Error(D(268,e)));return e=yp(t),e=e===null?null:e.stateNode,e};xt.flushSync=function(e){return nr(e)};xt.hydrate=function(e,t,n){if(!Aa(t))throw Error(D(200));return Ia(null,e,t,!0,n)};xt.hydrateRoot=function(e,t,n){if(!Nu(e))throw Error(D(405));var r=n!=null&&n.hydratedSources||null,o=!1,i="",a=qm;if(n!=null&&(n.unstable_strictMode===!0&&(o=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(a=n.onRecoverableError)),t=Qm(t,null,e,1,n??null,o,!1,i,a),e[ln]=t.current,Uo(e),r)for(e=0;e<r.length;e++)n=r[e],o=n._getVersion,o=o(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Ea(t)};xt.render=function(e,t,n){if(!Aa(t))throw Error(D(200));return Ia(null,e,t,!1,n)};xt.unmountComponentAtNode=function(e){if(!Aa(e))throw Error(D(40));return e._reactRootContainer?(nr(function(){Ia(null,null,e,!1,function(){e._reactRootContainer=null,e[ln]=null})}),!0):!1};xt.unstable_batchedUpdates=vu;xt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Aa(n))throw Error(D(200));if(e==null||e._reactInternals===void 0)throw Error(D(38));return Ia(e,t,n,!1,r)};xt.version="18.3.1-next-f1338f8080-20240426"});var Zm=en(($1,Xm)=>{"use strict";function Ym(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Ym)}catch(e){console.error(e)}}Ym(),Xm.exports=Km()});var ef=en(Tu=>{"use strict";var Jm=Zm();Tu.createRoot=Jm.createRoot,Tu.hydrateRoot=Jm.hydrateRoot;var Q1});var cf=en(Da=>{"use strict";var dv=ct(),pv=Symbol.for("react.element"),mv=Symbol.for("react.fragment"),fv=Object.prototype.hasOwnProperty,gv=dv.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,yv={key:!0,ref:!0,__self:!0,__source:!0};function uf(e,t,n){var r,o={},i=null,a=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(a=t.ref);for(r in t)fv.call(t,r)&&!yv.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)o[r]===void 0&&(o[r]=t[r]);return{$$typeof:pv,type:e,key:i,ref:a,props:o,_owner:gv.current}}Da.Fragment=mv;Da.jsx=uf;Da.jsxs=uf});var ge=en((tb,df)=>{"use strict";df.exports=cf()});var z=J(ct(),1),ly=J(ef(),1);var Vr=Object.freeze({maxUploadMb:20}),Pa={...Vr};function $r(e){let t=e&&typeof e=="object"&&!Array.isArray(e)?Number(e.maxUploadMb):Number.NaN;return{maxUploadMb:Number.isInteger(t)&&t>0?t:Vr.maxUploadMb}}function tf(e){return Pa=$r(e),{...Pa}}function _a(){return{...Pa}}var ev={pdf:["application/pdf"],doc:["application/msword"],docx:["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],xls:["application/vnd.ms-excel"],xlsx:["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],png:["image/png"],jpg:["image/jpeg"],jpeg:["image/jpeg"],webp:["image/webp"]};function Fa(e,t,n=Pa){if(!Number.isFinite(e.size)||e.size<0)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F");let r=$r(n);if(e.size>r.maxUploadMb*1024*1024)throw new Error(`\u6587\u4EF6\u4E0D\u80FD\u8D85\u8FC7 ${r.maxUploadMb} MB`);let o=e.name.trim().split(".").pop()?.toLocaleLowerCase()??"",i=ev[o];if(!i)throw new Error("\u4EC5\u652F\u6301 PDF\u3001Word\u3001Excel\u3001PNG\u3001JPEG \u548C WEBP \u6587\u4EF6");let a=e.type.trim().toLocaleLowerCase();if(a&&!i.includes(a))throw new Error("\u6587\u4EF6\u6269\u5C55\u540D\u4E0E MIME \u7C7B\u578B\u4E0D\u5339\u914D");if(t&&!tv(o,a||i[0],t))throw new Error("\u6587\u4EF6\u7C7B\u578B\u4E0D\u7B26\u5408\u5F53\u524D\u4E0A\u4F20\u8981\u6C42");return{extension:o,mimeType:a||i[0]}}function tv(e,t,n){let r=n.split(",").map(o=>o.trim().toLocaleLowerCase()).filter(Boolean);return r.length?r.some(o=>o.startsWith(".")?o.slice(1)===e:o.endsWith("/*")?t.startsWith(`${o.slice(0,-1)}`):o===t):!0}var nf="xpertai.remote_component",rf=1,nv=12e4,rv=new Set(["upload_controlled_catalog","upload_sanction_catalog","upload_purchase_contract","upload_customer_contract"]);function of(e={}){let t=e.target??window,n=e.parent??window.parent,r=e.timeoutMs??nv,o=e.registerAssistantFile??ov,i={...Vr},a=null,s=null,l=0,u={},c=!1,d=new Map,p=(y,x={},m)=>{if(!a&&y!=="ready")return;let g=y==="ready"?"*":s??"*";n.postMessage({channel:nf,protocolVersion:rf,instanceId:a,type:y,...x},g,m)},f=(y,x,m)=>{let g=`tcw-${Date.now()}-${++l}`;return new Promise((h,k)=>{let C=setTimeout(()=>{d.delete(g),k(new Error("\u8BF7\u6C42\u8D85\u65F6"))},r);d.set(g,{resolve:h,reject:k,timer:C}),p(y,{requestId:g,...x},m)})},v=y=>{if(y.source!==n)return;let x=iv(y.data)?y.data:null;if(!x)return;if(x.type==="init"){if(s!==null&&y.origin!==s)return;s=y.origin,a=typeof x.instanceId=="string"?x.instanceId:null,u.onInit?.({manifest:x.manifest,payload:x.payload,initialQuery:av(x.initialQuery),locale:sv(x.locale),theme:x.theme});return}if(s===null||y.origin!==s||!a||x.instanceId!==a)return;if(x.type==="hostEvent"){u.onHostEvent?.(x.event);return}if(!x.requestId)return;let m=d.get(x.requestId);m&&(clearTimeout(m.timer),d.delete(x.requestId),x.type==="error"?m.reject(new Error(lv(x.message)||"\u8FDC\u7A0B\u8BF7\u6C42\u5931\u8D25")):m.resolve(x))};return{configure(y){i=$r(y.uploadPolicy),tf(i)},start(y){u=y,c||(t.addEventListener("message",v),c=!0),p("ready")},destroy(){c&&t.removeEventListener("message",v),c=!1,a=null,s=null;for(let y of d.values())clearTimeout(y.timer),y.reject(new Error("\u8FDC\u7A0B\u7EC4\u4EF6\u5DF2\u9500\u6BC1"));d.clear()},requestData(y={}){return f("requestData",{query:y})},executeAction(y,x={},m={},g){return f("executeAction",{actionKey:y,targetId:g,input:x,parameters:m})},async executeFileAction(y,x,m={},g={},h){Fa(x,void 0,i);let k=await x.arrayBuffer(),C=rv.has(y)?await o(x,k).then(T=>({...m,fileAssetId:T.fileId,fileId:T.fileId,storageFileId:T.storageFileId})):m;return f("executeFileAction",{actionKey:y,targetId:h,input:C,parameters:g,file:{name:x.name,originalname:x.name,type:x.type,size:x.size,lastModified:x.lastModified,buffer:k}},[k])},invokeClientCommand(y,x={}){return f("invokeClientCommand",{commandKey:y,payload:x})},reportResize(y=document.documentElement.scrollHeight,x=document.documentElement.scrollWidth){p("resize",{height:Math.max(720,Math.ceil(y)),width:Math.ceil(x)})},notify(y,x="success"){p("notify",{message:y,level:x})}}}async function ov(e,t){let n=new FormData;n.append("file",new Blob([t],{type:e.type}),e.name);let r=await fetch("/api/ai/contexts/file",{method:"POST",body:n,credentials:"same-origin"});if(!r.ok)throw new Error(`\u56FE\u7247\u9644\u4EF6\u6CE8\u518C\u5931\u8D25\uFF08HTTP ${r.status}\uFF09`);let o=await r.json(),i=typeof o.fileId=="string"&&o.fileId.trim()?o.fileId:typeof o.id=="string"&&o.id.trim()?o.id:null,a=typeof o.storageFileId=="string"&&o.storageFileId.trim()?o.storageFileId:null;if(!i||!a)throw new Error("\u56FE\u7247\u9644\u4EF6\u6CE8\u518C\u54CD\u5E94\u7F3A\u5C11\u7A33\u5B9A\u6587\u4EF6\u6807\u8BC6");return{fileId:i,storageFileId:a}}function iv(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=e;return t.channel===nf&&t.protocolVersion===rf&&typeof t.type=="string"}function av(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function sv(e){return typeof e=="string"?e:void 0}function lv(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){let t=e;return String(t.zh_Hans??t.en_US??"")}return""}var at=()=>({items:[]});function Eu(){return{uploadPolicy:{...Vr},dashboard:{},controlledGoods:at(),controlledBatches:at(),sanctionedCompanies:at(),sanctionBatches:at(),suppliers:at(),purchaseOrders:at(),purchaseLines:at(),customers:at(),customerContracts:at(),derivedSalesOrders:[],salesCustomers:at(),salesOrders:at(),salesLines:at(),salesFileOrders:at(),generatedFiles:at(),settings:{risk:{content:"",revision:0},company:{logoFileId:null,companyNameZh:null,companyNameEn:null,unifiedSocialCreditCode:null,addressZh:null,addressEn:null,phone:null,email:null,revision:0},banks:[],profit:{status:"UNCONFIGURED",ruleVersion:"COMPLIANCE_V1",minimumOrderProfitRate:"0.05",exchangeCostMinimum:"5",exchangeCostMaximum:"8",revision:0},rates:[]},analytics:{mode:"PURCHASE",currentYear:Number(new Intl.DateTimeFormat("en-US",{timeZone:"Asia/Shanghai",year:"numeric"}).format(new Date)),dimension:"SUPPLIER",metrics:{orderTotalCny:"0.00",paidCny:"0.00",unpaidCny:"0.00",refundedCny:"0.00",unrefundedCny:"0.00"},top5:[],details:{items:[],page:1,pageSize:20,total:0,pageCount:1}},importTasks:at()}}function ir(e){let t=yt(ae(e)),n=yt(t.summary??t);return{...Eu(),...n,uploadPolicy:$r(n.uploadPolicy),controlledGoods:st(n.controlledGoods),controlledBatches:st(n.controlledBatches),sanctionedCompanies:st(n.sanctionedCompanies),sanctionBatches:st(n.sanctionBatches),suppliers:st(n.suppliers),purchaseOrders:st(n.purchaseOrders),purchaseLines:st(n.purchaseLines),customers:st(n.customers),customerContracts:st(n.customerContracts),derivedSalesOrders:Array.isArray(n.derivedSalesOrders)?n.derivedSalesOrders:[],salesCustomers:st(n.salesCustomers),salesOrders:st(n.salesOrders),salesLines:st(n.salesLines),salesFileOrders:st(n.salesFileOrders),generatedFiles:st(n.generatedFiles),settings:uv(n.settings),importTasks:st(n.importTasks),dashboard:yt(n.dashboard),analytics:cv(n.analytics)}}function Au(){let e=0,t=new Set;return{begin(){let n=++e;return t.add(n),n},isLatest(n){return n===e},commit(n){return n===e},finish(n){t.delete(n)},activeCount(){return t.size}}}function af(e){let t=0,n=e,r=new Set,o=new Map;return{begin(i){let a=++t;return r.add(a),o.set(a,i),a},isLatest(i){return i===t},commit(i){if(i!==t)return!1;let a=o.get(i);return a===void 0?!1:(n=a,!0)},finish(i){r.delete(i),o.delete(i)},activeCount(){return r.size},committed(){return n}}}function sf(e=t=>URL.revokeObjectURL(t)){let t=new Map,n=r=>{r?.startsWith("blob:")&&e(r)};return{replace(r,o){let i=t.get(r);return i!==o&&n(i),t.set(r,o),o},clear(r){n(t.get(r)),t.delete(r)},current(r){return t.get(r)??null},dispose(){for(let r of t.values())n(r);t.clear()}}}function lf(e,t=1,n=20,r={}){if(e.type==="procurement"&&e.level==="suppliers")return{page:t,pageSize:n,parameters:{collection:"suppliers",filters:r}};if(e.type==="procurement"&&e.level==="orders")return{page:t,pageSize:n,parameters:{collection:"purchaseOrders",supplierId:e.supplierId,filters:r}};if(e.type==="procurement"&&e.level==="lines")return{page:t,pageSize:n,parameters:{collection:"purchaseLines",purchaseOrderId:e.orderId,filters:r}};if(e.type==="page"&&e.page==="customer-contract-review")return{page:t,pageSize:n,parameters:{collection:"customerContracts",filters:r}};if(e.type==="sales"&&e.level==="customers")return{page:t,pageSize:n,parameters:{collection:"salesCustomers",filters:r}};if(e.type==="sales"&&e.level==="orders")return{page:t,pageSize:n,parameters:{collection:"salesOrders",customerId:e.customerId,filters:r}};if(e.type==="sales"&&e.level==="lines")return{page:t,pageSize:n,parameters:{collection:"salesLines",customerId:e.customerId,orderKey:e.orderKey,filters:r}};if(e.type==="page"&&e.page==="sales-files")return{page:t,pageSize:n,parameters:{collection:"salesFileOrders",filters:r}};if(e.type==="page"&&e.page==="analytics"){let o=r.mode==="SALES"?"SALES":"PURCHASE",i=r.dimension==="PRODUCT"?"PRODUCT":o==="SALES"?"CUSTOMER":"SUPPLIER",{mode:a,dimension:s,...l}=r;return{page:t,pageSize:n,parameters:{collection:"analytics",mode:o,dimension:i,filters:l}}}return e.type==="page"&&e.page==="settings"?{page:t,pageSize:n,parameters:{collection:"settings"}}:null}function ae(e){let t=yt(e);return"payload"in t?t.payload:"data"in t?t.data:"result"in t?t.result:e}function st(e){let t=yt(e);return{...t,items:Array.isArray(t.items)?t.items:[]}}function uv(e){let t=yt(e),n=Eu().settings;return{...n,...t,risk:{...n.risk,...yt(t.risk)},company:{...n.company,...yt(t.company)},profit:{...n.profit,...yt(t.profit)},banks:Array.isArray(t.banks)?t.banks:[],rates:Array.isArray(t.rates)?t.rates:[]}}function cv(e){let t=yt(e),n=Eu().analytics;return{...n,...t,metrics:yt(t.metrics),top5:Array.isArray(t.top5)?t.top5:[],details:{...n.details,...yt(t.details),items:Array.isArray(yt(t.details).items)?yt(t.details).items:[]}}}function yt(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}var G=J(ge(),1);function We({definitions:e,values:t,onChange:n,onQuery:r,onReset:o}){return(0,G.jsx)("section",{className:"tcw-filter-panel","aria-label":"\u7B5B\u9009\u6761\u4EF6",children:(0,G.jsxs)("div",{className:"tcw-filter-grid",children:[e.map(i=>(0,G.jsx)(hv,{definition:i,value:t[i.key],onChange:a=>n(i.key,a)},i.key)),(0,G.jsxs)("div",{className:"tcw-filter-actions",children:[r&&(0,G.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:r,children:[(0,G.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),"\u67E5\u8BE2"]}),(0,G.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:o,children:[(0,G.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u91CD\u7F6E"]})]})]})})}function hv({definition:e,value:t,onChange:n}){if(e.type==="date-range"||e.type==="amount-range"){let r=xv(t)?t:{},o=e.type==="date-range"?"date":"number";return(0,G.jsxs)("label",{className:"tcw-filter-control tcw-filter-control--range",children:[(0,G.jsx)("span",{children:e.label}),(0,G.jsxs)("div",{children:[(0,G.jsx)("input",{type:o,value:String(r.from??""),disabled:e.disabled,"aria-label":`${e.label}\u8D77\u59CB\u503C`,onChange:i=>n({...r,from:i.target.value})}),(0,G.jsx)("em",{children:"\u81F3"}),(0,G.jsx)("input",{type:o,value:String(r.to??""),disabled:e.disabled,"aria-label":`${e.label}\u7ED3\u675F\u503C`,onChange:i=>n({...r,to:i.target.value})})]})]})}return e.type==="select"?(0,G.jsxs)("label",{className:"tcw-filter-control",children:[(0,G.jsx)("span",{children:e.label}),(0,G.jsxs)("select",{value:String(t??""),disabled:e.disabled,onChange:r=>n(r.target.value),children:[(0,G.jsx)("option",{value:"",children:e.placeholder??"\u5168\u90E8"}),e.options.map(r=>(0,G.jsx)("option",{value:r.value,children:r.label},r.value))]})]}):(0,G.jsxs)("label",{className:"tcw-filter-control",children:[(0,G.jsx)("span",{children:e.label}),(0,G.jsx)("input",{type:"search",value:String(t??""),disabled:e.disabled,placeholder:e.placeholder??`\u8BF7\u8F93\u5165${e.label}`,onChange:r=>n(r.target.value)})]})}function Se({columns:e,rows:t,rowKey:n,actions:r,actionHeader:o="\u64CD\u4F5C",actionWidth:i=180,pagination:a,onPageChange:s,emptyText:l="\u6682\u65E0\u6570\u636E"}){let u=e.length+(r?1:0);return(0,G.jsxs)("section",{className:"tcw-grid-section",children:[(0,G.jsx)("div",{className:"tcw-table-scroll",children:(0,G.jsxs)("table",{className:"tcw-data-table",children:[(0,G.jsx)("thead",{children:(0,G.jsxs)("tr",{children:[e.map(c=>(0,G.jsx)("th",{style:c.width?{width:c.width,minWidth:c.width}:void 0,className:pf(c.align),children:c.header},c.key)),r&&(0,G.jsx)("th",{className:"action-column",style:{width:i,minWidth:i},children:o})]})}),(0,G.jsx)("tbody",{children:t.length===0?(0,G.jsx)("tr",{className:"tcw-empty-row",children:(0,G.jsx)("td",{colSpan:u,children:l})}):t.map((c,d)=>(0,G.jsxs)("tr",{children:[e.map(p=>(0,G.jsx)(wv,{column:p,row:c},p.key)),r&&(0,G.jsx)("td",{className:"action-column",children:(0,G.jsx)("div",{className:"tcw-row-actions",children:r(c)})})]},bv(c,d,n)))})]})}),a&&(0,G.jsx)(vv,{state:a,onPageChange:s})]})}function wv({column:e,row:t}){let n=Cv(t,e.accessor??e.key),r=e.type==="ellipsis"&&e.maxWidth?{maxWidth:e.maxWidth}:void 0,o=`${pf(e.align)}${e.type==="ellipsis"?" tcw-ellipsis":""}`.trim();if(e.type==="custom")return(0,G.jsx)("td",{className:o,style:r,children:e.render(n,t)});let i=e.format?e.format(n,t):kv(n);return(0,G.jsx)("td",{className:o,style:r,title:e.type==="ellipsis"?i:void 0,children:i})}function vv({state:e,onPageChange:t}){return(0,G.jsxs)("div",{className:"tcw-pagination",children:[(0,G.jsxs)("span",{children:["\u5171 ",e.total," \u6761"]}),(0,G.jsxs)("div",{children:[(0,G.jsx)("button",{type:"button",disabled:e.page<=1,onClick:()=>t?.(e.page-1),children:"\u4E0A\u4E00\u9875"}),(0,G.jsxs)("strong",{children:[e.page," / ",e.pageCount]}),(0,G.jsx)("button",{type:"button",disabled:e.page>=e.pageCount,onClick:()=>t?.(e.page+1),children:"\u4E0B\u4E00\u9875"}),(0,G.jsxs)("span",{children:[e.pageSize," \u6761/\u9875"]})]})]})}function Ce({children:e}){return(0,G.jsxs)("div",{className:"tcw-notice tcw-notice--info",role:"status",children:[(0,G.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),(0,G.jsx)("span",{children:e})]})}function Re({children:e}){return(0,G.jsxs)("div",{className:"tcw-notice tcw-notice--risk",role:"alert",children:[(0,G.jsx)("i",{className:"ri-error-warning-line","aria-hidden":"true"}),(0,G.jsx)("span",{children:e})]})}function Cv(e,t){return typeof t=="function"?t(e):e[t]}function bv(e,t,n){return typeof n=="function"?n(e,t):String(e[n]??t)}function kv(e){return e==null||e===""?"\u2014":Array.isArray(e)?e.join("\u3001"):String(e)}function pf(e){return e?`tcw-align-${e}`:""}function xv(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}var Oa=J(ct(),1);var K=J(ge(),1);function be({open:e,title:t,size:n="normal",children:r,footer:o,onClose:i}){let a=Oa.default.useId(),s=Oa.default.useRef(null);return Oa.default.useEffect(()=>{if(!e)return;let l=s.current,u=document.activeElement instanceof HTMLElement?document.activeElement:null;return(mf(l)[0]??l)?.focus(),()=>u?.focus()},[e]),e?(0,K.jsx)("div",{className:"tcw-modal-backdrop",role:"presentation",children:(0,K.jsxs)("section",{ref:s,className:`tcw-modal tcw-modal--${n}`,role:"dialog","aria-modal":"true","aria-labelledby":a,tabIndex:-1,onKeyDown:l=>Rv(l,s.current,i),children:[(0,K.jsxs)("header",{children:[(0,K.jsx)("h2",{id:a,children:t}),(0,K.jsx)("button",{type:"button",className:"tcw-icon-button",title:"\u5173\u95ED","aria-label":"\u5173\u95ED",onClick:i,children:(0,K.jsx)("i",{className:"ri-close-line","aria-hidden":"true"})})]}),(0,K.jsx)("div",{className:"tcw-modal-body",children:r}),o&&(0,K.jsx)("footer",{children:o})]})}):null}function Ne({children:e,columns:t=2}){return(0,K.jsx)("div",{className:`tcw-field-grid tcw-field-grid--${t}`,children:e})}function H({label:e,required:t,full:n,hint:r,children:o}){return(0,K.jsxs)("label",{className:`tcw-form-field${n?" tcw-form-field--full":""}`,children:[(0,K.jsxs)("span",{children:[t&&(0,K.jsx)("b",{children:"*"}),e]}),o,r&&(0,K.jsx)("small",{children:r})]})}function Xo({editor:e,source:t,editorTitle:n="\u8BC6\u522B\u5185\u5BB9",sourceTitle:r="\u6E90\u6587\u4EF6\u5185\u5BB9"}){return(0,K.jsxs)("div",{className:"tcw-review-split",children:[(0,K.jsxs)("section",{children:[(0,K.jsx)("h3",{children:n}),e]}),(0,K.jsxs)("section",{children:[(0,K.jsx)("h3",{children:r}),t]})]})}function Iu({accept:e,disabled:t,onFile:n,onError:r}){let o=_a(),i=l=>{try{Fa(l,e),n(l)}catch(u){let c=u instanceof Error?u.message:"\u6587\u4EF6\u6821\u9A8C\u5931\u8D25";if(r)r(c);else throw u}};return(0,K.jsxs)("label",{className:`tcw-upload-zone${t?" is-disabled":""}`,"aria-disabled":t,onDragOver:l=>{l.preventDefault(),t||(l.dataTransfer.dropEffect="copy")},onDrop:l=>{if(l.preventDefault(),t)return;let u=l.dataTransfer.files?.[0];u&&i(u)},children:[(0,K.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),(0,K.jsx)("strong",{children:"\u70B9\u51FB\u6216\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u5904\u4E0A\u4F20"}),(0,K.jsxs)("span",{children:["\u652F\u6301 PDF\u3001Word\u3001Excel \u548C\u5E38\u89C1\u56FE\u7247\u683C\u5F0F\uFF0C\u5355\u4E2A\u6587\u4EF6\u4E0D\u8D85\u8FC7 ",o.maxUploadMb," MB"]}),(0,K.jsx)("input",{type:"file",accept:e,disabled:t,onChange:l=>{let u=l.target.files?.[0];u&&i(u)}})]})}function Sv({key:e,shiftKey:t,activeIndex:n,focusableCount:r}){return e==="Escape"?"close":e!=="Tab"||r<1?"none":t&&n<=0?"last":!t&&n>=r-1?"first":"none"}function Rv(e,t,n){let r=mf(t),o=r.indexOf(document.activeElement),i=Sv({key:e.key,shiftKey:e.shiftKey,activeIndex:o,focusableCount:r.length});if(i==="close"){e.preventDefault(),n();return}if(e.key==="Tab"&&!r.length){e.preventDefault(),t?.focus();return}(i==="first"||i==="last")&&(e.preventDefault(),r[i==="first"?0:r.length-1]?.focus())}function mf(e){return e?Array.from(e.querySelectorAll('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')):[]}function et({open:e,title:t,message:n,confirmText:r="\u786E\u8BA4",cancelText:o="\u53D6\u6D88",danger:i,confirmDisabled:a,onCancel:s,onConfirm:l}){return(0,K.jsx)(be,{open:e,title:t,onClose:s,footer:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:s,children:o}),(0,K.jsx)("button",{type:"button",className:`tcw-button tcw-button--${i?"danger":"primary"}`,disabled:a,onClick:l,children:r})]}),children:(0,K.jsxs)("div",{className:`tcw-confirm-message${i?" is-danger":""}`,children:[(0,K.jsx)("i",{className:i?"ri-error-warning-line":"ri-question-line","aria-hidden":"true"}),(0,K.jsx)("p",{children:n})]})})}function ff({visible:e,label:t="\u5904\u7406\u4E2D\uFF0C\u8BF7\u7A0D\u5019"}){return e?(0,K.jsxs)("div",{className:"tcw-loading-blocker",role:"status","aria-live":"polite",children:[(0,K.jsx)("span",{className:"tcw-spinner","aria-hidden":"true"}),(0,K.jsx)("strong",{children:t})]}):null}function La({message:e,tone:t="success",onClose:n}){return e?(0,K.jsxs)("div",{className:`tcw-toast tcw-toast--${t}`,role:t==="error"?"alert":"status",children:[(0,K.jsx)("i",{className:Nv(t),"aria-hidden":"true"}),(0,K.jsx)("span",{children:e}),n&&(0,K.jsx)("button",{type:"button",title:"\u5173\u95ED","aria-label":"\u5173\u95ED",onClick:n,children:(0,K.jsx)("i",{className:"ri-close-line"})})]}):null}function Nv(e){return e==="success"?"ri-checkbox-circle-line":e==="error"?"ri-close-circle-line":e==="warning"?"ri-error-warning-line":"ri-information-line"}var Pu=J(ct(),1),re=J(ge(),1),gf=[{page:"home",label:"\u9996\u9875",icon:"ri-home-5-line",route:{type:"page",page:"home"}},{page:"controlled-goods",label:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",icon:"ri-shield-check-line",route:{type:"page",page:"controlled-goods"}},{page:"sanctioned-companies",label:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",icon:"ri-building-2-line",route:{type:"page",page:"sanctioned-companies"}},{page:"procurement",label:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406",icon:"ri-file-list-3-line",route:{type:"procurement",level:"suppliers"},expandable:"procurement"},{page:"customer-contract-review",label:"\u5BA2\u6237\u5408\u540C\u5BA1\u6838",icon:"ri-file-search-line",route:{type:"page",page:"customer-contract-review"}},{page:"sales",label:"\u9500\u552E\u5408\u89C4\u7BA1\u7406",icon:"ri-shopping-bag-3-line",route:{type:"sales",level:"customers"},expandable:"sales"},{page:"sales-files",label:"\u9500\u552E\u6587\u4EF6\u7BA1\u7406",icon:"ri-file-excel-2-line",route:{type:"page",page:"sales-files"}},{page:"analytics",label:"\u6570\u636E\u5206\u6790",icon:"ri-pie-chart-line",route:{type:"page",page:"analytics"}},{page:"settings",label:"\u7CFB\u7EDF\u8BBE\u7F6E",icon:"ri-settings-3-line",route:{type:"page",page:"settings"}}];function yf({route:e,breadcrumbs:t,expandedMenus:n,title:r,subtitle:o,commands:i,busy:a,children:s,onRouteChange:l,onToggleMenu:u,onRefresh:c}){let d=Pv(e);return(0,re.jsxs)("div",{className:"tcw-app-frame",children:[(0,re.jsxs)("aside",{className:"tcw-sidebar",children:[(0,re.jsxs)("div",{className:"tcw-brand",children:[(0,re.jsx)("span",{className:"tcw-brand-mark","aria-hidden":"true",children:"G"}),(0,re.jsx)("strong",{children:"\u5916\u8D38\u5408\u89C4\u5DE5\u4F5C\u53F0"})]}),(0,re.jsx)("nav",{className:"tcw-navigation","aria-label":"\u5916\u8D38\u5408\u89C4\u5DE5\u4F5C\u53F0\u5BFC\u822A",children:gf.map(p=>{let f=d===p.page,v=p.expandable?n[p.expandable]:!1;return(0,re.jsxs)(Pu.default.Fragment,{children:[(0,re.jsxs)("div",{className:`tcw-nav-row${f?" is-active":""}`,children:[(0,re.jsxs)("button",{type:"button",className:"tcw-nav-item","aria-label":`\u8FDB\u5165${p.label}`,"aria-current":f?"page":void 0,onClick:()=>l(p.route),children:[(0,re.jsx)("i",{className:p.icon,"aria-hidden":"true"}),(0,re.jsx)("span",{children:p.label})]}),p.expandable&&(0,re.jsx)("button",{type:"button",className:"tcw-nav-toggle","aria-label":`${v?"\u6298\u53E0":"\u5C55\u5F00"}${p.label}`,"aria-expanded":v,onClick:()=>u(p.expandable),children:(0,re.jsx)("i",{className:`ri-arrow-${v?"up":"down"}-s-line`,"aria-hidden":"true"})})]}),p.expandable&&v&&(0,re.jsx)(Tv,{section:p.expandable,route:e,onRouteChange:l})]},p.page)})})]}),(0,re.jsxs)("main",{className:"tcw-main",children:[(0,re.jsxs)("header",{className:"tcw-topbar",children:[(0,re.jsx)("nav",{className:"tcw-breadcrumbs","aria-label":"\u9762\u5305\u5C51",children:t.map((p,f)=>{let v=f===t.length-1;return(0,re.jsxs)(Pu.default.Fragment,{children:[f>0&&(0,re.jsx)("i",{className:"ri-arrow-right-s-line","aria-hidden":"true"}),!v&&p.route?(0,re.jsx)("button",{type:"button","data-breadcrumb":"true",onClick:()=>l(p.route),children:p.label}):(0,re.jsx)("span",{"aria-current":v?"page":void 0,children:p.label})]},`${p.label}-${f}`)})}),(0,re.jsx)("button",{type:"button",className:"tcw-icon-button",title:"\u5237\u65B0","aria-label":"\u5237\u65B0",disabled:a,onClick:c,children:(0,re.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"})})]}),(0,re.jsxs)("div",{className:"tcw-content",children:[(0,re.jsxs)("div",{className:"tcw-page-heading",children:[(0,re.jsxs)("div",{children:[(0,re.jsx)("h1",{children:r}),o&&(0,re.jsx)("p",{children:o})]}),i&&(0,re.jsx)("div",{className:"tcw-page-commands",children:i})]}),s]})]})]})}function Tv({section:e,route:t,onRouteChange:n}){let r=e==="procurement"?Ev(t):Av(t);return(0,re.jsx)("div",{className:"tcw-subnavigation",children:r.map(o=>(0,re.jsx)("button",{type:"button",className:o.current?"is-current":"",disabled:!o.route,onClick:()=>o.route&&n(o.route),children:o.label},o.level))})}function hf(e){if(e.type==="page")return e.page==="home"?[{label:"\u9996\u9875"}]:[{label:"\u9996\u9875",route:{type:"page",page:"home"}},{label:Iv(e.page)}];if(e.type==="procurement"){let n=[{label:"\u9996\u9875",route:{type:"page",page:"home"}},e.level==="suppliers"?{label:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406"}:{label:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406",route:{type:"procurement",level:"suppliers"}}];return e.level==="orders"&&n.push({label:"\u91C7\u8D2D\u8BA2\u5355"}),e.level==="lines"&&n.push({label:"\u91C7\u8D2D\u8BA2\u5355",route:{type:"procurement",level:"orders",supplierId:e.supplierId}},{label:"\u91C7\u8D2D\u5546\u54C1"}),n}let t=[{label:"\u9996\u9875",route:{type:"page",page:"home"}},e.level==="customers"?{label:"\u9500\u552E\u5408\u89C4\u7BA1\u7406"}:{label:"\u9500\u552E\u5408\u89C4\u7BA1\u7406",route:{type:"sales",level:"customers"}}];return e.level==="orders"&&t.push({label:"\u9500\u552E\u8BA2\u5355"}),e.level==="lines"&&t.push({label:"\u9500\u552E\u8BA2\u5355",route:{type:"sales",level:"orders",customerId:e.customerId}},{label:"\u9500\u552E\u5546\u54C1"}),t}function Ev(e){let t=e.type==="procurement"&&e.level!=="suppliers"?e.supplierId:null,n=e.type==="procurement"&&e.level==="lines"?e.orderId:null;return[{level:"suppliers",label:"\u4F9B\u5E94\u5546\u5217\u8868",current:e.type==="procurement"&&e.level==="suppliers",route:{type:"procurement",level:"suppliers"}},{level:"orders",label:"\u91C7\u8D2D\u8BA2\u5355",current:e.type==="procurement"&&e.level==="orders",route:t?{type:"procurement",level:"orders",supplierId:t}:null},{level:"lines",label:"\u91C7\u8D2D\u5546\u54C1",current:e.type==="procurement"&&e.level==="lines",route:t&&n?{type:"procurement",level:"lines",supplierId:t,orderId:n}:null}]}function Av(e){let t=e.type==="sales"&&e.level!=="customers"?e.customerId:null,n=e.type==="sales"&&e.level==="lines"?e.orderKey:null;return[{level:"customers",label:"\u5BA2\u6237\u5217\u8868",current:e.type==="sales"&&e.level==="customers",route:{type:"sales",level:"customers"}},{level:"orders",label:"\u9500\u552E\u8BA2\u5355",current:e.type==="sales"&&e.level==="orders",route:t?{type:"sales",level:"orders",customerId:t}:null},{level:"lines",label:"\u9500\u552E\u5546\u54C1",current:e.type==="sales"&&e.level==="lines",route:t&&n?{type:"sales",level:"lines",customerId:t,orderKey:n}:null}]}function Iv(e){return gf.find(t=>t.page===e)?.label??e}function Pv(e){return e.type==="procurement"?"procurement":e.type==="sales"?"sales":e.page}var q=J(ct(),1);var b=J(ge(),1),Zo=20,_v=".pdf,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg,.webp",xf=()=>`\u652F\u6301 PDF\u3001DOC\u3001DOCX\u3001XLS\u3001XLSX\u3001PNG\u3001JPEG\u3001WEBP\uFF0C\u5355\u6587\u4EF6\u6700\u5927 ${_a().maxUploadMb} MB\u3002`,Jo={DUAL_USE:"\u519B\u6C11\u4E24\u7528\u7269\u8D44",OVERSEAS_SANCTION:"\u6D77\u5916\u5236\u88C1"},Fu={FILE_IMPORT:"\u6587\u4EF6\u5BFC\u5165",MANUAL_ENTRY:"\u624B\u5DE5\u65B0\u589E"},wf=[{type:"select",key:"catalogType",label:"\u76EE\u5F55\u7C7B\u578B",options:Ou(Jo)},{type:"text",key:"sourceFileName",label:"\u6765\u6E90\u6587\u4EF6",placeholder:"\u8BF7\u8F93\u5165\u6765\u6E90\u6587\u4EF6\u540D\u79F0"},{type:"text",key:"productName",label:"\u5546\u54C1\u540D\u79F0"},{type:"text",key:"hsCode",label:"\u6D77\u5173\u7F16\u7801"}],vf=[{type:"text",key:"sourceFileName",label:"\u6765\u6E90\u6587\u4EF6",placeholder:"\u8BF7\u8F93\u5165\u6765\u6E90\u6587\u4EF6\u540D\u79F0"},{type:"text",key:"companyName",label:"\u516C\u53F8\u540D\u79F0"},{type:"text",key:"countryOrRegion",label:"\u56FD\u5BB6\u6216\u5730\u533A"},{type:"text",key:"sanctionListSource",label:"\u5236\u88C1\u540D\u5355\u6765\u6E90"},{type:"date-range",key:"effectiveDate",label:"\u751F\u6548\u65E5\u671F"}];function Sf({onAction:e,onFileAction:t,onRefresh:n}){let r=async(i,a)=>{let s=await e(i,a);return Ma(s),await n(),s},o=async(i,a,s)=>{let l=await t(i,a,s);return Ma(l),l};return{uploadControlledCatalog:(i,a)=>o("upload_controlled_catalog",i,a),uploadSanctionCatalog:(i,a)=>o("upload_sanction_catalog",i,a),saveControlledGoods:i=>r("save_controlled_goods",{...i,sourceType:"MANUAL_ENTRY"}),updateControlledGoods:i=>r("update_controlled_goods",i),saveSanctionedCompany:i=>r("save_sanctioned_company",{...i,sourceType:"MANUAL_ENTRY"}),updateSanctionedCompany:i=>r("update_sanctioned_company",i),deleteEntity:(i,a)=>r("delete_entity",{entityType:i,id:a}),searchHsCode:(i,a=1)=>e("search_hs_code",{keywords:i,page:a}),getHsCodeDetail:i=>e("get_hs_code_detail",i),downloadImportIssues:async(i,a)=>{let s=await e("download_import_issues",{documentType:i,batchId:a});return Ma(s),s},retryImportTask:i=>e("retry_import_task",{taskId:i})}}var Rf=new Set(["QUEUED","EXTRACTING","AI_PARSING","VALIDATING","AWAITING_REVIEW","PERSISTING"]),Fv=1200*1e3,Un=class extends Error{constructor(n,r){super(n);this.task=r;this.name="CatalogImportError"}};async function Nf({start:e,invokeClientCommand:t,markCommandDispatched:n,pollTask:r,refresh:o,wait:i=Vv,now:a=Date.now}){if(Ma(e),!Wv(e.data))throw new Error("\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11\u89E3\u6790\u4EFB\u52A1\u4FE1\u606F");if(!e.data.task.commandDispatchedAt){let c=!1;for(let d of e.data.commands)await t(d.commandKey,d.payload),c||(await n(e.data.task.id),c=!0)}let s=Math.min(Fv,Math.max(1,e.data.polling.timeoutMs)),l=Math.max(1,e.data.polling.intervalMs),u=a()+s;for(;a()<u;){await i(l);let c=await r(e.data.task.id),d=c.task.status;if(d==="SUCCEEDED"){if(!c.batch)throw new Error("\u5BFC\u5165\u6210\u529F\u4F46\u672A\u8FD4\u56DE\u6279\u6B21\u6C47\u603B");return await o(),c}if(d==="FAILED"||d==="TIMED_OUT")throw new Un(c.task.errorMessage||(d==="TIMED_OUT"?"\u76EE\u5F55\u89E3\u6790\u8D85\u65F6\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790":"\u76EE\u5F55\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790"),c.task);if(!Rf.has(d))throw new Error(`\u4E0D\u652F\u6301\u7684\u5BFC\u5165\u4EFB\u52A1\u72B6\u6001\uFF1A${d}`)}throw new Un("\u76EE\u5F55\u89E3\u6790\u8D85\u8FC7 20 \u5206\u949F\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790",{...e.data.task,status:"TIMED_OUT",errorMessage:"\u76EE\u5F55\u89E3\u6790\u8D85\u8FC7 20 \u5206\u949F\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790"})}function Tf(e){return e.filter(t=>(t.documentType==="CONTROLLED_CATALOG"||t.documentType==="SANCTION_CATALOG")&&Rf.has(t.status)&&!!t.executionCommand).sort((t,n)=>String(n.updatedAt??"").localeCompare(String(t.updatedAt??"")))[0]??null}function Du(e,t){let n=new Set(e.map(r=>r.retryOfTaskId).filter(r=>!!r));return e.filter(r=>r.documentType===t&&(r.status==="FAILED"||r.status==="TIMED_OUT")&&!n.has(r.id)).sort((r,o)=>String(o.updatedAt??"").localeCompare(String(r.updatedAt??"")))[0]??null}function Ef(e,t=300){let n=null,r=()=>{n&&clearTimeout(n),n=null};return{schedule(i,a){if(r(),i!=="text"){e(a);return}n=setTimeout(()=>{n=null,e(a)},t)},flush:i=>{r(),e(i)},cancel:r}}var Af={catalogType:"",replaceBatchId:"",file:null,error:"",confirming:!1,submitting:!1};function Dv(e,t){return t.type==="reset"?Af:t.type==="select-catalog-type"?{...e,catalogType:t.catalogType,replaceBatchId:"",error:""}:t.type==="select-batch"?{...e,replaceBatchId:t.batchId}:t.type==="select-file"?{...e,file:t.file,error:""}:t.type==="set-error"?{...e,error:t.error}:t.type==="confirm-replace"?{...e,confirming:!0}:t.type==="cancel-replace"?{...e,confirming:!1}:{...e,submitting:t.submitting}}function Ov(e,t){return e&&!t.confirming}function If(e,t){let n=new Map(t.map(r=>[r.id,r.sourceFileName]));return e.map(r=>({...r,sourceFileName:r.batchId&&n.has(r.batchId)?n.get(r.batchId):r.sourceFileName}))}async function Lv(e,t){try{return{collection:await e(t),error:""}}catch(n){return{collection:{items:[],page:t.page,pageSize:t.pageSize},error:`\u52A0\u8F7D\u5BFC\u5165\u95EE\u9898\u660E\u7EC6\u5931\u8D25\uFF1A${Qr(n,"\u672A\u77E5\u9519\u8BEF")}`}}}function Pf(e){let t=0,n=!0,r=!1;return{mount(){n=!0},async load(o,i){let a=++t;r=!0,n&&e({batchId:i.batchId,issueType:i.issueType,collection:{items:[],page:i.page,pageSize:i.pageSize},loading:!0,error:""});let s=await Lv(o,i);n&&r&&a===t&&e({batchId:i.batchId,issueType:i.issueType,collection:s.collection,loading:!1,error:s.error})},close(){r=!1,t+=1},dispose(){n=!1,r=!1,t+=1}}}function _f(e){let[t,n]=q.default.useState({}),[r,o]=q.default.useState(!1),[i,a]=q.default.useState(null),[s,l]=q.default.useState(null),[u,c]=q.default.useState(null),[d,p]=q.default.useState(null),[f,v]=q.default.useState(null),y=q.default.useRef();y.current||(y.current=Pf(v));let x=q.default.useMemo(()=>Sf(e),[e.onAction,e.onFileAction,e.onRefresh]),m=If(e.collection.items,e.batches),g=Lu(e.collection);q.default.useEffect(()=>{e.command==="upload"&&o(!0),e.command==="create"&&a({mode:"create",item:null}),e.command&&e.onCommandHandled?.()},[e.command,e.onCommandHandled]);let h=q.default.useCallback((L,P)=>e.onQuery({page:L,pageSize:Zo,filters:P}),[e.onQuery]),k=q.default.useMemo(()=>Ef(L=>{h(1,L)}),[h]);q.default.useEffect(()=>()=>k.cancel(),[k]),q.default.useEffect(()=>(y.current?.mount(),()=>y.current?.dispose()),[]);let C=(L,P)=>{let Q={...t,[L]:P};n(Q),k.schedule(wf.find(Ie=>Ie.key===L)?.type??"text",Q)},T=async(L,P,Q=1)=>{e.onIssueQuery&&await y.current?.load(e.onIssueQuery,{documentType:"CONTROLLED_CATALOG",batchId:L,issueType:P,page:Q,pageSize:Zo})},E=d??(e.importCompletion?.task.documentType==="CONTROLLED_CATALOG"?e.importCompletion.batch??null:null),O=[{type:"custom",key:"productName",header:"\u5546\u54C1\u540D\u79F0",width:180,render:(L,P)=>(0,b.jsx)(_u,{title:"\u6309\u5546\u54C1\u540D\u79F0\u67E5\u8BE2\u6D77\u5173\u7F16\u7801",onClick:()=>c(Cf(P,"productName")),children:P.productName||"\u2014"})},{type:"custom",key:"hsCode",header:"\u6D77\u5173\u7F16\u7801",width:130,render:(L,P)=>P.hsCode?(0,b.jsx)(_u,{title:"\u6309\u7F16\u7801\u67E5\u8BE2\u6D77\u5173\u7F16\u7801",onClick:()=>c(Cf(P,"hsCode")),children:P.hsCode}):"\u2014"},{type:"text",key:"catalogType",header:"\u76EE\u5F55\u7C7B\u578B",width:130,format:L=>Ua(L,Jo)},{type:"ellipsis",key:"controlDescription",header:"\u7BA1\u63A7\u8BF4\u660E",width:220,maxWidth:220},{type:"text",key:"sourceType",header:"\u6765\u6E90\u7C7B\u578B",width:110,format:L=>Ua(L,Fu)},{type:"ellipsis",key:"sourceFileName",header:"\u6765\u6E90\u6587\u4EF6",width:190,maxWidth:190},{type:"text",key:"updatedAt",header:"\u66F4\u65B0\u65F6\u95F4",width:170}];return(0,b.jsxs)("section",{className:"tcw-catalog-page","aria-label":"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",children:[(0,b.jsx)(We,{definitions:wf,values:t,onChange:C,onQuery:()=>k.flush(t),onReset:()=>{n({}),k.flush({})}}),(0,b.jsx)(Ce,{children:xf()}),e.importFailure?.documentType==="CONTROLLED_CATALOG"&&(0,b.jsx)(Uf,{task:e.importFailure,busy:e.busy,onRetry:L=>e.onRetryImport?.(L)??Promise.resolve()}),E&&(0,b.jsx)(Mf,{documentType:"CONTROLLED_CATALOG",batch:E,busy:e.busy,onDownload:(L,P)=>x.downloadImportIssues(L,P),onView:(L,P)=>T(L,P)}),(0,b.jsx)(Se,{columns:O,rows:m,rowKey:"id",actions:L=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",disabled:e.busy,onClick:()=>a({mode:"review",item:L}),children:"\u5BA1\u6838"}),(0,b.jsx)("button",{type:"button",className:"is-danger",disabled:e.busy,onClick:()=>l(L),children:"\u5220\u9664"})]}),pagination:g,onPageChange:L=>{k.cancel(),h(L,t)},emptyText:"\u6682\u65E0\u7BA1\u63A7\u5546\u54C1\u6570\u636E"}),(0,b.jsx)(Of,{open:r,kind:"controlled",batches:e.batches,busy:e.busy,onClose:()=>o(!1),onUpload:async(L,P)=>{let Q=await x.uploadControlledCatalog(L,P),Ie=Bf(Q.data);Ie.batch&&p(Ie.batch),o(!1)}}),(0,b.jsx)(Uv,{open:!!i,mode:i?.mode??"create",item:i?.item??null,busy:e.busy,onClose:()=>a(null),onSave:async L=>{i?.mode==="review"&&i.item?await x.updateControlledGoods({...L,id:i.item.id}):await x.saveControlledGoods(L),a(null)}}),(0,b.jsx)(et,{open:!!s,title:"\u786E\u8BA4\u5220\u9664\u7BA1\u63A7\u5546\u54C1",message:`\u5220\u9664\u201C${s?.productName??""}\u201D\u540E\uFF0C\u8BE5\u8BB0\u5F55\u5C06\u88AB\u903B\u8F91\u5220\u9664\u3002`,confirmText:"\u786E\u8BA4\u5220\u9664",danger:!0,onCancel:()=>l(null),onConfirm:()=>{s&&x.deleteEntity("controlledGoods",s.id).then(()=>l(null))}}),(0,b.jsx)(ei,{open:u!==null,initialQuery:u??"",onAction:e.onAction,onClose:()=>c(null)}),(0,b.jsx)(zf,{open:!!f,documentType:"CONTROLLED_CATALOG",batchId:f?.batchId??"",issueType:f?.issueType??"DUPLICATE",collection:f?.collection??{items:[]},loading:f?.loading??!1,error:f?.error??"",busy:e.busy,onClose:()=>{y.current?.close(),v(null)},onIssueTypeChange:L=>{f&&T(f.batchId,L)},onPageChange:L=>{f&&T(f.batchId,f.issueType,L)},onRetry:()=>{f&&T(f.batchId,f.issueType,Number(f.collection.page)||1)}})]})}function Ff(e){let[t,n]=q.default.useState({}),[r,o]=q.default.useState(!1),[i,a]=q.default.useState(null),[s,l]=q.default.useState(null),[u,c]=q.default.useState(null),[d,p]=q.default.useState(null),f=q.default.useRef();f.current||(f.current=Pf(p));let v=q.default.useMemo(()=>Sf(e),[e.onAction,e.onFileAction,e.onRefresh]),y=If(e.collection.items,e.batches),x=Lu(e.collection);q.default.useEffect(()=>{e.command==="upload"&&o(!0),e.command==="create"&&a({mode:"create",item:null}),e.command&&e.onCommandHandled?.()},[e.command,e.onCommandHandled]);let m=q.default.useCallback((E,O)=>e.onQuery({page:E,pageSize:Zo,filters:O}),[e.onQuery]),g=q.default.useMemo(()=>Ef(E=>{m(1,E)}),[m]);q.default.useEffect(()=>()=>g.cancel(),[g]),q.default.useEffect(()=>(f.current?.mount(),()=>f.current?.dispose()),[]);let h=(E,O)=>{let L={...t,[E]:O};n(L),g.schedule(vf.find(P=>P.key===E)?.type??"text",L)},k=async(E,O,L=1)=>{e.onIssueQuery&&await f.current?.load(e.onIssueQuery,{documentType:"SANCTION_CATALOG",batchId:E,issueType:O,page:L,pageSize:Zo})},C=u??(e.importCompletion?.task.documentType==="SANCTION_CATALOG"?e.importCompletion.batch??null:null),T=[{type:"custom",key:"companyName",header:"\u516C\u53F8\u540D\u79F0",width:210,render:(E,O)=>(0,b.jsx)(_u,{title:"\u67E5\u770B\u5236\u88C1\u516C\u53F8\u8BE6\u60C5",onClick:()=>a({mode:"detail",item:O}),children:O.companyName||"\u2014"})},{type:"text",key:"countryOrRegion",header:"\u56FD\u5BB6\u6216\u5730\u533A",width:120},{type:"ellipsis",key:"sanctionListSource",header:"\u5236\u88C1\u540D\u5355\u6765\u6E90",width:190,maxWidth:190},{type:"text",key:"effectiveDate",header:"\u751F\u6548\u65E5\u671F",width:120},{type:"ellipsis",key:"sanctionReason",header:"\u5236\u88C1\u539F\u56E0",width:220,maxWidth:220},{type:"text",key:"sourceType",header:"\u6765\u6E90\u7C7B\u578B",width:110,format:E=>Ua(E,Fu)},{type:"ellipsis",key:"sourceFileName",header:"\u6765\u6E90\u6587\u4EF6",width:190,maxWidth:190},{type:"text",key:"updatedAt",header:"\u66F4\u65B0\u65F6\u95F4",width:170}];return(0,b.jsxs)("section",{className:"tcw-catalog-page","aria-label":"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",children:[(0,b.jsx)(We,{definitions:vf,values:t,onChange:h,onQuery:()=>g.flush(t),onReset:()=>{n({}),g.flush({})}}),(0,b.jsx)(Ce,{children:xf()}),e.importFailure?.documentType==="SANCTION_CATALOG"&&(0,b.jsx)(Uf,{task:e.importFailure,busy:e.busy,onRetry:E=>e.onRetryImport?.(E)??Promise.resolve()}),C&&(0,b.jsx)(Mf,{documentType:"SANCTION_CATALOG",batch:C,busy:e.busy,onDownload:(E,O)=>v.downloadImportIssues(E,O),onView:(E,O)=>k(E,O)}),(0,b.jsx)(Se,{columns:T,rows:y,rowKey:"id",actions:E=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",disabled:e.busy,onClick:()=>a({mode:"review",item:E}),children:"\u5BA1\u6838"}),(0,b.jsx)("button",{type:"button",className:"is-danger",disabled:e.busy,onClick:()=>l(E),children:"\u5220\u9664"})]}),pagination:x,onPageChange:E=>{g.cancel(),m(E,t)},emptyText:"\u6682\u65E0\u5236\u88C1\u516C\u53F8\u6570\u636E"}),(0,b.jsx)(Of,{open:r,kind:"sanction",batches:e.batches,busy:e.busy,onClose:()=>o(!1),onUpload:async(E,O)=>{let L=await v.uploadSanctionCatalog(E,O),P=Bf(L.data);P.batch&&c(P.batch),o(!1)}}),(0,b.jsx)(Bv,{open:!!i,mode:i?.mode??"create",item:i?.item??null,busy:e.busy,onClose:()=>a(null),onSave:async E=>{i?.mode==="review"&&i.item?await v.updateSanctionedCompany({...E,id:i.item.id}):await v.saveSanctionedCompany(E),a(null)}}),(0,b.jsx)(et,{open:!!s,title:"\u786E\u8BA4\u5220\u9664\u5236\u88C1\u516C\u53F8",message:`\u5220\u9664\u201C${s?.companyName??""}\u201D\u540E\uFF0C\u8BE5\u8BB0\u5F55\u5C06\u88AB\u903B\u8F91\u5220\u9664\u3002`,confirmText:"\u786E\u8BA4\u5220\u9664",danger:!0,onCancel:()=>l(null),onConfirm:()=>{s&&v.deleteEntity("sanctionedCompany",s.id).then(()=>l(null))}}),(0,b.jsx)(zf,{open:!!d,documentType:"SANCTION_CATALOG",batchId:d?.batchId??"",issueType:d?.issueType??"DUPLICATE",collection:d?.collection??{items:[]},loading:d?.loading??!1,error:d?.error??"",busy:e.busy,onClose:()=>{f.current?.close(),p(null)},onIssueTypeChange:E=>{d&&k(d.batchId,E)},onPageChange:E=>{d&&k(d.batchId,d.issueType,E)},onRetry:()=>{d&&k(d.batchId,d.issueType,Number(d.collection.page)||1)}})]})}function Df({busy:e,onUpload:t,onCreate:n}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e,onClick:t,children:[(0,b.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),"\u4E0A\u4F20\u76EE\u5F55\u6587\u4EF6"]}),(0,b.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:e,onClick:n,children:[(0,b.jsx)("i",{className:"ri-add-line","aria-hidden":"true"}),"\u624B\u5DE5\u65B0\u589E"]})]})}function Of({open:e,kind:t,batches:n,busy:r=!1,onClose:o,onUpload:i}){let[a,s]=q.default.useReducer(Dv,Af),l=r||a.submitting;q.default.useEffect(()=>{e||s({type:"reset"})},[e,t]);let u=t==="controlled"&&a.catalogType?n.filter(v=>v.catalogType===a.catalogType):n,c=u.find(v=>v.id===a.replaceBatchId),d=()=>t==="controlled"?{documentType:"CONTROLLED_CATALOG",catalogType:a.catalogType,...a.replaceBatchId?{replaceBatchId:a.replaceBatchId}:{}}:{documentType:"SANCTION_CATALOG",...a.replaceBatchId?{replaceBatchId:a.replaceBatchId}:{}},p=async()=>{if(a.file){s({type:"set-submitting",submitting:!0});try{await i(a.file,d()),s({type:"reset"})}catch(v){s({type:"set-error",error:Qr(v,"\u76EE\u5F55\u4E0A\u4F20\u5931\u8D25")}),s({type:"cancel-replace"})}finally{s({type:"set-submitting",submitting:!1})}}},f=async()=>{if(t==="controlled"&&!a.catalogType){s({type:"set-error",error:"\u8BF7\u9009\u62E9\u76EE\u5F55\u7C7B\u578B"});return}if(!a.file){s({type:"set-error",error:"\u8BF7\u9009\u62E9\u76EE\u5F55\u6587\u4EF6"});return}if(a.replaceBatchId){s({type:"confirm-replace"});return}await p()};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(be,{open:Ov(e,a),title:t==="controlled"?"\u4E0A\u4F20\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55":"\u4E0A\u4F20\u516C\u53F8\u5236\u88C1\u76EE\u5F55",onClose:o,footer:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:l,onClick:o,children:"\u53D6\u6D88"}),(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:l,onClick:()=>{f()},children:"\u4E0A\u4F20\u76EE\u5F55"})]}),children:(0,b.jsxs)(Ne,{columns:1,children:[t==="controlled"&&(0,b.jsx)(H,{label:"\u9009\u62E9\u76EE\u5F55\u7C7B\u578B",required:!0,children:(0,b.jsxs)("select",{value:a.catalogType,disabled:l,onChange:v=>s({type:"select-catalog-type",catalogType:v.target.value}),children:[(0,b.jsx)("option",{value:"",children:"\u8BF7\u9009\u62E9\u76EE\u5F55\u7C7B\u578B"}),Ou(Jo).map(v=>(0,b.jsx)("option",{value:v.value,children:v.label},v.value))]})}),(0,b.jsx)(H,{label:"\u8986\u76D6\u5386\u53F2\u6279\u6B21",hint:"\u4E0D\u9009\u62E9\u65F6\u6309\u65B0\u589E\u6279\u6B21\u5BFC\u5165",children:(0,b.jsxs)("select",{value:a.replaceBatchId,disabled:l||t==="controlled"&&!a.catalogType,onChange:v=>s({type:"select-batch",batchId:v.target.value}),children:[(0,b.jsx)("option",{value:"",children:"\u4E0D\u8986\u76D6\uFF0C\u65B0\u589E\u6279\u6B21"}),u.map(v=>(0,b.jsxs)("option",{value:v.id,children:[v.sourceFileName||v.id,"\uFF08",v.totalCount??0," \u6761\uFF09"]},v.id))]})}),(0,b.jsx)(Iu,{accept:_v,disabled:l,onFile:v=>s({type:"select-file",file:v}),onError:v=>s({type:"set-error",error:v})}),a.file&&(0,b.jsxs)("p",{children:["\u5DF2\u9009\u62E9\uFF1A",(0,b.jsx)("strong",{children:a.file.name})]}),a.error&&(0,b.jsx)("p",{role:"alert",children:a.error})]})}),(0,b.jsx)(Mv,{open:a.confirming,kind:t,batch:c??null,fileName:a.file?.name??"",busy:l,onCancel:()=>s({type:"cancel-replace"}),onConfirm:()=>{p()}})]})}function Mv({open:e,kind:t,batch:n,fileName:r,busy:o=!1,onCancel:i,onConfirm:a}){let s=n?.catalogType?Jo[n.catalogType]:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55";return(0,b.jsx)(et,{open:e,title:t==="controlled"?"\u786E\u8BA4\u8986\u76D6\u5386\u53F2\u76EE\u5F55\uFF1F":"\u786E\u8BA4\u8986\u76D6\u5386\u53F2\u5236\u88C1\u76EE\u5F55\uFF1F",danger:!0,confirmText:"\u786E\u8BA4\u4E0A\u4F20\u5E76\u8986\u76D6",confirmDisabled:o,onCancel:i,onConfirm:a,message:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"tcw-notice tcw-notice--risk",children:"\u53EA\u6709\u65B0\u6587\u4EF6\u89E3\u6790\u6210\u529F\u5E76\u901A\u8FC7\u57FA\u7840\u6821\u9A8C\u540E\uFF0C\u65E7\u6279\u6B21\u53CA\u5176\u8BB0\u5F55\u624D\u4F1A\u88AB\u903B\u8F91\u5220\u9664\u3002"}),(0,b.jsxs)("span",{children:["\u76EE\u5F55\u7C7B\u578B\uFF1A",s,(0,b.jsx)("br",{}),"\u88AB\u8986\u76D6\u6587\u4EF6\uFF1A",n?.sourceFileName||"\u2014",(0,b.jsx)("br",{}),"\u73B0\u6709\u8BB0\u5F55\u6570\u91CF\uFF1A",n?.totalCount??0,(0,b.jsx)("br",{}),"\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4\uFF1A",n?.updatedAt||n?.createdAt||"\u2014",(0,b.jsx)("br",{}),"\u65B0\u4E0A\u4F20\u6587\u4EF6\uFF1A",r||"\u2014"]})]})})}function Uv({open:e,mode:t,item:n,busy:r=!1,onClose:o,onSave:i}){let[a,s]=q.default.useState(()=>bf(n)),[l,u]=q.default.useState("");q.default.useEffect(()=>{e&&(s(bf(n)),u(""))},[e,n]);let c=(0,b.jsx)(zv,{value:a,onChange:s}),d=async()=>{if(!a.catalogType||!a.productName.trim()){u("\u76EE\u5F55\u7C7B\u578B\u548C\u5546\u54C1\u540D\u79F0\u4E3A\u5FC5\u586B\u9879");return}try{await i({...a,productName:a.productName.trim(),hsCode:a.hsCode?.trim(),controlDescription:a.controlDescription?.trim()})}catch(f){u(Qr(f,"\u7BA1\u63A7\u5546\u54C1\u4FDD\u5B58\u5931\u8D25"))}},p=t==="review"&&n?.sourceType==="FILE_IMPORT";return(0,b.jsx)(be,{open:e,title:t==="create"?"\u65B0\u589E\u7BA1\u63A7\u5546\u54C1":"\u5BA1\u6838\u7BA1\u63A7\u5546\u54C1",size:p?"wide":"normal",onClose:o,footer:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:o,children:"\u53D6\u6D88"}),(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r,onClick:()=>{d()},children:"\u4FDD\u5B58"})]}),children:p?(0,b.jsx)(Xo,{editor:(0,b.jsxs)(b.Fragment,{children:[c,l&&(0,b.jsx)("p",{role:"alert",children:l})]}),source:(0,b.jsx)(Lf,{item:n}),sourceTitle:"\u6765\u6E90\u8BC1\u636E"}):(0,b.jsxs)(b.Fragment,{children:[t==="create"&&(0,b.jsx)("p",{children:"\u6765\u6E90\u7C7B\u578B\uFF1A\u624B\u5DE5\u65B0\u589E"}),c,l&&(0,b.jsx)("p",{role:"alert",children:l})]})})}function zv({value:e,onChange:t}){return(0,b.jsxs)(Ne,{columns:1,children:[(0,b.jsx)(H,{label:"\u76EE\u5F55\u7C7B\u578B",required:!0,children:(0,b.jsx)("select",{value:e.catalogType,onChange:n=>t({...e,catalogType:n.target.value}),children:Ou(Jo).map(n=>(0,b.jsx)("option",{value:n.value,children:n.label},n.value))})}),(0,b.jsx)(H,{label:"\u5546\u54C1\u540D\u79F0",required:!0,children:(0,b.jsx)("input",{value:e.productName,onChange:n=>t({...e,productName:n.target.value})})}),(0,b.jsx)(H,{label:"\u6D77\u5173\u7F16\u7801",children:(0,b.jsx)("input",{value:e.hsCode??"",onChange:n=>t({...e,hsCode:n.target.value})})}),(0,b.jsx)(H,{label:"\u7BA1\u63A7\u8BF4\u660E",children:(0,b.jsx)("textarea",{rows:5,value:e.controlDescription??"",onChange:n=>t({...e,controlDescription:n.target.value})})})]})}function Bv({open:e,mode:t,item:n,busy:r=!1,onClose:o,onSave:i}){let[a,s]=q.default.useState(()=>kf(n)),[l,u]=q.default.useState("");q.default.useEffect(()=>{e&&(s(kf(n)),u(""))},[e,n]);let c=(0,b.jsx)(Hv,{value:a,disabled:t==="detail",onChange:s}),d=async()=>{if(!a.companyName.trim()){u("\u516C\u53F8\u540D\u79F0\u4E3A\u5FC5\u586B\u9879");return}try{await i({...a,companyName:a.companyName.trim()})}catch(y){u(Qr(y,"\u5236\u88C1\u516C\u53F8\u4FDD\u5B58\u5931\u8D25"))}},p=t==="create"?"\u65B0\u589E\u5236\u88C1\u516C\u53F8":t==="review"?"\u5BA1\u6838\u5236\u88C1\u516C\u53F8":"\u5236\u88C1\u516C\u53F8\u8BE6\u60C5",f=t==="detail"?(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:o,children:"\u5173\u95ED"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:o,children:"\u53D6\u6D88"}),(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r,onClick:()=>{d()},children:"\u4FDD\u5B58"})]}),v=t!=="create"&&n?.sourceType==="FILE_IMPORT";return(0,b.jsx)(be,{open:e,title:p,size:v?"wide":"normal",onClose:o,footer:f,children:v?(0,b.jsx)(Xo,{editor:(0,b.jsxs)(b.Fragment,{children:[c,l&&(0,b.jsx)("p",{role:"alert",children:l})]}),source:(0,b.jsx)(Lf,{item:n}),sourceTitle:"\u6765\u6E90\u8BC1\u636E"}):(0,b.jsxs)(b.Fragment,{children:[t==="create"&&(0,b.jsx)("p",{children:"\u6765\u6E90\u7C7B\u578B\uFF1A\u624B\u5DE5\u65B0\u589E"}),c,l&&(0,b.jsx)("p",{role:"alert",children:l})]})})}function Hv({value:e,disabled:t,onChange:n}){return(0,b.jsxs)(Ne,{columns:1,children:[(0,b.jsx)(H,{label:"\u516C\u53F8\u540D\u79F0",required:!0,children:(0,b.jsx)("input",{disabled:t,value:e.companyName,onChange:r=>n({...e,companyName:r.target.value})})}),(0,b.jsx)(H,{label:"\u56FD\u5BB6\u6216\u5730\u533A",children:(0,b.jsx)("input",{disabled:t,value:e.countryOrRegion??"",onChange:r=>n({...e,countryOrRegion:r.target.value})})}),(0,b.jsx)(H,{label:"\u5236\u88C1\u540D\u5355\u6765\u6E90",children:(0,b.jsx)("input",{disabled:t,value:e.sanctionListSource??"",onChange:r=>n({...e,sanctionListSource:r.target.value})})}),(0,b.jsx)(H,{label:"\u53D1\u5E03/\u751F\u6548\u65E5\u671F",children:(0,b.jsx)("input",{type:"date",disabled:t,value:e.effectiveDate??"",onChange:r=>n({...e,effectiveDate:r.target.value})})}),(0,b.jsx)(H,{label:"\u5236\u88C1\u539F\u56E0",children:(0,b.jsx)("textarea",{disabled:t,rows:4,value:e.sanctionReason??"",onChange:r=>n({...e,sanctionReason:r.target.value})})}),(0,b.jsx)(H,{label:"\u5907\u6CE8",children:(0,b.jsx)("textarea",{disabled:t,rows:3,value:e.remarks??"",onChange:r=>n({...e,remarks:r.target.value})})})]})}function Lf({item:e}){return(0,b.jsxs)(Ne,{columns:1,children:[(0,b.jsx)(H,{label:"\u6765\u6E90\u7C7B\u578B",children:(0,b.jsx)("input",{disabled:!0,value:Ua(e?.sourceType,Fu)})}),(0,b.jsx)(H,{label:"\u6765\u6E90\u6587\u4EF6",children:(0,b.jsx)("input",{disabled:!0,value:e?.sourceFileName??"\u2014"})}),(0,b.jsx)(H,{label:"\u6765\u6E90\u4F4D\u7F6E",children:(0,b.jsx)("input",{disabled:!0,value:e?.sourceLocation??"\u2014"})}),(0,b.jsx)(H,{label:"\u6765\u6E90\u539F\u6587",children:(0,b.jsx)("textarea",{disabled:!0,rows:12,value:e?.sourceContent??"\u2014"})})]})}function Mf({documentType:e,batch:t,busy:n,onDownload:r,onView:o}){let i=(t.duplicateCount??0)+(t.invalidCount??0),a=(t.duplicateCount??0)>0?"DUPLICATE":"INVALID";return(0,b.jsxs)(Ce,{children:[(0,b.jsxs)("span",{children:["\u5BFC\u5165\u5B8C\u6210\uFF1A\u603B\u6570 ",t.totalCount??0,"\uFF0C\u6210\u529F ",t.successCount??0,"\uFF0C\u91CD\u590D ",t.duplicateCount??0,"\uFF0C\u65E0\u6548 ",t.invalidCount??0,"\u3002"]}),i>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:n||!o,onClick:()=>{o?.(t.id,a)},children:[(0,b.jsx)("i",{className:"ri-list-check-2","aria-hidden":"true"}),"\u67E5\u770B\u660E\u7EC6"]}),(0,b.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:n,onClick:()=>{r(e,t.id)},children:[(0,b.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u4E0B\u8F7D Excel"]})]})]})}function Uf({task:e,busy:t,onRetry:n}){return e.status!=="FAILED"&&e.status!=="TIMED_OUT"?null:(0,b.jsxs)("div",{className:"tcw-catalog-import-failure",role:"alert",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("strong",{children:e.status==="TIMED_OUT"?"\u76EE\u5F55\u89E3\u6790\u8D85\u65F6":"\u76EE\u5F55\u89E3\u6790\u5931\u8D25"}),(0,b.jsx)("p",{children:e.errorMessage||"\u89E3\u6790\u4EFB\u52A1\u672A\u5B8C\u6210\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790\u3002"})]}),(0,b.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t,onClick:()=>{n(e.id).catch(()=>{})},children:[(0,b.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u91CD\u65B0\u89E3\u6790"]})]})}function zf({open:e,documentType:t,batchId:n,issueType:r,collection:o,loading:i,error:a,busy:s,onClose:l,onIssueTypeChange:u,onPageChange:c,onRetry:d}){return(0,b.jsxs)(be,{open:e,title:"\u5BFC\u5165\u95EE\u9898\u660E\u7EC6",size:"wide",onClose:l,footer:(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:l,children:"\u5173\u95ED"}),children:[(0,b.jsxs)("div",{className:"tcw-catalog-issue-toolbar","data-document-type":t,"data-batch-id":n,children:[(0,b.jsx)("button",{type:"button",className:r==="DUPLICATE"?"is-active":"",disabled:s||i,onClick:()=>u("DUPLICATE"),children:"\u91CD\u590D"}),(0,b.jsx)("button",{type:"button",className:r==="INVALID"?"is-active":"",disabled:s||i,onClick:()=>u("INVALID"),children:"\u65E0\u6548"})]}),i&&(0,b.jsx)("p",{className:"tcw-catalog-issue-status",role:"status",children:"\u6B63\u5728\u52A0\u8F7D\u5BFC\u5165\u95EE\u9898\u660E\u7EC6..."}),a&&(0,b.jsxs)("div",{className:"tcw-catalog-issue-error",role:"alert",children:[(0,b.jsx)("span",{children:a}),(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:s||i,onClick:d,children:"\u91CD\u65B0\u52A0\u8F7D"})]}),!i&&!a&&(0,b.jsx)(Se,{columns:[{type:"text",key:"issueType",header:"\u95EE\u9898\u7C7B\u578B",width:100,format:f=>f==="DUPLICATE"?"\u91CD\u590D":"\u65E0\u6548"},{type:"text",key:"sourceSequence",header:"\u6765\u6E90\u5E8F\u53F7",width:100},{type:"ellipsis",key:"sourceLocation",header:"\u6765\u6E90\u4F4D\u7F6E",width:160,maxWidth:160},{type:"ellipsis",key:"sourceContent",header:"\u6765\u6E90\u539F\u6587",width:260,maxWidth:260},{type:"ellipsis",key:"message",header:"\u95EE\u9898\u8BF4\u660E",width:220,maxWidth:220}],rows:o.items,rowKey:"id",pagination:Lu(o),onPageChange:c,emptyText:r==="DUPLICATE"?"\u6682\u65E0\u91CD\u590D\u6570\u636E":"\u6682\u65E0\u65E0\u6548\u6570\u636E"})]})}function ei({open:e,initialQuery:t,onAction:n,onClose:r}){let[o,i]=q.default.useState(t),[a,s]=q.default.useState(1),[l,u]=q.default.useState([]),[c,d]=q.default.useState(null),[p,f]=q.default.useState(""),[v,y]=q.default.useState(!1),x=q.default.useCallback(async(h,k=1)=>{let C=h.trim();if(!C){f("\u8BF7\u8F93\u5165\u5546\u54C1\u540D\u79F0\u6216\u6D77\u5173\u7F16\u7801");return}y(!0),f(""),d(null);try{let T=await n("search_hs_code",{keywords:C,page:k});if(T.success===!1)throw new Error(T.message||"\u6D77\u5173\u7F16\u7801\u67E5\u8BE2\u5931\u8D25");let E=Gv(T.data)?T.data:{results:[]};u(E.results),s(k)}catch(T){f(Qr(T,"\u6D77\u5173\u7F16\u7801\u67E5\u8BE2\u5931\u8D25")),u([])}finally{y(!1)}},[n]);q.default.useEffect(()=>{e&&(i(t),s(1),x(t,1))},[e,t,x]);let m=async h=>{y(!0),f("");try{let k=await n("get_hs_code_detail",{code:h.code,...h.detailUrl?{detailUrl:h.detailUrl}:{}});if(k.success===!1)throw new Error(k.message||"\u6D77\u5173\u7F16\u7801\u8BE6\u60C5\u67E5\u8BE2\u5931\u8D25");d(Kt(k.data)?k.data:{})}catch(k){f(Qr(k,"\u6D77\u5173\u7F16\u7801\u8BE6\u60C5\u67E5\u8BE2\u5931\u8D25"))}finally{y(!1)}};return(0,b.jsxs)(be,{open:e,title:"\u6D77\u5173\u7F16\u7801\u67E5\u8BE2",size:"wide",onClose:r,footer:(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:r,children:"\u5173\u95ED"}),children:[(0,b.jsx)("form",{onSubmit:h=>{h.preventDefault(),x(o,1)},children:(0,b.jsxs)(Ne,{columns:2,children:[(0,b.jsx)(H,{label:"\u5546\u54C1\u540D\u79F0\u6216\u6D77\u5173\u7F16\u7801",required:!0,children:(0,b.jsx)("input",{value:o,onChange:h=>i(h.target.value)})}),(0,b.jsx)("div",{children:(0,b.jsxs)("button",{type:"submit",className:"tcw-button tcw-button--primary",disabled:v,children:[(0,b.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),"\u67E5\u8BE2"]})})]})}),p&&(0,b.jsx)("p",{role:"alert",children:p}),c?(0,b.jsx)(jv,{detail:c,onBack:()=>d(null)}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Se,{columns:[{type:"text",key:"code",header:"\u6D77\u5173\u7F16\u7801",width:130},{type:"ellipsis",key:"name",header:"\u5546\u54C1\u540D\u79F0",width:220,maxWidth:220},{type:"ellipsis",key:"englishName",header:"\u82F1\u6587\u540D\u79F0",width:220,maxWidth:220},{type:"text",key:"unit",header:"\u5355\u4F4D",width:90},{type:"text",key:"taxRefundRate",header:"\u9000\u7A0E\u7387",width:90}],rows:l,rowKey:h=>h.code,actions:h=>(0,b.jsx)("button",{type:"button",onClick:()=>{m(h)},children:"\u8BE6\u60C5"}),emptyText:v?"\u67E5\u8BE2\u4E2D":"\u6682\u65E0\u6D77\u5173\u7F16\u7801\u7ED3\u679C"}),l.length>0&&(0,b.jsxs)("div",{className:"tcw-page-commands",children:[(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:v||a<=1,onClick:()=>{x(o,a-1)},children:"\u4E0A\u4E00\u9875"}),(0,b.jsxs)("span",{children:["\u7B2C ",a," \u9875"]}),(0,b.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:v,onClick:()=>{x(o,a+1)},children:"\u4E0B\u4E00\u9875"})]})]})]})}function jv({detail:e,onBack:t}){return(0,b.jsxs)("section",{children:[(0,b.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:t,children:[(0,b.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE\u67E5\u8BE2\u7ED3\u679C"]}),(0,b.jsxs)("h3",{children:[e.code||"\u2014"," ",e.name||e.title||""]}),(0,b.jsxs)("p",{children:[(0,b.jsx)("strong",{children:"\u67E5\u8BE2\u65F6\u95F4\uFF1A"}),e.queriedAt||"\u2014"]}),e.sourceUrl&&(0,b.jsxs)("p",{children:[(0,b.jsx)("strong",{children:"\u6570\u636E\u6765\u6E90\uFF1A"}),(0,b.jsx)("a",{href:e.sourceUrl,target:"_blank",rel:"noreferrer",children:e.sourceUrl})]}),e.sections?.map((n,r)=>(0,b.jsxs)("section",{children:[(0,b.jsx)("h4",{children:n.title||"\u8BE6\u60C5"}),n.rows?.map((o,i)=>(0,b.jsxs)("p",{children:[(0,b.jsxs)("strong",{children:[o.label||"\u5B57\u6BB5","\uFF1A"]}),o.value||"\u2014"]},`${o.label??"row"}-${i}`))]},`${n.title??"detail"}-${r}`))]})}function Cf(e,t){return String(e[t]??"").trim()}function bf(e){return{catalogType:e?.catalogType??"DUAL_USE",productName:e?.productName??"",hsCode:e?.hsCode??"",controlDescription:e?.controlDescription??""}}function kf(e){return{companyName:e?.companyName??"",countryOrRegion:e?.countryOrRegion??"",sanctionListSource:e?.sanctionListSource??"",effectiveDate:e?.effectiveDate??"",sanctionReason:e?.sanctionReason??"",remarks:e?.remarks??""}}function _u({children:e,title:t,onClick:n}){return(0,b.jsx)("span",{className:"tcw-row-actions",children:(0,b.jsx)("button",{type:"button",title:t,onClick:n,children:e})})}function Ou(e){return Object.entries(e).map(([t,n])=>({value:t,label:String(n)}))}function Ua(e,t){return typeof e=="string"&&e in t?t[e]:e?String(e):"\u2014"}function Gv(e){return Kt(e)&&Array.isArray(e.results)&&e.results.every(t=>Kt(t)&&typeof t.code=="string")}function Kt(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function Qr(e,t){return e instanceof Error?e.message:t}function Ma(e){if(e.success===!1)throw new Error(typeof e.message=="string"&&e.message?e.message:"\u64CD\u4F5C\u5931\u8D25")}function Lu(e){let t=Number(e.pageSize)>0?Number(e.pageSize):Zo,n=Number(e.total)>=0?Number(e.total):e.items.length,r=Math.max(1,Math.ceil(n/t));return{page:Math.min(r,Math.max(1,Number(e.page)||1)),pageSize:t,total:n,pageCount:r}}function Bf(e){if(!Kt(e)||!Kt(e.task))throw new Error("\u4E0A\u4F20\u5B8C\u6210\u54CD\u5E94\u7F3A\u5C11\u4EFB\u52A1\u4FE1\u606F");return e}function Wv(e){return Kt(e)&&Kt(e.task)&&typeof e.task.id=="string"&&typeof e.task.documentType=="string"&&typeof e.task.status=="string"&&Array.isArray(e.commands)&&e.commands.every(t=>Kt(t)&&typeof t.commandKey=="string"&&Kt(t.payload))&&Kt(e.polling)&&Number.isFinite(e.polling.intervalMs)&&Number.isFinite(e.polling.timeoutMs)}function Vv(e){return new Promise(t=>setTimeout(t,e))}var zu=J(ct(),1);var Mu=[{key:"replace-controlled",title:"\u8986\u76D6\u7BA1\u63A7\u76EE\u5F55",description:"\u786E\u8BA4\u76EE\u5F55\u7C7B\u578B\u548C\u88AB\u8986\u76D6\u7684\u5386\u53F2\u6587\u4EF6\u3002\u8986\u76D6\u540E\u65B0\u76EE\u5F55\u7ACB\u5373\u751F\u6548\uFF0C\u539F\u76EE\u5F55\u6570\u636E\u53EA\u5728\u540E\u53F0\u7559\u75D5\uFF0C\u524D\u7AEF\u6682\u4E0D\u652F\u6301\u6062\u590D\u3002",icon:"ri-folder-warning-line"},{key:"duplicate-contract",title:"\u91CD\u590D\u4E0A\u4F20\u5408\u540C",description:"\u91C7\u8D2D\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C\u5747\u4E0D\u5141\u8BB8\u8986\u76D6\uFF1B\u53D1\u73B0\u76F8\u540C\u5408\u540C\u7F16\u7801\u65F6\u7CFB\u7EDF\u4F1A\u963B\u6B62\u4E0A\u4F20\u3002\u786E\u9700\u91CD\u4F20\u65F6\u5FC5\u987B\u5148\u903B\u8F91\u5220\u9664\u65E7\u5408\u540C\uFF0C\u65E7\u5408\u540C\u4EBA\u5DE5\u91D1\u989D\u4E0D\u8FC1\u79FB\u5230\u65B0\u8BB0\u5F55\u3002",icon:"ri-upload-cloud-2-line"},{key:"replace-catalog",title:"\u8986\u76D6\u76EE\u5F55",description:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u548C\u516C\u53F8\u5236\u88C1\u76EE\u5F55\u8986\u76D6\u90FD\u4F1A\u7ACB\u5373\u5F71\u54CD\u98CE\u9669\u7ED3\u679C\uFF0C\u8BF7\u786E\u8BA4\u88AB\u8986\u76D6\u6587\u4EF6\u548C\u8BB0\u5F55\u6570\u91CF\u3002",icon:"ri-book-open-line"},{key:"delete-business",title:"\u5220\u9664\u4E1A\u52A1\u6570\u636E",description:"\u5220\u9664\u4F9B\u5E94\u5546\u3001\u5BA2\u6237\u3001\u8BA2\u5355\u3001\u5546\u54C1\u3001\u76EE\u5F55\u8BB0\u5F55\u6216\u5386\u53F2\u6587\u4EF6\u524D\uFF0C\u8BF7\u786E\u8BA4\u5176\u4E0B\u6E38\u5F71\u54CD\u3002\u4E1A\u52A1\u5220\u9664\u548C\u76EE\u5F55\u8986\u76D6\u5747\u4E3A\u903B\u8F91\u5220\u9664\u3002",icon:"ri-delete-bin-line"},{key:"payments",title:"\u7EF4\u62A4\u4ED8\u6B3E\u3001\u6536\u6B3E\u548C\u9000\u7A0E",description:"\u91C7\u8D2D\u548C\u9500\u552E\u91D1\u989D\u7EDF\u4E00\u4F7F\u7528\u4EBA\u6C11\u5E01\uFF1B\u91D1\u989D\u8D85\u8FC7\u8BA2\u5355\u603B\u989D\u6216\u9884\u8BA1\u9000\u7A0E\u989D\u65F6\u7CFB\u7EDF\u5C06\u7981\u6B62\u4FDD\u5B58\u3002",icon:"ri-money-cny-circle-line"},{key:"profit-rate",title:"\u7EF4\u62A4\u5229\u6DA6\u7387",description:"\u5BA2\u6237\u9ED8\u8BA4\u5229\u6DA6\u7387\u4F1A\u5B9E\u65F6\u5F71\u54CD\u5176\u5168\u90E8\u672A\u5355\u72EC\u8BBE\u7F6E\u5229\u6DA6\u7387\u7684\u6D3E\u751F\u9500\u552E\u8BA2\u5355\uFF0C\u5386\u53F2\u751F\u6210\u6587\u4EF6\u4E0D\u4F1A\u81EA\u52A8\u66F4\u65B0\u3002",icon:"ri-line-chart-line"},{key:"risk-review",title:"\u6838\u5BF9\u98CE\u9669",description:"\u7CFB\u7EDF\u4F1A\u5339\u914D\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u548C\u516C\u53F8\u5236\u88C1\u76EE\u5F55\uFF1B\u547D\u4E2D\u5236\u88C1\u516C\u53F8\u53EA\u63D0\u793A\u3001\u4E0D\u963B\u6B62\u4FDD\u5B58\uFF0C\u4F46\u5FC5\u987B\u4EBA\u5DE5\u6838\u5BF9\u98CE\u9669\u660E\u7EC6\u3002",icon:"ri-shield-check-line"},{key:"sales-file",title:"\u751F\u6210\u9500\u552E\u6587\u4EF6",description:"\u751F\u6210\u524D\u8BF7\u786E\u8BA4\u516C\u53F8\u4FE1\u606F\u3001\u94F6\u884C\u4FE1\u606F\u548C\u5229\u6DA6\u7387\u89C4\u5219\u3002\u6A21\u677F\u8F85\u52A9\u5B57\u6BB5\u7531\u7528\u6237\u5728\u751F\u6210\u540E\u7684 Excel \u4E2D\u5BA1\u6838\u4FEE\u6539\u3002",icon:"ri-file-excel-2-line"},{key:"edit-excel",title:"\u5728\u7EBF\u7F16\u8F91 Excel",description:"\u5386\u53F2\u6587\u4EF6\u5728\u7EBF\u4FDD\u5B58\u4F1A\u76F4\u63A5\u8986\u76D6\u5F53\u524D\u6587\u4EF6\uFF0C\u4E0D\u4FDD\u7559\u65E7\u7248\u672C\uFF0C\u4E5F\u4E0D\u4F1A\u53CD\u5411\u66F4\u65B0\u91C7\u8D2D\u5408\u540C\u3001\u5BA2\u6237\u5408\u540C\u6216\u6570\u636E\u5206\u6790\u6570\u636E\u3002",icon:"ri-edit-box-line"},{key:"confirm-operation",title:"\u64CD\u4F5C\u524D\u8BF7\u786E\u8BA4",description:"\u5916\u8D38\u5408\u89C4\u6570\u636E\u4F1A\u76F4\u63A5\u5F71\u54CD\u5408\u540C\u5173\u8054\u3001\u5229\u6DA6\u6821\u9A8C\u3001\u9500\u552E\u6587\u4EF6\u548C\u7ECF\u8425\u62A5\u8868\u3002\u6267\u884C\u76EE\u5F55\u8986\u76D6\u3001\u5408\u540C\u5220\u9664\u3001\u91D1\u989D\u4FEE\u6539\u6216\u6587\u4EF6\u751F\u6210\u524D\uFF0C\u8BF7\u6838\u5BF9\u4E1A\u52A1\u5BF9\u8C61\u548C\u6570\u636E\u5185\u5BB9\u3002",icon:"ri-error-warning-line"}],cb=["<h3>\u9AD8\u98CE\u9669\u64CD\u4F5C\u63D0\u793A</h3>","<ul>",...Mu.map(({title:e,description:t})=>`<li><strong>${Hf(e)}</strong>\uFF1A${Hf(t)}</li>`),"</ul>","<h3>\u63A8\u8350\u4E1A\u52A1\u987A\u5E8F</h3>","<p>\u8BF7\u6309\u7167\u9875\u9762\u4E1A\u52A1\u6D41\u7A0B\u56FE\u5B8C\u6210\u76EE\u5F55\u7EF4\u62A4\u3001\u91C7\u8D2D\u548C\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u3001\u98CE\u9669\u5339\u914D\u3001\u9500\u552E\u8BA2\u5355\u6D3E\u751F\u3001\u5229\u6DA6\u7387\u6821\u9A8C\u548C\u9500\u552E\u6587\u4EF6\u751F\u6210\u3002</p>"].join("");function Hf(e){return e.replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t]??t)}var le=J(ge(),1),$v=Mu,jf=[{key:"catalogs",title:"\u7EF4\u62A4\u7BA1\u63A7\u5546\u54C1\u4E0E\u516C\u53F8\u5236\u88C1\u76EE\u5F55",titleLines:["\u7EF4\u62A4\u7BA1\u63A7\u5546\u54C1\u4E0E","\u516C\u53F8\u5236\u88C1\u76EE\u5F55"],description:"\u4E0A\u4F20\u5E76\u7EF4\u62A4\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u548C\u516C\u53F8\u5236\u88C1\u76EE\u5F55",icon:"ri-book-open-line",tone:"blue"},{key:"contracts",title:"\u4E0A\u4F20\u5E76\u5BA1\u6838\u91C7\u8D2D\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C",titleLines:["\u4E0A\u4F20\u5E76\u5BA1\u6838\u91C7\u8D2D","\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C"],description:"\u4E0A\u4F20\u91C7\u8D2D\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C\u5E76\u8FDB\u884C\u5BA1\u6838\u5165\u5E93",icon:"ri-file-upload-line",tone:"green"},{key:"risk-match",title:"\u5546\u54C1\u53CA\u516C\u53F8\u98CE\u9669\u5339\u914D",titleLines:["\u5546\u54C1\u53CA\u516C\u53F8","\u98CE\u9669\u5339\u914D"],description:"\u7CFB\u7EDF\u5339\u914D\u76EE\u5F55\u8FDB\u884C\u5546\u54C1\u548C\u516C\u53F8\u98CE\u9669\u8BC6\u522B",icon:"ri-shield-check-line",tone:"violet"},{key:"derive-sales",title:"\u81EA\u52A8\u6D3E\u751F\u9500\u552E\u8BA2\u5355",titleLines:["\u81EA\u52A8\u6D3E\u751F","\u9500\u552E\u8BA2\u5355"],description:"\u6839\u636E\u5BA2\u6237\u5408\u540C\u81EA\u52A8\u5173\u8054\u91C7\u8D2D\u5408\u540C\u5E76\u6D3E\u751F\u8BA2\u5355",icon:"ri-shopping-cart-line",tone:"orange"},{key:"profit-check",title:"\u5229\u6DA6\u7387\u6821\u9A8C",titleLines:["\u5229\u6DA6\u7387\u6821\u9A8C"],description:"\u6821\u9A8C\u5229\u6DA6\u7387\u662F\u5426\u7B26\u5408\u4F01\u4E1A\u89C4\u5219\u548C\u8981\u6C42",icon:"ri-percent-line",tone:"blue"},{key:"bank",title:"\u9009\u62E9\u94F6\u884C\u4FE1\u606F\uFF08\u62A5\u5173\u5355\u8DF3\u8FC7\uFF09",titleLines:["\u9009\u62E9\u94F6\u884C\u4FE1\u606F","\uFF08\u62A5\u5173\u5355\u8DF3\u8FC7\uFF09"],description:"\u9009\u62E9\u6216\u786E\u8BA4\u94F6\u884C\u4FE1\u606F\u7528\u4E8E\u76F8\u5173\u5355\u636E",icon:"ri-bank-line",tone:"green"},{key:"review-files",title:"\u751F\u6210\u5E76\u5728\u7EBF\u5BA1\u6838\u9500\u552E\u6587\u4EF6",titleLines:["\u751F\u6210\u5E76\u5728\u7EBF\u5BA1\u6838","\u9500\u552E\u6587\u4EF6"],description:"\u751F\u6210\u9500\u552E\u6587\u4EF6\u5E76\u5728 Excel \u4E2D\u5BA1\u6838\u4FEE\u6539",icon:"ri-file-check-line",tone:"violet"},{key:"analytics",title:"\u6570\u636E\u5206\u6790",titleLines:["\u6570\u636E\u5206\u6790"],description:"\u67E5\u770B\u4E1A\u52A1\u6570\u636E\u548C\u7ECF\u8425\u5206\u6790\u62A5\u8868",icon:"ri-bar-chart-line",tone:"blue"}],Qv=new Set(["h2","h3","h4","p","strong","b","ul","ol","li","br"]),Gf=new Set(["script","style","iframe","object","template","svg","math"]);function Wf({dashboard:e,riskNotice:t}={}){let n=qv(e,t),r=n?Kv(n):[],o=Yv(r),i=n?o:$v;return(0,le.jsxs)("div",{className:"tcw-home-page",children:[(0,le.jsxs)("section",{className:"tcw-home-section","aria-labelledby":"risk-operation-title",children:[(0,le.jsxs)("h2",{id:"risk-operation-title",className:"tcw-home-section-title",children:[(0,le.jsx)("i",{className:"ri-shield-flash-line","aria-hidden":"true"}),"\u98CE\u9669\u64CD\u4F5C\u63D0\u793A"]}),i.length>0?(0,le.jsx)("div",{className:"tcw-home-risk-matrix",children:i.map(a=>(0,le.jsxs)("article",{className:"tcw-home-risk-item","data-risk-operation":a.key,children:[(0,le.jsxs)("div",{className:"tcw-home-risk-heading",children:[(0,le.jsx)("i",{className:a.icon,"aria-hidden":"true"}),(0,le.jsx)("h3",{children:a.title})]}),(0,le.jsx)("p",{children:a.description})]},a.key))}):(0,le.jsx)("div",{className:"tcw-home-maintained-notice","data-maintained-risk-notice":!0,children:$f(r,"risk")})]}),(0,le.jsxs)("section",{className:"tcw-home-section","aria-labelledby":"workflow-title",children:[(0,le.jsxs)("div",{className:"tcw-home-workflow-heading",children:[(0,le.jsx)("h2",{id:"workflow-title",className:"tcw-home-section-title",children:"\u4E1A\u52A1\u6D41\u7A0B\u56FE"}),(0,le.jsx)("p",{children:"\u8BF7\u6309\u7167\u4EE5\u4E0B\u4E1A\u52A1\u6D41\u7A0B\u8FDB\u884C\u64CD\u4F5C"})]}),(0,le.jsx)("div",{className:"tcw-home-workflow-scroll",children:(0,le.jsx)("div",{className:"tcw-home-workflow",children:jf.map((a,s)=>(0,le.jsxs)(zu.default.Fragment,{children:[(0,le.jsxs)("article",{className:`tcw-home-workflow-step tcw-home-workflow-step--${a.tone}`,"data-workflow-step":a.key,children:[(0,le.jsx)("span",{className:"tcw-home-step-number",children:s+1}),(0,le.jsx)("i",{className:a.icon,"aria-hidden":"true"}),(0,le.jsx)("h3",{"aria-label":a.title,children:a.titleLines.map(l=>(0,le.jsx)("span",{className:"tcw-home-step-title-line",children:l},l))}),(0,le.jsx)("p",{children:a.description})]}),s<jf.length-1&&(0,le.jsx)("i",{className:"ri-arrow-right-line tcw-home-workflow-connector","data-workflow-connector":!0,"aria-hidden":"true"})]},a.key))})})]})]})}function qv(e,t){let n=t===void 0?e?.riskNotice:t;if(typeof n=="string")return n.trim();if(!n||typeof n!="object")return"";let r=n.content;return typeof r=="string"?r.trim():""}function Kv(e){let t={tag:"root",children:[]},n=[t],r=[];for(let o of e.match(/<[^>]*>|[^<]+|</g)??[]){if(!o.startsWith("<")){r.length===0&&n.at(-1)?.children.push(Xv(o));continue}let i=o.match(/^<\s*(\/?)\s*([a-z][a-z0-9]*)[^>]*>$/i);if(!i)continue;let a=i[1]==="/",s=i[2].toLowerCase(),l=o.endsWith("/>");if(r.length>0){a&&s===r.at(-1)?r.pop():!a&&!l&&Gf.has(s)&&r.push(s);continue}if(Gf.has(s)){!a&&!l&&r.push(s);continue}if(!Qv.has(s))continue;let u=s==="b"?"strong":s;if(a){let d=-1;for(let p=n.length-1;p>0;p-=1)if(n[p].tag===u){d=p;break}d>0&&n.splice(d);continue}let c={tag:u,children:[]};n.at(-1)?.children.push(c),u!=="br"&&!l&&n.push(c)}return t.children}function Yv(e){return e.flatMap(n=>typeof n=="string"||n.tag!=="ul"&&n.tag!=="ol"?[]:n.children.filter(r=>typeof r!="string"&&r.tag==="li")).map((n,r)=>{let o=Vf(n,"strong"),i=o?Uu(o).trim():`\u98CE\u9669\u63D0\u793A ${r+1}`,a=Uu(n,o).replace(/^[\s::,,。-]+/,"").trim();return{key:`configured-${r+1}`,title:i,description:a,icon:"ri-error-warning-line"}})}function Vf(e,t){for(let n of e.children){if(typeof n=="string")continue;if(n.tag===t)return n;let r=Vf(n,t);if(r)return r}return null}function Uu(e,t=null){return e.children.map(n=>typeof n=="string"?n:n===t?"":Uu(n,t)).join("")}function $f(e,t){return e.map((n,r)=>typeof n=="string"?n:zu.default.createElement(n.tag,{key:`${t}-${r}`},...$f(n.children,`${t}-${r}`)))}function Xv(e){let t={amp:"&",apos:"'",gt:">",lt:"<",nbsp:"\xA0",quot:'"'};return e.replace(/&(#x[\da-f]+|#\d+|[a-z]+);/gi,(n,r)=>{if(r[0]!=="#")return t[r.toLowerCase()]??n;let o=r[1].toLowerCase()==="x"?Number.parseInt(r.slice(2),16):Number.parseInt(r.slice(1),10);return Number.isSafeInteger(o)&&o>=0&&o<=1114111?String.fromCodePoint(o):n})}var Ee=J(ct(),1);var w=J(ge(),1),Zf=20,Jf={UNCHECKED:"\u672A\u68C0\u67E5",CLEAR:"\u65E0\u547D\u4E2D",HIT:"\u547D\u4E2D\u63D0\u9192"},Ba={UNCONFIRMED:"\u5F85\u5BA1\u6838",AI_CONFIRMED:"AI\u786E\u8BA4",MANUALLY_CONFIRMED:"\u4EBA\u5DE5\u786E\u8BA4"},eg={DUAL_USE:"\u519B\u6C11\u4E24\u7528",OVERSEAS_SANCTION:"\u6D77\u5916\u5236\u88C1"},Wu={CONTRACT_EXTRACTED:"\u5408\u540C\u63D0\u53D6",MANUAL_ENTRY:"\u624B\u5DE5\u65B0\u589E"},Zv=[{type:"text",key:"code",label:"\u4F9B\u5E94\u5546\u4EE3\u7801"},{type:"text",key:"name",label:"\u4F9B\u5E94\u5546\u540D\u79F0"},{type:"text",key:"shortName",label:"\u7B80\u79F0"},{type:"text",key:"contactName",label:"\u8054\u7CFB\u4EBA"},{type:"text",key:"phone",label:"\u8054\u7CFB\u7535\u8BDD"}],Jv=[{type:"text",key:"contractNo",label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7"},{type:"date-range",key:"orderDate",label:"\u4E0B\u5355\u65E5\u671F"},{type:"amount-range",key:"contractAmountCny",label:"\u91C7\u8D2D\u91D1\u989D",currency:"CNY"},{type:"select",key:"hasUnpaid",label:"\u672A\u4ED8\u6B3E",options:Yf()},{type:"select",key:"hasUnrefunded",label:"\u672A\u9000\u7A0E",options:Yf()},{type:"select",key:"linkStatus",label:"\u5173\u8054\u72B6\u6001",options:[{value:"LINKED",label:"\u5DF2\u5173\u8054"},{value:"UNLINKED",label:"\u672A\u5173\u8054"}]}],e0=[{type:"text",key:"productName",label:"\u5546\u54C1\u540D\u79F0"},{type:"text",key:"productDescription",label:"\u5546\u54C1\u63CF\u8FF0"},{type:"text",key:"hsCode",label:"\u6D77\u5173\u7F16\u7801"},{type:"select",key:"hsCodeStatus",label:"\u7F16\u7801\u72B6\u6001",options:za(Ba)},{type:"select",key:"complianceCategory",label:"\u5408\u89C4\u5206\u7C7B",options:za(eg)}];function t0(e,t=300){let n=null,r=()=>{n&&clearTimeout(n),n=null};return{schedule(o,i){if(r(),o!=="text"){e(i);return}n=setTimeout(()=>{n=null,e(i)},t)},flush(o){r(),e(o)},cancel:r}}function n0({onAction:e,onFileAction:t}){let n=async(r,o)=>{let i=await e(r,o);return Xf(i),i};return{uploadPurchaseContract:async r=>{let o=await t("upload_purchase_contract",r,{documentType:"PURCHASE_CONTRACT"});return Xf(o),o},savePurchaseReview:(r,o)=>n("save_purchase_review",{importTaskId:r,draft:o}),updateSupplier:r=>n("update_supplier",{...r}),updatePurchaseOrder:r=>n("update_purchase_order",{...r}),addPurchaseLine:(r,o)=>n("add_purchase_line",{...o,purchaseOrderId:r,sourceType:"MANUAL_ENTRY"}),updatePurchaseLine:r=>n("update_purchase_line",{...r}),deleteEntity:(r,o)=>n("delete_entity",{entityType:r,id:o})}}function r0(e,t,n=new Date().getFullYear()){let r=`${n}-`,o=new Map,i={};for(let s of e)s.id&&(i[s.id]={unpaidAmountCny:Math.max(Z(s.contractAmountCny)-Z(s.paidAmountCny),0),unrefundedAmountCny:Math.max(Z(s.estimatedRefundAmountCny)-Z(s.refundedAmountCny),0)});for(let s of t)o.set(s.productName,(o.get(s.productName)??0)+Z(s.lineAmountTaxIncluded));let a=e.filter(s=>s.orderDate.startsWith(r));return{totalOrderCount:e.length,totalPurchaseAmountCny:qf(e,s=>s.contractAmountCny),currentYearOrderCount:a.length,currentYearPurchaseAmountCny:qf(a,s=>s.contractAmountCny),topProducts:[...o].map(([s,l])=>({productName:s,amountCny:l})).sort((s,l)=>l.amountCny-s.amountCny||s.productName.localeCompare(l.productName)).slice(0,5),orderBalances:i}}function tg(e){let t=[];e.supplier.name.trim()||t.push("\u4F9B\u5E94\u5546\u540D\u79F0\u4E3A\u5FC5\u586B\u9879"),e.order.contractNo.trim()||t.push("\u91C7\u8D2D\u5408\u540C\u7F16\u53F7\u4E3A\u5FC5\u586B\u9879"),e.order.orderDate||t.push("\u4E0B\u5355\u65E5\u671F\u4E3A\u5FC5\u586B\u9879"),Z(e.order.contractAmountCny)>=0||t.push("\u91C7\u8D2D\u8BA2\u5355\u603B\u989D\u5FC5\u987B\u4E3A\u6709\u6548\u91D1\u989D"),Z(e.order.paidAmountCny)<0&&t.push("\u5DF2\u4ED8\u6B3E\u4E0D\u80FD\u4E3A\u8D1F\u6570"),Z(e.order.paidAmountCny)>Z(e.order.contractAmountCny)&&t.push("\u5DF2\u4ED8\u6B3E\u4E0D\u80FD\u8D85\u8FC7\u91C7\u8D2D\u8BA2\u5355\u603B\u989D"),Z(e.order.refundedAmountCny)<0&&t.push("\u5DF2\u9000\u7A0E\u4E0D\u80FD\u4E3A\u8D1F\u6570"),e.order.amountMismatch&&!e.order.amountMismatchConfirmed&&t.push("\u8BA2\u5355\u603B\u989D\u5DEE\u5F02\u5FC5\u987B\u786E\u8BA4"),e.lines.length||t.push("\u91C7\u8D2D\u5408\u540C\u5FC5\u987B\u5305\u542B\u81F3\u5C11\u4E00\u6761\u5546\u54C1"),e.lines.forEach((r,o)=>{let i=`\u7B2C${o+1}\u6761\u5546\u54C1`;r.productName.trim()||t.push(`${i}\u540D\u79F0\u4E3A\u5FC5\u586B\u9879`),r.unit?.trim()||t.push(`${i}\u5355\u4F4D\u4E3A\u5FC5\u586B\u9879`),Z(r.quantity)>0||t.push(`${i}\u6570\u91CF\u5FC5\u987B\u5927\u4E8E0`),Z(r.unitPriceTaxIncluded)<0&&t.push(`${i}\u542B\u7A0E\u5355\u4EF7\u4E0D\u80FD\u4E3A\u8D1F\u6570`),Z(r.lineAmountTaxIncluded)<0&&t.push(`${i}\u542B\u7A0E\u91D1\u989D\u4E0D\u80FD\u4E3A\u8D1F\u6570`),Hu(r.refundRate)&&t.push(`${i}\u9000\u7A0E\u7387\u4E3A\u5FC5\u586B\u9879`),Hu(r.refundPolicyReference)&&t.push(`${i}\u9000\u7A0E\u653F\u7B56\u4F9D\u636E\u4E3A\u5FC5\u586B\u9879`),Hu(r.refundPolicyDate)&&t.push(`${i}\u9000\u7A0E\u653F\u7B56\u65E5\u671F\u4E3A\u5FC5\u586B\u9879`),r.refundPolicyDate&&e.order.orderDate&&r.refundPolicyDate>e.order.orderDate&&t.push(`${i}\u9000\u7A0E\u653F\u7B56\u65E5\u671F\u4E0D\u5F97\u665A\u4E8E\u4E0B\u5355\u65E5\u671F`),r.amountMismatch&&!r.amountMismatchConfirmed&&t.push(`${i}\u91D1\u989D\u5DEE\u5F02\u5FC5\u987B\u786E\u8BA4`)});let n=e.lines.reduce((r,o)=>r+ig(o),0);return Z(e.order.refundedAmountCny)>n&&t.push("\u5DF2\u9000\u7A0E\u4E0D\u80FD\u8D85\u8FC7\u9884\u8BA1\u9000\u7A0E\u603B\u989D"),t}function ng(e){let[t,n]=Ee.default.useState({}),[r,o]=Ee.default.useState(null),[i,a]=Ee.default.useState(null),[s,l]=Ee.default.useState(null),[u,c]=Ee.default.useState(null),[d,p]=Ee.default.useState(e.reviewDraft),[f,v]=Ee.default.useState(""),y=Ee.default.useCallback(()=>{p(null),e.onReviewClose?.()},[e.onReviewClose]),x=Ee.default.useMemo(()=>n0(e),[e.onAction,e.onFileAction]),m=y0(e.route),g=m==="suppliers"?Zv:m==="purchaseOrders"?Jv:e0,h=Ee.default.useCallback((P,Q)=>e.onQuery(m,{page:P,pageSize:Zf,filters:Q,parameters:e.route.level==="orders"?{supplierId:e.route.supplierId}:e.route.level==="lines"?{supplierId:e.route.supplierId,purchaseOrderId:e.route.orderId}:void 0}),[m,e.onQuery,e.route]),k=Ee.default.useMemo(()=>t0(P=>{h(1,P)}),[h]);Ee.default.useEffect(()=>()=>k.cancel(),[k]),Ee.default.useEffect(()=>{p(e.reviewDraft)},[e.reviewDraft]);let C=(P,Q)=>{let Ie={...t,[P]:Q};n(Ie),k.schedule(g.find(fn=>fn.key===P)?.type??"text",Ie)},T=()=>{n({}),k.flush({})},E=async(P,Q)=>{v("");try{return await P(),v(Q),!0}catch(Ie){return v(w0(Ie)),!1}},O=P=>h0(s)?x.addPurchaseLine(e.order?.id??"",P):P.id?x.updatePurchaseLine({...P,id:P.id}):Promise.reject(new Error("\u91C7\u8D2D\u5546\u54C1\u6807\u8BC6\u4E0D\u80FD\u4E3A\u7A7A")),L=!!(e.importTask&&(d||e.importTask.duplicateContractError));return(0,w.jsxs)("section",{className:"tcw-procurement-page","data-procurement-level":e.route.level,children:[f&&(0,w.jsx)("div",{className:"tcw-procurement-feedback",role:"status",children:f}),e.importTask&&(e.importTask.status==="FAILED"||e.importTask.status==="TIMED_OUT")&&(0,w.jsxs)("div",{className:"tcw-procurement-feedback",role:"alert",children:[e.importTask.errorMessage||"\u91C7\u8D2D\u5408\u540C\u89E3\u6790\u5931\u8D25",e.onRetryImport&&(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{e.onRetryImport?.(e.importTask.id)},children:"\u91CD\u65B0\u89E3\u6790"})]}),e.route.level==="suppliers"&&(0,w.jsx)(o0,{props:e,filters:t,definitions:g,onFilter:C,onSubmit:()=>k.flush(t),onReset:T,onPage:P=>{h(P,t)},onSupplierDialog:o,onDelete:P=>c({entityType:"supplier",item:P})}),e.route.level==="orders"&&(0,w.jsx)(i0,{props:e,filters:t,definitions:g,onFilter:C,onSubmit:()=>k.flush(t),onReset:T,onPage:P=>{h(P,t)},onOrderDialog:a,onDelete:P=>c({entityType:"purchaseOrder",item:P})}),e.route.level==="lines"&&(0,w.jsx)(a0,{props:e,filters:t,definitions:g,onFilter:C,onSubmit:()=>k.flush(t),onReset:T,onPage:P=>{h(P,t)},onLineDialog:l,onDelete:P=>c({entityType:"purchaseLine",item:P})}),(0,w.jsx)(l0,{state:r,busy:e.busy,onClose:()=>o(null),onSave:P=>E(()=>x.updateSupplier(P),"\u4F9B\u5E94\u5546\u4E3B\u6863\u5DF2\u4FDD\u5B58").then(Q=>{Q&&o(null)})}),(0,w.jsx)(u0,{state:i,lines:e.purchaseLines.items,busy:e.busy,onClose:()=>a(null),onSave:P=>E(()=>x.updatePurchaseOrder(P),"\u91C7\u8D2D\u8BA2\u5355\u5DF2\u4FDD\u5B58").then(Q=>{Q&&a(null)})}),(0,w.jsx)(c0,{state:s,order:e.order??null,busy:e.busy,onAction:e.onAction,onClose:()=>l(null),onSave:P=>E(()=>O(P),"\u91C7\u8D2D\u5546\u54C1\u5DF2\u4FDD\u5B58").then(Q=>{Q&&l(null)})}),(0,w.jsx)(d0,{open:L,task:e.importTask,draft:d,busy:e.busy,onChange:p,onClose:y,onSave:P=>E(()=>x.savePurchaseReview(e.importTask.id,P),"\u91C7\u8D2D\u5408\u540C\u5BA1\u6838\u5DF2\u4FDD\u5B58").then(Q=>{Q&&y()})}),(0,w.jsx)(g0,{target:u,supplier:e.supplier??null,busy:e.busy,onCancel:()=>c(null),onConfirm:()=>{u?.item.id&&E(()=>x.deleteEntity(u.entityType,u.item.id),"\u5DF2\u903B\u8F91\u5220\u9664").then(P=>{P&&c(null)})}})]})}function o0({props:e,filters:t,definitions:n,onFilter:r,onSubmit:o,onReset:i,onPage:a,onSupplierDialog:s,onDelete:l}){return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Vu,{title:"\u4F9B\u5E94\u5546\u5217\u8868",description:"\u4E00\u7EA7\u9875\u9762\uFF1A\u7BA1\u7406\u4F9B\u5E94\u5546\u4E3B\u6863\uFF0C\u5E76\u901A\u8FC7\u4F9B\u5E94\u5546\u4EE3\u7801\u8FDB\u5165\u8BE5\u4F9B\u5E94\u5546\u7684\u91C7\u8D2D\u8BA2\u5355\u5217\u8868\u3002"}),(0,w.jsx)(We,{definitions:n,values:t,onChange:r,onQuery:o,onReset:i}),(0,w.jsx)(Ce,{children:"\u91C7\u8D2D\u5408\u540C\u4E0A\u4F20\u540E\u81EA\u52A8\u5F52\u5165\u4F9B\u5E94\u5546\uFF1B\u540C\u540D\u4F9B\u5E94\u5546\u5F52\u5E76\u5230\u540C\u4E00\u4E3B\u6863\u3002\u70B9\u51FB\u4F9B\u5E94\u5546\u4EE3\u7801\u8FDB\u5165\u91C7\u8D2D\u8BA2\u5355\u5217\u8868\u3002"}),(0,w.jsx)(Se,{columns:[{type:"custom",key:"code",header:"\u4F9B\u5E94\u5546\u4EE3\u7801",width:130,render:(c,d)=>(0,w.jsx)(og,{onClick:()=>d.id&&e.onRouteChange({type:"procurement",level:"orders",supplierId:d.id}),children:d.code||"\u2014"})},{type:"ellipsis",key:"name",header:"\u4F9B\u5E94\u5546\u540D\u79F0",width:240,maxWidth:240},{type:"text",key:"shortName",header:"\u7B80\u79F0",width:140},{type:"text",key:"contactName",header:"\u8054\u7CFB\u4EBA",width:130},{type:"text",key:"phone",header:"\u8054\u7CFB\u7535\u8BDD",width:160},{type:"custom",key:"sanctionStatus",header:"\u5236\u88C1\u98CE\u9669",width:110,render:(c,d)=>(0,w.jsx)(Ha,{tone:d.sanctionStatus==="HIT"?"danger":d.sanctionStatus==="CLEAR"?"success":"muted",children:Jf[d.sanctionStatus??"UNCHECKED"]})},{type:"text",key:"createdAt",header:"\u521B\u5EFA\u65F6\u95F4",width:170}],rows:e.suppliers.items,rowKey:(c,d)=>c.id??d,pagination:$u(e.suppliers),onPageChange:a,emptyText:"\u6682\u65E0\u4F9B\u5E94\u5546\u6570\u636E",actionWidth:160,actions:c=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("button",{type:"button",onClick:()=>s({mode:"detail",item:c}),children:"\u8BE6\u60C5"}),(0,w.jsx)("button",{type:"button",onClick:()=>s({mode:"review",item:c}),children:"\u5BA1\u6838"}),(0,w.jsx)("button",{type:"button",className:"is-danger",onClick:()=>l(c),children:"\u5220\u9664"})]})})]})}function i0({props:e,filters:t,definitions:n,onFilter:r,onSubmit:o,onReset:i,onPage:a,onOrderDialog:s,onDelete:l}){let u=e.metrics??r0(e.purchaseOrders.items,e.purchaseLines.items),c=[{type:"custom",key:"contractNo",header:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",width:160,render:(d,p)=>(0,w.jsx)(og,{onClick:()=>p.id&&e.onRouteChange({type:"procurement",level:"lines",supplierId:e.route.level==="orders"?e.route.supplierId:p.supplierId,orderId:p.id}),children:p.contractNo})},{type:"text",key:"orderDate",header:"\u4E0B\u5355\u65E5\u671F",width:120},{type:"text",key:"contractAmountCny",header:"\u91C7\u8D2D\u91D1\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",width:160,align:"right",format:lt},{type:"text",key:"paidAmountCny",header:"\u5DF2\u4ED8\u6B3E",width:130,align:"right",format:lt},{type:"text",key:"unpaidAmount",header:"\u672A\u4ED8\u6B3E",width:130,align:"right",accessor:d=>Qf(u,d).unpaidAmountCny,format:lt},{type:"text",key:"refundedAmountCny",header:"\u5DF2\u9000\u7A0E",width:130,align:"right",format:lt},{type:"text",key:"estimatedRefundAmountCny",header:"\u9884\u8BA1\u9000\u7A0E\u603B\u989D",width:150,align:"right",format:lt},{type:"text",key:"unrefundedAmount",header:"\u672A\u9000\u7A0E",width:130,align:"right",accessor:d=>Qf(u,d).unrefundedAmountCny,format:lt},{type:"text",key:"customerContractNo",header:"\u5339\u914D\u5BA2\u6237\u5408\u540C",width:150,format:d=>String(d||"\u672A\u5173\u8054")}];return(0,w.jsxs)(w.Fragment,{children:[e.supplier&&(0,w.jsx)(rg,{level:"supplier",supplier:e.supplier,onRouteChange:e.onRouteChange}),(0,w.jsx)(Vu,{title:"\u91C7\u8D2D\u8BA2\u5355\u5217\u8868",description:"\u4E8C\u7EA7\u9875\u9762\uFF1A\u67E5\u770B\u5F53\u524D\u4F9B\u5E94\u5546\u7684\u91C7\u8D2D\u8BA2\u5355\uFF0C\u5E76\u901A\u8FC7\u91C7\u8D2D\u5408\u540C\u7F16\u53F7\u8FDB\u5165\u8BA2\u5355\u5546\u54C1\u5217\u8868\u3002"}),(0,w.jsx)(s0,{metrics:u}),(0,w.jsx)(We,{definitions:n,values:t,onChange:r,onQuery:o,onReset:i}),(0,w.jsx)(Se,{columns:c,rows:e.purchaseOrders.items,rowKey:(d,p)=>d.id??p,pagination:$u(e.purchaseOrders),onPageChange:a,emptyText:"\u6682\u65E0\u91C7\u8D2D\u8BA2\u5355\u6570\u636E",actionWidth:160,actions:d=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("button",{type:"button",onClick:()=>s({mode:"detail",item:d}),children:"\u8BE6\u60C5"}),(0,w.jsx)("button",{type:"button",onClick:()=>s({mode:"review",item:d}),children:"\u5BA1\u6838"}),(0,w.jsx)("button",{type:"button",className:"is-danger",onClick:()=>l(d),children:"\u5220\u9664"})]})})]})}function a0({props:e,filters:t,definitions:n,onFilter:r,onSubmit:o,onReset:i,onPage:a,onLineDialog:s,onDelete:l}){let u=[{type:"ellipsis",key:"productName",header:"\u5546\u54C1\u540D\u79F0",width:170,maxWidth:170},{type:"ellipsis",key:"productDescription",header:"\u5546\u54C1\u63CF\u8FF0",width:190,maxWidth:190},{type:"text",key:"modelSpecification",header:"\u89C4\u683C\u578B\u53F7",width:150},{type:"text",key:"unit",header:"\u5355\u4F4D",width:80},{type:"text",key:"quantity",header:"\u6570\u91CF",width:110,align:"right",format:Gu},{type:"text",key:"unitPriceTaxIncluded",header:"\u542B\u7A0E\u5355\u4EF7",width:120,align:"right",format:lt},{type:"text",key:"lineAmountTaxIncluded",header:"\u542B\u7A0E\u91D1\u989D",width:130,align:"right",format:lt},{type:"text",key:"vatRate",header:"\u589E\u503C\u7A0E\u7387",width:100,align:"right",format:Kf},{type:"text",key:"hsCode",header:"\u6D77\u5173\u7F16\u7801",width:130},{type:"text",key:"refundRate",header:"\u9000\u7A0E\u7387",width:90,align:"right",format:Kf},{type:"custom",key:"hsCodeStatus",header:"\u7F16\u7801\u786E\u8BA4\u72B6\u6001",width:120,render:(d,p)=>(0,w.jsx)(Ha,{tone:p.hsCodeStatus==="UNCONFIRMED"||!p.hsCodeStatus?"warning":"success",children:Ba[p.hsCodeStatus??"UNCONFIRMED"]})},{type:"text",key:"complianceCategories",header:"\u547D\u4E2D\u5408\u89C4\u5206\u7C7B",width:150,format:d=>Array.isArray(d)&&d.length?d.map(p=>eg[p]).join("\u3001"):"\u65E0\u547D\u4E2D"},{type:"text",key:"sourceType",header:"\u6765\u6E90\u7C7B\u578B",width:110,format:d=>Wu[d]}],c={purchaseOrderId:e.order?.id??"",sourceType:"MANUAL_ENTRY",productName:"",quantity:"",unitPriceTaxIncluded:"",lineAmountTaxIncluded:"",hsCodeStatus:"UNCONFIRMED"};return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Vu,{title:"\u91C7\u8D2D\u5546\u54C1\u5217\u8868",description:"\u4E09\u7EA7\u9875\u9762\uFF1A\u67E5\u770B\u5F53\u524D\u91C7\u8D2D\u8BA2\u5355\u7684\u5546\u54C1\u660E\u7EC6\uFF0C\u53EF\u65B0\u589E\u3001\u5BA1\u6838\u548C\u903B\u8F91\u5220\u9664\u5546\u54C1\u3002",commands:(0,w.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e.busy||!e.order?.id,onClick:()=>s({mode:"create",item:c}),children:[(0,w.jsx)("i",{className:"ri-add-line","aria-hidden":"true"}),"\u65B0\u589E\u5546\u54C1"]})}),e.supplier&&e.order&&(0,w.jsx)(rg,{level:"order",supplier:e.supplier,order:e.order,onRouteChange:e.onRouteChange}),(0,w.jsx)(We,{definitions:n,values:t,onChange:r,onQuery:o,onReset:i}),(0,w.jsx)(Ce,{children:"\u53EF\u901A\u8FC7\u5BA1\u6838\u5B8C\u5584\u82F1\u6587\u540D\u79F0\u3001\u6D77\u5173\u7F16\u7801\u3001\u9000\u7A0E\u7387\u548C\u98CE\u9669\u5339\u914D\u4FE1\u606F\u3002"}),(0,w.jsx)(Se,{columns:u,rows:e.purchaseLines.items,rowKey:(d,p)=>d.id??p,pagination:$u(e.purchaseLines),onPageChange:a,emptyText:"\u6682\u65E0\u91C7\u8D2D\u5546\u54C1\u6570\u636E",actionWidth:120,actions:d=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("button",{type:"button",onClick:()=>s({mode:"review",item:d}),children:"\u5BA1\u6838"}),(0,w.jsx)("button",{type:"button",className:"is-danger",onClick:()=>l(d),children:"\u5220\u9664"})]})})]})}function Vu({title:e,description:t,commands:n}){return(0,w.jsxs)("header",{className:"tcw-procurement-level-heading",children:[(0,w.jsxs)("div",{children:[(0,w.jsx)("h2",{children:e}),(0,w.jsx)("p",{children:t})]}),n&&(0,w.jsx)("div",{className:"tcw-procurement-toolbar",children:n})]})}function rg(e){return(0,w.jsxs)("section",{className:"tcw-procurement-context","aria-label":e.level==="supplier"?"\u4F9B\u5E94\u5546\u4E0A\u4E0B\u6587":"\u91C7\u8D2D\u8BA2\u5355\u4E0A\u4E0B\u6587",children:[(0,w.jsx)(ar,{label:"\u4F9B\u5E94\u5546\u4EE3\u7801",value:e.supplier.code}),(0,w.jsx)(ar,{label:"\u4F9B\u5E94\u5546\u540D\u79F0",value:e.supplier.name}),(0,w.jsx)(ar,{label:"\u8054\u7CFB\u4EBA",value:e.supplier.contactName}),(0,w.jsx)(ar,{label:"\u8054\u7CFB\u7535\u8BDD",value:e.supplier.phone}),e.level==="order"&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(ar,{label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",value:e.order.contractNo}),(0,w.jsx)(ar,{label:"\u4E0B\u5355\u65E5\u671F",value:e.order.orderDate}),(0,w.jsx)(ar,{label:"\u91C7\u8D2D\u91D1\u989D",value:lt(e.order.contractAmountCny)})]}),(0,w.jsxs)("div",{className:"tcw-procurement-context-actions",children:[(0,w.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>e.onRouteChange({type:"procurement",level:"suppliers"}),children:[(0,w.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE\u4F9B\u5E94\u5546\u5217\u8868"]}),e.level==="order"&&(0,w.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>e.onRouteChange({type:"procurement",level:"orders",supplierId:e.supplier.id??e.order.supplierId}),children:[(0,w.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE\u8BA2\u5355\u5217\u8868"]})]})]})}function s0({metrics:e}){let t=[["\u8BA2\u5355\u603B\u6570",Gu(e.totalOrderCount)],["\u91C7\u8D2D\u8BA2\u5355\u603B\u989D",lt(e.totalPurchaseAmountCny)],["\u672C\u5E74\u8BA2\u5355\u6570",Gu(e.currentYearOrderCount)],["\u672C\u5E74\u91C7\u8D2D\u91D1\u989D",lt(e.currentYearPurchaseAmountCny)]];return(0,w.jsxs)("section",{className:"tcw-procurement-metrics","aria-label":"\u91C7\u8D2D\u7EDF\u8BA1",children:[t.map(([n,r])=>(0,w.jsxs)("div",{children:[(0,w.jsx)("span",{children:n}),(0,w.jsx)("strong",{children:r})]},n)),(0,w.jsxs)("div",{className:"tcw-procurement-top",children:[(0,w.jsx)("span",{children:"\u91C7\u8D2D\u5546\u54C1TOP5"}),e.topProducts.length?(0,w.jsx)("ol",{children:e.topProducts.map(n=>(0,w.jsxs)("li",{children:[(0,w.jsx)("span",{children:n.productName}),(0,w.jsx)("strong",{children:lt(n.amountCny)})]},n.productName))}):(0,w.jsx)("small",{children:"\u6682\u65E0\u5546\u54C1\u6570\u636E"})]})]})}function l0({state:e,busy:t,onClose:n,onSave:r}){let[o,i]=Ee.default.useState(e?.item??null);if(Ee.default.useEffect(()=>i(e?.item??null),[e]),!e||!o)return null;let a=e.mode==="detail",s=[["code","\u4F9B\u5E94\u5546\u4EE3\u7801"],["name","\u4F9B\u5E94\u5546\u540D\u79F0",!0],["shortName","\u7B80\u79F0"],["countryOrRegion","\u56FD\u522B/\u5730\u533A"],["contactName","\u8054\u7CFB\u4EBA"],["phone","\u8054\u7CFB\u7535\u8BDD"],["wechat","\u5FAE\u4FE1"],["email","\u90AE\u7BB1"],["address","\u5730\u5740"],["taxNumber","\u7A0E\u53F7"],["paymentAccount","\u6536\u6B3E\u8D26\u53F7"],["bankName","\u5F00\u6237\u884C"],["taxpayerRating","\u7EB3\u7A0E\u7B49\u7EA7"],["website","\u516C\u53F8\u7F51\u7AD9"],["businessProducts","\u7ECF\u8425\u4EA7\u54C1"]];return(0,w.jsxs)(be,{open:!0,title:e.mode==="detail"?"\u4F9B\u5E94\u5546\u8BE6\u60C5":"\u4F9B\u5E94\u5546\u8BE6\u60C5\u5BA1\u6838",size:"wide",onClose:n,footer:a?(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:"\u5173\u95ED"}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:"\u53D6\u6D88"}),(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t||!o.name.trim(),onClick:()=>{r(o)},children:"\u4FDD\u5B58"})]}),children:[(0,w.jsx)(Ne,{columns:2,children:s.map(([l,u,c])=>(0,w.jsx)(H,{label:u,required:c,full:l==="address"||l==="businessProducts",children:(0,w.jsx)("input",{disabled:a,value:String(o[l]??""),onChange:d=>i({...o,[l]:d.target.value})})},l))}),(0,w.jsxs)("div",{className:"tcw-procurement-audit-meta",children:[(0,w.jsx)(Ha,{tone:o.sanctionStatus==="HIT"?"danger":"success",children:Jf[o.sanctionStatus??"UNCHECKED"]}),(0,w.jsxs)("span",{children:["\u6700\u8FD1\u5236\u88C1\u68C0\u67E5\uFF1A",o.complianceCheckedAt||"\u5C1A\u672A\u68C0\u67E5"]}),(0,w.jsxs)("span",{children:["\u6700\u540E\u7F16\u8F91\uFF1A",o.updatedByName||"\u2014"," ",o.updatedAt||""]})]})]})}function u0({state:e,lines:t,busy:n,onClose:r,onSave:o}){let[i,a]=Ee.default.useState(e?.item??null);if(Ee.default.useEffect(()=>a(e?.item??null),[e]),!e||!i)return null;let s=e.mode==="detail",l=i.estimatedRefundAmountCny??t.filter(c=>c.purchaseOrderId===i.id).reduce((c,d)=>c+ig(d),0).toFixed(2),u=Z(i.paidAmountCny)>Z(i.contractAmountCny)?"\u5DF2\u4ED8\u6B3E\u4E0D\u80FD\u8D85\u8FC7\u91C7\u8D2D\u8BA2\u5355\u603B\u989D":Z(i.refundedAmountCny)>Z(l)?"\u5DF2\u9000\u7A0E\u4E0D\u80FD\u8D85\u8FC7\u9884\u8BA1\u9000\u7A0E\u603B\u989D":"";return(0,w.jsxs)(be,{open:!0,title:s?"\u91C7\u8D2D\u8BA2\u5355\u8BE6\u60C5":"\u91C7\u8D2D\u8BA2\u5355\u5BA1\u6838",size:"wide",onClose:r,footer:s?(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:"\u5173\u95ED"}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:"\u53D6\u6D88"}),(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n||!!u||!i.orderDate,onClick:()=>{o(i)},children:"\u4FDD\u5B58"})]}),children:[u&&(0,w.jsx)(Re,{children:u}),(0,w.jsxs)(Ne,{columns:2,children:[(0,w.jsx)(H,{label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",required:!0,children:(0,w.jsx)("input",{disabled:!0,value:i.contractNo})}),(0,w.jsx)(H,{label:"\u4E0B\u5355\u65E5\u671F",required:!0,children:(0,w.jsx)("input",{type:"date",disabled:s,value:i.orderDate,onChange:c=>a({...i,orderDate:c.target.value})})}),(0,w.jsx)(qr,{label:"\u91C7\u8D2D\u8BA2\u5355\u603B\u989D",disabled:s,value:i.contractAmountCny,onChange:c=>a({...i,contractAmountCny:c})}),(0,w.jsx)(qr,{label:"\u5DF2\u4ED8\u6B3E",disabled:s,value:i.paidAmountCny,onChange:c=>a({...i,paidAmountCny:c})}),(0,w.jsx)(qr,{label:"\u672A\u4ED8\u6B3E",disabled:!0,value:String(Math.max(Z(i.contractAmountCny)-Z(i.paidAmountCny),0))}),(0,w.jsx)(qr,{label:"\u5DF2\u9000\u7A0E",disabled:s,value:i.refundedAmountCny,onChange:c=>a({...i,refundedAmountCny:c})}),(0,w.jsx)(qr,{label:"\u9884\u8BA1\u9000\u7A0E\u603B\u989D",disabled:!0,value:l}),(0,w.jsx)(qr,{label:"\u672A\u9000\u7A0E",disabled:!0,value:String(Math.max(Z(l)-Z(i.refundedAmountCny),0))}),(0,w.jsx)(H,{label:"\u5339\u914D\u5BA2\u6237\u5408\u540C",children:(0,w.jsx)("input",{disabled:!0,value:i.customerContractNo||"\u672A\u5173\u8054"})}),(0,w.jsx)(H,{label:"\u6765\u6E90\u6587\u4EF6",children:(0,w.jsx)("input",{disabled:!0,value:i.sourceFileName||"\u2014"})})]})]})}function c0({state:e,order:t,busy:n,onAction:r,onClose:o,onSave:i}){let[a,s]=Ee.default.useState(e?.item??null),[l,u]=Ee.default.useState(!1);if(Ee.default.useEffect(()=>s(e?.item??null),[e]),!e||!a)return null;let c=Z(a.quantity)*Z(a.unitPriceTaxIncluded),d=tg({supplier:{name:"line-review"},order:t??{supplierId:"",contractNo:"line-review",orderDate:"",contractAmountCny:a.lineAmountTaxIncluded},lines:[a]}).filter(f=>f.startsWith("\u7B2C1\u6761\u5546\u54C1")||f.includes("\u4E0B\u5355\u65E5\u671F")),p=(f,v)=>f!=="search_hs_code"&&f!=="get_hs_code_detail"?Promise.resolve({success:!1,message:"\u91C7\u8D2D\u5546\u54C1\u4EC5\u652F\u6301\u6D77\u5173\u7F16\u7801\u67E5\u8BE2"}):r(f,v);return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(be,{open:!0,title:e.mode==="create"?"\u65B0\u589E\u5546\u54C1":"\u91C7\u8D2D\u5546\u54C1\u5BA1\u6838",size:"wide",onClose:o,footer:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:o,children:"\u53D6\u6D88"}),(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n||d.length>0,onClick:()=>{i(a)},children:"\u4FDD\u5B58"})]}),children:[(0,w.jsxs)("div",{className:"tcw-procurement-source-label",children:["\u6765\u6E90\u7C7B\u578B\uFF1A",Wu[a.sourceType]]}),d.length>0&&(0,w.jsx)(Re,{children:d.join("\uFF1B")}),(0,w.jsxs)(Ne,{columns:2,children:[(0,w.jsx)(oe,{label:"\u5546\u54C1\u540D\u79F0",required:!0,value:a.productName,onChange:f=>s({...a,productName:f})}),(0,w.jsx)(oe,{label:"\u5546\u54C1\u63CF\u8FF0",value:a.productDescription,onChange:f=>s({...a,productDescription:f})}),(0,w.jsx)(oe,{label:"\u89C4\u683C\u578B\u53F7",value:a.modelSpecification,onChange:f=>s({...a,modelSpecification:f})}),(0,w.jsx)(oe,{label:"\u5355\u4F4D",required:!0,value:a.unit,onChange:f=>s({...a,unit:f})}),(0,w.jsx)(oe,{label:"\u6570\u91CF",required:!0,type:"number",value:a.quantity,onChange:f=>s({...a,quantity:f,lineAmountTaxIncluded:String(Z(f)*Z(a.unitPriceTaxIncluded))})}),(0,w.jsx)(oe,{label:"\u542B\u7A0E\u5355\u4EF7\uFF08\u4EBA\u6C11\u5E01\uFF09",required:!0,type:"number",value:a.unitPriceTaxIncluded,onChange:f=>s({...a,unitPriceTaxIncluded:f,lineAmountTaxIncluded:String(Z(a.quantity)*Z(f))})}),(0,w.jsx)(oe,{label:"\u542B\u7A0E\u91D1\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",required:!0,type:"number",value:a.lineAmountTaxIncluded||String(c),onChange:f=>s({...a,lineAmountTaxIncluded:f})}),(0,w.jsx)(oe,{label:"\u589E\u503C\u7A0E\u7387",required:!0,type:"number",value:a.vatRate,onChange:f=>s({...a,vatRate:f})}),(0,w.jsx)(H,{label:"\u6D77\u5173\u7F16\u7801",children:(0,w.jsxs)("div",{className:"tcw-procurement-inline-field",children:[(0,w.jsx)("input",{value:a.hsCode??"",onChange:f=>s({...a,hsCode:f.target.value})}),(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>u(!0),children:"HS\u7F16\u7801\u67E5\u8BE2"})]})}),(0,w.jsx)(H,{label:"\u7F16\u7801\u786E\u8BA4\u72B6\u6001",children:(0,w.jsx)("select",{value:a.hsCodeStatus??"UNCONFIRMED",onChange:f=>s({...a,hsCodeStatus:f.target.value}),children:za(Ba).map(f=>(0,w.jsx)("option",{value:f.value,children:f.label},f.value))})}),(0,w.jsx)(oe,{label:"\u9000\u7A0E\u7387",required:!0,type:"number",value:a.refundRate,onChange:f=>s({...a,refundRate:f})}),(0,w.jsx)(oe,{label:"\u9000\u7A0E\u653F\u7B56\u4F9D\u636E",required:!0,value:a.refundPolicyReference,onChange:f=>s({...a,refundPolicyReference:f})}),(0,w.jsx)(oe,{label:"\u653F\u7B56\u65E5\u671F",required:!0,type:"date",value:a.refundPolicyDate,onChange:f=>s({...a,refundPolicyDate:f,refundValidationMethod:"REVIEW_CONFIRMED"})}),(0,w.jsx)(oe,{label:"\u82F1\u6587\u540D\u79F0",value:a.englishName,onChange:f=>s({...a,englishName:f})})]})]}),(0,w.jsx)(ei,{open:l,initialQuery:a.hsCode||a.englishName||a.productName,onAction:p,onClose:()=>u(!1)})]})}function d0({open:e,task:t,draft:n,busy:r,onChange:o,onClose:i,onSave:a}){let s=n?tg(n):[],l=t?.duplicateContractError;return(0,w.jsxs)(be,{open:e,title:"\u91C7\u8D2D\u5408\u540C\u5BA1\u6838",size:"full",onClose:i,footer:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:"\u53D6\u6D88"}),(0,w.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r||!n||!!l||s.length>0,onClick:()=>n&&void a(n),children:"\u5BA1\u6838\u5E76\u5165\u5E93"})]}),children:[l&&(0,w.jsx)(Re,{children:l}),n?(0,w.jsx)(Xo,{editor:(0,w.jsxs)("div",{className:"tcw-procurement-review-editor",children:[s.length>0&&(0,w.jsx)(Re,{children:s.join("\uFF1B")}),(0,w.jsx)(Bu,{title:"\u4F9B\u5E94\u5546\u4FE1\u606F",children:(0,w.jsx)(m0,{supplier:n.supplier,onChange:u=>o({...n,supplier:u})})}),(0,w.jsx)(Bu,{title:"\u8BA2\u5355\u4FE1\u606F",children:(0,w.jsxs)(Ne,{columns:2,children:[(0,w.jsx)(oe,{label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",required:!0,value:n.order.contractNo,onChange:u=>o({...n,order:{...n.order,contractNo:u}})}),(0,w.jsx)(oe,{label:"\u4E0B\u5355\u65E5\u671F",required:!0,type:"date",value:n.order.orderDate,onChange:u=>o({...n,order:{...n.order,orderDate:u}})}),(0,w.jsx)(oe,{label:"\u91C7\u8D2D\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",required:!0,type:"number",value:n.order.contractAmountCny,onChange:u=>o({...n,order:{...n.order,contractAmountCny:u}})}),(0,w.jsx)(oe,{label:"\u5DF2\u4ED8\u6B3E",type:"number",value:n.order.paidAmountCny,onChange:u=>o({...n,order:{...n.order,paidAmountCny:u}})}),(0,w.jsx)(oe,{label:"\u5DF2\u9000\u7A0E",type:"number",value:n.order.refundedAmountCny,onChange:u=>o({...n,order:{...n.order,refundedAmountCny:u}})})]})}),(0,w.jsx)(Bu,{title:`\u5168\u90E8\u5546\u54C1\uFF08${n.lines.length}\uFF09`,children:(0,w.jsx)("div",{className:"tcw-procurement-review-lines",children:n.lines.map((u,c)=>(0,w.jsx)(p0,{index:c,line:u,onChange:d=>o({...n,lines:n.lines.map((p,f)=>f===c?d:p)})},u.id??c))})})]}),source:(0,w.jsx)(f0,{draft:n,task:t})}):(0,w.jsx)(Re,{children:t?.errorMessage||"\u91C7\u8D2D\u5408\u540C\u89E3\u6790\u7ED3\u679C\u4E0D\u53EF\u7528"})]})}function p0({line:e,index:t,onChange:n}){return(0,w.jsxs)("section",{className:"tcw-procurement-review-line",children:[(0,w.jsxs)("h4",{children:["\u5546\u54C1 ",t+1," ",(0,w.jsx)(Ha,{tone:"muted",children:Wu[e.sourceType]})]}),(0,w.jsxs)(Ne,{columns:2,children:[(0,w.jsx)(oe,{label:"\u5546\u54C1\u540D\u79F0",required:!0,value:e.productName,onChange:r=>n({...e,productName:r})}),(0,w.jsx)(oe,{label:"\u5546\u54C1\u63CF\u8FF0",value:e.productDescription,onChange:r=>n({...e,productDescription:r})}),(0,w.jsx)(oe,{label:"\u82F1\u6587\u540D\u79F0",value:e.englishName,onChange:r=>n({...e,englishName:r})}),(0,w.jsx)(oe,{label:"\u89C4\u683C\u578B\u53F7",value:e.modelSpecification,onChange:r=>n({...e,modelSpecification:r})}),(0,w.jsx)(oe,{label:"\u5355\u4F4D",required:!0,value:e.unit,onChange:r=>n({...e,unit:r})}),(0,w.jsx)(oe,{label:"\u6570\u91CF",required:!0,type:"number",value:e.quantity,onChange:r=>n({...e,quantity:r})}),(0,w.jsx)(oe,{label:"\u542B\u7A0E\u5355\u4EF7",required:!0,type:"number",value:e.unitPriceTaxIncluded,onChange:r=>n({...e,unitPriceTaxIncluded:r})}),(0,w.jsx)(oe,{label:"\u542B\u7A0E\u91D1\u989D",required:!0,type:"number",value:e.lineAmountTaxIncluded,onChange:r=>n({...e,lineAmountTaxIncluded:r})}),(0,w.jsx)(oe,{label:"\u589E\u503C\u7A0E\u7387",required:!0,type:"number",value:e.vatRate,onChange:r=>n({...e,vatRate:r})}),(0,w.jsx)(oe,{label:"\u6D77\u5173\u7F16\u7801",value:e.hsCode,onChange:r=>n({...e,hsCode:r})}),(0,w.jsx)(H,{label:"\u7F16\u7801\u786E\u8BA4\u72B6\u6001",children:(0,w.jsx)("select",{value:e.hsCodeStatus??"UNCONFIRMED",onChange:r=>n({...e,hsCodeStatus:r.target.value}),children:za(Ba).map(r=>(0,w.jsx)("option",{value:r.value,children:r.label},r.value))})}),(0,w.jsx)(oe,{label:"\u9000\u7A0E\u7387",required:!0,type:"number",value:e.refundRate,onChange:r=>n({...e,refundRate:r})}),(0,w.jsx)(oe,{label:"\u9000\u7A0E\u653F\u7B56\u4F9D\u636E",required:!0,value:e.refundPolicyReference,onChange:r=>n({...e,refundPolicyReference:r})}),(0,w.jsx)(oe,{label:"\u9000\u7A0E\u653F\u7B56\u65E5\u671F",required:!0,type:"date",value:e.refundPolicyDate,onChange:r=>n({...e,refundPolicyDate:r,refundValidationMethod:"REVIEW_CONFIRMED"})}),e.amountMismatch&&(0,w.jsx)(H,{label:"\u91D1\u989D\u5DEE\u5F02\u786E\u8BA4",required:!0,children:(0,w.jsxs)("label",{className:"tcw-procurement-checkbox",children:[(0,w.jsx)("input",{type:"checkbox",checked:!!e.amountMismatchConfirmed,onChange:r=>n({...e,amountMismatchConfirmed:r.target.checked})}),"\u786E\u8BA4\u4FDD\u7559\u5408\u540C\u539F\u59CB\u91D1\u989D"]})})]})]})}function m0({supplier:e,onChange:t}){return(0,w.jsx)(Ne,{columns:2,children:[["code","\u4F9B\u5E94\u5546\u4EE3\u7801"],["name","\u4F9B\u5E94\u5546\u540D\u79F0",!0],["shortName","\u7B80\u79F0"],["countryOrRegion","\u56FD\u522B/\u5730\u533A"],["address","\u5730\u5740"],["contactName","\u8054\u7CFB\u4EBA"],["phone","\u8054\u7CFB\u7535\u8BDD"],["wechat","\u5FAE\u4FE1"],["email","\u90AE\u7BB1"],["taxNumber","\u7A0E\u53F7"],["paymentAccount","\u6536\u6B3E\u8D26\u53F7"],["bankName","\u5F00\u6237\u884C"],["taxpayerRating","\u7EB3\u7A0E\u7B49\u7EA7"],["website","\u516C\u53F8\u7F51\u7AD9"],["businessProducts","\u7ECF\u8425\u4EA7\u54C1"]].map(([r,o,i])=>(0,w.jsx)(oe,{label:o,required:i,value:e[r],onChange:a=>t({...e,[r]:a})},r))})}function f0({draft:e,task:t}){let n=e.lines.find(o=>o.sourceContent)?.sourceContent??e.sourceText,r=e.lines.find(o=>o.sourceContent)?.sourceLocation;return(0,w.jsxs)("div",{className:"tcw-procurement-source",children:[(0,w.jsx)("strong",{children:e.sourceFileName||t?.sourceFileName||"\u91C7\u8D2D\u5408\u540C\u6E90\u6587\u4EF6"}),e.sourceFileUrl?(0,w.jsx)("iframe",{src:e.sourceFileUrl,title:"\u91C7\u8D2D\u5408\u540C\u6E90\u6587\u4EF6"}):n?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("small",{children:r||"\u6765\u6E90\u4F4D\u7F6E\u672A\u6807\u6CE8"}),(0,w.jsx)("pre",{children:n})]}):(0,w.jsx)("pre",{children:"\u6E90\u6587\u4EF6\u6682\u65E0\u6CD5\u5728\u7EBF\u9884\u89C8"})]})}function g0({target:e,supplier:t,busy:n,onCancel:r,onConfirm:o}){let i=e?.entityType==="purchaseOrder",a=i?e.item:null,s=e?.entityType==="supplier"?e.item.name:e?.entityType==="purchaseOrder"?e.item.contractNo:e?.item?.productName;return(0,w.jsx)(et,{open:!!e,title:i?"\u786E\u8BA4\u5220\u9664\u91C7\u8D2D\u8BA2\u5355\uFF1F":`\u786E\u8BA4\u5220\u9664${e?.entityType==="supplier"?"\u4F9B\u5E94\u5546":"\u91C7\u8D2D\u5546\u54C1"}\uFF1F`,danger:!0,confirmText:"\u786E\u8BA4\u5220\u9664",confirmDisabled:n,onCancel:r,onConfirm:o,message:(0,w.jsxs)("div",{className:"tcw-procurement-delete-summary",children:[(0,w.jsx)("strong",{children:s||"\u5F53\u524D\u8BB0\u5F55"}),i&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)("span",{children:["\u4F9B\u5E94\u5546\uFF1A",t?.name||"\u2014"]}),(0,w.jsxs)("span",{children:["\u5546\u54C1\u6761\u6570\uFF1A",a?.lineCount??0]}),(0,w.jsxs)("span",{children:["\u91C7\u8D2D\u91D1\u989D\uFF1A",lt(a?.contractAmountCny)]}),(0,w.jsxs)("span",{children:["\u5DF2\u4ED8\u6B3E\uFF1A",lt(a?.paidAmountCny)]}),(0,w.jsxs)("span",{children:["\u5DF2\u9000\u7A0E\uFF1A",lt(a?.refundedAmountCny)]}),(0,w.jsx)("b",{children:"\u5220\u9664\u540E\u5C06\u540C\u65F6\u903B\u8F91\u5220\u9664\u8BE5\u8BA2\u5355\u53CA\u5168\u90E8\u5546\u54C1\u660E\u7EC6\uFF1B\u91CD\u65B0\u4E0A\u4F20\u540C\u7F16\u53F7\u5408\u540C\u4F1A\u4F5C\u4E3A\u5168\u65B0\u8BB0\u5F55\uFF0C\u4E0D\u8FC1\u79FB\u65E7\u8BA2\u5355\u4EBA\u5DE5\u6570\u636E\u3002"})]})]})})}function Bu({title:e,children:t}){return(0,w.jsxs)("section",{className:"tcw-procurement-review-section",children:[(0,w.jsx)("h3",{children:e}),t]})}function ar({label:e,value:t}){return(0,w.jsxs)("div",{children:[(0,w.jsx)("span",{children:e}),(0,w.jsx)("strong",{children:String(t||"\u2014")})]})}function og({children:e,onClick:t}){return(0,w.jsx)("button",{type:"button",className:"tcw-procurement-link",onClick:t,children:e})}function Ha({children:e,tone:t}){return(0,w.jsx)("span",{className:`tcw-procurement-status tcw-procurement-status--${t}`,children:e})}function oe({label:e,value:t,required:n,type:r="text",onChange:o}){return(0,w.jsx)(H,{label:e,required:n,children:(0,w.jsx)("input",{type:r,value:String(t??""),onChange:i=>o(i.target.value)})})}function qr({label:e,value:t,disabled:n,onChange:r}){return(0,w.jsx)(H,{label:e,children:(0,w.jsx)("input",{type:"number",disabled:n,value:String(t??""),onChange:o=>r?.(o.target.value)})})}function y0(e){return e.level==="suppliers"?"suppliers":e.level==="orders"?"purchaseOrders":"purchaseLines"}function h0(e){return e?.mode==="create"}function Qf(e,t){return t.id&&e.orderBalances[t.id]||{unpaidAmountCny:Math.max(Z(t.contractAmountCny)-Z(t.paidAmountCny),0),unrefundedAmountCny:Math.max(Z(t.estimatedRefundAmountCny)-Z(t.refundedAmountCny),0)}}function ig(e){let t=1+ju(e.vatRate);return t>0?Z(e.lineAmountTaxIncluded)/t*ju(e.refundRate):0}function Z(e){let t=Number(e??0);return Number.isFinite(t)?t:0}function ju(e){let t=Z(e);return t>1?t/100:t}function qf(e,t){return e.reduce((n,r)=>n+Z(t(r)),0)}function Hu(e){return String(e??"").trim()===""}function lt(e){return`\xA5${Z(e).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function Gu(e){return Z(e).toLocaleString("zh-CN")}function Kf(e){return`${(ju(e)*100).toLocaleString("zh-CN",{maximumFractionDigits:4})}%`}function Yf(){return[{value:"true",label:"\u662F"},{value:"false",label:"\u5426"}]}function za(e){return Object.entries(e).map(([t,n])=>({value:t,label:String(n)}))}function $u(e){let t=e.total??e.items.length,n=e.pageSize??Zf;return{page:e.page??1,pageSize:n,total:t,pageCount:Math.max(1,Math.ceil(t/n))}}function Xf(e){if(e.success===!1)throw new Error(e.message||"\u91C7\u8D2D\u64CD\u4F5C\u5931\u8D25")}function w0(e){return e instanceof Error?e.message:"\u91C7\u8D2D\u64CD\u4F5C\u5931\u8D25"}var ut=J(ct(),1);function Qu(e){return String(e??"").normalize("NFKC").trim().replace(/\s+/g," ").toLocaleLowerCase("en-US")}var ja=["CONTRACT_AMOUNT","TAX_RATE","PRICE_TERMS","TRANSPORT","WARRANTY","BREACH_LIABILITY","PAYMENT_TERMS"];var _=J(ge(),1),$a=20;var dg=[{type:"CONTRACT_AMOUNT",label:"\u5408\u540C\u91D1\u989D"},{type:"TAX_RATE",label:"\u7A0E\u7387"},{type:"PRICE_TERMS",label:"\u4EF7\u683C\u6761\u6B3E"},{type:"TRANSPORT",label:"\u8FD0\u8F93\u65B9\u5F0F"},{type:"WARRANTY",label:"\u8D28\u4FDD\u6761\u6B3E"},{type:"BREACH_LIABILITY",label:"\u8FDD\u7EA6\u8D23\u4EFB"},{type:"PAYMENT_TERMS",label:"\u4ED8\u6B3E\u6761\u6B3E"}],pg={HIGH:"\u9AD8\u98CE\u9669",MEDIUM:"\u4E2D\u98CE\u9669",LOW:"\u4F4E\u98CE\u9669"},mg={HIT:"\u547D\u4E2D",CLEAR:"\u672A\u547D\u4E2D",UNCHECKED:"\u672A\u68C0\u67E5"},ag=[{type:"text",key:"customerName",label:"\u5BA2\u6237\u540D\u79F0"},{type:"text",key:"contractNo",label:"\u5BA2\u6237\u5408\u540C\u7F16\u7801"},{type:"date-range",key:"signedAt",label:"\u7B7E\u8BA2\u65E5\u671F"},{type:"amount-range",key:"contractAmountReviewCny",label:"\u4EBA\u6C11\u5E01\u5408\u540C\u91D1\u989D\u533A\u95F4",currency:"CNY"},{type:"select",key:"overallRiskLevel",label:"\u6574\u4F53\u98CE\u9669\u7B49\u7EA7",options:lg(pg)},{type:"select",key:"sanctionStatus",label:"\u5236\u88C1\u547D\u4E2D",options:lg(mg)}];function v0({onAction:e,onFileAction:t}){return{upload:async n=>{let r=await t("upload_customer_contract",n,{documentType:"CUSTOMER_CONTRACT"});Ga(r,"\u5BA2\u6237\u5408\u540C\u4E0A\u4F20\u5931\u8D25");let o=sr(r.data);if(!o.review)throw new Error("\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u8349\u7A3F");return lr(o.review)},loadReview:async n=>{let r=await e("get_customer_contract_review",{id:n});if(Ga(r,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u52A0\u8F7D\u5931\u8D25"),!r.data)throw new Error("\u5BA1\u6838\u54CD\u5E94\u7F3A\u5C11\u5BA2\u6237\u5408\u540C\u6570\u636E");let o=sr(r.data);return lr("reviewSource"in o?o:Kr(o))},saveReview:async n=>{let r=n.reviewSource==="IMPORT_DRAFT"?await e("save_customer_contract_review",{importTaskId:ug(n.importTaskId,"\u5BFC\u5165\u4EFB\u52A1\u6807\u8BC6"),draft:C0(n)}):await e("update_customer_contract_review",{id:ug(n.customerContractId,"\u5BA2\u6237\u5408\u540C\u6807\u8BC6"),customer:n.customer,contract:{contractNo:n.contractNo,contractAmountReviewCny:n.contractAmountReviewCny,signedAt:n.signedAt},clauses:n.clauses,...n.customerTransferConfirmation?{customerTransferConfirmation:n.customerTransferConfirmation}:{}});return Ga(r,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u5931\u8D25"),r},deleteContract:async n=>{let r=await e("delete_entity",{entityType:"customerContract",id:n});return Ga(r,"\u5BA2\u6237\u5408\u540C\u5220\u9664\u5931\u8D25"),r}}}function Kr(e,t={}){let n=sr(e),r=sr(n.contract),o=sr(n.customer),i=Array.isArray(n.clauses)?n.clauses.map(sr):[],a=Array.isArray(n.analyses)?n.analyses.map(sr):[],s=new Map(a.map(u=>[String(u.clauseType),u])),l=i.map(u=>String(u.sourceContent??"").trim()).find(Boolean);return lr({reviewSource:t.reviewSource??"EXISTING_CONTRACT",...t.importTaskId?{importTaskId:t.importTaskId}:{},...r.id?{contractId:String(r.id)}:{},customer:{...o,name:String(o.name??"")},contractNo:String(r.contractNo??""),signedAt:Wa(r.signedAt),contractAmountReviewCny:L0(r.contractAmountReviewCny),overallRiskLevel:cg(r.overallRiskLevel),sanctionStatus:M0(n.sanctionStatus),sourceFileId:String(t.sourceFileId??r.sourceFileId??""),sourceFileName:String(t.sourceFileName??r.sourceFileName??""),sourcePreview:l?{kind:"TEXT",content:l}:{kind:"UNAVAILABLE"},clauses:ja.map(u=>{let c=i.find(p=>p.clauseType===u),d=s.get(u);return{...c?.id?{id:String(c.id)}:{},clauseType:u,extractionStatus:c?.extractionStatus==="FOUND"?"FOUND":"NOT_FOUND",sourceText:Wa(c?.sourceText),reviewedText:String(c?.reviewedText??""),sourceLocation:Wa(c?.sourceLocation),sourceContent:Wa(c?.sourceContent),analysis:d?{riskLevel:cg(d.riskLevel),riskMessageZh:String(d.riskMessageZh??""),suggestionZh:String(d.suggestionZh??"")}:ti(u).analysis}})})}function C0(e){return{customer:e.customer,contract:{contractNo:e.contractNo,signedAt:e.signedAt,contractAmountReviewCny:e.contractAmountReviewCny},clauses:e.clauses.map(({analysis:t,...n})=>n),analyses:e.clauses.map(t=>({clauseType:t.clauseType,...t.analysis}))}}function b0(e,t=300){let n,r=()=>{n&&clearTimeout(n),n=void 0},o=(i,a)=>{r(),e({page:i,pageSize:$a,filters:a})};return{schedule:(i,a)=>{if(r(),i!=="text"){o(1,a);return}n=setTimeout(()=>o(1,a),t)},flush:i=>o(1,i),page:(i,a)=>o(i,a),cancel:r}}function k0(e,t){return{reviewSource:e.reviewSource,...e.importTaskId?{importTaskId:e.importTaskId}:{},...e.contractId?{customerContractId:e.contractId}:{},customer:{...e.customer,name:e.customer.name.trim()},contractNo:e.contractNo.trim().toUpperCase(),signedAt:e.signedAt,contractAmountReviewCny:e.contractAmountReviewCny,sourceFileId:e.sourceFileId,...t?{customerTransferConfirmation:t}:{},clauses:ja.map(n=>{let r=e.clauses.find(o=>o.clauseType===n)??ti(n);return{...r.id?{id:r.id}:{},clauseType:n,extractionStatus:r.extractionStatus,sourceText:r.sourceText,reviewedText:r.reviewedText,sourceLocation:r.sourceLocation,sourceContent:r.sourceContent,analysis:{...r.analysis}}})}}function x0(e,t){if(e.reviewSource!=="EXISTING_CONTRACT")return null;let n=Qu(t.customer.name);return Qu(e.customer.name)===n?null:{type:"CONFIRMED_CUSTOMER_TRANSFER",targetNormalizedName:n}}function S0(e,t){return t.type==="cancel"||t.type==="sync-review"?null:t.type==="begin-confirm"?e?.confirming?e:e?{...e,confirming:!0}:null:e?.pending.confirmation.targetNormalizedName===t.pending.confirmation.targetNormalizedName&&e.pending.review.contractId===t.pending.review.contractId?e:{pending:t.pending,confirming:!1}}function sg(e,t){return{...e,...t}}function R0(e){for(let t of e){let n=t.reviewedText.trim();if(t.extractionStatus==="FOUND"&&!n)return`\u201C${Qa(t.clauseType)}\u201D\u5DF2\u627E\u5230\u65F6\u5FC5\u987B\u586B\u5199\u4EBA\u5DE5\u5BA1\u6838\u5185\u5BB9`;if(t.extractionStatus==="NOT_FOUND"&&n)return`\u201C${Qa(t.clauseType)}\u201D\u672A\u627E\u5230\u65F6\u4E0D\u80FD\u586B\u5199\u4EBA\u5DE5\u5BA1\u6838\u5185\u5BB9`}return null}function fg(e){let[t,n]=ut.default.useState({}),[r,o]=ut.default.useState(null),[i,a]=ut.default.useState(null),[s,l]=ut.default.useState(""),u=ut.default.useMemo(()=>v0(e),[e.onAction,e.onFileAction]),c=ut.default.useCallback(()=>{o(null),e.onReviewClose?.()},[e.onReviewClose]),d=ut.default.useMemo(()=>b0(e.onQuery),[e.onQuery]);ut.default.useEffect(()=>()=>d.cancel(),[d]),ut.default.useEffect(()=>{e.importReviewState.status==="AWAITING_REVIEW"&&o(lr(e.importReviewState.review)),e.importReviewState.status==="FAILED"&&l(e.importReviewState.message)},[e.importReviewState]);let p=(x,m)=>{let g={...t,[x]:m};n(g),d.schedule(ag.find(h=>h.key===x)?.type??"text",g)},f=async x=>{l("");try{o(await(e.onLoadReview?e.onLoadReview(x):u.loadReview(x)))}catch(m){l(Va(m,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u52A0\u8F7D\u5931\u8D25"))}},v=D0(e.collection),y=[{type:"custom",key:"customerName",header:"\u5BA2\u6237",width:190,render:(x,m)=>(0,_.jsxs)("span",{children:[(0,_.jsx)("strong",{children:m.customerName}),m.customerCode&&(0,_.jsx)("small",{className:"tcw-contract-customer-code",children:m.customerCode})]})},{type:"ellipsis",key:"contractNo",header:"\u5408\u540C\u7F16\u53F7",width:190,maxWidth:190},{type:"text",key:"contractAmountReviewCny",header:"\u4EBA\u6C11\u5E01\u5408\u540C\u91D1\u989D",width:160,align:"right",format:O0},{type:"text",key:"signedAt",header:"\u7B7E\u8BA2\u65E5\u671F",width:120},{type:"custom",key:"overallRiskLevel",header:"\u98CE\u9669",width:100,render:(x,m)=>(0,_.jsx)(qu,{level:m.overallRiskLevel})},{type:"custom",key:"sanctionStatus",header:"\u5236\u88C1",width:100,render:(x,m)=>(0,_.jsx)(gg,{status:m.sanctionStatus})},{type:"ellipsis",key:"sourceFileName",header:"\u6765\u6E90\u6587\u4EF6",width:210,maxWidth:210}];return(0,_.jsxs)("section",{className:"tcw-contract-page","aria-label":"\u5BA2\u6237\u5408\u540C\u5BA1\u6838",children:[(0,_.jsx)(We,{definitions:ag,values:t,onChange:p,onQuery:()=>d.flush(t),onReset:()=>{n({}),d.flush({})}}),(0,_.jsx)(Ce,{children:"\u652F\u6301 PDF\u3001DOC\u3001DOCX\u3001XLS\u3001XLSX\u3001PNG\u3001JPEG\u3001WEBP\u3002\u89E3\u6790\u6210\u529F\u540E\u81EA\u52A8\u6253\u5F00\u5BA1\u6838\u3002"}),e.importReviewState.status==="PROCESSING"&&(0,_.jsxs)("p",{className:"tcw-contract-import-status",role:"status",children:["\u6B63\u5728\u89E3\u6790 ",e.importReviewState.sourceFileName,"..."]}),s&&(0,_.jsxs)("div",{className:"tcw-contract-page-error",role:"alert",children:[s,e.importReviewState.status==="FAILED"&&e.importReviewState.importTaskId&&e.onRetryImport&&(0,_.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{e.onRetryImport?.(e.importReviewState.status==="FAILED"?e.importReviewState.importTaskId:"")},children:"\u91CD\u65B0\u89E3\u6790"})]}),(0,_.jsx)(Se,{columns:y,rows:e.collection.items,rowKey:"id",actions:x=>(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("button",{type:"button",disabled:e.busy,onClick:()=>{f(x.id)},children:"\u5BA1\u6838"}),(0,_.jsx)("button",{type:"button",className:"is-danger",disabled:e.busy,onClick:()=>a(x),children:"\u5220\u9664"})]}),pagination:v,onPageChange:x=>d.page(x,t),emptyText:"\u6682\u65E0\u5BA2\u6237\u5408\u540C\u6570\u636E"}),(0,_.jsx)(N0,{open:!!r,review:r,busy:e.busy,reanalysisState:e.reanalysisState,onReanalyze:e.onReanalyze,onClose:c,onSave:async(x,m)=>{await u.saveReview(k0(x,m)),c(),await e.onQuery({page:v.page,pageSize:$a,filters:t})}}),(0,_.jsx)(T0,{open:!!i,contract:i,busy:e.busy,onCancel:()=>a(null),onConfirm:async()=>{i&&(await u.deleteContract(i.id),a(null),await e.onQuery({page:v.page,pageSize:$a,filters:t}))}})]})}function N0({open:e,review:t,busy:n,reanalysisState:r={status:"IDLE"},onReanalyze:o,onClose:i,onSave:a}){let[s,l]=ut.default.useState(()=>t?lr(t):null),[u,c]=ut.default.useState("CONTRACT_AMOUNT"),[d,p]=ut.default.useState(""),[f,v]=ut.default.useReducer(S0,null);if(ut.default.useEffect(()=>{v({type:"sync-review",open:e}),e&&t&&(l(lr(t)),c("CONTRACT_AMOUNT"),p(""))},[e,t]),!s)return null;let y=s.clauses.find(C=>C.clauseType===u)??ti(u),x=C=>l({...s,clauses:s.clauses.map(T=>T.clauseType===C.clauseType?C:T)}),m=async()=>{if(!s.customer.name.trim()){p("\u5BA2\u6237\u540D\u79F0\u4E3A\u5FC5\u586B\u9879");return}if(!s.contractNo.trim()){p("\u5BA2\u6237\u5408\u540C\u7F16\u7801\u4E3A\u5FC5\u586B\u9879");return}let C=s.contractNo.trim().toUpperCase();if(!/^(?!.*-\d+X$).+X$/.test(C)){p("\u5BA2\u6237\u5408\u540C\u7F16\u7801\u5FC5\u987B\u4E3A\u57FA\u7840\u7F16\u7801\u52A0\u672B\u5C3E X\uFF0C\u4E14\u4E0D\u80FD\u5305\u542B -\u6570\u5B57X \u5E8F\u53F7");return}let T=R0(s.clauses);if(T){p(T);return}p("");let E={...s,contractNo:C},O=t?x0(t,E):null;if(O){v({type:"request",pending:{review:E,confirmation:O}});return}try{await a(E)}catch(L){p(Va(L,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u5931\u8D25"))}},g=async()=>{if(o){p("");try{l(F0(s,lr(await o({reviewSource:s.reviewSource,customerContractId:s.contractId,importTaskId:s.importTaskId}))))}catch(C){p(Va(C,"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25"))}}},h=r?.status==="RUNNING",k=!o;return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsxs)(be,{open:e,title:"\u5BA1\u6838\u5BA2\u6237\u5408\u540C",size:"wide",onClose:i,footer:(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:n,onClick:i,children:"\u53D6\u6D88"}),(0,_.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n,onClick:()=>{m()},children:"\u4FDD\u5B58\u5BA1\u6838"})]}),children:[(0,_.jsxs)("div",{className:"tcw-contract-review-header tcw-contract-review-summary",children:[(0,_.jsxs)("div",{className:"tcw-contract-summary-customer",children:[(0,_.jsx)("span",{children:"\u5BA2\u6237\u540D\u79F0"}),(0,_.jsx)("strong",{children:s.customer.name}),(0,_.jsx)("small",{children:s.customer.code||"\u672A\u8BBE\u7F6E\u5BA2\u6237\u4EE3\u7801"})]}),(0,_.jsx)(E0,{review:s,onChange:l}),(0,_.jsx)(qu,{level:s.overallRiskLevel}),(0,_.jsx)(gg,{status:s.sanctionStatus})]}),(0,_.jsxs)("div",{className:"tcw-contract-review-toolbar",children:[(0,_.jsx)("strong",{children:"\u5173\u952E\u6761\u6B3E\u5BA1\u6838"}),(0,_.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:n||k||h,title:k?"\u540E\u7AEF\u6682\u672A\u63D0\u4F9B AI \u91CD\u65B0\u5206\u6790\u80FD\u529B":"\u91CD\u65B0\u5206\u6790\u4E03\u7C7B\u5173\u952E\u6761\u6B3E",onClick:()=>{g()},children:[(0,_.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"}),k?"AI \u91CD\u65B0\u5206\u6790\u6682\u4E0D\u53EF\u7528":h?"AI \u91CD\u65B0\u5206\u6790\u4E2D":"AI \u91CD\u65B0\u5206\u6790"]})]}),s.clauses.some(C=>C.extractionStatus==="NOT_FOUND")&&(0,_.jsxs)(Re,{children:["\u5408\u540C\u7F3A\u5C11\u8BE5\u5173\u952E\u6761\u6B3E\uFF1A",s.clauses.filter(C=>C.extractionStatus==="NOT_FOUND").map(C=>Qa(C.clauseType)).join("\u3001"),"\u3002"]}),r?.status==="FAILED"&&(0,_.jsx)("div",{className:"tcw-contract-dialog-error",role:"alert",children:r.message}),d&&(0,_.jsx)("div",{className:"tcw-contract-dialog-error",role:"alert",children:d}),(0,_.jsxs)("div",{className:"tcw-contract-review-layout",children:[(0,_.jsx)("nav",{className:"tcw-contract-clause-tabs","aria-label":"\u6761\u6B3E\u7C7B\u578B",children:dg.map(C=>(0,_.jsxs)("button",{type:"button",className:C.type===u?"is-active":"",onClick:()=>c(C.type),children:[C.label,(0,_.jsx)("small",{children:s.clauses.find(T=>T.clauseType===C.type)?.extractionStatus==="FOUND"?"\u5DF2\u627E\u5230":"\u672A\u627E\u5230"})]},C.type))}),(0,_.jsxs)("section",{className:"tcw-contract-clause-editor",children:[(0,_.jsx)("h3",{children:Qa(u)}),y.extractionStatus==="NOT_FOUND"&&(0,_.jsx)(Re,{children:"\u5408\u540C\u7F3A\u5C11\u8BE5\u5173\u952E\u6761\u6B3E\u3002"}),(0,_.jsx)(H,{label:"\u63D0\u53D6\u72B6\u6001",children:(0,_.jsxs)("select",{className:"tcw-contract-clause-status",value:y.extractionStatus,onChange:C=>x(sg(y,{extractionStatus:C.target.value})),children:[(0,_.jsx)("option",{value:"FOUND",children:"\u5DF2\u627E\u5230"}),(0,_.jsx)("option",{value:"NOT_FOUND",children:"\u672A\u627E\u5230"})]})}),(0,_.jsx)(H,{label:"\u6765\u6E90\u6761\u6B3E\u539F\u6587",children:(0,_.jsx)("textarea",{disabled:!0,rows:6,value:y.sourceText??"\u672A\u627E\u5230\u6765\u6E90\u6761\u6B3E"})}),(0,_.jsx)(H,{label:"\u4EBA\u5DE5\u5BA1\u6838\u5185\u5BB9",children:(0,_.jsx)("textarea",{rows:7,value:y.reviewedText,onChange:C=>x(sg(y,{reviewedText:C.target.value}))})}),(0,_.jsx)(H,{label:"\u6765\u6E90\u4F4D\u7F6E",children:(0,_.jsx)("input",{disabled:!0,value:y.sourceLocation??"\u2014"})}),(0,_.jsx)(P0,{clause:y})]}),(0,_.jsxs)("section",{className:"tcw-contract-source-preview",children:[(0,_.jsx)("h3",{children:"\u6E90\u6587\u4EF6\u9884\u89C8"}),(0,_.jsx)(_0,{review:s,clause:y})]})]}),(0,_.jsxs)("details",{className:"tcw-contract-customer-master",children:[(0,_.jsx)("summary",{children:"\u67E5\u770B\u5E76\u7F16\u8F91\u5BA2\u6237\u5B8C\u6574\u4E3B\u6863"}),(0,_.jsx)(I0,{value:s.customer,onChange:C=>l({...s,customer:C})})]})]}),(0,_.jsx)(et,{open:!!f,title:"\u786E\u8BA4\u8F6C\u79FB\u5BA2\u6237\u5408\u540C",confirmText:"\u786E\u8BA4\u8F6C\u79FB\u5E76\u4FDD\u5B58",confirmDisabled:n||!!f?.confirming,onCancel:()=>v({type:"cancel"}),onConfirm:async()=>{if(!(!f||f.confirming)){v({type:"begin-confirm"});try{await a(f.pending.review,f.pending.confirmation),v({type:"cancel"})}catch(C){v({type:"cancel"}),p(Va(C,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u5931\u8D25"))}}},message:(0,_.jsxs)("span",{children:["\u5BA2\u6237\u540D\u79F0\u5DF2\u7531\u201C",t?.customer.name??"","\u201D\u53D8\u66F4\u4E3A\u201C",f?.pending.review.customer.name??"","\u201D\u3002\u786E\u8BA4\u540E\u4EC5\u5C06\u5F53\u524D\u5408\u540C\u8F6C\u79FB\u5230\u76EE\u6807\u5BA2\u6237\uFF0C\u4E0D\u4FEE\u6539\u539F\u5BA2\u6237\u53CA\u5176\u5176\u4ED6\u5408\u540C\u3002"]})})]})}function T0({open:e,contract:t,busy:n,onCancel:r,onConfirm:o}){return(0,_.jsx)(et,{open:e,title:"\u786E\u8BA4\u5220\u9664\u5BA2\u6237\u5408\u540C",danger:!0,confirmText:"\u786E\u8BA4\u5220\u9664",confirmDisabled:n,onCancel:r,onConfirm:()=>{o()},message:(0,_.jsxs)("span",{children:["\u5C06\u903B\u8F91\u5220\u9664\u5BA2\u6237\u5408\u540C\u201C",t?.contractNo??"","\u201D\u53CA\u5176\u4E03\u7C7B\u5173\u952E\u6761\u6B3E\u5BA1\u6838\u6570\u636E\u3002\u91CD\u65B0\u4E0A\u4F20\u540C\u7F16\u53F7\u5408\u540C\u5C06\u4F5C\u4E3A\u5168\u65B0\u8BB0\u5F55\u5165\u5E93\uFF0C\u4E0D\u8FC1\u79FB\u6D3E\u751F\u8BA2\u5355\u4EBA\u5DE5\u6570\u636E\uFF1B\u5386\u53F2\u751F\u6210\u6587\u4EF6\u4FDD\u6301\u4E0D\u53D8\u3002"]})})}function E0({review:e,onChange:t}){return(0,_.jsxs)(Ne,{columns:3,children:[(0,_.jsx)(H,{label:"\u5BA2\u6237\u5408\u540C\u7F16\u7801",required:!0,children:(0,_.jsx)("input",{value:e.contractNo,onChange:n=>t({...e,contractNo:n.target.value})})}),(0,_.jsx)(H,{label:"\u7B7E\u8BA2\u65E5\u671F",children:(0,_.jsx)("input",{type:"date",value:e.signedAt??"",onChange:n=>t({...e,signedAt:n.target.value})})}),(0,_.jsx)(H,{label:"\u4EBA\u6C11\u5E01\u9884\u5BA1\u5408\u540C\u91D1\u989D",children:(0,_.jsx)("input",{type:"number",min:"0",step:"0.0001",value:e.contractAmountReviewCny??"",onChange:n=>t({...e,contractAmountReviewCny:n.target.value===""?null:n.target.value})})})]})}var A0=[{key:"code",label:"\u5BA2\u6237\u4EE3\u7801"},{key:"name",label:"\u5BA2\u6237\u540D\u79F0",required:!0},{key:"shortName",label:"\u7B80\u79F0"},{key:"country",label:"\u56FD\u522B"},{key:"address",label:"\u5730\u5740",full:!0},{key:"contactName",label:"\u8054\u7CFB\u4EBA"},{key:"phone",label:"\u8054\u7CFB\u7535\u8BDD"},{key:"wechat",label:"\u5FAE\u4FE1"},{key:"email",label:"\u90AE\u7BB1"},{key:"taxNumber",label:"\u7A0E\u53F7"},{key:"paymentAccount",label:"\u6536\u6B3E\u8D26\u53F7"},{key:"bankName",label:"\u5F00\u6237\u884C"},{key:"taxpayerRating",label:"\u7EB3\u7A0E\u7B49\u7EA7"},{key:"website",label:"\u516C\u53F8\u7F51\u7AD9"},{key:"businessProducts",label:"\u7ECF\u8425\u4EA7\u54C1",full:!0}];function I0({value:e,onChange:t}){return(0,_.jsx)(Ne,{columns:3,children:A0.map(n=>(0,_.jsx)(H,{label:n.label,required:n.required,full:n.full,children:(0,_.jsx)("input",{value:String(e[n.key]??""),onChange:r=>t({...e,[n.key]:r.target.value})})},n.key))})}function P0({clause:e}){return(0,_.jsxs)("section",{className:"tcw-contract-analysis","aria-label":"AI \u5206\u6790\u7ED3\u679C",children:[(0,_.jsx)("h4",{children:"AI \u5206\u6790\u7ED3\u679C"}),(0,_.jsx)(qu,{level:e.analysis.riskLevel}),(0,_.jsxs)("dl",{children:[(0,_.jsx)("dt",{children:"\u4E2D\u6587\u98CE\u9669\u63D0\u793A"}),(0,_.jsx)("dd",{children:e.analysis.riskMessageZh||"\u2014"}),(0,_.jsx)("dt",{children:"\u4E2D\u6587\u4FEE\u6539\u5EFA\u8BAE"}),(0,_.jsx)("dd",{children:e.analysis.suggestionZh||"\u2014"})]})]})}function _0({review:e,clause:t}){return e.sourcePreview.kind==="URL"?(0,_.jsx)("iframe",{title:`\u6E90\u6587\u4EF6\u9884\u89C8\uFF1A${e.sourceFileName}`,src:e.sourcePreview.url}):t.sourceContent?(0,_.jsxs)("div",{children:[(0,_.jsx)("small",{children:t.sourceLocation??"\u6765\u6E90\u4F4D\u7F6E\u672A\u6807\u6CE8"}),(0,_.jsx)("pre",{children:t.sourceContent})]}):e.sourcePreview.kind==="TEXT"?(0,_.jsx)("pre",{children:e.sourcePreview.content}):(0,_.jsxs)("div",{className:"tcw-contract-preview-unavailable",children:[(0,_.jsx)("i",{className:"ri-file-warning-line","aria-hidden":"true"}),(0,_.jsx)("p",{children:e.sourcePreview.message??"\u6E90\u6587\u4EF6\u6682\u65E0\u6CD5\u5728\u7EBF\u9884\u89C8"}),(0,_.jsx)("small",{children:t.sourceContent??e.sourceFileName})]})}function qu({level:e}){return(0,_.jsx)("span",{className:`tcw-contract-risk tcw-contract-risk--${e.toLowerCase()}`,children:pg[e]})}function gg({status:e}){return(0,_.jsx)("span",{className:`tcw-contract-sanction tcw-contract-sanction--${e.toLowerCase()}`,children:mg[e]})}function lr(e){return{...e,customer:{...e.customer},clauses:ja.map(t=>({...e.clauses.find(n=>n.clauseType===t)??ti(t),analysis:{...e.clauses.find(n=>n.clauseType===t)?.analysis??ti(t).analysis}}))}}function F0(e,t){return e.sourcePreview.kind!=="URL"?t:{...t,sourcePreview:e.sourcePreview}}function ti(e){return{clauseType:e,extractionStatus:"NOT_FOUND",sourceText:null,reviewedText:"",analysis:{riskLevel:"HIGH",riskMessageZh:"\u5408\u540C\u7F3A\u5C11\u8BE5\u5173\u952E\u6761\u6B3E",suggestionZh:"\u8BF7\u4EBA\u5DE5\u8865\u5145\u5E76\u786E\u8BA4\u8BE5\u5173\u952E\u6761\u6B3E\u3002"}}}function D0(e){let t=Number(e.page)||1,n=Number(e.pageSize)||$a,r=Number(e.total)||0;return{page:t,pageSize:n,total:r,pageCount:Math.max(1,Math.ceil(r/n)),items:e.items}}function Ga(e,t){if(e.success===!1)throw new Error(e.message||t)}function Va(e,t){return e instanceof Error?e.message:t}function lg(e){return Object.entries(e).map(([t,n])=>({value:t,label:n}))}function Qa(e){return dg.find(t=>t.type===e)?.label??e}function O0(e){let t=typeof e=="string"&&e.trim()?Number(e):NaN;return Number.isFinite(t)?`\xA5 ${t.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`:"\u2014"}function ug(e,t){if(!e)throw new Error(`${t}\u4E0D\u80FD\u4E3A\u7A7A`);return e}function sr(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function Wa(e){return e==null||String(e).trim()===""?null:String(e)}function L0(e){return typeof e=="string"&&e.trim()?e.trim():null}function cg(e){return e==="HIGH"||e==="MEDIUM"||e==="LOW"?e:"LOW"}function M0(e){return e==="HIT"||e==="CLEAR"?e:"UNCHECKED"}var Yt=J(ct(),1);var R=J(ge(),1),vg=20,U0=[{type:"text",key:"code",label:"\u5BA2\u6237\u4EE3\u7801"},{type:"text",key:"name",label:"\u5BA2\u6237\u540D\u79F0"},{type:"text",key:"country",label:"\u56FD\u5BB6\u5730\u533A"},{type:"select",key:"profitRateStatus",label:"\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u72B6\u6001",options:[{value:"CONFIGURED",label:"\u5DF2\u7EF4\u62A4"},{value:"MISSING",label:"\u672A\u7EF4\u62A4"}]},{type:"select",key:"sanctionStatus",label:"\u5236\u88C1\u98CE\u9669",options:[{value:"UNCHECKED",label:"\u672A\u68C0\u67E5"},{value:"CLEAR",label:"\u65E0\u547D\u4E2D"},{value:"HIT",label:"\u547D\u4E2D\u63D0\u9192"}]},{type:"date-range",key:"complianceCheckedAt",label:"\u6700\u8FD1\u68C0\u67E5\u65E5\u671F"}],z0=[{type:"text",key:"salesOrderNo",label:"\u8BA2\u5355\u53F7"},{type:"text",key:"customerContractNo",label:"\u5BA2\u6237\u5408\u540C\u53F7"},{type:"text",key:"purchaseContractNo",label:"\u91C7\u8D2D\u5408\u540C\u53F7"},{type:"date-range",key:"orderDate",label:"\u4E0B\u5355\u65E5\u671F"},{type:"select",key:"paymentStatus",label:"\u6536\u6B3E\u72B6\u6001",options:[{value:"UNPAID",label:"\u672A\u6536\u6B3E"},{value:"PARTIAL",label:"\u90E8\u5206\u6536\u6B3E"},{value:"PAID",label:"\u5DF2\u6536\u6B3E"}]}],B0=[{type:"text",key:"productName",label:"\u5546\u54C1\u540D\u79F0"},{type:"text",key:"productDescription",label:"\u5546\u54C1\u63CF\u8FF0"},{type:"text",key:"hsCode",label:"\u6D77\u5173\u7F16\u7801"},{type:"select",key:"complianceCategory",label:"\u5408\u89C4\u5206\u7C7B",options:[{value:"DUAL_USE",label:"\u519B\u6C11\u4E24\u7528"},{value:"OVERSEAS_SANCTION",label:"\u6D77\u5916\u5236\u88C1"}]}];function Cg(e){let[t,n]=Yt.default.useState({}),[r,o]=Yt.default.useState(null),[i,a]=Yt.default.useState(null),[s,l]=Yt.default.useState(null),[u,c]=Yt.default.useState(null),[d,p]=Yt.default.useState(null),f=Yt.default.useMemo(()=>W0(e.onAction),[e.onAction]),v=(h,k)=>{let C=G0(h,k,e.onSalesLineLookup);c(C.query)},y=(h,k=1,C=t)=>e.onQuery(h,{page:k,pageSize:vg,filters:C}),x=h=>{n({}),y(h,1,{})};if(e.route.level==="customers"){let h=[{type:"ellipsis",key:"code",header:"\u5BA2\u6237\u4EE3\u7801",width:130},{type:"ellipsis",key:"name",header:"\u5BA2\u6237\u540D\u79F0",width:220,maxWidth:220},{type:"ellipsis",key:"country",header:"\u56FD\u5BB6\u5730\u533A",width:130},{type:"custom",key:"defaultPricingProfitRate",header:"\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387",width:150,render:(C,T)=>T.profitRateStatus==="MISSING"?(0,R.jsx)("span",{className:"tcw-tag tcw-tag--warning",children:"\u672A\u7EF4\u62A4"}):ni(T.defaultPricingProfitRate)},{type:"custom",key:"sanctionStatus",header:"\u5236\u88C1\u98CE\u9669",width:120,render:(C,T)=>(0,R.jsx)(q0,{value:T.sanctionStatus})},{type:"text",key:"complianceCheckedAt",header:"\u6700\u8FD1\u68C0\u67E5\u65E5\u671F",width:150,format:Y0}],k=C=>C.profitRateStatus==="MISSING"?o(C):e.onRouteChange({type:"sales",level:"orders",customerId:C.id});return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Ku,{children:"\u5BA2\u6237\u4FE1\u606F\u5217\u8868"}),(0,R.jsx)(We,{definitions:U0,values:t,onChange:(C,T)=>n(E=>({...E,[C]:T})),onQuery:()=>{y("salesCustomers")},onReset:()=>x("salesCustomers")}),(0,R.jsx)(Se,{columns:h,rows:e.customers.items,rowKey:"id",pagination:Yu(e.customers),onPageChange:C=>{y("salesCustomers",C)},emptyText:"\u6682\u65E0\u5BA2\u6237\u6570\u636E",actionWidth:230,actions:C=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("button",{type:"button",onClick:()=>k(C),children:"\u8BA2\u5355\u8BE6\u60C5"}),(0,R.jsx)("button",{type:"button",onClick:()=>a({customer:C,enterOrders:!1}),children:"\u7EF4\u62A4\u9ED8\u8BA4\u5229\u6DA6\u7387"})]})}),(0,R.jsx)(et,{open:!!r,title:"\u9ED8\u8BA4\u5229\u6DA6\u7387\u672A\u7EF4\u62A4",message:"\u8BE5\u5BA2\u6237\u5C1A\u672A\u7EF4\u62A4\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u3002\u662F\u5426\u5148\u7EF4\u62A4\u5229\u6DA6\u7387\u540E\u8FDB\u5165\u8BA2\u5355\u5217\u8868\uFF1F",onCancel:()=>o(null),onConfirm:()=>{r&&a({customer:r,enterOrders:!0}),o(null)}}),i&&(0,R.jsx)($0,{state:i,busy:e.busy,onClose:()=>a(null),onSave:async C=>{await e.onAction("save_customer_profit_rate",{customerId:i.customer.id,rate:C});let T=i.enterOrders,E=i.customer.id;a(null),T?e.onRouteChange({type:"sales",level:"orders",customerId:E}):y("salesCustomers")}})]})}if(e.route.level==="orders"){let h=e.orders.metrics??{orderCount:0,salesAmountCny:"0",receivedAmountCny:"0",unreceivedAmountCny:"0",currentYearOrderCount:0,currentYearSalesAmountCny:"0",topProducts:[]},k=[{type:"ellipsis",key:"salesOrderNo",header:"\u8BA2\u5355\u53F7",width:170},{type:"ellipsis",key:"customerContractNo",header:"\u5BA2\u6237\u5408\u540C\u53F7",width:170},{type:"ellipsis",key:"purchaseContractNo",header:"\u91C7\u8D2D\u5408\u540C\u53F7",width:170},{type:"text",key:"orderDate",header:"\u4E0B\u5355\u65E5\u671F",width:120},{type:"text",key:"orderAmountCny",header:"\u9500\u552E\u603B\u989D CNY",width:140,align:"right",format:Pt},{type:"text",key:"receivedAmountCny",header:"\u5DF2\u6536\u6B3E CNY",width:140,align:"right",format:Pt},{type:"text",key:"unreceivedAmountCny",header:"\u672A\u6536\u6B3E CNY",width:140,align:"right",format:Pt},{type:"custom",key:"paymentStatus",header:"\u6536\u6B3E\u72B6\u6001",width:110,render:(C,T)=>X0(T.paymentStatus)},{type:"text",key:"effectivePricingProfitRate",header:"\u8BA2\u5355\u5229\u6DA6\u7387",width:120,format:ni},{type:"text",key:"pricingProfitRateSource",header:"\u5229\u6DA6\u7387\u6765\u6E90",width:150,format:hg}];return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Ku,{children:"\u9500\u552E\u8BA2\u5355\u5217\u8868"}),(0,R.jsxs)("section",{className:"tcw-context-bar",children:[(0,R.jsx)("strong",{children:"\u5BA2\u6237\u6458\u8981"}),(0,R.jsxs)("span",{children:[e.orders.customer?.code||"\u2014"," \xB7 ",e.orders.customer?.name||"\u2014"]}),(0,R.jsx)("span",{children:e.orders.customer?.country||"\u2014"})]}),(0,R.jsx)("section",{className:"tcw-metric-grid",children:[["\u8BA2\u5355\u603B\u6570",String(h.orderCount)],["\u9500\u552E\u603B\u989D",Pt(h.salesAmountCny)],["\u5DF2\u6536\u6B3E",Pt(h.receivedAmountCny)],["\u672A\u6536\u6B3E",Pt(h.unreceivedAmountCny)],["\u672C\u5E74\u8BA2\u5355\u6570",String(h.currentYearOrderCount)],["\u672C\u5E74\u9500\u552E\u91D1\u989D",Pt(h.currentYearSalesAmountCny)]].map(([C,T])=>(0,R.jsxs)("article",{children:[(0,R.jsx)("span",{children:C}),(0,R.jsx)("strong",{children:T}),(0,R.jsx)("small",{children:C.includes("\u8BA2\u5355\u6570")||C==="\u8BA2\u5355\u603B\u6570"?"\u7B14":"CNY"})]},C))}),(0,R.jsxs)("section",{className:"tcw-sales-top",children:[(0,R.jsx)("strong",{children:"\u9500\u552E\u5546\u54C1 TOP5"}),h.topProducts.length?(0,R.jsx)("ol",{children:h.topProducts.map(C=>(0,R.jsxs)("li",{children:[(0,R.jsx)("span",{title:C.productName,children:C.productName}),(0,R.jsxs)("b",{children:[Pt(C.amountCny)," CNY"]})]},C.productName))}):(0,R.jsx)("small",{children:"\u6682\u65E0\u5546\u54C1\u6570\u636E"})]}),(0,R.jsx)(We,{definitions:z0,values:t,onChange:(C,T)=>n(E=>({...E,[C]:T})),onQuery:()=>{y("salesOrders")},onReset:()=>x("salesOrders")}),(0,R.jsx)(Se,{columns:k,rows:e.orders.items,rowKey:C=>`${C.customerContractId}:${C.purchaseOrderId}`,pagination:Yu(e.orders),onPageChange:C=>{y("salesOrders",C)},emptyText:"\u6682\u65E0\u9500\u552E\u8BA2\u5355",actionWidth:410,actions:C=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("button",{type:"button",onClick:()=>e.onRouteChange({type:"sales",level:"lines",customerId:C.customerId,orderKey:`${C.customerContractId}:${C.purchaseOrderId}`}),children:"\u5546\u54C1\u8BE6\u60C5"}),(0,R.jsx)("button",{type:"button",onClick:()=>l({order:C,field:"pricingProfitRateOverride"}),children:"\u7EF4\u62A4\u8BA2\u5355\u5229\u6DA6\u7387"}),(0,R.jsx)("button",{type:"button",onClick:()=>l({order:C,field:"receivedAmountCny"}),children:"\u7EF4\u62A4\u5DF2\u6536\u6B3E"}),(0,R.jsx)("button",{type:"button",onClick:()=>e.onOpenFiles?.(C),children:"\u751F\u6210\u6587\u4EF6/\u8FDB\u5165\u9500\u552E\u6587\u4EF6"})]})}),s&&(0,R.jsx)(Q0,{state:s,busy:e.busy,onClose:()=>l(null),onSave:async C=>{let{order:T,field:E}=s;await e.onAction("save_derived_manual_data",{customerContractId:T.customerContractId,purchaseOrderId:T.purchaseOrderId,[E]:C}),l(null),y("salesOrders")}})]})}let m=e.lines.order,g=[{type:"custom",key:"productName",header:"\u5546\u54C1\u540D\u79F0",width:190,render:(h,k)=>(0,R.jsx)("button",{type:"button",className:"tcw-table-link",title:`\u6309\u5546\u54C1\u540D\u79F0\u67E5\u8BE2\u6D77\u5173\u7F16\u7801\uFF1A${k.productName}`,onClick:()=>v(k,"PRODUCT_NAME"),children:k.productName})},{type:"ellipsis",key:"productDescription",header:"\u5546\u54C1\u63CF\u8FF0",width:190,maxWidth:190},{type:"ellipsis",key:"modelSpecification",header:"\u89C4\u683C\u578B\u53F7",width:150},{type:"custom",key:"hsCode",header:"\u6D77\u5173\u7F16\u7801",width:130,render:(h,k)=>k.hsCode?(0,R.jsx)("button",{type:"button",className:"tcw-table-link",title:`\u67E5\u8BE2\u6D77\u5173\u7F16\u7801\uFF1A${k.hsCode}`,onClick:()=>v(k,"HS_CODE"),children:k.hsCode}):"\u2014"},{type:"text",key:"vatRate",header:"\u589E\u503C\u7A0E\u7387",width:100,align:"right",format:ni},{type:"text",key:"refundRate",header:"\u9000\u7A0E\u7387",width:90,align:"right",format:ni},{type:"custom",key:"hsCodeStatus",header:"\u7F16\u7801\u786E\u8BA4\u72B6\u6001",width:120,render:(h,k)=>Z0(k.hsCodeStatus)},{type:"custom",key:"complianceCategories",header:"\u5408\u89C4\u5206\u7C7B",width:170,render:(h,k)=>(0,R.jsx)(K0,{values:k.complianceCategories??[]})},{type:"custom",key:"complianceMatches",header:"\u5236\u88C1/\u7BA1\u63A7\u547D\u4E2D",width:160,render:(h,k)=>k.complianceMatches.length?(0,R.jsxs)("button",{type:"button",className:"tcw-table-link",title:`\u67E5\u770B\u5546\u54C1\u98CE\u9669\u660E\u7EC6\uFF1A${k.productName}`,onClick:()=>p(k),children:["\u547D\u4E2D ",k.complianceMatches.length]}):(0,R.jsx)("span",{className:"tcw-tag",children:"\u65E0\u547D\u4E2D"})},{type:"text",key:"quantity",header:"\u6570\u91CF",width:100,align:"right"},{type:"text",key:"salesUnitPriceCny",header:"\u9500\u552E\u5355\u4EF7 CNY",width:140,align:"right",format:Pt},{type:"text",key:"salesLineAmountCny",header:"\u9500\u552E\u91D1\u989D CNY",width:140,align:"right",format:Pt}];return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Ku,{children:"\u9500\u552E\u5546\u54C1\u5217\u8868"}),(0,R.jsxs)("section",{className:"tcw-context-bar",children:[(0,R.jsx)("strong",{children:m?.salesOrderNo??"\u9500\u552E\u5546\u54C1"}),(0,R.jsx)("span",{children:m?.customerContractNo}),(0,R.jsx)("span",{children:m?.purchaseContractNo})]}),m&&(0,R.jsxs)(Ce,{children:[hg(m.pricingProfitRateSource),"\uFF1A\u5F53\u524D\u9500\u552E\u4EF7\u683C\u6309 ",ni(m.effectivePricingProfitRate)," \u8BA1\u7B97\u3002"]}),(0,R.jsx)(We,{definitions:B0,values:t,onChange:(h,k)=>n(C=>({...C,[h]:k})),onQuery:()=>{y("salesLines")},onReset:()=>x("salesLines")}),(0,R.jsx)(Se,{columns:g,rows:e.lines.items,rowKey:"purchaseOrderLineId",pagination:Yu(e.lines),onPageChange:h=>{y("salesLines",h)},emptyText:"\u6682\u65E0\u6D3E\u751F\u9500\u552E\u5546\u54C1"}),d&&(0,R.jsx)(V0,{line:d,onClose:()=>p(null)}),(0,R.jsx)(ei,{open:u!==null,initialQuery:u??"",onAction:f,onClose:()=>c(null)})]})}function H0(e,t){return t==="productName"?e.productName:e.hsCode??""}function j0(e,t){return{type:"HS_CODE_LOOKUP",field:t,query:H0(e,t==="PRODUCT_NAME"?"productName":"hsCode"),purchaseOrderLineId:e.purchaseOrderLineId}}function G0(e,t,n){let r=j0(e,t);return n?.(r),r}function W0(e){return(t,n)=>t!=="search_hs_code"&&t!=="get_hs_code_detail"?Promise.resolve({success:!1,message:"\u9500\u552E\u5546\u54C1\u4EC5\u652F\u6301\u6D77\u5173\u7F16\u7801\u67E5\u8BE2"}):e(t,n)}function V0({line:e,onClose:t}){let n=[...new Set([...e.complianceCategories??[],...e.complianceMatches.map(i=>i.catalogType)])],r=wg(e.complianceMatches,"riskDescription"),o=wg(e.complianceMatches,"recommendation");return(0,R.jsxs)(be,{open:!0,title:"\u5546\u54C1\u98CE\u9669\u8BE6\u60C5",size:"wide",onClose:t,footer:(0,R.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:t,children:"\u5173\u95ED"}),children:[(0,R.jsxs)("section",{"aria-labelledby":"sales-product-summary-title",children:[(0,R.jsx)("h3",{id:"sales-product-summary-title",children:"\u5546\u54C1\u4E0E\u4EF7\u683C"}),(0,R.jsxs)("dl",{className:"tcw-preflight-summary",children:[(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u5546\u54C1\u540D\u79F0"}),(0,R.jsx)("dd",{children:e.productName})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u82F1\u6587\u540D\u79F0"}),(0,R.jsx)("dd",{children:e.englishName||"\u6682\u65E0"})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u6D77\u5173\u7F16\u7801"}),(0,R.jsx)("dd",{children:e.hsCode||"\u6682\u65E0"})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u6570\u91CF"}),(0,R.jsxs)("dd",{children:[e.quantity,e.unit?` ${e.unit}`:""]})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u9500\u552E\u5355\u4EF7"}),(0,R.jsxs)("dd",{children:[Pt(e.salesUnitPriceCny)," CNY"]})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u9500\u552E\u91D1\u989D"}),(0,R.jsxs)("dd",{children:[Pt(e.salesLineAmountCny)," CNY"]})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u5546\u54C1\u63CF\u8FF0"}),(0,R.jsx)("dd",{children:e.productDescription||"\u6682\u65E0"})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u89C4\u683C\u578B\u53F7"}),(0,R.jsx)("dd",{children:e.modelSpecification||"\u6682\u65E0"})]})]})]}),(0,R.jsxs)("section",{"aria-labelledby":"sales-product-risk-title",children:[(0,R.jsx)("h3",{id:"sales-product-risk-title",children:"\u98CE\u9669\u8BF4\u660E"}),(0,R.jsxs)("dl",{className:"tcw-preflight-summary",children:[(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u98CE\u9669\u7C7B\u578B"}),(0,R.jsx)("dd",{children:n.length?n.map(yg).join("\u3001"):"\u65E0"})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u547D\u4E2D\u7ED3\u679C"}),(0,R.jsx)("dd",{children:e.complianceMatches.length?`\u547D\u4E2D ${e.complianceMatches.length} \u9879`:"\u65E0\u547D\u4E2D"})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u98CE\u9669\u8BF4\u660E"}),(0,R.jsx)("dd",{children:r.length?r.join("\uFF1B"):"\u6682\u65E0"})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("dt",{children:"\u5904\u7406\u5EFA\u8BAE"}),(0,R.jsx)("dd",{children:o.length?o.join("\uFF1B"):"\u6682\u65E0"})]})]})]}),(0,R.jsxs)("section",{"aria-labelledby":"sales-product-match-title",children:[(0,R.jsx)("h3",{id:"sales-product-match-title",children:"\u7BA1\u63A7/\u5236\u88C1\u5339\u914D\u660E\u7EC6"}),e.complianceMatches.length?(0,R.jsx)("div",{className:"tcw-grid-section",children:(0,R.jsx)("div",{className:"tcw-table-scroll",children:(0,R.jsxs)("table",{className:"tcw-data-table",children:[(0,R.jsx)("thead",{children:(0,R.jsxs)("tr",{children:[(0,R.jsx)("th",{children:"\u5E8F\u53F7"}),(0,R.jsx)("th",{children:"\u76EE\u5F55\u7C7B\u578B"}),(0,R.jsx)("th",{children:"\u547D\u4E2D\u6761\u76EE"}),(0,R.jsx)("th",{children:"\u5339\u914D\u65B9\u5F0F"}),(0,R.jsx)("th",{children:"\u76F8\u4F3C\u5EA6"})]})}),(0,R.jsx)("tbody",{children:e.complianceMatches.map((i,a)=>(0,R.jsxs)("tr",{children:[(0,R.jsx)("td",{children:a+1}),(0,R.jsx)("td",{children:yg(i.catalogType)}),(0,R.jsx)("td",{children:i.matchedItemName||i.controlledGoodsId||"\u6682\u65E0"}),(0,R.jsx)("td",{children:J0(i.matchMethod)}),(0,R.jsx)("td",{children:eC(i.similarityScore)})]},`${i.controlledGoodsId??i.catalogType}-${a}`))})]})})}):(0,R.jsx)("p",{children:"\u6682\u65E0"})]})]})}function Ku({children:e}){return(0,R.jsx)("h2",{className:"tcw-list-heading",children:e})}function $0({state:e,busy:t,onClose:n,onSave:r}){let[o,i]=Yt.default.useState(e.customer.defaultPricingProfitRate??"");return(0,R.jsxs)(be,{open:!0,title:"\u7EF4\u62A4\u5BA2\u6237\u9ED8\u8BA4\u5229\u6DA6\u7387",onClose:n,footer:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:"\u53D6\u6D88"}),(0,R.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t||!bg(o),onClick:()=>{r(o)},children:"\u4FDD\u5B58"})]}),children:[(0,R.jsx)(H,{label:"\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387",children:(0,R.jsx)("input",{type:"number",min:"0",step:"0.0001",value:o,onChange:a=>i(a.target.value)})}),(0,R.jsx)(Ce,{children:"\u8BF7\u8F93\u5165\u5C0F\u6570\uFF0C\u4F8B\u5982 0.08 \u8868\u793A 8%\u3002"})]})}function Q0({state:e,busy:t,onClose:n,onSave:r}){let o=e.field==="receivedAmountCny",[i,a]=Yt.default.useState(o?e.order.receivedAmountCny:e.order.pricingProfitRateSource==="ORDER_OVERRIDE"?e.order.effectivePricingProfitRate:""),s=o?!tC(i)||Number(i)>Number(e.order.orderAmountCny):i!==""&&!bg(i);return(0,R.jsxs)(be,{open:!0,title:o?"\u7EF4\u62A4\u5DF2\u6536\u6B3E":"\u7EF4\u62A4\u8BA2\u5355\u5229\u6DA6\u7387",onClose:n,footer:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:"\u53D6\u6D88"}),(0,R.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t||s,onClick:()=>{r(i)},children:"\u4FDD\u5B58"})]}),children:[(0,R.jsx)(H,{label:o?"\u5DF2\u6536\u6B3E CNY":"\u8BA2\u5355\u5229\u6DA6\u7387\uFF08\u7559\u7A7A\u7EE7\u627F\u5BA2\u6237\u9ED8\u8BA4\uFF09",children:(0,R.jsx)("input",{type:"number",min:"0",max:o?e.order.orderAmountCny:void 0,step:"0.01",value:i,onChange:l=>a(l.target.value)})}),o&&Number(i)>Number(e.order.orderAmountCny)&&(0,R.jsx)(Re,{children:"\u5DF2\u6536\u6B3E\u4E0D\u5F97\u8D85\u8FC7\u5B9E\u65F6\u8BA2\u5355\u603B\u989D\u3002"})]})}function q0({value:e}){return(0,R.jsx)("span",{className:`tcw-tag${e==="HIT"?" tcw-tag--danger":e==="UNCHECKED"?" tcw-tag--warning":""}`,children:e==="HIT"?"\u547D\u4E2D\u63D0\u9192":e==="CLEAR"?"\u65E0\u547D\u4E2D":"\u672A\u68C0\u67E5"})}function K0({values:e}){return(0,R.jsx)("div",{className:"tcw-tag-list",children:e.length?e.map(t=>(0,R.jsx)("span",{className:"tcw-tag",children:t==="DUAL_USE"?"\u519B\u6C11\u4E24\u7528":"\u6D77\u5916\u5236\u88C1"},t)):(0,R.jsx)("span",{children:"\u2014"})})}function yg(e){return e==="DUAL_USE"?"\u519B\u6C11\u4E24\u7528":"\u6D77\u5916\u5236\u88C1"}function Yu(e){let t=e.pageSize??vg,n=e.total??0;return{total:n,page:e.page??1,pageSize:t,pageCount:Math.max(1,Math.ceil(n/t))}}function Pt(e){let t=Number(e);return Number.isFinite(t)?t.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2}):"\u2014"}function ni(e){let t=Number(e);return Number.isFinite(t)?`${(t*100).toFixed(2)}%`:"\u2014"}function Y0(e){return e?String(e).slice(0,10):"\u2014"}function X0(e){return e==="PAID"?"\u5DF2\u6536\u6B3E":e==="PARTIAL"?"\u90E8\u5206\u6536\u6B3E":"\u672A\u6536\u6B3E"}function hg(e){return e==="ORDER_OVERRIDE"?"\u8BA2\u5355\u5355\u72EC\u5229\u6DA6\u7387":"\u7EE7\u627F\u5BA2\u6237\u9ED8\u8BA4\u5229\u6DA6\u7387"}function Z0(e){return e==="AI_CONFIRMED"?"AI\u786E\u8BA4":e==="MANUALLY_CONFIRMED"?"\u4EBA\u5DE5\u786E\u8BA4":"\u672A\u786E\u8BA4"}function J0(e){return e==="HS_CODE_EXACT"?"\u6D77\u5173\u7F16\u7801\u7CBE\u786E\u5339\u914D":e==="NAME_CONTAINS"?"\u5546\u54C1\u540D\u79F0\u5305\u542B\u5339\u914D":"\u540D\u79F0\u76F8\u4F3C\u5EA6\u5339\u914D"}function eC(e){let t=Number(e);return e!=null&&e!==""&&Number.isFinite(t)?`${(t*100).toFixed(2)}%`:"\u6682\u65E0"}function wg(e,t){return[...new Set(e.map(n=>n[t]?.trim()).filter(n=>!!n))]}function bg(e){return e.trim()!==""&&Number.isFinite(Number(e))&&Number(e)>=0}function tC(e){return e.trim()!==""&&Number.isFinite(Number(e))&&Number(e)>=0}var ur=J(ct(),1);var M=J(ge(),1),qa=20,nC=[{type:"text",key:"salesOrderNo",label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7"},{type:"text",key:"customerContractNo",label:"\u5BA2\u6237\u5408\u540C\u7F16\u7801"},{type:"text",key:"purchaseContractNo",label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7"},{type:"text",key:"supplierName",label:"\u4F9B\u5E94\u5546"},{type:"text",key:"customerName",label:"\u5BA2\u6237"}],rC=[{type:"PI",label:"PI"},{type:"CI",label:"CI"},{type:"PL",label:"PL"},{type:"CUSTOMS_DECLARATION",label:"\u62A5\u5173\u5355"}];function Rg(e){let[t,n]=ur.default.useState({}),[r,o]=ur.default.useState(null),[i,a]=ur.default.useState(null),[s,l]=ur.default.useState(null),[u,c]=ur.default.useState(null),d=!!e.activeOrder,p=(m=1,g=t)=>e.onQuery("salesFileOrders",{page:m,pageSize:qa,filters:g}),f=(m=1)=>e.activeOrder&&e.onQuery("generatedFiles",{page:m,pageSize:qa,filters:{},parameters:{customerContractId:e.activeOrder.customerContractId,purchaseOrderId:e.activeOrder.purchaseOrderId}}),v=async(m,g)=>{if(g==="CUSTOMS_DECLARATION"){await y(kg(m,g));return}o({order:m,type:g})},y=async m=>{let g=await e.onAction("preflight_sales_file",m);o(null),a({input:m,result:g.data})};if(d){let m=[{type:"ellipsis",key:"salesOrderNoSnapshot",header:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",width:180},{type:"text",key:"fileType",header:"\u6587\u4EF6\u7C7B\u578B",width:100,format:Zu},{type:"ellipsis",key:"fileName",header:"\u6587\u4EF6\u540D",width:260,maxWidth:260},{type:"text",key:"generatedAt",header:"\u751F\u6210\u65F6\u95F4",width:180,format:Sg},{type:"text",key:"lastEditedAt",header:"\u6700\u540E\u7F16\u8F91\u65F6\u95F4",width:180,format:Sg}];return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)("h2",{className:"tcw-list-heading",children:"\u9500\u552E\u6587\u4EF6\u5217\u8868"}),(0,M.jsxs)("section",{className:"tcw-context-bar",children:[(0,M.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>e.onOpenSalesOrder(null),children:[(0,M.jsx)("i",{className:"ri-arrow-left-line"}),"\u8FD4\u56DE"]}),(0,M.jsx)("strong",{children:"\u5386\u53F2\u6587\u4EF6"}),(0,M.jsx)("span",{children:e.activeOrder?.salesOrderNo})]}),(0,M.jsx)(Se,{columns:m,rows:e.history.items,rowKey:"id",pagination:xg(e.history),onPageChange:g=>{f(g)},emptyText:"\u6682\u65E0\u5386\u53F2\u751F\u6210\u6587\u4EF6",actionWidth:260,actions:g=>(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)("button",{type:"button",onClick:()=>e.onDownload?void e.onDownload(g):void e.onAction("download_sales_file",{id:g.id}),children:"\u4E0B\u8F7D"}),(0,M.jsx)("button",{type:"button",onClick:()=>e.onEdit?.(g),children:"\u5BA1\u6838/\u5728\u7EBF\u7F16\u8F91"}),(0,M.jsx)("button",{type:"button",className:"is-danger",onClick:()=>c(g),children:"\u5220\u9664"})]})}),(0,M.jsx)(et,{open:!!u,title:"\u5220\u9664\u5386\u53F2\u6587\u4EF6",message:"\u786E\u8BA4\u903B\u8F91\u5220\u9664\u8BE5\u5386\u53F2\u9500\u552E\u6587\u4EF6\uFF1F",danger:!0,onCancel:()=>c(null),onConfirm:()=>{u&&(e.onAction("delete_entity",{entityType:"generatedFile",id:u.id}).then(()=>f()),c(null))}})]})}return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)("h2",{className:"tcw-list-heading",children:"\u9500\u552E\u6587\u4EF6\u5217\u8868"}),s&&(0,M.jsx)(aC,{result:s}),(0,M.jsx)(We,{definitions:nC,values:t,onChange:(m,g)=>n(h=>({...h,[m]:g})),onQuery:()=>{p()},onReset:()=>{n({}),p(1,{})}}),(0,M.jsx)(Se,{columns:[{type:"ellipsis",key:"salesOrderNo",header:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",width:180},{type:"ellipsis",key:"customerContractNo",header:"\u5BA2\u6237\u5408\u540C\u7F16\u7801",width:180},{type:"ellipsis",key:"purchaseContractNo",header:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",width:180},{type:"ellipsis",key:"supplierName",header:"\u4F9B\u5E94\u5546",width:210,maxWidth:210},{type:"ellipsis",key:"customerName",header:"\u5BA2\u6237",width:210,maxWidth:210},{type:"text",key:"orderAmountCny",header:"\u9500\u552E\u603B\u989D CNY",width:150,align:"right",format:Xu},{type:"text",key:"receivedAmountCny",header:"\u5DF2\u6536\u6B3E CNY",width:150,align:"right",format:Xu},{type:"text",key:"unreceivedAmountCny",header:"\u672A\u6536\u6B3E CNY",width:150,align:"right",format:Xu}],rows:e.orders.items,rowKey:m=>`${m.customerContractId}:${m.purchaseOrderId}`,pagination:xg(e.orders),onPageChange:m=>{p(m)},emptyText:"\u6682\u65E0\u5DF2\u5173\u8054\u7684\u6D3E\u751F\u9500\u552E\u8BA2\u5355",actionWidth:430,actions:m=>(0,M.jsxs)(M.Fragment,{children:[rC.map(g=>(0,M.jsx)("button",{type:"button",onClick:()=>{v(m,g.type)},children:g.type==="CUSTOMS_DECLARATION"?"\u751F\u6210\u62A5\u5173\u5355":`\u751F\u6210 ${g.label}`},g.type)),(0,M.jsx)("button",{type:"button",onClick:()=>{e.onOpenSalesOrder(m),e.onQuery("generatedFiles",{page:1,pageSize:qa,filters:{},parameters:{customerContractId:m.customerContractId,purchaseOrderId:m.purchaseOrderId}})},children:"\u5386\u53F2\u751F\u6210"})]})}),r&&(0,M.jsx)(oC,{generation:r,banks:e.banks,busy:e.busy,onClose:()=>o(null),onGenerate:m=>y(kg(r.order,r.type,m))}),i&&(0,M.jsx)(iC,{busy:e.busy,result:i.result,onCancel:()=>a(null),onConfirm:async()=>{let m=await e.onAction("generate_sales_file",i.input);l(m.data),a(null)}})]})}function oC({generation:e,banks:t,busy:n,onClose:r,onGenerate:o}){let i=t.filter(sC),[a,s]=ur.default.useState(i[0]?.bankType??"");return(0,M.jsxs)(be,{open:!0,title:`\u751F\u6210 ${Zu(e.type)}`,onClose:r,footer:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:"\u53D6\u6D88"}),(0,M.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n||!a,onClick:()=>a&&void o(a),children:"\u751F\u6210\u9884\u68C0"})]}),children:[(0,M.jsx)(Ce,{children:"\u4E1A\u52A1\u91D1\u989D\u548C\u751F\u6210\u6587\u4EF6\u9ED8\u8BA4\u4F7F\u7528 CNY\u3002"}),(0,M.jsx)(H,{label:"\u94F6\u884C\u8D26\u6237",children:(0,M.jsxs)("select",{value:a,onChange:l=>s(l.target.value),children:[(0,M.jsx)("option",{value:"",children:"\u8BF7\u9009\u62E9\u5DF2\u5B8C\u6574\u914D\u7F6E\u7684\u94F6\u884C"}),i.map(l=>(0,M.jsxs)("option",{value:l.bankType,children:[l.bankType==="OVERSEAS_CNY"?"\u5883\u5916\u4EBA\u6C11\u5E01\u8D26\u6237":"\u5883\u5916\u7F8E\u5143\u8D26\u6237"," \xB7 ",l.bankName]},l.bankType))]})}),!i.length&&(0,M.jsx)(Re,{children:"\u6CA1\u6709\u5DF2\u5B8C\u6574\u914D\u7F6E\u7684\u5883\u5916\u4EBA\u6C11\u5E01\u6216\u5883\u5916\u7F8E\u5143\u94F6\u884C\u8D26\u6237\uFF0C\u8BF7\u5148\u5728\u7CFB\u7EDF\u8BBE\u7F6E\u4E2D\u7EF4\u62A4\u3002"})]})}function iC({busy:e,result:t,onCancel:n,onConfirm:r}){return(0,M.jsxs)(be,{open:!0,title:"\u751F\u6210\u9884\u68C0\u786E\u8BA4",onClose:n,footer:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:"\u53D6\u6D88"}),(0,M.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e||!t.allowed,onClick:()=>{r()},children:"\u786E\u8BA4\u751F\u6210"})]}),children:[(0,M.jsxs)("dl",{className:"tcw-preflight-summary",children:[(0,M.jsxs)("div",{children:[(0,M.jsx)("dt",{children:"\u6587\u4EF6\u7C7B\u578B"}),(0,M.jsx)("dd",{children:Zu(t.fileType)})]}),(0,M.jsxs)("div",{children:[(0,M.jsx)("dt",{children:"\u4E1A\u52A1\u5E01\u79CD"}),(0,M.jsx)("dd",{children:t.currencyCode})]}),(0,M.jsxs)("div",{children:[(0,M.jsx)("dt",{children:"\u5408\u89C4\u5229\u6DA6\u7387"}),(0,M.jsx)("dd",{children:lC(t.complianceProfitRate)})]}),(0,M.jsxs)("div",{children:[(0,M.jsx)("dt",{children:"\u6362\u6C47\u6210\u672C"}),(0,M.jsx)("dd",{children:t.exchangeCost??"\u4E0D\u9002\u7528"})]})]}),t.blockingReasons.length>0&&(0,M.jsxs)(Re,{children:[(0,M.jsx)("strong",{children:"\u7981\u6B62\u751F\u6210"}),(0,M.jsx)("ul",{children:t.blockingReasons.map(o=>(0,M.jsx)("li",{children:o.message},o.code))})]}),t.warnings.length>0&&(0,M.jsxs)(Re,{children:[(0,M.jsx)("strong",{children:"\u8D1F\u5229\u6DA6\u5546\u54C1"}),(0,M.jsx)("ul",{children:t.warnings.map(o=>(0,M.jsxs)("li",{children:[o.productName?`${o.productName}\uFF1A`:"",o.message]},o.purchaseOrderLineId??o.productName))})]}),t.allowed&&(0,M.jsx)(Ce,{children:"\u9884\u68C0\u5DF2\u901A\u8FC7\u3002\u786E\u8BA4\u540E\u670D\u52A1\u7AEF\u5C06\u91CD\u65B0\u6821\u9A8C\u5E76\u751F\u6210\u6587\u4EF6\u3002"})]})}function aC({result:e}){return e.translationFailures.length?(0,M.jsxs)(Re,{children:[(0,M.jsx)("strong",{children:"\u6587\u4EF6\u5DF2\u751F\u6210\uFF0C\u4F46\u4EE5\u4E0B\u5B57\u6BB5\u7FFB\u8BD1\u5931\u8D25"}),(0,M.jsx)("ul",{children:e.translationFailures.map(t=>(0,M.jsxs)("li",{children:[(0,M.jsx)("b",{children:t.field}),"\uFF1A",t.sourceValue,"\uFF08",t.message,"\uFF09"]},t.field))})]}):(0,M.jsxs)(Ce,{children:["\u6587\u4EF6\u5DF2\u751F\u6210\uFF1A",e.fileName]})}function sC(e){return[e.beneficiary,e.bankName,e.bankAddress,e.accountNo].every(n=>String(n??"").trim())&&(e.bankType==="OVERSEAS_CNY"?!!String(e.cnapsCode??"").trim():!!String(e.swiftCode??"").trim())}function kg(e,t,n){return{customerContractId:e.customerContractId,purchaseOrderId:e.purchaseOrderId,fileType:t,...n?{bankType:n}:{}}}function xg(e){let t=e.pageSize??qa,n=e.total??0;return{total:n,page:e.page??1,pageSize:t,pageCount:Math.max(1,Math.ceil(n/t))}}function Xu(e){let t=Number(e);return Number.isFinite(t)?t.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2}):"\u2014"}function lC(e){let t=Number(e);return e!=null&&Number.isFinite(t)?`${(t*100).toFixed(2)}%`:"\u2014"}function Zu(e){return e==="CUSTOMS_DECLARATION"?"\u62A5\u5173\u5355":String(e??"\u2014")}function Sg(e){return e?new Date(String(e)).toLocaleString("zh-CN"):"\u2014"}var Yr=9e15,jn=1e9,Ju="0123456789abcdef",Xa="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Za="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ec={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Yr,maxE:Yr,crypto:!1},Ag,pn,$=!0,es="[DecimalError] ",Hn=es+"Invalid argument: ",Ig=es+"Precision limit exceeded",Pg=es+"crypto unavailable",_g="[object Decimal]",tt=Math.floor,Le=Math.pow,uC=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,cC=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,dC=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Fg=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Ht=1e7,W=7,pC=9007199254740991,mC=Xa.length-1,tc=Za.length-1,I={toStringTag:_g};I.absoluteValue=I.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),j(e)};I.ceil=function(){return j(new this.constructor(this),this.e+1,2)};I.clampedTo=I.clamp=function(e,t){var n,r=this,o=r.constructor;if(e=new o(e),t=new o(t),!e.s||!t.s)return new o(NaN);if(e.gt(t))throw Error(Hn+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new o(r)};I.comparedTo=I.cmp=function(e){var t,n,r,o,i=this,a=i.d,s=(e=new i.constructor(e)).d,l=i.s,u=e.s;if(!a||!s)return!l||!u?NaN:l!==u?l:a===s?0:!a^l<0?1:-1;if(!a[0]||!s[0])return a[0]?l:s[0]?-u:0;if(l!==u)return l;if(i.e!==e.e)return i.e>e.e^l<0?1:-1;for(r=a.length,o=s.length,t=0,n=r<o?r:o;t<n;++t)if(a[t]!==s[t])return a[t]>s[t]^l<0?1:-1;return r===o?0:r>o^l<0?1:-1};I.cosine=I.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+W,r.rounding=1,n=fC(r,Ug(r,n)),r.precision=e,r.rounding=t,j(pn==2||pn==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)};I.cubeRoot=I.cbrt=function(){var e,t,n,r,o,i,a,s,l,u,c=this,d=c.constructor;if(!c.isFinite()||c.isZero())return new d(c);for($=!1,i=c.s*Le(c.s*c,1/3),!i||Math.abs(i)==1/0?(n=Ve(c.d),e=c.e,(i=(e-n.length+1)%3)&&(n+=i==1||i==-2?"0":"00"),i=Le(n,1/3),e=tt((e+1)/3)-(e%3==(e<0?-1:2)),i==1/0?n="5e"+e:(n=i.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),r=new d(n),r.s=c.s):r=new d(i.toString()),a=(e=d.precision)+3;;)if(s=r,l=s.times(s).times(s),u=l.plus(c),r=ue(u.plus(c).times(s),u.plus(l),a+2,1),Ve(s.d).slice(0,a)===(n=Ve(r.d)).slice(0,a))if(n=n.slice(a-3,a+1),n=="9999"||!o&&n=="4999"){if(!o&&(j(s,e+1,0),s.times(s).times(s).eq(c))){r=s;break}a+=4,o=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(j(r,e+1,1),t=!r.times(r).times(r).eq(c));break}return $=!0,j(r,e,d.rounding,t)};I.decimalPlaces=I.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-tt(this.e/W))*W,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};I.dividedBy=I.div=function(e){return ue(this,new this.constructor(e))};I.dividedToIntegerBy=I.divToInt=function(e){var t=this,n=t.constructor;return j(ue(t,new n(e),0,1,1),n.precision,n.rounding)};I.equals=I.eq=function(e){return this.cmp(e)===0};I.floor=function(){return j(new this.constructor(this),this.e+1,3)};I.greaterThan=I.gt=function(e){return this.cmp(e)>0};I.greaterThanOrEqualTo=I.gte=function(e){var t=this.cmp(e);return t==1||t===0};I.hyperbolicCosine=I.cosh=function(){var e,t,n,r,o,i=this,a=i.constructor,s=new a(1);if(!i.isFinite())return new a(i.s?1/0:NaN);if(i.isZero())return s;n=a.precision,r=a.rounding,a.precision=n+Math.max(i.e,i.sd())+4,a.rounding=1,o=i.d.length,o<32?(e=Math.ceil(o/3),t=(1/ns(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),i=Xr(a,1,i.times(t),new a(1),!0);for(var l,u=e,c=new a(8);u--;)l=i.times(i),i=s.minus(l.times(c.minus(l.times(c))));return j(i,a.precision=n,a.rounding=r,!0)};I.hyperbolicSine=I.sinh=function(){var e,t,n,r,o=this,i=o.constructor;if(!o.isFinite()||o.isZero())return new i(o);if(t=i.precision,n=i.rounding,i.precision=t+Math.max(o.e,o.sd())+4,i.rounding=1,r=o.d.length,r<3)o=Xr(i,2,o,o,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,o=o.times(1/ns(5,e)),o=Xr(i,2,o,o,!0);for(var a,s=new i(5),l=new i(16),u=new i(20);e--;)a=o.times(o),o=o.times(s.plus(a.times(l.times(a).plus(u))))}return i.precision=t,i.rounding=n,j(o,t,n,!0)};I.hyperbolicTangent=I.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,ue(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)};I.inverseCosine=I.acos=function(){var e=this,t=e.constructor,n=e.abs().cmp(1),r=t.precision,o=t.rounding;return n!==-1?n===0?e.isNeg()?Xt(t,r,o):new t(0):new t(NaN):e.isZero()?Xt(t,r+4,o).times(.5):(t.precision=r+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=r,t.rounding=o,e.times(2))};I.inverseHyperbolicCosine=I.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,$=!1,n=n.times(n).minus(1).sqrt().plus(n),$=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)};I.inverseHyperbolicSine=I.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,$=!1,n=n.times(n).plus(1).sqrt().plus(n),$=!0,r.precision=e,r.rounding=t,n.ln())};I.inverseHyperbolicTangent=I.atanh=function(){var e,t,n,r,o=this,i=o.constructor;return o.isFinite()?o.e>=0?new i(o.abs().eq(1)?o.s/0:o.isZero()?o:NaN):(e=i.precision,t=i.rounding,r=o.sd(),Math.max(r,e)<2*-o.e-1?j(new i(o),e,t,!0):(i.precision=n=r-o.e,o=ue(o.plus(1),new i(1).minus(o),n+e,1),i.precision=e+4,i.rounding=1,o=o.ln(),i.precision=e,i.rounding=t,o.times(.5))):new i(NaN)};I.inverseSine=I.asin=function(){var e,t,n,r,o=this,i=o.constructor;return o.isZero()?new i(o):(t=o.abs().cmp(1),n=i.precision,r=i.rounding,t!==-1?t===0?(e=Xt(i,n+4,r).times(.5),e.s=o.s,e):new i(NaN):(i.precision=n+6,i.rounding=1,o=o.div(new i(1).minus(o.times(o)).sqrt().plus(1)).atan(),i.precision=n,i.rounding=r,o.times(2)))};I.inverseTangent=I.atan=function(){var e,t,n,r,o,i,a,s,l,u=this,c=u.constructor,d=c.precision,p=c.rounding;if(u.isFinite()){if(u.isZero())return new c(u);if(u.abs().eq(1)&&d+4<=tc)return a=Xt(c,d+4,p).times(.25),a.s=u.s,a}else{if(!u.s)return new c(NaN);if(d+4<=tc)return a=Xt(c,d+4,p).times(.5),a.s=u.s,a}for(c.precision=s=d+10,c.rounding=1,n=Math.min(28,s/W+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for($=!1,t=Math.ceil(s/W),r=1,l=u.times(u),a=new c(u),o=u;e!==-1;)if(o=o.times(l),i=a.minus(o.div(r+=2)),o=o.times(l),a=i.plus(o.div(r+=2)),a.d[t]!==void 0)for(e=t;a.d[e]===i.d[e]&&e--;);return n&&(a=a.times(2<<n-1)),$=!0,j(a,c.precision=d,c.rounding=p,!0)};I.isFinite=function(){return!!this.d};I.isInteger=I.isInt=function(){return!!this.d&&tt(this.e/W)>this.d.length-2};I.isNaN=function(){return!this.s};I.isNegative=I.isNeg=function(){return this.s<0};I.isPositive=I.isPos=function(){return this.s>0};I.isZero=function(){return!!this.d&&this.d[0]===0};I.lessThan=I.lt=function(e){return this.cmp(e)<0};I.lessThanOrEqualTo=I.lte=function(e){return this.cmp(e)<1};I.logarithm=I.log=function(e){var t,n,r,o,i,a,s,l,u=this,c=u.constructor,d=c.precision,p=c.rounding,f=5;if(e==null)e=new c(10),t=!0;else{if(e=new c(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new c(NaN);t=e.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new c(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)i=!0;else{for(o=n[0];o%10===0;)o/=10;i=o!==1}if($=!1,s=d+f,a=Bn(u,s),r=t?Ja(c,s+10):Bn(e,s),l=ue(a,r,s,1),ri(l.d,o=d,p))do if(s+=10,a=Bn(u,s),r=t?Ja(c,s+10):Bn(e,s),l=ue(a,r,s,1),!i){+Ve(l.d).slice(o+1,o+15)+1==1e14&&(l=j(l,d+1,0));break}while(ri(l.d,o+=10,p));return $=!0,j(l,d,p)};I.minus=I.sub=function(e){var t,n,r,o,i,a,s,l,u,c,d,p,f=this,v=f.constructor;if(e=new v(e),!f.d||!e.d)return!f.s||!e.s?e=new v(NaN):f.d?e.s=-e.s:e=new v(e.d||f.s!==e.s?f:NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(u=f.d,p=e.d,s=v.precision,l=v.rounding,!u[0]||!p[0]){if(p[0])e.s=-e.s;else if(u[0])e=new v(f);else return new v(l===3?-0:0);return $?j(e,s,l):e}if(n=tt(e.e/W),c=tt(f.e/W),u=u.slice(),i=c-n,i){for(d=i<0,d?(t=u,i=-i,a=p.length):(t=p,n=c,a=u.length),r=Math.max(Math.ceil(s/W),a)+2,i>r&&(i=r,t.length=1),t.reverse(),r=i;r--;)t.push(0);t.reverse()}else{for(r=u.length,a=p.length,d=r<a,d&&(a=r),r=0;r<a;r++)if(u[r]!=p[r]){d=u[r]<p[r];break}i=0}for(d&&(t=u,u=p,p=t,e.s=-e.s),a=u.length,r=p.length-a;r>0;--r)u[a++]=0;for(r=p.length;r>i;){if(u[--r]<p[r]){for(o=r;o&&u[--o]===0;)u[o]=Ht-1;--u[o],u[r]+=Ht}u[r]-=p[r]}for(;u[--a]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(e.d=u,e.e=ts(u,n),$?j(e,s,l):e):new v(l===3?-0:0)};I.modulo=I.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?j(new r(n),r.precision,r.rounding):($=!1,r.modulo==9?(t=ue(n,e.abs(),0,3,1),t.s*=e.s):t=ue(n,e,0,r.modulo,1),t=t.times(e),$=!0,n.minus(t))};I.naturalExponential=I.exp=function(){return nc(this)};I.naturalLogarithm=I.ln=function(){return Bn(this)};I.negated=I.neg=function(){var e=new this.constructor(this);return e.s=-e.s,j(e)};I.plus=I.add=function(e){var t,n,r,o,i,a,s,l,u,c,d=this,p=d.constructor;if(e=new p(e),!d.d||!e.d)return!d.s||!e.s?e=new p(NaN):d.d||(e=new p(e.d||d.s===e.s?d:NaN)),e;if(d.s!=e.s)return e.s=-e.s,d.minus(e);if(u=d.d,c=e.d,s=p.precision,l=p.rounding,!u[0]||!c[0])return c[0]||(e=new p(d)),$?j(e,s,l):e;if(i=tt(d.e/W),r=tt(e.e/W),u=u.slice(),o=i-r,o){for(o<0?(n=u,o=-o,a=c.length):(n=c,r=i,a=u.length),i=Math.ceil(s/W),a=i>a?i+1:a+1,o>a&&(o=a,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(a=u.length,o=c.length,a-o<0&&(o=a,n=c,c=u,u=n),t=0;o;)t=(u[--o]=u[o]+c[o]+t)/Ht|0,u[o]%=Ht;for(t&&(u.unshift(t),++r),a=u.length;u[--a]==0;)u.pop();return e.d=u,e.e=ts(u,r),$?j(e,s,l):e};I.precision=I.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Hn+e);return n.d?(t=Dg(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};I.round=function(){var e=this,t=e.constructor;return j(new t(e),e.e+1,t.rounding)};I.sine=I.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+W,r.rounding=1,n=yC(r,Ug(r,n)),r.precision=e,r.rounding=t,j(pn>2?n.neg():n,e,t,!0)):new r(NaN)};I.squareRoot=I.sqrt=function(){var e,t,n,r,o,i,a=this,s=a.d,l=a.e,u=a.s,c=a.constructor;if(u!==1||!s||!s[0])return new c(!u||u<0&&(!s||s[0])?NaN:s?a:1/0);for($=!1,u=Math.sqrt(+a),u==0||u==1/0?(t=Ve(s),(t.length+l)%2==0&&(t+="0"),u=Math.sqrt(t),l=tt((l+1)/2)-(l<0||l%2),u==1/0?t="5e"+l:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),r=new c(t)):r=new c(u.toString()),n=(l=c.precision)+3;;)if(i=r,r=i.plus(ue(a,i,n+2,1)).times(.5),Ve(i.d).slice(0,n)===(t=Ve(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!o&&t=="4999"){if(!o&&(j(i,l+1,0),i.times(i).eq(a))){r=i;break}n+=4,o=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(j(r,l+1,1),e=!r.times(r).eq(a));break}return $=!0,j(r,l,c.rounding,e)};I.tangent=I.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,n=n.sin(),n.s=1,n=ue(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,j(pn==2||pn==4?n.neg():n,e,t,!0)):new r(NaN)};I.times=I.mul=function(e){var t,n,r,o,i,a,s,l,u,c=this,d=c.constructor,p=c.d,f=(e=new d(e)).d;if(e.s*=c.s,!p||!p[0]||!f||!f[0])return new d(!e.s||p&&!p[0]&&!f||f&&!f[0]&&!p?NaN:!p||!f?e.s/0:e.s*0);for(n=tt(c.e/W)+tt(e.e/W),l=p.length,u=f.length,l<u&&(i=p,p=f,f=i,a=l,l=u,u=a),i=[],a=l+u,r=a;r--;)i.push(0);for(r=u;--r>=0;){for(t=0,o=l+r;o>r;)s=i[o]+f[r]*p[o-r-1]+t,i[o--]=s%Ht|0,t=s/Ht|0;i[o]=(i[o]+t)%Ht|0}for(;!i[--a];)i.pop();return t?++n:i.shift(),e.d=i,e.e=ts(i,n),$?j(e,d.precision,d.rounding):e};I.toBinary=function(e,t){return rc(this,2,e,t)};I.toDecimalPlaces=I.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(ht(e,0,jn),t===void 0?t=r.rounding:ht(t,0,8),j(n,e+n.e+1,t))};I.toExponential=function(e,t){var n,r=this,o=r.constructor;return e===void 0?n=Zt(r,!0):(ht(e,0,jn),t===void 0?t=o.rounding:ht(t,0,8),r=j(new o(r),e+1,t),n=Zt(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};I.toFixed=function(e,t){var n,r,o=this,i=o.constructor;return e===void 0?n=Zt(o):(ht(e,0,jn),t===void 0?t=i.rounding:ht(t,0,8),r=j(new i(o),e+o.e+1,t),n=Zt(r,!1,e+r.e+1)),o.isNeg()&&!o.isZero()?"-"+n:n};I.toFraction=function(e){var t,n,r,o,i,a,s,l,u,c,d,p,f=this,v=f.d,y=f.constructor;if(!v)return new y(f);if(u=n=new y(1),r=l=new y(0),t=new y(r),i=t.e=Dg(v)-f.e-1,a=i%W,t.d[0]=Le(10,a<0?W+a:a),e==null)e=i>0?t:u;else{if(s=new y(e),!s.isInt()||s.lt(u))throw Error(Hn+s);e=s.gt(t)?i>0?t:u:s}for($=!1,s=new y(Ve(v)),c=y.precision,y.precision=i=v.length*W*2;d=ue(s,t,0,1,1),o=n.plus(d.times(r)),o.cmp(e)!=1;)n=r,r=o,o=u,u=l.plus(d.times(o)),l=o,o=t,t=s.minus(d.times(o)),s=o;return o=ue(e.minus(n),r,0,1,1),l=l.plus(o.times(u)),n=n.plus(o.times(r)),l.s=u.s=f.s,p=ue(u,r,i,1).minus(f).abs().cmp(ue(l,n,i,1).minus(f).abs())<1?[u,r]:[l,n],y.precision=c,$=!0,p};I.toHexadecimal=I.toHex=function(e,t){return rc(this,16,e,t)};I.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.rounding:ht(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?($=!1,n=ue(n,e,0,t,1).times(e),$=!0,j(n)):(e.s=n.s,n=e),n};I.toNumber=function(){return+this};I.toOctal=function(e,t){return rc(this,8,e,t)};I.toPower=I.pow=function(e){var t,n,r,o,i,a,s=this,l=s.constructor,u=+(e=new l(e));if(!s.d||!e.d||!s.d[0]||!e.d[0])return new l(Le(+s,u));if(s=new l(s),s.eq(1))return s;if(r=l.precision,i=l.rounding,e.eq(1))return j(s,r,i);if(t=tt(e.e/W),t>=e.d.length-1&&(n=u<0?-u:u)<=pC)return o=Og(l,s,n,r),e.s<0?new l(1).div(o):j(o,r,i);if(a=s.s,a<0){if(t<e.d.length-1)return new l(NaN);if((e.d[t]&1)==0&&(a=1),s.e==0&&s.d[0]==1&&s.d.length==1)return s.s=a,s}return n=Le(+s,u),t=n==0||!isFinite(n)?tt(u*(Math.log("0."+Ve(s.d))/Math.LN10+s.e+1)):new l(n+"").e,t>l.maxE+1||t<l.minE-1?new l(t>0?a/0:0):($=!1,l.rounding=s.s=1,n=Math.min(12,(t+"").length),o=nc(e.times(Bn(s,r+n)),r),o.d&&(o=j(o,r+5,1),ri(o.d,r,i)&&(t=r+10,o=j(nc(e.times(Bn(s,t+n)),t),t+5,1),+Ve(o.d).slice(r+1,r+15)+1==1e14&&(o=j(o,r+1,0)))),o.s=a,$=!0,l.rounding=i,j(o,r,i))};I.toPrecision=function(e,t){var n,r=this,o=r.constructor;return e===void 0?n=Zt(r,r.e<=o.toExpNeg||r.e>=o.toExpPos):(ht(e,1,jn),t===void 0?t=o.rounding:ht(t,0,8),r=j(new o(r),e,t),n=Zt(r,e<=r.e||r.e<=o.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n};I.toSignificantDigits=I.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(ht(e,1,jn),t===void 0?t=r.rounding:ht(t,0,8)),j(new r(n),e,t)};I.toString=function(){var e=this,t=e.constructor,n=Zt(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};I.truncated=I.trunc=function(){return j(new this.constructor(this),this.e+1,1)};I.valueOf=I.toJSON=function(){var e=this,t=e.constructor,n=Zt(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function Ve(e){var t,n,r,o=e.length-1,i="",a=e[0];if(o>0){for(i+=a,t=1;t<o;t++)r=e[t]+"",n=W-r.length,n&&(i+=zn(n)),i+=r;a=e[t],r=a+"",n=W-r.length,n&&(i+=zn(n))}else if(a===0)return"0";for(;a%10===0;)a/=10;return i+a}function ht(e,t,n){if(e!==~~e||e<t||e>n)throw Error(Hn+e)}function ri(e,t,n,r){var o,i,a,s;for(i=e[0];i>=10;i/=10)--t;return--t<0?(t+=W,o=0):(o=Math.ceil((t+1)/W),t%=W),i=Le(10,W-t),s=e[o]%i|0,r==null?t<3?(t==0?s=s/100|0:t==1&&(s=s/10|0),a=n<4&&s==99999||n>3&&s==49999||s==5e4||s==0):a=(n<4&&s+1==i||n>3&&s+1==i/2)&&(e[o+1]/i/100|0)==Le(10,t-2)-1||(s==i/2||s==0)&&(e[o+1]/i/100|0)==0:t<4?(t==0?s=s/1e3|0:t==1?s=s/100|0:t==2&&(s=s/10|0),a=(r||n<4)&&s==9999||!r&&n>3&&s==4999):a=((r||n<4)&&s+1==i||!r&&n>3&&s+1==i/2)&&(e[o+1]/i/1e3|0)==Le(10,t-3)-1,a}function Ka(e,t,n){for(var r,o=[0],i,a=0,s=e.length;a<s;){for(i=o.length;i--;)o[i]*=t;for(o[0]+=Ju.indexOf(e.charAt(a++)),r=0;r<o.length;r++)o[r]>n-1&&(o[r+1]===void 0&&(o[r+1]=0),o[r+1]+=o[r]/n|0,o[r]%=n)}return o.reverse()}function fC(e,t){var n,r,o;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),o=(1/ns(4,n)).toString()):(n=16,o="2.3283064365386962890625e-10"),e.precision+=n,t=Xr(e,1,t.times(o),new e(1));for(var i=n;i--;){var a=t.times(t);t=a.times(a).minus(a).times(8).plus(1)}return e.precision-=n,t}var ue=(function(){function e(r,o,i){var a,s=0,l=r.length;for(r=r.slice();l--;)a=r[l]*o+s,r[l]=a%i|0,s=a/i|0;return s&&r.unshift(s),r}function t(r,o,i,a){var s,l;if(i!=a)l=i>a?1:-1;else for(s=l=0;s<i;s++)if(r[s]!=o[s]){l=r[s]>o[s]?1:-1;break}return l}function n(r,o,i,a){for(var s=0;i--;)r[i]-=s,s=r[i]<o[i]?1:0,r[i]=s*a+r[i]-o[i];for(;!r[0]&&r.length>1;)r.shift()}return function(r,o,i,a,s,l){var u,c,d,p,f,v,y,x,m,g,h,k,C,T,E,O,L,P,Q,Ie,fn=r.constructor,to=r.s==o.s?1:-1,ke=r.d,se=o.d;if(!ke||!ke[0]||!se||!se[0])return new fn(!r.s||!o.s||(ke?se&&ke[0]==se[0]:!se)?NaN:ke&&ke[0]==0||!se?to*0:to/0);for(l?(f=1,c=r.e-o.e):(l=Ht,f=W,c=tt(r.e/f)-tt(o.e/f)),Q=se.length,L=ke.length,m=new fn(to),g=m.d=[],d=0;se[d]==(ke[d]||0);d++);if(se[d]>(ke[d]||0)&&c--,i==null?(T=i=fn.precision,a=fn.rounding):s?T=i+(r.e-o.e)+1:T=i,T<0)g.push(1),v=!0;else{if(T=T/f+2|0,d=0,Q==1){for(p=0,se=se[0],T++;(d<L||p)&&T--;d++)E=p*l+(ke[d]||0),g[d]=E/se|0,p=E%se|0;v=p||d<L}else{for(p=l/(se[0]+1)|0,p>1&&(se=e(se,p,l),ke=e(ke,p,l),Q=se.length,L=ke.length),O=Q,h=ke.slice(0,Q),k=h.length;k<Q;)h[k++]=0;Ie=se.slice(),Ie.unshift(0),P=se[0],se[1]>=l/2&&++P;do p=0,u=t(se,h,Q,k),u<0?(C=h[0],Q!=k&&(C=C*l+(h[1]||0)),p=C/P|0,p>1?(p>=l&&(p=l-1),y=e(se,p,l),x=y.length,k=h.length,u=t(y,h,x,k),u==1&&(p--,n(y,Q<x?Ie:se,x,l))):(p==0&&(u=p=1),y=se.slice()),x=y.length,x<k&&y.unshift(0),n(h,y,k,l),u==-1&&(k=h.length,u=t(se,h,Q,k),u<1&&(p++,n(h,Q<k?Ie:se,k,l))),k=h.length):u===0&&(p++,h=[0]),g[d++]=p,u&&h[0]?h[k++]=ke[O]||0:(h=[ke[O]],k=1);while((O++<L||h[0]!==void 0)&&T--);v=h[0]!==void 0}g[0]||g.shift()}if(f==1)m.e=c,Ag=v;else{for(d=1,p=g[0];p>=10;p/=10)d++;m.e=d+c*f-1,j(m,s?i+m.e+1:i,a,v)}return m}})();function j(e,t,n,r){var o,i,a,s,l,u,c,d,p,f=e.constructor;e:if(t!=null){if(d=e.d,!d)return e;for(o=1,s=d[0];s>=10;s/=10)o++;if(i=t-o,i<0)i+=W,a=t,c=d[p=0],l=c/Le(10,o-a-1)%10|0;else if(p=Math.ceil((i+1)/W),s=d.length,p>=s)if(r){for(;s++<=p;)d.push(0);c=l=0,o=1,i%=W,a=i-W+1}else break e;else{for(c=s=d[p],o=1;s>=10;s/=10)o++;i%=W,a=i-W+o,l=a<0?0:c/Le(10,o-a-1)%10|0}if(r=r||t<0||d[p+1]!==void 0||(a<0?c:c%Le(10,o-a-1)),u=n<4?(l||r)&&(n==0||n==(e.s<0?3:2)):l>5||l==5&&(n==4||r||n==6&&(i>0?a>0?c/Le(10,o-a):0:d[p-1])%10&1||n==(e.s<0?8:7)),t<1||!d[0])return d.length=0,u?(t-=e.e+1,d[0]=Le(10,(W-t%W)%W),e.e=-t||0):d[0]=e.e=0,e;if(i==0?(d.length=p,s=1,p--):(d.length=p+1,s=Le(10,W-i),d[p]=a>0?(c/Le(10,o-a)%Le(10,a)|0)*s:0),u)for(;;)if(p==0){for(i=1,a=d[0];a>=10;a/=10)i++;for(a=d[0]+=s,s=1;a>=10;a/=10)s++;i!=s&&(e.e++,d[0]==Ht&&(d[0]=1));break}else{if(d[p]+=s,d[p]!=Ht)break;d[p--]=0,s=1}for(i=d.length;d[--i]===0;)d.pop()}return $&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e<f.minE&&(e.e=0,e.d=[0])),e}function Zt(e,t,n){if(!e.isFinite())return Mg(e);var r,o=e.e,i=Ve(e.d),a=i.length;return t?(n&&(r=n-a)>0?i=i.charAt(0)+"."+i.slice(1)+zn(r):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(e.e<0?"e":"e+")+e.e):o<0?(i="0."+zn(-o-1)+i,n&&(r=n-a)>0&&(i+=zn(r))):o>=a?(i+=zn(o+1-a),n&&(r=n-o-1)>0&&(i=i+"."+zn(r))):((r=o+1)<a&&(i=i.slice(0,r)+"."+i.slice(r)),n&&(r=n-a)>0&&(o+1===a&&(i+="."),i+=zn(r))),i}function ts(e,t){var n=e[0];for(t*=W;n>=10;n/=10)t++;return t}function Ja(e,t,n){if(t>mC)throw $=!0,n&&(e.precision=n),Error(Ig);return j(new e(Xa),t,1,!0)}function Xt(e,t,n){if(t>tc)throw Error(Ig);return j(new e(Za),t,n,!0)}function Dg(e){var t=e.length-1,n=t*W+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function zn(e){for(var t="";e--;)t+="0";return t}function Og(e,t,n,r){var o,i=new e(1),a=Math.ceil(r/W+4);for($=!1;;){if(n%2&&(i=i.times(t),Tg(i.d,a)&&(o=!0)),n=tt(n/2),n===0){n=i.d.length-1,o&&i.d[n]===0&&++i.d[n];break}t=t.times(t),Tg(t.d,a)}return $=!0,i}function Ng(e){return e.d[e.d.length-1]&1}function Lg(e,t,n){for(var r,o,i=new e(t[0]),a=0;++a<t.length;){if(o=new e(t[a]),!o.s){i=o;break}r=i.cmp(o),(r===n||r===0&&i.s===n)&&(i=o)}return i}function nc(e,t){var n,r,o,i,a,s,l,u=0,c=0,d=0,p=e.constructor,f=p.rounding,v=p.precision;if(!e.d||!e.d[0]||e.e>17)return new p(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?($=!1,l=v):l=t,s=new p(.03125);e.e>-2;)e=e.times(s),d+=5;for(r=Math.log(Le(2,d))/Math.LN10*2+5|0,l+=r,n=i=a=new p(1),p.precision=l;;){if(i=j(i.times(e),l,1),n=n.times(++c),s=a.plus(ue(i,n,l,1)),Ve(s.d).slice(0,l)===Ve(a.d).slice(0,l)){for(o=d;o--;)a=j(a.times(a),l,1);if(t==null)if(u<3&&ri(a.d,l-r,f,u))p.precision=l+=10,n=i=s=new p(1),c=0,u++;else return j(a,p.precision=v,f,$=!0);else return p.precision=v,a}a=s}}function Bn(e,t){var n,r,o,i,a,s,l,u,c,d,p,f=1,v=10,y=e,x=y.d,m=y.constructor,g=m.rounding,h=m.precision;if(y.s<0||!x||!x[0]||!y.e&&x[0]==1&&x.length==1)return new m(x&&!x[0]?-1/0:y.s!=1?NaN:x?0:y);if(t==null?($=!1,c=h):c=t,m.precision=c+=v,n=Ve(x),r=n.charAt(0),Math.abs(i=y.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)y=y.times(e),n=Ve(y.d),r=n.charAt(0),f++;i=y.e,r>1?(y=new m("0."+n),i++):y=new m(r+"."+n.slice(1))}else return u=Ja(m,c+2,h).times(i+""),y=Bn(new m(r+"."+n.slice(1)),c-v).plus(u),m.precision=h,t==null?j(y,h,g,$=!0):y;for(d=y,l=a=y=ue(y.minus(1),y.plus(1),c,1),p=j(y.times(y),c,1),o=3;;){if(a=j(a.times(p),c,1),u=l.plus(ue(a,new m(o),c,1)),Ve(u.d).slice(0,c)===Ve(l.d).slice(0,c))if(l=l.times(2),i!==0&&(l=l.plus(Ja(m,c+2,h).times(i+""))),l=ue(l,new m(f),c,1),t==null)if(ri(l.d,c-v,g,s))m.precision=c+=v,u=a=y=ue(d.minus(1),d.plus(1),c,1),p=j(y.times(y),c,1),o=s=1;else return j(l,m.precision=h,g,$=!0);else return m.precision=h,l;l=u,o+=2}}function Mg(e){return String(e.s*e.s/0)}function Ya(e,t){var n,r,o;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;r++);for(o=t.length;t.charCodeAt(o-1)===48;--o);if(t=t.slice(r,o),t){if(o-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%W,n<0&&(r+=W),r<o){for(r&&e.d.push(+t.slice(0,r)),o-=W;r<o;)e.d.push(+t.slice(r,r+=W));t=t.slice(r),r=W-t.length}else r-=o;for(;r--;)t+="0";e.d.push(+t),$&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function gC(e,t){var n,r,o,i,a,s,l,u,c;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),Fg.test(t))return Ya(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(cC.test(t))n=16,t=t.toLowerCase();else if(uC.test(t))n=2;else if(dC.test(t))n=8;else throw Error(Hn+t);for(i=t.search(/p/i),i>0?(l=+t.slice(i+1),t=t.substring(2,i)):t=t.slice(2),i=t.indexOf("."),a=i>=0,r=e.constructor,a&&(t=t.replace(".",""),s=t.length,i=s-i,o=Og(r,new r(n),i,i*2)),u=Ka(t,n,Ht),c=u.length-1,i=c;u[i]===0;--i)u.pop();return i<0?new r(e.s*0):(e.e=ts(u,c),e.d=u,$=!1,a&&(e=ue(e,o,s*4)),l&&(e=e.times(Math.abs(l)<54?Le(2,l):oi.pow(2,l))),$=!0,e)}function yC(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:Xr(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/ns(5,n)),t=Xr(e,2,t,t);for(var o,i=new e(5),a=new e(16),s=new e(20);n--;)o=t.times(t),t=t.times(i.plus(o.times(a.times(o).minus(s))));return t}function Xr(e,t,n,r,o){var i,a,s,l,u=1,c=e.precision,d=Math.ceil(c/W);for($=!1,l=n.times(n),s=new e(r);;){if(a=ue(s.times(l),new e(t++*t++),c,1),s=o?r.plus(a):r.minus(a),r=ue(a.times(l),new e(t++*t++),c,1),a=s.plus(r),a.d[d]!==void 0){for(i=d;a.d[i]===s.d[i]&&i--;);if(i==-1)break}i=s,s=r,r=a,a=i,u++}return $=!0,a.d.length=d+1,a}function ns(e,t){for(var n=e;--t;)n*=e;return n}function Ug(e,t){var n,r=t.s<0,o=Xt(e,e.precision,1),i=o.times(.5);if(t=t.abs(),t.lte(i))return pn=r?4:1,t;if(n=t.divToInt(o),n.isZero())pn=r?3:2;else{if(t=t.minus(n.times(o)),t.lte(i))return pn=Ng(n)?r?2:3:r?4:1,t;pn=Ng(n)?r?1:4:r?3:2}return t.minus(o).abs()}function rc(e,t,n,r){var o,i,a,s,l,u,c,d,p,f=e.constructor,v=n!==void 0;if(v?(ht(n,1,jn),r===void 0?r=f.rounding:ht(r,0,8)):(n=f.precision,r=f.rounding),!e.isFinite())c=Mg(e);else{for(c=Zt(e),a=c.indexOf("."),v?(o=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):o=t,a>=0&&(c=c.replace(".",""),p=new f(1),p.e=c.length-a,p.d=Ka(Zt(p),10,o),p.e=p.d.length),d=Ka(c,10,o),i=l=d.length;d[--l]==0;)d.pop();if(!d[0])c=v?"0p+0":"0";else{if(a<0?i--:(e=new f(e),e.d=d,e.e=i,e=ue(e,p,n,r,0,o),d=e.d,i=e.e,u=Ag),a=d[n],s=o/2,u=u||d[n+1]!==void 0,u=r<4?(a!==void 0||u)&&(r===0||r===(e.s<0?3:2)):a>s||a===s&&(r===4||u||r===6&&d[n-1]&1||r===(e.s<0?8:7)),d.length=n,u)for(;++d[--n]>o-1;)d[n]=0,n||(++i,d.unshift(1));for(l=d.length;!d[l-1];--l);for(a=0,c="";a<l;a++)c+=Ju.charAt(d[a]);if(v){if(l>1)if(t==16||t==8){for(a=t==16?4:3,--l;l%a;l++)c+="0";for(d=Ka(c,o,t),l=d.length;!d[l-1];--l);for(a=1,c="1.";a<l;a++)c+=Ju.charAt(d[a])}else c=c.charAt(0)+"."+c.slice(1);c=c+(i<0?"p":"p+")+i}else if(i<0){for(;++i;)c="0"+c;c="0."+c}else if(++i>l)for(i-=l;i--;)c+="0";else i<l&&(c=c.slice(0,i)+"."+c.slice(i))}c=(t==16?"0x":t==2?"0b":t==8?"0o":"")+c}return e.s<0?"-"+c:c}function Tg(e,t){if(e.length>t)return e.length=t,!0}function hC(e){return new this(e).abs()}function wC(e){return new this(e).acos()}function vC(e){return new this(e).acosh()}function CC(e,t){return new this(e).plus(t)}function bC(e){return new this(e).asin()}function kC(e){return new this(e).asinh()}function xC(e){return new this(e).atan()}function SC(e){return new this(e).atanh()}function RC(e,t){e=new this(e),t=new this(t);var n,r=this.precision,o=this.rounding,i=r+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=Xt(this,i,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?Xt(this,r,o):new this(0),n.s=e.s):!e.d||t.isZero()?(n=Xt(this,i,1).times(.5),n.s=e.s):t.s<0?(this.precision=i,this.rounding=1,n=this.atan(ue(e,t,i,1)),t=Xt(this,i,1),this.precision=r,this.rounding=o,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(ue(e,t,i,1)),n}function NC(e){return new this(e).cbrt()}function TC(e){return j(e=new this(e),e.e+1,2)}function EC(e,t,n){return new this(e).clamp(t,n)}function AC(e){if(!e||typeof e!="object")throw Error(es+"Object expected");var t,n,r,o=e.defaults===!0,i=["precision",1,jn,"rounding",0,8,"toExpNeg",-Yr,0,"toExpPos",0,Yr,"maxE",0,Yr,"minE",-Yr,0,"modulo",0,9];for(t=0;t<i.length;t+=3)if(n=i[t],o&&(this[n]=ec[n]),(r=e[n])!==void 0)if(tt(r)===r&&r>=i[t+1]&&r<=i[t+2])this[n]=r;else throw Error(Hn+n+": "+r);if(n="crypto",o&&(this[n]=ec[n]),(r=e[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(Pg);else this[n]=!1;else throw Error(Hn+n+": "+r);return this}function IC(e){return new this(e).cos()}function PC(e){return new this(e).cosh()}function zg(e){var t,n,r;function o(i){var a,s,l,u=this;if(!(u instanceof o))return new o(i);if(u.constructor=o,Eg(i)){u.s=i.s,$?!i.d||i.e>o.maxE?(u.e=NaN,u.d=null):i.e<o.minE?(u.e=0,u.d=[0]):(u.e=i.e,u.d=i.d.slice()):(u.e=i.e,u.d=i.d?i.d.slice():i.d);return}if(l=typeof i,l==="number"){if(i===0){u.s=1/i<0?-1:1,u.e=0,u.d=[0];return}if(i<0?(i=-i,u.s=-1):u.s=1,i===~~i&&i<1e7){for(a=0,s=i;s>=10;s/=10)a++;$?a>o.maxE?(u.e=NaN,u.d=null):a<o.minE?(u.e=0,u.d=[0]):(u.e=a,u.d=[i]):(u.e=a,u.d=[i]);return}if(i*0!==0){i||(u.s=NaN),u.e=NaN,u.d=null;return}return Ya(u,i.toString())}if(l==="string")return(s=i.charCodeAt(0))===45?(i=i.slice(1),u.s=-1):(s===43&&(i=i.slice(1)),u.s=1),Fg.test(i)?Ya(u,i):gC(u,i);if(l==="bigint")return i<0?(i=-i,u.s=-1):u.s=1,Ya(u,i.toString());throw Error(Hn+i)}if(o.prototype=I,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.EUCLID=9,o.config=o.set=AC,o.clone=zg,o.isDecimal=Eg,o.abs=hC,o.acos=wC,o.acosh=vC,o.add=CC,o.asin=bC,o.asinh=kC,o.atan=xC,o.atanh=SC,o.atan2=RC,o.cbrt=NC,o.ceil=TC,o.clamp=EC,o.cos=IC,o.cosh=PC,o.div=_C,o.exp=FC,o.floor=DC,o.hypot=OC,o.ln=LC,o.log=MC,o.log10=zC,o.log2=UC,o.max=BC,o.min=HC,o.mod=jC,o.mul=GC,o.pow=WC,o.random=VC,o.round=$C,o.sign=QC,o.sin=qC,o.sinh=KC,o.sqrt=YC,o.sub=XC,o.sum=ZC,o.tan=JC,o.tanh=e1,o.trunc=t1,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return o.config(e),o}function _C(e,t){return new this(e).div(t)}function FC(e){return new this(e).exp()}function DC(e){return j(e=new this(e),e.e+1,3)}function OC(){var e,t,n=new this(0);for($=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return $=!0,new this(1/0);n=t}return $=!0,n.sqrt()}function Eg(e){return e instanceof oi||e&&e.toStringTag===_g||!1}function LC(e){return new this(e).ln()}function MC(e,t){return new this(e).log(t)}function UC(e){return new this(e).log(2)}function zC(e){return new this(e).log(10)}function BC(){return Lg(this,arguments,-1)}function HC(){return Lg(this,arguments,1)}function jC(e,t){return new this(e).mod(t)}function GC(e,t){return new this(e).mul(t)}function WC(e,t){return new this(e).pow(t)}function VC(e){var t,n,r,o,i=0,a=new this(1),s=[];if(e===void 0?e=this.precision:ht(e,1,jn),r=Math.ceil(e/W),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));i<r;)o=t[i],o>=429e7?t[i]=crypto.getRandomValues(new Uint32Array(1))[0]:s[i++]=o%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);i<r;)o=t[i]+(t[i+1]<<8)+(t[i+2]<<16)+((t[i+3]&127)<<24),o>=214e7?crypto.randomBytes(4).copy(t,i):(s.push(o%1e7),i+=4);i=r/4}else throw Error(Pg);else for(;i<r;)s[i++]=Math.random()*1e7|0;for(r=s[--i],e%=W,r&&e&&(o=Le(10,W-e),s[i]=(r/o|0)*o);s[i]===0;i--)s.pop();if(i<0)n=0,s=[0];else{for(n=-1;s[0]===0;n-=W)s.shift();for(r=1,o=s[0];o>=10;o/=10)r++;r<W&&(n-=W-r)}return a.e=n,a.d=s,a}function $C(e){return j(e=new this(e),e.e+1,this.rounding)}function QC(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function qC(e){return new this(e).sin()}function KC(e){return new this(e).sinh()}function YC(e){return new this(e).sqrt()}function XC(e,t){return new this(e).sub(t)}function ZC(){var e=0,t=arguments,n=new this(t[e]);for($=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return $=!0,j(n,this.precision,this.rounding)}function JC(e){return new this(e).tan()}function e1(e){return new this(e).tanh()}function t1(e){return j(e=new this(e),e.e+1,1)}I[Symbol.for("nodejs.util.inspect.custom")]=I.toString;I[Symbol.toStringTag]="Decimal";var oi=I.constructor=zg(ec);Xa=new oi(Xa);Za=new oi(Za);var Zr=J(ct(),1);var Y=J(ge(),1),n1=[{type:"date-range",key:"orderDate",label:"\u4E0B\u5355\u65E5\u671F"},{type:"text",key:"supplier",label:"\u4F9B\u5E94\u5546"},{type:"text",key:"productName",label:"\u5546\u54C1\u540D\u79F0"},{type:"text",key:"hsCode",label:"\u6D77\u5173\u7F16\u7801"}],r1=[{type:"date-range",key:"orderDate",label:"\u4E0B\u5355\u65E5\u671F"},{type:"text",key:"customer",label:"\u5BA2\u6237"},{type:"text",key:"productName",label:"\u5546\u54C1\u540D\u79F0"},{type:"text",key:"hsCode",label:"\u6D77\u5173\u7F16\u7801"}];function Hg({data:e,committedQuery:t,busy:n,error:r,onQuery:o,onExportXlsx:i}){let a=Zr.default.useMemo(()=>d1(e),[e.mode,e.dimension,e.details.page,e.details.pageSize]),s=t??a,[l,u]=Zr.default.useState(s.mode),[c,d]=Zr.default.useState(s.dimension),[p,f]=Zr.default.useState(()=>Bg(s));Zr.default.useEffect(()=>{u(s.mode),d(s.dimension),f(Bg(s))},[s]);let v=l==="PURCHASE"?[["SUPPLIER","\u4F9B\u5E94\u5546"],["PRODUCT","\u5546\u54C1\u540D\u79F0"]]:[["CUSTOMER","\u5BA2\u6237"],["PRODUCT","\u5546\u54C1\u540D\u79F0"]],y=l1(p),x=(C,T,E,O)=>C==="PURCHASE"?{mode:C,dimension:T==="SUPPLIER"?"SUPPLIER":"PRODUCT",filters:u1(O),page:E,pageSize:e.details.pageSize||20}:{mode:C,dimension:T==="CUSTOMER"?"CUSTOMER":"PRODUCT",filters:c1(O),page:E,pageSize:e.details.pageSize||20},m=(C=1,T=l,E=c)=>o(x(T,E,C,y)),g=C=>{o(x(C,C==="PURCHASE"?"SUPPLIER":"CUSTOMER",1,{}))},h=C=>{m(1,l,C)},k=c==="PRODUCT";return(0,Y.jsxs)("section",{className:"tcw-analytics-page","aria-label":"\u6570\u636E\u5206\u6790",children:[(0,Y.jsxs)("div",{className:"tcw-page-tabs",role:"tablist","aria-label":"\u5206\u6790\u7C7B\u578B",children:[(0,Y.jsx)("button",{type:"button",role:"tab","aria-selected":l==="PURCHASE",onClick:()=>g("PURCHASE"),children:"\u91C7\u8D2D\u5206\u6790"}),(0,Y.jsx)("button",{type:"button",role:"tab","aria-selected":l==="SALES",onClick:()=>g("SALES"),children:"\u9500\u552E\u5206\u6790"})]}),(0,Y.jsxs)("div",{className:"tcw-analytics-year",children:[e.currentYear," \u5E74\u5EA6 \xB7 Asia/Shanghai"]}),(0,Y.jsx)(We,{definitions:l==="PURCHASE"?n1:r1,values:p,onChange:(C,T)=>f(E=>({...E,[C]:T})),onQuery:()=>{m()},onReset:()=>{f({}),o(x(l,c,1,{}))}}),(0,Y.jsxs)("div",{className:"tcw-analytics-toolbar",children:[(0,Y.jsx)("div",{className:"tcw-segmented-control",role:"group","aria-label":"\u7EDF\u8BA1\u7EF4\u5EA6",children:v.map(([C,T])=>(0,Y.jsx)("button",{type:"button","aria-pressed":c===C,onClick:()=>h(C),children:T},C))}),(0,Y.jsxs)("div",{className:"tcw-analytics-switches",children:[l==="PURCHASE"&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(oc,{label:"\u672A\u4ED8\u6B3E",checked:"unpaidOnly"in y&&y.unpaidOnly===!0,onChange:C=>f(T=>({...T,unpaidOnly:C?"true":""}))}),(0,Y.jsx)(oc,{label:"\u672A\u9000\u7A0E",checked:"unrefundedOnly"in y&&y.unrefundedOnly===!0,onChange:C=>f(T=>({...T,unrefundedOnly:C?"true":""}))})]}),l==="SALES"&&(0,Y.jsx)(oc,{label:"\u672A\u6536\u6B3E",checked:"unreceivedOnly"in y&&y.unreceivedOnly===!0,onChange:C=>f(T=>({...T,unreceivedOnly:C?"true":""}))})]}),i&&(0,Y.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{let C=x(l,c,1,y);i(C.mode==="PURCHASE"?{mode:C.mode,dimension:C.dimension,filters:C.filters,format:"XLSX"}:{mode:C.mode,dimension:C.dimension,filters:C.filters,format:"XLSX"})},children:[(0,Y.jsx)("i",{className:"ri-file-excel-2-line","aria-hidden":"true"}),"\u5BFC\u51FA XLSX"]})]}),r&&(0,Y.jsx)(Re,{children:r}),n&&(0,Y.jsxs)("div",{className:"tcw-inline-loading",role:"status",children:[(0,Y.jsx)("span",{className:"tcw-spinner","aria-hidden":"true"}),"\u6570\u636E\u52A0\u8F7D\u4E2D"]}),(0,Y.jsx)(o1,{data:e,productDimension:k}),(0,Y.jsx)(i1,{items:e.top5}),(0,Y.jsx)(Se,{columns:a1(l,c),rows:e.details.items,rowKey:"key",pagination:e.details,onPageChange:C=>{m(C)},emptyText:"\u6682\u65E0\u5206\u6790\u660E\u7EC6"})]})}function oc({label:e,checked:t,onChange:n}){return(0,Y.jsxs)("label",{className:"tcw-toggle",children:[(0,Y.jsx)("input",{type:"checkbox",checked:t,onChange:r=>n(r.target.checked)}),(0,Y.jsx)("span",{children:e})]})}function o1({data:e,productDimension:t}){let n=e.metrics,r=t?[["\u660E\u7EC6\u91D1\u989D",n.orderTotalCny]]:e.mode==="PURCHASE"?[["\u8BA2\u5355\u603B\u989D",n.orderTotalCny],["\u5DF2\u4ED8\u6B3E",n.paidCny],["\u672A\u4ED8\u6B3E",n.unpaidCny],["\u5DF2\u9000\u7A0E",n.refundedCny],["\u672A\u9000\u7A0E",n.unrefundedCny]]:[["\u8BA2\u5355\u603B\u989D",n.orderTotalCny],["\u5DF2\u6536\u6B3E",n.receivedCny],["\u672A\u6536\u6B3E",n.unreceivedCny]];return(0,Y.jsx)("div",{className:"tcw-metric-grid",children:r.map(([o,i])=>(0,Y.jsxs)("article",{children:[(0,Y.jsx)("span",{children:o}),(0,Y.jsxs)("strong",{title:`${i??"0.00"} CNY`,children:[mn(i)," CNY"]})]},o))})}function i1({items:e}){return(0,Y.jsxs)("section",{className:"tcw-sales-top",children:[(0,Y.jsx)("strong",{children:"\u91D1\u989D TOP5"}),e.length?(0,Y.jsx)("ol",{children:e.map(t=>(0,Y.jsxs)("li",{children:[(0,Y.jsx)("span",{title:t.label,children:t.label}),(0,Y.jsxs)("b",{children:[mn(t.amountCny)," CNY"]})]},t.key))}):(0,Y.jsx)("small",{children:"\u5F53\u524D\u7B5B\u9009\u6761\u4EF6\u4E0B\u6682\u65E0\u6392\u540D\u6570\u636E"})]})}function a1(e,t){let n=[{type:"ellipsis",key:"label",header:s1(t),width:220,maxWidth:220},{type:"text",key:"orderCount",header:"\u8BA2\u5355\u6570",width:100,align:"right"}];return t==="PRODUCT"&&n.push({type:"text",key:"productQuantity",header:"\u5546\u54C1\u6570\u91CF",width:120,align:"right"}),n.push({type:"text",key:"amountCny",header:t==="PRODUCT"?"\u5546\u54C1\u660E\u7EC6\u91D1\u989D CNY":"\u8BA2\u5355\u603B\u989D CNY",width:160,align:"right",format:mn}),t!=="PRODUCT"&&e==="PURCHASE"&&n.push({type:"text",key:"paidCny",header:"\u5DF2\u4ED8\u6B3E CNY",width:140,align:"right",format:mn},{type:"text",key:"unpaidCny",header:"\u672A\u4ED8\u6B3E CNY",width:140,align:"right",format:mn},{type:"text",key:"refundedCny",header:"\u5DF2\u9000\u7A0E CNY",width:140,align:"right",format:mn},{type:"text",key:"unrefundedCny",header:"\u672A\u9000\u7A0E CNY",width:140,align:"right",format:mn}),t!=="PRODUCT"&&e==="SALES"&&n.push({type:"text",key:"receivedCny",header:"\u5DF2\u6536\u6B3E CNY",width:140,align:"right",format:mn},{type:"text",key:"unreceivedCny",header:"\u672A\u6536\u6B3E CNY",width:140,align:"right",format:mn}),n}function s1(e){return e==="SUPPLIER"?"\u4F9B\u5E94\u5546":e==="CUSTOMER"?"\u5BA2\u6237":"\u5546\u54C1\u540D\u79F0"}function mn(e){let t=Number(e??0);return Number.isFinite(t)?t.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2}):"0.00"}function l1(e){let t=e.orderDate&&typeof e.orderDate=="object"?e.orderDate:void 0;return{...t?{orderDate:{from:ic(t.from),to:ic(t.to)}}:{},...rs(e,"supplier"),...rs(e,"customer"),...rs(e,"productName"),...rs(e,"hsCode"),...e.unpaidOnly==="true"?{unpaidOnly:!0}:{},...e.unrefundedOnly==="true"?{unrefundedOnly:!0}:{},...e.unreceivedOnly==="true"?{unreceivedOnly:!0}:{}}}function u1(e){return{..."orderDate"in e&&e.orderDate?{orderDate:e.orderDate}:{},..."supplier"in e&&e.supplier?{supplier:e.supplier}:{},...jg(e),..."unpaidOnly"in e&&e.unpaidOnly?{unpaidOnly:!0}:{},..."unrefundedOnly"in e&&e.unrefundedOnly?{unrefundedOnly:!0}:{}}}function c1(e){return{..."orderDate"in e&&e.orderDate?{orderDate:e.orderDate}:{},..."customer"in e&&e.customer?{customer:e.customer}:{},...jg(e),..."unreceivedOnly"in e&&e.unreceivedOnly?{unreceivedOnly:!0}:{}}}function jg(e){return{...e.productName?{productName:e.productName}:{},...e.hsCode?{hsCode:e.hsCode}:{}}}function rs(e,t){let n=ic(e[t]);return n?{[t]:n}:{}}function ic(e){return String(e??"").trim()||void 0}function d1(e){return e.mode==="PURCHASE"?{mode:"PURCHASE",dimension:e.dimension==="PRODUCT"?"PRODUCT":"SUPPLIER",filters:{},page:e.details.page,pageSize:e.details.pageSize}:{mode:"SALES",dimension:e.dimension==="PRODUCT"?"PRODUCT":"CUSTOMER",filters:{},page:e.details.page,pageSize:e.details.pageSize}}function Bg(e){let t=e.filters;return{...t.orderDate?{orderDate:t.orderDate}:{},..."supplier"in t&&t.supplier?{supplier:t.supplier}:{},..."customer"in t&&t.customer?{customer:t.customer}:{},...t.productName?{productName:t.productName}:{},...t.hsCode?{hsCode:t.hsCode}:{},..."unpaidOnly"in t&&t.unpaidOnly?{unpaidOnly:"true"}:{},..."unrefundedOnly"in t&&t.unrefundedOnly?{unrefundedOnly:"true"}:{},..."unreceivedOnly"in t&&t.unreceivedOnly?{unreceivedOnly:"true"}:{}}}var Ae=J(ct(),1);var N=J(ge(),1);function sc(e,t){return e.revision===t.revision?e:t}async function p1(e,t,n){t&&await n(e)}var m1=[{key:"RISK",label:"\u98CE\u9669\u63D0\u793A",icon:"ri-alarm-warning-line"},{key:"COMPANY",label:"\u4F01\u4E1A\u4FE1\u606F",icon:"ri-building-line"},{key:"BANK",label:"\u94F6\u884C\u4FE1\u606F",icon:"ri-bank-line",note:"OVERSEAS_CNY \xB7 OVERSEAS_USD"},{key:"PROFIT",label:"\u5229\u6DA6\u4E0E\u6362\u6C47\u89C4\u5219",icon:"ri-funds-line",note:"COMPLIANCE_V1 \xB7 \u516C\u5F0F\u56FA\u5B9A\uFF0C\u4E0D\u53EF\u7F16\u8F91"},{key:"MONTHLY_RATE",label:"\u6708\u5EA6\u7F8E\u5143\u6C47\u7387",icon:"ri-exchange-dollar-line"}];function Vg({data:e,busy:t,onSave:n,onRestoreDefault:r,onDeleteRate:o,onUploadLogo:i,onDiscardLogo:a}){let[s,l]=Ae.default.useState("BANK"),[u,c]=Ae.default.useState(null),[d,p]=Ae.default.useState(null),f=async(y,x)=>{try{await y(),p({message:x,tone:"success"})}catch(m){p({message:m instanceof Error?`\u4FDD\u5B58\u5931\u8D25\uFF1A${m.message}`:"\u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",tone:"error"})}},v=async()=>{u&&(await f(()=>r(u),"\u5DF2\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4\u914D\u7F6E"),c(null))};return(0,N.jsxs)("section",{className:"tcw-settings-page","data-settings-page":"typed",children:[(0,N.jsx)("aside",{className:"tcw-settings-navigation","aria-label":"\u8BBE\u7F6E\u5206\u533A",children:m1.map(y=>(0,N.jsxs)("button",{type:"button",className:s===y.key?"is-active":"","aria-current":s===y.key?"page":void 0,onClick:()=>l(y.key),children:[(0,N.jsx)("i",{className:y.icon,"aria-hidden":"true"}),(0,N.jsxs)("span",{children:[y.label,y.note&&(0,N.jsx)("small",{children:y.note})]})]},y.key))}),(0,N.jsxs)("div",{className:"tcw-settings-content",children:[s==="RISK"&&(0,N.jsx)(f1,{value:e.risk.content,revision:e.risk.revision,busy:t,onSave:y=>f(()=>n({settingsType:"risk",expectedRevision:e.risk.revision,values:{content:y}}),"\u98CE\u9669\u63D0\u793A\u4FDD\u5B58\u6210\u529F"),onRestore:()=>c({settingsType:"risk",expectedRevision:e.risk.revision})}),s==="COMPANY"&&(0,N.jsx)(g1,{value:e.company,busy:t,onSave:async y=>{try{return await n({settingsType:"company",expectedRevision:e.company.revision,values:y}),p({message:"\u4F01\u4E1A\u4FE1\u606F\u4FDD\u5B58\u6210\u529F",tone:"success"}),!0}catch(x){return p({message:x instanceof Error?`\u4FDD\u5B58\u5931\u8D25\uFF1A${x.message}`:"\u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",tone:"error"}),!1}},onUploadLogo:i,onDiscardLogo:a,onRestore:()=>c({settingsType:"company",expectedRevision:e.company.revision})}),s==="BANK"&&(0,N.jsx)(y1,{data:e,busy:t,onEdit:y=>l(w1(y)),onRestore:y=>{let x=Gn(e,y);c({settingsType:"bank",bankType:y,expectedRevision:x.revision})}}),s==="BANK_CNY"&&(0,N.jsx)(Gg,{bankType:"OVERSEAS_CNY",value:Gn(e,"OVERSEAS_CNY"),busy:t,onSave:y=>f(()=>n({settingsType:"bank",expectedRevision:Gn(e,"OVERSEAS_CNY").revision,values:y}),"\u4EBA\u6C11\u5E01\u6536\u6B3E\u94F6\u884C\u4FDD\u5B58\u6210\u529F"),onRestore:()=>c({settingsType:"bank",bankType:"OVERSEAS_CNY",expectedRevision:Gn(e,"OVERSEAS_CNY").revision}),onBack:()=>l("BANK")}),s==="BANK_USD"&&(0,N.jsx)(Gg,{bankType:"OVERSEAS_USD",value:Gn(e,"OVERSEAS_USD"),busy:t,onSave:y=>f(()=>n({settingsType:"bank",expectedRevision:Gn(e,"OVERSEAS_USD").revision,values:y}),"\u7F8E\u5143\u6536\u6B3E\u94F6\u884C\u4FDD\u5B58\u6210\u529F"),onRestore:()=>c({settingsType:"bank",bankType:"OVERSEAS_USD",expectedRevision:Gn(e,"OVERSEAS_USD").revision}),onBack:()=>l("BANK")}),s==="PROFIT"&&(0,N.jsx)(v1,{value:e.profit,busy:t,onSave:y=>f(()=>n({settingsType:"profit",expectedRevision:e.profit.revision,values:y}),"\u5229\u6DA6\u4E0E\u6362\u6C47\u89C4\u5219\u4FDD\u5B58\u6210\u529F"),onRestore:()=>c({settingsType:"profit",expectedRevision:e.profit.revision})}),s==="MONTHLY_RATE"&&(0,N.jsx)(C1,{rates:e.rates,busy:t,onSave:y=>f(()=>n({settingsType:"rate",expectedRevision:y.revision??0,values:y}),"\u6708\u5EA6\u7F8E\u5143\u6C47\u7387\u4FDD\u5B58\u6210\u529F"),onDelete:y=>f(()=>o(y),"\u6708\u5EA6\u7F8E\u5143\u6C47\u7387\u5220\u9664\u6210\u529F")})]}),(0,N.jsx)(et,{open:!!u,title:"\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4",message:"\u5F53\u524D\u81EA\u5B9A\u4E49\u5185\u5BB9\u5C06\u88AB\u7CFB\u7EDF\u9ED8\u8BA4\u503C\u8986\u76D6\uFF0C\u539F\u914D\u7F6E\u4ECD\u4F1A\u4FDD\u7559\u5728\u8BBE\u7F6E\u5386\u53F2\u4E2D\u3002",confirmText:"\u786E\u8BA4\u6062\u590D\u9ED8\u8BA4",onCancel:()=>c(null),onConfirm:()=>{v()}}),d&&(0,N.jsx)(La,{message:d.message,tone:d.tone,onClose:()=>p(null)})]})}function f1({value:e,revision:t,busy:n,onSave:r,onRestore:o}){let i=Ae.default.useRef(null);return(0,N.jsxs)(Jr,{title:"\u98CE\u9669\u63D0\u793A",revision:t,actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n,onClick:()=>r(Wg(i.current?.innerHTML??e)),children:[(0,N.jsx)("i",{className:"ri-save-line"}),"\u4FDD\u5B58"]}),(0,N.jsx)(ai,{busy:n,onClick:o})]}),children:[(0,N.jsx)(Ce,{children:"\u4EC5\u652F\u6301\u6807\u9898\u3001\u6BB5\u843D\u3001\u52A0\u7C97\u548C\u5217\u8868\u683C\u5F0F\u3002"}),(0,N.jsxs)("div",{className:"tcw-rich-toolbar",role:"toolbar","aria-label":"\u98CE\u9669\u63D0\u793A\u683C\u5F0F",children:[(0,N.jsx)(ii,{title:"\u6807\u9898",icon:"ri-heading",command:"formatBlock",value:"h2"}),(0,N.jsx)(ii,{title:"\u6BB5\u843D",icon:"ri-paragraph",command:"formatBlock",value:"p"}),(0,N.jsx)(ii,{title:"\u52A0\u7C97",icon:"ri-bold",command:"bold"}),(0,N.jsx)(ii,{title:"\u65E0\u5E8F\u5217\u8868",icon:"ri-list-unordered",command:"insertUnorderedList"}),(0,N.jsx)(ii,{title:"\u6709\u5E8F\u5217\u8868",icon:"ri-list-ordered",command:"insertOrderedList"})]}),(0,N.jsx)("div",{ref:i,className:"tcw-risk-editor",contentEditable:!0,suppressContentEditableWarning:!0,dangerouslySetInnerHTML:{__html:Wg(e)}},t)]})}function ii({title:e,icon:t,command:n,value:r}){return(0,N.jsx)("button",{type:"button",className:"tcw-icon-button",title:e,"aria-label":e,onMouseDown:o=>{o.preventDefault(),typeof document<"u"&&document.execCommand(n,!1,r)},children:(0,N.jsx)("i",{className:t,"aria-hidden":"true"})})}function g1({value:e,busy:t,onSave:n,onUploadLogo:r,onDiscardLogo:o,onRestore:i}){let[a,s]=Ae.default.useState(e),[l,u]=Ae.default.useState(null),c=Ae.default.useRef(null),d=Ae.default.useRef(e.revision);Ae.default.useEffect(()=>{if(d.current!==e.revision){d.current=e.revision;let y=c.current;c.current=null,y&&Promise.resolve(o(y)).catch(()=>{})}s(y=>sc(y,e))},[e,o]),Ae.default.useEffect(()=>()=>{c.current&&Promise.resolve(o(c.current)).catch(()=>{})},[o]);let p=async y=>{u(null);try{let x=await r(y),m=c.current;c.current=x,m&&m!==x&&Promise.resolve(o(m)).catch(()=>{}),s(g=>({...g,logoFileId:x}))}catch(x){u(x instanceof Error?x.message:"\u516C\u53F8 Logo \u4E0A\u4F20\u5931\u8D25")}},f=async()=>{let y=c.current,{revision:x,...m}=a;await n(m)&&c.current===y&&(c.current=null)},v=y=>({value:String(a[y]??""),onChange:x=>s(m=>({...m,[y]:x.target.value||null}))});return(0,N.jsxs)(Jr,{title:"\u4F01\u4E1A\u4FE1\u606F",revision:e.revision,actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t,onClick:()=>{f()},children:[(0,N.jsx)("i",{className:"ri-save-line"}),"\u4FDD\u5B58"]}),(0,N.jsx)(ai,{busy:t,onClick:i})]}),children:[(0,N.jsx)(Ce,{children:"\u4F01\u4E1A\u914D\u7F6E\u5141\u8BB8\u4FDD\u7559\u7A7A\u503C\uFF1B\u751F\u6210\u6587\u4EF6\u65F6\u7F3A\u5931\u5B57\u6BB5\u4FDD\u7559\u6A21\u677F\u9ED8\u8BA4\u503C\u3002"}),(0,N.jsxs)(Ne,{columns:2,children:[(0,N.jsxs)(H,{label:"\u516C\u53F8 Logo",full:!0,hint:a.logoFileId?`\u5DF2\u4E0A\u4F20\uFF1A${a.logoFileId}`:"\u652F\u6301 PNG\u3001JPG/JPEG\uFF0C\u6700\u5927 2 MB",children:[(0,N.jsx)("input",{type:"file",accept:"image/png,image/jpeg",disabled:t,onChange:y=>{let x=y.target.files?.[0];y.currentTarget.value="",x&&p(x)}}),l&&(0,N.jsx)("small",{className:"tcw-field-error",children:l})]}),(0,N.jsx)(H,{label:"\u516C\u53F8\u4E2D\u6587\u540D\u79F0",children:(0,N.jsx)("input",{...v("companyNameZh")})}),(0,N.jsx)(H,{label:"\u516C\u53F8\u82F1\u6587\u540D\u79F0",children:(0,N.jsx)("input",{...v("companyNameEn")})}),(0,N.jsx)(H,{label:"\u7EDF\u4E00\u793E\u4F1A\u4FE1\u7528\u4EE3\u7801",children:(0,N.jsx)("input",{...v("unifiedSocialCreditCode")})}),(0,N.jsx)(H,{label:"\u7535\u8BDD",children:(0,N.jsx)("input",{...v("phone")})}),(0,N.jsx)(H,{label:"\u4E2D\u6587\u5730\u5740",full:!0,children:(0,N.jsx)("textarea",{...v("addressZh")})}),(0,N.jsx)(H,{label:"\u82F1\u6587\u5730\u5740",full:!0,children:(0,N.jsx)("textarea",{...v("addressEn")})}),(0,N.jsx)(H,{label:"\u90AE\u7BB1",children:(0,N.jsx)("input",{type:"email",...v("email")})})]})]})}function y1({data:e,busy:t,onEdit:n,onRestore:r}){return(0,N.jsx)(Jr,{title:"\u94F6\u884C\u4FE1\u606F",actions:null,children:h1.map(o=>{let i=Gn(e,o);return(0,N.jsxs)("section",{className:"tcw-settings-panel","aria-labelledby":`bank-overview-${o}`,children:[(0,N.jsxs)("header",{children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("h2",{id:`bank-overview-${o}`,children:$g(o)}),(0,N.jsx)("span",{className:"tcw-tag",children:o}),(0,N.jsxs)("small",{children:["\u4FEE\u8BA2\u53F7 ",i.revision]})]}),(0,N.jsxs)("div",{className:"tcw-page-commands",children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t,onClick:()=>n(o),children:[(0,N.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u7F16\u8F91"]}),(0,N.jsx)(ai,{busy:t,onClick:()=>r(o)})]})]}),(0,N.jsx)(Ne,{columns:2,children:lc.map(a=>(0,N.jsx)(H,{label:a.label,full:a.key==="bankAddress",children:(0,N.jsx)("input",{value:i[a.key],readOnly:!0})},a.key))})]},o)})})}function Gg({bankType:e,value:t,busy:n,onSave:r,onRestore:o,onBack:i}){let[a,s]=Ae.default.useState(t),[l,u]=Ae.default.useState(null);Ae.default.useEffect(()=>s(p=>sc(p,t)),[t]);let c=(p,f)=>s(v=>({...v,[p]:f})),d=()=>{let p=x1(a);if(u(p),!p){let{revision:f,...v}=a;r(v)}};return(0,N.jsxs)(Jr,{title:$g(e),revision:t.revision,badge:e,actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,N.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE\u94F6\u884C\u603B\u89C8"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n,onClick:d,children:[(0,N.jsx)("i",{className:"ri-save-line"}),"\u4FDD\u5B58"]}),(0,N.jsx)(ai,{busy:n,onClick:o})]}),children:[l&&(0,N.jsx)(Re,{children:l}),(0,N.jsx)(Ne,{columns:2,children:lc.map(p=>(0,N.jsx)(H,{label:p.label,required:!0,full:p.key==="bankAddress",children:(0,N.jsx)("input",{value:a[p.key],onChange:f=>c(p.key,f.target.value)})},p.key))})]})}var lc=[{key:"beneficiary",label:"Beneficiary\uFF08\u6536\u6B3E\u4EBA\uFF09"},{key:"bankName",label:"Bank Name\uFF08\u94F6\u884C\u540D\u79F0\uFF09"},{key:"bankAddress",label:"Bank Address\uFF08\u94F6\u884C\u5730\u5740\uFF09"},{key:"cnapsCode",label:"CNAPS Code"},{key:"accountNo",label:"Account No.\uFF08\u8D26\u53F7\uFF09"},{key:"swiftCode",label:"SWIFT Code"}],h1=["OVERSEAS_CNY","OVERSEAS_USD"];function $g(e){switch(e){case"OVERSEAS_CNY":return"\u56FD\u5916\u6536\u6B3E\u94F6\u884C\uFF08\u4EBA\u6C11\u5E01\uFF09";case"OVERSEAS_USD":return"\u56FD\u5916\u6536\u6B3E\u94F6\u884C\uFF08\u7F8E\u5143\uFF09"}}function w1(e){switch(e){case"OVERSEAS_CNY":return"BANK_CNY";case"OVERSEAS_USD":return"BANK_USD"}}function v1({value:e,busy:t,onSave:n,onRestore:r}){let[o,i]=Ae.default.useState(e),[a,s]=Ae.default.useState(null);Ae.default.useEffect(()=>i(u=>sc(u,e)),[e]);let l=()=>{let u=R1(o);s(u),u||n(o)};return(0,N.jsxs)(Jr,{title:"\u5229\u6DA6\u4E0E\u6362\u6C47\u89C4\u5219",revision:e.revision,actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t,onClick:l,children:[(0,N.jsx)("i",{className:"ri-save-line"}),"\u4FDD\u5B58"]}),(0,N.jsx)(ai,{busy:t,onClick:r})]}),children:[(0,N.jsx)(Ce,{children:"\u5408\u89C4\u5229\u6DA6\u516C\u5F0F\u56FA\u5B9A\uFF0C\u4E0D\u53EF\u7F16\u8F91\uFF1B\u6708\u5EA6\u7F8E\u5143\u6C47\u7387\u4EC5\u7528\u4E8E\u6362\u6C47\u6210\u672C\uFF0C\u4E0D\u7528\u4E8E\u4E1A\u52A1\u91D1\u989D\u5E01\u79CD\u8F6C\u6362\u3002"}),a&&(0,N.jsx)(Re,{children:a}),(0,N.jsxs)(Ne,{columns:2,children:[(0,N.jsx)(H,{label:"\u914D\u7F6E\u72B6\u6001",required:!0,children:(0,N.jsxs)("select",{value:o.status,onChange:u=>i(c=>({...c,status:u.target.value})),children:[(0,N.jsx)("option",{value:"ACTIVE",children:"ACTIVE"}),(0,N.jsx)("option",{value:"UNCONFIGURED",children:"UNCONFIGURED"})]})}),(0,N.jsx)(H,{label:"\u56FA\u5B9A\u516C\u5F0F\u7248\u672C",children:(0,N.jsx)("input",{value:o.ruleVersion,readOnly:!0})}),(0,N.jsx)(H,{label:"\u6700\u4F4E\u6574\u5355\u5229\u6DA6\u7387",required:!0,hint:"\u5C0F\u6570 0.05 \u8868\u793A 5%",children:(0,N.jsx)("input",{type:"number",min:"0",step:"0.0001",value:o.minimumOrderProfitRate,onChange:u=>i(c=>({...c,minimumOrderProfitRate:u.target.value}))})}),(0,N.jsx)(H,{label:"\u6362\u6C47\u6210\u672C\u4E0B\u9650",required:!0,children:(0,N.jsx)("input",{type:"number",step:"0.01",value:o.exchangeCostMinimum,onChange:u=>i(c=>({...c,exchangeCostMinimum:u.target.value}))})}),(0,N.jsx)(H,{label:"\u6362\u6C47\u6210\u672C\u4E0A\u9650",required:!0,children:(0,N.jsx)("input",{type:"number",step:"0.01",value:o.exchangeCostMaximum,onChange:u=>i(c=>({...c,exchangeCostMaximum:u.target.value}))})})]})]})}function C1({rates:e,busy:t,onSave:n,onDelete:r}){let[o,i]=Ae.default.useState(null),[a,s]=Ae.default.useState(null),l=c=>{if(!a)return;let d=a;s(null),p1(d,c,r)};return(0,N.jsxs)(Jr,{title:"\u6708\u5EA6\u7F8E\u5143\u6C47\u7387",actions:(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t,onClick:()=>i(k1()),children:[(0,N.jsx)("i",{className:"ri-add-line"}),"\u65B0\u589E\u6708\u5EA6\u6C47\u7387"]}),children:[(0,N.jsx)(Ce,{children:"\u6BCF\u4E2A\u81EA\u7136\u6708\u4E00\u6761 USD \u4EBA\u5DE5\u6C47\u7387\uFF0C\u65B9\u5411\u56FA\u5B9A\u4E3A 1 \u7F8E\u5143\u5151\u6362\u4EBA\u6C11\u5E01\u3002"}),(0,N.jsx)(Se,{columns:[{type:"text",key:"year",header:"\u5E74\u4EFD",width:100},{type:"text",key:"month",header:"\u6708\u4EFD",width:90},{type:"text",key:"currencyCode",header:"\u5E01\u79CD",width:90},{type:"text",key:"usdToCnyRate",header:"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387",width:180},{type:"ellipsis",key:"sourceReference",header:"\u6765\u6E90",width:220,maxWidth:220},{type:"text",key:"revision",header:"\u4FEE\u8BA2\u53F7",width:100}],rows:e,rowKey:c=>c.id??`${c.year}-${c.month}`,emptyText:"\u6682\u65E0\u6708\u5EA6\u6C47\u7387",actionWidth:120,actions:c=>(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("button",{type:"button",onClick:()=>i(c),children:"\u7F16\u8F91"}),c.id&&(0,N.jsx)("button",{type:"button",className:"is-danger",onClick:()=>s({settingsType:"rate",id:c.id,expectedRevision:c.revision??0}),children:"\u5220\u9664"})]})}),o&&(0,N.jsx)(b1,{value:o,busy:t,onClose:()=>i(null),onSave:c=>{n(c),i(null)}}),(0,N.jsx)(et,{open:!!a,title:"\u5220\u9664\u6708\u5EA6\u6C47\u7387",message:"\u5220\u9664\u540E\uFF0C\u8BE5\u6708\u6C47\u7387\u5C06\u4E0D\u518D\u7528\u4E8E\u6362\u6C47\u6210\u672C\u8BA1\u7B97\u3002\u786E\u8BA4\u5220\u9664\u8FD9\u6761\u6708\u5EA6\u6C47\u7387\u5417\uFF1F",confirmText:"\u786E\u8BA4\u5220\u9664",danger:!0,confirmDisabled:t,onCancel:()=>l(!1),onConfirm:()=>l(!0)})]})}function b1({value:e,busy:t,onClose:n,onSave:r}){let[o,i]=Ae.default.useState(e),[a,s]=Ae.default.useState(null),l=()=>{let u=S1(o);s(u),u||r({...o,sourceType:"MANUAL",currencyCode:"USD"})};return(0,N.jsxs)(be,{open:!0,title:o.id?"\u7F16\u8F91\u6708\u5EA6\u6C47\u7387":"\u65B0\u589E\u6708\u5EA6\u6C47\u7387",onClose:n,footer:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:"\u53D6\u6D88"}),(0,N.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t,onClick:l,children:"\u4FDD\u5B58"})]}),children:[a&&(0,N.jsx)(Re,{children:a}),(0,N.jsxs)(Ne,{columns:2,children:[(0,N.jsx)(H,{label:"\u5E74\u4EFD",required:!0,children:(0,N.jsx)("input",{type:"number",min:"2000",max:"9999",value:o.year,onChange:u=>i(c=>({...c,year:Number(u.target.value)}))})}),(0,N.jsx)(H,{label:"\u6708\u4EFD",required:!0,children:(0,N.jsx)("input",{type:"number",min:"1",max:"12",value:o.month,onChange:u=>i(c=>({...c,month:Number(u.target.value)}))})}),(0,N.jsx)(H,{label:"\u5E01\u79CD",children:(0,N.jsx)("input",{value:"USD",readOnly:!0})}),(0,N.jsx)(H,{label:"\u6765\u6E90",children:(0,N.jsx)("input",{value:"\u4EBA\u5DE5\u6C47\u7387",readOnly:!0})}),(0,N.jsx)(H,{label:"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387",required:!0,children:(0,N.jsx)("input",{type:"number",min:"0",step:"0.00000001",value:o.usdToCnyRate,onChange:u=>i(c=>({...c,usdToCnyRate:u.target.value}))})}),(0,N.jsx)(H,{label:"\u6765\u6E90\u8BF4\u660E",required:!0,children:(0,N.jsx)("input",{value:o.sourceReference,onChange:u=>i(c=>({...c,sourceReference:u.target.value}))})})]})]})}function Jr({title:e,revision:t,badge:n,actions:r,children:o}){return(0,N.jsxs)("section",{className:"tcw-settings-panel",children:[(0,N.jsxs)("header",{children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("h2",{children:e}),n&&(0,N.jsx)("span",{className:"tcw-tag",children:n}),t!=null&&(0,N.jsxs)("small",{children:["\u4FEE\u8BA2\u53F7 ",t]})]}),(0,N.jsx)("div",{className:"tcw-page-commands",children:r})]}),o]})}function ai({busy:e,onClick:t}){return(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:e,onClick:t,children:[(0,N.jsx)("i",{className:"ri-restart-line"}),"\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4"]})}function Gn(e,t){return e.banks.find(n=>n.bankType===t)??{bankType:t,beneficiary:"",bankName:"",bankAddress:"",cnapsCode:"",accountNo:"",swiftCode:"",revision:0}}function k1(){let e=new Date;return{year:e.getFullYear(),month:e.getMonth()+1,currencyCode:"USD",usdToCnyRate:"",sourceType:"MANUAL",sourceReference:"\u4EBA\u5DE5\u6C47\u7387"}}function x1(e){for(let t of lc)if(!e[t.key].trim())return`${t.label.split("\uFF08")[0]} \u4E3A\u5FC5\u586B\u9879`;return null}function S1(e){if(!Number.isInteger(e.year)||e.year<2e3||e.year>9999)return"\u5E74\u4EFD\u5FC5\u987B\u662F 2000 \u81F3 9999 \u4E4B\u95F4\u7684\u6574\u6570";if(!Number.isInteger(e.month)||e.month<1||e.month>12)return"\u6708\u4EFD\u5FC5\u987B\u662F 1 \u81F3 12 \u4E4B\u95F4\u7684\u6574\u6570";let t=Number(e.usdToCnyRate);return Number.isFinite(t)?t<=0?"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387\u5FC5\u987B\u5927\u4E8E 0":e.sourceType!=="MANUAL"?"\u6C47\u7387\u6765\u6E90\u5FC5\u987B\u4E3A\u4EBA\u5DE5\u6C47\u7387":e.sourceReference.trim()?null:"\u6765\u6E90\u8BF4\u660E\u4E3A\u5FC5\u586B\u9879":"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387\u5FC5\u987B\u662F\u6709\u9650\u6570\u503C"}function R1(e){let t=Number(e.minimumOrderProfitRate),n=Number(e.exchangeCostMinimum),r=Number(e.exchangeCostMaximum);return[t,n,r].every(Number.isFinite)?t<0?"\u6700\u4F4E\u6574\u5355\u5229\u6DA6\u7387\u4E0D\u80FD\u5C0F\u4E8E 0":n>r?"\u6362\u6C47\u6210\u672C\u4E0B\u9650\u4E0D\u80FD\u5927\u4E8E\u4E0A\u9650":null:"\u5229\u6DA6\u7387\u548C\u6362\u6C47\u6210\u672C\u5FC5\u987B\u662F\u6709\u9650\u6570\u503C"}var Qg=new Set(["H1","H2","H3","H4","P","STRONG","B","UL","OL","LI","BR"]);function Wg(e){if(typeof DOMParser>"u")return N1(e);let t=new DOMParser().parseFromString(e,"text/html");return Array.from(t.body.childNodes).map(ac).join("")}function ac(e){if(e.nodeType===3)return qg(e.textContent??"");if(!(e instanceof Element))return"";let t=e.tagName.toUpperCase();if(t==="SCRIPT"||t==="STYLE"||t==="IMG"||t==="TABLE")return t==="TABLE"?Array.from(e.childNodes).map(ac).join(""):"";let n=Array.from(e.childNodes).map(ac).join("");if(!Qg.has(t))return n;let r=t==="B"?"strong":t.toLowerCase();return r==="br"?"<br>":`<${r}>${n}</${r}>`}function N1(e){return e.replace(/<(script|style)[^>]*>[\s\S]*?<\/\1\s*>/gi,"").replace(/<img\b[^>]*>/gi,"").split(/(<[^>]+>)/g).map(n=>{if(!n.startsWith("<"))return qg(n);let r=n.match(/^<\s*(\/?)\s*([a-z0-9]+)[^>]*>/i);if(!r)return"";let o=!!r[1],i=r[2].toUpperCase();if(!Qg.has(i))return"";let a=i==="B"?"strong":i.toLowerCase();return a==="br"?"<br>":`<${o?"/":""}${a}>`}).join("")}function qg(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var Yg=new Set(["QUEUED","EXTRACTING","AI_PARSING","VALIDATING","PERSISTING"]),Xg=1200*1e3,eo=class extends Error{constructor(n,r){super(n);this.task=r;this.name="ContractImportError"}};async function Zg({start:e,invokeClientCommand:t,markCommandDispatched:n,pollTask:r,wait:o=ry,now:i=Date.now}){if(e.success===!1)throw new Error(e.message||"\u5408\u540C\u89E3\u6790\u542F\u52A8\u5931\u8D25");if(!e.data?.task||!e.data.polling)throw new Error("\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11\u5408\u540C\u89E3\u6790\u4EFB\u52A1\u4FE1\u606F");let a=e.data.task;if(a.status==="AWAITING_REVIEW"||a.status==="SUCCEEDED")return{task:a};if(Kg(a),!a.commandDispatchedAt){let u=!1;for(let c of e.data.commands)await t(c.commandKey,c.payload),u||(await n(a.id),u=!0)}let s=i()+Math.min(Xg,Math.max(1,e.data.polling.timeoutMs)),l=Math.max(1,e.data.polling.intervalMs);for(;i()<s;){if(await o(l),a=(await r(a.id)).task,a.status==="AWAITING_REVIEW"||a.status==="SUCCEEDED")return{task:a};if(Kg(a),!Yg.has(a.status))throw new Error(`\u4E0D\u652F\u6301\u7684\u5408\u540C\u5BFC\u5165\u4EFB\u52A1\u72B6\u6001\uFF1A${a.status}`)}throw new eo("\u5408\u540C\u89E3\u6790\u8D85\u8FC7 20 \u5206\u949F\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790",{...a,status:"TIMED_OUT",errorMessage:"\u5408\u540C\u89E3\u6790\u8D85\u8FC7 20 \u5206\u949F\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790"})}function Jg(e,t){return ny(e.filter(n=>n.documentType===t&&(n.status==="AWAITING_REVIEW"||Yg.has(n.status))))}function ey(e,t){let n=new Set(e.map(r=>r.retryOfTaskId).filter(r=>!!r));return ny(e.filter(r=>r.documentType===t&&(r.status==="FAILED"||r.status==="TIMED_OUT")&&!n.has(r.id)))}async function ty({start:e,invokeClientCommand:t,markCommandDispatched:n,markFailed:r,poll:o,wait:i=ry,now:a=Date.now}){if(!e.run||!e.polling)throw new Error("\u91CD\u65B0\u5206\u6790\u54CD\u5E94\u7F3A\u5C11\u4EFB\u52A1\u4FE1\u606F");if(e.run.status==="SUCCEEDED")return e;T1(e.run);let s="COMMAND_DISPATCH_FAILED";try{if(!e.run.commandDispatchedAt){let d=!1;for(let p of e.commands)await t(p.commandKey,p.payload),d||(await n(e.run.id),d=!0)}s="POLLING_FAILED";let u=a()+Math.min(Xg,Math.max(1,e.polling.timeoutMs)),c=Math.max(1,e.polling.intervalMs);for(;a()<u;){await i(c);let d=await o(e.run.id);if(d.run.status==="SUCCEEDED")return d;if(d.run.status==="FAILED"||d.run.status==="TIMED_OUT")throw new os(d.run.errorMessage||"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25");if(d.run.status!=="PENDING"&&d.run.status!=="RUNNING")throw new Error(`\u4E0D\u652F\u6301\u7684\u91CD\u65B0\u5206\u6790\u72B6\u6001\uFF1A${d.run.status}`)}}catch(u){if(u instanceof os)throw u;let c=u instanceof Error?u.message:String(u);throw await r(e.run.id,{errorCode:s,errorMessage:c}),u}let l="AI \u91CD\u65B0\u5206\u6790\u8D85\u8FC7 20 \u5206\u949F";throw await r(e.run.id,{errorCode:"AI_REANALYSIS_TIMEOUT",errorMessage:l}),new Error(l)}var os=class extends Error{};function Kg(e){if(e.status==="FAILED"||e.status==="TIMED_OUT")throw new eo(e.errorMessage||(e.status==="TIMED_OUT"?"\u5408\u540C\u89E3\u6790\u8D85\u65F6\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790":"\u5408\u540C\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790"),e)}function T1(e){if(e.status==="FAILED"||e.status==="TIMED_OUT")throw new Error(e.errorMessage||"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25")}function ny(e){return[...e].sort((t,n)=>String(n.updatedAt??"").localeCompare(String(t.updatedAt??"")))[0]??null}function ry(e){return new Promise(t=>setTimeout(t,e))}var te=J(ge(),1),E1={home:{title:"\u9996\u9875",subtitle:"\u67E5\u770B\u7CFB\u7EDF\u98CE\u9669\u64CD\u4F5C\u63D0\u793A\u4E0E\u5916\u8D38\u5408\u89C4\u4E1A\u52A1\u6D41\u7A0B\u3002"},"controlled-goods":{title:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",subtitle:"\u7EF4\u62A4\u519B\u6C11\u4E24\u7528\u7269\u8D44\u548C\u6D77\u5916\u5236\u88C1\u5546\u54C1\u76EE\u5F55\u3002"},"sanctioned-companies":{title:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",subtitle:"\u7EF4\u62A4\u88AB\u5236\u88C1\u516C\u53F8\u4FE1\u606F\u5E76\u652F\u6301\u4F9B\u5E94\u5546\u3001\u5BA2\u6237\u98CE\u9669\u6821\u9A8C\u3002"},procurement:{title:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406",subtitle:"\u7BA1\u7406\u4F9B\u5E94\u5546\u3001\u91C7\u8D2D\u8BA2\u5355\u53CA\u91C7\u8D2D\u5546\u54C1\u5408\u89C4\u4FE1\u606F\u3002"},"customer-contract-review":{title:"\u5BA2\u6237\u5408\u540C\u5BA1\u6838",subtitle:"\u5BA1\u6838\u5BA2\u6237\u5408\u540C\u5173\u952E\u6761\u6B3E\u53CA AI \u98CE\u9669\u5EFA\u8BAE\u3002"},sales:{title:"\u9500\u552E\u5408\u89C4\u7BA1\u7406",subtitle:"\u67E5\u770B\u5BA2\u6237\u3001\u9500\u552E\u8BA2\u5355\u53CA\u6D3E\u751F\u9500\u552E\u5546\u54C1\u3002"},"sales-files":{title:"\u9500\u552E\u6587\u4EF6\u7BA1\u7406",subtitle:"\u6821\u9A8C\u5E76\u751F\u6210\u9500\u552E\u4E1A\u52A1\u6587\u4EF6\uFF0C\u7BA1\u7406\u5386\u53F2\u5DE5\u4F5C\u7C3F\u3002"},analytics:{title:"\u6570\u636E\u5206\u6790",subtitle:"\u6309\u91C7\u8D2D\u548C\u9500\u552E\u7EF4\u5EA6\u5B9E\u65F6\u7EDF\u8BA1\u8BA2\u5355\u6570\u636E\u3002"},settings:{title:"\u7CFB\u7EDF\u8BBE\u7F6E",subtitle:"\u7EF4\u62A4\u4F01\u4E1A\u3001\u94F6\u884C\u3001\u6C47\u7387\u3001\u98CE\u9669\u63D0\u793A\u548C\u5229\u6DA6\u89C4\u5219\u3002"}},ee=of(),oy={mode:"PURCHASE",dimension:"SUPPLIER",filters:{},page:1,pageSize:20};function A1(){let[e,t]=z.default.useState({type:"page",page:"home"}),n=z.default.useRef(e),[r,o]=z.default.useState({procurement:!1,sales:!1}),i=z.default.useRef(null),a=z.default.useRef(Au()),s=z.default.useRef(Au()),l=z.default.useRef(af(oy)),[u,c]=z.default.useState(oy),[d,p]=z.default.useState(()=>ir(null)),[f,v]=z.default.useState(!1),[y,x]=z.default.useState(!1),[m,g]=z.default.useState(null),[h,k]=z.default.useState(null),[C,T]=z.default.useState({CONTROLLED_CATALOG:null,SANCTION_CATALOG:null}),E=z.default.useRef(null),O=z.default.useRef(new Set),L=z.default.useRef({PURCHASE_CONTRACT:null,CUSTOMER_CONTRACT:null}),P=z.default.useRef(sf()),Q=z.default.useRef(()=>{}),[Ie,fn]=z.default.useState({supplier:null,order:null,metrics:null}),[to,ke]=z.default.useState(null),[se,no]=z.default.useState(null),[dy,cr]=z.default.useState({status:"IDLE"}),[py,is]=z.default.useState({status:"IDLE"}),[si,dc]=z.default.useState(null),[pc,as]=z.default.useState(null),[ro,Qe]=z.default.useState(null),[my,mc]=z.default.useState(null),Ue=z.default.useCallback(async(A,S=1,F=20,U={})=>{let V=lf(A,S,F,U);if(!V)return;let pe=String($e(V.parameters).collection),fr=pe==="analytics"?l.current:s.current,vc=pe==="analytics"?P1(S,F,U):null,ls=vc?l.current.begin(vc):s.current.begin();v(!0);try{let Pe=$e(ae(await ee.requestData(V)));if(!fr.commit(ls)||n.current!==A&&JSON.stringify(n.current)!==JSON.stringify(A))return;pe==="analytics"?(c(l.current.committed()),p(yn=>({...yn,analytics:ir({summary:{analytics:Pe}}).analytics}))):p(pe==="settings"?yn=>({...yn,settings:ir({summary:{settings:Pe}}).settings}):yn=>({...yn,[pe]:{...Pe,items:Array.isArray(Pe.items)?Pe.items:[],total:_t(Pe.total,0),page:_t(Pe.page,S),pageSize:_t(Pe.pageSize,F)}})),A.type==="procurement"&&fn(yn=>({supplier:Pe.supplier&&typeof Pe.supplier=="object"?Pe.supplier:A.level==="suppliers"?null:yn.supplier,order:Pe.order&&typeof Pe.order=="object"?Pe.order:null,metrics:Pe.metrics&&typeof Pe.metrics=="object"?Pe.metrics:A.level==="orders"?null:yn.metrics}))}catch(Pe){fr.isLatest(ls)&&(pe==="analytics"&&c({...l.current.committed()}),Qe({message:Pe instanceof Error?`\u9875\u9762\u52A0\u8F7D\u5931\u8D25\uFF1A${Pe.message}`:"\u9875\u9762\u52A0\u8F7D\u5931\u8D25",tone:"error"}))}finally{fr.finish(ls),v(s.current.activeCount()+a.current.activeCount()+l.current.activeCount()>0)}},[]),jt=z.default.useCallback(async A=>{let S=A??i.current;if(!S)return;let F=a.current,U=F.begin();v(!0);try{let V=await ee.requestData({page:1,pageSize:200,parameters:S.initialQuery?.parameters??{}});if(F.isLatest(U)){let pe=ir(V);ee.configure({uploadPolicy:pe.uploadPolicy}),p(pe),await Ue(n.current)}}catch(V){F.isLatest(U)&&Qe({message:V instanceof Error?`\u5237\u65B0\u5931\u8D25\uFF1A${V.message}`:"\u5237\u65B0\u5931\u8D25",tone:"error"})}finally{F.finish(U),v(F.activeCount()+s.current.activeCount()+l.current.activeCount()>0)}},[Ue]);z.default.useEffect(()=>(ee.start({onInit(A){i.current=A;let S=ir(A.payload);ee.configure({uploadPolicy:S.uploadPolicy}),p(S),jt(A)},onHostEvent(){jt()}}),()=>{P.current.dispose(),ee.destroy()}),[jt]),z.default.useEffect(()=>{let A=window.setTimeout(()=>ee.reportResize(),0);return()=>window.clearTimeout(A)},[e,d,f]),z.default.useEffect(()=>{if(!ro)return;let A=window.setTimeout(()=>Qe(null),4200);return()=>window.clearTimeout(A)},[ro]);let gn=z.default.useCallback(async(A,S)=>{x(!0);try{let F=Me(ae(await ee.executeAction(A,S)));if(F.success===!1)throw new Error(Fe(F)||"\u64CD\u4F5C\u5931\u8D25");return A==="download_import_issues"&&cc(F.data),F.refresh&&U1(A)&&await jt(),Qe({message:Fe(F)||"\u64CD\u4F5C\u6210\u529F",tone:"success"}),F}catch(F){throw Qe({message:F instanceof Error?F.message:"\u64CD\u4F5C\u5931\u8D25",tone:"error"}),F}finally{x(!1)}},[jt]),fy=z.default.useCallback((A,S)=>gn(A,S),[gn]),dr=z.default.useCallback(async A=>{let S=A.data?.task.id;if(!S)throw new Error("\u89E3\u6790\u54CD\u5E94\u7F3A\u5C11\u4EFB\u52A1\u6807\u8BC6");if(E.current===S)throw new Error("\u8BE5\u76EE\u5F55\u4EFB\u52A1\u6B63\u5728\u89E3\u6790\u4E2D");E.current=S,x(!0);let F=A.data?.task.documentType;F&&T(U=>({...U,[F]:null}));try{let U=await Nf({start:A,invokeClientCommand:(V,pe)=>ee.invokeClientCommand(V,pe),markCommandDispatched:async V=>{let pe=Me(ae(await ee.executeAction("mark_import_command_dispatched",{taskId:V})));if(pe.success===!1)throw new Error(Fe(pe)||"\u8BB0\u5F55\u89E3\u6790\u547D\u4EE4\u72B6\u6001\u5931\u8D25")},pollTask:async V=>_1(ae(await ee.requestData({parameters:{collection:"importTask",taskId:V}}))),refresh:jt});return k(U),Qe({message:"\u76EE\u5F55\u5BFC\u5165\u5B8C\u6210",tone:"success"}),U}catch(U){throw U instanceof Un&&T(V=>({...V,[U.task.documentType]:U.task})),Qe({message:U instanceof Error?U.message:"\u76EE\u5F55\u89E3\u6790\u5931\u8D25",tone:"error"}),U}finally{E.current=null,x(!1)}},[jt]),pr=z.default.useCallback(async A=>{let S=A.data?.task;if(!S)throw new Error("\u89E3\u6790\u54CD\u5E94\u7F3A\u5C11\u5408\u540C\u4EFB\u52A1\u6807\u8BC6");if(O.current.has(S.id))throw new Error("\u8BE5\u5408\u540C\u4EFB\u52A1\u6B63\u5728\u89E3\u6790\u4E2D");O.current.add(S.id),x(!0),S.documentType==="PURCHASE_CONTRACT"?(P.current.clear("purchase"),ke(S),no(null)):(P.current.clear("customer"),cr({status:"PROCESSING",importTaskId:S.id,sourceFileName:S.sourceFileName??"\u5BA2\u6237\u5408\u540C"}));try{let F=await Zg({start:A,invokeClientCommand:(U,V)=>ee.invokeClientCommand(U,V),markCommandDispatched:async U=>{let V=Me(ae(await ee.executeAction("mark_import_command_dispatched",{taskId:U})));if(V.success===!1)throw new Error(Fe(V)||"\u8BB0\u5F55\u89E3\u6790\u547D\u4EE4\u72B6\u6001\u5931\u8D25")},pollTask:async U=>L1(ae(await ee.requestData({parameters:{collection:"importTask",taskId:U}})))});if(L.current[S.documentType]=S.id,F.task.status==="AWAITING_REVIEW")if(F.task.documentType==="PURCHASE_CONTRACT"){let U=F1(F.task);ke(F.task),no(await D1(U,F.task,P.current))}else{let U=Kr(F.task.resultPayload,{reviewSource:"IMPORT_DRAFT",importTaskId:F.task.id,sourceFileId:F.task.sourceFileId??"",sourceFileName:F.task.sourceFileName??""});cr({status:"AWAITING_REVIEW",importTaskId:F.task.id,review:await ay(U,P.current)})}return F}catch(F){let U=F instanceof eo?F.task:S;throw S.documentType==="PURCHASE_CONTRACT"?(ke({...U,status:U.status==="TIMED_OUT"?"TIMED_OUT":"FAILED",errorMessage:F instanceof Error?F.message:"\u91C7\u8D2D\u5408\u540C\u89E3\u6790\u5931\u8D25"}),no(null)):cr({status:"FAILED",importTaskId:U.id,message:F instanceof Error?F.message:"\u5BA2\u6237\u5408\u540C\u89E3\u6790\u5931\u8D25"}),Qe({message:F instanceof Error?F.message:"\u5408\u540C\u89E3\u6790\u5931\u8D25",tone:"error"}),F}finally{O.current.delete(S.id),x(!1)}},[]),mr=z.default.useCallback(async(A,S,F)=>{try{let U=Me(ae(await ee.executeFileAction(A,S,F)));if(U.success===!1)throw new Error(Fe(U)||"\u4E0A\u4F20\u5931\u8D25");return A==="upload_purchase_contract"||A==="upload_customer_contract"?{success:!0,data:await pr(U),message:"\u5408\u540C\u89E3\u6790\u5B8C\u6210\uFF0C\u7B49\u5F85\u5BA1\u6838",refresh:!1}:{success:!0,data:await dr(U),message:"\u76EE\u5F55\u5BFC\u5165\u5B8C\u6210",refresh:!0}}catch(U){throw U instanceof Un||Qe({message:U instanceof Error?U.message:"\u4E0A\u4F20\u5931\u8D25",tone:"error"}),U}},[pr,dr]);z.default.useEffect(()=>{let A=d.importTasks.items;T({CONTROLLED_CATALOG:Du(A,"CONTROLLED_CATALOG"),SANCTION_CATALOG:Du(A,"SANCTION_CATALOG")});let S=Tf(A);if(S&&E.current!==S.id&&S.executionCommand){dr({success:!0,data:{task:S,commands:[S.executionCommand],polling:{intervalMs:2e3,timeoutMs:12e5}}}).catch(()=>{});return}},[d.importTasks.items,dr]),z.default.useEffect(()=>{let A=d.importTasks.items;for(let S of["PURCHASE_CONTRACT","CUSTOMER_CONTRACT"]){let F=Jg(A,S),U=ey(A,S);if(F&&L.current[S]!==F.id&&!O.current.has(F.id)){(F.status==="AWAITING_REVIEW"||F.executionCommand)&&pr({success:!0,data:{task:F,commands:F.executionCommand?[F.executionCommand]:[],polling:{intervalMs:2e3,timeoutMs:12e5}}}).catch(()=>{});continue}!F&&U&&(S==="PURCHASE_CONTRACT"?ke(U):cr({status:"FAILED",importTaskId:U.id,message:U.errorMessage||"\u5BA2\u6237\u5408\u540C\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790"})),!F&&!U&&A.some(V=>V.documentType===S&&V.status==="SUCCEEDED")&&(S==="PURCHASE_CONTRACT"?(ke(null),no(null)):cr({status:"IDLE"}))}},[d.importTasks.items,pr]);let fc=z.default.useCallback(async A=>{try{let S=Me(ae(await ee.executeAction("retry_import_task",{taskId:A})));if(S.success===!1)throw new Error(Fe(S)||"\u91CD\u65B0\u89E3\u6790\u5931\u8D25");await dr(S)}catch(S){throw S instanceof Un||Qe({message:S instanceof Error?S.message:"\u91CD\u65B0\u89E3\u6790\u5931\u8D25",tone:"error"}),S}},[dr]),gc=z.default.useCallback(async A=>{let S=Me(ae(await ee.executeAction("retry_import_task",{taskId:A})));if(S.success===!1)throw new Error(Fe(S)||"\u91CD\u65B0\u89E3\u6790\u5931\u8D25");let F=S.data?.task.documentType;(F==="PURCHASE_CONTRACT"||F==="CUSTOMER_CONTRACT")&&(L.current[F]=null),await pr(S)},[pr]),gy=z.default.useCallback(async A=>{is({status:"RUNNING",message:"AI \u91CD\u65B0\u5206\u6790\u4E2D"});try{let S=Me(ae(await ee.executeAction("reanalyze_customer_contract",{reviewSource:A.reviewSource,...A.customerContractId?{id:A.customerContractId}:{},...A.importTaskId?{importTaskId:A.importTaskId}:{}})));if(S.success===!1||!S.data)throw new Error(Fe(S)||"AI \u91CD\u65B0\u5206\u6790\u542F\u52A8\u5931\u8D25");let F=await ty({start:S.data,invokeClientCommand:(V,pe)=>ee.invokeClientCommand(V,pe),markCommandDispatched:async V=>{let pe=Me(ae(await ee.executeAction("mark_customer_contract_reanalysis_dispatched",{runId:V})));if(pe.success===!1)throw new Error(Fe(pe)||"\u8BB0\u5F55\u91CD\u65B0\u5206\u6790\u547D\u4EE4\u72B6\u6001\u5931\u8D25")},markFailed:async(V,pe)=>{let fr=Me(ae(await ee.executeAction("mark_customer_contract_reanalysis_failed",{runId:V,...pe})));if(fr.success===!1)throw new Error(Fe(fr)||"\u8BB0\u5F55\u91CD\u65B0\u5206\u6790\u5931\u8D25\u72B6\u6001\u5931\u8D25")},poll:async V=>M1(ae(await ee.requestData({parameters:{collection:"customerContractAnalysis",runId:V}})))}),U;if(F.review)U=Kr(F.review,{reviewSource:"EXISTING_CONTRACT"});else if(F.task)U=Kr(F.task.resultPayload,{reviewSource:"IMPORT_DRAFT",importTaskId:F.task.id,sourceFileId:F.task.sourceFileId??"",sourceFileName:F.task.sourceFileName??""});else throw new Error("\u91CD\u65B0\u5206\u6790\u7ED3\u679C\u7F3A\u5C11\u5408\u540C\u5BA1\u6838\u6570\u636E");return is({status:"IDLE"}),U}catch(S){throw is({status:"FAILED",message:S instanceof Error?S.message:"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25"}),S}},[]),yy=z.default.useCallback(async A=>{let S=Me(ae(await ee.executeAction("get_customer_contract_review",{id:A})));if(S.success===!1||!S.data)throw new Error(Fe(S)||"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u52A0\u8F7D\u5931\u8D25");let F=$e(S.data),U="reviewSource"in F?F:Kr(F,{reviewSource:"EXISTING_CONTRACT"});return ay(U,P.current)},[]),hy=z.default.useCallback(()=>{P.current.clear("purchase"),no(null)},[]),wy=z.default.useCallback(()=>{P.current.clear("customer"),cr({status:"IDLE"})},[]),yc=z.default.useCallback(async A=>{let S=$e(ae(await ee.requestData({page:A.page,pageSize:A.pageSize,parameters:{collection:"importIssues",documentType:A.documentType,batchId:A.batchId,issueType:A.issueType}})));return{items:Array.isArray(S.items)?S.items:[],total:_t(S.total,0),page:_t(S.page,A.page),pageSize:_t(S.pageSize,A.pageSize)}},[]),hc=z.default.useCallback(async(A,S)=>{let F=a.current,U=F.begin();v(!0);try{let V=$e(ae(await ee.requestData({page:S.page,pageSize:S.pageSize,parameters:{collection:A,filters:S.filters}})));if(!F.isLatest(U))return;p(pe=>({...pe,[A]:{...pe[A],items:Array.isArray(V.items)?V.items:[],total:_t(V.total,0),page:_t(V.page,S.page),pageSize:_t(V.pageSize,S.pageSize)}}))}catch(V){F.isLatest(U)&&Qe({message:V instanceof Error?`\u67E5\u8BE2\u5931\u8D25\uFF1A${V.message}`:"\u67E5\u8BE2\u5931\u8D25",tone:"error"})}finally{F.finish(U),v(F.activeCount()>0)}},[]),vy=z.default.useCallback(async(A,S)=>{await Ue(n.current,S.page,S.pageSize,S.filters)},[Ue]),Cy=z.default.useCallback(async A=>{await Ue(n.current,A.page,A.pageSize,A.filters)},[Ue]),by=z.default.useCallback(async(A,S)=>{await Ue(n.current,S.page,S.pageSize,S.filters)},[Ue]),wc=z.default.useCallback(async(A,S)=>{if(A==="salesFileOrders"){await Ue({type:"page",page:"sales-files"},S.page,S.pageSize,S.filters);return}let F=$e(ae(await ee.requestData({page:S.page,pageSize:S.pageSize,parameters:{collection:A,...S.parameters,filters:S.filters}})));p(U=>({...U,generatedFiles:{...F,items:Array.isArray(F.items)?F.items:[],total:_t(F.total,0),page:_t(F.page,S.page),pageSize:_t(F.pageSize,S.pageSize)}}))},[Ue]),ky=z.default.useCallback(async A=>{let S=l.current,F=S.begin(A);v(!0),mc(null);try{let U=$e(ae(await ee.requestData({page:A.page,pageSize:A.pageSize,parameters:{collection:"analytics",mode:A.mode,dimension:A.dimension,filters:A.filters}})));if(!S.commit(F))return;c(S.committed()),p(V=>({...V,analytics:ir({summary:{analytics:U}}).analytics}))}catch(U){if(!S.isLatest(F))return;let V=U instanceof Error?U.message:"\u7EDF\u8BA1\u67E5\u8BE2\u5931\u8D25";c({...S.committed()}),mc(V),Qe({message:`\u7EDF\u8BA1\u67E5\u8BE2\u5931\u8D25\uFF1A${V}`,tone:"error"})}finally{S.finish(F),v(S.activeCount()+a.current.activeCount()+s.current.activeCount()>0)}},[]),xy=z.default.useCallback(async A=>{x(!0);try{let S=l.current.committed(),F=S.mode==="PURCHASE"?{mode:S.mode,dimension:S.dimension,filters:S.filters,format:"XLSX"}:{mode:S.mode,dimension:S.dimension,filters:S.filters,format:"XLSX"},U=Me(ae(await ee.executeAction("export_analytics",F)));if(U.success===!1)throw new Error(Fe(U)||"\u5206\u6790\u5BFC\u51FA\u5931\u8D25");cc(U.data),Qe({message:"\u5206\u6790\u6570\u636E\u5BFC\u51FA\u6210\u529F",tone:"success"})}catch(S){throw Qe({message:S instanceof Error?S.message:"\u5206\u6790\u5BFC\u51FA\u5931\u8D25",tone:"error"}),S}finally{x(!1)}},[]),Sy=z.default.useCallback(async A=>{let S=Me(ae(await ee.executeAction("save_settings",A)));if(S.success===!1)throw new Error(Fe(S)||"\u8BBE\u7F6E\u4FDD\u5B58\u5931\u8D25");await Ue({type:"page",page:"settings"})},[Ue]),Ry=z.default.useCallback(async A=>{let S=Me(ae(await ee.executeAction("restore_settings_default",A)));if(S.success===!1)throw new Error(Fe(S)||"\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4\u5931\u8D25");await Ue({type:"page",page:"settings"})},[Ue]),Ny=z.default.useCallback(async A=>{let S=Me(ae(await ee.executeAction("delete_settings_rate",A)));if(S.success===!1)throw new Error(Fe(S)||"\u6708\u5EA6\u6C47\u7387\u5220\u9664\u5931\u8D25");await Ue({type:"page",page:"settings"})},[Ue]),Ty=z.default.useCallback(async A=>{let S=Me(ae(await ee.executeFileAction("upload_company_logo",A,{})));if(S.success===!1||!S.data?.logoFileId)throw new Error(Fe(S)||"\u516C\u53F8 Logo \u4E0A\u4F20\u5931\u8D25");return Qe({message:"\u516C\u53F8 Logo \u4E0A\u4F20\u6210\u529F",tone:"success"}),S.data.logoFileId},[]),Ey=z.default.useCallback(async A=>{let S=Me(ae(await ee.executeAction("discard_company_logo",{logoFileId:A})));if(S.success===!1)throw new Error(Fe(S)||"\u516C\u53F8 Logo \u8349\u7A3F\u6E05\u7406\u5931\u8D25")},[]),Ay=z.default.useCallback(A=>{dc(A),A&&Q.current({type:"page",page:"sales-files"})},[]),li=z.default.useCallback(A=>{n.current=A,t(A),(A.type==="procurement"||A.type==="sales")&&o(S=>({...S,[A.type]:!0})),Ue(A)},[Ue]);Q.current=li;let qe=I1(e),ss=E1[qe],Iy=qe==="procurement"?(0,te.jsx)(iy,{label:"\u4E0A\u4F20\u91C7\u8D2D\u5408\u540C",busy:f||y,onFile:A=>mr("upload_purchase_contract",A,{documentType:"PURCHASE_CONTRACT"})}):qe==="customer-contract-review"?(0,te.jsx)(iy,{label:"\u4E0A\u4F20\u5BA2\u6237\u5408\u540C",busy:f||y,onFile:A=>mr("upload_customer_contract",A,{documentType:"CUSTOMER_CONTRACT"})}):void 0;return(0,te.jsxs)(te.Fragment,{children:[(0,te.jsxs)(yf,{route:e,breadcrumbs:hf(e),expandedMenus:r,title:ss.title,subtitle:ss.subtitle,commands:qe==="controlled-goods"||qe==="sanctioned-companies"?(0,te.jsx)(Df,{busy:f||y,onUpload:()=>g("upload"),onCreate:()=>g("create")}):Iy,busy:f||y,onRouteChange:li,onToggleMenu:A=>o(S=>({...S,[A]:!S[A]})),onRefresh:()=>{jt()},children:[qe==="home"&&(0,te.jsx)(Wf,{dashboard:d.dashboard}),qe==="controlled-goods"&&(0,te.jsx)(_f,{collection:d.controlledGoods,batches:d.controlledBatches.items,busy:f||y,onAction:gn,onFileAction:mr,onRefresh:jt,onQuery:A=>hc("controlledGoods",A),onIssueQuery:yc,importCompletion:h,importFailure:C.CONTROLLED_CATALOG,onRetryImport:fc,command:m,onCommandHandled:()=>g(null)}),qe==="sanctioned-companies"&&(0,te.jsx)(Ff,{collection:d.sanctionedCompanies,batches:d.sanctionBatches.items,busy:f||y,onAction:gn,onFileAction:mr,onRefresh:jt,onQuery:A=>hc("sanctionedCompanies",A),onIssueQuery:yc,importCompletion:h,importFailure:C.SANCTION_CATALOG,onRetryImport:fc,command:m,onCommandHandled:()=>g(null)}),qe==="procurement"&&e.type==="procurement"&&(0,te.jsx)(ng,{route:e,suppliers:d.suppliers,purchaseOrders:d.purchaseOrders,purchaseLines:d.purchaseLines,supplier:Ie.supplier,order:Ie.order,metrics:Ie.metrics,importTask:to,reviewDraft:se,busy:f||y,onQuery:vy,onAction:gn,onFileAction:mr,onRouteChange:li,onRetryImport:gc,onReviewClose:hy}),qe==="customer-contract-review"&&(0,te.jsx)(fg,{collection:d.customerContracts,busy:f||y,importReviewState:dy,onQuery:Cy,onAction:gn,onFileAction:mr,onReanalyze:gy,onLoadReview:yy,onReviewClose:wy,reanalysisState:py,onRetryImport:gc}),qe==="sales"&&e.type==="sales"&&(0,te.jsx)(Cg,{route:e,customers:d.salesCustomers,orders:d.salesOrders,lines:d.salesLines,busy:f||y,onQuery:by,onAction:gn,onRouteChange:li,onOpenFiles:Ay}),qe==="sales-files"&&(0,te.jsx)(Rg,{orders:d.salesFileOrders,history:d.generatedFiles,activeOrder:si,banks:d.settings.banks,busy:f||y,onQuery:wc,onAction:fy,onOpenSalesOrder:dc,onDownload:async A=>{let S=await gn("download_sales_file",{id:A.id});cc(S.data)},onEdit:async A=>as(A)}),qe==="analytics"&&(0,te.jsx)(Hg,{data:d.analytics,committedQuery:u,busy:f||y,error:my,onQuery:ky,onExportXlsx:xy}),qe==="settings"&&(0,te.jsx)(Vg,{data:d.settings,busy:f||y,onSave:Sy,onRestoreDefault:Ry,onDeleteRate:Ny,onUploadLogo:Ty,onDiscardLogo:Ey}),!["home","controlled-goods","sanctioned-companies","procurement","customer-contract-review","sales","sales-files","analytics","settings"].includes(qe)&&(0,te.jsxs)("section",{className:"tcw-page-placeholder","data-page":qe,children:[(0,te.jsx)(Ce,{children:"\u9875\u9762\u57FA\u7840\u7ED3\u6784\u5DF2\u5C31\u7EEA\uFF0C\u4E1A\u52A1\u5185\u5BB9\u5C06\u5728\u5BF9\u5E94\u9875\u9762\u6A21\u5757\u4E2D\u52A0\u8F7D\u3002"}),(0,te.jsx)("div",{className:"tcw-placeholder-body","aria-label":`${ss.title}\u9875\u9762\u5185\u5BB9`})]})]}),(0,te.jsx)(ff,{visible:f||y,label:y?"\u64CD\u4F5C\u5904\u7406\u4E2D":"\u6570\u636E\u52A0\u8F7D\u4E2D"}),ro&&(0,te.jsx)(La,{message:ro.message,tone:ro.tone,onClose:()=>Qe(null)}),pc&&(0,te.jsx)(z1,{file:pc,onClose:()=>as(null),onSaved:()=>{as(null),si&&wc("generatedFiles",{page:1,pageSize:20,filters:{},parameters:{customerContractId:si.customerContractId,purchaseOrderId:si.purchaseOrderId}})}})]})}function I1(e){return e.type==="procurement"?"procurement":e.type==="sales"?"sales":e.page}function P1(e,t,n){let r=n.orderDate,o=r&&typeof r=="object"&&!Array.isArray(r)?r:null,i=o?{from:Jt(o.from),to:Jt(o.to)}:void 0,a={...i?.from||i?.to?{orderDate:i}:{},...Jt(n.productName)?{productName:Jt(n.productName)}:{},...Jt(n.hsCode)?{hsCode:Jt(n.hsCode)}:{}};return n.mode==="SALES"?{mode:"SALES",dimension:n.dimension==="PRODUCT"?"PRODUCT":"CUSTOMER",page:e,pageSize:t,filters:{...a,...Jt(n.customer)?{customer:Jt(n.customer)}:{},...uc(n.unreceivedOnly)?{unreceivedOnly:!0}:{}}}:{mode:"PURCHASE",dimension:n.dimension==="PRODUCT"?"PRODUCT":"SUPPLIER",page:e,pageSize:t,filters:{...a,...Jt(n.supplier)?{supplier:Jt(n.supplier)}:{},...uc(n.unpaidOnly)?{unpaidOnly:!0}:{},...uc(n.unrefundedOnly)?{unrefundedOnly:!0}:{}}}}function Jt(e){return(typeof e=="string"?e.trim():"")||void 0}function uc(e){return e===!0||e==="true"}function Me(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{success:!0,data:e}}function Fe(e){if(typeof e.message=="string")return e.message;if(e.message&&typeof e.message=="object"){let t=e.message;return String(t.zh_Hans??t.en_US??"")}return""}function $e(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function _t(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function _1(e){let t=$e(e);if(!t.task||typeof t.task!="object")throw new Error("\u8F6E\u8BE2\u54CD\u5E94\u7F3A\u5C11\u5BFC\u5165\u4EFB\u52A1");return t}function cc(e){let t=$e(e);if(typeof t.base64!="string"||typeof t.fileName!="string")throw new Error("\u4E0B\u8F7D\u54CD\u5E94\u7F3A\u5C11\u6587\u4EF6\u5185\u5BB9");let n=atob(t.base64),r=Uint8Array.from(n,a=>a.charCodeAt(0)),o=URL.createObjectURL(new Blob([r],{type:typeof t.mimeType=="string"?t.mimeType:"application/octet-stream"})),i=document.createElement("a");i.href=o,i.download=t.fileName,i.click(),setTimeout(()=>URL.revokeObjectURL(o),0)}function iy({label:e,busy:t,onFile:n}){return(0,te.jsxs)("label",{className:"tcw-button tcw-button--primary",children:[(0,te.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),e,(0,te.jsx)("input",{className:"tcw-procurement-file-input",type:"file",accept:".pdf,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg,.webp",disabled:t,onChange:r=>{let o=r.target.files?.[0];r.currentTarget.value="",o&&n(o).catch(()=>{})}})]})}function F1(e){let t=$e(e.resultPayload),n=$e(t.supplier),r=$e(t.order),o=Array.isArray(t.lines)?t.lines.map(i=>{let a=$e(i);return{...a,sourceType:a.sourceType==="MANUAL_ENTRY"?"MANUAL_ENTRY":"CONTRACT_EXTRACTED",hsCodeStatus:a.hsCodeStatus==="AI_CONFIRMED"||a.hsCodeStatus==="MANUALLY_CONFIRMED"?a.hsCodeStatus:"UNCONFIRMED"}}):[];return{supplier:{...n,name:String(n.name??"")},order:{...r,supplierId:String(r.supplierId??""),contractNo:String(r.contractNo??""),orderDate:String(r.orderDate??""),contractAmountCny:String(r.contractAmountCny??"0")},lines:o,sourceFileName:e.sourceFileName??null}}async function D1(e,t,n){if(e.sourceFileUrl||!t.sourceFileId)return e;let r=await uy(t.sourceFileId,"purchase",n);return r.previewKind==="URL"?{...e,sourceFileUrl:r.url}:r.previewKind==="TEXT"?{...e,sourceFileUrl:O1(t.sourceFileName??"\u91C7\u8D2D\u5408\u540C\u6E90\u6587\u4EF6",r.content)}:e}async function ay(e,t){if(e.sourcePreview.kind==="URL"||!e.sourceFileId)return e;let n=await uy(e.sourceFileId,"customer",t);return n.previewKind==="URL"?{...e,sourcePreview:{kind:"URL",url:n.url}}:n.previewKind==="TEXT"?{...e,sourcePreview:{kind:"TEXT",content:n.content}}:{...e,sourcePreview:{kind:"UNAVAILABLE",message:n.message}}}async function uy(e,t,n){let r=Me(ae(await ee.executeAction("preview_source_file",{sourceFileId:e})));if(r.success===!1)throw new Error(Fe(r)||"\u6E90\u6587\u4EF6\u52A0\u8F7D\u5931\u8D25");let o=$e(r.data);if(o.previewKind==="TEXT"&&typeof o.content=="string")return{previewKind:"TEXT",content:o.content};if(o.previewKind==="URL"&&typeof o.base64=="string"&&typeof o.mimeType=="string"){let i=atob(o.base64),a=Uint8Array.from(i,s=>s.charCodeAt(0));return{previewKind:"URL",url:n.replace(t,URL.createObjectURL(new Blob([a],{type:o.mimeType})))}}if(o.previewKind==="UNAVAILABLE")return{previewKind:"UNAVAILABLE",message:typeof o.message=="string"?o.message:"\u6E90\u6587\u4EF6\u6682\u65E0\u6CD5\u5728\u7EBF\u9884\u89C8"};throw new Error("\u6E90\u6587\u4EF6\u9884\u89C8\u54CD\u5E94\u7C7B\u578B\u65E0\u6548")}function O1(e,t){let n=`<!doctype html><html lang="zh-Hans"><head><meta charset="utf-8"><title>${sy(e)}</title><style>body{margin:0;padding:24px;font:14px/1.7 system-ui,sans-serif;color:#1f2937;background:#fff}pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}</style></head><body><pre>${sy(t)}</pre></body></html>`;return`data:text/html;charset=utf-8,${encodeURIComponent(n)}`}function sy(e){return e.replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t]??t)}function L1(e){let t=$e(e);if(!t.task||typeof t.task!="object")throw new Error("\u8F6E\u8BE2\u54CD\u5E94\u7F3A\u5C11\u5408\u540C\u5BFC\u5165\u4EFB\u52A1");return t}function M1(e){let t=$e(e);if(!t.run||typeof t.run!="object")throw new Error("\u8F6E\u8BE2\u54CD\u5E94\u7F3A\u5C11\u91CD\u65B0\u5206\u6790\u4EFB\u52A1");return t}function U1(e){return new Set(["save_controlled_goods","update_controlled_goods","save_sanctioned_company","update_sanctioned_company","save_purchase_review","save_customer_contract_review","update_supplier","update_purchase_order","add_purchase_line","update_purchase_line","update_customer_contract_review","delete_entity"]).has(e)}function z1({file:e,onClose:t,onSaved:n}){let r=z.default.useRef(null),o=z.default.useRef(null),[i,a]=z.default.useState(""),[s,l]=z.default.useState(!1);z.default.useEffect(()=>{let c=!1;return(async()=>{try{let d=Me(ae(await ee.executeAction("download_sales_file",{id:e.id})));if(d.success===!1)throw new Error(Fe(d)||"\u9500\u552E\u6587\u4EF6\u52A0\u8F7D\u5931\u8D25");let p=$e(d.data);if(typeof p.base64!="string"||typeof p.storageFileId!="string"||!Number.isInteger(p.editVersion)||!r.current)throw new Error("\u9500\u552E\u6587\u4EF6\u54CD\u5E94\u7F3A\u5C11\u5DE5\u4F5C\u7C3F\u5185\u5BB9\u6216\u7248\u672C\u4FE1\u606F");let f=window.TradeComplianceExcelEditor;if(!f?.open)throw new Error("Excel \u7F16\u8F91\u5668\u672A\u52A0\u8F7D");let v=await f.open({container:r.current,base64:p.base64,onSave:async y=>{let x=Me(ae(await ee.executeAction("save_edited_sales_file",{id:e.id,base64:y,editVersion:p.editVersion,expectedStorageFileId:p.storageFileId})));if(x.success===!1)throw new Error(Fe(x)||"\u5DE5\u4F5C\u7C3F\u4FDD\u5B58\u5931\u8D25")}});c?v.dispose():o.current=v}catch(d){c||a(d instanceof Error?d.message:"Excel \u7F16\u8F91\u5668\u52A0\u8F7D\u5931\u8D25")}})(),()=>{c=!0,o.current?.dispose(),o.current=null}},[e.id]);let u=async()=>{if(o.current){l(!0),a("");try{await o.current.save(),n()}catch(c){a(c instanceof Error?c.message:"\u5DE5\u4F5C\u7C3F\u4FDD\u5B58\u5931\u8D25")}finally{l(!1)}}};return(0,te.jsxs)("section",{className:"tcw-excel-editor","aria-label":"\u9500\u552E\u6587\u4EF6\u5168\u5C4F\u5BA1\u6838",children:[(0,te.jsxs)("header",{children:[(0,te.jsx)("strong",{children:e.fileName}),(0,te.jsxs)("div",{children:[(0,te.jsx)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:t,children:"\u5173\u95ED"}),(0,te.jsx)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:s||!o.current,onClick:()=>{u()},children:"\u4FDD\u5B58\u5F53\u524D\u6587\u4EF6"})]})]}),i&&(0,te.jsx)("div",{className:"tcw-editor-error",role:"alert",children:i}),(0,te.jsx)("div",{ref:r,className:"tcw-excel-editor-canvas"})]})}var cy=document.getElementById("root");if(!cy)throw new Error("\u7F3A\u5C11\u8FDC\u7A0B\u7EC4\u4EF6\u6302\u8F7D\u8282\u70B9");(0,ly.createRoot)(cy).render((0,te.jsx)(A1,{}));})();
|
|
9
|
+
/*! Bundled license information:
|
|
10
|
+
|
|
11
|
+
react/cjs/react.production.min.js:
|
|
12
|
+
(**
|
|
13
|
+
* @license React
|
|
14
|
+
* react.production.min.js
|
|
15
|
+
*
|
|
16
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
17
|
+
*
|
|
18
|
+
* This source code is licensed under the MIT license found in the
|
|
19
|
+
* LICENSE file in the root directory of this source tree.
|
|
20
|
+
*)
|
|
21
|
+
|
|
22
|
+
scheduler/cjs/scheduler.production.min.js:
|
|
23
|
+
(**
|
|
24
|
+
* @license React
|
|
25
|
+
* scheduler.production.min.js
|
|
26
|
+
*
|
|
27
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
28
|
+
*
|
|
29
|
+
* This source code is licensed under the MIT license found in the
|
|
30
|
+
* LICENSE file in the root directory of this source tree.
|
|
31
|
+
*)
|
|
32
|
+
|
|
33
|
+
react-dom/cjs/react-dom.production.min.js:
|
|
34
|
+
(**
|
|
35
|
+
* @license React
|
|
36
|
+
* react-dom.production.min.js
|
|
37
|
+
*
|
|
38
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
39
|
+
*
|
|
40
|
+
* This source code is licensed under the MIT license found in the
|
|
41
|
+
* LICENSE file in the root directory of this source tree.
|
|
42
|
+
*)
|
|
43
|
+
|
|
44
|
+
react/cjs/react-jsx-runtime.production.min.js:
|
|
45
|
+
(**
|
|
46
|
+
* @license React
|
|
47
|
+
* react-jsx-runtime.production.min.js
|
|
48
|
+
*
|
|
49
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
50
|
+
*
|
|
51
|
+
* This source code is licensed under the MIT license found in the
|
|
52
|
+
* LICENSE file in the root directory of this source tree.
|
|
53
|
+
*)
|
|
54
|
+
|
|
55
|
+
decimal.js/decimal.mjs:
|
|
56
|
+
(*!
|
|
57
|
+
* decimal.js v10.6.0
|
|
58
|
+
* An arbitrary-precision Decimal type for JavaScript.
|
|
59
|
+
* https://github.com/MikeMcl/decimal.js
|
|
60
|
+
* Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
|
|
61
|
+
* MIT Licence
|
|
62
|
+
*)
|
|
63
|
+
*/
|