@cristianmpx/react-import-sheet-headless 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/providers/ImporterProvider.tsx","../src/core/view/types/persisted-state.ts","../src/providers/ImporterContext.ts","../src/providers/state.ts","../src/providers/useImporterActions.ts","../src/types/metrics.ts","../src/types/change-log.ts","../src/types/importer-state.ts","../src/providers/useImporterStateSetters.ts","../src/providers/usePersistSession.ts","../src/core/view/persist/indexed-db.ts","../src/hooks/useImportSheet.ts","../src/core/parser/hooks/useParserWorker.ts","../src/core/parser/worker/worker-url.ts","../src/providers/useImporterContext.ts","../src/hooks/useImporter.ts","../src/core/view/get-rows-with-errors.ts","../src/core/view/get-view-counts.ts","../src/core/view/export/sheet-to-objects.ts","../src/core/convert/hooks/useConvert.ts","../src/core/convert/build-converted-sheet.ts","../src/core/parser/utils/fuzzy-match.ts","../src/core/convert/match-headers.ts","../src/core/convert/run-convert.ts","../src/hooks/useImporterStatus.ts","../src/hooks/useSheetData.ts","../src/hooks/useSheetEditor.ts","../src/core/editor/hooks/useEditWorker.ts","../src/core/editor/worker/worker-url.ts","../src/core/editor/get-paginated-result.ts","../src/core/view/hooks/useSheetView.ts","../src/core/view/export/sheet-to-csv.ts","../src/core/view/export/sheet-to-json.ts","../src/hooks/useImporterEventTarget.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\nimport { Registry } from '../shared/registry/index.js';\nimport type { ParserEngine, SheetLayout } from '../types/index.js';\nimport { DEFAULT_PERSIST_KEY } from '../core/view/types/persisted-state.js';\nimport { ImporterContext } from './ImporterContext.js';\nimport { initialState } from './state.js';\nimport type { ImporterContextValue, ImporterProviderProps } from './types.js';\nimport { useImporterActions } from './useImporterActions.js';\nimport { useImporterStateSetters } from './useImporterStateSetters.js';\nimport { usePersistSession } from './usePersistSession.js';\nimport { useImportSheet } from '../hooks/useImportSheet.js';\n\nfunction ImporterOrchestrator() {\n useImportSheet();\n return null;\n}\n\nexport function ImporterProvider({\n children,\n layout: layoutProp,\n engine: engineProp,\n persist = false,\n persistKey = DEFAULT_PERSIST_KEY,\n onSubmit = null,\n submitKeyMap = null,\n}: ImporterProviderProps) {\n const [state, setState] = useState(initialState);\n const [layout, setLayoutState] = useState<SheetLayout | null>(layoutProp ?? null);\n const [engine, setEngineState] = useState<ParserEngine | null>(engineProp ?? null);\n const progressEventTarget = useMemo(() => new EventTarget(), []);\n const validatorRegistry = useMemo(() => new Registry<(...args: unknown[]) => unknown>(), []);\n const sanitizerRegistry = useMemo(() => new Registry<(...args: unknown[]) => unknown>(), []);\n const transformRegistry = useMemo(() => new Registry<(...args: unknown[]) => unknown>(), []);\n const activeWorkerRef = useRef<Worker | null>(null);\n const phaseTimingsRef = useRef({\n parse: 0,\n sanitize: 0,\n validate: 0,\n transform: 0,\n });\n\n const stateSetters = useImporterStateSetters({ setState, setLayoutState, setEngineState });\n const persistSession = usePersistSession(\n persist,\n persistKey,\n state.rawData,\n state.result,\n stateSetters.setRawData,\n stateSetters.setResult,\n layout?.version ?? null\n );\n\n const actions = useImporterActions({\n setState,\n setLayoutState,\n setEngineState,\n progressEventTarget,\n validatorRegistry,\n sanitizerRegistry,\n transformRegistry,\n activeWorkerRef,\n phaseTimingsRef,\n });\n\n useEffect(() => {\n return () => {\n const worker = activeWorkerRef.current;\n if (worker) {\n worker.terminate();\n activeWorkerRef.current = null;\n }\n };\n }, []);\n\n const value = useMemo<ImporterContextValue>(\n () => ({\n ...state,\n layout,\n engine,\n progressEventTarget,\n ...actions,\n onSubmit: onSubmit ?? null,\n submitKeyMap: submitKeyMap ?? null,\n persist,\n persistKey,\n hasRecoverableSession: persistSession.hasRecoverableSession,\n recoverSession: persistSession.recoverSession,\n clearPersistedState: persistSession.clearPersistedState,\n }),\n [\n state,\n layout,\n engine,\n progressEventTarget,\n onSubmit,\n submitKeyMap,\n actions,\n persist,\n persistKey,\n persistSession.hasRecoverableSession,\n persistSession.recoverSession,\n persistSession.clearPersistedState,\n ]\n );\n\n return (\n <ImporterContext.Provider value={value}>\n <ImporterOrchestrator />\n {children}\n </ImporterContext.Provider>\n );\n}\n","import type { RawSheet } from '../../../types/raw-sheet.js';\nimport type { Sheet } from '../../../types/sheet.js';\n\nexport const PERSIST_SESSION_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1000;\n\nexport const PERSIST_STORE_NAME = 'react-import-sheet-persist';\n\nexport const DEFAULT_PERSIST_KEY = 'react-import-sheet-session';\n\nexport const STATE_SCHEMA_VERSION = 1;\n\nexport interface PersistedState {\n readonly rawData: RawSheet;\n readonly sheet: Sheet;\n readonly savedAt: number;\n readonly fileName?: string;\n readonly persistKey?: string;\n readonly layoutVersion?: string | number;\n readonly stateSchemaVersion?: number;\n}\n","import { createContext } from 'react';\r\nimport type { ImporterContextValue } from './types.js';\r\n\r\nexport const ImporterContext = createContext<ImporterContextValue | null>(null);\r\n","import type { ImporterState } from '../types/index.js';\n\nexport const initialState: ImporterState = {\n file: null,\n rawData: null,\n documentHash: null,\n status: 'idle',\n result: null,\n convertedSheet: null,\n sanitizedSheet: null,\n convertResultData: null,\n metrics: null,\n changeLog: [],\n submitDone: false,\n};\n","import { useCallback, useMemo } from 'react';\nimport type { RegistryLevel } from '../shared/registry/index.js';\nimport type { ChangeLogEntry } from '../types/change-log.js';\nimport {\n buildPipelineMetrics,\n IMPORTER_ABORTED_EVENT,\n IMPORTER_PROGRESS_EVENT,\n type ImporterProgressDetail,\n type PipelinePhase,\n} from '../types/index.js';\nimport type { ImporterContextValue, UseImporterActionsDeps } from './types.js';\nimport { useImporterStateSetters } from './useImporterStateSetters.js';\n\nconst INITIAL_PHASE_TIMINGS = {\n parse: 0,\n sanitize: 0,\n validate: 0,\n transform: 0,\n};\n\nexport function useImporterActions(\n deps: UseImporterActionsDeps\n): Omit<\n ImporterContextValue,\n | 'file'\n | 'rawData'\n | 'documentHash'\n | 'status'\n | 'result'\n | 'layout'\n | 'engine'\n | 'progressEventTarget'\n | 'onSubmit'\n | 'submitKeyMap'\n | 'persist'\n | 'persistKey'\n | 'hasRecoverableSession'\n | 'recoverSession'\n | 'clearPersistedState'\n> {\n const {\n setState,\n setLayoutState,\n setEngineState,\n progressEventTarget,\n validatorRegistry,\n sanitizerRegistry,\n transformRegistry,\n activeWorkerRef,\n phaseTimingsRef,\n } = deps;\n\n const stateSetters = useImporterStateSetters({ setState, setLayoutState, setEngineState });\n\n const dispatchProgress = useCallback(\n (detail: ImporterProgressDetail) => {\n progressEventTarget.dispatchEvent(new CustomEvent(IMPORTER_PROGRESS_EVENT, { detail }));\n },\n [progressEventTarget]\n );\n\n const setActiveWorker = useCallback(\n (worker: Worker | null) => {\n activeWorkerRef.current = worker;\n },\n [activeWorkerRef]\n );\n\n const abort = useCallback(() => {\n const worker = activeWorkerRef.current;\n if (worker) {\n worker.terminate();\n activeWorkerRef.current = null;\n }\n setState((prev) => ({ ...prev, status: 'cancelled' }));\n progressEventTarget.dispatchEvent(new CustomEvent(IMPORTER_ABORTED_EVENT));\n }, [activeWorkerRef, progressEventTarget, setState]);\n\n const setPhaseTiming = useCallback(\n (phase: PipelinePhase, ms: number) => {\n phaseTimingsRef.current = { ...phaseTimingsRef.current, [phase]: ms };\n },\n [phaseTimingsRef]\n );\n\n const finalizeMetrics = useCallback(\n (rowCount: number) => {\n const timings = { ...phaseTimingsRef.current };\n const metrics = buildPipelineMetrics(timings, rowCount);\n stateSetters.setMetrics(metrics);\n },\n [phaseTimingsRef, stateSetters]\n );\n\n const addChangeLogEntry = useCallback(\n (entry: ChangeLogEntry) => {\n setState((prev) => ({\n ...prev,\n changeLog: [...prev.changeLog, entry],\n }));\n },\n [setState]\n );\n\n const processFile = useCallback(\n (file: File) => {\n phaseTimingsRef.current = { ...INITIAL_PHASE_TIMINGS };\n setState((prev) => ({\n ...prev,\n file,\n status: 'loading',\n rawData: null,\n documentHash: null,\n result: null,\n convertedSheet: null,\n sanitizedSheet: null,\n convertResultData: null,\n metrics: null,\n changeLog: [],\n submitDone: false,\n }));\n },\n [phaseTimingsRef, setState]\n );\n\n const registerValidator = useCallback(\n (name: string, fn: (...args: unknown[]) => unknown, options: { type: RegistryLevel }) => {\n validatorRegistry.register(name, fn, options);\n },\n [validatorRegistry]\n );\n\n const registerSanitizer = useCallback(\n (name: string, fn: (...args: unknown[]) => unknown, options: { type: RegistryLevel }) => {\n sanitizerRegistry.register(name, fn, options);\n },\n [sanitizerRegistry]\n );\n\n const registerTransform = useCallback(\n (name: string, fn: (...args: unknown[]) => unknown, options: { type: RegistryLevel }) => {\n transformRegistry.register(name, fn, options);\n },\n [transformRegistry]\n );\n\n return useMemo(\n () => ({\n ...stateSetters,\n addChangeLogEntry,\n setPhaseTiming,\n finalizeMetrics,\n processFile,\n registerValidator,\n registerSanitizer,\n registerTransform,\n abort,\n dispatchProgress,\n setActiveWorker,\n }),\n [\n stateSetters,\n addChangeLogEntry,\n setPhaseTiming,\n finalizeMetrics,\n processFile,\n registerValidator,\n registerSanitizer,\n registerTransform,\n abort,\n dispatchProgress,\n setActiveWorker,\n ]\n );\n}\n","export interface PipelineMetricsTimings {\n readonly parse: number;\n readonly sanitize: number;\n readonly validate: number;\n readonly transform: number;\n}\n\nexport interface PipelineMetricsPercentages {\n readonly parse: number;\n readonly sanitize: number;\n readonly validate: number;\n readonly transform: number;\n readonly overhead?: number;\n}\n\nexport interface PipelineMetrics {\n readonly timings: PipelineMetricsTimings;\n readonly percentages?: PipelineMetricsPercentages;\n readonly totalMs: number;\n readonly isSlow: boolean;\n readonly parseTime: string;\n readonly sanitizeTime: string;\n readonly validateTime: string;\n readonly transformTime: string;\n readonly totalTime: string;\n readonly efficiency: string;\n readonly rowCount: number;\n readonly overheadMs?: number;\n}\n\nexport const SLOW_THRESHOLD_MS = 2000;\n\nfunction formatMs(ms: number): string {\n if (ms < 0.01 && ms >= 0) return '0.00ms';\n if (ms < 1) return `${(ms * 1000).toFixed(2)}μs`;\n return `${ms.toFixed(2)}ms`;\n}\n\nexport function buildPipelineMetrics(\n timings: PipelineMetricsTimings,\n rowCount: number,\n overheadMs?: number,\n): PipelineMetrics {\n const totalMs =\n timings.parse + timings.sanitize + timings.validate + timings.transform;\n const isSlow = totalMs > SLOW_THRESHOLD_MS;\n const efficiencyMsPerRow = rowCount > 0 ? totalMs / rowCount : 0;\n const efficiency = `${efficiencyMsPerRow.toFixed(4)}ms/row`;\n\n let percentages: PipelineMetricsPercentages | undefined;\n if (totalMs > 0) {\n const overhead = overheadMs ?? 0;\n const totalWithOverhead = totalMs + overhead;\n percentages = {\n parse: (timings.parse / totalWithOverhead) * 100,\n sanitize: (timings.sanitize / totalWithOverhead) * 100,\n validate: (timings.validate / totalWithOverhead) * 100,\n transform: (timings.transform / totalWithOverhead) * 100,\n overhead: totalWithOverhead > 0 ? (overhead / totalWithOverhead) * 100 : 0,\n };\n }\n\n return {\n timings: { ...timings },\n percentages,\n totalMs,\n isSlow,\n parseTime: formatMs(timings.parse),\n sanitizeTime: formatMs(timings.sanitize),\n validateTime: formatMs(timings.validate),\n transformTime: formatMs(timings.transform),\n totalTime: formatMs(totalMs),\n efficiency,\n rowCount,\n ...(overheadMs !== undefined && overheadMs >= 0 ? { overheadMs } : {}),\n };\n}\n","export interface ChangeLogEntryCellEdit {\n readonly type: 'cell_edit';\n readonly rowIndex: number;\n readonly cellKey: string;\n readonly value: unknown;\n readonly previousValue?: unknown;\n readonly timestamp: number;\n}\n\nexport interface ChangeLogEntryRowRemove {\n readonly type: 'row_remove';\n readonly rowIndex: number;\n readonly timestamp: number;\n}\n\nexport type ChangeLogEntry = ChangeLogEntryCellEdit | ChangeLogEntryRowRemove;\n\nexport function formatChangeLogAsText(entries: readonly ChangeLogEntry[]): string {\n const lines: string[] = [];\n for (const e of entries) {\n if (e.type === 'cell_edit') {\n const prev = e.previousValue !== undefined ? ` (previous: ${String(e.previousValue)})` : '';\n lines.push(\n `Row ${e.rowIndex + 1}, cell \"${e.cellKey}\": set to ${JSON.stringify(e.value)}${prev}`\n );\n } else {\n lines.push(`Row ${e.rowIndex + 1}: removed`);\n }\n }\n return lines.join('\\n');\n}\n","import type { ConvertedSheet } from '../core/convert/types/converted-sheet.js';\nimport type { SanitizedSheet } from '../core/sanitizer/types/sanitized-sheet.js';\nimport type { ChangeLogEntry } from './change-log.js';\nimport type { PipelineMetrics } from './metrics.js';\nimport type { RawSheet } from './raw-sheet.js';\nimport type { Sheet } from './sheet.js';\n\nexport type ImporterStatus =\n | 'idle'\n | 'loading'\n | 'parsing'\n | 'validating'\n | 'transforming'\n | 'success'\n | 'error'\n | 'cancelled';\n\nexport interface ConvertResultData {\n readonly headersFound: readonly string[];\n readonly mismatches: readonly { expected: string; found: string | null; message?: string }[];\n readonly columnOrder: readonly string[];\n readonly headerToFieldMap: Readonly<Record<string, string>>;\n}\n\nexport type PipelinePhase = 'parse' | 'sanitize' | 'validate' | 'transform';\n\nexport interface ImporterState {\n readonly file: File | null;\n readonly rawData: RawSheet | null;\n readonly documentHash: string | null;\n readonly status: ImporterStatus;\n readonly result: Sheet | null;\n readonly convertedSheet: ConvertedSheet | null;\n readonly sanitizedSheet: SanitizedSheet | null;\n readonly convertResultData: ConvertResultData | null;\n readonly metrics: PipelineMetrics | null;\n readonly changeLog: readonly ChangeLogEntry[];\n readonly submitDone: boolean;\n}\n\nexport const IMPORTER_PROGRESS_EVENT = 'importer-progress';\nexport const IMPORTER_ABORTED_EVENT = 'importer-aborted';\n\nexport interface ImporterProgressDetail {\n readonly phase?: string;\n readonly globalPercent?: number;\n readonly localPercent?: number;\n readonly currentRow?: number;\n readonly totalRows?: number;\n readonly rowsProcessed?: number;\n}\n","import { useCallback } from 'react';\nimport type { ImporterState, ImporterStatus } from '../types/index.js';\nimport type { PipelineMetrics } from '../types/index.js';\nimport type { ParserEngine, SheetLayout } from '../types/index.js';\nimport type { ImporterContextValue, UseImporterStateSettersDeps } from './types.js';\n\nexport function useImporterStateSetters(\n deps: UseImporterStateSettersDeps\n): Pick<\n ImporterContextValue,\n | 'setLayout'\n | 'setEngine'\n | 'setFile'\n | 'setRawData'\n | 'setDocumentHash'\n | 'setStatus'\n | 'setResult'\n | 'setConvertedSheet'\n | 'setSanitizedSheet'\n | 'setConvertResultData'\n | 'setMetrics'\n | 'setSubmitDone'\n> {\n const { setState, setLayoutState, setEngineState } = deps;\n\n const setFile = useCallback(\n (file: File | null) => {\n setState((prev) => ({ ...prev, file }));\n },\n [setState]\n );\n\n const setRawData = useCallback(\n (rawData: ImporterState['rawData']) => {\n setState((prev) => ({ ...prev, rawData }));\n },\n [setState]\n );\n\n const setDocumentHash = useCallback(\n (documentHash: string | null) => {\n setState((prev) => ({ ...prev, documentHash }));\n },\n [setState]\n );\n\n const setStatus = useCallback(\n (status: ImporterStatus) => {\n setState((prev) => ({ ...prev, status }));\n },\n [setState]\n );\n\n const setResult = useCallback(\n (result: ImporterState['result']) => {\n setState((prev) => ({ ...prev, result }));\n },\n [setState]\n );\n\n const setConvertedSheet = useCallback(\n (convertedSheet: ImporterState['convertedSheet']) => {\n setState((prev) => ({ ...prev, convertedSheet, convertResultData: null }));\n },\n [setState]\n );\n\n const setSanitizedSheet = useCallback(\n (sanitizedSheet: ImporterState['sanitizedSheet']) => {\n setState((prev) => ({ ...prev, sanitizedSheet }));\n },\n [setState]\n );\n\n const setConvertResultData = useCallback(\n (\n dataOrUpdater:\n | ImporterState['convertResultData']\n | ((prev: ImporterState['convertResultData']) => ImporterState['convertResultData'])\n ) => {\n setState((prev) => ({\n ...prev,\n convertResultData:\n typeof dataOrUpdater === 'function'\n ? dataOrUpdater(prev.convertResultData)\n : dataOrUpdater,\n convertedSheet: typeof dataOrUpdater === 'function' ? prev.convertedSheet : null,\n }));\n },\n [setState]\n );\n\n const setMetrics = useCallback(\n (metrics: PipelineMetrics | null) => {\n setState((prev) => ({ ...prev, metrics }));\n },\n [setState]\n );\n\n const setSubmitDone = useCallback(\n (submitDone: boolean) => {\n setState((prev) => ({ ...prev, submitDone }));\n },\n [setState]\n );\n\n const setLayout = useCallback(\n (next: SheetLayout | null) => {\n setLayoutState(next);\n },\n [setLayoutState]\n );\n\n const setEngine = useCallback(\n (next: ParserEngine | null) => {\n setEngineState(next);\n },\n [setEngineState]\n );\n\n return {\n setLayout,\n setEngine,\n setFile,\n setRawData,\n setDocumentHash,\n setStatus,\n setResult,\n setConvertedSheet,\n setSanitizedSheet,\n setConvertResultData,\n setMetrics,\n setSubmitDone,\n };\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { RawSheet } from '../types/raw-sheet.js';\nimport type { Sheet } from '../types/sheet.js';\nimport {\n savePersistedState,\n loadPersistedState,\n clearPersistedState as clearPersistedStateStorage,\n} from '../core/view/persist/indexed-db.js';\nimport {\n STATE_SCHEMA_VERSION,\n type PersistedState as PersistedStateType,\n} from '../core/view/types/persisted-state.js';\n\nconst DEBOUNCE_MS = 2500;\n\nexport function usePersistSession(\n persist: boolean,\n persistKey: string,\n rawData: RawSheet | null,\n result: Sheet | null,\n setRawData: (v: RawSheet | null) => void,\n setResult: (v: Sheet | null) => void,\n layoutVersion: string | number | null,\n) {\n const [recoverableSession, setRecoverableSession] = useState<PersistedStateType | null>(null);\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n if (!persist) return;\n loadPersistedState(persistKey).then((state) => {\n if (!state) return;\n if (\n state.layoutVersion != null &&\n layoutVersion != null &&\n String(state.layoutVersion) !== String(layoutVersion)\n ) {\n return;\n }\n setRecoverableSession(state);\n });\n }, [persist, persistKey, layoutVersion]);\n\n useEffect(() => {\n if (!persist || !rawData || !result) return;\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => {\n debounceRef.current = null;\n const payload: PersistedStateType = {\n rawData,\n sheet: result,\n savedAt: Date.now(),\n layoutVersion: layoutVersion ?? undefined,\n stateSchemaVersion: STATE_SCHEMA_VERSION,\n };\n savePersistedState(persistKey, payload).catch(() => {});\n }, DEBOUNCE_MS);\n return () => {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n };\n }, [persist, persistKey, rawData, result, layoutVersion]);\n\n const recoverSession = useCallback(async () => {\n if (!persist) return;\n const state = recoverableSession;\n if (!state) return;\n setRawData(state.rawData);\n setResult(state.sheet);\n setRecoverableSession(null);\n }, [persist, recoverableSession, setRawData, setResult]);\n\n const clearPersistedState = useCallback(async () => {\n if (!persist) return;\n await clearPersistedStateStorage(persistKey);\n setRecoverableSession(null);\n }, [persist, persistKey]);\n\n return {\n hasRecoverableSession: persist && recoverableSession != null,\n recoverSession,\n clearPersistedState,\n };\n}\n","import type { PersistedState } from '../types/persisted-state.js';\nimport {\n PERSIST_STORE_NAME,\n PERSIST_SESSION_MAX_AGE_MS,\n} from '../types/persisted-state.js';\n\nfunction openDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const req = indexedDB.open('react-import-sheet-db', 1);\n req.onerror = () => reject(req.error);\n req.onsuccess = () => resolve(req.result);\n req.onupgradeneeded = () => {\n req.result.createObjectStore(PERSIST_STORE_NAME, { keyPath: 'key' });\n };\n });\n}\n\nexport async function savePersistedState(\n key: string,\n state: PersistedState,\n): Promise<void> {\n const db = await openDb();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(PERSIST_STORE_NAME, 'readwrite');\n const store = tx.objectStore(PERSIST_STORE_NAME);\n const record = { key, ...state };\n const req = store.put(record);\n req.onsuccess = () => resolve();\n req.onerror = () => reject(req.error);\n tx.oncomplete = () => db.close();\n });\n}\n\nexport async function loadPersistedState(\n key: string,\n): Promise<PersistedState | null> {\n const db = await openDb();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(PERSIST_STORE_NAME, 'readonly');\n const store = tx.objectStore(PERSIST_STORE_NAME);\n const req = store.get(key);\n req.onsuccess = () => {\n db.close();\n const row = req.result as (PersistedState & { key: string }) | undefined;\n if (row == null) {\n resolve(null);\n return;\n }\n const savedAt = row.savedAt;\n if (Date.now() - savedAt > PERSIST_SESSION_MAX_AGE_MS) {\n resolve(null);\n return;\n }\n const { key: _k, ...state } = row;\n resolve(state as PersistedState);\n };\n req.onerror = () => reject(req.error);\n });\n}\n\nexport async function clearPersistedState(key: string): Promise<void> {\n const db = await openDb();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(PERSIST_STORE_NAME, 'readwrite');\n const store = tx.objectStore(PERSIST_STORE_NAME);\n const req = store.delete(key);\n req.onsuccess = () => resolve();\n req.onerror = () => reject(req.error);\n tx.oncomplete = () => db.close();\n });\n}\n","import { useCallback, useEffect } from 'react';\nimport { useImporterContext } from '../providers/index.js';\nimport { useParserWorker } from '../core/parser/hooks/useParserWorker.js';\n\nfunction firstSheetFromResult(\n result: { sheets: Readonly<Record<string, { documentHash: string }>> },\n): { documentHash: string } | null {\n const names = Object.keys(result.sheets);\n if (names.length === 0) return null;\n return result.sheets[names[0] ?? ''] ?? null;\n}\n\nexport function useImportSheet() {\n const ctx = useImporterContext();\n const { load, parseAll, isReady } = useParserWorker();\n\n useEffect(() => {\n const { file, status, engine } = ctx;\n if (!isReady || !file || status !== 'loading') return;\n load(file, { maxRows: 10, fileName: file.name, engine: engine ?? undefined })\n .then((result) => {\n const first = firstSheetFromResult(result);\n if (!first) {\n ctx.setStatus('error');\n return;\n }\n const sheet = result.sheets[Object.keys(result.sheets)[0] ?? ''];\n if (!sheet) {\n ctx.setStatus('error');\n return;\n }\n ctx.setRawData(sheet);\n ctx.setDocumentHash(sheet.documentHash);\n ctx.setStatus('success');\n })\n .catch(() => {\n ctx.setStatus('error');\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps -- run only when file/status/isReady/load change; ctx setters are stable\n }, [isReady, ctx.file, ctx.status, ctx.setRawData, ctx.setDocumentHash, ctx.setStatus, load]);\n\n const startFullImport = useCallback(() => {\n const { file } = ctx;\n if (!file) return Promise.reject(new Error('No file loaded'));\n ctx.setStatus('loading');\n const t0 = performance.now();\n return parseAll((detail) => ctx.dispatchProgress(detail)).then((result) => {\n const t1 = performance.now();\n ctx.setPhaseTiming('parse', t1 - t0);\n const first = firstSheetFromResult(result);\n if (!first) {\n ctx.setStatus('error');\n return result;\n }\n const sheet = result.sheets[Object.keys(result.sheets)[0] ?? ''];\n if (!sheet) {\n ctx.setStatus('error');\n return result;\n }\n ctx.setRawData(sheet);\n ctx.setDocumentHash(sheet.documentHash);\n ctx.setStatus('success');\n return result;\n });\n }, [ctx, parseAll]);\n\n return { startFullImport };\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport * as Comlink from 'comlink';\nimport type { RawParseResult } from '../../../types/raw-sheet.js';\nimport type { ParseOptions } from '../types/index.js';\nimport type { ImporterProgressDetail } from '../../../types/importer-state.js';\nimport { useImporterContext } from '../../../providers/index.js';\nimport { getParserWorkerUrl } from '../worker/worker-url.js';\n\ntype ParserWorkerApi = {\n load: (blob: Blob, options?: ParseOptions) => Promise<RawParseResult>;\n parseAll: (onProgress?: (d: ImporterProgressDetail) => void) => Promise<RawParseResult>;\n};\n\nexport function useParserWorker() {\n const { setActiveWorker, dispatchProgress } = useImporterContext();\n const [workerProxy, setWorkerProxy] = useState<Comlink.Remote<ParserWorkerApi> | null>(null);\n const workerRef = useRef<Worker | null>(null);\n\n useEffect(() => {\n const worker = new Worker(getParserWorkerUrl(), { type: 'module' });\n workerRef.current = worker;\n setActiveWorker(worker);\n const proxy = Comlink.wrap<ParserWorkerApi>(worker);\n queueMicrotask(() => setWorkerProxy(proxy));\n return () => {\n worker.terminate();\n workerRef.current = null;\n setActiveWorker(null);\n };\n }, [setActiveWorker]);\n\n const load = useCallback(\n async (blob: Blob, options: ParseOptions = {}): Promise<RawParseResult> => {\n if (!workerProxy) throw new Error('Parser worker not ready');\n return workerProxy.load(blob, options);\n },\n [workerProxy],\n );\n\n const parseAll = useCallback(\n async (onProgress?: (d: ImporterProgressDetail) => void): Promise<RawParseResult> => {\n if (!workerProxy) throw new Error('Parser worker not ready');\n const progressProxy = onProgress ? Comlink.proxy(onProgress) : undefined;\n return workerProxy.parseAll(progressProxy);\n },\n [workerProxy],\n );\n\n return { load, parseAll, dispatchProgress, isReady: !!workerProxy };\n}\n","export function getParserWorkerUrl(): string {\n return new URL('./parser.worker.js', import.meta.url).href;\n}\n","import { useContext } from 'react';\r\nimport { ImporterContext } from './ImporterContext.js';\r\nimport type { ImporterContextValue } from './types.js';\r\n\r\nexport function useImporterContext(): ImporterContextValue {\r\n const context = useContext(ImporterContext);\r\n if (context === null) {\r\n throw new Error('useImporter must be used within an ImporterProvider');\r\n }\r\n return context;\r\n}\r\n","import { useCallback, useEffect, useMemo } from 'react';\nimport { useImporterContext } from '../providers/index.js';\nimport { hasValidationErrors } from '../core/view/get-view-counts.js';\nimport { sheetToObjectsWithKeyMap } from '../core/view/export/sheet-to-objects.js';\nimport type { Sheet } from '../types/sheet.js';\nimport type { UseImporterOptions } from './types.js';\n\nfunction rowsToLayoutObjects(sheet: Sheet): Record<string, unknown>[] {\n return sheet.rows.map((row) =>\n row.cells.reduce((acc, c) => ({ ...acc, [c.key]: c.value }), {} as Record<string, unknown>)\n );\n}\n\nexport function useImporter(options: UseImporterOptions = {}) {\n const ctx = useImporterContext();\n const { layout: layoutOption, engine: engineOption } = options;\n\n useEffect(() => {\n if (layoutOption !== undefined) {\n ctx.setLayout(layoutOption);\n }\n }, [ctx, layoutOption]);\n\n useEffect(() => {\n if (engineOption !== undefined) {\n ctx.setEngine(engineOption);\n }\n }, [ctx, engineOption]);\n\n const canSubmit = useMemo(\n () =>\n Boolean(\n ctx.result &&\n ctx.status === 'success' &&\n !ctx.submitDone &&\n !hasValidationErrors(ctx.result)\n ),\n [ctx.result, ctx.status, ctx.submitDone]\n );\n\n const submit = useCallback(() => {\n if (!ctx.result || ctx.submitDone || hasValidationErrors(ctx.result) || !ctx.onSubmit) return;\n const data = ctx.submitKeyMap\n ? sheetToObjectsWithKeyMap(ctx.result, ctx.submitKeyMap)\n : rowsToLayoutObjects(ctx.result);\n ctx.onSubmit(data);\n ctx.setSubmitDone(true);\n }, [ctx]);\n\n return useMemo(\n () => ({\n processFile: ctx.processFile,\n registerValidator: ctx.registerValidator,\n registerSanitizer: ctx.registerSanitizer,\n registerTransform: ctx.registerTransform,\n abort: ctx.abort,\n metrics: ctx.metrics,\n submit,\n canSubmit,\n submitDone: ctx.submitDone,\n }),\n [\n ctx.processFile,\n ctx.registerValidator,\n ctx.registerSanitizer,\n ctx.registerTransform,\n ctx.abort,\n ctx.metrics,\n submit,\n canSubmit,\n ctx.submitDone,\n ]\n );\n}\n","import type { Sheet, ValidatedRow } from '../../types/sheet.js';\n\nexport function getRowsWithErrors(sheet: Sheet): ValidatedRow[] {\n return sheet.rows.filter((row) => row.errors.length > 0);\n}\n","import type { Sheet } from '../../types/sheet.js';\nimport type { ViewCounts } from './types/index.js';\nimport { getRowsWithErrors } from './get-rows-with-errors.js';\n\nexport function hasValidationErrors(sheet: Sheet | null): boolean {\n if (!sheet) return false;\n return getViewCounts(sheet).totalErrors > 0;\n}\n\nexport function getViewCounts(sheet: Sheet): ViewCounts {\n const totalRows = sheet.rows.length;\n const rowsWithErrors = getRowsWithErrors(sheet);\n const totalErrors =\n sheet.errors.length +\n sheet.rows.reduce(\n (sum, row) =>\n sum + row.errors.length + row.cells.reduce((c, cell) => c + cell.errors.length, 0),\n 0\n );\n return {\n totalRows,\n rowsWithErrors: rowsWithErrors.length,\n totalErrors,\n };\n}\n","import type { Sheet, ValidatedRow } from '../../../types/sheet.js';\n\nexport function getCellValue(row: ValidatedRow, key: string): unknown {\n const cell = row.cells.find((c) => c.key === key);\n return cell?.value;\n}\n\nexport function sheetRowsToObjects<T>(\n rows: readonly ValidatedRow[],\n mapRow: (row: ValidatedRow) => T\n): T[] {\n return rows.map(mapRow);\n}\n\nexport function sheetToObjectsWithKeyMap(\n sheet: Sheet | null,\n keyMap: Readonly<Record<string, string>>\n): Record<string, unknown>[] {\n if (!sheet) return [];\n return sheet.rows.map((row) => {\n const obj: Record<string, unknown> = {};\n for (const [sheetKey, outputKey] of Object.entries(keyMap)) {\n obj[outputKey] = getCellValue(row, sheetKey);\n }\n return obj;\n });\n}\n","import { useCallback, useMemo } from 'react';\nimport { useImporterContext } from '../../../providers/index.js';\nimport { runConvert } from '../run-convert.js';\nimport type { ConvertOptions } from '../types/convert-options.js';\nimport type { ConvertResult, ConvertResultApplyResult } from '../types/convert-result.js';\n\nexport function useConvert() {\n const ctx = useImporterContext();\n const { rawData, layout, convertedSheet, convertResultData, setConvertedSheet, setConvertResultData } = ctx;\n\n const convert = useCallback(\n (options?: ConvertOptions) => {\n if (!rawData || !layout) return;\n const result = runConvert(rawData, layout, options, convertResultData ?? undefined);\n if (result.kind === 'success') {\n setConvertedSheet(result.sheet);\n } else {\n setConvertResultData({\n headersFound: result.headersFound,\n mismatches: result.mismatches,\n columnOrder: result.columnOrder,\n headerToFieldMap: result.headerToFieldMap,\n });\n }\n },\n [rawData, layout, convertResultData, setConvertedSheet, setConvertResultData],\n );\n\n const applyMappingImpl = useCallback((): ConvertResultApplyResult | undefined => {\n if (!rawData || !layout || !convertResultData) return undefined;\n const result = runConvert(rawData, layout, {}, {\n columnOrder: convertResultData.columnOrder,\n headerToFieldMap: convertResultData.headerToFieldMap,\n });\n if (result.kind === 'success') {\n setConvertedSheet(result.sheet);\n return { kind: 'success', sheet: result.sheet };\n }\n setConvertResultData({\n headersFound: result.headersFound,\n mismatches: result.mismatches,\n columnOrder: result.columnOrder,\n headerToFieldMap: result.headerToFieldMap,\n });\n return { kind: 'mismatch', result };\n }, [rawData, layout, convertResultData, setConvertedSheet, setConvertResultData]);\n\n const reorderColumns = useCallback(\n (fieldNames: string[]) => {\n setConvertResultData((prev) =>\n prev ? { ...prev, columnOrder: fieldNames } : prev,\n );\n },\n [setConvertResultData],\n );\n\n const renameColumn = useCallback(\n (fileHeader: string, layoutFieldName: string) => {\n setConvertResultData((prev) =>\n prev\n ? {\n ...prev,\n headerToFieldMap: { ...prev.headerToFieldMap, [fileHeader]: layoutFieldName },\n }\n : prev,\n );\n },\n [setConvertResultData],\n );\n\n const convertResult: ConvertResult | null = useMemo(() => {\n if (!convertResultData) return null;\n return {\n kind: 'mismatch',\n headersFound: convertResultData.headersFound,\n mismatches: convertResultData.mismatches,\n columnOrder: [...convertResultData.columnOrder],\n headerToFieldMap: { ...convertResultData.headerToFieldMap },\n reorderColumns,\n renameColumn,\n applyMapping: () =>\n applyMappingImpl() ?? {\n kind: 'mismatch' as const,\n result: { ...convertResultData, kind: 'mismatch' as const },\n },\n };\n }, [convertResultData, reorderColumns, renameColumn, applyMappingImpl]);\n\n return useMemo(\n () => ({\n convert,\n convertedSheet,\n convertResult,\n }),\n [convert, convertedSheet, convertResult],\n );\n}\n","import type { RawSheet } from '../../types/raw-sheet.js';\nimport type { SheetLayout } from '../../types/sheet-layout.js';\nimport type { ConvertedSheet, ConvertedSheetCell, ConvertedSheetRow } from './types/converted-sheet.js';\n\nexport function buildConvertedSheet(\n rawSheet: RawSheet,\n _sheetLayout: SheetLayout,\n columnOrder: readonly string[],\n fieldToHeader: Readonly<Record<string, string | null>>,\n): ConvertedSheet {\n const headers = [...columnOrder];\n const headerIndex = new Map<string, number>();\n rawSheet.headers.forEach((h, i) => headerIndex.set(h, i));\n\n const rows: ConvertedSheetRow[] = rawSheet.rows.map((row) => {\n const cells: ConvertedSheetCell[] = columnOrder.map((fieldName) => {\n const fileHeader = fieldToHeader[fieldName];\n const value =\n fileHeader != null\n ? (() => {\n const idx = headerIndex.get(fileHeader);\n if (idx == null) return null;\n const cell = row.cells[idx];\n return cell?.value ?? null;\n })()\n : null;\n return { key: fieldName, value: value ?? null };\n });\n return { index: row.index, cells };\n });\n\n return {\n name: rawSheet.name,\n filesize: rawSheet.filesize,\n documentHash: rawSheet.documentHash,\n rowsCount: rawSheet.rowsCount,\n headersCount: rawSheet.headersCount,\n headers,\n rows,\n };\n}\n","export function normalize(s: string): string {\n const t = s.trim().toLowerCase();\n return t.normalize('NFD').replace(/\\p{Diacritic}/gu, '');\n}\n\nfunction levenshteinDistance(a: string, b: string): number {\n if (a.length === 0) return b.length;\n if (b.length === 0) return a.length;\n let prev = Array.from({ length: b.length + 1 }, (_, i) => i);\n for (let i = 1; i <= a.length; i++) {\n const curr: number[] = [i];\n for (let j = 1; j <= b.length; j++) {\n const cost = a[i - 1] === b[j - 1] ? 0 : 1;\n curr[j] = Math.min(\n curr[j - 1]! + 1,\n prev[j]! + 1,\n prev[j - 1]! + cost,\n );\n }\n prev = curr;\n }\n return prev[b.length]!;\n}\n\nexport function getSimilarity(s1: string, s2: string): number {\n const a = normalize(s1);\n const b = normalize(s2);\n const longer = a.length >= b.length ? a : b;\n const shorter = a.length < b.length ? a : b;\n if (longer.length === 0) return 1;\n const distance = levenshteinDistance(longer, shorter);\n return (longer.length - distance) / longer.length;\n}\n\nconst DEFAULT_FUZZY_THRESHOLD = 0.8;\n\nexport interface MapHeadersOptions {\n threshold?: number;\n}\n\nexport interface MapHeadersItem {\n key: string;\n matchedHeader: string | null;\n}\n\nexport function mapHeaders(\n rawHeaders: string[],\n expectedKeys: string[],\n options: MapHeadersOptions = {},\n): MapHeadersItem[] {\n const threshold = options.threshold ?? DEFAULT_FUZZY_THRESHOLD;\n const keyScores: { key: string; header: string; score: number }[] = [];\n for (const key of expectedKeys) {\n for (const header of rawHeaders) {\n const score = getSimilarity(key, header);\n if (score >= threshold) {\n keyScores.push({ key, header, score });\n }\n }\n }\n keyScores.sort((x, y) => y.score - x.score);\n\n const assignedKeys = new Set<string>();\n const assignedHeaders = new Set<string>();\n const keyToHeader: Record<string, string | null> = {};\n for (const k of expectedKeys) {\n keyToHeader[k] = null;\n }\n for (const { key, header, score: _ } of keyScores) {\n if (assignedKeys.has(key) || assignedHeaders.has(header)) continue;\n keyToHeader[key] = header;\n assignedKeys.add(key);\n assignedHeaders.add(header);\n }\n\n return expectedKeys.map((key) => ({\n key,\n matchedHeader: keyToHeader[key] ?? null,\n }));\n}\n","import type { RawSheet } from '../../types/raw-sheet.js';\nimport type { SheetLayout } from '../../types/sheet-layout.js';\nimport { mapHeaders } from '../parser/utils/fuzzy-match.js';\nimport type { ColumnMismatch } from './types/column-mismatch.js';\nimport type { ConvertOptions } from './types/convert-options.js';\n\nexport interface MatchHeadersResult {\n readonly fieldToHeader: Readonly<Record<string, string | null>>;\n readonly mismatches: readonly ColumnMismatch[];\n}\n\nfunction defaultNormalize(header: string, caseSensitive: boolean): string {\n const trimmed = header.trim();\n return caseSensitive ? trimmed : trimmed.toLowerCase();\n}\n\nexport function matchHeadersToLayout(\n rawSheet: RawSheet,\n sheetLayout: SheetLayout,\n headerToFieldMap: Readonly<Record<string, string>> = {},\n options: ConvertOptions = {}\n): MatchHeadersResult {\n const caseSensitive = options.caseSensitive ?? false;\n const normalizer = options.normalizer ?? ((h: string) => defaultNormalize(h, caseSensitive));\n const layoutFieldNames = Object.keys(sheetLayout.fields) as string[];\n const fileHeaders = rawSheet.headers as string[];\n const normalizedToFileHeader = new Map<string, string>();\n for (const h of fileHeaders) {\n normalizedToFileHeader.set(normalizer(h), h);\n }\n\n const fieldToHeader: Record<string, string | null> = {};\n const usedFileHeaders = new Set<string>();\n\n for (const [fileHeader, fieldName] of Object.entries(headerToFieldMap)) {\n if (layoutFieldNames.includes(fieldName)) {\n fieldToHeader[fieldName] = fileHeaders.includes(fileHeader) ? fileHeader : null;\n if (fieldToHeader[fieldName]) usedFileHeaders.add(fileHeader);\n }\n }\n\n for (const fieldName of layoutFieldNames) {\n if (fieldToHeader[fieldName] != null) continue;\n const key = normalizer(fieldName);\n const fileHeader = normalizedToFileHeader.get(key);\n if (fileHeader != null && !usedFileHeaders.has(fileHeader)) {\n fieldToHeader[fieldName] = fileHeader;\n usedFileHeaders.add(fileHeader);\n } else {\n fieldToHeader[fieldName] = null;\n }\n }\n\n if (options.fuzzyHeaders === true) {\n const unmatchedFields = layoutFieldNames.filter((f) => fieldToHeader[f] == null);\n const availableHeaders = fileHeaders.filter((h) => !usedFileHeaders.has(h));\n const threshold = options.fuzzyThreshold ?? 0.8;\n const fuzzyResults = mapHeaders(availableHeaders, unmatchedFields, { threshold });\n for (const { key, matchedHeader } of fuzzyResults) {\n if (matchedHeader != null && !usedFileHeaders.has(matchedHeader)) {\n fieldToHeader[key] = matchedHeader;\n usedFileHeaders.add(matchedHeader);\n }\n }\n }\n\n const mismatches: ColumnMismatch[] = [];\n for (const fieldName of layoutFieldNames) {\n const found = fieldToHeader[fieldName];\n if (found == null) {\n const field = sheetLayout.fields[fieldName];\n const required = field?.required !== false;\n mismatches.push({\n expected: fieldName,\n found: null,\n message: `Column '${fieldName}' not found in file`,\n required,\n });\n }\n }\n\n return { fieldToHeader, mismatches };\n}\n","import type { RawSheet } from '../../types/raw-sheet.js';\nimport type { SheetLayout } from '../../types/sheet-layout.js';\nimport { buildConvertedSheet } from './build-converted-sheet.js';\nimport { matchHeadersToLayout } from './match-headers.js';\nimport type { ConvertMismatchData } from './types/convert-mismatch-data.js';\nimport type { ConvertOptions } from './types/convert-options.js';\nimport type { ConvertSuccess } from './types/convert-success.js';\n\nexport type RunConvertExisting = {\n readonly columnOrder: readonly string[];\n readonly headerToFieldMap: Readonly<Record<string, string>>;\n};\n\nexport type RunConvertResult = ConvertSuccess | ConvertMismatchData;\n\nexport function runConvert(\n rawSheet: RawSheet,\n sheetLayout: SheetLayout,\n options: ConvertOptions = {},\n existing?: RunConvertExisting\n): RunConvertResult {\n const layoutFieldNames = Object.keys(sheetLayout.fields) as string[];\n const columnOrder = existing?.columnOrder?.length\n ? (existing.columnOrder as string[])\n : layoutFieldNames;\n const headerToFieldMap = existing?.headerToFieldMap ?? {};\n\n const { fieldToHeader, mismatches } = matchHeadersToLayout(\n rawSheet,\n sheetLayout,\n headerToFieldMap,\n options\n );\n\n const requiredFieldNames = layoutFieldNames.filter(\n (f) => sheetLayout.fields[f]?.required !== false\n );\n const allRequiredMatched = requiredFieldNames.every((f) => fieldToHeader[f] != null);\n const allMatched = mismatches.length === 0;\n\n if (allMatched || allRequiredMatched) {\n const sheet = buildConvertedSheet(rawSheet, sheetLayout, columnOrder, fieldToHeader);\n return { kind: 'success', sheet };\n }\n\n const layoutError = mismatches.some((m) => m.required === true);\n return {\n kind: 'mismatch',\n headersFound: [...rawSheet.headers],\n mismatches,\n columnOrder: [...columnOrder],\n headerToFieldMap: { ...headerToFieldMap },\n layoutError,\n };\n}\n","import { useMemo } from 'react';\r\nimport { useImporterContext } from '../providers/index.js';\r\n\r\nexport function useImporterStatus() {\r\n const ctx = useImporterContext();\r\n return useMemo(\r\n () => ({\r\n status: ctx.status,\r\n progressEventTarget: ctx.progressEventTarget,\r\n }),\r\n [ctx.status, ctx.progressEventTarget],\r\n );\r\n}\r\n","import { useCallback, useMemo } from 'react';\r\nimport type { ValidatedRow } from '../types/sheet.js';\r\nimport { useImporterContext } from '../providers/index.js';\r\nimport {\r\n sheetRowsToObjects,\r\n sheetToObjectsWithKeyMap,\r\n} from '../core/view/export/sheet-to-objects.js';\r\n\r\nexport function useSheetData() {\r\n const ctx = useImporterContext();\r\n const sheet = ctx.result;\r\n const errors = useMemo(() => {\r\n if (!sheet) return [];\r\n return [...sheet.errors];\r\n }, [sheet]);\r\n const toObjects = useCallback(\r\n <T>(mapRow: (row: ValidatedRow) => T): T[] => {\r\n if (!sheet) return [];\r\n return sheetRowsToObjects(sheet.rows, mapRow);\r\n },\r\n [sheet]\r\n );\r\n const toObjectsWithKeyMap = useCallback(\r\n (keyMap: Readonly<Record<string, string>>): Record<string, unknown>[] => {\r\n return sheetToObjectsWithKeyMap(sheet, keyMap);\r\n },\r\n [sheet]\r\n );\r\n return useMemo(\r\n () => ({ sheet, errors, toObjects, toObjectsWithKeyMap }),\r\n [sheet, errors, toObjects, toObjectsWithKeyMap]\r\n );\r\n}\r\n","import { useCallback, useMemo, useRef } from 'react';\nimport { type ChangeLogEntry, formatChangeLogAsText } from '../types/change-log.js';\nimport type { EditCellParams } from '../types/edit.js';\nimport type { PaginatedResult } from '../types/paginated-result.js';\nimport type { ValidatedRow } from '../types/sheet.js';\nimport { useImporterContext } from '../providers/index.js';\nimport { removeRow as removeRowSheet } from '../core/editor/immutable-update.js';\nimport { useEditWorker } from '../core/editor/hooks/useEditWorker.js';\nimport { getPaginatedResult } from '../core/editor/get-paginated-result.js';\nimport { getCellByKey, getRowByIndex } from '../core/editor/resolve.js';\n\nexport interface UseSheetEditorOptions {\n page?: number;\n pageSize?: number;\n debounceMs?: number;\n}\n\nexport function useSheetEditor(options: UseSheetEditorOptions = {}) {\n const {\n result: sheet,\n setResult,\n layout,\n changeLog,\n addChangeLogEntry,\n submitDone,\n } = useImporterContext();\n const { runEdit, isReady } = useEditWorker();\n const canEdit = !submitDone;\n const { page = 1, pageSize = 25, debounceMs } = options;\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const pageData = useMemo((): PaginatedResult<ValidatedRow> => {\n if (!sheet) {\n return { page: 1, pageSize, totalCount: 0, totalPages: 0, rows: [] };\n }\n return getPaginatedResult(sheet, page, pageSize);\n }, [sheet, page, pageSize]);\n\n const totalPages = pageData.totalPages;\n\n const applyEdit = useCallback(\n (params: EditCellParams) => {\n if (!sheet || !layout || submitDone) return Promise.resolve();\n const previousValue =\n getRowByIndex(sheet, params.rowIndex) &&\n getCellByKey(getRowByIndex(sheet, params.rowIndex)!, params.cellKey)?.value;\n return runEdit(sheet, layout, params.rowIndex, params.cellKey, params.value).then(\n (newSheet) => {\n setResult(newSheet);\n queueMicrotask(() => {\n const entry: ChangeLogEntry = {\n type: 'cell_edit',\n rowIndex: params.rowIndex,\n cellKey: params.cellKey,\n value: params.value,\n previousValue,\n timestamp: Date.now(),\n };\n addChangeLogEntry(entry);\n });\n }\n );\n },\n [sheet, layout, submitDone, runEdit, setResult, addChangeLogEntry]\n );\n\n const editCell = useCallback(\n (params: EditCellParams): void | Promise<void> => {\n if (debounceMs != null && debounceMs > 0) {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => {\n debounceRef.current = null;\n applyEdit(params);\n }, debounceMs);\n return;\n }\n return applyEdit(params);\n },\n [debounceMs, applyEdit]\n );\n\n const removeRow = useCallback(\n (rowIndex: number): void => {\n if (!sheet || submitDone) return;\n const newSheet = removeRowSheet(sheet, rowIndex);\n setResult(newSheet);\n queueMicrotask(() => {\n const entry: ChangeLogEntry = {\n type: 'row_remove',\n rowIndex,\n timestamp: Date.now(),\n };\n addChangeLogEntry(entry);\n });\n },\n [sheet, submitDone, setResult, addChangeLogEntry]\n );\n\n const changeLogAsText = useMemo(() => formatChangeLogAsText(changeLog), [changeLog]);\n\n return useMemo(\n () => ({\n sheet,\n editCell,\n removeRow,\n pageData,\n totalPages,\n isReady,\n canEdit,\n changeLog,\n changeLogAsText,\n }),\n [sheet, editCell, removeRow, pageData, totalPages, isReady, canEdit, changeLog, changeLogAsText]\n );\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport * as Comlink from 'comlink';\nimport type { SheetLayout } from '../../../types/sheet-layout.js';\nimport type { Sheet } from '../../../types/sheet.js';\nimport { getEditWorkerUrl } from '../worker/worker-url.js';\n\nexport interface EditWorkerOptions {\n signal?: AbortSignal;\n}\n\ntype EditWorkerApi = {\n runEdit: (\n sheet: Sheet,\n sheetLayout: SheetLayout,\n rowIndex: number,\n cellKey: string,\n value: unknown,\n options?: EditWorkerOptions,\n ) => Promise<Sheet>;\n};\n\nexport function useEditWorker() {\n const [workerProxy, setWorkerProxy] = useState<Comlink.Remote<EditWorkerApi> | null>(null);\n const workerRef = useRef<Worker | null>(null);\n\n useEffect(() => {\n const worker = new Worker(getEditWorkerUrl(), { type: 'module' });\n workerRef.current = worker;\n const proxy = Comlink.wrap<EditWorkerApi>(worker);\n queueMicrotask(() => setWorkerProxy(proxy));\n return () => {\n worker.terminate();\n workerRef.current = null;\n };\n }, []);\n\n const runEdit = useCallback(\n async (\n sheet: Sheet,\n sheetLayout: SheetLayout,\n rowIndex: number,\n cellKey: string,\n value: unknown,\n options?: EditWorkerOptions,\n ): Promise<Sheet> => {\n if (!workerProxy) throw new Error('Edit worker not ready');\n return workerProxy.runEdit(\n sheet,\n sheetLayout,\n rowIndex,\n cellKey,\n value,\n options ?? {},\n );\n },\n [workerProxy],\n );\n\n return { runEdit, isReady: !!workerProxy };\n}\n","export function getEditWorkerUrl(): string {\n return new URL('./edit.worker.js', import.meta.url).href;\n}\n","import type { PaginatedResult } from '../../types/paginated-result.js';\nimport type { Sheet, ValidatedRow } from '../../types/sheet.js';\n\nexport function getPaginatedResult(\n sheet: Sheet,\n page: number,\n pageSize: number,\n): PaginatedResult<ValidatedRow> {\n return getPaginatedResultFromRows(sheet.rows, page, pageSize);\n}\n\nexport function getPaginatedResultFromRows<TRow>(\n rows: readonly TRow[],\n page: number,\n pageSize: number,\n): PaginatedResult<TRow> {\n const totalCount = rows.length;\n const totalPages =\n pageSize <= 0 ? 0 : Math.max(1, Math.ceil(totalCount / pageSize));\n const safePage = Math.max(1, Math.min(page, totalPages));\n const start = (safePage - 1) * pageSize;\n const end = Math.min(start + pageSize, totalCount);\n const slice = rows.slice(start, end);\n return {\n page: safePage,\n pageSize,\n totalCount,\n totalPages,\n rows: slice,\n };\n}\n","import { useCallback, useMemo, useState } from 'react';\nimport type { ValidatedRow } from '../../../types/sheet.js';\nimport { useImporterContext } from '../../../providers/index.js';\nimport { useSheetEditor } from '../../../hooks/useSheetEditor.js';\nimport { getPaginatedResultFromRows } from '../../editor/get-paginated-result.js';\nimport { getRowsWithErrors } from '../get-rows-with-errors.js';\nimport { getViewCounts } from '../get-view-counts.js';\nimport { sheetToCSV } from '../export/sheet-to-csv.js';\nimport { sheetToJSON } from '../export/sheet-to-json.js';\nimport type { UseSheetViewOptions, UseSheetViewReturn } from '../types/index.js';\n\nexport function useSheetView(options: UseSheetViewOptions = {}): UseSheetViewReturn<ValidatedRow> {\n const { page: initialPage = 1, defaultPageSize = 25, filterMode = 'all' } = options;\n const [page, setPage] = useState(initialPage);\n const pageSize = defaultPageSize;\n const { sheet, editCell, removeRow, changeLog, changeLogAsText } = useSheetEditor({});\n const ctx = useImporterContext();\n\n const rowsWithErrors = useMemo(() => (sheet ? getRowsWithErrors(sheet) : []), [sheet]);\n const sourceRows = useMemo(\n () => (filterMode === 'errors-only' ? rowsWithErrors : (sheet?.rows ?? [])),\n [filterMode, rowsWithErrors, sheet]\n );\n const totalRows = sourceRows.length;\n\n const getPaginatedResult = useCallback(\n (p?: number, ps?: number) => {\n const pp = p ?? page;\n const pps = ps ?? pageSize;\n return getPaginatedResultFromRows(sourceRows, pp, pps);\n },\n [page, pageSize, sourceRows]\n );\n const paginatedRows = useMemo(\n () => getPaginatedResult(page, pageSize).rows,\n [getPaginatedResult, page, pageSize]\n );\n const getRows = useCallback(\n (page: number, limit: number) => {\n // 1-based page → 0-based start index\n const start = (page - 1) * limit;\n return sourceRows.slice(start, start + limit);\n },\n [sourceRows]\n );\n const counts = useMemo(\n () => (sheet ? getViewCounts(sheet) : { totalRows: 0, rowsWithErrors: 0, totalErrors: 0 }),\n [sheet]\n );\n\n const exportToCSV = useCallback(\n (opts?: Parameters<UseSheetViewReturn['exportToCSV']>[0]) => {\n if (!sheet || !ctx.layout) return '';\n return sheetToCSV(sheet, ctx.layout, opts ?? {});\n },\n [sheet, ctx.layout]\n );\n const exportToJSON = useCallback(\n (opts?: Parameters<UseSheetViewReturn['exportToJSON']>[0]) => {\n if (!sheet) return '[]';\n return sheetToJSON(sheet, ctx.layout ?? null, opts ?? {});\n },\n [sheet, ctx.layout]\n );\n\n const downloadCSV = useCallback(\n async (opts?: Parameters<UseSheetViewReturn['downloadCSV']>[0]) => {\n const content = exportToCSV(opts);\n if (!content) return;\n const blob = new Blob([content], { type: 'text/csv;charset=utf-8' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = (opts?.filename ?? 'export') + '.csv';\n a.click();\n URL.revokeObjectURL(url);\n },\n [exportToCSV]\n );\n const downloadJSON = useCallback(\n async (opts?: Parameters<UseSheetViewReturn['downloadJSON']>[0]) => {\n const content = exportToJSON(opts);\n const blob = new Blob([content], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = (opts?.filename ?? 'export') + '.json';\n a.click();\n URL.revokeObjectURL(url);\n },\n [exportToJSON]\n );\n\n return useMemo(\n () => ({\n sheet,\n getPaginatedResult,\n paginatedRows,\n page,\n setPage,\n pageSize,\n totalRows,\n getRows,\n rowsWithErrors,\n counts,\n editCell,\n removeRow,\n changeLog,\n changeLogAsText,\n exportToCSV,\n exportToJSON,\n downloadCSV,\n downloadJSON,\n hasRecoverableSession: ctx.hasRecoverableSession,\n recoverSession: ctx.recoverSession,\n clearPersistedState: ctx.clearPersistedState,\n }),\n [\n sheet,\n getPaginatedResult,\n paginatedRows,\n page,\n pageSize,\n totalRows,\n getRows,\n rowsWithErrors,\n counts,\n editCell,\n removeRow,\n changeLog,\n changeLogAsText,\n exportToCSV,\n exportToJSON,\n downloadCSV,\n downloadJSON,\n ctx.hasRecoverableSession,\n ctx.recoverSession,\n ctx.clearPersistedState,\n ]\n );\n}\n","import type { SheetLayout } from '../../../types/sheet-layout.js';\nimport type { Sheet } from '../../../types/sheet.js';\nimport type { ExportOptions } from '../types/export-options.js';\n\nconst BOM = '\\uFEFF';\n\nfunction escapeCsvValue(value: string, separator: string): string {\n const needsQuotes =\n value.includes(separator) || value.includes('\"') || value.includes('\\n') || value.includes('\\r');\n if (!needsQuotes) return value;\n return '\"' + value.replace(/\"/g, '\"\"') + '\"';\n}\n\nfunction cellValueToString(value: unknown, formatDates: boolean): string {\n if (value === null || value === undefined) return '';\n if (value instanceof Date) return formatDates ? value.toLocaleString() : value.toISOString();\n return String(value);\n}\n\nexport function sheetToCSV(\n sheet: Sheet,\n sheetLayout: SheetLayout | null,\n options: ExportOptions = {},\n): string {\n const {\n includeHeaders = true,\n csvSeparator = ',',\n formatDatesForExport = false,\n } = options;\n const fieldOrder =\n sheetLayout != null ? Object.keys(sheetLayout.fields) : [];\n const effectiveOrder =\n fieldOrder.length > 0\n ? fieldOrder\n : (sheet.rows[0]?.cells.map((c) => c.key) ?? sheet.headers.slice());\n\n const lines: string[] = [];\n if (includeHeaders && effectiveOrder.length > 0) {\n lines.push(effectiveOrder.map((h) => escapeCsvValue(h, csvSeparator)).join(csvSeparator));\n }\n for (const row of sheet.rows) {\n const values = effectiveOrder.map((key) => {\n const cell = row.cells.find((c) => c.key === key);\n const raw = cell?.value ?? '';\n return escapeCsvValue(cellValueToString(raw, formatDatesForExport), csvSeparator);\n });\n lines.push(values.join(csvSeparator));\n }\n const body = lines.join('\\r\\n');\n return BOM + body;\n}\n","import type { SheetLayout } from '../../../types/sheet-layout.js';\nimport type { Sheet } from '../../../types/sheet.js';\nimport type { ExportOptions } from '../types/export-options.js';\n\nfunction cellValueToJson(value: unknown, formatDates: boolean): unknown {\n if (value === null || value === undefined) return null;\n if (value instanceof Date) return formatDates ? value.toLocaleString() : value.toISOString();\n return value;\n}\n\nexport function sheetToJSON(\n sheet: Sheet,\n _sheetLayout: SheetLayout | null,\n options: ExportOptions = {},\n): string {\n const { formatDatesForExport = false } = options;\n const rows = sheet.rows.map((row) => {\n const obj: Record<string, unknown> = {};\n for (const cell of row.cells) {\n obj[cell.key] = cellValueToJson(cell.value, formatDatesForExport);\n }\n return obj;\n });\n return JSON.stringify(rows, null, 0);\n}\n","import { useCallback, useEffect } from 'react';\r\nimport { IMPORTER_PROGRESS_EVENT } from '../types/index.js';\r\nimport type { ImporterProgressDetail } from '../types/index.js';\r\nimport { useImporterContext } from '../providers/index.js';\r\n\r\nexport function useImporterEventTarget() {\r\n const ctx = useImporterContext();\r\n const target = ctx.progressEventTarget;\r\n\r\n const subscribeToProgress = useCallback(\r\n (callback: (detail: ImporterProgressDetail) => void) => {\r\n const handler = (e: Event) => {\r\n callback((e as CustomEvent<ImporterProgressDetail>).detail);\r\n };\r\n target.addEventListener(IMPORTER_PROGRESS_EVENT, handler);\r\n return () => {\r\n target.removeEventListener(IMPORTER_PROGRESS_EVENT, handler);\r\n };\r\n },\r\n [target],\r\n );\r\n\r\n return { progressEventTarget: target, subscribeToProgress };\r\n}\r\n\r\nexport function useImporterProgressSubscription(\r\n callback: (detail: ImporterProgressDetail) => void,\r\n) {\r\n const { subscribeToProgress } = useImporterEventTarget();\r\n useEffect(() => {\r\n return subscribeToProgress(callback);\r\n }, [subscribeToProgress, callback]);\r\n}\r\n"],"mappings":"gGAAA,OAAS,aAAAA,GAAW,WAAAC,EAAS,UAAAC,GAAQ,YAAAC,OAAgB,QCK9C,IAAMC,EAAqB,6BAErBC,GAAsB,6BCPnC,OAAS,iBAAAC,OAAqB,QAGvB,IAAMC,EAAkBD,GAA2C,IAAI,ECDvE,IAAME,GAA8B,CACzC,KAAM,KACN,QAAS,KACT,aAAc,KACd,OAAQ,OACR,OAAQ,KACR,eAAgB,KAChB,eAAgB,KAChB,kBAAmB,KACnB,QAAS,KACT,UAAW,CAAC,EACZ,WAAY,EACd,ECdA,OAAS,eAAAC,EAAa,WAAAC,OAAe,QCgCrC,SAASC,EAASC,EAAoB,CACpC,OAAIA,EAAK,KAAQA,GAAM,EAAU,SAC7BA,EAAK,EAAU,IAAIA,EAAK,KAAM,QAAQ,CAAC,CAAC,UACrC,GAAGA,EAAG,QAAQ,CAAC,CAAC,IACzB,CAEO,SAASC,GACdC,EACAC,EACAC,EACiB,CACjB,IAAMC,EACJH,EAAQ,MAAQA,EAAQ,SAAWA,EAAQ,SAAWA,EAAQ,UAC1DI,EAASD,EAAU,IAEnBE,EAAa,IADQJ,EAAW,EAAIE,EAAUF,EAAW,GACtB,QAAQ,CAAC,CAAC,SAE/CK,EACJ,GAAIH,EAAU,EAAG,CACf,IAAMI,EAAWL,GAAc,EACzBM,EAAoBL,EAAUI,EACpCD,EAAc,CACZ,MAAQN,EAAQ,MAAQQ,EAAqB,IAC7C,SAAWR,EAAQ,SAAWQ,EAAqB,IACnD,SAAWR,EAAQ,SAAWQ,EAAqB,IACnD,UAAYR,EAAQ,UAAYQ,EAAqB,IACrD,SAAUA,EAAoB,EAAKD,EAAWC,EAAqB,IAAM,CAC3E,CACF,CAEA,MAAO,CACL,QAAS,CAAE,GAAGR,CAAQ,EACtB,YAAAM,EACA,QAAAH,EACA,OAAAC,EACA,UAAWP,EAASG,EAAQ,KAAK,EACjC,aAAcH,EAASG,EAAQ,QAAQ,EACvC,aAAcH,EAASG,EAAQ,QAAQ,EACvC,cAAeH,EAASG,EAAQ,SAAS,EACzC,UAAWH,EAASM,CAAO,EAC3B,WAAAE,EACA,SAAAJ,EACA,GAAIC,IAAe,QAAaA,GAAc,EAAI,CAAE,WAAAA,CAAW,EAAI,CAAC,CACtE,CACF,CC3DO,SAASO,EAAsBC,EAA4C,CAChF,IAAMC,EAAkB,CAAC,EACzB,QAAWC,KAAKF,EACd,GAAIE,EAAE,OAAS,YAAa,CAC1B,IAAMC,EAAOD,EAAE,gBAAkB,OAAY,eAAe,OAAOA,EAAE,aAAa,CAAC,IAAM,GACzFD,EAAM,KACJ,OAAOC,EAAE,SAAW,CAAC,WAAWA,EAAE,OAAO,aAAa,KAAK,UAAUA,EAAE,KAAK,CAAC,GAAGC,CAAI,EACtF,CACF,MACEF,EAAM,KAAK,OAAOC,EAAE,SAAW,CAAC,WAAW,EAG/C,OAAOD,EAAM,KAAK;AAAA,CAAI,CACxB,CCUO,IAAMG,EAA0B,oBAC1BC,EAAyB,mBCzCtC,OAAS,eAAAC,MAAmB,QAMrB,SAASC,EACdC,EAeA,CACA,GAAM,CAAE,SAAAC,EAAU,eAAAC,EAAgB,eAAAC,CAAe,EAAIH,EAE/CI,EAAUN,EACbO,GAAsB,CACrBJ,EAAUK,IAAU,CAAE,GAAGA,EAAM,KAAAD,CAAK,EAAE,CACxC,EACA,CAACJ,CAAQ,CACX,EAEMM,EAAaT,EAChBU,GAAsC,CACrCP,EAAUK,IAAU,CAAE,GAAGA,EAAM,QAAAE,CAAQ,EAAE,CAC3C,EACA,CAACP,CAAQ,CACX,EAEMQ,EAAkBX,EACrBY,GAAgC,CAC/BT,EAAUK,IAAU,CAAE,GAAGA,EAAM,aAAAI,CAAa,EAAE,CAChD,EACA,CAACT,CAAQ,CACX,EAEMU,EAAYb,EACfc,GAA2B,CAC1BX,EAAUK,IAAU,CAAE,GAAGA,EAAM,OAAAM,CAAO,EAAE,CAC1C,EACA,CAACX,CAAQ,CACX,EAEMY,EAAYf,EACfgB,GAAoC,CACnCb,EAAUK,IAAU,CAAE,GAAGA,EAAM,OAAAQ,CAAO,EAAE,CAC1C,EACA,CAACb,CAAQ,CACX,EAEMc,EAAoBjB,EACvBkB,GAAoD,CACnDf,EAAUK,IAAU,CAAE,GAAGA,EAAM,eAAAU,EAAgB,kBAAmB,IAAK,EAAE,CAC3E,EACA,CAACf,CAAQ,CACX,EAEMgB,EAAoBnB,EACvBoB,GAAoD,CACnDjB,EAAUK,IAAU,CAAE,GAAGA,EAAM,eAAAY,CAAe,EAAE,CAClD,EACA,CAACjB,CAAQ,CACX,EAEMkB,EAAuBrB,EAEzBsB,GAGG,CACHnB,EAAUK,IAAU,CAClB,GAAGA,EACH,kBACE,OAAOc,GAAkB,WACrBA,EAAcd,EAAK,iBAAiB,EACpCc,EACN,eAAgB,OAAOA,GAAkB,WAAad,EAAK,eAAiB,IAC9E,EAAE,CACJ,EACA,CAACL,CAAQ,CACX,EAEMoB,EAAavB,EAChBwB,GAAoC,CACnCrB,EAAUK,IAAU,CAAE,GAAGA,EAAM,QAAAgB,CAAQ,EAAE,CAC3C,EACA,CAACrB,CAAQ,CACX,EAEMsB,EAAgBzB,EACnB0B,GAAwB,CACvBvB,EAAUK,IAAU,CAAE,GAAGA,EAAM,WAAAkB,CAAW,EAAE,CAC9C,EACA,CAACvB,CAAQ,CACX,EAEMwB,EAAY3B,EACf4B,GAA6B,CAC5BxB,EAAewB,CAAI,CACrB,EACA,CAACxB,CAAc,CACjB,EAEMyB,EAAY7B,EACf4B,GAA8B,CAC7BvB,EAAeuB,CAAI,CACrB,EACA,CAACvB,CAAc,CACjB,EAEA,MAAO,CACL,UAAAsB,EACA,UAAAE,EACA,QAAAvB,EACA,WAAAG,EACA,gBAAAE,EACA,UAAAE,EACA,UAAAE,EACA,kBAAAE,EACA,kBAAAE,EACA,qBAAAE,EACA,WAAAE,EACA,cAAAE,CACF,CACF,CJzHA,IAAMK,GAAwB,CAC5B,MAAO,EACP,SAAU,EACV,SAAU,EACV,UAAW,CACb,EAEO,SAASC,GACdC,EAkBA,CACA,GAAM,CACJ,SAAAC,EACA,eAAAC,EACA,eAAAC,EACA,oBAAAC,EACA,kBAAAC,EACA,kBAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,gBAAAC,CACF,EAAIT,EAEEU,EAAeC,EAAwB,CAAE,SAAAV,EAAU,eAAAC,EAAgB,eAAAC,CAAe,CAAC,EAEnFS,EAAmBC,EACtBC,GAAmC,CAClCV,EAAoB,cAAc,IAAI,YAAYW,EAAyB,CAAE,OAAAD,CAAO,CAAC,CAAC,CACxF,EACA,CAACV,CAAmB,CACtB,EAEMY,EAAkBH,EACrBI,GAA0B,CACzBT,EAAgB,QAAUS,CAC5B,EACA,CAACT,CAAe,CAClB,EAEMU,EAAQL,EAAY,IAAM,CAC9B,IAAMI,EAAST,EAAgB,QAC3BS,IACFA,EAAO,UAAU,EACjBT,EAAgB,QAAU,MAE5BP,EAAUkB,IAAU,CAAE,GAAGA,EAAM,OAAQ,WAAY,EAAE,EACrDf,EAAoB,cAAc,IAAI,YAAYgB,CAAsB,CAAC,CAC3E,EAAG,CAACZ,EAAiBJ,EAAqBH,CAAQ,CAAC,EAE7CoB,EAAiBR,EACrB,CAACS,EAAsBC,IAAe,CACpCd,EAAgB,QAAU,CAAE,GAAGA,EAAgB,QAAS,CAACa,CAAK,EAAGC,CAAG,CACtE,EACA,CAACd,CAAe,CAClB,EAEMe,EAAkBX,EACrBY,GAAqB,CACpB,IAAMC,EAAU,CAAE,GAAGjB,EAAgB,OAAQ,EACvCkB,EAAUC,GAAqBF,EAASD,CAAQ,EACtDf,EAAa,WAAWiB,CAAO,CACjC,EACA,CAAClB,EAAiBC,CAAY,CAChC,EAEMmB,EAAoBhB,EACvBiB,GAA0B,CACzB7B,EAAUkB,IAAU,CAClB,GAAGA,EACH,UAAW,CAAC,GAAGA,EAAK,UAAWW,CAAK,CACtC,EAAE,CACJ,EACA,CAAC7B,CAAQ,CACX,EAEM8B,EAAclB,EACjBmB,GAAe,CACdvB,EAAgB,QAAU,CAAE,GAAGX,EAAsB,EACrDG,EAAUkB,IAAU,CAClB,GAAGA,EACH,KAAAa,EACA,OAAQ,UACR,QAAS,KACT,aAAc,KACd,OAAQ,KACR,eAAgB,KAChB,eAAgB,KAChB,kBAAmB,KACnB,QAAS,KACT,UAAW,CAAC,EACZ,WAAY,EACd,EAAE,CACJ,EACA,CAACvB,EAAiBR,CAAQ,CAC5B,EAEMgC,EAAoBpB,EACxB,CAACqB,EAAcC,EAAqCC,IAAqC,CACvF/B,EAAkB,SAAS6B,EAAMC,EAAIC,CAAO,CAC9C,EACA,CAAC/B,CAAiB,CACpB,EAEMgC,EAAoBxB,EACxB,CAACqB,EAAcC,EAAqCC,IAAqC,CACvF9B,EAAkB,SAAS4B,EAAMC,EAAIC,CAAO,CAC9C,EACA,CAAC9B,CAAiB,CACpB,EAEMgC,EAAoBzB,EACxB,CAACqB,EAAcC,EAAqCC,IAAqC,CACvF7B,EAAkB,SAAS2B,EAAMC,EAAIC,CAAO,CAC9C,EACA,CAAC7B,CAAiB,CACpB,EAEA,OAAOgC,GACL,KAAO,CACL,GAAG7B,EACH,kBAAAmB,EACA,eAAAR,EACA,gBAAAG,EACA,YAAAO,EACA,kBAAAE,EACA,kBAAAI,EACA,kBAAAC,EACA,MAAApB,EACA,iBAAAN,EACA,gBAAAI,CACF,GACA,CACEN,EACAmB,EACAR,EACAG,EACAO,EACAE,EACAI,EACAC,EACApB,EACAN,EACAI,CACF,CACF,CACF,CK9KA,OAAS,eAAAwB,GAAa,aAAAC,GAAW,UAAAC,GAAQ,YAAAC,OAAgB,QCMzD,SAASC,IAA+B,CACtC,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,IAAMC,EAAM,UAAU,KAAK,wBAAyB,CAAC,EACrDA,EAAI,QAAU,IAAMD,EAAOC,EAAI,KAAK,EACpCA,EAAI,UAAY,IAAMF,EAAQE,EAAI,MAAM,EACxCA,EAAI,gBAAkB,IAAM,CAC1BA,EAAI,OAAO,kBAAkBC,EAAoB,CAAE,QAAS,KAAM,CAAC,CACrE,CACF,CAAC,CACH,CAEA,eAAsBC,GACpBC,EACAC,EACe,CACf,IAAMC,EAAK,MAAMR,GAAO,EACxB,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,IAAMO,EAAKD,EAAG,YAAYJ,EAAoB,WAAW,EACnDM,EAAQD,EAAG,YAAYL,CAAkB,EACzCO,EAAS,CAAE,IAAAL,EAAK,GAAGC,CAAM,EACzBJ,EAAMO,EAAM,IAAIC,CAAM,EAC5BR,EAAI,UAAY,IAAMF,EAAQ,EAC9BE,EAAI,QAAU,IAAMD,EAAOC,EAAI,KAAK,EACpCM,EAAG,WAAa,IAAMD,EAAG,MAAM,CACjC,CAAC,CACH,CAEA,eAAsBI,GACpBN,EACgC,CAChC,IAAME,EAAK,MAAMR,GAAO,EACxB,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CAGtC,IAAMC,EAFKK,EAAG,YAAYJ,EAAoB,UAAU,EACvC,YAAYA,CAAkB,EAC7B,IAAIE,CAAG,EACzBH,EAAI,UAAY,IAAM,CACpBK,EAAG,MAAM,EACT,IAAMK,EAAMV,EAAI,OAChB,GAAIU,GAAO,KAAM,CACfZ,EAAQ,IAAI,EACZ,MACF,CACA,IAAMa,EAAUD,EAAI,QACpB,GAAI,KAAK,IAAI,EAAIC,EAAU,OAA4B,CACrDb,EAAQ,IAAI,EACZ,MACF,CACA,GAAM,CAAE,IAAKc,EAAI,GAAGR,CAAM,EAAIM,EAC9BZ,EAAQM,CAAuB,CACjC,EACAJ,EAAI,QAAU,IAAMD,EAAOC,EAAI,KAAK,CACtC,CAAC,CACH,CAEA,eAAsBa,GAAoBV,EAA4B,CACpE,IAAME,EAAK,MAAMR,GAAO,EACxB,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,IAAMO,EAAKD,EAAG,YAAYJ,EAAoB,WAAW,EAEnDD,EADQM,EAAG,YAAYL,CAAkB,EAC7B,OAAOE,CAAG,EAC5BH,EAAI,UAAY,IAAMF,EAAQ,EAC9BE,EAAI,QAAU,IAAMD,EAAOC,EAAI,KAAK,EACpCM,EAAG,WAAa,IAAMD,EAAG,MAAM,CACjC,CAAC,CACH,CDzDA,IAAMS,GAAc,KAEb,SAASC,GACdC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACA,CACA,GAAM,CAACC,EAAoBC,CAAqB,EAAIC,GAAoC,IAAI,EACtFC,EAAcC,GAA6C,IAAI,EAErEC,GAAU,IAAM,CACTZ,GACLa,GAAmBZ,CAAU,EAAE,KAAMa,GAAU,CACxCA,IAEHA,EAAM,eAAiB,MACvBR,GAAiB,MACjB,OAAOQ,EAAM,aAAa,IAAM,OAAOR,CAAa,GAItDE,EAAsBM,CAAK,EAC7B,CAAC,CACH,EAAG,CAACd,EAASC,EAAYK,CAAa,CAAC,EAEvCM,GAAU,IAAM,CACd,GAAI,GAACZ,GAAW,CAACE,GAAW,CAACC,GAC7B,OAAIO,EAAY,SAAS,aAAaA,EAAY,OAAO,EACzDA,EAAY,QAAU,WAAW,IAAM,CACrCA,EAAY,QAAU,KACtB,IAAMK,EAA8B,CAClC,QAAAb,EACA,MAAOC,EACP,QAAS,KAAK,IAAI,EAClB,cAAeG,GAAiB,OAChC,mBAAoB,CACtB,EACAU,GAAmBf,EAAYc,CAAO,EAAE,MAAM,IAAM,CAAC,CAAC,CACxD,EAAGjB,EAAW,EACP,IAAM,CACPY,EAAY,SAAS,aAAaA,EAAY,OAAO,CAC3D,CACF,EAAG,CAACV,EAASC,EAAYC,EAASC,EAAQG,CAAa,CAAC,EAExD,IAAMW,EAAiBC,GAAY,SAAY,CAC7C,GAAI,CAAClB,EAAS,OACd,IAAMc,EAAQP,EACTO,IACLV,EAAWU,EAAM,OAAO,EACxBT,EAAUS,EAAM,KAAK,EACrBN,EAAsB,IAAI,EAC5B,EAAG,CAACR,EAASO,EAAoBH,EAAYC,CAAS,CAAC,EAEjDc,EAAsBD,GAAY,SAAY,CAC7ClB,IACL,MAAMmB,GAA2BlB,CAAU,EAC3CO,EAAsB,IAAI,EAC5B,EAAG,CAACR,EAASC,CAAU,CAAC,EAExB,MAAO,CACL,sBAAuBD,GAAWO,GAAsB,KACxD,eAAAU,EACA,oBAAAE,CACF,CACF,CEjFA,OAAS,eAAAC,GAAa,aAAAC,OAAiB,QCAvC,OAAS,eAAAC,GAAa,aAAAC,GAAW,UAAAC,GAAQ,YAAAC,OAAgB,QACzD,UAAYC,MAAa,UCDlB,SAASC,IAA6B,CAC3C,OAAO,IAAI,IAAI,qBAAsB,YAAY,GAAG,EAAE,IACxD,CDWO,SAASC,IAAkB,CAChC,GAAM,CAAE,gBAAAC,EAAiB,iBAAAC,CAAiB,EAAIC,EAAmB,EAC3D,CAACC,EAAaC,CAAc,EAAIC,GAAiD,IAAI,EACrFC,EAAYC,GAAsB,IAAI,EAE5CC,GAAU,IAAM,CACd,IAAMC,EAAS,IAAI,OAAOC,GAAmB,EAAG,CAAE,KAAM,QAAS,CAAC,EAClEJ,EAAU,QAAUG,EACpBT,EAAgBS,CAAM,EACtB,IAAME,EAAgB,OAAsBF,CAAM,EAClD,sBAAe,IAAML,EAAeO,CAAK,CAAC,EACnC,IAAM,CACXF,EAAO,UAAU,EACjBH,EAAU,QAAU,KACpBN,EAAgB,IAAI,CACtB,CACF,EAAG,CAACA,CAAe,CAAC,EAEpB,IAAMY,EAAOC,GACX,MAAOC,EAAYC,EAAwB,CAAC,IAA+B,CACzE,GAAI,CAACZ,EAAa,MAAM,IAAI,MAAM,yBAAyB,EAC3D,OAAOA,EAAY,KAAKW,EAAMC,CAAO,CACvC,EACA,CAACZ,CAAW,CACd,EAEMa,EAAWH,GACf,MAAOI,GAA8E,CACnF,GAAI,CAACd,EAAa,MAAM,IAAI,MAAM,yBAAyB,EAC3D,IAAMe,EAAgBD,EAAqB,QAAMA,CAAU,EAAI,OAC/D,OAAOd,EAAY,SAASe,CAAa,CAC3C,EACA,CAACf,CAAW,CACd,EAEA,MAAO,CAAE,KAAAS,EAAM,SAAAI,EAAU,iBAAAf,EAAkB,QAAS,CAAC,CAACE,CAAY,CACpE,CD7CA,SAASgB,GACPC,EACiC,CACjC,IAAMC,EAAQ,OAAO,KAAKD,EAAO,MAAM,EACvC,OAAIC,EAAM,SAAW,EAAU,KACxBD,EAAO,OAAOC,EAAM,CAAC,GAAK,EAAE,GAAK,IAC1C,CAEO,SAASC,GAAiB,CAC/B,IAAMC,EAAMC,EAAmB,EACzB,CAAE,KAAAC,EAAM,SAAAC,EAAU,QAAAC,CAAQ,EAAIC,GAAgB,EAEpD,OAAAC,GAAU,IAAM,CACd,GAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,OAAAC,CAAO,EAAIT,EAC7B,CAACI,GAAW,CAACG,GAAQC,IAAW,WACpCN,EAAKK,EAAM,CAAE,QAAS,GAAI,SAAUA,EAAK,KAAM,OAAQE,GAAU,MAAU,CAAC,EACzE,KAAMZ,GAAW,CAEhB,GAAI,CADUD,GAAqBC,CAAM,EAC7B,CACVG,EAAI,UAAU,OAAO,EACrB,MACF,CACA,IAAMU,EAAQb,EAAO,OAAO,OAAO,KAAKA,EAAO,MAAM,EAAE,CAAC,GAAK,EAAE,EAC/D,GAAI,CAACa,EAAO,CACVV,EAAI,UAAU,OAAO,EACrB,MACF,CACAA,EAAI,WAAWU,CAAK,EACpBV,EAAI,gBAAgBU,EAAM,YAAY,EACtCV,EAAI,UAAU,SAAS,CACzB,CAAC,EACA,MAAM,IAAM,CACXA,EAAI,UAAU,OAAO,CACvB,CAAC,CAEL,EAAG,CAACI,EAASJ,EAAI,KAAMA,EAAI,OAAQA,EAAI,WAAYA,EAAI,gBAAiBA,EAAI,UAAWE,CAAI,CAAC,EA2BrF,CAAE,gBAzBeS,GAAY,IAAM,CACxC,GAAM,CAAE,KAAAJ,CAAK,EAAIP,EACjB,GAAI,CAACO,EAAM,OAAO,QAAQ,OAAO,IAAI,MAAM,gBAAgB,CAAC,EAC5DP,EAAI,UAAU,SAAS,EACvB,IAAMY,EAAK,YAAY,IAAI,EAC3B,OAAOT,EAAUU,GAAWb,EAAI,iBAAiBa,CAAM,CAAC,EAAE,KAAMhB,GAAW,CACzE,IAAMiB,EAAK,YAAY,IAAI,EAG3B,GAFAd,EAAI,eAAe,QAASc,EAAKF,CAAE,EAE/B,CADUhB,GAAqBC,CAAM,EAEvC,OAAAG,EAAI,UAAU,OAAO,EACdH,EAET,IAAMa,EAAQb,EAAO,OAAO,OAAO,KAAKA,EAAO,MAAM,EAAE,CAAC,GAAK,EAAE,EAC/D,OAAKa,GAILV,EAAI,WAAWU,CAAK,EACpBV,EAAI,gBAAgBU,EAAM,YAAY,EACtCV,EAAI,UAAU,SAAS,EAChBH,IANLG,EAAI,UAAU,OAAO,EACdH,EAMX,CAAC,CACH,EAAG,CAACG,EAAKG,CAAQ,CAAC,CAEO,CAC3B,CXuCI,OACE,OAAAY,GADF,QAAAC,OAAA,oBA9FJ,SAASC,IAAuB,CAC9B,OAAAC,EAAe,EACR,IACT,CAEO,SAASC,GAAiB,CAC/B,SAAAC,EACA,OAAQC,EACR,OAAQC,EACR,QAAAC,EAAU,GACV,WAAAC,EAAaC,GACb,SAAAC,EAAW,KACX,aAAAC,EAAe,IACjB,EAA0B,CACxB,GAAM,CAACC,EAAOC,CAAQ,EAAIC,GAASC,EAAY,EACzC,CAACC,EAAQC,CAAc,EAAIH,GAA6BT,GAAc,IAAI,EAC1E,CAACa,EAAQC,CAAc,EAAIL,GAA8BR,GAAc,IAAI,EAC3Ec,EAAsBC,EAAQ,IAAM,IAAI,YAAe,CAAC,CAAC,EACzDC,EAAoBD,EAAQ,IAAM,IAAIE,EAA6C,CAAC,CAAC,EACrFC,EAAoBH,EAAQ,IAAM,IAAIE,EAA6C,CAAC,CAAC,EACrFE,EAAoBJ,EAAQ,IAAM,IAAIE,EAA6C,CAAC,CAAC,EACrFG,EAAkBC,GAAsB,IAAI,EAC5CC,EAAkBD,GAAO,CAC7B,MAAO,EACP,SAAU,EACV,SAAU,EACV,UAAW,CACb,CAAC,EAEKE,EAAeC,EAAwB,CAAE,SAAAjB,EAAU,eAAAI,EAAgB,eAAAE,CAAe,CAAC,EACnFY,EAAiBC,GACrBzB,EACAC,EACAI,EAAM,QACNA,EAAM,OACNiB,EAAa,WACbA,EAAa,UACbb,GAAQ,SAAW,IACrB,EAEMiB,EAAUC,GAAmB,CACjC,SAAArB,EACA,eAAAI,EACA,eAAAE,EACA,oBAAAC,EACA,kBAAAE,EACA,kBAAAE,EACA,kBAAAC,EACA,gBAAAC,EACA,gBAAAE,CACF,CAAC,EAEDO,GAAU,IACD,IAAM,CACX,IAAMC,EAASV,EAAgB,QAC3BU,IACFA,EAAO,UAAU,EACjBV,EAAgB,QAAU,KAE9B,EACC,CAAC,CAAC,EAEL,IAAMW,EAAQhB,EACZ,KAAO,CACL,GAAGT,EACH,OAAAI,EACA,OAAAE,EACA,oBAAAE,EACA,GAAGa,EACH,SAAUvB,GAAY,KACtB,aAAcC,GAAgB,KAC9B,QAAAJ,EACA,WAAAC,EACA,sBAAuBuB,EAAe,sBACtC,eAAgBA,EAAe,eAC/B,oBAAqBA,EAAe,mBACtC,GACA,CACEnB,EACAI,EACAE,EACAE,EACAV,EACAC,EACAsB,EACA1B,EACAC,EACAuB,EAAe,sBACfA,EAAe,eACfA,EAAe,mBACjB,CACF,EAEA,OACE/B,GAACsC,EAAgB,SAAhB,CAAyB,MAAOD,EAC/B,UAAAtC,GAACE,GAAA,EAAqB,EACrBG,GACH,CAEJ,Cc/GA,OAAS,cAAAmC,OAAkB,QAIpB,SAASC,GAA2C,CACzD,IAAMC,EAAUC,GAAWC,CAAe,EAC1C,GAAIF,IAAY,KACd,MAAM,IAAI,MAAM,qDAAqD,EAEvE,OAAOA,CACT,CCVA,OAAS,eAAAG,GAAa,aAAAC,GAAW,WAAAC,OAAe,QCEzC,SAASC,EAAkBC,EAA8B,CAC9D,OAAOA,EAAM,KAAK,OAAQC,GAAQA,EAAI,OAAO,OAAS,CAAC,CACzD,CCAO,SAASC,EAAoBC,EAA8B,CAChE,OAAKA,EACEC,EAAcD,CAAK,EAAE,YAAc,EADvB,EAErB,CAEO,SAASC,EAAcD,EAA0B,CACtD,IAAME,EAAYF,EAAM,KAAK,OACvBG,EAAiBC,EAAkBJ,CAAK,EACxCK,EACJL,EAAM,OAAO,OACbA,EAAM,KAAK,OACT,CAACM,EAAKC,IACJD,EAAMC,EAAI,OAAO,OAASA,EAAI,MAAM,OAAO,CAACC,EAAGC,IAASD,EAAIC,EAAK,OAAO,OAAQ,CAAC,EACnF,CACF,EACF,MAAO,CACL,UAAAP,EACA,eAAgBC,EAAe,OAC/B,YAAAE,CACF,CACF,CCtBO,SAASK,GAAaC,EAAmBC,EAAsB,CAEpE,OADaD,EAAI,MAAM,KAAME,GAAMA,EAAE,MAAQD,CAAG,GACnC,KACf,CAEO,SAASE,GACdC,EACAC,EACK,CACL,OAAOD,EAAK,IAAIC,CAAM,CACxB,CAEO,SAASC,EACdC,EACAC,EAC2B,CAC3B,OAAKD,EACEA,EAAM,KAAK,IAAKP,GAAQ,CAC7B,IAAMS,EAA+B,CAAC,EACtC,OAAW,CAACC,EAAUC,CAAS,IAAK,OAAO,QAAQH,CAAM,EACvDC,EAAIE,CAAS,EAAIZ,GAAaC,EAAKU,CAAQ,EAE7C,OAAOD,CACT,CAAC,EAPkB,CAAC,CAQtB,CHnBA,SAASG,GAAoBC,EAAyC,CACpE,OAAOA,EAAM,KAAK,IAAKC,GACrBA,EAAI,MAAM,OAAO,CAACC,EAAKC,KAAO,CAAE,GAAGD,EAAK,CAACC,EAAE,GAAG,EAAGA,EAAE,KAAM,GAAI,CAAC,CAA4B,CAC5F,CACF,CAEO,SAASC,GAAYC,EAA8B,CAAC,EAAG,CAC5D,IAAMC,EAAMC,EAAmB,EACzB,CAAE,OAAQC,EAAc,OAAQC,CAAa,EAAIJ,EAEvDK,GAAU,IAAM,CACVF,IAAiB,QACnBF,EAAI,UAAUE,CAAY,CAE9B,EAAG,CAACF,EAAKE,CAAY,CAAC,EAEtBE,GAAU,IAAM,CACVD,IAAiB,QACnBH,EAAI,UAAUG,CAAY,CAE9B,EAAG,CAACH,EAAKG,CAAY,CAAC,EAEtB,IAAME,EAAYC,GAChB,IACE,GACEN,EAAI,QACJA,EAAI,SAAW,WACf,CAACA,EAAI,YACL,CAACO,EAAoBP,EAAI,MAAM,GAEnC,CAACA,EAAI,OAAQA,EAAI,OAAQA,EAAI,UAAU,CACzC,EAEMQ,EAASC,GAAY,IAAM,CAC/B,GAAI,CAACT,EAAI,QAAUA,EAAI,YAAcO,EAAoBP,EAAI,MAAM,GAAK,CAACA,EAAI,SAAU,OACvF,IAAMU,EAAOV,EAAI,aACbW,EAAyBX,EAAI,OAAQA,EAAI,YAAY,EACrDP,GAAoBO,EAAI,MAAM,EAClCA,EAAI,SAASU,CAAI,EACjBV,EAAI,cAAc,EAAI,CACxB,EAAG,CAACA,CAAG,CAAC,EAER,OAAOM,GACL,KAAO,CACL,YAAaN,EAAI,YACjB,kBAAmBA,EAAI,kBACvB,kBAAmBA,EAAI,kBACvB,kBAAmBA,EAAI,kBACvB,MAAOA,EAAI,MACX,QAASA,EAAI,QACb,OAAAQ,EACA,UAAAH,EACA,WAAYL,EAAI,UAClB,GACA,CACEA,EAAI,YACJA,EAAI,kBACJA,EAAI,kBACJA,EAAI,kBACJA,EAAI,MACJA,EAAI,QACJQ,EACAH,EACAL,EAAI,UACN,CACF,CACF,CIzEA,OAAS,eAAAY,EAAa,WAAAC,OAAe,QCI9B,SAASC,GACdC,EACAC,EACAC,EACAC,EACgB,CAChB,IAAMC,EAAU,CAAC,GAAGF,CAAW,EACzBG,EAAc,IAAI,IACxBL,EAAS,QAAQ,QAAQ,CAACM,EAAGC,IAAMF,EAAY,IAAIC,EAAGC,CAAC,CAAC,EAExD,IAAMC,EAA4BR,EAAS,KAAK,IAAKS,GAAQ,CAC3D,IAAMC,EAA8BR,EAAY,IAAKS,GAAc,CACjE,IAAMC,EAAaT,EAAcQ,CAAS,EACpCE,EACJD,GAAc,MACT,IAAM,CACL,IAAME,EAAMT,EAAY,IAAIO,CAAU,EACtC,OAAIE,GAAO,KAAa,KACXL,EAAI,MAAMK,CAAG,GACb,OAAS,IACxB,GAAG,EACH,KACN,MAAO,CAAE,IAAKH,EAAW,MAAOE,GAAS,IAAK,CAChD,CAAC,EACD,MAAO,CAAE,MAAOJ,EAAI,MAAO,MAAAC,CAAM,CACnC,CAAC,EAED,MAAO,CACL,KAAMV,EAAS,KACf,SAAUA,EAAS,SACnB,aAAcA,EAAS,aACvB,UAAWA,EAAS,UACpB,aAAcA,EAAS,aACvB,QAAAI,EACA,KAAAI,CACF,CACF,CCxCO,SAASO,GAAUC,EAAmB,CAE3C,OADUA,EAAE,KAAK,EAAE,YAAY,EACtB,UAAU,KAAK,EAAE,QAAQ,kBAAmB,EAAE,CACzD,CAEA,SAASC,GAAoBC,EAAWC,EAAmB,CACzD,GAAID,EAAE,SAAW,EAAG,OAAOC,EAAE,OAC7B,GAAIA,EAAE,SAAW,EAAG,OAAOD,EAAE,OAC7B,IAAIE,EAAO,MAAM,KAAK,CAAE,OAAQD,EAAE,OAAS,CAAE,EAAG,CAACE,EAAGC,IAAMA,CAAC,EAC3D,QAASA,EAAI,EAAGA,GAAKJ,EAAE,OAAQI,IAAK,CAClC,IAAMC,EAAiB,CAACD,CAAC,EACzB,QAASE,EAAI,EAAGA,GAAKL,EAAE,OAAQK,IAAK,CAClC,IAAMC,EAAOP,EAAEI,EAAI,CAAC,IAAMH,EAAEK,EAAI,CAAC,EAAI,EAAI,EACzCD,EAAKC,CAAC,EAAI,KAAK,IACbD,EAAKC,EAAI,CAAC,EAAK,EACfJ,EAAKI,CAAC,EAAK,EACXJ,EAAKI,EAAI,CAAC,EAAKC,CACjB,CACF,CACAL,EAAOG,CACT,CACA,OAAOH,EAAKD,EAAE,MAAM,CACtB,CAEO,SAASO,GAAcC,EAAYC,EAAoB,CAC5D,IAAMV,EAAIH,GAAUY,CAAE,EAChBR,EAAIJ,GAAUa,CAAE,EAChBC,EAASX,EAAE,QAAUC,EAAE,OAASD,EAAIC,EACpCW,EAAUZ,EAAE,OAASC,EAAE,OAASD,EAAIC,EAC1C,GAAIU,EAAO,SAAW,EAAG,MAAO,GAChC,IAAME,EAAWd,GAAoBY,EAAQC,CAAO,EACpD,OAAQD,EAAO,OAASE,GAAYF,EAAO,MAC7C,CAEA,IAAMG,GAA0B,GAWzB,SAASC,GACdC,EACAC,EACAC,EAA6B,CAAC,EACZ,CAClB,IAAMC,EAAYD,EAAQ,WAAaJ,GACjCM,EAA8D,CAAC,EACrE,QAAWC,KAAOJ,EAChB,QAAWK,KAAUN,EAAY,CAC/B,IAAMO,EAAQf,GAAca,EAAKC,CAAM,EACnCC,GAASJ,GACXC,EAAU,KAAK,CAAE,IAAAC,EAAK,OAAAC,EAAQ,MAAAC,CAAM,CAAC,CAEzC,CAEFH,EAAU,KAAK,CAACI,EAAGC,IAAMA,EAAE,MAAQD,EAAE,KAAK,EAE1C,IAAME,EAAe,IAAI,IACnBC,EAAkB,IAAI,IACtBC,EAA6C,CAAC,EACpD,QAAWC,KAAKZ,EACdW,EAAYC,CAAC,EAAI,KAEnB,OAAW,CAAE,IAAAR,EAAK,OAAAC,EAAQ,MAAOnB,CAAE,IAAKiB,EAClCM,EAAa,IAAIL,CAAG,GAAKM,EAAgB,IAAIL,CAAM,IACvDM,EAAYP,CAAG,EAAIC,EACnBI,EAAa,IAAIL,CAAG,EACpBM,EAAgB,IAAIL,CAAM,GAG5B,OAAOL,EAAa,IAAKI,IAAS,CAChC,IAAAA,EACA,cAAeO,EAAYP,CAAG,GAAK,IACrC,EAAE,CACJ,CCpEA,SAASS,GAAiBC,EAAgBC,EAAgC,CACxE,IAAMC,EAAUF,EAAO,KAAK,EAC5B,OAAOC,EAAgBC,EAAUA,EAAQ,YAAY,CACvD,CAEO,SAASC,GACdC,EACAC,EACAC,EAAqD,CAAC,EACtDC,EAA0B,CAAC,EACP,CACpB,IAAMN,EAAgBM,EAAQ,eAAiB,GACzCC,EAAaD,EAAQ,aAAgBE,GAAcV,GAAiBU,EAAGR,CAAa,GACpFS,EAAmB,OAAO,KAAKL,EAAY,MAAM,EACjDM,EAAcP,EAAS,QACvBQ,EAAyB,IAAI,IACnC,QAAWH,KAAKE,EACdC,EAAuB,IAAIJ,EAAWC,CAAC,EAAGA,CAAC,EAG7C,IAAMI,EAA+C,CAAC,EAChDC,EAAkB,IAAI,IAE5B,OAAW,CAACC,EAAYC,CAAS,IAAK,OAAO,QAAQV,CAAgB,EAC/DI,EAAiB,SAASM,CAAS,IACrCH,EAAcG,CAAS,EAAIL,EAAY,SAASI,CAAU,EAAIA,EAAa,KACvEF,EAAcG,CAAS,GAAGF,EAAgB,IAAIC,CAAU,GAIhE,QAAWC,KAAaN,EAAkB,CACxC,GAAIG,EAAcG,CAAS,GAAK,KAAM,SACtC,IAAMC,EAAMT,EAAWQ,CAAS,EAC1BD,EAAaH,EAAuB,IAAIK,CAAG,EAC7CF,GAAc,MAAQ,CAACD,EAAgB,IAAIC,CAAU,GACvDF,EAAcG,CAAS,EAAID,EAC3BD,EAAgB,IAAIC,CAAU,GAE9BF,EAAcG,CAAS,EAAI,IAE/B,CAEA,GAAIT,EAAQ,eAAiB,GAAM,CACjC,IAAMW,EAAkBR,EAAiB,OAAQS,GAAMN,EAAcM,CAAC,GAAK,IAAI,EACzEC,EAAmBT,EAAY,OAAQF,GAAM,CAACK,EAAgB,IAAIL,CAAC,CAAC,EACpEY,EAAYd,EAAQ,gBAAkB,GACtCe,EAAeC,GAAWH,EAAkBF,EAAiB,CAAE,UAAAG,CAAU,CAAC,EAChF,OAAW,CAAE,IAAAJ,EAAK,cAAAO,CAAc,IAAKF,EAC/BE,GAAiB,MAAQ,CAACV,EAAgB,IAAIU,CAAa,IAC7DX,EAAcI,CAAG,EAAIO,EACrBV,EAAgB,IAAIU,CAAa,EAGvC,CAEA,IAAMC,EAA+B,CAAC,EACtC,QAAWT,KAAaN,EAEtB,GADcG,EAAcG,CAAS,GACxB,KAAM,CAEjB,IAAMU,EADQrB,EAAY,OAAOW,CAAS,GAClB,WAAa,GACrCS,EAAW,KAAK,CACd,SAAUT,EACV,MAAO,KACP,QAAS,WAAWA,CAAS,sBAC7B,SAAAU,CACF,CAAC,CACH,CAGF,MAAO,CAAE,cAAAb,EAAe,WAAAY,CAAW,CACrC,CCnEO,SAASE,EACdC,EACAC,EACAC,EAA0B,CAAC,EAC3BC,EACkB,CAClB,IAAMC,EAAmB,OAAO,KAAKH,EAAY,MAAM,EACjDI,EAAcF,GAAU,aAAa,OACtCA,EAAS,YACVC,EACEE,EAAmBH,GAAU,kBAAoB,CAAC,EAElD,CAAE,cAAAI,EAAe,WAAAC,CAAW,EAAIC,GACpCT,EACAC,EACAK,EACAJ,CACF,EAKMQ,EAHqBN,EAAiB,OACzCO,GAAMV,EAAY,OAAOU,CAAC,GAAG,WAAa,EAC7C,EAC8C,MAAOA,GAAMJ,EAAcI,CAAC,GAAK,IAAI,EAGnF,GAFmBH,EAAW,SAAW,GAEvBE,EAEhB,MAAO,CAAE,KAAM,UAAW,MADZE,GAAoBZ,EAAUC,EAAaI,EAAaE,CAAa,CACnD,EAGlC,IAAMM,EAAcL,EAAW,KAAM,GAAM,EAAE,WAAa,EAAI,EAC9D,MAAO,CACL,KAAM,WACN,aAAc,CAAC,GAAGR,EAAS,OAAO,EAClC,WAAAQ,EACA,YAAa,CAAC,GAAGH,CAAW,EAC5B,iBAAkB,CAAE,GAAGC,CAAiB,EACxC,YAAAO,CACF,CACF,CJhDO,SAASC,GAAa,CAC3B,IAAMC,EAAMC,EAAmB,EACzB,CAAE,QAAAC,EAAS,OAAAC,EAAQ,eAAAC,EAAgB,kBAAAC,EAAmB,kBAAAC,EAAmB,qBAAAC,CAAqB,EAAIP,EAElGQ,EAAUC,EACbC,GAA6B,CAC5B,GAAI,CAACR,GAAW,CAACC,EAAQ,OACzB,IAAMQ,EAASC,EAAWV,EAASC,EAAQO,EAASL,GAAqB,MAAS,EAC9EM,EAAO,OAAS,UAClBL,EAAkBK,EAAO,KAAK,EAE9BJ,EAAqB,CACnB,aAAcI,EAAO,aACrB,WAAYA,EAAO,WACnB,YAAaA,EAAO,YACpB,iBAAkBA,EAAO,gBAC3B,CAAC,CAEL,EACA,CAACT,EAASC,EAAQE,EAAmBC,EAAmBC,CAAoB,CAC9E,EAEMM,EAAmBJ,EAAY,IAA4C,CAC/E,GAAI,CAACP,GAAW,CAACC,GAAU,CAACE,EAAmB,OAC/C,IAAMM,EAASC,EAAWV,EAASC,EAAQ,CAAC,EAAG,CAC7C,YAAaE,EAAkB,YAC/B,iBAAkBA,EAAkB,gBACtC,CAAC,EACD,OAAIM,EAAO,OAAS,WAClBL,EAAkBK,EAAO,KAAK,EACvB,CAAE,KAAM,UAAW,MAAOA,EAAO,KAAM,IAEhDJ,EAAqB,CACnB,aAAcI,EAAO,aACrB,WAAYA,EAAO,WACnB,YAAaA,EAAO,YACpB,iBAAkBA,EAAO,gBAC3B,CAAC,EACM,CAAE,KAAM,WAAY,OAAAA,CAAO,EACpC,EAAG,CAACT,EAASC,EAAQE,EAAmBC,EAAmBC,CAAoB,CAAC,EAE1EO,EAAiBL,EACpBM,GAAyB,CACxBR,EAAsBS,GACpBA,GAAO,CAAE,GAAGA,EAAM,YAAaD,CAAW,CAC5C,CACF,EACA,CAACR,CAAoB,CACvB,EAEMU,EAAeR,EACnB,CAACS,EAAoBC,IAA4B,CAC/CZ,EAAsBS,GACpBA,GACI,CACE,GAAGA,EACH,iBAAkB,CAAE,GAAGA,EAAK,iBAAkB,CAACE,CAAU,EAAGC,CAAgB,CAC9E,CAEN,CACF,EACA,CAACZ,CAAoB,CACvB,EAEMa,EAAsCC,GAAQ,IAC7ChB,EACE,CACL,KAAM,WACN,aAAcA,EAAkB,aAChC,WAAYA,EAAkB,WAC9B,YAAa,CAAC,GAAGA,EAAkB,WAAW,EAC9C,iBAAkB,CAAE,GAAGA,EAAkB,gBAAiB,EAC1D,eAAAS,EACA,aAAAG,EACA,aAAc,IACZJ,EAAiB,GAAK,CACpB,KAAM,WACN,OAAQ,CAAE,GAAGR,EAAmB,KAAM,UAAoB,CAC5D,CACJ,EAd+B,KAe9B,CAACA,EAAmBS,EAAgBG,EAAcJ,CAAgB,CAAC,EAEtE,OAAOQ,GACL,KAAO,CACL,QAAAb,EACA,eAAAJ,EACA,cAAAgB,CACF,GACA,CAACZ,EAASJ,EAAgBgB,CAAa,CACzC,CACF,CKhGA,OAAS,WAAAE,OAAe,QAGjB,SAASC,IAAoB,CAClC,IAAMC,EAAMC,EAAmB,EAC/B,OAAOC,GACL,KAAO,CACL,OAAQF,EAAI,OACZ,oBAAqBA,EAAI,mBAC3B,GACA,CAACA,EAAI,OAAQA,EAAI,mBAAmB,CACtC,CACF,CCZA,OAAS,eAAAG,GAAa,WAAAC,OAAe,QAQ9B,SAASC,IAAe,CAE7B,IAAMC,EADMC,EAAmB,EACb,OACZC,EAASC,GAAQ,IAChBH,EACE,CAAC,GAAGA,EAAM,MAAM,EADJ,CAAC,EAEnB,CAACA,CAAK,CAAC,EACJI,EAAYC,GACZC,GACGN,EACEO,GAAmBP,EAAM,KAAMM,CAAM,EADzB,CAAC,EAGtB,CAACN,CAAK,CACR,EACMQ,EAAsBH,GACzBI,GACQC,EAAyBV,EAAOS,CAAM,EAE/C,CAACT,CAAK,CACR,EACA,OAAOG,GACL,KAAO,CAAE,MAAAH,EAAO,OAAAE,EAAQ,UAAAE,EAAW,oBAAAI,CAAoB,GACvD,CAACR,EAAOE,EAAQE,EAAWI,CAAmB,CAChD,CACF,CChCA,OAAS,eAAAG,GAAa,WAAAC,GAAS,UAAAC,OAAc,QCA7C,OAAS,eAAAC,GAAa,aAAAC,GAAW,UAAAC,GAAQ,YAAAC,OAAgB,QACzD,UAAYC,OAAa,UCDlB,SAASC,IAA2B,CACzC,OAAO,IAAI,IAAI,mBAAoB,YAAY,GAAG,EAAE,IACtD,CDmBO,SAASC,IAAgB,CAC9B,GAAM,CAACC,EAAaC,CAAc,EAAIC,GAA+C,IAAI,EACnFC,EAAYC,GAAsB,IAAI,EAE5C,OAAAC,GAAU,IAAM,CACd,IAAMC,EAAS,IAAI,OAAOC,GAAiB,EAAG,CAAE,KAAM,QAAS,CAAC,EAChEJ,EAAU,QAAUG,EACpB,IAAME,EAAgB,QAAoBF,CAAM,EAChD,sBAAe,IAAML,EAAeO,CAAK,CAAC,EACnC,IAAM,CACXF,EAAO,UAAU,EACjBH,EAAU,QAAU,IACtB,CACF,EAAG,CAAC,CAAC,EAwBE,CAAE,QAtBOM,GACd,MACEC,EACAC,EACAC,EACAC,EACAC,EACAC,IACmB,CACnB,GAAI,CAACf,EAAa,MAAM,IAAI,MAAM,uBAAuB,EACzD,OAAOA,EAAY,QACjBU,EACAC,EACAC,EACAC,EACAC,EACAC,GAAW,CAAC,CACd,CACF,EACA,CAACf,CAAW,CACd,EAEkB,QAAS,CAAC,CAACA,CAAY,CAC3C,CExDO,SAASgB,GACdC,EACAC,EACAC,EAC+B,CAC/B,OAAOC,GAA2BH,EAAM,KAAMC,EAAMC,CAAQ,CAC9D,CAEO,SAASC,GACdC,EACAH,EACAC,EACuB,CACvB,IAAMG,EAAaD,EAAK,OAClBE,EACJJ,GAAY,EAAI,EAAI,KAAK,IAAI,EAAG,KAAK,KAAKG,EAAaH,CAAQ,CAAC,EAC5DK,EAAW,KAAK,IAAI,EAAG,KAAK,IAAIN,EAAMK,CAAU,CAAC,EACjDE,GAASD,EAAW,GAAKL,EACzBO,EAAM,KAAK,IAAID,EAAQN,EAAUG,CAAU,EAC3CK,EAAQN,EAAK,MAAMI,EAAOC,CAAG,EACnC,MAAO,CACL,KAAMF,EACN,SAAAL,EACA,WAAAG,EACA,WAAAC,EACA,KAAMI,CACR,CACF,CHbO,SAASC,EAAeC,EAAiC,CAAC,EAAG,CAClE,GAAM,CACJ,OAAQC,EACR,UAAAC,EACA,OAAAC,EACA,UAAAC,EACA,kBAAAC,EACA,WAAAC,CACF,EAAIC,EAAmB,EACjB,CAAE,QAAAC,EAAS,QAAAC,CAAQ,EAAIC,GAAc,EACrCC,EAAU,CAACL,EACX,CAAE,KAAAM,EAAO,EAAG,SAAAC,EAAW,GAAI,WAAAC,CAAW,EAAId,EAC1Ce,EAAcC,GAA6C,IAAI,EAE/DC,EAAWC,GAAQ,IAClBjB,EAGEkB,GAAmBlB,EAAOW,EAAMC,CAAQ,EAFtC,CAAE,KAAM,EAAG,SAAAA,EAAU,WAAY,EAAG,WAAY,EAAG,KAAM,CAAC,CAAE,EAGpE,CAACZ,EAAOW,EAAMC,CAAQ,CAAC,EAEpBO,EAAaH,EAAS,WAEtBI,EAAYC,GACfC,GAA2B,CAC1B,GAAI,CAACtB,GAAS,CAACE,GAAUG,EAAY,OAAO,QAAQ,QAAQ,EAC5D,IAAMkB,EACJC,EAAcxB,EAAOsB,EAAO,QAAQ,GACpCG,GAAaD,EAAcxB,EAAOsB,EAAO,QAAQ,EAAIA,EAAO,OAAO,GAAG,MACxE,OAAOf,EAAQP,EAAOE,EAAQoB,EAAO,SAAUA,EAAO,QAASA,EAAO,KAAK,EAAE,KAC1EI,GAAa,CACZzB,EAAUyB,CAAQ,EAClB,eAAe,IAAM,CACnB,IAAMC,EAAwB,CAC5B,KAAM,YACN,SAAUL,EAAO,SACjB,QAASA,EAAO,QAChB,MAAOA,EAAO,MACd,cAAAC,EACA,UAAW,KAAK,IAAI,CACtB,EACAnB,EAAkBuB,CAAK,CACzB,CAAC,CACH,CACF,CACF,EACA,CAAC3B,EAAOE,EAAQG,EAAYE,EAASN,EAAWG,CAAiB,CACnE,EAEMwB,EAAWP,GACdC,GAAiD,CAChD,GAAIT,GAAc,MAAQA,EAAa,EAAG,CACpCC,EAAY,SAAS,aAAaA,EAAY,OAAO,EACzDA,EAAY,QAAU,WAAW,IAAM,CACrCA,EAAY,QAAU,KACtBM,EAAUE,CAAM,CAClB,EAAGT,CAAU,EACb,MACF,CACA,OAAOO,EAAUE,CAAM,CACzB,EACA,CAACT,EAAYO,CAAS,CACxB,EAEMS,EAAYR,GACfS,GAA2B,CAC1B,GAAI,CAAC9B,GAASK,EAAY,OAC1B,IAAMqB,EAAWG,GAAe7B,EAAO8B,CAAQ,EAC/C7B,EAAUyB,CAAQ,EAClB,eAAe,IAAM,CACnB,IAAMC,EAAwB,CAC5B,KAAM,aACN,SAAAG,EACA,UAAW,KAAK,IAAI,CACtB,EACA1B,EAAkBuB,CAAK,CACzB,CAAC,CACH,EACA,CAAC3B,EAAOK,EAAYJ,EAAWG,CAAiB,CAClD,EAEM2B,EAAkBd,GAAQ,IAAMe,EAAsB7B,CAAS,EAAG,CAACA,CAAS,CAAC,EAEnF,OAAOc,GACL,KAAO,CACL,MAAAjB,EACA,SAAA4B,EACA,UAAAC,EACA,SAAAb,EACA,WAAAG,EACA,QAAAX,EACA,QAAAE,EACA,UAAAP,EACA,gBAAA4B,CACF,GACA,CAAC/B,EAAO4B,EAAUC,EAAWb,EAAUG,EAAYX,EAASE,EAASP,EAAW4B,CAAe,CACjG,CACF,CIlHA,OAAS,eAAAE,EAAa,WAAAC,EAAS,YAAAC,OAAgB,QCM/C,SAASC,GAAeC,EAAeC,EAA2B,CAGhE,OADED,EAAM,SAASC,CAAS,GAAKD,EAAM,SAAS,GAAG,GAAKA,EAAM,SAAS;AAAA,CAAI,GAAKA,EAAM,SAAS,IAAI,EAE1F,IAAMA,EAAM,QAAQ,KAAM,IAAI,EAAI,IADhBA,CAE3B,CAEA,SAASE,GAAkBF,EAAgBG,EAA8B,CACvE,OAAIH,GAAU,KAAoC,GAC9CA,aAAiB,KAAaG,EAAcH,EAAM,eAAe,EAAIA,EAAM,YAAY,EACpF,OAAOA,CAAK,CACrB,CAEO,SAASI,GACdC,EACAC,EACAC,EAAyB,CAAC,EAClB,CACR,GAAM,CACJ,eAAAC,EAAiB,GACjB,aAAAC,EAAe,IACf,qBAAAC,EAAuB,EACzB,EAAIH,EACEI,EACJL,GAAe,KAAO,OAAO,KAAKA,EAAY,MAAM,EAAI,CAAC,EACrDM,EACJD,EAAW,OAAS,EAChBA,EACCN,EAAM,KAAK,CAAC,GAAG,MAAM,IAAKQ,GAAMA,EAAE,GAAG,GAAKR,EAAM,QAAQ,MAAM,EAE/DS,EAAkB,CAAC,EACrBN,GAAkBI,EAAe,OAAS,GAC5CE,EAAM,KAAKF,EAAe,IAAKG,GAAMhB,GAAegB,EAAGN,CAAY,CAAC,EAAE,KAAKA,CAAY,CAAC,EAE1F,QAAWO,KAAOX,EAAM,KAAM,CAC5B,IAAMY,EAASL,EAAe,IAAKM,GAAQ,CAEzC,IAAMC,EADOH,EAAI,MAAM,KAAMH,GAAMA,EAAE,MAAQK,CAAG,GAC9B,OAAS,GAC3B,OAAOnB,GAAeG,GAAkBiB,EAAKT,CAAoB,EAAGD,CAAY,CAClF,CAAC,EACDK,EAAM,KAAKG,EAAO,KAAKR,CAAY,CAAC,CACtC,CAEA,MAAO,SADMK,EAAM,KAAK;AAAA,CAAM,CAEhC,CC9CA,SAASM,GAAgBC,EAAgBC,EAA+B,CACtE,OAAID,GAAU,KAAoC,KAC9CA,aAAiB,KAAaC,EAAcD,EAAM,eAAe,EAAIA,EAAM,YAAY,EACpFA,CACT,CAEO,SAASE,GACdC,EACAC,EACAC,EAAyB,CAAC,EAClB,CACR,GAAM,CAAE,qBAAAC,EAAuB,EAAM,EAAID,EACnCE,EAAOJ,EAAM,KAAK,IAAKK,GAAQ,CACnC,IAAMC,EAA+B,CAAC,EACtC,QAAWC,KAAQF,EAAI,MACrBC,EAAIC,EAAK,GAAG,EAAIX,GAAgBW,EAAK,MAAOJ,CAAoB,EAElE,OAAOG,CACT,CAAC,EACD,OAAO,KAAK,UAAUF,EAAM,KAAM,CAAC,CACrC,CFbO,SAASI,GAAaC,EAA+B,CAAC,EAAqC,CAChG,GAAM,CAAE,KAAMC,EAAc,EAAG,gBAAAC,EAAkB,GAAI,WAAAC,EAAa,KAAM,EAAIH,EACtE,CAACI,EAAMC,CAAO,EAAIC,GAASL,CAAW,EACtCM,EAAWL,EACX,CAAE,MAAAM,EAAO,SAAAC,EAAU,UAAAC,EAAW,UAAAC,EAAW,gBAAAC,CAAgB,EAAIC,EAAe,CAAC,CAAC,EAC9EC,EAAMC,EAAmB,EAEzBC,EAAiBC,EAAQ,IAAOT,EAAQU,EAAkBV,CAAK,EAAI,CAAC,EAAI,CAACA,CAAK,CAAC,EAC/EW,EAAaF,EACjB,IAAOd,IAAe,cAAgBa,EAAkBR,GAAO,MAAQ,CAAC,EACxE,CAACL,EAAYa,EAAgBR,CAAK,CACpC,EACMY,EAAYD,EAAW,OAEvBE,EAAqBC,EACzB,CAACC,EAAYC,IAGJC,GAA2BN,EAFvBI,GAAKnB,EACJoB,GAAMjB,CACmC,EAEvD,CAACH,EAAMG,EAAUY,CAAU,CAC7B,EACMO,EAAgBT,EACpB,IAAMI,EAAmBjB,EAAMG,CAAQ,EAAE,KACzC,CAACc,EAAoBjB,EAAMG,CAAQ,CACrC,EACMoB,EAAUL,EACd,CAAClB,EAAcwB,IAAkB,CAE/B,IAAMC,GAASzB,EAAO,GAAKwB,EAC3B,OAAOT,EAAW,MAAMU,EAAOA,EAAQD,CAAK,CAC9C,EACA,CAACT,CAAU,CACb,EACMW,EAASb,EACb,IAAOT,EAAQuB,EAAcvB,CAAK,EAAI,CAAE,UAAW,EAAG,eAAgB,EAAG,YAAa,CAAE,EACxF,CAACA,CAAK,CACR,EAEMwB,EAAcV,EACjBW,GACK,CAACzB,GAAS,CAACM,EAAI,OAAe,GAC3BoB,GAAW1B,EAAOM,EAAI,OAAQmB,GAAQ,CAAC,CAAC,EAEjD,CAACzB,EAAOM,EAAI,MAAM,CACpB,EACMqB,EAAeb,EAClBW,GACMzB,EACE4B,GAAY5B,EAAOM,EAAI,QAAU,KAAMmB,GAAQ,CAAC,CAAC,EADrC,KAGrB,CAACzB,EAAOM,EAAI,MAAM,CACpB,EAEMuB,EAAcf,EAClB,MAAOW,GAA4D,CACjE,IAAMK,EAAUN,EAAYC,CAAI,EAChC,GAAI,CAACK,EAAS,OACd,IAAMC,EAAO,IAAI,KAAK,CAACD,CAAO,EAAG,CAAE,KAAM,wBAAyB,CAAC,EAC7DE,EAAM,IAAI,gBAAgBD,CAAI,EAC9BE,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,KAAOD,EACTC,EAAE,UAAYR,GAAM,UAAY,UAAY,OAC5CQ,EAAE,MAAM,EACR,IAAI,gBAAgBD,CAAG,CACzB,EACA,CAACR,CAAW,CACd,EACMU,EAAepB,EACnB,MAAOW,GAA6D,CAClE,IAAMK,EAAUH,EAAaF,CAAI,EAC3BM,EAAO,IAAI,KAAK,CAACD,CAAO,EAAG,CAAE,KAAM,kBAAmB,CAAC,EACvDE,EAAM,IAAI,gBAAgBD,CAAI,EAC9BE,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,KAAOD,EACTC,EAAE,UAAYR,GAAM,UAAY,UAAY,QAC5CQ,EAAE,MAAM,EACR,IAAI,gBAAgBD,CAAG,CACzB,EACA,CAACL,CAAY,CACf,EAEA,OAAOlB,EACL,KAAO,CACL,MAAAT,EACA,mBAAAa,EACA,cAAAK,EACA,KAAAtB,EACA,QAAAC,EACA,SAAAE,EACA,UAAAa,EACA,QAAAO,EACA,eAAAX,EACA,OAAAc,EACA,SAAArB,EACA,UAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,YAAAoB,EACA,aAAAG,EACA,YAAAE,EACA,aAAAK,EACA,sBAAuB5B,EAAI,sBAC3B,eAAgBA,EAAI,eACpB,oBAAqBA,EAAI,mBAC3B,GACA,CACEN,EACAa,EACAK,EACAtB,EACAG,EACAa,EACAO,EACAX,EACAc,EACArB,EACAC,EACAC,EACAC,EACAoB,EACAG,EACAE,EACAK,EACA5B,EAAI,sBACJA,EAAI,eACJA,EAAI,mBACN,CACF,CACF,CG5IA,OAAS,eAAA6B,GAAa,aAAAC,OAAiB,QAKhC,SAASC,IAAyB,CAEvC,IAAMC,EADMC,EAAmB,EACZ,oBAEbC,EAAsBC,GACzBC,GAAuD,CACtD,IAAMC,EAAWC,GAAa,CAC5BF,EAAUE,EAA0C,MAAM,CAC5D,EACA,OAAAN,EAAO,iBAAiBO,EAAyBF,CAAO,EACjD,IAAM,CACXL,EAAO,oBAAoBO,EAAyBF,CAAO,CAC7D,CACF,EACA,CAACL,CAAM,CACT,EAEA,MAAO,CAAE,oBAAqBA,EAAQ,oBAAAE,CAAoB,CAC5D,CAEO,SAASM,GACdJ,EACA,CACA,GAAM,CAAE,oBAAAF,CAAoB,EAAIH,GAAuB,EACvDU,GAAU,IACDP,EAAoBE,CAAQ,EAClC,CAACF,EAAqBE,CAAQ,CAAC,CACpC","names":["useEffect","useMemo","useRef","useState","PERSIST_STORE_NAME","DEFAULT_PERSIST_KEY","createContext","ImporterContext","initialState","useCallback","useMemo","formatMs","ms","buildPipelineMetrics","timings","rowCount","overheadMs","totalMs","isSlow","efficiency","percentages","overhead","totalWithOverhead","formatChangeLogAsText","entries","lines","e","prev","IMPORTER_PROGRESS_EVENT","IMPORTER_ABORTED_EVENT","useCallback","useImporterStateSetters","deps","setState","setLayoutState","setEngineState","setFile","file","prev","setRawData","rawData","setDocumentHash","documentHash","setStatus","status","setResult","result","setConvertedSheet","convertedSheet","setSanitizedSheet","sanitizedSheet","setConvertResultData","dataOrUpdater","setMetrics","metrics","setSubmitDone","submitDone","setLayout","next","setEngine","INITIAL_PHASE_TIMINGS","useImporterActions","deps","setState","setLayoutState","setEngineState","progressEventTarget","validatorRegistry","sanitizerRegistry","transformRegistry","activeWorkerRef","phaseTimingsRef","stateSetters","useImporterStateSetters","dispatchProgress","useCallback","detail","IMPORTER_PROGRESS_EVENT","setActiveWorker","worker","abort","prev","IMPORTER_ABORTED_EVENT","setPhaseTiming","phase","ms","finalizeMetrics","rowCount","timings","metrics","buildPipelineMetrics","addChangeLogEntry","entry","processFile","file","registerValidator","name","fn","options","registerSanitizer","registerTransform","useMemo","useCallback","useEffect","useRef","useState","openDb","resolve","reject","req","PERSIST_STORE_NAME","savePersistedState","key","state","db","tx","store","record","loadPersistedState","row","savedAt","_k","clearPersistedState","DEBOUNCE_MS","usePersistSession","persist","persistKey","rawData","result","setRawData","setResult","layoutVersion","recoverableSession","setRecoverableSession","useState","debounceRef","useRef","useEffect","loadPersistedState","state","payload","savePersistedState","recoverSession","useCallback","clearPersistedState","useCallback","useEffect","useCallback","useEffect","useRef","useState","Comlink","getParserWorkerUrl","useParserWorker","setActiveWorker","dispatchProgress","useImporterContext","workerProxy","setWorkerProxy","useState","workerRef","useRef","useEffect","worker","getParserWorkerUrl","proxy","load","useCallback","blob","options","parseAll","onProgress","progressProxy","firstSheetFromResult","result","names","useImportSheet","ctx","useImporterContext","load","parseAll","isReady","useParserWorker","useEffect","file","status","engine","sheet","useCallback","t0","detail","t1","jsx","jsxs","ImporterOrchestrator","useImportSheet","ImporterProvider","children","layoutProp","engineProp","persist","persistKey","DEFAULT_PERSIST_KEY","onSubmit","submitKeyMap","state","setState","useState","initialState","layout","setLayoutState","engine","setEngineState","progressEventTarget","useMemo","validatorRegistry","Registry","sanitizerRegistry","transformRegistry","activeWorkerRef","useRef","phaseTimingsRef","stateSetters","useImporterStateSetters","persistSession","usePersistSession","actions","useImporterActions","useEffect","worker","value","ImporterContext","useContext","useImporterContext","context","useContext","ImporterContext","useCallback","useEffect","useMemo","getRowsWithErrors","sheet","row","hasValidationErrors","sheet","getViewCounts","totalRows","rowsWithErrors","getRowsWithErrors","totalErrors","sum","row","c","cell","getCellValue","row","key","c","sheetRowsToObjects","rows","mapRow","sheetToObjectsWithKeyMap","sheet","keyMap","obj","sheetKey","outputKey","rowsToLayoutObjects","sheet","row","acc","c","useImporter","options","ctx","useImporterContext","layoutOption","engineOption","useEffect","canSubmit","useMemo","hasValidationErrors","submit","useCallback","data","sheetToObjectsWithKeyMap","useCallback","useMemo","buildConvertedSheet","rawSheet","_sheetLayout","columnOrder","fieldToHeader","headers","headerIndex","h","i","rows","row","cells","fieldName","fileHeader","value","idx","normalize","s","levenshteinDistance","a","b","prev","_","i","curr","j","cost","getSimilarity","s1","s2","longer","shorter","distance","DEFAULT_FUZZY_THRESHOLD","mapHeaders","rawHeaders","expectedKeys","options","threshold","keyScores","key","header","score","x","y","assignedKeys","assignedHeaders","keyToHeader","k","defaultNormalize","header","caseSensitive","trimmed","matchHeadersToLayout","rawSheet","sheetLayout","headerToFieldMap","options","normalizer","h","layoutFieldNames","fileHeaders","normalizedToFileHeader","fieldToHeader","usedFileHeaders","fileHeader","fieldName","key","unmatchedFields","f","availableHeaders","threshold","fuzzyResults","mapHeaders","matchedHeader","mismatches","required","runConvert","rawSheet","sheetLayout","options","existing","layoutFieldNames","columnOrder","headerToFieldMap","fieldToHeader","mismatches","matchHeadersToLayout","allRequiredMatched","f","buildConvertedSheet","layoutError","useConvert","ctx","useImporterContext","rawData","layout","convertedSheet","convertResultData","setConvertedSheet","setConvertResultData","convert","useCallback","options","result","runConvert","applyMappingImpl","reorderColumns","fieldNames","prev","renameColumn","fileHeader","layoutFieldName","convertResult","useMemo","useMemo","useImporterStatus","ctx","useImporterContext","useMemo","useCallback","useMemo","useSheetData","sheet","useImporterContext","errors","useMemo","toObjects","useCallback","mapRow","sheetRowsToObjects","toObjectsWithKeyMap","keyMap","sheetToObjectsWithKeyMap","useCallback","useMemo","useRef","useCallback","useEffect","useRef","useState","Comlink","getEditWorkerUrl","useEditWorker","workerProxy","setWorkerProxy","useState","workerRef","useRef","useEffect","worker","getEditWorkerUrl","proxy","useCallback","sheet","sheetLayout","rowIndex","cellKey","value","options","getPaginatedResult","sheet","page","pageSize","getPaginatedResultFromRows","rows","totalCount","totalPages","safePage","start","end","slice","useSheetEditor","options","sheet","setResult","layout","changeLog","addChangeLogEntry","submitDone","useImporterContext","runEdit","isReady","useEditWorker","canEdit","page","pageSize","debounceMs","debounceRef","useRef","pageData","useMemo","getPaginatedResult","totalPages","applyEdit","useCallback","params","previousValue","getRowByIndex","getCellByKey","newSheet","entry","editCell","removeRow","rowIndex","changeLogAsText","formatChangeLogAsText","useCallback","useMemo","useState","escapeCsvValue","value","separator","cellValueToString","formatDates","sheetToCSV","sheet","sheetLayout","options","includeHeaders","csvSeparator","formatDatesForExport","fieldOrder","effectiveOrder","c","lines","h","row","values","key","raw","cellValueToJson","value","formatDates","sheetToJSON","sheet","_sheetLayout","options","formatDatesForExport","rows","row","obj","cell","useSheetView","options","initialPage","defaultPageSize","filterMode","page","setPage","useState","pageSize","sheet","editCell","removeRow","changeLog","changeLogAsText","useSheetEditor","ctx","useImporterContext","rowsWithErrors","useMemo","getRowsWithErrors","sourceRows","totalRows","getPaginatedResult","useCallback","p","ps","getPaginatedResultFromRows","paginatedRows","getRows","limit","start","counts","getViewCounts","exportToCSV","opts","sheetToCSV","exportToJSON","sheetToJSON","downloadCSV","content","blob","url","a","downloadJSON","useCallback","useEffect","useImporterEventTarget","target","useImporterContext","subscribeToProgress","useCallback","callback","handler","e","IMPORTER_PROGRESS_EVENT","useImporterProgressSubscription","useEffect"]}
1
+ {"version":3,"sources":["../src/providers/ImporterProvider.tsx","../src/shared/registry/Registry.ts","../src/core/view/types/persisted-state.ts","../src/providers/ImporterContext.ts","../src/providers/state.ts","../src/providers/useImporterActions.ts","../src/types/metrics.ts","../src/types/change-log.ts","../src/types/importer-state.ts","../src/providers/useImporterStateSetters.ts","../src/providers/usePersistSession.ts","../src/core/view/persist/indexed-db.ts","../src/hooks/useImportSheet.ts","../src/core/parser/hooks/useParserWorker.ts","../node_modules/comlink/src/comlink.ts","../src/core/parser/worker/worker-url.ts","../src/providers/useImporterContext.ts","../src/hooks/useImporter.ts","../src/core/view/get-rows-with-errors.ts","../src/core/view/get-view-counts.ts","../src/core/view/export/sheet-to-objects.ts","../src/core/convert/hooks/useConvert.ts","../src/core/convert/build-converted-sheet.ts","../src/core/parser/utils/fuzzy-match.ts","../src/core/convert/match-headers.ts","../src/core/convert/run-convert.ts","../src/hooks/useImporterStatus.ts","../src/hooks/useSheetData.ts","../src/hooks/useSheetEditor.ts","../src/core/editor/resolve.ts","../src/core/editor/immutable-update.ts","../src/core/editor/hooks/useEditWorker.ts","../src/core/editor/worker/worker-url.ts","../src/core/editor/get-paginated-result.ts","../src/core/view/hooks/useSheetView.ts","../src/core/view/export/sheet-to-csv.ts","../src/core/view/export/sheet-to-json.ts","../src/hooks/useImporterEventTarget.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\nimport { Registry } from '../shared/registry/index.js';\nimport type { ParserEngine, SheetLayout } from '../types/index.js';\nimport { DEFAULT_PERSIST_KEY } from '../core/view/types/persisted-state.js';\nimport { ImporterContext } from './ImporterContext.js';\nimport { initialState } from './state.js';\nimport type { ImporterContextValue, ImporterProviderProps } from './types.js';\nimport { useImporterActions } from './useImporterActions.js';\nimport { useImporterStateSetters } from './useImporterStateSetters.js';\nimport { usePersistSession } from './usePersistSession.js';\nimport { useImportSheet } from '../hooks/useImportSheet.js';\n\nfunction ImporterOrchestrator() {\n useImportSheet();\n return null;\n}\n\nexport function ImporterProvider({\n children,\n layout: layoutProp,\n engine: engineProp,\n persist = false,\n persistKey = DEFAULT_PERSIST_KEY,\n onSubmit = null,\n submitKeyMap = null,\n}: ImporterProviderProps) {\n const [state, setState] = useState(initialState);\n const [layout, setLayoutState] = useState<SheetLayout | null>(layoutProp ?? null);\n const [engine, setEngineState] = useState<ParserEngine | null>(engineProp ?? null);\n const progressEventTarget = useMemo(() => new EventTarget(), []);\n const validatorRegistry = useMemo(() => new Registry<(...args: unknown[]) => unknown>(), []);\n const sanitizerRegistry = useMemo(() => new Registry<(...args: unknown[]) => unknown>(), []);\n const transformRegistry = useMemo(() => new Registry<(...args: unknown[]) => unknown>(), []);\n const activeWorkerRef = useRef<Worker | null>(null);\n const phaseTimingsRef = useRef({\n parse: 0,\n sanitize: 0,\n validate: 0,\n transform: 0,\n });\n\n const stateSetters = useImporterStateSetters({ setState, setLayoutState, setEngineState });\n const persistSession = usePersistSession(\n persist,\n persistKey,\n state.rawData,\n state.result,\n stateSetters.setRawData,\n stateSetters.setResult,\n layout?.version ?? null\n );\n\n const actions = useImporterActions({\n setState,\n setLayoutState,\n setEngineState,\n progressEventTarget,\n validatorRegistry,\n sanitizerRegistry,\n transformRegistry,\n activeWorkerRef,\n phaseTimingsRef,\n });\n\n useEffect(() => {\n return () => {\n const worker = activeWorkerRef.current;\n if (worker) {\n worker.terminate();\n activeWorkerRef.current = null;\n }\n };\n }, []);\n\n const value = useMemo<ImporterContextValue>(\n () => ({\n ...state,\n layout,\n engine,\n progressEventTarget,\n ...actions,\n onSubmit: onSubmit ?? null,\n submitKeyMap: submitKeyMap ?? null,\n persist,\n persistKey,\n hasRecoverableSession: persistSession.hasRecoverableSession,\n recoverSession: persistSession.recoverSession,\n clearPersistedState: persistSession.clearPersistedState,\n }),\n [\n state,\n layout,\n engine,\n progressEventTarget,\n onSubmit,\n submitKeyMap,\n actions,\n persist,\n persistKey,\n persistSession.hasRecoverableSession,\n persistSession.recoverSession,\n persistSession.clearPersistedState,\n ]\n );\n\n return (\n <ImporterContext.Provider value={value}>\n <ImporterOrchestrator />\n {children}\n </ImporterContext.Provider>\n );\n}\n","import type { RegistryEntry, RegistryLevel } from './types.js';\n\nexport class Registry<T extends (...args: unknown[]) => unknown> {\n private entries = new Map<string, RegistryEntry<T>>();\n\n register(name: string, fn: T, options: { type: RegistryLevel }): void {\n this.entries.set(name, { fn, type: options.type });\n }\n\n get(name: string): RegistryEntry<T> | undefined {\n return this.entries.get(name);\n }\n\n getByType(type: RegistryLevel): Array<{ name: string; entry: RegistryEntry<T> }> {\n return [...this.entries.entries()]\n .filter(([, e]) => e.type === type)\n .map(([name, entry]) => ({ name, entry }));\n }\n\n has(name: string): boolean {\n return this.entries.has(name);\n }\n\n clear(): void {\n this.entries.clear();\n }\n}\n","import type { RawSheet } from '../../../types/raw-sheet.js';\nimport type { Sheet } from '../../../types/sheet.js';\n\nexport const PERSIST_SESSION_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1000;\n\nexport const PERSIST_STORE_NAME = 'react-import-sheet-persist';\n\nexport const DEFAULT_PERSIST_KEY = 'react-import-sheet-session';\n\nexport const STATE_SCHEMA_VERSION = 1;\n\nexport interface PersistedState {\n readonly rawData: RawSheet;\n readonly sheet: Sheet;\n readonly savedAt: number;\n readonly fileName?: string;\n readonly persistKey?: string;\n readonly layoutVersion?: string | number;\n readonly stateSchemaVersion?: number;\n}\n","import { createContext } from 'react';\r\nimport type { ImporterContextValue } from './types.js';\r\n\r\nexport const ImporterContext = createContext<ImporterContextValue | null>(null);\r\n","import type { ImporterState } from '../types/index.js';\n\nexport const initialState: ImporterState = {\n file: null,\n rawData: null,\n documentHash: null,\n status: 'idle',\n result: null,\n convertedSheet: null,\n sanitizedSheet: null,\n convertResultData: null,\n metrics: null,\n changeLog: [],\n submitDone: false,\n globalErrors: [],\n};\n","import { useCallback, useMemo } from 'react';\nimport type { RegistryLevel } from '../shared/registry/index.js';\nimport type { ChangeLogEntry } from '../types/change-log.js';\nimport {\n buildPipelineMetrics,\n IMPORTER_ABORTED_EVENT,\n IMPORTER_PROGRESS_EVENT,\n type ImporterProgressDetail,\n type PipelinePhase,\n} from '../types/index.js';\nimport type { ImporterContextValue, UseImporterActionsDeps } from './types.js';\nimport { useImporterStateSetters } from './useImporterStateSetters.js';\n\nconst INITIAL_PHASE_TIMINGS = {\n parse: 0,\n sanitize: 0,\n validate: 0,\n transform: 0,\n};\n\nexport function useImporterActions(\n deps: UseImporterActionsDeps\n): Omit<\n ImporterContextValue,\n | 'file'\n | 'rawData'\n | 'documentHash'\n | 'status'\n | 'result'\n | 'layout'\n | 'engine'\n | 'progressEventTarget'\n | 'onSubmit'\n | 'submitKeyMap'\n | 'persist'\n | 'persistKey'\n | 'hasRecoverableSession'\n | 'recoverSession'\n | 'clearPersistedState'\n> {\n const {\n setState,\n setLayoutState,\n setEngineState,\n progressEventTarget,\n validatorRegistry,\n sanitizerRegistry,\n transformRegistry,\n activeWorkerRef,\n phaseTimingsRef,\n } = deps;\n\n const stateSetters = useImporterStateSetters({ setState, setLayoutState, setEngineState });\n\n const dispatchProgress = useCallback(\n (detail: ImporterProgressDetail) => {\n progressEventTarget.dispatchEvent(new CustomEvent(IMPORTER_PROGRESS_EVENT, { detail }));\n },\n [progressEventTarget]\n );\n\n const setActiveWorker = useCallback(\n (worker: Worker | null) => {\n activeWorkerRef.current = worker;\n },\n [activeWorkerRef]\n );\n\n const abort = useCallback(() => {\n const worker = activeWorkerRef.current;\n if (worker) {\n worker.terminate();\n activeWorkerRef.current = null;\n }\n setState((prev) => ({ ...prev, status: 'cancelled' }));\n progressEventTarget.dispatchEvent(new CustomEvent(IMPORTER_ABORTED_EVENT));\n }, [activeWorkerRef, progressEventTarget, setState]);\n\n const setPhaseTiming = useCallback(\n (phase: PipelinePhase, ms: number) => {\n phaseTimingsRef.current = { ...phaseTimingsRef.current, [phase]: ms };\n },\n [phaseTimingsRef]\n );\n\n const finalizeMetrics = useCallback(\n (rowCount: number) => {\n const timings = { ...phaseTimingsRef.current };\n const metrics = buildPipelineMetrics(timings, rowCount);\n stateSetters.setMetrics(metrics);\n },\n [phaseTimingsRef, stateSetters]\n );\n\n const addChangeLogEntry = useCallback(\n (entry: ChangeLogEntry) => {\n setState((prev) => ({\n ...prev,\n changeLog: [...prev.changeLog, entry],\n }));\n },\n [setState]\n );\n\n const processFile = useCallback(\n (file: File) => {\n phaseTimingsRef.current = { ...INITIAL_PHASE_TIMINGS };\n setState((prev) => ({\n ...prev,\n file,\n status: 'loading',\n rawData: null,\n documentHash: null,\n result: null,\n convertedSheet: null,\n sanitizedSheet: null,\n convertResultData: null,\n metrics: null,\n changeLog: [],\n submitDone: false,\n globalErrors: [],\n }));\n },\n [phaseTimingsRef, setState]\n );\n\n const registerValidator = useCallback(\n (name: string, fn: (...args: unknown[]) => unknown, options: { type: RegistryLevel }) => {\n validatorRegistry.register(name, fn, options);\n },\n [validatorRegistry]\n );\n\n const registerSanitizer = useCallback(\n (name: string, fn: (...args: unknown[]) => unknown, options: { type: RegistryLevel }) => {\n sanitizerRegistry.register(name, fn, options);\n },\n [sanitizerRegistry]\n );\n\n const registerTransform = useCallback(\n (name: string, fn: (...args: unknown[]) => unknown, options: { type: RegistryLevel }) => {\n transformRegistry.register(name, fn, options);\n },\n [transformRegistry]\n );\n\n return useMemo(\n () => ({\n ...stateSetters,\n addChangeLogEntry,\n setPhaseTiming,\n finalizeMetrics,\n processFile,\n registerValidator,\n registerSanitizer,\n registerTransform,\n abort,\n dispatchProgress,\n setActiveWorker,\n }),\n [\n stateSetters,\n addChangeLogEntry,\n setPhaseTiming,\n finalizeMetrics,\n processFile,\n registerValidator,\n registerSanitizer,\n registerTransform,\n abort,\n dispatchProgress,\n setActiveWorker,\n ]\n );\n}\n","export interface PipelineMetricsTimings {\n readonly parse: number;\n readonly sanitize: number;\n readonly validate: number;\n readonly transform: number;\n}\n\nexport interface PipelineMetricsPercentages {\n readonly parse: number;\n readonly sanitize: number;\n readonly validate: number;\n readonly transform: number;\n readonly overhead?: number;\n}\n\nexport interface PipelineMetrics {\n readonly timings: PipelineMetricsTimings;\n readonly percentages?: PipelineMetricsPercentages;\n readonly totalMs: number;\n readonly isSlow: boolean;\n readonly parseTime: string;\n readonly sanitizeTime: string;\n readonly validateTime: string;\n readonly transformTime: string;\n readonly totalTime: string;\n readonly efficiency: string;\n readonly rowCount: number;\n readonly overheadMs?: number;\n}\n\nexport const SLOW_THRESHOLD_MS = 2000;\n\nfunction formatMs(ms: number): string {\n if (ms < 0.01 && ms >= 0) return '0.00ms';\n if (ms < 1) return `${(ms * 1000).toFixed(2)}μs`;\n return `${ms.toFixed(2)}ms`;\n}\n\nexport function buildPipelineMetrics(\n timings: PipelineMetricsTimings,\n rowCount: number,\n overheadMs?: number,\n): PipelineMetrics {\n const totalMs =\n timings.parse + timings.sanitize + timings.validate + timings.transform;\n const isSlow = totalMs > SLOW_THRESHOLD_MS;\n const efficiencyMsPerRow = rowCount > 0 ? totalMs / rowCount : 0;\n const efficiency = `${efficiencyMsPerRow.toFixed(4)}ms/row`;\n\n let percentages: PipelineMetricsPercentages | undefined;\n if (totalMs > 0) {\n const overhead = overheadMs ?? 0;\n const totalWithOverhead = totalMs + overhead;\n percentages = {\n parse: (timings.parse / totalWithOverhead) * 100,\n sanitize: (timings.sanitize / totalWithOverhead) * 100,\n validate: (timings.validate / totalWithOverhead) * 100,\n transform: (timings.transform / totalWithOverhead) * 100,\n overhead: totalWithOverhead > 0 ? (overhead / totalWithOverhead) * 100 : 0,\n };\n }\n\n return {\n timings: { ...timings },\n percentages,\n totalMs,\n isSlow,\n parseTime: formatMs(timings.parse),\n sanitizeTime: formatMs(timings.sanitize),\n validateTime: formatMs(timings.validate),\n transformTime: formatMs(timings.transform),\n totalTime: formatMs(totalMs),\n efficiency,\n rowCount,\n ...(overheadMs !== undefined && overheadMs >= 0 ? { overheadMs } : {}),\n };\n}\n","export interface ChangeLogEntryCellEdit {\n readonly type: 'cell_edit';\n readonly rowIndex: number;\n readonly cellKey: string;\n readonly value: unknown;\n readonly previousValue?: unknown;\n readonly timestamp: number;\n}\n\nexport interface ChangeLogEntryRowRemove {\n readonly type: 'row_remove';\n readonly rowIndex: number;\n readonly timestamp: number;\n}\n\nexport type ChangeLogEntry = ChangeLogEntryCellEdit | ChangeLogEntryRowRemove;\n\nexport function formatChangeLogAsText(entries: readonly ChangeLogEntry[]): string {\n const lines: string[] = [];\n for (const e of entries) {\n if (e.type === 'cell_edit') {\n const prev = e.previousValue !== undefined ? ` (previous: ${String(e.previousValue)})` : '';\n lines.push(\n `Row ${e.rowIndex + 1}, cell \"${e.cellKey}\": set to ${JSON.stringify(e.value)}${prev}`\n );\n } else {\n lines.push(`Row ${e.rowIndex + 1}: removed`);\n }\n }\n return lines.join('\\n');\n}\n","import type { ConvertedSheet } from '../core/convert/types/converted-sheet.js';\nimport type { SanitizedSheet } from '../core/sanitizer/types/sanitized-sheet.js';\nimport type { ChangeLogEntry } from './change-log.js';\nimport type { PipelineMetrics } from './metrics.js';\nimport type { RawSheet } from './raw-sheet.js';\nimport type { Sheet } from './sheet.js';\nimport type { SheetError } from './error.js';\n\nexport type ImporterStatus =\n | 'idle'\n | 'loading'\n | 'parsing'\n | 'validating'\n | 'transforming'\n | 'success'\n | 'error'\n | 'cancelled';\n\nexport interface ConvertResultData {\n readonly headersFound: readonly string[];\n readonly mismatches: readonly { expected: string; found: string | null; message?: string }[];\n readonly columnOrder: readonly string[];\n readonly headerToFieldMap: Readonly<Record<string, string>>;\n}\n\nexport type PipelinePhase = 'parse' | 'sanitize' | 'validate' | 'transform';\n\nexport interface ImporterState {\n readonly file: File | null;\n readonly rawData: RawSheet | null;\n readonly documentHash: string | null;\n readonly status: ImporterStatus;\n readonly result: Sheet | null;\n readonly convertedSheet: ConvertedSheet | null;\n readonly sanitizedSheet: SanitizedSheet | null;\n readonly convertResultData: ConvertResultData | null;\n readonly metrics: PipelineMetrics | null;\n readonly changeLog: readonly ChangeLogEntry[];\n readonly submitDone: boolean;\n readonly globalErrors: readonly SheetError[];\n}\n\nexport const IMPORTER_PROGRESS_EVENT = 'importer-progress';\nexport const IMPORTER_ABORTED_EVENT = 'importer-aborted';\n\nexport interface ImporterProgressDetail {\n readonly phase?: string;\n readonly globalPercent?: number;\n readonly localPercent?: number;\n readonly currentRow?: number;\n readonly totalRows?: number;\n readonly rowsProcessed?: number;\n}\n","import { useCallback } from 'react';\nimport type { ImporterState, ImporterStatus } from '../types/index.js';\nimport type { PipelineMetrics } from '../types/index.js';\nimport type { ParserEngine, SheetLayout } from '../types/index.js';\nimport type { SheetError } from '../types/error.js';\nimport type { ImporterContextValue, UseImporterStateSettersDeps } from './types.js';\n\nexport function useImporterStateSetters(\n deps: UseImporterStateSettersDeps\n): Pick<\n ImporterContextValue,\n | 'setLayout'\n | 'setEngine'\n | 'setFile'\n | 'setRawData'\n | 'setDocumentHash'\n | 'setStatus'\n | 'setResult'\n | 'setConvertedSheet'\n | 'setSanitizedSheet'\n | 'setConvertResultData'\n | 'setMetrics'\n | 'setSubmitDone'\n | 'setGlobalErrors'\n> {\n const { setState, setLayoutState, setEngineState } = deps;\n\n const setFile = useCallback(\n (file: File | null) => {\n setState((prev) => ({ ...prev, file }));\n },\n [setState]\n );\n\n const setRawData = useCallback(\n (rawData: ImporterState['rawData']) => {\n setState((prev) => ({ ...prev, rawData }));\n },\n [setState]\n );\n\n const setDocumentHash = useCallback(\n (documentHash: string | null) => {\n setState((prev) => ({ ...prev, documentHash }));\n },\n [setState]\n );\n\n const setStatus = useCallback(\n (status: ImporterStatus) => {\n setState((prev) => ({ ...prev, status }));\n },\n [setState]\n );\n\n const setResult = useCallback(\n (result: ImporterState['result']) => {\n setState((prev) => ({ ...prev, result }));\n },\n [setState]\n );\n\n const setConvertedSheet = useCallback(\n (convertedSheet: ImporterState['convertedSheet']) => {\n setState((prev) => ({ ...prev, convertedSheet, convertResultData: null }));\n },\n [setState]\n );\n\n const setSanitizedSheet = useCallback(\n (sanitizedSheet: ImporterState['sanitizedSheet']) => {\n setState((prev) => ({ ...prev, sanitizedSheet }));\n },\n [setState]\n );\n\n const setConvertResultData = useCallback(\n (\n dataOrUpdater:\n | ImporterState['convertResultData']\n | ((prev: ImporterState['convertResultData']) => ImporterState['convertResultData'])\n ) => {\n setState((prev) => ({\n ...prev,\n convertResultData:\n typeof dataOrUpdater === 'function'\n ? dataOrUpdater(prev.convertResultData)\n : dataOrUpdater,\n convertedSheet: typeof dataOrUpdater === 'function' ? prev.convertedSheet : null,\n }));\n },\n [setState]\n );\n\n const setMetrics = useCallback(\n (metrics: PipelineMetrics | null) => {\n setState((prev) => ({ ...prev, metrics }));\n },\n [setState]\n );\n\n const setSubmitDone = useCallback(\n (submitDone: boolean) => {\n setState((prev) => ({ ...prev, submitDone }));\n },\n [setState]\n );\n\n const setLayout = useCallback(\n (next: SheetLayout | null) => {\n setLayoutState(next);\n },\n [setLayoutState]\n );\n\n const setEngine = useCallback(\n (next: ParserEngine | null) => {\n setEngineState(next);\n },\n [setEngineState]\n );\n\n const setGlobalErrors = useCallback(\n (errors: readonly SheetError[]) => {\n setState((prev) => ({ ...prev, globalErrors: errors }));\n },\n [setState]\n );\n\n return {\n setLayout,\n setEngine,\n setFile,\n setRawData,\n setDocumentHash,\n setStatus,\n setResult,\n setConvertedSheet,\n setSanitizedSheet,\n setConvertResultData,\n setMetrics,\n setSubmitDone,\n setGlobalErrors,\n };\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { RawSheet } from '../types/raw-sheet.js';\nimport type { Sheet } from '../types/sheet.js';\nimport {\n savePersistedState,\n loadPersistedState,\n clearPersistedState as clearPersistedStateStorage,\n} from '../core/view/persist/indexed-db.js';\nimport {\n STATE_SCHEMA_VERSION,\n type PersistedState as PersistedStateType,\n} from '../core/view/types/persisted-state.js';\n\nconst DEBOUNCE_MS = 2500;\n\nexport function usePersistSession(\n persist: boolean,\n persistKey: string,\n rawData: RawSheet | null,\n result: Sheet | null,\n setRawData: (v: RawSheet | null) => void,\n setResult: (v: Sheet | null) => void,\n layoutVersion: string | number | null,\n) {\n const [recoverableSession, setRecoverableSession] = useState<PersistedStateType | null>(null);\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n if (!persist) return;\n loadPersistedState(persistKey).then((state) => {\n if (!state) return;\n if (\n state.layoutVersion != null &&\n layoutVersion != null &&\n String(state.layoutVersion) !== String(layoutVersion)\n ) {\n return;\n }\n setRecoverableSession(state);\n });\n }, [persist, persistKey, layoutVersion]);\n\n useEffect(() => {\n if (!persist || !rawData || !result) return;\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => {\n debounceRef.current = null;\n const payload: PersistedStateType = {\n rawData,\n sheet: result,\n savedAt: Date.now(),\n layoutVersion: layoutVersion ?? undefined,\n stateSchemaVersion: STATE_SCHEMA_VERSION,\n };\n savePersistedState(persistKey, payload).catch(() => {});\n }, DEBOUNCE_MS);\n return () => {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n };\n }, [persist, persistKey, rawData, result, layoutVersion]);\n\n const recoverSession = useCallback(async () => {\n if (!persist) return;\n const state = recoverableSession;\n if (!state) return;\n setRawData(state.rawData);\n setResult(state.sheet);\n setRecoverableSession(null);\n }, [persist, recoverableSession, setRawData, setResult]);\n\n const clearPersistedState = useCallback(async () => {\n if (!persist) return;\n await clearPersistedStateStorage(persistKey);\n setRecoverableSession(null);\n }, [persist, persistKey]);\n\n return {\n hasRecoverableSession: persist && recoverableSession != null,\n recoverSession,\n clearPersistedState,\n };\n}\n","import type { PersistedState } from '../types/persisted-state.js';\nimport {\n PERSIST_STORE_NAME,\n PERSIST_SESSION_MAX_AGE_MS,\n} from '../types/persisted-state.js';\n\nfunction openDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const req = indexedDB.open('react-import-sheet-db', 1);\n req.onerror = () => reject(req.error);\n req.onsuccess = () => resolve(req.result);\n req.onupgradeneeded = () => {\n req.result.createObjectStore(PERSIST_STORE_NAME, { keyPath: 'key' });\n };\n });\n}\n\nexport async function savePersistedState(\n key: string,\n state: PersistedState,\n): Promise<void> {\n const db = await openDb();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(PERSIST_STORE_NAME, 'readwrite');\n const store = tx.objectStore(PERSIST_STORE_NAME);\n const record = { key, ...state };\n const req = store.put(record);\n req.onsuccess = () => resolve();\n req.onerror = () => reject(req.error);\n tx.oncomplete = () => db.close();\n });\n}\n\nexport async function loadPersistedState(\n key: string,\n): Promise<PersistedState | null> {\n const db = await openDb();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(PERSIST_STORE_NAME, 'readonly');\n const store = tx.objectStore(PERSIST_STORE_NAME);\n const req = store.get(key);\n req.onsuccess = () => {\n db.close();\n const row = req.result as (PersistedState & { key: string }) | undefined;\n if (row == null) {\n resolve(null);\n return;\n }\n const savedAt = row.savedAt;\n if (Date.now() - savedAt > PERSIST_SESSION_MAX_AGE_MS) {\n resolve(null);\n return;\n }\n const { key: _k, ...state } = row;\n resolve(state as PersistedState);\n };\n req.onerror = () => reject(req.error);\n });\n}\n\nexport async function clearPersistedState(key: string): Promise<void> {\n const db = await openDb();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(PERSIST_STORE_NAME, 'readwrite');\n const store = tx.objectStore(PERSIST_STORE_NAME);\n const req = store.delete(key);\n req.onsuccess = () => resolve();\n req.onerror = () => reject(req.error);\n tx.oncomplete = () => db.close();\n });\n}\n","import { useCallback, useEffect } from 'react';\nimport { useImporterContext } from '../providers/index.js';\nimport { useParserWorker } from '../core/parser/hooks/useParserWorker.js';\nimport type { SheetError } from '../types/error.js';\n\nfunction firstSheetFromResult(result: {\n sheets: Readonly<Record<string, { documentHash: string }>>;\n}): { documentHash: string } | null {\n const names = Object.keys(result.sheets);\n if (names.length === 0) return null;\n return result.sheets[names[0] ?? ''] ?? null;\n}\n\nexport function useImportSheet() {\n const ctx = useImporterContext();\n const { load, parseAll, isReady } = useParserWorker();\n\n useEffect(() => {\n const { file, status, engine } = ctx;\n if (!isReady || !file || status !== 'loading') return;\n load(file, { maxRows: 10, fileName: file.name, engine: engine ?? undefined })\n .then((result) => {\n const first = firstSheetFromResult(result);\n if (!first) {\n const error: SheetError = {\n code: 'PARSER_NO_SHEETS',\n level: 'fatal',\n message: 'No sheets found in the file. The file may be empty or corrupted.',\n params: { fileName: file.name, fileSize: file.size, fileType: file.type },\n };\n ctx.setGlobalErrors([error]);\n ctx.setStatus('error');\n return;\n }\n const sheet = result.sheets[Object.keys(result.sheets)[0] ?? ''];\n if (!sheet) {\n const error: SheetError = {\n code: 'PARSER_SHEET_ACCESS_FAILED',\n level: 'fatal',\n message: 'Failed to access the first sheet in the file.',\n params: { fileName: file.name },\n };\n ctx.setGlobalErrors([error]);\n ctx.setStatus('error');\n return;\n }\n ctx.setRawData(sheet);\n ctx.setDocumentHash(sheet.documentHash);\n ctx.setStatus('success');\n })\n .catch((err: unknown) => {\n const error: SheetError = {\n code: 'PARSER_FAILED',\n level: 'fatal',\n message:\n err instanceof Error\n ? err.message\n : 'Failed to parse the file. The file may be corrupted or in an unsupported format.',\n params: {\n fileName: file.name,\n fileSize: file.size,\n fileType: file.type,\n originalError: err instanceof Error ? err.message : String(err),\n },\n };\n ctx.setGlobalErrors([error]);\n ctx.setStatus('error');\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps -- run only when file/status/isReady/load change; ctx setters are stable\n }, [\n isReady,\n ctx.file,\n ctx.status,\n ctx.setRawData,\n ctx.setDocumentHash,\n ctx.setStatus,\n ctx.setGlobalErrors,\n load,\n ]);\n\n const startFullImport = useCallback(() => {\n const { file } = ctx;\n if (!file) return Promise.reject(new Error('No file loaded'));\n ctx.setStatus('loading');\n const t0 = performance.now();\n return parseAll((detail) => ctx.dispatchProgress(detail))\n .then((result) => {\n const t1 = performance.now();\n ctx.setPhaseTiming('parse', t1 - t0);\n const first = firstSheetFromResult(result);\n if (!first) {\n const error: SheetError = {\n code: 'PARSER_NO_SHEETS',\n level: 'fatal',\n message: 'No sheets found in the file. The file may be empty or corrupted.',\n params: { fileName: file.name, fileSize: file.size, fileType: file.type },\n };\n ctx.setGlobalErrors([error]);\n ctx.setStatus('error');\n return result;\n }\n const sheet = result.sheets[Object.keys(result.sheets)[0] ?? ''];\n if (!sheet) {\n const error: SheetError = {\n code: 'PARSER_SHEET_ACCESS_FAILED',\n level: 'fatal',\n message: 'Failed to access the first sheet in the file.',\n params: { fileName: file.name },\n };\n ctx.setGlobalErrors([error]);\n ctx.setStatus('error');\n return result;\n }\n ctx.setRawData(sheet);\n ctx.setDocumentHash(sheet.documentHash);\n ctx.setStatus('success');\n return result;\n })\n .catch((err: unknown) => {\n const error: SheetError = {\n code: 'PARSER_FAILED',\n level: 'fatal',\n message:\n err instanceof Error\n ? err.message\n : 'Failed to parse the file. The file may be corrupted or in an unsupported format.',\n params: {\n fileName: file.name,\n fileSize: file.size,\n fileType: file.type,\n originalError: err instanceof Error ? err.message : String(err),\n },\n };\n ctx.setGlobalErrors([error]);\n ctx.setStatus('error');\n throw err;\n });\n }, [ctx, parseAll]);\n\n return { startFullImport };\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport * as Comlink from 'comlink';\nimport type { RawParseResult } from '../../../types/raw-sheet.js';\nimport type { ParseOptions } from '../types/index.js';\nimport type { ImporterProgressDetail } from '../../../types/importer-state.js';\nimport { useImporterContext } from '../../../providers/index.js';\nimport { getParserWorkerUrl } from '../worker/worker-url.js';\n\ntype ParserWorkerApi = {\n load: (blob: Blob, options?: ParseOptions) => Promise<RawParseResult>;\n parseAll: (onProgress?: (d: ImporterProgressDetail) => void) => Promise<RawParseResult>;\n};\n\nexport function useParserWorker() {\n const { setActiveWorker, dispatchProgress } = useImporterContext();\n const [workerProxy, setWorkerProxy] = useState<Comlink.Remote<ParserWorkerApi> | null>(null);\n const workerRef = useRef<Worker | null>(null);\n\n useEffect(() => {\n const worker = new Worker(getParserWorkerUrl(), { type: 'module' });\n workerRef.current = worker;\n setActiveWorker(worker);\n const proxy = Comlink.wrap<ParserWorkerApi>(worker);\n queueMicrotask(() => setWorkerProxy(proxy));\n return () => {\n worker.terminate();\n workerRef.current = null;\n setActiveWorker(null);\n };\n }, [setActiveWorker]);\n\n const load = useCallback(\n async (blob: Blob, options: ParseOptions = {}): Promise<RawParseResult> => {\n if (!workerProxy) throw new Error('Parser worker not ready');\n return workerProxy.load(blob, options);\n },\n [workerProxy],\n );\n\n const parseAll = useCallback(\n async (onProgress?: (d: ImporterProgressDetail) => void): Promise<RawParseResult> => {\n if (!workerProxy) throw new Error('Parser worker not ready');\n const progressProxy = onProgress ? Comlink.proxy(onProgress) : undefined;\n return workerProxy.parseAll(progressProxy);\n },\n [workerProxy],\n );\n\n return { load, parseAll, dispatchProgress, isReady: !!workerProxy };\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n Endpoint,\n EventSource,\n Message,\n MessageType,\n PostMessageWithOrigin,\n WireValue,\n WireValueType,\n} from \"./protocol\";\nexport type { Endpoint };\n\nexport const proxyMarker = Symbol(\"Comlink.proxy\");\nexport const createEndpoint = Symbol(\"Comlink.endpoint\");\nexport const releaseProxy = Symbol(\"Comlink.releaseProxy\");\nexport const finalizer = Symbol(\"Comlink.finalizer\");\n\nconst throwMarker = Symbol(\"Comlink.thrown\");\n\n/**\n * Interface of values that were marked to be proxied with `comlink.proxy()`.\n * Can also be implemented by classes.\n */\nexport interface ProxyMarked {\n [proxyMarker]: true;\n}\n\n/**\n * Takes a type and wraps it in a Promise, if it not already is one.\n * This is to avoid `Promise<Promise<T>>`.\n *\n * This is the inverse of `Unpromisify<T>`.\n */\ntype Promisify<T> = T extends Promise<unknown> ? T : Promise<T>;\n/**\n * Takes a type that may be Promise and unwraps the Promise type.\n * If `P` is not a Promise, it returns `P`.\n *\n * This is the inverse of `Promisify<T>`.\n */\ntype Unpromisify<P> = P extends Promise<infer T> ? T : P;\n\n/**\n * Takes the raw type of a remote property and returns the type that is visible to the local thread on the proxy.\n *\n * Note: This needs to be its own type alias, otherwise it will not distribute over unions.\n * See https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types\n */\ntype RemoteProperty<T> =\n // If the value is a method, comlink will proxy it automatically.\n // Objects are only proxied if they are marked to be proxied.\n // Otherwise, the property is converted to a Promise that resolves the cloned value.\n T extends Function | ProxyMarked ? Remote<T> : Promisify<T>;\n\n/**\n * Takes the raw type of a property as a remote thread would see it through a proxy (e.g. when passed in as a function\n * argument) and returns the type that the local thread has to supply.\n *\n * This is the inverse of `RemoteProperty<T>`.\n *\n * Note: This needs to be its own type alias, otherwise it will not distribute over unions. See\n * https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types\n */\ntype LocalProperty<T> = T extends Function | ProxyMarked\n ? Local<T>\n : Unpromisify<T>;\n\n/**\n * Proxies `T` if it is a `ProxyMarked`, clones it otherwise (as handled by structured cloning and transfer handlers).\n */\nexport type ProxyOrClone<T> = T extends ProxyMarked ? Remote<T> : T;\n/**\n * Inverse of `ProxyOrClone<T>`.\n */\nexport type UnproxyOrClone<T> = T extends RemoteObject<ProxyMarked>\n ? Local<T>\n : T;\n\n/**\n * Takes the raw type of a remote object in the other thread and returns the type as it is visible to the local thread\n * when proxied with `Comlink.proxy()`.\n *\n * This does not handle call signatures, which is handled by the more general `Remote<T>` type.\n *\n * @template T The raw type of a remote object as seen in the other thread.\n */\nexport type RemoteObject<T> = { [P in keyof T]: RemoteProperty<T[P]> };\n/**\n * Takes the type of an object as a remote thread would see it through a proxy (e.g. when passed in as a function\n * argument) and returns the type that the local thread has to supply.\n *\n * This does not handle call signatures, which is handled by the more general `Local<T>` type.\n *\n * This is the inverse of `RemoteObject<T>`.\n *\n * @template T The type of a proxied object.\n */\nexport type LocalObject<T> = { [P in keyof T]: LocalProperty<T[P]> };\n\n/**\n * Additional special comlink methods available on each proxy returned by `Comlink.wrap()`.\n */\nexport interface ProxyMethods {\n [createEndpoint]: () => Promise<MessagePort>;\n [releaseProxy]: () => void;\n}\n\n/**\n * Takes the raw type of a remote object, function or class in the other thread and returns the type as it is visible to\n * the local thread from the proxy return value of `Comlink.wrap()` or `Comlink.proxy()`.\n */\nexport type Remote<T> =\n // Handle properties\n RemoteObject<T> &\n // Handle call signature (if present)\n (T extends (...args: infer TArguments) => infer TReturn\n ? (\n ...args: { [I in keyof TArguments]: UnproxyOrClone<TArguments[I]> }\n ) => Promisify<ProxyOrClone<Unpromisify<TReturn>>>\n : unknown) &\n // Handle construct signature (if present)\n // The return of construct signatures is always proxied (whether marked or not)\n (T extends { new (...args: infer TArguments): infer TInstance }\n ? {\n new (\n ...args: {\n [I in keyof TArguments]: UnproxyOrClone<TArguments[I]>;\n }\n ): Promisify<Remote<TInstance>>;\n }\n : unknown) &\n // Include additional special comlink methods available on the proxy.\n ProxyMethods;\n\n/**\n * Expresses that a type can be either a sync or async.\n */\ntype MaybePromise<T> = Promise<T> | T;\n\n/**\n * Takes the raw type of a remote object, function or class as a remote thread would see it through a proxy (e.g. when\n * passed in as a function argument) and returns the type the local thread has to supply.\n *\n * This is the inverse of `Remote<T>`. It takes a `Remote<T>` and returns its original input `T`.\n */\nexport type Local<T> =\n // Omit the special proxy methods (they don't need to be supplied, comlink adds them)\n Omit<LocalObject<T>, keyof ProxyMethods> &\n // Handle call signatures (if present)\n (T extends (...args: infer TArguments) => infer TReturn\n ? (\n ...args: { [I in keyof TArguments]: ProxyOrClone<TArguments[I]> }\n ) => // The raw function could either be sync or async, but is always proxied automatically\n MaybePromise<UnproxyOrClone<Unpromisify<TReturn>>>\n : unknown) &\n // Handle construct signature (if present)\n // The return of construct signatures is always proxied (whether marked or not)\n (T extends { new (...args: infer TArguments): infer TInstance }\n ? {\n new (\n ...args: {\n [I in keyof TArguments]: ProxyOrClone<TArguments[I]>;\n }\n ): // The raw constructor could either be sync or async, but is always proxied automatically\n MaybePromise<Local<Unpromisify<TInstance>>>;\n }\n : unknown);\n\nconst isObject = (val: unknown): val is object =>\n (typeof val === \"object\" && val !== null) || typeof val === \"function\";\n\n/**\n * Customizes the serialization of certain values as determined by `canHandle()`.\n *\n * @template T The input type being handled by this transfer handler.\n * @template S The serialized type sent over the wire.\n */\nexport interface TransferHandler<T, S> {\n /**\n * Gets called for every value to determine whether this transfer handler\n * should serialize the value, which includes checking that it is of the right\n * type (but can perform checks beyond that as well).\n */\n canHandle(value: unknown): value is T;\n\n /**\n * Gets called with the value if `canHandle()` returned `true` to produce a\n * value that can be sent in a message, consisting of structured-cloneable\n * values and/or transferrable objects.\n */\n serialize(value: T): [S, Transferable[]];\n\n /**\n * Gets called to deserialize an incoming value that was serialized in the\n * other thread with this transfer handler (known through the name it was\n * registered under).\n */\n deserialize(value: S): T;\n}\n\n/**\n * Internal transfer handle to handle objects marked to proxy.\n */\nconst proxyTransferHandler: TransferHandler<object, MessagePort> = {\n canHandle: (val): val is ProxyMarked =>\n isObject(val) && (val as ProxyMarked)[proxyMarker],\n serialize(obj) {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port1);\n return [port2, [port2]];\n },\n deserialize(port) {\n port.start();\n return wrap(port);\n },\n};\n\ninterface ThrownValue {\n [throwMarker]: unknown; // just needs to be present\n value: unknown;\n}\ntype SerializedThrownValue =\n | { isError: true; value: Error }\n | { isError: false; value: unknown };\ntype PendingListenersMap = Map<\n string,\n (value: WireValue | PromiseLike<WireValue>) => void\n>;\n\n/**\n * Internal transfer handler to handle thrown exceptions.\n */\nconst throwTransferHandler: TransferHandler<\n ThrownValue,\n SerializedThrownValue\n> = {\n canHandle: (value): value is ThrownValue =>\n isObject(value) && throwMarker in value,\n serialize({ value }) {\n let serialized: SerializedThrownValue;\n if (value instanceof Error) {\n serialized = {\n isError: true,\n value: {\n message: value.message,\n name: value.name,\n stack: value.stack,\n },\n };\n } else {\n serialized = { isError: false, value };\n }\n return [serialized, []];\n },\n deserialize(serialized) {\n if (serialized.isError) {\n throw Object.assign(\n new Error(serialized.value.message),\n serialized.value\n );\n }\n throw serialized.value;\n },\n};\n\n/**\n * Allows customizing the serialization of certain values.\n */\nexport const transferHandlers = new Map<\n string,\n TransferHandler<unknown, unknown>\n>([\n [\"proxy\", proxyTransferHandler],\n [\"throw\", throwTransferHandler],\n]);\n\nfunction isAllowedOrigin(\n allowedOrigins: (string | RegExp)[],\n origin: string\n): boolean {\n for (const allowedOrigin of allowedOrigins) {\n if (origin === allowedOrigin || allowedOrigin === \"*\") {\n return true;\n }\n if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {\n return true;\n }\n }\n return false;\n}\n\nexport function expose(\n obj: any,\n ep: Endpoint = globalThis as any,\n allowedOrigins: (string | RegExp)[] = [\"*\"]\n) {\n ep.addEventListener(\"message\", function callback(ev: MessageEvent) {\n if (!ev || !ev.data) {\n return;\n }\n if (!isAllowedOrigin(allowedOrigins, ev.origin)) {\n console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);\n return;\n }\n const { id, type, path } = {\n path: [] as string[],\n ...(ev.data as Message),\n };\n const argumentList = (ev.data.argumentList || []).map(fromWireValue);\n let returnValue;\n try {\n const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj);\n const rawValue = path.reduce((obj, prop) => obj[prop], obj);\n switch (type) {\n case MessageType.GET:\n {\n returnValue = rawValue;\n }\n break;\n case MessageType.SET:\n {\n parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);\n returnValue = true;\n }\n break;\n case MessageType.APPLY:\n {\n returnValue = rawValue.apply(parent, argumentList);\n }\n break;\n case MessageType.CONSTRUCT:\n {\n const value = new rawValue(...argumentList);\n returnValue = proxy(value);\n }\n break;\n case MessageType.ENDPOINT:\n {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port2);\n returnValue = transfer(port1, [port1]);\n }\n break;\n case MessageType.RELEASE:\n {\n returnValue = undefined;\n }\n break;\n default:\n return;\n }\n } catch (value) {\n returnValue = { value, [throwMarker]: 0 };\n }\n Promise.resolve(returnValue)\n .catch((value) => {\n return { value, [throwMarker]: 0 };\n })\n .then((returnValue) => {\n const [wireValue, transferables] = toWireValue(returnValue);\n ep.postMessage({ ...wireValue, id }, transferables);\n if (type === MessageType.RELEASE) {\n // detach and deactive after sending release response above.\n ep.removeEventListener(\"message\", callback as any);\n closeEndPoint(ep);\n if (finalizer in obj && typeof obj[finalizer] === \"function\") {\n obj[finalizer]();\n }\n }\n })\n .catch((error) => {\n // Send Serialization Error To Caller\n const [wireValue, transferables] = toWireValue({\n value: new TypeError(\"Unserializable return value\"),\n [throwMarker]: 0,\n });\n ep.postMessage({ ...wireValue, id }, transferables);\n });\n } as any);\n if (ep.start) {\n ep.start();\n }\n}\n\nfunction isMessagePort(endpoint: Endpoint): endpoint is MessagePort {\n return endpoint.constructor.name === \"MessagePort\";\n}\n\nfunction closeEndPoint(endpoint: Endpoint) {\n if (isMessagePort(endpoint)) endpoint.close();\n}\n\nexport function wrap<T>(ep: Endpoint, target?: any): Remote<T> {\n const pendingListeners : PendingListenersMap = new Map();\n\n ep.addEventListener(\"message\", function handleMessage(ev: Event) {\n const { data } = ev as MessageEvent;\n if (!data || !data.id) {\n return;\n }\n const resolver = pendingListeners.get(data.id);\n if (!resolver) {\n return;\n }\n\n try {\n resolver(data);\n } finally {\n pendingListeners.delete(data.id);\n }\n });\n\n return createProxy<T>(ep, pendingListeners, [], target) as any;\n}\n\nfunction throwIfProxyReleased(isReleased: boolean) {\n if (isReleased) {\n throw new Error(\"Proxy has been released and is not useable\");\n }\n}\n\nfunction releaseEndpoint(ep: Endpoint) {\n return requestResponseMessage(ep, new Map(), {\n type: MessageType.RELEASE,\n }).then(() => {\n closeEndPoint(ep);\n });\n}\n\ninterface FinalizationRegistry<T> {\n new (cb: (heldValue: T) => void): FinalizationRegistry<T>;\n register(\n weakItem: object,\n heldValue: T,\n unregisterToken?: object | undefined\n ): void;\n unregister(unregisterToken: object): void;\n}\ndeclare var FinalizationRegistry: FinalizationRegistry<Endpoint>;\n\nconst proxyCounter = new WeakMap<Endpoint, number>();\nconst proxyFinalizers =\n \"FinalizationRegistry\" in globalThis &&\n new FinalizationRegistry((ep: Endpoint) => {\n const newCount = (proxyCounter.get(ep) || 0) - 1;\n proxyCounter.set(ep, newCount);\n if (newCount === 0) {\n releaseEndpoint(ep);\n }\n });\n\nfunction registerProxy(proxy: object, ep: Endpoint) {\n const newCount = (proxyCounter.get(ep) || 0) + 1;\n proxyCounter.set(ep, newCount);\n if (proxyFinalizers) {\n proxyFinalizers.register(proxy, ep, proxy);\n }\n}\n\nfunction unregisterProxy(proxy: object) {\n if (proxyFinalizers) {\n proxyFinalizers.unregister(proxy);\n }\n}\n\nfunction createProxy<T>(\n ep: Endpoint,\n pendingListeners: PendingListenersMap,\n path: (string | number | symbol)[] = [],\n target: object = function () {}\n): Remote<T> {\n let isProxyReleased = false;\n const proxy = new Proxy(target, {\n get(_target, prop) {\n throwIfProxyReleased(isProxyReleased);\n if (prop === releaseProxy) {\n return () => {\n unregisterProxy(proxy);\n releaseEndpoint(ep);\n pendingListeners.clear();\n isProxyReleased = true;\n };\n }\n if (prop === \"then\") {\n if (path.length === 0) {\n return { then: () => proxy };\n }\n const r = requestResponseMessage(ep, pendingListeners, {\n type: MessageType.GET,\n path: path.map((p) => p.toString()),\n }).then(fromWireValue);\n return r.then.bind(r);\n }\n return createProxy(ep, pendingListeners, [...path, prop]);\n },\n set(_target, prop, rawValue) {\n throwIfProxyReleased(isProxyReleased);\n // FIXME: ES6 Proxy Handler `set` methods are supposed to return a\n // boolean. To show good will, we return true asynchronously ¯\\_(ツ)_/¯\n const [value, transferables] = toWireValue(rawValue);\n return requestResponseMessage(\n ep,\n pendingListeners,\n {\n type: MessageType.SET,\n path: [...path, prop].map((p) => p.toString()),\n value,\n },\n transferables\n ).then(fromWireValue) as any;\n },\n apply(_target, _thisArg, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const last = path[path.length - 1];\n if ((last as any) === createEndpoint) {\n return requestResponseMessage(ep, pendingListeners, {\n type: MessageType.ENDPOINT,\n }).then(fromWireValue);\n }\n // We just pretend that `bind()` didn’t happen.\n if (last === \"bind\") {\n return createProxy(ep, pendingListeners, path.slice(0, -1));\n }\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(\n ep,\n pendingListeners,\n {\n type: MessageType.APPLY,\n path: path.map((p) => p.toString()),\n argumentList,\n },\n transferables\n ).then(fromWireValue);\n },\n construct(_target, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(\n ep,\n pendingListeners,\n {\n type: MessageType.CONSTRUCT,\n path: path.map((p) => p.toString()),\n argumentList,\n },\n transferables\n ).then(fromWireValue);\n },\n });\n registerProxy(proxy, ep);\n return proxy as any;\n}\n\nfunction myFlat<T>(arr: (T | T[])[]): T[] {\n return Array.prototype.concat.apply([], arr);\n}\n\nfunction processArguments(argumentList: any[]): [WireValue[], Transferable[]] {\n const processed = argumentList.map(toWireValue);\n return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))];\n}\n\nconst transferCache = new WeakMap<any, Transferable[]>();\nexport function transfer<T>(obj: T, transfers: Transferable[]): T {\n transferCache.set(obj, transfers);\n return obj;\n}\n\nexport function proxy<T extends {}>(obj: T): T & ProxyMarked {\n return Object.assign(obj, { [proxyMarker]: true }) as any;\n}\n\nexport function windowEndpoint(\n w: PostMessageWithOrigin,\n context: EventSource = globalThis,\n targetOrigin = \"*\"\n): Endpoint {\n return {\n postMessage: (msg: any, transferables: Transferable[]) =>\n w.postMessage(msg, targetOrigin, transferables),\n addEventListener: context.addEventListener.bind(context),\n removeEventListener: context.removeEventListener.bind(context),\n };\n}\n\nfunction toWireValue(value: any): [WireValue, Transferable[]] {\n for (const [name, handler] of transferHandlers) {\n if (handler.canHandle(value)) {\n const [serializedValue, transferables] = handler.serialize(value);\n return [\n {\n type: WireValueType.HANDLER,\n name,\n value: serializedValue,\n },\n transferables,\n ];\n }\n }\n return [\n {\n type: WireValueType.RAW,\n value,\n },\n transferCache.get(value) || [],\n ];\n}\n\nfunction fromWireValue(value: WireValue): any {\n switch (value.type) {\n case WireValueType.HANDLER:\n return transferHandlers.get(value.name)!.deserialize(value.value);\n case WireValueType.RAW:\n return value.value;\n }\n}\n\nfunction requestResponseMessage(\n ep: Endpoint,\n pendingListeners: PendingListenersMap,\n msg: Message,\n transfers?: Transferable[]\n): Promise<WireValue> {\n return new Promise((resolve) => {\n const id = generateUUID();\n pendingListeners.set(id, resolve);\n if (ep.start) {\n ep.start();\n }\n ep.postMessage({ id, ...msg }, transfers);\n});\n}\n\nfunction generateUUID(): string {\n return new Array(4)\n .fill(0)\n .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))\n .join(\"-\");\n}\n","export function getParserWorkerUrl(): string {\n const workerCode = \"var wf=Object.create;var qa=Object.defineProperty;var kf=Object.getOwnPropertyDescriptor;var Ef=Object.getOwnPropertyNames;var Tf=Object.getPrototypeOf,Sf=Object.prototype.hasOwnProperty;var Za=(e=>typeof require<\\\"u\\\"?require:typeof Proxy<\\\"u\\\"?new Proxy(e,{get:(t,r)=>(typeof require<\\\"u\\\"?require:t)[r]}):e)(function(e){if(typeof require<\\\"u\\\")return require.apply(this,arguments);throw Error('Dynamic require of \\\"'+e+'\\\" is not supported')});var i0=(e,t)=>()=>(e&&(t=e(e=0)),t);var s0=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ff=(e,t)=>{for(var r in t)qa(e,r,{get:t[r],enumerable:!0})},yf=(e,t,r,n)=>{if(t&&typeof t==\\\"object\\\"||typeof t==\\\"function\\\")for(let a of Ef(t))!Sf.call(e,a)&&a!==r&&qa(e,a,{get:()=>t[a],enumerable:!(n=kf(t,a))||n.enumerable});return e};var f0=(e,t,r)=>(r=e!=null?wf(Tf(e)):{},yf(t||!e||!e.__esModule?qa(r,\\\"default\\\",{value:e,enumerable:!0}):r,e));var p0=s0((Zp,ka)=>{\\\"use strict\\\";(function(){\\\"use strict\\\";var e=\\\"input is invalid type\\\",t=typeof window==\\\"object\\\",r=t?window:{};r.JS_SHA256_NO_WINDOW&&(t=!1);var n=!t&&typeof self==\\\"object\\\",a=!r.JS_SHA256_NO_NODE_JS&&typeof process==\\\"object\\\"&&process.versions&&process.versions.node&&process.type!=\\\"renderer\\\";a?r=global:n&&(r=self);var i=!r.JS_SHA256_NO_COMMON_JS&&typeof ka==\\\"object\\\"&&ka.exports,f=typeof define==\\\"function\\\"&&define.amd,s=!r.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<\\\"u\\\",c=\\\"0123456789abcdef\\\".split(\\\"\\\"),l=[-2147483648,8388608,32768,128],o=[24,16,8,0],h=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],x=[\\\"hex\\\",\\\"array\\\",\\\"digest\\\",\\\"arrayBuffer\\\"],d=[];(r.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(T){return Object.prototype.toString.call(T)===\\\"[object Array]\\\"}),s&&(r.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(T){return typeof T==\\\"object\\\"&&T.buffer&&T.buffer.constructor===ArrayBuffer});var p=function(T,w){return function(P){return new k(w,!0).update(P)[T]()}},u=function(T){var w=p(\\\"hex\\\",T);a&&(w=g(w,T)),w.create=function(){return new k(T)},w.update=function(M){return w.create().update(M)};for(var P=0;P<x.length;++P){var R=x[P];w[R]=p(R,T)}return w},g=function(T,w){var P=Za(\\\"crypto\\\"),R=Za(\\\"buffer\\\").Buffer,M=w?\\\"sha224\\\":\\\"sha256\\\",I;R.from&&!r.JS_SHA256_NO_BUFFER_FROM?I=R.from:I=function(_){return new R(_)};var v=function(_){if(typeof _==\\\"string\\\")return P.createHash(M).update(_,\\\"utf8\\\").digest(\\\"hex\\\");if(_==null)throw new Error(e);return _.constructor===ArrayBuffer&&(_=new Uint8Array(_)),Array.isArray(_)||ArrayBuffer.isView(_)||_.constructor===R?P.createHash(M).update(I(_)).digest(\\\"hex\\\"):T(_)};return v},N=function(T,w){return function(P,R){return new W(P,w,!0).update(R)[T]()}},D=function(T){var w=N(\\\"hex\\\",T);w.create=function(M){return new W(M,T)},w.update=function(M,I){return w.create(M).update(I)};for(var P=0;P<x.length;++P){var R=x[P];w[R]=N(R,T)}return w};function k(T,w){w?(d[0]=d[16]=d[1]=d[2]=d[3]=d[4]=d[5]=d[6]=d[7]=d[8]=d[9]=d[10]=d[11]=d[12]=d[13]=d[14]=d[15]=0,this.blocks=d):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],T?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=T}k.prototype.update=function(T){if(!this.finalized){var w,P=typeof T;if(P!==\\\"string\\\"){if(P===\\\"object\\\"){if(T===null)throw new Error(e);if(s&&T.constructor===ArrayBuffer)T=new Uint8Array(T);else if(!Array.isArray(T)&&(!s||!ArrayBuffer.isView(T)))throw new Error(e)}else throw new Error(e);w=!0}for(var R,M=0,I,v=T.length,_=this.blocks;M<v;){if(this.hashed&&(this.hashed=!1,_[0]=this.block,this.block=_[16]=_[1]=_[2]=_[3]=_[4]=_[5]=_[6]=_[7]=_[8]=_[9]=_[10]=_[11]=_[12]=_[13]=_[14]=_[15]=0),w)for(I=this.start;M<v&&I<64;++M)_[I>>>2]|=T[M]<<o[I++&3];else for(I=this.start;M<v&&I<64;++M)R=T.charCodeAt(M),R<128?_[I>>>2]|=R<<o[I++&3]:R<2048?(_[I>>>2]|=(192|R>>>6)<<o[I++&3],_[I>>>2]|=(128|R&63)<<o[I++&3]):R<55296||R>=57344?(_[I>>>2]|=(224|R>>>12)<<o[I++&3],_[I>>>2]|=(128|R>>>6&63)<<o[I++&3],_[I>>>2]|=(128|R&63)<<o[I++&3]):(R=65536+((R&1023)<<10|T.charCodeAt(++M)&1023),_[I>>>2]|=(240|R>>>18)<<o[I++&3],_[I>>>2]|=(128|R>>>12&63)<<o[I++&3],_[I>>>2]|=(128|R>>>6&63)<<o[I++&3],_[I>>>2]|=(128|R&63)<<o[I++&3]);this.lastByteIndex=I,this.bytes+=I-this.start,I>=64?(this.block=_[16],this.start=I-64,this.hash(),this.hashed=!0):this.start=I}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},k.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var T=this.blocks,w=this.lastByteIndex;T[16]=this.block,T[w>>>2]|=l[w&3],this.block=T[16],w>=56&&(this.hashed||this.hash(),T[0]=this.block,T[16]=T[1]=T[2]=T[3]=T[4]=T[5]=T[6]=T[7]=T[8]=T[9]=T[10]=T[11]=T[12]=T[13]=T[14]=T[15]=0),T[14]=this.hBytes<<3|this.bytes>>>29,T[15]=this.bytes<<3,this.hash()}},k.prototype.hash=function(){var T=this.h0,w=this.h1,P=this.h2,R=this.h3,M=this.h4,I=this.h5,v=this.h6,_=this.h7,U=this.blocks,V,Z,ee,ne,H,te,K,A,B,L,b;for(V=16;V<64;++V)H=U[V-15],Z=(H>>>7|H<<25)^(H>>>18|H<<14)^H>>>3,H=U[V-2],ee=(H>>>17|H<<15)^(H>>>19|H<<13)^H>>>10,U[V]=U[V-16]+Z+U[V-7]+ee<<0;for(b=w&P,V=0;V<64;V+=4)this.first?(this.is224?(A=300032,H=U[0]-1413257819,_=H-150054599<<0,R=H+24177077<<0):(A=704751109,H=U[0]-210244248,_=H-1521486534<<0,R=H+143694565<<0),this.first=!1):(Z=(T>>>2|T<<30)^(T>>>13|T<<19)^(T>>>22|T<<10),ee=(M>>>6|M<<26)^(M>>>11|M<<21)^(M>>>25|M<<7),A=T&w,ne=A^T&P^b,K=M&I^~M&v,H=_+ee+K+h[V]+U[V],te=Z+ne,_=R+H<<0,R=H+te<<0),Z=(R>>>2|R<<30)^(R>>>13|R<<19)^(R>>>22|R<<10),ee=(_>>>6|_<<26)^(_>>>11|_<<21)^(_>>>25|_<<7),B=R&T,ne=B^R&w^A,K=_&M^~_&I,H=v+ee+K+h[V+1]+U[V+1],te=Z+ne,v=P+H<<0,P=H+te<<0,Z=(P>>>2|P<<30)^(P>>>13|P<<19)^(P>>>22|P<<10),ee=(v>>>6|v<<26)^(v>>>11|v<<21)^(v>>>25|v<<7),L=P&R,ne=L^P&T^B,K=v&_^~v&M,H=I+ee+K+h[V+2]+U[V+2],te=Z+ne,I=w+H<<0,w=H+te<<0,Z=(w>>>2|w<<30)^(w>>>13|w<<19)^(w>>>22|w<<10),ee=(I>>>6|I<<26)^(I>>>11|I<<21)^(I>>>25|I<<7),b=w&P,ne=b^w&R^L,K=I&v^~I&_,H=M+ee+K+h[V+3]+U[V+3],te=Z+ne,M=T+H<<0,T=H+te<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+T<<0,this.h1=this.h1+w<<0,this.h2=this.h2+P<<0,this.h3=this.h3+R<<0,this.h4=this.h4+M<<0,this.h5=this.h5+I<<0,this.h6=this.h6+v<<0,this.h7=this.h7+_<<0},k.prototype.hex=function(){this.finalize();var T=this.h0,w=this.h1,P=this.h2,R=this.h3,M=this.h4,I=this.h5,v=this.h6,_=this.h7,U=c[T>>>28&15]+c[T>>>24&15]+c[T>>>20&15]+c[T>>>16&15]+c[T>>>12&15]+c[T>>>8&15]+c[T>>>4&15]+c[T&15]+c[w>>>28&15]+c[w>>>24&15]+c[w>>>20&15]+c[w>>>16&15]+c[w>>>12&15]+c[w>>>8&15]+c[w>>>4&15]+c[w&15]+c[P>>>28&15]+c[P>>>24&15]+c[P>>>20&15]+c[P>>>16&15]+c[P>>>12&15]+c[P>>>8&15]+c[P>>>4&15]+c[P&15]+c[R>>>28&15]+c[R>>>24&15]+c[R>>>20&15]+c[R>>>16&15]+c[R>>>12&15]+c[R>>>8&15]+c[R>>>4&15]+c[R&15]+c[M>>>28&15]+c[M>>>24&15]+c[M>>>20&15]+c[M>>>16&15]+c[M>>>12&15]+c[M>>>8&15]+c[M>>>4&15]+c[M&15]+c[I>>>28&15]+c[I>>>24&15]+c[I>>>20&15]+c[I>>>16&15]+c[I>>>12&15]+c[I>>>8&15]+c[I>>>4&15]+c[I&15]+c[v>>>28&15]+c[v>>>24&15]+c[v>>>20&15]+c[v>>>16&15]+c[v>>>12&15]+c[v>>>8&15]+c[v>>>4&15]+c[v&15];return this.is224||(U+=c[_>>>28&15]+c[_>>>24&15]+c[_>>>20&15]+c[_>>>16&15]+c[_>>>12&15]+c[_>>>8&15]+c[_>>>4&15]+c[_&15]),U},k.prototype.toString=k.prototype.hex,k.prototype.digest=function(){this.finalize();var T=this.h0,w=this.h1,P=this.h2,R=this.h3,M=this.h4,I=this.h5,v=this.h6,_=this.h7,U=[T>>>24&255,T>>>16&255,T>>>8&255,T&255,w>>>24&255,w>>>16&255,w>>>8&255,w&255,P>>>24&255,P>>>16&255,P>>>8&255,P&255,R>>>24&255,R>>>16&255,R>>>8&255,R&255,M>>>24&255,M>>>16&255,M>>>8&255,M&255,I>>>24&255,I>>>16&255,I>>>8&255,I&255,v>>>24&255,v>>>16&255,v>>>8&255,v&255];return this.is224||U.push(_>>>24&255,_>>>16&255,_>>>8&255,_&255),U},k.prototype.array=k.prototype.digest,k.prototype.arrayBuffer=function(){this.finalize();var T=new ArrayBuffer(this.is224?28:32),w=new DataView(T);return w.setUint32(0,this.h0),w.setUint32(4,this.h1),w.setUint32(8,this.h2),w.setUint32(12,this.h3),w.setUint32(16,this.h4),w.setUint32(20,this.h5),w.setUint32(24,this.h6),this.is224||w.setUint32(28,this.h7),T};function W(T,w,P){var R,M=typeof T;if(M===\\\"string\\\"){var I=[],v=T.length,_=0,U;for(R=0;R<v;++R)U=T.charCodeAt(R),U<128?I[_++]=U:U<2048?(I[_++]=192|U>>>6,I[_++]=128|U&63):U<55296||U>=57344?(I[_++]=224|U>>>12,I[_++]=128|U>>>6&63,I[_++]=128|U&63):(U=65536+((U&1023)<<10|T.charCodeAt(++R)&1023),I[_++]=240|U>>>18,I[_++]=128|U>>>12&63,I[_++]=128|U>>>6&63,I[_++]=128|U&63);T=I}else if(M===\\\"object\\\"){if(T===null)throw new Error(e);if(s&&T.constructor===ArrayBuffer)T=new Uint8Array(T);else if(!Array.isArray(T)&&(!s||!ArrayBuffer.isView(T)))throw new Error(e)}else throw new Error(e);T.length>64&&(T=new k(w,!0).update(T).array());var V=[],Z=[];for(R=0;R<64;++R){var ee=T[R]||0;V[R]=92^ee,Z[R]=54^ee}k.call(this,w,P),this.update(Z),this.oKeyPad=V,this.inner=!0,this.sharedMemory=P}W.prototype=new k,W.prototype.finalize=function(){if(k.prototype.finalize.call(this),this.inner){this.inner=!1;var T=this.array();k.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(T),k.prototype.finalize.call(this)}};var J=u();J.sha256=J,J.sha224=u(!0),J.sha256.hmac=D(),J.sha224.hmac=D(!0),i?ka.exports=J:(r.sha256=J.sha256,r.sha224=J.sha224,f&&define(function(){return J}))})()});function $a(e){if(e==null||e===\\\"\\\")return null;if(typeof e==\\\"string\\\"||typeof e==\\\"number\\\"||typeof e==\\\"boolean\\\")return e;if(e instanceof Date&&!Number.isNaN(e.getTime()))return e.toISOString();if(typeof e==\\\"object\\\"&&e!==null&&\\\"getTime\\\"in e&&typeof e.getTime==\\\"function\\\"){let t=e.getTime();return Number.isNaN(t)?String(e):new Date(t).toISOString()}return typeof e==\\\"number\\\"&&Number.isFinite(e)?e:String(e)}var e0=i0(()=>{\\\"use strict\\\"});var ef=s0((r0,t0)=>{\\\"use strict\\\";(function(e,t){typeof define==\\\"function\\\"&&define.amd?define([],t):typeof t0==\\\"object\\\"&&typeof r0<\\\"u\\\"?t0.exports=t():e.Papa=t()})(r0,function e(){\\\"use strict\\\";var t=(function(){return typeof self<\\\"u\\\"?self:typeof window<\\\"u\\\"?window:typeof t<\\\"u\\\"?t:{}})();function r(){var v=t.URL||t.webkitURL||null,_=e.toString();return s.BLOB_URL||(s.BLOB_URL=v.createObjectURL(new Blob([\\\"var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; \\\",\\\"(\\\",_,\\\")();\\\"],{type:\\\"text/javascript\\\"})))}var n=!t.document&&!!t.postMessage,a=t.IS_PAPA_WORKER||!1,i={},f=0,s={};if(s.parse=l,s.unparse=o,s.RECORD_SEP=\\\"\\u001e\\\",s.UNIT_SEP=\\\"\\u001f\\\",s.BYTE_ORDER_MARK=\\\"\\\\uFEFF\\\",s.BAD_DELIMITERS=[\\\"\\\\r\\\",`\\n`,'\\\"',s.BYTE_ORDER_MARK],s.WORKERS_SUPPORTED=!n&&!!t.Worker,s.NODE_STREAM_INPUT=1,s.LocalChunkSize=1024*1024*10,s.RemoteChunkSize=1024*1024*5,s.DefaultDelimiter=\\\",\\\",s.Parser=k,s.ParserHandle=N,s.NetworkStreamer=x,s.FileStreamer=d,s.StringStreamer=p,s.ReadableStreamStreamer=u,typeof PAPA_BROWSER_CONTEXT>\\\"u\\\"&&(s.DuplexStreamStreamer=g),t.jQuery){var c=t.jQuery;c.fn.parse=function(v){var _=v.config||{},U=[];return this.each(function(ne){var H=c(this).prop(\\\"tagName\\\").toUpperCase()===\\\"INPUT\\\"&&c(this).attr(\\\"type\\\").toLowerCase()===\\\"file\\\"&&t.FileReader;if(!H||!this.files||this.files.length===0)return!0;for(var te=0;te<this.files.length;te++)U.push({file:this.files[te],inputElem:this,instanceConfig:c.extend({},_)})}),V(),this;function V(){if(U.length===0){I(v.complete)&&v.complete();return}var ne=U[0];if(I(v.before)){var H=v.before(ne.file,ne.inputElem);if(typeof H==\\\"object\\\")if(H.action===\\\"abort\\\"){Z(\\\"AbortError\\\",ne.file,ne.inputElem,H.reason);return}else if(H.action===\\\"skip\\\"){ee();return}else typeof H.config==\\\"object\\\"&&(ne.instanceConfig=c.extend(ne.instanceConfig,H.config));else if(H===\\\"skip\\\"){ee();return}}var te=ne.instanceConfig.complete;ne.instanceConfig.complete=function(K){I(te)&&te(K,ne.file,ne.inputElem),ee()},s.parse(ne.file,ne.instanceConfig)}function Z(ne,H,te,K){I(v.error)&&v.error({name:ne},H,te,K)}function ee(){U.splice(0,1),V()}}}a&&(t.onmessage=P);function l(v,_){_=_||{};var U=_.dynamicTyping||!1;if(I(U)&&(_.dynamicTypingFunction=U,U={}),_.dynamicTyping=U,_.transform=I(_.transform)?_.transform:!1,_.worker&&s.WORKERS_SUPPORTED){var V=W();V.userStep=_.step,V.userChunk=_.chunk,V.userComplete=_.complete,V.userError=_.error,_.step=I(_.step),_.chunk=I(_.chunk),_.complete=I(_.complete),_.error=I(_.error),delete _.worker,V.postMessage({input:v,config:_,workerId:V.id});return}var Z=null;if(v===s.NODE_STREAM_INPUT&&typeof PAPA_BROWSER_CONTEXT>\\\"u\\\")return Z=new g(_),Z.getStream();return typeof v==\\\"string\\\"?(v=ee(v),_.download?Z=new x(_):Z=new p(_)):v.readable===!0&&I(v.read)&&I(v.on)?Z=new u(_):(t.File&&v instanceof File||v instanceof Object)&&(Z=new d(_)),Z.stream(v);function ee(ne){return ne.charCodeAt(0)===65279?ne.slice(1):ne}}function o(v,_){var U=!1,V=!0,Z=\\\",\\\",ee=`\\\\r\\n`,ne='\\\"',H=ne+ne,te=!1,K=null,A=!1;L();var B=new RegExp(D(ne),\\\"g\\\");if(typeof v==\\\"string\\\"&&(v=JSON.parse(v)),Array.isArray(v)){if(!v.length||Array.isArray(v[0]))return b(null,v,te);if(typeof v[0]==\\\"object\\\")return b(K||Object.keys(v[0]),v,te)}else if(typeof v==\\\"object\\\")return typeof v.data==\\\"string\\\"&&(v.data=JSON.parse(v.data)),Array.isArray(v.data)&&(v.fields||(v.fields=v.meta&&v.meta.fields||K),v.fields||(v.fields=Array.isArray(v.data[0])?v.fields:typeof v.data[0]==\\\"object\\\"?Object.keys(v.data[0]):[]),!Array.isArray(v.data[0])&&typeof v.data[0]!=\\\"object\\\"&&(v.data=[v.data])),b(v.fields||[],v.data||[],te);throw new Error(\\\"Unable to serialize unrecognized input\\\");function L(){if(typeof _==\\\"object\\\"){if(typeof _.delimiter==\\\"string\\\"&&!s.BAD_DELIMITERS.filter(function(re){return _.delimiter.indexOf(re)!==-1}).length&&(Z=_.delimiter),(typeof _.quotes==\\\"boolean\\\"||typeof _.quotes==\\\"function\\\"||Array.isArray(_.quotes))&&(U=_.quotes),(typeof _.skipEmptyLines==\\\"boolean\\\"||typeof _.skipEmptyLines==\\\"string\\\")&&(te=_.skipEmptyLines),typeof _.newline==\\\"string\\\"&&(ee=_.newline),typeof _.quoteChar==\\\"string\\\"&&(ne=_.quoteChar),typeof _.header==\\\"boolean\\\"&&(V=_.header),Array.isArray(_.columns)){if(_.columns.length===0)throw new Error(\\\"Option columns is empty\\\");K=_.columns}_.escapeChar!==void 0&&(H=_.escapeChar+ne),_.escapeFormulae instanceof RegExp?A=_.escapeFormulae:typeof _.escapeFormulae==\\\"boolean\\\"&&_.escapeFormulae&&(A=/^[=+\\\\-@\\\\t\\\\r].*$/)}}function b(re,ae,Q){var pe=\\\"\\\";typeof re==\\\"string\\\"&&(re=JSON.parse(re)),typeof ae==\\\"string\\\"&&(ae=JSON.parse(ae));var O=Array.isArray(re)&&re.length>0,Fe=!Array.isArray(ae[0]);if(O&&V){for(var we=0;we<re.length;we++)we>0&&(pe+=Z),pe+=X(re[we],we);ae.length>0&&(pe+=ee)}for(var ve=0;ve<ae.length;ve++){var ke=O?re.length:ae[ve].length,se=!1,he=O?Object.keys(ae[ve]).length===0:ae[ve].length===0;if(Q&&!O&&(se=Q===\\\"greedy\\\"?ae[ve].join(\\\"\\\").trim()===\\\"\\\":ae[ve].length===1&&ae[ve][0].length===0),Q===\\\"greedy\\\"&&O){for(var xe=[],ge=0;ge<ke;ge++){var be=Fe?re[ge]:ge;xe.push(ae[ve][be])}se=xe.join(\\\"\\\").trim()===\\\"\\\"}if(!se){for(var de=0;de<ke;de++){de>0&&!he&&(pe+=Z);var Re=O&&Fe?re[de]:de;pe+=X(ae[ve][Re],de)}ve<ae.length-1&&(!Q||ke>0&&!he)&&(pe+=ee)}}return pe}function X(re,ae){if(typeof re>\\\"u\\\"||re===null)return\\\"\\\";if(re.constructor===Date)return JSON.stringify(re).slice(1,25);var Q=!1;A&&typeof re==\\\"string\\\"&&A.test(re)&&(re=\\\"'\\\"+re,Q=!0);var pe=re.toString().replace(B,H);return Q=Q||U===!0||typeof U==\\\"function\\\"&&U(re,ae)||Array.isArray(U)&&U[ae]||le(pe,s.BAD_DELIMITERS)||pe.indexOf(Z)>-1||pe.charAt(0)===\\\" \\\"||pe.charAt(pe.length-1)===\\\" \\\",Q?ne+pe+ne:pe}function le(re,ae){for(var Q=0;Q<ae.length;Q++)if(re.indexOf(ae[Q])>-1)return!0;return!1}}function h(v){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine=\\\"\\\",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},_.call(this,v),this.parseChunk=function(U,V){let Z=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&Z>0){let A=this._config.newline;if(!A){let L=this._config.quoteChar||'\\\"';A=this._handle.guessLineEndings(U,L)}U=[...U.split(A).slice(Z)].join(A)}if(this.isFirstChunk&&I(this._config.beforeFirstChunk)){var ee=this._config.beforeFirstChunk(U);ee!==void 0&&(U=ee)}this.isFirstChunk=!1,this._halted=!1;var ne=this._partialLine+U;this._partialLine=\\\"\\\";var H=this._handle.parse(ne,this._baseIndex,!this._finished);if(this._handle.paused()||this._handle.aborted()){this._halted=!0;return}var te=H.meta.cursor;this._finished||(this._partialLine=ne.substring(te-this._baseIndex),this._baseIndex=te),H&&H.data&&(this._rowCount+=H.data.length);var K=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(a)t.postMessage({results:H,workerId:s.WORKER_ID,finished:K});else if(I(this._config.chunk)&&!V){if(this._config.chunk(H,this._handle),this._handle.paused()||this._handle.aborted()){this._halted=!0;return}H=void 0,this._completeResults=void 0}return!this._config.step&&!this._config.chunk&&(this._completeResults.data=this._completeResults.data.concat(H.data),this._completeResults.errors=this._completeResults.errors.concat(H.errors),this._completeResults.meta=H.meta),!this._completed&&K&&I(this._config.complete)&&(!H||!H.meta.aborted)&&(this._config.complete(this._completeResults,this._input),this._completed=!0),!K&&(!H||!H.meta.paused)&&this._nextChunk(),H},this._sendError=function(U){I(this._config.error)?this._config.error(U):a&&this._config.error&&t.postMessage({workerId:s.WORKER_ID,error:U,finished:!1})};function _(U){var V=R(U);V.chunkSize=parseInt(V.chunkSize),!U.step&&!U.chunk&&(V.chunkSize=null),this._handle=new N(V),this._handle.streamer=this,this._config=V}}function x(v){v=v||{},v.chunkSize||(v.chunkSize=s.RemoteChunkSize),h.call(this,v);var _;n?this._nextChunk=function(){this._readChunk(),this._chunkLoaded()}:this._nextChunk=function(){this._readChunk()},this.stream=function(V){this._input=V,this._nextChunk()},this._readChunk=function(){if(this._finished){this._chunkLoaded();return}if(_=new XMLHttpRequest,this._config.withCredentials&&(_.withCredentials=this._config.withCredentials),n||(_.onload=M(this._chunkLoaded,this),_.onerror=M(this._chunkError,this)),_.open(this._config.downloadRequestBody?\\\"POST\\\":\\\"GET\\\",this._input,!n),this._config.downloadRequestHeaders){var V=this._config.downloadRequestHeaders;for(var Z in V)_.setRequestHeader(Z,V[Z])}if(this._config.chunkSize){var ee=this._start+this._config.chunkSize-1;_.setRequestHeader(\\\"Range\\\",\\\"bytes=\\\"+this._start+\\\"-\\\"+ee)}try{_.send(this._config.downloadRequestBody)}catch(ne){this._chunkError(ne.message)}n&&_.status===0&&this._chunkError()},this._chunkLoaded=function(){if(_.readyState===4){if(_.status<200||_.status>=400){this._chunkError();return}this._start+=this._config.chunkSize?this._config.chunkSize:_.responseText.length,this._finished=!this._config.chunkSize||this._start>=U(_),this.parseChunk(_.responseText)}},this._chunkError=function(V){var Z=_.statusText||V;this._sendError(new Error(Z))};function U(V){var Z=V.getResponseHeader(\\\"Content-Range\\\");return Z===null?-1:parseInt(Z.substring(Z.lastIndexOf(\\\"/\\\")+1))}}x.prototype=Object.create(h.prototype),x.prototype.constructor=x;function d(v){v=v||{},v.chunkSize||(v.chunkSize=s.LocalChunkSize),h.call(this,v);var _,U,V=typeof FileReader<\\\"u\\\";this.stream=function(Z){this._input=Z,U=Z.slice||Z.webkitSlice||Z.mozSlice,V?(_=new FileReader,_.onload=M(this._chunkLoaded,this),_.onerror=M(this._chunkError,this)):_=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){!this._finished&&(!this._config.preview||this._rowCount<this._config.preview)&&this._readChunk()},this._readChunk=function(){var Z=this._input;if(this._config.chunkSize){var ee=Math.min(this._start+this._config.chunkSize,this._input.size);Z=U.call(Z,this._start,ee)}var ne=_.readAsText(Z,this._config.encoding);V||this._chunkLoaded({target:{result:ne}})},this._chunkLoaded=function(Z){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(Z.target.result)},this._chunkError=function(){this._sendError(_.error)}}d.prototype=Object.create(h.prototype),d.prototype.constructor=d;function p(v){v=v||{},h.call(this,v);var _;this.stream=function(U){return _=U,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var U=this._config.chunkSize,V;return U?(V=_.substring(0,U),_=_.substring(U)):(V=_,_=\\\"\\\"),this._finished=!_,this.parseChunk(V)}}}p.prototype=Object.create(p.prototype),p.prototype.constructor=p;function u(v){v=v||{},h.call(this,v);var _=[],U=!0,V=!1;this.pause=function(){h.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){h.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(Z){this._input=Z,this._input.on(\\\"data\\\",this._streamData),this._input.on(\\\"end\\\",this._streamEnd),this._input.on(\\\"error\\\",this._streamError)},this._checkIsFinished=function(){V&&_.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),_.length?this.parseChunk(_.shift()):U=!0},this._streamData=M(function(Z){try{_.push(typeof Z==\\\"string\\\"?Z:Z.toString(this._config.encoding)),U&&(U=!1,this._checkIsFinished(),this.parseChunk(_.shift()))}catch(ee){this._streamError(ee)}},this),this._streamError=M(function(Z){this._streamCleanUp(),this._sendError(Z)},this),this._streamEnd=M(function(){this._streamCleanUp(),V=!0,this._streamData(\\\"\\\")},this),this._streamCleanUp=M(function(){this._input.removeListener(\\\"data\\\",this._streamData),this._input.removeListener(\\\"end\\\",this._streamEnd),this._input.removeListener(\\\"error\\\",this._streamError)},this)}u.prototype=Object.create(h.prototype),u.prototype.constructor=u;function g(v){var _=Za(\\\"stream\\\").Duplex,U=R(v),V=!0,Z=!1,ee=[],ne=null;this._onCsvData=function(H){var te=H.data;!ne.push(te)&&!this._handle.paused()&&this._handle.pause()},this._onCsvComplete=function(){ne.push(null)},U.step=M(this._onCsvData,this),U.complete=M(this._onCsvComplete,this),h.call(this,U),this._nextChunk=function(){Z&&ee.length===1&&(this._finished=!0),ee.length?ee.shift()():V=!0},this._addToParseQueue=function(H,te){ee.push(M(function(){if(this.parseChunk(typeof H==\\\"string\\\"?H:H.toString(U.encoding)),I(te))return te()},this)),V&&(V=!1,this._nextChunk())},this._onRead=function(){this._handle.paused()&&this._handle.resume()},this._onWrite=function(H,te,K){this._addToParseQueue(H,K)},this._onWriteComplete=function(){Z=!0,this._addToParseQueue(\\\"\\\")},this.getStream=function(){return ne},ne=new _({readableObjectMode:!0,decodeStrings:!1,read:M(this._onRead,this),write:M(this._onWrite,this)}),ne.once(\\\"finish\\\",M(this._onWriteComplete,this))}typeof PAPA_BROWSER_CONTEXT>\\\"u\\\"&&(g.prototype=Object.create(h.prototype),g.prototype.constructor=g);function N(v){var _=Math.pow(2,53),U=-_,V=/^\\\\s*-?(\\\\d+\\\\.?|\\\\.\\\\d+|\\\\d+\\\\.\\\\d+)([eE][-+]?\\\\d+)?\\\\s*$/,Z=/^((\\\\d{4}-[01]\\\\d-[0-3]\\\\dT[0-2]\\\\d:[0-5]\\\\d:[0-5]\\\\d\\\\.\\\\d+([+-][0-2]\\\\d:[0-5]\\\\d|Z))|(\\\\d{4}-[01]\\\\d-[0-3]\\\\dT[0-2]\\\\d:[0-5]\\\\d:[0-5]\\\\d([+-][0-2]\\\\d:[0-5]\\\\d|Z))|(\\\\d{4}-[01]\\\\d-[0-3]\\\\dT[0-2]\\\\d:[0-5]\\\\d([+-][0-2]\\\\d:[0-5]\\\\d|Z)))$/,ee=this,ne=0,H=0,te,K,A=!1,B=!1,L,b=[],X={data:[],errors:[],meta:{}};if(I(v.step)){var le=v.step;v.step=function(he){if(X=he,pe())Q();else{if(Q(),X.data.length===0)return;ne+=he.data.length,v.preview&&ne>v.preview?K.abort():(X.data=X.data[0],le(X,ee))}}}this.parse=function(he,xe,ge){var be=v.quoteChar||'\\\"';if(v.newline||(v.newline=this.guessLineEndings(he,be)),L=!1,v.delimiter)I(v.delimiter)&&(v.delimiter=v.delimiter(he),X.meta.delimiter=v.delimiter);else{var de=ke(he,v.newline,v.skipEmptyLines,v.comments,v.delimitersToGuess);de.successful?v.delimiter=de.bestDelimiter:(L=!0,v.delimiter=s.DefaultDelimiter),X.meta.delimiter=v.delimiter}var Re=R(v);return v.preview&&v.header&&Re.preview++,te=he,K=new k(Re),X=K.parse(te,xe,ge),Q(),A?{meta:{paused:!0}}:X||{meta:{paused:!1}}},this.paused=function(){return A},this.pause=function(){A=!0,K.abort(),te=I(v.chunk)?\\\"\\\":te.substring(K.getCharIndex())},this.resume=function(){ee.streamer._halted?(A=!1,ee.streamer.parseChunk(te,!0)):setTimeout(ee.resume,3)},this.aborted=function(){return B},this.abort=function(){B=!0,K.abort(),X.meta.aborted=!0,I(v.complete)&&v.complete(X),te=\\\"\\\"},this.guessLineEndings=function(he,xe){he=he.substring(0,1024*1024);var ge=new RegExp(D(xe)+\\\"([^]*?)\\\"+D(xe),\\\"gm\\\");he=he.replace(ge,\\\"\\\");var be=he.split(\\\"\\\\r\\\"),de=he.split(`\\n`),Re=de.length>1&&de[0].length<be[0].length;if(be.length===1||Re)return`\\n`;for(var Ne=0,Pe=0;Pe<be.length;Pe++)be[Pe][0]===`\\n`&&Ne++;return Ne>=be.length/2?`\\\\r\\n`:\\\"\\\\r\\\"};function re(he){return v.skipEmptyLines===\\\"greedy\\\"?he.join(\\\"\\\").trim()===\\\"\\\":he.length===1&&he[0].length===0}function ae(he){if(V.test(he)){var xe=parseFloat(he);if(xe>U&&xe<_)return!0}return!1}function Q(){return X&&L&&(se(\\\"Delimiter\\\",\\\"UndetectableDelimiter\\\",\\\"Unable to auto-detect delimiting character; defaulted to '\\\"+s.DefaultDelimiter+\\\"'\\\"),L=!1),v.skipEmptyLines&&(X.data=X.data.filter(function(he){return!re(he)})),pe()&&O(),ve()}function pe(){return v.header&&b.length===0}function O(){if(!X)return;function he(ge,be){I(v.transformHeader)&&(ge=v.transformHeader(ge,be)),b.push(ge)}if(Array.isArray(X.data[0])){for(var xe=0;pe()&&xe<X.data.length;xe++)X.data[xe].forEach(he);X.data.splice(0,1)}else X.data.forEach(he)}function Fe(he){return v.dynamicTypingFunction&&v.dynamicTyping[he]===void 0&&(v.dynamicTyping[he]=v.dynamicTypingFunction(he)),(v.dynamicTyping[he]||v.dynamicTyping)===!0}function we(he,xe){return Fe(he)?xe===\\\"true\\\"||xe===\\\"TRUE\\\"?!0:xe===\\\"false\\\"||xe===\\\"FALSE\\\"?!1:ae(xe)?parseFloat(xe):Z.test(xe)?new Date(xe):xe===\\\"\\\"?null:xe:xe}function ve(){if(!X||!v.header&&!v.dynamicTyping&&!v.transform)return X;function he(ge,be){var de=v.header?{}:[],Re;for(Re=0;Re<ge.length;Re++){var Ne=Re,Pe=ge[Re];v.header&&(Ne=Re>=b.length?\\\"__parsed_extra\\\":b[Re]),v.transform&&(Pe=v.transform(Pe,Ne)),Pe=we(Ne,Pe),Ne===\\\"__parsed_extra\\\"?(de[Ne]=de[Ne]||[],de[Ne].push(Pe)):de[Ne]=Pe}return v.header&&(Re>b.length?se(\\\"FieldMismatch\\\",\\\"TooManyFields\\\",\\\"Too many fields: expected \\\"+b.length+\\\" fields but parsed \\\"+Re,H+be):Re<b.length&&se(\\\"FieldMismatch\\\",\\\"TooFewFields\\\",\\\"Too few fields: expected \\\"+b.length+\\\" fields but parsed \\\"+Re,H+be)),de}var xe=1;return!X.data.length||Array.isArray(X.data[0])?(X.data=X.data.map(he),xe=X.data.length):X.data=he(X.data,0),v.header&&X.meta&&(X.meta.fields=b),H+=xe,X}function ke(he,xe,ge,be,de){var Re,Ne,Pe,fr;de=de||[\\\",\\\",\\\"\\t\\\",\\\"|\\\",\\\";\\\",s.RECORD_SEP,s.UNIT_SEP];for(var wr=0;wr<de.length;wr++){var Ge=de[wr],er=0,_e=0,ye=0;Pe=void 0;for(var We=new k({comments:be,delimiter:Ge,newline:xe,preview:10}).parse(he),Ae=0;Ae<We.data.length;Ae++){if(ge&&re(We.data[Ae])){ye++;continue}var He=We.data[Ae].length;if(_e+=He,typeof Pe>\\\"u\\\"){Pe=He;continue}else He>0&&(er+=Math.abs(He-Pe),Pe=He)}We.data.length>0&&(_e/=We.data.length-ye),(typeof Ne>\\\"u\\\"||er<=Ne)&&(typeof fr>\\\"u\\\"||_e>fr)&&_e>1.99&&(Ne=er,Re=Ge,fr=_e)}return v.delimiter=Re,{successful:!!Re,bestDelimiter:Re}}function se(he,xe,ge,be){var de={type:he,code:xe,message:ge};be!==void 0&&(de.row=be),X.errors.push(de)}}function D(v){return v.replace(/[.*+?^${}()|[\\\\]\\\\\\\\]/g,\\\"\\\\\\\\$&\\\")}function k(v){v=v||{};var _=v.delimiter,U=v.newline,V=v.comments,Z=v.step,ee=v.preview,ne=v.fastMode,H,te=null,K=!1;v.quoteChar===void 0||v.quoteChar===null?H='\\\"':H=v.quoteChar;var A=H;if(v.escapeChar!==void 0&&(A=v.escapeChar),(typeof _!=\\\"string\\\"||s.BAD_DELIMITERS.indexOf(_)>-1)&&(_=\\\",\\\"),V===_)throw new Error(\\\"Comment character same as delimiter\\\");V===!0?V=\\\"#\\\":(typeof V!=\\\"string\\\"||s.BAD_DELIMITERS.indexOf(V)>-1)&&(V=!1),U!==`\\n`&&U!==\\\"\\\\r\\\"&&U!==`\\\\r\\n`&&(U=`\\n`);var B=0,L=!1;this.parse=function(b,X,le){if(typeof b!=\\\"string\\\")throw new Error(\\\"Input must be a string\\\");var re=b.length,ae=_.length,Q=U.length,pe=V.length,O=I(Z);B=0;var Fe=[],we=[],ve=[],ke=0;if(!b)return ye();if(ne||ne!==!1&&b.indexOf(H)===-1){for(var se=b.split(U),he=0;he<se.length;he++){if(ve=se[he],B+=ve.length,he!==se.length-1)B+=U.length;else if(le)return ye();if(!(V&&ve.substring(0,pe)===V)){if(O){if(Fe=[],wr(ve.split(_)),We(),L)return ye()}else wr(ve.split(_));if(ee&&he>=ee)return Fe=Fe.slice(0,ee),ye(!0)}}return ye()}for(var xe=b.indexOf(_,B),ge=b.indexOf(U,B),be=new RegExp(D(A)+D(H),\\\"g\\\"),de=b.indexOf(H,B);;){if(b[B]===H){for(de=B,B++;;){if(de=b.indexOf(H,de+1),de===-1)return le||we.push({type:\\\"Quotes\\\",code:\\\"MissingQuotes\\\",message:\\\"Quoted field unterminated\\\",row:Fe.length,index:B}),er();if(de===re-1){var Re=b.substring(B,de).replace(be,H);return er(Re)}if(H===A&&b[de+1]===A){de++;continue}if(!(H!==A&&de!==0&&b[de-1]===A)){xe!==-1&&xe<de+1&&(xe=b.indexOf(_,de+1)),ge!==-1&&ge<de+1&&(ge=b.indexOf(U,de+1));var Ne=ge===-1?xe:Math.min(xe,ge),Pe=Ge(Ne);if(b.substr(de+1+Pe,ae)===_){ve.push(b.substring(B,de).replace(be,H)),B=de+1+Pe+ae,b[de+1+Pe+ae]!==H&&(de=b.indexOf(H,B)),xe=b.indexOf(_,B),ge=b.indexOf(U,B);break}var fr=Ge(ge);if(b.substring(de+1+fr,de+1+fr+Q)===U){if(ve.push(b.substring(B,de).replace(be,H)),_e(de+1+fr+Q),xe=b.indexOf(_,B),de=b.indexOf(H,B),O&&(We(),L))return ye();if(ee&&Fe.length>=ee)return ye(!0);break}we.push({type:\\\"Quotes\\\",code:\\\"InvalidQuotes\\\",message:\\\"Trailing quote on quoted field is malformed\\\",row:Fe.length,index:B}),de++}}continue}if(V&&ve.length===0&&b.substring(B,B+pe)===V){if(ge===-1)return ye();B=ge+Q,ge=b.indexOf(U,B),xe=b.indexOf(_,B);continue}if(xe!==-1&&(xe<ge||ge===-1)){ve.push(b.substring(B,xe)),B=xe+ae,xe=b.indexOf(_,B);continue}if(ge!==-1){if(ve.push(b.substring(B,ge)),_e(ge+Q),O&&(We(),L))return ye();if(ee&&Fe.length>=ee)return ye(!0);continue}break}return er();function wr(Ae){Fe.push(Ae),ke=B}function Ge(Ae){var He=0;if(Ae!==-1){var br=b.substring(de+1,Ae);br&&br.trim()===\\\"\\\"&&(He=br.length)}return He}function er(Ae){return le||(typeof Ae>\\\"u\\\"&&(Ae=b.substring(B)),ve.push(Ae),B=re,wr(ve),O&&We()),ye()}function _e(Ae){B=Ae,wr(ve),ve=[],ge=b.indexOf(U,B)}function ye(Ae){if(v.header&&!X&&Fe.length&&!K){let He=Fe[0],br=Object.create(null),Lt=new Set(He),ua=!1;for(let zr=0;zr<He.length;zr++){let Tr=He[zr];if(I(v.transformHeader)&&(Tr=v.transformHeader(Tr,zr)),!br[Tr])br[Tr]=1,He[zr]=Tr;else{let Qr,xa=br[Tr];do Qr=`${Tr}_${xa}`,xa++;while(Lt.has(Qr));Lt.add(Qr),He[zr]=Qr,br[Tr]++,ua=!0,te===null&&(te={}),te[Qr]=Tr}Lt.add(Tr)}ua&&console.warn(\\\"Duplicate headers found and renamed.\\\"),K=!0}return{data:Fe,errors:we,meta:{delimiter:_,linebreak:U,aborted:L,truncated:!!Ae,cursor:ke+(X||0),renamedHeaders:te}}}function We(){Z(ye()),Fe=[],we=[]}},this.abort=function(){L=!0},this.getCharIndex=function(){return B}}function W(){if(!s.WORKERS_SUPPORTED)return!1;var v=r(),_=new t.Worker(v);return _.onmessage=J,_.id=f++,i[_.id]=_,_}function J(v){var _=v.data,U=i[_.workerId],V=!1;if(_.error)U.userError(_.error,_.file);else if(_.results&&_.results.data){var Z=function(){V=!0,T(_.workerId,{data:[],errors:[],meta:{aborted:!0}})},ee={abort:Z,pause:w,resume:w};if(I(U.userStep)){for(var ne=0;ne<_.results.data.length&&(U.userStep({data:_.results.data[ne],errors:_.results.errors,meta:_.results.meta},ee),!V);ne++);delete _.results}else I(U.userChunk)&&(U.userChunk(_.results,ee,_.file),delete _.results)}_.finished&&!V&&T(_.workerId,_.results)}function T(v,_){var U=i[v];I(U.userComplete)&&U.userComplete(_),U.terminate(),delete i[v]}function w(){throw new Error(\\\"Not implemented.\\\")}function P(v){var _=v.data;if(typeof s.WORKER_ID>\\\"u\\\"&&_&&(s.WORKER_ID=_.workerId),typeof _.input==\\\"string\\\")t.postMessage({workerId:s.WORKER_ID,results:s.parse(_.input,_.config),finished:!0});else if(t.File&&_.input instanceof File||_.input instanceof Object){var U=s.parse(_.input,_.config);U&&t.postMessage({workerId:s.WORKER_ID,results:U,finished:!0})}}function R(v){if(typeof v!=\\\"object\\\"||v===null)return v;var _=Array.isArray(v)?[]:{};for(var U in v)_[U]=R(v[U]);return _}function M(v,_){return function(){v.apply(_,arguments)}}function I(v){return typeof v==\\\"function\\\"}return s})});var tf={};Ff(tf,{parseCsv:()=>jp});async function zp(e,t){if(t&&t.toUpperCase()!==\\\"UTF-8\\\"){let r=await e.arrayBuffer();return new TextDecoder(t).decode(r)}return e.text()}async function jp(e,t,r,n,a={}){let i=await zp(e,a.encodingOverride),f=a.encodingOverride??Gp,s={header:!0,delimiter:a.delimiterOverride,delimitersToGuess:[\\\",\\\",\\\";\\\"],preview:a.maxRows??void 0},c=rf.default.parse(i,s),l=c.meta.delimiter??a.delimiterOverride??\\\",\\\",o=c.meta.fields??(c.data[0]?Object.keys(c.data[0]):[]),h=(c.data??[]).map((d,p)=>{let u=o.map(g=>({key:g,value:$a(d?.[g])}));return{index:p,cells:u}}),x={name:n,filesize:t,documentHash:r,headersCount:o.length,rowsCount:c.data?.length??0,headers:o,rows:h};return{sheets:{[n]:x},parserMeta:{encoding:f,delimiter:l}}}var rf,Gp,af=i0(()=>{\\\"use strict\\\";rf=f0(ef(),1);e0();Gp=\\\"UTF-8\\\"});var o0=Symbol(\\\"Comlink.proxy\\\"),Af=Symbol(\\\"Comlink.endpoint\\\"),Cf=Symbol(\\\"Comlink.releaseProxy\\\"),Qa=Symbol(\\\"Comlink.finalizer\\\"),va=Symbol(\\\"Comlink.thrown\\\"),l0=e=>typeof e==\\\"object\\\"&&e!==null||typeof e==\\\"function\\\",Rf={canHandle:e=>l0(e)&&e[o0],serialize(e){let{port1:t,port2:r}=new MessageChannel;return wa(e,t),[r,[r]]},deserialize(e){return e.start(),If(e)}},Of={canHandle:e=>l0(e)&&va in e,serialize({value:e}){let t;return e instanceof Error?t={isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:t={isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}},h0=new Map([[\\\"proxy\\\",Rf],[\\\"throw\\\",Of]]);function Df(e,t){for(let r of e)if(t===r||r===\\\"*\\\"||r instanceof RegExp&&r.test(t))return!0;return!1}function wa(e,t=globalThis,r=[\\\"*\\\"]){t.addEventListener(\\\"message\\\",function n(a){if(!a||!a.data)return;if(!Df(r,a.origin)){console.warn(`Invalid origin '${a.origin}' for comlink proxy`);return}let{id:i,type:f,path:s}=Object.assign({path:[]},a.data),c=(a.data.argumentList||[]).map(ot),l;try{let o=s.slice(0,-1).reduce((x,d)=>x[d],e),h=s.reduce((x,d)=>x[d],e);switch(f){case\\\"GET\\\":l=h;break;case\\\"SET\\\":o[s.slice(-1)[0]]=ot(a.data.value),l=!0;break;case\\\"APPLY\\\":l=h.apply(o,c);break;case\\\"CONSTRUCT\\\":{let x=new h(...c);l=Mf(x)}break;case\\\"ENDPOINT\\\":{let{port1:x,port2:d}=new MessageChannel;wa(e,d),l=Bf(x,[x])}break;case\\\"RELEASE\\\":l=void 0;break;default:return}}catch(o){l={value:o,[va]:0}}Promise.resolve(l).catch(o=>({value:o,[va]:0})).then(o=>{let[h,x]=_a(o);t.postMessage(Object.assign(Object.assign({},h),{id:i}),x),f===\\\"RELEASE\\\"&&(t.removeEventListener(\\\"message\\\",n),u0(t),Qa in e&&typeof e[Qa]==\\\"function\\\"&&e[Qa]())}).catch(o=>{let[h,x]=_a({value:new TypeError(\\\"Unserializable return value\\\"),[va]:0});t.postMessage(Object.assign(Object.assign({},h),{id:i}),x)})}),t.start&&t.start()}function bf(e){return e.constructor.name===\\\"MessagePort\\\"}function u0(e){bf(e)&&e.close()}function If(e,t){let r=new Map;return e.addEventListener(\\\"message\\\",function(a){let{data:i}=a;if(!i||!i.id)return;let f=r.get(i.id);if(f)try{f(i)}finally{r.delete(i.id)}}),en(e,r,[],t)}function pa(e){if(e)throw new Error(\\\"Proxy has been released and is not useable\\\")}function x0(e){return Tt(e,new Map,{type:\\\"RELEASE\\\"}).then(()=>{u0(e)})}var ma=new WeakMap,ga=\\\"FinalizationRegistry\\\"in globalThis&&new FinalizationRegistry(e=>{let t=(ma.get(e)||0)-1;ma.set(e,t),t===0&&x0(e)});function Nf(e,t){let r=(ma.get(t)||0)+1;ma.set(t,r),ga&&ga.register(e,t,e)}function Pf(e){ga&&ga.unregister(e)}function en(e,t,r=[],n=function(){}){let a=!1,i=new Proxy(n,{get(f,s){if(pa(a),s===Cf)return()=>{Pf(i),x0(e),t.clear(),a=!0};if(s===\\\"then\\\"){if(r.length===0)return{then:()=>i};let c=Tt(e,t,{type:\\\"GET\\\",path:r.map(l=>l.toString())}).then(ot);return c.then.bind(c)}return en(e,t,[...r,s])},set(f,s,c){pa(a);let[l,o]=_a(c);return Tt(e,t,{type:\\\"SET\\\",path:[...r,s].map(h=>h.toString()),value:l},o).then(ot)},apply(f,s,c){pa(a);let l=r[r.length-1];if(l===Af)return Tt(e,t,{type:\\\"ENDPOINT\\\"}).then(ot);if(l===\\\"bind\\\")return en(e,t,r.slice(0,-1));let[o,h]=c0(c);return Tt(e,t,{type:\\\"APPLY\\\",path:r.map(x=>x.toString()),argumentList:o},h).then(ot)},construct(f,s){pa(a);let[c,l]=c0(s);return Tt(e,t,{type:\\\"CONSTRUCT\\\",path:r.map(o=>o.toString()),argumentList:c},l).then(ot)}});return Nf(i,e),i}function Lf(e){return Array.prototype.concat.apply([],e)}function c0(e){let t=e.map(_a);return[t.map(r=>r[0]),Lf(t.map(r=>r[1]))]}var d0=new WeakMap;function Bf(e,t){return d0.set(e,t),e}function Mf(e){return Object.assign(e,{[o0]:!0})}function _a(e){for(let[t,r]of h0)if(r.canHandle(e)){let[n,a]=r.serialize(e);return[{type:\\\"HANDLER\\\",name:t,value:n},a]}return[{type:\\\"RAW\\\",value:e},d0.get(e)||[]]}function ot(e){switch(e.type){case\\\"HANDLER\\\":return h0.get(e.name).deserialize(e.value);case\\\"RAW\\\":return e.value}}function Tt(e,t,r,n){return new Promise(a=>{let i=Uf();t.set(i,a),e.start&&e.start(),e.postMessage(Object.assign({id:i},r),n)})}function Uf(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join(\\\"-\\\")}var m0=f0(p0(),1),v0=256*1024;async function g0(e){let t=m0.sha256.create(),r=0;for(;r<e.size;){let a=await e.slice(r,r+v0).arrayBuffer();t.update(new Uint8Array(a)),r+=v0}return t.hex()}var Ei={};Ei.version=\\\"0.18.5\\\";var Hr=1200,Rt=1252,Hf=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4],Tn={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969},Sn=function(e){Hf.indexOf(e)!=-1&&(Rt=Tn[0]=e)};function Vf(){Sn(1252)}var Lr=function(e){Hr=e,Sn(e)};function Ti(){Lr(1200),Vf()}function un(e){for(var t=[],r=0,n=e.length;r<n;++r)t[r]=e.charCodeAt(r);return t}function Xf(e){for(var t=[],r=0;r<e.length>>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r)+(e.charCodeAt(2*r+1)<<8));return t.join(\\\"\\\")}function Si(e){for(var t=[],r=0;r<e.length>>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r+1)+(e.charCodeAt(2*r)<<8));return t.join(\\\"\\\")}var Wt=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1);return t==255&&r==254?Xf(e.slice(2)):t==254&&r==255?Si(e.slice(2)):t==65279?e.slice(1):e},Ea=function(t){return String.fromCharCode(t)},_0=function(t){return String.fromCharCode(t)},Le;var qe=null,Ut=!0,tt=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\\";function w0(e){for(var t=\\\"\\\",r=0,n=0,a=0,i=0,f=0,s=0,c=0,l=0;l<e.length;)r=e.charCodeAt(l++),i=r>>2,n=e.charCodeAt(l++),f=(r&3)<<4|n>>4,a=e.charCodeAt(l++),s=(n&15)<<2|a>>6,c=a&63,isNaN(n)?s=c=64:isNaN(a)&&(c=64),t+=tt.charAt(i)+tt.charAt(f)+tt.charAt(s)+tt.charAt(c);return t}function yr(e){var t=\\\"\\\",r=0,n=0,a=0,i=0,f=0,s=0,c=0;e=e.replace(/[^\\\\w\\\\+\\\\/\\\\=]/g,\\\"\\\");for(var l=0;l<e.length;)i=tt.indexOf(e.charAt(l++)),f=tt.indexOf(e.charAt(l++)),r=i<<2|f>>4,t+=String.fromCharCode(r),s=tt.indexOf(e.charAt(l++)),n=(f&15)<<4|s>>2,s!==64&&(t+=String.fromCharCode(n)),c=tt.indexOf(e.charAt(l++)),a=(s&3)<<6|c,c!==64&&(t+=String.fromCharCode(a));return t}var Ce=(function(){return typeof Buffer<\\\"u\\\"&&typeof process<\\\"u\\\"&&typeof process.versions<\\\"u\\\"&&!!process.versions.node})(),mt=(function(){if(typeof Buffer<\\\"u\\\"){var e=!Buffer.from;if(!e)try{Buffer.from(\\\"foo\\\",\\\"utf8\\\")}catch{e=!0}return e?function(t,r){return r?new Buffer(t,r):new Buffer(t)}:Buffer.from.bind(Buffer)}return function(){}})();function it(e){return Ce?Buffer.alloc?Buffer.alloc(e):new Buffer(e):typeof Uint8Array<\\\"u\\\"?new Uint8Array(e):new Array(e)}function k0(e){return Ce?Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e):typeof Uint8Array<\\\"u\\\"?new Uint8Array(e):new Array(e)}var Pr=function(t){return Ce?mt(t,\\\"binary\\\"):t.split(\\\"\\\").map(function(r){return r.charCodeAt(0)&255})};function gt(e){if(Array.isArray(e))return e.map(function(n){return String.fromCharCode(n)}).join(\\\"\\\");for(var t=[],r=0;r<e.length;++r)t[r]=String.fromCharCode(e[r]);return t.join(\\\"\\\")}function Fn(e){if(typeof ArrayBuffer>\\\"u\\\")throw new Error(\\\"Unsupported\\\");if(e instanceof ArrayBuffer)return Fn(new Uint8Array(e));for(var t=new Array(e.length),r=0;r<e.length;++r)t[r]=e[r];return t}var rt=Ce?function(e){return Buffer.concat(e.map(function(t){return Buffer.isBuffer(t)?t:mt(t)}))}:function(e){if(typeof Uint8Array<\\\"u\\\"){var t=0,r=0;for(t=0;t<e.length;++t)r+=e[t].length;var n=new Uint8Array(r),a=0;for(t=0,r=0;t<e.length;r+=a,++t)if(a=e[t].length,e[t]instanceof Uint8Array)n.set(e[t],r);else{if(typeof e[t]==\\\"string\\\")throw\\\"wtf\\\";n.set(new Uint8Array(e[t]),r)}return n}return[].concat.apply([],e.map(function(i){return Array.isArray(i)?i:[].slice.call(i)}))};function Gf(e){for(var t=[],r=0,n=e.length+250,a=it(e.length+255),i=0;i<e.length;++i){var f=e.charCodeAt(i);if(f<128)a[r++]=f;else if(f<2048)a[r++]=192|f>>6&31,a[r++]=128|f&63;else if(f>=55296&&f<57344){f=(f&1023)+64;var s=e.charCodeAt(++i)&1023;a[r++]=240|f>>8&7,a[r++]=128|f>>2&63,a[r++]=128|s>>6&15|(f&3)<<4,a[r++]=128|s&63}else a[r++]=224|f>>12&15,a[r++]=128|f>>6&63,a[r++]=128|f&63;r>n&&(t.push(a.slice(0,r)),r=0,a=it(65535),n=65530)}return t.push(a.slice(0,r)),rt(t)}var ur=/\\\\u0000/g,Ht=/[\\\\u0001-\\\\u0006]/g;function yt(e){for(var t=\\\"\\\",r=e.length-1;r>=0;)t+=e.charAt(r--);return t}function Br(e,t){var r=\\\"\\\"+e;return r.length>=t?r:Ve(\\\"0\\\",t-r.length)+r}function yn(e,t){var r=\\\"\\\"+e;return r.length>=t?r:Ve(\\\" \\\",t-r.length)+r}function Da(e,t){var r=\\\"\\\"+e;return r.length>=t?r:r+Ve(\\\" \\\",t-r.length)}function zf(e,t){var r=\\\"\\\"+Math.round(e);return r.length>=t?r:Ve(\\\"0\\\",t-r.length)+r}function jf(e,t){var r=\\\"\\\"+e;return r.length>=t?r:Ve(\\\"0\\\",t-r.length)+r}var E0=Math.pow(2,32);function St(e,t){if(e>E0||e<-E0)return zf(e,t);var r=Math.round(e);return jf(r,t)}function ba(e,t){return t=t||0,e.length>=7+t&&(e.charCodeAt(t)|32)===103&&(e.charCodeAt(t+1)|32)===101&&(e.charCodeAt(t+2)|32)===110&&(e.charCodeAt(t+3)|32)===101&&(e.charCodeAt(t+4)|32)===114&&(e.charCodeAt(t+5)|32)===97&&(e.charCodeAt(t+6)|32)===108}var T0=[[\\\"Sun\\\",\\\"Sunday\\\"],[\\\"Mon\\\",\\\"Monday\\\"],[\\\"Tue\\\",\\\"Tuesday\\\"],[\\\"Wed\\\",\\\"Wednesday\\\"],[\\\"Thu\\\",\\\"Thursday\\\"],[\\\"Fri\\\",\\\"Friday\\\"],[\\\"Sat\\\",\\\"Saturday\\\"]],rn=[[\\\"J\\\",\\\"Jan\\\",\\\"January\\\"],[\\\"F\\\",\\\"Feb\\\",\\\"February\\\"],[\\\"M\\\",\\\"Mar\\\",\\\"March\\\"],[\\\"A\\\",\\\"Apr\\\",\\\"April\\\"],[\\\"M\\\",\\\"May\\\",\\\"May\\\"],[\\\"J\\\",\\\"Jun\\\",\\\"June\\\"],[\\\"J\\\",\\\"Jul\\\",\\\"July\\\"],[\\\"A\\\",\\\"Aug\\\",\\\"August\\\"],[\\\"S\\\",\\\"Sep\\\",\\\"September\\\"],[\\\"O\\\",\\\"Oct\\\",\\\"October\\\"],[\\\"N\\\",\\\"Nov\\\",\\\"November\\\"],[\\\"D\\\",\\\"Dec\\\",\\\"December\\\"]];function Kf(e){return e||(e={}),e[0]=\\\"General\\\",e[1]=\\\"0\\\",e[2]=\\\"0.00\\\",e[3]=\\\"#,##0\\\",e[4]=\\\"#,##0.00\\\",e[9]=\\\"0%\\\",e[10]=\\\"0.00%\\\",e[11]=\\\"0.00E+00\\\",e[12]=\\\"# ?/?\\\",e[13]=\\\"# ??/??\\\",e[14]=\\\"m/d/yy\\\",e[15]=\\\"d-mmm-yy\\\",e[16]=\\\"d-mmm\\\",e[17]=\\\"mmm-yy\\\",e[18]=\\\"h:mm AM/PM\\\",e[19]=\\\"h:mm:ss AM/PM\\\",e[20]=\\\"h:mm\\\",e[21]=\\\"h:mm:ss\\\",e[22]=\\\"m/d/yy h:mm\\\",e[37]=\\\"#,##0 ;(#,##0)\\\",e[38]=\\\"#,##0 ;[Red](#,##0)\\\",e[39]=\\\"#,##0.00;(#,##0.00)\\\",e[40]=\\\"#,##0.00;[Red](#,##0.00)\\\",e[45]=\\\"mm:ss\\\",e[46]=\\\"[h]:mm:ss\\\",e[47]=\\\"mmss.0\\\",e[48]=\\\"##0.0E+0\\\",e[49]=\\\"@\\\",e[56]='\\\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348 \\\"hh\\\"\\\\u6642\\\"mm\\\"\\\\u5206\\\"ss\\\"\\\\u79D2 \\\"',e}var Se={0:\\\"General\\\",1:\\\"0\\\",2:\\\"0.00\\\",3:\\\"#,##0\\\",4:\\\"#,##0.00\\\",9:\\\"0%\\\",10:\\\"0.00%\\\",11:\\\"0.00E+00\\\",12:\\\"# ?/?\\\",13:\\\"# ??/??\\\",14:\\\"m/d/yy\\\",15:\\\"d-mmm-yy\\\",16:\\\"d-mmm\\\",17:\\\"mmm-yy\\\",18:\\\"h:mm AM/PM\\\",19:\\\"h:mm:ss AM/PM\\\",20:\\\"h:mm\\\",21:\\\"h:mm:ss\\\",22:\\\"m/d/yy h:mm\\\",37:\\\"#,##0 ;(#,##0)\\\",38:\\\"#,##0 ;[Red](#,##0)\\\",39:\\\"#,##0.00;(#,##0.00)\\\",40:\\\"#,##0.00;[Red](#,##0.00)\\\",45:\\\"mm:ss\\\",46:\\\"[h]:mm:ss\\\",47:\\\"mmss.0\\\",48:\\\"##0.0E+0\\\",49:\\\"@\\\",56:'\\\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348 \\\"hh\\\"\\\\u6642\\\"mm\\\"\\\\u5206\\\"ss\\\"\\\\u79D2 \\\"'},S0={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0},$f={5:'\\\"$\\\"#,##0_);\\\\\\\\(\\\"$\\\"#,##0\\\\\\\\)',63:'\\\"$\\\"#,##0_);\\\\\\\\(\\\"$\\\"#,##0\\\\\\\\)',6:'\\\"$\\\"#,##0_);[Red]\\\\\\\\(\\\"$\\\"#,##0\\\\\\\\)',64:'\\\"$\\\"#,##0_);[Red]\\\\\\\\(\\\"$\\\"#,##0\\\\\\\\)',7:'\\\"$\\\"#,##0.00_);\\\\\\\\(\\\"$\\\"#,##0.00\\\\\\\\)',65:'\\\"$\\\"#,##0.00_);\\\\\\\\(\\\"$\\\"#,##0.00\\\\\\\\)',8:'\\\"$\\\"#,##0.00_);[Red]\\\\\\\\(\\\"$\\\"#,##0.00\\\\\\\\)',66:'\\\"$\\\"#,##0.00_);[Red]\\\\\\\\(\\\"$\\\"#,##0.00\\\\\\\\)',41:'_(* #,##0_);_(* \\\\\\\\(#,##0\\\\\\\\);_(* \\\"-\\\"_);_(@_)',42:'_(\\\"$\\\"* #,##0_);_(\\\"$\\\"* \\\\\\\\(#,##0\\\\\\\\);_(\\\"$\\\"* \\\"-\\\"_);_(@_)',43:'_(* #,##0.00_);_(* \\\\\\\\(#,##0.00\\\\\\\\);_(* \\\"-\\\"??_);_(@_)',44:'_(\\\"$\\\"* #,##0.00_);_(\\\"$\\\"* \\\\\\\\(#,##0.00\\\\\\\\);_(\\\"$\\\"* \\\"-\\\"??_);_(@_)'};function Ia(e,t,r){for(var n=e<0?-1:1,a=e*n,i=0,f=1,s=0,c=1,l=0,o=0,h=Math.floor(a);l<t&&(h=Math.floor(a),s=h*f+i,o=h*l+c,!(a-h<5e-8));)a=1/(a-h),i=f,f=s,c=l,l=o;if(o>t&&(l>t?(o=c,s=i):(o=l,s=f)),!r)return[0,n*s,o];var x=Math.floor(n*s/o);return[x,n*s-x*o,o]}function ht(e,t,r){if(e>2958465||e<0)return null;var n=e|0,a=Math.floor(86400*(e-n)),i=0,f=[],s={D:n,T:a,u:86400*(e-n)-a,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(s.u)<1e-6&&(s.u=0),t&&t.date1904&&(n+=1462),s.u>.9999&&(s.u=0,++a==86400&&(s.T=a=0,++n,++s.D)),n===60)f=r?[1317,10,29]:[1900,2,29],i=3;else if(n===0)f=r?[1317,8,29]:[1900,1,0],i=6;else{n>60&&--n;var c=new Date(1900,0,1);c.setDate(c.getDate()+n-1),f=[c.getFullYear(),c.getMonth()+1,c.getDate()],i=c.getDay(),n<60&&(i=(i+6)%7),r&&(i=ec(c,f))}return s.y=f[0],s.m=f[1],s.d=f[2],s.S=a%60,a=Math.floor(a/60),s.M=a%60,a=Math.floor(a/60),s.H=a,s.q=i,s}var Fi=new Date(1899,11,31,0,0,0),Yf=Fi.getTime(),Jf=new Date(1900,2,1,0,0,0);function yi(e,t){var r=e.getTime();return t?r-=1461*24*60*60*1e3:e>=Jf&&(r+=1440*60*1e3),(r-(Yf+(e.getTimezoneOffset()-Fi.getTimezoneOffset())*6e4))/(1440*60*1e3)}function An(e){return e.indexOf(\\\".\\\")==-1?e:e.replace(/(?:\\\\.0*|(\\\\.\\\\d*[1-9])0+)$/,\\\"$1\\\")}function qf(e){return e.indexOf(\\\"E\\\")==-1?e:e.replace(/(?:\\\\.0*|(\\\\.\\\\d*[1-9])0+)[Ee]/,\\\"$1E\\\").replace(/(E[+-])(\\\\d)$/,\\\"$10$2\\\")}function Zf(e){var t=e<0?12:11,r=An(e.toFixed(12));return r.length<=t||(r=e.toPrecision(10),r.length<=t)?r:e.toExponential(5)}function Qf(e){var t=An(e.toFixed(11));return t.length>(e<0?12:11)||t===\\\"0\\\"||t===\\\"-0\\\"?e.toPrecision(6):t}function Qt(e){var t=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),r;return t>=-4&&t<=-1?r=e.toPrecision(10+t):Math.abs(t)<=9?r=Zf(e):t===10?r=e.toFixed(10).substr(0,12):r=Qf(e),An(qf(r.toUpperCase()))}function dt(e,t){switch(typeof e){case\\\"string\\\":return e;case\\\"boolean\\\":return e?\\\"TRUE\\\":\\\"FALSE\\\";case\\\"number\\\":return(e|0)===e?e.toString(10):Qt(e);case\\\"undefined\\\":return\\\"\\\";case\\\"object\\\":if(e==null)return\\\"\\\";if(e instanceof Date)return Or(14,yi(e,t&&t.date1904),t)}throw new Error(\\\"unsupported value in General format: \\\"+e)}function ec(e,t){t[0]-=581;var r=e.getDay();return e<60&&(r=(r+6)%7),r}function rc(e,t,r,n){var a=\\\"\\\",i=0,f=0,s=r.y,c,l=0;switch(e){case 98:s=r.y+543;case 121:switch(t.length){case 1:case 2:c=s%100,l=2;break;default:c=s%1e4,l=4;break}break;case 109:switch(t.length){case 1:case 2:c=r.m,l=t.length;break;case 3:return rn[r.m-1][1];case 5:return rn[r.m-1][0];default:return rn[r.m-1][2]}break;case 100:switch(t.length){case 1:case 2:c=r.d,l=t.length;break;case 3:return T0[r.q][0];default:return T0[r.q][1]}break;case 104:switch(t.length){case 1:case 2:c=1+(r.H+11)%12,l=t.length;break;default:throw\\\"bad hour format: \\\"+t}break;case 72:switch(t.length){case 1:case 2:c=r.H,l=t.length;break;default:throw\\\"bad hour format: \\\"+t}break;case 77:switch(t.length){case 1:case 2:c=r.M,l=t.length;break;default:throw\\\"bad minute format: \\\"+t}break;case 115:if(t!=\\\"s\\\"&&t!=\\\"ss\\\"&&t!=\\\".0\\\"&&t!=\\\".00\\\"&&t!=\\\".000\\\")throw\\\"bad second format: \\\"+t;return r.u===0&&(t==\\\"s\\\"||t==\\\"ss\\\")?Br(r.S,t.length):(n>=2?f=n===3?1e3:100:f=n===1?10:1,i=Math.round(f*(r.S+r.u)),i>=60*f&&(i=0),t===\\\"s\\\"?i===0?\\\"0\\\":\\\"\\\"+i/f:(a=Br(i,2+n),t===\\\"ss\\\"?a.substr(0,2):\\\".\\\"+a.substr(2,t.length-1)));case 90:switch(t){case\\\"[h]\\\":case\\\"[hh]\\\":c=r.D*24+r.H;break;case\\\"[m]\\\":case\\\"[mm]\\\":c=(r.D*24+r.H)*60+r.M;break;case\\\"[s]\\\":case\\\"[ss]\\\":c=((r.D*24+r.H)*60+r.M)*60+Math.round(r.S+r.u);break;default:throw\\\"bad abstime format: \\\"+t}l=t.length===3?1:2;break;case 101:c=s,l=1;break}var o=l>0?Br(c,l):\\\"\\\";return o}function at(e){var t=3;if(e.length<=t)return e;for(var r=e.length%t,n=e.substr(0,r);r!=e.length;r+=t)n+=(n.length>0?\\\",\\\":\\\"\\\")+e.substr(r,t);return n}var Ai=/%/g;function tc(e,t,r){var n=t.replace(Ai,\\\"\\\"),a=t.length-n.length;return Yr(e,n,r*Math.pow(10,2*a))+Ve(\\\"%\\\",a)}function ac(e,t,r){for(var n=t.length-1;t.charCodeAt(n-1)===44;)--n;return Yr(e,t.substr(0,n),r/Math.pow(10,3*(t.length-n)))}function Ci(e,t){var r,n=e.indexOf(\\\"E\\\")-e.indexOf(\\\".\\\")-1;if(e.match(/^#+0.0E\\\\+0$/)){if(t==0)return\\\"0.0E+0\\\";if(t<0)return\\\"-\\\"+Ci(e,-t);var a=e.indexOf(\\\".\\\");a===-1&&(a=e.indexOf(\\\"E\\\"));var i=Math.floor(Math.log(t)*Math.LOG10E)%a;if(i<0&&(i+=a),r=(t/Math.pow(10,i)).toPrecision(n+1+(a+i)%a),r.indexOf(\\\"e\\\")===-1){var f=Math.floor(Math.log(t)*Math.LOG10E);for(r.indexOf(\\\".\\\")===-1?r=r.charAt(0)+\\\".\\\"+r.substr(1)+\\\"E+\\\"+(f-r.length+i):r+=\\\"E+\\\"+(f-i);r.substr(0,2)===\\\"0.\\\";)r=r.charAt(0)+r.substr(2,a)+\\\".\\\"+r.substr(2+a),r=r.replace(/^0+([1-9])/,\\\"$1\\\").replace(/^0+\\\\./,\\\"0.\\\");r=r.replace(/\\\\+-/,\\\"-\\\")}r=r.replace(/^([+-]?)(\\\\d*)\\\\.(\\\\d*)[Ee]/,function(s,c,l,o){return c+l+o.substr(0,(a+i)%a)+\\\".\\\"+o.substr(i)+\\\"E\\\"})}else r=t.toExponential(n);return e.match(/E\\\\+00$/)&&r.match(/e[+-]\\\\d$/)&&(r=r.substr(0,r.length-1)+\\\"0\\\"+r.charAt(r.length-1)),e.match(/E\\\\-/)&&r.match(/e\\\\+/)&&(r=r.replace(/e\\\\+/,\\\"e\\\")),r.replace(\\\"e\\\",\\\"E\\\")}var Ri=/# (\\\\?+)( ?)\\\\/( ?)(\\\\d+)/;function nc(e,t,r){var n=parseInt(e[4],10),a=Math.round(t*n),i=Math.floor(a/n),f=a-i*n,s=n;return r+(i===0?\\\"\\\":\\\"\\\"+i)+\\\" \\\"+(f===0?Ve(\\\" \\\",e[1].length+1+e[4].length):yn(f,e[1].length)+e[2]+\\\"/\\\"+e[3]+Br(s,e[4].length))}function ic(e,t,r){return r+(t===0?\\\"\\\":\\\"\\\"+t)+Ve(\\\" \\\",e[1].length+2+e[4].length)}var Oi=/^#*0*\\\\.([0#]+)/,Di=/\\\\).*[0#]/,bi=/\\\\(###\\\\) ###\\\\\\\\?-####/;function vr(e){for(var t=\\\"\\\",r,n=0;n!=e.length;++n)switch(r=e.charCodeAt(n)){case 35:break;case 63:t+=\\\" \\\";break;case 48:t+=\\\"0\\\";break;default:t+=String.fromCharCode(r)}return t}function F0(e,t){var r=Math.pow(10,t);return\\\"\\\"+Math.round(e*r)/r}function y0(e,t){var r=e-Math.floor(e),n=Math.pow(10,t);return t<(\\\"\\\"+Math.round(r*n)).length?0:Math.round(r*n)}function sc(e,t){return t<(\\\"\\\"+Math.round((e-Math.floor(e))*Math.pow(10,t))).length?1:0}function fc(e){return e<2147483647&&e>-2147483648?\\\"\\\"+(e>=0?e|0:e-1|0):\\\"\\\"+Math.floor(e)}function Cr(e,t,r){if(e.charCodeAt(0)===40&&!t.match(Di)){var n=t.replace(/\\\\( */,\\\"\\\").replace(/ \\\\)/,\\\"\\\").replace(/\\\\)/,\\\"\\\");return r>=0?Cr(\\\"n\\\",n,r):\\\"(\\\"+Cr(\\\"n\\\",n,-r)+\\\")\\\"}if(t.charCodeAt(t.length-1)===44)return ac(e,t,r);if(t.indexOf(\\\"%\\\")!==-1)return tc(e,t,r);if(t.indexOf(\\\"E\\\")!==-1)return Ci(t,r);if(t.charCodeAt(0)===36)return\\\"$\\\"+Cr(e,t.substr(t.charAt(1)==\\\" \\\"?2:1),r);var a,i,f,s,c=Math.abs(r),l=r<0?\\\"-\\\":\\\"\\\";if(t.match(/^00+$/))return l+St(c,t.length);if(t.match(/^[#?]+$/))return a=St(r,0),a===\\\"0\\\"&&(a=\\\"\\\"),a.length>t.length?a:vr(t.substr(0,t.length-a.length))+a;if(i=t.match(Ri))return nc(i,c,l);if(t.match(/^#+0+$/))return l+St(c,t.length-t.indexOf(\\\"0\\\"));if(i=t.match(Oi))return a=F0(r,i[1].length).replace(/^([^\\\\.]+)$/,\\\"$1.\\\"+vr(i[1])).replace(/\\\\.$/,\\\".\\\"+vr(i[1])).replace(/\\\\.(\\\\d*)$/,function(p,u){return\\\".\\\"+u+Ve(\\\"0\\\",vr(i[1]).length-u.length)}),t.indexOf(\\\"0.\\\")!==-1?a:a.replace(/^0\\\\./,\\\".\\\");if(t=t.replace(/^#+([0.])/,\\\"$1\\\"),i=t.match(/^(0*)\\\\.(#*)$/))return l+F0(c,i[2].length).replace(/\\\\.(\\\\d*[1-9])0*$/,\\\".$1\\\").replace(/^(-?\\\\d*)$/,\\\"$1.\\\").replace(/^0\\\\./,i[1].length?\\\"0.\\\":\\\".\\\");if(i=t.match(/^#{1,3},##0(\\\\.?)$/))return l+at(St(c,0));if(i=t.match(/^#,##0\\\\.([#0]*0)$/))return r<0?\\\"-\\\"+Cr(e,t,-r):at(\\\"\\\"+(Math.floor(r)+sc(r,i[1].length)))+\\\".\\\"+Br(y0(r,i[1].length),i[1].length);if(i=t.match(/^#,#*,#0/))return Cr(e,t.replace(/^#,#*,/,\\\"\\\"),r);if(i=t.match(/^([0#]+)(\\\\\\\\?-([0#]+))+$/))return a=yt(Cr(e,t.replace(/[\\\\\\\\-]/g,\\\"\\\"),r)),f=0,yt(yt(t.replace(/\\\\\\\\/g,\\\"\\\")).replace(/[0#]/g,function(p){return f<a.length?a.charAt(f++):p===\\\"0\\\"?\\\"0\\\":\\\"\\\"}));if(t.match(bi))return a=Cr(e,\\\"##########\\\",r),\\\"(\\\"+a.substr(0,3)+\\\") \\\"+a.substr(3,3)+\\\"-\\\"+a.substr(6);var o=\\\"\\\";if(i=t.match(/^([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return f=Math.min(i[4].length,7),s=Ia(c,Math.pow(10,f)-1,!1),a=\\\"\\\"+l,o=Yr(\\\"n\\\",i[1],s[1]),o.charAt(o.length-1)==\\\" \\\"&&(o=o.substr(0,o.length-1)+\\\"0\\\"),a+=o+i[2]+\\\"/\\\"+i[3],o=Da(s[2],f),o.length<i[4].length&&(o=vr(i[4].substr(i[4].length-o.length))+o),a+=o,a;if(i=t.match(/^# ([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return f=Math.min(Math.max(i[1].length,i[4].length),7),s=Ia(c,Math.pow(10,f)-1,!0),l+(s[0]||(s[1]?\\\"\\\":\\\"0\\\"))+\\\" \\\"+(s[1]?yn(s[1],f)+i[2]+\\\"/\\\"+i[3]+Da(s[2],f):Ve(\\\" \\\",2*f+1+i[2].length+i[3].length));if(i=t.match(/^[#0?]+$/))return a=St(r,0),t.length<=a.length?a:vr(t.substr(0,t.length-a.length))+a;if(i=t.match(/^([#0?]+)\\\\.([#0]+)$/)){a=\\\"\\\"+r.toFixed(Math.min(i[2].length,10)).replace(/([^0])0+$/,\\\"$1\\\"),f=a.indexOf(\\\".\\\");var h=t.indexOf(\\\".\\\")-f,x=t.length-a.length-h;return vr(t.substr(0,h)+a+t.substr(t.length-x))}if(i=t.match(/^00,000\\\\.([#0]*0)$/))return f=y0(r,i[1].length),r<0?\\\"-\\\"+Cr(e,t,-r):at(fc(r)).replace(/^\\\\d,\\\\d{3}$/,\\\"0$&\\\").replace(/^\\\\d*$/,function(p){return\\\"00,\\\"+(p.length<3?Br(0,3-p.length):\\\"\\\")+p})+\\\".\\\"+Br(f,i[1].length);switch(t){case\\\"###,##0.00\\\":return Cr(e,\\\"#,##0.00\\\",r);case\\\"###,###\\\":case\\\"##,###\\\":case\\\"#,###\\\":var d=at(St(c,0));return d!==\\\"0\\\"?l+d:\\\"\\\";case\\\"###,###.00\\\":return Cr(e,\\\"###,##0.00\\\",r).replace(/^0\\\\./,\\\".\\\");case\\\"#,###.00\\\":return Cr(e,\\\"#,##0.00\\\",r).replace(/^0\\\\./,\\\".\\\");default:}throw new Error(\\\"unsupported format |\\\"+t+\\\"|\\\")}function cc(e,t,r){for(var n=t.length-1;t.charCodeAt(n-1)===44;)--n;return Yr(e,t.substr(0,n),r/Math.pow(10,3*(t.length-n)))}function oc(e,t,r){var n=t.replace(Ai,\\\"\\\"),a=t.length-n.length;return Yr(e,n,r*Math.pow(10,2*a))+Ve(\\\"%\\\",a)}function Ii(e,t){var r,n=e.indexOf(\\\"E\\\")-e.indexOf(\\\".\\\")-1;if(e.match(/^#+0.0E\\\\+0$/)){if(t==0)return\\\"0.0E+0\\\";if(t<0)return\\\"-\\\"+Ii(e,-t);var a=e.indexOf(\\\".\\\");a===-1&&(a=e.indexOf(\\\"E\\\"));var i=Math.floor(Math.log(t)*Math.LOG10E)%a;if(i<0&&(i+=a),r=(t/Math.pow(10,i)).toPrecision(n+1+(a+i)%a),!r.match(/[Ee]/)){var f=Math.floor(Math.log(t)*Math.LOG10E);r.indexOf(\\\".\\\")===-1?r=r.charAt(0)+\\\".\\\"+r.substr(1)+\\\"E+\\\"+(f-r.length+i):r+=\\\"E+\\\"+(f-i),r=r.replace(/\\\\+-/,\\\"-\\\")}r=r.replace(/^([+-]?)(\\\\d*)\\\\.(\\\\d*)[Ee]/,function(s,c,l,o){return c+l+o.substr(0,(a+i)%a)+\\\".\\\"+o.substr(i)+\\\"E\\\"})}else r=t.toExponential(n);return e.match(/E\\\\+00$/)&&r.match(/e[+-]\\\\d$/)&&(r=r.substr(0,r.length-1)+\\\"0\\\"+r.charAt(r.length-1)),e.match(/E\\\\-/)&&r.match(/e\\\\+/)&&(r=r.replace(/e\\\\+/,\\\"e\\\")),r.replace(\\\"e\\\",\\\"E\\\")}function Wr(e,t,r){if(e.charCodeAt(0)===40&&!t.match(Di)){var n=t.replace(/\\\\( */,\\\"\\\").replace(/ \\\\)/,\\\"\\\").replace(/\\\\)/,\\\"\\\");return r>=0?Wr(\\\"n\\\",n,r):\\\"(\\\"+Wr(\\\"n\\\",n,-r)+\\\")\\\"}if(t.charCodeAt(t.length-1)===44)return cc(e,t,r);if(t.indexOf(\\\"%\\\")!==-1)return oc(e,t,r);if(t.indexOf(\\\"E\\\")!==-1)return Ii(t,r);if(t.charCodeAt(0)===36)return\\\"$\\\"+Wr(e,t.substr(t.charAt(1)==\\\" \\\"?2:1),r);var a,i,f,s,c=Math.abs(r),l=r<0?\\\"-\\\":\\\"\\\";if(t.match(/^00+$/))return l+Br(c,t.length);if(t.match(/^[#?]+$/))return a=\\\"\\\"+r,r===0&&(a=\\\"\\\"),a.length>t.length?a:vr(t.substr(0,t.length-a.length))+a;if(i=t.match(Ri))return ic(i,c,l);if(t.match(/^#+0+$/))return l+Br(c,t.length-t.indexOf(\\\"0\\\"));if(i=t.match(Oi))return a=(\\\"\\\"+r).replace(/^([^\\\\.]+)$/,\\\"$1.\\\"+vr(i[1])).replace(/\\\\.$/,\\\".\\\"+vr(i[1])),a=a.replace(/\\\\.(\\\\d*)$/,function(p,u){return\\\".\\\"+u+Ve(\\\"0\\\",vr(i[1]).length-u.length)}),t.indexOf(\\\"0.\\\")!==-1?a:a.replace(/^0\\\\./,\\\".\\\");if(t=t.replace(/^#+([0.])/,\\\"$1\\\"),i=t.match(/^(0*)\\\\.(#*)$/))return l+(\\\"\\\"+c).replace(/\\\\.(\\\\d*[1-9])0*$/,\\\".$1\\\").replace(/^(-?\\\\d*)$/,\\\"$1.\\\").replace(/^0\\\\./,i[1].length?\\\"0.\\\":\\\".\\\");if(i=t.match(/^#{1,3},##0(\\\\.?)$/))return l+at(\\\"\\\"+c);if(i=t.match(/^#,##0\\\\.([#0]*0)$/))return r<0?\\\"-\\\"+Wr(e,t,-r):at(\\\"\\\"+r)+\\\".\\\"+Ve(\\\"0\\\",i[1].length);if(i=t.match(/^#,#*,#0/))return Wr(e,t.replace(/^#,#*,/,\\\"\\\"),r);if(i=t.match(/^([0#]+)(\\\\\\\\?-([0#]+))+$/))return a=yt(Wr(e,t.replace(/[\\\\\\\\-]/g,\\\"\\\"),r)),f=0,yt(yt(t.replace(/\\\\\\\\/g,\\\"\\\")).replace(/[0#]/g,function(p){return f<a.length?a.charAt(f++):p===\\\"0\\\"?\\\"0\\\":\\\"\\\"}));if(t.match(bi))return a=Wr(e,\\\"##########\\\",r),\\\"(\\\"+a.substr(0,3)+\\\") \\\"+a.substr(3,3)+\\\"-\\\"+a.substr(6);var o=\\\"\\\";if(i=t.match(/^([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return f=Math.min(i[4].length,7),s=Ia(c,Math.pow(10,f)-1,!1),a=\\\"\\\"+l,o=Yr(\\\"n\\\",i[1],s[1]),o.charAt(o.length-1)==\\\" \\\"&&(o=o.substr(0,o.length-1)+\\\"0\\\"),a+=o+i[2]+\\\"/\\\"+i[3],o=Da(s[2],f),o.length<i[4].length&&(o=vr(i[4].substr(i[4].length-o.length))+o),a+=o,a;if(i=t.match(/^# ([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return f=Math.min(Math.max(i[1].length,i[4].length),7),s=Ia(c,Math.pow(10,f)-1,!0),l+(s[0]||(s[1]?\\\"\\\":\\\"0\\\"))+\\\" \\\"+(s[1]?yn(s[1],f)+i[2]+\\\"/\\\"+i[3]+Da(s[2],f):Ve(\\\" \\\",2*f+1+i[2].length+i[3].length));if(i=t.match(/^[#0?]+$/))return a=\\\"\\\"+r,t.length<=a.length?a:vr(t.substr(0,t.length-a.length))+a;if(i=t.match(/^([#0]+)\\\\.([#0]+)$/)){a=\\\"\\\"+r.toFixed(Math.min(i[2].length,10)).replace(/([^0])0+$/,\\\"$1\\\"),f=a.indexOf(\\\".\\\");var h=t.indexOf(\\\".\\\")-f,x=t.length-a.length-h;return vr(t.substr(0,h)+a+t.substr(t.length-x))}if(i=t.match(/^00,000\\\\.([#0]*0)$/))return r<0?\\\"-\\\"+Wr(e,t,-r):at(\\\"\\\"+r).replace(/^\\\\d,\\\\d{3}$/,\\\"0$&\\\").replace(/^\\\\d*$/,function(p){return\\\"00,\\\"+(p.length<3?Br(0,3-p.length):\\\"\\\")+p})+\\\".\\\"+Br(0,i[1].length);switch(t){case\\\"###,###\\\":case\\\"##,###\\\":case\\\"#,###\\\":var d=at(\\\"\\\"+c);return d!==\\\"0\\\"?l+d:\\\"\\\";default:if(t.match(/\\\\.[0#?]*$/))return Wr(e,t.slice(0,t.lastIndexOf(\\\".\\\")),r)+vr(t.slice(t.lastIndexOf(\\\".\\\")))}throw new Error(\\\"unsupported format |\\\"+t+\\\"|\\\")}function Yr(e,t,r){return(r|0)===r?Wr(e,t,r):Cr(e,t,r)}function lc(e){for(var t=[],r=!1,n=0,a=0;n<e.length;++n)switch(e.charCodeAt(n)){case 34:r=!r;break;case 95:case 42:case 92:++n;break;case 59:t[t.length]=e.substr(a,n-a),a=n+1}if(t[t.length]=e.substr(a),r===!0)throw new Error(\\\"Format |\\\"+e+\\\"| unterminated string \\\");return t}var Ni=/\\\\[[HhMmSs\\\\u0E0A\\\\u0E19\\\\u0E17]*\\\\]/;function bt(e){for(var t=0,r=\\\"\\\",n=\\\"\\\";t<e.length;)switch(r=e.charAt(t)){case\\\"G\\\":ba(e,t)&&(t+=6),t++;break;case'\\\"':for(;e.charCodeAt(++t)!==34&&t<e.length;);++t;break;case\\\"\\\\\\\\\\\":t+=2;break;case\\\"_\\\":t+=2;break;case\\\"@\\\":++t;break;case\\\"B\\\":case\\\"b\\\":if(e.charAt(t+1)===\\\"1\\\"||e.charAt(t+1)===\\\"2\\\")return!0;case\\\"M\\\":case\\\"D\\\":case\\\"Y\\\":case\\\"H\\\":case\\\"S\\\":case\\\"E\\\":case\\\"m\\\":case\\\"d\\\":case\\\"y\\\":case\\\"h\\\":case\\\"s\\\":case\\\"e\\\":case\\\"g\\\":return!0;case\\\"A\\\":case\\\"a\\\":case\\\"\\\\u4E0A\\\":if(e.substr(t,3).toUpperCase()===\\\"A/P\\\"||e.substr(t,5).toUpperCase()===\\\"AM/PM\\\"||e.substr(t,5).toUpperCase()===\\\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348\\\")return!0;++t;break;case\\\"[\\\":for(n=r;e.charAt(t++)!==\\\"]\\\"&&t<e.length;)n+=e.charAt(t);if(n.match(Ni))return!0;break;case\\\".\\\":case\\\"0\\\":case\\\"#\\\":for(;t<e.length&&(\\\"0#?.,E+-%\\\".indexOf(r=e.charAt(++t))>-1||r==\\\"\\\\\\\\\\\"&&e.charAt(t+1)==\\\"-\\\"&&\\\"0#\\\".indexOf(e.charAt(t+2))>-1););break;case\\\"?\\\":for(;e.charAt(++t)===r;);break;case\\\"*\\\":++t,(e.charAt(t)==\\\" \\\"||e.charAt(t)==\\\"*\\\")&&++t;break;case\\\"(\\\":case\\\")\\\":++t;break;case\\\"1\\\":case\\\"2\\\":case\\\"3\\\":case\\\"4\\\":case\\\"5\\\":case\\\"6\\\":case\\\"7\\\":case\\\"8\\\":case\\\"9\\\":for(;t<e.length&&\\\"0123456789\\\".indexOf(e.charAt(++t))>-1;);break;case\\\" \\\":++t;break;default:++t;break}return!1}function hc(e,t,r,n){for(var a=[],i=\\\"\\\",f=0,s=\\\"\\\",c=\\\"t\\\",l,o,h,x=\\\"H\\\";f<e.length;)switch(s=e.charAt(f)){case\\\"G\\\":if(!ba(e,f))throw new Error(\\\"unrecognized character \\\"+s+\\\" in \\\"+e);a[a.length]={t:\\\"G\\\",v:\\\"General\\\"},f+=7;break;case'\\\"':for(i=\\\"\\\";(h=e.charCodeAt(++f))!==34&&f<e.length;)i+=String.fromCharCode(h);a[a.length]={t:\\\"t\\\",v:i},++f;break;case\\\"\\\\\\\\\\\":var d=e.charAt(++f),p=d===\\\"(\\\"||d===\\\")\\\"?d:\\\"t\\\";a[a.length]={t:p,v:d},++f;break;case\\\"_\\\":a[a.length]={t:\\\"t\\\",v:\\\" \\\"},f+=2;break;case\\\"@\\\":a[a.length]={t:\\\"T\\\",v:t},++f;break;case\\\"B\\\":case\\\"b\\\":if(e.charAt(f+1)===\\\"1\\\"||e.charAt(f+1)===\\\"2\\\"){if(l==null&&(l=ht(t,r,e.charAt(f+1)===\\\"2\\\"),l==null))return\\\"\\\";a[a.length]={t:\\\"X\\\",v:e.substr(f,2)},c=s,f+=2;break}case\\\"M\\\":case\\\"D\\\":case\\\"Y\\\":case\\\"H\\\":case\\\"S\\\":case\\\"E\\\":s=s.toLowerCase();case\\\"m\\\":case\\\"d\\\":case\\\"y\\\":case\\\"h\\\":case\\\"s\\\":case\\\"e\\\":case\\\"g\\\":if(t<0||l==null&&(l=ht(t,r),l==null))return\\\"\\\";for(i=s;++f<e.length&&e.charAt(f).toLowerCase()===s;)i+=s;s===\\\"m\\\"&&c.toLowerCase()===\\\"h\\\"&&(s=\\\"M\\\"),s===\\\"h\\\"&&(s=x),a[a.length]={t:s,v:i},c=s;break;case\\\"A\\\":case\\\"a\\\":case\\\"\\\\u4E0A\\\":var u={t:s,v:s};if(l==null&&(l=ht(t,r)),e.substr(f,3).toUpperCase()===\\\"A/P\\\"?(l!=null&&(u.v=l.H>=12?\\\"P\\\":\\\"A\\\"),u.t=\\\"T\\\",x=\\\"h\\\",f+=3):e.substr(f,5).toUpperCase()===\\\"AM/PM\\\"?(l!=null&&(u.v=l.H>=12?\\\"PM\\\":\\\"AM\\\"),u.t=\\\"T\\\",f+=5,x=\\\"h\\\"):e.substr(f,5).toUpperCase()===\\\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348\\\"?(l!=null&&(u.v=l.H>=12?\\\"\\\\u4E0B\\\\u5348\\\":\\\"\\\\u4E0A\\\\u5348\\\"),u.t=\\\"T\\\",f+=5,x=\\\"h\\\"):(u.t=\\\"t\\\",++f),l==null&&u.t===\\\"T\\\")return\\\"\\\";a[a.length]=u,c=s;break;case\\\"[\\\":for(i=s;e.charAt(f++)!==\\\"]\\\"&&f<e.length;)i+=e.charAt(f);if(i.slice(-1)!==\\\"]\\\")throw'unterminated \\\"[\\\" block: |'+i+\\\"|\\\";if(i.match(Ni)){if(l==null&&(l=ht(t,r),l==null))return\\\"\\\";a[a.length]={t:\\\"Z\\\",v:i.toLowerCase()},c=i.charAt(1)}else i.indexOf(\\\"$\\\")>-1&&(i=(i.match(/\\\\$([^-\\\\[\\\\]]*)/)||[])[1]||\\\"$\\\",bt(e)||(a[a.length]={t:\\\"t\\\",v:i}));break;case\\\".\\\":if(l!=null){for(i=s;++f<e.length&&(s=e.charAt(f))===\\\"0\\\";)i+=s;a[a.length]={t:\\\"s\\\",v:i};break}case\\\"0\\\":case\\\"#\\\":for(i=s;++f<e.length&&\\\"0#?.,E+-%\\\".indexOf(s=e.charAt(f))>-1;)i+=s;a[a.length]={t:\\\"n\\\",v:i};break;case\\\"?\\\":for(i=s;e.charAt(++f)===s;)i+=s;a[a.length]={t:s,v:i},c=s;break;case\\\"*\\\":++f,(e.charAt(f)==\\\" \\\"||e.charAt(f)==\\\"*\\\")&&++f;break;case\\\"(\\\":case\\\")\\\":a[a.length]={t:n===1?\\\"t\\\":s,v:s},++f;break;case\\\"1\\\":case\\\"2\\\":case\\\"3\\\":case\\\"4\\\":case\\\"5\\\":case\\\"6\\\":case\\\"7\\\":case\\\"8\\\":case\\\"9\\\":for(i=s;f<e.length&&\\\"0123456789\\\".indexOf(e.charAt(++f))>-1;)i+=e.charAt(f);a[a.length]={t:\\\"D\\\",v:i};break;case\\\" \\\":a[a.length]={t:s,v:s},++f;break;case\\\"$\\\":a[a.length]={t:\\\"t\\\",v:\\\"$\\\"},++f;break;default:if(\\\",$-+/():!^&'~{}<>=\\\\u20ACacfijklopqrtuvwxzP\\\".indexOf(s)===-1)throw new Error(\\\"unrecognized character \\\"+s+\\\" in \\\"+e);a[a.length]={t:\\\"t\\\",v:s},++f;break}var g=0,N=0,D;for(f=a.length-1,c=\\\"t\\\";f>=0;--f)switch(a[f].t){case\\\"h\\\":case\\\"H\\\":a[f].t=x,c=\\\"h\\\",g<1&&(g=1);break;case\\\"s\\\":(D=a[f].v.match(/\\\\.0+$/))&&(N=Math.max(N,D[0].length-1)),g<3&&(g=3);case\\\"d\\\":case\\\"y\\\":case\\\"M\\\":case\\\"e\\\":c=a[f].t;break;case\\\"m\\\":c===\\\"s\\\"&&(a[f].t=\\\"M\\\",g<2&&(g=2));break;case\\\"X\\\":break;case\\\"Z\\\":g<1&&a[f].v.match(/[Hh]/)&&(g=1),g<2&&a[f].v.match(/[Mm]/)&&(g=2),g<3&&a[f].v.match(/[Ss]/)&&(g=3)}switch(g){case 0:break;case 1:l.u>=.5&&(l.u=0,++l.S),l.S>=60&&(l.S=0,++l.M),l.M>=60&&(l.M=0,++l.H);break;case 2:l.u>=.5&&(l.u=0,++l.S),l.S>=60&&(l.S=0,++l.M);break}var k=\\\"\\\",W;for(f=0;f<a.length;++f)switch(a[f].t){case\\\"t\\\":case\\\"T\\\":case\\\" \\\":case\\\"D\\\":break;case\\\"X\\\":a[f].v=\\\"\\\",a[f].t=\\\";\\\";break;case\\\"d\\\":case\\\"m\\\":case\\\"y\\\":case\\\"h\\\":case\\\"H\\\":case\\\"M\\\":case\\\"s\\\":case\\\"e\\\":case\\\"b\\\":case\\\"Z\\\":a[f].v=rc(a[f].t.charCodeAt(0),a[f].v,l,N),a[f].t=\\\"t\\\";break;case\\\"n\\\":case\\\"?\\\":for(W=f+1;a[W]!=null&&((s=a[W].t)===\\\"?\\\"||s===\\\"D\\\"||(s===\\\" \\\"||s===\\\"t\\\")&&a[W+1]!=null&&(a[W+1].t===\\\"?\\\"||a[W+1].t===\\\"t\\\"&&a[W+1].v===\\\"/\\\")||a[f].t===\\\"(\\\"&&(s===\\\" \\\"||s===\\\"n\\\"||s===\\\")\\\")||s===\\\"t\\\"&&(a[W].v===\\\"/\\\"||a[W].v===\\\" \\\"&&a[W+1]!=null&&a[W+1].t==\\\"?\\\"));)a[f].v+=a[W].v,a[W]={v:\\\"\\\",t:\\\";\\\"},++W;k+=a[f].v,f=W-1;break;case\\\"G\\\":a[f].t=\\\"t\\\",a[f].v=dt(t,r);break}var J=\\\"\\\",T,w;if(k.length>0){k.charCodeAt(0)==40?(T=t<0&&k.charCodeAt(0)===45?-t:t,w=Yr(\\\"n\\\",k,T)):(T=t<0&&n>1?-t:t,w=Yr(\\\"n\\\",k,T),T<0&&a[0]&&a[0].t==\\\"t\\\"&&(w=w.substr(1),a[0].v=\\\"-\\\"+a[0].v)),W=w.length-1;var P=a.length;for(f=0;f<a.length;++f)if(a[f]!=null&&a[f].t!=\\\"t\\\"&&a[f].v.indexOf(\\\".\\\")>-1){P=f;break}var R=a.length;if(P===a.length&&w.indexOf(\\\"E\\\")===-1){for(f=a.length-1;f>=0;--f)a[f]==null||\\\"n?\\\".indexOf(a[f].t)===-1||(W>=a[f].v.length-1?(W-=a[f].v.length,a[f].v=w.substr(W+1,a[f].v.length)):W<0?a[f].v=\\\"\\\":(a[f].v=w.substr(0,W+1),W=-1),a[f].t=\\\"t\\\",R=f);W>=0&&R<a.length&&(a[R].v=w.substr(0,W+1)+a[R].v)}else if(P!==a.length&&w.indexOf(\\\"E\\\")===-1){for(W=w.indexOf(\\\".\\\")-1,f=P;f>=0;--f)if(!(a[f]==null||\\\"n?\\\".indexOf(a[f].t)===-1)){for(o=a[f].v.indexOf(\\\".\\\")>-1&&f===P?a[f].v.indexOf(\\\".\\\")-1:a[f].v.length-1,J=a[f].v.substr(o+1);o>=0;--o)W>=0&&(a[f].v.charAt(o)===\\\"0\\\"||a[f].v.charAt(o)===\\\"#\\\")&&(J=w.charAt(W--)+J);a[f].v=J,a[f].t=\\\"t\\\",R=f}for(W>=0&&R<a.length&&(a[R].v=w.substr(0,W+1)+a[R].v),W=w.indexOf(\\\".\\\")+1,f=P;f<a.length;++f)if(!(a[f]==null||\\\"n?(\\\".indexOf(a[f].t)===-1&&f!==P)){for(o=a[f].v.indexOf(\\\".\\\")>-1&&f===P?a[f].v.indexOf(\\\".\\\")+1:0,J=a[f].v.substr(0,o);o<a[f].v.length;++o)W<w.length&&(J+=w.charAt(W++));a[f].v=J,a[f].t=\\\"t\\\",R=f}}}for(f=0;f<a.length;++f)a[f]!=null&&\\\"n?\\\".indexOf(a[f].t)>-1&&(T=n>1&&t<0&&f>0&&a[f-1].v===\\\"-\\\"?-t:t,a[f].v=Yr(a[f].t,a[f].v,T),a[f].t=\\\"t\\\");var M=\\\"\\\";for(f=0;f!==a.length;++f)a[f]!=null&&(M+=a[f].v);return M}var A0=/\\\\[(=|>[=]?|<[>=]?)(-?\\\\d+(?:\\\\.\\\\d*)?)\\\\]/;function C0(e,t){if(t==null)return!1;var r=parseFloat(t[2]);switch(t[1]){case\\\"=\\\":if(e==r)return!0;break;case\\\">\\\":if(e>r)return!0;break;case\\\"<\\\":if(e<r)return!0;break;case\\\"<>\\\":if(e!=r)return!0;break;case\\\">=\\\":if(e>=r)return!0;break;case\\\"<=\\\":if(e<=r)return!0;break}return!1}function uc(e,t){var r=lc(e),n=r.length,a=r[n-1].indexOf(\\\"@\\\");if(n<4&&a>-1&&--n,r.length>4)throw new Error(\\\"cannot find right format for |\\\"+r.join(\\\"|\\\")+\\\"|\\\");if(typeof t!=\\\"number\\\")return[4,r.length===4||a>-1?r[r.length-1]:\\\"@\\\"];switch(r.length){case 1:r=a>-1?[\\\"General\\\",\\\"General\\\",\\\"General\\\",r[0]]:[r[0],r[0],r[0],\\\"@\\\"];break;case 2:r=a>-1?[r[0],r[0],r[0],r[1]]:[r[0],r[1],r[0],\\\"@\\\"];break;case 3:r=a>-1?[r[0],r[1],r[0],r[2]]:[r[0],r[1],r[2],\\\"@\\\"];break;case 4:break}var i=t>0?r[0]:t<0?r[1]:r[2];if(r[0].indexOf(\\\"[\\\")===-1&&r[1].indexOf(\\\"[\\\")===-1)return[n,i];if(r[0].match(/\\\\[[=<>]/)!=null||r[1].match(/\\\\[[=<>]/)!=null){var f=r[0].match(A0),s=r[1].match(A0);return C0(t,f)?[n,r[0]]:C0(t,s)?[n,r[1]]:[n,r[f!=null&&s!=null?2:1]]}return[n,i]}function Or(e,t,r){r==null&&(r={});var n=\\\"\\\";switch(typeof e){case\\\"string\\\":e==\\\"m/d/yy\\\"&&r.dateNF?n=r.dateNF:n=e;break;case\\\"number\\\":e==14&&r.dateNF?n=r.dateNF:n=(r.table!=null?r.table:Se)[e],n==null&&(n=r.table&&r.table[S0[e]]||Se[S0[e]]),n==null&&(n=$f[e]||\\\"General\\\");break}if(ba(n,0))return dt(t,r);t instanceof Date&&(t=yi(t,r.date1904));var a=uc(n,t);if(ba(a[1]))return dt(t,r);if(t===!0)t=\\\"TRUE\\\";else if(t===!1)t=\\\"FALSE\\\";else if(t===\\\"\\\"||t==null)return\\\"\\\";return hc(a[1],t,r,a[0])}function ut(e,t){if(typeof t!=\\\"number\\\"){t=+t||-1;for(var r=0;r<392;++r){if(Se[r]==null){t<0&&(t=r);continue}if(Se[r]==e){t=r;break}}t<0&&(t=391)}return Se[t]=e,t}function Pi(){Se=Kf()}var xc={5:'\\\"$\\\"#,##0_);\\\\\\\\(\\\"$\\\"#,##0\\\\\\\\)',6:'\\\"$\\\"#,##0_);[Red]\\\\\\\\(\\\"$\\\"#,##0\\\\\\\\)',7:'\\\"$\\\"#,##0.00_);\\\\\\\\(\\\"$\\\"#,##0.00\\\\\\\\)',8:'\\\"$\\\"#,##0.00_);[Red]\\\\\\\\(\\\"$\\\"#,##0.00\\\\\\\\)',23:\\\"General\\\",24:\\\"General\\\",25:\\\"General\\\",26:\\\"General\\\",27:\\\"m/d/yy\\\",28:\\\"m/d/yy\\\",29:\\\"m/d/yy\\\",30:\\\"m/d/yy\\\",31:\\\"m/d/yy\\\",32:\\\"h:mm:ss\\\",33:\\\"h:mm:ss\\\",34:\\\"h:mm:ss\\\",35:\\\"h:mm:ss\\\",36:\\\"m/d/yy\\\",41:'_(* #,##0_);_(* (#,##0);_(* \\\"-\\\"_);_(@_)',42:'_(\\\"$\\\"* #,##0_);_(\\\"$\\\"* (#,##0);_(\\\"$\\\"* \\\"-\\\"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* \\\"-\\\"??_);_(@_)',44:'_(\\\"$\\\"* #,##0.00_);_(\\\"$\\\"* (#,##0.00);_(\\\"$\\\"* \\\"-\\\"??_);_(@_)',50:\\\"m/d/yy\\\",51:\\\"m/d/yy\\\",52:\\\"m/d/yy\\\",53:\\\"m/d/yy\\\",54:\\\"m/d/yy\\\",55:\\\"m/d/yy\\\",56:\\\"m/d/yy\\\",57:\\\"m/d/yy\\\",58:\\\"m/d/yy\\\",59:\\\"0\\\",60:\\\"0.00\\\",61:\\\"#,##0\\\",62:\\\"#,##0.00\\\",63:'\\\"$\\\"#,##0_);\\\\\\\\(\\\"$\\\"#,##0\\\\\\\\)',64:'\\\"$\\\"#,##0_);[Red]\\\\\\\\(\\\"$\\\"#,##0\\\\\\\\)',65:'\\\"$\\\"#,##0.00_);\\\\\\\\(\\\"$\\\"#,##0.00\\\\\\\\)',66:'\\\"$\\\"#,##0.00_);[Red]\\\\\\\\(\\\"$\\\"#,##0.00\\\\\\\\)',67:\\\"0%\\\",68:\\\"0.00%\\\",69:\\\"# ?/?\\\",70:\\\"# ??/??\\\",71:\\\"m/d/yy\\\",72:\\\"m/d/yy\\\",73:\\\"d-mmm-yy\\\",74:\\\"d-mmm\\\",75:\\\"mmm-yy\\\",76:\\\"h:mm\\\",77:\\\"h:mm:ss\\\",78:\\\"m/d/yy h:mm\\\",79:\\\"mm:ss\\\",80:\\\"[h]:mm:ss\\\",81:\\\"mmss.0\\\"},Li=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function dc(e){var t=typeof e==\\\"number\\\"?Se[e]:e;return t=t.replace(Li,\\\"(\\\\\\\\d+)\\\"),new RegExp(\\\"^\\\"+t+\\\"$\\\")}function pc(e,t,r){var n=-1,a=-1,i=-1,f=-1,s=-1,c=-1;(t.match(Li)||[]).forEach(function(h,x){var d=parseInt(r[x+1],10);switch(h.toLowerCase().charAt(0)){case\\\"y\\\":n=d;break;case\\\"d\\\":i=d;break;case\\\"h\\\":f=d;break;case\\\"s\\\":c=d;break;case\\\"m\\\":f>=0?s=d:a=d;break}}),c>=0&&s==-1&&a>=0&&(s=a,a=-1);var l=(\\\"\\\"+(n>=0?n:new Date().getFullYear())).slice(-4)+\\\"-\\\"+(\\\"00\\\"+(a>=1?a:1)).slice(-2)+\\\"-\\\"+(\\\"00\\\"+(i>=1?i:1)).slice(-2);l.length==7&&(l=\\\"0\\\"+l),l.length==8&&(l=\\\"20\\\"+l);var o=(\\\"00\\\"+(f>=0?f:0)).slice(-2)+\\\":\\\"+(\\\"00\\\"+(s>=0?s:0)).slice(-2)+\\\":\\\"+(\\\"00\\\"+(c>=0?c:0)).slice(-2);return f==-1&&s==-1&&c==-1?l:n==-1&&a==-1&&i==-1?o:l+\\\"T\\\"+o}var vc=(function(){var e={};e.version=\\\"1.2.0\\\";function t(){for(var w=0,P=new Array(256),R=0;R!=256;++R)w=R,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,P[R]=w;return typeof Int32Array<\\\"u\\\"?new Int32Array(P):P}var r=t();function n(w){var P=0,R=0,M=0,I=typeof Int32Array<\\\"u\\\"?new Int32Array(4096):new Array(4096);for(M=0;M!=256;++M)I[M]=w[M];for(M=0;M!=256;++M)for(R=w[M],P=256+M;P<4096;P+=256)R=I[P]=R>>>8^w[R&255];var v=[];for(M=1;M!=16;++M)v[M-1]=typeof Int32Array<\\\"u\\\"?I.subarray(M*256,M*256+256):I.slice(M*256,M*256+256);return v}var a=n(r),i=a[0],f=a[1],s=a[2],c=a[3],l=a[4],o=a[5],h=a[6],x=a[7],d=a[8],p=a[9],u=a[10],g=a[11],N=a[12],D=a[13],k=a[14];function W(w,P){for(var R=P^-1,M=0,I=w.length;M<I;)R=R>>>8^r[(R^w.charCodeAt(M++))&255];return~R}function J(w,P){for(var R=P^-1,M=w.length-15,I=0;I<M;)R=k[w[I++]^R&255]^D[w[I++]^R>>8&255]^N[w[I++]^R>>16&255]^g[w[I++]^R>>>24]^u[w[I++]]^p[w[I++]]^d[w[I++]]^x[w[I++]]^h[w[I++]]^o[w[I++]]^l[w[I++]]^c[w[I++]]^s[w[I++]]^f[w[I++]]^i[w[I++]]^r[w[I++]];for(M+=15;I<M;)R=R>>>8^r[(R^w[I++])&255];return~R}function T(w,P){for(var R=P^-1,M=0,I=w.length,v=0,_=0;M<I;)v=w.charCodeAt(M++),v<128?R=R>>>8^r[(R^v)&255]:v<2048?(R=R>>>8^r[(R^(192|v>>6&31))&255],R=R>>>8^r[(R^(128|v&63))&255]):v>=55296&&v<57344?(v=(v&1023)+64,_=w.charCodeAt(M++)&1023,R=R>>>8^r[(R^(240|v>>8&7))&255],R=R>>>8^r[(R^(128|v>>2&63))&255],R=R>>>8^r[(R^(128|_>>6&15|(v&3)<<4))&255],R=R>>>8^r[(R^(128|_&63))&255]):(R=R>>>8^r[(R^(224|v>>12&15))&255],R=R>>>8^r[(R^(128|v>>6&63))&255],R=R>>>8^r[(R^(128|v&63))&255]);return~R}return e.table=r,e.bstr=W,e.buf=J,e.str=T,e})(),Oe=(function(){var t={};t.version=\\\"1.2.1\\\";function r(m,F){for(var E=m.split(\\\"/\\\"),S=F.split(\\\"/\\\"),y=0,C=0,G=Math.min(E.length,S.length);y<G;++y){if(C=E[y].length-S[y].length)return C;if(E[y]!=S[y])return E[y]<S[y]?-1:1}return E.length-S.length}function n(m){if(m.charAt(m.length-1)==\\\"/\\\")return m.slice(0,-1).indexOf(\\\"/\\\")===-1?m:n(m.slice(0,-1));var F=m.lastIndexOf(\\\"/\\\");return F===-1?m:m.slice(0,F+1)}function a(m){if(m.charAt(m.length-1)==\\\"/\\\")return a(m.slice(0,-1));var F=m.lastIndexOf(\\\"/\\\");return F===-1?m:m.slice(F+1)}function i(m,F){typeof F==\\\"string\\\"&&(F=new Date(F));var E=F.getHours();E=E<<6|F.getMinutes(),E=E<<5|F.getSeconds()>>>1,m.write_shift(2,E);var S=F.getFullYear()-1980;S=S<<4|F.getMonth()+1,S=S<<5|F.getDate(),m.write_shift(2,S)}function f(m){var F=m.read_shift(2)&65535,E=m.read_shift(2)&65535,S=new Date,y=E&31;E>>>=5;var C=E&15;E>>>=4,S.setMilliseconds(0),S.setFullYear(E+1980),S.setMonth(C-1),S.setDate(y);var G=F&31;F>>>=5;var q=F&63;return F>>>=6,S.setHours(F),S.setMinutes(q),S.setSeconds(G<<1),S}function s(m){nr(m,0);for(var F={},E=0;m.l<=m.length-4;){var S=m.read_shift(2),y=m.read_shift(2),C=m.l+y,G={};S===21589&&(E=m.read_shift(1),E&1&&(G.mtime=m.read_shift(4)),y>5&&(E&2&&(G.atime=m.read_shift(4)),E&4&&(G.ctime=m.read_shift(4))),G.mtime&&(G.mt=new Date(G.mtime*1e3))),m.l=C,F[S]=G}return F}var c;function l(){return c||(c={})}function o(m,F){if(m[0]==80&&m[1]==75)return Qr(m,F);if((m[0]|32)==109&&(m[1]|32)==105)return df(m,F);if(m.length<512)throw new Error(\\\"CFB file size \\\"+m.length+\\\" < 512\\\");var E=3,S=512,y=0,C=0,G=0,q=0,j=0,z=[],Y=m.slice(0,512);nr(Y,0);var ie=h(Y);switch(E=ie[0],E){case 3:S=512;break;case 4:S=4096;break;case 0:if(ie[1]==0)return Qr(m,F);default:throw new Error(\\\"Major Version: Expected 3 or 4 saw \\\"+E)}S!==512&&(Y=m.slice(0,S),nr(Y,28));var fe=m.slice(0,S);x(Y,E);var ue=Y.read_shift(4,\\\"i\\\");if(E===3&&ue!==0)throw new Error(\\\"# Directory Sectors: Expected 0 saw \\\"+ue);Y.l+=4,G=Y.read_shift(4,\\\"i\\\"),Y.l+=4,Y.chk(\\\"00100000\\\",\\\"Mini Stream Cutoff Size: \\\"),q=Y.read_shift(4,\\\"i\\\"),y=Y.read_shift(4,\\\"i\\\"),j=Y.read_shift(4,\\\"i\\\"),C=Y.read_shift(4,\\\"i\\\");for(var ce=-1,oe=0;oe<109&&(ce=Y.read_shift(4,\\\"i\\\"),!(ce<0));++oe)z[oe]=ce;var Ee=d(m,S);g(j,C,Ee,S,z);var Me=D(Ee,G,z,S);Me[G].name=\\\"!Directory\\\",y>0&&q!==_&&(Me[q].name=\\\"!MiniFAT\\\"),Me[z[0]].name=\\\"!FAT\\\",Me.fat_addrs=z,Me.ssz=S;var kr={},je=[],Sr=[],Bt=[];k(G,Me,Ee,je,y,kr,Sr,q),p(Sr,Bt,je),je.shift();var Mt={FileIndex:Sr,FullPaths:Bt};return F&&F.raw&&(Mt.raw={header:fe,sectors:Ee}),Mt}function h(m){if(m[m.l]==80&&m[m.l+1]==75)return[0,0];m.chk(U,\\\"Header Signature: \\\"),m.l+=16;var F=m.read_shift(2,\\\"u\\\");return[m.read_shift(2,\\\"u\\\"),F]}function x(m,F){var E=9;switch(m.l+=2,E=m.read_shift(2)){case 9:if(F!=3)throw new Error(\\\"Sector Shift: Expected 9 saw \\\"+E);break;case 12:if(F!=4)throw new Error(\\\"Sector Shift: Expected 12 saw \\\"+E);break;default:throw new Error(\\\"Sector Shift: Expected 9 or 12 saw \\\"+E)}m.chk(\\\"0600\\\",\\\"Mini Sector Shift: \\\"),m.chk(\\\"000000000000\\\",\\\"Reserved: \\\")}function d(m,F){for(var E=Math.ceil(m.length/F)-1,S=[],y=1;y<E;++y)S[y-1]=m.slice(y*F,(y+1)*F);return S[E-1]=m.slice(E*F),S}function p(m,F,E){for(var S=0,y=0,C=0,G=0,q=0,j=E.length,z=[],Y=[];S<j;++S)z[S]=Y[S]=S,F[S]=E[S];for(;q<Y.length;++q)S=Y[q],y=m[S].L,C=m[S].R,G=m[S].C,z[S]===S&&(y!==-1&&z[y]!==y&&(z[S]=z[y]),C!==-1&&z[C]!==C&&(z[S]=z[C])),G!==-1&&(z[G]=S),y!==-1&&S!=z[S]&&(z[y]=z[S],Y.lastIndexOf(y)<q&&Y.push(y)),C!==-1&&S!=z[S]&&(z[C]=z[S],Y.lastIndexOf(C)<q&&Y.push(C));for(S=1;S<j;++S)z[S]===S&&(C!==-1&&z[C]!==C?z[S]=z[C]:y!==-1&&z[y]!==y&&(z[S]=z[y]));for(S=1;S<j;++S)if(m[S].type!==0){if(q=S,q!=z[q])do q=z[q],F[S]=F[q]+\\\"/\\\"+F[S];while(q!==0&&z[q]!==-1&&q!=z[q]);z[S]=-1}for(F[0]+=\\\"/\\\",S=1;S<j;++S)m[S].type!==2&&(F[S]+=\\\"/\\\")}function u(m,F,E){for(var S=m.start,y=m.size,C=[],G=S;E&&y>0&&G>=0;)C.push(F.slice(G*v,G*v+v)),y-=v,G=lt(E,G*4);return C.length===0?Je(0):rt(C).slice(0,m.size)}function g(m,F,E,S,y){var C=_;if(m===_){if(F!==0)throw new Error(\\\"DIFAT chain shorter than expected\\\")}else if(m!==-1){var G=E[m],q=(S>>>2)-1;if(!G)return;for(var j=0;j<q&&(C=lt(G,j*4))!==_;++j)y.push(C);g(lt(G,S-4),F-1,E,S,y)}}function N(m,F,E,S,y){var C=[],G=[];y||(y=[]);var q=S-1,j=0,z=0;for(j=F;j>=0;){y[j]=!0,C[C.length]=j,G.push(m[j]);var Y=E[Math.floor(j*4/S)];if(z=j*4&q,S<4+z)throw new Error(\\\"FAT boundary crossed: \\\"+j+\\\" 4 \\\"+S);if(!m[Y])break;j=lt(m[Y],z)}return{nodes:C,data:U0([G])}}function D(m,F,E,S){var y=m.length,C=[],G=[],q=[],j=[],z=S-1,Y=0,ie=0,fe=0,ue=0;for(Y=0;Y<y;++Y)if(q=[],fe=Y+F,fe>=y&&(fe-=y),!G[fe]){j=[];var ce=[];for(ie=fe;ie>=0;){ce[ie]=!0,G[ie]=!0,q[q.length]=ie,j.push(m[ie]);var oe=E[Math.floor(ie*4/S)];if(ue=ie*4&z,S<4+ue)throw new Error(\\\"FAT boundary crossed: \\\"+ie+\\\" 4 \\\"+S);if(!m[oe]||(ie=lt(m[oe],ue),ce[ie]))break}C[fe]={nodes:q,data:U0([j])}}return C}function k(m,F,E,S,y,C,G,q){for(var j=0,z=S.length?2:0,Y=F[m].data,ie=0,fe=0,ue;ie<Y.length;ie+=128){var ce=Y.slice(ie,ie+128);nr(ce,64),fe=ce.read_shift(2),ue=Ga(ce,0,fe-z),S.push(ue);var oe={name:ue,type:ce.read_shift(1),color:ce.read_shift(1),L:ce.read_shift(4,\\\"i\\\"),R:ce.read_shift(4,\\\"i\\\"),C:ce.read_shift(4,\\\"i\\\"),clsid:ce.read_shift(16),state:ce.read_shift(4,\\\"i\\\"),start:0,size:0},Ee=ce.read_shift(2)+ce.read_shift(2)+ce.read_shift(2)+ce.read_shift(2);Ee!==0&&(oe.ct=W(ce,ce.l-8));var Me=ce.read_shift(2)+ce.read_shift(2)+ce.read_shift(2)+ce.read_shift(2);Me!==0&&(oe.mt=W(ce,ce.l-8)),oe.start=ce.read_shift(4,\\\"i\\\"),oe.size=ce.read_shift(4,\\\"i\\\"),oe.size<0&&oe.start<0&&(oe.size=oe.type=0,oe.start=_,oe.name=\\\"\\\"),oe.type===5?(j=oe.start,y>0&&j!==_&&(F[j].name=\\\"!StreamData\\\")):oe.size>=4096?(oe.storage=\\\"fat\\\",F[oe.start]===void 0&&(F[oe.start]=N(E,oe.start,F.fat_addrs,F.ssz)),F[oe.start].name=oe.name,oe.content=F[oe.start].data.slice(0,oe.size)):(oe.storage=\\\"minifat\\\",oe.size<0?oe.size=0:j!==_&&oe.start!==_&&F[j]&&(oe.content=u(oe,F[j].data,(F[q]||{}).data))),oe.content&&nr(oe.content,0),C[ue]=oe,G.push(oe)}}function W(m,F){return new Date((tr(m,F+4)/1e7*Math.pow(2,32)+tr(m,F)/1e7-11644473600)*1e3)}function J(m,F){return l(),o(c.readFileSync(m),F)}function T(m,F){var E=F&&F.type;switch(E||Ce&&Buffer.isBuffer(m)&&(E=\\\"buffer\\\"),E||\\\"base64\\\"){case\\\"file\\\":return J(m,F);case\\\"base64\\\":return o(Pr(yr(m)),F);case\\\"binary\\\":return o(Pr(m),F)}return o(m,F)}function w(m,F){var E=F||{},S=E.root||\\\"Root Entry\\\";if(m.FullPaths||(m.FullPaths=[]),m.FileIndex||(m.FileIndex=[]),m.FullPaths.length!==m.FileIndex.length)throw new Error(\\\"inconsistent CFB structure\\\");m.FullPaths.length===0&&(m.FullPaths[0]=S+\\\"/\\\",m.FileIndex[0]={name:S,type:5}),E.CLSID&&(m.FileIndex[0].clsid=E.CLSID),P(m)}function P(m){var F=\\\"\\u0001Sh33tJ5\\\";if(!Oe.find(m,\\\"/\\\"+F)){var E=Je(4);E[0]=55,E[1]=E[3]=50,E[2]=54,m.FileIndex.push({name:F,type:2,content:E,size:4,L:69,R:69,C:69}),m.FullPaths.push(m.FullPaths[0]+F),R(m)}}function R(m,F){w(m);for(var E=!1,S=!1,y=m.FullPaths.length-1;y>=0;--y){var C=m.FileIndex[y];switch(C.type){case 0:S?E=!0:(m.FileIndex.pop(),m.FullPaths.pop());break;case 1:case 2:case 5:S=!0,isNaN(C.R*C.L*C.C)&&(E=!0),C.R>-1&&C.L>-1&&C.R==C.L&&(E=!0);break;default:E=!0;break}}if(!(!E&&!F)){var G=new Date(1987,1,19),q=0,j=Object.create?Object.create(null):{},z=[];for(y=0;y<m.FullPaths.length;++y)j[m.FullPaths[y]]=!0,m.FileIndex[y].type!==0&&z.push([m.FullPaths[y],m.FileIndex[y]]);for(y=0;y<z.length;++y){var Y=n(z[y][0]);S=j[Y],S||(z.push([Y,{name:a(Y).replace(\\\"/\\\",\\\"\\\"),type:1,clsid:Z,ct:G,mt:G,content:null}]),j[Y]=!0)}for(z.sort(function(ue,ce){return r(ue[0],ce[0])}),m.FullPaths=[],m.FileIndex=[],y=0;y<z.length;++y)m.FullPaths[y]=z[y][0],m.FileIndex[y]=z[y][1];for(y=0;y<z.length;++y){var ie=m.FileIndex[y],fe=m.FullPaths[y];if(ie.name=a(fe).replace(\\\"/\\\",\\\"\\\"),ie.L=ie.R=ie.C=-(ie.color=1),ie.size=ie.content?ie.content.length:0,ie.start=0,ie.clsid=ie.clsid||Z,y===0)ie.C=z.length>1?1:-1,ie.size=0,ie.type=5;else if(fe.slice(-1)==\\\"/\\\"){for(q=y+1;q<z.length&&n(m.FullPaths[q])!=fe;++q);for(ie.C=q>=z.length?-1:q,q=y+1;q<z.length&&n(m.FullPaths[q])!=n(fe);++q);ie.R=q>=z.length?-1:q,ie.type=1}else n(m.FullPaths[y+1]||\\\"\\\")==n(fe)&&(ie.R=y+1),ie.type=2}}}function M(m,F){var E=F||{};if(E.fileType==\\\"mad\\\")return pf(m,E);if(R(m),E.fileType===\\\"zip\\\")return cf(m,E);var S=(function(ue){for(var ce=0,oe=0,Ee=0;Ee<ue.FileIndex.length;++Ee){var Me=ue.FileIndex[Ee];if(Me.content){var kr=Me.content.length;kr>0&&(kr<4096?ce+=kr+63>>6:oe+=kr+511>>9)}}for(var je=ue.FullPaths.length+3>>2,Sr=ce+7>>3,Bt=ce+127>>7,Mt=Sr+oe+je+Bt,ct=Mt+127>>7,Ja=ct<=109?0:Math.ceil((ct-109)/127);Mt+ct+Ja+127>>7>ct;)Ja=++ct<=109?0:Math.ceil((ct-109)/127);var jr=[1,Ja,ct,Bt,je,oe,ce,0];return ue.FileIndex[0].size=ce<<6,jr[7]=(ue.FileIndex[0].start=jr[0]+jr[1]+jr[2]+jr[3]+jr[4]+jr[5])+(jr[6]+7>>3),jr})(m),y=Je(S[7]<<9),C=0,G=0;{for(C=0;C<8;++C)y.write_shift(1,V[C]);for(C=0;C<8;++C)y.write_shift(2,0);for(y.write_shift(2,62),y.write_shift(2,3),y.write_shift(2,65534),y.write_shift(2,9),y.write_shift(2,6),C=0;C<3;++C)y.write_shift(2,0);for(y.write_shift(4,0),y.write_shift(4,S[2]),y.write_shift(4,S[0]+S[1]+S[2]+S[3]-1),y.write_shift(4,0),y.write_shift(4,4096),y.write_shift(4,S[3]?S[0]+S[1]+S[2]-1:_),y.write_shift(4,S[3]),y.write_shift(-4,S[1]?S[0]-1:_),y.write_shift(4,S[1]),C=0;C<109;++C)y.write_shift(-4,C<S[2]?S[1]+C:-1)}if(S[1])for(G=0;G<S[1];++G){for(;C<236+G*127;++C)y.write_shift(-4,C<S[2]?S[1]+C:-1);y.write_shift(-4,G===S[1]-1?_:G+1)}var q=function(ue){for(G+=ue;C<G-1;++C)y.write_shift(-4,C+1);ue&&(++C,y.write_shift(-4,_))};for(G=C=0,G+=S[1];C<G;++C)y.write_shift(-4,ee.DIFSECT);for(G+=S[2];C<G;++C)y.write_shift(-4,ee.FATSECT);q(S[3]),q(S[4]);for(var j=0,z=0,Y=m.FileIndex[0];j<m.FileIndex.length;++j)Y=m.FileIndex[j],Y.content&&(z=Y.content.length,!(z<4096)&&(Y.start=G,q(z+511>>9)));for(q(S[6]+7>>3);y.l&511;)y.write_shift(-4,ee.ENDOFCHAIN);for(G=C=0,j=0;j<m.FileIndex.length;++j)Y=m.FileIndex[j],Y.content&&(z=Y.content.length,!(!z||z>=4096)&&(Y.start=G,q(z+63>>6)));for(;y.l&511;)y.write_shift(-4,ee.ENDOFCHAIN);for(C=0;C<S[4]<<2;++C){var ie=m.FullPaths[C];if(!ie||ie.length===0){for(j=0;j<17;++j)y.write_shift(4,0);for(j=0;j<3;++j)y.write_shift(4,-1);for(j=0;j<12;++j)y.write_shift(4,0);continue}Y=m.FileIndex[C],C===0&&(Y.start=Y.size?Y.start-1:_);var fe=C===0&&E.root||Y.name;if(z=2*(fe.length+1),y.write_shift(64,fe,\\\"utf16le\\\"),y.write_shift(2,z),y.write_shift(1,Y.type),y.write_shift(1,Y.color),y.write_shift(-4,Y.L),y.write_shift(-4,Y.R),y.write_shift(-4,Y.C),Y.clsid)y.write_shift(16,Y.clsid,\\\"hex\\\");else for(j=0;j<4;++j)y.write_shift(4,0);y.write_shift(4,Y.state||0),y.write_shift(4,0),y.write_shift(4,0),y.write_shift(4,0),y.write_shift(4,0),y.write_shift(4,Y.start),y.write_shift(4,Y.size),y.write_shift(4,0)}for(C=1;C<m.FileIndex.length;++C)if(Y=m.FileIndex[C],Y.size>=4096)if(y.l=Y.start+1<<9,Ce&&Buffer.isBuffer(Y.content))Y.content.copy(y,y.l,0,Y.size),y.l+=Y.size+511&-512;else{for(j=0;j<Y.size;++j)y.write_shift(1,Y.content[j]);for(;j&511;++j)y.write_shift(1,0)}for(C=1;C<m.FileIndex.length;++C)if(Y=m.FileIndex[C],Y.size>0&&Y.size<4096)if(Ce&&Buffer.isBuffer(Y.content))Y.content.copy(y,y.l,0,Y.size),y.l+=Y.size+63&-64;else{for(j=0;j<Y.size;++j)y.write_shift(1,Y.content[j]);for(;j&63;++j)y.write_shift(1,0)}if(Ce)y.l=y.length;else for(;y.l<y.length;)y.write_shift(1,0);return y}function I(m,F){var E=m.FullPaths.map(function(j){return j.toUpperCase()}),S=E.map(function(j){var z=j.split(\\\"/\\\");return z[z.length-(j.slice(-1)==\\\"/\\\"?2:1)]}),y=!1;F.charCodeAt(0)===47?(y=!0,F=E[0].slice(0,-1)+F):y=F.indexOf(\\\"/\\\")!==-1;var C=F.toUpperCase(),G=y===!0?E.indexOf(C):S.indexOf(C);if(G!==-1)return m.FileIndex[G];var q=!C.match(Ht);for(C=C.replace(ur,\\\"\\\"),q&&(C=C.replace(Ht,\\\"!\\\")),G=0;G<E.length;++G)if((q?E[G].replace(Ht,\\\"!\\\"):E[G]).replace(ur,\\\"\\\")==C||(q?S[G].replace(Ht,\\\"!\\\"):S[G]).replace(ur,\\\"\\\")==C)return m.FileIndex[G];return null}var v=64,_=-2,U=\\\"d0cf11e0a1b11ae1\\\",V=[208,207,17,224,161,177,26,225],Z=\\\"00000000000000000000000000000000\\\",ee={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:_,FREESECT:-1,HEADER_SIGNATURE:U,HEADER_MINOR_VERSION:\\\"3e00\\\",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:Z,EntryTypes:[\\\"unknown\\\",\\\"storage\\\",\\\"stream\\\",\\\"lockbytes\\\",\\\"property\\\",\\\"root\\\"]};function ne(m,F,E){l();var S=M(m,E);c.writeFileSync(F,S)}function H(m){for(var F=new Array(m.length),E=0;E<m.length;++E)F[E]=String.fromCharCode(m[E]);return F.join(\\\"\\\")}function te(m,F){var E=M(m,F);switch(F&&F.type||\\\"buffer\\\"){case\\\"file\\\":return l(),c.writeFileSync(F.filename,E),E;case\\\"binary\\\":return typeof E==\\\"string\\\"?E:H(E);case\\\"base64\\\":return w0(typeof E==\\\"string\\\"?E:H(E));case\\\"buffer\\\":if(Ce)return Buffer.isBuffer(E)?E:mt(E);case\\\"array\\\":return typeof E==\\\"string\\\"?Pr(E):E}return E}var K;function A(m){try{var F=m.InflateRaw,E=new F;if(E._processChunk(new Uint8Array([3,0]),E._finishFlushFlag),E.bytesRead)K=m;else throw new Error(\\\"zlib does not expose bytesRead\\\")}catch(S){console.error(\\\"cannot use native zlib: \\\"+(S.message||S))}}function B(m,F){if(!K)return zr(m,F);var E=K.InflateRaw,S=new E,y=S._processChunk(m.slice(m.l),S._finishFlushFlag);return m.l+=S.bytesRead,y}function L(m){return K?K.deflateRawSync(m):_e(m)}var b=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],X=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],le=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577];function re(m){var F=(m<<1|m<<11)&139536|(m<<5|m<<15)&558144;return(F>>16|F>>8|F)&255}for(var ae=typeof Uint8Array<\\\"u\\\",Q=ae?new Uint8Array(256):[],pe=0;pe<256;++pe)Q[pe]=re(pe);function O(m,F){var E=Q[m&255];return F<=8?E>>>8-F:(E=E<<8|Q[m>>8&255],F<=16?E>>>16-F:(E=E<<8|Q[m>>16&255],E>>>24-F))}function Fe(m,F){var E=F&7,S=F>>>3;return(m[S]|(E<=6?0:m[S+1]<<8))>>>E&3}function we(m,F){var E=F&7,S=F>>>3;return(m[S]|(E<=5?0:m[S+1]<<8))>>>E&7}function ve(m,F){var E=F&7,S=F>>>3;return(m[S]|(E<=4?0:m[S+1]<<8))>>>E&15}function ke(m,F){var E=F&7,S=F>>>3;return(m[S]|(E<=3?0:m[S+1]<<8))>>>E&31}function se(m,F){var E=F&7,S=F>>>3;return(m[S]|(E<=1?0:m[S+1]<<8))>>>E&127}function he(m,F,E){var S=F&7,y=F>>>3,C=(1<<E)-1,G=m[y]>>>S;return E<8-S||(G|=m[y+1]<<8-S,E<16-S)||(G|=m[y+2]<<16-S,E<24-S)||(G|=m[y+3]<<24-S),G&C}function xe(m,F,E){var S=F&7,y=F>>>3;return S<=5?m[y]|=(E&7)<<S:(m[y]|=E<<S&255,m[y+1]=(E&7)>>8-S),F+3}function ge(m,F,E){var S=F&7,y=F>>>3;return E=(E&1)<<S,m[y]|=E,F+1}function be(m,F,E){var S=F&7,y=F>>>3;return E<<=S,m[y]|=E&255,E>>>=8,m[y+1]=E,F+8}function de(m,F,E){var S=F&7,y=F>>>3;return E<<=S,m[y]|=E&255,E>>>=8,m[y+1]=E&255,m[y+2]=E>>>8,F+16}function Re(m,F){var E=m.length,S=2*E>F?2*E:F+5,y=0;if(E>=F)return m;if(Ce){var C=k0(S);if(m.copy)m.copy(C);else for(;y<m.length;++y)C[y]=m[y];return C}else if(ae){var G=new Uint8Array(S);if(G.set)G.set(m);else for(;y<E;++y)G[y]=m[y];return G}return m.length=S,m}function Ne(m){for(var F=new Array(m),E=0;E<m;++E)F[E]=0;return F}function Pe(m,F,E){var S=1,y=0,C=0,G=0,q=0,j=m.length,z=ae?new Uint16Array(32):Ne(32);for(C=0;C<32;++C)z[C]=0;for(C=j;C<E;++C)m[C]=0;j=m.length;var Y=ae?new Uint16Array(j):Ne(j);for(C=0;C<j;++C)z[y=m[C]]++,S<y&&(S=y),Y[C]=0;for(z[0]=0,C=1;C<=S;++C)z[C+16]=q=q+z[C-1]<<1;for(C=0;C<j;++C)q=m[C],q!=0&&(Y[C]=z[q+16]++);var ie=0;for(C=0;C<j;++C)if(ie=m[C],ie!=0)for(q=O(Y[C],S)>>S-ie,G=(1<<S+4-ie)-1;G>=0;--G)F[q|G<<ie]=ie&15|C<<4;return S}var fr=ae?new Uint16Array(512):Ne(512),wr=ae?new Uint16Array(32):Ne(32);if(!ae){for(var Ge=0;Ge<512;++Ge)fr[Ge]=0;for(Ge=0;Ge<32;++Ge)wr[Ge]=0}(function(){for(var m=[],F=0;F<32;F++)m.push(5);Pe(m,wr,32);var E=[];for(F=0;F<=143;F++)E.push(8);for(;F<=255;F++)E.push(9);for(;F<=279;F++)E.push(7);for(;F<=287;F++)E.push(8);Pe(E,fr,288)})();var er=(function(){for(var F=ae?new Uint8Array(32768):[],E=0,S=0;E<le.length-1;++E)for(;S<le[E+1];++S)F[S]=E;for(;S<32768;++S)F[S]=29;var y=ae?new Uint8Array(259):[];for(E=0,S=0;E<X.length-1;++E)for(;S<X[E+1];++S)y[S]=E;function C(q,j){for(var z=0;z<q.length;){var Y=Math.min(65535,q.length-z),ie=z+Y==q.length;for(j.write_shift(1,+ie),j.write_shift(2,Y),j.write_shift(2,~Y&65535);Y-- >0;)j[j.l++]=q[z++]}return j.l}function G(q,j){for(var z=0,Y=0,ie=ae?new Uint16Array(32768):[];Y<q.length;){var fe=Math.min(65535,q.length-Y);if(fe<10){for(z=xe(j,z,+(Y+fe==q.length)),z&7&&(z+=8-(z&7)),j.l=z/8|0,j.write_shift(2,fe),j.write_shift(2,~fe&65535);fe-- >0;)j[j.l++]=q[Y++];z=j.l*8;continue}z=xe(j,z,+(Y+fe==q.length)+2);for(var ue=0;fe-- >0;){var ce=q[Y];ue=(ue<<5^ce)&32767;var oe=-1,Ee=0;if((oe=ie[ue])&&(oe|=Y&-32768,oe>Y&&(oe-=32768),oe<Y))for(;q[oe+Ee]==q[Y+Ee]&&Ee<250;)++Ee;if(Ee>2){ce=y[Ee],ce<=22?z=be(j,z,Q[ce+1]>>1)-1:(be(j,z,3),z+=5,be(j,z,Q[ce-23]>>5),z+=3);var Me=ce<8?0:ce-4>>2;Me>0&&(de(j,z,Ee-X[ce]),z+=Me),ce=F[Y-oe],z=be(j,z,Q[ce]>>3),z-=3;var kr=ce<4?0:ce-2>>1;kr>0&&(de(j,z,Y-oe-le[ce]),z+=kr);for(var je=0;je<Ee;++je)ie[ue]=Y&32767,ue=(ue<<5^q[Y])&32767,++Y;fe-=Ee-1}else ce<=143?ce=ce+48:z=ge(j,z,1),z=be(j,z,Q[ce]),ie[ue]=Y&32767,++Y}z=be(j,z,0)-1}return j.l=(z+7)/8|0,j.l}return function(j,z){return j.length<8?C(j,z):G(j,z)}})();function _e(m){var F=Je(50+Math.floor(m.length*1.1)),E=er(m,F);return F.slice(0,E)}var ye=ae?new Uint16Array(32768):Ne(32768),We=ae?new Uint16Array(32768):Ne(32768),Ae=ae?new Uint16Array(128):Ne(128),He=1,br=1;function Lt(m,F){var E=ke(m,F)+257;F+=5;var S=ke(m,F)+1;F+=5;var y=ve(m,F)+4;F+=4;for(var C=0,G=ae?new Uint8Array(19):Ne(19),q=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],j=1,z=ae?new Uint8Array(8):Ne(8),Y=ae?new Uint8Array(8):Ne(8),ie=G.length,fe=0;fe<y;++fe)G[b[fe]]=C=we(m,F),j<C&&(j=C),z[C]++,F+=3;var ue=0;for(z[0]=0,fe=1;fe<=j;++fe)Y[fe]=ue=ue+z[fe-1]<<1;for(fe=0;fe<ie;++fe)(ue=G[fe])!=0&&(q[fe]=Y[ue]++);var ce=0;for(fe=0;fe<ie;++fe)if(ce=G[fe],ce!=0){ue=Q[q[fe]]>>8-ce;for(var oe=(1<<7-ce)-1;oe>=0;--oe)Ae[ue|oe<<ce]=ce&7|fe<<3}var Ee=[];for(j=1;Ee.length<E+S;)switch(ue=Ae[se(m,F)],F+=ue&7,ue>>>=3){case 16:for(C=3+Fe(m,F),F+=2,ue=Ee[Ee.length-1];C-- >0;)Ee.push(ue);break;case 17:for(C=3+we(m,F),F+=3;C-- >0;)Ee.push(0);break;case 18:for(C=11+se(m,F),F+=7;C-- >0;)Ee.push(0);break;default:Ee.push(ue),j<ue&&(j=ue);break}var Me=Ee.slice(0,E),kr=Ee.slice(E);for(fe=E;fe<286;++fe)Me[fe]=0;for(fe=S;fe<30;++fe)kr[fe]=0;return He=Pe(Me,ye,286),br=Pe(kr,We,30),F}function ua(m,F){if(m[0]==3&&!(m[1]&3))return[it(F),2];for(var E=0,S=0,y=k0(F||1<<18),C=0,G=y.length>>>0,q=0,j=0;(S&1)==0;){if(S=we(m,E),E+=3,S>>>1)S>>1==1?(q=9,j=5):(E=Lt(m,E),q=He,j=br);else{E&7&&(E+=8-(E&7));var z=m[E>>>3]|m[(E>>>3)+1]<<8;if(E+=32,z>0)for(!F&&G<C+z&&(y=Re(y,C+z),G=y.length);z-- >0;)y[C++]=m[E>>>3],E+=8;continue}for(;;){!F&&G<C+32767&&(y=Re(y,C+32767),G=y.length);var Y=he(m,E,q),ie=S>>>1==1?fr[Y]:ye[Y];if(E+=ie&15,ie>>>=4,(ie>>>8&255)===0)y[C++]=ie;else{if(ie==256)break;ie-=257;var fe=ie<8?0:ie-4>>2;fe>5&&(fe=0);var ue=C+X[ie];fe>0&&(ue+=he(m,E,fe),E+=fe),Y=he(m,E,j),ie=S>>>1==1?wr[Y]:We[Y],E+=ie&15,ie>>>=4;var ce=ie<4?0:ie-2>>1,oe=le[ie];for(ce>0&&(oe+=he(m,E,ce),E+=ce),!F&&G<ue&&(y=Re(y,ue+100),G=y.length);C<ue;)y[C]=y[C-oe],++C}}}return F?[y,E+7>>>3]:[y.slice(0,C),E+7>>>3]}function zr(m,F){var E=m.slice(m.l||0),S=ua(E,F);return m.l+=S[1],S[0]}function Tr(m,F){if(m)typeof console<\\\"u\\\"&&console.error(F);else throw new Error(F)}function Qr(m,F){var E=m;nr(E,0);var S=[],y=[],C={FileIndex:S,FullPaths:y};w(C,{root:F.root});for(var G=E.length-4;(E[G]!=80||E[G+1]!=75||E[G+2]!=5||E[G+3]!=6)&&G>=0;)--G;E.l=G+4,E.l+=4;var q=E.read_shift(2);E.l+=6;var j=E.read_shift(4);for(E.l=j,G=0;G<q;++G){E.l+=20;var z=E.read_shift(4),Y=E.read_shift(4),ie=E.read_shift(2),fe=E.read_shift(2),ue=E.read_shift(2);E.l+=8;var ce=E.read_shift(4),oe=s(E.slice(E.l+ie,E.l+ie+fe));E.l+=ie+fe+ue;var Ee=E.l;E.l=ce+4,xa(E,z,Y,C,oe),E.l=Ee}return C}function xa(m,F,E,S,y){m.l+=2;var C=m.read_shift(2),G=m.read_shift(2),q=f(m);if(C&8257)throw new Error(\\\"Unsupported ZIP encryption\\\");for(var j=m.read_shift(4),z=m.read_shift(4),Y=m.read_shift(4),ie=m.read_shift(2),fe=m.read_shift(2),ue=\\\"\\\",ce=0;ce<ie;++ce)ue+=String.fromCharCode(m[m.l++]);if(fe){var oe=s(m.slice(m.l,m.l+fe));(oe[21589]||{}).mt&&(q=oe[21589].mt),((y||{})[21589]||{}).mt&&(q=y[21589].mt)}m.l+=fe;var Ee=m.slice(m.l,m.l+z);switch(G){case 8:Ee=B(m,Y);break;case 0:break;default:throw new Error(\\\"Unsupported ZIP Compression method \\\"+G)}var Me=!1;C&8&&(j=m.read_shift(4),j==134695760&&(j=m.read_shift(4),Me=!0),z=m.read_shift(4),Y=m.read_shift(4)),z!=F&&Tr(Me,\\\"Bad compressed size: \\\"+F+\\\" != \\\"+z),Y!=E&&Tr(Me,\\\"Bad uncompressed size: \\\"+E+\\\" != \\\"+Y),Ya(S,ue,Ee,{unsafe:!0,mt:q})}function cf(m,F){var E=F||{},S=[],y=[],C=Je(1),G=E.compression?8:0,q=0,j=!1;j&&(q|=8);var z=0,Y=0,ie=0,fe=0,ue=m.FullPaths[0],ce=ue,oe=m.FileIndex[0],Ee=[],Me=0;for(z=1;z<m.FullPaths.length;++z)if(ce=m.FullPaths[z].slice(ue.length),oe=m.FileIndex[z],!(!oe.size||!oe.content||ce==\\\"\\u0001Sh33tJ5\\\")){var kr=ie,je=Je(ce.length);for(Y=0;Y<ce.length;++Y)je.write_shift(1,ce.charCodeAt(Y)&127);je=je.slice(0,je.l),Ee[fe]=vc.buf(oe.content,0);var Sr=oe.content;G==8&&(Sr=L(Sr)),C=Je(30),C.write_shift(4,67324752),C.write_shift(2,20),C.write_shift(2,q),C.write_shift(2,G),oe.mt?i(C,oe.mt):C.write_shift(4,0),C.write_shift(-4,q&8?0:Ee[fe]),C.write_shift(4,q&8?0:Sr.length),C.write_shift(4,q&8?0:oe.content.length),C.write_shift(2,je.length),C.write_shift(2,0),ie+=C.length,S.push(C),ie+=je.length,S.push(je),ie+=Sr.length,S.push(Sr),q&8&&(C=Je(12),C.write_shift(-4,Ee[fe]),C.write_shift(4,Sr.length),C.write_shift(4,oe.content.length),ie+=C.l,S.push(C)),C=Je(46),C.write_shift(4,33639248),C.write_shift(2,0),C.write_shift(2,20),C.write_shift(2,q),C.write_shift(2,G),C.write_shift(4,0),C.write_shift(-4,Ee[fe]),C.write_shift(4,Sr.length),C.write_shift(4,oe.content.length),C.write_shift(2,je.length),C.write_shift(2,0),C.write_shift(2,0),C.write_shift(2,0),C.write_shift(2,0),C.write_shift(4,0),C.write_shift(4,kr),Me+=C.l,y.push(C),Me+=je.length,y.push(je),++fe}return C=Je(22),C.write_shift(4,101010256),C.write_shift(2,0),C.write_shift(2,0),C.write_shift(2,fe),C.write_shift(2,fe),C.write_shift(4,Me),C.write_shift(4,ie),C.write_shift(2,0),rt([rt(S),rt(y),C])}var da={htm:\\\"text/html\\\",xml:\\\"text/xml\\\",gif:\\\"image/gif\\\",jpg:\\\"image/jpeg\\\",png:\\\"image/png\\\",mso:\\\"application/x-mso\\\",thmx:\\\"application/vnd.ms-officetheme\\\",sh33tj5:\\\"application/octet-stream\\\"};function of(m,F){if(m.ctype)return m.ctype;var E=m.name||\\\"\\\",S=E.match(/\\\\.([^\\\\.]+)$/);return S&&da[S[1]]||F&&(S=(E=F).match(/[\\\\.\\\\\\\\]([^\\\\.\\\\\\\\])+$/),S&&da[S[1]])?da[S[1]]:\\\"application/octet-stream\\\"}function lf(m){for(var F=w0(m),E=[],S=0;S<F.length;S+=76)E.push(F.slice(S,S+76));return E.join(`\\\\r\\n`)+`\\\\r\\n`}function hf(m){var F=m.replace(/[\\\\x00-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7E-\\\\xFF=]/g,function(z){var Y=z.charCodeAt(0).toString(16).toUpperCase();return\\\"=\\\"+(Y.length==1?\\\"0\\\"+Y:Y)});F=F.replace(/ $/mg,\\\"=20\\\").replace(/\\\\t$/mg,\\\"=09\\\"),F.charAt(0)==`\\n`&&(F=\\\"=0D\\\"+F.slice(1)),F=F.replace(/\\\\r(?!\\\\n)/mg,\\\"=0D\\\").replace(/\\\\n\\\\n/mg,`\\n=0A`).replace(/([^\\\\r\\\\n])\\\\n/mg,\\\"$1=0A\\\");for(var E=[],S=F.split(`\\\\r\\n`),y=0;y<S.length;++y){var C=S[y];if(C.length==0){E.push(\\\"\\\");continue}for(var G=0;G<C.length;){var q=76,j=C.slice(G,G+q);j.charAt(q-1)==\\\"=\\\"?q--:j.charAt(q-2)==\\\"=\\\"?q-=2:j.charAt(q-3)==\\\"=\\\"&&(q-=3),j=C.slice(G,G+q),G+=q,G<C.length&&(j+=\\\"=\\\"),E.push(j)}}return E.join(`\\\\r\\n`)}function uf(m){for(var F=[],E=0;E<m.length;++E){for(var S=m[E];E<=m.length&&S.charAt(S.length-1)==\\\"=\\\";)S=S.slice(0,S.length-1)+m[++E];F.push(S)}for(var y=0;y<F.length;++y)F[y]=F[y].replace(/[=][0-9A-Fa-f]{2}/g,function(C){return String.fromCharCode(parseInt(C.slice(1),16))});return Pr(F.join(`\\\\r\\n`))}function xf(m,F,E){for(var S=\\\"\\\",y=\\\"\\\",C=\\\"\\\",G,q=0;q<10;++q){var j=F[q];if(!j||j.match(/^\\\\s*$/))break;var z=j.match(/^(.*?):\\\\s*([^\\\\s].*)$/);if(z)switch(z[1].toLowerCase()){case\\\"content-location\\\":S=z[2].trim();break;case\\\"content-type\\\":C=z[2].trim();break;case\\\"content-transfer-encoding\\\":y=z[2].trim();break}}switch(++q,y.toLowerCase()){case\\\"base64\\\":G=Pr(yr(F.slice(q).join(\\\"\\\")));break;case\\\"quoted-printable\\\":G=uf(F.slice(q));break;default:throw new Error(\\\"Unsupported Content-Transfer-Encoding \\\"+y)}var Y=Ya(m,S.slice(E.length),G,{unsafe:!0});C&&(Y.ctype=C)}function df(m,F){if(H(m.slice(0,13)).toLowerCase()!=\\\"mime-version:\\\")throw new Error(\\\"Unsupported MAD header\\\");var E=F&&F.root||\\\"\\\",S=(Ce&&Buffer.isBuffer(m)?m.toString(\\\"binary\\\"):H(m)).split(`\\\\r\\n`),y=0,C=\\\"\\\";for(y=0;y<S.length;++y)if(C=S[y],!!/^Content-Location:/i.test(C)&&(C=C.slice(C.indexOf(\\\"file\\\")),E||(E=C.slice(0,C.lastIndexOf(\\\"/\\\")+1)),C.slice(0,E.length)!=E))for(;E.length>0&&(E=E.slice(0,E.length-1),E=E.slice(0,E.lastIndexOf(\\\"/\\\")+1),C.slice(0,E.length)!=E););var G=(S[1]||\\\"\\\").match(/boundary=\\\"(.*?)\\\"/);if(!G)throw new Error(\\\"MAD cannot find boundary\\\");var q=\\\"--\\\"+(G[1]||\\\"\\\"),j=[],z=[],Y={FileIndex:j,FullPaths:z};w(Y);var ie,fe=0;for(y=0;y<S.length;++y){var ue=S[y];ue!==q&&ue!==q+\\\"--\\\"||(fe++&&xf(Y,S.slice(ie,y),E),ie=y)}return Y}function pf(m,F){var E=F||{},S=E.boundary||\\\"SheetJS\\\";S=\\\"------=\\\"+S;for(var y=[\\\"MIME-Version: 1.0\\\",'Content-Type: multipart/related; boundary=\\\"'+S.slice(2)+'\\\"',\\\"\\\",\\\"\\\",\\\"\\\"],C=m.FullPaths[0],G=C,q=m.FileIndex[0],j=1;j<m.FullPaths.length;++j)if(G=m.FullPaths[j].slice(C.length),q=m.FileIndex[j],!(!q.size||!q.content||G==\\\"\\u0001Sh33tJ5\\\")){G=G.replace(/[\\\\x00-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7E-\\\\xFF]/g,function(Ee){return\\\"_x\\\"+Ee.charCodeAt(0).toString(16)+\\\"_\\\"}).replace(/[\\\\u0080-\\\\uFFFF]/g,function(Ee){return\\\"_u\\\"+Ee.charCodeAt(0).toString(16)+\\\"_\\\"});for(var z=q.content,Y=Ce&&Buffer.isBuffer(z)?z.toString(\\\"binary\\\"):H(z),ie=0,fe=Math.min(1024,Y.length),ue=0,ce=0;ce<=fe;++ce)(ue=Y.charCodeAt(ce))>=32&&ue<128&&++ie;var oe=ie>=fe*4/5;y.push(S),y.push(\\\"Content-Location: \\\"+(E.root||\\\"file:///C:/SheetJS/\\\")+G),y.push(\\\"Content-Transfer-Encoding: \\\"+(oe?\\\"quoted-printable\\\":\\\"base64\\\")),y.push(\\\"Content-Type: \\\"+of(q,G)),y.push(\\\"\\\"),y.push(oe?hf(Y):lf(Y))}return y.push(S+`--\\\\r\\n`),y.join(`\\\\r\\n`)}function vf(m){var F={};return w(F,m),F}function Ya(m,F,E,S){var y=S&&S.unsafe;y||w(m);var C=!y&&Oe.find(m,F);if(!C){var G=m.FullPaths[0];F.slice(0,G.length)==G?G=F:(G.slice(-1)!=\\\"/\\\"&&(G+=\\\"/\\\"),G=(G+F).replace(\\\"//\\\",\\\"/\\\")),C={name:a(F),type:2},m.FileIndex.push(C),m.FullPaths.push(G),y||Oe.utils.cfb_gc(m)}return C.content=E,C.size=E?E.length:0,S&&(S.CLSID&&(C.clsid=S.CLSID),S.mt&&(C.mt=S.mt),S.ct&&(C.ct=S.ct)),C}function mf(m,F){w(m);var E=Oe.find(m,F);if(E){for(var S=0;S<m.FileIndex.length;++S)if(m.FileIndex[S]==E)return m.FileIndex.splice(S,1),m.FullPaths.splice(S,1),!0}return!1}function gf(m,F,E){w(m);var S=Oe.find(m,F);if(S){for(var y=0;y<m.FileIndex.length;++y)if(m.FileIndex[y]==S)return m.FileIndex[y].name=a(E),m.FullPaths[y]=E,!0}return!1}function _f(m){R(m,!0)}return t.find=I,t.read=T,t.parse=o,t.write=te,t.writeFile=ne,t.utils={cfb_new:vf,cfb_add:Ya,cfb_del:mf,cfb_mov:gf,cfb_gc:_f,ReadShift:Gt,CheckField:es,prep_blob:nr,bconcat:rt,use_zlib:A,_deflateRaw:_e,_inflateRaw:zr,consts:ee},t})(),R0;function mc(e){if(typeof R0<\\\"u\\\")return R0.readFileSync(e);if(typeof Deno<\\\"u\\\")return Deno.readFileSync(e);if(typeof $<\\\"u\\\"&&typeof File<\\\"u\\\"&&typeof Folder<\\\"u\\\")try{var t=File(e);t.open(\\\"r\\\"),t.encoding=\\\"binary\\\";var r=t.read();return t.close(),r}catch(n){if(!n.message||!n.message.match(/onstruct/))throw n}throw new Error(\\\"Cannot access file \\\"+e)}function Vr(e){for(var t=Object.keys(e),r=[],n=0;n<t.length;++n)Object.prototype.hasOwnProperty.call(e,t[n])&&r.push(t[n]);return r}function Cn(e){for(var t=[],r=Vr(e),n=0;n!==r.length;++n)t[e[r[n]]]=r[n];return t}var Na=new Date(1899,11,30,0,0,0);function _r(e,t){var r=e.getTime();t&&(r-=1462*24*60*60*1e3);var n=Na.getTime()+(e.getTimezoneOffset()-Na.getTimezoneOffset())*6e4;return(r-n)/(1440*60*1e3)}var Bi=new Date,gc=Na.getTime()+(Bi.getTimezoneOffset()-Na.getTimezoneOffset())*6e4,O0=Bi.getTimezoneOffset();function Xa(e){var t=new Date;return t.setTime(e*24*60*60*1e3+gc),t.getTimezoneOffset()!==O0&&t.setTime(t.getTime()+(t.getTimezoneOffset()-O0)*6e4),t}function _c(e){var t=0,r=0,n=!1,a=e.match(/P([0-9\\\\.]+Y)?([0-9\\\\.]+M)?([0-9\\\\.]+D)?T([0-9\\\\.]+H)?([0-9\\\\.]+M)?([0-9\\\\.]+S)?/);if(!a)throw new Error(\\\"|\\\"+e+\\\"| is not an ISO8601 Duration\\\");for(var i=1;i!=a.length;++i)if(a[i]){switch(r=1,i>3&&(n=!0),a[i].slice(a[i].length-1)){case\\\"Y\\\":throw new Error(\\\"Unsupported ISO Duration Field: \\\"+a[i].slice(a[i].length-1));case\\\"D\\\":r*=24;case\\\"H\\\":r*=60;case\\\"M\\\":if(n)r*=60;else throw new Error(\\\"Unsupported ISO Duration Field: M\\\");case\\\"S\\\":break}t+=r*parseInt(a[i],10)}return t}var D0=new Date(\\\"2017-02-19T19:06:09.000Z\\\"),Mi=isNaN(D0.getFullYear())?new Date(\\\"2/19/17\\\"):D0,wc=Mi.getFullYear()==2017;function ar(e,t){var r=new Date(e);if(wc)return t>0?r.setTime(r.getTime()+r.getTimezoneOffset()*60*1e3):t<0&&r.setTime(r.getTime()-r.getTimezoneOffset()*60*1e3),r;if(e instanceof Date)return e;if(Mi.getFullYear()==1917&&!isNaN(r.getFullYear())){var n=r.getFullYear();return e.indexOf(\\\"\\\"+n)>-1||r.setFullYear(r.getFullYear()+100),r}var a=e.match(/\\\\d+/g)||[\\\"2017\\\",\\\"2\\\",\\\"19\\\",\\\"0\\\",\\\"0\\\",\\\"0\\\"],i=new Date(+a[0],+a[1]-1,+a[2],+a[3]||0,+a[4]||0,+a[5]||0);return e.indexOf(\\\"Z\\\")>-1&&(i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3)),i}function pt(e,t){if(Ce&&Buffer.isBuffer(e)){if(t){if(e[0]==255&&e[1]==254)return Xt(e.slice(2).toString(\\\"utf16le\\\"));if(e[1]==254&&e[2]==255)return Xt(Si(e.slice(2).toString(\\\"binary\\\")))}return e.toString(\\\"binary\\\")}if(typeof TextDecoder<\\\"u\\\")try{if(t){if(e[0]==255&&e[1]==254)return Xt(new TextDecoder(\\\"utf-16le\\\").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return Xt(new TextDecoder(\\\"utf-16be\\\").decode(e.slice(2)))}var r={\\\"\\\\u20AC\\\":\\\"\\\\x80\\\",\\\"\\\\u201A\\\":\\\"\\\\x82\\\",\\\\u0192:\\\"\\\\x83\\\",\\\"\\\\u201E\\\":\\\"\\\\x84\\\",\\\"\\\\u2026\\\":\\\"\\\\x85\\\",\\\"\\\\u2020\\\":\\\"\\\\x86\\\",\\\"\\\\u2021\\\":\\\"\\\\x87\\\",\\\"\\\\u02C6\\\":\\\"\\\\x88\\\",\\\"\\\\u2030\\\":\\\"\\\\x89\\\",\\\\u0160:\\\"\\\\x8A\\\",\\\"\\\\u2039\\\":\\\"\\\\x8B\\\",\\\\u0152:\\\"\\\\x8C\\\",\\\\u017D:\\\"\\\\x8E\\\",\\\"\\\\u2018\\\":\\\"\\\\x91\\\",\\\"\\\\u2019\\\":\\\"\\\\x92\\\",\\\"\\\\u201C\\\":\\\"\\\\x93\\\",\\\"\\\\u201D\\\":\\\"\\\\x94\\\",\\\"\\\\u2022\\\":\\\"\\\\x95\\\",\\\"\\\\u2013\\\":\\\"\\\\x96\\\",\\\"\\\\u2014\\\":\\\"\\\\x97\\\",\\\"\\\\u02DC\\\":\\\"\\\\x98\\\",\\\"\\\\u2122\\\":\\\"\\\\x99\\\",\\\\u0161:\\\"\\\\x9A\\\",\\\"\\\\u203A\\\":\\\"\\\\x9B\\\",\\\\u0153:\\\"\\\\x9C\\\",\\\\u017E:\\\"\\\\x9E\\\",\\\\u0178:\\\"\\\\x9F\\\"};return Array.isArray(e)&&(e=new Uint8Array(e)),new TextDecoder(\\\"latin1\\\").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(i){return r[i]||i})}catch{}for(var n=[],a=0;a!=e.length;++a)n.push(String.fromCharCode(e[a]));return n.join(\\\"\\\")}function ir(e){if(typeof JSON<\\\"u\\\"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!=\\\"object\\\"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=ir(e[r]));return t}function Ve(e,t){for(var r=\\\"\\\";r.length<t;)r+=e;return r}function Mr(e){var t=Number(e);if(!isNaN(t))return isFinite(t)?t:NaN;if(!/\\\\d/.test(e))return t;var r=1,n=e.replace(/([\\\\d]),([\\\\d])/g,\\\"$1$2\\\").replace(/[$]/g,\\\"\\\").replace(/[%]/g,function(){return r*=100,\\\"\\\"});return!isNaN(t=Number(n))||(n=n.replace(/[(](.*)[)]/,function(a,i){return r=-r,i}),!isNaN(t=Number(n)))?t/r:t}var kc=[\\\"january\\\",\\\"february\\\",\\\"march\\\",\\\"april\\\",\\\"may\\\",\\\"june\\\",\\\"july\\\",\\\"august\\\",\\\"september\\\",\\\"october\\\",\\\"november\\\",\\\"december\\\"];function Ot(e){var t=new Date(e),r=new Date(NaN),n=t.getYear(),a=t.getMonth(),i=t.getDate();if(isNaN(i))return r;var f=e.toLowerCase();if(f.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)){if(f=f.replace(/[^a-z]/g,\\\"\\\").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,\\\"\\\"),f.length>3&&kc.indexOf(f)==-1)return r}else if(f.match(/[a-z]/))return r;return n<0||n>8099?r:(a>0||i>1)&&n!=101?t:e.match(/[^-0-9:,\\\\/\\\\\\\\]/)?r:t}var Ec=(function(){var e=\\\"abacaba\\\".split(/(:?b)/i).length==5;return function(r,n,a){if(e||typeof n==\\\"string\\\")return r.split(n);for(var i=r.split(n),f=[i[0]],s=1;s<i.length;++s)f.push(a),f.push(i[s]);return f}})();function Ui(e){return e?e.content&&e.type?pt(e.content,!0):e.data?Wt(e.data):e.asNodeBuffer&&Ce?Wt(e.asNodeBuffer().toString(\\\"binary\\\")):e.asBinary?Wt(e.asBinary()):e._data&&e._data.getContent?Wt(pt(Array.prototype.slice.call(e._data.getContent(),0))):null:null}function Wi(e){if(!e)return null;if(e.data)return un(e.data);if(e.asNodeBuffer&&Ce)return e.asNodeBuffer();if(e._data&&e._data.getContent){var t=e._data.getContent();return typeof t==\\\"string\\\"?un(t):Array.prototype.slice.call(t)}return e.content&&e.type?e.content:null}function Tc(e){return e&&e.name.slice(-4)===\\\".bin\\\"?Wi(e):Ui(e)}function Rr(e,t){for(var r=e.FullPaths||Vr(e.files),n=t.toLowerCase().replace(/[\\\\/]/g,\\\"\\\\\\\\\\\"),a=n.replace(/\\\\\\\\/g,\\\"/\\\"),i=0;i<r.length;++i){var f=r[i].replace(/^Root Entry[\\\\/]/,\\\"\\\").toLowerCase();if(n==f||a==f)return e.files?e.files[r[i]]:e.FileIndex[i]}return null}function Rn(e,t){var r=Rr(e,t);if(r==null)throw new Error(\\\"Cannot find file \\\"+t+\\\" in zip\\\");return r}function $e(e,t,r){if(!r)return Tc(Rn(e,t));if(!t)return null;try{return $e(e,t)}catch{return null}}function Fr(e,t,r){if(!r)return Ui(Rn(e,t));if(!t)return null;try{return Fr(e,t)}catch{return null}}function Hi(e,t,r){if(!r)return Wi(Rn(e,t));if(!t)return null;try{return Hi(e,t)}catch{return null}}function b0(e){for(var t=e.FullPaths||Vr(e.files),r=[],n=0;n<t.length;++n)t[n].slice(-1)!=\\\"/\\\"&&r.push(t[n].replace(/^Root Entry[\\\\/]/,\\\"\\\"));return r.sort()}function Sc(e,t,r){if(e.FullPaths){if(typeof r==\\\"string\\\"){var n;return Ce?n=mt(r):n=Gf(r),Oe.utils.cfb_add(e,t,n)}Oe.utils.cfb_add(e,t,r)}else e.file(t,r)}function Vi(e,t){switch(t.type){case\\\"base64\\\":return Oe.read(e,{type:\\\"base64\\\"});case\\\"binary\\\":return Oe.read(e,{type:\\\"binary\\\"});case\\\"buffer\\\":case\\\"array\\\":return Oe.read(e,{type:\\\"buffer\\\"})}throw new Error(\\\"Unrecognized type \\\"+t.type)}function Vt(e,t){if(e.charAt(0)==\\\"/\\\")return e.slice(1);var r=t.split(\\\"/\\\");t.slice(-1)!=\\\"/\\\"&&r.pop();for(var n=e.split(\\\"/\\\");n.length!==0;){var a=n.shift();a===\\\"..\\\"?r.pop():a!==\\\".\\\"&&r.push(a)}return r.join(\\\"/\\\")}var Xi=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"yes\\\"?>\\\\r\\n`,Fc=/([^\\\"\\\\s?>\\\\/]+)\\\\s*=\\\\s*((?:\\\")([^\\\"]*)(?:\\\")|(?:')([^']*)(?:')|([^'\\\">\\\\s]+))/g,I0=/<[\\\\/\\\\?]?[a-zA-Z0-9:_-]+(?:\\\\s+[^\\\"\\\\s?>\\\\/]+\\\\s*=\\\\s*(?:\\\"[^\\\"]*\\\"|'[^']*'|[^'\\\">\\\\s=]+))*\\\\s*[\\\\/\\\\?]?>/mg,yc=/<[^>]*>/g,pr=Xi.match(I0)?I0:yc,Ac=/<\\\\w*:/,Cc=/<(\\\\/?)\\\\w+:/;function me(e,t,r){for(var n={},a=0,i=0;a!==e.length&&!((i=e.charCodeAt(a))===32||i===10||i===13);++a);if(t||(n[0]=e.slice(0,a)),a===e.length)return n;var f=e.match(Fc),s=0,c=\\\"\\\",l=0,o=\\\"\\\",h=\\\"\\\",x=1;if(f)for(l=0;l!=f.length;++l){for(h=f[l],i=0;i!=h.length&&h.charCodeAt(i)!==61;++i);for(o=h.slice(0,i).trim();h.charCodeAt(i+1)==32;)++i;for(x=(a=h.charCodeAt(i+1))==34||a==39?1:0,c=h.slice(i+1+x,h.length-x),s=0;s!=o.length&&o.charCodeAt(s)!==58;++s);if(s===o.length)o.indexOf(\\\"_\\\")>0&&(o=o.slice(0,o.indexOf(\\\"_\\\"))),n[o]=c,r||(n[o.toLowerCase()]=c);else{var d=(s===5&&o.slice(0,5)===\\\"xmlns\\\"?\\\"xmlns\\\":\\\"\\\")+o.slice(s+1);if(n[d]&&o.slice(s-3,s)==\\\"ext\\\")continue;n[d]=c,r||(n[d.toLowerCase()]=c)}}return n}function Xr(e){return e.replace(Cc,\\\"<$1\\\")}var Gi={\\\"&quot;\\\":'\\\"',\\\"&apos;\\\":\\\"'\\\",\\\"&gt;\\\":\\\">\\\",\\\"&lt;\\\":\\\"<\\\",\\\"&amp;\\\":\\\"&\\\"},Rc=Cn(Gi),Ie=(function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\\\\da-fA-F]+));/ig,t=/_x([\\\\da-fA-F]{4})_/ig;return function r(n){var a=n+\\\"\\\",i=a.indexOf(\\\"<![CDATA[\\\");if(i==-1)return a.replace(e,function(s,c){return Gi[s]||String.fromCharCode(parseInt(c,s.indexOf(\\\"x\\\")>-1?16:10))||s}).replace(t,function(s,c){return String.fromCharCode(parseInt(c,16))});var f=a.indexOf(\\\"]]>\\\");return r(a.slice(0,i))+a.slice(i+9,f)+r(a.slice(f+3))}})(),Oc=/[&<>'\\\"]/g;var Dc=/[\\\\u0000-\\\\u001f]/g;function On(e){var t=e+\\\"\\\";return t.replace(Oc,function(r){return Rc[r]}).replace(/\\\\n/g,\\\"<br/>\\\").replace(Dc,function(r){return\\\"&#x\\\"+(\\\"000\\\"+r.charCodeAt(0).toString(16)).slice(-4)+\\\";\\\"})}var N0=(function(){var e=/&#(\\\\d+);/g;function t(r,n){return String.fromCharCode(parseInt(n,10))}return function(n){return n.replace(e,t)}})();function Ue(e){switch(e){case 1:case!0:case\\\"1\\\":case\\\"true\\\":case\\\"TRUE\\\":return!0;default:return!1}}function tn(e){for(var t=\\\"\\\",r=0,n=0,a=0,i=0,f=0,s=0;r<e.length;){if(n=e.charCodeAt(r++),n<128){t+=String.fromCharCode(n);continue}if(a=e.charCodeAt(r++),n>191&&n<224){f=(n&31)<<6,f|=a&63,t+=String.fromCharCode(f);continue}if(i=e.charCodeAt(r++),n<240){t+=String.fromCharCode((n&15)<<12|(a&63)<<6|i&63);continue}f=e.charCodeAt(r++),s=((n&7)<<18|(a&63)<<12|(i&63)<<6|f&63)-65536,t+=String.fromCharCode(55296+(s>>>10&1023)),t+=String.fromCharCode(56320+(s&1023))}return t}function P0(e){var t=it(2*e.length),r,n,a=1,i=0,f=0,s;for(n=0;n<e.length;n+=a)a=1,(s=e.charCodeAt(n))<128?r=s:s<224?(r=(s&31)*64+(e.charCodeAt(n+1)&63),a=2):s<240?(r=(s&15)*4096+(e.charCodeAt(n+1)&63)*64+(e.charCodeAt(n+2)&63),a=3):(a=4,r=(s&7)*262144+(e.charCodeAt(n+1)&63)*4096+(e.charCodeAt(n+2)&63)*64+(e.charCodeAt(n+3)&63),r-=65536,f=55296+(r>>>10&1023),r=56320+(r&1023)),f!==0&&(t[i++]=f&255,t[i++]=f>>>8,f=0),t[i++]=r%256,t[i++]=r>>>8;return t.slice(0,i).toString(\\\"ucs2\\\")}function L0(e){return mt(e,\\\"binary\\\").toString(\\\"utf8\\\")}var Ta=\\\"foo bar baz\\\\xE2\\\\x98\\\\x83\\\\xF0\\\\x9F\\\\x8D\\\\xA3\\\",Be=Ce&&(L0(Ta)==tn(Ta)&&L0||P0(Ta)==tn(Ta)&&P0)||tn,Xt=Ce?function(e){return mt(e,\\\"utf8\\\").toString(\\\"binary\\\")}:function(e){for(var t=[],r=0,n=0,a=0;r<e.length;)switch(n=e.charCodeAt(r++),!0){case n<128:t.push(String.fromCharCode(n));break;case n<2048:t.push(String.fromCharCode(192+(n>>6))),t.push(String.fromCharCode(128+(n&63)));break;case(n>=55296&&n<57344):n-=55296,a=e.charCodeAt(r++)-56320+(n<<10),t.push(String.fromCharCode(240+(a>>18&7))),t.push(String.fromCharCode(144+(a>>12&63))),t.push(String.fromCharCode(128+(a>>6&63))),t.push(String.fromCharCode(128+(a&63)));break;default:t.push(String.fromCharCode(224+(n>>12))),t.push(String.fromCharCode(128+(n>>6&63))),t.push(String.fromCharCode(128+(n&63)))}return t.join(\\\"\\\")},ea=(function(){var e={};return function(r,n){var a=r+\\\"|\\\"+(n||\\\"\\\");return e[a]?e[a]:e[a]=new RegExp(\\\"<(?:\\\\\\\\w+:)?\\\"+r+'(?: xml:space=\\\"preserve\\\")?(?:[^>]*)>([\\\\\\\\s\\\\\\\\S]*?)</(?:\\\\\\\\w+:)?'+r+\\\">\\\",n||\\\"\\\")}})(),zi=(function(){var e=[[\\\"nbsp\\\",\\\" \\\"],[\\\"middot\\\",\\\"\\\\xB7\\\"],[\\\"quot\\\",'\\\"'],[\\\"apos\\\",\\\"'\\\"],[\\\"gt\\\",\\\">\\\"],[\\\"lt\\\",\\\"<\\\"],[\\\"amp\\\",\\\"&\\\"]].map(function(t){return[new RegExp(\\\"&\\\"+t[0]+\\\";\\\",\\\"ig\\\"),t[1]]});return function(r){for(var n=r.replace(/^[\\\\t\\\\n\\\\r ]+/,\\\"\\\").replace(/[\\\\t\\\\n\\\\r ]+$/,\\\"\\\").replace(/>\\\\s+/g,\\\">\\\").replace(/\\\\s+</g,\\\"<\\\").replace(/[\\\\t\\\\n\\\\r ]+/g,\\\" \\\").replace(/<\\\\s*[bB][rR]\\\\s*\\\\/?>/g,`\\n`).replace(/<[^>]*>/g,\\\"\\\"),a=0;a<e.length;++a)n=n.replace(e[a][0],e[a][1]);return n}})(),bc=(function(){var e={};return function(r){return e[r]!==void 0?e[r]:e[r]=new RegExp(\\\"<(?:vt:)?\\\"+r+\\\">([\\\\\\\\s\\\\\\\\S]*?)</(?:vt:)?\\\"+r+\\\">\\\",\\\"g\\\")}})(),Ic=/<\\\\/?(?:vt:)?variant>/g,Nc=/<(?:vt:)([^>]*)>([\\\\s\\\\S]*)</;function B0(e,t){var r=me(e),n=e.match(bc(r.baseType))||[],a=[];if(n.length!=r.size){if(t.WTF)throw new Error(\\\"unexpected vector length \\\"+n.length+\\\" != \\\"+r.size);return a}return n.forEach(function(i){var f=i.replace(Ic,\\\"\\\").match(Nc);f&&a.push({v:Be(f[2]),t:f[1]})}),a}var Pc=/(^\\\\s|\\\\s$|\\\\n)/;function Lc(e){return Vr(e).map(function(t){return\\\" \\\"+t+'=\\\"'+e[t]+'\\\"'}).join(\\\"\\\")}function Bc(e,t,r){return\\\"<\\\"+e+(r!=null?Lc(r):\\\"\\\")+(t!=null?(t.match(Pc)?' xml:space=\\\"preserve\\\"':\\\"\\\")+\\\">\\\"+t+\\\"</\\\"+e:\\\"/\\\")+\\\">\\\"}function Dn(e){if(Ce&&Buffer.isBuffer(e))return e.toString(\\\"utf8\\\");if(typeof e==\\\"string\\\")return e;if(typeof Uint8Array<\\\"u\\\"&&e instanceof Uint8Array)return Be(gt(Fn(e)));throw new Error(\\\"Bad input format: expected Buffer or string\\\")}var ra=/<(\\\\/?)([^\\\\s?><!\\\\/:]*:|)([^\\\\s?<>:\\\\/]+)(?:[\\\\s?:\\\\/][^>]*)?>/mg,Mc={CORE_PROPS:\\\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\\\",CUST_PROPS:\\\"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\\\",EXT_PROPS:\\\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\\\",CT:\\\"http://schemas.openxmlformats.org/package/2006/content-types\\\",RELS:\\\"http://schemas.openxmlformats.org/package/2006/relationships\\\",TCMNT:\\\"http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments\\\",dc:\\\"http://purl.org/dc/elements/1.1/\\\",dcterms:\\\"http://purl.org/dc/terms/\\\",dcmitype:\\\"http://purl.org/dc/dcmitype/\\\",mx:\\\"http://schemas.microsoft.com/office/mac/excel/2008/main\\\",r:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\\\",sjs:\\\"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties\\\",vt:\\\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\\\",xsi:\\\"http://www.w3.org/2001/XMLSchema-instance\\\",xsd:\\\"http://www.w3.org/2001/XMLSchema\\\"},Uc=[\\\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\\\",\\\"http://purl.oclc.org/ooxml/spreadsheetml/main\\\",\\\"http://schemas.microsoft.com/office/excel/2006/main\\\",\\\"http://schemas.microsoft.com/office/excel/2006/2\\\"];function Wc(e,t){for(var r=1-2*(e[t+7]>>>7),n=((e[t+7]&127)<<4)+(e[t+6]>>>4&15),a=e[t+6]&15,i=5;i>=0;--i)a=a*256+e[t+i];return n==2047?a==0?r*(1/0):NaN:(n==0?n=-1022:(n-=1023,a+=Math.pow(2,52)),r*Math.pow(2,n-52)*a)}function Hc(e,t,r){var n=(t<0||1/t==-1/0?1:0)<<7,a=0,i=0,f=n?-t:t;isFinite(f)?f==0?a=i=0:(a=Math.floor(Math.log(f)/Math.LN2),i=f*Math.pow(2,52-a),a<=-1023&&(!isFinite(i)||i<Math.pow(2,52))?a=-1022:(i-=Math.pow(2,52),a+=1023)):(a=2047,i=isNaN(t)?26985:0);for(var s=0;s<=5;++s,i/=256)e[r+s]=i&255;e[r+6]=(a&15)<<4|i&15,e[r+7]=a>>4|n}var M0=function(e){for(var t=[],r=10240,n=0;n<e[0].length;++n)if(e[0][n])for(var a=0,i=e[0][n].length;a<i;a+=r)t.push.apply(t,e[0][n].slice(a,a+r));return t},U0=Ce?function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(t){return Buffer.isBuffer(t)?t:mt(t)})):M0(e)}:M0,W0=function(e,t,r){for(var n=[],a=t;a<r;a+=2)n.push(String.fromCharCode($r(e,a)));return n.join(\\\"\\\").replace(ur,\\\"\\\")},Ga=Ce?function(e,t,r){return Buffer.isBuffer(e)?e.toString(\\\"utf16le\\\",t,r).replace(ur,\\\"\\\"):W0(e,t,r)}:W0,H0=function(e,t,r){for(var n=[],a=t;a<t+r;++a)n.push((\\\"0\\\"+e[a].toString(16)).slice(-2));return n.join(\\\"\\\")},ji=Ce?function(e,t,r){return Buffer.isBuffer(e)?e.toString(\\\"hex\\\",t,t+r):H0(e,t,r)}:H0,V0=function(e,t,r){for(var n=[],a=t;a<r;a++)n.push(String.fromCharCode(Ft(e,a)));return n.join(\\\"\\\")},It=Ce?function(t,r,n){return Buffer.isBuffer(t)?t.toString(\\\"utf8\\\",r,n):V0(t,r,n)}:V0,Ki=function(e,t){var r=tr(e,t);return r>0?It(e,t+4,t+4+r-1):\\\"\\\"},bn=Ki,$i=function(e,t){var r=tr(e,t);return r>0?It(e,t+4,t+4+r-1):\\\"\\\"},In=$i,Yi=function(e,t){var r=2*tr(e,t);return r>0?It(e,t+4,t+4+r-1):\\\"\\\"},Nn=Yi,Ji=function(t,r){var n=tr(t,r);return n>0?Ga(t,r+4,r+4+n):\\\"\\\"},Pn=Ji,qi=function(e,t){var r=tr(e,t);return r>0?It(e,t+4,t+4+r):\\\"\\\"},Ln=qi,Zi=function(e,t){return Wc(e,t)},Pa=Zi,Qi=function(t){return Array.isArray(t)||typeof Uint8Array<\\\"u\\\"&&t instanceof Uint8Array};Ce&&(bn=function(t,r){if(!Buffer.isBuffer(t))return Ki(t,r);var n=t.readUInt32LE(r);return n>0?t.toString(\\\"utf8\\\",r+4,r+4+n-1):\\\"\\\"},In=function(t,r){if(!Buffer.isBuffer(t))return $i(t,r);var n=t.readUInt32LE(r);return n>0?t.toString(\\\"utf8\\\",r+4,r+4+n-1):\\\"\\\"},Nn=function(t,r){if(!Buffer.isBuffer(t))return Yi(t,r);var n=2*t.readUInt32LE(r);return t.toString(\\\"utf16le\\\",r+4,r+4+n-1)},Pn=function(t,r){if(!Buffer.isBuffer(t))return Ji(t,r);var n=t.readUInt32LE(r);return t.toString(\\\"utf16le\\\",r+4,r+4+n)},Ln=function(t,r){if(!Buffer.isBuffer(t))return qi(t,r);var n=t.readUInt32LE(r);return t.toString(\\\"utf8\\\",r+4,r+4+n)},Pa=function(t,r){return Buffer.isBuffer(t)?t.readDoubleLE(r):Zi(t,r)},Qi=function(t){return Buffer.isBuffer(t)||Array.isArray(t)||typeof Uint8Array<\\\"u\\\"&&t instanceof Uint8Array});function Vc(){Ga=function(e,t,r){return Le.utils.decode(1200,e.slice(t,r)).replace(ur,\\\"\\\")},It=function(e,t,r){return Le.utils.decode(65001,e.slice(t,r))},bn=function(e,t){var r=tr(e,t);return r>0?Le.utils.decode(Rt,e.slice(t+4,t+4+r-1)):\\\"\\\"},In=function(e,t){var r=tr(e,t);return r>0?Le.utils.decode(Hr,e.slice(t+4,t+4+r-1)):\\\"\\\"},Nn=function(e,t){var r=2*tr(e,t);return r>0?Le.utils.decode(1200,e.slice(t+4,t+4+r-1)):\\\"\\\"},Pn=function(e,t){var r=tr(e,t);return r>0?Le.utils.decode(1200,e.slice(t+4,t+4+r)):\\\"\\\"},Ln=function(e,t){var r=tr(e,t);return r>0?Le.utils.decode(65001,e.slice(t+4,t+4+r)):\\\"\\\"}}typeof Le<\\\"u\\\"&&Vc();var Ft=function(e,t){return e[t]},$r=function(e,t){return e[t+1]*256+e[t]},Xc=function(e,t){var r=e[t+1]*256+e[t];return r<32768?r:(65535-r+1)*-1},tr=function(e,t){return e[t+3]*(1<<24)+(e[t+2]<<16)+(e[t+1]<<8)+e[t]},lt=function(e,t){return e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]},Gc=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};function Gt(e,t){var r=\\\"\\\",n,a,i=[],f,s,c,l;switch(t){case\\\"dbcs\\\":if(l=this.l,Ce&&Buffer.isBuffer(this))r=this.slice(this.l,this.l+2*e).toString(\\\"utf16le\\\");else for(c=0;c<e;++c)r+=String.fromCharCode($r(this,l)),l+=2;e*=2;break;case\\\"utf8\\\":r=It(this,this.l,this.l+e);break;case\\\"utf16le\\\":e*=2,r=Ga(this,this.l,this.l+e);break;case\\\"wstr\\\":if(typeof Le<\\\"u\\\")r=Le.utils.decode(Hr,this.slice(this.l,this.l+2*e));else return Gt.call(this,e,\\\"dbcs\\\");e=2*e;break;case\\\"lpstr-ansi\\\":r=bn(this,this.l),e=4+tr(this,this.l);break;case\\\"lpstr-cp\\\":r=In(this,this.l),e=4+tr(this,this.l);break;case\\\"lpwstr\\\":r=Nn(this,this.l),e=4+2*tr(this,this.l);break;case\\\"lpp4\\\":e=4+tr(this,this.l),r=Pn(this,this.l),e&2&&(e+=2);break;case\\\"8lpp4\\\":e=4+tr(this,this.l),r=Ln(this,this.l),e&3&&(e+=4-(e&3));break;case\\\"cstr\\\":for(e=0,r=\\\"\\\";(f=Ft(this,this.l+e++))!==0;)i.push(Ea(f));r=i.join(\\\"\\\");break;case\\\"_wstr\\\":for(e=0,r=\\\"\\\";(f=$r(this,this.l+e))!==0;)i.push(Ea(f)),e+=2;e+=2,r=i.join(\\\"\\\");break;case\\\"dbcs-cont\\\":for(r=\\\"\\\",l=this.l,c=0;c<e;++c){if(this.lens&&this.lens.indexOf(l)!==-1)return f=Ft(this,l),this.l=l+1,s=Gt.call(this,e-c,f?\\\"dbcs-cont\\\":\\\"sbcs-cont\\\"),i.join(\\\"\\\")+s;i.push(Ea($r(this,l))),l+=2}r=i.join(\\\"\\\"),e*=2;break;case\\\"cpstr\\\":if(typeof Le<\\\"u\\\"){r=Le.utils.decode(Hr,this.slice(this.l,this.l+e));break}case\\\"sbcs-cont\\\":for(r=\\\"\\\",l=this.l,c=0;c!=e;++c){if(this.lens&&this.lens.indexOf(l)!==-1)return f=Ft(this,l),this.l=l+1,s=Gt.call(this,e-c,f?\\\"dbcs-cont\\\":\\\"sbcs-cont\\\"),i.join(\\\"\\\")+s;i.push(Ea(Ft(this,l))),l+=1}r=i.join(\\\"\\\");break;default:switch(e){case 1:return n=Ft(this,this.l),this.l++,n;case 2:return n=(t===\\\"i\\\"?Xc:$r)(this,this.l),this.l+=2,n;case 4:case-4:return t===\\\"i\\\"||(this[this.l+3]&128)===0?(n=(e>0?lt:Gc)(this,this.l),this.l+=4,n):(a=tr(this,this.l),this.l+=4,a);case 8:case-8:if(t===\\\"f\\\")return e==8?a=Pa(this,this.l):a=Pa([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0),this.l+=8,a;e=8;case 16:r=ji(this,this.l,e);break}}return this.l+=e,r}var zc=function(e,t,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24&255},jc=function(e,t,r){e[r]=t&255,e[r+1]=t>>8&255,e[r+2]=t>>16&255,e[r+3]=t>>24&255},Kc=function(e,t,r){e[r]=t&255,e[r+1]=t>>>8&255};function $c(e,t,r){var n=0,a=0;if(r===\\\"dbcs\\\"){for(a=0;a!=t.length;++a)Kc(this,t.charCodeAt(a),this.l+2*a);n=2*t.length}else if(r===\\\"sbcs\\\"){if(typeof Le<\\\"u\\\"&&Rt==874)for(a=0;a!=t.length;++a){var i=Le.utils.encode(Rt,t.charAt(a));this[this.l+a]=i[0]}else for(t=t.replace(/[^\\\\x00-\\\\x7F]/g,\\\"_\\\"),a=0;a!=t.length;++a)this[this.l+a]=t.charCodeAt(a)&255;n=t.length}else if(r===\\\"hex\\\"){for(;a<e;++a)this[this.l++]=parseInt(t.slice(2*a,2*a+2),16)||0;return this}else if(r===\\\"utf16le\\\"){var f=Math.min(this.l+e,this.length);for(a=0;a<Math.min(t.length,e);++a){var s=t.charCodeAt(a);this[this.l++]=s&255,this[this.l++]=s>>8}for(;this.l<f;)this[this.l++]=0;return this}else switch(e){case 1:n=1,this[this.l]=t&255;break;case 2:n=2,this[this.l]=t&255,t>>>=8,this[this.l+1]=t&255;break;case 3:n=3,this[this.l]=t&255,t>>>=8,this[this.l+1]=t&255,t>>>=8,this[this.l+2]=t&255;break;case 4:n=4,zc(this,t,this.l);break;case 8:if(n=8,r===\\\"f\\\"){Hc(this,t,this.l);break}case 16:break;case-4:n=4,jc(this,t,this.l);break}return this.l+=n,this}function es(e,t){var r=ji(this,this.l,e.length>>1);if(r!==e)throw new Error(t+\\\"Expected \\\"+e+\\\" saw \\\"+r);this.l+=e.length>>1}function nr(e,t){e.l=t,e.read_shift=Gt,e.chk=es,e.write_shift=$c}function dr(e,t){e.l+=t}function Je(e){var t=it(e);return nr(t,0),t}function Zr(e,t,r){if(e){var n,a,i;nr(e,e.l||0);for(var f=e.length,s=0,c=0;e.l<f;){s=e.read_shift(1),s&128&&(s=(s&127)+((e.read_shift(1)&127)<<7));var l=Ha[s]||Ha[65535];for(n=e.read_shift(1),i=n&127,a=1;a<4&&n&128;++a)i+=((n=e.read_shift(1))&127)<<7*a;c=e.l+i;var o=l.f&&l.f(e,i,r);if(e.l=c,t(o,l,s))return}}}function xn(){var e=[],t=Ce?256:2048,r=function(l){var o=Je(l);return nr(o,0),o},n=r(t),a=function(){n&&(n.length>n.l&&(n=n.slice(0,n.l),n.l=n.length),n.length>0&&e.push(n),n=null)},i=function(l){return n&&l<n.length-n.l?n:(a(),n=r(Math.max(l+1,t)))},f=function(){return a(),rt(e)},s=function(l){a(),n=l,n.l==null&&(n.l=n.length),i(t)};return{next:i,push:s,end:f,_bufs:e}}function zt(e,t,r){var n=ir(e);if(t.s?(n.cRel&&(n.c+=t.s.c),n.rRel&&(n.r+=t.s.r)):(n.cRel&&(n.c+=t.c),n.rRel&&(n.r+=t.r)),!r||r.biff<12){for(;n.c>=256;)n.c-=256;for(;n.r>=65536;)n.r-=65536}return n}function X0(e,t,r){var n=ir(e);return n.s=zt(n.s,t.s,r),n.e=zt(n.e,t.s,r),n}function jt(e,t){if(e.cRel&&e.c<0)for(e=ir(e);e.c<0;)e.c+=t>8?16384:256;if(e.rRel&&e.r<0)for(e=ir(e);e.r<0;)e.r+=t>8?1048576:t>5?65536:16384;var r=Te(e);return!e.cRel&&e.cRel!=null&&(r=qc(r)),!e.rRel&&e.rRel!=null&&(r=Yc(r)),r}function an(e,t){return e.s.r==0&&!e.s.rRel&&e.e.r==(t.biff>=12?1048575:t.biff>=8?65536:16384)&&!e.e.rRel?(e.s.cRel?\\\"\\\":\\\"$\\\")+Ze(e.s.c)+\\\":\\\"+(e.e.cRel?\\\"\\\":\\\"$\\\")+Ze(e.e.c):e.s.c==0&&!e.s.cRel&&e.e.c==(t.biff>=12?16383:255)&&!e.e.cRel?(e.s.rRel?\\\"\\\":\\\"$\\\")+sr(e.s.r)+\\\":\\\"+(e.e.rRel?\\\"\\\":\\\"$\\\")+sr(e.e.r):jt(e.s,t.biff)+\\\":\\\"+jt(e.e,t.biff)}function Bn(e){return parseInt(Jc(e),10)-1}function sr(e){return\\\"\\\"+(e+1)}function Yc(e){return e.replace(/([A-Z]|^)(\\\\d+)$/,\\\"$1$$$2\\\")}function Jc(e){return e.replace(/\\\\$(\\\\d+)$/,\\\"$1\\\")}function Mn(e){for(var t=Zc(e),r=0,n=0;n!==t.length;++n)r=26*r+t.charCodeAt(n)-64;return r-1}function Ze(e){if(e<0)throw new Error(\\\"invalid column \\\"+e);var t=\\\"\\\";for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return t}function qc(e){return e.replace(/^([A-Z])/,\\\"$$$1\\\")}function Zc(e){return e.replace(/^\\\\$([A-Z])/,\\\"$1\\\")}function Qc(e){return e.replace(/(\\\\$?[A-Z]*)(\\\\$?\\\\d*)/,\\\"$1,$2\\\").split(\\\",\\\")}function gr(e){for(var t=0,r=0,n=0;n<e.length;++n){var a=e.charCodeAt(n);a>=48&&a<=57?t=10*t+(a-48):a>=65&&a<=90&&(r=26*r+(a-64))}return{c:r-1,r:t-1}}function Te(e){for(var t=e.c+1,r=\\\"\\\";t;t=(t-1)/26|0)r=String.fromCharCode((t-1)%26+65)+r;return r+(e.r+1)}function Nt(e){var t=e.indexOf(\\\":\\\");return t==-1?{s:gr(e),e:gr(e)}:{s:gr(e.slice(0,t)),e:gr(e.slice(t+1))}}function De(e,t){return typeof t>\\\"u\\\"||typeof t==\\\"number\\\"?De(e.s,e.e):(typeof e!=\\\"string\\\"&&(e=Te(e)),typeof t!=\\\"string\\\"&&(t=Te(t)),e==t?e:e+\\\":\\\"+t)}function Xe(e){var t={s:{c:0,r:0},e:{c:0,r:0}},r=0,n=0,a=0,i=e.length;for(r=0;n<i&&!((a=e.charCodeAt(n)-64)<1||a>26);++n)r=26*r+a;for(t.s.c=--r,r=0;n<i&&!((a=e.charCodeAt(n)-48)<0||a>9);++n)r=10*r+a;if(t.s.r=--r,n===i||a!=10)return t.e.c=t.s.c,t.e.r=t.s.r,t;for(++n,r=0;n!=i&&!((a=e.charCodeAt(n)-64)<1||a>26);++n)r=26*r+a;for(t.e.c=--r,r=0;n!=i&&!((a=e.charCodeAt(n)-48)<0||a>9);++n)r=10*r+a;return t.e.r=--r,t}function G0(e,t){var r=e.t==\\\"d\\\"&&t instanceof Date;if(e.z!=null)try{return e.w=Or(e.z,r?_r(t):t)}catch{}try{return e.w=Or((e.XF||{}).numFmtId||(r?14:0),r?_r(t):t)}catch{return\\\"\\\"+t}}function qr(e,t,r){return e==null||e.t==null||e.t==\\\"z\\\"?\\\"\\\":e.w!==void 0?e.w:(e.t==\\\"d\\\"&&!e.z&&r&&r.dateNF&&(e.z=r.dateNF),e.t==\\\"e\\\"?kt[e.v]||e.v:t==null?G0(e,e.v):G0(e,t))}function ft(e,t){var r=t&&t.sheet?t.sheet:\\\"Sheet1\\\",n={};return n[r]=e,{SheetNames:[r],Sheets:n}}function rs(e,t,r){var n=r||{},a=e?Array.isArray(e):n.dense;qe!=null&&a==null&&(a=qe);var i=e||(a?[]:{}),f=0,s=0;if(i&&n.origin!=null){if(typeof n.origin==\\\"number\\\")f=n.origin;else{var c=typeof n.origin==\\\"string\\\"?gr(n.origin):n.origin;f=c.r,s=c.c}i[\\\"!ref\\\"]||(i[\\\"!ref\\\"]=\\\"A1:A1\\\")}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i[\\\"!ref\\\"]){var o=Xe(i[\\\"!ref\\\"]);l.s.c=o.s.c,l.s.r=o.s.r,l.e.c=Math.max(l.e.c,o.e.c),l.e.r=Math.max(l.e.r,o.e.r),f==-1&&(l.e.r=f=o.e.r+1)}for(var h=0;h!=t.length;++h)if(t[h]){if(!Array.isArray(t[h]))throw new Error(\\\"aoa_to_sheet expects an array of arrays\\\");for(var x=0;x!=t[h].length;++x)if(!(typeof t[h][x]>\\\"u\\\")){var d={v:t[h][x]},p=f+h,u=s+x;if(l.s.r>p&&(l.s.r=p),l.s.c>u&&(l.s.c=u),l.e.r<p&&(l.e.r=p),l.e.c<u&&(l.e.c=u),t[h][x]&&typeof t[h][x]==\\\"object\\\"&&!Array.isArray(t[h][x])&&!(t[h][x]instanceof Date))d=t[h][x];else if(Array.isArray(d.v)&&(d.f=t[h][x][1],d.v=d.v[0]),d.v===null)if(d.f)d.t=\\\"n\\\";else if(n.nullError)d.t=\\\"e\\\",d.v=0;else if(n.sheetStubs)d.t=\\\"z\\\";else continue;else typeof d.v==\\\"number\\\"?d.t=\\\"n\\\":typeof d.v==\\\"boolean\\\"?d.t=\\\"b\\\":d.v instanceof Date?(d.z=n.dateNF||Se[14],n.cellDates?(d.t=\\\"d\\\",d.w=Or(d.z,_r(d.v))):(d.t=\\\"n\\\",d.v=_r(d.v),d.w=Or(d.z,d.v))):d.t=\\\"s\\\";if(a)i[p]||(i[p]=[]),i[p][u]&&i[p][u].z&&(d.z=i[p][u].z),i[p][u]=d;else{var g=Te({c:u,r:p});i[g]&&i[g].z&&(d.z=i[g].z),i[g]=d}}}return l.s.c<1e7&&(i[\\\"!ref\\\"]=De(l)),i}function Pt(e,t){return rs(null,e,t)}function eo(e){return e.read_shift(4,\\\"i\\\")}function xr(e){var t=e.read_shift(4);return t===0?\\\"\\\":e.read_shift(t,\\\"dbcs\\\")}function ro(e){return{ich:e.read_shift(2),ifnt:e.read_shift(2)}}function Un(e,t){var r=e.l,n=e.read_shift(1),a=xr(e),i=[],f={t:a,h:a};if((n&1)!==0){for(var s=e.read_shift(4),c=0;c!=s;++c)i.push(ro(e));f.r=i}else f.r=[{ich:0,ifnt:0}];return e.l=r+t,f}var to=Un;function Dr(e){var t=e.read_shift(4),r=e.read_shift(2);return r+=e.read_shift(1)<<16,e.l++,{c:t,iStyleRef:r}}function _t(e){var t=e.read_shift(2);return t+=e.read_shift(1)<<16,e.l++,{c:-1,iStyleRef:t}}var ao=xr;function Wn(e){var t=e.read_shift(4);return t===0||t===4294967295?\\\"\\\":e.read_shift(t,\\\"dbcs\\\")}var no=xr,dn=Wn;function Hn(e){var t=e.slice(e.l,e.l+4),r=t[0]&1,n=t[0]&2;e.l+=4;var a=n===0?Pa([0,0,0,0,t[0]&252,t[1],t[2],t[3]],0):lt(t,0)>>2;return r?a/100:a}function ts(e){var t={s:{},e:{}};return t.s.r=e.read_shift(4),t.e.r=e.read_shift(4),t.s.c=e.read_shift(4),t.e.c=e.read_shift(4),t}var wt=ts;function lr(e){if(e.length-e.l<8)throw\\\"XLS Xnum Buffer underflow\\\";return e.read_shift(8,\\\"f\\\")}function io(e){var t={},r=e.read_shift(1),n=r>>>1,a=e.read_shift(1),i=e.read_shift(2,\\\"i\\\"),f=e.read_shift(1),s=e.read_shift(1),c=e.read_shift(1);switch(e.l++,n){case 0:t.auto=1;break;case 1:t.index=a;var l=xt[a];l&&(t.rgb=aa(l));break;case 2:t.rgb=aa([f,s,c]);break;case 3:t.theme=a;break}return i!=0&&(t.tint=i>0?i/32767:i/32768),t}function so(e){var t=e.read_shift(1);e.l++;var r={fBold:t&1,fItalic:t&2,fUnderline:t&4,fStrikeout:t&8,fOutline:t&16,fShadow:t&32,fCondense:t&64,fExtend:t&128};return r}function as(e,t){var r={2:\\\"BITMAP\\\",3:\\\"METAFILEPICT\\\",8:\\\"DIB\\\",14:\\\"ENHMETAFILE\\\"},n=e.read_shift(4);switch(n){case 0:return\\\"\\\";case 4294967295:case 4294967294:return r[e.read_shift(4)]||\\\"\\\"}if(n>400)throw new Error(\\\"Unsupported Clipboard: \\\"+n.toString(16));return e.l-=4,e.read_shift(0,t==1?\\\"lpstr\\\":\\\"lpwstr\\\")}function fo(e){return as(e,1)}function co(e){return as(e,2)}var Vn=2,Er=3,Sa=11,z0=12,La=19;var Fa=64,oo=65,lo=71;var ho=4108,uo=4126,rr=80,ns=81,xo=[rr,ns],po={1:{n:\\\"CodePage\\\",t:Vn},2:{n:\\\"Category\\\",t:rr},3:{n:\\\"PresentationFormat\\\",t:rr},4:{n:\\\"ByteCount\\\",t:Er},5:{n:\\\"LineCount\\\",t:Er},6:{n:\\\"ParagraphCount\\\",t:Er},7:{n:\\\"SlideCount\\\",t:Er},8:{n:\\\"NoteCount\\\",t:Er},9:{n:\\\"HiddenCount\\\",t:Er},10:{n:\\\"MultimediaClipCount\\\",t:Er},11:{n:\\\"ScaleCrop\\\",t:Sa},12:{n:\\\"HeadingPairs\\\",t:ho},13:{n:\\\"TitlesOfParts\\\",t:uo},14:{n:\\\"Manager\\\",t:rr},15:{n:\\\"Company\\\",t:rr},16:{n:\\\"LinksUpToDate\\\",t:Sa},17:{n:\\\"CharacterCount\\\",t:Er},19:{n:\\\"SharedDoc\\\",t:Sa},22:{n:\\\"HyperlinksChanged\\\",t:Sa},23:{n:\\\"AppVersion\\\",t:Er,p:\\\"version\\\"},24:{n:\\\"DigSig\\\",t:oo},26:{n:\\\"ContentType\\\",t:rr},27:{n:\\\"ContentStatus\\\",t:rr},28:{n:\\\"Language\\\",t:rr},29:{n:\\\"Version\\\",t:rr},255:{},2147483648:{n:\\\"Locale\\\",t:La},2147483651:{n:\\\"Behavior\\\",t:La},1919054434:{}},vo={1:{n:\\\"CodePage\\\",t:Vn},2:{n:\\\"Title\\\",t:rr},3:{n:\\\"Subject\\\",t:rr},4:{n:\\\"Author\\\",t:rr},5:{n:\\\"Keywords\\\",t:rr},6:{n:\\\"Comments\\\",t:rr},7:{n:\\\"Template\\\",t:rr},8:{n:\\\"LastAuthor\\\",t:rr},9:{n:\\\"RevNumber\\\",t:rr},10:{n:\\\"EditTime\\\",t:Fa},11:{n:\\\"LastPrinted\\\",t:Fa},12:{n:\\\"CreatedDate\\\",t:Fa},13:{n:\\\"ModifiedDate\\\",t:Fa},14:{n:\\\"PageCount\\\",t:Er},15:{n:\\\"WordCount\\\",t:Er},16:{n:\\\"CharCount\\\",t:Er},17:{n:\\\"Thumbnail\\\",t:lo},18:{n:\\\"Application\\\",t:rr},19:{n:\\\"DocSecurity\\\",t:Er},255:{},2147483648:{n:\\\"Locale\\\",t:La},2147483651:{n:\\\"Behavior\\\",t:La},1919054434:{}},j0={1:\\\"US\\\",2:\\\"CA\\\",3:\\\"\\\",7:\\\"RU\\\",20:\\\"EG\\\",30:\\\"GR\\\",31:\\\"NL\\\",32:\\\"BE\\\",33:\\\"FR\\\",34:\\\"ES\\\",36:\\\"HU\\\",39:\\\"IT\\\",41:\\\"CH\\\",43:\\\"AT\\\",44:\\\"GB\\\",45:\\\"DK\\\",46:\\\"SE\\\",47:\\\"NO\\\",48:\\\"PL\\\",49:\\\"DE\\\",52:\\\"MX\\\",55:\\\"BR\\\",61:\\\"AU\\\",64:\\\"NZ\\\",66:\\\"TH\\\",81:\\\"JP\\\",82:\\\"KR\\\",84:\\\"VN\\\",86:\\\"CN\\\",90:\\\"TR\\\",105:\\\"JS\\\",213:\\\"DZ\\\",216:\\\"MA\\\",218:\\\"LY\\\",351:\\\"PT\\\",354:\\\"IS\\\",358:\\\"FI\\\",420:\\\"CZ\\\",886:\\\"TW\\\",961:\\\"LB\\\",962:\\\"JO\\\",963:\\\"SY\\\",964:\\\"IQ\\\",965:\\\"KW\\\",966:\\\"SA\\\",971:\\\"AE\\\",972:\\\"IL\\\",974:\\\"QA\\\",981:\\\"IR\\\",65535:\\\"US\\\"},mo=[null,\\\"solid\\\",\\\"mediumGray\\\",\\\"darkGray\\\",\\\"lightGray\\\",\\\"darkHorizontal\\\",\\\"darkVertical\\\",\\\"darkDown\\\",\\\"darkUp\\\",\\\"darkGrid\\\",\\\"darkTrellis\\\",\\\"lightHorizontal\\\",\\\"lightVertical\\\",\\\"lightDown\\\",\\\"lightUp\\\",\\\"lightGrid\\\",\\\"lightTrellis\\\",\\\"gray125\\\",\\\"gray0625\\\"];function go(e){return e.map(function(t){return[t>>16&255,t>>8&255,t&255]})}var _o=go([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),xt=ir(_o),kt={0:\\\"#NULL!\\\",7:\\\"#DIV/0!\\\",15:\\\"#VALUE!\\\",23:\\\"#REF!\\\",29:\\\"#NAME?\\\",36:\\\"#NUM!\\\",42:\\\"#N/A\\\",43:\\\"#GETTING_DATA\\\",255:\\\"#WTF?\\\"},is={\\\"#NULL!\\\":0,\\\"#DIV/0!\\\":7,\\\"#VALUE!\\\":15,\\\"#REF!\\\":23,\\\"#NAME?\\\":29,\\\"#NUM!\\\":36,\\\"#N/A\\\":42,\\\"#GETTING_DATA\\\":43,\\\"#WTF?\\\":255},K0={\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\\\":\\\"workbooks\\\",\\\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\\\":\\\"workbooks\\\",\\\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\\\":\\\"workbooks\\\",\\\"application/vnd.ms-excel.addin.macroEnabled.main+xml\\\":\\\"workbooks\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\\\":\\\"workbooks\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\\\":\\\"sheets\\\",\\\"application/vnd.ms-excel.worksheet\\\":\\\"sheets\\\",\\\"application/vnd.ms-excel.binIndexWs\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\\\":\\\"charts\\\",\\\"application/vnd.ms-excel.chartsheet\\\":\\\"charts\\\",\\\"application/vnd.ms-excel.macrosheet+xml\\\":\\\"macros\\\",\\\"application/vnd.ms-excel.macrosheet\\\":\\\"macros\\\",\\\"application/vnd.ms-excel.intlmacrosheet\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.binIndexMs\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\\\":\\\"dialogs\\\",\\\"application/vnd.ms-excel.dialogsheet\\\":\\\"dialogs\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\\\":\\\"strs\\\",\\\"application/vnd.ms-excel.sharedStrings\\\":\\\"strs\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\\\":\\\"styles\\\",\\\"application/vnd.ms-excel.styles\\\":\\\"styles\\\",\\\"application/vnd.openxmlformats-package.core-properties+xml\\\":\\\"coreprops\\\",\\\"application/vnd.openxmlformats-officedocument.custom-properties+xml\\\":\\\"custprops\\\",\\\"application/vnd.openxmlformats-officedocument.extended-properties+xml\\\":\\\"extprops\\\",\\\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\\\":\\\"comments\\\",\\\"application/vnd.ms-excel.comments\\\":\\\"comments\\\",\\\"application/vnd.ms-excel.threadedcomments+xml\\\":\\\"threadedcomments\\\",\\\"application/vnd.ms-excel.person+xml\\\":\\\"people\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\\\":\\\"metadata\\\",\\\"application/vnd.ms-excel.sheetMetadata\\\":\\\"metadata\\\",\\\"application/vnd.ms-excel.pivotTable\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-office.chartcolorstyle+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-office.chartstyle+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-office.chartex+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.calcChain\\\":\\\"calcchains\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\\\":\\\"calcchains\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\\\":\\\"TODO\\\",\\\"application/vnd.ms-office.activeX\\\":\\\"TODO\\\",\\\"application/vnd.ms-office.activeX+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.attachedToolbars\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.connections\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.externalLink\\\":\\\"links\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\\\":\\\"links\\\",\\\"application/vnd.ms-excel.pivotCacheDefinition\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.pivotCacheRecords\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.queryTable\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.userNames\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.revisionHeaders\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.revisionLog\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.tableSingleCells\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.slicer\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.slicerCache\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.slicer+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.slicerCache+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.wsSortMap\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.table\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.theme+xml\\\":\\\"themes\\\",\\\"application/vnd.openxmlformats-officedocument.themeOverride+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.Timeline+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.TimelineCache+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-office.vbaProject\\\":\\\"vba\\\",\\\"application/vnd.ms-office.vbaProjectSignature\\\":\\\"TODO\\\",\\\"application/vnd.ms-office.volatileDependencies\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.controlproperties+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.model+data\\\":\\\"TODO\\\",\\\"application/vnd.ms-excel.Survey+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.drawing+xml\\\":\\\"drawings\\\",\\\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-officedocument.vmlDrawing\\\":\\\"TODO\\\",\\\"application/vnd.openxmlformats-package.relationships+xml\\\":\\\"rels\\\",\\\"application/vnd.openxmlformats-officedocument.oleObject\\\":\\\"TODO\\\",\\\"image/png\\\":\\\"TODO\\\",sheet:\\\"js\\\"};function wo(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:\\\"\\\"}}function ko(e){var t=wo();if(!e||!e.match)return t;var r={};if((e.match(pr)||[]).forEach(function(n){var a=me(n);switch(a[0].replace(Ac,\\\"<\\\")){case\\\"<?xml\\\":break;case\\\"<Types\\\":t.xmlns=a[\\\"xmlns\\\"+(a[0].match(/<(\\\\w+):/)||[\\\"\\\",\\\"\\\"])[1]];break;case\\\"<Default\\\":r[a.Extension]=a.ContentType;break;case\\\"<Override\\\":t[K0[a.ContentType]]!==void 0&&t[K0[a.ContentType]].push(a.PartName);break}}),t.xmlns!==Mc.CT)throw new Error(\\\"Unknown Namespace: \\\"+t.xmlns);return t.calcchain=t.calcchains.length>0?t.calcchains[0]:\\\"\\\",t.sst=t.strs.length>0?t.strs[0]:\\\"\\\",t.style=t.styles.length>0?t.styles[0]:\\\"\\\",t.defaults=r,delete t.calcchains,t}var Kr={WB:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\\\",SHEET:\\\"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\\\",HLINK:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\\\",VML:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\\\",XPATH:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\\\",XMISS:\\\"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\\\",XLINK:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\\\",CXML:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\\\",CXMLP:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\\\",CMNT:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\\\",CORE_PROPS:\\\"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\\\",EXT_PROPS:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\\\",CUST_PROPS:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties\\\",SST:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\\\",STY:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\\\",THEME:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\\\",CHART:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\\\",CHARTEX:\\\"http://schemas.microsoft.com/office/2014/relationships/chartEx\\\",CS:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\\\",WS:[\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\\\",\\\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\\\"],DS:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\\\",MS:\\\"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\\\",IMG:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\\\",DRAW:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\\\",XLMETA:\\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata\\\",TCMNT:\\\"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment\\\",PEOPLE:\\\"http://schemas.microsoft.com/office/2017/10/relationships/person\\\",VBA:\\\"http://schemas.microsoft.com/office/2006/relationships/vbaProject\\\"};function pn(e){var t=e.lastIndexOf(\\\"/\\\");return e.slice(0,t+1)+\\\"_rels/\\\"+e.slice(t+1)+\\\".rels\\\"}function Kt(e,t){var r={\\\"!id\\\":{}};if(!e)return r;t.charAt(0)!==\\\"/\\\"&&(t=\\\"/\\\"+t);var n={};return(e.match(pr)||[]).forEach(function(a){var i=me(a);if(i[0]===\\\"<Relationship\\\"){var f={};f.Type=i.Type,f.Target=i.Target,f.Id=i.Id,i.TargetMode&&(f.TargetMode=i.TargetMode);var s=i.TargetMode===\\\"External\\\"?i.Target:Vt(i.Target,t);r[s]=f,n[i.Id]=f}}),r[\\\"!id\\\"]=n,r}var Eo=\\\"application/vnd.oasis.opendocument.spreadsheet\\\";function To(e,t){for(var r=Dn(e),n,a;n=ra.exec(r);)switch(n[3]){case\\\"manifest\\\":break;case\\\"file-entry\\\":if(a=me(n[0],!1),a.path==\\\"/\\\"&&a.type!==Eo)throw new Error(\\\"This OpenDocument is not a spreadsheet\\\");break;case\\\"encryption-data\\\":case\\\"algorithm\\\":case\\\"start-key-generation\\\":case\\\"key-derivation\\\":throw new Error(\\\"Unsupported ODS Encryption\\\");default:if(t&&t.WTF)throw n}}var $t=[[\\\"cp:category\\\",\\\"Category\\\"],[\\\"cp:contentStatus\\\",\\\"ContentStatus\\\"],[\\\"cp:keywords\\\",\\\"Keywords\\\"],[\\\"cp:lastModifiedBy\\\",\\\"LastAuthor\\\"],[\\\"cp:lastPrinted\\\",\\\"LastPrinted\\\"],[\\\"cp:revision\\\",\\\"RevNumber\\\"],[\\\"cp:version\\\",\\\"Version\\\"],[\\\"dc:creator\\\",\\\"Author\\\"],[\\\"dc:description\\\",\\\"Comments\\\"],[\\\"dc:identifier\\\",\\\"Identifier\\\"],[\\\"dc:language\\\",\\\"Language\\\"],[\\\"dc:subject\\\",\\\"Subject\\\"],[\\\"dc:title\\\",\\\"Title\\\"],[\\\"dcterms:created\\\",\\\"CreatedDate\\\",\\\"date\\\"],[\\\"dcterms:modified\\\",\\\"ModifiedDate\\\",\\\"date\\\"]],So=(function(){for(var e=new Array($t.length),t=0;t<$t.length;++t){var r=$t[t],n=\\\"(?:\\\"+r[0].slice(0,r[0].indexOf(\\\":\\\"))+\\\":)\\\"+r[0].slice(r[0].indexOf(\\\":\\\")+1);e[t]=new RegExp(\\\"<\\\"+n+\\\"[^>]*>([\\\\\\\\s\\\\\\\\S]*?)</\\\"+n+\\\">\\\")}return e})();function ss(e){var t={};e=Be(e);for(var r=0;r<$t.length;++r){var n=$t[r],a=e.match(So[r]);a!=null&&a.length>0&&(t[n[1]]=Ie(a[1])),n[2]===\\\"date\\\"&&t[n[1]]&&(t[n[1]]=ar(t[n[1]]))}return t}var Fo=[[\\\"Application\\\",\\\"Application\\\",\\\"string\\\"],[\\\"AppVersion\\\",\\\"AppVersion\\\",\\\"string\\\"],[\\\"Company\\\",\\\"Company\\\",\\\"string\\\"],[\\\"DocSecurity\\\",\\\"DocSecurity\\\",\\\"string\\\"],[\\\"Manager\\\",\\\"Manager\\\",\\\"string\\\"],[\\\"HyperlinksChanged\\\",\\\"HyperlinksChanged\\\",\\\"bool\\\"],[\\\"SharedDoc\\\",\\\"SharedDoc\\\",\\\"bool\\\"],[\\\"LinksUpToDate\\\",\\\"LinksUpToDate\\\",\\\"bool\\\"],[\\\"ScaleCrop\\\",\\\"ScaleCrop\\\",\\\"bool\\\"],[\\\"HeadingPairs\\\",\\\"HeadingPairs\\\",\\\"raw\\\"],[\\\"TitlesOfParts\\\",\\\"TitlesOfParts\\\",\\\"raw\\\"]];function fs(e,t,r,n){var a=[];if(typeof e==\\\"string\\\")a=B0(e,n);else for(var i=0;i<e.length;++i)a=a.concat(e[i].map(function(o){return{v:o}}));var f=typeof t==\\\"string\\\"?B0(t,n).map(function(o){return o.v}):t,s=0,c=0;if(f.length>0)for(var l=0;l!==a.length;l+=2){switch(c=+a[l+1].v,a[l].v){case\\\"Worksheets\\\":case\\\"\\\\u5DE5\\\\u4F5C\\\\u8868\\\":case\\\"\\\\u041B\\\\u0438\\\\u0441\\\\u0442\\\\u044B\\\":case\\\"\\\\u0623\\\\u0648\\\\u0631\\\\u0627\\\\u0642 \\\\u0627\\\\u0644\\\\u0639\\\\u0645\\\\u0644\\\":case\\\"\\\\u30EF\\\\u30FC\\\\u30AF\\\\u30B7\\\\u30FC\\\\u30C8\\\":case\\\"\\\\u05D2\\\\u05DC\\\\u05D9\\\\u05D5\\\\u05E0\\\\u05D5\\\\u05EA \\\\u05E2\\\\u05D1\\\\u05D5\\\\u05D3\\\\u05D4\\\":case\\\"Arbeitsbl\\\\xE4tter\\\":case\\\"\\\\xC7al\\\\u0131\\\\u015Fma Sayfalar\\\\u0131\\\":case\\\"Feuilles de calcul\\\":case\\\"Fogli di lavoro\\\":case\\\"Folhas de c\\\\xE1lculo\\\":case\\\"Planilhas\\\":case\\\"Regneark\\\":case\\\"Hojas de c\\\\xE1lculo\\\":case\\\"Werkbladen\\\":r.Worksheets=c,r.SheetNames=f.slice(s,s+c);break;case\\\"Named Ranges\\\":case\\\"Rangos con nombre\\\":case\\\"\\\\u540D\\\\u524D\\\\u4ED8\\\\u304D\\\\u4E00\\\\u89A7\\\":case\\\"Benannte Bereiche\\\":case\\\"Navngivne omr\\\\xE5der\\\":r.NamedRanges=c,r.DefinedNames=f.slice(s,s+c);break;case\\\"Charts\\\":case\\\"Diagramme\\\":r.Chartsheets=c,r.ChartNames=f.slice(s,s+c);break}s+=c}}function yo(e,t,r){var n={};return t||(t={}),e=Be(e),Fo.forEach(function(a){var i=(e.match(ea(a[0]))||[])[1];switch(a[2]){case\\\"string\\\":i&&(t[a[1]]=Ie(i));break;case\\\"bool\\\":t[a[1]]=i===\\\"true\\\";break;case\\\"raw\\\":var f=e.match(new RegExp(\\\"<\\\"+a[0]+\\\"[^>]*>([\\\\\\\\s\\\\\\\\S]*?)</\\\"+a[0]+\\\">\\\"));f&&f.length>0&&(n[a[1]]=f[1]);break}}),n.HeadingPairs&&n.TitlesOfParts&&fs(n.HeadingPairs,n.TitlesOfParts,t,r),t}var Ao=/<[^>]+>[^<]*/g;function Co(e,t){var r={},n=\\\"\\\",a=e.match(Ao);if(a)for(var i=0;i!=a.length;++i){var f=a[i],s=me(f);switch(s[0]){case\\\"<?xml\\\":break;case\\\"<Properties\\\":break;case\\\"<property\\\":n=Ie(s.name);break;case\\\"</property>\\\":n=null;break;default:if(f.indexOf(\\\"<vt:\\\")===0){var c=f.split(\\\">\\\"),l=c[0].slice(4),o=c[1];switch(l){case\\\"lpstr\\\":case\\\"bstr\\\":case\\\"lpwstr\\\":r[n]=Ie(o);break;case\\\"bool\\\":r[n]=Ue(o);break;case\\\"i1\\\":case\\\"i2\\\":case\\\"i4\\\":case\\\"i8\\\":case\\\"int\\\":case\\\"uint\\\":r[n]=parseInt(o,10);break;case\\\"r4\\\":case\\\"r8\\\":case\\\"decimal\\\":r[n]=parseFloat(o);break;case\\\"filetime\\\":case\\\"date\\\":r[n]=ar(o);break;case\\\"cy\\\":case\\\"error\\\":r[n]=Ie(o);break;default:if(l.slice(-1)==\\\"/\\\")break;t.WTF&&typeof console<\\\"u\\\"&&console.warn(\\\"Unexpected\\\",f,l,c)}}else if(f.slice(0,2)!==\\\"</\\\"){if(t.WTF)throw new Error(f)}}}return r}var Ro={Title:\\\"Title\\\",Subject:\\\"Subject\\\",Author:\\\"Author\\\",Keywords:\\\"Keywords\\\",Comments:\\\"Description\\\",LastAuthor:\\\"LastAuthor\\\",RevNumber:\\\"Revision\\\",Application:\\\"AppName\\\",LastPrinted:\\\"LastPrinted\\\",CreatedDate:\\\"Created\\\",ModifiedDate:\\\"LastSaved\\\",Category:\\\"Category\\\",Manager:\\\"Manager\\\",Company:\\\"Company\\\",AppVersion:\\\"Version\\\",ContentStatus:\\\"ContentStatus\\\",Identifier:\\\"Identifier\\\",Language:\\\"Language\\\"},nn;function Oo(e,t,r){nn||(nn=Cn(Ro)),t=nn[t]||t,e[t]=r}function Xn(e){var t=e.read_shift(4),r=e.read_shift(4);return new Date((r/1e7*Math.pow(2,32)+t/1e7-11644473600)*1e3).toISOString().replace(/\\\\.000/,\\\"\\\")}function cs(e,t,r){var n=e.l,a=e.read_shift(0,\\\"lpstr-cp\\\");if(r)for(;e.l-n&3;)++e.l;return a}function os(e,t,r){var n=e.read_shift(0,\\\"lpwstr\\\");return r&&(e.l+=4-(n.length+1&3)&3),n}function ls(e,t,r){return t===31?os(e):cs(e,t,r)}function vn(e,t,r){return ls(e,t,r===!1?0:4)}function Do(e,t){if(!t)throw new Error(\\\"VtUnalignedString must have positive length\\\");return ls(e,t,0)}function bo(e){for(var t=e.read_shift(4),r=[],n=0;n!=t;++n){var a=e.l;r[n]=e.read_shift(0,\\\"lpwstr\\\").replace(ur,\\\"\\\"),e.l-a&2&&(e.l+=2)}return r}function Io(e){for(var t=e.read_shift(4),r=[],n=0;n!=t;++n)r[n]=e.read_shift(0,\\\"lpstr-cp\\\").replace(ur,\\\"\\\");return r}function No(e){var t=e.l,r=Ba(e,ns);e[e.l]==0&&e[e.l+1]==0&&e.l-t&2&&(e.l+=2);var n=Ba(e,Er);return[r,n]}function Po(e){for(var t=e.read_shift(4),r=[],n=0;n<t/2;++n)r.push(No(e));return r}function $0(e,t){for(var r=e.read_shift(4),n={},a=0;a!=r;++a){var i=e.read_shift(4),f=e.read_shift(4);n[i]=e.read_shift(f,t===1200?\\\"utf16le\\\":\\\"utf8\\\").replace(ur,\\\"\\\").replace(Ht,\\\"!\\\"),t===1200&&f%2&&(e.l+=2)}return e.l&3&&(e.l=e.l>>3<<2),n}function hs(e){var t=e.read_shift(4),r=e.slice(e.l,e.l+t);return e.l+=t,(t&3)>0&&(e.l+=4-(t&3)&3),r}function Lo(e){var t={};return t.Size=e.read_shift(4),e.l+=t.Size+3-(t.Size-1)%4,t}function Ba(e,t,r){var n=e.read_shift(2),a,i=r||{};if(e.l+=2,t!==z0&&n!==t&&xo.indexOf(t)===-1&&!((t&65534)==4126&&(n&65534)==4126))throw new Error(\\\"Expected type \\\"+t+\\\" saw \\\"+n);switch(t===z0?n:t){case 2:return a=e.read_shift(2,\\\"i\\\"),i.raw||(e.l+=2),a;case 3:return a=e.read_shift(4,\\\"i\\\"),a;case 11:return e.read_shift(4)!==0;case 19:return a=e.read_shift(4),a;case 30:return cs(e,n,4).replace(ur,\\\"\\\");case 31:return os(e);case 64:return Xn(e);case 65:return hs(e);case 71:return Lo(e);case 80:return vn(e,n,!i.raw).replace(ur,\\\"\\\");case 81:return Do(e,n).replace(ur,\\\"\\\");case 4108:return Po(e);case 4126:case 4127:return n==4127?bo(e):Io(e);default:throw new Error(\\\"TypedPropertyValue unrecognized type \\\"+t+\\\" \\\"+n)}}function Y0(e,t){var r=e.l,n=e.read_shift(4),a=e.read_shift(4),i=[],f=0,s=0,c=-1,l={};for(f=0;f!=a;++f){var o=e.read_shift(4),h=e.read_shift(4);i[f]=[o,h+r]}i.sort(function(D,k){return D[1]-k[1]});var x={};for(f=0;f!=a;++f){if(e.l!==i[f][1]){var d=!0;if(f>0&&t)switch(t[i[f-1][0]].t){case 2:e.l+2===i[f][1]&&(e.l+=2,d=!1);break;case 80:e.l<=i[f][1]&&(e.l=i[f][1],d=!1);break;case 4108:e.l<=i[f][1]&&(e.l=i[f][1],d=!1);break}if((!t||f==0)&&e.l<=i[f][1]&&(d=!1,e.l=i[f][1]),d)throw new Error(\\\"Read Error: Expected address \\\"+i[f][1]+\\\" at \\\"+e.l+\\\" :\\\"+f)}if(t){var p=t[i[f][0]];if(x[p.n]=Ba(e,p.t,{raw:!0}),p.p===\\\"version\\\"&&(x[p.n]=String(x[p.n]>>16)+\\\".\\\"+(\\\"0000\\\"+String(x[p.n]&65535)).slice(-4)),p.n==\\\"CodePage\\\")switch(x[p.n]){case 0:x[p.n]=1252;case 874:case 932:case 936:case 949:case 950:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 1e4:case 1200:case 1201:case 1252:case 65e3:case-536:case 65001:case-535:Lr(s=x[p.n]>>>0&65535);break;default:throw new Error(\\\"Unsupported CodePage: \\\"+x[p.n])}}else if(i[f][0]===1){if(s=x.CodePage=Ba(e,Vn),Lr(s),c!==-1){var u=e.l;e.l=i[c][1],l=$0(e,s),e.l=u}}else if(i[f][0]===0){if(s===0){c=f,e.l=i[f+1][1];continue}l=$0(e,s)}else{var g=l[i[f][0]],N;switch(e[e.l]){case 65:e.l+=4,N=hs(e);break;case 30:e.l+=4,N=vn(e,e[e.l-4]).replace(/\\\\u0000+$/,\\\"\\\");break;case 31:e.l+=4,N=vn(e,e[e.l-4]).replace(/\\\\u0000+$/,\\\"\\\");break;case 3:e.l+=4,N=e.read_shift(4,\\\"i\\\");break;case 19:e.l+=4,N=e.read_shift(4);break;case 5:e.l+=4,N=e.read_shift(8,\\\"f\\\");break;case 11:e.l+=4,N=ze(e,4);break;case 64:e.l+=4,N=ar(Xn(e));break;default:throw new Error(\\\"unparsed value: \\\"+e[e.l])}x[g]=N}}return e.l=r+n,x}function J0(e,t,r){var n=e.content;if(!n)return{};nr(n,0);var a,i,f,s,c=0;n.chk(\\\"feff\\\",\\\"Byte Order: \\\"),n.read_shift(2);var l=n.read_shift(4),o=n.read_shift(16);if(o!==Oe.utils.consts.HEADER_CLSID&&o!==r)throw new Error(\\\"Bad PropertySet CLSID \\\"+o);if(a=n.read_shift(4),a!==1&&a!==2)throw new Error(\\\"Unrecognized #Sets: \\\"+a);if(i=n.read_shift(16),s=n.read_shift(4),a===1&&s!==n.l)throw new Error(\\\"Length mismatch: \\\"+s+\\\" !== \\\"+n.l);a===2&&(f=n.read_shift(16),c=n.read_shift(4));var h=Y0(n,t),x={SystemIdentifier:l};for(var d in h)x[d]=h[d];if(x.FMTID=i,a===1)return x;if(c-n.l==2&&(n.l+=2),n.l!==c)throw new Error(\\\"Length mismatch 2: \\\"+n.l+\\\" !== \\\"+c);var p;try{p=Y0(n,null)}catch{}for(d in p)x[d]=p[d];return x.FMTID=[i,f],x}function et(e,t){return e.read_shift(t),null}function Bo(e,t,r){for(var n=[],a=e.l+t;e.l<a;)n.push(r(e,a-e.l));if(a!==e.l)throw new Error(\\\"Slurp error\\\");return n}function ze(e,t){return e.read_shift(t)===1}function Ye(e){return e.read_shift(2,\\\"u\\\")}function us(e,t){return Bo(e,t,Ye)}function Mo(e){var t=e.read_shift(1),r=e.read_shift(1);return r===1?t:t===1}function fa(e,t,r){var n=e.read_shift(r&&r.biff>=12?2:1),a=\\\"sbcs-cont\\\",i=Hr;if(r&&r.biff>=8&&(Hr=1200),!r||r.biff==8){var f=e.read_shift(1);f&&(a=\\\"dbcs-cont\\\")}else r.biff==12&&(a=\\\"wstr\\\");r.biff>=2&&r.biff<=5&&(a=\\\"cpstr\\\");var s=n?e.read_shift(n,a):\\\"\\\";return Hr=i,s}function Uo(e){var t=Hr;Hr=1200;var r=e.read_shift(2),n=e.read_shift(1),a=n&4,i=n&8,f=1+(n&1),s=0,c,l={};i&&(s=e.read_shift(2)),a&&(c=e.read_shift(4));var o=f==2?\\\"dbcs-cont\\\":\\\"sbcs-cont\\\",h=r===0?\\\"\\\":e.read_shift(r,o);return i&&(e.l+=4*s),a&&(e.l+=c),l.t=h,i||(l.raw=\\\"<t>\\\"+l.t+\\\"</t>\\\",l.r=l.t),Hr=t,l}function vt(e,t,r){var n;if(r){if(r.biff>=2&&r.biff<=5)return e.read_shift(t,\\\"cpstr\\\");if(r.biff>=12)return e.read_shift(t,\\\"dbcs-cont\\\")}var a=e.read_shift(1);return a===0?n=e.read_shift(t,\\\"sbcs-cont\\\"):n=e.read_shift(t,\\\"dbcs-cont\\\"),n}function ca(e,t,r){var n=e.read_shift(r&&r.biff==2?1:2);return n===0?(e.l++,\\\"\\\"):vt(e,n,r)}function Et(e,t,r){if(r.biff>5)return ca(e,t,r);var n=e.read_shift(1);return n===0?(e.l++,\\\"\\\"):e.read_shift(n,r.biff<=4||!e.lens?\\\"cpstr\\\":\\\"sbcs-cont\\\")}function Wo(e){var t=e.read_shift(1);e.l++;var r=e.read_shift(2);return e.l+=2,[t,r]}function Ho(e){var t=e.read_shift(4),r=e.l,n=!1;t>24&&(e.l+=t-24,e.read_shift(16)===\\\"795881f43b1d7f48af2c825dc4852763\\\"&&(n=!0),e.l=r);var a=e.read_shift((n?t-24:t)>>1,\\\"utf16le\\\").replace(ur,\\\"\\\");return n&&(e.l+=24),a}function Vo(e){for(var t=e.read_shift(2),r=\\\"\\\";t-- >0;)r+=\\\"../\\\";var n=e.read_shift(0,\\\"lpstr-ansi\\\");if(e.l+=2,e.read_shift(2)!=57005)throw new Error(\\\"Bad FileMoniker\\\");var a=e.read_shift(4);if(a===0)return r+n.replace(/\\\\\\\\/g,\\\"/\\\");var i=e.read_shift(4);if(e.read_shift(2)!=3)throw new Error(\\\"Bad FileMoniker\\\");var f=e.read_shift(i>>1,\\\"utf16le\\\").replace(ur,\\\"\\\");return r+f}function Xo(e,t){var r=e.read_shift(16);switch(t-=16,r){case\\\"e0c9ea79f9bace118c8200aa004ba90b\\\":return Ho(e,t);case\\\"0303000000000000c000000000000046\\\":return Vo(e,t);default:throw new Error(\\\"Unsupported Moniker \\\"+r)}}function ya(e){var t=e.read_shift(4),r=t>0?e.read_shift(t,\\\"utf16le\\\").replace(ur,\\\"\\\"):\\\"\\\";return r}function Go(e,t){var r=e.l+t,n=e.read_shift(4);if(n!==2)throw new Error(\\\"Unrecognized streamVersion: \\\"+n);var a=e.read_shift(2);e.l+=2;var i,f,s,c,l=\\\"\\\",o,h;a&16&&(i=ya(e,r-e.l)),a&128&&(f=ya(e,r-e.l)),(a&257)===257&&(s=ya(e,r-e.l)),(a&257)===1&&(c=Xo(e,r-e.l)),a&8&&(l=ya(e,r-e.l)),a&32&&(o=e.read_shift(16)),a&64&&(h=Xn(e)),e.l=r;var x=f||s||c||\\\"\\\";x&&l&&(x+=\\\"#\\\"+l),x||(x=\\\"#\\\"+l),a&2&&x.charAt(0)==\\\"/\\\"&&x.charAt(1)!=\\\"/\\\"&&(x=\\\"file://\\\"+x);var d={Target:x};return o&&(d.guid=o),h&&(d.time=h),i&&(d.Tooltip=i),d}function xs(e){var t=e.read_shift(1),r=e.read_shift(1),n=e.read_shift(1),a=e.read_shift(1);return[t,r,n,a]}function ds(e,t){var r=xs(e,t);return r[3]=0,r}function Gr(e){var t=e.read_shift(2),r=e.read_shift(2),n=e.read_shift(2);return{r:t,c:r,ixfe:n}}function zo(e){var t=e.read_shift(2),r=e.read_shift(2);return e.l+=8,{type:t,flags:r}}function jo(e,t,r){return t===0?\\\"\\\":Et(e,t,r)}function Ko(e,t,r){var n=r.biff>8?4:2,a=e.read_shift(n),i=e.read_shift(n,\\\"i\\\"),f=e.read_shift(n,\\\"i\\\");return[a,i,f]}function ps(e){var t=e.read_shift(2),r=Hn(e);return[t,r]}function $o(e,t,r){e.l+=4,t-=4;var n=e.l+t,a=fa(e,t,r),i=e.read_shift(2);if(n-=e.l,i!==n)throw new Error(\\\"Malformed AddinUdf: padding = \\\"+n+\\\" != \\\"+i);return e.l+=i,a}function za(e){var t=e.read_shift(2),r=e.read_shift(2),n=e.read_shift(2),a=e.read_shift(2);return{s:{c:n,r:t},e:{c:a,r}}}function vs(e){var t=e.read_shift(2),r=e.read_shift(2),n=e.read_shift(1),a=e.read_shift(1);return{s:{c:n,r:t},e:{c:a,r}}}var Yo=vs;function ms(e){e.l+=4;var t=e.read_shift(2),r=e.read_shift(2),n=e.read_shift(2);return e.l+=12,[r,t,n]}function Jo(e){var t={};return e.l+=4,e.l+=16,t.fSharedNote=e.read_shift(2),e.l+=4,t}function qo(e){var t={};return e.l+=4,e.cf=e.read_shift(2),t}function cr(e){e.l+=2,e.l+=e.read_shift(2)}var Zo={0:cr,4:cr,5:cr,6:cr,7:qo,8:cr,9:cr,10:cr,11:cr,12:cr,13:Jo,14:cr,15:cr,16:cr,17:cr,18:cr,19:cr,20:cr,21:ms};function Qo(e,t){for(var r=e.l+t,n=[];e.l<r;){var a=e.read_shift(2);e.l-=2;try{n.push(Zo[a](e,r-e.l))}catch{return e.l=r,n}}return e.l!=r&&(e.l=r),n}function Aa(e,t){var r={BIFFVer:0,dt:0};switch(r.BIFFVer=e.read_shift(2),t-=2,t>=2&&(r.dt=e.read_shift(2),e.l-=2),r.BIFFVer){case 1536:case 1280:case 1024:case 768:case 512:case 2:case 7:break;default:if(t>6)throw new Error(\\\"Unexpected BIFF Ver \\\"+r.BIFFVer)}return e.read_shift(t),r}function el(e,t){return t===0||e.read_shift(2),1200}function rl(e,t,r){if(r.enc)return e.l+=t,\\\"\\\";var n=e.l,a=Et(e,0,r);return e.read_shift(t+n-e.l),a}function tl(e,t,r){var n=r&&r.biff==8||t==2?e.read_shift(2):(e.l+=t,0);return{fDialog:n&16,fBelow:n&64,fRight:n&128}}function al(e,t,r){var n=e.read_shift(4),a=e.read_shift(1)&3,i=e.read_shift(1);switch(i){case 0:i=\\\"Worksheet\\\";break;case 1:i=\\\"Macrosheet\\\";break;case 2:i=\\\"Chartsheet\\\";break;case 6:i=\\\"VBAModule\\\";break}var f=fa(e,0,r);return f.length===0&&(f=\\\"Sheet1\\\"),{pos:n,hs:a,dt:i,name:f}}function nl(e,t){for(var r=e.l+t,n=e.read_shift(4),a=e.read_shift(4),i=[],f=0;f!=a&&e.l<r;++f)i.push(Uo(e));return i.Count=n,i.Unique=a,i}function il(e,t){var r={};return r.dsst=e.read_shift(2),e.l+=t-2,r}function sl(e){var t={};t.r=e.read_shift(2),t.c=e.read_shift(2),t.cnt=e.read_shift(2)-t.c;var r=e.read_shift(2);e.l+=4;var n=e.read_shift(1);return e.l+=3,n&7&&(t.level=n&7),n&32&&(t.hidden=!0),n&64&&(t.hpt=r/20),t}function fl(e){var t=zo(e);if(t.type!=2211)throw new Error(\\\"Invalid Future Record \\\"+t.type);var r=e.read_shift(4);return r!==0}function cl(e){return e.read_shift(2),e.read_shift(4)}function q0(e,t,r){var n=0;r&&r.biff==2||(n=e.read_shift(2));var a=e.read_shift(2);r&&r.biff==2&&(n=1-(a>>15),a&=32767);var i={Unsynced:n&1,DyZero:(n&2)>>1,ExAsc:(n&4)>>2,ExDsc:(n&8)>>3};return[i,a]}function ol(e){var t=e.read_shift(2),r=e.read_shift(2),n=e.read_shift(2),a=e.read_shift(2),i=e.read_shift(2),f=e.read_shift(2),s=e.read_shift(2),c=e.read_shift(2),l=e.read_shift(2);return{Pos:[t,r],Dim:[n,a],Flags:i,CurTab:f,FirstTab:s,Selected:c,TabRatio:l}}function ll(e,t,r){if(r&&r.biff>=2&&r.biff<5)return{};var n=e.read_shift(2);return{RTL:n&64}}function hl(){}function ul(e,t,r){var n={dyHeight:e.read_shift(2),fl:e.read_shift(2)};switch(r&&r.biff||8){case 2:break;case 3:case 4:e.l+=2;break;default:e.l+=10;break}return n.name=fa(e,0,r),n}function xl(e){var t=Gr(e);return t.isst=e.read_shift(4),t}function dl(e,t,r){r.biffguess&&r.biff==2&&(r.biff=5);var n=e.l+t,a=Gr(e,6);r.biff==2&&e.l++;var i=ca(e,n-e.l,r);return a.val=i,a}function pl(e,t,r){var n=e.read_shift(2),a=Et(e,0,r);return[n,a]}var vl=Et;function Z0(e,t,r){var n=e.l+t,a=r.biff==8||!r.biff?4:2,i=e.read_shift(a),f=e.read_shift(a),s=e.read_shift(2),c=e.read_shift(2);return e.l=n,{s:{r:i,c:s},e:{r:f,c}}}function ml(e){var t=e.read_shift(2),r=e.read_shift(2),n=ps(e);return{r:t,c:r,ixfe:n[0],rknum:n[1]}}function gl(e,t){for(var r=e.l+t-2,n=e.read_shift(2),a=e.read_shift(2),i=[];e.l<r;)i.push(ps(e));if(e.l!==r)throw new Error(\\\"MulRK read error\\\");var f=e.read_shift(2);if(i.length!=f-a+1)throw new Error(\\\"MulRK length mismatch\\\");return{r:n,c:a,C:f,rkrec:i}}function _l(e,t){for(var r=e.l+t-2,n=e.read_shift(2),a=e.read_shift(2),i=[];e.l<r;)i.push(e.read_shift(2));if(e.l!==r)throw new Error(\\\"MulBlank read error\\\");var f=e.read_shift(2);if(i.length!=f-a+1)throw new Error(\\\"MulBlank length mismatch\\\");return{r:n,c:a,C:f,ixfe:i}}function wl(e,t,r,n){var a={},i=e.read_shift(4),f=e.read_shift(4),s=e.read_shift(4),c=e.read_shift(2);return a.patternType=mo[s>>26],n.cellStyles&&(a.alc=i&7,a.fWrap=i>>3&1,a.alcV=i>>4&7,a.fJustLast=i>>7&1,a.trot=i>>8&255,a.cIndent=i>>16&15,a.fShrinkToFit=i>>20&1,a.iReadOrder=i>>22&2,a.fAtrNum=i>>26&1,a.fAtrFnt=i>>27&1,a.fAtrAlc=i>>28&1,a.fAtrBdr=i>>29&1,a.fAtrPat=i>>30&1,a.fAtrProt=i>>31&1,a.dgLeft=f&15,a.dgRight=f>>4&15,a.dgTop=f>>8&15,a.dgBottom=f>>12&15,a.icvLeft=f>>16&127,a.icvRight=f>>23&127,a.grbitDiag=f>>30&3,a.icvTop=s&127,a.icvBottom=s>>7&127,a.icvDiag=s>>14&127,a.dgDiag=s>>21&15,a.icvFore=c&127,a.icvBack=c>>7&127,a.fsxButton=c>>14&1),a}function kl(e,t,r){var n={};return n.ifnt=e.read_shift(2),n.numFmtId=e.read_shift(2),n.flags=e.read_shift(2),n.fStyle=n.flags>>2&1,t-=6,n.data=wl(e,t,n.fStyle,r),n}function El(e){e.l+=4;var t=[e.read_shift(2),e.read_shift(2)];if(t[0]!==0&&t[0]--,t[1]!==0&&t[1]--,t[0]>7||t[1]>7)throw new Error(\\\"Bad Gutters: \\\"+t.join(\\\"|\\\"));return t}function Q0(e,t,r){var n=Gr(e,6);(r.biff==2||t==9)&&++e.l;var a=Mo(e,2);return n.val=a,n.t=a===!0||a===!1?\\\"b\\\":\\\"e\\\",n}function Tl(e,t,r){r.biffguess&&r.biff==2&&(r.biff=5);var n=Gr(e,6),a=lr(e,8);return n.val=a,n}var ei=jo;function Sl(e,t,r){var n=e.l+t,a=e.read_shift(2),i=e.read_shift(2);if(r.sbcch=i,i==1025||i==14849)return[i,a];if(i<1||i>255)throw new Error(\\\"Unexpected SupBook type: \\\"+i);for(var f=vt(e,i),s=[];n>e.l;)s.push(ca(e));return[i,a,f,s]}function ri(e,t,r){var n=e.read_shift(2),a,i={fBuiltIn:n&1,fWantAdvise:n>>>1&1,fWantPict:n>>>2&1,fOle:n>>>3&1,fOleLink:n>>>4&1,cf:n>>>5&1023,fIcon:n>>>15&1};return r.sbcch===14849&&(a=$o(e,t-2,r)),i.body=a||e.read_shift(t-2),typeof a==\\\"string\\\"&&(i.Name=a),i}var Fl=[\\\"_xlnm.Consolidate_Area\\\",\\\"_xlnm.Auto_Open\\\",\\\"_xlnm.Auto_Close\\\",\\\"_xlnm.Extract\\\",\\\"_xlnm.Database\\\",\\\"_xlnm.Criteria\\\",\\\"_xlnm.Print_Area\\\",\\\"_xlnm.Print_Titles\\\",\\\"_xlnm.Recorder\\\",\\\"_xlnm.Data_Form\\\",\\\"_xlnm.Auto_Activate\\\",\\\"_xlnm.Auto_Deactivate\\\",\\\"_xlnm.Sheet_Title\\\",\\\"_xlnm._FilterDatabase\\\"];function ti(e,t,r){var n=e.l+t,a=e.read_shift(2),i=e.read_shift(1),f=e.read_shift(1),s=e.read_shift(r&&r.biff==2?1:2),c=0;(!r||r.biff>=5)&&(r.biff!=5&&(e.l+=2),c=e.read_shift(2),r.biff==5&&(e.l+=2),e.l+=4);var l=vt(e,f,r);a&32&&(l=Fl[l.charCodeAt(0)]);var o=n-e.l;r&&r.biff==2&&--o;var h=n==e.l||s===0||!(o>0)?[]:sx(e,o,r,s);return{chKey:i,Name:l,itab:c,rgce:h}}function gs(e,t,r){if(r.biff<8)return yl(e,t,r);for(var n=[],a=e.l+t,i=e.read_shift(r.biff>8?4:2);i--!==0;)n.push(Ko(e,r.biff>8?12:6,r));if(e.l!=a)throw new Error(\\\"Bad ExternSheet: \\\"+e.l+\\\" != \\\"+a);return n}function yl(e,t,r){e[e.l+1]==3&&e[e.l]++;var n=fa(e,t,r);return n.charCodeAt(0)==3?n.slice(1):n}function Al(e,t,r){if(r.biff<8){e.l+=t;return}var n=e.read_shift(2),a=e.read_shift(2),i=vt(e,n,r),f=vt(e,a,r);return[i,f]}function Cl(e,t,r){var n=vs(e,6);e.l++;var a=e.read_shift(1);return t-=8,[fx(e,t,r),a,n]}function ai(e,t,r){var n=Yo(e,6);switch(r.biff){case 2:e.l++,t-=7;break;case 3:case 4:e.l+=2,t-=8;break;default:e.l+=6,t-=12}return[n,nx(e,t,r,n)]}function Rl(e){var t=e.read_shift(4)!==0,r=e.read_shift(4)!==0,n=e.read_shift(4);return[t,r,n]}function Ol(e,t,r){if(!(r.biff<8)){var n=e.read_shift(2),a=e.read_shift(2),i=e.read_shift(2),f=e.read_shift(2),s=Et(e,0,r);return r.biff<8&&e.read_shift(1),[{r:n,c:a},s,f,i]}}function Dl(e,t,r){return Ol(e,t,r)}function bl(e,t){for(var r=[],n=e.read_shift(2);n--;)r.push(za(e,t));return r}function Il(e,t,r){if(r&&r.biff<8)return Pl(e,t,r);var n=ms(e,22),a=Qo(e,t-22,n[1]);return{cmo:n,ft:a}}var Nl={8:function(e,t){var r=e.l+t;e.l+=10;var n=e.read_shift(2);e.l+=4,e.l+=2,e.l+=2,e.l+=2,e.l+=4;var a=e.read_shift(1);return e.l+=a,e.l=r,{fmt:n}}};function Pl(e,t,r){e.l+=4;var n=e.read_shift(2),a=e.read_shift(2),i=e.read_shift(2);e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=6,t-=36;var f=[];return f.push((Nl[n]||dr)(e,t,r)),{cmo:[a,n,i],ft:f}}function Ll(e,t,r){var n=e.l,a=\\\"\\\";try{e.l+=4;var i=(r.lastobj||{cmo:[0,0]}).cmo[1],f;[0,5,7,11,12,14].indexOf(i)==-1?e.l+=6:f=Wo(e,6,r);var s=e.read_shift(2);e.read_shift(2),Ye(e,2);var c=e.read_shift(2);e.l+=c;for(var l=1;l<e.lens.length-1;++l){if(e.l-n!=e.lens[l])throw new Error(\\\"TxO: bad continue record\\\");var o=e[e.l],h=vt(e,e.lens[l+1]-e.lens[l]-1);if(a+=h,a.length>=(o?s:2*s))break}if(a.length!==s&&a.length!==s*2)throw new Error(\\\"cchText: \\\"+s+\\\" != \\\"+a.length);return e.l=n+t,{t:a}}catch{return e.l=n+t,{t:a}}}function Bl(e,t){var r=za(e,8);e.l+=16;var n=Go(e,t-24);return[r,n]}function Ml(e,t){e.read_shift(2);var r=za(e,8),n=e.read_shift((t-10)/2,\\\"dbcs-cont\\\");return n=n.replace(ur,\\\"\\\"),[r,n]}function Ul(e){var t=[0,0],r;return r=e.read_shift(2),t[0]=j0[r]||r,r=e.read_shift(2),t[1]=j0[r]||r,t}function Wl(e){for(var t=e.read_shift(2),r=[];t-- >0;)r.push(ds(e,8));return r}function Hl(e){for(var t=e.read_shift(2),r=[];t-- >0;)r.push(ds(e,8));return r}function Vl(e){e.l+=2;var t={cxfs:0,crc:0};return t.cxfs=e.read_shift(2),t.crc=e.read_shift(4),t}function _s(e,t,r){if(!r.cellStyles)return dr(e,t);var n=r&&r.biff>=12?4:2,a=e.read_shift(n),i=e.read_shift(n),f=e.read_shift(n),s=e.read_shift(n),c=e.read_shift(2);n==2&&(e.l+=2);var l={s:a,e:i,w:f,ixfe:s,flags:c};return(r.biff>=5||!r.biff)&&(l.level=c>>8&7),l}function Xl(e,t){var r={};return t<32||(e.l+=16,r.header=lr(e,8),r.footer=lr(e,8),e.l+=2),r}function Gl(e,t,r){var n={area:!1};if(r.biff!=5)return e.l+=t,n;var a=e.read_shift(1);return e.l+=3,a&16&&(n.area=!0),n}var zl=Gr,jl=us,Kl=ca;function $l(e){var t=e.read_shift(2),r=e.read_shift(2),n=e.read_shift(4),a={fmt:t,env:r,len:n,data:e.slice(e.l,e.l+n)};return e.l+=n,a}function Yl(e,t,r){r.biffguess&&r.biff==5&&(r.biff=2);var n=Gr(e,6);++e.l;var a=Et(e,t-7,r);return n.t=\\\"str\\\",n.val=a,n}function Jl(e){var t=Gr(e,6);++e.l;var r=lr(e,8);return t.t=\\\"n\\\",t.val=r,t}function ql(e){var t=Gr(e,6);++e.l;var r=e.read_shift(2);return t.t=\\\"n\\\",t.val=r,t}function Zl(e){var t=e.read_shift(1);return t===0?(e.l++,\\\"\\\"):e.read_shift(t,\\\"sbcs-cont\\\")}function Ql(e,t){e.l+=6,e.l+=2,e.l+=1,e.l+=3,e.l+=1,e.l+=t-13}function eh(e,t,r){var n=e.l+t,a=Gr(e,6),i=e.read_shift(2),f=vt(e,i,r);return e.l=n,a.t=\\\"str\\\",a.val=f,a}var rh=[2,3,48,49,131,139,140,245],ni=(function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969},t=Cn({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});function r(s,c){var l=[],o=it(1);switch(c.type){case\\\"base64\\\":o=Pr(yr(s));break;case\\\"binary\\\":o=Pr(s);break;case\\\"buffer\\\":case\\\"array\\\":o=s;break}nr(o,0);var h=o.read_shift(1),x=!!(h&136),d=!1,p=!1;switch(h){case 2:break;case 3:break;case 48:d=!0,x=!0;break;case 49:d=!0,x=!0;break;case 131:break;case 139:break;case 140:p=!0;break;case 245:break;default:throw new Error(\\\"DBF Unsupported Version: \\\"+h.toString(16))}var u=0,g=521;h==2&&(u=o.read_shift(2)),o.l+=3,h!=2&&(u=o.read_shift(4)),u>1048576&&(u=1e6),h!=2&&(g=o.read_shift(2));var N=o.read_shift(2),D=c.codepage||1252;h!=2&&(o.l+=16,o.read_shift(1),o[o.l]!==0&&(D=e[o[o.l]]),o.l+=1,o.l+=2),p&&(o.l+=36);for(var k=[],W={},J=Math.min(o.length,h==2?521:g-10-(d?264:0)),T=p?32:11;o.l<J&&o[o.l]!=13;)switch(W={},W.name=Le.utils.decode(D,o.slice(o.l,o.l+T)).replace(/[\\\\u0000\\\\r\\\\n].*$/g,\\\"\\\"),o.l+=T,W.type=String.fromCharCode(o.read_shift(1)),h!=2&&!p&&(W.offset=o.read_shift(4)),W.len=o.read_shift(1),h==2&&(W.offset=o.read_shift(2)),W.dec=o.read_shift(1),W.name.length&&k.push(W),h!=2&&(o.l+=p?13:14),W.type){case\\\"B\\\":(!d||W.len!=8)&&c.WTF&&console.log(\\\"Skipping \\\"+W.name+\\\":\\\"+W.type);break;case\\\"G\\\":case\\\"P\\\":c.WTF&&console.log(\\\"Skipping \\\"+W.name+\\\":\\\"+W.type);break;case\\\"+\\\":case\\\"0\\\":case\\\"@\\\":case\\\"C\\\":case\\\"D\\\":case\\\"F\\\":case\\\"I\\\":case\\\"L\\\":case\\\"M\\\":case\\\"N\\\":case\\\"O\\\":case\\\"T\\\":case\\\"Y\\\":break;default:throw new Error(\\\"Unknown Field Type: \\\"+W.type)}if(o[o.l]!==13&&(o.l=g-1),o.read_shift(1)!==13)throw new Error(\\\"DBF Terminator not found \\\"+o.l+\\\" \\\"+o[o.l]);o.l=g;var w=0,P=0;for(l[0]=[],P=0;P!=k.length;++P)l[0][P]=k[P].name;for(;u-- >0;){if(o[o.l]===42){o.l+=N;continue}for(++o.l,l[++w]=[],P=0,P=0;P!=k.length;++P){var R=o.slice(o.l,o.l+k[P].len);o.l+=k[P].len,nr(R,0);var M=Le.utils.decode(D,R);switch(k[P].type){case\\\"C\\\":M.trim().length&&(l[w][P]=M.replace(/\\\\s+$/,\\\"\\\"));break;case\\\"D\\\":M.length===8?l[w][P]=new Date(+M.slice(0,4),+M.slice(4,6)-1,+M.slice(6,8)):l[w][P]=M;break;case\\\"F\\\":l[w][P]=parseFloat(M.trim());break;case\\\"+\\\":case\\\"I\\\":l[w][P]=p?R.read_shift(-4,\\\"i\\\")^2147483648:R.read_shift(4,\\\"i\\\");break;case\\\"L\\\":switch(M.trim().toUpperCase()){case\\\"Y\\\":case\\\"T\\\":l[w][P]=!0;break;case\\\"N\\\":case\\\"F\\\":l[w][P]=!1;break;case\\\"\\\":case\\\"?\\\":break;default:throw new Error(\\\"DBF Unrecognized L:|\\\"+M+\\\"|\\\")}break;case\\\"M\\\":if(!x)throw new Error(\\\"DBF Unexpected MEMO for type \\\"+h.toString(16));l[w][P]=\\\"##MEMO##\\\"+(p?parseInt(M.trim(),10):R.read_shift(4));break;case\\\"N\\\":M=M.replace(/\\\\u0000/g,\\\"\\\").trim(),M&&M!=\\\".\\\"&&(l[w][P]=+M||0);break;case\\\"@\\\":l[w][P]=new Date(R.read_shift(-8,\\\"f\\\")-621356832e5);break;case\\\"T\\\":l[w][P]=new Date((R.read_shift(4)-2440588)*864e5+R.read_shift(4));break;case\\\"Y\\\":l[w][P]=R.read_shift(4,\\\"i\\\")/1e4+R.read_shift(4,\\\"i\\\")/1e4*Math.pow(2,32);break;case\\\"O\\\":l[w][P]=-R.read_shift(-8,\\\"f\\\");break;case\\\"B\\\":if(d&&k[P].len==8){l[w][P]=R.read_shift(8,\\\"f\\\");break}case\\\"G\\\":case\\\"P\\\":R.l+=k[P].len;break;case\\\"0\\\":if(k[P].name===\\\"_NullFlags\\\")break;default:throw new Error(\\\"DBF Unsupported data type \\\"+k[P].type)}}}if(h!=2&&o.l<o.length&&o[o.l++]!=26)throw new Error(\\\"DBF EOF Marker missing \\\"+(o.l-1)+\\\" of \\\"+o.length+\\\" \\\"+o[o.l-1].toString(16));return c&&c.sheetRows&&(l=l.slice(0,c.sheetRows)),c.DBF=k,l}function n(s,c){var l=c||{};l.dateNF||(l.dateNF=\\\"yyyymmdd\\\");var o=Pt(r(s,l),l);return o[\\\"!cols\\\"]=l.DBF.map(function(h){return{wch:h.len,DBF:h}}),delete l.DBF,o}function a(s,c){try{return ft(n(s,c),c)}catch(l){if(c&&c.WTF)throw l}return{SheetNames:[],Sheets:{}}}var i={B:8,C:250,L:1,D:8,\\\"?\\\":0,\\\"\\\":0};function f(s,c){var l=c||{};if(+l.codepage>=0&&Lr(+l.codepage),l.type==\\\"string\\\")throw new Error(\\\"Cannot write DBF to JS string\\\");var o=xn(),h=En(s,{header:1,raw:!0,cellDates:!0}),x=h[0],d=h.slice(1),p=s[\\\"!cols\\\"]||[],u=0,g=0,N=0,D=1;for(u=0;u<x.length;++u){if(((p[u]||{}).DBF||{}).name){x[u]=p[u].DBF.name,++N;continue}if(x[u]!=null){if(++N,typeof x[u]==\\\"number\\\"&&(x[u]=x[u].toString(10)),typeof x[u]!=\\\"string\\\")throw new Error(\\\"DBF Invalid column name \\\"+x[u]+\\\" |\\\"+typeof x[u]+\\\"|\\\");if(x.indexOf(x[u])!==u){for(g=0;g<1024;++g)if(x.indexOf(x[u]+\\\"_\\\"+g)==-1){x[u]+=\\\"_\\\"+g;break}}}}var k=Xe(s[\\\"!ref\\\"]),W=[],J=[],T=[];for(u=0;u<=k.e.c-k.s.c;++u){var w=\\\"\\\",P=\\\"\\\",R=0,M=[];for(g=0;g<d.length;++g)d[g][u]!=null&&M.push(d[g][u]);if(M.length==0||x[u]==null){W[u]=\\\"?\\\";continue}for(g=0;g<M.length;++g){switch(typeof M[g]){case\\\"number\\\":P=\\\"B\\\";break;case\\\"string\\\":P=\\\"C\\\";break;case\\\"boolean\\\":P=\\\"L\\\";break;case\\\"object\\\":P=M[g]instanceof Date?\\\"D\\\":\\\"C\\\";break;default:P=\\\"C\\\"}R=Math.max(R,String(M[g]).length),w=w&&w!=P?\\\"C\\\":P}R>250&&(R=250),P=((p[u]||{}).DBF||{}).type,P==\\\"C\\\"&&p[u].DBF.len>R&&(R=p[u].DBF.len),w==\\\"B\\\"&&P==\\\"N\\\"&&(w=\\\"N\\\",T[u]=p[u].DBF.dec,R=p[u].DBF.len),J[u]=w==\\\"C\\\"||P==\\\"N\\\"?R:i[w]||0,D+=J[u],W[u]=w}var I=o.next(32);for(I.write_shift(4,318902576),I.write_shift(4,d.length),I.write_shift(2,296+32*N),I.write_shift(2,D),u=0;u<4;++u)I.write_shift(4,0);for(I.write_shift(4,0|(+t[Rt]||3)<<8),u=0,g=0;u<x.length;++u)if(x[u]!=null){var v=o.next(32),_=(x[u].slice(-10)+\\\"\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\").slice(0,11);v.write_shift(1,_,\\\"sbcs\\\"),v.write_shift(1,W[u]==\\\"?\\\"?\\\"C\\\":W[u],\\\"sbcs\\\"),v.write_shift(4,g),v.write_shift(1,J[u]||i[W[u]]||0),v.write_shift(1,T[u]||0),v.write_shift(1,2),v.write_shift(4,0),v.write_shift(1,0),v.write_shift(4,0),v.write_shift(4,0),g+=J[u]||i[W[u]]||0}var U=o.next(264);for(U.write_shift(4,13),u=0;u<65;++u)U.write_shift(4,0);for(u=0;u<d.length;++u){var V=o.next(D);for(V.write_shift(1,0),g=0;g<x.length;++g)if(x[g]!=null)switch(W[g]){case\\\"L\\\":V.write_shift(1,d[u][g]==null?63:d[u][g]?84:70);break;case\\\"B\\\":V.write_shift(8,d[u][g]||0,\\\"f\\\");break;case\\\"N\\\":var Z=\\\"0\\\";for(typeof d[u][g]==\\\"number\\\"&&(Z=d[u][g].toFixed(T[g]||0)),N=0;N<J[g]-Z.length;++N)V.write_shift(1,32);V.write_shift(1,Z,\\\"sbcs\\\");break;case\\\"D\\\":d[u][g]?(V.write_shift(4,(\\\"0000\\\"+d[u][g].getFullYear()).slice(-4),\\\"sbcs\\\"),V.write_shift(2,(\\\"00\\\"+(d[u][g].getMonth()+1)).slice(-2),\\\"sbcs\\\"),V.write_shift(2,(\\\"00\\\"+d[u][g].getDate()).slice(-2),\\\"sbcs\\\")):V.write_shift(8,\\\"00000000\\\",\\\"sbcs\\\");break;case\\\"C\\\":var ee=String(d[u][g]!=null?d[u][g]:\\\"\\\").slice(0,J[g]);for(V.write_shift(1,ee,\\\"sbcs\\\"),N=0;N<J[g]-ee.length;++N)V.write_shift(1,32);break}}return o.next(1).write_shift(1,26),o.end()}return{to_workbook:a,to_sheet:n,from_sheet:f}})(),th=(function(){var e={AA:\\\"\\\\xC0\\\",BA:\\\"\\\\xC1\\\",CA:\\\"\\\\xC2\\\",DA:195,HA:\\\"\\\\xC4\\\",JA:197,AE:\\\"\\\\xC8\\\",BE:\\\"\\\\xC9\\\",CE:\\\"\\\\xCA\\\",HE:\\\"\\\\xCB\\\",AI:\\\"\\\\xCC\\\",BI:\\\"\\\\xCD\\\",CI:\\\"\\\\xCE\\\",HI:\\\"\\\\xCF\\\",AO:\\\"\\\\xD2\\\",BO:\\\"\\\\xD3\\\",CO:\\\"\\\\xD4\\\",DO:213,HO:\\\"\\\\xD6\\\",AU:\\\"\\\\xD9\\\",BU:\\\"\\\\xDA\\\",CU:\\\"\\\\xDB\\\",HU:\\\"\\\\xDC\\\",Aa:\\\"\\\\xE0\\\",Ba:\\\"\\\\xE1\\\",Ca:\\\"\\\\xE2\\\",Da:227,Ha:\\\"\\\\xE4\\\",Ja:229,Ae:\\\"\\\\xE8\\\",Be:\\\"\\\\xE9\\\",Ce:\\\"\\\\xEA\\\",He:\\\"\\\\xEB\\\",Ai:\\\"\\\\xEC\\\",Bi:\\\"\\\\xED\\\",Ci:\\\"\\\\xEE\\\",Hi:\\\"\\\\xEF\\\",Ao:\\\"\\\\xF2\\\",Bo:\\\"\\\\xF3\\\",Co:\\\"\\\\xF4\\\",Do:245,Ho:\\\"\\\\xF6\\\",Au:\\\"\\\\xF9\\\",Bu:\\\"\\\\xFA\\\",Cu:\\\"\\\\xFB\\\",Hu:\\\"\\\\xFC\\\",KC:\\\"\\\\xC7\\\",Kc:\\\"\\\\xE7\\\",q:\\\"\\\\xE6\\\",z:\\\"\\\\u0153\\\",a:\\\"\\\\xC6\\\",j:\\\"\\\\u0152\\\",DN:209,Dn:241,Hy:255,S:169,c:170,R:174,\\\"B \\\":180,0:176,1:177,2:178,3:179,5:181,6:182,7:183,Q:185,k:186,b:208,i:216,l:222,s:240,y:248,\\\"!\\\":161,'\\\"':162,\\\"#\\\":163,\\\"(\\\":164,\\\"%\\\":165,\\\"'\\\":167,\\\"H \\\":168,\\\"+\\\":171,\\\";\\\":187,\\\"<\\\":188,\\\"=\\\":189,\\\">\\\":190,\\\"?\\\":191,\\\"{\\\":223},t=new RegExp(\\\"\\\\x1BN(\\\"+Vr(e).join(\\\"|\\\").replace(/\\\\|\\\\|\\\\|/,\\\"|\\\\\\\\||\\\").replace(/([?()+])/g,\\\"\\\\\\\\$1\\\")+\\\"|\\\\\\\\|)\\\",\\\"gm\\\"),r=function(x,d){var p=e[d];return typeof p==\\\"number\\\"?_0(p):p},n=function(x,d,p){var u=d.charCodeAt(0)-32<<4|p.charCodeAt(0)-48;return u==59?x:_0(u)};e[\\\"|\\\"]=254;function a(x,d){switch(d.type){case\\\"base64\\\":return i(yr(x),d);case\\\"binary\\\":return i(x,d);case\\\"buffer\\\":return i(Ce&&Buffer.isBuffer(x)?x.toString(\\\"binary\\\"):gt(x),d);case\\\"array\\\":return i(pt(x),d)}throw new Error(\\\"Unrecognized type \\\"+d.type)}function i(x,d){var p=x.split(/[\\\\n\\\\r]+/),u=-1,g=-1,N=0,D=0,k=[],W=[],J=null,T={},w=[],P=[],R=[],M=0,I;for(+d.codepage>=0&&Lr(+d.codepage);N!==p.length;++N){M=0;var v=p[N].trim().replace(/\\\\x1B([\\\\x20-\\\\x2F])([\\\\x30-\\\\x3F])/g,n).replace(t,r),_=v.replace(/;;/g,\\\"\\\\0\\\").split(\\\";\\\").map(function(b){return b.replace(/\\\\u0000/g,\\\";\\\")}),U=_[0],V;if(v.length>0)switch(U){case\\\"ID\\\":break;case\\\"E\\\":break;case\\\"B\\\":break;case\\\"O\\\":break;case\\\"W\\\":break;case\\\"P\\\":_[1].charAt(0)==\\\"P\\\"&&W.push(v.slice(3).replace(/;;/g,\\\";\\\"));break;case\\\"C\\\":var Z=!1,ee=!1,ne=!1,H=!1,te=-1,K=-1;for(D=1;D<_.length;++D)switch(_[D].charAt(0)){case\\\"A\\\":break;case\\\"X\\\":g=parseInt(_[D].slice(1))-1,ee=!0;break;case\\\"Y\\\":for(u=parseInt(_[D].slice(1))-1,ee||(g=0),I=k.length;I<=u;++I)k[I]=[];break;case\\\"K\\\":V=_[D].slice(1),V.charAt(0)==='\\\"'?V=V.slice(1,V.length-1):V===\\\"TRUE\\\"?V=!0:V===\\\"FALSE\\\"?V=!1:isNaN(Mr(V))?isNaN(Ot(V).getDate())||(V=ar(V)):(V=Mr(V),J!==null&&bt(J)&&(V=Xa(V))),typeof Le<\\\"u\\\"&&typeof V==\\\"string\\\"&&(d||{}).type!=\\\"string\\\"&&(d||{}).codepage&&(V=Le.utils.decode(d.codepage,V)),Z=!0;break;case\\\"E\\\":H=!0;var A=At(_[D].slice(1),{r:u,c:g});k[u][g]=[k[u][g],A];break;case\\\"S\\\":ne=!0,k[u][g]=[k[u][g],\\\"S5S\\\"];break;case\\\"G\\\":break;case\\\"R\\\":te=parseInt(_[D].slice(1))-1;break;case\\\"C\\\":K=parseInt(_[D].slice(1))-1;break;default:if(d&&d.WTF)throw new Error(\\\"SYLK bad record \\\"+v)}if(Z&&(k[u][g]&&k[u][g].length==2?k[u][g][0]=V:k[u][g]=V,J=null),ne){if(H)throw new Error(\\\"SYLK shared formula cannot have own formula\\\");var B=te>-1&&k[te][K];if(!B||!B[1])throw new Error(\\\"SYLK shared formula cannot find base\\\");k[u][g][1]=Rs(B[1],{r:u-te,c:g-K})}break;case\\\"F\\\":var L=0;for(D=1;D<_.length;++D)switch(_[D].charAt(0)){case\\\"X\\\":g=parseInt(_[D].slice(1))-1,++L;break;case\\\"Y\\\":for(u=parseInt(_[D].slice(1))-1,I=k.length;I<=u;++I)k[I]=[];break;case\\\"M\\\":M=parseInt(_[D].slice(1))/20;break;case\\\"F\\\":break;case\\\"G\\\":break;case\\\"P\\\":J=W[parseInt(_[D].slice(1))];break;case\\\"S\\\":break;case\\\"D\\\":break;case\\\"N\\\":break;case\\\"W\\\":for(R=_[D].slice(1).split(\\\" \\\"),I=parseInt(R[0],10);I<=parseInt(R[1],10);++I)M=parseInt(R[2],10),P[I-1]=M===0?{hidden:!0}:{wch:M},Dt(P[I-1]);break;case\\\"C\\\":g=parseInt(_[D].slice(1))-1,P[g]||(P[g]={});break;case\\\"R\\\":u=parseInt(_[D].slice(1))-1,w[u]||(w[u]={}),M>0?(w[u].hpt=M,w[u].hpx=na(M)):M===0&&(w[u].hidden=!0);break;default:if(d&&d.WTF)throw new Error(\\\"SYLK bad record \\\"+v)}L<1&&(J=null);break;default:if(d&&d.WTF)throw new Error(\\\"SYLK bad record \\\"+v)}}return w.length>0&&(T[\\\"!rows\\\"]=w),P.length>0&&(T[\\\"!cols\\\"]=P),d&&d.sheetRows&&(k=k.slice(0,d.sheetRows)),[k,T]}function f(x,d){var p=a(x,d),u=p[0],g=p[1],N=Pt(u,d);return Vr(g).forEach(function(D){N[D]=g[D]}),N}function s(x,d){return ft(f(x,d),d)}function c(x,d,p,u){var g=\\\"C;Y\\\"+(p+1)+\\\";X\\\"+(u+1)+\\\";K\\\";switch(x.t){case\\\"n\\\":g+=x.v||0,x.f&&!x.F&&(g+=\\\";E\\\"+Vu(x.f,{r:p,c:u}));break;case\\\"b\\\":g+=x.v?\\\"TRUE\\\":\\\"FALSE\\\";break;case\\\"e\\\":g+=x.w||x.v;break;case\\\"d\\\":g+='\\\"'+(x.w||x.v)+'\\\"';break;case\\\"s\\\":g+='\\\"'+x.v.replace(/\\\"/g,\\\"\\\").replace(/;/g,\\\";;\\\")+'\\\"';break}return g}function l(x,d){d.forEach(function(p,u){var g=\\\"F;W\\\"+(u+1)+\\\" \\\"+(u+1)+\\\" \\\";p.hidden?g+=\\\"0\\\":(typeof p.width==\\\"number\\\"&&!p.wpx&&(p.wpx=Ua(p.width)),typeof p.wpx==\\\"number\\\"&&!p.wch&&(p.wch=Wa(p.wpx)),typeof p.wch==\\\"number\\\"&&(g+=Math.round(p.wch))),g.charAt(g.length-1)!=\\\" \\\"&&x.push(g)})}function o(x,d){d.forEach(function(p,u){var g=\\\"F;\\\";p.hidden?g+=\\\"M0;\\\":p.hpt?g+=\\\"M\\\"+20*p.hpt+\\\";\\\":p.hpx&&(g+=\\\"M\\\"+20*ys(p.hpx)+\\\";\\\"),g.length>2&&x.push(g+\\\"R\\\"+(u+1))})}function h(x,d){var p=[\\\"ID;PWXL;N;E\\\"],u=[],g=Xe(x[\\\"!ref\\\"]),N,D=Array.isArray(x),k=`\\\\r\\n`;p.push(\\\"P;PGeneral\\\"),p.push(\\\"F;P0;DG0G8;M255\\\"),x[\\\"!cols\\\"]&&l(p,x[\\\"!cols\\\"]),x[\\\"!rows\\\"]&&o(p,x[\\\"!rows\\\"]),p.push(\\\"B;Y\\\"+(g.e.r-g.s.r+1)+\\\";X\\\"+(g.e.c-g.s.c+1)+\\\";D\\\"+[g.s.c,g.s.r,g.e.c,g.e.r].join(\\\" \\\"));for(var W=g.s.r;W<=g.e.r;++W)for(var J=g.s.c;J<=g.e.c;++J){var T=Te({r:W,c:J});N=D?(x[W]||[])[J]:x[T],!(!N||N.v==null&&(!N.f||N.F))&&u.push(c(N,x,W,J,d))}return p.join(k)+k+u.join(k)+k+\\\"E\\\"+k}return{to_workbook:s,to_sheet:f,from_sheet:h}})(),ah=(function(){function e(i,f){switch(f.type){case\\\"base64\\\":return t(yr(i),f);case\\\"binary\\\":return t(i,f);case\\\"buffer\\\":return t(Ce&&Buffer.isBuffer(i)?i.toString(\\\"binary\\\"):gt(i),f);case\\\"array\\\":return t(pt(i),f)}throw new Error(\\\"Unrecognized type \\\"+f.type)}function t(i,f){for(var s=i.split(`\\n`),c=-1,l=-1,o=0,h=[];o!==s.length;++o){if(s[o].trim()===\\\"BOT\\\"){h[++c]=[],l=0;continue}if(!(c<0)){var x=s[o].trim().split(\\\",\\\"),d=x[0],p=x[1];++o;for(var u=s[o]||\\\"\\\";(u.match(/[\\\"]/g)||[]).length&1&&o<s.length-1;)u+=`\\n`+s[++o];switch(u=u.trim(),+d){case-1:if(u===\\\"BOT\\\"){h[++c]=[],l=0;continue}else if(u!==\\\"EOD\\\")throw new Error(\\\"Unrecognized DIF special command \\\"+u);break;case 0:u===\\\"TRUE\\\"?h[c][l]=!0:u===\\\"FALSE\\\"?h[c][l]=!1:isNaN(Mr(p))?isNaN(Ot(p).getDate())?h[c][l]=p:h[c][l]=ar(p):h[c][l]=Mr(p),++l;break;case 1:u=u.slice(1,u.length-1),u=u.replace(/\\\"\\\"/g,'\\\"'),Ut&&u&&u.match(/^=\\\".*\\\"$/)&&(u=u.slice(2,-1)),h[c][l++]=u!==\\\"\\\"?u:null;break}if(u===\\\"EOD\\\")break}}return f&&f.sheetRows&&(h=h.slice(0,f.sheetRows)),h}function r(i,f){return Pt(e(i,f),f)}function n(i,f){return ft(r(i,f),f)}var a=(function(){var i=function(c,l,o,h,x){c.push(l),c.push(o+\\\",\\\"+h),c.push('\\\"'+x.replace(/\\\"/g,'\\\"\\\"')+'\\\"')},f=function(c,l,o,h){c.push(l+\\\",\\\"+o),c.push(l==1?'\\\"'+h.replace(/\\\"/g,'\\\"\\\"')+'\\\"':h)};return function(c){var l=[],o=Xe(c[\\\"!ref\\\"]),h,x=Array.isArray(c);i(l,\\\"TABLE\\\",0,1,\\\"sheetjs\\\"),i(l,\\\"VECTORS\\\",0,o.e.r-o.s.r+1,\\\"\\\"),i(l,\\\"TUPLES\\\",0,o.e.c-o.s.c+1,\\\"\\\"),i(l,\\\"DATA\\\",0,0,\\\"\\\");for(var d=o.s.r;d<=o.e.r;++d){f(l,-1,0,\\\"BOT\\\");for(var p=o.s.c;p<=o.e.c;++p){var u=Te({r:d,c:p});if(h=x?(c[d]||[])[p]:c[u],!h){f(l,1,0,\\\"\\\");continue}switch(h.t){case\\\"n\\\":var g=Ut?h.w:h.v;!g&&h.v!=null&&(g=h.v),g==null?Ut&&h.f&&!h.F?f(l,1,0,\\\"=\\\"+h.f):f(l,1,0,\\\"\\\"):f(l,0,g,\\\"V\\\");break;case\\\"b\\\":f(l,0,h.v?1:0,h.v?\\\"TRUE\\\":\\\"FALSE\\\");break;case\\\"s\\\":f(l,1,0,!Ut||isNaN(h.v)?h.v:'=\\\"'+h.v+'\\\"');break;case\\\"d\\\":h.w||(h.w=Or(h.z||Se[14],_r(ar(h.v)))),Ut?f(l,0,h.w,\\\"V\\\"):f(l,1,0,h.w);break;default:f(l,1,0,\\\"\\\")}}}f(l,-1,0,\\\"EOD\\\");var N=`\\\\r\\n`,D=l.join(N);return D}})();return{to_workbook:n,to_sheet:r,from_sheet:a}})(),nh=(function(){function e(h){return h.replace(/\\\\\\\\b/g,\\\"\\\\\\\\\\\").replace(/\\\\\\\\c/g,\\\":\\\").replace(/\\\\\\\\n/g,`\\n`)}function t(h){return h.replace(/\\\\\\\\/g,\\\"\\\\\\\\b\\\").replace(/:/g,\\\"\\\\\\\\c\\\").replace(/\\\\n/g,\\\"\\\\\\\\n\\\")}function r(h,x){for(var d=h.split(`\\n`),p=-1,u=-1,g=0,N=[];g!==d.length;++g){var D=d[g].trim().split(\\\":\\\");if(D[0]===\\\"cell\\\"){var k=gr(D[1]);if(N.length<=k.r)for(p=N.length;p<=k.r;++p)N[p]||(N[p]=[]);switch(p=k.r,u=k.c,D[2]){case\\\"t\\\":N[p][u]=e(D[3]);break;case\\\"v\\\":N[p][u]=+D[3];break;case\\\"vtf\\\":var W=D[D.length-1];case\\\"vtc\\\":D[3]===\\\"nl\\\"?N[p][u]=!!+D[4]:N[p][u]=+D[4],D[2]==\\\"vtf\\\"&&(N[p][u]=[N[p][u],W])}}}return x&&x.sheetRows&&(N=N.slice(0,x.sheetRows)),N}function n(h,x){return Pt(r(h,x),x)}function a(h,x){return ft(n(h,x),x)}var i=[\\\"socialcalc:version:1.5\\\",\\\"MIME-Version: 1.0\\\",\\\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\\\"].join(`\\n`),f=[\\\"--SocialCalcSpreadsheetControlSave\\\",\\\"Content-type: text/plain; charset=UTF-8\\\"].join(`\\n`)+`\\n`,s=[\\\"# SocialCalc Spreadsheet Control Save\\\",\\\"part:sheet\\\"].join(`\\n`),c=\\\"--SocialCalcSpreadsheetControlSave--\\\";function l(h){if(!h||!h[\\\"!ref\\\"])return\\\"\\\";for(var x=[],d=[],p,u=\\\"\\\",g=Nt(h[\\\"!ref\\\"]),N=Array.isArray(h),D=g.s.r;D<=g.e.r;++D)for(var k=g.s.c;k<=g.e.c;++k)if(u=Te({r:D,c:k}),p=N?(h[D]||[])[k]:h[u],!(!p||p.v==null||p.t===\\\"z\\\")){switch(d=[\\\"cell\\\",u,\\\"t\\\"],p.t){case\\\"s\\\":case\\\"str\\\":d.push(t(p.v));break;case\\\"n\\\":p.f?(d[2]=\\\"vtf\\\",d[3]=\\\"n\\\",d[4]=p.v,d[5]=t(p.f)):(d[2]=\\\"v\\\",d[3]=p.v);break;case\\\"b\\\":d[2]=\\\"vt\\\"+(p.f?\\\"f\\\":\\\"c\\\"),d[3]=\\\"nl\\\",d[4]=p.v?\\\"1\\\":\\\"0\\\",d[5]=t(p.f||(p.v?\\\"TRUE\\\":\\\"FALSE\\\"));break;case\\\"d\\\":var W=_r(ar(p.v));d[2]=\\\"vtc\\\",d[3]=\\\"nd\\\",d[4]=\\\"\\\"+W,d[5]=p.w||Or(p.z||Se[14],W);break;case\\\"e\\\":continue}x.push(d.join(\\\":\\\"))}return x.push(\\\"sheet:c:\\\"+(g.e.c-g.s.c+1)+\\\":r:\\\"+(g.e.r-g.s.r+1)+\\\":tvf:1\\\"),x.push(\\\"valueformat:1:text-wiki\\\"),x.join(`\\n`)}function o(h){return[i,f,s,f,l(h),c].join(`\\n`)}return{to_workbook:a,to_sheet:n,from_sheet:o}})(),ta=(function(){function e(o,h,x,d,p){p.raw?h[x][d]=o:o===\\\"\\\"||(o===\\\"TRUE\\\"?h[x][d]=!0:o===\\\"FALSE\\\"?h[x][d]=!1:isNaN(Mr(o))?isNaN(Ot(o).getDate())?h[x][d]=o:h[x][d]=ar(o):h[x][d]=Mr(o))}function t(o,h){var x=h||{},d=[];if(!o||o.length===0)return d;for(var p=o.split(/[\\\\r\\\\n]/),u=p.length-1;u>=0&&p[u].length===0;)--u;for(var g=10,N=0,D=0;D<=u;++D)N=p[D].indexOf(\\\" \\\"),N==-1?N=p[D].length:N++,g=Math.max(g,N);for(D=0;D<=u;++D){d[D]=[];var k=0;for(e(p[D].slice(0,g).trim(),d,D,k,x),k=1;k<=(p[D].length-g)/10+1;++k)e(p[D].slice(g+(k-1)*10,g+k*10).trim(),d,D,k,x)}return x.sheetRows&&(d=d.slice(0,x.sheetRows)),d}var r={44:\\\",\\\",9:\\\"\\t\\\",59:\\\";\\\",124:\\\"|\\\"},n={44:3,9:2,59:1,124:0};function a(o){for(var h={},x=!1,d=0,p=0;d<o.length;++d)(p=o.charCodeAt(d))==34?x=!x:!x&&p in r&&(h[p]=(h[p]||0)+1);p=[];for(d in h)Object.prototype.hasOwnProperty.call(h,d)&&p.push([h[d],d]);if(!p.length){h=n;for(d in h)Object.prototype.hasOwnProperty.call(h,d)&&p.push([h[d],d])}return p.sort(function(u,g){return u[0]-g[0]||n[u[1]]-n[g[1]]}),r[p.pop()[1]]||44}function i(o,h){var x=h||{},d=\\\"\\\";qe!=null&&x.dense==null&&(x.dense=qe);var p=x.dense?[]:{},u={s:{c:0,r:0},e:{c:0,r:0}};o.slice(0,4)==\\\"sep=\\\"?o.charCodeAt(5)==13&&o.charCodeAt(6)==10?(d=o.charAt(4),o=o.slice(7)):o.charCodeAt(5)==13||o.charCodeAt(5)==10?(d=o.charAt(4),o=o.slice(6)):d=a(o.slice(0,1024)):x&&x.FS?d=x.FS:d=a(o.slice(0,1024));var g=0,N=0,D=0,k=0,W=0,J=d.charCodeAt(0),T=!1,w=0,P=o.charCodeAt(0);o=o.replace(/\\\\r\\\\n/mg,`\\n`);var R=x.dateNF!=null?dc(x.dateNF):null;function M(){var I=o.slice(k,W),v={};if(I.charAt(0)=='\\\"'&&I.charAt(I.length-1)=='\\\"'&&(I=I.slice(1,-1).replace(/\\\"\\\"/g,'\\\"')),I.length===0)v.t=\\\"z\\\";else if(x.raw)v.t=\\\"s\\\",v.v=I;else if(I.trim().length===0)v.t=\\\"s\\\",v.v=I;else if(I.charCodeAt(0)==61)I.charCodeAt(1)==34&&I.charCodeAt(I.length-1)==34?(v.t=\\\"s\\\",v.v=I.slice(2,-1).replace(/\\\"\\\"/g,'\\\"')):Gu(I)?(v.t=\\\"n\\\",v.f=I.slice(1)):(v.t=\\\"s\\\",v.v=I);else if(I==\\\"TRUE\\\")v.t=\\\"b\\\",v.v=!0;else if(I==\\\"FALSE\\\")v.t=\\\"b\\\",v.v=!1;else if(!isNaN(D=Mr(I)))v.t=\\\"n\\\",x.cellText!==!1&&(v.w=I),v.v=D;else if(!isNaN(Ot(I).getDate())||R&&I.match(R)){v.z=x.dateNF||Se[14];var _=0;R&&I.match(R)&&(I=pc(I,x.dateNF,I.match(R)||[]),_=1),x.cellDates?(v.t=\\\"d\\\",v.v=ar(I,_)):(v.t=\\\"n\\\",v.v=_r(ar(I,_))),x.cellText!==!1&&(v.w=Or(v.z,v.v instanceof Date?_r(v.v):v.v)),x.cellNF||delete v.z}else v.t=\\\"s\\\",v.v=I;if(v.t==\\\"z\\\"||(x.dense?(p[g]||(p[g]=[]),p[g][N]=v):p[Te({c:N,r:g})]=v),k=W+1,P=o.charCodeAt(k),u.e.c<N&&(u.e.c=N),u.e.r<g&&(u.e.r=g),w==J)++N;else if(N=0,++g,x.sheetRows&&x.sheetRows<=g)return!0}e:for(;W<o.length;++W)switch(w=o.charCodeAt(W)){case 34:P===34&&(T=!T);break;case J:case 10:case 13:if(!T&&M())break e;break;default:break}return W-k>0&&M(),p[\\\"!ref\\\"]=De(u),p}function f(o,h){return!(h&&h.PRN)||h.FS||o.slice(0,4)==\\\"sep=\\\"||o.indexOf(\\\"\\t\\\")>=0||o.indexOf(\\\",\\\")>=0||o.indexOf(\\\";\\\")>=0?i(o,h):Pt(t(o,h),h)}function s(o,h){var x=\\\"\\\",d=h.type==\\\"string\\\"?[0,0,0,0]:qn(o,h);switch(h.type){case\\\"base64\\\":x=yr(o);break;case\\\"binary\\\":x=o;break;case\\\"buffer\\\":h.codepage==65001?x=o.toString(\\\"utf8\\\"):h.codepage&&typeof Le<\\\"u\\\"?x=Le.utils.decode(h.codepage,o):x=Ce&&Buffer.isBuffer(o)?o.toString(\\\"binary\\\"):gt(o);break;case\\\"array\\\":x=pt(o);break;case\\\"string\\\":x=o;break;default:throw new Error(\\\"Unrecognized type \\\"+h.type)}return d[0]==239&&d[1]==187&&d[2]==191?x=Be(x.slice(3)):h.type!=\\\"string\\\"&&h.type!=\\\"buffer\\\"&&h.codepage==65001?x=Be(x):h.type==\\\"binary\\\"&&typeof Le<\\\"u\\\"&&h.codepage&&(x=Le.utils.decode(h.codepage,Le.utils.encode(28591,x))),x.slice(0,19)==\\\"socialcalc:version:\\\"?nh.to_sheet(h.type==\\\"string\\\"?x:Be(x),h):f(x,h)}function c(o,h){return ft(s(o,h),h)}function l(o){for(var h=[],x=Xe(o[\\\"!ref\\\"]),d,p=Array.isArray(o),u=x.s.r;u<=x.e.r;++u){for(var g=[],N=x.s.c;N<=x.e.c;++N){var D=Te({r:u,c:N});if(d=p?(o[u]||[])[N]:o[D],!d||d.v==null){g.push(\\\" \\\");continue}for(var k=(d.w||(qr(d),d.w)||\\\"\\\").slice(0,10);k.length<10;)k+=\\\" \\\";g.push(k+(N===0?\\\" \\\":\\\"\\\"))}h.push(g.join(\\\"\\\"))}return h.join(`\\n`)}return{to_workbook:c,to_sheet:s,from_sheet:l}})();function ih(e,t){var r=t||{},n=!!r.WTF;r.WTF=!0;try{var a=th.to_workbook(e,r);return r.WTF=n,a}catch(i){if(r.WTF=n,!i.message.match(/SYLK bad record ID/)&&n)throw i;return ta.to_workbook(e,t)}}var Yt=(function(){function e(A,B,L){if(A){nr(A,A.l||0);for(var b=L.Enum||te;A.l<A.length;){var X=A.read_shift(2),le=b[X]||b[65535],re=A.read_shift(2),ae=A.l+re,Q=le.f&&le.f(A,re,L);if(A.l=ae,B(Q,le,X))return}}}function t(A,B){switch(B.type){case\\\"base64\\\":return r(Pr(yr(A)),B);case\\\"binary\\\":return r(Pr(A),B);case\\\"buffer\\\":case\\\"array\\\":return r(A,B)}throw\\\"Unsupported type \\\"+B.type}function r(A,B){if(!A)return A;var L=B||{};qe!=null&&L.dense==null&&(L.dense=qe);var b=L.dense?[]:{},X=\\\"Sheet1\\\",le=\\\"\\\",re=0,ae={},Q=[],pe=[],O={s:{r:0,c:0},e:{r:0,c:0}},Fe=L.sheetRows||0;if(A[2]==0&&(A[3]==8||A[3]==9)&&A.length>=16&&A[14]==5&&A[15]===108)throw new Error(\\\"Unsupported Works 3 for Mac file\\\");if(A[2]==2)L.Enum=te,e(A,function(se,he,xe){switch(xe){case 0:L.vers=se,se>=4096&&(L.qpro=!0);break;case 6:O=se;break;case 204:se&&(le=se);break;case 222:le=se;break;case 15:case 51:L.qpro||(se[1].v=se[1].v.slice(1));case 13:case 14:case 16:xe==14&&(se[2]&112)==112&&(se[2]&15)>1&&(se[2]&15)<15&&(se[1].z=L.dateNF||Se[14],L.cellDates&&(se[1].t=\\\"d\\\",se[1].v=Xa(se[1].v))),L.qpro&&se[3]>re&&(b[\\\"!ref\\\"]=De(O),ae[X]=b,Q.push(X),b=L.dense?[]:{},O={s:{r:0,c:0},e:{r:0,c:0}},re=se[3],X=le||\\\"Sheet\\\"+(re+1),le=\\\"\\\");var ge=L.dense?(b[se[0].r]||[])[se[0].c]:b[Te(se[0])];if(ge){ge.t=se[1].t,ge.v=se[1].v,se[1].z!=null&&(ge.z=se[1].z),se[1].f!=null&&(ge.f=se[1].f);break}L.dense?(b[se[0].r]||(b[se[0].r]=[]),b[se[0].r][se[0].c]=se[1]):b[Te(se[0])]=se[1];break;default:}},L);else if(A[2]==26||A[2]==14)L.Enum=K,A[2]==14&&(L.qpro=!0,A.l=0),e(A,function(se,he,xe){switch(xe){case 204:X=se;break;case 22:se[1].v=se[1].v.slice(1);case 23:case 24:case 25:case 37:case 39:case 40:if(se[3]>re&&(b[\\\"!ref\\\"]=De(O),ae[X]=b,Q.push(X),b=L.dense?[]:{},O={s:{r:0,c:0},e:{r:0,c:0}},re=se[3],X=\\\"Sheet\\\"+(re+1)),Fe>0&&se[0].r>=Fe)break;L.dense?(b[se[0].r]||(b[se[0].r]=[]),b[se[0].r][se[0].c]=se[1]):b[Te(se[0])]=se[1],O.e.c<se[0].c&&(O.e.c=se[0].c),O.e.r<se[0].r&&(O.e.r=se[0].r);break;case 27:se[14e3]&&(pe[se[14e3][0]]=se[14e3][1]);break;case 1537:pe[se[0]]=se[1],se[0]==re&&(X=se[1]);break;default:break}},L);else throw new Error(\\\"Unrecognized LOTUS BOF \\\"+A[2]);if(b[\\\"!ref\\\"]=De(O),ae[le||X]=b,Q.push(le||X),!pe.length)return{SheetNames:Q,Sheets:ae};for(var we={},ve=[],ke=0;ke<pe.length;++ke)ae[Q[ke]]?(ve.push(pe[ke]||Q[ke]),we[pe[ke]]=ae[pe[ke]]||ae[Q[ke]]):(ve.push(pe[ke]),we[pe[ke]]={\\\"!ref\\\":\\\"A1\\\"});return{SheetNames:ve,Sheets:we}}function n(A,B){var L=B||{};if(+L.codepage>=0&&Lr(+L.codepage),L.type==\\\"string\\\")throw new Error(\\\"Cannot write WK1 to JS string\\\");var b=xn(),X=Xe(A[\\\"!ref\\\"]),le=Array.isArray(A),re=[];Nr(b,0,i(1030)),Nr(b,6,c(X));for(var ae=Math.min(X.e.r,8191),Q=X.s.r;Q<=ae;++Q)for(var pe=sr(Q),O=X.s.c;O<=X.e.c;++O){Q===X.s.r&&(re[O]=Ze(O));var Fe=re[O]+pe,we=le?(A[Q]||[])[O]:A[Fe];if(!(!we||we.t==\\\"z\\\"))if(we.t==\\\"n\\\")(we.v|0)==we.v&&we.v>=-32768&&we.v<=32767?Nr(b,13,d(Q,O,we.v)):Nr(b,14,u(Q,O,we.v));else{var ve=qr(we);Nr(b,15,h(Q,O,ve.slice(0,239)))}}return Nr(b,1),b.end()}function a(A,B){var L=B||{};if(+L.codepage>=0&&Lr(+L.codepage),L.type==\\\"string\\\")throw new Error(\\\"Cannot write WK3 to JS string\\\");var b=xn();Nr(b,0,f(A));for(var X=0,le=0;X<A.SheetNames.length;++X)(A.Sheets[A.SheetNames[X]]||{})[\\\"!ref\\\"]&&Nr(b,27,H(A.SheetNames[X],le++));var re=0;for(X=0;X<A.SheetNames.length;++X){var ae=A.Sheets[A.SheetNames[X]];if(!(!ae||!ae[\\\"!ref\\\"])){for(var Q=Xe(ae[\\\"!ref\\\"]),pe=Array.isArray(ae),O=[],Fe=Math.min(Q.e.r,8191),we=Q.s.r;we<=Fe;++we)for(var ve=sr(we),ke=Q.s.c;ke<=Q.e.c;++ke){we===Q.s.r&&(O[ke]=Ze(ke));var se=O[ke]+ve,he=pe?(ae[we]||[])[ke]:ae[se];if(!(!he||he.t==\\\"z\\\"))if(he.t==\\\"n\\\")Nr(b,23,M(we,ke,re,he.v));else{var xe=qr(he);Nr(b,22,w(we,ke,re,xe.slice(0,239)))}}++re}}return Nr(b,1),b.end()}function i(A){var B=Je(2);return B.write_shift(2,A),B}function f(A){var B=Je(26);B.write_shift(2,4096),B.write_shift(2,4),B.write_shift(4,0);for(var L=0,b=0,X=0,le=0;le<A.SheetNames.length;++le){var re=A.SheetNames[le],ae=A.Sheets[re];if(!(!ae||!ae[\\\"!ref\\\"])){++X;var Q=Nt(ae[\\\"!ref\\\"]);L<Q.e.r&&(L=Q.e.r),b<Q.e.c&&(b=Q.e.c)}}return L>8191&&(L=8191),B.write_shift(2,L),B.write_shift(1,X),B.write_shift(1,b),B.write_shift(2,0),B.write_shift(2,0),B.write_shift(1,1),B.write_shift(1,2),B.write_shift(4,0),B.write_shift(4,0),B}function s(A,B,L){var b={s:{c:0,r:0},e:{c:0,r:0}};return B==8&&L.qpro?(b.s.c=A.read_shift(1),A.l++,b.s.r=A.read_shift(2),b.e.c=A.read_shift(1),A.l++,b.e.r=A.read_shift(2),b):(b.s.c=A.read_shift(2),b.s.r=A.read_shift(2),B==12&&L.qpro&&(A.l+=2),b.e.c=A.read_shift(2),b.e.r=A.read_shift(2),B==12&&L.qpro&&(A.l+=2),b.s.c==65535&&(b.s.c=b.e.c=b.s.r=b.e.r=0),b)}function c(A){var B=Je(8);return B.write_shift(2,A.s.c),B.write_shift(2,A.s.r),B.write_shift(2,A.e.c),B.write_shift(2,A.e.r),B}function l(A,B,L){var b=[{c:0,r:0},{t:\\\"n\\\",v:0},0,0];return L.qpro&&L.vers!=20768?(b[0].c=A.read_shift(1),b[3]=A.read_shift(1),b[0].r=A.read_shift(2),A.l+=2):(b[2]=A.read_shift(1),b[0].c=A.read_shift(2),b[0].r=A.read_shift(2)),b}function o(A,B,L){var b=A.l+B,X=l(A,B,L);if(X[1].t=\\\"s\\\",L.vers==20768){A.l++;var le=A.read_shift(1);return X[1].v=A.read_shift(le,\\\"utf8\\\"),X}return L.qpro&&A.l++,X[1].v=A.read_shift(b-A.l,\\\"cstr\\\"),X}function h(A,B,L){var b=Je(7+L.length);b.write_shift(1,255),b.write_shift(2,B),b.write_shift(2,A),b.write_shift(1,39);for(var X=0;X<b.length;++X){var le=L.charCodeAt(X);b.write_shift(1,le>=128?95:le)}return b.write_shift(1,0),b}function x(A,B,L){var b=l(A,B,L);return b[1].v=A.read_shift(2,\\\"i\\\"),b}function d(A,B,L){var b=Je(7);return b.write_shift(1,255),b.write_shift(2,B),b.write_shift(2,A),b.write_shift(2,L,\\\"i\\\"),b}function p(A,B,L){var b=l(A,B,L);return b[1].v=A.read_shift(8,\\\"f\\\"),b}function u(A,B,L){var b=Je(13);return b.write_shift(1,255),b.write_shift(2,B),b.write_shift(2,A),b.write_shift(8,L,\\\"f\\\"),b}function g(A,B,L){var b=A.l+B,X=l(A,B,L);if(X[1].v=A.read_shift(8,\\\"f\\\"),L.qpro)A.l=b;else{var le=A.read_shift(2);W(A.slice(A.l,A.l+le),X),A.l+=le}return X}function N(A,B,L){var b=B&32768;return B&=-32769,B=(b?A:0)+(B>=8192?B-16384:B),(b?\\\"\\\":\\\"$\\\")+(L?Ze(B):sr(B))}var D={51:[\\\"FALSE\\\",0],52:[\\\"TRUE\\\",0],70:[\\\"LEN\\\",1],80:[\\\"SUM\\\",69],81:[\\\"AVERAGEA\\\",69],82:[\\\"COUNTA\\\",69],83:[\\\"MINA\\\",69],84:[\\\"MAXA\\\",69],111:[\\\"T\\\",1]},k=[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"+\\\",\\\"-\\\",\\\"*\\\",\\\"/\\\",\\\"^\\\",\\\"=\\\",\\\"<>\\\",\\\"<=\\\",\\\">=\\\",\\\"<\\\",\\\">\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"&\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\"];function W(A,B){nr(A,0);for(var L=[],b=0,X=\\\"\\\",le=\\\"\\\",re=\\\"\\\",ae=\\\"\\\";A.l<A.length;){var Q=A[A.l++];switch(Q){case 0:L.push(A.read_shift(8,\\\"f\\\"));break;case 1:le=N(B[0].c,A.read_shift(2),!0),X=N(B[0].r,A.read_shift(2),!1),L.push(le+X);break;case 2:{var pe=N(B[0].c,A.read_shift(2),!0),O=N(B[0].r,A.read_shift(2),!1);le=N(B[0].c,A.read_shift(2),!0),X=N(B[0].r,A.read_shift(2),!1),L.push(pe+O+\\\":\\\"+le+X)}break;case 3:if(A.l<A.length){console.error(\\\"WK1 premature formula end\\\");return}break;case 4:L.push(\\\"(\\\"+L.pop()+\\\")\\\");break;case 5:L.push(A.read_shift(2));break;case 6:{for(var Fe=\\\"\\\";Q=A[A.l++];)Fe+=String.fromCharCode(Q);L.push('\\\"'+Fe.replace(/\\\"/g,'\\\"\\\"')+'\\\"')}break;case 8:L.push(\\\"-\\\"+L.pop());break;case 23:L.push(\\\"+\\\"+L.pop());break;case 22:L.push(\\\"NOT(\\\"+L.pop()+\\\")\\\");break;case 20:case 21:ae=L.pop(),re=L.pop(),L.push([\\\"AND\\\",\\\"OR\\\"][Q-20]+\\\"(\\\"+re+\\\",\\\"+ae+\\\")\\\");break;default:if(Q<32&&k[Q])ae=L.pop(),re=L.pop(),L.push(re+k[Q]+ae);else if(D[Q]){if(b=D[Q][1],b==69&&(b=A[A.l++]),b>L.length){console.error(\\\"WK1 bad formula parse 0x\\\"+Q.toString(16)+\\\":|\\\"+L.join(\\\"|\\\")+\\\"|\\\");return}var we=L.slice(-b);L.length-=b,L.push(D[Q][0]+\\\"(\\\"+we.join(\\\",\\\")+\\\")\\\")}else return Q<=7?console.error(\\\"WK1 invalid opcode \\\"+Q.toString(16)):Q<=24?console.error(\\\"WK1 unsupported op \\\"+Q.toString(16)):Q<=30?console.error(\\\"WK1 invalid opcode \\\"+Q.toString(16)):Q<=115?console.error(\\\"WK1 unsupported function opcode \\\"+Q.toString(16)):console.error(\\\"WK1 unrecognized opcode \\\"+Q.toString(16))}}L.length==1?B[1].f=\\\"\\\"+L[0]:console.error(\\\"WK1 bad formula parse |\\\"+L.join(\\\"|\\\")+\\\"|\\\")}function J(A){var B=[{c:0,r:0},{t:\\\"n\\\",v:0},0];return B[0].r=A.read_shift(2),B[3]=A[A.l++],B[0].c=A[A.l++],B}function T(A,B){var L=J(A,B);return L[1].t=\\\"s\\\",L[1].v=A.read_shift(B-4,\\\"cstr\\\"),L}function w(A,B,L,b){var X=Je(6+b.length);X.write_shift(2,A),X.write_shift(1,L),X.write_shift(1,B),X.write_shift(1,39);for(var le=0;le<b.length;++le){var re=b.charCodeAt(le);X.write_shift(1,re>=128?95:re)}return X.write_shift(1,0),X}function P(A,B){var L=J(A,B);L[1].v=A.read_shift(2);var b=L[1].v>>1;if(L[1].v&1)switch(b&7){case 0:b=(b>>3)*5e3;break;case 1:b=(b>>3)*500;break;case 2:b=(b>>3)/20;break;case 3:b=(b>>3)/200;break;case 4:b=(b>>3)/2e3;break;case 5:b=(b>>3)/2e4;break;case 6:b=(b>>3)/16;break;case 7:b=(b>>3)/64;break}return L[1].v=b,L}function R(A,B){var L=J(A,B),b=A.read_shift(4),X=A.read_shift(4),le=A.read_shift(2);if(le==65535)return b===0&&X===3221225472?(L[1].t=\\\"e\\\",L[1].v=15):b===0&&X===3489660928?(L[1].t=\\\"e\\\",L[1].v=42):L[1].v=0,L;var re=le&32768;return le=(le&32767)-16446,L[1].v=(1-re*2)*(X*Math.pow(2,le+32)+b*Math.pow(2,le)),L}function M(A,B,L,b){var X=Je(14);if(X.write_shift(2,A),X.write_shift(1,L),X.write_shift(1,B),b==0)return X.write_shift(4,0),X.write_shift(4,0),X.write_shift(2,65535),X;var le=0,re=0,ae=0,Q=0;return b<0&&(le=1,b=-b),re=Math.log2(b)|0,b/=Math.pow(2,re-31),Q=b>>>0,(Q&2147483648)==0&&(b/=2,++re,Q=b>>>0),b-=Q,Q|=2147483648,Q>>>=0,b*=Math.pow(2,32),ae=b>>>0,X.write_shift(4,ae),X.write_shift(4,Q),re+=16383+(le?32768:0),X.write_shift(2,re),X}function I(A,B){var L=R(A,14);return A.l+=B-14,L}function v(A,B){var L=J(A,B),b=A.read_shift(4);return L[1].v=b>>6,L}function _(A,B){var L=J(A,B),b=A.read_shift(8,\\\"f\\\");return L[1].v=b,L}function U(A,B){var L=_(A,14);return A.l+=B-10,L}function V(A,B){return A[A.l+B-1]==0?A.read_shift(B,\\\"cstr\\\"):\\\"\\\"}function Z(A,B){var L=A[A.l++];L>B-1&&(L=B-1);for(var b=\\\"\\\";b.length<L;)b+=String.fromCharCode(A[A.l++]);return b}function ee(A,B,L){if(!(!L.qpro||B<21)){var b=A.read_shift(1);A.l+=17,A.l+=1,A.l+=2;var X=A.read_shift(B-21,\\\"cstr\\\");return[b,X]}}function ne(A,B){for(var L={},b=A.l+B;A.l<b;){var X=A.read_shift(2);if(X==14e3){for(L[X]=[0,\\\"\\\"],L[X][0]=A.read_shift(2);A[A.l];)L[X][1]+=String.fromCharCode(A[A.l]),A.l++;A.l++}}return L}function H(A,B){var L=Je(5+A.length);L.write_shift(2,14e3),L.write_shift(2,B);for(var b=0;b<A.length;++b){var X=A.charCodeAt(b);L[L.l++]=X>127?95:X}return L[L.l++]=0,L}var te={0:{n:\\\"BOF\\\",f:Ye},1:{n:\\\"EOF\\\"},2:{n:\\\"CALCMODE\\\"},3:{n:\\\"CALCORDER\\\"},4:{n:\\\"SPLIT\\\"},5:{n:\\\"SYNC\\\"},6:{n:\\\"RANGE\\\",f:s},7:{n:\\\"WINDOW1\\\"},8:{n:\\\"COLW1\\\"},9:{n:\\\"WINTWO\\\"},10:{n:\\\"COLW2\\\"},11:{n:\\\"NAME\\\"},12:{n:\\\"BLANK\\\"},13:{n:\\\"INTEGER\\\",f:x},14:{n:\\\"NUMBER\\\",f:p},15:{n:\\\"LABEL\\\",f:o},16:{n:\\\"FORMULA\\\",f:g},24:{n:\\\"TABLE\\\"},25:{n:\\\"ORANGE\\\"},26:{n:\\\"PRANGE\\\"},27:{n:\\\"SRANGE\\\"},28:{n:\\\"FRANGE\\\"},29:{n:\\\"KRANGE1\\\"},32:{n:\\\"HRANGE\\\"},35:{n:\\\"KRANGE2\\\"},36:{n:\\\"PROTEC\\\"},37:{n:\\\"FOOTER\\\"},38:{n:\\\"HEADER\\\"},39:{n:\\\"SETUP\\\"},40:{n:\\\"MARGINS\\\"},41:{n:\\\"LABELFMT\\\"},42:{n:\\\"TITLES\\\"},43:{n:\\\"SHEETJS\\\"},45:{n:\\\"GRAPH\\\"},46:{n:\\\"NGRAPH\\\"},47:{n:\\\"CALCCOUNT\\\"},48:{n:\\\"UNFORMATTED\\\"},49:{n:\\\"CURSORW12\\\"},50:{n:\\\"WINDOW\\\"},51:{n:\\\"STRING\\\",f:o},55:{n:\\\"PASSWORD\\\"},56:{n:\\\"LOCKED\\\"},60:{n:\\\"QUERY\\\"},61:{n:\\\"QUERYNAME\\\"},62:{n:\\\"PRINT\\\"},63:{n:\\\"PRINTNAME\\\"},64:{n:\\\"GRAPH2\\\"},65:{n:\\\"GRAPHNAME\\\"},66:{n:\\\"ZOOM\\\"},67:{n:\\\"SYMSPLIT\\\"},68:{n:\\\"NSROWS\\\"},69:{n:\\\"NSCOLS\\\"},70:{n:\\\"RULER\\\"},71:{n:\\\"NNAME\\\"},72:{n:\\\"ACOMM\\\"},73:{n:\\\"AMACRO\\\"},74:{n:\\\"PARSE\\\"},102:{n:\\\"PRANGES??\\\"},103:{n:\\\"RRANGES??\\\"},104:{n:\\\"FNAME??\\\"},105:{n:\\\"MRANGES??\\\"},204:{n:\\\"SHEETNAMECS\\\",f:V},222:{n:\\\"SHEETNAMELP\\\",f:Z},65535:{n:\\\"\\\"}},K={0:{n:\\\"BOF\\\"},1:{n:\\\"EOF\\\"},2:{n:\\\"PASSWORD\\\"},3:{n:\\\"CALCSET\\\"},4:{n:\\\"WINDOWSET\\\"},5:{n:\\\"SHEETCELLPTR\\\"},6:{n:\\\"SHEETLAYOUT\\\"},7:{n:\\\"COLUMNWIDTH\\\"},8:{n:\\\"HIDDENCOLUMN\\\"},9:{n:\\\"USERRANGE\\\"},10:{n:\\\"SYSTEMRANGE\\\"},11:{n:\\\"ZEROFORCE\\\"},12:{n:\\\"SORTKEYDIR\\\"},13:{n:\\\"FILESEAL\\\"},14:{n:\\\"DATAFILLNUMS\\\"},15:{n:\\\"PRINTMAIN\\\"},16:{n:\\\"PRINTSTRING\\\"},17:{n:\\\"GRAPHMAIN\\\"},18:{n:\\\"GRAPHSTRING\\\"},19:{n:\\\"??\\\"},20:{n:\\\"ERRCELL\\\"},21:{n:\\\"NACELL\\\"},22:{n:\\\"LABEL16\\\",f:T},23:{n:\\\"NUMBER17\\\",f:R},24:{n:\\\"NUMBER18\\\",f:P},25:{n:\\\"FORMULA19\\\",f:I},26:{n:\\\"FORMULA1A\\\"},27:{n:\\\"XFORMAT\\\",f:ne},28:{n:\\\"DTLABELMISC\\\"},29:{n:\\\"DTLABELCELL\\\"},30:{n:\\\"GRAPHWINDOW\\\"},31:{n:\\\"CPA\\\"},32:{n:\\\"LPLAUTO\\\"},33:{n:\\\"QUERY\\\"},34:{n:\\\"HIDDENSHEET\\\"},35:{n:\\\"??\\\"},37:{n:\\\"NUMBER25\\\",f:v},38:{n:\\\"??\\\"},39:{n:\\\"NUMBER27\\\",f:_},40:{n:\\\"FORMULA28\\\",f:U},142:{n:\\\"??\\\"},147:{n:\\\"??\\\"},150:{n:\\\"??\\\"},151:{n:\\\"??\\\"},152:{n:\\\"??\\\"},153:{n:\\\"??\\\"},154:{n:\\\"??\\\"},155:{n:\\\"??\\\"},156:{n:\\\"??\\\"},163:{n:\\\"??\\\"},174:{n:\\\"??\\\"},175:{n:\\\"??\\\"},176:{n:\\\"??\\\"},177:{n:\\\"??\\\"},184:{n:\\\"??\\\"},185:{n:\\\"??\\\"},186:{n:\\\"??\\\"},187:{n:\\\"??\\\"},188:{n:\\\"??\\\"},195:{n:\\\"??\\\"},201:{n:\\\"??\\\"},204:{n:\\\"SHEETNAMECS\\\",f:V},205:{n:\\\"??\\\"},206:{n:\\\"??\\\"},207:{n:\\\"??\\\"},208:{n:\\\"??\\\"},256:{n:\\\"??\\\"},259:{n:\\\"??\\\"},260:{n:\\\"??\\\"},261:{n:\\\"??\\\"},262:{n:\\\"??\\\"},263:{n:\\\"??\\\"},265:{n:\\\"??\\\"},266:{n:\\\"??\\\"},267:{n:\\\"??\\\"},268:{n:\\\"??\\\"},270:{n:\\\"??\\\"},271:{n:\\\"??\\\"},384:{n:\\\"??\\\"},389:{n:\\\"??\\\"},390:{n:\\\"??\\\"},393:{n:\\\"??\\\"},396:{n:\\\"??\\\"},512:{n:\\\"??\\\"},514:{n:\\\"??\\\"},513:{n:\\\"??\\\"},516:{n:\\\"??\\\"},517:{n:\\\"??\\\"},640:{n:\\\"??\\\"},641:{n:\\\"??\\\"},642:{n:\\\"??\\\"},643:{n:\\\"??\\\"},644:{n:\\\"??\\\"},645:{n:\\\"??\\\"},646:{n:\\\"??\\\"},647:{n:\\\"??\\\"},648:{n:\\\"??\\\"},658:{n:\\\"??\\\"},659:{n:\\\"??\\\"},660:{n:\\\"??\\\"},661:{n:\\\"??\\\"},662:{n:\\\"??\\\"},665:{n:\\\"??\\\"},666:{n:\\\"??\\\"},768:{n:\\\"??\\\"},772:{n:\\\"??\\\"},1537:{n:\\\"SHEETINFOQP\\\",f:ee},1600:{n:\\\"??\\\"},1602:{n:\\\"??\\\"},1793:{n:\\\"??\\\"},1794:{n:\\\"??\\\"},1795:{n:\\\"??\\\"},1796:{n:\\\"??\\\"},1920:{n:\\\"??\\\"},2048:{n:\\\"??\\\"},2049:{n:\\\"??\\\"},2052:{n:\\\"??\\\"},2688:{n:\\\"??\\\"},10998:{n:\\\"??\\\"},12849:{n:\\\"??\\\"},28233:{n:\\\"??\\\"},28484:{n:\\\"??\\\"},65535:{n:\\\"\\\"}};return{sheet_to_wk1:n,book_to_wk3:a,to_workbook:t}})();function sh(e){var t={},r=e.match(pr),n=0,a=!1;if(r)for(;n!=r.length;++n){var i=me(r[n]);switch(i[0].replace(/\\\\w*:/g,\\\"\\\")){case\\\"<condense\\\":break;case\\\"<extend\\\":break;case\\\"<shadow\\\":if(!i.val)break;case\\\"<shadow>\\\":case\\\"<shadow/>\\\":t.shadow=1;break;case\\\"</shadow>\\\":break;case\\\"<charset\\\":if(i.val==\\\"1\\\")break;t.cp=Tn[parseInt(i.val,10)];break;case\\\"<outline\\\":if(!i.val)break;case\\\"<outline>\\\":case\\\"<outline/>\\\":t.outline=1;break;case\\\"</outline>\\\":break;case\\\"<rFont\\\":t.name=i.val;break;case\\\"<sz\\\":t.sz=i.val;break;case\\\"<strike\\\":if(!i.val)break;case\\\"<strike>\\\":case\\\"<strike/>\\\":t.strike=1;break;case\\\"</strike>\\\":break;case\\\"<u\\\":if(!i.val)break;switch(i.val){case\\\"double\\\":t.uval=\\\"double\\\";break;case\\\"singleAccounting\\\":t.uval=\\\"single-accounting\\\";break;case\\\"doubleAccounting\\\":t.uval=\\\"double-accounting\\\";break}case\\\"<u>\\\":case\\\"<u/>\\\":t.u=1;break;case\\\"</u>\\\":break;case\\\"<b\\\":if(i.val==\\\"0\\\")break;case\\\"<b>\\\":case\\\"<b/>\\\":t.b=1;break;case\\\"</b>\\\":break;case\\\"<i\\\":if(i.val==\\\"0\\\")break;case\\\"<i>\\\":case\\\"<i/>\\\":t.i=1;break;case\\\"</i>\\\":break;case\\\"<color\\\":i.rgb&&(t.color=i.rgb.slice(2,8));break;case\\\"<color>\\\":case\\\"<color/>\\\":case\\\"</color>\\\":break;case\\\"<family\\\":t.family=i.val;break;case\\\"<family>\\\":case\\\"<family/>\\\":case\\\"</family>\\\":break;case\\\"<vertAlign\\\":t.valign=i.val;break;case\\\"<vertAlign>\\\":case\\\"<vertAlign/>\\\":case\\\"</vertAlign>\\\":break;case\\\"<scheme\\\":break;case\\\"<scheme>\\\":case\\\"<scheme/>\\\":case\\\"</scheme>\\\":break;case\\\"<extLst\\\":case\\\"<extLst>\\\":case\\\"</extLst>\\\":break;case\\\"<ext\\\":a=!0;break;case\\\"</ext>\\\":a=!1;break;default:if(i[0].charCodeAt(1)!==47&&!a)throw new Error(\\\"Unrecognized rich format \\\"+i[0])}}return t}var fh=(function(){var e=ea(\\\"t\\\"),t=ea(\\\"rPr\\\");function r(i){var f=i.match(e);if(!f)return{t:\\\"s\\\",v:\\\"\\\"};var s={t:\\\"s\\\",v:Ie(f[1])},c=i.match(t);return c&&(s.s=sh(c[1])),s}var n=/<(?:\\\\w+:)?r>/g,a=/<\\\\/(?:\\\\w+:)?r>/;return function(f){return f.replace(n,\\\"\\\").split(a).map(r).filter(function(s){return s.v})}})(),ch=(function(){var t=/(\\\\r\\\\n|\\\\n)/g;function r(a,i,f){var s=[];a.u&&s.push(\\\"text-decoration: underline;\\\"),a.uval&&s.push(\\\"text-underline-style:\\\"+a.uval+\\\";\\\"),a.sz&&s.push(\\\"font-size:\\\"+a.sz+\\\"pt;\\\"),a.outline&&s.push(\\\"text-effect: outline;\\\"),a.shadow&&s.push(\\\"text-shadow: auto;\\\"),i.push('<span style=\\\"'+s.join(\\\"\\\")+'\\\">'),a.b&&(i.push(\\\"<b>\\\"),f.push(\\\"</b>\\\")),a.i&&(i.push(\\\"<i>\\\"),f.push(\\\"</i>\\\")),a.strike&&(i.push(\\\"<s>\\\"),f.push(\\\"</s>\\\"));var c=a.valign||\\\"\\\";return c==\\\"superscript\\\"||c==\\\"super\\\"?c=\\\"sup\\\":c==\\\"subscript\\\"&&(c=\\\"sub\\\"),c!=\\\"\\\"&&(i.push(\\\"<\\\"+c+\\\">\\\"),f.push(\\\"</\\\"+c+\\\">\\\")),f.push(\\\"</span>\\\"),a}function n(a){var i=[[],a.v,[]];return a.v?(a.s&&r(a.s,i[0],i[2]),i[0].join(\\\"\\\")+i[1].replace(t,\\\"<br/>\\\")+i[2].join(\\\"\\\")):\\\"\\\"}return function(i){return i.map(n).join(\\\"\\\")}})(),oh=/<(?:\\\\w+:)?t[^>]*>([^<]*)<\\\\/(?:\\\\w+:)?t>/g,lh=/<(?:\\\\w+:)?r>/,hh=/<(?:\\\\w+:)?rPh.*?>([\\\\s\\\\S]*?)<\\\\/(?:\\\\w+:)?rPh>/g;function Gn(e,t){var r=t?t.cellHTML:!0,n={};return e?(e.match(/^\\\\s*<(?:\\\\w+:)?t[^>]*>/)?(n.t=Ie(Be(e.slice(e.indexOf(\\\">\\\")+1).split(/<\\\\/(?:\\\\w+:)?t>/)[0]||\\\"\\\")),n.r=Be(e),r&&(n.h=On(n.t))):e.match(lh)&&(n.r=Be(e),n.t=Ie(Be((e.replace(hh,\\\"\\\").match(oh)||[]).join(\\\"\\\").replace(pr,\\\"\\\"))),r&&(n.h=ch(fh(n.r)))),n):{t:\\\"\\\"}}var uh=/<(?:\\\\w+:)?sst([^>]*)>([\\\\s\\\\S]*)<\\\\/(?:\\\\w+:)?sst>/,xh=/<(?:\\\\w+:)?(?:si|sstItem)>/g,dh=/<\\\\/(?:\\\\w+:)?(?:si|sstItem)>/;function ph(e,t){var r=[],n=\\\"\\\";if(!e)return r;var a=e.match(uh);if(a){n=a[2].replace(xh,\\\"\\\").split(dh);for(var i=0;i!=n.length;++i){var f=Gn(n[i].trim(),t);f!=null&&(r[r.length]=f)}a=me(a[1]),r.Count=a.count,r.Unique=a.uniqueCount}return r}function vh(e){return[e.read_shift(4),e.read_shift(4)]}function mh(e,t){var r=[],n=!1;return Zr(e,function(i,f,s){switch(s){case 159:r.Count=i[0],r.Unique=i[1];break;case 19:r.push(i);break;case 160:return!0;case 35:n=!0;break;case 36:n=!1;break;default:if(f.T,!n||t.WTF)throw new Error(\\\"Unexpected record 0x\\\"+s.toString(16))}}),r}function ws(e){if(typeof Le<\\\"u\\\")return Le.utils.encode(Rt,e);for(var t=[],r=e.split(\\\"\\\"),n=0;n<r.length;++n)t[n]=r[n].charCodeAt(0);return t}function Jr(e,t){var r={};return r.Major=e.read_shift(2),r.Minor=e.read_shift(2),t>=4&&(e.l+=t-4),r}function gh(e){var t={};return t.id=e.read_shift(0,\\\"lpp4\\\"),t.R=Jr(e,4),t.U=Jr(e,4),t.W=Jr(e,4),t}function _h(e){for(var t=e.read_shift(4),r=e.l+t-4,n={},a=e.read_shift(4),i=[];a-- >0;)i.push({t:e.read_shift(4),v:e.read_shift(0,\\\"lpp4\\\")});if(n.name=e.read_shift(0,\\\"lpp4\\\"),n.comps=i,e.l!=r)throw new Error(\\\"Bad DataSpaceMapEntry: \\\"+e.l+\\\" != \\\"+r);return n}function wh(e){var t=[];e.l+=4;for(var r=e.read_shift(4);r-- >0;)t.push(_h(e));return t}function kh(e){var t=[];e.l+=4;for(var r=e.read_shift(4);r-- >0;)t.push(e.read_shift(0,\\\"lpp4\\\"));return t}function Eh(e){var t={};return e.read_shift(4),e.l+=4,t.id=e.read_shift(0,\\\"lpp4\\\"),t.name=e.read_shift(0,\\\"lpp4\\\"),t.R=Jr(e,4),t.U=Jr(e,4),t.W=Jr(e,4),t}function Th(e){var t=Eh(e);if(t.ename=e.read_shift(0,\\\"8lpp4\\\"),t.blksz=e.read_shift(4),t.cmode=e.read_shift(4),e.read_shift(4)!=4)throw new Error(\\\"Bad !Primary record\\\");return t}function ks(e,t){var r=e.l+t,n={};n.Flags=e.read_shift(4)&63,e.l+=4,n.AlgID=e.read_shift(4);var a=!1;switch(n.AlgID){case 26126:case 26127:case 26128:a=n.Flags==36;break;case 26625:a=n.Flags==4;break;case 0:a=n.Flags==16||n.Flags==4||n.Flags==36;break;default:throw\\\"Unrecognized encryption algorithm: \\\"+n.AlgID}if(!a)throw new Error(\\\"Encryption Flags/AlgID mismatch\\\");return n.AlgIDHash=e.read_shift(4),n.KeySize=e.read_shift(4),n.ProviderType=e.read_shift(4),e.l+=8,n.CSPName=e.read_shift(r-e.l>>1,\\\"utf16le\\\"),e.l=r,n}function Es(e,t){var r={},n=e.l+t;return e.l+=4,r.Salt=e.slice(e.l,e.l+16),e.l+=16,r.Verifier=e.slice(e.l,e.l+16),e.l+=16,e.read_shift(4),r.VerifierHash=e.slice(e.l,n),e.l=n,r}function Sh(e){var t=Jr(e);switch(t.Minor){case 2:return[t.Minor,Fh(e,t)];case 3:return[t.Minor,yh(e,t)];case 4:return[t.Minor,Ah(e,t)]}throw new Error(\\\"ECMA-376 Encrypted file unrecognized Version: \\\"+t.Minor)}function Fh(e){var t=e.read_shift(4);if((t&63)!=36)throw new Error(\\\"EncryptionInfo mismatch\\\");var r=e.read_shift(4),n=ks(e,r),a=Es(e,e.length-e.l);return{t:\\\"Std\\\",h:n,v:a}}function yh(){throw new Error(\\\"File is password-protected: ECMA-376 Extensible\\\")}function Ah(e){var t=[\\\"saltSize\\\",\\\"blockSize\\\",\\\"keyBits\\\",\\\"hashSize\\\",\\\"cipherAlgorithm\\\",\\\"cipherChaining\\\",\\\"hashAlgorithm\\\",\\\"saltValue\\\"];e.l+=4;var r=e.read_shift(e.length-e.l,\\\"utf8\\\"),n={};return r.replace(pr,function(i){var f=me(i);switch(Xr(f[0])){case\\\"<?xml\\\":break;case\\\"<encryption\\\":case\\\"</encryption>\\\":break;case\\\"<keyData\\\":t.forEach(function(s){n[s]=f[s]});break;case\\\"<dataIntegrity\\\":n.encryptedHmacKey=f.encryptedHmacKey,n.encryptedHmacValue=f.encryptedHmacValue;break;case\\\"<keyEncryptors>\\\":case\\\"<keyEncryptors\\\":n.encs=[];break;case\\\"</keyEncryptors>\\\":break;case\\\"<keyEncryptor\\\":n.uri=f.uri;break;case\\\"</keyEncryptor>\\\":break;case\\\"<encryptedKey\\\":n.encs.push(f);break;default:throw f[0]}}),n}function Ch(e,t){var r={},n=r.EncryptionVersionInfo=Jr(e,4);if(t-=4,n.Minor!=2)throw new Error(\\\"unrecognized minor version code: \\\"+n.Minor);if(n.Major>4||n.Major<2)throw new Error(\\\"unrecognized major version code: \\\"+n.Major);r.Flags=e.read_shift(4),t-=4;var a=e.read_shift(4);return t-=4,r.EncryptionHeader=ks(e,a),t-=a,r.EncryptionVerifier=Es(e,t),r}function Rh(e){var t={},r=t.EncryptionVersionInfo=Jr(e,4);if(r.Major!=1||r.Minor!=1)throw\\\"unrecognized version code \\\"+r.Major+\\\" : \\\"+r.Minor;return t.Salt=e.read_shift(16),t.EncryptedVerifier=e.read_shift(16),t.EncryptedVerifierHash=e.read_shift(16),t}function Oh(e){var t=0,r,n=ws(e),a=n.length+1,i,f,s,c,l;for(r=it(a),r[0]=n.length,i=1;i!=a;++i)r[i]=n[i-1];for(i=a-1;i>=0;--i)f=r[i],s=(t&16384)===0?0:1,c=t<<1&32767,l=s|c,t=l^f;return t^52811}var Ts=(function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0],t=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163],r=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628],n=function(f){return(f/2|f*128)&255},a=function(f,s){return n(f^s)},i=function(f){for(var s=t[f.length-1],c=104,l=f.length-1;l>=0;--l)for(var o=f[l],h=0;h!=7;++h)o&64&&(s^=r[c]),o*=2,--c;return s};return function(f){for(var s=ws(f),c=i(s),l=s.length,o=it(16),h=0;h!=16;++h)o[h]=0;var x,d,p;for((l&1)===1&&(x=c>>8,o[l]=a(e[0],x),--l,x=c&255,d=s[s.length-1],o[l]=a(d,x));l>0;)--l,x=c>>8,o[l]=a(s[l],x),--l,x=c&255,o[l]=a(s[l],x);for(l=15,p=15-s.length;p>0;)x=c>>8,o[l]=a(e[p],x),--l,--p,x=c&255,o[l]=a(s[l],x),--l,--p;return o}})(),Dh=function(e,t,r,n,a){a||(a=t),n||(n=Ts(e));var i,f;for(i=0;i!=t.length;++i)f=t[i],f^=n[r],f=(f>>5|f<<3)&255,a[i]=f,++r;return[a,r,n]},bh=function(e){var t=0,r=Ts(e);return function(n){var a=Dh(\\\"\\\",n,t,r);return t=a[1],a[0]}};function Ih(e,t,r,n){var a={key:Ye(e),verificationBytes:Ye(e)};return r.password&&(a.verifier=Oh(r.password)),n.valid=a.verificationBytes===a.verifier,n.valid&&(n.insitu=bh(r.password)),a}function Nh(e,t,r){var n=r||{};return n.Info=e.read_shift(2),e.l-=2,n.Info===1?n.Data=Rh(e,t):n.Data=Ch(e,t),n}function Ph(e,t,r){var n={Type:r.biff>=8?e.read_shift(2):0};return n.Type?Nh(e,t-2,n):Ih(e,r.biff>=8?t:t-2,r,n),n}var Lh=(function(){function e(a,i){switch(i.type){case\\\"base64\\\":return t(yr(a),i);case\\\"binary\\\":return t(a,i);case\\\"buffer\\\":return t(Ce&&Buffer.isBuffer(a)?a.toString(\\\"binary\\\"):gt(a),i);case\\\"array\\\":return t(pt(a),i)}throw new Error(\\\"Unrecognized type \\\"+i.type)}function t(a,i){var f=i||{},s=f.dense?[]:{},c=a.match(/\\\\\\\\trowd.*?\\\\\\\\row\\\\b/g);if(!c.length)throw new Error(\\\"RTF missing table\\\");var l={s:{c:0,r:0},e:{c:0,r:c.length-1}};return c.forEach(function(o,h){Array.isArray(s)&&(s[h]=[]);for(var x=/\\\\\\\\\\\\w+\\\\b/g,d=0,p,u=-1;p=x.exec(o);){switch(p[0]){case\\\"\\\\\\\\cell\\\":var g=o.slice(d,x.lastIndex-p[0].length);if(g[0]==\\\" \\\"&&(g=g.slice(1)),++u,g.length){var N={v:g,t:\\\"s\\\"};Array.isArray(s)?s[h][u]=N:s[Te({r:h,c:u})]=N}break}d=x.lastIndex}u>l.e.c&&(l.e.c=u)}),s[\\\"!ref\\\"]=De(l),s}function r(a,i){return ft(e(a,i),i)}function n(a){for(var i=[\\\"{\\\\\\\\rtf1\\\\\\\\ansi\\\"],f=Xe(a[\\\"!ref\\\"]),s,c=Array.isArray(a),l=f.s.r;l<=f.e.r;++l){i.push(\\\"\\\\\\\\trowd\\\\\\\\trautofit1\\\");for(var o=f.s.c;o<=f.e.c;++o)i.push(\\\"\\\\\\\\cellx\\\"+(o+1));for(i.push(\\\"\\\\\\\\pard\\\\\\\\intbl\\\"),o=f.s.c;o<=f.e.c;++o){var h=Te({r:l,c:o});s=c?(a[l]||[])[o]:a[h],!(!s||s.v==null&&(!s.f||s.F))&&(i.push(\\\" \\\"+(s.w||(qr(s),s.w))),i.push(\\\"\\\\\\\\cell\\\"))}i.push(\\\"\\\\\\\\pard\\\\\\\\intbl\\\\\\\\row\\\")}return i.join(\\\"\\\")+\\\"}\\\"}return{to_workbook:r,to_sheet:e,from_sheet:n}})();function Bh(e){var t=e.slice(e[0]===\\\"#\\\"?1:0).slice(0,6);return[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]}function aa(e){for(var t=0,r=1;t!=3;++t)r=r*256+(e[t]>255?255:e[t]<0?0:e[t]);return r.toString(16).toUpperCase().slice(1)}function Mh(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,a=Math.max(t,r,n),i=Math.min(t,r,n),f=a-i;if(f===0)return[0,0,t];var s=0,c=0,l=a+i;switch(c=f/(l>1?2-l:l),a){case t:s=((r-n)/f+6)%6;break;case r:s=(n-t)/f+2;break;case n:s=(t-r)/f+4;break}return[s/6,c,l/2]}function Uh(e){var t=e[0],r=e[1],n=e[2],a=r*2*(n<.5?n:1-n),i=n-a/2,f=[i,i,i],s=6*t,c;if(r!==0)switch(s|0){case 0:case 6:c=a*s,f[0]+=a,f[1]+=c;break;case 1:c=a*(2-s),f[0]+=c,f[1]+=a;break;case 2:c=a*(s-2),f[1]+=a,f[2]+=c;break;case 3:c=a*(4-s),f[1]+=c,f[2]+=a;break;case 4:c=a*(s-4),f[2]+=a,f[0]+=c;break;case 5:c=a*(6-s),f[2]+=c,f[0]+=a;break}for(var l=0;l!=3;++l)f[l]=Math.round(f[l]*255);return f}function Ma(e,t){if(t===0)return e;var r=Mh(Bh(e));return t<0?r[2]=r[2]*(1+t):r[2]=1-(1-r[2])*(1-t),aa(Uh(r))}var Ss=6,Wh=15,Hh=1,mr=Ss;function Ua(e){return Math.floor((e+Math.round(128/mr)/256)*mr)}function Wa(e){return Math.floor((e-5)/mr*100+.5)/100}function mn(e){return Math.round((e*mr+5)/mr*256)/256}function sn(e){return mn(Wa(Ua(e)))}function zn(e){var t=Math.abs(e-sn(e)),r=mr;if(t>.005)for(mr=Hh;mr<Wh;++mr)Math.abs(e-sn(e))<=t&&(t=Math.abs(e-sn(e)),r=mr);mr=r}function Dt(e){e.width?(e.wpx=Ua(e.width),e.wch=Wa(e.wpx),e.MDW=mr):e.wpx?(e.wch=Wa(e.wpx),e.width=mn(e.wch),e.MDW=mr):typeof e.wch==\\\"number\\\"&&(e.width=mn(e.wch),e.wpx=Ua(e.width),e.MDW=mr),e.customWidth&&delete e.customWidth}var Vh=96,Fs=Vh;function ys(e){return e*96/Fs}function na(e){return e*Fs/96}var Xh={None:\\\"none\\\",Solid:\\\"solid\\\",Gray50:\\\"mediumGray\\\",Gray75:\\\"darkGray\\\",Gray25:\\\"lightGray\\\",HorzStripe:\\\"darkHorizontal\\\",VertStripe:\\\"darkVertical\\\",ReverseDiagStripe:\\\"darkDown\\\",DiagStripe:\\\"darkUp\\\",DiagCross:\\\"darkGrid\\\",ThickDiagCross:\\\"darkTrellis\\\",ThinHorzStripe:\\\"lightHorizontal\\\",ThinVertStripe:\\\"lightVertical\\\",ThinReverseDiagStripe:\\\"lightDown\\\",ThinHorzCross:\\\"lightGrid\\\"};function Gh(e,t,r,n){t.Borders=[];var a={},i=!1;(e[0].match(pr)||[]).forEach(function(f){var s=me(f);switch(Xr(s[0])){case\\\"<borders\\\":case\\\"<borders>\\\":case\\\"</borders>\\\":break;case\\\"<border\\\":case\\\"<border>\\\":case\\\"<border/>\\\":a={},s.diagonalUp&&(a.diagonalUp=Ue(s.diagonalUp)),s.diagonalDown&&(a.diagonalDown=Ue(s.diagonalDown)),t.Borders.push(a);break;case\\\"</border>\\\":break;case\\\"<left/>\\\":break;case\\\"<left\\\":case\\\"<left>\\\":break;case\\\"</left>\\\":break;case\\\"<right/>\\\":break;case\\\"<right\\\":case\\\"<right>\\\":break;case\\\"</right>\\\":break;case\\\"<top/>\\\":break;case\\\"<top\\\":case\\\"<top>\\\":break;case\\\"</top>\\\":break;case\\\"<bottom/>\\\":break;case\\\"<bottom\\\":case\\\"<bottom>\\\":break;case\\\"</bottom>\\\":break;case\\\"<diagonal\\\":case\\\"<diagonal>\\\":case\\\"<diagonal/>\\\":break;case\\\"</diagonal>\\\":break;case\\\"<horizontal\\\":case\\\"<horizontal>\\\":case\\\"<horizontal/>\\\":break;case\\\"</horizontal>\\\":break;case\\\"<vertical\\\":case\\\"<vertical>\\\":case\\\"<vertical/>\\\":break;case\\\"</vertical>\\\":break;case\\\"<start\\\":case\\\"<start>\\\":case\\\"<start/>\\\":break;case\\\"</start>\\\":break;case\\\"<end\\\":case\\\"<end>\\\":case\\\"<end/>\\\":break;case\\\"</end>\\\":break;case\\\"<color\\\":case\\\"<color>\\\":break;case\\\"<color/>\\\":case\\\"</color>\\\":break;case\\\"<extLst\\\":case\\\"<extLst>\\\":case\\\"</extLst>\\\":break;case\\\"<ext\\\":i=!0;break;case\\\"</ext>\\\":i=!1;break;default:if(n&&n.WTF&&!i)throw new Error(\\\"unrecognized \\\"+s[0]+\\\" in borders\\\")}})}function zh(e,t,r,n){t.Fills=[];var a={},i=!1;(e[0].match(pr)||[]).forEach(function(f){var s=me(f);switch(Xr(s[0])){case\\\"<fills\\\":case\\\"<fills>\\\":case\\\"</fills>\\\":break;case\\\"<fill>\\\":case\\\"<fill\\\":case\\\"<fill/>\\\":a={},t.Fills.push(a);break;case\\\"</fill>\\\":break;case\\\"<gradientFill>\\\":break;case\\\"<gradientFill\\\":case\\\"</gradientFill>\\\":t.Fills.push(a),a={};break;case\\\"<patternFill\\\":case\\\"<patternFill>\\\":s.patternType&&(a.patternType=s.patternType);break;case\\\"<patternFill/>\\\":case\\\"</patternFill>\\\":break;case\\\"<bgColor\\\":a.bgColor||(a.bgColor={}),s.indexed&&(a.bgColor.indexed=parseInt(s.indexed,10)),s.theme&&(a.bgColor.theme=parseInt(s.theme,10)),s.tint&&(a.bgColor.tint=parseFloat(s.tint)),s.rgb&&(a.bgColor.rgb=s.rgb.slice(-6));break;case\\\"<bgColor/>\\\":case\\\"</bgColor>\\\":break;case\\\"<fgColor\\\":a.fgColor||(a.fgColor={}),s.theme&&(a.fgColor.theme=parseInt(s.theme,10)),s.tint&&(a.fgColor.tint=parseFloat(s.tint)),s.rgb!=null&&(a.fgColor.rgb=s.rgb.slice(-6));break;case\\\"<fgColor/>\\\":case\\\"</fgColor>\\\":break;case\\\"<stop\\\":case\\\"<stop/>\\\":break;case\\\"</stop>\\\":break;case\\\"<color\\\":case\\\"<color/>\\\":break;case\\\"</color>\\\":break;case\\\"<extLst\\\":case\\\"<extLst>\\\":case\\\"</extLst>\\\":break;case\\\"<ext\\\":i=!0;break;case\\\"</ext>\\\":i=!1;break;default:if(n&&n.WTF&&!i)throw new Error(\\\"unrecognized \\\"+s[0]+\\\" in fills\\\")}})}function jh(e,t,r,n){t.Fonts=[];var a={},i=!1;(e[0].match(pr)||[]).forEach(function(f){var s=me(f);switch(Xr(s[0])){case\\\"<fonts\\\":case\\\"<fonts>\\\":case\\\"</fonts>\\\":break;case\\\"<font\\\":case\\\"<font>\\\":break;case\\\"</font>\\\":case\\\"<font/>\\\":t.Fonts.push(a),a={};break;case\\\"<name\\\":s.val&&(a.name=Be(s.val));break;case\\\"<name/>\\\":case\\\"</name>\\\":break;case\\\"<b\\\":a.bold=s.val?Ue(s.val):1;break;case\\\"<b/>\\\":a.bold=1;break;case\\\"<i\\\":a.italic=s.val?Ue(s.val):1;break;case\\\"<i/>\\\":a.italic=1;break;case\\\"<u\\\":switch(s.val){case\\\"none\\\":a.underline=0;break;case\\\"single\\\":a.underline=1;break;case\\\"double\\\":a.underline=2;break;case\\\"singleAccounting\\\":a.underline=33;break;case\\\"doubleAccounting\\\":a.underline=34;break}break;case\\\"<u/>\\\":a.underline=1;break;case\\\"<strike\\\":a.strike=s.val?Ue(s.val):1;break;case\\\"<strike/>\\\":a.strike=1;break;case\\\"<outline\\\":a.outline=s.val?Ue(s.val):1;break;case\\\"<outline/>\\\":a.outline=1;break;case\\\"<shadow\\\":a.shadow=s.val?Ue(s.val):1;break;case\\\"<shadow/>\\\":a.shadow=1;break;case\\\"<condense\\\":a.condense=s.val?Ue(s.val):1;break;case\\\"<condense/>\\\":a.condense=1;break;case\\\"<extend\\\":a.extend=s.val?Ue(s.val):1;break;case\\\"<extend/>\\\":a.extend=1;break;case\\\"<sz\\\":s.val&&(a.sz=+s.val);break;case\\\"<sz/>\\\":case\\\"</sz>\\\":break;case\\\"<vertAlign\\\":s.val&&(a.vertAlign=s.val);break;case\\\"<vertAlign/>\\\":case\\\"</vertAlign>\\\":break;case\\\"<family\\\":s.val&&(a.family=parseInt(s.val,10));break;case\\\"<family/>\\\":case\\\"</family>\\\":break;case\\\"<scheme\\\":s.val&&(a.scheme=s.val);break;case\\\"<scheme/>\\\":case\\\"</scheme>\\\":break;case\\\"<charset\\\":if(s.val==\\\"1\\\")break;s.codepage=Tn[parseInt(s.val,10)];break;case\\\"<color\\\":if(a.color||(a.color={}),s.auto&&(a.color.auto=Ue(s.auto)),s.rgb)a.color.rgb=s.rgb.slice(-6);else if(s.indexed){a.color.index=parseInt(s.indexed,10);var c=xt[a.color.index];a.color.index==81&&(c=xt[1]),c||(c=xt[1]),a.color.rgb=c[0].toString(16)+c[1].toString(16)+c[2].toString(16)}else s.theme&&(a.color.theme=parseInt(s.theme,10),s.tint&&(a.color.tint=parseFloat(s.tint)),s.theme&&r.themeElements&&r.themeElements.clrScheme&&(a.color.rgb=Ma(r.themeElements.clrScheme[a.color.theme].rgb,a.color.tint||0)));break;case\\\"<color/>\\\":case\\\"</color>\\\":break;case\\\"<AlternateContent\\\":i=!0;break;case\\\"</AlternateContent>\\\":i=!1;break;case\\\"<extLst\\\":case\\\"<extLst>\\\":case\\\"</extLst>\\\":break;case\\\"<ext\\\":i=!0;break;case\\\"</ext>\\\":i=!1;break;default:if(n&&n.WTF&&!i)throw new Error(\\\"unrecognized \\\"+s[0]+\\\" in fonts\\\")}})}function Kh(e,t,r){t.NumberFmt=[];for(var n=Vr(Se),a=0;a<n.length;++a)t.NumberFmt[n[a]]=Se[n[a]];var i=e[0].match(pr);if(i)for(a=0;a<i.length;++a){var f=me(i[a]);switch(Xr(f[0])){case\\\"<numFmts\\\":case\\\"</numFmts>\\\":case\\\"<numFmts/>\\\":case\\\"<numFmts>\\\":break;case\\\"<numFmt\\\":{var s=Ie(Be(f.formatCode)),c=parseInt(f.numFmtId,10);if(t.NumberFmt[c]=s,c>0){if(c>392){for(c=392;c>60&&t.NumberFmt[c]!=null;--c);t.NumberFmt[c]=s}ut(s,c)}}break;case\\\"</numFmt>\\\":break;default:if(r.WTF)throw new Error(\\\"unrecognized \\\"+f[0]+\\\" in numFmts\\\")}}}var Ca=[\\\"numFmtId\\\",\\\"fillId\\\",\\\"fontId\\\",\\\"borderId\\\",\\\"xfId\\\"],Ra=[\\\"applyAlignment\\\",\\\"applyBorder\\\",\\\"applyFill\\\",\\\"applyFont\\\",\\\"applyNumberFormat\\\",\\\"applyProtection\\\",\\\"pivotButton\\\",\\\"quotePrefix\\\"];function $h(e,t,r){t.CellXf=[];var n,a=!1;(e[0].match(pr)||[]).forEach(function(i){var f=me(i),s=0;switch(Xr(f[0])){case\\\"<cellXfs\\\":case\\\"<cellXfs>\\\":case\\\"<cellXfs/>\\\":case\\\"</cellXfs>\\\":break;case\\\"<xf\\\":case\\\"<xf/>\\\":for(n=f,delete n[0],s=0;s<Ca.length;++s)n[Ca[s]]&&(n[Ca[s]]=parseInt(n[Ca[s]],10));for(s=0;s<Ra.length;++s)n[Ra[s]]&&(n[Ra[s]]=Ue(n[Ra[s]]));if(t.NumberFmt&&n.numFmtId>392){for(s=392;s>60;--s)if(t.NumberFmt[n.numFmtId]==t.NumberFmt[s]){n.numFmtId=s;break}}t.CellXf.push(n);break;case\\\"</xf>\\\":break;case\\\"<alignment\\\":case\\\"<alignment/>\\\":var c={};f.vertical&&(c.vertical=f.vertical),f.horizontal&&(c.horizontal=f.horizontal),f.textRotation!=null&&(c.textRotation=f.textRotation),f.indent&&(c.indent=f.indent),f.wrapText&&(c.wrapText=Ue(f.wrapText)),n.alignment=c;break;case\\\"</alignment>\\\":break;case\\\"<protection\\\":break;case\\\"</protection>\\\":case\\\"<protection/>\\\":break;case\\\"<AlternateContent\\\":a=!0;break;case\\\"</AlternateContent>\\\":a=!1;break;case\\\"<extLst\\\":case\\\"<extLst>\\\":case\\\"</extLst>\\\":break;case\\\"<ext\\\":a=!0;break;case\\\"</ext>\\\":a=!1;break;default:if(r&&r.WTF&&!a)throw new Error(\\\"unrecognized \\\"+f[0]+\\\" in cellXfs\\\")}})}var Yh=(function(){var t=/<(?:\\\\w+:)?numFmts([^>]*)>[\\\\S\\\\s]*?<\\\\/(?:\\\\w+:)?numFmts>/,r=/<(?:\\\\w+:)?cellXfs([^>]*)>[\\\\S\\\\s]*?<\\\\/(?:\\\\w+:)?cellXfs>/,n=/<(?:\\\\w+:)?fills([^>]*)>[\\\\S\\\\s]*?<\\\\/(?:\\\\w+:)?fills>/,a=/<(?:\\\\w+:)?fonts([^>]*)>[\\\\S\\\\s]*?<\\\\/(?:\\\\w+:)?fonts>/,i=/<(?:\\\\w+:)?borders([^>]*)>[\\\\S\\\\s]*?<\\\\/(?:\\\\w+:)?borders>/;return function(s,c,l){var o={};if(!s)return o;s=s.replace(/<!--([\\\\s\\\\S]*?)-->/mg,\\\"\\\").replace(/<!DOCTYPE[^\\\\[]*\\\\[[^\\\\]]*\\\\]>/gm,\\\"\\\");var h;return(h=s.match(t))&&Kh(h,o,l),(h=s.match(a))&&jh(h,o,c,l),(h=s.match(n))&&zh(h,o,c,l),(h=s.match(i))&&Gh(h,o,c,l),(h=s.match(r))&&$h(h,o,l),o}})();function Jh(e,t){var r=e.read_shift(2),n=xr(e,t-2);return[r,n]}function qh(e,t,r){var n={};n.sz=e.read_shift(2)/20;var a=so(e,2,r);a.fItalic&&(n.italic=1),a.fCondense&&(n.condense=1),a.fExtend&&(n.extend=1),a.fShadow&&(n.shadow=1),a.fOutline&&(n.outline=1),a.fStrikeout&&(n.strike=1);var i=e.read_shift(2);switch(i===700&&(n.bold=1),e.read_shift(2)){case 1:n.vertAlign=\\\"superscript\\\";break;case 2:n.vertAlign=\\\"subscript\\\";break}var f=e.read_shift(1);f!=0&&(n.underline=f);var s=e.read_shift(1);s>0&&(n.family=s);var c=e.read_shift(1);switch(c>0&&(n.charset=c),e.l++,n.color=io(e,8),e.read_shift(1)){case 1:n.scheme=\\\"major\\\";break;case 2:n.scheme=\\\"minor\\\";break}return n.name=xr(e,t-21),n}var Zh=dr;function Qh(e,t){var r=e.l+t,n=e.read_shift(2),a=e.read_shift(2);return e.l=r,{ixfe:n,numFmtId:a}}var eu=dr;function ru(e,t,r){var n={};n.NumberFmt=[];for(var a in Se)n.NumberFmt[a]=Se[a];n.CellXf=[],n.Fonts=[];var i=[],f=!1;return Zr(e,function(c,l,o){switch(o){case 44:n.NumberFmt[c[0]]=c[1],ut(c[1],c[0]);break;case 43:n.Fonts.push(c),c.color.theme!=null&&t&&t.themeElements&&t.themeElements.clrScheme&&(c.color.rgb=Ma(t.themeElements.clrScheme[c.color.theme].rgb,c.color.tint||0));break;case 1025:break;case 45:break;case 46:break;case 47:i[i.length-1]==617&&n.CellXf.push(c);break;case 48:case 507:case 572:case 475:break;case 1171:case 2102:case 1130:case 512:case 2095:case 3072:break;case 35:f=!0;break;case 36:f=!1;break;case 37:i.push(o),f=!0;break;case 38:i.pop(),f=!1;break;default:if(l.T>0)i.push(o);else if(l.T<0)i.pop();else if(!f||r.WTF&&i[i.length-1]!=37)throw new Error(\\\"Unexpected record 0x\\\"+o.toString(16))}}),n}var tu=[\\\"</a:lt1>\\\",\\\"</a:dk1>\\\",\\\"</a:lt2>\\\",\\\"</a:dk2>\\\",\\\"</a:accent1>\\\",\\\"</a:accent2>\\\",\\\"</a:accent3>\\\",\\\"</a:accent4>\\\",\\\"</a:accent5>\\\",\\\"</a:accent6>\\\",\\\"</a:hlink>\\\",\\\"</a:folHlink>\\\"];function au(e,t,r){t.themeElements.clrScheme=[];var n={};(e[0].match(pr)||[]).forEach(function(a){var i=me(a);switch(i[0]){case\\\"<a:clrScheme\\\":case\\\"</a:clrScheme>\\\":break;case\\\"<a:srgbClr\\\":n.rgb=i.val;break;case\\\"<a:sysClr\\\":n.rgb=i.lastClr;break;case\\\"<a:dk1>\\\":case\\\"</a:dk1>\\\":case\\\"<a:lt1>\\\":case\\\"</a:lt1>\\\":case\\\"<a:dk2>\\\":case\\\"</a:dk2>\\\":case\\\"<a:lt2>\\\":case\\\"</a:lt2>\\\":case\\\"<a:accent1>\\\":case\\\"</a:accent1>\\\":case\\\"<a:accent2>\\\":case\\\"</a:accent2>\\\":case\\\"<a:accent3>\\\":case\\\"</a:accent3>\\\":case\\\"<a:accent4>\\\":case\\\"</a:accent4>\\\":case\\\"<a:accent5>\\\":case\\\"</a:accent5>\\\":case\\\"<a:accent6>\\\":case\\\"</a:accent6>\\\":case\\\"<a:hlink>\\\":case\\\"</a:hlink>\\\":case\\\"<a:folHlink>\\\":case\\\"</a:folHlink>\\\":i[0].charAt(1)===\\\"/\\\"?(t.themeElements.clrScheme[tu.indexOf(i[0])]=n,n={}):n.name=i[0].slice(3,i[0].length-1);break;default:if(r&&r.WTF)throw new Error(\\\"Unrecognized \\\"+i[0]+\\\" in clrScheme\\\")}})}function nu(){}function iu(){}var su=/<a:clrScheme([^>]*)>[\\\\s\\\\S]*<\\\\/a:clrScheme>/,fu=/<a:fontScheme([^>]*)>[\\\\s\\\\S]*<\\\\/a:fontScheme>/,cu=/<a:fmtScheme([^>]*)>[\\\\s\\\\S]*<\\\\/a:fmtScheme>/;function ou(e,t,r){t.themeElements={};var n;[[\\\"clrScheme\\\",su,au],[\\\"fontScheme\\\",fu,nu],[\\\"fmtScheme\\\",cu,iu]].forEach(function(a){if(!(n=e.match(a[1])))throw new Error(a[0]+\\\" not found in themeElements\\\");a[2](n,t,r)})}var lu=/<a:themeElements([^>]*)>[\\\\s\\\\S]*<\\\\/a:themeElements>/;function As(e,t){(!e||e.length===0)&&(e=hu());var r,n={};if(!(r=e.match(lu)))throw new Error(\\\"themeElements not found in theme\\\");return ou(r[0],n,t),n.raw=e,n}function hu(e,t){if(t&&t.themeXLSX)return t.themeXLSX;if(e&&typeof e.raw==\\\"string\\\")return e.raw;var r=[Xi];return r[r.length]='<a:theme xmlns:a=\\\"http://schemas.openxmlformats.org/drawingml/2006/main\\\" name=\\\"Office Theme\\\">',r[r.length]=\\\"<a:themeElements>\\\",r[r.length]='<a:clrScheme name=\\\"Office\\\">',r[r.length]='<a:dk1><a:sysClr val=\\\"windowText\\\" lastClr=\\\"000000\\\"/></a:dk1>',r[r.length]='<a:lt1><a:sysClr val=\\\"window\\\" lastClr=\\\"FFFFFF\\\"/></a:lt1>',r[r.length]='<a:dk2><a:srgbClr val=\\\"1F497D\\\"/></a:dk2>',r[r.length]='<a:lt2><a:srgbClr val=\\\"EEECE1\\\"/></a:lt2>',r[r.length]='<a:accent1><a:srgbClr val=\\\"4F81BD\\\"/></a:accent1>',r[r.length]='<a:accent2><a:srgbClr val=\\\"C0504D\\\"/></a:accent2>',r[r.length]='<a:accent3><a:srgbClr val=\\\"9BBB59\\\"/></a:accent3>',r[r.length]='<a:accent4><a:srgbClr val=\\\"8064A2\\\"/></a:accent4>',r[r.length]='<a:accent5><a:srgbClr val=\\\"4BACC6\\\"/></a:accent5>',r[r.length]='<a:accent6><a:srgbClr val=\\\"F79646\\\"/></a:accent6>',r[r.length]='<a:hlink><a:srgbClr val=\\\"0000FF\\\"/></a:hlink>',r[r.length]='<a:folHlink><a:srgbClr val=\\\"800080\\\"/></a:folHlink>',r[r.length]=\\\"</a:clrScheme>\\\",r[r.length]='<a:fontScheme name=\\\"Office\\\">',r[r.length]=\\\"<a:majorFont>\\\",r[r.length]='<a:latin typeface=\\\"Cambria\\\"/>',r[r.length]='<a:ea typeface=\\\"\\\"/>',r[r.length]='<a:cs typeface=\\\"\\\"/>',r[r.length]='<a:font script=\\\"Jpan\\\" typeface=\\\"\\\\uFF2D\\\\uFF33 \\\\uFF30\\\\u30B4\\\\u30B7\\\\u30C3\\\\u30AF\\\"/>',r[r.length]='<a:font script=\\\"Hang\\\" typeface=\\\"\\\\uB9D1\\\\uC740 \\\\uACE0\\\\uB515\\\"/>',r[r.length]='<a:font script=\\\"Hans\\\" typeface=\\\"\\\\u5B8B\\\\u4F53\\\"/>',r[r.length]='<a:font script=\\\"Hant\\\" typeface=\\\"\\\\u65B0\\\\u7D30\\\\u660E\\\\u9AD4\\\"/>',r[r.length]='<a:font script=\\\"Arab\\\" typeface=\\\"Times New Roman\\\"/>',r[r.length]='<a:font script=\\\"Hebr\\\" typeface=\\\"Times New Roman\\\"/>',r[r.length]='<a:font script=\\\"Thai\\\" typeface=\\\"Tahoma\\\"/>',r[r.length]='<a:font script=\\\"Ethi\\\" typeface=\\\"Nyala\\\"/>',r[r.length]='<a:font script=\\\"Beng\\\" typeface=\\\"Vrinda\\\"/>',r[r.length]='<a:font script=\\\"Gujr\\\" typeface=\\\"Shruti\\\"/>',r[r.length]='<a:font script=\\\"Khmr\\\" typeface=\\\"MoolBoran\\\"/>',r[r.length]='<a:font script=\\\"Knda\\\" typeface=\\\"Tunga\\\"/>',r[r.length]='<a:font script=\\\"Guru\\\" typeface=\\\"Raavi\\\"/>',r[r.length]='<a:font script=\\\"Cans\\\" typeface=\\\"Euphemia\\\"/>',r[r.length]='<a:font script=\\\"Cher\\\" typeface=\\\"Plantagenet Cherokee\\\"/>',r[r.length]='<a:font script=\\\"Yiii\\\" typeface=\\\"Microsoft Yi Baiti\\\"/>',r[r.length]='<a:font script=\\\"Tibt\\\" typeface=\\\"Microsoft Himalaya\\\"/>',r[r.length]='<a:font script=\\\"Thaa\\\" typeface=\\\"MV Boli\\\"/>',r[r.length]='<a:font script=\\\"Deva\\\" typeface=\\\"Mangal\\\"/>',r[r.length]='<a:font script=\\\"Telu\\\" typeface=\\\"Gautami\\\"/>',r[r.length]='<a:font script=\\\"Taml\\\" typeface=\\\"Latha\\\"/>',r[r.length]='<a:font script=\\\"Syrc\\\" typeface=\\\"Estrangelo Edessa\\\"/>',r[r.length]='<a:font script=\\\"Orya\\\" typeface=\\\"Kalinga\\\"/>',r[r.length]='<a:font script=\\\"Mlym\\\" typeface=\\\"Kartika\\\"/>',r[r.length]='<a:font script=\\\"Laoo\\\" typeface=\\\"DokChampa\\\"/>',r[r.length]='<a:font script=\\\"Sinh\\\" typeface=\\\"Iskoola Pota\\\"/>',r[r.length]='<a:font script=\\\"Mong\\\" typeface=\\\"Mongolian Baiti\\\"/>',r[r.length]='<a:font script=\\\"Viet\\\" typeface=\\\"Times New Roman\\\"/>',r[r.length]='<a:font script=\\\"Uigh\\\" typeface=\\\"Microsoft Uighur\\\"/>',r[r.length]='<a:font script=\\\"Geor\\\" typeface=\\\"Sylfaen\\\"/>',r[r.length]=\\\"</a:majorFont>\\\",r[r.length]=\\\"<a:minorFont>\\\",r[r.length]='<a:latin typeface=\\\"Calibri\\\"/>',r[r.length]='<a:ea typeface=\\\"\\\"/>',r[r.length]='<a:cs typeface=\\\"\\\"/>',r[r.length]='<a:font script=\\\"Jpan\\\" typeface=\\\"\\\\uFF2D\\\\uFF33 \\\\uFF30\\\\u30B4\\\\u30B7\\\\u30C3\\\\u30AF\\\"/>',r[r.length]='<a:font script=\\\"Hang\\\" typeface=\\\"\\\\uB9D1\\\\uC740 \\\\uACE0\\\\uB515\\\"/>',r[r.length]='<a:font script=\\\"Hans\\\" typeface=\\\"\\\\u5B8B\\\\u4F53\\\"/>',r[r.length]='<a:font script=\\\"Hant\\\" typeface=\\\"\\\\u65B0\\\\u7D30\\\\u660E\\\\u9AD4\\\"/>',r[r.length]='<a:font script=\\\"Arab\\\" typeface=\\\"Arial\\\"/>',r[r.length]='<a:font script=\\\"Hebr\\\" typeface=\\\"Arial\\\"/>',r[r.length]='<a:font script=\\\"Thai\\\" typeface=\\\"Tahoma\\\"/>',r[r.length]='<a:font script=\\\"Ethi\\\" typeface=\\\"Nyala\\\"/>',r[r.length]='<a:font script=\\\"Beng\\\" typeface=\\\"Vrinda\\\"/>',r[r.length]='<a:font script=\\\"Gujr\\\" typeface=\\\"Shruti\\\"/>',r[r.length]='<a:font script=\\\"Khmr\\\" typeface=\\\"DaunPenh\\\"/>',r[r.length]='<a:font script=\\\"Knda\\\" typeface=\\\"Tunga\\\"/>',r[r.length]='<a:font script=\\\"Guru\\\" typeface=\\\"Raavi\\\"/>',r[r.length]='<a:font script=\\\"Cans\\\" typeface=\\\"Euphemia\\\"/>',r[r.length]='<a:font script=\\\"Cher\\\" typeface=\\\"Plantagenet Cherokee\\\"/>',r[r.length]='<a:font script=\\\"Yiii\\\" typeface=\\\"Microsoft Yi Baiti\\\"/>',r[r.length]='<a:font script=\\\"Tibt\\\" typeface=\\\"Microsoft Himalaya\\\"/>',r[r.length]='<a:font script=\\\"Thaa\\\" typeface=\\\"MV Boli\\\"/>',r[r.length]='<a:font script=\\\"Deva\\\" typeface=\\\"Mangal\\\"/>',r[r.length]='<a:font script=\\\"Telu\\\" typeface=\\\"Gautami\\\"/>',r[r.length]='<a:font script=\\\"Taml\\\" typeface=\\\"Latha\\\"/>',r[r.length]='<a:font script=\\\"Syrc\\\" typeface=\\\"Estrangelo Edessa\\\"/>',r[r.length]='<a:font script=\\\"Orya\\\" typeface=\\\"Kalinga\\\"/>',r[r.length]='<a:font script=\\\"Mlym\\\" typeface=\\\"Kartika\\\"/>',r[r.length]='<a:font script=\\\"Laoo\\\" typeface=\\\"DokChampa\\\"/>',r[r.length]='<a:font script=\\\"Sinh\\\" typeface=\\\"Iskoola Pota\\\"/>',r[r.length]='<a:font script=\\\"Mong\\\" typeface=\\\"Mongolian Baiti\\\"/>',r[r.length]='<a:font script=\\\"Viet\\\" typeface=\\\"Arial\\\"/>',r[r.length]='<a:font script=\\\"Uigh\\\" typeface=\\\"Microsoft Uighur\\\"/>',r[r.length]='<a:font script=\\\"Geor\\\" typeface=\\\"Sylfaen\\\"/>',r[r.length]=\\\"</a:minorFont>\\\",r[r.length]=\\\"</a:fontScheme>\\\",r[r.length]='<a:fmtScheme name=\\\"Office\\\">',r[r.length]=\\\"<a:fillStyleLst>\\\",r[r.length]='<a:solidFill><a:schemeClr val=\\\"phClr\\\"/></a:solidFill>',r[r.length]='<a:gradFill rotWithShape=\\\"1\\\">',r[r.length]=\\\"<a:gsLst>\\\",r[r.length]='<a:gs pos=\\\"0\\\"><a:schemeClr val=\\\"phClr\\\"><a:tint val=\\\"50000\\\"/><a:satMod val=\\\"300000\\\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\\\"35000\\\"><a:schemeClr val=\\\"phClr\\\"><a:tint val=\\\"37000\\\"/><a:satMod val=\\\"300000\\\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\\\"100000\\\"><a:schemeClr val=\\\"phClr\\\"><a:tint val=\\\"15000\\\"/><a:satMod val=\\\"350000\\\"/></a:schemeClr></a:gs>',r[r.length]=\\\"</a:gsLst>\\\",r[r.length]='<a:lin ang=\\\"16200000\\\" scaled=\\\"1\\\"/>',r[r.length]=\\\"</a:gradFill>\\\",r[r.length]='<a:gradFill rotWithShape=\\\"1\\\">',r[r.length]=\\\"<a:gsLst>\\\",r[r.length]='<a:gs pos=\\\"0\\\"><a:schemeClr val=\\\"phClr\\\"><a:tint val=\\\"100000\\\"/><a:shade val=\\\"100000\\\"/><a:satMod val=\\\"130000\\\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\\\"100000\\\"><a:schemeClr val=\\\"phClr\\\"><a:tint val=\\\"50000\\\"/><a:shade val=\\\"100000\\\"/><a:satMod val=\\\"350000\\\"/></a:schemeClr></a:gs>',r[r.length]=\\\"</a:gsLst>\\\",r[r.length]='<a:lin ang=\\\"16200000\\\" scaled=\\\"0\\\"/>',r[r.length]=\\\"</a:gradFill>\\\",r[r.length]=\\\"</a:fillStyleLst>\\\",r[r.length]=\\\"<a:lnStyleLst>\\\",r[r.length]='<a:ln w=\\\"9525\\\" cap=\\\"flat\\\" cmpd=\\\"sng\\\" algn=\\\"ctr\\\"><a:solidFill><a:schemeClr val=\\\"phClr\\\"><a:shade val=\\\"95000\\\"/><a:satMod val=\\\"105000\\\"/></a:schemeClr></a:solidFill><a:prstDash val=\\\"solid\\\"/></a:ln>',r[r.length]='<a:ln w=\\\"25400\\\" cap=\\\"flat\\\" cmpd=\\\"sng\\\" algn=\\\"ctr\\\"><a:solidFill><a:schemeClr val=\\\"phClr\\\"/></a:solidFill><a:prstDash val=\\\"solid\\\"/></a:ln>',r[r.length]='<a:ln w=\\\"38100\\\" cap=\\\"flat\\\" cmpd=\\\"sng\\\" algn=\\\"ctr\\\"><a:solidFill><a:schemeClr val=\\\"phClr\\\"/></a:solidFill><a:prstDash val=\\\"solid\\\"/></a:ln>',r[r.length]=\\\"</a:lnStyleLst>\\\",r[r.length]=\\\"<a:effectStyleLst>\\\",r[r.length]=\\\"<a:effectStyle>\\\",r[r.length]=\\\"<a:effectLst>\\\",r[r.length]='<a:outerShdw blurRad=\\\"40000\\\" dist=\\\"20000\\\" dir=\\\"5400000\\\" rotWithShape=\\\"0\\\"><a:srgbClr val=\\\"000000\\\"><a:alpha val=\\\"38000\\\"/></a:srgbClr></a:outerShdw>',r[r.length]=\\\"</a:effectLst>\\\",r[r.length]=\\\"</a:effectStyle>\\\",r[r.length]=\\\"<a:effectStyle>\\\",r[r.length]=\\\"<a:effectLst>\\\",r[r.length]='<a:outerShdw blurRad=\\\"40000\\\" dist=\\\"23000\\\" dir=\\\"5400000\\\" rotWithShape=\\\"0\\\"><a:srgbClr val=\\\"000000\\\"><a:alpha val=\\\"35000\\\"/></a:srgbClr></a:outerShdw>',r[r.length]=\\\"</a:effectLst>\\\",r[r.length]=\\\"</a:effectStyle>\\\",r[r.length]=\\\"<a:effectStyle>\\\",r[r.length]=\\\"<a:effectLst>\\\",r[r.length]='<a:outerShdw blurRad=\\\"40000\\\" dist=\\\"23000\\\" dir=\\\"5400000\\\" rotWithShape=\\\"0\\\"><a:srgbClr val=\\\"000000\\\"><a:alpha val=\\\"35000\\\"/></a:srgbClr></a:outerShdw>',r[r.length]=\\\"</a:effectLst>\\\",r[r.length]='<a:scene3d><a:camera prst=\\\"orthographicFront\\\"><a:rot lat=\\\"0\\\" lon=\\\"0\\\" rev=\\\"0\\\"/></a:camera><a:lightRig rig=\\\"threePt\\\" dir=\\\"t\\\"><a:rot lat=\\\"0\\\" lon=\\\"0\\\" rev=\\\"1200000\\\"/></a:lightRig></a:scene3d>',r[r.length]='<a:sp3d><a:bevelT w=\\\"63500\\\" h=\\\"25400\\\"/></a:sp3d>',r[r.length]=\\\"</a:effectStyle>\\\",r[r.length]=\\\"</a:effectStyleLst>\\\",r[r.length]=\\\"<a:bgFillStyleLst>\\\",r[r.length]='<a:solidFill><a:schemeClr val=\\\"phClr\\\"/></a:solidFill>',r[r.length]='<a:gradFill rotWithShape=\\\"1\\\">',r[r.length]=\\\"<a:gsLst>\\\",r[r.length]='<a:gs pos=\\\"0\\\"><a:schemeClr val=\\\"phClr\\\"><a:tint val=\\\"40000\\\"/><a:satMod val=\\\"350000\\\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\\\"40000\\\"><a:schemeClr val=\\\"phClr\\\"><a:tint val=\\\"45000\\\"/><a:shade val=\\\"99000\\\"/><a:satMod val=\\\"350000\\\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\\\"100000\\\"><a:schemeClr val=\\\"phClr\\\"><a:shade val=\\\"20000\\\"/><a:satMod val=\\\"255000\\\"/></a:schemeClr></a:gs>',r[r.length]=\\\"</a:gsLst>\\\",r[r.length]='<a:path path=\\\"circle\\\"><a:fillToRect l=\\\"50000\\\" t=\\\"-80000\\\" r=\\\"50000\\\" b=\\\"180000\\\"/></a:path>',r[r.length]=\\\"</a:gradFill>\\\",r[r.length]='<a:gradFill rotWithShape=\\\"1\\\">',r[r.length]=\\\"<a:gsLst>\\\",r[r.length]='<a:gs pos=\\\"0\\\"><a:schemeClr val=\\\"phClr\\\"><a:tint val=\\\"80000\\\"/><a:satMod val=\\\"300000\\\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\\\"100000\\\"><a:schemeClr val=\\\"phClr\\\"><a:shade val=\\\"30000\\\"/><a:satMod val=\\\"200000\\\"/></a:schemeClr></a:gs>',r[r.length]=\\\"</a:gsLst>\\\",r[r.length]='<a:path path=\\\"circle\\\"><a:fillToRect l=\\\"50000\\\" t=\\\"50000\\\" r=\\\"50000\\\" b=\\\"50000\\\"/></a:path>',r[r.length]=\\\"</a:gradFill>\\\",r[r.length]=\\\"</a:bgFillStyleLst>\\\",r[r.length]=\\\"</a:fmtScheme>\\\",r[r.length]=\\\"</a:themeElements>\\\",r[r.length]=\\\"<a:objectDefaults>\\\",r[r.length]=\\\"<a:spDef>\\\",r[r.length]='<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\\\"1\\\"><a:schemeClr val=\\\"accent1\\\"/></a:lnRef><a:fillRef idx=\\\"3\\\"><a:schemeClr val=\\\"accent1\\\"/></a:fillRef><a:effectRef idx=\\\"2\\\"><a:schemeClr val=\\\"accent1\\\"/></a:effectRef><a:fontRef idx=\\\"minor\\\"><a:schemeClr val=\\\"lt1\\\"/></a:fontRef></a:style>',r[r.length]=\\\"</a:spDef>\\\",r[r.length]=\\\"<a:lnDef>\\\",r[r.length]='<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\\\"2\\\"><a:schemeClr val=\\\"accent1\\\"/></a:lnRef><a:fillRef idx=\\\"0\\\"><a:schemeClr val=\\\"accent1\\\"/></a:fillRef><a:effectRef idx=\\\"1\\\"><a:schemeClr val=\\\"accent1\\\"/></a:effectRef><a:fontRef idx=\\\"minor\\\"><a:schemeClr val=\\\"tx1\\\"/></a:fontRef></a:style>',r[r.length]=\\\"</a:lnDef>\\\",r[r.length]=\\\"</a:objectDefaults>\\\",r[r.length]=\\\"<a:extraClrSchemeLst/>\\\",r[r.length]=\\\"</a:theme>\\\",r.join(\\\"\\\")}function uu(e,t,r){var n=e.l+t,a=e.read_shift(4);if(a!==124226){if(!r.cellStyles){e.l=n;return}var i=e.slice(e.l);e.l=n;var f;try{f=Vi(i,{type:\\\"array\\\"})}catch{return}var s=Fr(f,\\\"theme/theme/theme1.xml\\\",!0);if(s)return As(s,r)}}function xu(e){return e.read_shift(4)}function du(e){var t={};switch(t.xclrType=e.read_shift(2),t.nTintShade=e.read_shift(2),t.xclrType){case 0:e.l+=4;break;case 1:t.xclrValue=pu(e,4);break;case 2:t.xclrValue=xs(e,4);break;case 3:t.xclrValue=xu(e,4);break;case 4:e.l+=4;break}return e.l+=8,t}function pu(e,t){return dr(e,t)}function vu(e,t){return dr(e,t)}function mu(e){var t=e.read_shift(2),r=e.read_shift(2)-4,n=[t];switch(t){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:n[1]=du(e,r);break;case 6:n[1]=vu(e,r);break;case 14:case 15:n[1]=e.read_shift(r===1?1:2);break;default:throw new Error(\\\"Unrecognized ExtProp type: \\\"+t+\\\" \\\"+r)}return n}function gu(e,t){var r=e.l+t;e.l+=2;var n=e.read_shift(2);e.l+=2;for(var a=e.read_shift(2),i=[];a-- >0;)i.push(mu(e,r-e.l));return{ixfe:n,ext:i}}function _u(e,t){t.forEach(function(r){switch(r[0]){case 4:break;case 5:break;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break}})}function wu(e,t){return{flags:e.read_shift(4),version:e.read_shift(4),name:xr(e,t-8)}}function ku(e){for(var t=[],r=e.read_shift(4);r-- >0;)t.push([e.read_shift(4),e.read_shift(4)]);return t}function Eu(e){return e.l+=4,e.read_shift(4)!=0}function Tu(e,t,r){var n={Types:[],Cell:[],Value:[]},a=r||{},i=[],f=!1,s=2;return Zr(e,function(c,l,o){switch(o){case 335:n.Types.push({name:c.name});break;case 51:c.forEach(function(h){s==1?n.Cell.push({type:n.Types[h[0]-1].name,index:h[1]}):s==0&&n.Value.push({type:n.Types[h[0]-1].name,index:h[1]})});break;case 337:s=c?1:0;break;case 338:s=2;break;case 35:i.push(o),f=!0;break;case 36:i.pop(),f=!1;break;default:if(!l.T){if(!f||a.WTF&&i[i.length-1]!=35)throw new Error(\\\"Unexpected record 0x\\\"+o.toString(16))}}}),n}function Su(e,t,r){var n={Types:[],Cell:[],Value:[]};if(!e)return n;var a=!1,i=2,f;return e.replace(pr,function(s){var c=me(s);switch(Xr(c[0])){case\\\"<?xml\\\":break;case\\\"<metadata\\\":case\\\"</metadata>\\\":break;case\\\"<metadataTypes\\\":case\\\"</metadataTypes>\\\":break;case\\\"<metadataType\\\":n.Types.push({name:c.name});break;case\\\"</metadataType>\\\":break;case\\\"<futureMetadata\\\":for(var l=0;l<n.Types.length;++l)n.Types[l].name==c.name&&(f=n.Types[l]);break;case\\\"</futureMetadata>\\\":break;case\\\"<bk>\\\":break;case\\\"</bk>\\\":break;case\\\"<rc\\\":i==1?n.Cell.push({type:n.Types[c.t-1].name,index:+c.v}):i==0&&n.Value.push({type:n.Types[c.t-1].name,index:+c.v});break;case\\\"</rc>\\\":break;case\\\"<cellMetadata\\\":i=1;break;case\\\"</cellMetadata>\\\":i=2;break;case\\\"<valueMetadata\\\":i=0;break;case\\\"</valueMetadata>\\\":i=2;break;case\\\"<extLst\\\":case\\\"<extLst>\\\":case\\\"</extLst>\\\":case\\\"<extLst/>\\\":break;case\\\"<ext\\\":a=!0;break;case\\\"</ext>\\\":a=!1;break;case\\\"<rvb\\\":if(!f)break;f.offsets||(f.offsets=[]),f.offsets.push(+c.i);break;default:if(!a&&r.WTF)throw new Error(\\\"unrecognized \\\"+c[0]+\\\" in metadata\\\")}return s}),n}function Fu(e){var t=[];if(!e)return t;var r=1;return(e.match(pr)||[]).forEach(function(n){var a=me(n);switch(a[0]){case\\\"<?xml\\\":break;case\\\"<calcChain\\\":case\\\"<calcChain>\\\":case\\\"</calcChain>\\\":break;case\\\"<c\\\":delete a[0],a.i?r=a.i:a.i=r,t.push(a);break}}),t}function yu(e){var t={};t.i=e.read_shift(4);var r={};r.r=e.read_shift(4),r.c=e.read_shift(4),t.r=Te(r);var n=e.read_shift(1);return n&2&&(t.l=\\\"1\\\"),n&8&&(t.a=\\\"1\\\"),t}function Au(e,t,r){var n=[],a=!1;return Zr(e,function(f,s,c){switch(c){case 63:n.push(f);break;default:if(!s.T){if(!a||r.WTF)throw new Error(\\\"Unexpected record 0x\\\"+c.toString(16))}}}),n}function Cu(e,t,r,n){if(!e)return e;var a=n||{},i=!1,f=!1;Zr(e,function(c,l,o){if(!f)switch(o){case 359:case 363:case 364:case 366:case 367:case 368:case 369:case 370:case 371:case 472:case 577:case 578:case 579:case 580:case 581:case 582:case 583:case 584:case 585:case 586:case 587:break;case 35:i=!0;break;case 36:i=!1;break;default:if(!l.T){if(!i||a.WTF)throw new Error(\\\"Unexpected record 0x\\\"+o.toString(16))}}},a)}function Ru(e,t){if(!e)return\\\"??\\\";var r=(e.match(/<c:chart [^>]*r:id=\\\"([^\\\"]*)\\\"/)||[\\\"\\\",\\\"\\\"])[1];return t[\\\"!id\\\"][r].Target}function ii(e,t,r,n){var a=Array.isArray(e),i;t.forEach(function(f){var s=gr(f.ref);if(a?(e[s.r]||(e[s.r]=[]),i=e[s.r][s.c]):i=e[f.ref],!i){i={t:\\\"z\\\"},a?e[s.r][s.c]=i:e[f.ref]=i;var c=Xe(e[\\\"!ref\\\"]||\\\"BDWGO1000001:A1\\\");c.s.r>s.r&&(c.s.r=s.r),c.e.r<s.r&&(c.e.r=s.r),c.s.c>s.c&&(c.s.c=s.c),c.e.c<s.c&&(c.e.c=s.c);var l=De(c);l!==e[\\\"!ref\\\"]&&(e[\\\"!ref\\\"]=l)}i.c||(i.c=[]);var o={a:f.author,t:f.t,r:f.r,T:r};f.h&&(o.h=f.h);for(var h=i.c.length-1;h>=0;--h){if(!r&&i.c[h].T)return;r&&!i.c[h].T&&i.c.splice(h,1)}if(r&&n){for(h=0;h<n.length;++h)if(o.a==n[h].id){o.a=n[h].name||o.a;break}}i.c.push(o)})}function Ou(e,t){if(e.match(/<(?:\\\\w+:)?comments *\\\\/>/))return[];var r=[],n=[],a=e.match(/<(?:\\\\w+:)?authors>([\\\\s\\\\S]*)<\\\\/(?:\\\\w+:)?authors>/);a&&a[1]&&a[1].split(/<\\\\/\\\\w*:?author>/).forEach(function(f){if(!(f===\\\"\\\"||f.trim()===\\\"\\\")){var s=f.match(/<(?:\\\\w+:)?author[^>]*>(.*)/);s&&r.push(s[1])}});var i=e.match(/<(?:\\\\w+:)?commentList>([\\\\s\\\\S]*)<\\\\/(?:\\\\w+:)?commentList>/);return i&&i[1]&&i[1].split(/<\\\\/\\\\w*:?comment>/).forEach(function(f){if(!(f===\\\"\\\"||f.trim()===\\\"\\\")){var s=f.match(/<(?:\\\\w+:)?comment[^>]*>/);if(s){var c=me(s[0]),l={author:c.authorId&&r[c.authorId]||\\\"sheetjsghost\\\",ref:c.ref,guid:c.guid},o=gr(c.ref);if(!(t.sheetRows&&t.sheetRows<=o.r)){var h=f.match(/<(?:\\\\w+:)?text>([\\\\s\\\\S]*)<\\\\/(?:\\\\w+:)?text>/),x=!!h&&!!h[1]&&Gn(h[1])||{r:\\\"\\\",t:\\\"\\\",h:\\\"\\\"};l.r=x.r,x.r==\\\"<t></t>\\\"&&(x.t=x.h=\\\"\\\"),l.t=(x.t||\\\"\\\").replace(/\\\\r\\\\n/g,`\\n`).replace(/\\\\r/g,`\\n`),t.cellHTML&&(l.h=x.h),n.push(l)}}}}),n}function Du(e,t){var r=[],n=!1,a={},i=0;return e.replace(pr,function(s,c){var l=me(s);switch(Xr(l[0])){case\\\"<?xml\\\":break;case\\\"<ThreadedComments\\\":break;case\\\"</ThreadedComments>\\\":break;case\\\"<threadedComment\\\":a={author:l.personId,guid:l.id,ref:l.ref,T:1};break;case\\\"</threadedComment>\\\":a.t!=null&&r.push(a);break;case\\\"<text>\\\":case\\\"<text\\\":i=c+s.length;break;case\\\"</text>\\\":a.t=e.slice(i,c).replace(/\\\\r\\\\n/g,`\\n`).replace(/\\\\r/g,`\\n`);break;case\\\"<mentions\\\":case\\\"<mentions>\\\":n=!0;break;case\\\"</mentions>\\\":n=!1;break;case\\\"<extLst\\\":case\\\"<extLst>\\\":case\\\"</extLst>\\\":case\\\"<extLst/>\\\":break;case\\\"<ext\\\":n=!0;break;case\\\"</ext>\\\":n=!1;break;default:if(!n&&t.WTF)throw new Error(\\\"unrecognized \\\"+l[0]+\\\" in threaded comments\\\")}return s}),r}function bu(e,t){var r=[],n=!1;return e.replace(pr,function(i){var f=me(i);switch(Xr(f[0])){case\\\"<?xml\\\":break;case\\\"<personList\\\":break;case\\\"</personList>\\\":break;case\\\"<person\\\":r.push({name:f.displayname,id:f.id});break;case\\\"</person>\\\":break;case\\\"<extLst\\\":case\\\"<extLst>\\\":case\\\"</extLst>\\\":case\\\"<extLst/>\\\":break;case\\\"<ext\\\":n=!0;break;case\\\"</ext>\\\":n=!1;break;default:if(!n&&t.WTF)throw new Error(\\\"unrecognized \\\"+f[0]+\\\" in threaded comments\\\")}return i}),r}function Iu(e){var t={};t.iauthor=e.read_shift(4);var r=wt(e,16);return t.rfx=r.s,t.ref=Te(r.s),e.l+=16,t}var Nu=xr;function Pu(e,t){var r=[],n=[],a={},i=!1;return Zr(e,function(s,c,l){switch(l){case 632:n.push(s);break;case 635:a=s;break;case 637:a.t=s.t,a.h=s.h,a.r=s.r;break;case 636:if(a.author=n[a.iauthor],delete a.iauthor,t.sheetRows&&a.rfx&&t.sheetRows<=a.rfx.r)break;a.t||(a.t=\\\"\\\"),delete a.rfx,r.push(a);break;case 3072:break;case 35:i=!0;break;case 36:i=!1;break;case 37:break;case 38:break;default:if(!c.T){if(!i||t.WTF)throw new Error(\\\"Unexpected record 0x\\\"+l.toString(16))}}}),r}var Lu=\\\"application/vnd.ms-office.vbaProject\\\";function Bu(e){var t=Oe.utils.cfb_new({root:\\\"R\\\"});return e.FullPaths.forEach(function(r,n){if(!(r.slice(-1)===\\\"/\\\"||!r.match(/_VBA_PROJECT_CUR/))){var a=r.replace(/^[^\\\\/]*/,\\\"R\\\").replace(/\\\\/_VBA_PROJECT_CUR\\\\u0000*/,\\\"\\\");Oe.utils.cfb_add(t,a,e.FileIndex[n].content)}}),Oe.write(t)}function Mu(){return{\\\"!type\\\":\\\"dialog\\\"}}function Uu(){return{\\\"!type\\\":\\\"dialog\\\"}}function Wu(){return{\\\"!type\\\":\\\"macro\\\"}}function Hu(){return{\\\"!type\\\":\\\"macro\\\"}}var At=(function(){var e=/(^|[^A-Za-z_])R(\\\\[?-?\\\\d+\\\\]|[1-9]\\\\d*|)C(\\\\[?-?\\\\d+\\\\]|[1-9]\\\\d*|)(?![A-Za-z0-9_])/g,t={r:0,c:0};function r(n,a,i,f){var s=!1,c=!1;i.length==0?c=!0:i.charAt(0)==\\\"[\\\"&&(c=!0,i=i.slice(1,-1)),f.length==0?s=!0:f.charAt(0)==\\\"[\\\"&&(s=!0,f=f.slice(1,-1));var l=i.length>0?parseInt(i,10)|0:0,o=f.length>0?parseInt(f,10)|0:0;return s?o+=t.c:--o,c?l+=t.r:--l,a+(s?\\\"\\\":\\\"$\\\")+Ze(o)+(c?\\\"\\\":\\\"$\\\")+sr(l)}return function(a,i){return t=i,a.replace(e,r)}})(),Cs=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\\\d{4}|104[0-7]\\\\d{3}|1048[0-4]\\\\d{2}|10485[0-6]\\\\d|104857[0-6]|[1-9]\\\\d{0,5})(?![_.\\\\(A-Za-z0-9])/g,Vu=(function(){return function(t,r){return t.replace(Cs,function(n,a,i,f,s,c){var l=Mn(f)-(i?0:r.c),o=Bn(c)-(s?0:r.r),h=o==0?\\\"\\\":s?o+1:\\\"[\\\"+o+\\\"]\\\",x=l==0?\\\"\\\":i?l+1:\\\"[\\\"+l+\\\"]\\\";return a+\\\"R\\\"+h+\\\"C\\\"+x})}})();function Rs(e,t){return e.replace(Cs,function(r,n,a,i,f,s){return n+(a==\\\"$\\\"?a+i:Ze(Mn(i)+t.c))+(f==\\\"$\\\"?f+s:sr(Bn(s)+t.r))})}function Xu(e,t,r){var n=Nt(t),a=n.s,i=gr(r),f={r:i.r-a.r,c:i.c-a.c};return Rs(e,f)}function Gu(e){return e.length!=1}function si(e){return e.replace(/_xlfn\\\\./g,\\\"\\\")}function Ke(e){e.l+=1}function st(e,t){var r=e.read_shift(t==1?1:2);return[r&16383,r>>14&1,r>>15&1]}function Os(e,t,r){var n=2;if(r){if(r.biff>=2&&r.biff<=5)return Ds(e,t,r);r.biff==12&&(n=4)}var a=e.read_shift(n),i=e.read_shift(n),f=st(e,2),s=st(e,2);return{s:{r:a,c:f[0],cRel:f[1],rRel:f[2]},e:{r:i,c:s[0],cRel:s[1],rRel:s[2]}}}function Ds(e){var t=st(e,2),r=st(e,2),n=e.read_shift(1),a=e.read_shift(1);return{s:{r:t[0],c:n,cRel:t[1],rRel:t[2]},e:{r:r[0],c:a,cRel:r[1],rRel:r[2]}}}function zu(e,t,r){if(r.biff<8)return Ds(e,t,r);var n=e.read_shift(r.biff==12?4:2),a=e.read_shift(r.biff==12?4:2),i=st(e,2),f=st(e,2);return{s:{r:n,c:i[0],cRel:i[1],rRel:i[2]},e:{r:a,c:f[0],cRel:f[1],rRel:f[2]}}}function bs(e,t,r){if(r&&r.biff>=2&&r.biff<=5)return ju(e,t,r);var n=e.read_shift(r&&r.biff==12?4:2),a=st(e,2);return{r:n,c:a[0],cRel:a[1],rRel:a[2]}}function ju(e){var t=st(e,2),r=e.read_shift(1);return{r:t[0],c:r,cRel:t[1],rRel:t[2]}}function Ku(e){var t=e.read_shift(2),r=e.read_shift(2);return{r:t,c:r&255,fQuoted:!!(r&16384),cRel:r>>15,rRel:r>>15}}function $u(e,t,r){var n=r&&r.biff?r.biff:8;if(n>=2&&n<=5)return Yu(e,t,r);var a=e.read_shift(n>=12?4:2),i=e.read_shift(2),f=(i&16384)>>14,s=(i&32768)>>15;if(i&=16383,s==1)for(;a>524287;)a-=1048576;if(f==1)for(;i>8191;)i=i-16384;return{r:a,c:i,cRel:f,rRel:s}}function Yu(e){var t=e.read_shift(2),r=e.read_shift(1),n=(t&32768)>>15,a=(t&16384)>>14;return t&=16383,n==1&&t>=8192&&(t=t-16384),a==1&&r>=128&&(r=r-256),{r:t,c:r,cRel:a,rRel:n}}function Ju(e,t,r){var n=(e[e.l++]&96)>>5,a=Os(e,r.biff>=2&&r.biff<=5?6:8,r);return[n,a]}function qu(e,t,r){var n=(e[e.l++]&96)>>5,a=e.read_shift(2,\\\"i\\\"),i=8;if(r)switch(r.biff){case 5:e.l+=12,i=6;break;case 12:i=12;break}var f=Os(e,i,r);return[n,a,f]}function Zu(e,t,r){var n=(e[e.l++]&96)>>5;return e.l+=r&&r.biff>8?12:r.biff<8?6:8,[n]}function Qu(e,t,r){var n=(e[e.l++]&96)>>5,a=e.read_shift(2),i=8;if(r)switch(r.biff){case 5:e.l+=12,i=6;break;case 12:i=12;break}return e.l+=i,[n,a]}function e1(e,t,r){var n=(e[e.l++]&96)>>5,a=zu(e,t-1,r);return[n,a]}function r1(e,t,r){var n=(e[e.l++]&96)>>5;return e.l+=r.biff==2?6:r.biff==12?14:7,[n]}function fi(e){var t=e[e.l+1]&1,r=1;return e.l+=4,[t,r]}function t1(e,t,r){e.l+=2;for(var n=e.read_shift(r&&r.biff==2?1:2),a=[],i=0;i<=n;++i)a.push(e.read_shift(r&&r.biff==2?1:2));return a}function a1(e,t,r){var n=e[e.l+1]&255?1:0;return e.l+=2,[n,e.read_shift(r&&r.biff==2?1:2)]}function n1(e,t,r){var n=e[e.l+1]&255?1:0;return e.l+=2,[n,e.read_shift(r&&r.biff==2?1:2)]}function i1(e){var t=e[e.l+1]&255?1:0;return e.l+=2,[t,e.read_shift(2)]}function s1(e,t,r){var n=e[e.l+1]&255?1:0;return e.l+=r&&r.biff==2?3:4,[n]}function Is(e){var t=e.read_shift(1),r=e.read_shift(1);return[t,r]}function f1(e){return e.read_shift(2),Is(e,2)}function c1(e){return e.read_shift(2),Is(e,2)}function o1(e,t,r){var n=(e[e.l]&96)>>5;e.l+=1;var a=bs(e,0,r);return[n,a]}function l1(e,t,r){var n=(e[e.l]&96)>>5;e.l+=1;var a=$u(e,0,r);return[n,a]}function h1(e,t,r){var n=(e[e.l]&96)>>5;e.l+=1;var a=e.read_shift(2);r&&r.biff==5&&(e.l+=12);var i=bs(e,0,r);return[n,a,i]}function u1(e,t,r){var n=(e[e.l]&96)>>5;e.l+=1;var a=e.read_shift(r&&r.biff<=3?1:2);return[xx[a],Ls[a],n]}function x1(e,t,r){var n=e[e.l++],a=e.read_shift(1),i=r&&r.biff<=3?[n==88?-1:0,e.read_shift(1)]:d1(e);return[a,(i[0]===0?Ls:ux)[i[1]]]}function d1(e){return[e[e.l+1]>>7,e.read_shift(2)&32767]}function p1(e,t,r){e.l+=r&&r.biff==2?3:4}function v1(e,t,r){if(e.l++,r&&r.biff==12)return[e.read_shift(4,\\\"i\\\"),0];var n=e.read_shift(2),a=e.read_shift(r&&r.biff==2?1:2);return[n,a]}function m1(e){return e.l++,kt[e.read_shift(1)]}function g1(e){return e.l++,e.read_shift(2)}function _1(e){return e.l++,e.read_shift(1)!==0}function w1(e){return e.l++,lr(e,8)}function k1(e,t,r){return e.l++,fa(e,t-1,r)}function E1(e,t){var r=[e.read_shift(1)];if(t==12)switch(r[0]){case 2:r[0]=4;break;case 4:r[0]=16;break;case 0:r[0]=1;break;case 1:r[0]=2;break}switch(r[0]){case 4:r[1]=ze(e,1)?\\\"TRUE\\\":\\\"FALSE\\\",t!=12&&(e.l+=7);break;case 37:case 16:r[1]=kt[e[e.l]],e.l+=t==12?4:8;break;case 0:e.l+=8;break;case 1:r[1]=lr(e,8);break;case 2:r[1]=Et(e,0,{biff:t>0&&t<8?2:t});break;default:throw new Error(\\\"Bad SerAr: \\\"+r[0])}return r}function T1(e,t,r){for(var n=e.read_shift(r.biff==12?4:2),a=[],i=0;i!=n;++i)a.push((r.biff==12?wt:za)(e,8));return a}function S1(e,t,r){var n=0,a=0;r.biff==12?(n=e.read_shift(4),a=e.read_shift(4)):(a=1+e.read_shift(1),n=1+e.read_shift(2)),r.biff>=2&&r.biff<8&&(--n,--a==0&&(a=256));for(var i=0,f=[];i!=n&&(f[i]=[]);++i)for(var s=0;s!=a;++s)f[i][s]=E1(e,r.biff);return f}function F1(e,t,r){var n=e.read_shift(1)>>>5&3,a=!r||r.biff>=8?4:2,i=e.read_shift(a);switch(r.biff){case 2:e.l+=5;break;case 3:case 4:e.l+=8;break;case 5:e.l+=12;break}return[n,0,i]}function y1(e,t,r){if(r.biff==5)return A1(e,t,r);var n=e.read_shift(1)>>>5&3,a=e.read_shift(2),i=e.read_shift(4);return[n,a,i]}function A1(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2,\\\"i\\\");e.l+=8;var n=e.read_shift(2);return e.l+=12,[t,r,n]}function C1(e,t,r){var n=e.read_shift(1)>>>5&3;e.l+=r&&r.biff==2?3:4;var a=e.read_shift(r&&r.biff==2?1:2);return[n,a]}function R1(e,t,r){var n=e.read_shift(1)>>>5&3,a=e.read_shift(r&&r.biff==2?1:2);return[n,a]}function O1(e,t,r){var n=e.read_shift(1)>>>5&3;return e.l+=4,r.biff<8&&e.l--,r.biff==12&&(e.l+=2),[n]}function D1(e,t,r){var n=(e[e.l++]&96)>>5,a=e.read_shift(2),i=4;if(r)switch(r.biff){case 5:i=15;break;case 12:i=6;break}return e.l+=i,[n,a]}var b1=dr,I1=dr,N1=dr;function oa(e,t,r){return e.l+=2,[Ku(e,4,r)]}function jn(e){return e.l+=6,[]}var P1=oa,L1=jn,B1=jn,M1=oa;function Ns(e){return e.l+=2,[Ye(e),e.read_shift(2)&1]}var U1=oa,W1=Ns,H1=jn,V1=oa,X1=oa,G1=[\\\"Data\\\",\\\"All\\\",\\\"Headers\\\",\\\"??\\\",\\\"?Data2\\\",\\\"??\\\",\\\"?DataHeaders\\\",\\\"??\\\",\\\"Totals\\\",\\\"??\\\",\\\"??\\\",\\\"??\\\",\\\"?DataTotals\\\",\\\"??\\\",\\\"??\\\",\\\"??\\\",\\\"?Current\\\"];function z1(e){e.l+=2;var t=e.read_shift(2),r=e.read_shift(2),n=e.read_shift(4),a=e.read_shift(2),i=e.read_shift(2),f=G1[r>>2&31];return{ixti:t,coltype:r&3,rt:f,idx:n,c:a,C:i}}function j1(e){return e.l+=2,[e.read_shift(4)]}function K1(e,t,r){return e.l+=5,e.l+=2,e.l+=r.biff==2?1:4,[\\\"PTGSHEET\\\"]}function $1(e,t,r){return e.l+=r.biff==2?4:5,[\\\"PTGENDSHEET\\\"]}function Y1(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2);return[t,r]}function J1(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2);return[t,r]}function q1(e){return e.l+=4,[0,0]}var ci={1:{n:\\\"PtgExp\\\",f:v1},2:{n:\\\"PtgTbl\\\",f:N1},3:{n:\\\"PtgAdd\\\",f:Ke},4:{n:\\\"PtgSub\\\",f:Ke},5:{n:\\\"PtgMul\\\",f:Ke},6:{n:\\\"PtgDiv\\\",f:Ke},7:{n:\\\"PtgPower\\\",f:Ke},8:{n:\\\"PtgConcat\\\",f:Ke},9:{n:\\\"PtgLt\\\",f:Ke},10:{n:\\\"PtgLe\\\",f:Ke},11:{n:\\\"PtgEq\\\",f:Ke},12:{n:\\\"PtgGe\\\",f:Ke},13:{n:\\\"PtgGt\\\",f:Ke},14:{n:\\\"PtgNe\\\",f:Ke},15:{n:\\\"PtgIsect\\\",f:Ke},16:{n:\\\"PtgUnion\\\",f:Ke},17:{n:\\\"PtgRange\\\",f:Ke},18:{n:\\\"PtgUplus\\\",f:Ke},19:{n:\\\"PtgUminus\\\",f:Ke},20:{n:\\\"PtgPercent\\\",f:Ke},21:{n:\\\"PtgParen\\\",f:Ke},22:{n:\\\"PtgMissArg\\\",f:Ke},23:{n:\\\"PtgStr\\\",f:k1},26:{n:\\\"PtgSheet\\\",f:K1},27:{n:\\\"PtgEndSheet\\\",f:$1},28:{n:\\\"PtgErr\\\",f:m1},29:{n:\\\"PtgBool\\\",f:_1},30:{n:\\\"PtgInt\\\",f:g1},31:{n:\\\"PtgNum\\\",f:w1},32:{n:\\\"PtgArray\\\",f:r1},33:{n:\\\"PtgFunc\\\",f:u1},34:{n:\\\"PtgFuncVar\\\",f:x1},35:{n:\\\"PtgName\\\",f:F1},36:{n:\\\"PtgRef\\\",f:o1},37:{n:\\\"PtgArea\\\",f:Ju},38:{n:\\\"PtgMemArea\\\",f:C1},39:{n:\\\"PtgMemErr\\\",f:b1},40:{n:\\\"PtgMemNoMem\\\",f:I1},41:{n:\\\"PtgMemFunc\\\",f:R1},42:{n:\\\"PtgRefErr\\\",f:O1},43:{n:\\\"PtgAreaErr\\\",f:Zu},44:{n:\\\"PtgRefN\\\",f:l1},45:{n:\\\"PtgAreaN\\\",f:e1},46:{n:\\\"PtgMemAreaN\\\",f:Y1},47:{n:\\\"PtgMemNoMemN\\\",f:J1},57:{n:\\\"PtgNameX\\\",f:y1},58:{n:\\\"PtgRef3d\\\",f:h1},59:{n:\\\"PtgArea3d\\\",f:qu},60:{n:\\\"PtgRefErr3d\\\",f:D1},61:{n:\\\"PtgAreaErr3d\\\",f:Qu},255:{}},Z1={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61},Q1={1:{n:\\\"PtgElfLel\\\",f:Ns},2:{n:\\\"PtgElfRw\\\",f:V1},3:{n:\\\"PtgElfCol\\\",f:P1},6:{n:\\\"PtgElfRwV\\\",f:X1},7:{n:\\\"PtgElfColV\\\",f:M1},10:{n:\\\"PtgElfRadical\\\",f:U1},11:{n:\\\"PtgElfRadicalS\\\",f:H1},13:{n:\\\"PtgElfColS\\\",f:L1},15:{n:\\\"PtgElfColSV\\\",f:B1},16:{n:\\\"PtgElfRadicalLel\\\",f:W1},25:{n:\\\"PtgList\\\",f:z1},29:{n:\\\"PtgSxName\\\",f:j1},255:{}},ex={0:{n:\\\"PtgAttrNoop\\\",f:q1},1:{n:\\\"PtgAttrSemi\\\",f:s1},2:{n:\\\"PtgAttrIf\\\",f:n1},4:{n:\\\"PtgAttrChoose\\\",f:t1},8:{n:\\\"PtgAttrGoto\\\",f:a1},16:{n:\\\"PtgAttrSum\\\",f:p1},32:{n:\\\"PtgAttrBaxcel\\\",f:fi},33:{n:\\\"PtgAttrBaxcel\\\",f:fi},64:{n:\\\"PtgAttrSpace\\\",f:f1},65:{n:\\\"PtgAttrSpaceSemi\\\",f:c1},128:{n:\\\"PtgAttrIfError\\\",f:i1},255:{}};function la(e,t,r,n){if(n.biff<8)return dr(e,t);for(var a=e.l+t,i=[],f=0;f!==r.length;++f)switch(r[f][0]){case\\\"PtgArray\\\":r[f][1]=S1(e,0,n),i.push(r[f][1]);break;case\\\"PtgMemArea\\\":r[f][2]=T1(e,r[f][1],n),i.push(r[f][2]);break;case\\\"PtgExp\\\":n&&n.biff==12&&(r[f][1][1]=e.read_shift(4),i.push(r[f][1]));break;case\\\"PtgList\\\":case\\\"PtgElfRadicalS\\\":case\\\"PtgElfColS\\\":case\\\"PtgElfColSV\\\":throw\\\"Unsupported \\\"+r[f][0];default:break}return t=a-e.l,t!==0&&i.push(dr(e,t)),i}function ha(e,t,r){for(var n=e.l+t,a,i,f=[];n!=e.l;)t=n-e.l,i=e[e.l],a=ci[i]||ci[Z1[i]],(i===24||i===25)&&(a=(i===24?Q1:ex)[e[e.l+1]]),!a||!a.f?dr(e,t):f.push([a.n,a.f(e,t,r)]);return f}function rx(e){for(var t=[],r=0;r<e.length;++r){for(var n=e[r],a=[],i=0;i<n.length;++i){var f=n[i];f?f[0]===2?a.push('\\\"'+f[1].replace(/\\\"/g,'\\\"\\\"')+'\\\"'):a.push(f[1]):a.push(\\\"\\\")}t.push(a.join(\\\",\\\"))}return t.join(\\\";\\\")}var tx={PtgAdd:\\\"+\\\",PtgConcat:\\\"&\\\",PtgDiv:\\\"/\\\",PtgEq:\\\"=\\\",PtgGe:\\\">=\\\",PtgGt:\\\">\\\",PtgLe:\\\"<=\\\",PtgLt:\\\"<\\\",PtgMul:\\\"*\\\",PtgNe:\\\"<>\\\",PtgPower:\\\"^\\\",PtgSub:\\\"-\\\"};function ax(e,t){if(!e&&!(t&&t.biff<=5&&t.biff>=2))throw new Error(\\\"empty sheet name\\\");return/[^\\\\w\\\\u4E00-\\\\u9FFF\\\\u3040-\\\\u30FF]/.test(e)?\\\"'\\\"+e+\\\"'\\\":e}function Ps(e,t,r){if(!e)return\\\"SH33TJSERR0\\\";if(r.biff>8&&(!e.XTI||!e.XTI[t]))return e.SheetNames[t];if(!e.XTI)return\\\"SH33TJSERR6\\\";var n=e.XTI[t];if(r.biff<8)return t>1e4&&(t-=65536),t<0&&(t=-t),t==0?\\\"\\\":e.XTI[t-1];if(!n)return\\\"SH33TJSERR1\\\";var a=\\\"\\\";if(r.biff>8)switch(e[n[0]][0]){case 357:return a=n[1]==-1?\\\"#REF\\\":e.SheetNames[n[1]],n[1]==n[2]?a:a+\\\":\\\"+e.SheetNames[n[2]];case 358:return r.SID!=null?e.SheetNames[r.SID]:\\\"SH33TJSSAME\\\"+e[n[0]][0];default:return\\\"SH33TJSSRC\\\"+e[n[0]][0]}switch(e[n[0]][0][0]){case 1025:return a=n[1]==-1?\\\"#REF\\\":e.SheetNames[n[1]]||\\\"SH33TJSERR3\\\",n[1]==n[2]?a:a+\\\":\\\"+e.SheetNames[n[2]];case 14849:return e[n[0]].slice(1).map(function(i){return i.Name}).join(\\\";;\\\");default:return e[n[0]][0][3]?(a=n[1]==-1?\\\"#REF\\\":e[n[0]][0][3][n[1]]||\\\"SH33TJSERR4\\\",n[1]==n[2]?a:a+\\\":\\\"+e[n[0]][0][3][n[2]]):\\\"SH33TJSERR2\\\"}}function oi(e,t,r){var n=Ps(e,t,r);return n==\\\"#REF\\\"?n:ax(n,r)}function or(e,t,r,n,a){var i=a&&a.biff||8,f={s:{c:0,r:0},e:{c:0,r:0}},s=[],c,l,o,h=0,x=0,d,p=\\\"\\\";if(!e[0]||!e[0][0])return\\\"\\\";for(var u=-1,g=\\\"\\\",N=0,D=e[0].length;N<D;++N){var k=e[0][N];switch(k[0]){case\\\"PtgUminus\\\":s.push(\\\"-\\\"+s.pop());break;case\\\"PtgUplus\\\":s.push(\\\"+\\\"+s.pop());break;case\\\"PtgPercent\\\":s.push(s.pop()+\\\"%\\\");break;case\\\"PtgAdd\\\":case\\\"PtgConcat\\\":case\\\"PtgDiv\\\":case\\\"PtgEq\\\":case\\\"PtgGe\\\":case\\\"PtgGt\\\":case\\\"PtgLe\\\":case\\\"PtgLt\\\":case\\\"PtgMul\\\":case\\\"PtgNe\\\":case\\\"PtgPower\\\":case\\\"PtgSub\\\":if(c=s.pop(),l=s.pop(),u>=0){switch(e[0][u][1][0]){case 0:g=Ve(\\\" \\\",e[0][u][1][1]);break;case 1:g=Ve(\\\"\\\\r\\\",e[0][u][1][1]);break;default:if(g=\\\"\\\",a.WTF)throw new Error(\\\"Unexpected PtgAttrSpaceType \\\"+e[0][u][1][0])}l=l+g,u=-1}s.push(l+tx[k[0]]+c);break;case\\\"PtgIsect\\\":c=s.pop(),l=s.pop(),s.push(l+\\\" \\\"+c);break;case\\\"PtgUnion\\\":c=s.pop(),l=s.pop(),s.push(l+\\\",\\\"+c);break;case\\\"PtgRange\\\":c=s.pop(),l=s.pop(),s.push(l+\\\":\\\"+c);break;case\\\"PtgAttrChoose\\\":break;case\\\"PtgAttrGoto\\\":break;case\\\"PtgAttrIf\\\":break;case\\\"PtgAttrIfError\\\":break;case\\\"PtgRef\\\":o=zt(k[1][1],f,a),s.push(jt(o,i));break;case\\\"PtgRefN\\\":o=r?zt(k[1][1],r,a):k[1][1],s.push(jt(o,i));break;case\\\"PtgRef3d\\\":h=k[1][1],o=zt(k[1][2],f,a),p=oi(n,h,a);var W=p;s.push(p+\\\"!\\\"+jt(o,i));break;case\\\"PtgFunc\\\":case\\\"PtgFuncVar\\\":var J=k[1][0],T=k[1][1];J||(J=0),J&=127;var w=J==0?[]:s.slice(-J);s.length-=J,T===\\\"User\\\"&&(T=w.shift()),s.push(T+\\\"(\\\"+w.join(\\\",\\\")+\\\")\\\");break;case\\\"PtgBool\\\":s.push(k[1]?\\\"TRUE\\\":\\\"FALSE\\\");break;case\\\"PtgInt\\\":s.push(k[1]);break;case\\\"PtgNum\\\":s.push(String(k[1]));break;case\\\"PtgStr\\\":s.push('\\\"'+k[1].replace(/\\\"/g,'\\\"\\\"')+'\\\"');break;case\\\"PtgErr\\\":s.push(k[1]);break;case\\\"PtgAreaN\\\":d=X0(k[1][1],r?{s:r}:f,a),s.push(an(d,a));break;case\\\"PtgArea\\\":d=X0(k[1][1],f,a),s.push(an(d,a));break;case\\\"PtgArea3d\\\":h=k[1][1],d=k[1][2],p=oi(n,h,a),s.push(p+\\\"!\\\"+an(d,a));break;case\\\"PtgAttrSum\\\":s.push(\\\"SUM(\\\"+s.pop()+\\\")\\\");break;case\\\"PtgAttrBaxcel\\\":case\\\"PtgAttrSemi\\\":break;case\\\"PtgName\\\":x=k[1][2];var P=(n.names||[])[x-1]||(n[0]||[])[x],R=P?P.Name:\\\"SH33TJSNAME\\\"+String(x);R&&R.slice(0,6)==\\\"_xlfn.\\\"&&!a.xlfn&&(R=R.slice(6)),s.push(R);break;case\\\"PtgNameX\\\":var M=k[1][1];x=k[1][2];var I;if(a.biff<=5)M<0&&(M=-M),n[M]&&(I=n[M][x]);else{var v=\\\"\\\";if(((n[M]||[])[0]||[])[0]==14849||(((n[M]||[])[0]||[])[0]==1025?n[M][x]&&n[M][x].itab>0&&(v=n.SheetNames[n[M][x].itab-1]+\\\"!\\\"):v=n.SheetNames[x-1]+\\\"!\\\"),n[M]&&n[M][x])v+=n[M][x].Name;else if(n[0]&&n[0][x])v+=n[0][x].Name;else{var _=(Ps(n,M,a)||\\\"\\\").split(\\\";;\\\");_[x-1]?v=_[x-1]:v+=\\\"SH33TJSERRX\\\"}s.push(v);break}I||(I={Name:\\\"SH33TJSERRY\\\"}),s.push(I.Name);break;case\\\"PtgParen\\\":var U=\\\"(\\\",V=\\\")\\\";if(u>=0){switch(g=\\\"\\\",e[0][u][1][0]){case 2:U=Ve(\\\" \\\",e[0][u][1][1])+U;break;case 3:U=Ve(\\\"\\\\r\\\",e[0][u][1][1])+U;break;case 4:V=Ve(\\\" \\\",e[0][u][1][1])+V;break;case 5:V=Ve(\\\"\\\\r\\\",e[0][u][1][1])+V;break;default:if(a.WTF)throw new Error(\\\"Unexpected PtgAttrSpaceType \\\"+e[0][u][1][0])}u=-1}s.push(U+s.pop()+V);break;case\\\"PtgRefErr\\\":s.push(\\\"#REF!\\\");break;case\\\"PtgRefErr3d\\\":s.push(\\\"#REF!\\\");break;case\\\"PtgExp\\\":o={c:k[1][1],r:k[1][0]};var Z={c:r.c,r:r.r};if(n.sharedf[Te(o)]){var ee=n.sharedf[Te(o)];s.push(or(ee,f,Z,n,a))}else{var ne=!1;for(c=0;c!=n.arrayf.length;++c)if(l=n.arrayf[c],!(o.c<l[0].s.c||o.c>l[0].e.c)&&!(o.r<l[0].s.r||o.r>l[0].e.r)){s.push(or(l[1],f,Z,n,a)),ne=!0;break}ne||s.push(k[1])}break;case\\\"PtgArray\\\":s.push(\\\"{\\\"+rx(k[1])+\\\"}\\\");break;case\\\"PtgMemArea\\\":break;case\\\"PtgAttrSpace\\\":case\\\"PtgAttrSpaceSemi\\\":u=N;break;case\\\"PtgTbl\\\":break;case\\\"PtgMemErr\\\":break;case\\\"PtgMissArg\\\":s.push(\\\"\\\");break;case\\\"PtgAreaErr\\\":s.push(\\\"#REF!\\\");break;case\\\"PtgAreaErr3d\\\":s.push(\\\"#REF!\\\");break;case\\\"PtgList\\\":s.push(\\\"Table\\\"+k[1].idx+\\\"[#\\\"+k[1].rt+\\\"]\\\");break;case\\\"PtgMemAreaN\\\":case\\\"PtgMemNoMemN\\\":case\\\"PtgAttrNoop\\\":case\\\"PtgSheet\\\":case\\\"PtgEndSheet\\\":break;case\\\"PtgMemFunc\\\":break;case\\\"PtgMemNoMem\\\":break;case\\\"PtgElfCol\\\":case\\\"PtgElfColS\\\":case\\\"PtgElfColSV\\\":case\\\"PtgElfColV\\\":case\\\"PtgElfLel\\\":case\\\"PtgElfRadical\\\":case\\\"PtgElfRadicalLel\\\":case\\\"PtgElfRadicalS\\\":case\\\"PtgElfRw\\\":case\\\"PtgElfRwV\\\":throw new Error(\\\"Unsupported ELFs\\\");case\\\"PtgSxName\\\":throw new Error(\\\"Unrecognized Formula Token: \\\"+String(k));default:throw new Error(\\\"Unrecognized Formula Token: \\\"+String(k))}var H=[\\\"PtgAttrSpace\\\",\\\"PtgAttrSpaceSemi\\\",\\\"PtgAttrGoto\\\"];if(a.biff!=3&&u>=0&&H.indexOf(e[0][N][0])==-1){k=e[0][u];var te=!0;switch(k[1][0]){case 4:te=!1;case 0:g=Ve(\\\" \\\",k[1][1]);break;case 5:te=!1;case 1:g=Ve(\\\"\\\\r\\\",k[1][1]);break;default:if(g=\\\"\\\",a.WTF)throw new Error(\\\"Unexpected PtgAttrSpaceType \\\"+k[1][0])}s.push((te?g:\\\"\\\")+s.pop()+(te?\\\"\\\":g)),u=-1}}if(s.length>1&&a.WTF)throw new Error(\\\"bad formula stack\\\");return s[0]}function nx(e,t,r){var n=e.l+t,a=r.biff==2?1:2,i,f=e.read_shift(a);if(f==65535)return[[],dr(e,t-2)];var s=ha(e,f,r);return t!==f+a&&(i=la(e,t-f-a,s,r)),e.l=n,[s,i]}function ix(e,t,r){var n=e.l+t,a=r.biff==2?1:2,i,f=e.read_shift(a);if(f==65535)return[[],dr(e,t-2)];var s=ha(e,f,r);return t!==f+a&&(i=la(e,t-f-a,s,r)),e.l=n,[s,i]}function sx(e,t,r,n){var a=e.l+t,i=ha(e,n,r),f;return a!==e.l&&(f=la(e,a-e.l,i,r)),[i,f]}function fx(e,t,r){var n=e.l+t,a,i=e.read_shift(2),f=ha(e,i,r);return i==65535?[[],dr(e,t-2)]:(t!==i+2&&(a=la(e,n-i-2,f,r)),[f,a])}function cx(e){var t;if($r(e,e.l+6)!==65535)return[lr(e),\\\"n\\\"];switch(e[e.l]){case 0:return e.l+=8,[\\\"String\\\",\\\"s\\\"];case 1:return t=e[e.l+2]===1,e.l+=8,[t,\\\"b\\\"];case 2:return t=e[e.l+2],e.l+=8,[t,\\\"e\\\"];case 3:return e.l+=8,[\\\"\\\",\\\"s\\\"]}return[]}function fn(e,t,r){var n=e.l+t,a=Gr(e,6);r.biff==2&&++e.l;var i=cx(e,8),f=e.read_shift(1);r.biff!=2&&(e.read_shift(1),r.biff>=5&&e.read_shift(4));var s=ix(e,n-e.l,r);return{cell:a,val:i[0],formula:s,shared:f>>3&1,tt:i[1]}}function ja(e,t,r){var n=e.read_shift(4),a=ha(e,n,r),i=e.read_shift(4),f=i>0?la(e,i,a,r):null;return[a,f]}var ox=ja,Ka=ja,lx=ja,hx=ja,ux={0:\\\"BEEP\\\",1:\\\"OPEN\\\",2:\\\"OPEN.LINKS\\\",3:\\\"CLOSE.ALL\\\",4:\\\"SAVE\\\",5:\\\"SAVE.AS\\\",6:\\\"FILE.DELETE\\\",7:\\\"PAGE.SETUP\\\",8:\\\"PRINT\\\",9:\\\"PRINTER.SETUP\\\",10:\\\"QUIT\\\",11:\\\"NEW.WINDOW\\\",12:\\\"ARRANGE.ALL\\\",13:\\\"WINDOW.SIZE\\\",14:\\\"WINDOW.MOVE\\\",15:\\\"FULL\\\",16:\\\"CLOSE\\\",17:\\\"RUN\\\",22:\\\"SET.PRINT.AREA\\\",23:\\\"SET.PRINT.TITLES\\\",24:\\\"SET.PAGE.BREAK\\\",25:\\\"REMOVE.PAGE.BREAK\\\",26:\\\"FONT\\\",27:\\\"DISPLAY\\\",28:\\\"PROTECT.DOCUMENT\\\",29:\\\"PRECISION\\\",30:\\\"A1.R1C1\\\",31:\\\"CALCULATE.NOW\\\",32:\\\"CALCULATION\\\",34:\\\"DATA.FIND\\\",35:\\\"EXTRACT\\\",36:\\\"DATA.DELETE\\\",37:\\\"SET.DATABASE\\\",38:\\\"SET.CRITERIA\\\",39:\\\"SORT\\\",40:\\\"DATA.SERIES\\\",41:\\\"TABLE\\\",42:\\\"FORMAT.NUMBER\\\",43:\\\"ALIGNMENT\\\",44:\\\"STYLE\\\",45:\\\"BORDER\\\",46:\\\"CELL.PROTECTION\\\",47:\\\"COLUMN.WIDTH\\\",48:\\\"UNDO\\\",49:\\\"CUT\\\",50:\\\"COPY\\\",51:\\\"PASTE\\\",52:\\\"CLEAR\\\",53:\\\"PASTE.SPECIAL\\\",54:\\\"EDIT.DELETE\\\",55:\\\"INSERT\\\",56:\\\"FILL.RIGHT\\\",57:\\\"FILL.DOWN\\\",61:\\\"DEFINE.NAME\\\",62:\\\"CREATE.NAMES\\\",63:\\\"FORMULA.GOTO\\\",64:\\\"FORMULA.FIND\\\",65:\\\"SELECT.LAST.CELL\\\",66:\\\"SHOW.ACTIVE.CELL\\\",67:\\\"GALLERY.AREA\\\",68:\\\"GALLERY.BAR\\\",69:\\\"GALLERY.COLUMN\\\",70:\\\"GALLERY.LINE\\\",71:\\\"GALLERY.PIE\\\",72:\\\"GALLERY.SCATTER\\\",73:\\\"COMBINATION\\\",74:\\\"PREFERRED\\\",75:\\\"ADD.OVERLAY\\\",76:\\\"GRIDLINES\\\",77:\\\"SET.PREFERRED\\\",78:\\\"AXES\\\",79:\\\"LEGEND\\\",80:\\\"ATTACH.TEXT\\\",81:\\\"ADD.ARROW\\\",82:\\\"SELECT.CHART\\\",83:\\\"SELECT.PLOT.AREA\\\",84:\\\"PATTERNS\\\",85:\\\"MAIN.CHART\\\",86:\\\"OVERLAY\\\",87:\\\"SCALE\\\",88:\\\"FORMAT.LEGEND\\\",89:\\\"FORMAT.TEXT\\\",90:\\\"EDIT.REPEAT\\\",91:\\\"PARSE\\\",92:\\\"JUSTIFY\\\",93:\\\"HIDE\\\",94:\\\"UNHIDE\\\",95:\\\"WORKSPACE\\\",96:\\\"FORMULA\\\",97:\\\"FORMULA.FILL\\\",98:\\\"FORMULA.ARRAY\\\",99:\\\"DATA.FIND.NEXT\\\",100:\\\"DATA.FIND.PREV\\\",101:\\\"FORMULA.FIND.NEXT\\\",102:\\\"FORMULA.FIND.PREV\\\",103:\\\"ACTIVATE\\\",104:\\\"ACTIVATE.NEXT\\\",105:\\\"ACTIVATE.PREV\\\",106:\\\"UNLOCKED.NEXT\\\",107:\\\"UNLOCKED.PREV\\\",108:\\\"COPY.PICTURE\\\",109:\\\"SELECT\\\",110:\\\"DELETE.NAME\\\",111:\\\"DELETE.FORMAT\\\",112:\\\"VLINE\\\",113:\\\"HLINE\\\",114:\\\"VPAGE\\\",115:\\\"HPAGE\\\",116:\\\"VSCROLL\\\",117:\\\"HSCROLL\\\",118:\\\"ALERT\\\",119:\\\"NEW\\\",120:\\\"CANCEL.COPY\\\",121:\\\"SHOW.CLIPBOARD\\\",122:\\\"MESSAGE\\\",124:\\\"PASTE.LINK\\\",125:\\\"APP.ACTIVATE\\\",126:\\\"DELETE.ARROW\\\",127:\\\"ROW.HEIGHT\\\",128:\\\"FORMAT.MOVE\\\",129:\\\"FORMAT.SIZE\\\",130:\\\"FORMULA.REPLACE\\\",131:\\\"SEND.KEYS\\\",132:\\\"SELECT.SPECIAL\\\",133:\\\"APPLY.NAMES\\\",134:\\\"REPLACE.FONT\\\",135:\\\"FREEZE.PANES\\\",136:\\\"SHOW.INFO\\\",137:\\\"SPLIT\\\",138:\\\"ON.WINDOW\\\",139:\\\"ON.DATA\\\",140:\\\"DISABLE.INPUT\\\",142:\\\"OUTLINE\\\",143:\\\"LIST.NAMES\\\",144:\\\"FILE.CLOSE\\\",145:\\\"SAVE.WORKBOOK\\\",146:\\\"DATA.FORM\\\",147:\\\"COPY.CHART\\\",148:\\\"ON.TIME\\\",149:\\\"WAIT\\\",150:\\\"FORMAT.FONT\\\",151:\\\"FILL.UP\\\",152:\\\"FILL.LEFT\\\",153:\\\"DELETE.OVERLAY\\\",155:\\\"SHORT.MENUS\\\",159:\\\"SET.UPDATE.STATUS\\\",161:\\\"COLOR.PALETTE\\\",162:\\\"DELETE.STYLE\\\",163:\\\"WINDOW.RESTORE\\\",164:\\\"WINDOW.MAXIMIZE\\\",166:\\\"CHANGE.LINK\\\",167:\\\"CALCULATE.DOCUMENT\\\",168:\\\"ON.KEY\\\",169:\\\"APP.RESTORE\\\",170:\\\"APP.MOVE\\\",171:\\\"APP.SIZE\\\",172:\\\"APP.MINIMIZE\\\",173:\\\"APP.MAXIMIZE\\\",174:\\\"BRING.TO.FRONT\\\",175:\\\"SEND.TO.BACK\\\",185:\\\"MAIN.CHART.TYPE\\\",186:\\\"OVERLAY.CHART.TYPE\\\",187:\\\"SELECT.END\\\",188:\\\"OPEN.MAIL\\\",189:\\\"SEND.MAIL\\\",190:\\\"STANDARD.FONT\\\",191:\\\"CONSOLIDATE\\\",192:\\\"SORT.SPECIAL\\\",193:\\\"GALLERY.3D.AREA\\\",194:\\\"GALLERY.3D.COLUMN\\\",195:\\\"GALLERY.3D.LINE\\\",196:\\\"GALLERY.3D.PIE\\\",197:\\\"VIEW.3D\\\",198:\\\"GOAL.SEEK\\\",199:\\\"WORKGROUP\\\",200:\\\"FILL.GROUP\\\",201:\\\"UPDATE.LINK\\\",202:\\\"PROMOTE\\\",203:\\\"DEMOTE\\\",204:\\\"SHOW.DETAIL\\\",206:\\\"UNGROUP\\\",207:\\\"OBJECT.PROPERTIES\\\",208:\\\"SAVE.NEW.OBJECT\\\",209:\\\"SHARE\\\",210:\\\"SHARE.NAME\\\",211:\\\"DUPLICATE\\\",212:\\\"APPLY.STYLE\\\",213:\\\"ASSIGN.TO.OBJECT\\\",214:\\\"OBJECT.PROTECTION\\\",215:\\\"HIDE.OBJECT\\\",216:\\\"SET.EXTRACT\\\",217:\\\"CREATE.PUBLISHER\\\",218:\\\"SUBSCRIBE.TO\\\",219:\\\"ATTRIBUTES\\\",220:\\\"SHOW.TOOLBAR\\\",222:\\\"PRINT.PREVIEW\\\",223:\\\"EDIT.COLOR\\\",224:\\\"SHOW.LEVELS\\\",225:\\\"FORMAT.MAIN\\\",226:\\\"FORMAT.OVERLAY\\\",227:\\\"ON.RECALC\\\",228:\\\"EDIT.SERIES\\\",229:\\\"DEFINE.STYLE\\\",240:\\\"LINE.PRINT\\\",243:\\\"ENTER.DATA\\\",249:\\\"GALLERY.RADAR\\\",250:\\\"MERGE.STYLES\\\",251:\\\"EDITION.OPTIONS\\\",252:\\\"PASTE.PICTURE\\\",253:\\\"PASTE.PICTURE.LINK\\\",254:\\\"SPELLING\\\",256:\\\"ZOOM\\\",259:\\\"INSERT.OBJECT\\\",260:\\\"WINDOW.MINIMIZE\\\",265:\\\"SOUND.NOTE\\\",266:\\\"SOUND.PLAY\\\",267:\\\"FORMAT.SHAPE\\\",268:\\\"EXTEND.POLYGON\\\",269:\\\"FORMAT.AUTO\\\",272:\\\"GALLERY.3D.BAR\\\",273:\\\"GALLERY.3D.SURFACE\\\",274:\\\"FILL.AUTO\\\",276:\\\"CUSTOMIZE.TOOLBAR\\\",277:\\\"ADD.TOOL\\\",278:\\\"EDIT.OBJECT\\\",279:\\\"ON.DOUBLECLICK\\\",280:\\\"ON.ENTRY\\\",281:\\\"WORKBOOK.ADD\\\",282:\\\"WORKBOOK.MOVE\\\",283:\\\"WORKBOOK.COPY\\\",284:\\\"WORKBOOK.OPTIONS\\\",285:\\\"SAVE.WORKSPACE\\\",288:\\\"CHART.WIZARD\\\",289:\\\"DELETE.TOOL\\\",290:\\\"MOVE.TOOL\\\",291:\\\"WORKBOOK.SELECT\\\",292:\\\"WORKBOOK.ACTIVATE\\\",293:\\\"ASSIGN.TO.TOOL\\\",295:\\\"COPY.TOOL\\\",296:\\\"RESET.TOOL\\\",297:\\\"CONSTRAIN.NUMERIC\\\",298:\\\"PASTE.TOOL\\\",302:\\\"WORKBOOK.NEW\\\",305:\\\"SCENARIO.CELLS\\\",306:\\\"SCENARIO.DELETE\\\",307:\\\"SCENARIO.ADD\\\",308:\\\"SCENARIO.EDIT\\\",309:\\\"SCENARIO.SHOW\\\",310:\\\"SCENARIO.SHOW.NEXT\\\",311:\\\"SCENARIO.SUMMARY\\\",312:\\\"PIVOT.TABLE.WIZARD\\\",313:\\\"PIVOT.FIELD.PROPERTIES\\\",314:\\\"PIVOT.FIELD\\\",315:\\\"PIVOT.ITEM\\\",316:\\\"PIVOT.ADD.FIELDS\\\",318:\\\"OPTIONS.CALCULATION\\\",319:\\\"OPTIONS.EDIT\\\",320:\\\"OPTIONS.VIEW\\\",321:\\\"ADDIN.MANAGER\\\",322:\\\"MENU.EDITOR\\\",323:\\\"ATTACH.TOOLBARS\\\",324:\\\"VBAActivate\\\",325:\\\"OPTIONS.CHART\\\",328:\\\"VBA.INSERT.FILE\\\",330:\\\"VBA.PROCEDURE.DEFINITION\\\",336:\\\"ROUTING.SLIP\\\",338:\\\"ROUTE.DOCUMENT\\\",339:\\\"MAIL.LOGON\\\",342:\\\"INSERT.PICTURE\\\",343:\\\"EDIT.TOOL\\\",344:\\\"GALLERY.DOUGHNUT\\\",350:\\\"CHART.TREND\\\",352:\\\"PIVOT.ITEM.PROPERTIES\\\",354:\\\"WORKBOOK.INSERT\\\",355:\\\"OPTIONS.TRANSITION\\\",356:\\\"OPTIONS.GENERAL\\\",370:\\\"FILTER.ADVANCED\\\",373:\\\"MAIL.ADD.MAILER\\\",374:\\\"MAIL.DELETE.MAILER\\\",375:\\\"MAIL.REPLY\\\",376:\\\"MAIL.REPLY.ALL\\\",377:\\\"MAIL.FORWARD\\\",378:\\\"MAIL.NEXT.LETTER\\\",379:\\\"DATA.LABEL\\\",380:\\\"INSERT.TITLE\\\",381:\\\"FONT.PROPERTIES\\\",382:\\\"MACRO.OPTIONS\\\",383:\\\"WORKBOOK.HIDE\\\",384:\\\"WORKBOOK.UNHIDE\\\",385:\\\"WORKBOOK.DELETE\\\",386:\\\"WORKBOOK.NAME\\\",388:\\\"GALLERY.CUSTOM\\\",390:\\\"ADD.CHART.AUTOFORMAT\\\",391:\\\"DELETE.CHART.AUTOFORMAT\\\",392:\\\"CHART.ADD.DATA\\\",393:\\\"AUTO.OUTLINE\\\",394:\\\"TAB.ORDER\\\",395:\\\"SHOW.DIALOG\\\",396:\\\"SELECT.ALL\\\",397:\\\"UNGROUP.SHEETS\\\",398:\\\"SUBTOTAL.CREATE\\\",399:\\\"SUBTOTAL.REMOVE\\\",400:\\\"RENAME.OBJECT\\\",412:\\\"WORKBOOK.SCROLL\\\",413:\\\"WORKBOOK.NEXT\\\",414:\\\"WORKBOOK.PREV\\\",415:\\\"WORKBOOK.TAB.SPLIT\\\",416:\\\"FULL.SCREEN\\\",417:\\\"WORKBOOK.PROTECT\\\",420:\\\"SCROLLBAR.PROPERTIES\\\",421:\\\"PIVOT.SHOW.PAGES\\\",422:\\\"TEXT.TO.COLUMNS\\\",423:\\\"FORMAT.CHARTTYPE\\\",424:\\\"LINK.FORMAT\\\",425:\\\"TRACER.DISPLAY\\\",430:\\\"TRACER.NAVIGATE\\\",431:\\\"TRACER.CLEAR\\\",432:\\\"TRACER.ERROR\\\",433:\\\"PIVOT.FIELD.GROUP\\\",434:\\\"PIVOT.FIELD.UNGROUP\\\",435:\\\"CHECKBOX.PROPERTIES\\\",436:\\\"LABEL.PROPERTIES\\\",437:\\\"LISTBOX.PROPERTIES\\\",438:\\\"EDITBOX.PROPERTIES\\\",439:\\\"PIVOT.REFRESH\\\",440:\\\"LINK.COMBO\\\",441:\\\"OPEN.TEXT\\\",442:\\\"HIDE.DIALOG\\\",443:\\\"SET.DIALOG.FOCUS\\\",444:\\\"ENABLE.OBJECT\\\",445:\\\"PUSHBUTTON.PROPERTIES\\\",446:\\\"SET.DIALOG.DEFAULT\\\",447:\\\"FILTER\\\",448:\\\"FILTER.SHOW.ALL\\\",449:\\\"CLEAR.OUTLINE\\\",450:\\\"FUNCTION.WIZARD\\\",451:\\\"ADD.LIST.ITEM\\\",452:\\\"SET.LIST.ITEM\\\",453:\\\"REMOVE.LIST.ITEM\\\",454:\\\"SELECT.LIST.ITEM\\\",455:\\\"SET.CONTROL.VALUE\\\",456:\\\"SAVE.COPY.AS\\\",458:\\\"OPTIONS.LISTS.ADD\\\",459:\\\"OPTIONS.LISTS.DELETE\\\",460:\\\"SERIES.AXES\\\",461:\\\"SERIES.X\\\",462:\\\"SERIES.Y\\\",463:\\\"ERRORBAR.X\\\",464:\\\"ERRORBAR.Y\\\",465:\\\"FORMAT.CHART\\\",466:\\\"SERIES.ORDER\\\",467:\\\"MAIL.LOGOFF\\\",468:\\\"CLEAR.ROUTING.SLIP\\\",469:\\\"APP.ACTIVATE.MICROSOFT\\\",470:\\\"MAIL.EDIT.MAILER\\\",471:\\\"ON.SHEET\\\",472:\\\"STANDARD.WIDTH\\\",473:\\\"SCENARIO.MERGE\\\",474:\\\"SUMMARY.INFO\\\",475:\\\"FIND.FILE\\\",476:\\\"ACTIVE.CELL.FONT\\\",477:\\\"ENABLE.TIPWIZARD\\\",478:\\\"VBA.MAKE.ADDIN\\\",480:\\\"INSERTDATATABLE\\\",481:\\\"WORKGROUP.OPTIONS\\\",482:\\\"MAIL.SEND.MAILER\\\",485:\\\"AUTOCORRECT\\\",489:\\\"POST.DOCUMENT\\\",491:\\\"PICKLIST\\\",493:\\\"VIEW.SHOW\\\",494:\\\"VIEW.DEFINE\\\",495:\\\"VIEW.DELETE\\\",509:\\\"SHEET.BACKGROUND\\\",510:\\\"INSERT.MAP.OBJECT\\\",511:\\\"OPTIONS.MENONO\\\",517:\\\"MSOCHECKS\\\",518:\\\"NORMAL\\\",519:\\\"LAYOUT\\\",520:\\\"RM.PRINT.AREA\\\",521:\\\"CLEAR.PRINT.AREA\\\",522:\\\"ADD.PRINT.AREA\\\",523:\\\"MOVE.BRK\\\",545:\\\"HIDECURR.NOTE\\\",546:\\\"HIDEALL.NOTES\\\",547:\\\"DELETE.NOTE\\\",548:\\\"TRAVERSE.NOTES\\\",549:\\\"ACTIVATE.NOTES\\\",620:\\\"PROTECT.REVISIONS\\\",621:\\\"UNPROTECT.REVISIONS\\\",647:\\\"OPTIONS.ME\\\",653:\\\"WEB.PUBLISH\\\",667:\\\"NEWWEBQUERY\\\",673:\\\"PIVOT.TABLE.CHART\\\",753:\\\"OPTIONS.SAVE\\\",755:\\\"OPTIONS.SPELL\\\",808:\\\"HIDEALL.INKANNOTS\\\"},Ls={0:\\\"COUNT\\\",1:\\\"IF\\\",2:\\\"ISNA\\\",3:\\\"ISERROR\\\",4:\\\"SUM\\\",5:\\\"AVERAGE\\\",6:\\\"MIN\\\",7:\\\"MAX\\\",8:\\\"ROW\\\",9:\\\"COLUMN\\\",10:\\\"NA\\\",11:\\\"NPV\\\",12:\\\"STDEV\\\",13:\\\"DOLLAR\\\",14:\\\"FIXED\\\",15:\\\"SIN\\\",16:\\\"COS\\\",17:\\\"TAN\\\",18:\\\"ATAN\\\",19:\\\"PI\\\",20:\\\"SQRT\\\",21:\\\"EXP\\\",22:\\\"LN\\\",23:\\\"LOG10\\\",24:\\\"ABS\\\",25:\\\"INT\\\",26:\\\"SIGN\\\",27:\\\"ROUND\\\",28:\\\"LOOKUP\\\",29:\\\"INDEX\\\",30:\\\"REPT\\\",31:\\\"MID\\\",32:\\\"LEN\\\",33:\\\"VALUE\\\",34:\\\"TRUE\\\",35:\\\"FALSE\\\",36:\\\"AND\\\",37:\\\"OR\\\",38:\\\"NOT\\\",39:\\\"MOD\\\",40:\\\"DCOUNT\\\",41:\\\"DSUM\\\",42:\\\"DAVERAGE\\\",43:\\\"DMIN\\\",44:\\\"DMAX\\\",45:\\\"DSTDEV\\\",46:\\\"VAR\\\",47:\\\"DVAR\\\",48:\\\"TEXT\\\",49:\\\"LINEST\\\",50:\\\"TREND\\\",51:\\\"LOGEST\\\",52:\\\"GROWTH\\\",53:\\\"GOTO\\\",54:\\\"HALT\\\",55:\\\"RETURN\\\",56:\\\"PV\\\",57:\\\"FV\\\",58:\\\"NPER\\\",59:\\\"PMT\\\",60:\\\"RATE\\\",61:\\\"MIRR\\\",62:\\\"IRR\\\",63:\\\"RAND\\\",64:\\\"MATCH\\\",65:\\\"DATE\\\",66:\\\"TIME\\\",67:\\\"DAY\\\",68:\\\"MONTH\\\",69:\\\"YEAR\\\",70:\\\"WEEKDAY\\\",71:\\\"HOUR\\\",72:\\\"MINUTE\\\",73:\\\"SECOND\\\",74:\\\"NOW\\\",75:\\\"AREAS\\\",76:\\\"ROWS\\\",77:\\\"COLUMNS\\\",78:\\\"OFFSET\\\",79:\\\"ABSREF\\\",80:\\\"RELREF\\\",81:\\\"ARGUMENT\\\",82:\\\"SEARCH\\\",83:\\\"TRANSPOSE\\\",84:\\\"ERROR\\\",85:\\\"STEP\\\",86:\\\"TYPE\\\",87:\\\"ECHO\\\",88:\\\"SET.NAME\\\",89:\\\"CALLER\\\",90:\\\"DEREF\\\",91:\\\"WINDOWS\\\",92:\\\"SERIES\\\",93:\\\"DOCUMENTS\\\",94:\\\"ACTIVE.CELL\\\",95:\\\"SELECTION\\\",96:\\\"RESULT\\\",97:\\\"ATAN2\\\",98:\\\"ASIN\\\",99:\\\"ACOS\\\",100:\\\"CHOOSE\\\",101:\\\"HLOOKUP\\\",102:\\\"VLOOKUP\\\",103:\\\"LINKS\\\",104:\\\"INPUT\\\",105:\\\"ISREF\\\",106:\\\"GET.FORMULA\\\",107:\\\"GET.NAME\\\",108:\\\"SET.VALUE\\\",109:\\\"LOG\\\",110:\\\"EXEC\\\",111:\\\"CHAR\\\",112:\\\"LOWER\\\",113:\\\"UPPER\\\",114:\\\"PROPER\\\",115:\\\"LEFT\\\",116:\\\"RIGHT\\\",117:\\\"EXACT\\\",118:\\\"TRIM\\\",119:\\\"REPLACE\\\",120:\\\"SUBSTITUTE\\\",121:\\\"CODE\\\",122:\\\"NAMES\\\",123:\\\"DIRECTORY\\\",124:\\\"FIND\\\",125:\\\"CELL\\\",126:\\\"ISERR\\\",127:\\\"ISTEXT\\\",128:\\\"ISNUMBER\\\",129:\\\"ISBLANK\\\",130:\\\"T\\\",131:\\\"N\\\",132:\\\"FOPEN\\\",133:\\\"FCLOSE\\\",134:\\\"FSIZE\\\",135:\\\"FREADLN\\\",136:\\\"FREAD\\\",137:\\\"FWRITELN\\\",138:\\\"FWRITE\\\",139:\\\"FPOS\\\",140:\\\"DATEVALUE\\\",141:\\\"TIMEVALUE\\\",142:\\\"SLN\\\",143:\\\"SYD\\\",144:\\\"DDB\\\",145:\\\"GET.DEF\\\",146:\\\"REFTEXT\\\",147:\\\"TEXTREF\\\",148:\\\"INDIRECT\\\",149:\\\"REGISTER\\\",150:\\\"CALL\\\",151:\\\"ADD.BAR\\\",152:\\\"ADD.MENU\\\",153:\\\"ADD.COMMAND\\\",154:\\\"ENABLE.COMMAND\\\",155:\\\"CHECK.COMMAND\\\",156:\\\"RENAME.COMMAND\\\",157:\\\"SHOW.BAR\\\",158:\\\"DELETE.MENU\\\",159:\\\"DELETE.COMMAND\\\",160:\\\"GET.CHART.ITEM\\\",161:\\\"DIALOG.BOX\\\",162:\\\"CLEAN\\\",163:\\\"MDETERM\\\",164:\\\"MINVERSE\\\",165:\\\"MMULT\\\",166:\\\"FILES\\\",167:\\\"IPMT\\\",168:\\\"PPMT\\\",169:\\\"COUNTA\\\",170:\\\"CANCEL.KEY\\\",171:\\\"FOR\\\",172:\\\"WHILE\\\",173:\\\"BREAK\\\",174:\\\"NEXT\\\",175:\\\"INITIATE\\\",176:\\\"REQUEST\\\",177:\\\"POKE\\\",178:\\\"EXECUTE\\\",179:\\\"TERMINATE\\\",180:\\\"RESTART\\\",181:\\\"HELP\\\",182:\\\"GET.BAR\\\",183:\\\"PRODUCT\\\",184:\\\"FACT\\\",185:\\\"GET.CELL\\\",186:\\\"GET.WORKSPACE\\\",187:\\\"GET.WINDOW\\\",188:\\\"GET.DOCUMENT\\\",189:\\\"DPRODUCT\\\",190:\\\"ISNONTEXT\\\",191:\\\"GET.NOTE\\\",192:\\\"NOTE\\\",193:\\\"STDEVP\\\",194:\\\"VARP\\\",195:\\\"DSTDEVP\\\",196:\\\"DVARP\\\",197:\\\"TRUNC\\\",198:\\\"ISLOGICAL\\\",199:\\\"DCOUNTA\\\",200:\\\"DELETE.BAR\\\",201:\\\"UNREGISTER\\\",204:\\\"USDOLLAR\\\",205:\\\"FINDB\\\",206:\\\"SEARCHB\\\",207:\\\"REPLACEB\\\",208:\\\"LEFTB\\\",209:\\\"RIGHTB\\\",210:\\\"MIDB\\\",211:\\\"LENB\\\",212:\\\"ROUNDUP\\\",213:\\\"ROUNDDOWN\\\",214:\\\"ASC\\\",215:\\\"DBCS\\\",216:\\\"RANK\\\",219:\\\"ADDRESS\\\",220:\\\"DAYS360\\\",221:\\\"TODAY\\\",222:\\\"VDB\\\",223:\\\"ELSE\\\",224:\\\"ELSE.IF\\\",225:\\\"END.IF\\\",226:\\\"FOR.CELL\\\",227:\\\"MEDIAN\\\",228:\\\"SUMPRODUCT\\\",229:\\\"SINH\\\",230:\\\"COSH\\\",231:\\\"TANH\\\",232:\\\"ASINH\\\",233:\\\"ACOSH\\\",234:\\\"ATANH\\\",235:\\\"DGET\\\",236:\\\"CREATE.OBJECT\\\",237:\\\"VOLATILE\\\",238:\\\"LAST.ERROR\\\",239:\\\"CUSTOM.UNDO\\\",240:\\\"CUSTOM.REPEAT\\\",241:\\\"FORMULA.CONVERT\\\",242:\\\"GET.LINK.INFO\\\",243:\\\"TEXT.BOX\\\",244:\\\"INFO\\\",245:\\\"GROUP\\\",246:\\\"GET.OBJECT\\\",247:\\\"DB\\\",248:\\\"PAUSE\\\",251:\\\"RESUME\\\",252:\\\"FREQUENCY\\\",253:\\\"ADD.TOOLBAR\\\",254:\\\"DELETE.TOOLBAR\\\",255:\\\"User\\\",256:\\\"RESET.TOOLBAR\\\",257:\\\"EVALUATE\\\",258:\\\"GET.TOOLBAR\\\",259:\\\"GET.TOOL\\\",260:\\\"SPELLING.CHECK\\\",261:\\\"ERROR.TYPE\\\",262:\\\"APP.TITLE\\\",263:\\\"WINDOW.TITLE\\\",264:\\\"SAVE.TOOLBAR\\\",265:\\\"ENABLE.TOOL\\\",266:\\\"PRESS.TOOL\\\",267:\\\"REGISTER.ID\\\",268:\\\"GET.WORKBOOK\\\",269:\\\"AVEDEV\\\",270:\\\"BETADIST\\\",271:\\\"GAMMALN\\\",272:\\\"BETAINV\\\",273:\\\"BINOMDIST\\\",274:\\\"CHIDIST\\\",275:\\\"CHIINV\\\",276:\\\"COMBIN\\\",277:\\\"CONFIDENCE\\\",278:\\\"CRITBINOM\\\",279:\\\"EVEN\\\",280:\\\"EXPONDIST\\\",281:\\\"FDIST\\\",282:\\\"FINV\\\",283:\\\"FISHER\\\",284:\\\"FISHERINV\\\",285:\\\"FLOOR\\\",286:\\\"GAMMADIST\\\",287:\\\"GAMMAINV\\\",288:\\\"CEILING\\\",289:\\\"HYPGEOMDIST\\\",290:\\\"LOGNORMDIST\\\",291:\\\"LOGINV\\\",292:\\\"NEGBINOMDIST\\\",293:\\\"NORMDIST\\\",294:\\\"NORMSDIST\\\",295:\\\"NORMINV\\\",296:\\\"NORMSINV\\\",297:\\\"STANDARDIZE\\\",298:\\\"ODD\\\",299:\\\"PERMUT\\\",300:\\\"POISSON\\\",301:\\\"TDIST\\\",302:\\\"WEIBULL\\\",303:\\\"SUMXMY2\\\",304:\\\"SUMX2MY2\\\",305:\\\"SUMX2PY2\\\",306:\\\"CHITEST\\\",307:\\\"CORREL\\\",308:\\\"COVAR\\\",309:\\\"FORECAST\\\",310:\\\"FTEST\\\",311:\\\"INTERCEPT\\\",312:\\\"PEARSON\\\",313:\\\"RSQ\\\",314:\\\"STEYX\\\",315:\\\"SLOPE\\\",316:\\\"TTEST\\\",317:\\\"PROB\\\",318:\\\"DEVSQ\\\",319:\\\"GEOMEAN\\\",320:\\\"HARMEAN\\\",321:\\\"SUMSQ\\\",322:\\\"KURT\\\",323:\\\"SKEW\\\",324:\\\"ZTEST\\\",325:\\\"LARGE\\\",326:\\\"SMALL\\\",327:\\\"QUARTILE\\\",328:\\\"PERCENTILE\\\",329:\\\"PERCENTRANK\\\",330:\\\"MODE\\\",331:\\\"TRIMMEAN\\\",332:\\\"TINV\\\",334:\\\"MOVIE.COMMAND\\\",335:\\\"GET.MOVIE\\\",336:\\\"CONCATENATE\\\",337:\\\"POWER\\\",338:\\\"PIVOT.ADD.DATA\\\",339:\\\"GET.PIVOT.TABLE\\\",340:\\\"GET.PIVOT.FIELD\\\",341:\\\"GET.PIVOT.ITEM\\\",342:\\\"RADIANS\\\",343:\\\"DEGREES\\\",344:\\\"SUBTOTAL\\\",345:\\\"SUMIF\\\",346:\\\"COUNTIF\\\",347:\\\"COUNTBLANK\\\",348:\\\"SCENARIO.GET\\\",349:\\\"OPTIONS.LISTS.GET\\\",350:\\\"ISPMT\\\",351:\\\"DATEDIF\\\",352:\\\"DATESTRING\\\",353:\\\"NUMBERSTRING\\\",354:\\\"ROMAN\\\",355:\\\"OPEN.DIALOG\\\",356:\\\"SAVE.DIALOG\\\",357:\\\"VIEW.GET\\\",358:\\\"GETPIVOTDATA\\\",359:\\\"HYPERLINK\\\",360:\\\"PHONETIC\\\",361:\\\"AVERAGEA\\\",362:\\\"MAXA\\\",363:\\\"MINA\\\",364:\\\"STDEVPA\\\",365:\\\"VARPA\\\",366:\\\"STDEVA\\\",367:\\\"VARA\\\",368:\\\"BAHTTEXT\\\",369:\\\"THAIDAYOFWEEK\\\",370:\\\"THAIDIGIT\\\",371:\\\"THAIMONTHOFYEAR\\\",372:\\\"THAINUMSOUND\\\",373:\\\"THAINUMSTRING\\\",374:\\\"THAISTRINGLENGTH\\\",375:\\\"ISTHAIDIGIT\\\",376:\\\"ROUNDBAHTDOWN\\\",377:\\\"ROUNDBAHTUP\\\",378:\\\"THAIYEAR\\\",379:\\\"RTD\\\",380:\\\"CUBEVALUE\\\",381:\\\"CUBEMEMBER\\\",382:\\\"CUBEMEMBERPROPERTY\\\",383:\\\"CUBERANKEDMEMBER\\\",384:\\\"HEX2BIN\\\",385:\\\"HEX2DEC\\\",386:\\\"HEX2OCT\\\",387:\\\"DEC2BIN\\\",388:\\\"DEC2HEX\\\",389:\\\"DEC2OCT\\\",390:\\\"OCT2BIN\\\",391:\\\"OCT2HEX\\\",392:\\\"OCT2DEC\\\",393:\\\"BIN2DEC\\\",394:\\\"BIN2OCT\\\",395:\\\"BIN2HEX\\\",396:\\\"IMSUB\\\",397:\\\"IMDIV\\\",398:\\\"IMPOWER\\\",399:\\\"IMABS\\\",400:\\\"IMSQRT\\\",401:\\\"IMLN\\\",402:\\\"IMLOG2\\\",403:\\\"IMLOG10\\\",404:\\\"IMSIN\\\",405:\\\"IMCOS\\\",406:\\\"IMEXP\\\",407:\\\"IMARGUMENT\\\",408:\\\"IMCONJUGATE\\\",409:\\\"IMAGINARY\\\",410:\\\"IMREAL\\\",411:\\\"COMPLEX\\\",412:\\\"IMSUM\\\",413:\\\"IMPRODUCT\\\",414:\\\"SERIESSUM\\\",415:\\\"FACTDOUBLE\\\",416:\\\"SQRTPI\\\",417:\\\"QUOTIENT\\\",418:\\\"DELTA\\\",419:\\\"GESTEP\\\",420:\\\"ISEVEN\\\",421:\\\"ISODD\\\",422:\\\"MROUND\\\",423:\\\"ERF\\\",424:\\\"ERFC\\\",425:\\\"BESSELJ\\\",426:\\\"BESSELK\\\",427:\\\"BESSELY\\\",428:\\\"BESSELI\\\",429:\\\"XIRR\\\",430:\\\"XNPV\\\",431:\\\"PRICEMAT\\\",432:\\\"YIELDMAT\\\",433:\\\"INTRATE\\\",434:\\\"RECEIVED\\\",435:\\\"DISC\\\",436:\\\"PRICEDISC\\\",437:\\\"YIELDDISC\\\",438:\\\"TBILLEQ\\\",439:\\\"TBILLPRICE\\\",440:\\\"TBILLYIELD\\\",441:\\\"PRICE\\\",442:\\\"YIELD\\\",443:\\\"DOLLARDE\\\",444:\\\"DOLLARFR\\\",445:\\\"NOMINAL\\\",446:\\\"EFFECT\\\",447:\\\"CUMPRINC\\\",448:\\\"CUMIPMT\\\",449:\\\"EDATE\\\",450:\\\"EOMONTH\\\",451:\\\"YEARFRAC\\\",452:\\\"COUPDAYBS\\\",453:\\\"COUPDAYS\\\",454:\\\"COUPDAYSNC\\\",455:\\\"COUPNCD\\\",456:\\\"COUPNUM\\\",457:\\\"COUPPCD\\\",458:\\\"DURATION\\\",459:\\\"MDURATION\\\",460:\\\"ODDLPRICE\\\",461:\\\"ODDLYIELD\\\",462:\\\"ODDFPRICE\\\",463:\\\"ODDFYIELD\\\",464:\\\"RANDBETWEEN\\\",465:\\\"WEEKNUM\\\",466:\\\"AMORDEGRC\\\",467:\\\"AMORLINC\\\",468:\\\"CONVERT\\\",724:\\\"SHEETJS\\\",469:\\\"ACCRINT\\\",470:\\\"ACCRINTM\\\",471:\\\"WORKDAY\\\",472:\\\"NETWORKDAYS\\\",473:\\\"GCD\\\",474:\\\"MULTINOMIAL\\\",475:\\\"LCM\\\",476:\\\"FVSCHEDULE\\\",477:\\\"CUBEKPIMEMBER\\\",478:\\\"CUBESET\\\",479:\\\"CUBESETCOUNT\\\",480:\\\"IFERROR\\\",481:\\\"COUNTIFS\\\",482:\\\"SUMIFS\\\",483:\\\"AVERAGEIF\\\",484:\\\"AVERAGEIFS\\\"},xx={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function li(e){return e.slice(0,3)==\\\"of:\\\"&&(e=e.slice(3)),e.charCodeAt(0)==61&&(e=e.slice(1),e.charCodeAt(0)==61&&(e=e.slice(1))),e=e.replace(/COM\\\\.MICROSOFT\\\\./g,\\\"\\\"),e=e.replace(/\\\\[((?:\\\\.[A-Z]+[0-9]+)(?::\\\\.[A-Z]+[0-9]+)?)\\\\]/g,function(t,r){return r.replace(/\\\\./g,\\\"\\\")}),e=e.replace(/\\\\[.(#[A-Z]*[?!])\\\\]/g,\\\"$1\\\"),e.replace(/[;~]/g,\\\",\\\").replace(/\\\\|/g,\\\";\\\")}function cn(e){var t=e.split(\\\":\\\"),r=t[0].split(\\\".\\\")[0];return[r,t[0].split(\\\".\\\")[1]+(t.length>1?\\\":\\\"+(t[1].split(\\\".\\\")[1]||t[1].split(\\\".\\\")[0]):\\\"\\\")]}var Jt={},Ct={};function qt(e,t){if(e){var r=[.7,.7,.75,.75,.3,.3];t==\\\"xlml\\\"&&(r=[1,1,1,1,.5,.5]),e.left==null&&(e.left=r[0]),e.right==null&&(e.right=r[1]),e.top==null&&(e.top=r[2]),e.bottom==null&&(e.bottom=r[3]),e.header==null&&(e.header=r[4]),e.footer==null&&(e.footer=r[5])}}function Bs(e,t,r,n,a,i){try{n.cellNF&&(e.z=Se[t])}catch(s){if(n.WTF)throw s}if(!(e.t===\\\"z\\\"&&!n.cellStyles)){if(e.t===\\\"d\\\"&&typeof e.v==\\\"string\\\"&&(e.v=ar(e.v)),(!n||n.cellText!==!1)&&e.t!==\\\"z\\\")try{if(Se[t]==null&&ut(xc[t]||\\\"General\\\",t),e.t===\\\"e\\\")e.w=e.w||kt[e.v];else if(t===0)if(e.t===\\\"n\\\")(e.v|0)===e.v?e.w=e.v.toString(10):e.w=Qt(e.v);else if(e.t===\\\"d\\\"){var f=_r(e.v);(f|0)===f?e.w=f.toString(10):e.w=Qt(f)}else{if(e.v===void 0)return\\\"\\\";e.w=dt(e.v,Ct)}else e.t===\\\"d\\\"?e.w=Or(t,_r(e.v),Ct):e.w=Or(t,e.v,Ct)}catch(s){if(n.WTF)throw s}if(n.cellStyles&&r!=null)try{e.s=i.Fills[r],e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb&&(e.s.fgColor.rgb=Ma(a.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0),n.WTF&&(e.s.fgColor.raw_rgb=a.themeElements.clrScheme[e.s.fgColor.theme].rgb)),e.s.bgColor&&e.s.bgColor.theme&&(e.s.bgColor.rgb=Ma(a.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0),n.WTF&&(e.s.bgColor.raw_rgb=a.themeElements.clrScheme[e.s.bgColor.theme].rgb))}catch(s){if(n.WTF&&i.Fills)throw s}}}function dx(e,t){var r=Xe(t);r.s.r<=r.e.r&&r.s.c<=r.e.c&&r.s.r>=0&&r.s.c>=0&&(e[\\\"!ref\\\"]=De(r))}var px=/<(?:\\\\w:)?mergeCell ref=\\\"[A-Z0-9:]+\\\"\\\\s*[\\\\/]?>/g,vx=/<(?:\\\\w+:)?sheetData[^>]*>([\\\\s\\\\S]*)<\\\\/(?:\\\\w+:)?sheetData>/,mx=/<(?:\\\\w:)?hyperlink [^>]*>/mg,gx=/\\\"(\\\\w*:\\\\w*)\\\"/,_x=/<(?:\\\\w:)?col\\\\b[^>]*[\\\\/]?>/g,wx=/<(?:\\\\w:)?autoFilter[^>]*([\\\\/]|>([\\\\s\\\\S]*)<\\\\/(?:\\\\w:)?autoFilter)>/g,kx=/<(?:\\\\w:)?pageMargins[^>]*\\\\/>/g,Ms=/<(?:\\\\w:)?sheetPr\\\\b(?:[^>a-z][^>]*)?\\\\/>/,Ex=/<(?:\\\\w:)?sheetPr[^>]*(?:[\\\\/]|>([\\\\s\\\\S]*)<\\\\/(?:\\\\w:)?sheetPr)>/,Tx=/<(?:\\\\w:)?sheetViews[^>]*(?:[\\\\/]|>([\\\\s\\\\S]*)<\\\\/(?:\\\\w:)?sheetViews)>/;function Sx(e,t,r,n,a,i,f){if(!e)return e;n||(n={\\\"!id\\\":{}}),qe!=null&&t.dense==null&&(t.dense=qe);var s=t.dense?[]:{},c={s:{r:2e6,c:2e6},e:{r:0,c:0}},l=\\\"\\\",o=\\\"\\\",h=e.match(vx);h?(l=e.slice(0,h.index),o=e.slice(h.index+h[0].length)):l=o=e;var x=l.match(Ms);x?Kn(x[0],s,a,r):(x=l.match(Ex))&&Fx(x[0],x[1]||\\\"\\\",s,a,r,f,i);var d=(l.match(/<(?:\\\\w*:)?dimension/)||{index:-1}).index;if(d>0){var p=l.slice(d,d+50).match(gx);p&&dx(s,p[1])}var u=l.match(Tx);u&&u[1]&&Dx(u[1],a);var g=[];if(t.cellStyles){var N=l.match(_x);N&&Cx(g,N)}h&&bx(h[1],s,t,c,i,f);var D=o.match(wx);D&&(s[\\\"!autofilter\\\"]=Rx(D[0]));var k=[],W=o.match(px);if(W)for(d=0;d!=W.length;++d)k[d]=Xe(W[d].slice(W[d].indexOf('\\\"')+1));var J=o.match(mx);J&&yx(s,J,n);var T=o.match(kx);if(T&&(s[\\\"!margins\\\"]=Ax(me(T[0]))),!s[\\\"!ref\\\"]&&c.e.c>=c.s.c&&c.e.r>=c.s.r&&(s[\\\"!ref\\\"]=De(c)),t.sheetRows>0&&s[\\\"!ref\\\"]){var w=Xe(s[\\\"!ref\\\"]);t.sheetRows<=+w.e.r&&(w.e.r=t.sheetRows-1,w.e.r>c.e.r&&(w.e.r=c.e.r),w.e.r<w.s.r&&(w.s.r=w.e.r),w.e.c>c.e.c&&(w.e.c=c.e.c),w.e.c<w.s.c&&(w.s.c=w.e.c),s[\\\"!fullref\\\"]=s[\\\"!ref\\\"],s[\\\"!ref\\\"]=De(w))}return g.length>0&&(s[\\\"!cols\\\"]=g),k.length>0&&(s[\\\"!merges\\\"]=k),s}function Kn(e,t,r,n){var a=me(e);r.Sheets[n]||(r.Sheets[n]={}),a.codeName&&(r.Sheets[n].CodeName=Ie(Be(a.codeName)))}function Fx(e,t,r,n,a){Kn(e.slice(0,e.indexOf(\\\">\\\")),r,n,a)}function yx(e,t,r){for(var n=Array.isArray(e),a=0;a!=t.length;++a){var i=me(Be(t[a]),!0);if(!i.ref)return;var f=((r||{})[\\\"!id\\\"]||[])[i.id];f?(i.Target=f.Target,i.location&&(i.Target+=\\\"#\\\"+Ie(i.location))):(i.Target=\\\"#\\\"+Ie(i.location),f={Target:i.Target,TargetMode:\\\"Internal\\\"}),i.Rel=f,i.tooltip&&(i.Tooltip=i.tooltip,delete i.tooltip);for(var s=Xe(i.ref),c=s.s.r;c<=s.e.r;++c)for(var l=s.s.c;l<=s.e.c;++l){var o=Te({c:l,r:c});n?(e[c]||(e[c]=[]),e[c][l]||(e[c][l]={t:\\\"z\\\",v:void 0}),e[c][l].l=i):(e[o]||(e[o]={t:\\\"z\\\",v:void 0}),e[o].l=i)}}}function Ax(e){var t={};return[\\\"left\\\",\\\"right\\\",\\\"top\\\",\\\"bottom\\\",\\\"header\\\",\\\"footer\\\"].forEach(function(r){e[r]&&(t[r]=parseFloat(e[r]))}),t}function Cx(e,t){for(var r=!1,n=0;n!=t.length;++n){var a=me(t[n],!0);a.hidden&&(a.hidden=Ue(a.hidden));var i=parseInt(a.min,10)-1,f=parseInt(a.max,10)-1;for(a.outlineLevel&&(a.level=+a.outlineLevel||0),delete a.min,delete a.max,a.width=+a.width,!r&&a.width&&(r=!0,zn(a.width)),Dt(a);i<=f;)e[i++]=ir(a)}}function Rx(e){var t={ref:(e.match(/ref=\\\"([^\\\"]*)\\\"/)||[])[1]};return t}var Ox=/<(?:\\\\w:)?sheetView(?:[^>a-z][^>]*)?\\\\/?>/;function Dx(e,t){t.Views||(t.Views=[{}]),(e.match(Ox)||[]).forEach(function(r,n){var a=me(r);t.Views[n]||(t.Views[n]={}),+a.zoomScale&&(t.Views[n].zoom=+a.zoomScale),Ue(a.rightToLeft)&&(t.Views[n].RTL=!0)})}var bx=(function(){var e=/<(?:\\\\w+:)?c[ \\\\/>]/,t=/<\\\\/(?:\\\\w+:)?row>/,r=/r=[\\\"']([^\\\"']*)[\\\"']/,n=/<(?:\\\\w+:)?is>([\\\\S\\\\s]*?)<\\\\/(?:\\\\w+:)?is>/,a=/ref=[\\\"']([^\\\"']*)[\\\"']/,i=ea(\\\"v\\\"),f=ea(\\\"f\\\");return function(c,l,o,h,x,d){for(var p=0,u=\\\"\\\",g=[],N=[],D=0,k=0,W=0,J=\\\"\\\",T,w,P=0,R=0,M,I,v=0,_=0,U=Array.isArray(d.CellXf),V,Z=[],ee=[],ne=Array.isArray(l),H=[],te={},K=!1,A=!!o.sheetStubs,B=c.split(t),L=0,b=B.length;L!=b;++L){u=B[L].trim();var X=u.length;if(X!==0){var le=0;e:for(p=0;p<X;++p)switch(u[p]){case\\\">\\\":if(u[p-1]!=\\\"/\\\"){++p;break e}if(o&&o.cellStyles){if(w=me(u.slice(le,p),!0),P=w.r!=null?parseInt(w.r,10):P+1,R=-1,o.sheetRows&&o.sheetRows<P)continue;te={},K=!1,w.ht&&(K=!0,te.hpt=parseFloat(w.ht),te.hpx=na(te.hpt)),w.hidden==\\\"1\\\"&&(K=!0,te.hidden=!0),w.outlineLevel!=null&&(K=!0,te.level=+w.outlineLevel),K&&(H[P-1]=te)}break;case\\\"<\\\":le=p;break}if(le>=p)break;if(w=me(u.slice(le,p),!0),P=w.r!=null?parseInt(w.r,10):P+1,R=-1,!(o.sheetRows&&o.sheetRows<P)){h.s.r>P-1&&(h.s.r=P-1),h.e.r<P-1&&(h.e.r=P-1),o&&o.cellStyles&&(te={},K=!1,w.ht&&(K=!0,te.hpt=parseFloat(w.ht),te.hpx=na(te.hpt)),w.hidden==\\\"1\\\"&&(K=!0,te.hidden=!0),w.outlineLevel!=null&&(K=!0,te.level=+w.outlineLevel),K&&(H[P-1]=te)),g=u.slice(p).split(e);for(var re=0;re!=g.length&&g[re].trim().charAt(0)==\\\"<\\\";++re);for(g=g.slice(re),p=0;p!=g.length;++p)if(u=g[p].trim(),u.length!==0){if(N=u.match(r),D=p,k=0,W=0,u=\\\"<c \\\"+(u.slice(0,1)==\\\"<\\\"?\\\">\\\":\\\"\\\")+u,N!=null&&N.length===2){for(D=0,J=N[1],k=0;k!=J.length&&!((W=J.charCodeAt(k)-64)<1||W>26);++k)D=26*D+W;--D,R=D}else++R;for(k=0;k!=u.length&&u.charCodeAt(k)!==62;++k);if(++k,w=me(u.slice(0,k),!0),w.r||(w.r=Te({r:P-1,c:R})),J=u.slice(k),T={t:\\\"\\\"},(N=J.match(i))!=null&&N[1]!==\\\"\\\"&&(T.v=Ie(N[1])),o.cellFormula){if((N=J.match(f))!=null&&N[1]!==\\\"\\\"){if(T.f=Ie(Be(N[1])).replace(/\\\\r\\\\n/g,`\\n`),o.xlfn||(T.f=si(T.f)),N[0].indexOf('t=\\\"array\\\"')>-1)T.F=(J.match(a)||[])[1],T.F.indexOf(\\\":\\\")>-1&&Z.push([Xe(T.F),T.F]);else if(N[0].indexOf('t=\\\"shared\\\"')>-1){I=me(N[0]);var ae=Ie(Be(N[1]));o.xlfn||(ae=si(ae)),ee[parseInt(I.si,10)]=[I,ae,w.r]}}else(N=J.match(/<f[^>]*\\\\/>/))&&(I=me(N[0]),ee[I.si]&&(T.f=Xu(ee[I.si][1],ee[I.si][2],w.r)));var Q=gr(w.r);for(k=0;k<Z.length;++k)Q.r>=Z[k][0].s.r&&Q.r<=Z[k][0].e.r&&Q.c>=Z[k][0].s.c&&Q.c<=Z[k][0].e.c&&(T.F=Z[k][1])}if(w.t==null&&T.v===void 0)if(T.f||T.F)T.v=0,T.t=\\\"n\\\";else if(A)T.t=\\\"z\\\";else continue;else T.t=w.t||\\\"n\\\";switch(h.s.c>R&&(h.s.c=R),h.e.c<R&&(h.e.c=R),T.t){case\\\"n\\\":if(T.v==\\\"\\\"||T.v==null){if(!A)continue;T.t=\\\"z\\\"}else T.v=parseFloat(T.v);break;case\\\"s\\\":if(typeof T.v>\\\"u\\\"){if(!A)continue;T.t=\\\"z\\\"}else M=Jt[parseInt(T.v,10)],T.v=M.t,T.r=M.r,o.cellHTML&&(T.h=M.h);break;case\\\"str\\\":T.t=\\\"s\\\",T.v=T.v!=null?Be(T.v):\\\"\\\",o.cellHTML&&(T.h=On(T.v));break;case\\\"inlineStr\\\":N=J.match(n),T.t=\\\"s\\\",N!=null&&(M=Gn(N[1]))?(T.v=M.t,o.cellHTML&&(T.h=M.h)):T.v=\\\"\\\";break;case\\\"b\\\":T.v=Ue(T.v);break;case\\\"d\\\":o.cellDates?T.v=ar(T.v,1):(T.v=_r(ar(T.v,1)),T.t=\\\"n\\\");break;case\\\"e\\\":(!o||o.cellText!==!1)&&(T.w=T.v),T.v=is[T.v];break}if(v=_=0,V=null,U&&w.s!==void 0&&(V=d.CellXf[w.s],V!=null&&(V.numFmtId!=null&&(v=V.numFmtId),o.cellStyles&&V.fillId!=null&&(_=V.fillId))),Bs(T,v,_,o,x,d),o.cellDates&&U&&T.t==\\\"n\\\"&&bt(Se[v])&&(T.t=\\\"d\\\",T.v=Xa(T.v)),w.cm&&o.xlmeta){var pe=(o.xlmeta.Cell||[])[+w.cm-1];pe&&pe.type==\\\"XLDAPR\\\"&&(T.D=!0)}if(ne){var O=gr(w.r);l[O.r]||(l[O.r]=[]),l[O.r][O.c]=T}else l[w.r]=T}}}}H.length>0&&(l[\\\"!rows\\\"]=H)}})();function Ix(e,t){var r={},n=e.l+t;r.r=e.read_shift(4),e.l+=4;var a=e.read_shift(2);e.l+=1;var i=e.read_shift(1);return e.l=n,i&7&&(r.level=i&7),i&16&&(r.hidden=!0),i&32&&(r.hpt=a/20),r}var Nx=wt;function Px(){}function Lx(e,t){var r={},n=e[e.l];return++e.l,r.above=!(n&64),r.left=!(n&128),e.l+=18,r.name=ao(e,t-19),r}function Bx(e){var t=Dr(e);return[t]}function Mx(e){var t=_t(e);return[t]}function Ux(e){var t=Dr(e),r=e.read_shift(1);return[t,r,\\\"b\\\"]}function Wx(e){var t=_t(e),r=e.read_shift(1);return[t,r,\\\"b\\\"]}function Hx(e){var t=Dr(e),r=e.read_shift(1);return[t,r,\\\"e\\\"]}function Vx(e){var t=_t(e),r=e.read_shift(1);return[t,r,\\\"e\\\"]}function Xx(e){var t=Dr(e),r=e.read_shift(4);return[t,r,\\\"s\\\"]}function Gx(e){var t=_t(e),r=e.read_shift(4);return[t,r,\\\"s\\\"]}function zx(e){var t=Dr(e),r=lr(e);return[t,r,\\\"n\\\"]}function Us(e){var t=_t(e),r=lr(e);return[t,r,\\\"n\\\"]}function jx(e){var t=Dr(e),r=Hn(e);return[t,r,\\\"n\\\"]}function Kx(e){var t=_t(e),r=Hn(e);return[t,r,\\\"n\\\"]}function $x(e){var t=Dr(e),r=Un(e);return[t,r,\\\"is\\\"]}function Yx(e){var t=Dr(e),r=xr(e);return[t,r,\\\"str\\\"]}function Jx(e){var t=_t(e),r=xr(e);return[t,r,\\\"str\\\"]}function qx(e,t,r){var n=e.l+t,a=Dr(e);a.r=r[\\\"!row\\\"];var i=e.read_shift(1),f=[a,i,\\\"b\\\"];if(r.cellFormula){e.l+=2;var s=Ka(e,n-e.l,r);f[3]=or(s,null,a,r.supbooks,r)}else e.l=n;return f}function Zx(e,t,r){var n=e.l+t,a=Dr(e);a.r=r[\\\"!row\\\"];var i=e.read_shift(1),f=[a,i,\\\"e\\\"];if(r.cellFormula){e.l+=2;var s=Ka(e,n-e.l,r);f[3]=or(s,null,a,r.supbooks,r)}else e.l=n;return f}function Qx(e,t,r){var n=e.l+t,a=Dr(e);a.r=r[\\\"!row\\\"];var i=lr(e),f=[a,i,\\\"n\\\"];if(r.cellFormula){e.l+=2;var s=Ka(e,n-e.l,r);f[3]=or(s,null,a,r.supbooks,r)}else e.l=n;return f}function ed(e,t,r){var n=e.l+t,a=Dr(e);a.r=r[\\\"!row\\\"];var i=xr(e),f=[a,i,\\\"str\\\"];if(r.cellFormula){e.l+=2;var s=Ka(e,n-e.l,r);f[3]=or(s,null,a,r.supbooks,r)}else e.l=n;return f}var rd=wt;function td(e,t){var r=e.l+t,n=wt(e,16),a=Wn(e),i=xr(e),f=xr(e),s=xr(e);e.l=r;var c={rfx:n,relId:a,loc:i,display:s};return f&&(c.Tooltip=f),c}function ad(){}function nd(e,t,r){var n=e.l+t,a=ts(e,16),i=e.read_shift(1),f=[a];if(f[2]=i,r.cellFormula){var s=ox(e,n-e.l,r);f[1]=s}else e.l=n;return f}function id(e,t,r){var n=e.l+t,a=wt(e,16),i=[a];if(r.cellFormula){var f=hx(e,n-e.l,r);i[1]=f,e.l=n}else e.l=n;return i}var sd=[\\\"left\\\",\\\"right\\\",\\\"top\\\",\\\"bottom\\\",\\\"header\\\",\\\"footer\\\"];function fd(e){var t={};return sd.forEach(function(r){t[r]=lr(e,8)}),t}function cd(e){var t=e.read_shift(2);return e.l+=28,{RTL:t&32}}function od(){}function ld(){}function hd(e,t,r,n,a,i,f){if(!e)return e;var s=t||{};n||(n={\\\"!id\\\":{}}),qe!=null&&s.dense==null&&(s.dense=qe);var c=s.dense?[]:{},l,o={s:{r:2e6,c:2e6},e:{r:0,c:0}},h=[],x=!1,d=!1,p,u,g,N,D,k,W,J,T,w=[];s.biff=12,s[\\\"!row\\\"]=0;var P=0,R=!1,M=[],I={},v=s.supbooks||a.supbooks||[[]];if(v.sharedf=I,v.arrayf=M,v.SheetNames=a.SheetNames||a.Sheets.map(function(te){return te.name}),!s.supbooks&&(s.supbooks=v,a.Names))for(var _=0;_<a.Names.length;++_)v[0][_+1]=a.Names[_];var U=[],V=[],Z=!1;Ha[16]={n:\\\"BrtShortReal\\\",f:Us};var ee,ne;if(Zr(e,function(K,A,B){if(!d)switch(B){case 148:l=K;break;case 0:p=K,s.sheetRows&&s.sheetRows<=p.r&&(d=!0),J=sr(N=p.r),s[\\\"!row\\\"]=p.r,(K.hidden||K.hpt||K.level!=null)&&(K.hpt&&(K.hpx=na(K.hpt)),V[K.r]=K);break;case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:case 62:switch(u={t:K[2]},K[2]){case\\\"n\\\":u.v=K[1];break;case\\\"s\\\":W=Jt[K[1]],u.v=W.t,u.r=W.r;break;case\\\"b\\\":u.v=!!K[1];break;case\\\"e\\\":u.v=K[1],s.cellText!==!1&&(u.w=kt[u.v]);break;case\\\"str\\\":u.t=\\\"s\\\",u.v=K[1];break;case\\\"is\\\":u.t=\\\"s\\\",u.v=K[1].t;break}if((g=f.CellXf[K[0].iStyleRef])&&Bs(u,g.numFmtId,null,s,i,f),D=K[0].c==-1?D+1:K[0].c,s.dense?(c[N]||(c[N]=[]),c[N][D]=u):c[Ze(D)+J]=u,s.cellFormula){for(R=!1,P=0;P<M.length;++P){var L=M[P];p.r>=L[0].s.r&&p.r<=L[0].e.r&&D>=L[0].s.c&&D<=L[0].e.c&&(u.F=De(L[0]),R=!0)}!R&&K.length>3&&(u.f=K[3])}if(o.s.r>p.r&&(o.s.r=p.r),o.s.c>D&&(o.s.c=D),o.e.r<p.r&&(o.e.r=p.r),o.e.c<D&&(o.e.c=D),s.cellDates&&g&&u.t==\\\"n\\\"&&bt(Se[g.numFmtId])){var b=ht(u.v);b&&(u.t=\\\"d\\\",u.v=new Date(b.y,b.m-1,b.d,b.H,b.M,b.S,b.u))}ee&&(ee.type==\\\"XLDAPR\\\"&&(u.D=!0),ee=void 0),ne&&(ne=void 0);break;case 1:case 12:if(!s.sheetStubs||x)break;u={t:\\\"z\\\",v:void 0},D=K[0].c==-1?D+1:K[0].c,s.dense?(c[N]||(c[N]=[]),c[N][D]=u):c[Ze(D)+J]=u,o.s.r>p.r&&(o.s.r=p.r),o.s.c>D&&(o.s.c=D),o.e.r<p.r&&(o.e.r=p.r),o.e.c<D&&(o.e.c=D),ee&&(ee.type==\\\"XLDAPR\\\"&&(u.D=!0),ee=void 0),ne&&(ne=void 0);break;case 176:w.push(K);break;case 49:ee=((s.xlmeta||{}).Cell||[])[K-1];break;case 494:var X=n[\\\"!id\\\"][K.relId];for(X?(K.Target=X.Target,K.loc&&(K.Target+=\\\"#\\\"+K.loc),K.Rel=X):K.relId==\\\"\\\"&&(K.Target=\\\"#\\\"+K.loc),N=K.rfx.s.r;N<=K.rfx.e.r;++N)for(D=K.rfx.s.c;D<=K.rfx.e.c;++D)s.dense?(c[N]||(c[N]=[]),c[N][D]||(c[N][D]={t:\\\"z\\\",v:void 0}),c[N][D].l=K):(k=Te({c:D,r:N}),c[k]||(c[k]={t:\\\"z\\\",v:void 0}),c[k].l=K);break;case 426:if(!s.cellFormula)break;M.push(K),T=s.dense?c[N][D]:c[Ze(D)+J],T.f=or(K[1],o,{r:p.r,c:D},v,s),T.F=De(K[0]);break;case 427:if(!s.cellFormula)break;I[Te(K[0].s)]=K[1],T=s.dense?c[N][D]:c[Ze(D)+J],T.f=or(K[1],o,{r:p.r,c:D},v,s);break;case 60:if(!s.cellStyles)break;for(;K.e>=K.s;)U[K.e--]={width:K.w/256,hidden:!!(K.flags&1),level:K.level},Z||(Z=!0,zn(K.w/256)),Dt(U[K.e+1]);break;case 161:c[\\\"!autofilter\\\"]={ref:De(K)};break;case 476:c[\\\"!margins\\\"]=K;break;case 147:a.Sheets[r]||(a.Sheets[r]={}),K.name&&(a.Sheets[r].CodeName=K.name),(K.above||K.left)&&(c[\\\"!outline\\\"]={above:K.above,left:K.left});break;case 137:a.Views||(a.Views=[{}]),a.Views[0]||(a.Views[0]={}),K.RTL&&(a.Views[0].RTL=!0);break;case 485:break;case 64:case 1053:break;case 151:break;case 152:case 175:case 644:case 625:case 562:case 396:case 1112:case 1146:case 471:case 1050:case 649:case 1105:case 589:case 607:case 564:case 1055:case 168:case 174:case 1180:case 499:case 507:case 550:case 171:case 167:case 1177:case 169:case 1181:case 551:case 552:case 661:case 639:case 478:case 537:case 477:case 536:case 1103:case 680:case 1104:case 1024:case 663:case 535:case 678:case 504:case 1043:case 428:case 170:case 3072:case 50:case 2070:case 1045:break;case 35:x=!0;break;case 36:x=!1;break;case 37:h.push(B),x=!0;break;case 38:h.pop(),x=!1;break;default:if(!A.T){if(!x||s.WTF)throw new Error(\\\"Unexpected record 0x\\\"+B.toString(16))}}},s),delete s.supbooks,delete s[\\\"!row\\\"],!c[\\\"!ref\\\"]&&(o.s.r<2e6||l&&(l.e.r>0||l.e.c>0||l.s.r>0||l.s.c>0))&&(c[\\\"!ref\\\"]=De(l||o)),s.sheetRows&&c[\\\"!ref\\\"]){var H=Xe(c[\\\"!ref\\\"]);s.sheetRows<=+H.e.r&&(H.e.r=s.sheetRows-1,H.e.r>o.e.r&&(H.e.r=o.e.r),H.e.r<H.s.r&&(H.s.r=H.e.r),H.e.c>o.e.c&&(H.e.c=o.e.c),H.e.c<H.s.c&&(H.s.c=H.e.c),c[\\\"!fullref\\\"]=c[\\\"!ref\\\"],c[\\\"!ref\\\"]=De(H))}return w.length>0&&(c[\\\"!merges\\\"]=w),U.length>0&&(c[\\\"!cols\\\"]=U),V.length>0&&(c[\\\"!rows\\\"]=V),c}function ud(e){var t=[],r=e.match(/^<c:numCache>/),n;(e.match(/<c:pt idx=\\\"(\\\\d*)\\\">(.*?)<\\\\/c:pt>/mg)||[]).forEach(function(i){var f=i.match(/<c:pt idx=\\\"(\\\\d*?)\\\"><c:v>(.*)<\\\\/c:v><\\\\/c:pt>/);f&&(t[+f[1]]=r?+f[2]:f[2])});var a=Ie((e.match(/<c:formatCode>([\\\\s\\\\S]*?)<\\\\/c:formatCode>/)||[\\\"\\\",\\\"General\\\"])[1]);return(e.match(/<c:f>(.*?)<\\\\/c:f>/mg)||[]).forEach(function(i){n=i.replace(/<.*?>/g,\\\"\\\")}),[t,a,n]}function xd(e,t,r,n,a,i){var f=i||{\\\"!type\\\":\\\"chart\\\"};if(!e)return i;var s=0,c=0,l=\\\"A\\\",o={s:{r:2e6,c:2e6},e:{r:0,c:0}};return(e.match(/<c:numCache>[\\\\s\\\\S]*?<\\\\/c:numCache>/gm)||[]).forEach(function(h){var x=ud(h);o.s.r=o.s.c=0,o.e.c=s,l=Ze(s),x[0].forEach(function(d,p){f[l+sr(p)]={t:\\\"n\\\",v:d,z:x[1]},c=p}),o.e.r<c&&(o.e.r=c),++s}),s>0&&(f[\\\"!ref\\\"]=De(o)),f}function dd(e,t,r,n,a){if(!e)return e;n||(n={\\\"!id\\\":{}});var i={\\\"!type\\\":\\\"chart\\\",\\\"!drawel\\\":null,\\\"!rel\\\":\\\"\\\"},f,s=e.match(Ms);return s&&Kn(s[0],i,a,r),(f=e.match(/drawing r:id=\\\"(.*?)\\\"/))&&(i[\\\"!rel\\\"]=f[1]),n[\\\"!id\\\"][i[\\\"!rel\\\"]]&&(i[\\\"!drawel\\\"]=n[\\\"!id\\\"][i[\\\"!rel\\\"]]),i}function pd(e,t){e.l+=10;var r=xr(e,t-10);return{name:r}}function vd(e,t,r,n,a){if(!e)return e;n||(n={\\\"!id\\\":{}});var i={\\\"!type\\\":\\\"chart\\\",\\\"!drawel\\\":null,\\\"!rel\\\":\\\"\\\"},f=[],s=!1;return Zr(e,function(l,o,h){switch(h){case 550:i[\\\"!rel\\\"]=l;break;case 651:a.Sheets[r]||(a.Sheets[r]={}),l.name&&(a.Sheets[r].CodeName=l.name);break;case 562:case 652:case 669:case 679:case 551:case 552:case 476:case 3072:break;case 35:s=!0;break;case 36:s=!1;break;case 37:f.push(h);break;case 38:f.pop();break;default:if(o.T>0)f.push(h);else if(o.T<0)f.pop();else if(!s||t.WTF)throw new Error(\\\"Unexpected record 0x\\\"+h.toString(16))}},t),n[\\\"!id\\\"][i[\\\"!rel\\\"]]&&(i[\\\"!drawel\\\"]=n[\\\"!id\\\"][i[\\\"!rel\\\"]]),i}var Ws=[[\\\"allowRefreshQuery\\\",!1,\\\"bool\\\"],[\\\"autoCompressPictures\\\",!0,\\\"bool\\\"],[\\\"backupFile\\\",!1,\\\"bool\\\"],[\\\"checkCompatibility\\\",!1,\\\"bool\\\"],[\\\"CodeName\\\",\\\"\\\"],[\\\"date1904\\\",!1,\\\"bool\\\"],[\\\"defaultThemeVersion\\\",0,\\\"int\\\"],[\\\"filterPrivacy\\\",!1,\\\"bool\\\"],[\\\"hidePivotFieldList\\\",!1,\\\"bool\\\"],[\\\"promptedSolutions\\\",!1,\\\"bool\\\"],[\\\"publishItems\\\",!1,\\\"bool\\\"],[\\\"refreshAllConnections\\\",!1,\\\"bool\\\"],[\\\"saveExternalLinkValues\\\",!0,\\\"bool\\\"],[\\\"showBorderUnselectedTables\\\",!0,\\\"bool\\\"],[\\\"showInkAnnotation\\\",!0,\\\"bool\\\"],[\\\"showObjects\\\",\\\"all\\\"],[\\\"showPivotChartFilter\\\",!1,\\\"bool\\\"],[\\\"updateLinks\\\",\\\"userSet\\\"]],md=[[\\\"activeTab\\\",0,\\\"int\\\"],[\\\"autoFilterDateGrouping\\\",!0,\\\"bool\\\"],[\\\"firstSheet\\\",0,\\\"int\\\"],[\\\"minimized\\\",!1,\\\"bool\\\"],[\\\"showHorizontalScroll\\\",!0,\\\"bool\\\"],[\\\"showSheetTabs\\\",!0,\\\"bool\\\"],[\\\"showVerticalScroll\\\",!0,\\\"bool\\\"],[\\\"tabRatio\\\",600,\\\"int\\\"],[\\\"visibility\\\",\\\"visible\\\"]],gd=[],_d=[[\\\"calcCompleted\\\",\\\"true\\\"],[\\\"calcMode\\\",\\\"auto\\\"],[\\\"calcOnSave\\\",\\\"true\\\"],[\\\"concurrentCalc\\\",\\\"true\\\"],[\\\"fullCalcOnLoad\\\",\\\"false\\\"],[\\\"fullPrecision\\\",\\\"true\\\"],[\\\"iterate\\\",\\\"false\\\"],[\\\"iterateCount\\\",\\\"100\\\"],[\\\"iterateDelta\\\",\\\"0.001\\\"],[\\\"refMode\\\",\\\"A1\\\"]];function hi(e,t){for(var r=0;r!=e.length;++r)for(var n=e[r],a=0;a!=t.length;++a){var i=t[a];if(n[i[0]]==null)n[i[0]]=i[1];else switch(i[2]){case\\\"bool\\\":typeof n[i[0]]==\\\"string\\\"&&(n[i[0]]=Ue(n[i[0]]));break;case\\\"int\\\":typeof n[i[0]]==\\\"string\\\"&&(n[i[0]]=parseInt(n[i[0]],10));break}}}function ui(e,t){for(var r=0;r!=t.length;++r){var n=t[r];if(e[n[0]]==null)e[n[0]]=n[1];else switch(n[2]){case\\\"bool\\\":typeof e[n[0]]==\\\"string\\\"&&(e[n[0]]=Ue(e[n[0]]));break;case\\\"int\\\":typeof e[n[0]]==\\\"string\\\"&&(e[n[0]]=parseInt(e[n[0]],10));break}}}function Hs(e){ui(e.WBProps,Ws),ui(e.CalcPr,_d),hi(e.WBView,md),hi(e.Sheets,gd),Ct.date1904=Ue(e.WBProps.date1904)}var wd=\\\"][*?/\\\\\\\\\\\".split(\\\"\\\");function kd(e,t){if(e.length>31){if(t)return!1;throw new Error(\\\"Sheet names cannot exceed 31 chars\\\")}var r=!0;return wd.forEach(function(n){if(e.indexOf(n)!=-1){if(!t)throw new Error(\\\"Sheet name cannot contain : \\\\\\\\ / ? * [ ]\\\");r=!1}}),r}var Ed=/<\\\\w+:workbook/;function Td(e,t){if(!e)throw new Error(\\\"Could not find file\\\");var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},Names:[],xmlns:\\\"\\\"},n=!1,a=\\\"xmlns\\\",i={},f=0;if(e.replace(pr,function(c,l){var o=me(c);switch(Xr(o[0])){case\\\"<?xml\\\":break;case\\\"<workbook\\\":c.match(Ed)&&(a=\\\"xmlns\\\"+c.match(/<(\\\\w+):/)[1]),r.xmlns=o[a];break;case\\\"</workbook>\\\":break;case\\\"<fileVersion\\\":delete o[0],r.AppVersion=o;break;case\\\"<fileVersion/>\\\":case\\\"</fileVersion>\\\":break;case\\\"<fileSharing\\\":break;case\\\"<fileSharing/>\\\":break;case\\\"<workbookPr\\\":case\\\"<workbookPr/>\\\":Ws.forEach(function(h){if(o[h[0]]!=null)switch(h[2]){case\\\"bool\\\":r.WBProps[h[0]]=Ue(o[h[0]]);break;case\\\"int\\\":r.WBProps[h[0]]=parseInt(o[h[0]],10);break;default:r.WBProps[h[0]]=o[h[0]]}}),o.codeName&&(r.WBProps.CodeName=Be(o.codeName));break;case\\\"</workbookPr>\\\":break;case\\\"<workbookProtection\\\":break;case\\\"<workbookProtection/>\\\":break;case\\\"<bookViews\\\":case\\\"<bookViews>\\\":case\\\"</bookViews>\\\":break;case\\\"<workbookView\\\":case\\\"<workbookView/>\\\":delete o[0],r.WBView.push(o);break;case\\\"</workbookView>\\\":break;case\\\"<sheets\\\":case\\\"<sheets>\\\":case\\\"</sheets>\\\":break;case\\\"<sheet\\\":switch(o.state){case\\\"hidden\\\":o.Hidden=1;break;case\\\"veryHidden\\\":o.Hidden=2;break;default:o.Hidden=0}delete o.state,o.name=Ie(Be(o.name)),delete o[0],r.Sheets.push(o);break;case\\\"</sheet>\\\":break;case\\\"<functionGroups\\\":case\\\"<functionGroups/>\\\":break;case\\\"<functionGroup\\\":break;case\\\"<externalReferences\\\":case\\\"</externalReferences>\\\":case\\\"<externalReferences>\\\":break;case\\\"<externalReference\\\":break;case\\\"<definedNames/>\\\":break;case\\\"<definedNames>\\\":case\\\"<definedNames\\\":n=!0;break;case\\\"</definedNames>\\\":n=!1;break;case\\\"<definedName\\\":i={},i.Name=Be(o.name),o.comment&&(i.Comment=o.comment),o.localSheetId&&(i.Sheet=+o.localSheetId),Ue(o.hidden||\\\"0\\\")&&(i.Hidden=!0),f=l+c.length;break;case\\\"</definedName>\\\":i.Ref=Ie(Be(e.slice(f,l))),r.Names.push(i);break;case\\\"<definedName/>\\\":break;case\\\"<calcPr\\\":delete o[0],r.CalcPr=o;break;case\\\"<calcPr/>\\\":delete o[0],r.CalcPr=o;break;case\\\"</calcPr>\\\":break;case\\\"<oleSize\\\":break;case\\\"<customWorkbookViews>\\\":case\\\"</customWorkbookViews>\\\":case\\\"<customWorkbookViews\\\":break;case\\\"<customWorkbookView\\\":case\\\"</customWorkbookView>\\\":break;case\\\"<pivotCaches>\\\":case\\\"</pivotCaches>\\\":case\\\"<pivotCaches\\\":break;case\\\"<pivotCache\\\":break;case\\\"<smartTagPr\\\":case\\\"<smartTagPr/>\\\":break;case\\\"<smartTagTypes\\\":case\\\"<smartTagTypes>\\\":case\\\"</smartTagTypes>\\\":break;case\\\"<smartTagType\\\":break;case\\\"<webPublishing\\\":case\\\"<webPublishing/>\\\":break;case\\\"<fileRecoveryPr\\\":case\\\"<fileRecoveryPr/>\\\":break;case\\\"<webPublishObjects>\\\":case\\\"<webPublishObjects\\\":case\\\"</webPublishObjects>\\\":break;case\\\"<webPublishObject\\\":break;case\\\"<extLst\\\":case\\\"<extLst>\\\":case\\\"</extLst>\\\":case\\\"<extLst/>\\\":break;case\\\"<ext\\\":n=!0;break;case\\\"</ext>\\\":n=!1;break;case\\\"<ArchID\\\":break;case\\\"<AlternateContent\\\":case\\\"<AlternateContent>\\\":n=!0;break;case\\\"</AlternateContent>\\\":n=!1;break;case\\\"<revisionPtr\\\":break;default:if(!n&&t.WTF)throw new Error(\\\"unrecognized \\\"+o[0]+\\\" in workbook\\\")}return c}),Uc.indexOf(r.xmlns)===-1)throw new Error(\\\"Unknown Namespace: \\\"+r.xmlns);return Hs(r),r}function Sd(e,t){var r={};return r.Hidden=e.read_shift(4),r.iTabID=e.read_shift(4),r.strRelID=dn(e,t-8),r.name=xr(e),r}function Fd(e,t){var r={},n=e.read_shift(4);r.defaultThemeVersion=e.read_shift(4);var a=t>8?xr(e):\\\"\\\";return a.length>0&&(r.CodeName=a),r.autoCompressPictures=!!(n&65536),r.backupFile=!!(n&64),r.checkCompatibility=!!(n&4096),r.date1904=!!(n&1),r.filterPrivacy=!!(n&8),r.hidePivotFieldList=!!(n&1024),r.promptedSolutions=!!(n&16),r.publishItems=!!(n&2048),r.refreshAllConnections=!!(n&262144),r.saveExternalLinkValues=!!(n&128),r.showBorderUnselectedTables=!!(n&4),r.showInkAnnotation=!!(n&32),r.showObjects=[\\\"all\\\",\\\"placeholders\\\",\\\"none\\\"][n>>13&3],r.showPivotChartFilter=!!(n&32768),r.updateLinks=[\\\"userSet\\\",\\\"never\\\",\\\"always\\\"][n>>8&3],r}function yd(e,t){var r={};return e.read_shift(4),r.ArchID=e.read_shift(4),e.l+=t-8,r}function Ad(e,t,r){var n=e.l+t;e.l+=4,e.l+=1;var a=e.read_shift(4),i=no(e),f=lx(e,0,r),s=Wn(e);e.l=n;var c={Name:i,Ptg:f};return a<268435455&&(c.Sheet=a),s&&(c.Comment=s),c}function Cd(e,t){var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:\\\"\\\"},n=[],a=!1;t||(t={}),t.biff=12;var i=[],f=[[]];return f.SheetNames=[],f.XTI=[],Ha[16]={n:\\\"BrtFRTArchID$\\\",f:yd},Zr(e,function(c,l,o){switch(o){case 156:f.SheetNames.push(c.name),r.Sheets.push(c);break;case 153:r.WBProps=c;break;case 39:c.Sheet!=null&&(t.SID=c.Sheet),c.Ref=or(c.Ptg,null,null,f,t),delete t.SID,delete c.Ptg,i.push(c);break;case 1036:break;case 357:case 358:case 355:case 667:f[0].length?f.push([o,c]):f[0]=[o,c],f[f.length-1].XTI=[];break;case 362:f.length===0&&(f[0]=[],f[0].XTI=[]),f[f.length-1].XTI=f[f.length-1].XTI.concat(c),f.XTI=f.XTI.concat(c);break;case 361:break;case 2071:case 158:case 143:case 664:case 353:break;case 3072:case 3073:case 534:case 677:case 157:case 610:case 2050:case 155:case 548:case 676:case 128:case 665:case 2128:case 2125:case 549:case 2053:case 596:case 2076:case 2075:case 2082:case 397:case 154:case 1117:case 553:case 2091:break;case 35:n.push(o),a=!0;break;case 36:n.pop(),a=!1;break;case 37:n.push(o),a=!0;break;case 38:n.pop(),a=!1;break;case 16:break;default:if(!l.T){if(!a||t.WTF&&n[n.length-1]!=37&&n[n.length-1]!=35)throw new Error(\\\"Unexpected record 0x\\\"+o.toString(16))}}},t),Hs(r),r.Names=i,r.supbooks=f,r}function Rd(e,t,r){return t.slice(-4)===\\\".bin\\\"?Cd(e,r):Td(e,r)}function Od(e,t,r,n,a,i,f,s){return t.slice(-4)===\\\".bin\\\"?hd(e,n,r,a,i,f,s):Sx(e,n,r,a,i,f,s)}function Dd(e,t,r,n,a,i,f,s){return t.slice(-4)===\\\".bin\\\"?vd(e,n,r,a,i,f,s):dd(e,n,r,a,i,f,s)}function bd(e,t,r,n,a,i,f,s){return t.slice(-4)===\\\".bin\\\"?Wu(e,n,r,a,i,f,s):Hu(e,n,r,a,i,f,s)}function Id(e,t,r,n,a,i,f,s){return t.slice(-4)===\\\".bin\\\"?Mu(e,n,r,a,i,f,s):Uu(e,n,r,a,i,f,s)}function Nd(e,t,r,n){return t.slice(-4)===\\\".bin\\\"?ru(e,r,n):Yh(e,r,n)}function Pd(e,t,r){return As(e,r)}function Ld(e,t,r){return t.slice(-4)===\\\".bin\\\"?mh(e,r):ph(e,r)}function Bd(e,t,r){return t.slice(-4)===\\\".bin\\\"?Pu(e,r):Ou(e,r)}function Md(e,t,r){return t.slice(-4)===\\\".bin\\\"?Au(e,t,r):Fu(e,t,r)}function Ud(e,t,r,n){return r.slice(-4)===\\\".bin\\\"?Cu(e,t,r,n):void 0}function Wd(e,t,r){return t.slice(-4)===\\\".bin\\\"?Tu(e,t,r):Su(e,t,r)}var Vs=/([\\\\w:]+)=((?:\\\")([^\\\"]*)(?:\\\")|(?:')([^']*)(?:'))/g,Xs=/([\\\\w:]+)=((?:\\\")(?:[^\\\"]*)(?:\\\")|(?:')(?:[^']*)(?:'))/;function Ir(e,t){var r=e.split(/\\\\s+/),n=[];if(t||(n[0]=r[0]),r.length===1)return n;var a=e.match(Vs),i,f,s,c;if(a)for(c=0;c!=a.length;++c)i=a[c].match(Xs),(f=i[1].indexOf(\\\":\\\"))===-1?n[i[1]]=i[2].slice(1,i[2].length-1):(i[1].slice(0,6)===\\\"xmlns:\\\"?s=\\\"xmlns\\\"+i[1].slice(6):s=i[1].slice(f+1),n[s]=i[2].slice(1,i[2].length-1));return n}function Hd(e){var t=e.split(/\\\\s+/),r={};if(t.length===1)return r;var n=e.match(Vs),a,i,f,s;if(n)for(s=0;s!=n.length;++s)a=n[s].match(Xs),(i=a[1].indexOf(\\\":\\\"))===-1?r[a[1]]=a[2].slice(1,a[2].length-1):(a[1].slice(0,6)===\\\"xmlns:\\\"?f=\\\"xmlns\\\"+a[1].slice(6):f=a[1].slice(i+1),r[f]=a[2].slice(1,a[2].length-1));return r}var Zt;function Vd(e,t){var r=Zt[e]||Ie(e);return r===\\\"General\\\"?dt(t):Or(r,t)}function Xd(e,t,r,n){var a=n;switch((r[0].match(/dt:dt=\\\"([\\\\w.]+)\\\"/)||[\\\"\\\",\\\"\\\"])[1]){case\\\"boolean\\\":a=Ue(n);break;case\\\"i2\\\":case\\\"int\\\":a=parseInt(n,10);break;case\\\"r4\\\":case\\\"float\\\":a=parseFloat(n);break;case\\\"date\\\":case\\\"dateTime.tz\\\":a=ar(n);break;case\\\"i8\\\":case\\\"string\\\":case\\\"fixed\\\":case\\\"uuid\\\":case\\\"bin.base64\\\":break;default:throw new Error(\\\"bad custprop:\\\"+r[0])}e[Ie(t)]=a}function Gd(e,t,r){if(e.t!==\\\"z\\\"){if(!r||r.cellText!==!1)try{e.t===\\\"e\\\"?e.w=e.w||kt[e.v]:t===\\\"General\\\"?e.t===\\\"n\\\"?(e.v|0)===e.v?e.w=e.v.toString(10):e.w=Qt(e.v):e.w=dt(e.v):e.w=Vd(t||\\\"General\\\",e.v)}catch(i){if(r.WTF)throw i}try{var n=Zt[t]||t||\\\"General\\\";if(r.cellNF&&(e.z=n),r.cellDates&&e.t==\\\"n\\\"&&bt(n)){var a=ht(e.v);a&&(e.t=\\\"d\\\",e.v=new Date(a.y,a.m-1,a.d,a.H,a.M,a.S,a.u))}}catch(i){if(r.WTF)throw i}}}function zd(e,t,r){if(r.cellStyles&&t.Interior){var n=t.Interior;n.Pattern&&(n.patternType=Xh[n.Pattern]||n.Pattern)}e[t.ID]=t}function jd(e,t,r,n,a,i,f,s,c,l){var o=\\\"General\\\",h=n.StyleID,x={};l=l||{};var d=[],p=0;for(h===void 0&&s&&(h=s.StyleID),h===void 0&&f&&(h=f.StyleID);i[h]!==void 0&&(i[h].nf&&(o=i[h].nf),i[h].Interior&&d.push(i[h].Interior),!!i[h].Parent);)h=i[h].Parent;switch(r.Type){case\\\"Boolean\\\":n.t=\\\"b\\\",n.v=Ue(e);break;case\\\"String\\\":n.t=\\\"s\\\",n.r=N0(Ie(e)),n.v=e.indexOf(\\\"<\\\")>-1?Ie(t||e).replace(/<.*?>/g,\\\"\\\"):n.r;break;case\\\"DateTime\\\":e.slice(-1)!=\\\"Z\\\"&&(e+=\\\"Z\\\"),n.v=(ar(e)-new Date(Date.UTC(1899,11,30)))/(1440*60*1e3),n.v!==n.v?n.v=Ie(e):n.v<60&&(n.v=n.v-1),(!o||o==\\\"General\\\")&&(o=\\\"yyyy-mm-dd\\\");case\\\"Number\\\":n.v===void 0&&(n.v=+e),n.t||(n.t=\\\"n\\\");break;case\\\"Error\\\":n.t=\\\"e\\\",n.v=is[e],l.cellText!==!1&&(n.w=e);break;default:e==\\\"\\\"&&t==\\\"\\\"?n.t=\\\"z\\\":(n.t=\\\"s\\\",n.v=N0(t||e));break}if(Gd(n,o,l),l.cellFormula!==!1)if(n.Formula){var u=Ie(n.Formula);u.charCodeAt(0)==61&&(u=u.slice(1)),n.f=At(u,a),delete n.Formula,n.ArrayRange==\\\"RC\\\"?n.F=At(\\\"RC:RC\\\",a):n.ArrayRange&&(n.F=At(n.ArrayRange,a),c.push([Xe(n.F),n.F]))}else for(p=0;p<c.length;++p)a.r>=c[p][0].s.r&&a.r<=c[p][0].e.r&&a.c>=c[p][0].s.c&&a.c<=c[p][0].e.c&&(n.F=c[p][1]);l.cellStyles&&(d.forEach(function(g){!x.patternType&&g.patternType&&(x.patternType=g.patternType)}),n.s=x),n.StyleID!==void 0&&(n.ixfe=n.StyleID)}function Kd(e){e.t=e.v||\\\"\\\",e.t=e.t.replace(/\\\\r\\\\n/g,`\\n`).replace(/\\\\r/g,`\\n`),e.v=e.w=e.ixfe=void 0}function on(e,t){var r=t||{};Pi();var n=Wt(Dn(e));(r.type==\\\"binary\\\"||r.type==\\\"array\\\"||r.type==\\\"base64\\\")&&(typeof Le<\\\"u\\\"?n=Le.utils.decode(65001,un(n)):n=Be(n));var a=n.slice(0,1024).toLowerCase(),i=!1;if(a=a.replace(/\\\".*?\\\"/g,\\\"\\\"),(a.indexOf(\\\">\\\")&1023)>Math.min(a.indexOf(\\\",\\\")&1023,a.indexOf(\\\";\\\")&1023)){var f=ir(r);return f.type=\\\"string\\\",ta.to_workbook(n,f)}if(a.indexOf(\\\"<?xml\\\")==-1&&[\\\"html\\\",\\\"table\\\",\\\"head\\\",\\\"meta\\\",\\\"script\\\",\\\"style\\\",\\\"div\\\"].forEach(function(he){a.indexOf(\\\"<\\\"+he)>=0&&(i=!0)}),i)return tp(n,r);Zt={\\\"General Number\\\":\\\"General\\\",\\\"General Date\\\":Se[22],\\\"Long Date\\\":\\\"dddd, mmmm dd, yyyy\\\",\\\"Medium Date\\\":Se[15],\\\"Short Date\\\":Se[14],\\\"Long Time\\\":Se[19],\\\"Medium Time\\\":Se[18],\\\"Short Time\\\":Se[20],Currency:'\\\"$\\\"#,##0.00_);[Red]\\\\\\\\(\\\"$\\\"#,##0.00\\\\\\\\)',Fixed:Se[2],Standard:Se[4],Percent:Se[10],Scientific:Se[11],\\\"Yes/No\\\":'\\\"Yes\\\";\\\"Yes\\\";\\\"No\\\";@',\\\"True/False\\\":'\\\"True\\\";\\\"True\\\";\\\"False\\\";@',\\\"On/Off\\\":'\\\"Yes\\\";\\\"Yes\\\";\\\"No\\\";@'};var s,c=[],l;qe!=null&&r.dense==null&&(r.dense=qe);var o={},h=[],x=r.dense?[]:{},d=\\\"\\\",p={},u={},g=Ir('<Data ss:Type=\\\"String\\\">'),N=0,D=0,k=0,W={s:{r:2e6,c:2e6},e:{r:0,c:0}},J={},T={},w=\\\"\\\",P=0,R=[],M={},I={},v=0,_=[],U=[],V={},Z=[],ee,ne=!1,H=[],te=[],K={},A=0,B=0,L={Sheets:[],WBProps:{date1904:!1}},b={};ra.lastIndex=0,n=n.replace(/<!--([\\\\s\\\\S]*?)-->/mg,\\\"\\\");for(var X=\\\"\\\";s=ra.exec(n);)switch(s[3]=(X=s[3]).toLowerCase()){case\\\"data\\\":if(X==\\\"data\\\"){if(s[1]===\\\"/\\\"){if((l=c.pop())[0]!==s[3])throw new Error(\\\"Bad state: \\\"+l.join(\\\"|\\\"))}else s[0].charAt(s[0].length-2)!==\\\"/\\\"&&c.push([s[3],!0]);break}if(c[c.length-1][1])break;s[1]===\\\"/\\\"?jd(n.slice(N,s.index),w,g,c[c.length-1][0]==\\\"comment\\\"?V:p,{c:D,r:k},J,Z[D],u,H,r):(w=\\\"\\\",g=Ir(s[0]),N=s.index+s[0].length);break;case\\\"cell\\\":if(s[1]===\\\"/\\\")if(U.length>0&&(p.c=U),(!r.sheetRows||r.sheetRows>k)&&p.v!==void 0&&(r.dense?(x[k]||(x[k]=[]),x[k][D]=p):x[Ze(D)+sr(k)]=p),p.HRef&&(p.l={Target:Ie(p.HRef)},p.HRefScreenTip&&(p.l.Tooltip=p.HRefScreenTip),delete p.HRef,delete p.HRefScreenTip),(p.MergeAcross||p.MergeDown)&&(A=D+(parseInt(p.MergeAcross,10)|0),B=k+(parseInt(p.MergeDown,10)|0),R.push({s:{c:D,r:k},e:{c:A,r:B}})),!r.sheetStubs)p.MergeAcross?D=A+1:++D;else if(p.MergeAcross||p.MergeDown){for(var le=D;le<=A;++le)for(var re=k;re<=B;++re)(le>D||re>k)&&(r.dense?(x[re]||(x[re]=[]),x[re][le]={t:\\\"z\\\"}):x[Ze(le)+sr(re)]={t:\\\"z\\\"});D=A+1}else++D;else p=Hd(s[0]),p.Index&&(D=+p.Index-1),D<W.s.c&&(W.s.c=D),D>W.e.c&&(W.e.c=D),s[0].slice(-2)===\\\"/>\\\"&&++D,U=[];break;case\\\"row\\\":s[1]===\\\"/\\\"||s[0].slice(-2)===\\\"/>\\\"?(k<W.s.r&&(W.s.r=k),k>W.e.r&&(W.e.r=k),s[0].slice(-2)===\\\"/>\\\"&&(u=Ir(s[0]),u.Index&&(k=+u.Index-1)),D=0,++k):(u=Ir(s[0]),u.Index&&(k=+u.Index-1),K={},(u.AutoFitHeight==\\\"0\\\"||u.Height)&&(K.hpx=parseInt(u.Height,10),K.hpt=ys(K.hpx),te[k]=K),u.Hidden==\\\"1\\\"&&(K.hidden=!0,te[k]=K));break;case\\\"worksheet\\\":if(s[1]===\\\"/\\\"){if((l=c.pop())[0]!==s[3])throw new Error(\\\"Bad state: \\\"+l.join(\\\"|\\\"));h.push(d),W.s.r<=W.e.r&&W.s.c<=W.e.c&&(x[\\\"!ref\\\"]=De(W),r.sheetRows&&r.sheetRows<=W.e.r&&(x[\\\"!fullref\\\"]=x[\\\"!ref\\\"],W.e.r=r.sheetRows-1,x[\\\"!ref\\\"]=De(W))),R.length&&(x[\\\"!merges\\\"]=R),Z.length>0&&(x[\\\"!cols\\\"]=Z),te.length>0&&(x[\\\"!rows\\\"]=te),o[d]=x}else W={s:{r:2e6,c:2e6},e:{r:0,c:0}},k=D=0,c.push([s[3],!1]),l=Ir(s[0]),d=Ie(l.Name),x=r.dense?[]:{},R=[],H=[],te=[],b={name:d,Hidden:0},L.Sheets.push(b);break;case\\\"table\\\":if(s[1]===\\\"/\\\"){if((l=c.pop())[0]!==s[3])throw new Error(\\\"Bad state: \\\"+l.join(\\\"|\\\"))}else{if(s[0].slice(-2)==\\\"/>\\\")break;c.push([s[3],!1]),Z=[],ne=!1}break;case\\\"style\\\":s[1]===\\\"/\\\"?zd(J,T,r):T=Ir(s[0]);break;case\\\"numberformat\\\":T.nf=Ie(Ir(s[0]).Format||\\\"General\\\"),Zt[T.nf]&&(T.nf=Zt[T.nf]);for(var ae=0;ae!=392&&Se[ae]!=T.nf;++ae);if(ae==392){for(ae=57;ae!=392;++ae)if(Se[ae]==null){ut(T.nf,ae);break}}break;case\\\"column\\\":if(c[c.length-1][0]!==\\\"table\\\")break;if(ee=Ir(s[0]),ee.Hidden&&(ee.hidden=!0,delete ee.Hidden),ee.Width&&(ee.wpx=parseInt(ee.Width,10)),!ne&&ee.wpx>10){ne=!0,mr=Ss;for(var Q=0;Q<Z.length;++Q)Z[Q]&&Dt(Z[Q])}ne&&Dt(ee),Z[ee.Index-1||Z.length]=ee;for(var pe=0;pe<+ee.Span;++pe)Z[Z.length]=ir(ee);break;case\\\"namedrange\\\":if(s[1]===\\\"/\\\")break;L.Names||(L.Names=[]);var O=me(s[0]),Fe={Name:O.Name,Ref:At(O.RefersTo.slice(1),{r:0,c:0})};L.Sheets.length>0&&(Fe.Sheet=L.Sheets.length-1),L.Names.push(Fe);break;case\\\"namedcell\\\":break;case\\\"b\\\":break;case\\\"i\\\":break;case\\\"u\\\":break;case\\\"s\\\":break;case\\\"em\\\":break;case\\\"h2\\\":break;case\\\"h3\\\":break;case\\\"sub\\\":break;case\\\"sup\\\":break;case\\\"span\\\":break;case\\\"alignment\\\":break;case\\\"borders\\\":break;case\\\"border\\\":break;case\\\"font\\\":if(s[0].slice(-2)===\\\"/>\\\")break;s[1]===\\\"/\\\"?w+=n.slice(P,s.index):P=s.index+s[0].length;break;case\\\"interior\\\":if(!r.cellStyles)break;T.Interior=Ir(s[0]);break;case\\\"protection\\\":break;case\\\"author\\\":case\\\"title\\\":case\\\"description\\\":case\\\"created\\\":case\\\"keywords\\\":case\\\"subject\\\":case\\\"category\\\":case\\\"company\\\":case\\\"lastauthor\\\":case\\\"lastsaved\\\":case\\\"lastprinted\\\":case\\\"version\\\":case\\\"revision\\\":case\\\"totaltime\\\":case\\\"hyperlinkbase\\\":case\\\"manager\\\":case\\\"contentstatus\\\":case\\\"identifier\\\":case\\\"language\\\":case\\\"appname\\\":if(s[0].slice(-2)===\\\"/>\\\")break;s[1]===\\\"/\\\"?Oo(M,X,n.slice(v,s.index)):v=s.index+s[0].length;break;case\\\"paragraphs\\\":break;case\\\"styles\\\":case\\\"workbook\\\":if(s[1]===\\\"/\\\"){if((l=c.pop())[0]!==s[3])throw new Error(\\\"Bad state: \\\"+l.join(\\\"|\\\"))}else c.push([s[3],!1]);break;case\\\"comment\\\":if(s[1]===\\\"/\\\"){if((l=c.pop())[0]!==s[3])throw new Error(\\\"Bad state: \\\"+l.join(\\\"|\\\"));Kd(V),U.push(V)}else c.push([s[3],!1]),l=Ir(s[0]),V={a:l.Author};break;case\\\"autofilter\\\":if(s[1]===\\\"/\\\"){if((l=c.pop())[0]!==s[3])throw new Error(\\\"Bad state: \\\"+l.join(\\\"|\\\"))}else if(s[0].charAt(s[0].length-2)!==\\\"/\\\"){var we=Ir(s[0]);x[\\\"!autofilter\\\"]={ref:At(we.Range).replace(/\\\\$/g,\\\"\\\")},c.push([s[3],!0])}break;case\\\"name\\\":break;case\\\"datavalidation\\\":if(s[1]===\\\"/\\\"){if((l=c.pop())[0]!==s[3])throw new Error(\\\"Bad state: \\\"+l.join(\\\"|\\\"))}else s[0].charAt(s[0].length-2)!==\\\"/\\\"&&c.push([s[3],!0]);break;case\\\"pixelsperinch\\\":break;case\\\"componentoptions\\\":case\\\"documentproperties\\\":case\\\"customdocumentproperties\\\":case\\\"officedocumentsettings\\\":case\\\"pivottable\\\":case\\\"pivotcache\\\":case\\\"names\\\":case\\\"mapinfo\\\":case\\\"pagebreaks\\\":case\\\"querytable\\\":case\\\"sorting\\\":case\\\"schema\\\":case\\\"conditionalformatting\\\":case\\\"smarttagtype\\\":case\\\"smarttags\\\":case\\\"excelworkbook\\\":case\\\"workbookoptions\\\":case\\\"worksheetoptions\\\":if(s[1]===\\\"/\\\"){if((l=c.pop())[0]!==s[3])throw new Error(\\\"Bad state: \\\"+l.join(\\\"|\\\"))}else s[0].charAt(s[0].length-2)!==\\\"/\\\"&&c.push([s[3],!0]);break;case\\\"null\\\":break;default:if(c.length==0&&s[3]==\\\"document\\\"||c.length==0&&s[3]==\\\"uof\\\")return gi(n,r);var ve=!0;switch(c[c.length-1][0]){case\\\"officedocumentsettings\\\":switch(s[3]){case\\\"allowpng\\\":break;case\\\"removepersonalinformation\\\":break;case\\\"downloadcomponents\\\":break;case\\\"locationofcomponents\\\":break;case\\\"colors\\\":break;case\\\"color\\\":break;case\\\"index\\\":break;case\\\"rgb\\\":break;case\\\"targetscreensize\\\":break;case\\\"readonlyrecommended\\\":break;default:ve=!1}break;case\\\"componentoptions\\\":switch(s[3]){case\\\"toolbar\\\":break;case\\\"hideofficelogo\\\":break;case\\\"spreadsheetautofit\\\":break;case\\\"label\\\":break;case\\\"caption\\\":break;case\\\"maxheight\\\":break;case\\\"maxwidth\\\":break;case\\\"nextsheetnumber\\\":break;default:ve=!1}break;case\\\"excelworkbook\\\":switch(s[3]){case\\\"date1904\\\":L.WBProps.date1904=!0;break;case\\\"windowheight\\\":break;case\\\"windowwidth\\\":break;case\\\"windowtopx\\\":break;case\\\"windowtopy\\\":break;case\\\"tabratio\\\":break;case\\\"protectstructure\\\":break;case\\\"protectwindow\\\":break;case\\\"protectwindows\\\":break;case\\\"activesheet\\\":break;case\\\"displayinknotes\\\":break;case\\\"firstvisiblesheet\\\":break;case\\\"supbook\\\":break;case\\\"sheetname\\\":break;case\\\"sheetindex\\\":break;case\\\"sheetindexfirst\\\":break;case\\\"sheetindexlast\\\":break;case\\\"dll\\\":break;case\\\"acceptlabelsinformulas\\\":break;case\\\"donotsavelinkvalues\\\":break;case\\\"iteration\\\":break;case\\\"maxiterations\\\":break;case\\\"maxchange\\\":break;case\\\"path\\\":break;case\\\"xct\\\":break;case\\\"count\\\":break;case\\\"selectedsheets\\\":break;case\\\"calculation\\\":break;case\\\"uncalced\\\":break;case\\\"startupprompt\\\":break;case\\\"crn\\\":break;case\\\"externname\\\":break;case\\\"formula\\\":break;case\\\"colfirst\\\":break;case\\\"collast\\\":break;case\\\"wantadvise\\\":break;case\\\"boolean\\\":break;case\\\"error\\\":break;case\\\"text\\\":break;case\\\"ole\\\":break;case\\\"noautorecover\\\":break;case\\\"publishobjects\\\":break;case\\\"donotcalculatebeforesave\\\":break;case\\\"number\\\":break;case\\\"refmoder1c1\\\":break;case\\\"embedsavesmarttags\\\":break;default:ve=!1}break;case\\\"workbookoptions\\\":switch(s[3]){case\\\"owcversion\\\":break;case\\\"height\\\":break;case\\\"width\\\":break;default:ve=!1}break;case\\\"worksheetoptions\\\":switch(s[3]){case\\\"visible\\\":if(s[0].slice(-2)!==\\\"/>\\\")if(s[1]===\\\"/\\\")switch(n.slice(v,s.index)){case\\\"SheetHidden\\\":b.Hidden=1;break;case\\\"SheetVeryHidden\\\":b.Hidden=2;break}else v=s.index+s[0].length;break;case\\\"header\\\":x[\\\"!margins\\\"]||qt(x[\\\"!margins\\\"]={},\\\"xlml\\\"),isNaN(+me(s[0]).Margin)||(x[\\\"!margins\\\"].header=+me(s[0]).Margin);break;case\\\"footer\\\":x[\\\"!margins\\\"]||qt(x[\\\"!margins\\\"]={},\\\"xlml\\\"),isNaN(+me(s[0]).Margin)||(x[\\\"!margins\\\"].footer=+me(s[0]).Margin);break;case\\\"pagemargins\\\":var ke=me(s[0]);x[\\\"!margins\\\"]||qt(x[\\\"!margins\\\"]={},\\\"xlml\\\"),isNaN(+ke.Top)||(x[\\\"!margins\\\"].top=+ke.Top),isNaN(+ke.Left)||(x[\\\"!margins\\\"].left=+ke.Left),isNaN(+ke.Right)||(x[\\\"!margins\\\"].right=+ke.Right),isNaN(+ke.Bottom)||(x[\\\"!margins\\\"].bottom=+ke.Bottom);break;case\\\"displayrighttoleft\\\":L.Views||(L.Views=[]),L.Views[0]||(L.Views[0]={}),L.Views[0].RTL=!0;break;case\\\"freezepanes\\\":break;case\\\"frozennosplit\\\":break;case\\\"splithorizontal\\\":case\\\"splitvertical\\\":break;case\\\"donotdisplaygridlines\\\":break;case\\\"activerow\\\":break;case\\\"activecol\\\":break;case\\\"toprowbottompane\\\":break;case\\\"leftcolumnrightpane\\\":break;case\\\"unsynced\\\":break;case\\\"print\\\":break;case\\\"printerrors\\\":break;case\\\"panes\\\":break;case\\\"scale\\\":break;case\\\"pane\\\":break;case\\\"number\\\":break;case\\\"layout\\\":break;case\\\"pagesetup\\\":break;case\\\"selected\\\":break;case\\\"protectobjects\\\":break;case\\\"enableselection\\\":break;case\\\"protectscenarios\\\":break;case\\\"validprinterinfo\\\":break;case\\\"horizontalresolution\\\":break;case\\\"verticalresolution\\\":break;case\\\"numberofcopies\\\":break;case\\\"activepane\\\":break;case\\\"toprowvisible\\\":break;case\\\"leftcolumnvisible\\\":break;case\\\"fittopage\\\":break;case\\\"rangeselection\\\":break;case\\\"papersizeindex\\\":break;case\\\"pagelayoutzoom\\\":break;case\\\"pagebreakzoom\\\":break;case\\\"filteron\\\":break;case\\\"fitwidth\\\":break;case\\\"fitheight\\\":break;case\\\"commentslayout\\\":break;case\\\"zoom\\\":break;case\\\"lefttoright\\\":break;case\\\"gridlines\\\":break;case\\\"allowsort\\\":break;case\\\"allowfilter\\\":break;case\\\"allowinsertrows\\\":break;case\\\"allowdeleterows\\\":break;case\\\"allowinsertcols\\\":break;case\\\"allowdeletecols\\\":break;case\\\"allowinserthyperlinks\\\":break;case\\\"allowformatcells\\\":break;case\\\"allowsizecols\\\":break;case\\\"allowsizerows\\\":break;case\\\"nosummaryrowsbelowdetail\\\":x[\\\"!outline\\\"]||(x[\\\"!outline\\\"]={}),x[\\\"!outline\\\"].above=!0;break;case\\\"tabcolorindex\\\":break;case\\\"donotdisplayheadings\\\":break;case\\\"showpagelayoutzoom\\\":break;case\\\"nosummarycolumnsrightdetail\\\":x[\\\"!outline\\\"]||(x[\\\"!outline\\\"]={}),x[\\\"!outline\\\"].left=!0;break;case\\\"blackandwhite\\\":break;case\\\"donotdisplayzeros\\\":break;case\\\"displaypagebreak\\\":break;case\\\"rowcolheadings\\\":break;case\\\"donotdisplayoutline\\\":break;case\\\"noorientation\\\":break;case\\\"allowusepivottables\\\":break;case\\\"zeroheight\\\":break;case\\\"viewablerange\\\":break;case\\\"selection\\\":break;case\\\"protectcontents\\\":break;default:ve=!1}break;case\\\"pivottable\\\":case\\\"pivotcache\\\":switch(s[3]){case\\\"immediateitemsondrop\\\":break;case\\\"showpagemultipleitemlabel\\\":break;case\\\"compactrowindent\\\":break;case\\\"location\\\":break;case\\\"pivotfield\\\":break;case\\\"orientation\\\":break;case\\\"layoutform\\\":break;case\\\"layoutsubtotallocation\\\":break;case\\\"layoutcompactrow\\\":break;case\\\"position\\\":break;case\\\"pivotitem\\\":break;case\\\"datatype\\\":break;case\\\"datafield\\\":break;case\\\"sourcename\\\":break;case\\\"parentfield\\\":break;case\\\"ptlineitems\\\":break;case\\\"ptlineitem\\\":break;case\\\"countofsameitems\\\":break;case\\\"item\\\":break;case\\\"itemtype\\\":break;case\\\"ptsource\\\":break;case\\\"cacheindex\\\":break;case\\\"consolidationreference\\\":break;case\\\"filename\\\":break;case\\\"reference\\\":break;case\\\"nocolumngrand\\\":break;case\\\"norowgrand\\\":break;case\\\"blanklineafteritems\\\":break;case\\\"hidden\\\":break;case\\\"subtotal\\\":break;case\\\"basefield\\\":break;case\\\"mapchilditems\\\":break;case\\\"function\\\":break;case\\\"refreshonfileopen\\\":break;case\\\"printsettitles\\\":break;case\\\"mergelabels\\\":break;case\\\"defaultversion\\\":break;case\\\"refreshname\\\":break;case\\\"refreshdate\\\":break;case\\\"refreshdatecopy\\\":break;case\\\"versionlastrefresh\\\":break;case\\\"versionlastupdate\\\":break;case\\\"versionupdateablemin\\\":break;case\\\"versionrefreshablemin\\\":break;case\\\"calculation\\\":break;default:ve=!1}break;case\\\"pagebreaks\\\":switch(s[3]){case\\\"colbreaks\\\":break;case\\\"colbreak\\\":break;case\\\"rowbreaks\\\":break;case\\\"rowbreak\\\":break;case\\\"colstart\\\":break;case\\\"colend\\\":break;case\\\"rowend\\\":break;default:ve=!1}break;case\\\"autofilter\\\":switch(s[3]){case\\\"autofiltercolumn\\\":break;case\\\"autofiltercondition\\\":break;case\\\"autofilterand\\\":break;case\\\"autofilteror\\\":break;default:ve=!1}break;case\\\"querytable\\\":switch(s[3]){case\\\"id\\\":break;case\\\"autoformatfont\\\":break;case\\\"autoformatpattern\\\":break;case\\\"querysource\\\":break;case\\\"querytype\\\":break;case\\\"enableredirections\\\":break;case\\\"refreshedinxl9\\\":break;case\\\"urlstring\\\":break;case\\\"htmltables\\\":break;case\\\"connection\\\":break;case\\\"commandtext\\\":break;case\\\"refreshinfo\\\":break;case\\\"notitles\\\":break;case\\\"nextid\\\":break;case\\\"columninfo\\\":break;case\\\"overwritecells\\\":break;case\\\"donotpromptforfile\\\":break;case\\\"textwizardsettings\\\":break;case\\\"source\\\":break;case\\\"number\\\":break;case\\\"decimal\\\":break;case\\\"thousandseparator\\\":break;case\\\"trailingminusnumbers\\\":break;case\\\"formatsettings\\\":break;case\\\"fieldtype\\\":break;case\\\"delimiters\\\":break;case\\\"tab\\\":break;case\\\"comma\\\":break;case\\\"autoformatname\\\":break;case\\\"versionlastedit\\\":break;case\\\"versionlastrefresh\\\":break;default:ve=!1}break;case\\\"datavalidation\\\":switch(s[3]){case\\\"range\\\":break;case\\\"type\\\":break;case\\\"min\\\":break;case\\\"max\\\":break;case\\\"sort\\\":break;case\\\"descending\\\":break;case\\\"order\\\":break;case\\\"casesensitive\\\":break;case\\\"value\\\":break;case\\\"errorstyle\\\":break;case\\\"errormessage\\\":break;case\\\"errortitle\\\":break;case\\\"inputmessage\\\":break;case\\\"inputtitle\\\":break;case\\\"combohide\\\":break;case\\\"inputhide\\\":break;case\\\"condition\\\":break;case\\\"qualifier\\\":break;case\\\"useblank\\\":break;case\\\"value1\\\":break;case\\\"value2\\\":break;case\\\"format\\\":break;case\\\"cellrangelist\\\":break;default:ve=!1}break;case\\\"sorting\\\":case\\\"conditionalformatting\\\":switch(s[3]){case\\\"range\\\":break;case\\\"type\\\":break;case\\\"min\\\":break;case\\\"max\\\":break;case\\\"sort\\\":break;case\\\"descending\\\":break;case\\\"order\\\":break;case\\\"casesensitive\\\":break;case\\\"value\\\":break;case\\\"errorstyle\\\":break;case\\\"errormessage\\\":break;case\\\"errortitle\\\":break;case\\\"cellrangelist\\\":break;case\\\"inputmessage\\\":break;case\\\"inputtitle\\\":break;case\\\"combohide\\\":break;case\\\"inputhide\\\":break;case\\\"condition\\\":break;case\\\"qualifier\\\":break;case\\\"useblank\\\":break;case\\\"value1\\\":break;case\\\"value2\\\":break;case\\\"format\\\":break;default:ve=!1}break;case\\\"mapinfo\\\":case\\\"schema\\\":case\\\"data\\\":switch(s[3]){case\\\"map\\\":break;case\\\"entry\\\":break;case\\\"range\\\":break;case\\\"xpath\\\":break;case\\\"field\\\":break;case\\\"xsdtype\\\":break;case\\\"filteron\\\":break;case\\\"aggregate\\\":break;case\\\"elementtype\\\":break;case\\\"attributetype\\\":break;case\\\"schema\\\":case\\\"element\\\":case\\\"complextype\\\":case\\\"datatype\\\":case\\\"all\\\":case\\\"attribute\\\":case\\\"extends\\\":break;case\\\"row\\\":break;default:ve=!1}break;case\\\"smarttags\\\":break;default:ve=!1;break}if(ve||s[3].match(/!\\\\[CDATA/))break;if(!c[c.length-1][1])throw\\\"Unrecognized tag: \\\"+s[3]+\\\"|\\\"+c.join(\\\"|\\\");if(c[c.length-1][0]===\\\"customdocumentproperties\\\"){if(s[0].slice(-2)===\\\"/>\\\")break;s[1]===\\\"/\\\"?Xd(I,X,_,n.slice(v,s.index)):(_=s,v=s.index+s[0].length);break}if(r.WTF)throw\\\"Unrecognized tag: \\\"+s[3]+\\\"|\\\"+c.join(\\\"|\\\")}var se={};return!r.bookSheets&&!r.bookProps&&(se.Sheets=o),se.SheetNames=h,se.Workbook=L,se.SSF=ir(Se),se.Props=M,se.Custprops=I,se}function gn(e,t){switch(Jn(t=t||{}),t.type||\\\"base64\\\"){case\\\"base64\\\":return on(yr(e),t);case\\\"binary\\\":case\\\"buffer\\\":case\\\"file\\\":return on(e,t);case\\\"array\\\":return on(gt(e),t)}}function $d(e){var t={},r=e.content;if(r.l=28,t.AnsiUserType=r.read_shift(0,\\\"lpstr-ansi\\\"),t.AnsiClipboardFormat=fo(r),r.length-r.l<=4)return t;var n=r.read_shift(4);if(n==0||n>40||(r.l-=4,t.Reserved1=r.read_shift(0,\\\"lpstr-ansi\\\"),r.length-r.l<=4)||(n=r.read_shift(4),n!==1907505652)||(t.UnicodeClipboardFormat=co(r),n=r.read_shift(4),n==0||n>40))return t;r.l-=4,t.Reserved2=r.read_shift(0,\\\"lpwstr\\\")}var Yd=[60,1084,2066,2165,2175];function Jd(e,t,r,n,a){var i=n,f=[],s=r.slice(r.l,r.l+i);if(a&&a.enc&&a.enc.insitu&&s.length>0)switch(e){case 9:case 521:case 1033:case 2057:case 47:case 405:case 225:case 406:case 312:case 404:case 10:break;case 133:break;default:a.enc.insitu(s)}f.push(s),r.l+=i;for(var c=$r(r,r.l),l=_n[c],o=0;l!=null&&Yd.indexOf(c)>-1;)i=$r(r,r.l+2),o=r.l+4,c==2066?o+=4:(c==2165||c==2175)&&(o+=12),s=r.slice(o,r.l+4+i),f.push(s),r.l+=4+i,l=_n[c=$r(r,r.l)];var h=rt(f);nr(h,0);var x=0;h.lens=[];for(var d=0;d<f.length;++d)h.lens.push(x),x+=f[d].length;if(h.length<n)throw\\\"XLS Record 0x\\\"+e.toString(16)+\\\" Truncated: \\\"+h.length+\\\" < \\\"+n;return t.f(h,h.length,a)}function Ur(e,t,r){if(e.t!==\\\"z\\\"&&e.XF){var n=0;try{n=e.z||e.XF.numFmtId||0,t.cellNF&&(e.z=Se[n])}catch(i){if(t.WTF)throw i}if(!t||t.cellText!==!1)try{e.t===\\\"e\\\"?e.w=e.w||kt[e.v]:n===0||n==\\\"General\\\"?e.t===\\\"n\\\"?(e.v|0)===e.v?e.w=e.v.toString(10):e.w=Qt(e.v):e.w=dt(e.v):e.w=Or(n,e.v,{date1904:!!r,dateNF:t&&t.dateNF})}catch(i){if(t.WTF)throw i}if(t.cellDates&&n&&e.t==\\\"n\\\"&&bt(Se[n]||String(n))){var a=ht(e.v);a&&(e.t=\\\"d\\\",e.v=new Date(a.y,a.m-1,a.d,a.H,a.M,a.S,a.u))}}}function Oa(e,t,r){return{v:e,ixfe:t,t:r}}function qd(e,t){var r={opts:{}},n={};qe!=null&&t.dense==null&&(t.dense=qe);var a=t.dense?[]:{},i={},f={},s=null,c=[],l=\\\"\\\",o={},h,x=\\\"\\\",d,p,u,g,N={},D=[],k,W,J=[],T=[],w={Sheets:[],WBProps:{date1904:!1},Views:[{}]},P={},R=function(_e){return _e<8?xt[_e]:_e<64&&T[_e-8]||xt[_e]},M=function(_e,ye,We){var Ae=ye.XF.data;if(!(!Ae||!Ae.patternType||!We||!We.cellStyles)){ye.s={},ye.s.patternType=Ae.patternType;var He;(He=aa(R(Ae.icvFore)))&&(ye.s.fgColor={rgb:He}),(He=aa(R(Ae.icvBack)))&&(ye.s.bgColor={rgb:He})}},I=function(_e,ye,We){if(!(K>1)&&!(We.sheetRows&&_e.r>=We.sheetRows)){if(We.cellStyles&&ye.XF&&ye.XF.data&&M(_e,ye,We),delete ye.ixfe,delete ye.XF,h=_e,x=Te(_e),(!f||!f.s||!f.e)&&(f={s:{r:0,c:0},e:{r:0,c:0}}),_e.r<f.s.r&&(f.s.r=_e.r),_e.c<f.s.c&&(f.s.c=_e.c),_e.r+1>f.e.r&&(f.e.r=_e.r+1),_e.c+1>f.e.c&&(f.e.c=_e.c+1),We.cellFormula&&ye.f){for(var Ae=0;Ae<D.length;++Ae)if(!(D[Ae][0].s.c>_e.c||D[Ae][0].s.r>_e.r)&&!(D[Ae][0].e.c<_e.c||D[Ae][0].e.r<_e.r)){ye.F=De(D[Ae][0]),(D[Ae][0].s.c!=_e.c||D[Ae][0].s.r!=_e.r)&&delete ye.f,ye.f&&(ye.f=\\\"\\\"+or(D[Ae][1],f,_e,H,v));break}}We.dense?(a[_e.r]||(a[_e.r]=[]),a[_e.r][_e.c]=ye):a[x]=ye}},v={enc:!1,sbcch:0,snames:[],sharedf:N,arrayf:D,rrtabid:[],lastuser:\\\"\\\",biff:8,codepage:0,winlocked:0,cellStyles:!!t&&!!t.cellStyles,WTF:!!t&&!!t.wtf};t.password&&(v.password=t.password);var _,U=[],V=[],Z=[],ee=[],ne=!1,H=[];H.SheetNames=v.snames,H.sharedf=v.sharedf,H.arrayf=v.arrayf,H.names=[],H.XTI=[];var te=0,K=0,A=0,B=[],L=[],b;v.codepage=1200,Lr(1200);for(var X=!1;e.l<e.length-1;){var le=e.l,re=e.read_shift(2);if(re===0&&te===10)break;var ae=e.l===e.length?0:e.read_shift(2),Q=_n[re];if(Q&&Q.f){if(t.bookSheets&&te===133&&re!==133)break;if(te=re,Q.r===2||Q.r==12){var pe=e.read_shift(2);if(ae-=2,!v.enc&&pe!==re&&((pe&255)<<8|pe>>8)!==re)throw new Error(\\\"rt mismatch: \\\"+pe+\\\"!=\\\"+re);Q.r==12&&(e.l+=10,ae-=10)}var O={};if(re===10?O=Q.f(e,ae,v):O=Jd(re,Q,e,ae,v),K==0&&[9,521,1033,2057].indexOf(te)===-1)continue;switch(re){case 34:r.opts.Date1904=w.WBProps.date1904=O;break;case 134:r.opts.WriteProtect=!0;break;case 47:if(v.enc||(e.l=0),v.enc=O,!t.password)throw new Error(\\\"File is password-protected\\\");if(O.valid==null)throw new Error(\\\"Encryption scheme unsupported\\\");if(!O.valid)throw new Error(\\\"Password is incorrect\\\");break;case 92:v.lastuser=O;break;case 66:var Fe=Number(O);switch(Fe){case 21010:Fe=1200;break;case 32768:Fe=1e4;break;case 32769:Fe=1252;break}Lr(v.codepage=Fe),X=!0;break;case 317:v.rrtabid=O;break;case 25:v.winlocked=O;break;case 439:r.opts.RefreshAll=O;break;case 12:r.opts.CalcCount=O;break;case 16:r.opts.CalcDelta=O;break;case 17:r.opts.CalcIter=O;break;case 13:r.opts.CalcMode=O;break;case 14:r.opts.CalcPrecision=O;break;case 95:r.opts.CalcSaveRecalc=O;break;case 15:v.CalcRefMode=O;break;case 2211:r.opts.FullCalc=O;break;case 129:O.fDialog&&(a[\\\"!type\\\"]=\\\"dialog\\\"),O.fBelow||((a[\\\"!outline\\\"]||(a[\\\"!outline\\\"]={})).above=!0),O.fRight||((a[\\\"!outline\\\"]||(a[\\\"!outline\\\"]={})).left=!0);break;case 224:J.push(O);break;case 430:H.push([O]),H[H.length-1].XTI=[];break;case 35:case 547:H[H.length-1].push(O);break;case 24:case 536:b={Name:O.Name,Ref:or(O.rgce,f,null,H,v)},O.itab>0&&(b.Sheet=O.itab-1),H.names.push(b),H[0]||(H[0]=[],H[0].XTI=[]),H[H.length-1].push(O),O.Name==\\\"_xlnm._FilterDatabase\\\"&&O.itab>0&&O.rgce&&O.rgce[0]&&O.rgce[0][0]&&O.rgce[0][0][0]==\\\"PtgArea3d\\\"&&(L[O.itab-1]={ref:De(O.rgce[0][0][1][2])});break;case 22:v.ExternCount=O;break;case 23:H.length==0&&(H[0]=[],H[0].XTI=[]),H[H.length-1].XTI=H[H.length-1].XTI.concat(O),H.XTI=H.XTI.concat(O);break;case 2196:if(v.biff<8)break;b!=null&&(b.Comment=O[1]);break;case 18:a[\\\"!protect\\\"]=O;break;case 19:O!==0&&v.WTF&&console.error(\\\"Password verifier: \\\"+O);break;case 133:i[O.pos]=O,v.snames.push(O.name);break;case 10:{if(--K)break;if(f.e){if(f.e.r>0&&f.e.c>0){if(f.e.r--,f.e.c--,a[\\\"!ref\\\"]=De(f),t.sheetRows&&t.sheetRows<=f.e.r){var we=f.e.r;f.e.r=t.sheetRows-1,a[\\\"!fullref\\\"]=a[\\\"!ref\\\"],a[\\\"!ref\\\"]=De(f),f.e.r=we}f.e.r++,f.e.c++}U.length>0&&(a[\\\"!merges\\\"]=U),V.length>0&&(a[\\\"!objects\\\"]=V),Z.length>0&&(a[\\\"!cols\\\"]=Z),ee.length>0&&(a[\\\"!rows\\\"]=ee),w.Sheets.push(P)}l===\\\"\\\"?o=a:n[l]=a,a=t.dense?[]:{}}break;case 9:case 521:case 1033:case 2057:{if(v.biff===8&&(v.biff={9:2,521:3,1033:4}[re]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[O.BIFFVer]||8),v.biffguess=O.BIFFVer==0,O.BIFFVer==0&&O.dt==4096&&(v.biff=5,X=!0,Lr(v.codepage=28591)),v.biff==8&&O.BIFFVer==0&&O.dt==16&&(v.biff=2),K++)break;if(a=t.dense?[]:{},v.biff<8&&!X&&(X=!0,Lr(v.codepage=t.codepage||1252)),v.biff<5||O.BIFFVer==0&&O.dt==4096){l===\\\"\\\"&&(l=\\\"Sheet1\\\"),f={s:{r:0,c:0},e:{r:0,c:0}};var ve={pos:e.l-ae,name:l};i[ve.pos]=ve,v.snames.push(l)}else l=(i[le]||{name:\\\"\\\"}).name;O.dt==32&&(a[\\\"!type\\\"]=\\\"chart\\\"),O.dt==64&&(a[\\\"!type\\\"]=\\\"macro\\\"),U=[],V=[],v.arrayf=D=[],Z=[],ee=[],ne=!1,P={Hidden:(i[le]||{hs:0}).hs,name:l}}break;case 515:case 3:case 2:a[\\\"!type\\\"]==\\\"chart\\\"&&(t.dense?(a[O.r]||[])[O.c]:a[Te({c:O.c,r:O.r})])&&++O.c,k={ixfe:O.ixfe,XF:J[O.ixfe]||{},v:O.val,t:\\\"n\\\"},A>0&&(k.z=B[k.ixfe>>8&63]),Ur(k,t,r.opts.Date1904),I({c:O.c,r:O.r},k,t);break;case 5:case 517:k={ixfe:O.ixfe,XF:J[O.ixfe],v:O.val,t:O.t},A>0&&(k.z=B[k.ixfe>>8&63]),Ur(k,t,r.opts.Date1904),I({c:O.c,r:O.r},k,t);break;case 638:k={ixfe:O.ixfe,XF:J[O.ixfe],v:O.rknum,t:\\\"n\\\"},A>0&&(k.z=B[k.ixfe>>8&63]),Ur(k,t,r.opts.Date1904),I({c:O.c,r:O.r},k,t);break;case 189:for(var ke=O.c;ke<=O.C;++ke){var se=O.rkrec[ke-O.c][0];k={ixfe:se,XF:J[se],v:O.rkrec[ke-O.c][1],t:\\\"n\\\"},A>0&&(k.z=B[k.ixfe>>8&63]),Ur(k,t,r.opts.Date1904),I({c:ke,r:O.r},k,t)}break;case 6:case 518:case 1030:{if(O.val==\\\"String\\\"){s=O;break}if(k=Oa(O.val,O.cell.ixfe,O.tt),k.XF=J[k.ixfe],t.cellFormula){var he=O.formula;if(he&&he[0]&&he[0][0]&&he[0][0][0]==\\\"PtgExp\\\"){var xe=he[0][0][1][0],ge=he[0][0][1][1],be=Te({r:xe,c:ge});N[be]?k.f=\\\"\\\"+or(O.formula,f,O.cell,H,v):k.F=((t.dense?(a[xe]||[])[ge]:a[be])||{}).F}else k.f=\\\"\\\"+or(O.formula,f,O.cell,H,v)}A>0&&(k.z=B[k.ixfe>>8&63]),Ur(k,t,r.opts.Date1904),I(O.cell,k,t),s=O}break;case 7:case 519:if(s)s.val=O,k=Oa(O,s.cell.ixfe,\\\"s\\\"),k.XF=J[k.ixfe],t.cellFormula&&(k.f=\\\"\\\"+or(s.formula,f,s.cell,H,v)),A>0&&(k.z=B[k.ixfe>>8&63]),Ur(k,t,r.opts.Date1904),I(s.cell,k,t),s=null;else throw new Error(\\\"String record expects Formula\\\");break;case 33:case 545:{D.push(O);var de=Te(O[0].s);if(d=t.dense?(a[O[0].s.r]||[])[O[0].s.c]:a[de],t.cellFormula&&d){if(!s||!de||!d)break;d.f=\\\"\\\"+or(O[1],f,O[0],H,v),d.F=De(O[0])}}break;case 1212:{if(!t.cellFormula)break;if(x){if(!s)break;N[Te(s.cell)]=O[0],d=t.dense?(a[s.cell.r]||[])[s.cell.c]:a[Te(s.cell)],(d||{}).f=\\\"\\\"+or(O[0],f,h,H,v)}}break;case 253:k=Oa(c[O.isst].t,O.ixfe,\\\"s\\\"),c[O.isst].h&&(k.h=c[O.isst].h),k.XF=J[k.ixfe],A>0&&(k.z=B[k.ixfe>>8&63]),Ur(k,t,r.opts.Date1904),I({c:O.c,r:O.r},k,t);break;case 513:t.sheetStubs&&(k={ixfe:O.ixfe,XF:J[O.ixfe],t:\\\"z\\\"},A>0&&(k.z=B[k.ixfe>>8&63]),Ur(k,t,r.opts.Date1904),I({c:O.c,r:O.r},k,t));break;case 190:if(t.sheetStubs)for(var Re=O.c;Re<=O.C;++Re){var Ne=O.ixfe[Re-O.c];k={ixfe:Ne,XF:J[Ne],t:\\\"z\\\"},A>0&&(k.z=B[k.ixfe>>8&63]),Ur(k,t,r.opts.Date1904),I({c:Re,r:O.r},k,t)}break;case 214:case 516:case 4:k=Oa(O.val,O.ixfe,\\\"s\\\"),k.XF=J[k.ixfe],A>0&&(k.z=B[k.ixfe>>8&63]),Ur(k,t,r.opts.Date1904),I({c:O.c,r:O.r},k,t);break;case 0:case 512:K===1&&(f=O);break;case 252:c=O;break;case 1054:if(v.biff==4){B[A++]=O[1];for(var Pe=0;Pe<A+163&&Se[Pe]!=O[1];++Pe);Pe>=163&&ut(O[1],A+163)}else ut(O[1],O[0]);break;case 30:{B[A++]=O;for(var fr=0;fr<A+163&&Se[fr]!=O;++fr);fr>=163&&ut(O,A+163)}break;case 229:U=U.concat(O);break;case 93:V[O.cmo[0]]=v.lastobj=O;break;case 438:v.lastobj.TxO=O;break;case 127:v.lastobj.ImData=O;break;case 440:for(g=O[0].s.r;g<=O[0].e.r;++g)for(u=O[0].s.c;u<=O[0].e.c;++u)d=t.dense?(a[g]||[])[u]:a[Te({c:u,r:g})],d&&(d.l=O[1]);break;case 2048:for(g=O[0].s.r;g<=O[0].e.r;++g)for(u=O[0].s.c;u<=O[0].e.c;++u)d=t.dense?(a[g]||[])[u]:a[Te({c:u,r:g})],d&&d.l&&(d.l.Tooltip=O[1]);break;case 28:{if(v.biff<=5&&v.biff>=2)break;d=t.dense?(a[O[0].r]||[])[O[0].c]:a[Te(O[0])];var wr=V[O[2]];d||(t.dense?(a[O[0].r]||(a[O[0].r]=[]),d=a[O[0].r][O[0].c]={t:\\\"z\\\"}):d=a[Te(O[0])]={t:\\\"z\\\"},f.e.r=Math.max(f.e.r,O[0].r),f.s.r=Math.min(f.s.r,O[0].r),f.e.c=Math.max(f.e.c,O[0].c),f.s.c=Math.min(f.s.c,O[0].c)),d.c||(d.c=[]),p={a:O[1],t:wr.TxO.t},d.c.push(p)}break;case 2173:_u(J[O.ixfe],O.ext);break;case 125:{if(!v.cellStyles)break;for(;O.e>=O.s;)Z[O.e--]={width:O.w/256,level:O.level||0,hidden:!!(O.flags&1)},ne||(ne=!0,zn(O.w/256)),Dt(Z[O.e+1])}break;case 520:{var Ge={};O.level!=null&&(ee[O.r]=Ge,Ge.level=O.level),O.hidden&&(ee[O.r]=Ge,Ge.hidden=!0),O.hpt&&(ee[O.r]=Ge,Ge.hpt=O.hpt,Ge.hpx=na(O.hpt))}break;case 38:case 39:case 40:case 41:a[\\\"!margins\\\"]||qt(a[\\\"!margins\\\"]={}),a[\\\"!margins\\\"][{38:\\\"left\\\",39:\\\"right\\\",40:\\\"top\\\",41:\\\"bottom\\\"}[re]]=O;break;case 161:a[\\\"!margins\\\"]||qt(a[\\\"!margins\\\"]={}),a[\\\"!margins\\\"].header=O.header,a[\\\"!margins\\\"].footer=O.footer;break;case 574:O.RTL&&(w.Views[0].RTL=!0);break;case 146:T=O;break;case 2198:_=O;break;case 140:W=O;break;case 442:l?P.CodeName=O||P.name:w.WBProps.CodeName=O||\\\"ThisWorkbook\\\";break}}else Q||console.error(\\\"Missing Info for XLS Record 0x\\\"+re.toString(16)),e.l+=ae}return r.SheetNames=Vr(i).sort(function(er,_e){return Number(er)-Number(_e)}).map(function(er){return i[er].name}),t.bookSheets||(r.Sheets=n),!r.SheetNames.length&&o[\\\"!ref\\\"]?(r.SheetNames.push(\\\"Sheet1\\\"),r.Sheets&&(r.Sheets.Sheet1=o)):r.Preamble=o,r.Sheets&&L.forEach(function(er,_e){r.Sheets[r.SheetNames[_e]][\\\"!autofilter\\\"]=er}),r.Strings=c,r.SSF=ir(Se),v.enc&&(r.Encryption=v.enc),_&&(r.Themes=_),r.Metadata={},W!==void 0&&(r.Metadata.Country=W),H.names.length>0&&(w.Names=H.names),r.Workbook=w,r}var xi={SI:\\\"e0859ff2f94f6810ab9108002b27b3d9\\\",DSI:\\\"02d5cdd59c2e1b10939708002b2cf9ae\\\",UDI:\\\"05d5cdd59c2e1b10939708002b2cf9ae\\\"};function Zd(e,t,r){var n=Oe.find(e,\\\"/!DocumentSummaryInformation\\\");if(n&&n.size>0)try{var a=J0(n,po,xi.DSI);for(var i in a)t[i]=a[i]}catch(l){if(r.WTF)throw l}var f=Oe.find(e,\\\"/!SummaryInformation\\\");if(f&&f.size>0)try{var s=J0(f,vo,xi.SI);for(var c in s)t[c]==null&&(t[c]=s[c])}catch(l){if(r.WTF)throw l}t.HeadingPairs&&t.TitlesOfParts&&(fs(t.HeadingPairs,t.TitlesOfParts,t,r),delete t.HeadingPairs,delete t.TitlesOfParts)}function Gs(e,t){t||(t={}),Jn(t),Ti(),t.codepage&&Sn(t.codepage);var r,n;if(e.FullPaths){if(Oe.find(e,\\\"/encryption\\\"))throw new Error(\\\"File is password-protected\\\");r=Oe.find(e,\\\"!CompObj\\\"),n=Oe.find(e,\\\"/Workbook\\\")||Oe.find(e,\\\"/Book\\\")}else{switch(t.type){case\\\"base64\\\":e=Pr(yr(e));break;case\\\"binary\\\":e=Pr(e);break;case\\\"buffer\\\":break;case\\\"array\\\":Array.isArray(e)||(e=Array.prototype.slice.call(e));break}nr(e,0),n={content:e}}var a,i;if(r&&$d(r),t.bookProps&&!t.bookSheets)a={};else{var f=Ce?\\\"buffer\\\":\\\"array\\\";if(n&&n.content)a=qd(n.content,t);else if((i=Oe.find(e,\\\"PerfectOffice_MAIN\\\"))&&i.content)a=Yt.to_workbook(i.content,(t.type=f,t));else if((i=Oe.find(e,\\\"NativeContent_MAIN\\\"))&&i.content)a=Yt.to_workbook(i.content,(t.type=f,t));else throw(i=Oe.find(e,\\\"MN0\\\"))&&i.content?new Error(\\\"Unsupported Works 4 for Mac file\\\"):new Error(\\\"Cannot find Workbook stream\\\");t.bookVBA&&e.FullPaths&&Oe.find(e,\\\"/_VBA_PROJECT_CUR/VBA/dir\\\")&&(a.vbaraw=Bu(e))}var s={};return e.FullPaths&&Zd(e,s,t),a.Props=a.Custprops=s,t.bookFiles&&(a.cfb=e),a}var Ha={0:{f:Ix},1:{f:Bx},2:{f:jx},3:{f:Hx},4:{f:Ux},5:{f:zx},6:{f:Yx},7:{f:Xx},8:{f:ed},9:{f:Qx},10:{f:qx},11:{f:Zx},12:{f:Mx},13:{f:Kx},14:{f:Vx},15:{f:Wx},16:{f:Us},17:{f:Jx},18:{f:Gx},19:{f:Un},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:Ad},40:{},42:{},43:{f:qh},44:{f:Jh},45:{f:Zh},46:{f:eu},47:{f:Qh},48:{},49:{f:eo},50:{},51:{f:ku},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:_s},62:{f:$x},63:{f:yu},64:{f:od},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:dr,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:cd},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:Lx},148:{f:Nx,p:16},151:{f:ad},152:{},153:{f:Fd},154:{},155:{},156:{f:Sd},157:{},158:{},159:{T:1,f:vh},160:{T:-1},161:{T:1,f:wt},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:rd},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:wu},336:{T:-1},337:{f:Eu,T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:dn},357:{},358:{},359:{},360:{T:1},361:{},362:{f:gs},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:nd},427:{f:id},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:fd},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:Px},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:td},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:dn},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:Nu},633:{T:1},634:{T:-1},635:{T:1,f:Iu},636:{T:-1},637:{f:to},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:pd},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:ld},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:\\\"\\\"}},_n={6:{f:fn},10:{f:et},12:{f:Ye},13:{f:Ye},14:{f:ze},15:{f:ze},16:{f:lr},17:{f:ze},18:{f:ze},19:{f:Ye},20:{f:ei},21:{f:ei},23:{f:gs},24:{f:ti},25:{f:ze},26:{},27:{},28:{f:Dl},29:{},34:{f:ze},35:{f:ri},38:{f:lr},39:{f:lr},40:{f:lr},41:{f:lr},42:{f:ze},43:{f:ze},47:{f:Ph},49:{f:ul},51:{f:Ye},60:{},61:{f:ol},64:{f:ze},65:{f:hl},66:{f:Ye},77:{},80:{},81:{},82:{},85:{f:Ye},89:{},90:{},91:{},92:{f:rl},93:{f:Il},94:{},95:{f:ze},96:{},97:{},99:{f:ze},125:{f:_s},128:{f:El},129:{f:tl},130:{f:Ye},131:{f:ze},132:{f:ze},133:{f:al},134:{},140:{f:Ul},141:{f:Ye},144:{},146:{f:Hl},151:{},152:{},153:{},154:{},155:{},156:{f:Ye},157:{},158:{},160:{f:jl},161:{f:Xl},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:gl},190:{f:_l},193:{f:et},197:{},198:{},199:{},200:{},201:{},202:{f:ze},203:{},204:{},205:{},206:{},207:{},208:{},209:{},210:{},211:{},213:{},215:{},216:{},217:{},218:{f:Ye},220:{},221:{f:ze},222:{},224:{f:kl},225:{f:el},226:{f:et},227:{},229:{f:bl},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:nl},253:{f:xl},255:{f:il},256:{},259:{},290:{},311:{},312:{},315:{},317:{f:us},318:{},319:{},320:{},330:{},331:{},333:{},334:{},335:{},336:{},337:{},338:{},339:{},340:{},351:{},352:{f:ze},353:{f:et},401:{},402:{},403:{},404:{},405:{},406:{},407:{},408:{},425:{},426:{},427:{},428:{},429:{},430:{f:Sl},431:{f:ze},432:{},433:{},434:{},437:{},438:{f:Ll},439:{f:ze},440:{f:Bl},441:{},442:{f:ca},443:{},444:{f:Ye},445:{},446:{},448:{f:et},449:{f:cl,r:2},450:{f:et},512:{f:Z0},513:{f:zl},515:{f:Tl},516:{f:dl},517:{f:Q0},519:{f:Kl},520:{f:sl},523:{},545:{f:ai},549:{f:q0},566:{},574:{f:ll},638:{f:ml},659:{},1048:{},1054:{f:pl},1084:{},1212:{f:Cl},2048:{f:Ml},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:Aa},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:et},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:Vl,r:12},2173:{f:gu,r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:ze,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:Al,r:12},2197:{},2198:{f:uu,r:12},2199:{},2200:{},2201:{},2202:{f:Rl,r:12},2203:{f:et},2204:{},2205:{},2206:{},2207:{},2211:{f:fl},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:Ye},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:Gl},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:Wl},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:Z0},1:{},2:{f:ql},3:{f:Jl},4:{f:Yl},5:{f:Q0},7:{f:Zl},8:{},9:{f:Aa},11:{},22:{f:Ye},30:{f:vl},31:{},32:{},33:{f:ai},36:{},37:{f:q0},50:{f:Ql},62:{},52:{},67:{},68:{f:Ye},69:{},86:{},126:{},127:{f:$l},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:eh},223:{},234:{},354:{},421:{},518:{f:fn},521:{f:Aa},536:{f:ti},547:{f:ri},561:{},579:{},1030:{f:fn},1033:{f:Aa},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function Nr(e,t,r,n){var a=t;if(!isNaN(a)){var i=n||(r||[]).length||0,f=e.next(4);f.write_shift(2,a),f.write_shift(2,i),i>0&&Qi(r)&&e.push(r)}}function di(e,t){var r=t||{};qe!=null&&r.dense==null&&(r.dense=qe);var n=r.dense?[]:{};e=e.replace(/<!--.*?-->/g,\\\"\\\");var a=e.match(/<table/i);if(!a)throw new Error(\\\"Invalid HTML: could not find <table>\\\");var i=e.match(/<\\\\/table/i),f=a.index,s=i&&i.index||e.length,c=Ec(e.slice(f,s),/(:?<tr[^>]*>)/i,\\\"<tr>\\\"),l=-1,o=0,h=0,x=0,d={s:{r:1e7,c:1e7},e:{r:0,c:0}},p=[];for(f=0;f<c.length;++f){var u=c[f].trim(),g=u.slice(0,3).toLowerCase();if(g==\\\"<tr\\\"){if(++l,r.sheetRows&&r.sheetRows<=l){--l;break}o=0;continue}if(!(g!=\\\"<td\\\"&&g!=\\\"<th\\\")){var N=u.split(/<\\\\/t[dh]>/i);for(s=0;s<N.length;++s){var D=N[s].trim();if(D.match(/<t[dh]/i)){for(var k=D,W=0;k.charAt(0)==\\\"<\\\"&&(W=k.indexOf(\\\">\\\"))>-1;)k=k.slice(W+1);for(var J=0;J<p.length;++J){var T=p[J];T.s.c==o&&T.s.r<l&&l<=T.e.r&&(o=T.e.c+1,J=-1)}var w=me(D.slice(0,D.indexOf(\\\">\\\")));x=w.colspan?+w.colspan:1,((h=+w.rowspan)>1||x>1)&&p.push({s:{r:l,c:o},e:{r:l+(h||1)-1,c:o+x-1}});var P=w.t||w[\\\"data-t\\\"]||\\\"\\\";if(!k.length){o+=x;continue}if(k=zi(k),d.s.r>l&&(d.s.r=l),d.e.r<l&&(d.e.r=l),d.s.c>o&&(d.s.c=o),d.e.c<o&&(d.e.c=o),!k.length){o+=x;continue}var R={t:\\\"s\\\",v:k};r.raw||!k.trim().length||P==\\\"s\\\"||(k===\\\"TRUE\\\"?R={t:\\\"b\\\",v:!0}:k===\\\"FALSE\\\"?R={t:\\\"b\\\",v:!1}:isNaN(Mr(k))?isNaN(Ot(k).getDate())||(R={t:\\\"d\\\",v:ar(k)},r.cellDates||(R={t:\\\"n\\\",v:_r(R.v)}),R.z=r.dateNF||Se[14]):R={t:\\\"n\\\",v:Mr(k)}),r.dense?(n[l]||(n[l]=[]),n[l][o]=R):n[Te({r:l,c:o})]=R,o+=x}}}}return n[\\\"!ref\\\"]=De(d),p.length&&(n[\\\"!merges\\\"]=p),n}function Qd(e,t,r,n){for(var a=e[\\\"!merges\\\"]||[],i=[],f=t.s.c;f<=t.e.c;++f){for(var s=0,c=0,l=0;l<a.length;++l)if(!(a[l].s.r>r||a[l].s.c>f)&&!(a[l].e.r<r||a[l].e.c<f)){if(a[l].s.r<r||a[l].s.c<f){s=-1;break}s=a[l].e.r-a[l].s.r+1,c=a[l].e.c-a[l].s.c+1;break}if(!(s<0)){var o=Te({r,c:f}),h=n.dense?(e[r]||[])[f]:e[o],x=h&&h.v!=null&&(h.h||On(h.w||(qr(h),h.w)||\\\"\\\"))||\\\"\\\",d={};s>1&&(d.rowspan=s),c>1&&(d.colspan=c),n.editable?x='<span contenteditable=\\\"true\\\">'+x+\\\"</span>\\\":h&&(d[\\\"data-t\\\"]=h&&h.t||\\\"z\\\",h.v!=null&&(d[\\\"data-v\\\"]=h.v),h.z!=null&&(d[\\\"data-z\\\"]=h.z),h.l&&(h.l.Target||\\\"#\\\").charAt(0)!=\\\"#\\\"&&(x='<a href=\\\"'+h.l.Target+'\\\">'+x+\\\"</a>\\\")),d.id=(n.id||\\\"sjs\\\")+\\\"-\\\"+o,i.push(Bc(\\\"td\\\",x,d))}}var p=\\\"<tr>\\\";return p+i.join(\\\"\\\")+\\\"</tr>\\\"}var ep='<html><head><meta charset=\\\"utf-8\\\"/><title>SheetJS Table Export</title></head><body>',rp=\\\"</body></html>\\\";function tp(e,t){var r=e.match(/<table[\\\\s\\\\S]*?>[\\\\s\\\\S]*?<\\\\/table>/gi);if(!r||r.length==0)throw new Error(\\\"Invalid HTML: could not find <table>\\\");if(r.length==1)return ft(di(r[0],t),t);var n=Zn();return r.forEach(function(a,i){Qn(n,di(a,t),\\\"Sheet\\\"+(i+1))}),n}function ap(e,t,r){var n=[];return n.join(\\\"\\\")+\\\"<table\\\"+(r&&r.id?' id=\\\"'+r.id+'\\\"':\\\"\\\")+\\\">\\\"}function np(e,t){var r=t||{},n=r.header!=null?r.header:ep,a=r.footer!=null?r.footer:rp,i=[n],f=Nt(e[\\\"!ref\\\"]);r.dense=Array.isArray(e),i.push(ap(e,f,r));for(var s=f.s.r;s<=f.e.r;++s)i.push(Qd(e,f,s,r));return i.push(\\\"</table>\\\"+a),i.join(\\\"\\\")}function zs(e,t,r){var n=r||{};qe!=null&&(n.dense=qe);var a=0,i=0;if(n.origin!=null)if(typeof n.origin==\\\"number\\\")a=n.origin;else{var f=typeof n.origin==\\\"string\\\"?gr(n.origin):n.origin;a=f.r,i=f.c}var s=t.getElementsByTagName(\\\"tr\\\"),c=Math.min(n.sheetRows||1e7,s.length),l={s:{r:0,c:0},e:{r:a,c:i}};if(e[\\\"!ref\\\"]){var o=Nt(e[\\\"!ref\\\"]);l.s.r=Math.min(l.s.r,o.s.r),l.s.c=Math.min(l.s.c,o.s.c),l.e.r=Math.max(l.e.r,o.e.r),l.e.c=Math.max(l.e.c,o.e.c),a==-1&&(l.e.r=a=o.e.r+1)}var h=[],x=0,d=e[\\\"!rows\\\"]||(e[\\\"!rows\\\"]=[]),p=0,u=0,g=0,N=0,D=0,k=0;for(e[\\\"!cols\\\"]||(e[\\\"!cols\\\"]=[]);p<s.length&&u<c;++p){var W=s[p];if(pi(W)){if(n.display)continue;d[u]={hidden:!0}}var J=W.children;for(g=N=0;g<J.length;++g){var T=J[g];if(!(n.display&&pi(T))){var w=T.hasAttribute(\\\"data-v\\\")?T.getAttribute(\\\"data-v\\\"):T.hasAttribute(\\\"v\\\")?T.getAttribute(\\\"v\\\"):zi(T.innerHTML),P=T.getAttribute(\\\"data-z\\\")||T.getAttribute(\\\"z\\\");for(x=0;x<h.length;++x){var R=h[x];R.s.c==N+i&&R.s.r<u+a&&u+a<=R.e.r&&(N=R.e.c+1-i,x=-1)}k=+T.getAttribute(\\\"colspan\\\")||1,((D=+T.getAttribute(\\\"rowspan\\\")||1)>1||k>1)&&h.push({s:{r:u+a,c:N+i},e:{r:u+a+(D||1)-1,c:N+i+(k||1)-1}});var M={t:\\\"s\\\",v:w},I=T.getAttribute(\\\"data-t\\\")||T.getAttribute(\\\"t\\\")||\\\"\\\";w!=null&&(w.length==0?M.t=I||\\\"z\\\":n.raw||w.trim().length==0||I==\\\"s\\\"||(w===\\\"TRUE\\\"?M={t:\\\"b\\\",v:!0}:w===\\\"FALSE\\\"?M={t:\\\"b\\\",v:!1}:isNaN(Mr(w))?isNaN(Ot(w).getDate())||(M={t:\\\"d\\\",v:ar(w)},n.cellDates||(M={t:\\\"n\\\",v:_r(M.v)}),M.z=n.dateNF||Se[14]):M={t:\\\"n\\\",v:Mr(w)})),M.z===void 0&&P!=null&&(M.z=P);var v=\\\"\\\",_=T.getElementsByTagName(\\\"A\\\");if(_&&_.length)for(var U=0;U<_.length&&!(_[U].hasAttribute(\\\"href\\\")&&(v=_[U].getAttribute(\\\"href\\\"),v.charAt(0)!=\\\"#\\\"));++U);v&&v.charAt(0)!=\\\"#\\\"&&(M.l={Target:v}),n.dense?(e[u+a]||(e[u+a]=[]),e[u+a][N+i]=M):e[Te({c:N+i,r:u+a})]=M,l.e.c<N+i&&(l.e.c=N+i),N+=k}}++u}return h.length&&(e[\\\"!merges\\\"]=(e[\\\"!merges\\\"]||[]).concat(h)),l.e.r=Math.max(l.e.r,u-1+a),e[\\\"!ref\\\"]=De(l),u>=c&&(e[\\\"!fullref\\\"]=De((l.e.r=s.length-p+u-1+a,l))),e}function js(e,t){var r=t||{},n=r.dense?[]:{};return zs(n,e,t)}function ip(e,t){return ft(js(e,t),t)}function pi(e){var t=\\\"\\\",r=sp(e);return r&&(t=r(e).getPropertyValue(\\\"display\\\")),t||(t=e.style&&e.style.display),t===\\\"none\\\"}function sp(e){return e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==\\\"function\\\"?e.ownerDocument.defaultView.getComputedStyle:typeof getComputedStyle==\\\"function\\\"?getComputedStyle:null}function fp(e){var t=e.replace(/[\\\\t\\\\r\\\\n]/g,\\\" \\\").trim().replace(/ +/g,\\\" \\\").replace(/<text:s\\\\/>/g,\\\" \\\").replace(/<text:s text:c=\\\"(\\\\d+)\\\"\\\\/>/g,function(n,a){return Array(parseInt(a,10)+1).join(\\\" \\\")}).replace(/<text:tab[^>]*\\\\/>/g,\\\"\\t\\\").replace(/<text:line-break\\\\/>/g,`\\n`),r=Ie(t.replace(/<[^>]*>/g,\\\"\\\"));return[r]}var vi={day:[\\\"d\\\",\\\"dd\\\"],month:[\\\"m\\\",\\\"mm\\\"],year:[\\\"y\\\",\\\"yy\\\"],hours:[\\\"h\\\",\\\"hh\\\"],minutes:[\\\"m\\\",\\\"mm\\\"],seconds:[\\\"s\\\",\\\"ss\\\"],\\\"am-pm\\\":[\\\"A/P\\\",\\\"AM/PM\\\"],\\\"day-of-week\\\":[\\\"ddd\\\",\\\"dddd\\\"],era:[\\\"e\\\",\\\"ee\\\"],quarter:[\\\"\\\\\\\\Qm\\\",'m\\\\\\\\\\\"th quarter\\\"']};function Ks(e,t){var r=t||{};qe!=null&&r.dense==null&&(r.dense=qe);var n=Dn(e),a=[],i,f,s={name:\\\"\\\"},c=\\\"\\\",l=0,o,h,x={},d=[],p=r.dense?[]:{},u,g,N={value:\\\"\\\"},D=\\\"\\\",k=0,W,J=[],T=-1,w=-1,P={s:{r:1e6,c:1e7},e:{r:0,c:0}},R=0,M={},I=[],v={},_=0,U=0,V=[],Z=1,ee=1,ne=[],H={Names:[]},te={},K=[\\\"\\\",\\\"\\\"],A=[],B={},L=\\\"\\\",b=0,X=!1,le=!1,re=0;for(ra.lastIndex=0,n=n.replace(/<!--([\\\\s\\\\S]*?)-->/mg,\\\"\\\").replace(/<!DOCTYPE[^\\\\[]*\\\\[[^\\\\]]*\\\\]>/gm,\\\"\\\");u=ra.exec(n);)switch(u[3]=u[3].replace(/_.*$/,\\\"\\\")){case\\\"table\\\":case\\\"\\\\u5DE5\\\\u4F5C\\\\u8868\\\":u[1]===\\\"/\\\"?(P.e.c>=P.s.c&&P.e.r>=P.s.r?p[\\\"!ref\\\"]=De(P):p[\\\"!ref\\\"]=\\\"A1:A1\\\",r.sheetRows>0&&r.sheetRows<=P.e.r&&(p[\\\"!fullref\\\"]=p[\\\"!ref\\\"],P.e.r=r.sheetRows-1,p[\\\"!ref\\\"]=De(P)),I.length&&(p[\\\"!merges\\\"]=I),V.length&&(p[\\\"!rows\\\"]=V),o.name=o.\\\\u540D\\\\u79F0||o.name,typeof JSON<\\\"u\\\"&&JSON.stringify(o),d.push(o.name),x[o.name]=p,le=!1):u[0].charAt(u[0].length-2)!==\\\"/\\\"&&(o=me(u[0],!1),T=w=-1,P.s.r=P.s.c=1e7,P.e.r=P.e.c=0,p=r.dense?[]:{},I=[],V=[],le=!0);break;case\\\"table-row-group\\\":u[1]===\\\"/\\\"?--R:++R;break;case\\\"table-row\\\":case\\\"\\\\u884C\\\":if(u[1]===\\\"/\\\"){T+=Z,Z=1;break}if(h=me(u[0],!1),h.\\\\u884C\\\\u53F7?T=h.\\\\u884C\\\\u53F7-1:T==-1&&(T=0),Z=+h[\\\"number-rows-repeated\\\"]||1,Z<10)for(re=0;re<Z;++re)R>0&&(V[T+re]={level:R});w=-1;break;case\\\"covered-table-cell\\\":u[1]!==\\\"/\\\"&&++w,r.sheetStubs&&(r.dense?(p[T]||(p[T]=[]),p[T][w]={t:\\\"z\\\"}):p[Te({r:T,c:w})]={t:\\\"z\\\"}),D=\\\"\\\",J=[];break;case\\\"table-cell\\\":case\\\"\\\\u6570\\\\u636E\\\":if(u[0].charAt(u[0].length-2)===\\\"/\\\")++w,N=me(u[0],!1),ee=parseInt(N[\\\"number-columns-repeated\\\"]||\\\"1\\\",10),g={t:\\\"z\\\",v:null},N.formula&&r.cellFormula!=!1&&(g.f=li(Ie(N.formula))),(N.\\\\u6570\\\\u636E\\\\u7C7B\\\\u578B||N[\\\"value-type\\\"])==\\\"string\\\"&&(g.t=\\\"s\\\",g.v=Ie(N[\\\"string-value\\\"]||\\\"\\\"),r.dense?(p[T]||(p[T]=[]),p[T][w]=g):p[Te({r:T,c:w})]=g),w+=ee-1;else if(u[1]!==\\\"/\\\"){++w,D=\\\"\\\",k=0,J=[],ee=1;var ae=Z?T+Z-1:T;if(w>P.e.c&&(P.e.c=w),w<P.s.c&&(P.s.c=w),T<P.s.r&&(P.s.r=T),ae>P.e.r&&(P.e.r=ae),N=me(u[0],!1),A=[],B={},g={t:N.\\\\u6570\\\\u636E\\\\u7C7B\\\\u578B||N[\\\"value-type\\\"],v:null},r.cellFormula)if(N.formula&&(N.formula=Ie(N.formula)),N[\\\"number-matrix-columns-spanned\\\"]&&N[\\\"number-matrix-rows-spanned\\\"]&&(_=parseInt(N[\\\"number-matrix-rows-spanned\\\"],10)||0,U=parseInt(N[\\\"number-matrix-columns-spanned\\\"],10)||0,v={s:{r:T,c:w},e:{r:T+_-1,c:w+U-1}},g.F=De(v),ne.push([v,g.F])),N.formula)g.f=li(N.formula);else for(re=0;re<ne.length;++re)T>=ne[re][0].s.r&&T<=ne[re][0].e.r&&w>=ne[re][0].s.c&&w<=ne[re][0].e.c&&(g.F=ne[re][1]);switch((N[\\\"number-columns-spanned\\\"]||N[\\\"number-rows-spanned\\\"])&&(_=parseInt(N[\\\"number-rows-spanned\\\"],10)||0,U=parseInt(N[\\\"number-columns-spanned\\\"],10)||0,v={s:{r:T,c:w},e:{r:T+_-1,c:w+U-1}},I.push(v)),N[\\\"number-columns-repeated\\\"]&&(ee=parseInt(N[\\\"number-columns-repeated\\\"],10)),g.t){case\\\"boolean\\\":g.t=\\\"b\\\",g.v=Ue(N[\\\"boolean-value\\\"]);break;case\\\"float\\\":g.t=\\\"n\\\",g.v=parseFloat(N.value);break;case\\\"percentage\\\":g.t=\\\"n\\\",g.v=parseFloat(N.value);break;case\\\"currency\\\":g.t=\\\"n\\\",g.v=parseFloat(N.value);break;case\\\"date\\\":g.t=\\\"d\\\",g.v=ar(N[\\\"date-value\\\"]),r.cellDates||(g.t=\\\"n\\\",g.v=_r(g.v)),g.z=\\\"m/d/yy\\\";break;case\\\"time\\\":g.t=\\\"n\\\",g.v=_c(N[\\\"time-value\\\"])/86400,r.cellDates&&(g.t=\\\"d\\\",g.v=Xa(g.v)),g.z=\\\"HH:MM:SS\\\";break;case\\\"number\\\":g.t=\\\"n\\\",g.v=parseFloat(N.\\\\u6570\\\\u636E\\\\u6570\\\\u503C);break;default:if(g.t===\\\"string\\\"||g.t===\\\"text\\\"||!g.t)g.t=\\\"s\\\",N[\\\"string-value\\\"]!=null&&(D=Ie(N[\\\"string-value\\\"]),J=[]);else throw new Error(\\\"Unsupported value type \\\"+g.t)}}else{if(X=!1,g.t===\\\"s\\\"&&(g.v=D||\\\"\\\",J.length&&(g.R=J),X=k==0),te.Target&&(g.l=te),A.length>0&&(g.c=A,A=[]),D&&r.cellText!==!1&&(g.w=D),X&&(g.t=\\\"z\\\",delete g.v),(!X||r.sheetStubs)&&!(r.sheetRows&&r.sheetRows<=T))for(var Q=0;Q<Z;++Q){if(ee=parseInt(N[\\\"number-columns-repeated\\\"]||\\\"1\\\",10),r.dense)for(p[T+Q]||(p[T+Q]=[]),p[T+Q][w]=Q==0?g:ir(g);--ee>0;)p[T+Q][w+ee]=ir(g);else for(p[Te({r:T+Q,c:w})]=g;--ee>0;)p[Te({r:T+Q,c:w+ee})]=ir(g);P.e.c<=w&&(P.e.c=w)}ee=parseInt(N[\\\"number-columns-repeated\\\"]||\\\"1\\\",10),w+=ee-1,ee=0,g={},D=\\\"\\\",J=[]}te={};break;case\\\"document\\\":case\\\"document-content\\\":case\\\"\\\\u7535\\\\u5B50\\\\u8868\\\\u683C\\\\u6587\\\\u6863\\\":case\\\"spreadsheet\\\":case\\\"\\\\u4E3B\\\\u4F53\\\":case\\\"scripts\\\":case\\\"styles\\\":case\\\"font-face-decls\\\":case\\\"master-styles\\\":if(u[1]===\\\"/\\\"){if((i=a.pop())[0]!==u[3])throw\\\"Bad state: \\\"+i}else u[0].charAt(u[0].length-2)!==\\\"/\\\"&&a.push([u[3],!0]);break;case\\\"annotation\\\":if(u[1]===\\\"/\\\"){if((i=a.pop())[0]!==u[3])throw\\\"Bad state: \\\"+i;B.t=D,J.length&&(B.R=J),B.a=L,A.push(B)}else u[0].charAt(u[0].length-2)!==\\\"/\\\"&&a.push([u[3],!1]);L=\\\"\\\",b=0,D=\\\"\\\",k=0,J=[];break;case\\\"creator\\\":u[1]===\\\"/\\\"?L=n.slice(b,u.index):b=u.index+u[0].length;break;case\\\"meta\\\":case\\\"\\\\u5143\\\\u6570\\\\u636E\\\":case\\\"settings\\\":case\\\"config-item-set\\\":case\\\"config-item-map-indexed\\\":case\\\"config-item-map-entry\\\":case\\\"config-item-map-named\\\":case\\\"shapes\\\":case\\\"frame\\\":case\\\"text-box\\\":case\\\"image\\\":case\\\"data-pilot-tables\\\":case\\\"list-style\\\":case\\\"form\\\":case\\\"dde-links\\\":case\\\"event-listeners\\\":case\\\"chart\\\":if(u[1]===\\\"/\\\"){if((i=a.pop())[0]!==u[3])throw\\\"Bad state: \\\"+i}else u[0].charAt(u[0].length-2)!==\\\"/\\\"&&a.push([u[3],!1]);D=\\\"\\\",k=0,J=[];break;case\\\"scientific-number\\\":break;case\\\"currency-symbol\\\":break;case\\\"currency-style\\\":break;case\\\"number-style\\\":case\\\"percentage-style\\\":case\\\"date-style\\\":case\\\"time-style\\\":if(u[1]===\\\"/\\\"){if(M[s.name]=c,(i=a.pop())[0]!==u[3])throw\\\"Bad state: \\\"+i}else u[0].charAt(u[0].length-2)!==\\\"/\\\"&&(c=\\\"\\\",s=me(u[0],!1),a.push([u[3],!0]));break;case\\\"script\\\":break;case\\\"libraries\\\":break;case\\\"automatic-styles\\\":break;case\\\"default-style\\\":case\\\"page-layout\\\":break;case\\\"style\\\":break;case\\\"map\\\":break;case\\\"font-face\\\":break;case\\\"paragraph-properties\\\":break;case\\\"table-properties\\\":break;case\\\"table-column-properties\\\":break;case\\\"table-row-properties\\\":break;case\\\"table-cell-properties\\\":break;case\\\"number\\\":switch(a[a.length-1][0]){case\\\"time-style\\\":case\\\"date-style\\\":f=me(u[0],!1),c+=vi[u[3]][f.style===\\\"long\\\"?1:0];break}break;case\\\"fraction\\\":break;case\\\"day\\\":case\\\"month\\\":case\\\"year\\\":case\\\"era\\\":case\\\"day-of-week\\\":case\\\"week-of-year\\\":case\\\"quarter\\\":case\\\"hours\\\":case\\\"minutes\\\":case\\\"seconds\\\":case\\\"am-pm\\\":switch(a[a.length-1][0]){case\\\"time-style\\\":case\\\"date-style\\\":f=me(u[0],!1),c+=vi[u[3]][f.style===\\\"long\\\"?1:0];break}break;case\\\"boolean-style\\\":break;case\\\"boolean\\\":break;case\\\"text-style\\\":break;case\\\"text\\\":if(u[0].slice(-2)===\\\"/>\\\")break;if(u[1]===\\\"/\\\")switch(a[a.length-1][0]){case\\\"number-style\\\":case\\\"date-style\\\":case\\\"time-style\\\":c+=n.slice(l,u.index);break}else l=u.index+u[0].length;break;case\\\"named-range\\\":f=me(u[0],!1),K=cn(f[\\\"cell-range-address\\\"]);var pe={Name:f.name,Ref:K[0]+\\\"!\\\"+K[1]};le&&(pe.Sheet=d.length),H.Names.push(pe);break;case\\\"text-content\\\":break;case\\\"text-properties\\\":break;case\\\"embedded-text\\\":break;case\\\"body\\\":case\\\"\\\\u7535\\\\u5B50\\\\u8868\\\\u683C\\\":break;case\\\"forms\\\":break;case\\\"table-column\\\":break;case\\\"table-header-rows\\\":break;case\\\"table-rows\\\":break;case\\\"table-column-group\\\":break;case\\\"table-header-columns\\\":break;case\\\"table-columns\\\":break;case\\\"null-date\\\":break;case\\\"graphic-properties\\\":break;case\\\"calculation-settings\\\":break;case\\\"named-expressions\\\":break;case\\\"label-range\\\":break;case\\\"label-ranges\\\":break;case\\\"named-expression\\\":break;case\\\"sort\\\":break;case\\\"sort-by\\\":break;case\\\"sort-groups\\\":break;case\\\"tab\\\":break;case\\\"line-break\\\":break;case\\\"span\\\":break;case\\\"p\\\":case\\\"\\\\u6587\\\\u672C\\\\u4E32\\\":if([\\\"master-styles\\\"].indexOf(a[a.length-1][0])>-1)break;if(u[1]===\\\"/\\\"&&(!N||!N[\\\"string-value\\\"])){var O=fp(n.slice(k,u.index),W);D=(D.length>0?D+`\\n`:\\\"\\\")+O[0]}else W=me(u[0],!1),k=u.index+u[0].length;break;case\\\"s\\\":break;case\\\"database-range\\\":if(u[1]===\\\"/\\\")break;try{K=cn(me(u[0])[\\\"target-range-address\\\"]),x[K[0]][\\\"!autofilter\\\"]={ref:K[1]}}catch{}break;case\\\"date\\\":break;case\\\"object\\\":break;case\\\"title\\\":case\\\"\\\\u6807\\\\u9898\\\":break;case\\\"desc\\\":break;case\\\"binary-data\\\":break;case\\\"table-source\\\":break;case\\\"scenario\\\":break;case\\\"iteration\\\":break;case\\\"content-validations\\\":break;case\\\"content-validation\\\":break;case\\\"help-message\\\":break;case\\\"error-message\\\":break;case\\\"database-ranges\\\":break;case\\\"filter\\\":break;case\\\"filter-and\\\":break;case\\\"filter-or\\\":break;case\\\"filter-condition\\\":break;case\\\"list-level-style-bullet\\\":break;case\\\"list-level-style-number\\\":break;case\\\"list-level-properties\\\":break;case\\\"sender-firstname\\\":case\\\"sender-lastname\\\":case\\\"sender-initials\\\":case\\\"sender-title\\\":case\\\"sender-position\\\":case\\\"sender-email\\\":case\\\"sender-phone-private\\\":case\\\"sender-fax\\\":case\\\"sender-company\\\":case\\\"sender-phone-work\\\":case\\\"sender-street\\\":case\\\"sender-city\\\":case\\\"sender-postal-code\\\":case\\\"sender-country\\\":case\\\"sender-state-or-province\\\":case\\\"author-name\\\":case\\\"author-initials\\\":case\\\"chapter\\\":case\\\"file-name\\\":case\\\"template-name\\\":case\\\"sheet-name\\\":break;case\\\"event-listener\\\":break;case\\\"initial-creator\\\":case\\\"creation-date\\\":case\\\"print-date\\\":case\\\"generator\\\":case\\\"document-statistic\\\":case\\\"user-defined\\\":case\\\"editing-duration\\\":case\\\"editing-cycles\\\":break;case\\\"config-item\\\":break;case\\\"page-number\\\":break;case\\\"page-count\\\":break;case\\\"time\\\":break;case\\\"cell-range-source\\\":break;case\\\"detective\\\":break;case\\\"operation\\\":break;case\\\"highlighted-range\\\":break;case\\\"data-pilot-table\\\":case\\\"source-cell-range\\\":case\\\"source-service\\\":case\\\"data-pilot-field\\\":case\\\"data-pilot-level\\\":case\\\"data-pilot-subtotals\\\":case\\\"data-pilot-subtotal\\\":case\\\"data-pilot-members\\\":case\\\"data-pilot-member\\\":case\\\"data-pilot-display-info\\\":case\\\"data-pilot-sort-info\\\":case\\\"data-pilot-layout-info\\\":case\\\"data-pilot-field-reference\\\":case\\\"data-pilot-groups\\\":case\\\"data-pilot-group\\\":case\\\"data-pilot-group-member\\\":break;case\\\"rect\\\":break;case\\\"dde-connection-decls\\\":case\\\"dde-connection-decl\\\":case\\\"dde-link\\\":case\\\"dde-source\\\":break;case\\\"properties\\\":break;case\\\"property\\\":break;case\\\"a\\\":if(u[1]!==\\\"/\\\"){if(te=me(u[0],!1),!te.href)break;te.Target=Ie(te.href),delete te.href,te.Target.charAt(0)==\\\"#\\\"&&te.Target.indexOf(\\\".\\\")>-1?(K=cn(te.Target.slice(1)),te.Target=\\\"#\\\"+K[0]+\\\"!\\\"+K[1]):te.Target.match(/^\\\\.\\\\.[\\\\\\\\\\\\/]/)&&(te.Target=te.Target.slice(3))}break;case\\\"table-protection\\\":break;case\\\"data-pilot-grand-total\\\":break;case\\\"office-document-common-attrs\\\":break;default:switch(u[2]){case\\\"dc:\\\":case\\\"calcext:\\\":case\\\"loext:\\\":case\\\"ooo:\\\":case\\\"chartooo:\\\":case\\\"draw:\\\":case\\\"style:\\\":case\\\"chart:\\\":case\\\"form:\\\":case\\\"uof:\\\":case\\\"\\\\u8868:\\\":case\\\"\\\\u5B57:\\\":break;default:if(r.WTF)throw new Error(u)}}var Fe={Sheets:x,SheetNames:d,Workbook:H};return r.bookSheets&&delete Fe.Sheets,Fe}function mi(e,t){t=t||{},Rr(e,\\\"META-INF/manifest.xml\\\")&&To($e(e,\\\"META-INF/manifest.xml\\\"),t);var r=Fr(e,\\\"content.xml\\\");if(!r)throw new Error(\\\"Missing content.xml in ODS / UOF file\\\");var n=Ks(Be(r),t);return Rr(e,\\\"meta.xml\\\")&&(n.Props=ss($e(e,\\\"meta.xml\\\"))),n}function gi(e,t){return Ks(e,t)}function $n(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function wn(e){return typeof TextDecoder<\\\"u\\\"?new TextDecoder().decode(e):Be(gt(e))}function kn(e){var t=e.reduce(function(a,i){return a+i.length},0),r=new Uint8Array(t),n=0;return e.forEach(function(a){r.set(a,n),n+=a.length}),r}function _i(e){return e-=e>>1&1431655765,e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>>24}function cp(e,t){for(var r=(e[t+15]&127)<<7|e[t+14]>>1,n=e[t+14]&1,a=t+13;a>=t;--a)n=n*256+e[a];return(e[t+15]&128?-n:n)*Math.pow(10,r-6176)}function ia(e,t){var r=t?t[0]:0,n=e[r]&127;e:if(e[r++]>=128&&(n|=(e[r]&127)<<7,e[r++]<128||(n|=(e[r]&127)<<14,e[r++]<128)||(n|=(e[r]&127)<<21,e[r++]<128)||(n+=(e[r]&127)*Math.pow(2,28),++r,e[r++]<128)||(n+=(e[r]&127)*Math.pow(2,35),++r,e[r++]<128)||(n+=(e[r]&127)*Math.pow(2,42),++r,e[r++]<128)))break e;return t&&(t[0]=r),n}function Qe(e){var t=0,r=e[t]&127;e:if(e[t++]>=128){if(r|=(e[t]&127)<<7,e[t++]<128||(r|=(e[t]&127)<<14,e[t++]<128)||(r|=(e[t]&127)<<21,e[t++]<128))break e;r|=(e[t]&127)<<28}return r}function hr(e){for(var t=[],r=[0];r[0]<e.length;){var n=r[0],a=ia(e,r),i=a&7;a=Math.floor(a/8);var f=0,s;if(a==0)break;switch(i){case 0:{for(var c=r[0];e[r[0]++]>=128;);s=e.slice(c,r[0])}break;case 5:f=4,s=e.slice(r[0],r[0]+f),r[0]+=f;break;case 1:f=8,s=e.slice(r[0],r[0]+f),r[0]+=f;break;case 2:f=ia(e,r),s=e.slice(r[0],r[0]+f),r[0]+=f;break;default:throw new Error(\\\"PB Type \\\".concat(i,\\\" for Field \\\").concat(a,\\\" at offset \\\").concat(n))}var l={data:s,type:i};t[a]==null?t[a]=[l]:t[a].push(l)}return t}function Yn(e,t){return e?.map(function(r){return t(r.data)})||[]}function op(e){for(var t,r=[],n=[0];n[0]<e.length;){var a=ia(e,n),i=hr(e.slice(n[0],n[0]+a));n[0]+=a;var f={id:Qe(i[1][0].data),messages:[]};i[2].forEach(function(s){var c=hr(s.data),l=Qe(c[3][0].data);f.messages.push({meta:c,data:e.slice(n[0],n[0]+l)}),n[0]+=l}),(t=i[3])!=null&&t[0]&&(f.merge=Qe(i[3][0].data)>>>0>0),r.push(f)}return r}function lp(e,t){if(e!=0)throw new Error(\\\"Unexpected Snappy chunk type \\\".concat(e));for(var r=[0],n=ia(t,r),a=[];r[0]<t.length;){var i=t[r[0]]&3;if(i==0){var f=t[r[0]++]>>2;if(f<60)++f;else{var s=f-59;f=t[r[0]],s>1&&(f|=t[r[0]+1]<<8),s>2&&(f|=t[r[0]+2]<<16),s>3&&(f|=t[r[0]+3]<<24),f>>>=0,f++,r[0]+=s}a.push(t.slice(r[0],r[0]+f)),r[0]+=f;continue}else{var c=0,l=0;if(i==1?(l=(t[r[0]]>>2&7)+4,c=(t[r[0]++]&224)<<3,c|=t[r[0]++]):(l=(t[r[0]++]>>2)+1,i==2?(c=t[r[0]]|t[r[0]+1]<<8,r[0]+=2):(c=(t[r[0]]|t[r[0]+1]<<8|t[r[0]+2]<<16|t[r[0]+3]<<24)>>>0,r[0]+=4)),a=[kn(a)],c==0)throw new Error(\\\"Invalid offset 0\\\");if(c>a[0].length)throw new Error(\\\"Invalid offset beyond length\\\");if(l>=c)for(a.push(a[0].slice(-c)),l-=c;l>=a[a.length-1].length;)a.push(a[a.length-1]),l-=a[a.length-1].length;a.push(a[0].slice(-c,-c+l))}}var o=kn(a);if(o.length!=n)throw new Error(\\\"Unexpected length: \\\".concat(o.length,\\\" != \\\").concat(n));return o}function hp(e){for(var t=[],r=0;r<e.length;){var n=e[r++],a=e[r]|e[r+1]<<8|e[r+2]<<16;r+=3,t.push(lp(n,e.slice(r,r+a))),r+=a}if(r!==e.length)throw new Error(\\\"data is not a valid framed stream!\\\");return kn(t)}function up(e,t,r,n){var a=$n(e),i=a.getUint32(4,!0),f=(n>1?12:8)+_i(i&(n>1?3470:398))*4,s=-1,c=-1,l=NaN,o=new Date(2001,0,1);i&512&&(s=a.getUint32(f,!0),f+=4),f+=_i(i&(n>1?12288:4096))*4,i&16&&(c=a.getUint32(f,!0),f+=4),i&32&&(l=a.getFloat64(f,!0),f+=8),i&64&&(o.setTime(o.getTime()+a.getFloat64(f,!0)*1e3),f+=8);var h;switch(e[2]){case 0:break;case 2:h={t:\\\"n\\\",v:l};break;case 3:h={t:\\\"s\\\",v:t[c]};break;case 5:h={t:\\\"d\\\",v:o};break;case 6:h={t:\\\"b\\\",v:l>0};break;case 7:h={t:\\\"n\\\",v:l/86400};break;case 8:h={t:\\\"e\\\",v:0};break;case 9:if(s>-1)h={t:\\\"s\\\",v:r[s]};else if(c>-1)h={t:\\\"s\\\",v:t[c]};else if(!isNaN(l))h={t:\\\"n\\\",v:l};else throw new Error(\\\"Unsupported cell type \\\".concat(e.slice(0,4)));break;default:throw new Error(\\\"Unsupported cell type \\\".concat(e.slice(0,4)))}return h}function xp(e,t,r){var n=$n(e),a=n.getUint32(8,!0),i=12,f=-1,s=-1,c=NaN,l=NaN,o=new Date(2001,0,1);a&1&&(c=cp(e,i),i+=16),a&2&&(l=n.getFloat64(i,!0),i+=8),a&4&&(o.setTime(o.getTime()+n.getFloat64(i,!0)*1e3),i+=8),a&8&&(s=n.getUint32(i,!0),i+=4),a&16&&(f=n.getUint32(i,!0),i+=4);var h;switch(e[1]){case 0:break;case 2:h={t:\\\"n\\\",v:c};break;case 3:h={t:\\\"s\\\",v:t[s]};break;case 5:h={t:\\\"d\\\",v:o};break;case 6:h={t:\\\"b\\\",v:l>0};break;case 7:h={t:\\\"n\\\",v:l/86400};break;case 8:h={t:\\\"e\\\",v:0};break;case 9:if(f>-1)h={t:\\\"s\\\",v:r[f]};else throw new Error(\\\"Unsupported cell type \\\".concat(e[1],\\\" : \\\").concat(a&31,\\\" : \\\").concat(e.slice(0,4)));break;case 10:h={t:\\\"n\\\",v:c};break;default:throw new Error(\\\"Unsupported cell type \\\".concat(e[1],\\\" : \\\").concat(a&31,\\\" : \\\").concat(e.slice(0,4)))}return h}function dp(e,t,r){switch(e[0]){case 0:case 1:case 2:case 3:return up(e,t,r,e[0]);case 5:return xp(e,t,r);default:throw new Error(\\\"Unsupported payload version \\\".concat(e[0]))}}function nt(e){var t=hr(e);return ia(t[1][0].data)}function wi(e,t){var r=hr(t.data),n=Qe(r[1][0].data),a=r[3],i=[];return(a||[]).forEach(function(f){var s=hr(f.data),c=Qe(s[1][0].data)>>>0;switch(n){case 1:i[c]=wn(s[3][0].data);break;case 8:{var l=e[nt(s[9][0].data)][0],o=hr(l.data),h=e[nt(o[1][0].data)][0],x=Qe(h.meta[1][0].data);if(x!=2001)throw new Error(\\\"2000 unexpected reference to \\\".concat(x));var d=hr(h.data);i[c]=d[3].map(function(p){return wn(p.data)}).join(\\\"\\\")}break}}),i}function pp(e,t){var r,n,a,i,f,s,c,l,o,h,x,d,p,u,g=hr(e),N=Qe(g[1][0].data)>>>0,D=Qe(g[2][0].data)>>>0,k=((n=(r=g[8])==null?void 0:r[0])==null?void 0:n.data)&&Qe(g[8][0].data)>0||!1,W,J;if((i=(a=g[7])==null?void 0:a[0])!=null&&i.data&&t!=0)W=(s=(f=g[7])==null?void 0:f[0])==null?void 0:s.data,J=(l=(c=g[6])==null?void 0:c[0])==null?void 0:l.data;else if((h=(o=g[4])==null?void 0:o[0])!=null&&h.data&&t!=1)W=(d=(x=g[4])==null?void 0:x[0])==null?void 0:d.data,J=(u=(p=g[3])==null?void 0:p[0])==null?void 0:u.data;else throw\\\"NUMBERS Tile missing \\\".concat(t,\\\" cell storage\\\");for(var T=k?4:1,w=$n(W),P=[],R=0;R<W.length/2;++R){var M=w.getUint16(R*2,!0);M<65535&&P.push([R,M])}if(P.length!=D)throw\\\"Expected \\\".concat(D,\\\" cells, found \\\").concat(P.length);var I=[];for(R=0;R<P.length-1;++R)I[P[R][0]]=J.subarray(P[R][1]*T,P[R+1][1]*T);return P.length>=1&&(I[P[P.length-1][0]]=J.subarray(P[P.length-1][1]*T)),{R:N,cells:I}}function vp(e,t){var r,n=hr(t.data),a=(r=n?.[7])!=null&&r[0]?Qe(n[7][0].data)>>>0>0?1:0:-1,i=Yn(n[5],function(f){return pp(f,a)});return{nrows:Qe(n[4][0].data)>>>0,data:i.reduce(function(f,s){return f[s.R]||(f[s.R]=[]),s.cells.forEach(function(c,l){if(f[s.R][l])throw new Error(\\\"Duplicate cell r=\\\".concat(s.R,\\\" c=\\\").concat(l));f[s.R][l]=c}),f},[])}}function mp(e,t,r){var n,a=hr(t.data),i={s:{r:0,c:0},e:{r:0,c:0}};if(i.e.r=(Qe(a[6][0].data)>>>0)-1,i.e.r<0)throw new Error(\\\"Invalid row varint \\\".concat(a[6][0].data));if(i.e.c=(Qe(a[7][0].data)>>>0)-1,i.e.c<0)throw new Error(\\\"Invalid col varint \\\".concat(a[7][0].data));r[\\\"!ref\\\"]=De(i);var f=hr(a[4][0].data),s=wi(e,e[nt(f[4][0].data)][0]),c=(n=f[17])!=null&&n[0]?wi(e,e[nt(f[17][0].data)][0]):[],l=hr(f[3][0].data),o=0;l[1].forEach(function(h){var x=hr(h.data),d=e[nt(x[2][0].data)][0],p=Qe(d.meta[1][0].data);if(p!=6002)throw new Error(\\\"6001 unexpected reference to \\\".concat(p));var u=vp(e,d);u.data.forEach(function(g,N){g.forEach(function(D,k){var W=Te({r:o+N,c:k}),J=dp(D,s,c);J&&(r[W]=J)})}),o+=u.nrows})}function gp(e,t){var r=hr(t.data),n={\\\"!ref\\\":\\\"A1\\\"},a=e[nt(r[2][0].data)],i=Qe(a[0].meta[1][0].data);if(i!=6001)throw new Error(\\\"6000 unexpected reference to \\\".concat(i));return mp(e,a[0],n),n}function _p(e,t){var r,n=hr(t.data),a={name:(r=n[1])!=null&&r[0]?wn(n[1][0].data):\\\"\\\",sheets:[]},i=Yn(n[2],nt);return i.forEach(function(f){e[f].forEach(function(s){var c=Qe(s.meta[1][0].data);c==6e3&&a.sheets.push(gp(e,s))})}),a}function wp(e,t){var r=Zn(),n=hr(t.data),a=Yn(n[1],nt);if(a.forEach(function(i){e[i].forEach(function(f){var s=Qe(f.meta[1][0].data);if(s==2){var c=_p(e,f);c.sheets.forEach(function(l,o){Qn(r,l,o==0?c.name:c.name+\\\"_\\\"+o,!0)})}})}),r.SheetNames.length==0)throw new Error(\\\"Empty NUMBERS file\\\");return r}function ln(e){var t,r,n,a,i={},f=[];if(e.FullPaths.forEach(function(c){if(c.match(/\\\\.iwpv2/))throw new Error(\\\"Unsupported password protection\\\")}),e.FileIndex.forEach(function(c){if(c.name.match(/\\\\.iwa$/)){var l;try{l=hp(c.content)}catch(h){return console.log(\\\"?? \\\"+c.content.length+\\\" \\\"+(h.message||h))}var o;try{o=op(l)}catch(h){return console.log(\\\"## \\\"+(h.message||h))}o.forEach(function(h){i[h.id]=h.messages,f.push(h.id)})}}),!f.length)throw new Error(\\\"File has no messages\\\");var s=((a=(n=(r=(t=i?.[1])==null?void 0:t[0])==null?void 0:r.meta)==null?void 0:n[1])==null?void 0:a[0].data)&&Qe(i[1][0].meta[1][0].data)==1&&i[1][0];if(s||f.forEach(function(c){i[c].forEach(function(l){var o=Qe(l.meta[1][0].data)>>>0;if(o==1)if(!s)s=l;else throw new Error(\\\"Document has multiple roots\\\")})}),!s)throw new Error(\\\"Cannot find Document root\\\");return wp(i,s)}function kp(e){return function(r){for(var n=0;n!=e.length;++n){var a=e[n];r[a[0]]===void 0&&(r[a[0]]=a[1]),a[2]===\\\"n\\\"&&(r[a[0]]=Number(r[a[0]]))}}}function Jn(e){kp([[\\\"cellNF\\\",!1],[\\\"cellHTML\\\",!0],[\\\"cellFormula\\\",!0],[\\\"cellStyles\\\",!1],[\\\"cellText\\\",!0],[\\\"cellDates\\\",!1],[\\\"sheetStubs\\\",!1],[\\\"sheetRows\\\",0,\\\"n\\\"],[\\\"bookDeps\\\",!1],[\\\"bookSheets\\\",!1],[\\\"bookProps\\\",!1],[\\\"bookFiles\\\",!1],[\\\"bookVBA\\\",!1],[\\\"password\\\",\\\"\\\"],[\\\"WTF\\\",!1]])(e)}function Ep(e){return Kr.WS.indexOf(e)>-1?\\\"sheet\\\":Kr.CS&&e==Kr.CS?\\\"chart\\\":Kr.DS&&e==Kr.DS?\\\"dialog\\\":Kr.MS&&e==Kr.MS?\\\"macro\\\":e&&e.length?e:\\\"sheet\\\"}function Tp(e,t){if(!e)return 0;try{e=t.map(function(n){return n.id||(n.id=n.strRelID),[n.name,e[\\\"!id\\\"][n.id].Target,Ep(e[\\\"!id\\\"][n.id].Type)]})}catch{return null}return!e||e.length===0?null:e}function Sp(e,t,r,n,a,i,f,s,c,l,o,h){try{i[n]=Kt(Fr(e,r,!0),t);var x=$e(e,t),d;switch(s){case\\\"sheet\\\":d=Od(x,t,a,c,i[n],l,o,h);break;case\\\"chart\\\":if(d=Dd(x,t,a,c,i[n],l,o,h),!d||!d[\\\"!drawel\\\"])break;var p=Vt(d[\\\"!drawel\\\"].Target,t),u=pn(p),g=Ru(Fr(e,p,!0),Kt(Fr(e,u,!0),p)),N=Vt(g,p),D=pn(N);d=xd(Fr(e,N,!0),N,c,Kt(Fr(e,D,!0),N),l,d);break;case\\\"macro\\\":d=bd(x,t,a,c,i[n],l,o,h);break;case\\\"dialog\\\":d=Id(x,t,a,c,i[n],l,o,h);break;default:throw new Error(\\\"Unrecognized sheet type \\\"+s)}f[n]=d;var k=[];i&&i[n]&&Vr(i[n]).forEach(function(W){var J=\\\"\\\";if(i[n][W].Type==Kr.CMNT){J=Vt(i[n][W].Target,t);var T=Bd($e(e,J,!0),J,c);if(!T||!T.length)return;ii(d,T,!1)}i[n][W].Type==Kr.TCMNT&&(J=Vt(i[n][W].Target,t),k=k.concat(Du($e(e,J,!0),c)))}),k&&k.length&&ii(d,k,!0,c.people||[])}catch(W){if(c.WTF)throw W}}function Ar(e){return e.charAt(0)==\\\"/\\\"?e.slice(1):e}function Fp(e,t){if(Pi(),t=t||{},Jn(t),Rr(e,\\\"META-INF/manifest.xml\\\")||Rr(e,\\\"objectdata.xml\\\"))return mi(e,t);if(Rr(e,\\\"Index/Document.iwa\\\")){if(typeof Uint8Array>\\\"u\\\")throw new Error(\\\"NUMBERS file parsing requires Uint8Array support\\\");if(typeof ln<\\\"u\\\"){if(e.FileIndex)return ln(e);var r=Oe.utils.cfb_new();return b0(e).forEach(function(U){Sc(r,U,Hi(e,U))}),ln(r)}throw new Error(\\\"Unsupported NUMBERS file\\\")}if(!Rr(e,\\\"[Content_Types].xml\\\"))throw Rr(e,\\\"index.xml.gz\\\")?new Error(\\\"Unsupported NUMBERS 08 file\\\"):Rr(e,\\\"index.xml\\\")?new Error(\\\"Unsupported NUMBERS 09 file\\\"):new Error(\\\"Unsupported ZIP file\\\");var n=b0(e),a=ko(Fr(e,\\\"[Content_Types].xml\\\")),i=!1,f,s;if(a.workbooks.length===0&&(s=\\\"xl/workbook.xml\\\",$e(e,s,!0)&&a.workbooks.push(s)),a.workbooks.length===0){if(s=\\\"xl/workbook.bin\\\",!$e(e,s,!0))throw new Error(\\\"Could not find workbook\\\");a.workbooks.push(s),i=!0}a.workbooks[0].slice(-3)==\\\"bin\\\"&&(i=!0);var c={},l={};if(!t.bookSheets&&!t.bookProps){if(Jt=[],a.sst)try{Jt=Ld($e(e,Ar(a.sst)),a.sst,t)}catch(U){if(t.WTF)throw U}t.cellStyles&&a.themes.length&&(c=Pd(Fr(e,a.themes[0].replace(/^\\\\//,\\\"\\\"),!0)||\\\"\\\",a.themes[0],t)),a.style&&(l=Nd($e(e,Ar(a.style)),a.style,c,t))}a.links.map(function(U){try{var V=Kt(Fr(e,pn(Ar(U))),U);return Ud($e(e,Ar(U)),V,U,t)}catch{}});var o=Rd($e(e,Ar(a.workbooks[0])),a.workbooks[0],t),h={},x=\\\"\\\";a.coreprops.length&&(x=$e(e,Ar(a.coreprops[0]),!0),x&&(h=ss(x)),a.extprops.length!==0&&(x=$e(e,Ar(a.extprops[0]),!0),x&&yo(x,h,t)));var d={};(!t.bookSheets||t.bookProps)&&a.custprops.length!==0&&(x=Fr(e,Ar(a.custprops[0]),!0),x&&(d=Co(x,t)));var p={};if((t.bookSheets||t.bookProps)&&(o.Sheets?f=o.Sheets.map(function(V){return V.name}):h.Worksheets&&h.SheetNames.length>0&&(f=h.SheetNames),t.bookProps&&(p.Props=h,p.Custprops=d),t.bookSheets&&typeof f<\\\"u\\\"&&(p.SheetNames=f),t.bookSheets?p.SheetNames:t.bookProps))return p;f={};var u={};t.bookDeps&&a.calcchain&&(u=Md($e(e,Ar(a.calcchain)),a.calcchain,t));var g=0,N={},D,k;{var W=o.Sheets;h.Worksheets=W.length,h.SheetNames=[];for(var J=0;J!=W.length;++J)h.SheetNames[J]=W[J].name}var T=i?\\\"bin\\\":\\\"xml\\\",w=a.workbooks[0].lastIndexOf(\\\"/\\\"),P=(a.workbooks[0].slice(0,w+1)+\\\"_rels/\\\"+a.workbooks[0].slice(w+1)+\\\".rels\\\").replace(/^\\\\//,\\\"\\\");Rr(e,P)||(P=\\\"xl/_rels/workbook.\\\"+T+\\\".rels\\\");var R=Kt(Fr(e,P,!0),P.replace(/_rels.*/,\\\"s5s\\\"));(a.metadata||[]).length>=1&&(t.xlmeta=Wd($e(e,Ar(a.metadata[0])),a.metadata[0],t)),(a.people||[]).length>=1&&(t.people=bu($e(e,Ar(a.people[0])),t)),R&&(R=Tp(R,o.Sheets));var M=$e(e,\\\"xl/worksheets/sheet.xml\\\",!0)?1:0;e:for(g=0;g!=h.Worksheets;++g){var I=\\\"sheet\\\";if(R&&R[g]?(D=\\\"xl/\\\"+R[g][1].replace(/[\\\\/]?xl\\\\//,\\\"\\\"),Rr(e,D)||(D=R[g][1]),Rr(e,D)||(D=P.replace(/_rels\\\\/.*$/,\\\"\\\")+R[g][1]),I=R[g][2]):(D=\\\"xl/worksheets/sheet\\\"+(g+1-M)+\\\".\\\"+T,D=D.replace(/sheet0\\\\./,\\\"sheet.\\\")),k=D.replace(/^(.*)(\\\\/)([^\\\\/]*)$/,\\\"$1/_rels/$3.rels\\\"),t&&t.sheets!=null)switch(typeof t.sheets){case\\\"number\\\":if(g!=t.sheets)continue e;break;case\\\"string\\\":if(h.SheetNames[g].toLowerCase()!=t.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(t.sheets)){for(var v=!1,_=0;_!=t.sheets.length;++_)typeof t.sheets[_]==\\\"number\\\"&&t.sheets[_]==g&&(v=1),typeof t.sheets[_]==\\\"string\\\"&&t.sheets[_].toLowerCase()==h.SheetNames[g].toLowerCase()&&(v=1);if(!v)continue e}}Sp(e,D,k,h.SheetNames[g],g,N,f,I,t,o,c,l)}return p={Directory:a,Workbook:o,Props:h,Custprops:d,Deps:u,Sheets:f,SheetNames:h.SheetNames,Strings:Jt,Styles:l,Themes:c,SSF:ir(Se)},t&&t.bookFiles&&(e.files?(p.keys=n,p.files=e.files):(p.keys=[],p.files={},e.FullPaths.forEach(function(U,V){U=U.replace(/^Root Entry[\\\\/]/,\\\"\\\"),p.keys.push(U),p.files[U]=e.FileIndex[V]}))),t&&t.bookVBA&&(a.vba.length>0?p.vbaraw=$e(e,Ar(a.vba[0]),!0):a.defaults&&a.defaults.bin===Lu&&(p.vbaraw=$e(e,\\\"xl/vbaProject.bin\\\",!0))),p}function yp(e,t){var r=t||{},n=\\\"Workbook\\\",a=Oe.find(e,n);try{if(n=\\\"/!DataSpaces/Version\\\",a=Oe.find(e,n),!a||!a.content)throw new Error(\\\"ECMA-376 Encrypted file missing \\\"+n);if(gh(a.content),n=\\\"/!DataSpaces/DataSpaceMap\\\",a=Oe.find(e,n),!a||!a.content)throw new Error(\\\"ECMA-376 Encrypted file missing \\\"+n);var i=wh(a.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!==\\\"StrongEncryptionDataSpace\\\"||i[0].comps[0].v!==\\\"EncryptedPackage\\\")throw new Error(\\\"ECMA-376 Encrypted file bad \\\"+n);if(n=\\\"/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace\\\",a=Oe.find(e,n),!a||!a.content)throw new Error(\\\"ECMA-376 Encrypted file missing \\\"+n);var f=kh(a.content);if(f.length!=1||f[0]!=\\\"StrongEncryptionTransform\\\")throw new Error(\\\"ECMA-376 Encrypted file bad \\\"+n);if(n=\\\"/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary\\\",a=Oe.find(e,n),!a||!a.content)throw new Error(\\\"ECMA-376 Encrypted file missing \\\"+n);Th(a.content)}catch{}if(n=\\\"/EncryptionInfo\\\",a=Oe.find(e,n),!a||!a.content)throw new Error(\\\"ECMA-376 Encrypted file missing \\\"+n);var s=Sh(a.content);if(n=\\\"/EncryptedPackage\\\",a=Oe.find(e,n),!a||!a.content)throw new Error(\\\"ECMA-376 Encrypted file missing \\\"+n);if(s[0]==4&&typeof decrypt_agile<\\\"u\\\")return decrypt_agile(s[1],a.content,r.password||\\\"\\\",r);if(s[0]==2&&typeof decrypt_std76<\\\"u\\\")return decrypt_std76(s[1],a.content,r.password||\\\"\\\",r);throw new Error(\\\"File is password-protected\\\")}function qn(e,t){var r=\\\"\\\";switch((t||{}).type||\\\"base64\\\"){case\\\"buffer\\\":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case\\\"base64\\\":r=yr(e.slice(0,12));break;case\\\"binary\\\":r=e;break;case\\\"array\\\":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error(\\\"Unrecognized type \\\"+(t&&t.type||\\\"undefined\\\"))}return[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3),r.charCodeAt(4),r.charCodeAt(5),r.charCodeAt(6),r.charCodeAt(7)]}function Ap(e,t){return Oe.find(e,\\\"EncryptedPackage\\\")?yp(e,t):Gs(e,t)}function Cp(e,t){var r,n=e,a=t||{};return a.type||(a.type=Ce&&Buffer.isBuffer(e)?\\\"buffer\\\":\\\"base64\\\"),r=Vi(n,a),Fp(r,a)}function $s(e,t){var r=0;e:for(;r<e.length;)switch(e.charCodeAt(r)){case 10:case 13:case 32:++r;break;case 60:return gn(e.slice(r),t);default:break e}return ta.to_workbook(e,t)}function Rp(e,t){var r=\\\"\\\",n=qn(e,t);switch(t.type){case\\\"base64\\\":r=yr(e);break;case\\\"binary\\\":r=e;break;case\\\"buffer\\\":r=e.toString(\\\"binary\\\");break;case\\\"array\\\":r=pt(e);break;default:throw new Error(\\\"Unrecognized type \\\"+t.type)}return n[0]==239&&n[1]==187&&n[2]==191&&(r=Be(r)),t.type=\\\"binary\\\",$s(r,t)}function Op(e,t){var r=e;return t.type==\\\"base64\\\"&&(r=yr(r)),r=Le.utils.decode(1200,r.slice(2),\\\"str\\\"),t.type=\\\"binary\\\",$s(r,t)}function Dp(e){return e.match(/[^\\\\x00-\\\\x7F]/)?Xt(e):e}function hn(e,t,r,n){return n?(r.type=\\\"string\\\",ta.to_workbook(e,r)):ta.to_workbook(t,r)}function Va(e,t){Ti();var r=t||{};if(typeof ArrayBuffer<\\\"u\\\"&&e instanceof ArrayBuffer)return Va(new Uint8Array(e),(r=ir(r),r.type=\\\"array\\\",r));typeof Uint8Array<\\\"u\\\"&&e instanceof Uint8Array&&!r.type&&(r.type=typeof Deno<\\\"u\\\"?\\\"buffer\\\":\\\"array\\\");var n=e,a=[0,0,0,0],i=!1;if(r.cellStyles&&(r.cellNF=!0,r.sheetStubs=!0),Ct={},r.dateNF&&(Ct.dateNF=r.dateNF),r.type||(r.type=Ce&&Buffer.isBuffer(e)?\\\"buffer\\\":\\\"base64\\\"),r.type==\\\"file\\\"&&(r.type=Ce?\\\"buffer\\\":\\\"binary\\\",n=mc(e),typeof Uint8Array<\\\"u\\\"&&!Ce&&(r.type=\\\"array\\\")),r.type==\\\"string\\\"&&(i=!0,r.type=\\\"binary\\\",r.codepage=65001,n=Dp(e)),r.type==\\\"array\\\"&&typeof Uint8Array<\\\"u\\\"&&e instanceof Uint8Array&&typeof ArrayBuffer<\\\"u\\\"){var f=new ArrayBuffer(3),s=new Uint8Array(f);if(s.foo=\\\"bar\\\",!s.foo)return r=ir(r),r.type=\\\"array\\\",Va(Fn(n),r)}switch((a=qn(n,r))[0]){case 208:if(a[1]===207&&a[2]===17&&a[3]===224&&a[4]===161&&a[5]===177&&a[6]===26&&a[7]===225)return Ap(Oe.read(n,r),r);break;case 9:if(a[1]<=8)return Gs(n,r);break;case 60:return gn(n,r);case 73:if(a[1]===73&&a[2]===42&&a[3]===0)throw new Error(\\\"TIFF Image File is not a spreadsheet\\\");if(a[1]===68)return ih(n,r);break;case 84:if(a[1]===65&&a[2]===66&&a[3]===76)return ah.to_workbook(n,r);break;case 80:return a[1]===75&&a[2]<9&&a[3]<9?Cp(n,r):hn(e,n,r,i);case 239:return a[3]===60?gn(n,r):hn(e,n,r,i);case 255:if(a[1]===254)return Op(n,r);if(a[1]===0&&a[2]===2&&a[3]===0)return Yt.to_workbook(n,r);break;case 0:if(a[1]===0&&(a[2]>=2&&a[3]===0||a[2]===0&&(a[3]===8||a[3]===9)))return Yt.to_workbook(n,r);break;case 3:case 131:case 139:case 140:return ni.to_workbook(n,r);case 123:if(a[1]===92&&a[2]===114&&a[3]===116)return Lh.to_workbook(n,r);break;case 10:case 13:case 32:return Rp(n,r);case 137:if(a[1]===80&&a[2]===78&&a[3]===71)throw new Error(\\\"PNG Image File is not a spreadsheet\\\");break}return rh.indexOf(a[0])>-1&&a[2]<=12&&a[3]<=31?ni.to_workbook(n,r):hn(e,n,r,i)}function bp(e,t,r,n,a,i,f,s){var c=sr(r),l=s.defval,o=s.raw||!Object.prototype.hasOwnProperty.call(s,\\\"raw\\\"),h=!0,x=a===1?[]:{};if(a!==1)if(Object.defineProperty)try{Object.defineProperty(x,\\\"__rowNum__\\\",{value:r,enumerable:!1})}catch{x.__rowNum__=r}else x.__rowNum__=r;if(!f||e[r])for(var d=t.s.c;d<=t.e.c;++d){var p=f?e[r][d]:e[n[d]+c];if(p===void 0||p.t===void 0){if(l===void 0)continue;i[d]!=null&&(x[i[d]]=l);continue}var u=p.v;switch(p.t){case\\\"z\\\":if(u==null)break;continue;case\\\"e\\\":u=u==0?null:void 0;break;case\\\"s\\\":case\\\"d\\\":case\\\"b\\\":case\\\"n\\\":break;default:throw new Error(\\\"unrecognized type \\\"+p.t)}if(i[d]!=null){if(u==null)if(p.t==\\\"e\\\"&&u===null)x[i[d]]=null;else if(l!==void 0)x[i[d]]=l;else if(o&&u===null)x[i[d]]=null;else continue;else x[i[d]]=o&&(p.t!==\\\"n\\\"||p.t===\\\"n\\\"&&s.rawNumbers!==!1)?u:qr(p,u,s);u!=null&&(h=!1)}}return{row:x,isempty:h}}function En(e,t){if(e==null||e[\\\"!ref\\\"]==null)return[];var r={t:\\\"n\\\",v:0},n=0,a=1,i=[],f=0,s=\\\"\\\",c={s:{r:0,c:0},e:{r:0,c:0}},l=t||{},o=l.range!=null?l.range:e[\\\"!ref\\\"];switch(l.header===1?n=1:l.header===\\\"A\\\"?n=2:Array.isArray(l.header)?n=3:l.header==null&&(n=0),typeof o){case\\\"string\\\":c=Xe(o);break;case\\\"number\\\":c=Xe(e[\\\"!ref\\\"]),c.s.r=o;break;default:c=o}n>0&&(a=0);var h=sr(c.s.r),x=[],d=[],p=0,u=0,g=Array.isArray(e),N=c.s.r,D=0,k={};g&&!e[N]&&(e[N]=[]);var W=l.skipHidden&&e[\\\"!cols\\\"]||[],J=l.skipHidden&&e[\\\"!rows\\\"]||[];for(D=c.s.c;D<=c.e.c;++D)if(!(W[D]||{}).hidden)switch(x[D]=Ze(D),r=g?e[N][D]:e[x[D]+h],n){case 1:i[D]=D-c.s.c;break;case 2:i[D]=x[D];break;case 3:i[D]=l.header[D-c.s.c];break;default:if(r==null&&(r={w:\\\"__EMPTY\\\",t:\\\"s\\\"}),s=f=qr(r,null,l),u=k[f]||0,!u)k[f]=1;else{do s=f+\\\"_\\\"+u++;while(k[s]);k[f]=u,k[s]=1}i[D]=s}for(N=c.s.r+a;N<=c.e.r;++N)if(!(J[N]||{}).hidden){var T=bp(e,c,N,x,n,i,g,l);(T.isempty===!1||(n===1?l.blankrows!==!1:l.blankrows))&&(d[p++]=T.row)}return d.length=p,d}var ki=/\\\"/g;function Ip(e,t,r,n,a,i,f,s){for(var c=!0,l=[],o=\\\"\\\",h=sr(r),x=t.s.c;x<=t.e.c;++x)if(n[x]){var d=s.dense?(e[r]||[])[x]:e[n[x]+h];if(d==null)o=\\\"\\\";else if(d.v!=null){c=!1,o=\\\"\\\"+(s.rawNumbers&&d.t==\\\"n\\\"?d.v:qr(d,null,s));for(var p=0,u=0;p!==o.length;++p)if((u=o.charCodeAt(p))===a||u===i||u===34||s.forceQuotes){o='\\\"'+o.replace(ki,'\\\"\\\"')+'\\\"';break}o==\\\"ID\\\"&&(o='\\\"ID\\\"')}else d.f!=null&&!d.F?(c=!1,o=\\\"=\\\"+d.f,o.indexOf(\\\",\\\")>=0&&(o='\\\"'+o.replace(ki,'\\\"\\\"')+'\\\"')):o=\\\"\\\";l.push(o)}return s.blankrows===!1&&c?null:l.join(f)}function Ys(e,t){var r=[],n=t??{};if(e==null||e[\\\"!ref\\\"]==null)return\\\"\\\";var a=Xe(e[\\\"!ref\\\"]),i=n.FS!==void 0?n.FS:\\\",\\\",f=i.charCodeAt(0),s=n.RS!==void 0?n.RS:`\\n`,c=s.charCodeAt(0),l=new RegExp((i==\\\"|\\\"?\\\"\\\\\\\\|\\\":i)+\\\"+$\\\"),o=\\\"\\\",h=[];n.dense=Array.isArray(e);for(var x=n.skipHidden&&e[\\\"!cols\\\"]||[],d=n.skipHidden&&e[\\\"!rows\\\"]||[],p=a.s.c;p<=a.e.c;++p)(x[p]||{}).hidden||(h[p]=Ze(p));for(var u=0,g=a.s.r;g<=a.e.r;++g)(d[g]||{}).hidden||(o=Ip(e,a,g,h,f,c,i,n),o!=null&&(n.strip&&(o=o.replace(l,\\\"\\\")),(o||n.blankrows!==!1)&&r.push((u++?s:\\\"\\\")+o)));return delete n.dense,r.join(\\\"\\\")}function Np(e,t){t||(t={}),t.FS=\\\"\\t\\\",t.RS=`\\n`;var r=Ys(e,t);if(typeof Le>\\\"u\\\"||t.type==\\\"string\\\")return r;var n=Le.utils.encode(1200,r,\\\"str\\\");return\\\"\\\\xFF\\\\xFE\\\"+n}function Pp(e){var t=\\\"\\\",r,n=\\\"\\\";if(e==null||e[\\\"!ref\\\"]==null)return[];var a=Xe(e[\\\"!ref\\\"]),i=\\\"\\\",f=[],s,c=[],l=Array.isArray(e);for(s=a.s.c;s<=a.e.c;++s)f[s]=Ze(s);for(var o=a.s.r;o<=a.e.r;++o)for(i=sr(o),s=a.s.c;s<=a.e.c;++s)if(t=f[s]+i,r=l?(e[o]||[])[s]:e[t],n=\\\"\\\",r!==void 0){if(r.F!=null){if(t=r.F,!r.f)continue;n=r.f,t.indexOf(\\\":\\\")==-1&&(t=t+\\\":\\\"+t)}if(r.f!=null)n=r.f;else{if(r.t==\\\"z\\\")continue;if(r.t==\\\"n\\\"&&r.v!=null)n=\\\"\\\"+r.v;else if(r.t==\\\"b\\\")n=r.v?\\\"TRUE\\\":\\\"FALSE\\\";else if(r.w!==void 0)n=\\\"'\\\"+r.w;else{if(r.v===void 0)continue;r.t==\\\"s\\\"?n=\\\"'\\\"+r.v:n=\\\"\\\"+r.v}}c[c.length]=t+\\\"=\\\"+n}return c}function Js(e,t,r){var n=r||{},a=+!n.skipHeader,i=e||{},f=0,s=0;if(i&&n.origin!=null)if(typeof n.origin==\\\"number\\\")f=n.origin;else{var c=typeof n.origin==\\\"string\\\"?gr(n.origin):n.origin;f=c.r,s=c.c}var l,o={s:{c:0,r:0},e:{c:s,r:f+t.length-1+a}};if(i[\\\"!ref\\\"]){var h=Xe(i[\\\"!ref\\\"]);o.e.c=Math.max(o.e.c,h.e.c),o.e.r=Math.max(o.e.r,h.e.r),f==-1&&(f=h.e.r+1,o.e.r=f+t.length-1+a)}else f==-1&&(f=0,o.e.r=t.length-1+a);var x=n.header||[],d=0;t.forEach(function(u,g){Vr(u).forEach(function(N){(d=x.indexOf(N))==-1&&(x[d=x.length]=N);var D=u[N],k=\\\"z\\\",W=\\\"\\\",J=Te({c:s+d,r:f+g+a});l=sa(i,J),D&&typeof D==\\\"object\\\"&&!(D instanceof Date)?i[J]=D:(typeof D==\\\"number\\\"?k=\\\"n\\\":typeof D==\\\"boolean\\\"?k=\\\"b\\\":typeof D==\\\"string\\\"?k=\\\"s\\\":D instanceof Date?(k=\\\"d\\\",n.cellDates||(k=\\\"n\\\",D=_r(D)),W=n.dateNF||Se[14]):D===null&&n.nullError&&(k=\\\"e\\\",D=0),l?(l.t=k,l.v=D,delete l.w,delete l.R,W&&(l.z=W)):i[J]=l={t:k,v:D},W&&(l.z=W))})}),o.e.c=Math.max(o.e.c,s+x.length-1);var p=sr(f);if(a)for(d=0;d<x.length;++d)i[Ze(d+s)+p]={t:\\\"s\\\",v:x[d]};return i[\\\"!ref\\\"]=De(o),i}function Lp(e,t){return Js(null,e,t)}function sa(e,t,r){if(typeof t==\\\"string\\\"){if(Array.isArray(e)){var n=gr(t);return e[n.r]||(e[n.r]=[]),e[n.r][n.c]||(e[n.r][n.c]={t:\\\"z\\\"})}return e[t]||(e[t]={t:\\\"z\\\"})}return typeof t!=\\\"number\\\"?sa(e,Te(t)):sa(e,Te({r:t,c:r||0}))}function Bp(e,t){if(typeof t==\\\"number\\\"){if(t>=0&&e.SheetNames.length>t)return t;throw new Error(\\\"Cannot find sheet # \\\"+t)}else if(typeof t==\\\"string\\\"){var r=e.SheetNames.indexOf(t);if(r>-1)return r;throw new Error(\\\"Cannot find sheet name |\\\"+t+\\\"|\\\")}else throw new Error(\\\"Cannot find sheet |\\\"+t+\\\"|\\\")}function Zn(){return{SheetNames:[],Sheets:{}}}function Qn(e,t,r,n){var a=1;if(!r)for(;a<=65535&&e.SheetNames.indexOf(r=\\\"Sheet\\\"+a)!=-1;++a,r=void 0);if(!r||e.SheetNames.length>=65535)throw new Error(\\\"Too many worksheets\\\");if(n&&e.SheetNames.indexOf(r)>=0){var i=r.match(/(^.*?)(\\\\d+)$/);a=i&&+i[2]||0;var f=i&&i[1]||r;for(++a;a<=65535&&e.SheetNames.indexOf(r=f+a)!=-1;++a);}if(kd(r),e.SheetNames.indexOf(r)>=0)throw new Error(\\\"Worksheet with name |\\\"+r+\\\"| already exists!\\\");return e.SheetNames.push(r),e.Sheets[r]=t,r}function Mp(e,t,r){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var n=Bp(e,t);switch(e.Workbook.Sheets[n]||(e.Workbook.Sheets[n]={}),r){case 0:case 1:case 2:break;default:throw new Error(\\\"Bad sheet visibility setting \\\"+r)}e.Workbook.Sheets[n].Hidden=r}function Up(e,t){return e.z=t,e}function qs(e,t,r){return t?(e.l={Target:t},r&&(e.l.Tooltip=r)):delete e.l,e}function Wp(e,t,r){return qs(e,\\\"#\\\"+t,r)}function Hp(e,t,r){e.c||(e.c=[]),e.c.push({t,a:r||\\\"SheetJS\\\"})}function Vp(e,t,r,n){for(var a=typeof t!=\\\"string\\\"?t:Xe(t),i=typeof t==\\\"string\\\"?t:De(t),f=a.s.r;f<=a.e.r;++f)for(var s=a.s.c;s<=a.e.c;++s){var c=sa(e,f,s);c.t=\\\"n\\\",c.F=i,delete c.v,f==a.s.r&&s==a.s.c&&(c.f=r,n&&(c.D=!0))}return e}var Zs={encode_col:Ze,encode_row:sr,encode_cell:Te,encode_range:De,decode_col:Mn,decode_row:Bn,split_cell:Qc,decode_cell:gr,decode_range:Nt,format_cell:qr,sheet_add_aoa:rs,sheet_add_json:Js,sheet_add_dom:zs,aoa_to_sheet:Pt,json_to_sheet:Lp,table_to_sheet:js,table_to_book:ip,sheet_to_csv:Ys,sheet_to_txt:Np,sheet_to_json:En,sheet_to_html:np,sheet_to_formulae:Pp,sheet_to_row_object_array:En,sheet_get_cell:sa,book_new:Zn,book_append_sheet:Qn,book_set_sheet_visibility:Mp,cell_set_number_format:Up,cell_set_hyperlink:qs,cell_set_internal_link:Wp,cell_add_comment:Hp,sheet_set_array_formula:Vp,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};var ev=Ei.version;e0();function Qs(e,t,r,n,a={}){let i=Va(e,{type:\\\"array\\\",cellDates:!0}),f=a.maxRows,s={};for(let c of i.SheetNames){let l=i.Sheets[c];if(!l)continue;let o=Zs.sheet_to_json(l,{header:1,defval:null});if(o.length===0){s[c]={name:n??c,filesize:t,documentHash:r,headersCount:0,headers:[],rowsCount:0,rows:[]};continue}let x=o[0].map(g=>g!=null?String(g):\\\"\\\"),d=o.slice(1),p=f!=null?Math.min(f,d.length):d.length,u=[];for(let g=0;g<p;g++){let N=d[g],D=x.map((k,W)=>{let J=N?.[W];return{key:k,value:$a(J)}});u.push({index:g,cells:D})}s[c]={name:n??c,filesize:t,documentHash:r,headersCount:x.length,rowsCount:d.length,headers:x,rows:u}}return{sheets:s}}var nf=[\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\\\",\\\"application/vnd.ms-excel\\\",\\\"application/vnd.oasis.opendocument.spreadsheet\\\"],sf=\\\"text/csv\\\";function Kp(e,t){let r=t.fileName??e.name;if(r){let a=r.match(/\\\\.([a-z0-9]+)$/i);if(a)return a[1].toLowerCase()}let n=e.type?.toLowerCase();return n===sf?\\\"csv\\\":nf.some(a=>n?.startsWith(a)||n===a)?n.includes(\\\"spreadsheetml\\\")?\\\"xlsx\\\":\\\"xls\\\":null}function $p(e,t){return e===\\\"csv\\\"||t.type===sf}function Yp(e,t){return e===\\\"xlsx\\\"||e===\\\"xls\\\"||e===\\\"ods\\\"?!0:nf.some(r=>t.type===r||t.type?.startsWith(r))}async function a0(e,t={}){let r=e.size,n=await g0(e),a=t.engine===\\\"auto\\\"||t.engine===null||t.engine===void 0?null:t.engine,i=Kp(e,t);if(a===\\\"csv\\\"||a===null&&$p(i,e)){let{parseCsv:f}=await Promise.resolve().then(()=>(af(),tf)),s=t.fileName??e.name??\\\"Sheet1\\\";return f(e,r,n,s,t)}if(a===\\\"xlsx\\\"||a===null&&Yp(i,e)){let f=await e.arrayBuffer();return Qs(f,r,n,void 0,t)}throw a!==null?new Error(`Unsupported engine: ${a}. Use 'xlsx', 'csv', or omit for automatic detection.`):new Error(`Unsupported file type: ${i??e.type??\\\"unknown\\\"}. Use .xlsx, .xls, .ods or .csv.`)}var n0=null,ff={},Jp={async load(e,t={}){n0=e,ff={...t};let r={...t,maxRows:t.maxRows??10},n=await a0(e,r);return structuredClone(n)},async parseAll(e){if(!n0)throw new Error(\\\"No file loaded. Call load(blob, options) first.\\\");let t={...ff,maxRows:void 0};e&&e({phase:\\\"parsing\\\",localPercent:0});let r=await a0(n0,t);return e&&e({phase:\\\"parsing\\\",localPercent:100}),structuredClone(r)}};wa(Jp);\\n/*! Bundled license information:\\n\\njs-sha256/src/sha256.js:\\n (**\\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\\n *\\n * @version 0.11.1\\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\\n * @copyright Chen, Yi-Cyuan 2014-2025\\n * @license MIT\\n *)\\n\\npapaparse/papaparse.js:\\n (* @license\\n Papa Parse\\n v5.5.3\\n https://github.com/mholt/PapaParse\\n License: MIT\\n *)\\n\\ncomlink/dist/esm/comlink.mjs:\\n (**\\n * @license\\n * Copyright 2019 Google LLC\\n * SPDX-License-Identifier: Apache-2.0\\n *)\\n\\nxlsx/xlsx.mjs:\\n (*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com *)\\n\\nxlsx/xlsx.mjs:\\n (*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com *)\\n*/\\n//# sourceMappingURL=parser.worker.js.map\";\n const blob = new Blob([workerCode], { type: 'application/javascript' });\n return URL.createObjectURL(blob);\n}\n","import { useContext } from 'react';\r\nimport { ImporterContext } from './ImporterContext.js';\r\nimport type { ImporterContextValue } from './types.js';\r\n\r\nexport function useImporterContext(): ImporterContextValue {\r\n const context = useContext(ImporterContext);\r\n if (context === null) {\r\n throw new Error('useImporter must be used within an ImporterProvider');\r\n }\r\n return context;\r\n}\r\n","import { useCallback, useEffect, useMemo } from 'react';\nimport { useImporterContext } from '../providers/index.js';\nimport { hasValidationErrors } from '../core/view/get-view-counts.js';\nimport { sheetToObjectsWithKeyMap } from '../core/view/export/sheet-to-objects.js';\nimport type { Sheet } from '../types/sheet.js';\nimport type { UseImporterOptions } from './types.js';\n\nfunction rowsToLayoutObjects(sheet: Sheet): Record<string, unknown>[] {\n return sheet.rows.map((row) =>\n row.cells.reduce((acc, c) => ({ ...acc, [c.key]: c.value }), {} as Record<string, unknown>)\n );\n}\n\nexport function useImporter(options: UseImporterOptions = {}) {\n const ctx = useImporterContext();\n const { layout: layoutOption, engine: engineOption } = options;\n\n useEffect(() => {\n if (layoutOption !== undefined) {\n ctx.setLayout(layoutOption);\n }\n }, [ctx, layoutOption]);\n\n useEffect(() => {\n if (engineOption !== undefined) {\n ctx.setEngine(engineOption);\n }\n }, [ctx, engineOption]);\n\n const canSubmit = useMemo(\n () =>\n Boolean(\n ctx.result &&\n ctx.status === 'success' &&\n !ctx.submitDone &&\n !hasValidationErrors(ctx.result)\n ),\n [ctx.result, ctx.status, ctx.submitDone]\n );\n\n const submit = useCallback(() => {\n if (!ctx.result || ctx.submitDone || hasValidationErrors(ctx.result) || !ctx.onSubmit) return;\n const data = ctx.submitKeyMap\n ? sheetToObjectsWithKeyMap(ctx.result, ctx.submitKeyMap)\n : rowsToLayoutObjects(ctx.result);\n ctx.onSubmit(data);\n ctx.setSubmitDone(true);\n }, [ctx]);\n\n return useMemo(\n () => ({\n processFile: ctx.processFile,\n registerValidator: ctx.registerValidator,\n registerSanitizer: ctx.registerSanitizer,\n registerTransform: ctx.registerTransform,\n abort: ctx.abort,\n metrics: ctx.metrics,\n submit,\n canSubmit,\n submitDone: ctx.submitDone,\n }),\n [\n ctx.processFile,\n ctx.registerValidator,\n ctx.registerSanitizer,\n ctx.registerTransform,\n ctx.abort,\n ctx.metrics,\n submit,\n canSubmit,\n ctx.submitDone,\n ]\n );\n}\n","import type { Sheet, ValidatedRow } from '../../types/sheet.js';\n\nexport function getRowsWithErrors(sheet: Sheet): ValidatedRow[] {\n return sheet.rows.filter((row) => row.errors.length > 0);\n}\n","import type { Sheet } from '../../types/sheet.js';\nimport type { ViewCounts } from './types/index.js';\nimport { getRowsWithErrors } from './get-rows-with-errors.js';\n\nexport function hasValidationErrors(sheet: Sheet | null): boolean {\n if (!sheet) return false;\n return getViewCounts(sheet).totalErrors > 0;\n}\n\nexport function getViewCounts(sheet: Sheet): ViewCounts {\n const totalRows = sheet.rows.length;\n const rowsWithErrors = getRowsWithErrors(sheet);\n const totalErrors =\n sheet.errors.length +\n sheet.rows.reduce(\n (sum, row) =>\n sum + row.errors.length + row.cells.reduce((c, cell) => c + cell.errors.length, 0),\n 0\n );\n return {\n totalRows,\n rowsWithErrors: rowsWithErrors.length,\n totalErrors,\n };\n}\n","import type { Sheet, ValidatedRow } from '../../../types/sheet.js';\n\nexport function getCellValue(row: ValidatedRow, key: string): unknown {\n const cell = row.cells.find((c) => c.key === key);\n return cell?.value;\n}\n\nexport function sheetRowsToObjects<T>(\n rows: readonly ValidatedRow[],\n mapRow: (row: ValidatedRow) => T\n): T[] {\n return rows.map(mapRow);\n}\n\nexport function sheetToObjectsWithKeyMap(\n sheet: Sheet | null,\n keyMap: Readonly<Record<string, string>>\n): Record<string, unknown>[] {\n if (!sheet) return [];\n return sheet.rows.map((row) => {\n const obj: Record<string, unknown> = {};\n for (const [sheetKey, outputKey] of Object.entries(keyMap)) {\n obj[outputKey] = getCellValue(row, sheetKey);\n }\n return obj;\n });\n}\n","import { useCallback, useMemo } from 'react';\nimport { useImporterContext } from '../../../providers/index.js';\nimport { runConvert } from '../run-convert.js';\nimport type { ConvertOptions } from '../types/convert-options.js';\nimport type { ConvertResult, ConvertResultApplyResult } from '../types/convert-result.js';\n\nexport function useConvert() {\n const ctx = useImporterContext();\n const { rawData, layout, convertedSheet, convertResultData, setConvertedSheet, setConvertResultData } = ctx;\n\n const convert = useCallback(\n (options?: ConvertOptions) => {\n if (!rawData || !layout) return;\n const result = runConvert(rawData, layout, options, convertResultData ?? undefined);\n if (result.kind === 'success') {\n setConvertedSheet(result.sheet);\n } else {\n setConvertResultData({\n headersFound: result.headersFound,\n mismatches: result.mismatches,\n columnOrder: result.columnOrder,\n headerToFieldMap: result.headerToFieldMap,\n });\n }\n },\n [rawData, layout, convertResultData, setConvertedSheet, setConvertResultData],\n );\n\n const applyMappingImpl = useCallback((): ConvertResultApplyResult | undefined => {\n if (!rawData || !layout || !convertResultData) return undefined;\n const result = runConvert(rawData, layout, {}, {\n columnOrder: convertResultData.columnOrder,\n headerToFieldMap: convertResultData.headerToFieldMap,\n });\n if (result.kind === 'success') {\n setConvertedSheet(result.sheet);\n return { kind: 'success', sheet: result.sheet };\n }\n setConvertResultData({\n headersFound: result.headersFound,\n mismatches: result.mismatches,\n columnOrder: result.columnOrder,\n headerToFieldMap: result.headerToFieldMap,\n });\n return { kind: 'mismatch', result };\n }, [rawData, layout, convertResultData, setConvertedSheet, setConvertResultData]);\n\n const reorderColumns = useCallback(\n (fieldNames: string[]) => {\n setConvertResultData((prev) =>\n prev ? { ...prev, columnOrder: fieldNames } : prev,\n );\n },\n [setConvertResultData],\n );\n\n const renameColumn = useCallback(\n (fileHeader: string, layoutFieldName: string) => {\n setConvertResultData((prev) =>\n prev\n ? {\n ...prev,\n headerToFieldMap: { ...prev.headerToFieldMap, [fileHeader]: layoutFieldName },\n }\n : prev,\n );\n },\n [setConvertResultData],\n );\n\n const convertResult: ConvertResult | null = useMemo(() => {\n if (!convertResultData) return null;\n return {\n kind: 'mismatch',\n headersFound: convertResultData.headersFound,\n mismatches: convertResultData.mismatches,\n columnOrder: [...convertResultData.columnOrder],\n headerToFieldMap: { ...convertResultData.headerToFieldMap },\n reorderColumns,\n renameColumn,\n applyMapping: () =>\n applyMappingImpl() ?? {\n kind: 'mismatch' as const,\n result: { ...convertResultData, kind: 'mismatch' as const },\n },\n };\n }, [convertResultData, reorderColumns, renameColumn, applyMappingImpl]);\n\n return useMemo(\n () => ({\n convert,\n convertedSheet,\n convertResult,\n }),\n [convert, convertedSheet, convertResult],\n );\n}\n","import type { RawSheet } from '../../types/raw-sheet.js';\nimport type { SheetLayout } from '../../types/sheet-layout.js';\nimport type { ConvertedSheet, ConvertedSheetCell, ConvertedSheetRow } from './types/converted-sheet.js';\n\nexport function buildConvertedSheet(\n rawSheet: RawSheet,\n _sheetLayout: SheetLayout,\n columnOrder: readonly string[],\n fieldToHeader: Readonly<Record<string, string | null>>,\n): ConvertedSheet {\n const headers = [...columnOrder];\n const headerIndex = new Map<string, number>();\n rawSheet.headers.forEach((h, i) => headerIndex.set(h, i));\n\n const rows: ConvertedSheetRow[] = rawSheet.rows.map((row) => {\n const cells: ConvertedSheetCell[] = columnOrder.map((fieldName) => {\n const fileHeader = fieldToHeader[fieldName];\n const value =\n fileHeader != null\n ? (() => {\n const idx = headerIndex.get(fileHeader);\n if (idx == null) return null;\n const cell = row.cells[idx];\n return cell?.value ?? null;\n })()\n : null;\n return { key: fieldName, value: value ?? null };\n });\n return { index: row.index, cells };\n });\n\n return {\n name: rawSheet.name,\n filesize: rawSheet.filesize,\n documentHash: rawSheet.documentHash,\n rowsCount: rawSheet.rowsCount,\n headersCount: rawSheet.headersCount,\n headers,\n rows,\n };\n}\n","export function normalize(s: string): string {\n const t = s.trim().toLowerCase();\n return t.normalize('NFD').replace(/\\p{Diacritic}/gu, '');\n}\n\nfunction levenshteinDistance(a: string, b: string): number {\n if (a.length === 0) return b.length;\n if (b.length === 0) return a.length;\n let prev = Array.from({ length: b.length + 1 }, (_, i) => i);\n for (let i = 1; i <= a.length; i++) {\n const curr: number[] = [i];\n for (let j = 1; j <= b.length; j++) {\n const cost = a[i - 1] === b[j - 1] ? 0 : 1;\n curr[j] = Math.min(\n curr[j - 1]! + 1,\n prev[j]! + 1,\n prev[j - 1]! + cost,\n );\n }\n prev = curr;\n }\n return prev[b.length]!;\n}\n\nexport function getSimilarity(s1: string, s2: string): number {\n const a = normalize(s1);\n const b = normalize(s2);\n const longer = a.length >= b.length ? a : b;\n const shorter = a.length < b.length ? a : b;\n if (longer.length === 0) return 1;\n const distance = levenshteinDistance(longer, shorter);\n return (longer.length - distance) / longer.length;\n}\n\nconst DEFAULT_FUZZY_THRESHOLD = 0.8;\n\nexport interface MapHeadersOptions {\n threshold?: number;\n}\n\nexport interface MapHeadersItem {\n key: string;\n matchedHeader: string | null;\n}\n\nexport function mapHeaders(\n rawHeaders: string[],\n expectedKeys: string[],\n options: MapHeadersOptions = {},\n): MapHeadersItem[] {\n const threshold = options.threshold ?? DEFAULT_FUZZY_THRESHOLD;\n const keyScores: { key: string; header: string; score: number }[] = [];\n for (const key of expectedKeys) {\n for (const header of rawHeaders) {\n const score = getSimilarity(key, header);\n if (score >= threshold) {\n keyScores.push({ key, header, score });\n }\n }\n }\n keyScores.sort((x, y) => y.score - x.score);\n\n const assignedKeys = new Set<string>();\n const assignedHeaders = new Set<string>();\n const keyToHeader: Record<string, string | null> = {};\n for (const k of expectedKeys) {\n keyToHeader[k] = null;\n }\n for (const { key, header, score: _ } of keyScores) {\n if (assignedKeys.has(key) || assignedHeaders.has(header)) continue;\n keyToHeader[key] = header;\n assignedKeys.add(key);\n assignedHeaders.add(header);\n }\n\n return expectedKeys.map((key) => ({\n key,\n matchedHeader: keyToHeader[key] ?? null,\n }));\n}\n","import type { RawSheet } from '../../types/raw-sheet.js';\nimport type { SheetLayout } from '../../types/sheet-layout.js';\nimport { mapHeaders } from '../parser/utils/fuzzy-match.js';\nimport type { ColumnMismatch } from './types/column-mismatch.js';\nimport type { ConvertOptions } from './types/convert-options.js';\n\nexport interface MatchHeadersResult {\n readonly fieldToHeader: Readonly<Record<string, string | null>>;\n readonly mismatches: readonly ColumnMismatch[];\n}\n\nfunction defaultNormalize(header: string, caseSensitive: boolean): string {\n const trimmed = header.trim();\n return caseSensitive ? trimmed : trimmed.toLowerCase();\n}\n\nexport function matchHeadersToLayout(\n rawSheet: RawSheet,\n sheetLayout: SheetLayout,\n headerToFieldMap: Readonly<Record<string, string>> = {},\n options: ConvertOptions = {}\n): MatchHeadersResult {\n const caseSensitive = options.caseSensitive ?? false;\n const normalizer = options.normalizer ?? ((h: string) => defaultNormalize(h, caseSensitive));\n const layoutFieldNames = Object.keys(sheetLayout.fields) as string[];\n const fileHeaders = rawSheet.headers as string[];\n const normalizedToFileHeader = new Map<string, string>();\n for (const h of fileHeaders) {\n normalizedToFileHeader.set(normalizer(h), h);\n }\n\n const fieldToHeader: Record<string, string | null> = {};\n const usedFileHeaders = new Set<string>();\n\n for (const [fileHeader, fieldName] of Object.entries(headerToFieldMap)) {\n if (layoutFieldNames.includes(fieldName)) {\n fieldToHeader[fieldName] = fileHeaders.includes(fileHeader) ? fileHeader : null;\n if (fieldToHeader[fieldName]) usedFileHeaders.add(fileHeader);\n }\n }\n\n for (const fieldName of layoutFieldNames) {\n if (fieldToHeader[fieldName] != null) continue;\n const key = normalizer(fieldName);\n const fileHeader = normalizedToFileHeader.get(key);\n if (fileHeader != null && !usedFileHeaders.has(fileHeader)) {\n fieldToHeader[fieldName] = fileHeader;\n usedFileHeaders.add(fileHeader);\n } else {\n fieldToHeader[fieldName] = null;\n }\n }\n\n if (options.fuzzyHeaders === true) {\n const unmatchedFields = layoutFieldNames.filter((f) => fieldToHeader[f] == null);\n const availableHeaders = fileHeaders.filter((h) => !usedFileHeaders.has(h));\n const threshold = options.fuzzyThreshold ?? 0.8;\n const fuzzyResults = mapHeaders(availableHeaders, unmatchedFields, { threshold });\n for (const { key, matchedHeader } of fuzzyResults) {\n if (matchedHeader != null && !usedFileHeaders.has(matchedHeader)) {\n fieldToHeader[key] = matchedHeader;\n usedFileHeaders.add(matchedHeader);\n }\n }\n }\n\n const mismatches: ColumnMismatch[] = [];\n for (const fieldName of layoutFieldNames) {\n const found = fieldToHeader[fieldName];\n if (found == null) {\n const field = sheetLayout.fields[fieldName];\n const required = field?.required !== false;\n mismatches.push({\n expected: fieldName,\n found: null,\n message: `Column '${fieldName}' not found in file`,\n required,\n });\n }\n }\n\n return { fieldToHeader, mismatches };\n}\n","import type { RawSheet } from '../../types/raw-sheet.js';\nimport type { SheetLayout } from '../../types/sheet-layout.js';\nimport { buildConvertedSheet } from './build-converted-sheet.js';\nimport { matchHeadersToLayout } from './match-headers.js';\nimport type { ConvertMismatchData } from './types/convert-mismatch-data.js';\nimport type { ConvertOptions } from './types/convert-options.js';\nimport type { ConvertSuccess } from './types/convert-success.js';\n\nexport type RunConvertExisting = {\n readonly columnOrder: readonly string[];\n readonly headerToFieldMap: Readonly<Record<string, string>>;\n};\n\nexport type RunConvertResult = ConvertSuccess | ConvertMismatchData;\n\nexport function runConvert(\n rawSheet: RawSheet,\n sheetLayout: SheetLayout,\n options: ConvertOptions = {},\n existing?: RunConvertExisting\n): RunConvertResult {\n const layoutFieldNames = Object.keys(sheetLayout.fields) as string[];\n const columnOrder = existing?.columnOrder?.length\n ? (existing.columnOrder as string[])\n : layoutFieldNames;\n const headerToFieldMap = existing?.headerToFieldMap ?? {};\n\n const { fieldToHeader, mismatches } = matchHeadersToLayout(\n rawSheet,\n sheetLayout,\n headerToFieldMap,\n options\n );\n\n const requiredFieldNames = layoutFieldNames.filter(\n (f) => sheetLayout.fields[f]?.required !== false\n );\n const allRequiredMatched = requiredFieldNames.every((f) => fieldToHeader[f] != null);\n const allMatched = mismatches.length === 0;\n\n if (allMatched || allRequiredMatched) {\n const sheet = buildConvertedSheet(rawSheet, sheetLayout, columnOrder, fieldToHeader);\n return { kind: 'success', sheet };\n }\n\n const layoutError = mismatches.some((m) => m.required === true);\n return {\n kind: 'mismatch',\n headersFound: [...rawSheet.headers],\n mismatches,\n columnOrder: [...columnOrder],\n headerToFieldMap: { ...headerToFieldMap },\n layoutError,\n };\n}\n","import { useMemo } from 'react';\r\nimport { useImporterContext } from '../providers/index.js';\r\n\r\nexport function useImporterStatus() {\r\n const ctx = useImporterContext();\r\n return useMemo(\r\n () => ({\r\n status: ctx.status,\r\n progressEventTarget: ctx.progressEventTarget,\r\n }),\r\n [ctx.status, ctx.progressEventTarget],\r\n );\r\n}\r\n","import { useCallback, useMemo } from 'react';\nimport type { ValidatedRow } from '../types/sheet.js';\nimport { useImporterContext } from '../providers/index.js';\nimport {\n sheetRowsToObjects,\n sheetToObjectsWithKeyMap,\n} from '../core/view/export/sheet-to-objects.js';\n\nexport function useSheetData() {\n const ctx = useImporterContext();\n const sheet = ctx.result;\n const errors = useMemo(() => {\n const sheetErrors = sheet ? [...sheet.errors] : [];\n const globalErrors = [...ctx.globalErrors];\n return [...globalErrors, ...sheetErrors];\n }, [sheet, ctx.globalErrors]);\n const toObjects = useCallback(\n <T>(mapRow: (row: ValidatedRow) => T): T[] => {\n if (!sheet) return [];\n return sheetRowsToObjects(sheet.rows, mapRow);\n },\n [sheet]\n );\n const toObjectsWithKeyMap = useCallback(\n (keyMap: Readonly<Record<string, string>>): Record<string, unknown>[] => {\n return sheetToObjectsWithKeyMap(sheet, keyMap);\n },\n [sheet]\n );\n return useMemo(\n () => ({ sheet, errors, toObjects, toObjectsWithKeyMap }),\n [sheet, errors, toObjects, toObjectsWithKeyMap]\n );\n}\n","import { useCallback, useMemo, useRef } from 'react';\nimport { type ChangeLogEntry, formatChangeLogAsText } from '../types/change-log.js';\nimport type { EditCellParams } from '../types/edit.js';\nimport type { PaginatedResult } from '../types/paginated-result.js';\nimport type { ValidatedRow } from '../types/sheet.js';\nimport { useImporterContext } from '../providers/index.js';\nimport { removeRow as removeRowSheet } from '../core/editor/immutable-update.js';\nimport { useEditWorker } from '../core/editor/hooks/useEditWorker.js';\nimport { getPaginatedResult } from '../core/editor/get-paginated-result.js';\nimport { getCellByKey, getRowByIndex } from '../core/editor/resolve.js';\n\nexport interface UseSheetEditorOptions {\n page?: number;\n pageSize?: number;\n debounceMs?: number;\n}\n\nexport function useSheetEditor(options: UseSheetEditorOptions = {}) {\n const {\n result: sheet,\n setResult,\n layout,\n changeLog,\n addChangeLogEntry,\n submitDone,\n } = useImporterContext();\n const { runEdit, isReady } = useEditWorker();\n const canEdit = !submitDone;\n const { page = 1, pageSize = 25, debounceMs } = options;\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const pageData = useMemo((): PaginatedResult<ValidatedRow> => {\n if (!sheet) {\n return { page: 1, pageSize, totalCount: 0, totalPages: 0, rows: [] };\n }\n return getPaginatedResult(sheet, page, pageSize);\n }, [sheet, page, pageSize]);\n\n const totalPages = pageData.totalPages;\n\n const applyEdit = useCallback(\n (params: EditCellParams) => {\n if (!sheet || !layout || submitDone) return Promise.resolve();\n const previousValue =\n getRowByIndex(sheet, params.rowIndex) &&\n getCellByKey(getRowByIndex(sheet, params.rowIndex)!, params.cellKey)?.value;\n return runEdit(sheet, layout, params.rowIndex, params.cellKey, params.value).then(\n (newSheet) => {\n setResult(newSheet);\n queueMicrotask(() => {\n const entry: ChangeLogEntry = {\n type: 'cell_edit',\n rowIndex: params.rowIndex,\n cellKey: params.cellKey,\n value: params.value,\n previousValue,\n timestamp: Date.now(),\n };\n addChangeLogEntry(entry);\n });\n }\n );\n },\n [sheet, layout, submitDone, runEdit, setResult, addChangeLogEntry]\n );\n\n const editCell = useCallback(\n (params: EditCellParams): void | Promise<void> => {\n if (debounceMs != null && debounceMs > 0) {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => {\n debounceRef.current = null;\n applyEdit(params);\n }, debounceMs);\n return;\n }\n return applyEdit(params);\n },\n [debounceMs, applyEdit]\n );\n\n const removeRow = useCallback(\n (rowIndex: number): void => {\n if (!sheet || submitDone) return;\n const newSheet = removeRowSheet(sheet, rowIndex);\n setResult(newSheet);\n queueMicrotask(() => {\n const entry: ChangeLogEntry = {\n type: 'row_remove',\n rowIndex,\n timestamp: Date.now(),\n };\n addChangeLogEntry(entry);\n });\n },\n [sheet, submitDone, setResult, addChangeLogEntry]\n );\n\n const changeLogAsText = useMemo(() => formatChangeLogAsText(changeLog), [changeLog]);\n\n return useMemo(\n () => ({\n sheet,\n editCell,\n removeRow,\n pageData,\n totalPages,\n isReady,\n canEdit,\n changeLog,\n changeLogAsText,\n }),\n [sheet, editCell, removeRow, pageData, totalPages, isReady, canEdit, changeLog, changeLogAsText]\n );\n}\n","import type { Sheet, ValidatedCell, ValidatedRow } from '../../types/sheet.js';\n\nexport function getRowByIndex(\n sheet: Sheet,\n rowIndex: number,\n): ValidatedRow | undefined {\n return sheet.rows.find((row) => row.index === rowIndex);\n}\n\nexport function getCellByKey(\n row: ValidatedRow,\n cellKey: string,\n): ValidatedCell | undefined {\n return row.cells.find((cell) => cell.key === cellKey);\n}\n","import type { Sheet, ValidatedCell, ValidatedRow } from '../../types/sheet.js';\nimport { getRowByIndex } from './resolve.js';\n\nexport function removeRow(sheet: Sheet, rowIndex: number): Sheet {\n const row = getRowByIndex(sheet, rowIndex);\n if (!row) return sheet;\n const newRows: ValidatedRow[] = sheet.rows\n .filter((r) => r.index !== rowIndex)\n .map((r, i) => ({ ...r, index: i }));\n return { ...sheet, rows: newRows };\n}\n\nexport function setCellValue(\n sheet: Sheet,\n rowIndex: number,\n cellKey: string,\n value: unknown\n): Sheet {\n const row = getRowByIndex(sheet, rowIndex);\n if (!row) return sheet;\n const cellIndex = row.cells.findIndex((c) => c.key === cellKey);\n if (cellIndex < 0) return sheet;\n const newCell: ValidatedCell = { ...row.cells[cellIndex]!, value, errors: [] };\n const newCells: ValidatedCell[] = row.cells.map((c, i) => (i === cellIndex ? newCell : c));\n const newRow: ValidatedRow = { ...row, cells: newCells, errors: [] };\n const newRows: ValidatedRow[] = sheet.rows.map((r) => (r.index === rowIndex ? newRow : r));\n return { ...sheet, rows: newRows };\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport * as Comlink from 'comlink';\nimport type { SheetLayout } from '../../../types/sheet-layout.js';\nimport type { Sheet } from '../../../types/sheet.js';\nimport { getEditWorkerUrl } from '../worker/worker-url.js';\n\nexport interface EditWorkerOptions {\n signal?: AbortSignal;\n}\n\ntype EditWorkerApi = {\n runEdit: (\n sheet: Sheet,\n sheetLayout: SheetLayout,\n rowIndex: number,\n cellKey: string,\n value: unknown,\n options?: EditWorkerOptions,\n ) => Promise<Sheet>;\n};\n\nexport function useEditWorker() {\n const [workerProxy, setWorkerProxy] = useState<Comlink.Remote<EditWorkerApi> | null>(null);\n const workerRef = useRef<Worker | null>(null);\n\n useEffect(() => {\n const worker = new Worker(getEditWorkerUrl(), { type: 'module' });\n workerRef.current = worker;\n const proxy = Comlink.wrap<EditWorkerApi>(worker);\n queueMicrotask(() => setWorkerProxy(proxy));\n return () => {\n worker.terminate();\n workerRef.current = null;\n };\n }, []);\n\n const runEdit = useCallback(\n async (\n sheet: Sheet,\n sheetLayout: SheetLayout,\n rowIndex: number,\n cellKey: string,\n value: unknown,\n options?: EditWorkerOptions,\n ): Promise<Sheet> => {\n if (!workerProxy) throw new Error('Edit worker not ready');\n return workerProxy.runEdit(\n sheet,\n sheetLayout,\n rowIndex,\n cellKey,\n value,\n options ?? {},\n );\n },\n [workerProxy],\n );\n\n return { runEdit, isReady: !!workerProxy };\n}\n","export function getEditWorkerUrl(): string {\n const workerCode = \"var P=Symbol(\\\"Comlink.proxy\\\"),dr=Symbol(\\\"Comlink.endpoint\\\"),mr=Symbol(\\\"Comlink.releaseProxy\\\"),F=Symbol(\\\"Comlink.finalizer\\\"),_=Symbol(\\\"Comlink.thrown\\\"),j=e=>typeof e==\\\"object\\\"&&e!==null||typeof e==\\\"function\\\",ur={canHandle:e=>j(e)&&e[P],serialize(e){let{port1:r,port2:t}=new MessageChannel;return C(e,r),[t,[t]]},deserialize(e){return e.start(),yr(e)}},pr={canHandle:e=>j(e)&&_ in e,serialize({value:e}){let r;return e instanceof Error?r={isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:r={isError:!1,value:e},[r,[]]},deserialize(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}},v=new Map([[\\\"proxy\\\",ur],[\\\"throw\\\",pr]]);function fr(e,r){for(let t of e)if(r===t||t===\\\"*\\\"||t instanceof RegExp&&t.test(r))return!0;return!1}function C(e,r=globalThis,t=[\\\"*\\\"]){r.addEventListener(\\\"message\\\",function n(o){if(!o||!o.data)return;if(!fr(t,o.origin)){console.warn(`Invalid origin '${o.origin}' for comlink proxy`);return}let{id:i,type:a,path:l}=Object.assign({path:[]},o.data),s=(o.data.argumentList||[]).map(g),d;try{let m=l.slice(0,-1).reduce((p,y)=>p[y],e),f=l.reduce((p,y)=>p[y],e);switch(a){case\\\"GET\\\":d=f;break;case\\\"SET\\\":m[l.slice(-1)[0]]=g(o.data.value),d=!0;break;case\\\"APPLY\\\":d=f.apply(m,s);break;case\\\"CONSTRUCT\\\":{let p=new f(...s);d=Tr(p)}break;case\\\"ENDPOINT\\\":{let{port1:p,port2:y}=new MessageChannel;C(e,y),d=Sr(p,[p])}break;case\\\"RELEASE\\\":d=void 0;break;default:return}}catch(m){d={value:m,[_]:0}}Promise.resolve(d).catch(m=>({value:m,[_]:0})).then(m=>{let[f,p]=x(m);r.postMessage(Object.assign(Object.assign({},f),{id:i}),p),a===\\\"RELEASE\\\"&&(r.removeEventListener(\\\"message\\\",n),G(r),F in e&&typeof e[F]==\\\"function\\\"&&e[F]())}).catch(m=>{let[f,p]=x({value:new TypeError(\\\"Unserializable return value\\\"),[_]:0});r.postMessage(Object.assign(Object.assign({},f),{id:i}),p)})}),r.start&&r.start()}function cr(e){return e.constructor.name===\\\"MessagePort\\\"}function G(e){cr(e)&&e.close()}function yr(e,r){let t=new Map;return e.addEventListener(\\\"message\\\",function(o){let{data:i}=o;if(!i||!i.id)return;let a=t.get(i.id);if(a)try{a(i)}finally{t.delete(i.id)}}),M(e,t,[],r)}function h(e){if(e)throw new Error(\\\"Proxy has been released and is not useable\\\")}function U(e){return w(e,new Map,{type:\\\"RELEASE\\\"}).then(()=>{G(e)})}var b=new WeakMap,E=\\\"FinalizationRegistry\\\"in globalThis&&new FinalizationRegistry(e=>{let r=(b.get(e)||0)-1;b.set(e,r),r===0&&U(e)});function gr(e,r){let t=(b.get(r)||0)+1;b.set(r,t),E&&E.register(e,r,e)}function Rr(e){E&&E.unregister(e)}function M(e,r,t=[],n=function(){}){let o=!1,i=new Proxy(n,{get(a,l){if(h(o),l===mr)return()=>{Rr(i),U(e),r.clear(),o=!0};if(l===\\\"then\\\"){if(t.length===0)return{then:()=>i};let s=w(e,r,{type:\\\"GET\\\",path:t.map(d=>d.toString())}).then(g);return s.then.bind(s)}return M(e,r,[...t,l])},set(a,l,s){h(o);let[d,m]=x(s);return w(e,r,{type:\\\"SET\\\",path:[...t,l].map(f=>f.toString()),value:d},m).then(g)},apply(a,l,s){h(o);let d=t[t.length-1];if(d===dr)return w(e,r,{type:\\\"ENDPOINT\\\"}).then(g);if(d===\\\"bind\\\")return M(e,r,t.slice(0,-1));let[m,f]=z(s);return w(e,r,{type:\\\"APPLY\\\",path:t.map(p=>p.toString()),argumentList:m},f).then(g)},construct(a,l){h(o);let[s,d]=z(l);return w(e,r,{type:\\\"CONSTRUCT\\\",path:t.map(m=>m.toString()),argumentList:s},d).then(g)}});return gr(i,e),i}function wr(e){return Array.prototype.concat.apply([],e)}function z(e){let r=e.map(x);return[r.map(t=>t[0]),wr(r.map(t=>t[1]))]}var B=new WeakMap;function Sr(e,r){return B.set(e,r),e}function Tr(e){return Object.assign(e,{[P]:!0})}function x(e){for(let[r,t]of v)if(t.canHandle(e)){let[n,o]=t.serialize(e);return[{type:\\\"HANDLER\\\",name:r,value:n},o]}return[{type:\\\"RAW\\\",value:e},B.get(e)||[]]}function g(e){switch(e.type){case\\\"HANDLER\\\":return v.get(e.name).deserialize(e.value);case\\\"RAW\\\":return e.value}}function w(e,r,t,n){return new Promise(o=>{let i=Nr();r.set(i,o),e.start&&e.start(),e.postMessage(Object.assign({id:i},t),n)})}function Nr(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join(\\\"-\\\")}function S(e){return typeof e==\\\"string\\\"?{name:e}:{name:e.name,params:e.params}}function Y(e,r,t,n){let o=t.validators;if(!o?.length)return[];let i=[];for(let a of o){let{name:l,params:s}=S(a),d=n(l);if(d){let m=d(e.value,r,s);if(m?.length&&(i.push(...m),m.some(p=>p.level===\\\"fatal\\\")))break}}return i}function X(e,r,t){let n=r.rowValidators;if(!n?.length)return[];let o=[];for(let i of n){let{name:a,params:l}=S(i),s=t(a);if(s){let d=s(e,l);if(d?.length&&(o.push(...d),d.some(f=>f.level===\\\"fatal\\\")))break}}return o}var hr=\\\"EXTERNAL_VALIDATION_FAILED\\\";function _r(e){return e.map(r=>({error:r}))}async function $(e,r,t,n){let o=r.sheetValidators;if(!o?.length)return[];let i=[];for(let a of o){let{name:l,params:s}=S(a),d=t(l);if(d)try{let m=await Promise.resolve(d(e,s,n));m?.length&&i.push(..._r(m))}catch{i.push({error:{code:hr,level:\\\"fatal\\\",params:{reason:\\\"network\\\"}}})}}return i}function H(e){return!(\\\"rowIndex\\\"in e)&&!(\\\"cellKey\\\"in e)}function T(e){return typeof e==\\\"string\\\"?{name:e}:{name:e.name,params:e.params}}function Z(e,r,t,n){if(e.errors.length>0)return e.value;let o=t.transformations;if(!o?.length)return e.value;let i=e.value;for(let a of o){let{name:l,params:s}=T(a),d=n(l);d&&(i=d(i,e,r,s))}return i}function W(e,r,t){if(e.errors.length>0)return e;let n=r.rowTransformations;if(!n?.length)return e;let o=e;for(let i of n){let{name:a,params:l}=T(i),s=t(a);s&&(o=s(o,l))}return o}var br=\\\"EXTERNAL_TRANSFORM_FAILED\\\";async function q(e,r,t,n){let o=r.sheetTransformations;if(!o?.length)return{deltas:[],errors:[]};let i=[],a=[];for(let l of o){let{name:s,params:d}=T(l),m=t(s);if(m)try{let f=await Promise.resolve(m(e,d,n));f?.length&&i.push(...f)}catch{a.push({code:br,level:\\\"fatal\\\",params:{reason:\\\"network\\\"}})}}return{deltas:i,errors:a}}function Er(e,r,t,n){return e.map(o=>{if(o.index!==r)return o;let i=o.cells.map(a=>a.key===t?{...a,value:n}:a);return{...o,cells:i}})}function Q(e,r){if(!r.deltas.length)return e;let t=[...e.rows];for(let n of r.deltas)n.row<0||(t=Er(t,n.row,n.col,n.newValue));return{...e,rows:t}}function k(e,r){return e.rows.find(t=>t.index===r)}function K(e,r){return e.cells.find(t=>t.key===r)}function J(e,r,t,n){let o=k(e,r);if(!o)return e;let i=o.cells.findIndex(m=>m.key===t);if(i<0)return e;let a={...o.cells[i],value:n,errors:[]},l=o.cells.map((m,f)=>f===i?a:m),s={...o,cells:l,errors:[]},d=e.rows.map(m=>m.index===r?s:m);return{...e,rows:d}}async function ee(e,r,t,n,o,i,a){let l=J(e,t,n,o),s=k(l,t);if(!s)return l;let d=K(s,n);if(!d)return l;let m=r.fields[n];if(!m)return l;let f=Y(d,s,m,i.validator.getCellValidator),p={...d,errors:f},y={...s,cells:s.cells.map(c=>c.key===n?p:c),errors:[]},tr=X(y,r,i.validator.getRowValidator),N={...y,errors:tr},or=l.rows.map(c=>c.index===t?N:c),D={...l,rows:or},ir=(await $(D,r,i.validator.getTableValidator,a)).filter(H).map(c=>c.error),V={...D,errors:[...D.errors,...ir]};if(V.errors.length>0)return V;let ar=p.errors.length===0?Z(p,N,m,i.transform.getCellTransform):p.value,lr={...p,value:ar},L={...N,cells:N.cells.map(c=>c.key===n?lr:c)},sr=N.errors.length===0?W(L,r,i.transform.getRowTransform):L,O={...V,rows:V.rows.map(c=>c.index===t?sr:c)},A=await q(O,r,i.transform.getSheetTransform,a),I=Q(O,{deltas:A.deltas});return A.errors.length>0?{...I,errors:[...I.errors,...A.errors]}:I}var R=class{entries=new Map;register(r,t,n){this.entries.set(r,{fn:t,type:n.type})}get(r){return this.entries.get(r)}getByType(r){return[...this.entries.entries()].filter(([,t])=>t.type===r).map(([t,n])=>({name:t,entry:n}))}has(r){return this.entries.has(r)}clear(){this.entries.clear()}};var xr=\\\"required\\\";function Cr(e,r,t){return e==null||typeof e==\\\"string\\\"&&e.trim()===\\\"\\\"?[{code:\\\"REQUIRED\\\",level:\\\"error\\\",params:{value:e}}]:null}function re(e){e(xr,Cr,{type:\\\"cell\\\"})}var kr=\\\"string:byregex\\\";function Dr(e,r,t){let{pattern:n=\\\"\\\",flags:o=\\\"\\\"}=t??{};if(!n)return[{code:\\\"STRING_BYREGEX_INVALID_PARAMS\\\",level:\\\"error\\\",params:{reason:\\\"missing pattern\\\"}}];let i=e==null?\\\"\\\":String(e);try{if(!new RegExp(n,o).test(i))return[{code:\\\"STRING_BYREGEX_MISMATCH\\\",level:\\\"error\\\",params:{value:i,pattern:n}}]}catch{return[{code:\\\"STRING_BYREGEX_INVALID_PATTERN\\\",level:\\\"error\\\",params:{pattern:n}}]}return null}function ne(e){e(kr,Dr,{type:\\\"cell\\\"})}var Ar=\\\"string:maxLength\\\";function Ir(e,r,t){let{maxLength:n}=t??{},o=typeof n==\\\"number\\\"&&Number.isFinite(n)?n:void 0;if(o===void 0||o<0)return[{code:\\\"STRING_MAX_LENGTH_INVALID_PARAMS\\\",level:\\\"error\\\",params:{maxLength:n}}];let i=e==null?\\\"\\\":String(e);return i.length>o?[{code:\\\"STRING_MAX_LENGTH\\\",level:\\\"error\\\",params:{value:i,maxLength:o,length:i.length}}]:null}function te(e){e(Ar,Ir,{type:\\\"cell\\\"})}var Fr=\\\"string:minLength\\\";function Mr(e,r,t){let{minLength:n}=t??{},o=typeof n==\\\"number\\\"&&Number.isFinite(n)&&n>=0?n:void 0;if(o===void 0)return[{code:\\\"STRING_MIN_LENGTH_INVALID_PARAMS\\\",level:\\\"error\\\",params:{minLength:n}}];let i=e==null?\\\"\\\":String(e);return i.length<o?[{code:\\\"STRING_MIN_LENGTH\\\",level:\\\"error\\\",params:{value:i,minLength:o,length:i.length}}]:null}function oe(e){e(Fr,Mr,{type:\\\"cell\\\"})}var Lr=\\\"string:email\\\",Or=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function zr(e,r,t){let n=e==null?\\\"\\\":String(e).trim();return n?Or.test(n)?null:[{code:\\\"STRING_EMAIL_INVALID\\\",level:\\\"error\\\",params:{value:n}}]:null}function ie(e){e(Lr,zr,{type:\\\"cell\\\"})}var Pr=\\\"string:phone\\\",jr=/^[\\\\d\\\\s\\\\-+.()]{7,20}$/;function vr(e,r,t){let n=e==null?\\\"\\\":String(e).trim();if(!n)return null;let o=n.replace(/\\\\D/g,\\\"\\\");return o.length<7||o.length>15||!jr.test(n)?[{code:\\\"STRING_PHONE_INVALID\\\",level:\\\"error\\\",params:{value:n}}]:null}function ae(e){e(Pr,vr,{type:\\\"cell\\\"})}var Gr=\\\"string:phoneInternational\\\",Ur=/^\\\\+?[1-9]\\\\d{0,3}/;function Br(e,r,t){let n=e==null?\\\"\\\":String(e).trim().replace(/\\\\s/g,\\\"\\\");if(!n)return null;let o=n.replace(/\\\\D/g,\\\"\\\"),i=n.startsWith(\\\"+\\\")?n:`+${n}`;return o.length<10||o.length>15||!Ur.test(i)?[{code:\\\"STRING_PHONE_INTERNATIONAL_INVALID\\\",level:\\\"error\\\",params:{value:n}}]:null}function le(e){e(Gr,Br,{type:\\\"cell\\\"})}var Yr=\\\"string:phoneLocal\\\";function Xr(e,r,t){let{minDigits:n=6,maxDigits:o=11}=t??{},i=typeof n==\\\"number\\\"&&n>=0?n:6,a=typeof o==\\\"number\\\"&&o>=i?o:11,l=e==null?\\\"\\\":String(e).trim();if(!l)return null;let s=l.replace(/\\\\D/g,\\\"\\\");return l.startsWith(\\\"+\\\")&&s.length>3?[{code:\\\"STRING_PHONE_LOCAL_INVALID\\\",level:\\\"error\\\",params:{value:l,reason:\\\"international\\\"}}]:s.length<i||s.length>a?[{code:\\\"STRING_PHONE_LOCAL_INVALID\\\",level:\\\"error\\\",params:{value:l,minDigits:i,maxDigits:a}}]:null}function se(e){e(Yr,Xr,{type:\\\"cell\\\"})}var $r=\\\"string:onlyNumbers\\\",Hr=/^\\\\d+$/;function Zr(e,r,t){if(e==null)return null;let n=String(e).trim();return n?Hr.test(n)?null:[{code:\\\"STRING_ONLY_NUMBERS_INVALID\\\",level:\\\"error\\\",params:{value:n}}]:null}function de(e){e($r,Zr,{type:\\\"cell\\\"})}var Wr=\\\"string:onlyLetters\\\",qr=/^[a-zA-Z\\\\u00C0-\\\\u024F\\\\u1E00-\\\\u1EFF]+$/,Qr=/^[a-zA-Z\\\\u00C0-\\\\u024F\\\\u1E00-\\\\u1EFF\\\\s]+$/;function Kr(e,r,t){let{allowSpaces:n=!1}=t??{};if(e==null)return null;let o=String(e).trim();return o?(n?Qr:qr).test(o)?null:[{code:\\\"STRING_ONLY_LETTERS_INVALID\\\",level:\\\"error\\\",params:{value:o}}]:null}function me(e){e(Wr,Kr,{type:\\\"cell\\\"})}var Jr=\\\"number:min\\\";function en(e){if(e==null)return null;if(typeof e==\\\"number\\\"&&Number.isFinite(e))return e;let r=Number(e);return Number.isFinite(r)?r:null}function rn(e,r,t){let{min:n}=t??{},o=typeof n==\\\"number\\\"&&Number.isFinite(n)?n:void 0;if(o===void 0)return[{code:\\\"NUMBER_MIN_INVALID_PARAMS\\\",level:\\\"error\\\",params:{min:n}}];let i=en(e);return i===null?[{code:\\\"NUMBER_MIN_NOT_A_NUMBER\\\",level:\\\"error\\\",params:{value:e}}]:i<o?[{code:\\\"NUMBER_MIN\\\",level:\\\"error\\\",params:{value:i,min:o}}]:null}function ue(e){e(Jr,rn,{type:\\\"cell\\\"})}var nn=\\\"number:max\\\";function tn(e){if(e==null)return null;if(typeof e==\\\"number\\\"&&Number.isFinite(e))return e;let r=Number(e);return Number.isFinite(r)?r:null}function on(e,r,t){let{max:n}=t??{},o=typeof n==\\\"number\\\"&&Number.isFinite(n)?n:void 0;if(o===void 0)return[{code:\\\"NUMBER_MAX_INVALID_PARAMS\\\",level:\\\"error\\\",params:{max:n}}];let i=tn(e);return i===null?[{code:\\\"NUMBER_MAX_NOT_A_NUMBER\\\",level:\\\"error\\\",params:{value:e}}]:i>o?[{code:\\\"NUMBER_MAX\\\",level:\\\"error\\\",params:{value:i,max:o}}]:null}function pe(e){e(nn,on,{type:\\\"cell\\\"})}var an=\\\"number:float\\\";function ln(e){if(e==null)return!1;if(typeof e==\\\"number\\\")return Number.isFinite(e);let r=String(e).trim();if(!r)return!1;let t=parseFloat(r);return Number.isFinite(t)}function sn(e,r,t){return e==null||e===\\\"\\\"||ln(e)?null:[{code:\\\"NUMBER_FLOAT_INVALID\\\",level:\\\"error\\\",params:{value:e}}]}function fe(e){e(an,sn,{type:\\\"cell\\\"})}var dn=\\\"number:integer\\\";function mn(e){if(e==null)return null;if(typeof e==\\\"number\\\"&&Number.isFinite(e)&&Number.isInteger(e))return e;let r=Number(e);return Number.isFinite(r)&&Number.isInteger(r)?r:null}function un(e,r,t){return e==null||e===\\\"\\\"?null:mn(e)===null?[{code:\\\"NUMBER_INTEGER_INVALID\\\",level:\\\"error\\\",params:{value:e}}]:null}function ce(e){e(dn,un,{type:\\\"cell\\\"})}var pn=\\\"number:nonNegative\\\";function fn(e){if(e==null)return null;if(typeof e==\\\"number\\\"&&Number.isFinite(e))return e;let r=Number(e);return Number.isFinite(r)?r:null}function cn(e,r,t){if(e==null||e===\\\"\\\")return null;let n=fn(e);return n===null?[{code:\\\"NUMBER_NON_NEGATIVE_NOT_A_NUMBER\\\",level:\\\"error\\\",params:{value:e}}]:n<0?[{code:\\\"NUMBER_NON_NEGATIVE\\\",level:\\\"error\\\",params:{value:n}}]:null}function ye(e){e(pn,cn,{type:\\\"cell\\\"})}var yn=\\\"number:nonPositive\\\";function gn(e){if(e==null)return null;if(typeof e==\\\"number\\\"&&Number.isFinite(e))return e;let r=Number(e);return Number.isFinite(r)?r:null}function Rn(e,r,t){if(e==null||e===\\\"\\\")return null;let n=gn(e);return n===null?[{code:\\\"NUMBER_NON_POSITIVE_NOT_A_NUMBER\\\",level:\\\"error\\\",params:{value:e}}]:n>0?[{code:\\\"NUMBER_NON_POSITIVE\\\",level:\\\"error\\\",params:{value:n}}]:null}function ge(e){e(yn,Rn,{type:\\\"cell\\\"})}var wn=\\\"number:nonZero\\\";function Sn(e){if(e==null)return null;if(typeof e==\\\"number\\\"&&Number.isFinite(e))return e;let r=Number(e);return Number.isFinite(r)?r:null}function Tn(e,r,t){if(e==null||e===\\\"\\\")return null;let n=Sn(e);return n===null?[{code:\\\"NUMBER_NON_ZERO_NOT_A_NUMBER\\\",level:\\\"error\\\",params:{value:e}}]:n===0?[{code:\\\"NUMBER_NON_ZERO\\\",level:\\\"error\\\",params:{value:n}}]:null}function Re(e){e(wn,Tn,{type:\\\"cell\\\"})}var Nn=\\\"date:min\\\";function we(e){if(e==null)return null;if(typeof e==\\\"number\\\"&&Number.isFinite(e))return e;if(e instanceof Date&&!Number.isNaN(e.getTime()))return e.getTime();let r=Date.parse(String(e).trim());return Number.isNaN(r)?null:r}function Vn(e,r,t){let{min:n}=t??{},o=n!==void 0?we(n):void 0;if(o==null)return[{code:\\\"DATE_MIN_INVALID_PARAMS\\\",level:\\\"error\\\",params:{min:n}}];let i=we(e);return i===null?[{code:\\\"DATE_MIN_NOT_A_DATE\\\",level:\\\"error\\\",params:{value:e}}]:i<o?[{code:\\\"DATE_MIN\\\",level:\\\"error\\\",params:{value:i,min:o}}]:null}function Se(e){e(Nn,Vn,{type:\\\"cell\\\"})}var hn=\\\"date:max\\\";function Te(e){if(e==null)return null;if(typeof e==\\\"number\\\"&&Number.isFinite(e))return e;if(e instanceof Date&&!Number.isNaN(e.getTime()))return e.getTime();let r=Date.parse(String(e).trim());return Number.isNaN(r)?null:r}function _n(e,r,t){let{max:n}=t??{},o=n!==void 0?Te(n):void 0;if(o==null)return[{code:\\\"DATE_MAX_INVALID_PARAMS\\\",level:\\\"error\\\",params:{max:n}}];let i=Te(e);return i===null?[{code:\\\"DATE_MAX_NOT_A_DATE\\\",level:\\\"error\\\",params:{value:e}}]:i>o?[{code:\\\"DATE_MAX\\\",level:\\\"error\\\",params:{value:i,max:o}}]:null}function Ne(e){e(hn,_n,{type:\\\"cell\\\"})}var bn=\\\"date:onlyYear\\\",En=/^(?:19|20)\\\\d{2}$/;function xn(e,r,t){if(e==null)return null;let n=String(e).trim();if(!n)return null;let o=Number(n),i=En.test(n),a=Number.isInteger(o)&&o>=1900&&o<=2099;return!i&&!a?[{code:\\\"DATE_ONLY_YEAR_INVALID\\\",level:\\\"error\\\",params:{value:n}}]:null}function Ve(e){e(bn,xn,{type:\\\"cell\\\"})}var Cn=\\\"date:onlyTime\\\",kn=/^([01]?\\\\d|2[0-3]):([0-5]\\\\d)(?::([0-5]\\\\d))?(?:\\\\.\\\\d+)?$/;function Dn(e,r,t){if(e==null)return null;let n=String(e).trim();return n?kn.test(n)?null:[{code:\\\"DATE_ONLY_TIME_INVALID\\\",level:\\\"error\\\",params:{value:n}}]:null}function he(e){e(Cn,Dn,{type:\\\"cell\\\"})}var An=\\\"date:datetime\\\";function In(e){if(e==null)return null;if(typeof e==\\\"number\\\"&&Number.isFinite(e))return e;if(e instanceof Date&&!Number.isNaN(e.getTime()))return e.getTime();let r=Date.parse(String(e).trim());return Number.isNaN(r)?null:r}function Fn(e,r,t){if(e==null)return null;let n=String(e).trim();return n&&In(e)===null?[{code:\\\"DATE_DATETIME_INVALID\\\",level:\\\"error\\\",params:{value:n}}]:null}function _e(e){e(An,Fn,{type:\\\"cell\\\"})}var Mn=\\\"date:timestamp\\\";function Ln(e){if(e==null)return null;if(typeof e==\\\"number\\\"&&Number.isFinite(e))return e;if(e instanceof Date&&!Number.isNaN(e.getTime()))return e.getTime();let r=String(e).trim();if(/^\\\\d+$/.test(r)){let n=Number(r);return Number.isFinite(n)?n:null}let t=Date.parse(r);return Number.isNaN(t)?null:t}function On(e,r,t){if(e==null)return null;let n=String(e).trim();if(!n)return null;let o=Ln(e);return o===null?[{code:\\\"DATE_TIMESTAMP_INVALID\\\",level:\\\"error\\\",params:{value:n}}]:o<-864e10||o>864e10?[{code:\\\"DATE_TIMESTAMP_OUT_OF_RANGE\\\",level:\\\"error\\\",params:{value:o}}]:null}function be(e){e(Mn,On,{type:\\\"cell\\\"})}var zn=\\\"date:utc\\\";function Pn(e){if(e==null)return null;if(typeof e==\\\"number\\\"&&Number.isFinite(e))return e;if(e instanceof Date&&!Number.isNaN(e.getTime()))return e.getTime();let r=Date.parse(String(e).trim());return Number.isNaN(r)?null:r}function jn(e,r,t){if(e==null)return null;let n=String(e).trim();return n?Pn(e)===null?[{code:\\\"DATE_UTC_NOT_A_DATE\\\",level:\\\"error\\\",params:{value:n}}]:typeof e==\\\"number\\\"||n.endsWith(\\\"Z\\\")||/[+-]00:00$/.test(n)||/^\\\\d+$/.test(n)?null:[{code:\\\"DATE_UTC_REQUIRED\\\",level:\\\"error\\\",params:{value:n}}]:null}function Ee(e){e(zn,jn,{type:\\\"cell\\\"})}var vn=\\\"bool:onlyTrue\\\";function Gn(e){if(e===!0)return!0;if(typeof e==\\\"string\\\"){let r=e.trim().toLowerCase();return r===\\\"true\\\"||r===\\\"1\\\"||r===\\\"yes\\\"}return e===1}function Un(e,r,t){return e==null||e===\\\"\\\"||Gn(e)?null:[{code:\\\"BOOL_ONLY_TRUE\\\",level:\\\"error\\\",params:{value:e}}]}function xe(e){e(vn,Un,{type:\\\"cell\\\"})}var Bn=\\\"bool:onlyFalse\\\";function Yn(e){if(e===!1)return!0;if(typeof e==\\\"string\\\"){let r=e.trim().toLowerCase();return r===\\\"false\\\"||r===\\\"0\\\"||r===\\\"no\\\"}return e===0}function Xn(e,r,t){return e==null||e===\\\"\\\"||Yn(e)?null:[{code:\\\"BOOL_ONLY_FALSE\\\",level:\\\"error\\\",params:{value:e}}]}function Ce(e){e(Bn,Xn,{type:\\\"cell\\\"})}var ke=new R;function $n(e){re(e),ne(e),te(e),oe(e),ie(e),ae(e),le(e),se(e),de(e),me(e),ue(e),pe(e),fe(e),ce(e),ye(e),ge(e),Re(e),Se(e),Ne(e),Ve(e),he(e),_e(e),be(e),Ee(e),xe(e),Ce(e)}$n((e,r,t)=>{ke.register(e,r,t)});function Hn(e){let r=ke.get(e);if(!(!r||r.type!==\\\"cell\\\"))return r.fn}function Zn(e){}function Wn(e){}function De(){return{getCellValidator:Hn,getRowValidator:Zn,getTableValidator:Wn}}var qn=\\\"toUpperCase\\\";function Qn(e,r,t,n){return typeof e!=\\\"string\\\"?e:e.toUpperCase()}function Ae(e){e(qn,Qn,{type:\\\"cell\\\"})}var Kn=\\\"toLowerCase\\\";function Jn(e,r,t,n){return typeof e!=\\\"string\\\"?e:e.toLowerCase()}function Ie(e){e(Kn,Jn,{type:\\\"cell\\\"})}var et=\\\"slice\\\";function rt(e,r,t,n){if(typeof e!=\\\"string\\\")return e;let{start:o,end:i}=n??{},a=Number(o),l=Number(i);return Number.isNaN(a)&&Number.isNaN(l)?e:Number.isNaN(l)?e.slice(Number.isNaN(a)?void 0:a):e.slice(Number.isNaN(a)?void 0:a,l)}function Fe(e){e(et,rt,{type:\\\"cell\\\"})}var nt=\\\"replace\\\";function tt(e,r,t,n){if(typeof e!=\\\"string\\\")return e;let{search:o=\\\"\\\",replacement:i=\\\"\\\"}=n??{};return e.split(String(o)).join(String(i))}function Me(e){e(nt,tt,{type:\\\"cell\\\"})}var ot=\\\"replaceByRegex\\\";function it(e,r,t,n){if(typeof e!=\\\"string\\\")return e;let{pattern:o=\\\"\\\",flags:i=\\\"g\\\",replacement:a=\\\"\\\"}=n??{};if(!o)return e;try{let l=new RegExp(o,i);return e.replace(l,String(a))}catch{return e}}function Le(e){e(ot,it,{type:\\\"cell\\\"})}var at=\\\"fillStart\\\";function lt(e,r,t,n){let o=typeof e==\\\"string\\\"?e:e==null?\\\"\\\":String(e),{length:i=0,fill:a=\\\" \\\"}=n??{},l=Math.max(0,Number(i)||0);return l>0?o.padStart(l,String(a)):o}function Oe(e){e(at,lt,{type:\\\"cell\\\"})}var st=\\\"fillEnd\\\";function dt(e,r,t,n){let o=typeof e==\\\"string\\\"?e:e==null?\\\"\\\":String(e),{length:i=0,fill:a=\\\" \\\"}=n??{},l=Math.max(0,Number(i)||0);return l>0?o.padEnd(l,String(a)):o}function ze(e){e(st,dt,{type:\\\"cell\\\"})}var mt=\\\"extractByRegex\\\";function ut(e,r,t,n){let o=typeof e==\\\"string\\\"?e:e==null?\\\"\\\":String(e),{pattern:i=\\\"\\\",flags:a=\\\"\\\",group:l=0}=n??{};if(!i)return o;try{let s=new RegExp(i,a),d=o.match(s);if(!d)return\\\"\\\";let m=Math.max(0,Number(l)||0);return d[m]??d[0]??\\\"\\\"}catch{return o}}function Pe(e){e(mt,ut,{type:\\\"cell\\\"})}var pt=\\\"numberAdd\\\";function ft(e){if(typeof e==\\\"number\\\"&&!Number.isNaN(e))return e;let r=Number(e);return Number.isNaN(r)?null:r}function ct(e,r,t,n){let o=ft(e);if(o===null)return e;let{value:i=0}=n??{},a=Number(i);return Number.isNaN(a)?e:o+a}function je(e){e(pt,ct,{type:\\\"cell\\\"})}var yt=\\\"numberMultiply\\\";function gt(e){if(typeof e==\\\"number\\\"&&!Number.isNaN(e))return e;let r=Number(e);return Number.isNaN(r)?null:r}function Rt(e,r,t,n){let o=gt(e);if(o===null)return e;let{value:i=1}=n??{},a=Number(i);return Number.isNaN(a)?e:o*a}function ve(e){e(yt,Rt,{type:\\\"cell\\\"})}var wt=\\\"numberDivide\\\";function St(e){if(typeof e==\\\"number\\\"&&!Number.isNaN(e))return e;let r=Number(e);return Number.isNaN(r)?null:r}function Tt(e,r,t,n){let o=St(e);if(o===null)return e;let{value:i=1}=n??{},a=Number(i);return Number.isNaN(a)||a===0?e:o/a}function Ge(e){e(wt,Tt,{type:\\\"cell\\\"})}var Nt=\\\"numberSubtract\\\";function Vt(e){if(typeof e==\\\"number\\\"&&!Number.isNaN(e))return e;let r=Number(e);return Number.isNaN(r)?null:r}function ht(e,r,t,n){let o=Vt(e);if(o===null)return e;let{value:i=0}=n??{},a=Number(i);return Number.isNaN(a)?e:o-a}function Ue(e){e(Nt,ht,{type:\\\"cell\\\"})}var _t=\\\"numberRound\\\";function bt(e){if(typeof e==\\\"number\\\"&&!Number.isNaN(e))return e;let r=Number(e);return Number.isNaN(r)?null:r}function Et(e,r,t,n){let o=bt(e);if(o===null)return e;let{mode:i=\\\"round\\\"}=n??{};return i===\\\"ceil\\\"?Math.ceil(o):i===\\\"floor\\\"?Math.floor(o):Math.round(o)}function Be(e){e(_t,Et,{type:\\\"cell\\\"})}var xt=\\\"numberAbs\\\";function Ct(e){if(typeof e==\\\"number\\\"&&!Number.isNaN(e))return e;let r=Number(e);return Number.isNaN(r)?null:r}function kt(e,r,t,n){let o=Ct(e);return o===null?e:Math.abs(o)}function Ye(e){e(xt,kt,{type:\\\"cell\\\"})}var Dt=\\\"numberSqrt\\\";function At(e){if(typeof e==\\\"number\\\"&&!Number.isNaN(e))return e;let r=Number(e);return Number.isNaN(r)?null:r}function It(e,r,t,n){let o=At(e);return o===null||o<0?e:Math.sqrt(o)}function Xe(e){e(Dt,It,{type:\\\"cell\\\"})}var Ft=\\\"numberLimit\\\";function Mt(e){if(typeof e==\\\"number\\\"&&!Number.isNaN(e))return e;let r=Number(e);return Number.isNaN(r)?null:r}function Lt(e,r,t,n){let o=Mt(e);if(o===null)return e;let{min:i,max:a}=n??{},l=o,s=Number(i);!Number.isNaN(s)&&l<s&&(l=s);let d=Number(a);return!Number.isNaN(d)&&l>d&&(l=d),l}function $e(e){e(Ft,Lt,{type:\\\"cell\\\"})}var Ot=\\\"numberPercent\\\";function zt(e){if(typeof e==\\\"number\\\"&&!Number.isNaN(e))return e;let r=Number(e);return Number.isNaN(r)?null:r}function Pt(e,r,t,n){let o=zt(e);if(o===null)return e;let{total:i}=n??{},a=Number(i);return Number.isNaN(a)||a===0?e:o/a*100}function He(e){e(Ot,Pt,{type:\\\"cell\\\"})}var jt=\\\"dateToOnlyTime\\\";function vt(e){if(e instanceof Date&&!Number.isNaN(e.getTime()))return e;if(e==null)return null;let r=String(e).trim();if(!r)return null;let t=Date.parse(r);return Number.isNaN(t)?null:new Date(t)}function Gt(e){let r=String(e.getHours()).padStart(2,\\\"0\\\"),t=String(e.getMinutes()).padStart(2,\\\"0\\\"),n=String(e.getSeconds()).padStart(2,\\\"0\\\");return`${r}:${t}:${n}`}function Ut(e,r,t,n){let o=vt(e);return o?Gt(o):e}function Ze(e){e(jt,Ut,{type:\\\"cell\\\"})}var Bt=\\\"dateToOnlyDate\\\";function Yt(e){if(e instanceof Date&&!Number.isNaN(e.getTime()))return e;if(e==null)return null;let r=String(e).trim();if(!r)return null;let t=Date.parse(r);return Number.isNaN(t)?null:new Date(t)}function Xt(e){let r=e.getFullYear(),t=String(e.getMonth()+1).padStart(2,\\\"0\\\"),n=String(e.getDate()).padStart(2,\\\"0\\\");return`${r}-${t}-${n}`}function $t(e,r,t,n){let o=Yt(e);return o?Xt(o):e}function We(e){e(Bt,$t,{type:\\\"cell\\\"})}var Ht=\\\"dateToTimeDate\\\";function Zt(e){if(e instanceof Date&&!Number.isNaN(e.getTime()))return e;if(e==null)return null;let r=String(e).trim();if(!r)return null;let t=Date.parse(r);return Number.isNaN(t)?null:new Date(t)}function Wt(e){let r=e.getFullYear(),t=String(e.getMonth()+1).padStart(2,\\\"0\\\"),n=String(e.getDate()).padStart(2,\\\"0\\\");return`${r}-${t}-${n}`}function qt(e){let r=String(e.getHours()).padStart(2,\\\"0\\\"),t=String(e.getMinutes()).padStart(2,\\\"0\\\"),n=String(e.getSeconds()).padStart(2,\\\"0\\\");return`${r}:${t}:${n}`}function Qt(e,r,t,n){let o=Zt(e);return o?`${Wt(o)}T${qt(o)}`:e}function qe(e){e(Ht,Qt,{type:\\\"cell\\\"})}var Kt=\\\"dateToUtc\\\";function Jt(e){if(e instanceof Date&&!Number.isNaN(e.getTime()))return e;if(e==null)return null;let r=String(e).trim();if(!r)return null;let t=Date.parse(r);return Number.isNaN(t)?null:new Date(t)}function eo(e,r,t,n){let o=Jt(e);return o?o.toISOString():e}function Qe(e){e(Kt,eo,{type:\\\"cell\\\"})}var ro=\\\"dateLimit\\\";function no(e){if(e instanceof Date&&!Number.isNaN(e.getTime()))return e;if(e==null)return null;let r=String(e).trim();if(!r)return null;let t=Date.parse(r);if(!Number.isNaN(t))return new Date(t);let n=Number(e);return Number.isFinite(n)?new Date(n):null}function to(e,r,t,n){let o=no(e);if(!o)return e;let{min:i,max:a}=n??{},l=o.getTime();if(i!==void 0){let s=typeof i==\\\"number\\\"?new Date(i):new Date(String(i));!Number.isNaN(s.getTime())&&l<s.getTime()&&(l=s.getTime())}if(a!==void 0){let s=typeof a==\\\"number\\\"?new Date(a):new Date(String(a));!Number.isNaN(s.getTime())&&l>s.getTime()&&(l=s.getTime())}return new Date(l).toISOString()}function Ke(e){e(ro,to,{type:\\\"cell\\\"})}var oo=\\\"dateAdd\\\";function io(e){if(e instanceof Date&&!Number.isNaN(e.getTime()))return e;if(e==null)return null;let r=String(e).trim();if(!r)return null;let t=Date.parse(r);return Number.isNaN(t)?null:new Date(t)}function ao(e,r){let t=new Date(e.getTime()),n=Number(r.ms)||0,o=Number(r.seconds)||0,i=Number(r.minutes)||0,a=Number(r.hours)||0,l=Number(r.days)||0;t.setTime(t.getTime()+n+o*1e3+i*6e4+a*36e5+l*864e5);let s=Number(r.months)||0,d=Number(r.years)||0;return(s||d)&&(t.setFullYear(t.getFullYear()+d),t.setMonth(t.getMonth()+s)),t}function lo(e,r,t,n){let o=io(e);return o?ao(o,n??{}).toISOString():e}function Je(e){e(oo,lo,{type:\\\"cell\\\"})}var so=\\\"dateSubtract\\\";function mo(e){if(e instanceof Date&&!Number.isNaN(e.getTime()))return e;if(e==null)return null;let r=String(e).trim();if(!r)return null;let t=Date.parse(r);return Number.isNaN(t)?null:new Date(t)}function uo(e,r){let t=new Date(e.getTime()),n=Number(r.ms)||0,o=Number(r.seconds)||0,i=Number(r.minutes)||0,a=Number(r.hours)||0,l=Number(r.days)||0;t.setTime(t.getTime()-n-o*1e3-i*6e4-a*36e5-l*864e5);let s=Number(r.months)||0,d=Number(r.years)||0;return(s||d)&&(t.setFullYear(t.getFullYear()-d),t.setMonth(t.getMonth()-s)),t}function po(e,r,t,n){let o=mo(e);return o?uo(o,n??{}).toISOString():e}function er(e){e(so,po,{type:\\\"cell\\\"})}var rr=new R;function u(e,r,t){rr.register(e,r,t)}Ae(u);Ie(u);Fe(u);Me(u);Le(u);Oe(u);ze(u);Pe(u);je(u);ve(u);Ge(u);Ue(u);Be(u);Ye(u);Xe(u);$e(u);He(u);Ze(u);We(u);qe(u);Qe(u);Ke(u);Je(u);er(u);function fo(e){let r=rr.get(e);if(!(!r||r.type!==\\\"cell\\\"))return r.fn}function co(e){}function yo(e){}function nr(){return{getCellTransform:fo,getRowTransform:co,getSheetTransform:yo}}var go={async runEdit(e,r,t,n,o,i){let a=De(),l=nr();return ee(e,r,t,n,o,{validator:a,transform:l},i?.signal)}};C(go);\\n/*! Bundled license information:\\n\\ncomlink/dist/esm/comlink.mjs:\\n (**\\n * @license\\n * Copyright 2019 Google LLC\\n * SPDX-License-Identifier: Apache-2.0\\n *)\\n*/\\n//# sourceMappingURL=edit.worker.js.map\";\n const blob = new Blob([workerCode], { type: 'application/javascript' });\n return URL.createObjectURL(blob);\n}\n","import type { PaginatedResult } from '../../types/paginated-result.js';\nimport type { Sheet, ValidatedRow } from '../../types/sheet.js';\n\nexport function getPaginatedResult(\n sheet: Sheet,\n page: number,\n pageSize: number,\n): PaginatedResult<ValidatedRow> {\n return getPaginatedResultFromRows(sheet.rows, page, pageSize);\n}\n\nexport function getPaginatedResultFromRows<TRow>(\n rows: readonly TRow[],\n page: number,\n pageSize: number,\n): PaginatedResult<TRow> {\n const totalCount = rows.length;\n const totalPages =\n pageSize <= 0 ? 0 : Math.max(1, Math.ceil(totalCount / pageSize));\n const safePage = Math.max(1, Math.min(page, totalPages));\n const start = (safePage - 1) * pageSize;\n const end = Math.min(start + pageSize, totalCount);\n const slice = rows.slice(start, end);\n return {\n page: safePage,\n pageSize,\n totalCount,\n totalPages,\n rows: slice,\n };\n}\n","import { useCallback, useMemo, useState } from 'react';\nimport type { ValidatedRow } from '../../../types/sheet.js';\nimport { useImporterContext } from '../../../providers/index.js';\nimport { useSheetEditor } from '../../../hooks/useSheetEditor.js';\nimport { getPaginatedResultFromRows } from '../../editor/get-paginated-result.js';\nimport { getRowsWithErrors } from '../get-rows-with-errors.js';\nimport { getViewCounts } from '../get-view-counts.js';\nimport { sheetToCSV } from '../export/sheet-to-csv.js';\nimport { sheetToJSON } from '../export/sheet-to-json.js';\nimport type { UseSheetViewOptions, UseSheetViewReturn } from '../types/index.js';\n\nexport function useSheetView(options: UseSheetViewOptions = {}): UseSheetViewReturn<ValidatedRow> {\n const { page: initialPage = 1, defaultPageSize = 25, filterMode = 'all' } = options;\n const [page, setPage] = useState(initialPage);\n const pageSize = defaultPageSize;\n const { sheet, editCell, removeRow, changeLog, changeLogAsText } = useSheetEditor({});\n const ctx = useImporterContext();\n\n const rowsWithErrors = useMemo(() => (sheet ? getRowsWithErrors(sheet) : []), [sheet]);\n const sourceRows = useMemo(\n () => (filterMode === 'errors-only' ? rowsWithErrors : (sheet?.rows ?? [])),\n [filterMode, rowsWithErrors, sheet]\n );\n const totalRows = sourceRows.length;\n\n const getPaginatedResult = useCallback(\n (p?: number, ps?: number) => {\n const pp = p ?? page;\n const pps = ps ?? pageSize;\n return getPaginatedResultFromRows(sourceRows, pp, pps);\n },\n [page, pageSize, sourceRows]\n );\n const paginatedRows = useMemo(\n () => getPaginatedResult(page, pageSize).rows,\n [getPaginatedResult, page, pageSize]\n );\n const getRows = useCallback(\n (page: number, limit: number) => {\n // 1-based page → 0-based start index\n const start = (page - 1) * limit;\n return sourceRows.slice(start, start + limit);\n },\n [sourceRows]\n );\n const counts = useMemo(\n () => (sheet ? getViewCounts(sheet) : { totalRows: 0, rowsWithErrors: 0, totalErrors: 0 }),\n [sheet]\n );\n\n const exportToCSV = useCallback(\n (opts?: Parameters<UseSheetViewReturn['exportToCSV']>[0]) => {\n if (!sheet || !ctx.layout) return '';\n return sheetToCSV(sheet, ctx.layout, opts ?? {});\n },\n [sheet, ctx.layout]\n );\n const exportToJSON = useCallback(\n (opts?: Parameters<UseSheetViewReturn['exportToJSON']>[0]) => {\n if (!sheet) return '[]';\n return sheetToJSON(sheet, ctx.layout ?? null, opts ?? {});\n },\n [sheet, ctx.layout]\n );\n\n const downloadCSV = useCallback(\n async (opts?: Parameters<UseSheetViewReturn['downloadCSV']>[0]) => {\n const content = exportToCSV(opts);\n if (!content) return;\n const blob = new Blob([content], { type: 'text/csv;charset=utf-8' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = (opts?.filename ?? 'export') + '.csv';\n a.click();\n URL.revokeObjectURL(url);\n },\n [exportToCSV]\n );\n const downloadJSON = useCallback(\n async (opts?: Parameters<UseSheetViewReturn['downloadJSON']>[0]) => {\n const content = exportToJSON(opts);\n const blob = new Blob([content], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = (opts?.filename ?? 'export') + '.json';\n a.click();\n URL.revokeObjectURL(url);\n },\n [exportToJSON]\n );\n\n return useMemo(\n () => ({\n sheet,\n getPaginatedResult,\n paginatedRows,\n page,\n setPage,\n pageSize,\n totalRows,\n getRows,\n rowsWithErrors,\n counts,\n editCell,\n removeRow,\n changeLog,\n changeLogAsText,\n exportToCSV,\n exportToJSON,\n downloadCSV,\n downloadJSON,\n hasRecoverableSession: ctx.hasRecoverableSession,\n recoverSession: ctx.recoverSession,\n clearPersistedState: ctx.clearPersistedState,\n }),\n [\n sheet,\n getPaginatedResult,\n paginatedRows,\n page,\n pageSize,\n totalRows,\n getRows,\n rowsWithErrors,\n counts,\n editCell,\n removeRow,\n changeLog,\n changeLogAsText,\n exportToCSV,\n exportToJSON,\n downloadCSV,\n downloadJSON,\n ctx.hasRecoverableSession,\n ctx.recoverSession,\n ctx.clearPersistedState,\n ]\n );\n}\n","import type { SheetLayout } from '../../../types/sheet-layout.js';\nimport type { Sheet } from '../../../types/sheet.js';\nimport type { ExportOptions } from '../types/export-options.js';\n\nconst BOM = '\\uFEFF';\n\nfunction escapeCsvValue(value: string, separator: string): string {\n const needsQuotes =\n value.includes(separator) || value.includes('\"') || value.includes('\\n') || value.includes('\\r');\n if (!needsQuotes) return value;\n return '\"' + value.replace(/\"/g, '\"\"') + '\"';\n}\n\nfunction cellValueToString(value: unknown, formatDates: boolean): string {\n if (value === null || value === undefined) return '';\n if (value instanceof Date) return formatDates ? value.toLocaleString() : value.toISOString();\n return String(value);\n}\n\nexport function sheetToCSV(\n sheet: Sheet,\n sheetLayout: SheetLayout | null,\n options: ExportOptions = {},\n): string {\n const {\n includeHeaders = true,\n csvSeparator = ',',\n formatDatesForExport = false,\n } = options;\n const fieldOrder =\n sheetLayout != null ? Object.keys(sheetLayout.fields) : [];\n const effectiveOrder =\n fieldOrder.length > 0\n ? fieldOrder\n : (sheet.rows[0]?.cells.map((c) => c.key) ?? sheet.headers.slice());\n\n const lines: string[] = [];\n if (includeHeaders && effectiveOrder.length > 0) {\n lines.push(effectiveOrder.map((h) => escapeCsvValue(h, csvSeparator)).join(csvSeparator));\n }\n for (const row of sheet.rows) {\n const values = effectiveOrder.map((key) => {\n const cell = row.cells.find((c) => c.key === key);\n const raw = cell?.value ?? '';\n return escapeCsvValue(cellValueToString(raw, formatDatesForExport), csvSeparator);\n });\n lines.push(values.join(csvSeparator));\n }\n const body = lines.join('\\r\\n');\n return BOM + body;\n}\n","import type { SheetLayout } from '../../../types/sheet-layout.js';\nimport type { Sheet } from '../../../types/sheet.js';\nimport type { ExportOptions } from '../types/export-options.js';\n\nfunction cellValueToJson(value: unknown, formatDates: boolean): unknown {\n if (value === null || value === undefined) return null;\n if (value instanceof Date) return formatDates ? value.toLocaleString() : value.toISOString();\n return value;\n}\n\nexport function sheetToJSON(\n sheet: Sheet,\n _sheetLayout: SheetLayout | null,\n options: ExportOptions = {},\n): string {\n const { formatDatesForExport = false } = options;\n const rows = sheet.rows.map((row) => {\n const obj: Record<string, unknown> = {};\n for (const cell of row.cells) {\n obj[cell.key] = cellValueToJson(cell.value, formatDatesForExport);\n }\n return obj;\n });\n return JSON.stringify(rows, null, 0);\n}\n","import { useCallback, useEffect } from 'react';\r\nimport { IMPORTER_PROGRESS_EVENT } from '../types/index.js';\r\nimport type { ImporterProgressDetail } from '../types/index.js';\r\nimport { useImporterContext } from '../providers/index.js';\r\n\r\nexport function useImporterEventTarget() {\r\n const ctx = useImporterContext();\r\n const target = ctx.progressEventTarget;\r\n\r\n const subscribeToProgress = useCallback(\r\n (callback: (detail: ImporterProgressDetail) => void) => {\r\n const handler = (e: Event) => {\r\n callback((e as CustomEvent<ImporterProgressDetail>).detail);\r\n };\r\n target.addEventListener(IMPORTER_PROGRESS_EVENT, handler);\r\n return () => {\r\n target.removeEventListener(IMPORTER_PROGRESS_EVENT, handler);\r\n };\r\n },\r\n [target],\r\n );\r\n\r\n return { progressEventTarget: target, subscribeToProgress };\r\n}\r\n\r\nexport function useImporterProgressSubscription(\r\n callback: (detail: ImporterProgressDetail) => void,\r\n) {\r\n const { subscribeToProgress } = useImporterEventTarget();\r\n useEffect(() => {\r\n return subscribeToProgress(callback);\r\n }, [subscribeToProgress, callback]);\r\n}\r\n"],"mappings":"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","names":["useEffect","useMemo","useRef","useState","Registry","name","fn","options","type","e","entry","PERSIST_STORE_NAME","DEFAULT_PERSIST_KEY","createContext","ImporterContext","initialState","useCallback","useMemo","formatMs","ms","buildPipelineMetrics","timings","rowCount","overheadMs","totalMs","isSlow","efficiency","percentages","overhead","totalWithOverhead","formatChangeLogAsText","entries","lines","e","prev","IMPORTER_PROGRESS_EVENT","IMPORTER_ABORTED_EVENT","useCallback","useImporterStateSetters","deps","setState","setLayoutState","setEngineState","setFile","file","prev","setRawData","rawData","setDocumentHash","documentHash","setStatus","status","setResult","result","setConvertedSheet","convertedSheet","setSanitizedSheet","sanitizedSheet","setConvertResultData","dataOrUpdater","setMetrics","metrics","setSubmitDone","submitDone","setLayout","next","setEngine","setGlobalErrors","errors","INITIAL_PHASE_TIMINGS","useImporterActions","deps","setState","setLayoutState","setEngineState","progressEventTarget","validatorRegistry","sanitizerRegistry","transformRegistry","activeWorkerRef","phaseTimingsRef","stateSetters","useImporterStateSetters","dispatchProgress","useCallback","detail","IMPORTER_PROGRESS_EVENT","setActiveWorker","worker","abort","prev","IMPORTER_ABORTED_EVENT","setPhaseTiming","phase","ms","finalizeMetrics","rowCount","timings","metrics","buildPipelineMetrics","addChangeLogEntry","entry","processFile","file","registerValidator","name","fn","options","registerSanitizer","registerTransform","useMemo","useCallback","useEffect","useRef","useState","openDb","resolve","reject","req","PERSIST_STORE_NAME","savePersistedState","key","state","db","tx","store","record","loadPersistedState","row","savedAt","_k","clearPersistedState","DEBOUNCE_MS","usePersistSession","persist","persistKey","rawData","result","setRawData","setResult","layoutVersion","recoverableSession","setRecoverableSession","useState","debounceRef","useRef","useEffect","loadPersistedState","state","payload","savePersistedState","recoverSession","useCallback","clearPersistedState","useCallback","useEffect","useCallback","useEffect","useRef","useState","proxyMarker","createEndpoint","releaseProxy","finalizer","throwMarker","isObject","val","proxyTransferHandler","obj","port1","port2","expose","port","wrap","throwTransferHandler","value","serialized","transferHandlers","isAllowedOrigin","allowedOrigins","origin","allowedOrigin","ep","callback","ev","id","type","path","argumentList","fromWireValue","returnValue","parent","prop","rawValue","proxy","transfer","wireValue","transferables","toWireValue","closeEndPoint","error","isMessagePort","endpoint","target","pendingListeners","data","resolver","createProxy","throwIfProxyReleased","isReleased","releaseEndpoint","requestResponseMessage","proxyCounter","proxyFinalizers","newCount","registerProxy","unregisterProxy","isProxyReleased","_target","r","p","_thisArg","rawArgumentList","last","processArguments","myFlat","arr","processed","v","transferCache","transfers","toWireValue","value","name","handler","transferHandlers","serializedValue","transferables","transferCache","fromWireValue","requestResponseMessage","ep","pendingListeners","msg","transfers","resolve","id","generateUUID","getParserWorkerUrl","workerCode","blob","useParserWorker","setActiveWorker","dispatchProgress","useImporterContext","workerProxy","setWorkerProxy","useState","workerRef","useRef","useEffect","worker","getParserWorkerUrl","proxy","wrap","load","useCallback","blob","options","parseAll","onProgress","progressProxy","firstSheetFromResult","result","names","useImportSheet","ctx","useImporterContext","load","parseAll","isReady","useParserWorker","useEffect","file","status","engine","error","sheet","err","useCallback","t0","detail","t1","jsx","jsxs","ImporterOrchestrator","useImportSheet","ImporterProvider","children","layoutProp","engineProp","persist","persistKey","DEFAULT_PERSIST_KEY","onSubmit","submitKeyMap","state","setState","useState","initialState","layout","setLayoutState","engine","setEngineState","progressEventTarget","useMemo","validatorRegistry","Registry","sanitizerRegistry","transformRegistry","activeWorkerRef","useRef","phaseTimingsRef","stateSetters","useImporterStateSetters","persistSession","usePersistSession","actions","useImporterActions","useEffect","worker","value","ImporterContext","useContext","useImporterContext","context","useContext","ImporterContext","useCallback","useEffect","useMemo","getRowsWithErrors","sheet","row","hasValidationErrors","sheet","getViewCounts","totalRows","rowsWithErrors","getRowsWithErrors","totalErrors","sum","row","c","cell","getCellValue","row","key","c","sheetRowsToObjects","rows","mapRow","sheetToObjectsWithKeyMap","sheet","keyMap","obj","sheetKey","outputKey","rowsToLayoutObjects","sheet","row","acc","c","useImporter","options","ctx","useImporterContext","layoutOption","engineOption","useEffect","canSubmit","useMemo","hasValidationErrors","submit","useCallback","data","sheetToObjectsWithKeyMap","useCallback","useMemo","buildConvertedSheet","rawSheet","_sheetLayout","columnOrder","fieldToHeader","headers","headerIndex","h","i","rows","row","cells","fieldName","fileHeader","value","idx","normalize","s","levenshteinDistance","a","b","prev","_","i","curr","j","cost","getSimilarity","s1","s2","longer","shorter","distance","DEFAULT_FUZZY_THRESHOLD","mapHeaders","rawHeaders","expectedKeys","options","threshold","keyScores","key","header","score","x","y","assignedKeys","assignedHeaders","keyToHeader","k","defaultNormalize","header","caseSensitive","trimmed","matchHeadersToLayout","rawSheet","sheetLayout","headerToFieldMap","options","normalizer","h","layoutFieldNames","fileHeaders","normalizedToFileHeader","fieldToHeader","usedFileHeaders","fileHeader","fieldName","key","unmatchedFields","f","availableHeaders","threshold","fuzzyResults","mapHeaders","matchedHeader","mismatches","required","runConvert","rawSheet","sheetLayout","options","existing","layoutFieldNames","columnOrder","headerToFieldMap","fieldToHeader","mismatches","matchHeadersToLayout","allRequiredMatched","f","buildConvertedSheet","layoutError","m","useConvert","ctx","useImporterContext","rawData","layout","convertedSheet","convertResultData","setConvertedSheet","setConvertResultData","convert","useCallback","options","result","runConvert","applyMappingImpl","reorderColumns","fieldNames","prev","renameColumn","fileHeader","layoutFieldName","convertResult","useMemo","useMemo","useImporterStatus","ctx","useImporterContext","useMemo","useCallback","useMemo","useSheetData","ctx","useImporterContext","sheet","errors","useMemo","sheetErrors","toObjects","useCallback","mapRow","sheetRowsToObjects","toObjectsWithKeyMap","keyMap","sheetToObjectsWithKeyMap","useCallback","useMemo","useRef","getRowByIndex","sheet","rowIndex","row","getCellByKey","cellKey","cell","removeRow","sheet","rowIndex","getRowByIndex","newRows","r","i","useCallback","useEffect","useRef","useState","getEditWorkerUrl","workerCode","blob","useEditWorker","workerProxy","setWorkerProxy","useState","workerRef","useRef","useEffect","worker","getEditWorkerUrl","proxy","wrap","useCallback","sheet","sheetLayout","rowIndex","cellKey","value","options","getPaginatedResult","sheet","page","pageSize","getPaginatedResultFromRows","rows","totalCount","totalPages","safePage","start","end","slice","useSheetEditor","options","sheet","setResult","layout","changeLog","addChangeLogEntry","submitDone","useImporterContext","runEdit","isReady","useEditWorker","canEdit","page","pageSize","debounceMs","debounceRef","useRef","pageData","useMemo","getPaginatedResult","totalPages","applyEdit","useCallback","params","previousValue","getRowByIndex","getCellByKey","newSheet","entry","editCell","removeRow","rowIndex","changeLogAsText","formatChangeLogAsText","useCallback","useMemo","useState","escapeCsvValue","value","separator","cellValueToString","formatDates","sheetToCSV","sheet","sheetLayout","options","includeHeaders","csvSeparator","formatDatesForExport","fieldOrder","effectiveOrder","c","lines","h","row","values","key","raw","cellValueToJson","value","formatDates","sheetToJSON","sheet","_sheetLayout","options","formatDatesForExport","rows","row","obj","cell","useSheetView","options","initialPage","defaultPageSize","filterMode","page","setPage","useState","pageSize","sheet","editCell","removeRow","changeLog","changeLogAsText","useSheetEditor","ctx","useImporterContext","rowsWithErrors","useMemo","getRowsWithErrors","sourceRows","totalRows","getPaginatedResult","useCallback","p","ps","getPaginatedResultFromRows","paginatedRows","getRows","limit","start","counts","getViewCounts","exportToCSV","opts","sheetToCSV","exportToJSON","sheetToJSON","downloadCSV","content","blob","url","a","downloadJSON","useCallback","useEffect","useImporterEventTarget","target","useImporterContext","subscribeToProgress","useCallback","callback","handler","e","IMPORTER_PROGRESS_EVENT","useImporterProgressSubscription","useEffect"]}