From f5ee1f2cdb97e7832e778a715b5d3912f46f9a10 Mon Sep 17 00:00:00 2001 From: ArnoChen Date: Mon, 17 Feb 2025 01:14:33 +0800 Subject: [PATCH] release new webui --- lightrag/api/lightrag_server.py | 16 +- lightrag/api/static/README.md | 2 - lightrag/api/static/favicon.ico | Bin 751385 -> 0 bytes lightrag/api/static/index.html | 104 -- lightrag/api/static/js/api.js | 408 ------- lightrag/api/static/js/graph.js | 211 ---- lightrag/api/webui/assets/index-BAeLPZpd.css | 1 - lightrag/api/webui/assets/index-BhTFLcnv.css | 1 + lightrag/api/webui/assets/index-CF-pcoIl.js | 967 ---------------- lightrag/api/webui/assets/index-CGBwpbZt.js | 1059 ++++++++++++++++++ lightrag/api/webui/index.html | 28 +- lightrag_webui/bun.lock | 7 + lightrag_webui/package.json | 1 + 13 files changed, 1085 insertions(+), 1720 deletions(-) delete mode 100644 lightrag/api/static/README.md delete mode 100644 lightrag/api/static/favicon.ico delete mode 100644 lightrag/api/static/index.html delete mode 100644 lightrag/api/static/js/api.js delete mode 100644 lightrag/api/static/js/graph.js delete mode 100644 lightrag/api/webui/assets/index-BAeLPZpd.css create mode 100644 lightrag/api/webui/assets/index-BhTFLcnv.css delete mode 100644 lightrag/api/webui/assets/index-CF-pcoIl.js create mode 100644 lightrag/api/webui/assets/index-CGBwpbZt.js diff --git a/lightrag/api/lightrag_server.py b/lightrag/api/lightrag_server.py index 2973fa09..dec7bcd6 100644 --- a/lightrag/api/lightrag_server.py +++ b/lightrag/api/lightrag_server.py @@ -254,10 +254,8 @@ def display_splash_screen(args: argparse.Namespace) -> None: ASCIIColors.yellow(f"{protocol}://localhost:{args.port}/docs") ASCIIColors.white(" ├─ Alternative Documentation (local): ", end="") ASCIIColors.yellow(f"{protocol}://localhost:{args.port}/redoc") - ASCIIColors.white(" ├─ WebUI (local): ", end="") + ASCIIColors.white(" └─ WebUI (local): ", end="") ASCIIColors.yellow(f"{protocol}://localhost:{args.port}/webui") - ASCIIColors.white(" └─ Graph Viewer (local): ", end="") - ASCIIColors.yellow(f"{protocol}://localhost:{args.port}/graph-viewer") ASCIIColors.yellow("\n📝 Note:") ASCIIColors.white(""" Since the server is running on 0.0.0.0: @@ -1814,17 +1812,9 @@ def create_app(args): } # Webui mount webui/index.html - webui_dir = Path(__file__).parent / "webui" - app.mount( - "/graph-viewer", - StaticFiles(directory=webui_dir, html=True), - name="webui", - ) - - # Serve the static files - static_dir = Path(__file__).parent / "static" + static_dir = Path(__file__).parent / "webui" static_dir.mkdir(exist_ok=True) - app.mount("/webui", StaticFiles(directory=static_dir, html=True), name="static") + app.mount("/webui", StaticFiles(directory=static_dir, html=True), name="webui") return app diff --git a/lightrag/api/static/README.md b/lightrag/api/static/README.md deleted file mode 100644 index a8c6b1f3..00000000 --- a/lightrag/api/static/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# LightRag Webui -A simple webui to interact with the lightrag datalake diff --git a/lightrag/api/static/favicon.ico b/lightrag/api/static/favicon.ico deleted file mode 100644 index 928eef39d607b4b1df89aae889bdf31668ab71a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 751385 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ĎqfD$ zT>MJ@MQ>-QTQ_R!msLSR-deXAV701Q4W=?Jh2@O@iS_P49d$ZDZq5pT)8M|eAPMTx zR^gIMjT`)#Qw=hMBSk0{o3d6l)>tn>oo9&3`}p(RUByKUCkT`%J54nQlywL=jS;7T z5j7@Kn@=fyjPoed`}_M@7aP)E00VIJ(MM8{qrHvw9*t`HtV2H!ey712JnQz(PB{6* zlisu}mzEifT^swsb?uJJmdlU{k^iX)< zhd+W2)L$`mA4@*5JJaYiLJ`r`;uC7k#9~dB5V#xuX%D}*Y=uS#` zA$5A4QS{}~O!d(q7R43O#WkQL86JA|yG>uO<~YSC)F2MBTMVQh=<( zq;$RzmOgVcqL(_64Ou|ooC{b<9gZBH3q!Q*ygfgu?Enak^~ew~3ogq5u!cxI<3H6< zaAa2qR%a;G!L&45`>|u;mOBh9CHTm=tGmJE7U{O=B#GA4#NG)cd#Jnzknpn6eav2B zPUGt7>4C={eFTm<<~aD?_rAxq`syhboGl7Ak6bE5sGq>lAiQn2x5M&f%i%SfzlQ3? z+B>+i7)L~y9n4iH?HW)GMKIRUCf`Us2d6ka7BEU0-g9AY)l zD222*_SS1sfkPka&A=&e-0mPnC-G->&Oo0@BdSm3^thXjIXCCdFv;D|zP#a27#mH6_fsyEd<&9!>W zT2GkGdPB}D&VCHr10p3$J+D)lV;kGi?MT!apU0-MMG2a4z{AWW;;mkkH{7LtCx)rh zKVnp_&^;AT@qMb1A2$}h_SLV#!G|0SD^{-b*8qxd!f18df-m7d6Kkz2zuj10&6h&PA{3g+0-`k&Ps4BXI|*MKfv<;;3ZcULz|pFSO~ zm~{m?I?w^2R~?3poOQ>l4{>%dmacYmpze#k05*rki!ck|J$$PZT^qM-Nn=wys&8u`X7N+T25S4>l7@w^NFe$#a%0TTKQI=qci@ z@!-}*Dr_S%_FV>7UN;Vma_bzBY$>99ajH1`ILg3@s5;CLH<`p~2S8EZ4jcg0M!CQC zkB#}bV`?f2Zds*wa%Rz@rZb@#TKQCPLfw(25XjV?Tb7m-SVGJ!+Nbw0(W-$|{23jk;7AC#_XdM?d@#oP6@h@YA3DjJ&?+@n<6Ur3v0H=PU>u6TQwPaadcq{n*Yi4FD#O1FkC)0x{NG$hN&sd^ z(>@v+5luiBD~&v=e(EDhu^jTxk^WK<-zlu9OeZZ_etOSg1$9vT|X= zH4XKKh(!)7`#6KI%(1KTQLjVB7bwNN3$qqcHu~$a*#W@LayoA#N0a9t_ixMKwWi}c z*c<+9yWj_S7$bqCIdf?zkEAje_tw?j4HHf|36@-c1J%f5cBhTNQiddfj$bDIKpF~i z1bGoOdu`c1cNV>@Xm1<)BmQd@w?gBEGYlh-1GCg&xBZX%XLu4);P z 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

pK8SbZ=)n*iA;dtueSXBS5o1QrW&~S<{T^1{nZ3 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�|`ng>5 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

Qb5h-q9{Uq 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

*6pVvUpv9ufv6lg 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±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

~wZ+?XD&0&9mWN4v5 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

t8Hl9xhdGtvtk?t(>Y6T<*_L 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�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 RLUjND002ovPDHLkV1fjDPm%xt diff --git a/lightrag/api/static/index.html b/lightrag/api/static/index.html deleted file mode 100644 index 75b26c5e..00000000 --- a/lightrag/api/static/index.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - LightRAG Interface - - - - - -

- - - - - diff --git a/lightrag/api/static/js/api.js b/lightrag/api/static/js/api.js deleted file mode 100644 index b610eb10..00000000 --- a/lightrag/api/static/js/api.js +++ /dev/null @@ -1,408 +0,0 @@ -// State management -const state = { - apiKey: localStorage.getItem('apiKey') || '', - files: [], - indexedFiles: [], - currentPage: 'file-manager' -}; - -// Utility functions -const showToast = (message, duration = 3000) => { - const toast = document.getElementById('toast'); - toast.querySelector('div').textContent = message; - toast.classList.remove('hidden'); - setTimeout(() => toast.classList.add('hidden'), duration); -}; - -const fetchWithAuth = async (url, options = {}) => { - const headers = { - ...(options.headers || {}), - ...(state.apiKey ? { 'X-API-Key': state.apiKey } : {}) // Use X-API-Key instead of Bearer - }; - return fetch(url, { ...options, headers }); -}; - - -// Page renderers -const pages = { - 'file-manager': () => ` -
-

File Manager

- -
- - -
- -
-

Selected Files

-
-
- -
- - - -
- -
-

Indexed Files

-
-
- - -
- `, - - 'query': () => ` -
-

Query Database

- -
-
- - -
- -
- - -
- - - -
-
-
- `, - - 'knowledge-graph': () => ` -
-
- - - -

Under Construction

-

Knowledge graph visualization will be available in a future update.

-
-
- `, - - 'status': () => ` -
-

System Status

-
-
-

System Health

-
-
-
-

Configuration

-
-
-
-
- `, - - 'settings': () => ` -
-

Settings

- -
-
-
- - -
- - -
-
-
- ` -}; - -// Page handlers -const handlers = { - 'file-manager': () => { - const fileInput = document.getElementById('fileInput'); - const dropZone = fileInput.parentElement.parentElement; - const fileList = document.querySelector('#fileList div'); - const indexedFiles = document.querySelector('#indexedFiles div'); - const uploadBtn = document.getElementById('uploadBtn'); - - const updateFileList = () => { - fileList.innerHTML = state.files.map(file => ` -
- ${file.name} - -
- `).join(''); - }; - - const updateIndexedFiles = async () => { - const response = await fetchWithAuth('/health'); - const data = await response.json(); - indexedFiles.innerHTML = data.indexed_files.map(file => ` -
- ${file} -
- `).join(''); - }; - - dropZone.addEventListener('dragover', (e) => { - e.preventDefault(); - dropZone.classList.add('border-blue-500'); - }); - - dropZone.addEventListener('dragleave', () => { - dropZone.classList.remove('border-blue-500'); - }); - - dropZone.addEventListener('drop', (e) => { - e.preventDefault(); - dropZone.classList.remove('border-blue-500'); - const files = Array.from(e.dataTransfer.files); - state.files.push(...files); - updateFileList(); - }); - - fileInput.addEventListener('change', () => { - state.files.push(...Array.from(fileInput.files)); - updateFileList(); - }); - - uploadBtn.addEventListener('click', async () => { - if (state.files.length === 0) { - showToast('Please select files to upload'); - return; - } - let apiKey = localStorage.getItem('apiKey') || ''; - const progress = document.getElementById('uploadProgress'); - const progressBar = progress.querySelector('div'); - const statusText = document.getElementById('uploadStatus'); - progress.classList.remove('hidden'); - - for (let i = 0; i < state.files.length; i++) { - const formData = new FormData(); - formData.append('file', state.files[i]); - - try { - await fetch('/documents/upload', { - method: 'POST', - headers: apiKey ? { 'Authorization': `Bearer ${apiKey}` } : {}, - body: formData - }); - - const percentage = ((i + 1) / state.files.length) * 100; - progressBar.style.width = `${percentage}%`; - statusText.textContent = `${i + 1}/${state.files.length}`; - } catch (error) { - console.error('Upload error:', error); - } - } - progress.classList.add('hidden'); - }); - - rescanBtn.addEventListener('click', async () => { - const progress = document.getElementById('uploadProgress'); - const progressBar = progress.querySelector('div'); - const statusText = document.getElementById('uploadStatus'); - progress.classList.remove('hidden'); - - try { - // Start the scanning process - const scanResponse = await fetch('/documents/scan', { - method: 'POST', - }); - - if (!scanResponse.ok) { - throw new Error('Scan failed to start'); - } - - // Start polling for progress - const pollInterval = setInterval(async () => { - const progressResponse = await fetch('/documents/scan-progress'); - const progressData = await progressResponse.json(); - - // Update progress bar - progressBar.style.width = `${progressData.progress}%`; - - // Update status text - if (progressData.total_files > 0) { - statusText.textContent = `Processing ${progressData.current_file} (${progressData.indexed_count}/${progressData.total_files})`; - } - - // Check if scanning is complete - if (!progressData.is_scanning) { - clearInterval(pollInterval); - progress.classList.add('hidden'); - statusText.textContent = 'Scan complete!'; - } - }, 1000); // Poll every second - - } catch (error) { - console.error('Upload error:', error); - progress.classList.add('hidden'); - statusText.textContent = 'Error during scanning process'; - } - }); - - - updateIndexedFiles(); - }, - - 'query': () => { - const queryBtn = document.getElementById('queryBtn'); - const queryInput = document.getElementById('queryInput'); - const queryMode = document.getElementById('queryMode'); - const queryResult = document.getElementById('queryResult'); - - let apiKey = localStorage.getItem('apiKey') || ''; - - queryBtn.addEventListener('click', async () => { - const query = queryInput.value.trim(); - if (!query) { - showToast('Please enter a query'); - return; - } - - queryBtn.disabled = true; - queryBtn.innerHTML = ` - - - - - Processing... - `; - - try { - const response = await fetchWithAuth('/query', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ - query, - mode: queryMode.value, - stream: false, - only_need_context: false - }) - }); - - const data = await response.json(); - queryResult.innerHTML = marked.parse(data.response); - } catch (error) { - showToast('Error processing query'); - } finally { - queryBtn.disabled = false; - queryBtn.textContent = 'Send Query'; - } - }); - }, - - 'status': async () => { - const healthStatus = document.getElementById('healthStatus'); - const configStatus = document.getElementById('configStatus'); - - try { - const response = await fetchWithAuth('/health'); - const data = await response.json(); - - healthStatus.innerHTML = ` -
-
-
- ${data.status} -
-
-

Working Directory: ${data.working_directory}

-

Input Directory: ${data.input_directory}

-

Indexed Files: ${data.indexed_files_count}

-
-
- `; - - configStatus.innerHTML = Object.entries(data.configuration) - .map(([key, value]) => ` -
- ${key}: - ${value} -
- `).join(''); - } catch (error) { - showToast('Error fetching status'); - } - }, - - 'settings': () => { - const saveBtn = document.getElementById('saveSettings'); - const apiKeyInput = document.getElementById('apiKeyInput'); - - saveBtn.addEventListener('click', () => { - state.apiKey = apiKeyInput.value; - localStorage.setItem('apiKey', state.apiKey); - showToast('Settings saved successfully'); - }); - } -}; - -// Navigation handling -document.querySelectorAll('.nav-item').forEach(item => { - item.addEventListener('click', (e) => { - e.preventDefault(); - const page = item.dataset.page; - document.getElementById('content').innerHTML = pages[page](); - if (handlers[page]) handlers[page](); - state.currentPage = page; - }); -}); - -// Initialize with file manager -document.getElementById('content').innerHTML = pages['file-manager'](); -handlers['file-manager'](); - -// Global functions -window.removeFile = (fileName) => { - state.files = state.files.filter(file => file.name !== fileName); - document.querySelector('#fileList div').innerHTML = state.files.map(file => ` -
- ${file.name} - -
- `).join(''); -}; diff --git a/lightrag/api/static/js/graph.js b/lightrag/api/static/js/graph.js deleted file mode 100644 index 140a7781..00000000 --- a/lightrag/api/static/js/graph.js +++ /dev/null @@ -1,211 +0,0 @@ -// js/graph.js -function openGraphModal(label) { - const modal = document.getElementById("graph-modal"); - const graphTitle = document.getElementById("graph-title"); - - if (!modal || !graphTitle) { - console.error("Key element not found"); - return; - } - - graphTitle.textContent = `Knowledge Graph - ${label}`; - modal.style.display = "flex"; - - renderGraph(label); -} - -function closeGraphModal() { - const modal = document.getElementById("graph-modal"); - modal.style.display = "none"; - clearGraph(); -} - -function clearGraph() { - const svg = document.getElementById("graph-svg"); - svg.innerHTML = ""; -} - - -async function getGraph(label) { - try { - const response = await fetch(`/graphs?label=${label}`); - const rawData = await response.json(); - console.log({data: JSON.parse(JSON.stringify(rawData))}); - - const nodes = rawData.nodes - - nodes.forEach(node => { - node.id = Date.now().toString(36) + Math.random().toString(36).substring(2); // 使用 crypto.randomUUID() 生成唯一 UUID - }); - - // Strictly verify edge data - const edges = (rawData.edges || []).map(edge => { - const sourceNode = nodes.find(n => n.labels.includes(edge.source)); - const targetNode = nodes.find(n => n.labels.includes(edge.target) - ) - ; - if (!sourceNode || !targetNode) { - console.warn("NOT VALID EDGE:", edge); - return null; - } - return { - source: sourceNode, - target: targetNode, - type: edge.type || "" - }; - }).filter(edge => edge !== null); - - return {nodes, edges}; - } catch (error) { - console.error("Loading graph failed:", error); - return {nodes: [], edges: []}; - } -} - -async function renderGraph(label) { - const data = await getGraph(label); - - - if (!data.nodes || data.nodes.length === 0) { - d3.select("#graph-svg") - .html(`No valid nodes`); - return; - } - - - const svg = d3.select("#graph-svg"); - const width = svg.node().clientWidth; - const height = svg.node().clientHeight; - - svg.selectAll("*").remove(); - - // Create a force oriented diagram layout - const simulation = d3.forceSimulation(data.nodes) - .force("charge", d3.forceManyBody().strength(-300)) - .force("center", d3.forceCenter(width / 2, height / 2)); - - // Add a connection (if there are valid edges) - if (data.edges.length > 0) { - simulation.force("link", - d3.forceLink(data.edges) - .id(d => d.id) - .distance(100) - ); - } - - // Draw nodes - const nodes = svg.selectAll(".node") - .data(data.nodes) - .enter() - .append("circle") - .attr("class", "node") - .attr("r", 10) - .call(d3.drag() - .on("start", dragStarted) - .on("drag", dragged) - .on("end", dragEnded) - ); - - - svg.append("defs") - .append("marker") - .attr("id", "arrow-out") - .attr("viewBox", "0 0 10 10") - .attr("refX", 8) - .attr("refY", 5) - .attr("markerWidth", 6) - .attr("markerHeight", 6) - .attr("orient", "auto") - .append("path") - .attr("d", "M0,0 L10,5 L0,10 Z") - .attr("fill", "#999"); - - // Draw edges (with arrows) - const links = svg.selectAll(".link") - .data(data.edges) - .enter() - .append("line") - .attr("class", "link") - .attr("marker-end", "url(#arrow-out)"); // Always draw arrows on the target side - - // Edge style configuration - links - .attr("stroke", "#999") - .attr("stroke-width", 2) - .attr("stroke-opacity", 0.8); - - // Draw label (with background box) - const labels = svg.selectAll(".label") - .data(data.nodes) - .enter() - .append("text") - .attr("class", "label") - .text(d => d.labels[0] || "") - .attr("text-anchor", "start") - .attr("dy", "0.3em") - .attr("fill", "#333"); - - // Update Location - simulation.on("tick", () => { - links - .attr("x1", d => { - // Calculate the direction vector from the source node to the target node - const dx = d.target.x - d.source.x; - const dy = d.target.y - d.source.y; - const distance = Math.sqrt(dx * dx + dy * dy); - if (distance === 0) return d.source.x; // 避免除以零 Avoid dividing by zero - // Adjust the starting point coordinates (source node edge) based on radius 10 - return d.source.x + (dx / distance) * 10; - }) - .attr("y1", d => { - const dx = d.target.x - d.source.x; - const dy = d.target.y - d.source.y; - const distance = Math.sqrt(dx * dx + dy * dy); - if (distance === 0) return d.source.y; - return d.source.y + (dy / distance) * 10; - }) - .attr("x2", d => { - // Adjust the endpoint coordinates (target node edge) based on a radius of 10 - const dx = d.target.x - d.source.x; - const dy = d.target.y - d.source.y; - const distance = Math.sqrt(dx * dx + dy * dy); - if (distance === 0) return d.target.x; - return d.target.x - (dx / distance) * 10; - }) - .attr("y2", d => { - const dx = d.target.x - d.source.x; - const dy = d.target.y - d.source.y; - const distance = Math.sqrt(dx * dx + dy * dy); - if (distance === 0) return d.target.y; - return d.target.y - (dy / distance) * 10; - }); - - // Update the position of nodes and labels (keep unchanged) - nodes - .attr("cx", d => d.x) - .attr("cy", d => d.y); - - labels - .attr("x", d => d.x + 12) - .attr("y", d => d.y + 4); - }); - - // Drag and drop logic - function dragStarted(event, d) { - if (!event.active) simulation.alphaTarget(0.3).restart(); - d.fx = d.x; - d.fy = d.y; - } - - function dragged(event, d) { - d.fx = event.x; - d.fy = event.y; - simulation.alpha(0.3).restart(); - } - - function dragEnded(event, d) { - if (!event.active) simulation.alphaTarget(0); - d.fx = null; - d.fy = null; - } -} diff --git a/lightrag/api/webui/assets/index-BAeLPZpd.css b/lightrag/api/webui/assets/index-BAeLPZpd.css deleted file mode 100644 index eaee883a..00000000 --- a/lightrag/api/webui/assets/index-BAeLPZpd.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.0.6 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(.971 .013 17.38);--color-red-100:oklch(.936 .032 17.717);--color-red-200:oklch(.885 .062 18.334);--color-red-300:oklch(.808 .114 19.571);--color-red-400:oklch(.704 .191 22.216);--color-red-500:oklch(.637 .237 25.331);--color-red-600:oklch(.577 .245 27.325);--color-red-700:oklch(.505 .213 27.518);--color-red-800:oklch(.444 .177 26.899);--color-red-900:oklch(.396 .141 25.723);--color-red-950:oklch(.258 .092 26.042);--color-orange-50:oklch(.98 .016 73.684);--color-orange-100:oklch(.954 .038 75.164);--color-orange-200:oklch(.901 .076 70.697);--color-orange-300:oklch(.837 .128 66.29);--color-orange-400:oklch(.75 .183 55.934);--color-orange-500:oklch(.705 .213 47.604);--color-orange-600:oklch(.646 .222 41.116);--color-orange-700:oklch(.553 .195 38.402);--color-orange-800:oklch(.47 .157 37.304);--color-orange-900:oklch(.408 .123 38.172);--color-orange-950:oklch(.266 .079 36.259);--color-amber-50:oklch(.987 .022 95.277);--color-amber-100:oklch(.962 .059 95.617);--color-amber-200:oklch(.924 .12 95.746);--color-amber-300:oklch(.879 .169 91.605);--color-amber-400:oklch(.828 .189 84.429);--color-amber-500:oklch(.769 .188 70.08);--color-amber-600:oklch(.666 .179 58.318);--color-amber-700:oklch(.555 .163 48.998);--color-amber-800:oklch(.473 .137 46.201);--color-amber-900:oklch(.414 .112 45.904);--color-amber-950:oklch(.279 .077 45.635);--color-yellow-50:oklch(.987 .026 102.212);--color-yellow-100:oklch(.973 .071 103.193);--color-yellow-200:oklch(.945 .129 101.54);--color-yellow-300:oklch(.905 .182 98.111);--color-yellow-400:oklch(.852 .199 91.936);--color-yellow-500:oklch(.795 .184 86.047);--color-yellow-600:oklch(.681 .162 75.834);--color-yellow-700:oklch(.554 .135 66.442);--color-yellow-800:oklch(.476 .114 61.907);--color-yellow-900:oklch(.421 .095 57.708);--color-yellow-950:oklch(.286 .066 53.813);--color-lime-50:oklch(.986 .031 120.757);--color-lime-100:oklch(.967 .067 122.328);--color-lime-200:oklch(.938 .127 124.321);--color-lime-300:oklch(.897 .196 126.665);--color-lime-400:oklch(.841 .238 128.85);--color-lime-500:oklch(.768 .233 130.85);--color-lime-600:oklch(.648 .2 131.684);--color-lime-700:oklch(.532 .157 131.589);--color-lime-800:oklch(.453 .124 130.933);--color-lime-900:oklch(.405 .101 131.063);--color-lime-950:oklch(.274 .072 132.109);--color-green-50:oklch(.982 .018 155.826);--color-green-100:oklch(.962 .044 156.743);--color-green-200:oklch(.925 .084 155.995);--color-green-300:oklch(.871 .15 154.449);--color-green-400:oklch(.792 .209 151.711);--color-green-500:oklch(.723 .219 149.579);--color-green-600:oklch(.627 .194 149.214);--color-green-700:oklch(.527 .154 150.069);--color-green-800:oklch(.448 .119 151.328);--color-green-900:oklch(.393 .095 152.535);--color-green-950:oklch(.266 .065 152.934);--color-emerald-50:oklch(.979 .021 166.113);--color-emerald-100:oklch(.95 .052 163.051);--color-emerald-200:oklch(.905 .093 164.15);--color-emerald-300:oklch(.845 .143 164.978);--color-emerald-400:oklch(.765 .177 163.223);--color-emerald-500:oklch(.696 .17 162.48);--color-emerald-600:oklch(.596 .145 163.225);--color-emerald-700:oklch(.508 .118 165.612);--color-emerald-800:oklch(.432 .095 166.913);--color-emerald-900:oklch(.378 .077 168.94);--color-emerald-950:oklch(.262 .051 172.552);--color-teal-50:oklch(.984 .014 180.72);--color-teal-100:oklch(.953 .051 180.801);--color-teal-200:oklch(.91 .096 180.426);--color-teal-300:oklch(.855 .138 181.071);--color-teal-400:oklch(.777 .152 181.912);--color-teal-500:oklch(.704 .14 182.503);--color-teal-600:oklch(.6 .118 184.704);--color-teal-700:oklch(.511 .096 186.391);--color-teal-800:oklch(.437 .078 188.216);--color-teal-900:oklch(.386 .063 188.416);--color-teal-950:oklch(.277 .046 192.524);--color-cyan-50:oklch(.984 .019 200.873);--color-cyan-100:oklch(.956 .045 203.388);--color-cyan-200:oklch(.917 .08 205.041);--color-cyan-300:oklch(.865 .127 207.078);--color-cyan-400:oklch(.789 .154 211.53);--color-cyan-500:oklch(.715 .143 215.221);--color-cyan-600:oklch(.609 .126 221.723);--color-cyan-700:oklch(.52 .105 223.128);--color-cyan-800:oklch(.45 .085 224.283);--color-cyan-900:oklch(.398 .07 227.392);--color-cyan-950:oklch(.302 .056 229.695);--color-sky-50:oklch(.977 .013 236.62);--color-sky-100:oklch(.951 .026 236.824);--color-sky-200:oklch(.901 .058 230.902);--color-sky-300:oklch(.828 .111 230.318);--color-sky-400:oklch(.746 .16 232.661);--color-sky-500:oklch(.685 .169 237.323);--color-sky-600:oklch(.588 .158 241.966);--color-sky-700:oklch(.5 .134 242.749);--color-sky-800:oklch(.443 .11 240.79);--color-sky-900:oklch(.391 .09 240.876);--color-sky-950:oklch(.293 .066 243.157);--color-blue-50:oklch(.97 .014 254.604);--color-blue-100:oklch(.932 .032 255.585);--color-blue-200:oklch(.882 .059 254.128);--color-blue-300:oklch(.809 .105 251.813);--color-blue-400:oklch(.707 .165 254.624);--color-blue-500:oklch(.623 .214 259.815);--color-blue-600:oklch(.546 .245 262.881);--color-blue-700:oklch(.488 .243 264.376);--color-blue-800:oklch(.424 .199 265.638);--color-blue-900:oklch(.379 .146 265.522);--color-blue-950:oklch(.282 .091 267.935);--color-indigo-50:oklch(.962 .018 272.314);--color-indigo-100:oklch(.93 .034 272.788);--color-indigo-200:oklch(.87 .065 274.039);--color-indigo-300:oklch(.785 .115 274.713);--color-indigo-400:oklch(.673 .182 276.935);--color-indigo-500:oklch(.585 .233 277.117);--color-indigo-600:oklch(.511 .262 276.966);--color-indigo-700:oklch(.457 .24 277.023);--color-indigo-800:oklch(.398 .195 277.366);--color-indigo-900:oklch(.359 .144 278.697);--color-indigo-950:oklch(.257 .09 281.288);--color-violet-50:oklch(.969 .016 293.756);--color-violet-100:oklch(.943 .029 294.588);--color-violet-200:oklch(.894 .057 293.283);--color-violet-300:oklch(.811 .111 293.571);--color-violet-400:oklch(.702 .183 293.541);--color-violet-500:oklch(.606 .25 292.717);--color-violet-600:oklch(.541 .281 293.009);--color-violet-700:oklch(.491 .27 292.581);--color-violet-800:oklch(.432 .232 292.759);--color-violet-900:oklch(.38 .189 293.745);--color-violet-950:oklch(.283 .141 291.089);--color-purple-50:oklch(.977 .014 308.299);--color-purple-100:oklch(.946 .033 307.174);--color-purple-200:oklch(.902 .063 306.703);--color-purple-300:oklch(.827 .119 306.383);--color-purple-400:oklch(.714 .203 305.504);--color-purple-500:oklch(.627 .265 303.9);--color-purple-600:oklch(.558 .288 302.321);--color-purple-700:oklch(.496 .265 301.924);--color-purple-800:oklch(.438 .218 303.724);--color-purple-900:oklch(.381 .176 304.987);--color-purple-950:oklch(.291 .149 302.717);--color-fuchsia-50:oklch(.977 .017 320.058);--color-fuchsia-100:oklch(.952 .037 318.852);--color-fuchsia-200:oklch(.903 .076 319.62);--color-fuchsia-300:oklch(.833 .145 321.434);--color-fuchsia-400:oklch(.74 .238 322.16);--color-fuchsia-500:oklch(.667 .295 322.15);--color-fuchsia-600:oklch(.591 .293 322.896);--color-fuchsia-700:oklch(.518 .253 323.949);--color-fuchsia-800:oklch(.452 .211 324.591);--color-fuchsia-900:oklch(.401 .17 325.612);--color-fuchsia-950:oklch(.293 .136 325.661);--color-pink-50:oklch(.971 .014 343.198);--color-pink-100:oklch(.948 .028 342.258);--color-pink-200:oklch(.899 .061 343.231);--color-pink-300:oklch(.823 .12 346.018);--color-pink-400:oklch(.718 .202 349.761);--color-pink-500:oklch(.656 .241 354.308);--color-pink-600:oklch(.592 .249 .584);--color-pink-700:oklch(.525 .223 3.958);--color-pink-800:oklch(.459 .187 3.815);--color-pink-900:oklch(.408 .153 2.432);--color-pink-950:oklch(.284 .109 3.907);--color-rose-50:oklch(.969 .015 12.422);--color-rose-100:oklch(.941 .03 12.58);--color-rose-200:oklch(.892 .058 10.001);--color-rose-300:oklch(.81 .117 11.638);--color-rose-400:oklch(.712 .194 13.428);--color-rose-500:oklch(.645 .246 16.439);--color-rose-600:oklch(.586 .253 17.585);--color-rose-700:oklch(.514 .222 16.935);--color-rose-800:oklch(.455 .188 13.697);--color-rose-900:oklch(.41 .159 10.272);--color-rose-950:oklch(.271 .105 12.094);--color-slate-50:oklch(.984 .003 247.858);--color-slate-100:oklch(.968 .007 247.896);--color-slate-200:oklch(.929 .013 255.508);--color-slate-300:oklch(.869 .022 252.894);--color-slate-400:oklch(.704 .04 256.788);--color-slate-500:oklch(.554 .046 257.417);--color-slate-600:oklch(.446 .043 257.281);--color-slate-700:oklch(.372 .044 257.287);--color-slate-800:oklch(.279 .041 260.031);--color-slate-900:oklch(.208 .042 265.755);--color-slate-950:oklch(.129 .042 264.695);--color-gray-50:oklch(.985 .002 247.839);--color-gray-100:oklch(.967 .003 264.542);--color-gray-200:oklch(.928 .006 264.531);--color-gray-300:oklch(.872 .01 258.338);--color-gray-400:oklch(.707 .022 261.325);--color-gray-500:oklch(.551 .027 264.364);--color-gray-600:oklch(.446 .03 256.802);--color-gray-700:oklch(.373 .034 259.733);--color-gray-800:oklch(.278 .033 256.848);--color-gray-900:oklch(.21 .034 264.665);--color-gray-950:oklch(.13 .028 261.692);--color-zinc-50:oklch(.985 0 0);--color-zinc-100:oklch(.967 .001 286.375);--color-zinc-200:oklch(.92 .004 286.32);--color-zinc-300:oklch(.871 .006 286.286);--color-zinc-400:oklch(.705 .015 286.067);--color-zinc-500:oklch(.552 .016 285.938);--color-zinc-600:oklch(.442 .017 285.786);--color-zinc-700:oklch(.37 .013 285.805);--color-zinc-800:oklch(.274 .006 286.033);--color-zinc-900:oklch(.21 .006 285.885);--color-zinc-950:oklch(.141 .005 285.823);--color-neutral-50:oklch(.985 0 0);--color-neutral-100:oklch(.97 0 0);--color-neutral-200:oklch(.922 0 0);--color-neutral-300:oklch(.87 0 0);--color-neutral-400:oklch(.708 0 0);--color-neutral-500:oklch(.556 0 0);--color-neutral-600:oklch(.439 0 0);--color-neutral-700:oklch(.371 0 0);--color-neutral-800:oklch(.269 0 0);--color-neutral-900:oklch(.205 0 0);--color-neutral-950:oklch(.145 0 0);--color-stone-50:oklch(.985 .001 106.423);--color-stone-100:oklch(.97 .001 106.424);--color-stone-200:oklch(.923 .003 48.717);--color-stone-300:oklch(.869 .005 56.366);--color-stone-400:oklch(.709 .01 56.259);--color-stone-500:oklch(.553 .013 58.071);--color-stone-600:oklch(.444 .011 73.639);--color-stone-700:oklch(.374 .01 67.558);--color-stone-800:oklch(.268 .007 34.298);--color-stone-900:oklch(.216 .006 56.043);--color-stone-950:oklch(.147 .004 49.25);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-xs:.125rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--shadow-2xs:0 1px #0000000d;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--inset-shadow-2xs:inset 0 1px #0000000d;--inset-shadow-xs:inset 0 1px 1px #0000000d;--inset-shadow-sm:inset 0 2px 4px #0000000d;--drop-shadow-xs:0 1px 1px #0000000d;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--drop-shadow-lg:0 4px 4px #00000026;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings);--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-destructive-foreground:var(--destructive-foreground);--color-border:var(--border);--color-input:var(--input);--color-ring:var(--ring);--color-chart-1:var(--chart-1);--color-chart-2:var(--chart-2);--color-chart-3:var(--chart-3);--color-chart-4:var(--chart-4);--color-chart-5:var(--chart-5);--color-sidebar-ring:var(--sidebar-ring);--color-sidebar-border:var(--sidebar-border);--color-sidebar-accent-foreground:var(--sidebar-accent-foreground);--color-sidebar-accent:var(--sidebar-accent);--color-sidebar-primary-foreground:var(--sidebar-primary-foreground);--color-sidebar-primary:var(--sidebar-primary);--color-sidebar-foreground:var(--sidebar-foreground);--color-sidebar:var(--sidebar-background);--animate-accordion-down:accordion-down .2s ease-out;--animate-accordion-up:accordion-up .2s ease-out}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:color-mix(in oklab,var(--ring)50%,transparent)}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.z-50{z-index:50}.\!container{width:100%!important}@media (width>=40rem){.\!container{max-width:40rem!important}}@media (width>=48rem){.\!container{max-width:48rem!important}}@media (width>=64rem){.\!container{max-width:64rem!important}}@media (width>=80rem){.\!container{max-width:80rem!important}}@media (width>=96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.\!size-full{width:100%!important;height:100%!important}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-\[1px\]{height:1px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-8{max-height:calc(var(--spacing)*8)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[300px\]{max-height:300px}.max-h-auto{max-height:auto}.max-h-full{max-height:100%}.w-0{width:calc(var(--spacing)*0)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.max-w-80{max-width:calc(var(--spacing)*80)}.max-w-lg{max-width:var(--container-lg)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[300px\]{min-width:300px}.flex-1{flex:1}.flex-auto{flex:auto}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-20{--tw-translate-y:calc(var(--spacing)*-20);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.columns-2{columns:2}.columns-3{columns:3}.columns-4{columns:4}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-destructive\/50{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.\!bg-background{background-color:var(--background)!important}.bg-background{background-color:var(--background)}.bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}.bg-background\/90{background-color:color-mix(in oklab,var(--background)90%,transparent)}.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}.bg-border{background-color:var(--border)}.bg-destructive{background-color:var(--destructive)}.bg-foreground\/10{background-color:color-mix(in oklab,var(--foreground)10%,transparent)}.bg-green-500{background-color:var(--color-green-500)}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}.bg-red-500{background-color:var(--color-red-500)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.\!p-2{padding:calc(var(--spacing)*2)!important}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.pl-1{padding-left:calc(var(--spacing)*1)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-muted{color:var(--muted)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-primary\/60{color:color-mix(in oklab,var(--primary)60%,transparent)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sky-300{color:var(--color-sky-300)}.text-teal-600{color:var(--color-teal-600)}.text-teal-600\/90{color:color-mix(in oklab,var(--color-teal-600)90%,transparent)}.text-yellow-400\/90{color:color-mix(in oklab,var(--color-yellow-400)90%,transparent)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(34\,197\,94\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#22c55e66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#ef444466);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.paused{animation-play-state:paused}.repeat-1{animation-iteration-count:1}.running{animation-play-state:running}.select-none{-webkit-user-select:none;user-select:none}.zoom-in{--tw-enter-scale:0}.zoom-in-95{--tw-enter-scale:.95}.zoom-out{--tw-exit-scale:0}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:w-fit:hover{width:fit-content}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media (width>=40rem){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-destructive:is(.dark *){border-color:var(--destructive)}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}}:root{--background:#fff;--foreground:#09090b;--card:#fff;--card-foreground:#09090b;--popover:#fff;--popover-foreground:#09090b;--primary:#18181b;--primary-foreground:#fafafa;--secondary:#f4f4f5;--secondary-foreground:#18181b;--muted:#f4f4f5;--muted-foreground:#71717a;--accent:#f4f4f5;--accent-foreground:#18181b;--destructive:#ef4444;--destructive-foreground:#fafafa;--border:#e4e4e7;--input:#e4e4e7;--ring:#09090b;--chart-1:#e76e50;--chart-2:#2a9d90;--chart-3:#274754;--chart-4:#e8c468;--chart-5:#f4a462;--radius:.6rem;--sidebar-background:#fafafa;--sidebar-foreground:#3f3f46;--sidebar-primary:#18181b;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f4f4f5;--sidebar-accent-foreground:#18181b;--sidebar-border:#e5e7eb;--sidebar-ring:#3b82f6}.dark{--background:#09090b;--foreground:#fafafa;--card:#09090b;--card-foreground:#fafafa;--popover:#09090b;--popover-foreground:#fafafa;--primary:#fafafa;--primary-foreground:#18181b;--secondary:#27272a;--secondary-foreground:#fafafa;--muted:#27272a;--muted-foreground:#a1a1aa;--accent:#27272a;--accent-foreground:#fafafa;--destructive:#7f1d1d;--destructive-foreground:#fafafa;--border:#27272a;--input:#27272a;--ring:#d4d4d8;--chart-1:#2662d9;--chart-2:#2eb88a;--chart-3:#e88c30;--chart-4:#af57db;--chart-5:#e23670;--sidebar-background:#18181b;--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#3b82f6}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}:root{--sigma-background-color:#fff;--sigma-controls-background-color:#fff;--sigma-controls-background-color-hover:rgba(0,0,0,.2);--sigma-controls-border-color:rgba(0,0,0,.2);--sigma-controls-color:#000;--sigma-controls-zindex:100;--sigma-controls-margin:5px;--sigma-controls-size:30px}div.react-sigma{height:100%;width:100%;position:relative;background:var(--sigma-background-color)}div.sigma-container{height:100%;width:100%}.react-sigma-controls{position:absolute;z-index:var(--sigma-controls-zindex);border:2px solid var(--sigma-controls-border-color);border-radius:4px;color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color)}.react-sigma-controls.bottom-right{bottom:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.bottom-left{bottom:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls.top-right{top:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.top-left{top:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.react-sigma-controls:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.react-sigma-control{width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-color:var(--sigma-controls-background-color);border-bottom:1px solid var(--sigma-controls-border-color)}.react-sigma-control:last-child{border-bottom:none}.react-sigma-control>*{box-sizing:border-box}.react-sigma-control>button{display:block;border:none;margin:0;padding:0;width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-position:center;background-size:50%;background-repeat:no-repeat;background-color:var(--sigma-controls-background-color);clip:rect(0,0,0,0)}.react-sigma-control>button:hover{background-color:var(--sigma-controls-background-color-hover)}.react-sigma-search{background-color:var(--sigma-controls-background-color)}.react-sigma-search label{visibility:hidden}.react-sigma-search input{color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color);font-size:1em;width:100%;margin:0;border:none;padding:var(--sigma-controls-margin);box-sizing:border-box}:root{--sigma-grey-color:#ccc}.react-sigma .option.hoverable{cursor:pointer!important}.react-sigma .text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.react-sigma .react-select__clear-indicator{cursor:pointer!important}.react-sigma .text-muted{color:var(--sigma-grey-color)}.react-sigma .text-italic{font-style:italic}.react-sigma .text-center{text-align:center}.react-sigma .graph-search{min-width:250px}.react-sigma .graph-search .option{padding:2px 8px}.react-sigma .graph-search .dropdown-indicator{font-size:1.25em;padding:4px}.react-sigma .graph-search .option.selected{background-color:var(--sigma-grey-color)}.react-sigma .node .render{position:relative;display:inline-block;width:1em;height:1em;border-radius:1em;background-color:var(--sigma-grey-color);margin-right:8px}.react-sigma .node{display:flex;flex-direction:row;align-items:center}.react-sigma .node .render{flex-grow:0;flex-shrink:0;margin-right:0 .25em}.react-sigma .node .label{flex-grow:1;flex-shrink:1}.react-sigma .edge{display:flex;flex-direction:column;align-items:flex-start;flex-grow:0;flex-shrink:0;flex-wrap:nowrap}.react-sigma .edge .node{font-size:.7em}.react-sigma .edge .body{display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-height:.6em}.react-sigma .edge .body .render{display:flex;flex-direction:column;margin:0 2px}.react-sigma .edge .body .render .dash,.react-sigma .edge .body .render .dotted{display:inline-block;width:0;margin:0 2px;border:2px solid #ccc;flex-grow:1;flex-shrink:1}.react-sigma .edge .body .render .dotted{border-style:dotted}.react-sigma .edge .body .render .arrow{width:0;height:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.6em solid red;flex-shrink:0;flex-grow:0;border-left-width:.3em;border-right-width:.3em}.react-sigma .edge .body .label{flex-grow:1;flex-shrink:1;text-align:center} diff --git a/lightrag/api/webui/assets/index-BhTFLcnv.css b/lightrag/api/webui/assets/index-BhTFLcnv.css new file mode 100644 index 00000000..b730b3e0 --- /dev/null +++ b/lightrag/api/webui/assets/index-BhTFLcnv.css @@ -0,0 +1 @@ +/*! tailwindcss v4.0.6 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(.971 .013 17.38);--color-red-100:oklch(.936 .032 17.717);--color-red-200:oklch(.885 .062 18.334);--color-red-300:oklch(.808 .114 19.571);--color-red-400:oklch(.704 .191 22.216);--color-red-500:oklch(.637 .237 25.331);--color-red-600:oklch(.577 .245 27.325);--color-red-700:oklch(.505 .213 27.518);--color-red-800:oklch(.444 .177 26.899);--color-red-900:oklch(.396 .141 25.723);--color-red-950:oklch(.258 .092 26.042);--color-orange-50:oklch(.98 .016 73.684);--color-orange-100:oklch(.954 .038 75.164);--color-orange-200:oklch(.901 .076 70.697);--color-orange-300:oklch(.837 .128 66.29);--color-orange-400:oklch(.75 .183 55.934);--color-orange-500:oklch(.705 .213 47.604);--color-orange-600:oklch(.646 .222 41.116);--color-orange-700:oklch(.553 .195 38.402);--color-orange-800:oklch(.47 .157 37.304);--color-orange-900:oklch(.408 .123 38.172);--color-orange-950:oklch(.266 .079 36.259);--color-amber-50:oklch(.987 .022 95.277);--color-amber-100:oklch(.962 .059 95.617);--color-amber-200:oklch(.924 .12 95.746);--color-amber-300:oklch(.879 .169 91.605);--color-amber-400:oklch(.828 .189 84.429);--color-amber-500:oklch(.769 .188 70.08);--color-amber-600:oklch(.666 .179 58.318);--color-amber-700:oklch(.555 .163 48.998);--color-amber-800:oklch(.473 .137 46.201);--color-amber-900:oklch(.414 .112 45.904);--color-amber-950:oklch(.279 .077 45.635);--color-yellow-50:oklch(.987 .026 102.212);--color-yellow-100:oklch(.973 .071 103.193);--color-yellow-200:oklch(.945 .129 101.54);--color-yellow-300:oklch(.905 .182 98.111);--color-yellow-400:oklch(.852 .199 91.936);--color-yellow-500:oklch(.795 .184 86.047);--color-yellow-600:oklch(.681 .162 75.834);--color-yellow-700:oklch(.554 .135 66.442);--color-yellow-800:oklch(.476 .114 61.907);--color-yellow-900:oklch(.421 .095 57.708);--color-yellow-950:oklch(.286 .066 53.813);--color-lime-50:oklch(.986 .031 120.757);--color-lime-100:oklch(.967 .067 122.328);--color-lime-200:oklch(.938 .127 124.321);--color-lime-300:oklch(.897 .196 126.665);--color-lime-400:oklch(.841 .238 128.85);--color-lime-500:oklch(.768 .233 130.85);--color-lime-600:oklch(.648 .2 131.684);--color-lime-700:oklch(.532 .157 131.589);--color-lime-800:oklch(.453 .124 130.933);--color-lime-900:oklch(.405 .101 131.063);--color-lime-950:oklch(.274 .072 132.109);--color-green-50:oklch(.982 .018 155.826);--color-green-100:oklch(.962 .044 156.743);--color-green-200:oklch(.925 .084 155.995);--color-green-300:oklch(.871 .15 154.449);--color-green-400:oklch(.792 .209 151.711);--color-green-500:oklch(.723 .219 149.579);--color-green-600:oklch(.627 .194 149.214);--color-green-700:oklch(.527 .154 150.069);--color-green-800:oklch(.448 .119 151.328);--color-green-900:oklch(.393 .095 152.535);--color-green-950:oklch(.266 .065 152.934);--color-emerald-50:oklch(.979 .021 166.113);--color-emerald-100:oklch(.95 .052 163.051);--color-emerald-200:oklch(.905 .093 164.15);--color-emerald-300:oklch(.845 .143 164.978);--color-emerald-400:oklch(.765 .177 163.223);--color-emerald-500:oklch(.696 .17 162.48);--color-emerald-600:oklch(.596 .145 163.225);--color-emerald-700:oklch(.508 .118 165.612);--color-emerald-800:oklch(.432 .095 166.913);--color-emerald-900:oklch(.378 .077 168.94);--color-emerald-950:oklch(.262 .051 172.552);--color-teal-50:oklch(.984 .014 180.72);--color-teal-100:oklch(.953 .051 180.801);--color-teal-200:oklch(.91 .096 180.426);--color-teal-300:oklch(.855 .138 181.071);--color-teal-400:oklch(.777 .152 181.912);--color-teal-500:oklch(.704 .14 182.503);--color-teal-600:oklch(.6 .118 184.704);--color-teal-700:oklch(.511 .096 186.391);--color-teal-800:oklch(.437 .078 188.216);--color-teal-900:oklch(.386 .063 188.416);--color-teal-950:oklch(.277 .046 192.524);--color-cyan-50:oklch(.984 .019 200.873);--color-cyan-100:oklch(.956 .045 203.388);--color-cyan-200:oklch(.917 .08 205.041);--color-cyan-300:oklch(.865 .127 207.078);--color-cyan-400:oklch(.789 .154 211.53);--color-cyan-500:oklch(.715 .143 215.221);--color-cyan-600:oklch(.609 .126 221.723);--color-cyan-700:oklch(.52 .105 223.128);--color-cyan-800:oklch(.45 .085 224.283);--color-cyan-900:oklch(.398 .07 227.392);--color-cyan-950:oklch(.302 .056 229.695);--color-sky-50:oklch(.977 .013 236.62);--color-sky-100:oklch(.951 .026 236.824);--color-sky-200:oklch(.901 .058 230.902);--color-sky-300:oklch(.828 .111 230.318);--color-sky-400:oklch(.746 .16 232.661);--color-sky-500:oklch(.685 .169 237.323);--color-sky-600:oklch(.588 .158 241.966);--color-sky-700:oklch(.5 .134 242.749);--color-sky-800:oklch(.443 .11 240.79);--color-sky-900:oklch(.391 .09 240.876);--color-sky-950:oklch(.293 .066 243.157);--color-blue-50:oklch(.97 .014 254.604);--color-blue-100:oklch(.932 .032 255.585);--color-blue-200:oklch(.882 .059 254.128);--color-blue-300:oklch(.809 .105 251.813);--color-blue-400:oklch(.707 .165 254.624);--color-blue-500:oklch(.623 .214 259.815);--color-blue-600:oklch(.546 .245 262.881);--color-blue-700:oklch(.488 .243 264.376);--color-blue-800:oklch(.424 .199 265.638);--color-blue-900:oklch(.379 .146 265.522);--color-blue-950:oklch(.282 .091 267.935);--color-indigo-50:oklch(.962 .018 272.314);--color-indigo-100:oklch(.93 .034 272.788);--color-indigo-200:oklch(.87 .065 274.039);--color-indigo-300:oklch(.785 .115 274.713);--color-indigo-400:oklch(.673 .182 276.935);--color-indigo-500:oklch(.585 .233 277.117);--color-indigo-600:oklch(.511 .262 276.966);--color-indigo-700:oklch(.457 .24 277.023);--color-indigo-800:oklch(.398 .195 277.366);--color-indigo-900:oklch(.359 .144 278.697);--color-indigo-950:oklch(.257 .09 281.288);--color-violet-50:oklch(.969 .016 293.756);--color-violet-100:oklch(.943 .029 294.588);--color-violet-200:oklch(.894 .057 293.283);--color-violet-300:oklch(.811 .111 293.571);--color-violet-400:oklch(.702 .183 293.541);--color-violet-500:oklch(.606 .25 292.717);--color-violet-600:oklch(.541 .281 293.009);--color-violet-700:oklch(.491 .27 292.581);--color-violet-800:oklch(.432 .232 292.759);--color-violet-900:oklch(.38 .189 293.745);--color-violet-950:oklch(.283 .141 291.089);--color-purple-50:oklch(.977 .014 308.299);--color-purple-100:oklch(.946 .033 307.174);--color-purple-200:oklch(.902 .063 306.703);--color-purple-300:oklch(.827 .119 306.383);--color-purple-400:oklch(.714 .203 305.504);--color-purple-500:oklch(.627 .265 303.9);--color-purple-600:oklch(.558 .288 302.321);--color-purple-700:oklch(.496 .265 301.924);--color-purple-800:oklch(.438 .218 303.724);--color-purple-900:oklch(.381 .176 304.987);--color-purple-950:oklch(.291 .149 302.717);--color-fuchsia-50:oklch(.977 .017 320.058);--color-fuchsia-100:oklch(.952 .037 318.852);--color-fuchsia-200:oklch(.903 .076 319.62);--color-fuchsia-300:oklch(.833 .145 321.434);--color-fuchsia-400:oklch(.74 .238 322.16);--color-fuchsia-500:oklch(.667 .295 322.15);--color-fuchsia-600:oklch(.591 .293 322.896);--color-fuchsia-700:oklch(.518 .253 323.949);--color-fuchsia-800:oklch(.452 .211 324.591);--color-fuchsia-900:oklch(.401 .17 325.612);--color-fuchsia-950:oklch(.293 .136 325.661);--color-pink-50:oklch(.971 .014 343.198);--color-pink-100:oklch(.948 .028 342.258);--color-pink-200:oklch(.899 .061 343.231);--color-pink-300:oklch(.823 .12 346.018);--color-pink-400:oklch(.718 .202 349.761);--color-pink-500:oklch(.656 .241 354.308);--color-pink-600:oklch(.592 .249 .584);--color-pink-700:oklch(.525 .223 3.958);--color-pink-800:oklch(.459 .187 3.815);--color-pink-900:oklch(.408 .153 2.432);--color-pink-950:oklch(.284 .109 3.907);--color-rose-50:oklch(.969 .015 12.422);--color-rose-100:oklch(.941 .03 12.58);--color-rose-200:oklch(.892 .058 10.001);--color-rose-300:oklch(.81 .117 11.638);--color-rose-400:oklch(.712 .194 13.428);--color-rose-500:oklch(.645 .246 16.439);--color-rose-600:oklch(.586 .253 17.585);--color-rose-700:oklch(.514 .222 16.935);--color-rose-800:oklch(.455 .188 13.697);--color-rose-900:oklch(.41 .159 10.272);--color-rose-950:oklch(.271 .105 12.094);--color-slate-50:oklch(.984 .003 247.858);--color-slate-100:oklch(.968 .007 247.896);--color-slate-200:oklch(.929 .013 255.508);--color-slate-300:oklch(.869 .022 252.894);--color-slate-400:oklch(.704 .04 256.788);--color-slate-500:oklch(.554 .046 257.417);--color-slate-600:oklch(.446 .043 257.281);--color-slate-700:oklch(.372 .044 257.287);--color-slate-800:oklch(.279 .041 260.031);--color-slate-900:oklch(.208 .042 265.755);--color-slate-950:oklch(.129 .042 264.695);--color-gray-50:oklch(.985 .002 247.839);--color-gray-100:oklch(.967 .003 264.542);--color-gray-200:oklch(.928 .006 264.531);--color-gray-300:oklch(.872 .01 258.338);--color-gray-400:oklch(.707 .022 261.325);--color-gray-500:oklch(.551 .027 264.364);--color-gray-600:oklch(.446 .03 256.802);--color-gray-700:oklch(.373 .034 259.733);--color-gray-800:oklch(.278 .033 256.848);--color-gray-900:oklch(.21 .034 264.665);--color-gray-950:oklch(.13 .028 261.692);--color-zinc-50:oklch(.985 0 0);--color-zinc-100:oklch(.967 .001 286.375);--color-zinc-200:oklch(.92 .004 286.32);--color-zinc-300:oklch(.871 .006 286.286);--color-zinc-400:oklch(.705 .015 286.067);--color-zinc-500:oklch(.552 .016 285.938);--color-zinc-600:oklch(.442 .017 285.786);--color-zinc-700:oklch(.37 .013 285.805);--color-zinc-800:oklch(.274 .006 286.033);--color-zinc-900:oklch(.21 .006 285.885);--color-zinc-950:oklch(.141 .005 285.823);--color-neutral-50:oklch(.985 0 0);--color-neutral-100:oklch(.97 0 0);--color-neutral-200:oklch(.922 0 0);--color-neutral-300:oklch(.87 0 0);--color-neutral-400:oklch(.708 0 0);--color-neutral-500:oklch(.556 0 0);--color-neutral-600:oklch(.439 0 0);--color-neutral-700:oklch(.371 0 0);--color-neutral-800:oklch(.269 0 0);--color-neutral-900:oklch(.205 0 0);--color-neutral-950:oklch(.145 0 0);--color-stone-50:oklch(.985 .001 106.423);--color-stone-100:oklch(.97 .001 106.424);--color-stone-200:oklch(.923 .003 48.717);--color-stone-300:oklch(.869 .005 56.366);--color-stone-400:oklch(.709 .01 56.259);--color-stone-500:oklch(.553 .013 58.071);--color-stone-600:oklch(.444 .011 73.639);--color-stone-700:oklch(.374 .01 67.558);--color-stone-800:oklch(.268 .007 34.298);--color-stone-900:oklch(.216 .006 56.043);--color-stone-950:oklch(.147 .004 49.25);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-xs:.125rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--shadow-2xs:0 1px #0000000d;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--inset-shadow-2xs:inset 0 1px #0000000d;--inset-shadow-xs:inset 0 1px 1px #0000000d;--inset-shadow-sm:inset 0 2px 4px #0000000d;--drop-shadow-xs:0 1px 1px #0000000d;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--drop-shadow-lg:0 4px 4px #00000026;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings);--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-destructive-foreground:var(--destructive-foreground);--color-border:var(--border);--color-input:var(--input);--color-ring:var(--ring);--color-chart-1:var(--chart-1);--color-chart-2:var(--chart-2);--color-chart-3:var(--chart-3);--color-chart-4:var(--chart-4);--color-chart-5:var(--chart-5);--color-sidebar-ring:var(--sidebar-ring);--color-sidebar-border:var(--sidebar-border);--color-sidebar-accent-foreground:var(--sidebar-accent-foreground);--color-sidebar-accent:var(--sidebar-accent);--color-sidebar-primary-foreground:var(--sidebar-primary-foreground);--color-sidebar-primary:var(--sidebar-primary);--color-sidebar-foreground:var(--sidebar-foreground);--color-sidebar:var(--sidebar-background);--animate-accordion-down:accordion-down .2s ease-out;--animate-accordion-up:accordion-up .2s ease-out}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:color-mix(in oklab,var(--ring)50%,transparent)}body{background-color:var(--background);color:var(--foreground)}*{scrollbar-color:initial;scrollbar-width:initial}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-12{top:calc(var(--spacing)*12)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.z-50{z-index:50}.\!container{width:100%!important}@media (width>=40rem){.\!container{max-width:40rem!important}}@media (width>=48rem){.\!container{max-width:48rem!important}}@media (width>=64rem){.\!container{max-width:64rem!important}}@media (width>=80rem){.\!container{max-width:80rem!important}}@media (width>=96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.\!m-0{margin:calc(var(--spacing)*0)!important}.m-0{margin:calc(var(--spacing)*0)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-1{margin-inline:calc(var(--spacing)*1)}.my-1{margin-block:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-6{margin-right:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.scrollbar{scrollbar-width:auto;scrollbar-color:var(--scrollbar-thumb,initial)var(--scrollbar-track,initial)}.scrollbar::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar::-webkit-scrollbar{width:var(--scrollbar-width,16px);height:var(--scrollbar-height,16px);display:block}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-square{aspect-ratio:1}.\!size-full{width:100%!important;height:100%!important}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-full{width:100%;height:100%}.h-1\/2{height:50%}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-52{height:calc(var(--spacing)*52)}.h-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-8{max-height:calc(var(--spacing)*8)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[300px\]{max-height:300px}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.w-0{width:calc(var(--spacing)*0)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.max-w-80{max-width:calc(var(--spacing)*80)}.max-w-\[80\%\]{max-width:80%}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-24{min-width:calc(var(--spacing)*24)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[300px\]{min-width:300px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-auto{flex:auto}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-20{--tw-translate-y:calc(var(--spacing)*-20);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.columns-2{columns:2}.columns-3{columns:3}.columns-4{columns:4}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\!border-input{border-color:var(--input)!important}.border-border\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}.border-destructive\/50{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}.border-input{border-color:var(--input)}.border-muted-foreground\/25{border-color:color-mix(in oklab,var(--muted-foreground)25%,transparent)}.border-muted-foreground\/50{border-color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}.border-primary{border-color:var(--primary)}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.\!bg-background{background-color:var(--background)!important}.\!bg-emerald-400{background-color:var(--color-emerald-400)!important}.bg-background{background-color:var(--background)}.bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}.bg-background\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}.bg-background\/90{background-color:color-mix(in oklab,var(--background)90%,transparent)}.bg-background\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground\/10{background-color:color-mix(in oklab,var(--foreground)10%,transparent)}.bg-green-500{background-color:var(--color-green-500)}.bg-muted{background-color:var(--muted)}.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground\/60{background-color:color-mix(in oklab,var(--primary-foreground)60%,transparent)}.bg-primary\/5{background-color:color-mix(in oklab,var(--primary)5%,transparent)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-700{background-color:var(--color-red-700)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.\!p-0{padding:calc(var(--spacing)*0)!important}.\!p-2{padding:calc(var(--spacing)*2)!important}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-16{padding:calc(var(--spacing)*16)}.p-\[1px\]{padding:1px}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-zinc-50{color:var(--color-zinc-50)!important}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground{color:var(--foreground)}.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}.text-green-600{color:var(--color-green-600)}.text-muted{color:var(--muted)}.text-muted-foreground{color:var(--muted-foreground)}.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-primary\/60{color:color-mix(in oklab,var(--primary)60%,transparent)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sky-300{color:var(--color-sky-300)}.text-teal-600{color:var(--color-teal-600)}.text-teal-600\/90{color:color-mix(in oklab,var(--color-teal-600)90%,transparent)}.text-white{color:var(--color-white)}.text-yellow-400\/90{color:color-mix(in oklab,var(--color-yellow-400)90%,transparent)}.text-yellow-600{color:var(--color-yellow-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(34\,197\,94\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#22c55e66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(239\,68\,68\,0\.4\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#ef444466);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-2000{--tw-duration:2s;transition-duration:2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-2000{animation-duration:2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.paused{animation-play-state:paused}.repeat-1{animation-iteration-count:1}.running{animation-play-state:running}.select-none{-webkit-user-select:none;user-select:none}.zoom-in{--tw-enter-scale:0}.zoom-in-95{--tw-enter-scale:.95}.zoom-out{--tw-exit-scale:0}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:w-fit:hover{width:fit-content}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-background\/60:hover{background-color:color-mix(in oklab,var(--background)60%,transparent)}.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}.hover\:bg-muted\/25:hover{background-color:color-mix(in oklab,var(--muted)25%,transparent)}.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,var(--primary)5%,transparent)}.hover\:bg-primary\/20:hover{background-color:color-mix(in oklab,var(--primary)20%,transparent)}.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-0:focus{outline-style:var(--tw-outline-style);outline-width:0}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:relative:focus-visible{position:relative}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:right-0:active{right:calc(var(--spacing)*0)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:color-mix(in oklab,var(--background)60%,transparent)}}@media (width>=40rem){.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:px-5{padding-inline:calc(var(--spacing)*5)}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:inline-block{display:inline-block}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-destructive:is(.dark *){border-color:var(--destructive)}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}:root{--background:#fff;--foreground:#09090b;--card:#fff;--card-foreground:#09090b;--popover:#fff;--popover-foreground:#09090b;--primary:#18181b;--primary-foreground:#fafafa;--secondary:#f4f4f5;--secondary-foreground:#18181b;--muted:#f4f4f5;--muted-foreground:#71717a;--accent:#f4f4f5;--accent-foreground:#18181b;--destructive:#ef4444;--destructive-foreground:#fafafa;--border:#e4e4e7;--input:#e4e4e7;--ring:#09090b;--chart-1:#e76e50;--chart-2:#2a9d90;--chart-3:#274754;--chart-4:#e8c468;--chart-5:#f4a462;--radius:.6rem;--sidebar-background:#fafafa;--sidebar-foreground:#3f3f46;--sidebar-primary:#18181b;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f4f4f5;--sidebar-accent-foreground:#18181b;--sidebar-border:#e5e7eb;--sidebar-ring:#3b82f6}.dark{--background:#09090b;--foreground:#fafafa;--card:#09090b;--card-foreground:#fafafa;--popover:#09090b;--popover-foreground:#fafafa;--primary:#fafafa;--primary-foreground:#18181b;--secondary:#27272a;--secondary-foreground:#fafafa;--muted:#27272a;--muted-foreground:#a1a1aa;--accent:#27272a;--accent-foreground:#fafafa;--destructive:#7f1d1d;--destructive-foreground:#fafafa;--border:#27272a;--input:#27272a;--ring:#d4d4d8;--chart-1:#2662d9;--chart-2:#2eb88a;--chart-3:#e88c30;--chart-4:#af57db;--chart-5:#e23670;--sidebar-background:#18181b;--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#3b82f6}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:5px}::-webkit-scrollbar-track{background-color:#f2f2f2}.dark ::-webkit-scrollbar-thumb{background-color:#e6e6e6}.dark ::-webkit-scrollbar-track{background-color:#000}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}:root{--sigma-background-color:#fff;--sigma-controls-background-color:#fff;--sigma-controls-background-color-hover:rgba(0,0,0,.2);--sigma-controls-border-color:rgba(0,0,0,.2);--sigma-controls-color:#000;--sigma-controls-zindex:100;--sigma-controls-margin:5px;--sigma-controls-size:30px}div.react-sigma{height:100%;width:100%;position:relative;background:var(--sigma-background-color)}div.sigma-container{height:100%;width:100%}.react-sigma-controls{position:absolute;z-index:var(--sigma-controls-zindex);border:2px solid var(--sigma-controls-border-color);border-radius:4px;color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color)}.react-sigma-controls.bottom-right{bottom:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.bottom-left{bottom:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls.top-right{top:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.top-left{top:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.react-sigma-controls:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.react-sigma-control{width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-color:var(--sigma-controls-background-color);border-bottom:1px solid var(--sigma-controls-border-color)}.react-sigma-control:last-child{border-bottom:none}.react-sigma-control>*{box-sizing:border-box}.react-sigma-control>button{display:block;border:none;margin:0;padding:0;width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-position:center;background-size:50%;background-repeat:no-repeat;background-color:var(--sigma-controls-background-color);clip:rect(0,0,0,0)}.react-sigma-control>button:hover{background-color:var(--sigma-controls-background-color-hover)}.react-sigma-search{background-color:var(--sigma-controls-background-color)}.react-sigma-search label{visibility:hidden}.react-sigma-search input{color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color);font-size:1em;width:100%;margin:0;border:none;padding:var(--sigma-controls-margin);box-sizing:border-box}:root{--sigma-grey-color:#ccc}.react-sigma .option.hoverable{cursor:pointer!important}.react-sigma .text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.react-sigma .react-select__clear-indicator{cursor:pointer!important}.react-sigma .text-muted{color:var(--sigma-grey-color)}.react-sigma .text-italic{font-style:italic}.react-sigma .text-center{text-align:center}.react-sigma .graph-search{min-width:250px}.react-sigma .graph-search .option{padding:2px 8px}.react-sigma .graph-search .dropdown-indicator{font-size:1.25em;padding:4px}.react-sigma .graph-search .option.selected{background-color:var(--sigma-grey-color)}.react-sigma .node .render{position:relative;display:inline-block;width:1em;height:1em;border-radius:1em;background-color:var(--sigma-grey-color);margin-right:8px}.react-sigma .node{display:flex;flex-direction:row;align-items:center}.react-sigma .node .render{flex-grow:0;flex-shrink:0;margin-right:0 .25em}.react-sigma .node .label{flex-grow:1;flex-shrink:1}.react-sigma .edge{display:flex;flex-direction:column;align-items:flex-start;flex-grow:0;flex-shrink:0;flex-wrap:nowrap}.react-sigma .edge .node{font-size:.7em}.react-sigma .edge .body{display:flex;flex-direction:row;flex-grow:1;flex-shrink:1;min-height:.6em}.react-sigma .edge .body .render{display:flex;flex-direction:column;margin:0 2px}.react-sigma .edge .body .render .dash,.react-sigma .edge .body .render .dotted{display:inline-block;width:0;margin:0 2px;border:2px solid #ccc;flex-grow:1;flex-shrink:1}.react-sigma .edge .body .render .dotted{border-style:dotted}.react-sigma .edge .body .render .arrow{width:0;height:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.6em solid red;flex-shrink:0;flex-grow:0;border-left-width:.3em;border-right-width:.3em}.react-sigma .edge .body .label{flex-grow:1;flex-shrink:1;text-align:center} diff --git a/lightrag/api/webui/assets/index-CF-pcoIl.js b/lightrag/api/webui/assets/index-CF-pcoIl.js deleted file mode 100644 index 3baf5f0c..00000000 --- a/lightrag/api/webui/assets/index-CF-pcoIl.js +++ /dev/null @@ -1,967 +0,0 @@ -var Xx=Object.defineProperty;var Zx=(r,n,i)=>n in r?Xx(r,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):r[n]=i;var hr=(r,n,i)=>Zx(r,typeof n!="symbol"?n+"":n,i);function Wx(r,n){for(var i=0;ia[s]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const c of l.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&a(c)}).observe(document,{childList:!0,subtree:!0});function i(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerPolicy&&(l.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?l.credentials="include":s.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function a(s){if(s.ep)return;s.ep=!0;const l=i(s);fetch(s.href,l)}})();function on(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function Kx(r){if(r.__esModule)return r;var n=r.default;if(typeof n=="function"){var i=function a(){return this instanceof a?Reflect.construct(n,arguments,this.constructor):n.apply(this,arguments)};i.prototype=n.prototype}else i={};return Object.defineProperty(i,"__esModule",{value:!0}),Object.keys(r).forEach(function(a){var s=Object.getOwnPropertyDescriptor(r,a);Object.defineProperty(i,a,s.get?s:{enumerable:!0,get:function(){return r[a]}})}),i}var jf={exports:{}},Ho={};/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Vv;function Qx(){if(Vv)return Ho;Vv=1;var r=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function i(a,s,l){var c=null;if(l!==void 0&&(c=""+l),s.key!==void 0&&(c=""+s.key),"key"in s){l={};for(var f in s)f!=="key"&&(l[f]=s[f])}else l=s;return s=l.ref,{$$typeof:r,type:a,key:c,ref:s!==void 0?s:null,props:l}}return Ho.Fragment=n,Ho.jsx=i,Ho.jsxs=i,Ho}var Iv;function Jx(){return Iv||(Iv=1,jf.exports=Qx()),jf.exports}var A=Jx(),Uf={exports:{}},Ge={};/** - * @license React - * react.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Yv;function e_(){if(Yv)return Ge;Yv=1;var r=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),v=Symbol.iterator;function y(G){return G===null||typeof G!="object"?null:(G=v&&G[v]||G["@@iterator"],typeof G=="function"?G:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},x=Object.assign,E={};function T(G,P,k){this.props=G,this.context=P,this.refs=E,this.updater=k||b}T.prototype.isReactComponent={},T.prototype.setState=function(G,P){if(typeof G!="object"&&typeof G!="function"&&G!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,G,P,"setState")},T.prototype.forceUpdate=function(G){this.updater.enqueueForceUpdate(this,G,"forceUpdate")};function M(){}M.prototype=T.prototype;function N(G,P,k){this.props=G,this.context=P,this.refs=E,this.updater=k||b}var L=N.prototype=new M;L.constructor=N,x(L,T.prototype),L.isPureReactComponent=!0;var C=Array.isArray,R={H:null,A:null,T:null,S:null},B=Object.prototype.hasOwnProperty;function _(G,P,k,V,Q,re){return k=re.ref,{$$typeof:r,type:G,key:P,ref:k!==void 0?k:null,props:re}}function $(G,P){return _(G.type,P,void 0,void 0,void 0,G.props)}function z(G){return typeof G=="object"&&G!==null&&G.$$typeof===r}function F(G){var P={"=":"=0",":":"=2"};return"$"+G.replace(/[=:]/g,function(k){return P[k]})}var Y=/\/+/g;function I(G,P){return typeof G=="object"&&G!==null&&G.key!=null?F(""+G.key):P.toString(36)}function j(){}function J(G){switch(G.status){case"fulfilled":return G.value;case"rejected":throw G.reason;default:switch(typeof G.status=="string"?G.then(j,j):(G.status="pending",G.then(function(P){G.status==="pending"&&(G.status="fulfilled",G.value=P)},function(P){G.status==="pending"&&(G.status="rejected",G.reason=P)})),G.status){case"fulfilled":return G.value;case"rejected":throw G.reason}}throw G}function ae(G,P,k,V,Q){var re=typeof G;(re==="undefined"||re==="boolean")&&(G=null);var de=!1;if(G===null)de=!0;else switch(re){case"bigint":case"string":case"number":de=!0;break;case"object":switch(G.$$typeof){case r:case n:de=!0;break;case m:return de=G._init,ae(de(G._payload),P,k,V,Q)}}if(de)return Q=Q(G),de=V===""?"."+I(G,0):V,C(Q)?(k="",de!=null&&(k=de.replace(Y,"$&/")+"/"),ae(Q,P,k,"",function(xe){return xe})):Q!=null&&(z(Q)&&(Q=$(Q,k+(Q.key==null||G&&G.key===Q.key?"":(""+Q.key).replace(Y,"$&/")+"/")+de)),P.push(Q)),1;de=0;var ge=V===""?".":V+":";if(C(G))for(var le=0;le>>1,G=H[se];if(0>>1;ses(V,D))Qs(re,V)?(H[se]=re,H[Q]=D,se=Q):(H[se]=V,H[k]=D,se=k);else if(Qs(re,D))H[se]=re,H[Q]=D,se=Q;else break e}}return U}function s(H,U){var D=H.sortIndex-U.sortIndex;return D!==0?D:H.id-U.id}if(r.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var l=performance;r.unstable_now=function(){return l.now()}}else{var c=Date,f=c.now();r.unstable_now=function(){return c.now()-f}}var d=[],g=[],m=1,v=null,y=3,b=!1,x=!1,E=!1,T=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function L(H){for(var U=i(g);U!==null;){if(U.callback===null)a(g);else if(U.startTime<=H)a(g),U.sortIndex=U.expirationTime,n(d,U);else break;U=i(g)}}function C(H){if(E=!1,L(H),!x)if(i(d)!==null)x=!0,J();else{var U=i(g);U!==null&&ae(C,U.startTime-H)}}var R=!1,B=-1,_=5,$=-1;function z(){return!(r.unstable_now()-$<_)}function F(){if(R){var H=r.unstable_now();$=H;var U=!0;try{e:{x=!1,E&&(E=!1,M(B),B=-1),b=!0;var D=y;try{t:{for(L(H),v=i(d);v!==null&&!(v.expirationTime>H&&z());){var se=v.callback;if(typeof se=="function"){v.callback=null,y=v.priorityLevel;var G=se(v.expirationTime<=H);if(H=r.unstable_now(),typeof G=="function"){v.callback=G,L(H),U=!0;break t}v===i(d)&&a(d),L(H)}else a(d);v=i(d)}if(v!==null)U=!0;else{var P=i(g);P!==null&&ae(C,P.startTime-H),U=!1}}break e}finally{v=null,y=D,b=!1}U=void 0}}finally{U?Y():R=!1}}}var Y;if(typeof N=="function")Y=function(){N(F)};else if(typeof MessageChannel<"u"){var I=new MessageChannel,j=I.port2;I.port1.onmessage=F,Y=function(){j.postMessage(null)}}else Y=function(){T(F,0)};function J(){R||(R=!0,Y())}function ae(H,U){B=T(function(){H(r.unstable_now())},U)}r.unstable_IdlePriority=5,r.unstable_ImmediatePriority=1,r.unstable_LowPriority=4,r.unstable_NormalPriority=3,r.unstable_Profiling=null,r.unstable_UserBlockingPriority=2,r.unstable_cancelCallback=function(H){H.callback=null},r.unstable_continueExecution=function(){x||b||(x=!0,J())},r.unstable_forceFrameRate=function(H){0>H||125se?(H.sortIndex=D,n(g,H),i(d)===null&&H===i(g)&&(E?(M(B),B=-1):E=!0,ae(C,D-se))):(H.sortIndex=G,n(d,H),x||b||(x=!0,J())),H},r.unstable_shouldYield=z,r.unstable_wrapCallback=function(H){var U=y;return function(){var D=y;y=U;try{return H.apply(this,arguments)}finally{y=D}}}}(Hf)),Hf}var Wv;function r_(){return Wv||(Wv=1,Ff.exports=n_()),Ff.exports}var Pf={exports:{}},Ut={};/** - * @license React - * react-dom.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Kv;function i_(){if(Kv)return Ut;Kv=1;var r=du();function n(d){var g="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(n){console.error(n)}}return r(),Pf.exports=i_(),Pf.exports}/** - * @license React - * react-dom-client.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Jv;function a_(){if(Jv)return Po;Jv=1;var r=r_(),n=du(),i=o0();function a(e){var t="https://react.dev/errors/"+e;if(1)":-1h||q[u]!==Z[h]){var oe=` -`+q[u].replace(" at new "," at ");return e.displayName&&oe.includes("")&&(oe=oe.replace("",e.displayName)),oe}while(1<=u&&0<=h);break}}}finally{J=!1,Error.prepareStackTrace=o}return(o=e?e.displayName||e.name:"")?j(o):""}function H(e){switch(e.tag){case 26:case 27:case 5:return j(e.type);case 16:return j("Lazy");case 13:return j("Suspense");case 19:return j("SuspenseList");case 0:case 15:return e=ae(e.type,!1),e;case 11:return e=ae(e.type.render,!1),e;case 1:return e=ae(e.type,!0),e;default:return""}}function U(e){try{var t="";do t+=H(e),e=e.return;while(e);return t}catch(o){return` -Error generating stack: `+o.message+` -`+o.stack}}function D(e){var t=e,o=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(o=t.return),e=t.return;while(e)}return t.tag===3?o:null}function se(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function G(e){if(D(e)!==e)throw Error(a(188))}function P(e){var t=e.alternate;if(!t){if(t=D(e),t===null)throw Error(a(188));return t!==e?null:e}for(var o=e,u=t;;){var h=o.return;if(h===null)break;var p=h.alternate;if(p===null){if(u=h.return,u!==null){o=u;continue}break}if(h.child===p.child){for(p=h.child;p;){if(p===o)return G(h),e;if(p===u)return G(h),t;p=p.sibling}throw Error(a(188))}if(o.return!==u.return)o=h,u=p;else{for(var w=!1,O=h.child;O;){if(O===o){w=!0,o=h,u=p;break}if(O===u){w=!0,u=h,o=p;break}O=O.sibling}if(!w){for(O=p.child;O;){if(O===o){w=!0,o=p,u=h;break}if(O===u){w=!0,u=p,o=h;break}O=O.sibling}if(!w)throw Error(a(189))}}if(o.alternate!==u)throw Error(a(190))}if(o.tag!==3)throw Error(a(188));return o.stateNode.current===o?e:t}function k(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=k(e),t!==null)return t;e=e.sibling}return null}var V=Array.isArray,Q=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,re={pending:!1,data:null,method:null,action:null},de=[],ge=-1;function le(e){return{current:e}}function xe(e){0>ge||(e.current=de[ge],de[ge]=null,ge--)}function pe(e,t){ge++,de[ge]=e.current,e.current=t}var Ae=le(null),Te=le(null),Le=le(null),ve=le(null);function he(e,t){switch(pe(Le,t),pe(Te,e),pe(Ae,null),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)&&(t=t.namespaceURI)?wv(t):0;break;default:if(e=e===8?t.parentNode:t,t=e.tagName,e=e.namespaceURI)e=wv(e),t=Ev(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}xe(Ae),pe(Ae,t)}function K(){xe(Ae),xe(Te),xe(Le)}function Re(e){e.memoizedState!==null&&pe(ve,e);var t=Ae.current,o=Ev(t,e.type);t!==o&&(pe(Te,e),pe(Ae,o))}function Ve(e){Te.current===e&&(xe(Ae),xe(Te)),ve.current===e&&(xe(ve),Mo._currentValue=re)}var be=Object.prototype.hasOwnProperty,Se=r.unstable_scheduleCallback,ne=r.unstable_cancelCallback,et=r.unstable_shouldYield,ut=r.unstable_requestPaint,Ie=r.unstable_now,Et=r.unstable_getCurrentPriorityLevel,rt=r.unstable_ImmediatePriority,ct=r.unstable_UserBlockingPriority,Gt=r.unstable_NormalPriority,Ht=r.unstable_LowPriority,sn=r.unstable_IdlePriority,xn=r.log,ii=r.unstable_setDisableYieldValue,Mn=null,ft=null;function ji(e){if(ft&&typeof ft.onCommitFiberRoot=="function")try{ft.onCommitFiberRoot(Mn,e,void 0,(e.current.flags&128)===128)}catch{}}function Zt(e){if(typeof xn=="function"&&ii(e),ft&&typeof ft.setStrictMode=="function")try{ft.setStrictMode(Mn,e)}catch{}}var Wt=Math.clz32?Math.clz32:G1,N1=Math.log,z1=Math.LN2;function G1(e){return e>>>=0,e===0?32:31-(N1(e)/z1|0)|0}var gs=128,ps=4194304;function ai(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ms(e,t){var o=e.pendingLanes;if(o===0)return 0;var u=0,h=e.suspendedLanes,p=e.pingedLanes,w=e.warmLanes;e=e.finishedLanes!==0;var O=o&134217727;return O!==0?(o=O&~h,o!==0?u=ai(o):(p&=O,p!==0?u=ai(p):e||(w=O&~w,w!==0&&(u=ai(w))))):(O=o&~h,O!==0?u=ai(O):p!==0?u=ai(p):e||(w=o&~w,w!==0&&(u=ai(w)))),u===0?0:t!==0&&t!==u&&!(t&h)&&(h=u&-u,w=t&-t,h>=w||h===32&&(w&4194176)!==0)?t:u}function Va(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function M1(e,t){switch(e){case 1:case 2:case 4:case 8:return t+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function dg(){var e=gs;return gs<<=1,!(gs&4194176)&&(gs=128),e}function hg(){var e=ps;return ps<<=1,!(ps&62914560)&&(ps=4194304),e}function ku(e){for(var t=[],o=0;31>o;o++)t.push(e);return t}function Ia(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function j1(e,t,o,u,h,p){var w=e.pendingLanes;e.pendingLanes=o,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=o,e.entangledLanes&=o,e.errorRecoveryDisabledLanes&=o,e.shellSuspendCounter=0;var O=e.entanglements,q=e.expirationTimes,Z=e.hiddenUpdates;for(o=w&~o;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),H1=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Eg={},Sg={};function P1(e){return be.call(Sg,e)?!0:be.call(Eg,e)?!1:H1.test(e)?Sg[e]=!0:(Eg[e]=!0,!1)}function vs(e,t,o){if(P1(t))if(o===null)e.removeAttribute(t);else{switch(typeof o){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var u=t.toLowerCase().slice(0,5);if(u!=="data-"&&u!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+o)}}function ys(e,t,o){if(o===null)e.removeAttribute(t);else{switch(typeof o){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+o)}}function Kn(e,t,o,u){if(u===null)e.removeAttribute(o);else{switch(typeof u){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(o);return}e.setAttributeNS(t,o,""+u)}}function ln(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function xg(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function $1(e){var t=xg(e)?"checked":"value",o=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),u=""+e[t];if(!e.hasOwnProperty(t)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var h=o.get,p=o.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return h.call(this)},set:function(w){u=""+w,p.call(this,w)}}),Object.defineProperty(e,t,{enumerable:o.enumerable}),{getValue:function(){return u},setValue:function(w){u=""+w},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function bs(e){e._valueTracker||(e._valueTracker=$1(e))}function _g(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var o=t.getValue(),u="";return e&&(u=xg(e)?e.checked?"true":"false":e.value),e=u,e!==o?(t.setValue(e),!0):!1}function ws(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var q1=/[\n"\\]/g;function un(e){return e.replace(q1,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function zu(e,t,o,u,h,p,w,O){e.name="",w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?e.type=w:e.removeAttribute("type"),t!=null?w==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+ln(t)):e.value!==""+ln(t)&&(e.value=""+ln(t)):w!=="submit"&&w!=="reset"||e.removeAttribute("value"),t!=null?Gu(e,w,ln(t)):o!=null?Gu(e,w,ln(o)):u!=null&&e.removeAttribute("value"),h==null&&p!=null&&(e.defaultChecked=!!p),h!=null&&(e.checked=h&&typeof h!="function"&&typeof h!="symbol"),O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?e.name=""+ln(O):e.removeAttribute("name")}function Tg(e,t,o,u,h,p,w,O){if(p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"&&(e.type=p),t!=null||o!=null){if(!(p!=="submit"&&p!=="reset"||t!=null))return;o=o!=null?""+ln(o):"",t=t!=null?""+ln(t):o,O||t===e.value||(e.value=t),e.defaultValue=t}u=u??h,u=typeof u!="function"&&typeof u!="symbol"&&!!u,e.checked=O?e.checked:!!u,e.defaultChecked=!!u,w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(e.name=w)}function Gu(e,t,o){t==="number"&&ws(e.ownerDocument)===e||e.defaultValue===""+o||(e.defaultValue=""+o)}function Pi(e,t,o,u){if(e=e.options,t){t={};for(var h=0;h=Ja),Ug=" ",Bg=!1;function Fg(e,t){switch(e){case"keyup":return yS.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hg(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ii=!1;function wS(e,t){switch(e){case"compositionend":return Hg(t);case"keypress":return t.which!==32?null:(Bg=!0,Ug);case"textInput":return e=t.data,e===Ug&&Bg?null:e;default:return null}}function ES(e,t){if(Ii)return e==="compositionend"||!Iu&&Fg(e,t)?(e=Lg(),Ss=Hu=xr=null,Ii=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:o,offset:t-e};e=u}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=Zg(o)}}function Kg(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Kg(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Qg(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ws(e.document);t instanceof e.HTMLIFrameElement;){try{var o=typeof t.contentWindow.location.href=="string"}catch{o=!1}if(o)e=t.contentWindow;else break;t=ws(e.document)}return t}function Zu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function DS(e,t){var o=Qg(t);t=e.focusedElem;var u=e.selectionRange;if(o!==t&&t&&t.ownerDocument&&Kg(t.ownerDocument.documentElement,t)){if(u!==null&&Zu(t)){if(e=u.start,o=u.end,o===void 0&&(o=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(o,t.value.length);else if(o=(e=t.ownerDocument||document)&&e.defaultView||window,o.getSelection){o=o.getSelection();var h=t.textContent.length,p=Math.min(u.start,h);u=u.end===void 0?p:Math.min(u.end,h),!o.extend&&p>u&&(h=u,u=p,p=h),h=Wg(t,p);var w=Wg(t,u);h&&w&&(o.rangeCount!==1||o.anchorNode!==h.node||o.anchorOffset!==h.offset||o.focusNode!==w.node||o.focusOffset!==w.offset)&&(e=e.createRange(),e.setStart(h.node,h.offset),o.removeAllRanges(),p>u?(o.addRange(e),o.extend(w.node,w.offset)):(e.setEnd(w.node,w.offset),o.addRange(e)))}}for(e=[],o=t;o=o.parentNode;)o.nodeType===1&&e.push({element:o,left:o.scrollLeft,top:o.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Yi=null,Wu=null,ro=null,Ku=!1;function Jg(e,t,o){var u=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;Ku||Yi==null||Yi!==ws(u)||(u=Yi,"selectionStart"in u&&Zu(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),ro&&no(ro,u)||(ro=u,u=ul(Wu,"onSelect"),0>=w,h-=w,Qn=1<<32-Wt(t)+h|o<Ne?(Tt=Oe,Oe=null):Tt=Oe.sibling;var qe=te(W,Oe,ee[Ne],ue);if(qe===null){Oe===null&&(Oe=Tt);break}e&&Oe&&qe.alternate===null&&t(W,Oe),X=p(qe,X,Ne),je===null?Ce=qe:je.sibling=qe,je=qe,Oe=Tt}if(Ne===ee.length)return o(W,Oe),$e&&di(W,Ne),Ce;if(Oe===null){for(;NeNe?(Tt=Oe,Oe=null):Tt=Oe.sibling;var $r=te(W,Oe,qe.value,ue);if($r===null){Oe===null&&(Oe=Tt);break}e&&Oe&&$r.alternate===null&&t(W,Oe),X=p($r,X,Ne),je===null?Ce=$r:je.sibling=$r,je=$r,Oe=Tt}if(qe.done)return o(W,Oe),$e&&di(W,Ne),Ce;if(Oe===null){for(;!qe.done;Ne++,qe=ee.next())qe=ce(W,qe.value,ue),qe!==null&&(X=p(qe,X,Ne),je===null?Ce=qe:je.sibling=qe,je=qe);return $e&&di(W,Ne),Ce}for(Oe=u(Oe);!qe.done;Ne++,qe=ee.next())qe=ie(Oe,W,Ne,qe.value,ue),qe!==null&&(e&&qe.alternate!==null&&Oe.delete(qe.key===null?Ne:qe.key),X=p(qe,X,Ne),je===null?Ce=qe:je.sibling=qe,je=qe);return e&&Oe.forEach(function(Yx){return t(W,Yx)}),$e&&di(W,Ne),Ce}function lt(W,X,ee,ue){if(typeof ee=="object"&&ee!==null&&ee.type===d&&ee.key===null&&(ee=ee.props.children),typeof ee=="object"&&ee!==null){switch(ee.$$typeof){case c:e:{for(var Ce=ee.key;X!==null;){if(X.key===Ce){if(Ce=ee.type,Ce===d){if(X.tag===7){o(W,X.sibling),ue=h(X,ee.props.children),ue.return=W,W=ue;break e}}else if(X.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===N&&mp(Ce)===X.type){o(W,X.sibling),ue=h(X,ee.props),co(ue,ee),ue.return=W,W=ue;break e}o(W,X);break}else t(W,X);X=X.sibling}ee.type===d?(ue=xi(ee.props.children,W.mode,ue,ee.key),ue.return=W,W=ue):(ue=Js(ee.type,ee.key,ee.props,null,W.mode,ue),co(ue,ee),ue.return=W,W=ue)}return w(W);case f:e:{for(Ce=ee.key;X!==null;){if(X.key===Ce)if(X.tag===4&&X.stateNode.containerInfo===ee.containerInfo&&X.stateNode.implementation===ee.implementation){o(W,X.sibling),ue=h(X,ee.children||[]),ue.return=W,W=ue;break e}else{o(W,X);break}else t(W,X);X=X.sibling}ue=Jc(ee,W.mode,ue),ue.return=W,W=ue}return w(W);case N:return Ce=ee._init,ee=Ce(ee._payload),lt(W,X,ee,ue)}if(V(ee))return De(W,X,ee,ue);if(B(ee)){if(Ce=B(ee),typeof Ce!="function")throw Error(a(150));return ee=Ce.call(ee),ze(W,X,ee,ue)}if(typeof ee.then=="function")return lt(W,X,zs(ee),ue);if(ee.$$typeof===b)return lt(W,X,Ws(W,ee),ue);Gs(W,ee)}return typeof ee=="string"&&ee!==""||typeof ee=="number"||typeof ee=="bigint"?(ee=""+ee,X!==null&&X.tag===6?(o(W,X.sibling),ue=h(X,ee),ue.return=W,W=ue):(o(W,X),ue=Qc(ee,W.mode,ue),ue.return=W,W=ue),w(W)):o(W,X)}return function(W,X,ee,ue){try{uo=0;var Ce=lt(W,X,ee,ue);return Ji=null,Ce}catch(Oe){if(Oe===so)throw Oe;var je=vn(29,Oe,null,W.mode);return je.lanes=ue,je.return=W,je}finally{}}}var gi=vp(!0),yp=vp(!1),ea=le(null),Ms=le(0);function bp(e,t){e=cr,pe(Ms,e),pe(ea,t),cr=e|t.baseLanes}function ac(){pe(Ms,cr),pe(ea,ea.current)}function oc(){cr=Ms.current,xe(ea),xe(Ms)}var gn=le(null),Un=null;function Tr(e){var t=e.alternate;pe(vt,vt.current&1),pe(gn,e),Un===null&&(t===null||ea.current!==null||t.memoizedState!==null)&&(Un=e)}function wp(e){if(e.tag===22){if(pe(vt,vt.current),pe(gn,e),Un===null){var t=e.alternate;t!==null&&t.memoizedState!==null&&(Un=e)}}else Cr()}function Cr(){pe(vt,vt.current),pe(gn,gn.current)}function er(e){xe(gn),Un===e&&(Un=null),xe(vt)}var vt=le(0);function js(e){for(var t=e;t!==null;){if(t.tag===13){var o=t.memoizedState;if(o!==null&&(o=o.dehydrated,o===null||o.data==="$?"||o.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var zS=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(o,u){e.push(u)}};this.abort=function(){t.aborted=!0,e.forEach(function(o){return o()})}},GS=r.unstable_scheduleCallback,MS=r.unstable_NormalPriority,yt={$$typeof:b,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function sc(){return{controller:new zS,data:new Map,refCount:0}}function fo(e){e.refCount--,e.refCount===0&&GS(MS,function(){e.controller.abort()})}var ho=null,lc=0,ta=0,na=null;function jS(e,t){if(ho===null){var o=ho=[];lc=0,ta=pf(),na={status:"pending",value:void 0,then:function(u){o.push(u)}}}return lc++,t.then(Ep,Ep),t}function Ep(){if(--lc===0&&ho!==null){na!==null&&(na.status="fulfilled");var e=ho;ho=null,ta=0,na=null;for(var t=0;tp?p:8;var w=z.T,O={};z.T=O,Tc(e,!1,t,o);try{var q=h(),Z=z.S;if(Z!==null&&Z(O,q),q!==null&&typeof q=="object"&&typeof q.then=="function"){var oe=US(q,u);mo(e,t,oe,tn(e))}else mo(e,t,u,tn(e))}catch(ce){mo(e,t,{then:function(){},status:"rejected",reason:ce},tn())}finally{Q.p=p,z.T=w}}function $S(){}function xc(e,t,o,u){if(e.tag!==5)throw Error(a(476));var h=Qp(e).queue;Kp(e,h,t,re,o===null?$S:function(){return Jp(e),o(u)})}function Qp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:re,baseState:re,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:tr,lastRenderedState:re},next:null};var o={};return t.next={memoizedState:o,baseState:o,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:tr,lastRenderedState:o},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Jp(e){var t=Qp(e).next.queue;mo(e,t,{},tn())}function _c(){return jt(Mo)}function em(){return pt().memoizedState}function tm(){return pt().memoizedState}function qS(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var o=tn();e=kr(o);var u=Lr(t,e,o);u!==null&&(Ft(u,t,o),bo(u,t,o)),t={cache:sc()},e.payload=t;return}t=t.return}}function VS(e,t,o){var u=tn();o={lane:u,revertLane:0,action:o,hasEagerState:!1,eagerState:null,next:null},Is(e)?rm(t,o):(o=ec(e,t,o,u),o!==null&&(Ft(o,e,u),im(o,t,u)))}function nm(e,t,o){var u=tn();mo(e,t,o,u)}function mo(e,t,o,u){var h={lane:u,revertLane:0,action:o,hasEagerState:!1,eagerState:null,next:null};if(Is(e))rm(t,h);else{var p=e.alternate;if(e.lanes===0&&(p===null||p.lanes===0)&&(p=t.lastRenderedReducer,p!==null))try{var w=t.lastRenderedState,O=p(w,o);if(h.hasEagerState=!0,h.eagerState=O,Kt(O,w))return Ds(e,t,h,0),tt===null&&Rs(),!1}catch{}finally{}if(o=ec(e,t,h,u),o!==null)return Ft(o,e,u),im(o,t,u),!0}return!1}function Tc(e,t,o,u){if(u={lane:2,revertLane:pf(),action:u,hasEagerState:!1,eagerState:null,next:null},Is(e)){if(t)throw Error(a(479))}else t=ec(e,o,u,2),t!==null&&Ft(t,e,2)}function Is(e){var t=e.alternate;return e===Me||t!==null&&t===Me}function rm(e,t){ra=Bs=!0;var o=e.pending;o===null?t.next=t:(t.next=o.next,o.next=t),e.pending=t}function im(e,t,o){if(o&4194176){var u=t.lanes;u&=e.pendingLanes,o|=u,t.lanes=o,pg(e,o)}}var Bn={readContext:jt,use:Ps,useCallback:dt,useContext:dt,useEffect:dt,useImperativeHandle:dt,useLayoutEffect:dt,useInsertionEffect:dt,useMemo:dt,useReducer:dt,useRef:dt,useState:dt,useDebugValue:dt,useDeferredValue:dt,useTransition:dt,useSyncExternalStore:dt,useId:dt};Bn.useCacheRefresh=dt,Bn.useMemoCache=dt,Bn.useHostTransitionStatus=dt,Bn.useFormState=dt,Bn.useActionState=dt,Bn.useOptimistic=dt;var vi={readContext:jt,use:Ps,useCallback:function(e,t){return qt().memoizedState=[e,t===void 0?null:t],e},useContext:jt,useEffect:$p,useImperativeHandle:function(e,t,o){o=o!=null?o.concat([e]):null,qs(4194308,4,Ip.bind(null,t,e),o)},useLayoutEffect:function(e,t){return qs(4194308,4,e,t)},useInsertionEffect:function(e,t){qs(4,2,e,t)},useMemo:function(e,t){var o=qt();t=t===void 0?null:t;var u=e();if(mi){Zt(!0);try{e()}finally{Zt(!1)}}return o.memoizedState=[u,t],u},useReducer:function(e,t,o){var u=qt();if(o!==void 0){var h=o(t);if(mi){Zt(!0);try{o(t)}finally{Zt(!1)}}}else h=t;return u.memoizedState=u.baseState=h,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:h},u.queue=e,e=e.dispatch=VS.bind(null,Me,e),[u.memoizedState,e]},useRef:function(e){var t=qt();return e={current:e},t.memoizedState=e},useState:function(e){e=yc(e);var t=e.queue,o=nm.bind(null,Me,t);return t.dispatch=o,[e.memoizedState,o]},useDebugValue:Ec,useDeferredValue:function(e,t){var o=qt();return Sc(o,e,t)},useTransition:function(){var e=yc(!1);return e=Kp.bind(null,Me,e.queue,!0,!1),qt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,o){var u=Me,h=qt();if($e){if(o===void 0)throw Error(a(407));o=o()}else{if(o=t(),tt===null)throw Error(a(349));He&60||Ap(u,t,o)}h.memoizedState=o;var p={value:o,getSnapshot:t};return h.queue=p,$p(Dp.bind(null,u,p,e),[e]),u.flags|=2048,aa(9,Rp.bind(null,u,p,o,t),{destroy:void 0},null),o},useId:function(){var e=qt(),t=tt.identifierPrefix;if($e){var o=Jn,u=Qn;o=(u&~(1<<32-Wt(u)-1)).toString(32)+o,t=":"+t+"R"+o,o=Fs++,0 title"))),kt(p,u,o),p[Mt]=e,St(p),u=p;break e;case"link":var w=kv("link","href",h).get(u+(o.href||""));if(w){for(var O=0;O<\/script>",e=e.removeChild(e.firstChild);break;case"select":e=typeof u.is=="string"?h.createElement("select",{is:u.is}):h.createElement("select"),u.multiple?e.multiple=!0:u.size&&(e.size=u.size);break;default:e=typeof u.is=="string"?h.createElement(o,{is:u.is}):h.createElement(o)}}e[Mt]=t,e[Pt]=u;e:for(h=t.child;h!==null;){if(h.tag===5||h.tag===6)e.appendChild(h.stateNode);else if(h.tag!==4&&h.tag!==27&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===t)break e;for(;h.sibling===null;){if(h.return===null||h.return===t)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}t.stateNode=e;e:switch(kt(e,o,u),o){case"button":case"input":case"select":case"textarea":e=!!u.autoFocus;break e;case"img":e=!0;break e;default:e=!1}e&&lr(t)}}return it(t),t.flags&=-16777217,null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==u&&lr(t);else{if(typeof u!="string"&&t.stateNode===null)throw Error(a(166));if(e=Le.current,io(t)){if(e=t.stateNode,o=t.memoizedProps,u=null,h=Bt,h!==null)switch(h.tag){case 27:case 5:u=h.memoizedProps}e[Mt]=t,e=!!(e.nodeValue===o||u!==null&&u.suppressHydrationWarning===!0||bv(e.nodeValue,o)),e||hi(t)}else e=fl(e).createTextNode(u),e[Mt]=t,t.stateNode=e}return it(t),null;case 13:if(u=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(h=io(t),u!==null&&u.dehydrated!==null){if(e===null){if(!h)throw Error(a(318));if(h=t.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(a(317));h[Mt]=t}else ao(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;it(t),h=!1}else Tn!==null&&(lf(Tn),Tn=null),h=!0;if(!h)return t.flags&256?(er(t),t):(er(t),null)}if(er(t),t.flags&128)return t.lanes=o,t;if(o=u!==null,e=e!==null&&e.memoizedState!==null,o){u=t.child,h=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(h=u.alternate.memoizedState.cachePool.pool);var p=null;u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(p=u.memoizedState.cachePool.pool),p!==h&&(u.flags|=2048)}return o!==e&&o&&(t.child.flags|=8192),el(t,t.updateQueue),it(t),null;case 4:return K(),e===null&&bf(t.stateNode.containerInfo),it(t),null;case 10:return ir(t.type),it(t),null;case 19:if(xe(vt),h=t.memoizedState,h===null)return it(t),null;if(u=(t.flags&128)!==0,p=h.rendering,p===null)if(u)Co(h,!1);else{if(st!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(p=js(e),p!==null){for(t.flags|=128,Co(h,!1),e=p.updateQueue,t.updateQueue=e,el(t,e),t.subtreeFlags=0,e=o,o=t.child;o!==null;)Ym(o,e),o=o.sibling;return pe(vt,vt.current&1|2),t.child}e=e.sibling}h.tail!==null&&Ie()>tl&&(t.flags|=128,u=!0,Co(h,!1),t.lanes=4194304)}else{if(!u)if(e=js(p),e!==null){if(t.flags|=128,u=!0,e=e.updateQueue,t.updateQueue=e,el(t,e),Co(h,!0),h.tail===null&&h.tailMode==="hidden"&&!p.alternate&&!$e)return it(t),null}else 2*Ie()-h.renderingStartTime>tl&&o!==536870912&&(t.flags|=128,u=!0,Co(h,!1),t.lanes=4194304);h.isBackwards?(p.sibling=t.child,t.child=p):(e=h.last,e!==null?e.sibling=p:t.child=p,h.last=p)}return h.tail!==null?(t=h.tail,h.rendering=t,h.tail=t.sibling,h.renderingStartTime=Ie(),t.sibling=null,e=vt.current,pe(vt,u?e&1|2:e&1),t):(it(t),null);case 22:case 23:return er(t),oc(),u=t.memoizedState!==null,e!==null?e.memoizedState!==null!==u&&(t.flags|=8192):u&&(t.flags|=8192),u?o&536870912&&!(t.flags&128)&&(it(t),t.subtreeFlags&6&&(t.flags|=8192)):it(t),o=t.updateQueue,o!==null&&el(t,o.retryQueue),o=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(o=e.memoizedState.cachePool.pool),u=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(u=t.memoizedState.cachePool.pool),u!==o&&(t.flags|=2048),e!==null&&xe(pi),null;case 24:return o=null,e!==null&&(o=e.memoizedState.cache),t.memoizedState.cache!==o&&(t.flags|=2048),ir(yt),it(t),null;case 25:return null}throw Error(a(156,t.tag))}function QS(e,t){switch(nc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ir(yt),K(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ve(t),null;case 13:if(er(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));ao()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return xe(vt),null;case 4:return K(),null;case 10:return ir(t.type),null;case 22:case 23:return er(t),oc(),e!==null&&xe(pi),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ir(yt),null;case 25:return null;default:return null}}function Wm(e,t){switch(nc(t),t.tag){case 3:ir(yt),K();break;case 26:case 27:case 5:Ve(t);break;case 4:K();break;case 13:er(t);break;case 19:xe(vt);break;case 10:ir(t.type);break;case 22:case 23:er(t),oc(),e!==null&&xe(pi);break;case 24:ir(yt)}}var JS={getCacheForType:function(e){var t=jt(yt),o=t.data.get(e);return o===void 0&&(o=e(),t.data.set(e,o)),o}},ex=typeof WeakMap=="function"?WeakMap:Map,at=0,tt=null,Ue=null,He=0,nt=0,en=null,ur=!1,ua=!1,ef=!1,cr=0,st=0,jr=0,_i=0,tf=0,yn=0,ca=0,Ao=null,Fn=null,nf=!1,rf=0,tl=1/0,nl=null,Ur=null,rl=!1,Ti=null,Ro=0,af=0,of=null,Do=0,sf=null;function tn(){if(at&2&&He!==0)return He&-He;if(z.T!==null){var e=ta;return e!==0?e:pf()}return vg()}function Km(){yn===0&&(yn=!(He&536870912)||$e?dg():536870912);var e=gn.current;return e!==null&&(e.flags|=32),yn}function Ft(e,t,o){(e===tt&&nt===2||e.cancelPendingCommit!==null)&&(fa(e,0),fr(e,He,yn,!1)),Ia(e,o),(!(at&2)||e!==tt)&&(e===tt&&(!(at&2)&&(_i|=o),st===4&&fr(e,He,yn,!1)),Hn(e))}function Qm(e,t,o){if(at&6)throw Error(a(327));var u=!o&&(t&60)===0&&(t&e.expiredLanes)===0||Va(e,t),h=u?rx(e,t):ff(e,t,!0),p=u;do{if(h===0){ua&&!u&&fr(e,t,0,!1);break}else if(h===6)fr(e,t,0,!ur);else{if(o=e.current.alternate,p&&!tx(o)){h=ff(e,t,!1),p=!1;continue}if(h===2){if(p=t,e.errorRecoveryDisabledLanes&p)var w=0;else w=e.pendingLanes&-536870913,w=w!==0?w:w&536870912?536870912:0;if(w!==0){t=w;e:{var O=e;h=Ao;var q=O.current.memoizedState.isDehydrated;if(q&&(fa(O,w).flags|=256),w=ff(O,w,!1),w!==2){if(ef&&!q){O.errorRecoveryDisabledLanes|=p,_i|=p,h=4;break e}p=Fn,Fn=h,p!==null&&lf(p)}h=w}if(p=!1,h!==2)continue}}if(h===1){fa(e,0),fr(e,t,0,!0);break}e:{switch(u=e,h){case 0:case 1:throw Error(a(345));case 4:if((t&4194176)===t){fr(u,t,yn,!ur);break e}break;case 2:Fn=null;break;case 3:case 5:break;default:throw Error(a(329))}if(u.finishedWork=o,u.finishedLanes=t,(t&62914560)===t&&(p=rf+300-Ie(),10o?32:o,z.T=null,Ti===null)var p=!1;else{o=of,of=null;var w=Ti,O=Ro;if(Ti=null,Ro=0,at&6)throw Error(a(331));var q=at;if(at|=4,Vm(w.current),Pm(w,w.current,O,o),at=q,Oo(0,!1),ft&&typeof ft.onPostCommitFiberRoot=="function")try{ft.onPostCommitFiberRoot(Mn,w)}catch{}p=!0}return p}finally{Q.p=h,z.T=u,sv(e,t)}}return!1}function lv(e,t,o){t=fn(o,t),t=Rc(e.stateNode,t,2),e=Lr(e,t,2),e!==null&&(Ia(e,2),Hn(e))}function Qe(e,t,o){if(e.tag===3)lv(e,e,o);else for(;t!==null;){if(t.tag===3){lv(t,e,o);break}else if(t.tag===1){var u=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Ur===null||!Ur.has(u))){e=fn(o,e),o=fm(2),u=Lr(t,o,2),u!==null&&(dm(o,u,t,e),Ia(u,2),Hn(u));break}}t=t.return}}function df(e,t,o){var u=e.pingCache;if(u===null){u=e.pingCache=new ex;var h=new Set;u.set(t,h)}else h=u.get(t),h===void 0&&(h=new Set,u.set(t,h));h.has(o)||(ef=!0,h.add(o),e=ox.bind(null,e,t,o),t.then(e,e))}function ox(e,t,o){var u=e.pingCache;u!==null&&u.delete(t),e.pingedLanes|=e.suspendedLanes&o,e.warmLanes&=~o,tt===e&&(He&o)===o&&(st===4||st===3&&(He&62914560)===He&&300>Ie()-rf?!(at&2)&&fa(e,0):tf|=o,ca===He&&(ca=0)),Hn(e)}function uv(e,t){t===0&&(t=hg()),e=_r(e,t),e!==null&&(Ia(e,t),Hn(e))}function sx(e){var t=e.memoizedState,o=0;t!==null&&(o=t.retryLane),uv(e,o)}function lx(e,t){var o=0;switch(e.tag){case 13:var u=e.stateNode,h=e.memoizedState;h!==null&&(o=h.retryLane);break;case 19:u=e.stateNode;break;case 22:u=e.stateNode._retryCache;break;default:throw Error(a(314))}u!==null&&u.delete(t),uv(e,o)}function ux(e,t){return Se(e,t)}var ol=null,ga=null,hf=!1,sl=!1,gf=!1,Ci=0;function Hn(e){e!==ga&&e.next===null&&(ga===null?ol=ga=e:ga=ga.next=e),sl=!0,hf||(hf=!0,fx(cx))}function Oo(e,t){if(!gf&&sl){gf=!0;do for(var o=!1,u=ol;u!==null;){if(e!==0){var h=u.pendingLanes;if(h===0)var p=0;else{var w=u.suspendedLanes,O=u.pingedLanes;p=(1<<31-Wt(42|e)+1)-1,p&=h&~(w&~O),p=p&201326677?p&201326677|1:p?p|2:0}p!==0&&(o=!0,dv(u,p))}else p=He,p=ms(u,u===tt?p:0),!(p&3)||Va(u,p)||(o=!0,dv(u,p));u=u.next}while(o);gf=!1}}function cx(){sl=hf=!1;var e=0;Ci!==0&&(bx()&&(e=Ci),Ci=0);for(var t=Ie(),o=null,u=ol;u!==null;){var h=u.next,p=cv(u,t);p===0?(u.next=null,o===null?ol=h:o.next=h,h===null&&(ga=o)):(o=u,(e!==0||p&3)&&(sl=!0)),u=h}Oo(e)}function cv(e,t){for(var o=e.suspendedLanes,u=e.pingedLanes,h=e.expirationTimes,p=e.pendingLanes&-62914561;0"u"?null:document;function Av(e,t,o){var u=ma;if(u&&typeof t=="string"&&t){var h=un(t);h='link[rel="'+e+'"][href="'+h+'"]',typeof o=="string"&&(h+='[crossorigin="'+o+'"]'),Cv.has(h)||(Cv.add(h),e={rel:e,crossOrigin:o,href:t},u.querySelector(h)===null&&(t=u.createElement("link"),kt(t,"link",e),St(t),u.head.appendChild(t)))}}function Ax(e){dr.D(e),Av("dns-prefetch",e,null)}function Rx(e,t){dr.C(e,t),Av("preconnect",e,t)}function Dx(e,t,o){dr.L(e,t,o);var u=ma;if(u&&e&&t){var h='link[rel="preload"][as="'+un(t)+'"]';t==="image"&&o&&o.imageSrcSet?(h+='[imagesrcset="'+un(o.imageSrcSet)+'"]',typeof o.imageSizes=="string"&&(h+='[imagesizes="'+un(o.imageSizes)+'"]')):h+='[href="'+un(e)+'"]';var p=h;switch(t){case"style":p=va(e);break;case"script":p=ya(e)}bn.has(p)||(e=F({rel:"preload",href:t==="image"&&o&&o.imageSrcSet?void 0:e,as:t},o),bn.set(p,e),u.querySelector(h)!==null||t==="style"&&u.querySelector(No(p))||t==="script"&&u.querySelector(zo(p))||(t=u.createElement("link"),kt(t,"link",e),St(t),u.head.appendChild(t)))}}function Ox(e,t){dr.m(e,t);var o=ma;if(o&&e){var u=t&&typeof t.as=="string"?t.as:"script",h='link[rel="modulepreload"][as="'+un(u)+'"][href="'+un(e)+'"]',p=h;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":p=ya(e)}if(!bn.has(p)&&(e=F({rel:"modulepreload",href:e},t),bn.set(p,e),o.querySelector(h)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(o.querySelector(zo(p)))return}u=o.createElement("link"),kt(u,"link",e),St(u),o.head.appendChild(u)}}}function kx(e,t,o){dr.S(e,t,o);var u=ma;if(u&&e){var h=Fi(u).hoistableStyles,p=va(e);t=t||"default";var w=h.get(p);if(!w){var O={loading:0,preload:null};if(w=u.querySelector(No(p)))O.loading=5;else{e=F({rel:"stylesheet",href:e,"data-precedence":t},o),(o=bn.get(p))&&Rf(e,o);var q=w=u.createElement("link");St(q),kt(q,"link",e),q._p=new Promise(function(Z,oe){q.onload=Z,q.onerror=oe}),q.addEventListener("load",function(){O.loading|=1}),q.addEventListener("error",function(){O.loading|=2}),O.loading|=4,hl(w,t,u)}w={type:"stylesheet",instance:w,count:1,state:O},h.set(p,w)}}}function Lx(e,t){dr.X(e,t);var o=ma;if(o&&e){var u=Fi(o).hoistableScripts,h=ya(e),p=u.get(h);p||(p=o.querySelector(zo(h)),p||(e=F({src:e,async:!0},t),(t=bn.get(h))&&Df(e,t),p=o.createElement("script"),St(p),kt(p,"link",e),o.head.appendChild(p)),p={type:"script",instance:p,count:1,state:null},u.set(h,p))}}function Nx(e,t){dr.M(e,t);var o=ma;if(o&&e){var u=Fi(o).hoistableScripts,h=ya(e),p=u.get(h);p||(p=o.querySelector(zo(h)),p||(e=F({src:e,async:!0,type:"module"},t),(t=bn.get(h))&&Df(e,t),p=o.createElement("script"),St(p),kt(p,"link",e),o.head.appendChild(p)),p={type:"script",instance:p,count:1,state:null},u.set(h,p))}}function Rv(e,t,o,u){var h=(h=Le.current)?dl(h):null;if(!h)throw Error(a(446));switch(e){case"meta":case"title":return null;case"style":return typeof o.precedence=="string"&&typeof o.href=="string"?(t=va(o.href),o=Fi(h).hoistableStyles,u=o.get(t),u||(u={type:"style",instance:null,count:0,state:null},o.set(t,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(o.rel==="stylesheet"&&typeof o.href=="string"&&typeof o.precedence=="string"){e=va(o.href);var p=Fi(h).hoistableStyles,w=p.get(e);if(w||(h=h.ownerDocument||h,w={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},p.set(e,w),(p=h.querySelector(No(e)))&&!p._p&&(w.instance=p,w.state.loading=5),bn.has(e)||(o={rel:"preload",as:"style",href:o.href,crossOrigin:o.crossOrigin,integrity:o.integrity,media:o.media,hrefLang:o.hrefLang,referrerPolicy:o.referrerPolicy},bn.set(e,o),p||zx(h,e,o,w.state))),t&&u===null)throw Error(a(528,""));return w}if(t&&u!==null)throw Error(a(529,""));return null;case"script":return t=o.async,o=o.src,typeof o=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=ya(o),o=Fi(h).hoistableScripts,u=o.get(t),u||(u={type:"script",instance:null,count:0,state:null},o.set(t,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,e))}}function va(e){return'href="'+un(e)+'"'}function No(e){return'link[rel="stylesheet"]['+e+"]"}function Dv(e){return F({},e,{"data-precedence":e.precedence,precedence:null})}function zx(e,t,o,u){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?u.loading=1:(t=e.createElement("link"),u.preload=t,t.addEventListener("load",function(){return u.loading|=1}),t.addEventListener("error",function(){return u.loading|=2}),kt(t,"link",o),St(t),e.head.appendChild(t))}function ya(e){return'[src="'+un(e)+'"]'}function zo(e){return"script[async]"+e}function Ov(e,t,o){if(t.count++,t.instance===null)switch(t.type){case"style":var u=e.querySelector('style[data-href~="'+un(o.href)+'"]');if(u)return t.instance=u,St(u),u;var h=F({},o,{"data-href":o.href,"data-precedence":o.precedence,href:null,precedence:null});return u=(e.ownerDocument||e).createElement("style"),St(u),kt(u,"style",h),hl(u,o.precedence,e),t.instance=u;case"stylesheet":h=va(o.href);var p=e.querySelector(No(h));if(p)return t.state.loading|=4,t.instance=p,St(p),p;u=Dv(o),(h=bn.get(h))&&Rf(u,h),p=(e.ownerDocument||e).createElement("link"),St(p);var w=p;return w._p=new Promise(function(O,q){w.onload=O,w.onerror=q}),kt(p,"link",u),t.state.loading|=4,hl(p,o.precedence,e),t.instance=p;case"script":return p=ya(o.src),(h=e.querySelector(zo(p)))?(t.instance=h,St(h),h):(u=o,(h=bn.get(p))&&(u=F({},o),Df(u,h)),e=e.ownerDocument||e,h=e.createElement("script"),St(h),kt(h,"link",u),e.head.appendChild(h),t.instance=h);case"void":return null;default:throw Error(a(443,t.type))}else t.type==="stylesheet"&&!(t.state.loading&4)&&(u=t.instance,t.state.loading|=4,hl(u,o.precedence,e));return t.instance}function hl(e,t,o){for(var u=o.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),h=u.length?u[u.length-1]:null,p=h,w=0;w title"):null)}function Gx(e,t,o){if(o===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Nv(e){return!(e.type==="stylesheet"&&!(e.state.loading&3))}var Go=null;function Mx(){}function jx(e,t,o){if(Go===null)throw Error(a(475));var u=Go;if(t.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&!(t.state.loading&4)){if(t.instance===null){var h=va(o.href),p=e.querySelector(No(h));if(p){e=p._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(u.count++,u=pl.bind(u),e.then(u,u)),t.state.loading|=4,t.instance=p,St(p);return}p=e.ownerDocument||e,o=Dv(o),(h=bn.get(h))&&Rf(o,h),p=p.createElement("link"),St(p);var w=p;w._p=new Promise(function(O,q){w.onload=O,w.onerror=q}),kt(p,"link",o),t.instance=p}u.stylesheets===null&&(u.stylesheets=new Map),u.stylesheets.set(t,e),(e=t.state.preload)&&!(t.state.loading&3)&&(u.count++,t=pl.bind(u),e.addEventListener("load",t),e.addEventListener("error",t))}}function Ux(){if(Go===null)throw Error(a(475));var e=Go;return e.stylesheets&&e.count===0&&Of(e,e.stylesheets),0"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(n){console.error(n)}}return r(),Bf.exports=a_(),Bf.exports}var s_=o_();const ty=r=>{let n;const i=new Set,a=(g,m)=>{const v=typeof g=="function"?g(n):g;if(!Object.is(v,n)){const y=n;n=m??(typeof v!="object"||v===null)?v:Object.assign({},n,v),i.forEach(b=>b(n,y))}},s=()=>n,f={setState:a,getState:s,getInitialState:()=>d,subscribe:g=>(i.add(g),()=>i.delete(g))},d=n=r(a,s,f);return f},l_=r=>r?ty(r):ty,u_=r=>r;function c_(r,n=u_){const i=bt.useSyncExternalStore(r.subscribe,()=>n(r.getState()),()=>n(r.getInitialState()));return bt.useDebugValue(i),i}const f_=r=>{const n=l_(r),i=a=>c_(n,a);return Object.assign(i,n),i},yh=r=>f_;function s0(r,n){let i;try{i=r()}catch{return}return{getItem:s=>{var l;const c=d=>d===null?null:JSON.parse(d,void 0),f=(l=i.getItem(s))!=null?l:null;return f instanceof Promise?f.then(c):c(f)},setItem:(s,l)=>i.setItem(s,JSON.stringify(l,void 0)),removeItem:s=>i.removeItem(s)}}const qd=r=>n=>{try{const i=r(n);return i instanceof Promise?i:{then(a){return qd(a)(i)},catch(a){return this}}}catch(i){return{then(a){return this},catch(a){return qd(a)(i)}}}},d_=(r,n)=>(i,a,s)=>{let l={storage:s0(()=>localStorage),partialize:E=>E,version:0,merge:(E,T)=>({...T,...E}),...n},c=!1;const f=new Set,d=new Set;let g=l.storage;if(!g)return r((...E)=>{console.warn(`[zustand persist middleware] Unable to update item '${l.name}', the given storage is currently unavailable.`),i(...E)},a,s);const m=()=>{const E=l.partialize({...a()});return g.setItem(l.name,{state:E,version:l.version})},v=s.setState;s.setState=(E,T)=>{v(E,T),m()};const y=r((...E)=>{i(...E),m()},a,s);s.getInitialState=()=>y;let b;const x=()=>{var E,T;if(!g)return;c=!1,f.forEach(N=>{var L;return N((L=a())!=null?L:y)});const M=((T=l.onRehydrateStorage)==null?void 0:T.call(l,(E=a())!=null?E:y))||void 0;return qd(g.getItem.bind(g))(l.name).then(N=>{if(N)if(typeof N.version=="number"&&N.version!==l.version){if(l.migrate){const L=l.migrate(N.state,N.version);return L instanceof Promise?L.then(C=>[!0,C]):[!0,L]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,N.state];return[!1,void 0]}).then(N=>{var L;const[C,R]=N;if(b=l.merge(R,(L=a())!=null?L:y),i(b,!0),C)return m()}).then(()=>{M==null||M(b,void 0),b=a(),c=!0,d.forEach(N=>N(b))}).catch(N=>{M==null||M(void 0,N)})};return s.persist={setOptions:E=>{l={...l,...E},E.storage&&(g=E.storage)},clearStorage:()=>{g==null||g.removeItem(l.name)},getOptions:()=>l,rehydrate:()=>x(),hasHydrated:()=>c,onHydrate:E=>(f.add(E),()=>{f.delete(E)}),onFinishHydration:E=>(d.add(E),()=>{d.delete(E)})},l.skipHydration||x(),b||y},h_=d_;function l0(r){var n,i,a="";if(typeof r=="string"||typeof r=="number")a+=r;else if(typeof r=="object")if(Array.isArray(r)){var s=r.length;for(n=0;n{const n=m_(r),{conflictingClassGroups:i,conflictingClassGroupModifiers:a}=r;return{getClassGroupId:c=>{const f=c.split(bh);return f[0]===""&&f.length!==1&&f.shift(),c0(f,n)||p_(c)},getConflictingClassGroupIds:(c,f)=>{const d=i[c]||[];return f&&a[c]?[...d,...a[c]]:d}}},c0=(r,n)=>{var c;if(r.length===0)return n.classGroupId;const i=r[0],a=n.nextPart.get(i),s=a?c0(r.slice(1),a):void 0;if(s)return s;if(n.validators.length===0)return;const l=r.join(bh);return(c=n.validators.find(({validator:f})=>f(l)))==null?void 0:c.classGroupId},ny=/^\[(.+)\]$/,p_=r=>{if(ny.test(r)){const n=ny.exec(r)[1],i=n==null?void 0:n.substring(0,n.indexOf(":"));if(i)return"arbitrary.."+i}},m_=r=>{const{theme:n,classGroups:i}=r,a={nextPart:new Map,validators:[]};for(const s in i)Vd(i[s],a,s,n);return a},Vd=(r,n,i,a)=>{r.forEach(s=>{if(typeof s=="string"){const l=s===""?n:ry(n,s);l.classGroupId=i;return}if(typeof s=="function"){if(v_(s)){Vd(s(a),n,i,a);return}n.validators.push({validator:s,classGroupId:i});return}Object.entries(s).forEach(([l,c])=>{Vd(c,ry(n,l),i,a)})})},ry=(r,n)=>{let i=r;return n.split(bh).forEach(a=>{i.nextPart.has(a)||i.nextPart.set(a,{nextPart:new Map,validators:[]}),i=i.nextPart.get(a)}),i},v_=r=>r.isThemeGetter,y_=r=>{if(r<1)return{get:()=>{},set:()=>{}};let n=0,i=new Map,a=new Map;const s=(l,c)=>{i.set(l,c),n++,n>r&&(n=0,a=i,i=new Map)};return{get(l){let c=i.get(l);if(c!==void 0)return c;if((c=a.get(l))!==void 0)return s(l,c),c},set(l,c){i.has(l)?i.set(l,c):s(l,c)}}},Id="!",Yd=":",b_=Yd.length,w_=r=>{const{prefix:n,experimentalParseClassName:i}=r;let a=s=>{const l=[];let c=0,f=0,d=0,g;for(let x=0;xd?g-d:void 0;return{modifiers:l,hasImportantModifier:y,baseClassName:v,maybePostfixModifierPosition:b}};if(n){const s=n+Yd,l=a;a=c=>c.startsWith(s)?l(c.substring(s.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:c,maybePostfixModifierPosition:void 0}}if(i){const s=a;a=l=>i({className:l,parseClassName:s})}return a},E_=r=>r.endsWith(Id)?r.substring(0,r.length-1):r.startsWith(Id)?r.substring(1):r,S_=r=>{const n=Object.fromEntries(r.orderSensitiveModifiers.map(a=>[a,!0]));return a=>{if(a.length<=1)return a;const s=[];let l=[];return a.forEach(c=>{c[0]==="["||n[c]?(s.push(...l.sort(),c),l=[]):l.push(c)}),s.push(...l.sort()),s}},x_=r=>({cache:y_(r.cacheSize),parseClassName:w_(r),sortModifiers:S_(r),...g_(r)}),__=/\s+/,T_=(r,n)=>{const{parseClassName:i,getClassGroupId:a,getConflictingClassGroupIds:s,sortModifiers:l}=n,c=[],f=r.trim().split(__);let d="";for(let g=f.length-1;g>=0;g-=1){const m=f[g],{isExternal:v,modifiers:y,hasImportantModifier:b,baseClassName:x,maybePostfixModifierPosition:E}=i(m);if(v){d=m+(d.length>0?" "+d:d);continue}let T=!!E,M=a(T?x.substring(0,E):x);if(!M){if(!T){d=m+(d.length>0?" "+d:d);continue}if(M=a(x),!M){d=m+(d.length>0?" "+d:d);continue}T=!1}const N=l(y).join(":"),L=b?N+Id:N,C=L+M;if(c.includes(C))continue;c.push(C);const R=s(M,T);for(let B=0;B0?" "+d:d)}return d};function C_(){let r=0,n,i,a="";for(;r{if(typeof r=="string")return r;let n,i="";for(let a=0;av(m),r());return i=x_(g),a=i.cache.get,s=i.cache.set,l=f,f(d)}function f(d){const g=a(d);if(g)return g;const m=T_(d,i);return s(d,m),m}return function(){return l(C_.apply(null,arguments))}}const Ct=r=>{const n=i=>i[r]||[];return n.isThemeGetter=!0,n},d0=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,h0=/^\((?:(\w[\w-]*):)?(.+)\)$/i,R_=/^\d+\/\d+$/,D_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,O_=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,k_=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,L_=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,N_=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ba=r=>R_.test(r),Be=r=>!!r&&!Number.isNaN(Number(r)),Ai=r=>!!r&&Number.isInteger(Number(r)),iy=r=>r.endsWith("%")&&Be(r.slice(0,-1)),qr=r=>D_.test(r),z_=()=>!0,G_=r=>O_.test(r)&&!k_.test(r),wh=()=>!1,M_=r=>L_.test(r),j_=r=>N_.test(r),U_=r=>!we(r)&&!Ee(r),B_=r=>Ga(r,m0,wh),we=r=>d0.test(r),Ri=r=>Ga(r,v0,G_),$f=r=>Ga(r,W_,Be),F_=r=>Ga(r,g0,wh),H_=r=>Ga(r,p0,j_),P_=r=>Ga(r,wh,M_),Ee=r=>h0.test(r),_l=r=>Ma(r,v0),$_=r=>Ma(r,K_),q_=r=>Ma(r,g0),V_=r=>Ma(r,m0),I_=r=>Ma(r,p0),Y_=r=>Ma(r,Q_,!0),Ga=(r,n,i)=>{const a=d0.exec(r);return a?a[1]?n(a[1]):i(a[2]):!1},Ma=(r,n,i=!1)=>{const a=h0.exec(r);return a?a[1]?n(a[1]):i:!1},g0=r=>r==="position",X_=new Set(["image","url"]),p0=r=>X_.has(r),Z_=new Set(["length","size","percentage"]),m0=r=>Z_.has(r),v0=r=>r==="length",W_=r=>r==="number",K_=r=>r==="family-name",Q_=r=>r==="shadow",J_=()=>{const r=Ct("color"),n=Ct("font"),i=Ct("text"),a=Ct("font-weight"),s=Ct("tracking"),l=Ct("leading"),c=Ct("breakpoint"),f=Ct("container"),d=Ct("spacing"),g=Ct("radius"),m=Ct("shadow"),v=Ct("inset-shadow"),y=Ct("drop-shadow"),b=Ct("blur"),x=Ct("perspective"),E=Ct("aspect"),T=Ct("ease"),M=Ct("animate"),N=()=>["auto","avoid","all","avoid-page","page","left","right","column"],L=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],C=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto","contain","none"],B=()=>[ba,"px","full","auto",Ee,we,d],_=()=>[Ai,"none","subgrid",Ee,we],$=()=>["auto",{span:["full",Ai,Ee,we]},Ee,we],z=()=>[Ai,"auto",Ee,we],F=()=>["auto","min","max","fr",Ee,we],Y=()=>[Ee,we,d],I=()=>["start","end","center","between","around","evenly","stretch","baseline"],j=()=>["start","end","center","stretch"],J=()=>[Ee,we,d],ae=()=>["px",...J()],H=()=>["px","auto",...J()],U=()=>[ba,"auto","px","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",Ee,we,d],D=()=>[r,Ee,we],se=()=>[iy,Ri],G=()=>["","none","full",g,Ee,we],P=()=>["",Be,_l,Ri],k=()=>["solid","dashed","dotted","double"],V=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Q=()=>["","none",b,Ee,we],re=()=>["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Ee,we],de=()=>["none",Be,Ee,we],ge=()=>["none",Be,Ee,we],le=()=>[Be,Ee,we],xe=()=>[ba,"full","px",Ee,we,d];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[qr],breakpoint:[qr],color:[z_],container:[qr],"drop-shadow":[qr],ease:["in","out","in-out"],font:[U_],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[qr],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[qr],shadow:[qr],spacing:[Be],text:[qr],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ba,we,Ee,E]}],container:["container"],columns:[{columns:[Be,we,Ee,f]}],"break-after":[{"break-after":N()}],"break-before":[{"break-before":N()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...L(),we,Ee]}],overflow:[{overflow:C()}],"overflow-x":[{"overflow-x":C()}],"overflow-y":[{"overflow-y":C()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:B()}],"inset-x":[{"inset-x":B()}],"inset-y":[{"inset-y":B()}],start:[{start:B()}],end:[{end:B()}],top:[{top:B()}],right:[{right:B()}],bottom:[{bottom:B()}],left:[{left:B()}],visibility:["visible","invisible","collapse"],z:[{z:[Ai,"auto",Ee,we]}],basis:[{basis:[ba,"full","auto",Ee,we,f,d]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Be,ba,"auto","initial","none",we]}],grow:[{grow:["",Be,Ee,we]}],shrink:[{shrink:["",Be,Ee,we]}],order:[{order:[Ai,"first","last","none",Ee,we]}],"grid-cols":[{"grid-cols":_()}],"col-start-end":[{col:$()}],"col-start":[{"col-start":z()}],"col-end":[{"col-end":z()}],"grid-rows":[{"grid-rows":_()}],"row-start-end":[{row:$()}],"row-start":[{"row-start":z()}],"row-end":[{"row-end":z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":F()}],"auto-rows":[{"auto-rows":F()}],gap:[{gap:Y()}],"gap-x":[{"gap-x":Y()}],"gap-y":[{"gap-y":Y()}],"justify-content":[{justify:[...I(),"normal"]}],"justify-items":[{"justify-items":[...j(),"normal"]}],"justify-self":[{"justify-self":["auto",...j()]}],"align-content":[{content:["normal",...I()]}],"align-items":[{items:[...j(),"baseline"]}],"align-self":[{self:["auto",...j(),"baseline"]}],"place-content":[{"place-content":I()}],"place-items":[{"place-items":[...j(),"baseline"]}],"place-self":[{"place-self":["auto",...j()]}],p:[{p:ae()}],px:[{px:ae()}],py:[{py:ae()}],ps:[{ps:ae()}],pe:[{pe:ae()}],pt:[{pt:ae()}],pr:[{pr:ae()}],pb:[{pb:ae()}],pl:[{pl:ae()}],m:[{m:H()}],mx:[{mx:H()}],my:[{my:H()}],ms:[{ms:H()}],me:[{me:H()}],mt:[{mt:H()}],mr:[{mr:H()}],mb:[{mb:H()}],ml:[{ml:H()}],"space-x":[{"space-x":J()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":J()}],"space-y-reverse":["space-y-reverse"],size:[{size:U()}],w:[{w:[f,"screen",...U()]}],"min-w":[{"min-w":[f,"screen","none",...U()]}],"max-w":[{"max-w":[f,"screen","none","prose",{screen:[c]},...U()]}],h:[{h:["screen",...U()]}],"min-h":[{"min-h":["screen","none",...U()]}],"max-h":[{"max-h":["screen",...U()]}],"font-size":[{text:["base",i,_l,Ri]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[a,Ee,$f]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",iy,we]}],"font-family":[{font:[$_,we,n]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,Ee,we]}],"line-clamp":[{"line-clamp":[Be,"none",Ee,$f]}],leading:[{leading:[Ee,we,l,d]}],"list-image":[{"list-image":["none",Ee,we]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ee,we]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:D()}],"text-color":[{text:D()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...k(),"wavy"]}],"text-decoration-thickness":[{decoration:[Be,"from-font","auto",Ee,Ri]}],"text-decoration-color":[{decoration:D()}],"underline-offset":[{"underline-offset":[Be,"auto",Ee,we]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:["px",...J()]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ee,we]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ee,we]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...L(),q_,F_]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:["auto","cover","contain",V_,B_]}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ai,Ee,we],radial:["",Ee,we],conic:[Ai,Ee,we]},I_,H_]}],"bg-color":[{bg:D()}],"gradient-from-pos":[{from:se()}],"gradient-via-pos":[{via:se()}],"gradient-to-pos":[{to:se()}],"gradient-from":[{from:D()}],"gradient-via":[{via:D()}],"gradient-to":[{to:D()}],rounded:[{rounded:G()}],"rounded-s":[{"rounded-s":G()}],"rounded-e":[{"rounded-e":G()}],"rounded-t":[{"rounded-t":G()}],"rounded-r":[{"rounded-r":G()}],"rounded-b":[{"rounded-b":G()}],"rounded-l":[{"rounded-l":G()}],"rounded-ss":[{"rounded-ss":G()}],"rounded-se":[{"rounded-se":G()}],"rounded-ee":[{"rounded-ee":G()}],"rounded-es":[{"rounded-es":G()}],"rounded-tl":[{"rounded-tl":G()}],"rounded-tr":[{"rounded-tr":G()}],"rounded-br":[{"rounded-br":G()}],"rounded-bl":[{"rounded-bl":G()}],"border-w":[{border:P()}],"border-w-x":[{"border-x":P()}],"border-w-y":[{"border-y":P()}],"border-w-s":[{"border-s":P()}],"border-w-e":[{"border-e":P()}],"border-w-t":[{"border-t":P()}],"border-w-r":[{"border-r":P()}],"border-w-b":[{"border-b":P()}],"border-w-l":[{"border-l":P()}],"divide-x":[{"divide-x":P()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":P()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...k(),"hidden","none"]}],"divide-style":[{divide:[...k(),"hidden","none"]}],"border-color":[{border:D()}],"border-color-x":[{"border-x":D()}],"border-color-y":[{"border-y":D()}],"border-color-s":[{"border-s":D()}],"border-color-e":[{"border-e":D()}],"border-color-t":[{"border-t":D()}],"border-color-r":[{"border-r":D()}],"border-color-b":[{"border-b":D()}],"border-color-l":[{"border-l":D()}],"divide-color":[{divide:D()}],"outline-style":[{outline:[...k(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Be,Ee,we]}],"outline-w":[{outline:["",Be,_l,Ri]}],"outline-color":[{outline:[r]}],shadow:[{shadow:["","none",m,Y_,P_]}],"shadow-color":[{shadow:D()}],"inset-shadow":[{"inset-shadow":["none",Ee,we,v]}],"inset-shadow-color":[{"inset-shadow":D()}],"ring-w":[{ring:P()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:D()}],"ring-offset-w":[{"ring-offset":[Be,Ri]}],"ring-offset-color":[{"ring-offset":D()}],"inset-ring-w":[{"inset-ring":P()}],"inset-ring-color":[{"inset-ring":D()}],opacity:[{opacity:[Be,Ee,we]}],"mix-blend":[{"mix-blend":[...V(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":V()}],filter:[{filter:["","none",Ee,we]}],blur:[{blur:Q()}],brightness:[{brightness:[Be,Ee,we]}],contrast:[{contrast:[Be,Ee,we]}],"drop-shadow":[{"drop-shadow":["","none",y,Ee,we]}],grayscale:[{grayscale:["",Be,Ee,we]}],"hue-rotate":[{"hue-rotate":[Be,Ee,we]}],invert:[{invert:["",Be,Ee,we]}],saturate:[{saturate:[Be,Ee,we]}],sepia:[{sepia:["",Be,Ee,we]}],"backdrop-filter":[{"backdrop-filter":["","none",Ee,we]}],"backdrop-blur":[{"backdrop-blur":Q()}],"backdrop-brightness":[{"backdrop-brightness":[Be,Ee,we]}],"backdrop-contrast":[{"backdrop-contrast":[Be,Ee,we]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Be,Ee,we]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Be,Ee,we]}],"backdrop-invert":[{"backdrop-invert":["",Be,Ee,we]}],"backdrop-opacity":[{"backdrop-opacity":[Be,Ee,we]}],"backdrop-saturate":[{"backdrop-saturate":[Be,Ee,we]}],"backdrop-sepia":[{"backdrop-sepia":["",Be,Ee,we]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":J()}],"border-spacing-x":[{"border-spacing-x":J()}],"border-spacing-y":[{"border-spacing-y":J()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ee,we]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Be,"initial",Ee,we]}],ease:[{ease:["linear","initial",T,Ee,we]}],delay:[{delay:[Be,Ee,we]}],animate:[{animate:["none",M,Ee,we]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[x,Ee,we]}],"perspective-origin":[{"perspective-origin":re()}],rotate:[{rotate:de()}],"rotate-x":[{"rotate-x":de()}],"rotate-y":[{"rotate-y":de()}],"rotate-z":[{"rotate-z":de()}],scale:[{scale:ge()}],"scale-x":[{"scale-x":ge()}],"scale-y":[{"scale-y":ge()}],"scale-z":[{"scale-z":ge()}],"scale-3d":["scale-3d"],skew:[{skew:le()}],"skew-x":[{"skew-x":le()}],"skew-y":[{"skew-y":le()}],transform:[{transform:[Ee,we,"","none","gpu","cpu"]}],"transform-origin":[{origin:re()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:xe()}],"translate-x":[{"translate-x":xe()}],"translate-y":[{"translate-y":xe()}],"translate-z":[{"translate-z":xe()}],"translate-none":["translate-none"],accent:[{accent:D()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:D()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ee,we]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":J()}],"scroll-mx":[{"scroll-mx":J()}],"scroll-my":[{"scroll-my":J()}],"scroll-ms":[{"scroll-ms":J()}],"scroll-me":[{"scroll-me":J()}],"scroll-mt":[{"scroll-mt":J()}],"scroll-mr":[{"scroll-mr":J()}],"scroll-mb":[{"scroll-mb":J()}],"scroll-ml":[{"scroll-ml":J()}],"scroll-p":[{"scroll-p":J()}],"scroll-px":[{"scroll-px":J()}],"scroll-py":[{"scroll-py":J()}],"scroll-ps":[{"scroll-ps":J()}],"scroll-pe":[{"scroll-pe":J()}],"scroll-pt":[{"scroll-pt":J()}],"scroll-pr":[{"scroll-pr":J()}],"scroll-pb":[{"scroll-pb":J()}],"scroll-pl":[{"scroll-pl":J()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ee,we]}],fill:[{fill:["none",...D()]}],"stroke-w":[{stroke:[Be,_l,Ri,$f]}],stroke:[{stroke:["none",...D()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["before","after","placeholder","file","marker","selection","first-line","first-letter","backdrop","*","**"]}},eT=A_(J_);function Xe(...r){return eT(u0(r))}function tT(){const r="0123456789abcdef";let n="#";for(let i=0;i<6;i++)n+=r.charAt(Math.floor(Math.random()*16));return n}function y0(r){return r instanceof Error?r.message:`${r}`}const Eh=r=>{const n=r;n.use={};for(const i of Object.keys(n.getState()))n.use[i]=()=>n(a=>a[i]);return n},nT="",qn="ghost",rT="#B2EBF2",iT="#000",aT="#E2E2E2",oT="#EEEEEE",sT="#F57F17",lT="#969696",uT="#F57F17",ay="#B2EBF2",qf=20,oy=4,cT=20,fT=15,sy="*",dT=yh()(h_(r=>({theme:"system",showPropertyPanel:!0,showNodeSearchBar:!0,showNodeLabel:!0,enableNodeDrag:!0,showEdgeLabel:!1,enableHideUnselectedEdges:!0,enableEdgeEvents:!1,queryLabel:sy,enableHealthCheck:!0,apiKey:null,setTheme:n=>r({theme:n}),setQueryLabel:n=>r({queryLabel:n}),setEnableHealthCheck:n=>r({enableHealthCheck:n}),setApiKey:n=>r({apiKey:n})}),{name:"settings-storage",storage:s0(()=>localStorage),version:4,migrate:(r,n)=>{n<2&&(r.showEdgeLabel=!1),n<3&&(r.queryLabel=sy),n<4&&(r.showPropertyPanel=!0,r.showNodeSearchBar=!0,r.showNodeLabel=!0,r.enableHealthCheck=!0,r.apiKey=null)}})),Pe=Eh(dT),hT={theme:"system",setTheme:()=>null},b0=S.createContext(hT);function gT({children:r,...n}){const[i,a]=S.useState(Pe.getState().theme);S.useEffect(()=>{const l=window.document.documentElement;if(l.classList.remove("light","dark"),i==="system"){const c=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";l.classList.add(c),a(c);return}l.classList.add(i)},[i]);const s={theme:i,setTheme:l=>{Pe.getState().setTheme(l),a(l)}};return A.jsx(b0.Provider,{...n,value:s,children:r})}const ly=r=>typeof r=="boolean"?`${r}`:r===0?"0":r,uy=u0,w0=(r,n)=>i=>{var a;if((n==null?void 0:n.variants)==null)return uy(r,i==null?void 0:i.class,i==null?void 0:i.className);const{variants:s,defaultVariants:l}=n,c=Object.keys(s).map(g=>{const m=i==null?void 0:i[g],v=l==null?void 0:l[g];if(m===null)return null;const y=ly(m)||ly(v);return s[g][y]}),f=i&&Object.entries(i).reduce((g,m)=>{let[v,y]=m;return y===void 0||(g[v]=y),g},{}),d=n==null||(a=n.compoundVariants)===null||a===void 0?void 0:a.reduce((g,m)=>{let{class:v,className:y,...b}=m;return Object.entries(b).every(x=>{let[E,T]=x;return Array.isArray(T)?T.includes({...l,...f}[E]):{...l,...f}[E]===T})?[...g,v,y]:g},[]);return uy(r,c,d,i==null?void 0:i.class,i==null?void 0:i.className)},pT=w0("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),E0=S.forwardRef(({className:r,variant:n,...i},a)=>A.jsx("div",{ref:a,role:"alert",className:Xe(pT({variant:n}),r),...i}));E0.displayName="Alert";const S0=S.forwardRef(({className:r,...n},i)=>A.jsx("h5",{ref:i,className:Xe("mb-1 leading-none font-medium tracking-tight",r),...n}));S0.displayName="AlertTitle";const x0=S.forwardRef(({className:r,...n},i)=>A.jsx("div",{ref:i,className:Xe("text-sm [&_p]:leading-relaxed",r),...n}));x0.displayName="AlertDescription";const mT=async r=>{const n=r.headers.get("content-type");if(n)if(n.includes("application/json")){const i=await r.json();return JSON.stringify(i,void 0,2)}else{if(n.startsWith("text/"))return await r.text();if(n.includes("application/xml")||n.includes("text/xml"))return await r.text();if(n.includes("application/octet-stream")){const i=await r.arrayBuffer();return new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}).decode(i)}else try{return await r.text()}catch(i){return console.warn("Failed to decode as text, may be binary:",i),`[Could not decode response body. Content-Type: ${n}]`}}else try{return await r.text()}catch(i){return console.warn("Failed to decode as text, may be binary:",i),"[Could not decode response body. No Content-Type header.]"}return""},Sh=async(r,n={})=>{const i=Pe.getState().apiKey,a={...n.headers||{},...i?{"X-API-Key":i}:{}},s=await fetch(nT+r,{...n,headers:a});if(!s.ok)throw new Error(`${s.status} ${s.statusText} -${await mT(s)} -${s.url}`);return s},vT=async r=>await(await Sh(`/graphs?label=${r}`)).json(),yT=async()=>await(await Sh("/graph/label/list")).json(),bT=async()=>{try{return await(await Sh("/health")).json()}catch(r){return{status:"error",message:y0(r)}}},wT=yh()(r=>({health:!0,message:null,messageTitle:null,lastCheckTime:Date.now(),status:null,check:async()=>{const n=await bT();return n.status==="healthy"?(r({health:!0,message:null,messageTitle:null,lastCheckTime:Date.now(),status:n}),!0):(r({health:!1,message:n.message,messageTitle:"Backend Health Check Error!",lastCheckTime:Date.now(),status:null}),!1)},clear:()=>{r({health:!0,message:null,messageTitle:null})},setErrorMessage:(n,i)=>{r({health:!1,message:n,messageTitle:i})}})),kn=Eh(wT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ET=r=>r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),_0=(...r)=>r.filter((n,i,a)=>!!n&&n.trim()!==""&&a.indexOf(n)===i).join(" ").trim();/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var ST={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const xT=S.forwardRef(({color:r="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:s="",children:l,iconNode:c,...f},d)=>S.createElement("svg",{ref:d,...ST,width:n,height:n,stroke:r,strokeWidth:a?Number(i)*24/Number(n):i,className:_0("lucide",s),...f},[...c.map(([g,m])=>S.createElement(g,m)),...Array.isArray(l)?l:[l]]));/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const zt=(r,n)=>{const i=S.forwardRef(({className:a,...s},l)=>S.createElement(xT,{ref:l,iconNode:n,className:_0(`lucide-${ET(r)}`,a),...s}));return i.displayName=`${r}`,i};/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const _T=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],T0=zt("Check",_T);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const TT=[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]],CT=zt("ChevronsUpDown",TT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const AT=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],RT=zt("CircleAlert",AT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const DT=[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["rect",{width:"10",height:"8",x:"7",y:"8",rx:"1",key:"vys8me"}]],OT=zt("Fullscreen",DT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const kT=[["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"19",cy:"5",r:"1",key:"w8mnmm"}],["circle",{cx:"5",cy:"5",r:"1",key:"lttvr7"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}],["circle",{cx:"19",cy:"19",r:"1",key:"shf9b7"}],["circle",{cx:"5",cy:"19",r:"1",key:"bfqh0e"}]],LT=zt("Grip",kT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const NT=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],C0=zt("LoaderCircle",NT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const zT=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]],GT=zt("Maximize",zT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const MT=[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]],jT=zt("Minimize",MT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const UT=[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]],BT=zt("Moon",UT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const FT=[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]],HT=zt("Pause",FT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const PT=[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]],$T=zt("Play",PT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const qT=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]],VT=zt("Search",qT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const IT=[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],YT=zt("Settings",IT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const XT=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],ZT=zt("Sun",XT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const WT=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],KT=zt("X",WT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const QT=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],JT=zt("ZoomIn",QT);/** - * @license lucide-react v0.475.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const eC=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],tC=zt("ZoomOut",eC),nC=()=>{const r=kn.use.health(),n=kn.use.message(),i=kn.use.messageTitle(),[a,s]=S.useState(!1);return S.useEffect(()=>{setTimeout(()=>{s(!0)},50)},[]),A.jsxs(E0,{variant:r?"default":"destructive",className:Xe("bg-background/90 absolute top-2 left-1/2 flex w-auto -translate-x-1/2 transform items-center gap-4 shadow-md backdrop-blur-lg transition-all duration-500 ease-in-out",a?"translate-y-0 opacity-100":"-translate-y-20 opacity-0"),children:[!r&&A.jsx("div",{children:A.jsx(RT,{className:"size-4"})}),A.jsxs("div",{children:[A.jsx(S0,{className:"font-bold",children:i}),A.jsx(x0,{children:n})]})]})};function ht(r,n,{checkForDefaultPrevented:i=!0}={}){return function(s){if(r==null||r(s),i===!1||!s.defaultPrevented)return n==null?void 0:n(s)}}function cy(r,n){if(typeof r=="function")return r(n);r!=null&&(r.current=n)}function A0(...r){return n=>{let i=!1;const a=r.map(s=>{const l=cy(s,n);return!i&&typeof l=="function"&&(i=!0),l});if(i)return()=>{for(let s=0;s{const{children:c,...f}=l,d=S.useMemo(()=>f,Object.values(f));return A.jsx(i.Provider,{value:d,children:c})};a.displayName=r+"Provider";function s(l){const c=S.useContext(i);if(c)return c;if(n!==void 0)return n;throw new Error(`\`${l}\` must be used within \`${r}\``)}return[a,s]}function rs(r,n=[]){let i=[];function a(l,c){const f=S.createContext(c),d=i.length;i=[...i,c];const g=v=>{var M;const{scope:y,children:b,...x}=v,E=((M=y==null?void 0:y[r])==null?void 0:M[d])||f,T=S.useMemo(()=>x,Object.values(x));return A.jsx(E.Provider,{value:T,children:b})};g.displayName=l+"Provider";function m(v,y){var E;const b=((E=y==null?void 0:y[r])==null?void 0:E[d])||f,x=S.useContext(b);if(x)return x;if(c!==void 0)return c;throw new Error(`\`${v}\` must be used within \`${l}\``)}return[g,m]}const s=()=>{const l=i.map(c=>S.createContext(c));return function(f){const d=(f==null?void 0:f[r])||l;return S.useMemo(()=>({[`__scope${r}`]:{...f,[r]:d}}),[f,d])}};return s.scopeName=r,[a,iC(s,...n)]}function iC(...r){const n=r[0];if(r.length===1)return n;const i=()=>{const a=r.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(l){const c=a.reduce((f,{useScope:d,scopeName:g})=>{const v=d(l)[`__scope${g}`];return{...f,...v}},{});return S.useMemo(()=>({[`__scope${n.scopeName}`]:c}),[c])}};return i.scopeName=n.scopeName,i}var xh=o0();const aC=on(xh);var is=S.forwardRef((r,n)=>{const{children:i,...a}=r,s=S.Children.toArray(i),l=s.find(oC);if(l){const c=l.props.children,f=s.map(d=>d===l?S.Children.count(c)>1?S.Children.only(null):S.isValidElement(c)?c.props.children:null:d);return A.jsx(Xd,{...a,ref:n,children:S.isValidElement(c)?S.cloneElement(c,void 0,f):null})}return A.jsx(Xd,{...a,ref:n,children:i})});is.displayName="Slot";var Xd=S.forwardRef((r,n)=>{const{children:i,...a}=r;if(S.isValidElement(i)){const s=lC(i),l=sC(a,i.props);return i.type!==S.Fragment&&(l.ref=n?A0(n,s):s),S.cloneElement(i,l)}return S.Children.count(i)>1?S.Children.only(null):null});Xd.displayName="SlotClone";var R0=({children:r})=>A.jsx(A.Fragment,{children:r});function oC(r){return S.isValidElement(r)&&r.type===R0}function sC(r,n){const i={...n};for(const a in n){const s=r[a],l=n[a];/^on[A-Z]/.test(a)?s&&l?i[a]=(...f)=>{l(...f),s(...f)}:s&&(i[a]=s):a==="style"?i[a]={...s,...l}:a==="className"&&(i[a]=[s,l].filter(Boolean).join(" "))}return{...r,...i}}function lC(r){var a,s;let n=(a=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:a.get,i=n&&"isReactWarning"in n&&n.isReactWarning;return i?r.ref:(n=(s=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:s.get,i=n&&"isReactWarning"in n&&n.isReactWarning,i?r.props.ref:r.props.ref||r.ref)}var uC=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Je=uC.reduce((r,n)=>{const i=S.forwardRef((a,s)=>{const{asChild:l,...c}=a,f=l?is:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),A.jsx(f,{...c,ref:s})});return i.displayName=`Primitive.${n}`,{...r,[n]:i}},{});function cC(r,n){r&&xh.flushSync(()=>r.dispatchEvent(n))}function Qr(r){const n=S.useRef(r);return S.useEffect(()=>{n.current=r}),S.useMemo(()=>(...i)=>{var a;return(a=n.current)==null?void 0:a.call(n,...i)},[])}function fC(r,n=globalThis==null?void 0:globalThis.document){const i=Qr(r);S.useEffect(()=>{const a=s=>{s.key==="Escape"&&i(s)};return n.addEventListener("keydown",a,{capture:!0}),()=>n.removeEventListener("keydown",a,{capture:!0})},[i,n])}var dC="DismissableLayer",Zd="dismissableLayer.update",hC="dismissableLayer.pointerDownOutside",gC="dismissableLayer.focusOutside",fy,D0=S.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),hu=S.forwardRef((r,n)=>{const{disableOutsidePointerEvents:i=!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:l,onInteractOutside:c,onDismiss:f,...d}=r,g=S.useContext(D0),[m,v]=S.useState(null),y=(m==null?void 0:m.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,b]=S.useState({}),x=Vt(n,_=>v(_)),E=Array.from(g.layers),[T]=[...g.layersWithOutsidePointerEventsDisabled].slice(-1),M=E.indexOf(T),N=m?E.indexOf(m):-1,L=g.layersWithOutsidePointerEventsDisabled.size>0,C=N>=M,R=vC(_=>{const $=_.target,z=[...g.branches].some(F=>F.contains($));!C||z||(s==null||s(_),c==null||c(_),_.defaultPrevented||f==null||f())},y),B=yC(_=>{const $=_.target;[...g.branches].some(F=>F.contains($))||(l==null||l(_),c==null||c(_),_.defaultPrevented||f==null||f())},y);return fC(_=>{N===g.layers.size-1&&(a==null||a(_),!_.defaultPrevented&&f&&(_.preventDefault(),f()))},y),S.useEffect(()=>{if(m)return i&&(g.layersWithOutsidePointerEventsDisabled.size===0&&(fy=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),g.layersWithOutsidePointerEventsDisabled.add(m)),g.layers.add(m),dy(),()=>{i&&g.layersWithOutsidePointerEventsDisabled.size===1&&(y.body.style.pointerEvents=fy)}},[m,y,i,g]),S.useEffect(()=>()=>{m&&(g.layers.delete(m),g.layersWithOutsidePointerEventsDisabled.delete(m),dy())},[m,g]),S.useEffect(()=>{const _=()=>b({});return document.addEventListener(Zd,_),()=>document.removeEventListener(Zd,_)},[]),A.jsx(Je.div,{...d,ref:x,style:{pointerEvents:L?C?"auto":"none":void 0,...r.style},onFocusCapture:ht(r.onFocusCapture,B.onFocusCapture),onBlurCapture:ht(r.onBlurCapture,B.onBlurCapture),onPointerDownCapture:ht(r.onPointerDownCapture,R.onPointerDownCapture)})});hu.displayName=dC;var pC="DismissableLayerBranch",mC=S.forwardRef((r,n)=>{const i=S.useContext(D0),a=S.useRef(null),s=Vt(n,a);return S.useEffect(()=>{const l=a.current;if(l)return i.branches.add(l),()=>{i.branches.delete(l)}},[i.branches]),A.jsx(Je.div,{...r,ref:s})});mC.displayName=pC;function vC(r,n=globalThis==null?void 0:globalThis.document){const i=Qr(r),a=S.useRef(!1),s=S.useRef(()=>{});return S.useEffect(()=>{const l=f=>{if(f.target&&!a.current){let d=function(){O0(hC,i,g,{discrete:!0})};const g={originalEvent:f};f.pointerType==="touch"?(n.removeEventListener("click",s.current),s.current=d,n.addEventListener("click",s.current,{once:!0})):d()}else n.removeEventListener("click",s.current);a.current=!1},c=window.setTimeout(()=>{n.addEventListener("pointerdown",l)},0);return()=>{window.clearTimeout(c),n.removeEventListener("pointerdown",l),n.removeEventListener("click",s.current)}},[n,i]),{onPointerDownCapture:()=>a.current=!0}}function yC(r,n=globalThis==null?void 0:globalThis.document){const i=Qr(r),a=S.useRef(!1);return S.useEffect(()=>{const s=l=>{l.target&&!a.current&&O0(gC,i,{originalEvent:l},{discrete:!1})};return n.addEventListener("focusin",s),()=>n.removeEventListener("focusin",s)},[n,i]),{onFocusCapture:()=>a.current=!0,onBlurCapture:()=>a.current=!1}}function dy(){const r=new CustomEvent(Zd);document.dispatchEvent(r)}function O0(r,n,i,{discrete:a}){const s=i.originalEvent.target,l=new CustomEvent(r,{bubbles:!1,cancelable:!0,detail:i});n&&s.addEventListener(r,n,{once:!0}),a?cC(s,l):s.dispatchEvent(l)}var Vf=0;function k0(){S.useEffect(()=>{const r=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",r[0]??hy()),document.body.insertAdjacentElement("beforeend",r[1]??hy()),Vf++,()=>{Vf===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(n=>n.remove()),Vf--}},[])}function hy(){const r=document.createElement("span");return r.setAttribute("data-radix-focus-guard",""),r.tabIndex=0,r.style.outline="none",r.style.opacity="0",r.style.position="fixed",r.style.pointerEvents="none",r}var If="focusScope.autoFocusOnMount",Yf="focusScope.autoFocusOnUnmount",gy={bubbles:!1,cancelable:!0},bC="FocusScope",_h=S.forwardRef((r,n)=>{const{loop:i=!1,trapped:a=!1,onMountAutoFocus:s,onUnmountAutoFocus:l,...c}=r,[f,d]=S.useState(null),g=Qr(s),m=Qr(l),v=S.useRef(null),y=Vt(n,E=>d(E)),b=S.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;S.useEffect(()=>{if(a){let E=function(L){if(b.paused||!f)return;const C=L.target;f.contains(C)?v.current=C:Xr(v.current,{select:!0})},T=function(L){if(b.paused||!f)return;const C=L.relatedTarget;C!==null&&(f.contains(C)||Xr(v.current,{select:!0}))},M=function(L){if(document.activeElement===document.body)for(const R of L)R.removedNodes.length>0&&Xr(f)};document.addEventListener("focusin",E),document.addEventListener("focusout",T);const N=new MutationObserver(M);return f&&N.observe(f,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",E),document.removeEventListener("focusout",T),N.disconnect()}}},[a,f,b.paused]),S.useEffect(()=>{if(f){my.add(b);const E=document.activeElement;if(!f.contains(E)){const M=new CustomEvent(If,gy);f.addEventListener(If,g),f.dispatchEvent(M),M.defaultPrevented||(wC(TC(L0(f)),{select:!0}),document.activeElement===E&&Xr(f))}return()=>{f.removeEventListener(If,g),setTimeout(()=>{const M=new CustomEvent(Yf,gy);f.addEventListener(Yf,m),f.dispatchEvent(M),M.defaultPrevented||Xr(E??document.body,{select:!0}),f.removeEventListener(Yf,m),my.remove(b)},0)}}},[f,g,m,b]);const x=S.useCallback(E=>{if(!i&&!a||b.paused)return;const T=E.key==="Tab"&&!E.altKey&&!E.ctrlKey&&!E.metaKey,M=document.activeElement;if(T&&M){const N=E.currentTarget,[L,C]=EC(N);L&&C?!E.shiftKey&&M===C?(E.preventDefault(),i&&Xr(L,{select:!0})):E.shiftKey&&M===L&&(E.preventDefault(),i&&Xr(C,{select:!0})):M===N&&E.preventDefault()}},[i,a,b.paused]);return A.jsx(Je.div,{tabIndex:-1,...c,ref:y,onKeyDown:x})});_h.displayName=bC;function wC(r,{select:n=!1}={}){const i=document.activeElement;for(const a of r)if(Xr(a,{select:n}),document.activeElement!==i)return}function EC(r){const n=L0(r),i=py(n,r),a=py(n.reverse(),r);return[i,a]}function L0(r){const n=[],i=document.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{const s=a.tagName==="INPUT"&&a.type==="hidden";return a.disabled||a.hidden||s?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;i.nextNode();)n.push(i.currentNode);return n}function py(r,n){for(const i of r)if(!SC(i,{upTo:n}))return i}function SC(r,{upTo:n}){if(getComputedStyle(r).visibility==="hidden")return!0;for(;r;){if(n!==void 0&&r===n)return!1;if(getComputedStyle(r).display==="none")return!0;r=r.parentElement}return!1}function xC(r){return r instanceof HTMLInputElement&&"select"in r}function Xr(r,{select:n=!1}={}){if(r&&r.focus){const i=document.activeElement;r.focus({preventScroll:!0}),r!==i&&xC(r)&&n&&r.select()}}var my=_C();function _C(){let r=[];return{add(n){const i=r[0];n!==i&&(i==null||i.pause()),r=vy(r,n),r.unshift(n)},remove(n){var i;r=vy(r,n),(i=r[0])==null||i.resume()}}}function vy(r,n){const i=[...r],a=i.indexOf(n);return a!==-1&&i.splice(a,1),i}function TC(r){return r.filter(n=>n.tagName!=="A")}var Li=globalThis!=null&&globalThis.document?S.useLayoutEffect:()=>{},CC=t_.useId||(()=>{}),AC=0;function Ln(r){const[n,i]=S.useState(CC());return Li(()=>{i(a=>a??String(AC++))},[r]),n?`radix-${n}`:""}const RC=["top","right","bottom","left"],Jr=Math.min,nn=Math.max,nu=Math.round,Tl=Math.floor,Vn=r=>({x:r,y:r}),DC={left:"right",right:"left",bottom:"top",top:"bottom"},OC={start:"end",end:"start"};function Wd(r,n,i){return nn(r,Jr(n,i))}function br(r,n){return typeof r=="function"?r(n):r}function wr(r){return r.split("-")[0]}function ja(r){return r.split("-")[1]}function Th(r){return r==="x"?"y":"x"}function Ch(r){return r==="y"?"height":"width"}function ei(r){return["top","bottom"].includes(wr(r))?"y":"x"}function Ah(r){return Th(ei(r))}function kC(r,n,i){i===void 0&&(i=!1);const a=ja(r),s=Ah(r),l=Ch(s);let c=s==="x"?a===(i?"end":"start")?"right":"left":a==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(c=ru(c)),[c,ru(c)]}function LC(r){const n=ru(r);return[Kd(r),n,Kd(n)]}function Kd(r){return r.replace(/start|end/g,n=>OC[n])}function NC(r,n,i){const a=["left","right"],s=["right","left"],l=["top","bottom"],c=["bottom","top"];switch(r){case"top":case"bottom":return i?n?s:a:n?a:s;case"left":case"right":return n?l:c;default:return[]}}function zC(r,n,i,a){const s=ja(r);let l=NC(wr(r),i==="start",a);return s&&(l=l.map(c=>c+"-"+s),n&&(l=l.concat(l.map(Kd)))),l}function ru(r){return r.replace(/left|right|bottom|top/g,n=>DC[n])}function GC(r){return{top:0,right:0,bottom:0,left:0,...r}}function N0(r){return typeof r!="number"?GC(r):{top:r,right:r,bottom:r,left:r}}function iu(r){const{x:n,y:i,width:a,height:s}=r;return{width:a,height:s,top:i,left:n,right:n+a,bottom:i+s,x:n,y:i}}function yy(r,n,i){let{reference:a,floating:s}=r;const l=ei(n),c=Ah(n),f=Ch(c),d=wr(n),g=l==="y",m=a.x+a.width/2-s.width/2,v=a.y+a.height/2-s.height/2,y=a[f]/2-s[f]/2;let b;switch(d){case"top":b={x:m,y:a.y-s.height};break;case"bottom":b={x:m,y:a.y+a.height};break;case"right":b={x:a.x+a.width,y:v};break;case"left":b={x:a.x-s.width,y:v};break;default:b={x:a.x,y:a.y}}switch(ja(n)){case"start":b[c]-=y*(i&&g?-1:1);break;case"end":b[c]+=y*(i&&g?-1:1);break}return b}const MC=async(r,n,i)=>{const{placement:a="bottom",strategy:s="absolute",middleware:l=[],platform:c}=i,f=l.filter(Boolean),d=await(c.isRTL==null?void 0:c.isRTL(n));let g=await c.getElementRects({reference:r,floating:n,strategy:s}),{x:m,y:v}=yy(g,a,d),y=a,b={},x=0;for(let E=0;E({name:"arrow",options:r,async fn(n){const{x:i,y:a,placement:s,rects:l,platform:c,elements:f,middlewareData:d}=n,{element:g,padding:m=0}=br(r,n)||{};if(g==null)return{};const v=N0(m),y={x:i,y:a},b=Ah(s),x=Ch(b),E=await c.getDimensions(g),T=b==="y",M=T?"top":"left",N=T?"bottom":"right",L=T?"clientHeight":"clientWidth",C=l.reference[x]+l.reference[b]-y[b]-l.floating[x],R=y[b]-l.reference[b],B=await(c.getOffsetParent==null?void 0:c.getOffsetParent(g));let _=B?B[L]:0;(!_||!await(c.isElement==null?void 0:c.isElement(B)))&&(_=f.floating[L]||l.floating[x]);const $=C/2-R/2,z=_/2-E[x]/2-1,F=Jr(v[M],z),Y=Jr(v[N],z),I=F,j=_-E[x]-Y,J=_/2-E[x]/2+$,ae=Wd(I,J,j),H=!d.arrow&&ja(s)!=null&&J!==ae&&l.reference[x]/2-(JJ<=0)){var Y,I;const J=(((Y=l.flip)==null?void 0:Y.index)||0)+1,ae=_[J];if(ae)return{data:{index:J,overflows:F},reset:{placement:ae}};let H=(I=F.filter(U=>U.overflows[0]<=0).sort((U,D)=>U.overflows[1]-D.overflows[1])[0])==null?void 0:I.placement;if(!H)switch(b){case"bestFit":{var j;const U=(j=F.filter(D=>{if(B){const se=ei(D.placement);return se===N||se==="y"}return!0}).map(D=>[D.placement,D.overflows.filter(se=>se>0).reduce((se,G)=>se+G,0)]).sort((D,se)=>D[1]-se[1])[0])==null?void 0:j[0];U&&(H=U);break}case"initialPlacement":H=f;break}if(s!==H)return{reset:{placement:H}}}return{}}}};function by(r,n){return{top:r.top-n.height,right:r.right-n.width,bottom:r.bottom-n.height,left:r.left-n.width}}function wy(r){return RC.some(n=>r[n]>=0)}const BC=function(r){return r===void 0&&(r={}),{name:"hide",options:r,async fn(n){const{rects:i}=n,{strategy:a="referenceHidden",...s}=br(r,n);switch(a){case"referenceHidden":{const l=await Jo(n,{...s,elementContext:"reference"}),c=by(l,i.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:wy(c)}}}case"escaped":{const l=await Jo(n,{...s,altBoundary:!0}),c=by(l,i.floating);return{data:{escapedOffsets:c,escaped:wy(c)}}}default:return{}}}}};async function FC(r,n){const{placement:i,platform:a,elements:s}=r,l=await(a.isRTL==null?void 0:a.isRTL(s.floating)),c=wr(i),f=ja(i),d=ei(i)==="y",g=["left","top"].includes(c)?-1:1,m=l&&d?-1:1,v=br(n,r);let{mainAxis:y,crossAxis:b,alignmentAxis:x}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return f&&typeof x=="number"&&(b=f==="end"?x*-1:x),d?{x:b*m,y:y*g}:{x:y*g,y:b*m}}const HC=function(r){return r===void 0&&(r=0),{name:"offset",options:r,async fn(n){var i,a;const{x:s,y:l,placement:c,middlewareData:f}=n,d=await FC(n,r);return c===((i=f.offset)==null?void 0:i.placement)&&(a=f.arrow)!=null&&a.alignmentOffset?{}:{x:s+d.x,y:l+d.y,data:{...d,placement:c}}}}},PC=function(r){return r===void 0&&(r={}),{name:"shift",options:r,async fn(n){const{x:i,y:a,placement:s}=n,{mainAxis:l=!0,crossAxis:c=!1,limiter:f={fn:T=>{let{x:M,y:N}=T;return{x:M,y:N}}},...d}=br(r,n),g={x:i,y:a},m=await Jo(n,d),v=ei(wr(s)),y=Th(v);let b=g[y],x=g[v];if(l){const T=y==="y"?"top":"left",M=y==="y"?"bottom":"right",N=b+m[T],L=b-m[M];b=Wd(N,b,L)}if(c){const T=v==="y"?"top":"left",M=v==="y"?"bottom":"right",N=x+m[T],L=x-m[M];x=Wd(N,x,L)}const E=f.fn({...n,[y]:b,[v]:x});return{...E,data:{x:E.x-i,y:E.y-a,enabled:{[y]:l,[v]:c}}}}}},$C=function(r){return r===void 0&&(r={}),{options:r,fn(n){const{x:i,y:a,placement:s,rects:l,middlewareData:c}=n,{offset:f=0,mainAxis:d=!0,crossAxis:g=!0}=br(r,n),m={x:i,y:a},v=ei(s),y=Th(v);let b=m[y],x=m[v];const E=br(f,n),T=typeof E=="number"?{mainAxis:E,crossAxis:0}:{mainAxis:0,crossAxis:0,...E};if(d){const L=y==="y"?"height":"width",C=l.reference[y]-l.floating[L]+T.mainAxis,R=l.reference[y]+l.reference[L]-T.mainAxis;bR&&(b=R)}if(g){var M,N;const L=y==="y"?"width":"height",C=["top","left"].includes(wr(s)),R=l.reference[v]-l.floating[L]+(C&&((M=c.offset)==null?void 0:M[v])||0)+(C?0:T.crossAxis),B=l.reference[v]+l.reference[L]+(C?0:((N=c.offset)==null?void 0:N[v])||0)-(C?T.crossAxis:0);xB&&(x=B)}return{[y]:b,[v]:x}}}},qC=function(r){return r===void 0&&(r={}),{name:"size",options:r,async fn(n){var i,a;const{placement:s,rects:l,platform:c,elements:f}=n,{apply:d=()=>{},...g}=br(r,n),m=await Jo(n,g),v=wr(s),y=ja(s),b=ei(s)==="y",{width:x,height:E}=l.floating;let T,M;v==="top"||v==="bottom"?(T=v,M=y===(await(c.isRTL==null?void 0:c.isRTL(f.floating))?"start":"end")?"left":"right"):(M=v,T=y==="end"?"top":"bottom");const N=E-m.top-m.bottom,L=x-m.left-m.right,C=Jr(E-m[T],N),R=Jr(x-m[M],L),B=!n.middlewareData.shift;let _=C,$=R;if((i=n.middlewareData.shift)!=null&&i.enabled.x&&($=L),(a=n.middlewareData.shift)!=null&&a.enabled.y&&(_=N),B&&!y){const F=nn(m.left,0),Y=nn(m.right,0),I=nn(m.top,0),j=nn(m.bottom,0);b?$=x-2*(F!==0||Y!==0?F+Y:nn(m.left,m.right)):_=E-2*(I!==0||j!==0?I+j:nn(m.top,m.bottom))}await d({...n,availableWidth:$,availableHeight:_});const z=await c.getDimensions(f.floating);return x!==z.width||E!==z.height?{reset:{rects:!0}}:{}}}};function gu(){return typeof window<"u"}function Ua(r){return z0(r)?(r.nodeName||"").toLowerCase():"#document"}function rn(r){var n;return(r==null||(n=r.ownerDocument)==null?void 0:n.defaultView)||window}function Yn(r){var n;return(n=(z0(r)?r.ownerDocument:r.document)||window.document)==null?void 0:n.documentElement}function z0(r){return gu()?r instanceof Node||r instanceof rn(r).Node:!1}function Nn(r){return gu()?r instanceof Element||r instanceof rn(r).Element:!1}function In(r){return gu()?r instanceof HTMLElement||r instanceof rn(r).HTMLElement:!1}function Ey(r){return!gu()||typeof ShadowRoot>"u"?!1:r instanceof ShadowRoot||r instanceof rn(r).ShadowRoot}function as(r){const{overflow:n,overflowX:i,overflowY:a,display:s}=zn(r);return/auto|scroll|overlay|hidden|clip/.test(n+a+i)&&!["inline","contents"].includes(s)}function VC(r){return["table","td","th"].includes(Ua(r))}function pu(r){return[":popover-open",":modal"].some(n=>{try{return r.matches(n)}catch{return!1}})}function Rh(r){const n=Dh(),i=Nn(r)?zn(r):r;return["transform","translate","scale","rotate","perspective"].some(a=>i[a]?i[a]!=="none":!1)||(i.containerType?i.containerType!=="normal":!1)||!n&&(i.backdropFilter?i.backdropFilter!=="none":!1)||!n&&(i.filter?i.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(a=>(i.willChange||"").includes(a))||["paint","layout","strict","content"].some(a=>(i.contain||"").includes(a))}function IC(r){let n=ti(r);for(;In(n)&&!Oa(n);){if(Rh(n))return n;if(pu(n))return null;n=ti(n)}return null}function Dh(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function Oa(r){return["html","body","#document"].includes(Ua(r))}function zn(r){return rn(r).getComputedStyle(r)}function mu(r){return Nn(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:{scrollLeft:r.scrollX,scrollTop:r.scrollY}}function ti(r){if(Ua(r)==="html")return r;const n=r.assignedSlot||r.parentNode||Ey(r)&&r.host||Yn(r);return Ey(n)?n.host:n}function G0(r){const n=ti(r);return Oa(n)?r.ownerDocument?r.ownerDocument.body:r.body:In(n)&&as(n)?n:G0(n)}function es(r,n,i){var a;n===void 0&&(n=[]),i===void 0&&(i=!0);const s=G0(r),l=s===((a=r.ownerDocument)==null?void 0:a.body),c=rn(s);if(l){const f=Qd(c);return n.concat(c,c.visualViewport||[],as(s)?s:[],f&&i?es(f):[])}return n.concat(s,es(s,[],i))}function Qd(r){return r.parent&&Object.getPrototypeOf(r.parent)?r.frameElement:null}function M0(r){const n=zn(r);let i=parseFloat(n.width)||0,a=parseFloat(n.height)||0;const s=In(r),l=s?r.offsetWidth:i,c=s?r.offsetHeight:a,f=nu(i)!==l||nu(a)!==c;return f&&(i=l,a=c),{width:i,height:a,$:f}}function Oh(r){return Nn(r)?r:r.contextElement}function Aa(r){const n=Oh(r);if(!In(n))return Vn(1);const i=n.getBoundingClientRect(),{width:a,height:s,$:l}=M0(n);let c=(l?nu(i.width):i.width)/a,f=(l?nu(i.height):i.height)/s;return(!c||!Number.isFinite(c))&&(c=1),(!f||!Number.isFinite(f))&&(f=1),{x:c,y:f}}const YC=Vn(0);function j0(r){const n=rn(r);return!Dh()||!n.visualViewport?YC:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function XC(r,n,i){return n===void 0&&(n=!1),!i||n&&i!==rn(r)?!1:n}function Ni(r,n,i,a){n===void 0&&(n=!1),i===void 0&&(i=!1);const s=r.getBoundingClientRect(),l=Oh(r);let c=Vn(1);n&&(a?Nn(a)&&(c=Aa(a)):c=Aa(r));const f=XC(l,i,a)?j0(l):Vn(0);let d=(s.left+f.x)/c.x,g=(s.top+f.y)/c.y,m=s.width/c.x,v=s.height/c.y;if(l){const y=rn(l),b=a&&Nn(a)?rn(a):a;let x=y,E=Qd(x);for(;E&&a&&b!==x;){const T=Aa(E),M=E.getBoundingClientRect(),N=zn(E),L=M.left+(E.clientLeft+parseFloat(N.paddingLeft))*T.x,C=M.top+(E.clientTop+parseFloat(N.paddingTop))*T.y;d*=T.x,g*=T.y,m*=T.x,v*=T.y,d+=L,g+=C,x=rn(E),E=Qd(x)}}return iu({width:m,height:v,x:d,y:g})}function kh(r,n){const i=mu(r).scrollLeft;return n?n.left+i:Ni(Yn(r)).left+i}function U0(r,n,i){i===void 0&&(i=!1);const a=r.getBoundingClientRect(),s=a.left+n.scrollLeft-(i?0:kh(r,a)),l=a.top+n.scrollTop;return{x:s,y:l}}function ZC(r){let{elements:n,rect:i,offsetParent:a,strategy:s}=r;const l=s==="fixed",c=Yn(a),f=n?pu(n.floating):!1;if(a===c||f&&l)return i;let d={scrollLeft:0,scrollTop:0},g=Vn(1);const m=Vn(0),v=In(a);if((v||!v&&!l)&&((Ua(a)!=="body"||as(c))&&(d=mu(a)),In(a))){const b=Ni(a);g=Aa(a),m.x=b.x+a.clientLeft,m.y=b.y+a.clientTop}const y=c&&!v&&!l?U0(c,d,!0):Vn(0);return{width:i.width*g.x,height:i.height*g.y,x:i.x*g.x-d.scrollLeft*g.x+m.x+y.x,y:i.y*g.y-d.scrollTop*g.y+m.y+y.y}}function WC(r){return Array.from(r.getClientRects())}function KC(r){const n=Yn(r),i=mu(r),a=r.ownerDocument.body,s=nn(n.scrollWidth,n.clientWidth,a.scrollWidth,a.clientWidth),l=nn(n.scrollHeight,n.clientHeight,a.scrollHeight,a.clientHeight);let c=-i.scrollLeft+kh(r);const f=-i.scrollTop;return zn(a).direction==="rtl"&&(c+=nn(n.clientWidth,a.clientWidth)-s),{width:s,height:l,x:c,y:f}}function QC(r,n){const i=rn(r),a=Yn(r),s=i.visualViewport;let l=a.clientWidth,c=a.clientHeight,f=0,d=0;if(s){l=s.width,c=s.height;const g=Dh();(!g||g&&n==="fixed")&&(f=s.offsetLeft,d=s.offsetTop)}return{width:l,height:c,x:f,y:d}}function JC(r,n){const i=Ni(r,!0,n==="fixed"),a=i.top+r.clientTop,s=i.left+r.clientLeft,l=In(r)?Aa(r):Vn(1),c=r.clientWidth*l.x,f=r.clientHeight*l.y,d=s*l.x,g=a*l.y;return{width:c,height:f,x:d,y:g}}function Sy(r,n,i){let a;if(n==="viewport")a=QC(r,i);else if(n==="document")a=KC(Yn(r));else if(Nn(n))a=JC(n,i);else{const s=j0(r);a={x:n.x-s.x,y:n.y-s.y,width:n.width,height:n.height}}return iu(a)}function B0(r,n){const i=ti(r);return i===n||!Nn(i)||Oa(i)?!1:zn(i).position==="fixed"||B0(i,n)}function e2(r,n){const i=n.get(r);if(i)return i;let a=es(r,[],!1).filter(f=>Nn(f)&&Ua(f)!=="body"),s=null;const l=zn(r).position==="fixed";let c=l?ti(r):r;for(;Nn(c)&&!Oa(c);){const f=zn(c),d=Rh(c);!d&&f.position==="fixed"&&(s=null),(l?!d&&!s:!d&&f.position==="static"&&!!s&&["absolute","fixed"].includes(s.position)||as(c)&&!d&&B0(r,c))?a=a.filter(m=>m!==c):s=f,c=ti(c)}return n.set(r,a),a}function t2(r){let{element:n,boundary:i,rootBoundary:a,strategy:s}=r;const c=[...i==="clippingAncestors"?pu(n)?[]:e2(n,this._c):[].concat(i),a],f=c[0],d=c.reduce((g,m)=>{const v=Sy(n,m,s);return g.top=nn(v.top,g.top),g.right=Jr(v.right,g.right),g.bottom=Jr(v.bottom,g.bottom),g.left=nn(v.left,g.left),g},Sy(n,f,s));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function n2(r){const{width:n,height:i}=M0(r);return{width:n,height:i}}function r2(r,n,i){const a=In(n),s=Yn(n),l=i==="fixed",c=Ni(r,!0,l,n);let f={scrollLeft:0,scrollTop:0};const d=Vn(0);if(a||!a&&!l)if((Ua(n)!=="body"||as(s))&&(f=mu(n)),a){const y=Ni(n,!0,l,n);d.x=y.x+n.clientLeft,d.y=y.y+n.clientTop}else s&&(d.x=kh(s));const g=s&&!a&&!l?U0(s,f):Vn(0),m=c.left+f.scrollLeft-d.x-g.x,v=c.top+f.scrollTop-d.y-g.y;return{x:m,y:v,width:c.width,height:c.height}}function Xf(r){return zn(r).position==="static"}function xy(r,n){if(!In(r)||zn(r).position==="fixed")return null;if(n)return n(r);let i=r.offsetParent;return Yn(r)===i&&(i=i.ownerDocument.body),i}function F0(r,n){const i=rn(r);if(pu(r))return i;if(!In(r)){let s=ti(r);for(;s&&!Oa(s);){if(Nn(s)&&!Xf(s))return s;s=ti(s)}return i}let a=xy(r,n);for(;a&&VC(a)&&Xf(a);)a=xy(a,n);return a&&Oa(a)&&Xf(a)&&!Rh(a)?i:a||IC(r)||i}const i2=async function(r){const n=this.getOffsetParent||F0,i=this.getDimensions,a=await i(r.floating);return{reference:r2(r.reference,await n(r.floating),r.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}};function a2(r){return zn(r).direction==="rtl"}const o2={convertOffsetParentRelativeRectToViewportRelativeRect:ZC,getDocumentElement:Yn,getClippingRect:t2,getOffsetParent:F0,getElementRects:i2,getClientRects:WC,getDimensions:n2,getScale:Aa,isElement:Nn,isRTL:a2};function H0(r,n){return r.x===n.x&&r.y===n.y&&r.width===n.width&&r.height===n.height}function s2(r,n){let i=null,a;const s=Yn(r);function l(){var f;clearTimeout(a),(f=i)==null||f.disconnect(),i=null}function c(f,d){f===void 0&&(f=!1),d===void 0&&(d=1),l();const g=r.getBoundingClientRect(),{left:m,top:v,width:y,height:b}=g;if(f||n(),!y||!b)return;const x=Tl(v),E=Tl(s.clientWidth-(m+y)),T=Tl(s.clientHeight-(v+b)),M=Tl(m),L={rootMargin:-x+"px "+-E+"px "+-T+"px "+-M+"px",threshold:nn(0,Jr(1,d))||1};let C=!0;function R(B){const _=B[0].intersectionRatio;if(_!==d){if(!C)return c();_?c(!1,_):a=setTimeout(()=>{c(!1,1e-7)},1e3)}_===1&&!H0(g,r.getBoundingClientRect())&&c(),C=!1}try{i=new IntersectionObserver(R,{...L,root:s.ownerDocument})}catch{i=new IntersectionObserver(R,L)}i.observe(r)}return c(!0),l}function l2(r,n,i,a){a===void 0&&(a={});const{ancestorScroll:s=!0,ancestorResize:l=!0,elementResize:c=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:d=!1}=a,g=Oh(r),m=s||l?[...g?es(g):[],...es(n)]:[];m.forEach(M=>{s&&M.addEventListener("scroll",i,{passive:!0}),l&&M.addEventListener("resize",i)});const v=g&&f?s2(g,i):null;let y=-1,b=null;c&&(b=new ResizeObserver(M=>{let[N]=M;N&&N.target===g&&b&&(b.unobserve(n),cancelAnimationFrame(y),y=requestAnimationFrame(()=>{var L;(L=b)==null||L.observe(n)})),i()}),g&&!d&&b.observe(g),b.observe(n));let x,E=d?Ni(r):null;d&&T();function T(){const M=Ni(r);E&&!H0(E,M)&&i(),E=M,x=requestAnimationFrame(T)}return i(),()=>{var M;m.forEach(N=>{s&&N.removeEventListener("scroll",i),l&&N.removeEventListener("resize",i)}),v==null||v(),(M=b)==null||M.disconnect(),b=null,d&&cancelAnimationFrame(x)}}const u2=HC,c2=PC,f2=UC,d2=qC,h2=BC,_y=jC,g2=$C,p2=(r,n,i)=>{const a=new Map,s={platform:o2,...i},l={...s.platform,_c:a};return MC(r,n,{...s,platform:l})};var $l=typeof document<"u"?S.useLayoutEffect:S.useEffect;function au(r,n){if(r===n)return!0;if(typeof r!=typeof n)return!1;if(typeof r=="function"&&r.toString()===n.toString())return!0;let i,a,s;if(r&&n&&typeof r=="object"){if(Array.isArray(r)){if(i=r.length,i!==n.length)return!1;for(a=i;a--!==0;)if(!au(r[a],n[a]))return!1;return!0}if(s=Object.keys(r),i=s.length,i!==Object.keys(n).length)return!1;for(a=i;a--!==0;)if(!{}.hasOwnProperty.call(n,s[a]))return!1;for(a=i;a--!==0;){const l=s[a];if(!(l==="_owner"&&r.$$typeof)&&!au(r[l],n[l]))return!1}return!0}return r!==r&&n!==n}function P0(r){return typeof window>"u"?1:(r.ownerDocument.defaultView||window).devicePixelRatio||1}function Ty(r,n){const i=P0(r);return Math.round(n*i)/i}function Zf(r){const n=S.useRef(r);return $l(()=>{n.current=r}),n}function m2(r){r===void 0&&(r={});const{placement:n="bottom",strategy:i="absolute",middleware:a=[],platform:s,elements:{reference:l,floating:c}={},transform:f=!0,whileElementsMounted:d,open:g}=r,[m,v]=S.useState({x:0,y:0,strategy:i,placement:n,middlewareData:{},isPositioned:!1}),[y,b]=S.useState(a);au(y,a)||b(a);const[x,E]=S.useState(null),[T,M]=S.useState(null),N=S.useCallback(D=>{D!==B.current&&(B.current=D,E(D))},[]),L=S.useCallback(D=>{D!==_.current&&(_.current=D,M(D))},[]),C=l||x,R=c||T,B=S.useRef(null),_=S.useRef(null),$=S.useRef(m),z=d!=null,F=Zf(d),Y=Zf(s),I=Zf(g),j=S.useCallback(()=>{if(!B.current||!_.current)return;const D={placement:n,strategy:i,middleware:y};Y.current&&(D.platform=Y.current),p2(B.current,_.current,D).then(se=>{const G={...se,isPositioned:I.current!==!1};J.current&&!au($.current,G)&&($.current=G,xh.flushSync(()=>{v(G)}))})},[y,n,i,Y,I]);$l(()=>{g===!1&&$.current.isPositioned&&($.current.isPositioned=!1,v(D=>({...D,isPositioned:!1})))},[g]);const J=S.useRef(!1);$l(()=>(J.current=!0,()=>{J.current=!1}),[]),$l(()=>{if(C&&(B.current=C),R&&(_.current=R),C&&R){if(F.current)return F.current(C,R,j);j()}},[C,R,j,F,z]);const ae=S.useMemo(()=>({reference:B,floating:_,setReference:N,setFloating:L}),[N,L]),H=S.useMemo(()=>({reference:C,floating:R}),[C,R]),U=S.useMemo(()=>{const D={position:i,left:0,top:0};if(!H.floating)return D;const se=Ty(H.floating,m.x),G=Ty(H.floating,m.y);return f?{...D,transform:"translate("+se+"px, "+G+"px)",...P0(H.floating)>=1.5&&{willChange:"transform"}}:{position:i,left:se,top:G}},[i,f,H.floating,m.x,m.y]);return S.useMemo(()=>({...m,update:j,refs:ae,elements:H,floatingStyles:U}),[m,j,ae,H,U])}const v2=r=>{function n(i){return{}.hasOwnProperty.call(i,"current")}return{name:"arrow",options:r,fn(i){const{element:a,padding:s}=typeof r=="function"?r(i):r;return a&&n(a)?a.current!=null?_y({element:a.current,padding:s}).fn(i):{}:a?_y({element:a,padding:s}).fn(i):{}}}},y2=(r,n)=>({...u2(r),options:[r,n]}),b2=(r,n)=>({...c2(r),options:[r,n]}),w2=(r,n)=>({...g2(r),options:[r,n]}),E2=(r,n)=>({...f2(r),options:[r,n]}),S2=(r,n)=>({...d2(r),options:[r,n]}),x2=(r,n)=>({...h2(r),options:[r,n]}),_2=(r,n)=>({...v2(r),options:[r,n]});var T2="Arrow",$0=S.forwardRef((r,n)=>{const{children:i,width:a=10,height:s=5,...l}=r;return A.jsx(Je.svg,{...l,ref:n,width:a,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:r.asChild?i:A.jsx("polygon",{points:"0,0 30,0 15,10"})})});$0.displayName=T2;var C2=$0;function q0(r){const[n,i]=S.useState(void 0);return Li(()=>{if(r){i({width:r.offsetWidth,height:r.offsetHeight});const a=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const l=s[0];let c,f;if("borderBoxSize"in l){const d=l.borderBoxSize,g=Array.isArray(d)?d[0]:d;c=g.inlineSize,f=g.blockSize}else c=r.offsetWidth,f=r.offsetHeight;i({width:c,height:f})});return a.observe(r,{box:"border-box"}),()=>a.unobserve(r)}else i(void 0)},[r]),n}var Lh="Popper",[V0,vu]=rs(Lh),[A2,I0]=V0(Lh),Y0=r=>{const{__scopePopper:n,children:i}=r,[a,s]=S.useState(null);return A.jsx(A2,{scope:n,anchor:a,onAnchorChange:s,children:i})};Y0.displayName=Lh;var X0="PopperAnchor",Z0=S.forwardRef((r,n)=>{const{__scopePopper:i,virtualRef:a,...s}=r,l=I0(X0,i),c=S.useRef(null),f=Vt(n,c);return S.useEffect(()=>{l.onAnchorChange((a==null?void 0:a.current)||c.current)}),a?null:A.jsx(Je.div,{...s,ref:f})});Z0.displayName=X0;var Nh="PopperContent",[R2,D2]=V0(Nh),W0=S.forwardRef((r,n)=>{var ge,le,xe,pe,Ae,Te;const{__scopePopper:i,side:a="bottom",sideOffset:s=0,align:l="center",alignOffset:c=0,arrowPadding:f=0,avoidCollisions:d=!0,collisionBoundary:g=[],collisionPadding:m=0,sticky:v="partial",hideWhenDetached:y=!1,updatePositionStrategy:b="optimized",onPlaced:x,...E}=r,T=I0(Nh,i),[M,N]=S.useState(null),L=Vt(n,Le=>N(Le)),[C,R]=S.useState(null),B=q0(C),_=(B==null?void 0:B.width)??0,$=(B==null?void 0:B.height)??0,z=a+(l!=="center"?"-"+l:""),F=typeof m=="number"?m:{top:0,right:0,bottom:0,left:0,...m},Y=Array.isArray(g)?g:[g],I=Y.length>0,j={padding:F,boundary:Y.filter(k2),altBoundary:I},{refs:J,floatingStyles:ae,placement:H,isPositioned:U,middlewareData:D}=m2({strategy:"fixed",placement:z,whileElementsMounted:(...Le)=>l2(...Le,{animationFrame:b==="always"}),elements:{reference:T.anchor},middleware:[y2({mainAxis:s+$,alignmentAxis:c}),d&&b2({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?w2():void 0,...j}),d&&E2({...j}),S2({...j,apply:({elements:Le,rects:ve,availableWidth:he,availableHeight:K})=>{const{width:Re,height:Ve}=ve.reference,be=Le.floating.style;be.setProperty("--radix-popper-available-width",`${he}px`),be.setProperty("--radix-popper-available-height",`${K}px`),be.setProperty("--radix-popper-anchor-width",`${Re}px`),be.setProperty("--radix-popper-anchor-height",`${Ve}px`)}}),C&&_2({element:C,padding:f}),L2({arrowWidth:_,arrowHeight:$}),y&&x2({strategy:"referenceHidden",...j})]}),[se,G]=J0(H),P=Qr(x);Li(()=>{U&&(P==null||P())},[U,P]);const k=(ge=D.arrow)==null?void 0:ge.x,V=(le=D.arrow)==null?void 0:le.y,Q=((xe=D.arrow)==null?void 0:xe.centerOffset)!==0,[re,de]=S.useState();return Li(()=>{M&&de(window.getComputedStyle(M).zIndex)},[M]),A.jsx("div",{ref:J.setFloating,"data-radix-popper-content-wrapper":"",style:{...ae,transform:U?ae.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:re,"--radix-popper-transform-origin":[(pe=D.transformOrigin)==null?void 0:pe.x,(Ae=D.transformOrigin)==null?void 0:Ae.y].join(" "),...((Te=D.hide)==null?void 0:Te.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:r.dir,children:A.jsx(R2,{scope:i,placedSide:se,onArrowChange:R,arrowX:k,arrowY:V,shouldHideArrow:Q,children:A.jsx(Je.div,{"data-side":se,"data-align":G,...E,ref:L,style:{...E.style,animation:U?void 0:"none"}})})})});W0.displayName=Nh;var K0="PopperArrow",O2={top:"bottom",right:"left",bottom:"top",left:"right"},Q0=S.forwardRef(function(n,i){const{__scopePopper:a,...s}=n,l=D2(K0,a),c=O2[l.placedSide];return A.jsx("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[c]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:A.jsx(C2,{...s,ref:i,style:{...s.style,display:"block"}})})});Q0.displayName=K0;function k2(r){return r!==null}var L2=r=>({name:"transformOrigin",options:r,fn(n){var T,M,N;const{placement:i,rects:a,middlewareData:s}=n,c=((T=s.arrow)==null?void 0:T.centerOffset)!==0,f=c?0:r.arrowWidth,d=c?0:r.arrowHeight,[g,m]=J0(i),v={start:"0%",center:"50%",end:"100%"}[m],y=(((M=s.arrow)==null?void 0:M.x)??0)+f/2,b=(((N=s.arrow)==null?void 0:N.y)??0)+d/2;let x="",E="";return g==="bottom"?(x=c?v:`${y}px`,E=`${-d}px`):g==="top"?(x=c?v:`${y}px`,E=`${a.floating.height+d}px`):g==="right"?(x=`${-d}px`,E=c?v:`${b}px`):g==="left"&&(x=`${a.floating.width+d}px`,E=c?v:`${b}px`),{data:{x,y:E}}}});function J0(r){const[n,i="center"]=r.split("-");return[n,i]}var ew=Y0,zh=Z0,tw=W0,nw=Q0,N2="Portal",Gh=S.forwardRef((r,n)=>{var f;const{container:i,...a}=r,[s,l]=S.useState(!1);Li(()=>l(!0),[]);const c=i||s&&((f=globalThis==null?void 0:globalThis.document)==null?void 0:f.body);return c?aC.createPortal(A.jsx(Je.div,{...a,ref:n}),c):null});Gh.displayName=N2;function z2(r,n){return S.useReducer((i,a)=>n[i][a]??i,r)}var ni=r=>{const{present:n,children:i}=r,a=G2(n),s=typeof i=="function"?i({present:a.isPresent}):S.Children.only(i),l=Vt(a.ref,M2(s));return typeof i=="function"||a.isPresent?S.cloneElement(s,{ref:l}):null};ni.displayName="Presence";function G2(r){const[n,i]=S.useState(),a=S.useRef({}),s=S.useRef(r),l=S.useRef("none"),c=r?"mounted":"unmounted",[f,d]=z2(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return S.useEffect(()=>{const g=Cl(a.current);l.current=f==="mounted"?g:"none"},[f]),Li(()=>{const g=a.current,m=s.current;if(m!==r){const y=l.current,b=Cl(g);r?d("MOUNT"):b==="none"||(g==null?void 0:g.display)==="none"?d("UNMOUNT"):d(m&&y!==b?"ANIMATION_OUT":"UNMOUNT"),s.current=r}},[r,d]),Li(()=>{if(n){let g;const m=n.ownerDocument.defaultView??window,v=b=>{const E=Cl(a.current).includes(b.animationName);if(b.target===n&&E&&(d("ANIMATION_END"),!s.current)){const T=n.style.animationFillMode;n.style.animationFillMode="forwards",g=m.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=T)})}},y=b=>{b.target===n&&(l.current=Cl(a.current))};return n.addEventListener("animationstart",y),n.addEventListener("animationcancel",v),n.addEventListener("animationend",v),()=>{m.clearTimeout(g),n.removeEventListener("animationstart",y),n.removeEventListener("animationcancel",v),n.removeEventListener("animationend",v)}}else d("ANIMATION_END")},[n,d]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:S.useCallback(g=>{g&&(a.current=getComputedStyle(g)),i(g)},[])}}function Cl(r){return(r==null?void 0:r.animationName)||"none"}function M2(r){var a,s;let n=(a=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:a.get,i=n&&"isReactWarning"in n&&n.isReactWarning;return i?r.ref:(n=(s=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:s.get,i=n&&"isReactWarning"in n&&n.isReactWarning,i?r.props.ref:r.props.ref||r.ref)}function yu({prop:r,defaultProp:n,onChange:i=()=>{}}){const[a,s]=j2({defaultProp:n,onChange:i}),l=r!==void 0,c=l?r:a,f=Qr(i),d=S.useCallback(g=>{if(l){const v=typeof g=="function"?g(r):g;v!==r&&f(v)}else s(g)},[l,r,s,f]);return[c,d]}function j2({defaultProp:r,onChange:n}){const i=S.useState(r),[a]=i,s=S.useRef(a),l=Qr(n);return S.useEffect(()=>{s.current!==a&&(l(a),s.current=a)},[a,s,l]),i}var U2=function(r){if(typeof document>"u")return null;var n=Array.isArray(r)?r[0]:r;return n.ownerDocument.body},wa=new WeakMap,Al=new WeakMap,Rl={},Wf=0,rw=function(r){return r&&(r.host||rw(r.parentNode))},B2=function(r,n){return n.map(function(i){if(r.contains(i))return i;var a=rw(i);return a&&r.contains(a)?a:(console.error("aria-hidden",i,"in not contained inside",r,". Doing nothing"),null)}).filter(function(i){return!!i})},F2=function(r,n,i,a){var s=B2(n,Array.isArray(r)?r:[r]);Rl[i]||(Rl[i]=new WeakMap);var l=Rl[i],c=[],f=new Set,d=new Set(s),g=function(v){!v||f.has(v)||(f.add(v),g(v.parentNode))};s.forEach(g);var m=function(v){!v||d.has(v)||Array.prototype.forEach.call(v.children,function(y){if(f.has(y))m(y);else try{var b=y.getAttribute(a),x=b!==null&&b!=="false",E=(wa.get(y)||0)+1,T=(l.get(y)||0)+1;wa.set(y,E),l.set(y,T),c.push(y),E===1&&x&&Al.set(y,!0),T===1&&y.setAttribute(i,"true"),x||y.setAttribute(a,"true")}catch(M){console.error("aria-hidden: cannot operate on ",y,M)}})};return m(n),f.clear(),Wf++,function(){c.forEach(function(v){var y=wa.get(v)-1,b=l.get(v)-1;wa.set(v,y),l.set(v,b),y||(Al.has(v)||v.removeAttribute(a),Al.delete(v)),b||v.removeAttribute(i)}),Wf--,Wf||(wa=new WeakMap,wa=new WeakMap,Al=new WeakMap,Rl={})}},iw=function(r,n,i){i===void 0&&(i="data-aria-hidden");var a=Array.from(Array.isArray(r)?r:[r]),s=U2(r);return s?(a.push.apply(a,Array.from(s.querySelectorAll("[aria-live]"))),F2(a,s,i,"aria-hidden")):function(){return null}},Pn=function(){return Pn=Object.assign||function(n){for(var i,a=1,s=arguments.length;a"u")return rA;var n=iA(r),i=document.documentElement.clientWidth,a=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,a-i+n[2]-n[0])}},oA=lw(),Ra="data-scroll-locked",sA=function(r,n,i,a){var s=r.left,l=r.top,c=r.right,f=r.gap;return i===void 0&&(i="margin"),` - .`.concat(P2,` { - overflow: hidden `).concat(a,`; - padding-right: `).concat(f,"px ").concat(a,`; - } - body[`).concat(Ra,`] { - overflow: hidden `).concat(a,`; - overscroll-behavior: contain; - `).concat([n&&"position: relative ".concat(a,";"),i==="margin"&&` - padding-left: `.concat(s,`px; - padding-top: `).concat(l,`px; - padding-right: `).concat(c,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(f,"px ").concat(a,`; - `),i==="padding"&&"padding-right: ".concat(f,"px ").concat(a,";")].filter(Boolean).join(""),` - } - - .`).concat(ql,` { - right: `).concat(f,"px ").concat(a,`; - } - - .`).concat(Vl,` { - margin-right: `).concat(f,"px ").concat(a,`; - } - - .`).concat(ql," .").concat(ql,` { - right: 0 `).concat(a,`; - } - - .`).concat(Vl," .").concat(Vl,` { - margin-right: 0 `).concat(a,`; - } - - body[`).concat(Ra,`] { - `).concat($2,": ").concat(f,`px; - } -`)},Ay=function(){var r=parseInt(document.body.getAttribute(Ra)||"0",10);return isFinite(r)?r:0},lA=function(){S.useEffect(function(){return document.body.setAttribute(Ra,(Ay()+1).toString()),function(){var r=Ay()-1;r<=0?document.body.removeAttribute(Ra):document.body.setAttribute(Ra,r.toString())}},[])},uA=function(r){var n=r.noRelative,i=r.noImportant,a=r.gapMode,s=a===void 0?"margin":a;lA();var l=S.useMemo(function(){return aA(s)},[s]);return S.createElement(oA,{styles:sA(l,!n,s,i?"":"!important")})},Jd=!1;if(typeof window<"u")try{var Dl=Object.defineProperty({},"passive",{get:function(){return Jd=!0,!0}});window.addEventListener("test",Dl,Dl),window.removeEventListener("test",Dl,Dl)}catch{Jd=!1}var Ea=Jd?{passive:!1}:!1,cA=function(r){return r.tagName==="TEXTAREA"},uw=function(r,n){if(!(r instanceof Element))return!1;var i=window.getComputedStyle(r);return i[n]!=="hidden"&&!(i.overflowY===i.overflowX&&!cA(r)&&i[n]==="visible")},fA=function(r){return uw(r,"overflowY")},dA=function(r){return uw(r,"overflowX")},Ry=function(r,n){var i=n.ownerDocument,a=n;do{typeof ShadowRoot<"u"&&a instanceof ShadowRoot&&(a=a.host);var s=cw(r,a);if(s){var l=fw(r,a),c=l[1],f=l[2];if(c>f)return!0}a=a.parentNode}while(a&&a!==i.body);return!1},hA=function(r){var n=r.scrollTop,i=r.scrollHeight,a=r.clientHeight;return[n,i,a]},gA=function(r){var n=r.scrollLeft,i=r.scrollWidth,a=r.clientWidth;return[n,i,a]},cw=function(r,n){return r==="v"?fA(n):dA(n)},fw=function(r,n){return r==="v"?hA(n):gA(n)},pA=function(r,n){return r==="h"&&n==="rtl"?-1:1},mA=function(r,n,i,a,s){var l=pA(r,window.getComputedStyle(n).direction),c=l*a,f=i.target,d=n.contains(f),g=!1,m=c>0,v=0,y=0;do{var b=fw(r,f),x=b[0],E=b[1],T=b[2],M=E-T-l*x;(x||M)&&cw(r,f)&&(v+=M,y+=x),f instanceof ShadowRoot?f=f.host:f=f.parentNode}while(!d&&f!==document.body||d&&(n.contains(f)||n===f));return(m&&Math.abs(v)<1||!m&&Math.abs(y)<1)&&(g=!0),g},Ol=function(r){return"changedTouches"in r?[r.changedTouches[0].clientX,r.changedTouches[0].clientY]:[0,0]},Dy=function(r){return[r.deltaX,r.deltaY]},Oy=function(r){return r&&"current"in r?r.current:r},vA=function(r,n){return r[0]===n[0]&&r[1]===n[1]},yA=function(r){return` - .block-interactivity-`.concat(r,` {pointer-events: none;} - .allow-interactivity-`).concat(r,` {pointer-events: all;} -`)},bA=0,Sa=[];function wA(r){var n=S.useRef([]),i=S.useRef([0,0]),a=S.useRef(),s=S.useState(bA++)[0],l=S.useState(lw)[0],c=S.useRef(r);S.useEffect(function(){c.current=r},[r]),S.useEffect(function(){if(r.inert){document.body.classList.add("block-interactivity-".concat(s));var E=H2([r.lockRef.current],(r.shards||[]).map(Oy),!0).filter(Boolean);return E.forEach(function(T){return T.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),E.forEach(function(T){return T.classList.remove("allow-interactivity-".concat(s))})}}},[r.inert,r.lockRef.current,r.shards]);var f=S.useCallback(function(E,T){if("touches"in E&&E.touches.length===2||E.type==="wheel"&&E.ctrlKey)return!c.current.allowPinchZoom;var M=Ol(E),N=i.current,L="deltaX"in E?E.deltaX:N[0]-M[0],C="deltaY"in E?E.deltaY:N[1]-M[1],R,B=E.target,_=Math.abs(L)>Math.abs(C)?"h":"v";if("touches"in E&&_==="h"&&B.type==="range")return!1;var $=Ry(_,B);if(!$)return!0;if($?R=_:(R=_==="v"?"h":"v",$=Ry(_,B)),!$)return!1;if(!a.current&&"changedTouches"in E&&(L||C)&&(a.current=R),!R)return!0;var z=a.current||R;return mA(z,T,E,z==="h"?L:C)},[]),d=S.useCallback(function(E){var T=E;if(!(!Sa.length||Sa[Sa.length-1]!==l)){var M="deltaY"in T?Dy(T):Ol(T),N=n.current.filter(function(R){return R.name===T.type&&(R.target===T.target||T.target===R.shadowParent)&&vA(R.delta,M)})[0];if(N&&N.should){T.cancelable&&T.preventDefault();return}if(!N){var L=(c.current.shards||[]).map(Oy).filter(Boolean).filter(function(R){return R.contains(T.target)}),C=L.length>0?f(T,L[0]):!c.current.noIsolation;C&&T.cancelable&&T.preventDefault()}}},[]),g=S.useCallback(function(E,T,M,N){var L={name:E,delta:T,target:M,should:N,shadowParent:EA(M)};n.current.push(L),setTimeout(function(){n.current=n.current.filter(function(C){return C!==L})},1)},[]),m=S.useCallback(function(E){i.current=Ol(E),a.current=void 0},[]),v=S.useCallback(function(E){g(E.type,Dy(E),E.target,f(E,r.lockRef.current))},[]),y=S.useCallback(function(E){g(E.type,Ol(E),E.target,f(E,r.lockRef.current))},[]);S.useEffect(function(){return Sa.push(l),r.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:y}),document.addEventListener("wheel",d,Ea),document.addEventListener("touchmove",d,Ea),document.addEventListener("touchstart",m,Ea),function(){Sa=Sa.filter(function(E){return E!==l}),document.removeEventListener("wheel",d,Ea),document.removeEventListener("touchmove",d,Ea),document.removeEventListener("touchstart",m,Ea)}},[]);var b=r.removeScrollBar,x=r.inert;return S.createElement(S.Fragment,null,x?S.createElement(l,{styles:yA(s)}):null,b?S.createElement(uA,{gapMode:r.gapMode}):null)}function EA(r){for(var n=null;r!==null;)r instanceof ShadowRoot&&(n=r.host,r=r.host),r=r.parentNode;return n}const SA=W2(sw,wA);var Mh=S.forwardRef(function(r,n){return S.createElement(bu,Pn({},r,{ref:n,sideCar:SA}))});Mh.classNames=bu.classNames;var jh="Popover",[dw,Az]=rs(jh,[vu]),os=vu(),[xA,ri]=dw(jh),hw=r=>{const{__scopePopover:n,children:i,open:a,defaultOpen:s,onOpenChange:l,modal:c=!1}=r,f=os(n),d=S.useRef(null),[g,m]=S.useState(!1),[v=!1,y]=yu({prop:a,defaultProp:s,onChange:l});return A.jsx(ew,{...f,children:A.jsx(xA,{scope:n,contentId:Ln(),triggerRef:d,open:v,onOpenChange:y,onOpenToggle:S.useCallback(()=>y(b=>!b),[y]),hasCustomAnchor:g,onCustomAnchorAdd:S.useCallback(()=>m(!0),[]),onCustomAnchorRemove:S.useCallback(()=>m(!1),[]),modal:c,children:i})})};hw.displayName=jh;var gw="PopoverAnchor",_A=S.forwardRef((r,n)=>{const{__scopePopover:i,...a}=r,s=ri(gw,i),l=os(i),{onCustomAnchorAdd:c,onCustomAnchorRemove:f}=s;return S.useEffect(()=>(c(),()=>f()),[c,f]),A.jsx(zh,{...l,...a,ref:n})});_A.displayName=gw;var pw="PopoverTrigger",mw=S.forwardRef((r,n)=>{const{__scopePopover:i,...a}=r,s=ri(pw,i),l=os(i),c=Vt(n,s.triggerRef),f=A.jsx(Je.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":Ew(s.open),...a,ref:c,onClick:ht(r.onClick,s.onOpenToggle)});return s.hasCustomAnchor?f:A.jsx(zh,{asChild:!0,...l,children:f})});mw.displayName=pw;var Uh="PopoverPortal",[TA,CA]=dw(Uh,{forceMount:void 0}),vw=r=>{const{__scopePopover:n,forceMount:i,children:a,container:s}=r,l=ri(Uh,n);return A.jsx(TA,{scope:n,forceMount:i,children:A.jsx(ni,{present:i||l.open,children:A.jsx(Gh,{asChild:!0,container:s,children:a})})})};vw.displayName=Uh;var ka="PopoverContent",yw=S.forwardRef((r,n)=>{const i=CA(ka,r.__scopePopover),{forceMount:a=i.forceMount,...s}=r,l=ri(ka,r.__scopePopover);return A.jsx(ni,{present:a||l.open,children:l.modal?A.jsx(AA,{...s,ref:n}):A.jsx(RA,{...s,ref:n})})});yw.displayName=ka;var AA=S.forwardRef((r,n)=>{const i=ri(ka,r.__scopePopover),a=S.useRef(null),s=Vt(n,a),l=S.useRef(!1);return S.useEffect(()=>{const c=a.current;if(c)return iw(c)},[]),A.jsx(Mh,{as:is,allowPinchZoom:!0,children:A.jsx(bw,{...r,ref:s,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ht(r.onCloseAutoFocus,c=>{var f;c.preventDefault(),l.current||(f=i.triggerRef.current)==null||f.focus()}),onPointerDownOutside:ht(r.onPointerDownOutside,c=>{const f=c.detail.originalEvent,d=f.button===0&&f.ctrlKey===!0,g=f.button===2||d;l.current=g},{checkForDefaultPrevented:!1}),onFocusOutside:ht(r.onFocusOutside,c=>c.preventDefault(),{checkForDefaultPrevented:!1})})})}),RA=S.forwardRef((r,n)=>{const i=ri(ka,r.__scopePopover),a=S.useRef(!1),s=S.useRef(!1);return A.jsx(bw,{...r,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{var c,f;(c=r.onCloseAutoFocus)==null||c.call(r,l),l.defaultPrevented||(a.current||(f=i.triggerRef.current)==null||f.focus(),l.preventDefault()),a.current=!1,s.current=!1},onInteractOutside:l=>{var d,g;(d=r.onInteractOutside)==null||d.call(r,l),l.defaultPrevented||(a.current=!0,l.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const c=l.target;((g=i.triggerRef.current)==null?void 0:g.contains(c))&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&s.current&&l.preventDefault()}})}),bw=S.forwardRef((r,n)=>{const{__scopePopover:i,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:l,disableOutsidePointerEvents:c,onEscapeKeyDown:f,onPointerDownOutside:d,onFocusOutside:g,onInteractOutside:m,...v}=r,y=ri(ka,i),b=os(i);return k0(),A.jsx(_h,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:s,onUnmountAutoFocus:l,children:A.jsx(hu,{asChild:!0,disableOutsidePointerEvents:c,onInteractOutside:m,onEscapeKeyDown:f,onPointerDownOutside:d,onFocusOutside:g,onDismiss:()=>y.onOpenChange(!1),children:A.jsx(tw,{"data-state":Ew(y.open),role:"dialog",id:y.contentId,...b,...v,ref:n,style:{...v.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),ww="PopoverClose",DA=S.forwardRef((r,n)=>{const{__scopePopover:i,...a}=r,s=ri(ww,i);return A.jsx(Je.button,{type:"button",...a,ref:n,onClick:ht(r.onClick,()=>s.onOpenChange(!1))})});DA.displayName=ww;var OA="PopoverArrow",kA=S.forwardRef((r,n)=>{const{__scopePopover:i,...a}=r,s=os(i);return A.jsx(nw,{...s,...a,ref:n})});kA.displayName=OA;function Ew(r){return r?"open":"closed"}var LA=hw,NA=mw,zA=vw,Sw=yw;const wu=LA,Eu=NA,ss=S.forwardRef(({className:r,align:n="center",sideOffset:i=4,...a},s)=>A.jsx(zA,{children:A.jsx(Sw,{ref:s,align:n,sideOffset:i,className:Xe("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 rounded-md border p-4 shadow-md outline-none",r),...a})}));ss.displayName=Sw.displayName;const GA=({status:r})=>r?A.jsxs("div",{className:"min-w-[300px] space-y-3 text-sm",children:[A.jsxs("div",{className:"space-y-1",children:[A.jsx("h4",{className:"font-medium",children:"Storage Info"}),A.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[A.jsx("span",{children:"Working Directory:"}),A.jsx("span",{className:"truncate",children:r.working_directory}),A.jsx("span",{children:"Input Directory:"}),A.jsx("span",{className:"truncate",children:r.input_directory}),A.jsx("span",{children:"Indexed Files:"}),A.jsx("span",{children:r.indexed_files_count})]})]}),A.jsxs("div",{className:"space-y-1",children:[A.jsx("h4",{className:"font-medium",children:"LLM Configuration"}),A.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[A.jsx("span",{children:"LLM Binding:"}),A.jsx("span",{children:r.configuration.llm_binding}),A.jsx("span",{children:"LLM Binding Host:"}),A.jsx("span",{children:r.configuration.llm_binding_host}),A.jsx("span",{children:"LLM Model:"}),A.jsx("span",{children:r.configuration.llm_model}),A.jsx("span",{children:"Max Tokens:"}),A.jsx("span",{children:r.configuration.max_tokens})]})]}),A.jsxs("div",{className:"space-y-1",children:[A.jsx("h4",{className:"font-medium",children:"Embedding Configuration"}),A.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[A.jsx("span",{children:"Embedding Binding:"}),A.jsx("span",{children:r.configuration.embedding_binding}),A.jsx("span",{children:"Embedding Binding Host:"}),A.jsx("span",{children:r.configuration.embedding_binding_host}),A.jsx("span",{children:"Embedding Model:"}),A.jsx("span",{children:r.configuration.embedding_model})]})]}),A.jsxs("div",{className:"space-y-1",children:[A.jsx("h4",{className:"font-medium",children:"Storage Configuration"}),A.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[A.jsx("span",{children:"KV Storage:"}),A.jsx("span",{children:r.configuration.kv_storage}),A.jsx("span",{children:"Doc Status Storage:"}),A.jsx("span",{children:r.configuration.doc_status_storage}),A.jsx("span",{children:"Graph Storage:"}),A.jsx("span",{children:r.configuration.graph_storage}),A.jsx("span",{children:"Vector Storage:"}),A.jsx("span",{children:r.configuration.vector_storage})]})]})]}):A.jsx("div",{className:"text-muted-foreground text-sm",children:"Status information unavailable"}),MA=()=>{const r=kn.use.health(),n=kn.use.lastCheckTime(),i=kn.use.status(),[a,s]=S.useState(!1);return S.useEffect(()=>{s(!0);const l=setTimeout(()=>s(!1),300);return()=>clearTimeout(l)},[n]),A.jsx("div",{className:"fixed right-4 bottom-4 flex items-center gap-2 opacity-80 select-none",children:A.jsxs(wu,{children:[A.jsx(Eu,{asChild:!0,children:A.jsxs("div",{className:"flex cursor-help items-center gap-2",children:[A.jsx("div",{className:Xe("h-3 w-3 rounded-full transition-all duration-300","shadow-[0_0_8px_rgba(0,0,0,0.2)]",r?"bg-green-500":"bg-red-500",a&&"scale-125",a&&r&&"shadow-[0_0_12px_rgba(34,197,94,0.4)]",a&&!r&&"shadow-[0_0_12px_rgba(239,68,68,0.4)]")}),A.jsx("span",{className:"text-muted-foreground text-xs",children:r?"Connected":"Disconnected"})]})}),A.jsx(ss,{className:"w-auto",side:"top",align:"end",children:A.jsx(GA,{status:i})})]})})};var kl={exports:{}},ky;function jA(){if(ky)return kl.exports;ky=1;var r=typeof Reflect=="object"?Reflect:null,n=r&&typeof r.apply=="function"?r.apply:function(R,B,_){return Function.prototype.apply.call(R,B,_)},i;r&&typeof r.ownKeys=="function"?i=r.ownKeys:Object.getOwnPropertySymbols?i=function(R){return Object.getOwnPropertyNames(R).concat(Object.getOwnPropertySymbols(R))}:i=function(R){return Object.getOwnPropertyNames(R)};function a(C){console&&console.warn&&console.warn(C)}var s=Number.isNaN||function(R){return R!==R};function l(){l.init.call(this)}kl.exports=l,kl.exports.once=M,l.EventEmitter=l,l.prototype._events=void 0,l.prototype._eventsCount=0,l.prototype._maxListeners=void 0;var c=10;function f(C){if(typeof C!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof C)}Object.defineProperty(l,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(C){if(typeof C!="number"||C<0||s(C))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+C+".");c=C}}),l.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},l.prototype.setMaxListeners=function(R){if(typeof R!="number"||R<0||s(R))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+R+".");return this._maxListeners=R,this};function d(C){return C._maxListeners===void 0?l.defaultMaxListeners:C._maxListeners}l.prototype.getMaxListeners=function(){return d(this)},l.prototype.emit=function(R){for(var B=[],_=1;_0&&(F=B[0]),F instanceof Error)throw F;var Y=new Error("Unhandled error."+(F?" ("+F.message+")":""));throw Y.context=F,Y}var I=z[R];if(I===void 0)return!1;if(typeof I=="function")n(I,this,B);else for(var j=I.length,J=x(I,j),_=0;_0&&F.length>$&&!F.warned){F.warned=!0;var Y=new Error("Possible EventEmitter memory leak detected. "+F.length+" "+String(R)+" listeners added. Use emitter.setMaxListeners() to increase limit");Y.name="MaxListenersExceededWarning",Y.emitter=C,Y.type=R,Y.count=F.length,a(Y)}return C}l.prototype.addListener=function(R,B){return g(this,R,B,!1)},l.prototype.on=l.prototype.addListener,l.prototype.prependListener=function(R,B){return g(this,R,B,!0)};function m(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function v(C,R,B){var _={fired:!1,wrapFn:void 0,target:C,type:R,listener:B},$=m.bind(_);return $.listener=B,_.wrapFn=$,$}l.prototype.once=function(R,B){return f(B),this.on(R,v(this,R,B)),this},l.prototype.prependOnceListener=function(R,B){return f(B),this.prependListener(R,v(this,R,B)),this},l.prototype.removeListener=function(R,B){var _,$,z,F,Y;if(f(B),$=this._events,$===void 0)return this;if(_=$[R],_===void 0)return this;if(_===B||_.listener===B)--this._eventsCount===0?this._events=Object.create(null):(delete $[R],$.removeListener&&this.emit("removeListener",R,_.listener||B));else if(typeof _!="function"){for(z=-1,F=_.length-1;F>=0;F--)if(_[F]===B||_[F].listener===B){Y=_[F].listener,z=F;break}if(z<0)return this;z===0?_.shift():E(_,z),_.length===1&&($[R]=_[0]),$.removeListener!==void 0&&this.emit("removeListener",R,Y||B)}return this},l.prototype.off=l.prototype.removeListener,l.prototype.removeAllListeners=function(R){var B,_,$;if(_=this._events,_===void 0)return this;if(_.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):_[R]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete _[R]),this;if(arguments.length===0){var z=Object.keys(_),F;for($=0;$=0;$--)this.removeListener(R,B[$]);return this};function y(C,R,B){var _=C._events;if(_===void 0)return[];var $=_[R];return $===void 0?[]:typeof $=="function"?B?[$.listener||$]:[$]:B?T($):x($,$.length)}l.prototype.listeners=function(R){return y(this,R,!0)},l.prototype.rawListeners=function(R){return y(this,R,!1)},l.listenerCount=function(C,R){return typeof C.listenerCount=="function"?C.listenerCount(R):b.call(C,R)},l.prototype.listenerCount=b;function b(C){var R=this._events;if(R!==void 0){var B=R[C];if(typeof B=="function")return 1;if(B!==void 0)return B.length}return 0}l.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]};function x(C,R){for(var B=new Array(R),_=0;_r++}function yr(){const r=arguments;let n=null,i=-1;return{[Symbol.iterator](){return this},next(){let a=null;do{if(n===null){if(i++,i>=r.length)return{done:!0};n=r[i][Symbol.iterator]()}if(a=n.next(),a.done){n=null;continue}break}while(!0);return a}}}function Ba(){return{[Symbol.iterator](){return this},next(){return{done:!0}}}}class Bh extends Error{constructor(n){super(),this.name="GraphError",this.message=n}}class ye extends Bh{constructor(n){super(n),this.name="InvalidArgumentsGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ye.prototype.constructor)}}class me extends Bh{constructor(n){super(n),this.name="NotFoundGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,me.prototype.constructor)}}class ke extends Bh{constructor(n){super(n),this.name="UsageGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ke.prototype.constructor)}}function Tw(r,n){this.key=r,this.attributes=n,this.clear()}Tw.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.undirectedLoops=0,this.directedLoops=0,this.in={},this.out={},this.undirected={}};function Cw(r,n){this.key=r,this.attributes=n,this.clear()}Cw.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.directedLoops=0,this.in={},this.out={}};function Aw(r,n){this.key=r,this.attributes=n,this.clear()}Aw.prototype.clear=function(){this.undirectedDegree=0,this.undirectedLoops=0,this.undirected={}};function Fa(r,n,i,a,s){this.key=n,this.attributes=s,this.undirected=r,this.source=i,this.target=a}Fa.prototype.attach=function(){let r="out",n="in";this.undirected&&(r=n="undirected");const i=this.source.key,a=this.target.key;this.source[r][a]=this,!(this.undirected&&i===a)&&(this.target[n][i]=this)};Fa.prototype.attachMulti=function(){let r="out",n="in";const i=this.source.key,a=this.target.key;this.undirected&&(r=n="undirected");const s=this.source[r],l=s[a];if(typeof l>"u"){s[a]=this,this.undirected&&i===a||(this.target[n][i]=this);return}l.previous=this,this.next=l,s[a]=this,this.target[n][i]=this};Fa.prototype.detach=function(){const r=this.source.key,n=this.target.key;let i="out",a="in";this.undirected&&(i=a="undirected"),delete this.source[i][n],delete this.target[a][r]};Fa.prototype.detachMulti=function(){const r=this.source.key,n=this.target.key;let i="out",a="in";this.undirected&&(i=a="undirected"),this.previous===void 0?this.next===void 0?(delete this.source[i][n],delete this.target[a][r]):(this.next.previous=void 0,this.source[i][n]=this.next,this.target[a][r]=this.next):(this.previous.next=this.next,this.next!==void 0&&(this.next.previous=this.previous))};const Rw=0,Dw=1,FA=2,Ow=3;function Er(r,n,i,a,s,l,c){let f,d,g,m;if(a=""+a,i===Rw){if(f=r._nodes.get(a),!f)throw new me(`Graph.${n}: could not find the "${a}" node in the graph.`);g=s,m=l}else if(i===Ow){if(s=""+s,d=r._edges.get(s),!d)throw new me(`Graph.${n}: could not find the "${s}" edge in the graph.`);const v=d.source.key,y=d.target.key;if(a===v)f=d.target;else if(a===y)f=d.source;else throw new me(`Graph.${n}: the "${a}" node is not attached to the "${s}" edge (${v}, ${y}).`);g=l,m=c}else{if(d=r._edges.get(a),!d)throw new me(`Graph.${n}: could not find the "${a}" edge in the graph.`);i===Dw?f=d.source:f=d.target,g=s,m=l}return[f,g,m]}function HA(r,n,i){r.prototype[n]=function(a,s,l){const[c,f]=Er(this,n,i,a,s,l);return c.attributes[f]}}function PA(r,n,i){r.prototype[n]=function(a,s){const[l]=Er(this,n,i,a,s);return l.attributes}}function $A(r,n,i){r.prototype[n]=function(a,s,l){const[c,f]=Er(this,n,i,a,s,l);return c.attributes.hasOwnProperty(f)}}function qA(r,n,i){r.prototype[n]=function(a,s,l,c){const[f,d,g]=Er(this,n,i,a,s,l,c);return f.attributes[d]=g,this.emit("nodeAttributesUpdated",{key:f.key,type:"set",attributes:f.attributes,name:d}),this}}function VA(r,n,i){r.prototype[n]=function(a,s,l,c){const[f,d,g]=Er(this,n,i,a,s,l,c);if(typeof g!="function")throw new ye(`Graph.${n}: updater should be a function.`);const m=f.attributes,v=g(m[d]);return m[d]=v,this.emit("nodeAttributesUpdated",{key:f.key,type:"set",attributes:f.attributes,name:d}),this}}function IA(r,n,i){r.prototype[n]=function(a,s,l){const[c,f]=Er(this,n,i,a,s,l);return delete c.attributes[f],this.emit("nodeAttributesUpdated",{key:c.key,type:"remove",attributes:c.attributes,name:f}),this}}function YA(r,n,i){r.prototype[n]=function(a,s,l){const[c,f]=Er(this,n,i,a,s,l);if(!Nt(f))throw new ye(`Graph.${n}: provided attributes are not a plain object.`);return c.attributes=f,this.emit("nodeAttributesUpdated",{key:c.key,type:"replace",attributes:c.attributes}),this}}function XA(r,n,i){r.prototype[n]=function(a,s,l){const[c,f]=Er(this,n,i,a,s,l);if(!Nt(f))throw new ye(`Graph.${n}: provided attributes are not a plain object.`);return wt(c.attributes,f),this.emit("nodeAttributesUpdated",{key:c.key,type:"merge",attributes:c.attributes,data:f}),this}}function ZA(r,n,i){r.prototype[n]=function(a,s,l){const[c,f]=Er(this,n,i,a,s,l);if(typeof f!="function")throw new ye(`Graph.${n}: provided updater is not a function.`);return c.attributes=f(c.attributes),this.emit("nodeAttributesUpdated",{key:c.key,type:"update",attributes:c.attributes}),this}}const WA=[{name:r=>`get${r}Attribute`,attacher:HA},{name:r=>`get${r}Attributes`,attacher:PA},{name:r=>`has${r}Attribute`,attacher:$A},{name:r=>`set${r}Attribute`,attacher:qA},{name:r=>`update${r}Attribute`,attacher:VA},{name:r=>`remove${r}Attribute`,attacher:IA},{name:r=>`replace${r}Attributes`,attacher:YA},{name:r=>`merge${r}Attributes`,attacher:XA},{name:r=>`update${r}Attributes`,attacher:ZA}];function KA(r){WA.forEach(function({name:n,attacher:i}){i(r,n("Node"),Rw),i(r,n("Source"),Dw),i(r,n("Target"),FA),i(r,n("Opposite"),Ow)})}function QA(r,n,i){r.prototype[n]=function(a,s){let l;if(this.type!=="mixed"&&i!=="mixed"&&i!==this.type)throw new ke(`Graph.${n}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new ke(`Graph.${n}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,f=""+s;if(s=arguments[2],l=En(this,c,f,i),!l)throw new me(`Graph.${n}: could not find an edge for the given path ("${c}" - "${f}").`)}else{if(i!=="mixed")throw new ke(`Graph.${n}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,l=this._edges.get(a),!l)throw new me(`Graph.${n}: could not find the "${a}" edge in the graph.`)}return l.attributes[s]}}function JA(r,n,i){r.prototype[n]=function(a){let s;if(this.type!=="mixed"&&i!=="mixed"&&i!==this.type)throw new ke(`Graph.${n}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>1){if(this.multi)throw new ke(`Graph.${n}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const l=""+a,c=""+arguments[1];if(s=En(this,l,c,i),!s)throw new me(`Graph.${n}: could not find an edge for the given path ("${l}" - "${c}").`)}else{if(i!=="mixed")throw new ke(`Graph.${n}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,s=this._edges.get(a),!s)throw new me(`Graph.${n}: could not find the "${a}" edge in the graph.`)}return s.attributes}}function eR(r,n,i){r.prototype[n]=function(a,s){let l;if(this.type!=="mixed"&&i!=="mixed"&&i!==this.type)throw new ke(`Graph.${n}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new ke(`Graph.${n}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,f=""+s;if(s=arguments[2],l=En(this,c,f,i),!l)throw new me(`Graph.${n}: could not find an edge for the given path ("${c}" - "${f}").`)}else{if(i!=="mixed")throw new ke(`Graph.${n}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,l=this._edges.get(a),!l)throw new me(`Graph.${n}: could not find the "${a}" edge in the graph.`)}return l.attributes.hasOwnProperty(s)}}function tR(r,n,i){r.prototype[n]=function(a,s,l){let c;if(this.type!=="mixed"&&i!=="mixed"&&i!==this.type)throw new ke(`Graph.${n}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new ke(`Graph.${n}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const f=""+a,d=""+s;if(s=arguments[2],l=arguments[3],c=En(this,f,d,i),!c)throw new me(`Graph.${n}: could not find an edge for the given path ("${f}" - "${d}").`)}else{if(i!=="mixed")throw new ke(`Graph.${n}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,c=this._edges.get(a),!c)throw new me(`Graph.${n}: could not find the "${a}" edge in the graph.`)}return c.attributes[s]=l,this.emit("edgeAttributesUpdated",{key:c.key,type:"set",attributes:c.attributes,name:s}),this}}function nR(r,n,i){r.prototype[n]=function(a,s,l){let c;if(this.type!=="mixed"&&i!=="mixed"&&i!==this.type)throw new ke(`Graph.${n}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new ke(`Graph.${n}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const f=""+a,d=""+s;if(s=arguments[2],l=arguments[3],c=En(this,f,d,i),!c)throw new me(`Graph.${n}: could not find an edge for the given path ("${f}" - "${d}").`)}else{if(i!=="mixed")throw new ke(`Graph.${n}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,c=this._edges.get(a),!c)throw new me(`Graph.${n}: could not find the "${a}" edge in the graph.`)}if(typeof l!="function")throw new ye(`Graph.${n}: updater should be a function.`);return c.attributes[s]=l(c.attributes[s]),this.emit("edgeAttributesUpdated",{key:c.key,type:"set",attributes:c.attributes,name:s}),this}}function rR(r,n,i){r.prototype[n]=function(a,s){let l;if(this.type!=="mixed"&&i!=="mixed"&&i!==this.type)throw new ke(`Graph.${n}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new ke(`Graph.${n}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,f=""+s;if(s=arguments[2],l=En(this,c,f,i),!l)throw new me(`Graph.${n}: could not find an edge for the given path ("${c}" - "${f}").`)}else{if(i!=="mixed")throw new ke(`Graph.${n}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,l=this._edges.get(a),!l)throw new me(`Graph.${n}: could not find the "${a}" edge in the graph.`)}return delete l.attributes[s],this.emit("edgeAttributesUpdated",{key:l.key,type:"remove",attributes:l.attributes,name:s}),this}}function iR(r,n,i){r.prototype[n]=function(a,s){let l;if(this.type!=="mixed"&&i!=="mixed"&&i!==this.type)throw new ke(`Graph.${n}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new ke(`Graph.${n}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,f=""+s;if(s=arguments[2],l=En(this,c,f,i),!l)throw new me(`Graph.${n}: could not find an edge for the given path ("${c}" - "${f}").`)}else{if(i!=="mixed")throw new ke(`Graph.${n}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,l=this._edges.get(a),!l)throw new me(`Graph.${n}: could not find the "${a}" edge in the graph.`)}if(!Nt(s))throw new ye(`Graph.${n}: provided attributes are not a plain object.`);return l.attributes=s,this.emit("edgeAttributesUpdated",{key:l.key,type:"replace",attributes:l.attributes}),this}}function aR(r,n,i){r.prototype[n]=function(a,s){let l;if(this.type!=="mixed"&&i!=="mixed"&&i!==this.type)throw new ke(`Graph.${n}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new ke(`Graph.${n}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,f=""+s;if(s=arguments[2],l=En(this,c,f,i),!l)throw new me(`Graph.${n}: could not find an edge for the given path ("${c}" - "${f}").`)}else{if(i!=="mixed")throw new ke(`Graph.${n}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,l=this._edges.get(a),!l)throw new me(`Graph.${n}: could not find the "${a}" edge in the graph.`)}if(!Nt(s))throw new ye(`Graph.${n}: provided attributes are not a plain object.`);return wt(l.attributes,s),this.emit("edgeAttributesUpdated",{key:l.key,type:"merge",attributes:l.attributes,data:s}),this}}function oR(r,n,i){r.prototype[n]=function(a,s){let l;if(this.type!=="mixed"&&i!=="mixed"&&i!==this.type)throw new ke(`Graph.${n}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new ke(`Graph.${n}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,f=""+s;if(s=arguments[2],l=En(this,c,f,i),!l)throw new me(`Graph.${n}: could not find an edge for the given path ("${c}" - "${f}").`)}else{if(i!=="mixed")throw new ke(`Graph.${n}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,l=this._edges.get(a),!l)throw new me(`Graph.${n}: could not find the "${a}" edge in the graph.`)}if(typeof s!="function")throw new ye(`Graph.${n}: provided updater is not a function.`);return l.attributes=s(l.attributes),this.emit("edgeAttributesUpdated",{key:l.key,type:"update",attributes:l.attributes}),this}}const sR=[{name:r=>`get${r}Attribute`,attacher:QA},{name:r=>`get${r}Attributes`,attacher:JA},{name:r=>`has${r}Attribute`,attacher:eR},{name:r=>`set${r}Attribute`,attacher:tR},{name:r=>`update${r}Attribute`,attacher:nR},{name:r=>`remove${r}Attribute`,attacher:rR},{name:r=>`replace${r}Attributes`,attacher:iR},{name:r=>`merge${r}Attributes`,attacher:aR},{name:r=>`update${r}Attributes`,attacher:oR}];function lR(r){sR.forEach(function({name:n,attacher:i}){i(r,n("Edge"),"mixed"),i(r,n("DirectedEdge"),"directed"),i(r,n("UndirectedEdge"),"undirected")})}const uR=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function cR(r,n,i,a){let s=!1;for(const l in n){if(l===a)continue;const c=n[l];if(s=i(c.key,c.attributes,c.source.key,c.target.key,c.source.attributes,c.target.attributes,c.undirected),r&&s)return c.key}}function fR(r,n,i,a){let s,l,c,f=!1;for(const d in n)if(d!==a){s=n[d];do{if(l=s.source,c=s.target,f=i(s.key,s.attributes,l.key,c.key,l.attributes,c.attributes,s.undirected),r&&f)return s.key;s=s.next}while(s!==void 0)}}function ed(r,n){const i=Object.keys(r),a=i.length;let s,l=0;return{[Symbol.iterator](){return this},next(){do if(s)s=s.next;else{if(l>=a)return{done:!0};const c=i[l++];if(c===n){s=void 0;continue}s=r[c]}while(!s);return{done:!1,value:{edge:s.key,attributes:s.attributes,source:s.source.key,target:s.target.key,sourceAttributes:s.source.attributes,targetAttributes:s.target.attributes,undirected:s.undirected}}}}}function dR(r,n,i,a){const s=n[i];if(!s)return;const l=s.source,c=s.target;if(a(s.key,s.attributes,l.key,c.key,l.attributes,c.attributes,s.undirected)&&r)return s.key}function hR(r,n,i,a){let s=n[i];if(!s)return;let l=!1;do{if(l=a(s.key,s.attributes,s.source.key,s.target.key,s.source.attributes,s.target.attributes,s.undirected),r&&l)return s.key;s=s.next}while(s!==void 0)}function td(r,n){let i=r[n];if(i.next!==void 0)return{[Symbol.iterator](){return this},next(){if(!i)return{done:!0};const s={edge:i.key,attributes:i.attributes,source:i.source.key,target:i.target.key,sourceAttributes:i.source.attributes,targetAttributes:i.target.attributes,undirected:i.undirected};return i=i.next,{done:!1,value:s}}};let a=!1;return{[Symbol.iterator](){return this},next(){return a===!0?{done:!0}:(a=!0,{done:!1,value:{edge:i.key,attributes:i.attributes,source:i.source.key,target:i.target.key,sourceAttributes:i.source.attributes,targetAttributes:i.target.attributes,undirected:i.undirected}})}}}function gR(r,n){if(r.size===0)return[];if(n==="mixed"||n===r.type)return Array.from(r._edges.keys());const i=n==="undirected"?r.undirectedSize:r.directedSize,a=new Array(i),s=n==="undirected",l=r._edges.values();let c=0,f,d;for(;f=l.next(),f.done!==!0;)d=f.value,d.undirected===s&&(a[c++]=d.key);return a}function kw(r,n,i,a){if(n.size===0)return;const s=i!=="mixed"&&i!==n.type,l=i==="undirected";let c,f,d=!1;const g=n._edges.values();for(;c=g.next(),c.done!==!0;){if(f=c.value,s&&f.undirected!==l)continue;const{key:m,attributes:v,source:y,target:b}=f;if(d=a(m,v,y.key,b.key,y.attributes,b.attributes,f.undirected),r&&d)return m}}function pR(r,n){if(r.size===0)return Ba();const i=n!=="mixed"&&n!==r.type,a=n==="undirected",s=r._edges.values();return{[Symbol.iterator](){return this},next(){let l,c;for(;;){if(l=s.next(),l.done)return l;if(c=l.value,!(i&&c.undirected!==a))break}return{value:{edge:c.key,attributes:c.attributes,source:c.source.key,target:c.target.key,sourceAttributes:c.source.attributes,targetAttributes:c.target.attributes,undirected:c.undirected},done:!1}}}}function Fh(r,n,i,a,s,l){const c=n?fR:cR;let f;if(i!=="undirected"&&(a!=="out"&&(f=c(r,s.in,l),r&&f)||a!=="in"&&(f=c(r,s.out,l,a?void 0:s.key),r&&f))||i!=="directed"&&(f=c(r,s.undirected,l),r&&f))return f}function mR(r,n,i,a){const s=[];return Fh(!1,r,n,i,a,function(l){s.push(l)}),s}function vR(r,n,i){let a=Ba();return r!=="undirected"&&(n!=="out"&&typeof i.in<"u"&&(a=yr(a,ed(i.in))),n!=="in"&&typeof i.out<"u"&&(a=yr(a,ed(i.out,n?void 0:i.key)))),r!=="directed"&&typeof i.undirected<"u"&&(a=yr(a,ed(i.undirected))),a}function Hh(r,n,i,a,s,l,c){const f=i?hR:dR;let d;if(n!=="undirected"&&(typeof s.in<"u"&&a!=="out"&&(d=f(r,s.in,l,c),r&&d)||typeof s.out<"u"&&a!=="in"&&(a||s.key!==l)&&(d=f(r,s.out,l,c),r&&d))||n!=="directed"&&typeof s.undirected<"u"&&(d=f(r,s.undirected,l,c),r&&d))return d}function yR(r,n,i,a,s){const l=[];return Hh(!1,r,n,i,a,s,function(c){l.push(c)}),l}function bR(r,n,i,a){let s=Ba();return r!=="undirected"&&(typeof i.in<"u"&&n!=="out"&&a in i.in&&(s=yr(s,td(i.in,a))),typeof i.out<"u"&&n!=="in"&&a in i.out&&(n||i.key!==a)&&(s=yr(s,td(i.out,a)))),r!=="directed"&&typeof i.undirected<"u"&&a in i.undirected&&(s=yr(s,td(i.undirected,a))),s}function wR(r,n){const{name:i,type:a,direction:s}=n;r.prototype[i]=function(l,c){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return[];if(!arguments.length)return gR(this,a);if(arguments.length===1){l=""+l;const f=this._nodes.get(l);if(typeof f>"u")throw new me(`Graph.${i}: could not find the "${l}" node in the graph.`);return mR(this.multi,a==="mixed"?this.type:a,s,f)}if(arguments.length===2){l=""+l,c=""+c;const f=this._nodes.get(l);if(!f)throw new me(`Graph.${i}: could not find the "${l}" source node in the graph.`);if(!this._nodes.has(c))throw new me(`Graph.${i}: could not find the "${c}" target node in the graph.`);return yR(a,this.multi,s,f,c)}throw new ye(`Graph.${i}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function ER(r,n){const{name:i,type:a,direction:s}=n,l="forEach"+i[0].toUpperCase()+i.slice(1,-1);r.prototype[l]=function(g,m,v){if(!(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)){if(arguments.length===1)return v=g,kw(!1,this,a,v);if(arguments.length===2){g=""+g,v=m;const y=this._nodes.get(g);if(typeof y>"u")throw new me(`Graph.${l}: could not find the "${g}" node in the graph.`);return Fh(!1,this.multi,a==="mixed"?this.type:a,s,y,v)}if(arguments.length===3){g=""+g,m=""+m;const y=this._nodes.get(g);if(!y)throw new me(`Graph.${l}: could not find the "${g}" source node in the graph.`);if(!this._nodes.has(m))throw new me(`Graph.${l}: could not find the "${m}" target node in the graph.`);return Hh(!1,a,this.multi,s,y,m,v)}throw new ye(`Graph.${l}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)}};const c="map"+i[0].toUpperCase()+i.slice(1);r.prototype[c]=function(){const g=Array.prototype.slice.call(arguments),m=g.pop();let v;if(g.length===0){let y=0;a!=="directed"&&(y+=this.undirectedSize),a!=="undirected"&&(y+=this.directedSize),v=new Array(y);let b=0;g.push((x,E,T,M,N,L,C)=>{v[b++]=m(x,E,T,M,N,L,C)})}else v=[],g.push((y,b,x,E,T,M,N)=>{v.push(m(y,b,x,E,T,M,N))});return this[l].apply(this,g),v};const f="filter"+i[0].toUpperCase()+i.slice(1);r.prototype[f]=function(){const g=Array.prototype.slice.call(arguments),m=g.pop(),v=[];return g.push((y,b,x,E,T,M,N)=>{m(y,b,x,E,T,M,N)&&v.push(y)}),this[l].apply(this,g),v};const d="reduce"+i[0].toUpperCase()+i.slice(1);r.prototype[d]=function(){let g=Array.prototype.slice.call(arguments);if(g.length<2||g.length>4)throw new ye(`Graph.${d}: invalid number of arguments (expecting 2, 3 or 4 and got ${g.length}).`);if(typeof g[g.length-1]=="function"&&typeof g[g.length-2]!="function")throw new ye(`Graph.${d}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let m,v;g.length===2?(m=g[0],v=g[1],g=[]):g.length===3?(m=g[1],v=g[2],g=[g[0]]):g.length===4&&(m=g[2],v=g[3],g=[g[0],g[1]]);let y=v;return g.push((b,x,E,T,M,N,L)=>{y=m(y,b,x,E,T,M,N,L)}),this[l].apply(this,g),y}}function SR(r,n){const{name:i,type:a,direction:s}=n,l="find"+i[0].toUpperCase()+i.slice(1,-1);r.prototype[l]=function(d,g,m){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return!1;if(arguments.length===1)return m=d,kw(!0,this,a,m);if(arguments.length===2){d=""+d,m=g;const v=this._nodes.get(d);if(typeof v>"u")throw new me(`Graph.${l}: could not find the "${d}" node in the graph.`);return Fh(!0,this.multi,a==="mixed"?this.type:a,s,v,m)}if(arguments.length===3){d=""+d,g=""+g;const v=this._nodes.get(d);if(!v)throw new me(`Graph.${l}: could not find the "${d}" source node in the graph.`);if(!this._nodes.has(g))throw new me(`Graph.${l}: could not find the "${g}" target node in the graph.`);return Hh(!0,a,this.multi,s,v,g,m)}throw new ye(`Graph.${l}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)};const c="some"+i[0].toUpperCase()+i.slice(1,-1);r.prototype[c]=function(){const d=Array.prototype.slice.call(arguments),g=d.pop();return d.push((v,y,b,x,E,T,M)=>g(v,y,b,x,E,T,M)),!!this[l].apply(this,d)};const f="every"+i[0].toUpperCase()+i.slice(1,-1);r.prototype[f]=function(){const d=Array.prototype.slice.call(arguments),g=d.pop();return d.push((v,y,b,x,E,T,M)=>!g(v,y,b,x,E,T,M)),!this[l].apply(this,d)}}function xR(r,n){const{name:i,type:a,direction:s}=n,l=i.slice(0,-1)+"Entries";r.prototype[l]=function(c,f){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return Ba();if(!arguments.length)return pR(this,a);if(arguments.length===1){c=""+c;const d=this._nodes.get(c);if(!d)throw new me(`Graph.${l}: could not find the "${c}" node in the graph.`);return vR(a,s,d)}if(arguments.length===2){c=""+c,f=""+f;const d=this._nodes.get(c);if(!d)throw new me(`Graph.${l}: could not find the "${c}" source node in the graph.`);if(!this._nodes.has(f))throw new me(`Graph.${l}: could not find the "${f}" target node in the graph.`);return bR(a,s,d,f)}throw new ye(`Graph.${l}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function _R(r){uR.forEach(n=>{wR(r,n),ER(r,n),SR(r,n),xR(r,n)})}const TR=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function Su(){this.A=null,this.B=null}Su.prototype.wrap=function(r){this.A===null?this.A=r:this.B===null&&(this.B=r)};Su.prototype.has=function(r){return this.A!==null&&r in this.A||this.B!==null&&r in this.B};function $o(r,n,i,a,s){for(const l in a){const c=a[l],f=c.source,d=c.target,g=f===i?d:f;if(n&&n.has(g.key))continue;const m=s(g.key,g.attributes);if(r&&m)return g.key}}function Ph(r,n,i,a,s){if(n!=="mixed"){if(n==="undirected")return $o(r,null,a,a.undirected,s);if(typeof i=="string")return $o(r,null,a,a[i],s)}const l=new Su;let c;if(n!=="undirected"){if(i!=="out"){if(c=$o(r,null,a,a.in,s),r&&c)return c;l.wrap(a.in)}if(i!=="in"){if(c=$o(r,l,a,a.out,s),r&&c)return c;l.wrap(a.out)}}if(n!=="directed"&&(c=$o(r,l,a,a.undirected,s),r&&c))return c}function CR(r,n,i){if(r!=="mixed"){if(r==="undirected")return Object.keys(i.undirected);if(typeof n=="string")return Object.keys(i[n])}const a=[];return Ph(!1,r,n,i,function(s){a.push(s)}),a}function qo(r,n,i){const a=Object.keys(i),s=a.length;let l=0;return{[Symbol.iterator](){return this},next(){let c=null;do{if(l>=s)return r&&r.wrap(i),{done:!0};const f=i[a[l++]],d=f.source,g=f.target;if(c=d===n?g:d,r&&r.has(c.key)){c=null;continue}}while(c===null);return{done:!1,value:{neighbor:c.key,attributes:c.attributes}}}}}function AR(r,n,i){if(r!=="mixed"){if(r==="undirected")return qo(null,i,i.undirected);if(typeof n=="string")return qo(null,i,i[n])}let a=Ba();const s=new Su;return r!=="undirected"&&(n!=="out"&&(a=yr(a,qo(s,i,i.in))),n!=="in"&&(a=yr(a,qo(s,i,i.out)))),r!=="directed"&&(a=yr(a,qo(s,i,i.undirected))),a}function RR(r,n){const{name:i,type:a,direction:s}=n;r.prototype[i]=function(l){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return[];l=""+l;const c=this._nodes.get(l);if(typeof c>"u")throw new me(`Graph.${i}: could not find the "${l}" node in the graph.`);return CR(a==="mixed"?this.type:a,s,c)}}function DR(r,n){const{name:i,type:a,direction:s}=n,l="forEach"+i[0].toUpperCase()+i.slice(1,-1);r.prototype[l]=function(g,m){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return;g=""+g;const v=this._nodes.get(g);if(typeof v>"u")throw new me(`Graph.${l}: could not find the "${g}" node in the graph.`);Ph(!1,a==="mixed"?this.type:a,s,v,m)};const c="map"+i[0].toUpperCase()+i.slice(1);r.prototype[c]=function(g,m){const v=[];return this[l](g,(y,b)=>{v.push(m(y,b))}),v};const f="filter"+i[0].toUpperCase()+i.slice(1);r.prototype[f]=function(g,m){const v=[];return this[l](g,(y,b)=>{m(y,b)&&v.push(y)}),v};const d="reduce"+i[0].toUpperCase()+i.slice(1);r.prototype[d]=function(g,m,v){if(arguments.length<3)throw new ye(`Graph.${d}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let y=v;return this[l](g,(b,x)=>{y=m(y,b,x)}),y}}function OR(r,n){const{name:i,type:a,direction:s}=n,l=i[0].toUpperCase()+i.slice(1,-1),c="find"+l;r.prototype[c]=function(g,m){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return;g=""+g;const v=this._nodes.get(g);if(typeof v>"u")throw new me(`Graph.${c}: could not find the "${g}" node in the graph.`);return Ph(!0,a==="mixed"?this.type:a,s,v,m)};const f="some"+l;r.prototype[f]=function(g,m){return!!this[c](g,m)};const d="every"+l;r.prototype[d]=function(g,m){return!this[c](g,(y,b)=>!m(y,b))}}function kR(r,n){const{name:i,type:a,direction:s}=n,l=i.slice(0,-1)+"Entries";r.prototype[l]=function(c){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return Ba();c=""+c;const f=this._nodes.get(c);if(typeof f>"u")throw new me(`Graph.${l}: could not find the "${c}" node in the graph.`);return AR(a==="mixed"?this.type:a,s,f)}}function LR(r){TR.forEach(n=>{RR(r,n),DR(r,n),OR(r,n),kR(r,n)})}function Ll(r,n,i,a,s){const l=a._nodes.values(),c=a.type;let f,d,g,m,v,y;for(;f=l.next(),f.done!==!0;){let b=!1;if(d=f.value,c!=="undirected"){m=d.out;for(g in m){v=m[g];do y=v.target,b=!0,s(d.key,y.key,d.attributes,y.attributes,v.key,v.attributes,v.undirected),v=v.next;while(v)}}if(c!=="directed"){m=d.undirected;for(g in m)if(!(n&&d.key>g)){v=m[g];do y=v.target,y.key!==g&&(y=v.source),b=!0,s(d.key,y.key,d.attributes,y.attributes,v.key,v.attributes,v.undirected),v=v.next;while(v)}}i&&!b&&s(d.key,null,d.attributes,null,null,null,null)}}function NR(r,n){const i={key:r};return _w(n.attributes)||(i.attributes=wt({},n.attributes)),i}function zR(r,n,i){const a={key:n,source:i.source.key,target:i.target.key};return _w(i.attributes)||(a.attributes=wt({},i.attributes)),r==="mixed"&&i.undirected&&(a.undirected=!0),a}function GR(r){if(!Nt(r))throw new ye('Graph.import: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if(!("key"in r))throw new ye("Graph.import: serialized node is missing its key.");if("attributes"in r&&(!Nt(r.attributes)||r.attributes===null))throw new ye("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.")}function MR(r){if(!Nt(r))throw new ye('Graph.import: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if(!("source"in r))throw new ye("Graph.import: serialized edge is missing its source.");if(!("target"in r))throw new ye("Graph.import: serialized edge is missing its target.");if("attributes"in r&&(!Nt(r.attributes)||r.attributes===null))throw new ye("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.");if("undirected"in r&&typeof r.undirected!="boolean")throw new ye("Graph.import: invalid undirectedness information. Undirected should be boolean or omitted.")}const jR=BA(),UR=new Set(["directed","undirected","mixed"]),Ny=new Set(["domain","_events","_eventsCount","_maxListeners"]),BR=[{name:r=>`${r}Edge`,generateKey:!0},{name:r=>`${r}DirectedEdge`,generateKey:!0,type:"directed"},{name:r=>`${r}UndirectedEdge`,generateKey:!0,type:"undirected"},{name:r=>`${r}EdgeWithKey`},{name:r=>`${r}DirectedEdgeWithKey`,type:"directed"},{name:r=>`${r}UndirectedEdgeWithKey`,type:"undirected"}],FR={allowSelfLoops:!0,multi:!1,type:"mixed"};function HR(r,n,i){if(i&&!Nt(i))throw new ye(`Graph.addNode: invalid attributes. Expecting an object but got "${i}"`);if(n=""+n,i=i||{},r._nodes.has(n))throw new ke(`Graph.addNode: the "${n}" node already exist in the graph.`);const a=new r.NodeDataClass(n,i);return r._nodes.set(n,a),r.emit("nodeAdded",{key:n,attributes:i}),a}function zy(r,n,i){const a=new r.NodeDataClass(n,i);return r._nodes.set(n,a),r.emit("nodeAdded",{key:n,attributes:i}),a}function Lw(r,n,i,a,s,l,c,f){if(!a&&r.type==="undirected")throw new ke(`Graph.${n}: you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead.`);if(a&&r.type==="directed")throw new ke(`Graph.${n}: you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead.`);if(f&&!Nt(f))throw new ye(`Graph.${n}: invalid attributes. Expecting an object but got "${f}"`);if(l=""+l,c=""+c,f=f||{},!r.allowSelfLoops&&l===c)throw new ke(`Graph.${n}: source & target are the same ("${l}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);const d=r._nodes.get(l),g=r._nodes.get(c);if(!d)throw new me(`Graph.${n}: source node "${l}" not found.`);if(!g)throw new me(`Graph.${n}: target node "${c}" not found.`);const m={key:null,undirected:a,source:l,target:c,attributes:f};if(i)s=r._edgeKeyGenerator();else if(s=""+s,r._edges.has(s))throw new ke(`Graph.${n}: the "${s}" edge already exists in the graph.`);if(!r.multi&&(a?typeof d.undirected[c]<"u":typeof d.out[c]<"u"))throw new ke(`Graph.${n}: an edge linking "${l}" to "${c}" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option.`);const v=new Fa(a,s,d,g,f);r._edges.set(s,v);const y=l===c;return a?(d.undirectedDegree++,g.undirectedDegree++,y&&(d.undirectedLoops++,r._undirectedSelfLoopCount++)):(d.outDegree++,g.inDegree++,y&&(d.directedLoops++,r._directedSelfLoopCount++)),r.multi?v.attachMulti():v.attach(),a?r._undirectedSize++:r._directedSize++,m.key=s,r.emit("edgeAdded",m),s}function PR(r,n,i,a,s,l,c,f,d){if(!a&&r.type==="undirected")throw new ke(`Graph.${n}: you cannot merge/update a directed edge to an undirected graph. Use the #.mergeEdge/#.updateEdge or #.addUndirectedEdge instead.`);if(a&&r.type==="directed")throw new ke(`Graph.${n}: you cannot merge/update an undirected edge to a directed graph. Use the #.mergeEdge/#.updateEdge or #.addDirectedEdge instead.`);if(f){if(d){if(typeof f!="function")throw new ye(`Graph.${n}: invalid updater function. Expecting a function but got "${f}"`)}else if(!Nt(f))throw new ye(`Graph.${n}: invalid attributes. Expecting an object but got "${f}"`)}l=""+l,c=""+c;let g;if(d&&(g=f,f=void 0),!r.allowSelfLoops&&l===c)throw new ke(`Graph.${n}: source & target are the same ("${l}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);let m=r._nodes.get(l),v=r._nodes.get(c),y,b;if(!i&&(y=r._edges.get(s),y)){if((y.source.key!==l||y.target.key!==c)&&(!a||y.source.key!==c||y.target.key!==l))throw new ke(`Graph.${n}: inconsistency detected when attempting to merge the "${s}" edge with "${l}" source & "${c}" target vs. ("${y.source.key}", "${y.target.key}").`);b=y}if(!b&&!r.multi&&m&&(b=a?m.undirected[c]:m.out[c]),b){const N=[b.key,!1,!1,!1];if(d?!g:!f)return N;if(d){const L=b.attributes;b.attributes=g(L),r.emit("edgeAttributesUpdated",{type:"replace",key:b.key,attributes:b.attributes})}else wt(b.attributes,f),r.emit("edgeAttributesUpdated",{type:"merge",key:b.key,attributes:b.attributes,data:f});return N}f=f||{},d&&g&&(f=g(f));const x={key:null,undirected:a,source:l,target:c,attributes:f};if(i)s=r._edgeKeyGenerator();else if(s=""+s,r._edges.has(s))throw new ke(`Graph.${n}: the "${s}" edge already exists in the graph.`);let E=!1,T=!1;m||(m=zy(r,l,{}),E=!0,l===c&&(v=m,T=!0)),v||(v=zy(r,c,{}),T=!0),y=new Fa(a,s,m,v,f),r._edges.set(s,y);const M=l===c;return a?(m.undirectedDegree++,v.undirectedDegree++,M&&(m.undirectedLoops++,r._undirectedSelfLoopCount++)):(m.outDegree++,v.inDegree++,M&&(m.directedLoops++,r._directedSelfLoopCount++)),r.multi?y.attachMulti():y.attach(),a?r._undirectedSize++:r._directedSize++,x.key=s,r.emit("edgeAdded",x),[s,!0,E,T]}function xa(r,n){r._edges.delete(n.key);const{source:i,target:a,attributes:s}=n,l=n.undirected,c=i===a;l?(i.undirectedDegree--,a.undirectedDegree--,c&&(i.undirectedLoops--,r._undirectedSelfLoopCount--)):(i.outDegree--,a.inDegree--,c&&(i.directedLoops--,r._directedSelfLoopCount--)),r.multi?n.detachMulti():n.detach(),l?r._undirectedSize--:r._directedSize--,r.emit("edgeDropped",{key:n.key,attributes:s,source:i.key,target:a.key,undirected:l})}class Ke extends xw.EventEmitter{constructor(n){if(super(),n=wt({},FR,n),typeof n.multi!="boolean")throw new ye(`Graph.constructor: invalid 'multi' option. Expecting a boolean but got "${n.multi}".`);if(!UR.has(n.type))throw new ye(`Graph.constructor: invalid 'type' option. Should be one of "mixed", "directed" or "undirected" but got "${n.type}".`);if(typeof n.allowSelfLoops!="boolean")throw new ye(`Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got "${n.allowSelfLoops}".`);const i=n.type==="mixed"?Tw:n.type==="directed"?Cw:Aw;wn(this,"NodeDataClass",i);const a="geid_"+jR()+"_";let s=0;const l=()=>{let c;do c=a+s++;while(this._edges.has(c));return c};wn(this,"_attributes",{}),wn(this,"_nodes",new Map),wn(this,"_edges",new Map),wn(this,"_directedSize",0),wn(this,"_undirectedSize",0),wn(this,"_directedSelfLoopCount",0),wn(this,"_undirectedSelfLoopCount",0),wn(this,"_edgeKeyGenerator",l),wn(this,"_options",n),Ny.forEach(c=>wn(this,c,this[c])),Rn(this,"order",()=>this._nodes.size),Rn(this,"size",()=>this._edges.size),Rn(this,"directedSize",()=>this._directedSize),Rn(this,"undirectedSize",()=>this._undirectedSize),Rn(this,"selfLoopCount",()=>this._directedSelfLoopCount+this._undirectedSelfLoopCount),Rn(this,"directedSelfLoopCount",()=>this._directedSelfLoopCount),Rn(this,"undirectedSelfLoopCount",()=>this._undirectedSelfLoopCount),Rn(this,"multi",this._options.multi),Rn(this,"type",this._options.type),Rn(this,"allowSelfLoops",this._options.allowSelfLoops),Rn(this,"implementation",()=>"graphology")}_resetInstanceCounters(){this._directedSize=0,this._undirectedSize=0,this._directedSelfLoopCount=0,this._undirectedSelfLoopCount=0}hasNode(n){return this._nodes.has(""+n)}hasDirectedEdge(n,i){if(this.type==="undirected")return!1;if(arguments.length===1){const a=""+n,s=this._edges.get(a);return!!s&&!s.undirected}else if(arguments.length===2){n=""+n,i=""+i;const a=this._nodes.get(n);return a?a.out.hasOwnProperty(i):!1}throw new ye(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasUndirectedEdge(n,i){if(this.type==="directed")return!1;if(arguments.length===1){const a=""+n,s=this._edges.get(a);return!!s&&s.undirected}else if(arguments.length===2){n=""+n,i=""+i;const a=this._nodes.get(n);return a?a.undirected.hasOwnProperty(i):!1}throw new ye(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasEdge(n,i){if(arguments.length===1){const a=""+n;return this._edges.has(a)}else if(arguments.length===2){n=""+n,i=""+i;const a=this._nodes.get(n);return a?typeof a.out<"u"&&a.out.hasOwnProperty(i)||typeof a.undirected<"u"&&a.undirected.hasOwnProperty(i):!1}throw new ye(`Graph.hasEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}directedEdge(n,i){if(this.type==="undirected")return;if(n=""+n,i=""+i,this.multi)throw new ke("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");const a=this._nodes.get(n);if(!a)throw new me(`Graph.directedEdge: could not find the "${n}" source node in the graph.`);if(!this._nodes.has(i))throw new me(`Graph.directedEdge: could not find the "${i}" target node in the graph.`);const s=a.out&&a.out[i]||void 0;if(s)return s.key}undirectedEdge(n,i){if(this.type==="directed")return;if(n=""+n,i=""+i,this.multi)throw new ke("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");const a=this._nodes.get(n);if(!a)throw new me(`Graph.undirectedEdge: could not find the "${n}" source node in the graph.`);if(!this._nodes.has(i))throw new me(`Graph.undirectedEdge: could not find the "${i}" target node in the graph.`);const s=a.undirected&&a.undirected[i]||void 0;if(s)return s.key}edge(n,i){if(this.multi)throw new ke("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");n=""+n,i=""+i;const a=this._nodes.get(n);if(!a)throw new me(`Graph.edge: could not find the "${n}" source node in the graph.`);if(!this._nodes.has(i))throw new me(`Graph.edge: could not find the "${i}" target node in the graph.`);const s=a.out&&a.out[i]||a.undirected&&a.undirected[i]||void 0;if(s)return s.key}areDirectedNeighbors(n,i){n=""+n,i=""+i;const a=this._nodes.get(n);if(!a)throw new me(`Graph.areDirectedNeighbors: could not find the "${n}" node in the graph.`);return this.type==="undirected"?!1:i in a.in||i in a.out}areOutNeighbors(n,i){n=""+n,i=""+i;const a=this._nodes.get(n);if(!a)throw new me(`Graph.areOutNeighbors: could not find the "${n}" node in the graph.`);return this.type==="undirected"?!1:i in a.out}areInNeighbors(n,i){n=""+n,i=""+i;const a=this._nodes.get(n);if(!a)throw new me(`Graph.areInNeighbors: could not find the "${n}" node in the graph.`);return this.type==="undirected"?!1:i in a.in}areUndirectedNeighbors(n,i){n=""+n,i=""+i;const a=this._nodes.get(n);if(!a)throw new me(`Graph.areUndirectedNeighbors: could not find the "${n}" node in the graph.`);return this.type==="directed"?!1:i in a.undirected}areNeighbors(n,i){n=""+n,i=""+i;const a=this._nodes.get(n);if(!a)throw new me(`Graph.areNeighbors: could not find the "${n}" node in the graph.`);return this.type!=="undirected"&&(i in a.in||i in a.out)||this.type!=="directed"&&i in a.undirected}areInboundNeighbors(n,i){n=""+n,i=""+i;const a=this._nodes.get(n);if(!a)throw new me(`Graph.areInboundNeighbors: could not find the "${n}" node in the graph.`);return this.type!=="undirected"&&i in a.in||this.type!=="directed"&&i in a.undirected}areOutboundNeighbors(n,i){n=""+n,i=""+i;const a=this._nodes.get(n);if(!a)throw new me(`Graph.areOutboundNeighbors: could not find the "${n}" node in the graph.`);return this.type!=="undirected"&&i in a.out||this.type!=="directed"&&i in a.undirected}inDegree(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.inDegree: could not find the "${n}" node in the graph.`);return this.type==="undirected"?0:i.inDegree}outDegree(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.outDegree: could not find the "${n}" node in the graph.`);return this.type==="undirected"?0:i.outDegree}directedDegree(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.directedDegree: could not find the "${n}" node in the graph.`);return this.type==="undirected"?0:i.inDegree+i.outDegree}undirectedDegree(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.undirectedDegree: could not find the "${n}" node in the graph.`);return this.type==="directed"?0:i.undirectedDegree}inboundDegree(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.inboundDegree: could not find the "${n}" node in the graph.`);let a=0;return this.type!=="directed"&&(a+=i.undirectedDegree),this.type!=="undirected"&&(a+=i.inDegree),a}outboundDegree(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.outboundDegree: could not find the "${n}" node in the graph.`);let a=0;return this.type!=="directed"&&(a+=i.undirectedDegree),this.type!=="undirected"&&(a+=i.outDegree),a}degree(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.degree: could not find the "${n}" node in the graph.`);let a=0;return this.type!=="directed"&&(a+=i.undirectedDegree),this.type!=="undirected"&&(a+=i.inDegree+i.outDegree),a}inDegreeWithoutSelfLoops(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.inDegreeWithoutSelfLoops: could not find the "${n}" node in the graph.`);return this.type==="undirected"?0:i.inDegree-i.directedLoops}outDegreeWithoutSelfLoops(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.outDegreeWithoutSelfLoops: could not find the "${n}" node in the graph.`);return this.type==="undirected"?0:i.outDegree-i.directedLoops}directedDegreeWithoutSelfLoops(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.directedDegreeWithoutSelfLoops: could not find the "${n}" node in the graph.`);return this.type==="undirected"?0:i.inDegree+i.outDegree-i.directedLoops*2}undirectedDegreeWithoutSelfLoops(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.undirectedDegreeWithoutSelfLoops: could not find the "${n}" node in the graph.`);return this.type==="directed"?0:i.undirectedDegree-i.undirectedLoops*2}inboundDegreeWithoutSelfLoops(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.inboundDegreeWithoutSelfLoops: could not find the "${n}" node in the graph.`);let a=0,s=0;return this.type!=="directed"&&(a+=i.undirectedDegree,s+=i.undirectedLoops*2),this.type!=="undirected"&&(a+=i.inDegree,s+=i.directedLoops),a-s}outboundDegreeWithoutSelfLoops(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.outboundDegreeWithoutSelfLoops: could not find the "${n}" node in the graph.`);let a=0,s=0;return this.type!=="directed"&&(a+=i.undirectedDegree,s+=i.undirectedLoops*2),this.type!=="undirected"&&(a+=i.outDegree,s+=i.directedLoops),a-s}degreeWithoutSelfLoops(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.degreeWithoutSelfLoops: could not find the "${n}" node in the graph.`);let a=0,s=0;return this.type!=="directed"&&(a+=i.undirectedDegree,s+=i.undirectedLoops*2),this.type!=="undirected"&&(a+=i.inDegree+i.outDegree,s+=i.directedLoops*2),a-s}source(n){n=""+n;const i=this._edges.get(n);if(!i)throw new me(`Graph.source: could not find the "${n}" edge in the graph.`);return i.source.key}target(n){n=""+n;const i=this._edges.get(n);if(!i)throw new me(`Graph.target: could not find the "${n}" edge in the graph.`);return i.target.key}extremities(n){n=""+n;const i=this._edges.get(n);if(!i)throw new me(`Graph.extremities: could not find the "${n}" edge in the graph.`);return[i.source.key,i.target.key]}opposite(n,i){n=""+n,i=""+i;const a=this._edges.get(i);if(!a)throw new me(`Graph.opposite: could not find the "${i}" edge in the graph.`);const s=a.source.key,l=a.target.key;if(n===s)return l;if(n===l)return s;throw new me(`Graph.opposite: the "${n}" node is not attached to the "${i}" edge (${s}, ${l}).`)}hasExtremity(n,i){n=""+n,i=""+i;const a=this._edges.get(n);if(!a)throw new me(`Graph.hasExtremity: could not find the "${n}" edge in the graph.`);return a.source.key===i||a.target.key===i}isUndirected(n){n=""+n;const i=this._edges.get(n);if(!i)throw new me(`Graph.isUndirected: could not find the "${n}" edge in the graph.`);return i.undirected}isDirected(n){n=""+n;const i=this._edges.get(n);if(!i)throw new me(`Graph.isDirected: could not find the "${n}" edge in the graph.`);return!i.undirected}isSelfLoop(n){n=""+n;const i=this._edges.get(n);if(!i)throw new me(`Graph.isSelfLoop: could not find the "${n}" edge in the graph.`);return i.source===i.target}addNode(n,i){return HR(this,n,i).key}mergeNode(n,i){if(i&&!Nt(i))throw new ye(`Graph.mergeNode: invalid attributes. Expecting an object but got "${i}"`);n=""+n,i=i||{};let a=this._nodes.get(n);return a?(i&&(wt(a.attributes,i),this.emit("nodeAttributesUpdated",{type:"merge",key:n,attributes:a.attributes,data:i})),[n,!1]):(a=new this.NodeDataClass(n,i),this._nodes.set(n,a),this.emit("nodeAdded",{key:n,attributes:i}),[n,!0])}updateNode(n,i){if(i&&typeof i!="function")throw new ye(`Graph.updateNode: invalid updater function. Expecting a function but got "${i}"`);n=""+n;let a=this._nodes.get(n);if(a){if(i){const l=a.attributes;a.attributes=i(l),this.emit("nodeAttributesUpdated",{type:"replace",key:n,attributes:a.attributes})}return[n,!1]}const s=i?i({}):{};return a=new this.NodeDataClass(n,s),this._nodes.set(n,a),this.emit("nodeAdded",{key:n,attributes:s}),[n,!0]}dropNode(n){n=""+n;const i=this._nodes.get(n);if(!i)throw new me(`Graph.dropNode: could not find the "${n}" node in the graph.`);let a;if(this.type!=="undirected"){for(const s in i.out){a=i.out[s];do xa(this,a),a=a.next;while(a)}for(const s in i.in){a=i.in[s];do xa(this,a),a=a.next;while(a)}}if(this.type!=="directed")for(const s in i.undirected){a=i.undirected[s];do xa(this,a),a=a.next;while(a)}this._nodes.delete(n),this.emit("nodeDropped",{key:n,attributes:i.attributes})}dropEdge(n){let i;if(arguments.length>1){const a=""+arguments[0],s=""+arguments[1];if(i=En(this,a,s,this.type),!i)throw new me(`Graph.dropEdge: could not find the "${a}" -> "${s}" edge in the graph.`)}else if(n=""+n,i=this._edges.get(n),!i)throw new me(`Graph.dropEdge: could not find the "${n}" edge in the graph.`);return xa(this,i),this}dropDirectedEdge(n,i){if(arguments.length<2)throw new ke("Graph.dropDirectedEdge: it does not make sense to try and drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new ke("Graph.dropDirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");n=""+n,i=""+i;const a=En(this,n,i,"directed");if(!a)throw new me(`Graph.dropDirectedEdge: could not find a "${n}" -> "${i}" edge in the graph.`);return xa(this,a),this}dropUndirectedEdge(n,i){if(arguments.length<2)throw new ke("Graph.dropUndirectedEdge: it does not make sense to drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new ke("Graph.dropUndirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");const a=En(this,n,i,"undirected");if(!a)throw new me(`Graph.dropUndirectedEdge: could not find a "${n}" -> "${i}" edge in the graph.`);return xa(this,a),this}clear(){this._edges.clear(),this._nodes.clear(),this._resetInstanceCounters(),this.emit("cleared")}clearEdges(){const n=this._nodes.values();let i;for(;i=n.next(),i.done!==!0;)i.value.clear();this._edges.clear(),this._resetInstanceCounters(),this.emit("edgesCleared")}getAttribute(n){return this._attributes[n]}getAttributes(){return this._attributes}hasAttribute(n){return this._attributes.hasOwnProperty(n)}setAttribute(n,i){return this._attributes[n]=i,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:n}),this}updateAttribute(n,i){if(typeof i!="function")throw new ye("Graph.updateAttribute: updater should be a function.");const a=this._attributes[n];return this._attributes[n]=i(a),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:n}),this}removeAttribute(n){return delete this._attributes[n],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:n}),this}replaceAttributes(n){if(!Nt(n))throw new ye("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=n,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this}mergeAttributes(n){if(!Nt(n))throw new ye("Graph.mergeAttributes: provided attributes are not a plain object.");return wt(this._attributes,n),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:n}),this}updateAttributes(n){if(typeof n!="function")throw new ye("Graph.updateAttributes: provided updater is not a function.");return this._attributes=n(this._attributes),this.emit("attributesUpdated",{type:"update",attributes:this._attributes}),this}updateEachNodeAttributes(n,i){if(typeof n!="function")throw new ye("Graph.updateEachNodeAttributes: expecting an updater function.");if(i&&!Ly(i))throw new ye("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const a=this._nodes.values();let s,l;for(;s=a.next(),s.done!==!0;)l=s.value,l.attributes=n(l.key,l.attributes);this.emit("eachNodeAttributesUpdated",{hints:i||null})}updateEachEdgeAttributes(n,i){if(typeof n!="function")throw new ye("Graph.updateEachEdgeAttributes: expecting an updater function.");if(i&&!Ly(i))throw new ye("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const a=this._edges.values();let s,l,c,f;for(;s=a.next(),s.done!==!0;)l=s.value,c=l.source,f=l.target,l.attributes=n(l.key,l.attributes,c.key,f.key,c.attributes,f.attributes,l.undirected);this.emit("eachEdgeAttributesUpdated",{hints:i||null})}forEachAdjacencyEntry(n){if(typeof n!="function")throw new ye("Graph.forEachAdjacencyEntry: expecting a callback.");Ll(!1,!1,!1,this,n)}forEachAdjacencyEntryWithOrphans(n){if(typeof n!="function")throw new ye("Graph.forEachAdjacencyEntryWithOrphans: expecting a callback.");Ll(!1,!1,!0,this,n)}forEachAssymetricAdjacencyEntry(n){if(typeof n!="function")throw new ye("Graph.forEachAssymetricAdjacencyEntry: expecting a callback.");Ll(!1,!0,!1,this,n)}forEachAssymetricAdjacencyEntryWithOrphans(n){if(typeof n!="function")throw new ye("Graph.forEachAssymetricAdjacencyEntryWithOrphans: expecting a callback.");Ll(!1,!0,!0,this,n)}nodes(){return Array.from(this._nodes.keys())}forEachNode(n){if(typeof n!="function")throw new ye("Graph.forEachNode: expecting a callback.");const i=this._nodes.values();let a,s;for(;a=i.next(),a.done!==!0;)s=a.value,n(s.key,s.attributes)}findNode(n){if(typeof n!="function")throw new ye("Graph.findNode: expecting a callback.");const i=this._nodes.values();let a,s;for(;a=i.next(),a.done!==!0;)if(s=a.value,n(s.key,s.attributes))return s.key}mapNodes(n){if(typeof n!="function")throw new ye("Graph.mapNode: expecting a callback.");const i=this._nodes.values();let a,s;const l=new Array(this.order);let c=0;for(;a=i.next(),a.done!==!0;)s=a.value,l[c++]=n(s.key,s.attributes);return l}someNode(n){if(typeof n!="function")throw new ye("Graph.someNode: expecting a callback.");const i=this._nodes.values();let a,s;for(;a=i.next(),a.done!==!0;)if(s=a.value,n(s.key,s.attributes))return!0;return!1}everyNode(n){if(typeof n!="function")throw new ye("Graph.everyNode: expecting a callback.");const i=this._nodes.values();let a,s;for(;a=i.next(),a.done!==!0;)if(s=a.value,!n(s.key,s.attributes))return!1;return!0}filterNodes(n){if(typeof n!="function")throw new ye("Graph.filterNodes: expecting a callback.");const i=this._nodes.values();let a,s;const l=[];for(;a=i.next(),a.done!==!0;)s=a.value,n(s.key,s.attributes)&&l.push(s.key);return l}reduceNodes(n,i){if(typeof n!="function")throw new ye("Graph.reduceNodes: expecting a callback.");if(arguments.length<2)throw new ye("Graph.reduceNodes: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.");let a=i;const s=this._nodes.values();let l,c;for(;l=s.next(),l.done!==!0;)c=l.value,a=n(a,c.key,c.attributes);return a}nodeEntries(){const n=this._nodes.values();return{[Symbol.iterator](){return this},next(){const i=n.next();if(i.done)return i;const a=i.value;return{value:{node:a.key,attributes:a.attributes},done:!1}}}}export(){const n=new Array(this._nodes.size);let i=0;this._nodes.forEach((s,l)=>{n[i++]=NR(l,s)});const a=new Array(this._edges.size);return i=0,this._edges.forEach((s,l)=>{a[i++]=zR(this.type,l,s)}),{options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops},attributes:this.getAttributes(),nodes:n,edges:a}}import(n,i=!1){if(n instanceof Ke)return n.forEachNode((d,g)=>{i?this.mergeNode(d,g):this.addNode(d,g)}),n.forEachEdge((d,g,m,v,y,b,x)=>{i?x?this.mergeUndirectedEdgeWithKey(d,m,v,g):this.mergeDirectedEdgeWithKey(d,m,v,g):x?this.addUndirectedEdgeWithKey(d,m,v,g):this.addDirectedEdgeWithKey(d,m,v,g)}),this;if(!Nt(n))throw new ye("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(n.attributes){if(!Nt(n.attributes))throw new ye("Graph.import: invalid attributes. Expecting a plain object.");i?this.mergeAttributes(n.attributes):this.replaceAttributes(n.attributes)}let a,s,l,c,f;if(n.nodes){if(l=n.nodes,!Array.isArray(l))throw new ye("Graph.import: invalid nodes. Expecting an array.");for(a=0,s=l.length;a{const l=wt({},a.attributes);a=new i.NodeDataClass(s,l),i._nodes.set(s,a)}),i}copy(n){if(n=n||{},typeof n.type=="string"&&n.type!==this.type&&n.type!=="mixed")throw new ke(`Graph.copy: cannot create an incompatible copy from "${this.type}" type to "${n.type}" because this would mean losing information about the current graph.`);if(typeof n.multi=="boolean"&&n.multi!==this.multi&&n.multi!==!0)throw new ke("Graph.copy: cannot create an incompatible copy by downgrading a multi graph to a simple one because this would mean losing information about the current graph.");if(typeof n.allowSelfLoops=="boolean"&&n.allowSelfLoops!==this.allowSelfLoops&&n.allowSelfLoops!==!0)throw new ke("Graph.copy: cannot create an incompatible copy from a graph allowing self loops to one that does not because this would mean losing information about the current graph.");const i=this.emptyCopy(n),a=this._edges.values();let s,l;for(;s=a.next(),s.done!==!0;)l=s.value,Lw(i,"copy",!1,l.undirected,l.key,l.source.key,l.target.key,wt({},l.attributes));return i}toJSON(){return this.export()}toString(){return"[object Graph]"}inspect(){const n={};this._nodes.forEach((l,c)=>{n[c]=l.attributes});const i={},a={};this._edges.forEach((l,c)=>{const f=l.undirected?"--":"->";let d="",g=l.source.key,m=l.target.key,v;l.undirected&&g>m&&(v=g,g=m,m=v);const y=`(${g})${f}(${m})`;c.startsWith("geid_")?this.multi&&(typeof a[y]>"u"?a[y]=0:a[y]++,d+=`${a[y]}. `):d+=`[${c}]: `,d+=y,i[d]=l.attributes});const s={};for(const l in this)this.hasOwnProperty(l)&&!Ny.has(l)&&typeof this[l]!="function"&&typeof l!="symbol"&&(s[l]=this[l]);return s.attributes=this._attributes,s.nodes=n,s.edges=i,wn(s,"constructor",this.constructor),s}}typeof Symbol<"u"&&(Ke.prototype[Symbol.for("nodejs.util.inspect.custom")]=Ke.prototype.inspect);BR.forEach(r=>{["add","merge","update"].forEach(n=>{const i=r.name(n),a=n==="add"?Lw:PR;r.generateKey?Ke.prototype[i]=function(s,l,c){return a(this,i,!0,(r.type||this.type)==="undirected",null,s,l,c,n==="update")}:Ke.prototype[i]=function(s,l,c,f){return a(this,i,!1,(r.type||this.type)==="undirected",s,l,c,f,n==="update")}})});KA(Ke);lR(Ke);_R(Ke);LR(Ke);class ts extends Ke{constructor(n){const i=wt({type:"directed"},n);if("multi"in i&&i.multi!==!1)throw new ye("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(i.type!=="directed")throw new ye('DirectedGraph.from: inconsistent "'+i.type+'" type in given options!');super(i)}}class Nw extends Ke{constructor(n){const i=wt({type:"undirected"},n);if("multi"in i&&i.multi!==!1)throw new ye("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(i.type!=="undirected")throw new ye('UndirectedGraph.from: inconsistent "'+i.type+'" type in given options!');super(i)}}class zw extends Ke{constructor(n){const i=wt({multi:!0},n);if("multi"in i&&i.multi!==!0)throw new ye("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");super(i)}}class Gw extends Ke{constructor(n){const i=wt({type:"directed",multi:!0},n);if("multi"in i&&i.multi!==!0)throw new ye("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(i.type!=="directed")throw new ye('MultiDirectedGraph.from: inconsistent "'+i.type+'" type in given options!');super(i)}}class Mw extends Ke{constructor(n){const i=wt({type:"undirected",multi:!0},n);if("multi"in i&&i.multi!==!0)throw new ye("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(i.type!=="undirected")throw new ye('MultiUndirectedGraph.from: inconsistent "'+i.type+'" type in given options!');super(i)}}function Ha(r){r.from=function(n,i){const a=wt({},n.options,i),s=new r(a);return s.import(n),s}}Ha(Ke);Ha(ts);Ha(Nw);Ha(zw);Ha(Gw);Ha(Mw);Ke.Graph=Ke;Ke.DirectedGraph=ts;Ke.UndirectedGraph=Nw;Ke.MultiGraph=zw;Ke.MultiDirectedGraph=Gw;Ke.MultiUndirectedGraph=Mw;Ke.InvalidArgumentsGraphError=ye;Ke.NotFoundGraphError=me;Ke.UsageGraphError=ke;function $R(r,n){if(typeof r!="object"||!r)return r;var i=r[Symbol.toPrimitive];if(i!==void 0){var a=i.call(r,n);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}function Qo(r){var n=$R(r,"string");return typeof n=="symbol"?n:n+""}function At(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function Gy(r,n){for(var i=0;ir.length)&&(n=r.length);for(var i=0,a=Array(n);i>8&255,l=i>>16&255,c=i>>24&255;return[a,s,l,c]}var rd={};function Pw(r){if(typeof rd[r]<"u")return rd[r];var n=(r&16711680)>>>16,i=(r&65280)>>>8,a=r&255,s=255,l=Hw(n,i,a,s);return rd[r]=l,l}function My(r,n,i,a){return i+(n<<8)+(r<<16)}function jy(r,n,i,a,s,l){var c=Math.floor(i/l*s),f=Math.floor(r.drawingBufferHeight/l-a/l*s),d=new Uint8Array(4);r.bindFramebuffer(r.FRAMEBUFFER,n),r.readPixels(c,f,1,1,r.RGBA,r.UNSIGNED_BYTE,d);var g=Na(d,4),m=g[0],v=g[1],y=g[2],b=g[3];return[m,v,y,b]}function fe(r,n,i){return(n=Qo(n))in r?Object.defineProperty(r,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[n]=i,r}function Uy(r,n){var i=Object.keys(r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);n&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),i.push.apply(i,a)}return i}function _e(r){for(var n=1;nC){var B="…";for(g=g+B,R=r.measureText(g).width;R>C&&g.length>1;)g=g.slice(0,-2)+B,R=r.measureText(g).width;if(g.length<4)return}var _;N>0?L>0?_=Math.acos(N/C):_=Math.asin(L/C):L>0?_=Math.acos(N/C)+Math.PI:_=Math.asin(N/C)+Math.PI/2,r.save(),r.translate(T,M),r.rotate(_),r.fillText(g,-R/2,n.size/2+l),r.restore()}}}function Yw(r,n,i){if(n.label){var a=i.labelSize,s=i.labelFont,l=i.labelWeight,c=i.labelColor.attribute?n[i.labelColor.attribute]||i.labelColor.color||"#000":i.labelColor.color;r.fillStyle=c,r.font="".concat(l," ").concat(a,"px ").concat(s),r.fillText(n.label,n.x+n.size+3,n.y+a/3)}}function oD(r,n,i){var a=i.labelSize,s=i.labelFont,l=i.labelWeight;r.font="".concat(l," ").concat(a,"px ").concat(s),r.fillStyle="#FFF",r.shadowOffsetX=0,r.shadowOffsetY=0,r.shadowBlur=8,r.shadowColor="#000";var c=2;if(typeof n.label=="string"){var f=r.measureText(n.label).width,d=Math.round(f+5),g=Math.round(a+2*c),m=Math.max(n.size,a/2)+c,v=Math.asin(g/2/m),y=Math.sqrt(Math.abs(Math.pow(m,2)-Math.pow(g/2,2)));r.beginPath(),r.moveTo(n.x+y,n.y+g/2),r.lineTo(n.x+m+d,n.y+g/2),r.lineTo(n.x+m+d,n.y-g/2),r.lineTo(n.x+y,n.y-g/2),r.arc(n.x,n.y,m,v,-v),r.closePath(),r.fill()}else r.beginPath(),r.arc(n.x,n.y,n.size+c,0,Math.PI*2),r.closePath(),r.fill();r.shadowOffsetX=0,r.shadowOffsetY=0,r.shadowBlur=0,Yw(r,n,i)}var sD=` -precision highp float; - -varying vec4 v_color; -varying vec2 v_diffVector; -varying float v_radius; - -uniform float u_correctionRatio; - -const vec4 transparent = vec4(0.0, 0.0, 0.0, 0.0); - -void main(void) { - float border = u_correctionRatio * 2.0; - float dist = length(v_diffVector) - v_radius + border; - - // No antialiasing for picking mode: - #ifdef PICKING_MODE - if (dist > border) - gl_FragColor = transparent; - else - gl_FragColor = v_color; - - #else - float t = 0.0; - if (dist > border) - t = 1.0; - else if (dist > 0.0) - t = dist / border; - - gl_FragColor = mix(v_color, transparent, t); - #endif -} -`,lD=sD,uD=` -attribute vec4 a_id; -attribute vec4 a_color; -attribute vec2 a_position; -attribute float a_size; -attribute float a_angle; - -uniform mat3 u_matrix; -uniform float u_sizeRatio; -uniform float u_correctionRatio; - -varying vec4 v_color; -varying vec2 v_diffVector; -varying float v_radius; -varying float v_border; - -const float bias = 255.0 / 254.0; - -void main() { - float size = a_size * u_correctionRatio / u_sizeRatio * 4.0; - vec2 diffVector = size * vec2(cos(a_angle), sin(a_angle)); - vec2 position = a_position + diffVector; - gl_Position = vec4( - (u_matrix * vec3(position, 1)).xy, - 0, - 1 - ); - - v_diffVector = diffVector; - v_radius = size / 2.0; - - #ifdef PICKING_MODE - // For picking mode, we use the ID as the color: - v_color = a_id; - #else - // For normal mode, we use the color: - v_color = a_color; - #endif - - v_color.a *= bias; -} -`,cD=uD,Xw=WebGLRenderingContext,Py=Xw.UNSIGNED_BYTE,ad=Xw.FLOAT,fD=["u_sizeRatio","u_correctionRatio","u_matrix"],us=function(r){function n(){return At(this,n),It(this,n,arguments)}return Yt(n,r),Rt(n,[{key:"getDefinition",value:function(){return{VERTICES:3,VERTEX_SHADER_SOURCE:cD,FRAGMENT_SHADER_SOURCE:lD,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:fD,ATTRIBUTES:[{name:"a_position",size:2,type:ad},{name:"a_size",size:1,type:ad},{name:"a_color",size:4,type:Py,normalized:!0},{name:"a_id",size:4,type:Py,normalized:!0}],CONSTANT_ATTRIBUTES:[{name:"a_angle",size:1,type:ad}],CONSTANT_DATA:[[n.ANGLE_1],[n.ANGLE_2],[n.ANGLE_3]]}}},{key:"processVisibleItem",value:function(a,s,l){var c=this.array,f=Xn(l.color);c[s++]=l.x,c[s++]=l.y,c[s++]=l.size,c[s++]=f,c[s++]=a}},{key:"setUniforms",value:function(a,s){var l=s.gl,c=s.uniformLocations,f=c.u_sizeRatio,d=c.u_correctionRatio,g=c.u_matrix;l.uniform1f(d,a.correctionRatio),l.uniform1f(f,a.sizeRatio),l.uniformMatrix3fv(g,!1,a.matrix)}}])}($h);fe(us,"ANGLE_1",0);fe(us,"ANGLE_2",2*Math.PI/3);fe(us,"ANGLE_3",4*Math.PI/3);var dD=` -precision mediump float; - -varying vec4 v_color; - -void main(void) { - gl_FragColor = v_color; -} -`,hD=dD,gD=` -attribute vec2 a_position; -attribute vec2 a_normal; -attribute float a_radius; -attribute vec3 a_barycentric; - -#ifdef PICKING_MODE -attribute vec4 a_id; -#else -attribute vec4 a_color; -#endif - -uniform mat3 u_matrix; -uniform float u_sizeRatio; -uniform float u_correctionRatio; -uniform float u_minEdgeThickness; -uniform float u_lengthToThicknessRatio; -uniform float u_widenessToThicknessRatio; - -varying vec4 v_color; - -const float bias = 255.0 / 254.0; - -void main() { - float minThickness = u_minEdgeThickness; - - float normalLength = length(a_normal); - vec2 unitNormal = a_normal / normalLength; - - // These first computations are taken from edge.vert.glsl and - // edge.clamped.vert.glsl. Please read it to get better comments on what's - // happening: - float pixelsThickness = max(normalLength / u_sizeRatio, minThickness); - float webGLThickness = pixelsThickness * u_correctionRatio; - float webGLNodeRadius = a_radius * 2.0 * u_correctionRatio / u_sizeRatio; - float webGLArrowHeadLength = webGLThickness * u_lengthToThicknessRatio * 2.0; - float webGLArrowHeadThickness = webGLThickness * u_widenessToThicknessRatio; - - float da = a_barycentric.x; - float db = a_barycentric.y; - float dc = a_barycentric.z; - - vec2 delta = vec2( - da * (webGLNodeRadius * unitNormal.y) - + db * ((webGLNodeRadius + webGLArrowHeadLength) * unitNormal.y + webGLArrowHeadThickness * unitNormal.x) - + dc * ((webGLNodeRadius + webGLArrowHeadLength) * unitNormal.y - webGLArrowHeadThickness * unitNormal.x), - - da * (-webGLNodeRadius * unitNormal.x) - + db * (-(webGLNodeRadius + webGLArrowHeadLength) * unitNormal.x + webGLArrowHeadThickness * unitNormal.y) - + dc * (-(webGLNodeRadius + webGLArrowHeadLength) * unitNormal.x - webGLArrowHeadThickness * unitNormal.y) - ); - - vec2 position = (u_matrix * vec3(a_position + delta, 1)).xy; - - gl_Position = vec4(position, 0, 1); - - #ifdef PICKING_MODE - // For picking mode, we use the ID as the color: - v_color = a_id; - #else - // For normal mode, we use the color: - v_color = a_color; - #endif - - v_color.a *= bias; -} -`,pD=gD,Zw=WebGLRenderingContext,$y=Zw.UNSIGNED_BYTE,zl=Zw.FLOAT,mD=["u_matrix","u_sizeRatio","u_correctionRatio","u_minEdgeThickness","u_lengthToThicknessRatio","u_widenessToThicknessRatio"],cs={extremity:"target",lengthToThicknessRatio:2.5,widenessToThicknessRatio:2};function ou(r){var n=_e(_e({},cs),r||{});return function(i){function a(){return At(this,a),It(this,a,arguments)}return Yt(a,i),Rt(a,[{key:"getDefinition",value:function(){return{VERTICES:3,VERTEX_SHADER_SOURCE:pD,FRAGMENT_SHADER_SOURCE:hD,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:mD,ATTRIBUTES:[{name:"a_position",size:2,type:zl},{name:"a_normal",size:2,type:zl},{name:"a_radius",size:1,type:zl},{name:"a_color",size:4,type:$y,normalized:!0},{name:"a_id",size:4,type:$y,normalized:!0}],CONSTANT_ATTRIBUTES:[{name:"a_barycentric",size:3,type:zl}],CONSTANT_DATA:[[1,0,0],[0,1,0],[0,0,1]]}}},{key:"processVisibleItem",value:function(l,c,f,d,g){if(n.extremity==="source"){var m=[d,f];f=m[0],d=m[1]}var v=g.size||1,y=d.size||1,b=f.x,x=f.y,E=d.x,T=d.y,M=Xn(g.color),N=E-b,L=T-x,C=N*N+L*L,R=0,B=0;C&&(C=1/Math.sqrt(C),R=-L*C*v,B=N*C*v);var _=this.array;_[c++]=E,_[c++]=T,_[c++]=-R,_[c++]=-B,_[c++]=y,_[c++]=M,_[c++]=l}},{key:"setUniforms",value:function(l,c){var f=c.gl,d=c.uniformLocations,g=d.u_matrix,m=d.u_sizeRatio,v=d.u_correctionRatio,y=d.u_minEdgeThickness,b=d.u_lengthToThicknessRatio,x=d.u_widenessToThicknessRatio;f.uniformMatrix3fv(g,!1,l.matrix),f.uniform1f(m,l.sizeRatio),f.uniform1f(v,l.correctionRatio),f.uniform1f(y,l.minEdgeThickness),f.uniform1f(b,n.lengthToThicknessRatio),f.uniform1f(x,n.widenessToThicknessRatio)}}])}(ls)}ou();var vD=` -precision mediump float; - -varying vec4 v_color; -varying vec2 v_normal; -varying float v_thickness; -varying float v_feather; - -const vec4 transparent = vec4(0.0, 0.0, 0.0, 0.0); - -void main(void) { - // We only handle antialiasing for normal mode: - #ifdef PICKING_MODE - gl_FragColor = v_color; - #else - float dist = length(v_normal) * v_thickness; - - float t = smoothstep( - v_thickness - v_feather, - v_thickness, - dist - ); - - gl_FragColor = mix(v_color, transparent, t); - #endif -} -`,qh=vD,yD=` -attribute vec4 a_id; -attribute vec4 a_color; -attribute vec2 a_normal; -attribute float a_normalCoef; -attribute vec2 a_positionStart; -attribute vec2 a_positionEnd; -attribute float a_positionCoef; -attribute float a_radius; -attribute float a_radiusCoef; - -uniform mat3 u_matrix; -uniform float u_zoomRatio; -uniform float u_sizeRatio; -uniform float u_pixelRatio; -uniform float u_correctionRatio; -uniform float u_minEdgeThickness; -uniform float u_lengthToThicknessRatio; -uniform float u_feather; - -varying vec4 v_color; -varying vec2 v_normal; -varying float v_thickness; -varying float v_feather; - -const float bias = 255.0 / 254.0; - -void main() { - float minThickness = u_minEdgeThickness; - - float radius = a_radius * a_radiusCoef; - vec2 normal = a_normal * a_normalCoef; - vec2 position = a_positionStart * (1.0 - a_positionCoef) + a_positionEnd * a_positionCoef; - - float normalLength = length(normal); - vec2 unitNormal = normal / normalLength; - - // These first computations are taken from edge.vert.glsl. Please read it to - // get better comments on what's happening: - float pixelsThickness = max(normalLength, minThickness * u_sizeRatio); - float webGLThickness = pixelsThickness * u_correctionRatio / u_sizeRatio; - - // Here, we move the point to leave space for the arrow head: - float direction = sign(radius); - float webGLNodeRadius = direction * radius * 2.0 * u_correctionRatio / u_sizeRatio; - float webGLArrowHeadLength = webGLThickness * u_lengthToThicknessRatio * 2.0; - - vec2 compensationVector = vec2(-direction * unitNormal.y, direction * unitNormal.x) * (webGLNodeRadius + webGLArrowHeadLength); - - // Here is the proper position of the vertex - gl_Position = vec4((u_matrix * vec3(position + unitNormal * webGLThickness + compensationVector, 1)).xy, 0, 1); - - v_thickness = webGLThickness / u_zoomRatio; - - v_normal = unitNormal; - - v_feather = u_feather * u_correctionRatio / u_zoomRatio / u_pixelRatio * 2.0; - - #ifdef PICKING_MODE - // For picking mode, we use the ID as the color: - v_color = a_id; - #else - // For normal mode, we use the color: - v_color = a_color; - #endif - - v_color.a *= bias; -} -`,bD=yD,Ww=WebGLRenderingContext,qy=Ww.UNSIGNED_BYTE,Di=Ww.FLOAT,wD=["u_matrix","u_zoomRatio","u_sizeRatio","u_correctionRatio","u_pixelRatio","u_feather","u_minEdgeThickness","u_lengthToThicknessRatio"],ED={lengthToThicknessRatio:cs.lengthToThicknessRatio};function Kw(r){var n=_e(_e({},ED),{});return function(i){function a(){return At(this,a),It(this,a,arguments)}return Yt(a,i),Rt(a,[{key:"getDefinition",value:function(){return{VERTICES:6,VERTEX_SHADER_SOURCE:bD,FRAGMENT_SHADER_SOURCE:qh,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:wD,ATTRIBUTES:[{name:"a_positionStart",size:2,type:Di},{name:"a_positionEnd",size:2,type:Di},{name:"a_normal",size:2,type:Di},{name:"a_color",size:4,type:qy,normalized:!0},{name:"a_id",size:4,type:qy,normalized:!0},{name:"a_radius",size:1,type:Di}],CONSTANT_ATTRIBUTES:[{name:"a_positionCoef",size:1,type:Di},{name:"a_normalCoef",size:1,type:Di},{name:"a_radiusCoef",size:1,type:Di}],CONSTANT_DATA:[[0,1,0],[0,-1,0],[1,1,1],[1,1,1],[0,-1,0],[1,-1,-1]]}}},{key:"processVisibleItem",value:function(l,c,f,d,g){var m=g.size||1,v=f.x,y=f.y,b=d.x,x=d.y,E=Xn(g.color),T=b-v,M=x-y,N=d.size||1,L=T*T+M*M,C=0,R=0;L&&(L=1/Math.sqrt(L),C=-M*L*m,R=T*L*m);var B=this.array;B[c++]=v,B[c++]=y,B[c++]=b,B[c++]=x,B[c++]=C,B[c++]=R,B[c++]=E,B[c++]=l,B[c++]=N}},{key:"setUniforms",value:function(l,c){var f=c.gl,d=c.uniformLocations,g=d.u_matrix,m=d.u_zoomRatio,v=d.u_feather,y=d.u_pixelRatio,b=d.u_correctionRatio,x=d.u_sizeRatio,E=d.u_minEdgeThickness,T=d.u_lengthToThicknessRatio;f.uniformMatrix3fv(g,!1,l.matrix),f.uniform1f(m,l.zoomRatio),f.uniform1f(x,l.sizeRatio),f.uniform1f(b,l.correctionRatio),f.uniform1f(y,l.pixelRatio),f.uniform1f(v,l.antiAliasingFeather),f.uniform1f(E,l.minEdgeThickness),f.uniform1f(T,n.lengthToThicknessRatio)}}])}(ls)}Kw();function SD(r){return Iw([Kw(),ou(r)])}var xD=SD(),Qw=xD,_D=` -attribute vec4 a_id; -attribute vec4 a_color; -attribute vec2 a_normal; -attribute float a_normalCoef; -attribute vec2 a_positionStart; -attribute vec2 a_positionEnd; -attribute float a_positionCoef; - -uniform mat3 u_matrix; -uniform float u_sizeRatio; -uniform float u_zoomRatio; -uniform float u_pixelRatio; -uniform float u_correctionRatio; -uniform float u_minEdgeThickness; -uniform float u_feather; - -varying vec4 v_color; -varying vec2 v_normal; -varying float v_thickness; -varying float v_feather; - -const float bias = 255.0 / 254.0; - -void main() { - float minThickness = u_minEdgeThickness; - - vec2 normal = a_normal * a_normalCoef; - vec2 position = a_positionStart * (1.0 - a_positionCoef) + a_positionEnd * a_positionCoef; - - float normalLength = length(normal); - vec2 unitNormal = normal / normalLength; - - // We require edges to be at least "minThickness" pixels thick *on screen* - // (so we need to compensate the size ratio): - float pixelsThickness = max(normalLength, minThickness * u_sizeRatio); - - // Then, we need to retrieve the normalized thickness of the edge in the WebGL - // referential (in a ([0, 1], [0, 1]) space), using our "magic" correction - // ratio: - float webGLThickness = pixelsThickness * u_correctionRatio / u_sizeRatio; - - // Here is the proper position of the vertex - gl_Position = vec4((u_matrix * vec3(position + unitNormal * webGLThickness, 1)).xy, 0, 1); - - // For the fragment shader though, we need a thickness that takes the "magic" - // correction ratio into account (as in webGLThickness), but so that the - // antialiasing effect does not depend on the zoom level. So here's yet - // another thickness version: - v_thickness = webGLThickness / u_zoomRatio; - - v_normal = unitNormal; - - v_feather = u_feather * u_correctionRatio / u_zoomRatio / u_pixelRatio * 2.0; - - #ifdef PICKING_MODE - // For picking mode, we use the ID as the color: - v_color = a_id; - #else - // For normal mode, we use the color: - v_color = a_color; - #endif - - v_color.a *= bias; -} -`,TD=_D,Jw=WebGLRenderingContext,Vy=Jw.UNSIGNED_BYTE,Vo=Jw.FLOAT,CD=["u_matrix","u_zoomRatio","u_sizeRatio","u_correctionRatio","u_pixelRatio","u_feather","u_minEdgeThickness"],AD=function(r){function n(){return At(this,n),It(this,n,arguments)}return Yt(n,r),Rt(n,[{key:"getDefinition",value:function(){return{VERTICES:6,VERTEX_SHADER_SOURCE:TD,FRAGMENT_SHADER_SOURCE:qh,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:CD,ATTRIBUTES:[{name:"a_positionStart",size:2,type:Vo},{name:"a_positionEnd",size:2,type:Vo},{name:"a_normal",size:2,type:Vo},{name:"a_color",size:4,type:Vy,normalized:!0},{name:"a_id",size:4,type:Vy,normalized:!0}],CONSTANT_ATTRIBUTES:[{name:"a_positionCoef",size:1,type:Vo},{name:"a_normalCoef",size:1,type:Vo}],CONSTANT_DATA:[[0,1],[0,-1],[1,1],[1,1],[0,-1],[1,-1]]}}},{key:"processVisibleItem",value:function(a,s,l,c,f){var d=f.size||1,g=l.x,m=l.y,v=c.x,y=c.y,b=Xn(f.color),x=v-g,E=y-m,T=x*x+E*E,M=0,N=0;T&&(T=1/Math.sqrt(T),M=-E*T*d,N=x*T*d);var L=this.array;L[s++]=g,L[s++]=m,L[s++]=v,L[s++]=y,L[s++]=M,L[s++]=N,L[s++]=b,L[s++]=a}},{key:"setUniforms",value:function(a,s){var l=s.gl,c=s.uniformLocations,f=c.u_matrix,d=c.u_zoomRatio,g=c.u_feather,m=c.u_pixelRatio,v=c.u_correctionRatio,y=c.u_sizeRatio,b=c.u_minEdgeThickness;l.uniformMatrix3fv(f,!1,a.matrix),l.uniform1f(d,a.zoomRatio),l.uniform1f(y,a.sizeRatio),l.uniform1f(v,a.correctionRatio),l.uniform1f(m,a.pixelRatio),l.uniform1f(g,a.antiAliasingFeather),l.uniform1f(b,a.minEdgeThickness)}}])}(ls),Vh=function(r){function n(){var i;return At(this,n),i=It(this,n),i.rawEmitter=i,i}return Yt(n,r),Rt(n)}(xw.EventEmitter),od,Iy;function Zn(){return Iy||(Iy=1,od=function(n){return n!==null&&typeof n=="object"&&typeof n.addUndirectedEdgeWithKey=="function"&&typeof n.dropNode=="function"&&typeof n.multi=="boolean"}),od}var RD=Zn();const DD=on(RD);var OD=function(n){return n},kD=function(n){return n*n},LD=function(n){return n*(2-n)},ND=function(n){return(n*=2)<1?.5*n*n:-.5*(--n*(n-2)-1)},zD=function(n){return n*n*n},GD=function(n){return--n*n*n+1},MD=function(n){return(n*=2)<1?.5*n*n*n:.5*((n-=2)*n*n+2)},eE={linear:OD,quadraticIn:kD,quadraticOut:LD,quadraticInOut:ND,cubicIn:zD,cubicOut:GD,cubicInOut:MD},tE={easing:"quadraticInOut",duration:150};function jD(r,n,i,a){var s=Object.assign({},tE,i),l=typeof s.easing=="function"?s.easing:eE[s.easing],c=Date.now(),f={};for(var d in n){var g=n[d];f[d]={};for(var m in g)f[d][m]=r.getNodeAttribute(d,m)}var v=null,y=function(){v=null;var x=(Date.now()-c)/s.duration;if(x>=1){for(var E in n){var T=n[E];for(var M in T)r.setNodeAttribute(E,M,T[M])}return}x=l(x);for(var N in n){var L=n[N],C=f[N];for(var R in L)r.setNodeAttribute(N,R,L[R]*x+C[R]*(1-x))}v=requestAnimationFrame(y)};return y(),function(){v&&cancelAnimationFrame(v)}}function Dn(){return Float32Array.of(1,0,0,0,1,0,0,0,1)}function Gl(r,n,i){return r[0]=n,r[4]=typeof i=="number"?i:n,r}function Yy(r,n){var i=Math.sin(n),a=Math.cos(n);return r[0]=a,r[1]=i,r[3]=-i,r[4]=a,r}function Xy(r,n,i){return r[6]=n,r[7]=i,r}function Vr(r,n){var i=r[0],a=r[1],s=r[2],l=r[3],c=r[4],f=r[5],d=r[6],g=r[7],m=r[8],v=n[0],y=n[1],b=n[2],x=n[3],E=n[4],T=n[5],M=n[6],N=n[7],L=n[8];return r[0]=v*i+y*l+b*d,r[1]=v*a+y*c+b*g,r[2]=v*s+y*f+b*m,r[3]=x*i+E*l+T*d,r[4]=x*a+E*c+T*g,r[5]=x*s+E*f+T*m,r[6]=M*i+N*l+L*d,r[7]=M*a+N*c+L*g,r[8]=M*s+N*f+L*m,r}function rh(r,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,a=r[0],s=r[1],l=r[3],c=r[4],f=r[6],d=r[7],g=n.x,m=n.y;return{x:g*a+m*l+f*i,y:g*s+m*c+d*i}}function UD(r,n){var i=r.height/r.width,a=n.height/n.width;return i<1&&a>1||i>1&&a<1?1:Math.min(Math.max(a,1/a),Math.max(1/i,i))}function Io(r,n,i,a,s){var l=r.angle,c=r.ratio,f=r.x,d=r.y,g=n.width,m=n.height,v=Dn(),y=Math.min(g,m)-2*a,b=UD(n,i);return s?(Vr(v,Xy(Dn(),f,d)),Vr(v,Gl(Dn(),c)),Vr(v,Yy(Dn(),l)),Vr(v,Gl(Dn(),g/y/2/b,m/y/2/b))):(Vr(v,Gl(Dn(),2*(y/g)*b,2*(y/m)*b)),Vr(v,Yy(Dn(),-l)),Vr(v,Gl(Dn(),1/c)),Vr(v,Xy(Dn(),-f,-d))),v}function BD(r,n,i){var a=rh(r,{x:Math.cos(n.angle),y:Math.sin(n.angle)},0),s=a.x,l=a.y;return 1/Math.sqrt(Math.pow(s,2)+Math.pow(l,2))/i.width}function FD(r){if(!r.order)return{x:[0,1],y:[0,1]};var n=1/0,i=-1/0,a=1/0,s=-1/0;return r.forEachNode(function(l,c){var f=c.x,d=c.y;fi&&(i=f),ds&&(s=d)}),{x:[n,i],y:[a,s]}}function HD(r){if(!DD(r))throw new Error("Sigma: invalid graph instance.");r.forEachNode(function(n,i){if(!Number.isFinite(i.x)||!Number.isFinite(i.y))throw new Error("Sigma: Coordinates of node ".concat(n," are invalid. A node must have a numeric 'x' and 'y' attribute."))})}function PD(r,n,i){var a=document.createElement(r);if(n)for(var s in n)a.style[s]=n[s];if(i)for(var l in i)a.setAttribute(l,i[l]);return a}function Zy(){return typeof window.devicePixelRatio<"u"?window.devicePixelRatio:1}function Wy(r,n,i){return i.sort(function(a,s){var l=n(a)||0,c=n(s)||0;return lc?1:0})}function Ky(r){var n=Na(r.x,2),i=n[0],a=n[1],s=Na(r.y,2),l=s[0],c=s[1],f=Math.max(a-i,c-l),d=(a+i)/2,g=(c+l)/2;(f===0||Math.abs(f)===1/0||isNaN(f))&&(f=1),isNaN(d)&&(d=0),isNaN(g)&&(g=0);var m=function(y){return{x:.5+(y.x-d)/f,y:.5+(y.y-g)/f}};return m.applyTo=function(v){v.x=.5+(v.x-d)/f,v.y=.5+(v.y-g)/f},m.inverse=function(v){return{x:d+f*(v.x-.5),y:g+f*(v.y-.5)}},m.ratio=f,m}function ih(r){"@babel/helpers - typeof";return ih=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ih(r)}function Qy(r,n){var i=n.size;if(i!==0){var a=r.length;r.length+=i;var s=0;n.forEach(function(l){r[a+s]=l,s++})}}function sd(r){r=r||{};for(var n=0,i=arguments.length<=1?0:arguments.length-1;n1&&arguments[1]!==void 0?arguments[1]:{},c=arguments.length>2?arguments[2]:void 0;if(!c)return new Promise(function(b){return s.animate(a,l,b)});if(this.enabled){var f=_e(_e({},tE),l),d=this.validateState(a),g=typeof f.easing=="function"?f.easing:eE[f.easing],m=Date.now(),v=this.getState(),y=function(){var x=(Date.now()-m)/f.duration;if(x>=1){s.nextFrame=null,s.setState(d),s.animationCallback&&(s.animationCallback.call(null),s.animationCallback=void 0);return}var E=g(x),T={};typeof d.x=="number"&&(T.x=v.x+(d.x-v.x)*E),typeof d.y=="number"&&(T.y=v.y+(d.y-v.y)*E),s.enabledRotation&&typeof d.angle=="number"&&(T.angle=v.angle+(d.angle-v.angle)*E),typeof d.ratio=="number"&&(T.ratio=v.ratio+(d.ratio-v.ratio)*E),s.setState(T),s.nextFrame=requestAnimationFrame(y)};this.nextFrame?(cancelAnimationFrame(this.nextFrame),this.animationCallback&&this.animationCallback.call(null),this.nextFrame=requestAnimationFrame(y)):y(),this.animationCallback=c}}},{key:"animatedZoom",value:function(a){return a?typeof a=="number"?this.animate({ratio:this.ratio/a}):this.animate({ratio:this.ratio/(a.factor||Ml)},a):this.animate({ratio:this.ratio/Ml})}},{key:"animatedUnzoom",value:function(a){return a?typeof a=="number"?this.animate({ratio:this.ratio*a}):this.animate({ratio:this.ratio*(a.factor||Ml)},a):this.animate({ratio:this.ratio*Ml})}},{key:"animatedReset",value:function(a){return this.animate({x:.5,y:.5,ratio:1,angle:0},a)}},{key:"copy",value:function(){return n.from(this.getState())}}],[{key:"from",value:function(a){var s=new n;return s.setState(a)}}])}(Vh);function On(r,n){var i=n.getBoundingClientRect();return{x:r.clientX-i.left,y:r.clientY-i.top}}function mr(r,n){var i=_e(_e({},On(r,n)),{},{sigmaDefaultPrevented:!1,preventSigmaDefault:function(){i.sigmaDefaultPrevented=!0},original:r});return i}function Yo(r){var n="x"in r?r:_e(_e({},r.touches[0]||r.previousTouches[0]),{},{original:r.original,sigmaDefaultPrevented:r.sigmaDefaultPrevented,preventSigmaDefault:function(){r.sigmaDefaultPrevented=!0,n.sigmaDefaultPrevented=!0}});return n}function ID(r,n){return _e(_e({},mr(r,n)),{},{delta:nE(r)})}var YD=2;function Yl(r){for(var n=[],i=0,a=Math.min(r.length,YD);i0;s.draggedEvents=0,v&&s.renderer.getSetting("hideEdgesOnMove")&&s.renderer.refresh()},0),this.emit("mouseup",mr(a,this.container))}}},{key:"handleMove",value:function(a){var s=this;if(this.enabled){var l=mr(a,this.container);if(this.emit("mousemovebody",l),(a.target===this.container||a.composedPath()[0]===this.container)&&this.emit("mousemove",l),!l.sigmaDefaultPrevented&&this.isMouseDown){this.isMoving=!0,this.draggedEvents++,typeof this.movingTimeout=="number"&&clearTimeout(this.movingTimeout),this.movingTimeout=window.setTimeout(function(){s.movingTimeout=null,s.isMoving=!1},this.settings.dragTimeout);var c=this.renderer.getCamera(),f=On(a,this.container),d=f.x,g=f.y,m=this.renderer.viewportToFramedGraph({x:this.lastMouseX,y:this.lastMouseY}),v=this.renderer.viewportToFramedGraph({x:d,y:g}),y=m.x-v.x,b=m.y-v.y,x=c.getState(),E=x.x+y,T=x.y+b;c.setState({x:E,y:T}),this.lastMouseX=d,this.lastMouseY=g,a.preventDefault(),a.stopPropagation()}}}},{key:"handleLeave",value:function(a){this.emit("mouseleave",mr(a,this.container))}},{key:"handleEnter",value:function(a){this.emit("mouseenter",mr(a,this.container))}},{key:"handleWheel",value:function(a){var s=this,l=this.renderer.getCamera();if(!(!this.enabled||!l.enabledZooming)){var c=nE(a);if(c){var f=ID(a,this.container);if(this.emit("wheel",f),f.sigmaDefaultPrevented){a.preventDefault(),a.stopPropagation();return}var d=l.getState().ratio,g=c>0?1/this.settings.zoomingRatio:this.settings.zoomingRatio,m=l.getBoundedRatio(d*g),v=c>0?1:-1,y=Date.now();d!==m&&(a.preventDefault(),a.stopPropagation(),!(this.currentWheelDirection===v&&this.lastWheelTriggerTime&&y-this.lastWheelTriggerTimea.size?-1:i.sizea.key?1:-1}}])}(),nb=function(){function r(){At(this,r),fe(this,"width",0),fe(this,"height",0),fe(this,"cellSize",0),fe(this,"columns",0),fe(this,"rows",0),fe(this,"cells",{})}return Rt(r,[{key:"resizeAndClear",value:function(i,a){this.width=i.width,this.height=i.height,this.cellSize=a,this.columns=Math.ceil(i.width/a),this.rows=Math.ceil(i.height/a),this.cells={}}},{key:"getIndex",value:function(i){var a=Math.floor(i.x/this.cellSize),s=Math.floor(i.y/this.cellSize);return s*this.columns+a}},{key:"add",value:function(i,a,s){var l=new tb(i,a),c=this.getIndex(s),f=this.cells[c];f||(f=[],this.cells[c]=f),f.push(l)}},{key:"organize",value:function(){for(var i in this.cells){var a=this.cells[i];a.sort(tb.compare)}}},{key:"getLabelsToDisplay",value:function(i,a){var s=this.cellSize*this.cellSize,l=s/i/i,c=l*a/s,f=Math.ceil(c),d=[];for(var g in this.cells)for(var m=this.cells[g],v=0;v2&&arguments[2]!==void 0?arguments[2]:{};if(At(this,n),s=It(this,n),fe(s,"elements",{}),fe(s,"canvasContexts",{}),fe(s,"webGLContexts",{}),fe(s,"pickingLayers",new Set),fe(s,"textures",{}),fe(s,"frameBuffers",{}),fe(s,"activeListeners",{}),fe(s,"labelGrid",new nb),fe(s,"nodeDataCache",{}),fe(s,"edgeDataCache",{}),fe(s,"nodeProgramIndex",{}),fe(s,"edgeProgramIndex",{}),fe(s,"nodesWithForcedLabels",new Set),fe(s,"edgesWithForcedLabels",new Set),fe(s,"nodeExtent",{x:[0,1],y:[0,1]}),fe(s,"nodeZExtent",[1/0,-1/0]),fe(s,"edgeZExtent",[1/0,-1/0]),fe(s,"matrix",Dn()),fe(s,"invMatrix",Dn()),fe(s,"correctionRatio",1),fe(s,"customBBox",null),fe(s,"normalizationFunction",Ky({x:[0,1],y:[0,1]})),fe(s,"graphToViewportRatio",1),fe(s,"itemIDsIndex",{}),fe(s,"nodeIndices",{}),fe(s,"edgeIndices",{}),fe(s,"width",0),fe(s,"height",0),fe(s,"pixelRatio",Zy()),fe(s,"pickingDownSizingRatio",2*s.pixelRatio),fe(s,"displayedNodeLabels",new Set),fe(s,"displayedEdgeLabels",new Set),fe(s,"highlightedNodes",new Set),fe(s,"hoveredNode",null),fe(s,"hoveredEdge",null),fe(s,"renderFrame",null),fe(s,"renderHighlightedNodesFrame",null),fe(s,"needToProcess",!1),fe(s,"checkEdgesEventsFrame",null),fe(s,"nodePrograms",{}),fe(s,"nodeHoverPrograms",{}),fe(s,"edgePrograms",{}),s.settings=VD(l),ld(s.settings),HD(i),!(a instanceof HTMLElement))throw new Error("Sigma: container should be an html element.");s.graph=i,s.container=a,s.createWebGLContext("edges",{picking:l.enableEdgeEvents}),s.createCanvasContext("edgeLabels"),s.createWebGLContext("nodes",{picking:!0}),s.createCanvasContext("labels"),s.createCanvasContext("hovers"),s.createWebGLContext("hoverNodes"),s.createCanvasContext("mouse",{style:{touchAction:"none",userSelect:"none"}}),s.resize();for(var c in s.settings.nodeProgramClasses)s.registerNodeProgram(c,s.settings.nodeProgramClasses[c],s.settings.nodeHoverProgramClasses[c]);for(var f in s.settings.edgeProgramClasses)s.registerEdgeProgram(f,s.settings.edgeProgramClasses[f]);return s.camera=new Jy,s.bindCameraHandlers(),s.mouseCaptor=new WD(s.elements.mouse,s),s.mouseCaptor.setSettings(s.settings),s.touchCaptor=new JD(s.elements.mouse,s),s.touchCaptor.setSettings(s.settings),s.bindEventHandlers(),s.bindGraphHandlers(),s.handleSettingsUpdate(),s.refresh(),s}return Yt(n,r),Rt(n,[{key:"registerNodeProgram",value:function(a,s,l){return this.nodePrograms[a]&&this.nodePrograms[a].kill(),this.nodeHoverPrograms[a]&&this.nodeHoverPrograms[a].kill(),this.nodePrograms[a]=new s(this.webGLContexts.nodes,this.frameBuffers.nodes,this),this.nodeHoverPrograms[a]=new(l||s)(this.webGLContexts.hoverNodes,null,this),this}},{key:"registerEdgeProgram",value:function(a,s){return this.edgePrograms[a]&&this.edgePrograms[a].kill(),this.edgePrograms[a]=new s(this.webGLContexts.edges,this.frameBuffers.edges,this),this}},{key:"unregisterNodeProgram",value:function(a){if(this.nodePrograms[a]){var s=this.nodePrograms,l=s[a],c=ud(s,[a].map(Qo));l.kill(),this.nodePrograms=c}if(this.nodeHoverPrograms[a]){var f=this.nodeHoverPrograms,d=f[a],g=ud(f,[a].map(Qo));d.kill(),this.nodePrograms=g}return this}},{key:"unregisterEdgeProgram",value:function(a){if(this.edgePrograms[a]){var s=this.edgePrograms,l=s[a],c=ud(s,[a].map(Qo));l.kill(),this.edgePrograms=c}return this}},{key:"resetWebGLTexture",value:function(a){var s=this.webGLContexts[a],l=this.frameBuffers[a],c=this.textures[a];c&&s.deleteTexture(c);var f=s.createTexture();return s.bindFramebuffer(s.FRAMEBUFFER,l),s.bindTexture(s.TEXTURE_2D,f),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,this.width,this.height,0,s.RGBA,s.UNSIGNED_BYTE,null),s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0,s.TEXTURE_2D,f,0),this.textures[a]=f,this}},{key:"bindCameraHandlers",value:function(){var a=this;return this.activeListeners.camera=function(){a.scheduleRender()},this.camera.on("updated",this.activeListeners.camera),this}},{key:"unbindCameraHandlers",value:function(){return this.camera.removeListener("updated",this.activeListeners.camera),this}},{key:"getNodeAtPosition",value:function(a){var s=a.x,l=a.y,c=jy(this.webGLContexts.nodes,this.frameBuffers.nodes,s,l,this.pixelRatio,this.pickingDownSizingRatio),f=My.apply(void 0,eb(c)),d=this.itemIDsIndex[f];return d&&d.type==="node"?d.id:null}},{key:"bindEventHandlers",value:function(){var a=this;this.activeListeners.handleResize=function(){a.scheduleRefresh()},window.addEventListener("resize",this.activeListeners.handleResize),this.activeListeners.handleMove=function(l){var c=Yo(l),f={event:c,preventSigmaDefault:function(){c.preventSigmaDefault()}},d=a.getNodeAtPosition(c);if(d&&a.hoveredNode!==d&&!a.nodeDataCache[d].hidden){a.hoveredNode&&a.emit("leaveNode",_e(_e({},f),{},{node:a.hoveredNode})),a.hoveredNode=d,a.emit("enterNode",_e(_e({},f),{},{node:d})),a.scheduleHighlightedNodesRender();return}if(a.hoveredNode&&a.getNodeAtPosition(c)!==a.hoveredNode){var g=a.hoveredNode;a.hoveredNode=null,a.emit("leaveNode",_e(_e({},f),{},{node:g})),a.scheduleHighlightedNodesRender();return}if(a.settings.enableEdgeEvents){var m=a.hoveredNode?null:a.getEdgeAtPoint(f.event.x,f.event.y);m!==a.hoveredEdge&&(a.hoveredEdge&&a.emit("leaveEdge",_e(_e({},f),{},{edge:a.hoveredEdge})),m&&a.emit("enterEdge",_e(_e({},f),{},{edge:m})),a.hoveredEdge=m)}},this.activeListeners.handleMoveBody=function(l){var c=Yo(l);a.emit("moveBody",{event:c,preventSigmaDefault:function(){c.preventSigmaDefault()}})},this.activeListeners.handleLeave=function(l){var c=Yo(l),f={event:c,preventSigmaDefault:function(){c.preventSigmaDefault()}};a.hoveredNode&&(a.emit("leaveNode",_e(_e({},f),{},{node:a.hoveredNode})),a.scheduleHighlightedNodesRender()),a.settings.enableEdgeEvents&&a.hoveredEdge&&(a.emit("leaveEdge",_e(_e({},f),{},{edge:a.hoveredEdge})),a.scheduleHighlightedNodesRender()),a.emit("leaveStage",_e({},f))},this.activeListeners.handleEnter=function(l){var c=Yo(l),f={event:c,preventSigmaDefault:function(){c.preventSigmaDefault()}};a.emit("enterStage",_e({},f))};var s=function(c){return function(f){var d=Yo(f),g={event:d,preventSigmaDefault:function(){d.preventSigmaDefault()}},m=a.getNodeAtPosition(d);if(m)return a.emit("".concat(c,"Node"),_e(_e({},g),{},{node:m}));if(a.settings.enableEdgeEvents){var v=a.getEdgeAtPoint(d.x,d.y);if(v)return a.emit("".concat(c,"Edge"),_e(_e({},g),{},{edge:v}))}return a.emit("".concat(c,"Stage"),g)}};return this.activeListeners.handleClick=s("click"),this.activeListeners.handleRightClick=s("rightClick"),this.activeListeners.handleDoubleClick=s("doubleClick"),this.activeListeners.handleWheel=s("wheel"),this.activeListeners.handleDown=s("down"),this.activeListeners.handleUp=s("up"),this.mouseCaptor.on("mousemove",this.activeListeners.handleMove),this.mouseCaptor.on("mousemovebody",this.activeListeners.handleMoveBody),this.mouseCaptor.on("click",this.activeListeners.handleClick),this.mouseCaptor.on("rightClick",this.activeListeners.handleRightClick),this.mouseCaptor.on("doubleClick",this.activeListeners.handleDoubleClick),this.mouseCaptor.on("wheel",this.activeListeners.handleWheel),this.mouseCaptor.on("mousedown",this.activeListeners.handleDown),this.mouseCaptor.on("mouseup",this.activeListeners.handleUp),this.mouseCaptor.on("mouseleave",this.activeListeners.handleLeave),this.mouseCaptor.on("mouseenter",this.activeListeners.handleEnter),this.touchCaptor.on("touchdown",this.activeListeners.handleDown),this.touchCaptor.on("touchdown",this.activeListeners.handleMove),this.touchCaptor.on("touchup",this.activeListeners.handleUp),this.touchCaptor.on("touchmove",this.activeListeners.handleMove),this.touchCaptor.on("tap",this.activeListeners.handleClick),this.touchCaptor.on("doubletap",this.activeListeners.handleDoubleClick),this.touchCaptor.on("touchmove",this.activeListeners.handleMoveBody),this}},{key:"bindGraphHandlers",value:function(){var a=this,s=this.graph,l=new Set(["x","y","zIndex","type"]);return this.activeListeners.eachNodeAttributesUpdatedGraphUpdate=function(c){var f,d=(f=c.hints)===null||f===void 0?void 0:f.attributes;a.graph.forEachNode(function(m){return a.updateNode(m)});var g=!d||d.some(function(m){return l.has(m)});a.refresh({partialGraph:{nodes:s.nodes()},skipIndexation:!g,schedule:!0})},this.activeListeners.eachEdgeAttributesUpdatedGraphUpdate=function(c){var f,d=(f=c.hints)===null||f===void 0?void 0:f.attributes;a.graph.forEachEdge(function(m){return a.updateEdge(m)});var g=d&&["zIndex","type"].some(function(m){return d==null?void 0:d.includes(m)});a.refresh({partialGraph:{edges:s.edges()},skipIndexation:!g,schedule:!0})},this.activeListeners.addNodeGraphUpdate=function(c){var f=c.key;a.addNode(f),a.refresh({partialGraph:{nodes:[f]},skipIndexation:!1,schedule:!0})},this.activeListeners.updateNodeGraphUpdate=function(c){var f=c.key;a.refresh({partialGraph:{nodes:[f]},skipIndexation:!1,schedule:!0})},this.activeListeners.dropNodeGraphUpdate=function(c){var f=c.key;a.removeNode(f),a.refresh({schedule:!0})},this.activeListeners.addEdgeGraphUpdate=function(c){var f=c.key;a.addEdge(f),a.refresh({partialGraph:{edges:[f]},schedule:!0})},this.activeListeners.updateEdgeGraphUpdate=function(c){var f=c.key;a.refresh({partialGraph:{edges:[f]},skipIndexation:!1,schedule:!0})},this.activeListeners.dropEdgeGraphUpdate=function(c){var f=c.key;a.removeEdge(f),a.refresh({schedule:!0})},this.activeListeners.clearEdgesGraphUpdate=function(){a.clearEdgeState(),a.clearEdgeIndices(),a.refresh({schedule:!0})},this.activeListeners.clearGraphUpdate=function(){a.clearEdgeState(),a.clearNodeState(),a.clearEdgeIndices(),a.clearNodeIndices(),a.refresh({schedule:!0})},s.on("nodeAdded",this.activeListeners.addNodeGraphUpdate),s.on("nodeDropped",this.activeListeners.dropNodeGraphUpdate),s.on("nodeAttributesUpdated",this.activeListeners.updateNodeGraphUpdate),s.on("eachNodeAttributesUpdated",this.activeListeners.eachNodeAttributesUpdatedGraphUpdate),s.on("edgeAdded",this.activeListeners.addEdgeGraphUpdate),s.on("edgeDropped",this.activeListeners.dropEdgeGraphUpdate),s.on("edgeAttributesUpdated",this.activeListeners.updateEdgeGraphUpdate),s.on("eachEdgeAttributesUpdated",this.activeListeners.eachEdgeAttributesUpdatedGraphUpdate),s.on("edgesCleared",this.activeListeners.clearEdgesGraphUpdate),s.on("cleared",this.activeListeners.clearGraphUpdate),this}},{key:"unbindGraphHandlers",value:function(){var a=this.graph;a.removeListener("nodeAdded",this.activeListeners.addNodeGraphUpdate),a.removeListener("nodeDropped",this.activeListeners.dropNodeGraphUpdate),a.removeListener("nodeAttributesUpdated",this.activeListeners.updateNodeGraphUpdate),a.removeListener("eachNodeAttributesUpdated",this.activeListeners.eachNodeAttributesUpdatedGraphUpdate),a.removeListener("edgeAdded",this.activeListeners.addEdgeGraphUpdate),a.removeListener("edgeDropped",this.activeListeners.dropEdgeGraphUpdate),a.removeListener("edgeAttributesUpdated",this.activeListeners.updateEdgeGraphUpdate),a.removeListener("eachEdgeAttributesUpdated",this.activeListeners.eachEdgeAttributesUpdatedGraphUpdate),a.removeListener("edgesCleared",this.activeListeners.clearEdgesGraphUpdate),a.removeListener("cleared",this.activeListeners.clearGraphUpdate)}},{key:"getEdgeAtPoint",value:function(a,s){var l=jy(this.webGLContexts.edges,this.frameBuffers.edges,a,s,this.pixelRatio,this.pickingDownSizingRatio),c=My.apply(void 0,eb(l)),f=this.itemIDsIndex[c];return f&&f.type==="edge"?f.id:null}},{key:"process",value:function(){var a=this;this.emit("beforeProcess");var s=this.graph,l=this.settings,c=this.getDimensions();if(this.nodeExtent=FD(this.graph),!this.settings.autoRescale){var f=c.width,d=c.height,g=this.nodeExtent,m=g.x,v=g.y;this.nodeExtent={x:[(m[0]+m[1])/2-f/2,(m[0]+m[1])/2+f/2],y:[(v[0]+v[1])/2-d/2,(v[0]+v[1])/2+d/2]}}this.normalizationFunction=Ky(this.customBBox||this.nodeExtent);var y=new Jy,b=Io(y.getState(),c,this.getGraphDimensions(),this.getStagePadding());this.labelGrid.resizeAndClear(c,l.labelGridCellSize);for(var x={},E={},T={},M={},N=1,L=s.nodes(),C=0,R=L.length;C1&&arguments[1]!==void 0?arguments[1]:{},l=s.tolerance,c=l===void 0?0:l,f=s.boundaries,d=_e({},a),g=f||this.nodeExtent,m=Na(g.x,2),v=m[0],y=m[1],b=Na(g.y,2),x=b[0],E=b[1],T=[this.graphToViewport({x:v,y:x},{cameraState:a}),this.graphToViewport({x:y,y:x},{cameraState:a}),this.graphToViewport({x:v,y:E},{cameraState:a}),this.graphToViewport({x:y,y:E},{cameraState:a})],M=1/0,N=-1/0,L=1/0,C=-1/0;T.forEach(function(J){var ae=J.x,H=J.y;M=Math.min(M,ae),N=Math.max(N,ae),L=Math.min(L,H),C=Math.max(C,H)});var R=N-M,B=C-L,_=this.getDimensions(),$=_.width,z=_.height,F=0,Y=0;if(R>=$?N<$-c?F=N-($-c):M>c&&(F=M-c):N>$+c?F=N-($+c):M<-c&&(F=M+c),B>=z?Cc&&(Y=L-c):C>z+c?Y=C-(z+c):L<-c&&(Y=L+c),F||Y){var I=this.viewportToFramedGraph({x:0,y:0},{cameraState:a}),j=this.viewportToFramedGraph({x:F,y:Y},{cameraState:a});F=j.x-I.x,Y=j.y-I.y,d.x+=F,d.y+=Y}return d}},{key:"renderLabels",value:function(){if(!this.settings.renderLabels)return this;var a=this.camera.getState(),s=this.labelGrid.getLabelsToDisplay(a.ratio,this.settings.labelDensity);Qy(s,this.nodesWithForcedLabels),this.displayedNodeLabels=new Set;for(var l=this.canvasContexts.labels,c=0,f=s.length;cthis.width+aO||y<-50||y>this.height+oO)){this.displayedNodeLabels.add(d);var x=this.settings.defaultDrawNodeLabel,E=this.nodePrograms[g.type],T=(E==null?void 0:E.drawLabel)||x;T(l,_e(_e({key:d},g),{},{size:b,x:v,y}),this.settings)}}}return this}},{key:"renderEdgeLabels",value:function(){if(!this.settings.renderEdgeLabels)return this;var a=this.canvasContexts.edgeLabels;a.clearRect(0,0,this.width,this.height);var s=iO({graph:this.graph,hoveredNode:this.hoveredNode,displayedNodeLabels:this.displayedNodeLabels,highlightedNodes:this.highlightedNodes});Qy(s,this.edgesWithForcedLabels);for(var l=new Set,c=0,f=s.length;cthis.nodeZExtent[1]&&(this.nodeZExtent[1]=l.zIndex))}},{key:"updateNode",value:function(a){this.addNode(a);var s=this.nodeDataCache[a];this.normalizationFunction.applyTo(s)}},{key:"removeNode",value:function(a){delete this.nodeDataCache[a],delete this.nodeProgramIndex[a],this.highlightedNodes.delete(a),this.hoveredNode===a&&(this.hoveredNode=null),this.nodesWithForcedLabels.delete(a)}},{key:"addEdge",value:function(a){var s=Object.assign({},this.graph.getEdgeAttributes(a));this.settings.edgeReducer&&(s=this.settings.edgeReducer(a,s));var l=lO(this.settings,a,s);this.edgeDataCache[a]=l,this.edgesWithForcedLabels.delete(a),l.forceLabel&&!l.hidden&&this.edgesWithForcedLabels.add(a),this.settings.zIndex&&(l.zIndexthis.edgeZExtent[1]&&(this.edgeZExtent[1]=l.zIndex))}},{key:"updateEdge",value:function(a){this.addEdge(a)}},{key:"removeEdge",value:function(a){delete this.edgeDataCache[a],delete this.edgeProgramIndex[a],this.hoveredEdge===a&&(this.hoveredEdge=null),this.edgesWithForcedLabels.delete(a)}},{key:"clearNodeIndices",value:function(){this.labelGrid=new nb,this.nodeExtent={x:[0,1],y:[0,1]},this.nodeDataCache={},this.edgeProgramIndex={},this.nodesWithForcedLabels=new Set,this.nodeZExtent=[1/0,-1/0]}},{key:"clearEdgeIndices",value:function(){this.edgeDataCache={},this.edgeProgramIndex={},this.edgesWithForcedLabels=new Set,this.edgeZExtent=[1/0,-1/0]}},{key:"clearIndices",value:function(){this.clearEdgeIndices(),this.clearNodeIndices()}},{key:"clearNodeState",value:function(){this.displayedNodeLabels=new Set,this.highlightedNodes=new Set,this.hoveredNode=null}},{key:"clearEdgeState",value:function(){this.displayedEdgeLabels=new Set,this.highlightedNodes=new Set,this.hoveredEdge=null}},{key:"clearState",value:function(){this.clearEdgeState(),this.clearNodeState()}},{key:"addNodeToProgram",value:function(a,s,l){var c=this.nodeDataCache[a],f=this.nodePrograms[c.type];if(!f)throw new Error('Sigma: could not find a suitable program for node type "'.concat(c.type,'"!'));f.process(s,l,c),this.nodeProgramIndex[a]=l}},{key:"addEdgeToProgram",value:function(a,s,l){var c=this.edgeDataCache[a],f=this.edgePrograms[c.type];if(!f)throw new Error('Sigma: could not find a suitable program for edge type "'.concat(c.type,'"!'));var d=this.graph.extremities(a),g=this.nodeDataCache[d[0]],m=this.nodeDataCache[d[1]];f.process(s,l,g,m,c),this.edgeProgramIndex[a]=l}},{key:"getRenderParams",value:function(){return{matrix:this.matrix,invMatrix:this.invMatrix,width:this.width,height:this.height,pixelRatio:this.pixelRatio,zoomRatio:this.camera.ratio,cameraAngle:this.camera.angle,sizeRatio:1/this.scaleSize(),correctionRatio:this.correctionRatio,downSizingRatio:this.pickingDownSizingRatio,minEdgeThickness:this.settings.minEdgeThickness,antiAliasingFeather:this.settings.antiAliasingFeather}}},{key:"getStagePadding",value:function(){var a=this.settings,s=a.stagePadding,l=a.autoRescale;return l&&s||0}},{key:"createLayer",value:function(a,s){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(this.elements[a])throw new Error('Sigma: a layer named "'.concat(a,'" already exists'));var c=PD(s,{position:"absolute"},{class:"sigma-".concat(a)});return l.style&&Object.assign(c.style,l.style),this.elements[a]=c,"beforeLayer"in l&&l.beforeLayer?this.elements[l.beforeLayer].before(c):"afterLayer"in l&&l.afterLayer?this.elements[l.afterLayer].after(c):this.container.appendChild(c),c}},{key:"createCanvas",value:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.createLayer(a,"canvas",s)}},{key:"createCanvasContext",value:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},l=this.createCanvas(a,s),c={preserveDrawingBuffer:!1,antialias:!1};return this.canvasContexts[a]=l.getContext("2d",c),this}},{key:"createWebGLContext",value:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},l=(s==null?void 0:s.canvas)||this.createCanvas(a,s);s.hidden&&l.remove();var c=_e({preserveDrawingBuffer:!1,antialias:!1},s),f;f=l.getContext("webgl2",c),f||(f=l.getContext("webgl",c)),f||(f=l.getContext("experimental-webgl",c));var d=f;if(this.webGLContexts[a]=d,d.blendFunc(d.ONE,d.ONE_MINUS_SRC_ALPHA),s.picking){this.pickingLayers.add(a);var g=d.createFramebuffer();if(!g)throw new Error("Sigma: cannot create a new frame buffer for layer ".concat(a));this.frameBuffers[a]=g}return d}},{key:"killLayer",value:function(a){var s=this.elements[a];if(!s)throw new Error("Sigma: cannot kill layer ".concat(a,", which does not exist"));if(this.webGLContexts[a]){var l,c=this.webGLContexts[a];(l=c.getExtension("WEBGL_lose_context"))===null||l===void 0||l.loseContext(),delete this.webGLContexts[a]}else this.canvasContexts[a]&&delete this.canvasContexts[a];return s.remove(),delete this.elements[a],this}},{key:"getCamera",value:function(){return this.camera}},{key:"setCamera",value:function(a){this.unbindCameraHandlers(),this.camera=a,this.bindCameraHandlers()}},{key:"getContainer",value:function(){return this.container}},{key:"getGraph",value:function(){return this.graph}},{key:"setGraph",value:function(a){a!==this.graph&&(this.hoveredNode&&!a.hasNode(this.hoveredNode)&&(this.hoveredNode=null),this.hoveredEdge&&!a.hasEdge(this.hoveredEdge)&&(this.hoveredEdge=null),this.unbindGraphHandlers(),this.checkEdgesEventsFrame!==null&&(cancelAnimationFrame(this.checkEdgesEventsFrame),this.checkEdgesEventsFrame=null),this.graph=a,this.bindGraphHandlers(),this.refresh())}},{key:"getMouseCaptor",value:function(){return this.mouseCaptor}},{key:"getTouchCaptor",value:function(){return this.touchCaptor}},{key:"getDimensions",value:function(){return{width:this.width,height:this.height}}},{key:"getGraphDimensions",value:function(){var a=this.customBBox||this.nodeExtent;return{width:a.x[1]-a.x[0]||1,height:a.y[1]-a.y[0]||1}}},{key:"getNodeDisplayData",value:function(a){var s=this.nodeDataCache[a];return s?Object.assign({},s):void 0}},{key:"getEdgeDisplayData",value:function(a){var s=this.edgeDataCache[a];return s?Object.assign({},s):void 0}},{key:"getNodeDisplayedLabels",value:function(){return new Set(this.displayedNodeLabels)}},{key:"getEdgeDisplayedLabels",value:function(){return new Set(this.displayedEdgeLabels)}},{key:"getSettings",value:function(){return _e({},this.settings)}},{key:"getSetting",value:function(a){return this.settings[a]}},{key:"setSetting",value:function(a,s){var l=_e({},this.settings);return this.settings[a]=s,ld(this.settings),this.handleSettingsUpdate(l),this.scheduleRefresh(),this}},{key:"updateSetting",value:function(a,s){return this.setSetting(a,s(this.settings[a])),this}},{key:"setSettings",value:function(a){var s=_e({},this.settings);return this.settings=_e(_e({},this.settings),a),ld(this.settings),this.handleSettingsUpdate(s),this.scheduleRefresh(),this}},{key:"resize",value:function(a){var s=this.width,l=this.height;if(this.width=this.container.offsetWidth,this.height=this.container.offsetHeight,this.pixelRatio=Zy(),this.width===0)if(this.settings.allowInvalidContainer)this.width=1;else throw new Error("Sigma: Container has no width. You can set the allowInvalidContainer setting to true to stop seeing this error.");if(this.height===0)if(this.settings.allowInvalidContainer)this.height=1;else throw new Error("Sigma: Container has no height. You can set the allowInvalidContainer setting to true to stop seeing this error.");if(!a&&s===this.width&&l===this.height)return this;for(var c in this.elements){var f=this.elements[c];f.style.width=this.width+"px",f.style.height=this.height+"px"}for(var d in this.canvasContexts)this.elements[d].setAttribute("width",this.width*this.pixelRatio+"px"),this.elements[d].setAttribute("height",this.height*this.pixelRatio+"px"),this.pixelRatio!==1&&this.canvasContexts[d].scale(this.pixelRatio,this.pixelRatio);for(var g in this.webGLContexts){this.elements[g].setAttribute("width",this.width*this.pixelRatio+"px"),this.elements[g].setAttribute("height",this.height*this.pixelRatio+"px");var m=this.webGLContexts[g];if(m.viewport(0,0,this.width*this.pixelRatio,this.height*this.pixelRatio),this.pickingLayers.has(g)){var v=this.textures[g];v&&m.deleteTexture(v)}}return this.emit("resize"),this}},{key:"clear",value:function(){return this.emit("beforeClear"),this.webGLContexts.nodes.bindFramebuffer(WebGLRenderingContext.FRAMEBUFFER,null),this.webGLContexts.nodes.clear(WebGLRenderingContext.COLOR_BUFFER_BIT),this.webGLContexts.edges.bindFramebuffer(WebGLRenderingContext.FRAMEBUFFER,null),this.webGLContexts.edges.clear(WebGLRenderingContext.COLOR_BUFFER_BIT),this.webGLContexts.hoverNodes.clear(WebGLRenderingContext.COLOR_BUFFER_BIT),this.canvasContexts.labels.clearRect(0,0,this.width,this.height),this.canvasContexts.hovers.clearRect(0,0,this.width,this.height),this.canvasContexts.edgeLabels.clearRect(0,0,this.width,this.height),this.emit("afterClear"),this}},{key:"refresh",value:function(a){var s=this,l=(a==null?void 0:a.skipIndexation)!==void 0?a==null?void 0:a.skipIndexation:!1,c=(a==null?void 0:a.schedule)!==void 0?a.schedule:!1,f=!a||!a.partialGraph;if(f)this.clearEdgeIndices(),this.clearNodeIndices(),this.graph.forEachNode(function(C){return s.addNode(C)}),this.graph.forEachEdge(function(C){return s.addEdge(C)});else{for(var d,g,m=((d=a.partialGraph)===null||d===void 0?void 0:d.nodes)||[],v=0,y=(m==null?void 0:m.length)||0;v1&&arguments[1]!==void 0?arguments[1]:{},l=!!s.cameraState||!!s.viewportDimensions||!!s.graphDimensions,c=s.matrix?s.matrix:l?Io(s.cameraState||this.camera.getState(),s.viewportDimensions||this.getDimensions(),s.graphDimensions||this.getGraphDimensions(),s.padding||this.getStagePadding()):this.matrix,f=rh(c,a);return{x:(1+f.x)*this.width/2,y:(1-f.y)*this.height/2}}},{key:"viewportToFramedGraph",value:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},l=!!s.cameraState||!!s.viewportDimensions||!s.graphDimensions,c=s.matrix?s.matrix:l?Io(s.cameraState||this.camera.getState(),s.viewportDimensions||this.getDimensions(),s.graphDimensions||this.getGraphDimensions(),s.padding||this.getStagePadding(),!0):this.invMatrix,f=rh(c,{x:a.x/this.width*2-1,y:1-a.y/this.height*2});return isNaN(f.x)&&(f.x=0),isNaN(f.y)&&(f.y=0),f}},{key:"viewportToGraph",value:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.normalizationFunction.inverse(this.viewportToFramedGraph(a,s))}},{key:"graphToViewport",value:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.framedGraphToViewport(this.normalizationFunction(a),s)}},{key:"getGraphToViewportRatio",value:function(){var a={x:0,y:0},s={x:1,y:1},l=Math.sqrt(Math.pow(a.x-s.x,2)+Math.pow(a.y-s.y,2)),c=this.graphToViewport(a),f=this.graphToViewport(s),d=Math.sqrt(Math.pow(c.x-f.x,2)+Math.pow(c.y-f.y,2));return d/l}},{key:"getBBox",value:function(){return this.nodeExtent}},{key:"getCustomBBox",value:function(){return this.customBBox}},{key:"setCustomBBox",value:function(a){return this.customBBox=a,this.scheduleRender(),this}},{key:"kill",value:function(){this.emit("kill"),this.removeAllListeners(),this.unbindCameraHandlers(),window.removeEventListener("resize",this.activeListeners.handleResize),this.mouseCaptor.kill(),this.touchCaptor.kill(),this.unbindGraphHandlers(),this.clearIndices(),this.clearState(),this.nodeDataCache={},this.edgeDataCache={},this.highlightedNodes.clear(),this.renderFrame&&(cancelAnimationFrame(this.renderFrame),this.renderFrame=null),this.renderHighlightedNodesFrame&&(cancelAnimationFrame(this.renderHighlightedNodesFrame),this.renderHighlightedNodesFrame=null);for(var a=this.container;a.firstChild;)a.removeChild(a.firstChild);this.canvasContexts={},this.webGLContexts={},this.elements={};for(var s in this.nodePrograms)this.nodePrograms[s].kill();for(var l in this.nodeHoverPrograms)this.nodeHoverPrograms[l].kill();for(var c in this.edgePrograms)this.edgePrograms[c].kill();this.nodePrograms={},this.nodeHoverPrograms={},this.edgePrograms={};for(var f in this.elements)this.killLayer(f)}},{key:"scaleSize",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.camera.ratio;return a/this.settings.zoomToSizeRatioFunction(s)*(this.getSetting("itemSizesReference")==="positions"?s*this.graphToViewportRatio:1)}},{key:"getCanvases",value:function(){var a={};for(var s in this.elements)this.elements[s]instanceof HTMLCanvasElement&&(a[s]=this.elements[s]);return a}}])}(Vh);const iE=S.createContext(null),cO=iE.Provider;function Yh(){const r=S.useContext(iE);if(r==null)throw new Error("No context provided: useSigmaContext() can only be used in a descendant of ");return r}function Sn(){return Yh().sigma}function aE(){const{sigma:r}=Yh();return S.useCallback(n=>{r&&Object.keys(n).forEach(i=>{r.setSetting(i,n[i])})},[r])}function xu(r){return new Set(Object.keys(r))}const rb=xu({clickNode:!0,rightClickNode:!0,downNode:!0,enterNode:!0,leaveNode:!0,doubleClickNode:!0,wheelNode:!0,clickEdge:!0,rightClickEdge:!0,downEdge:!0,enterEdge:!0,leaveEdge:!0,doubleClickEdge:!0,wheelEdge:!0,clickStage:!0,rightClickStage:!0,downStage:!0,doubleClickStage:!0,wheelStage:!0,beforeRender:!0,afterRender:!0,kill:!0,upStage:!0,upEdge:!0,upNode:!0,enterStage:!0,leaveStage:!0,resize:!0,afterClear:!0,afterProcess:!0,beforeClear:!0,beforeProcess:!0,moveBody:!0}),ib=xu({click:!0,rightClick:!0,doubleClick:!0,mouseup:!0,mousedown:!0,mousemove:!0,mousemovebody:!0,mouseleave:!0,mouseenter:!0,wheel:!0}),ab=xu({touchup:!0,touchdown:!0,touchmove:!0,touchmovebody:!0,tap:!0,doubletap:!0}),ob=xu({updated:!0});function oE(){const r=Sn(),n=aE(),[i,a]=S.useState({});return S.useEffect(()=>{if(!r||!i)return;const s=i,l=Object.keys(s);return l.forEach(c=>{const f=s[c];rb.has(c)&&r.on(c,f),ib.has(c)&&r.getMouseCaptor().on(c,f),ab.has(c)&&r.getTouchCaptor().on(c,f),ob.has(c)&&r.getCamera().on(c,f)}),()=>{r&&l.forEach(c=>{const f=s[c];rb.has(c)&&r.off(c,f),ib.has(c)&&r.getMouseCaptor().off(c,f),ab.has(c)&&r.getTouchCaptor().off(c,f),ob.has(c)&&r.getCamera().off(c,f)})}},[r,i,n]),a}function fO(){const r=Sn();return S.useCallback((n,i=!0)=>{r&&n&&(i&&r.getGraph().order>0&&r.getGraph().clear(),r.getGraph().import(n),r.refresh())},[r])}function fs(r,n){if(r===n)return!0;if(typeof r=="object"&&r!=null&&typeof n=="object"&&n!=null){if(Object.keys(r).length!=Object.keys(n).length)return!1;for(const i in r)if(!Object.hasOwn(n,i)||!fs(r[i],n[i]))return!1;return!0}return!1}function sE(r){const n=Sn(),[i,a]=S.useState(r||{});S.useEffect(()=>{a(g=>fs(g,r||{})?g:r||{})},[r]);const s=S.useCallback(g=>{n.getCamera().animatedZoom(Object.assign(Object.assign({},i),g))},[n,i]),l=S.useCallback(g=>{n.getCamera().animatedUnzoom(Object.assign(Object.assign({},i),g))},[n,i]),c=S.useCallback(g=>{n.getCamera().animatedReset(Object.assign(Object.assign({},i),g))},[n,i]),f=S.useCallback((g,m)=>{n.getCamera().animate(g,Object.assign(Object.assign({},i),m))},[n,i]),d=S.useCallback((g,m)=>{const v=n.getNodeDisplayData(g);v?n.getCamera().animate(v,Object.assign(Object.assign({},i),m)):console.warn(`Node ${g} not found`)},[n,i]);return{zoomIn:s,zoomOut:l,reset:c,goto:f,gotoNode:d}}function dO(r){const n=Yh(),[i,a]=S.useState(!1),[s,l]=S.useState(n.container),c=S.useCallback(()=>a(f=>!f),[]);return S.useEffect(()=>(document.addEventListener("fullscreenchange",c),()=>document.removeEventListener("fullscreenchange",c)),[c]),S.useEffect(()=>{l(n.container)},[r,n.container]),{toggle:S.useCallback(()=>{var f;f=s,document.fullscreenElement!==f?f.requestFullscreen():document.exitFullscreen&&document.exitFullscreen()},[s]),isFullScreen:i}}const hO=S.forwardRef(({graph:r,id:n,className:i,style:a,settings:s={},children:l},c)=>{const f=S.useRef(null),d=S.useRef(null),g={className:`react-sigma ${i||""}`,id:n,style:a},[m,v]=S.useState(null),[y,b]=S.useState(s);S.useEffect(()=>{b(T=>fs(T,s)?T:s)},[s]),S.useEffect(()=>{v(T=>{let M=null;if(d.current!==null){let N=new Ke;r&&(N=typeof r=="function"?new r:r);let L=null;T&&(L=T.getCamera().getState(),T.kill()),M=new uO(N,d.current,y),L&&M.getCamera().setState(L)}return M})},[d,r,y]),S.useImperativeHandle(c,()=>m,[m]);const x=S.useMemo(()=>m&&f.current?{sigma:m,container:f.current}:null,[m,f]),E=x!==null?bt.createElement(cO,{value:x},l):null;return bt.createElement("div",Object.assign({},g,{ref:f}),bt.createElement("div",{className:"sigma-container",ref:d}),E)});var gO=` -precision mediump float; - -varying vec4 v_color; -varying float v_border; - -const float radius = 0.5; -const vec4 transparent = vec4(0.0, 0.0, 0.0, 0.0); - -void main(void) { - vec2 m = gl_PointCoord - vec2(0.5, 0.5); - float dist = radius - length(m); - - // No antialiasing for picking mode: - #ifdef PICKING_MODE - if (dist > v_border) - gl_FragColor = v_color; - else - gl_FragColor = transparent; - - #else - float t = 0.0; - if (dist > v_border) - t = 1.0; - else if (dist > 0.0) - t = dist / v_border; - - gl_FragColor = mix(transparent, v_color, t); - #endif -} -`,pO=gO,mO=` -attribute vec4 a_id; -attribute vec4 a_color; -attribute vec2 a_position; -attribute float a_size; - -uniform float u_sizeRatio; -uniform float u_pixelRatio; -uniform mat3 u_matrix; - -varying vec4 v_color; -varying float v_border; - -const float bias = 255.0 / 254.0; - -void main() { - gl_Position = vec4( - (u_matrix * vec3(a_position, 1)).xy, - 0, - 1 - ); - - // Multiply the point size twice: - // - x SCALING_RATIO to correct the canvas scaling - // - x 2 to correct the formulae - gl_PointSize = a_size / u_sizeRatio * u_pixelRatio * 2.0; - - v_border = (0.5 / a_size) * u_sizeRatio; - - #ifdef PICKING_MODE - // For picking mode, we use the ID as the color: - v_color = a_id; - #else - // For normal mode, we use the color: - v_color = a_color; - #endif - - v_color.a *= bias; -} -`,vO=mO,lE=WebGLRenderingContext,sb=lE.UNSIGNED_BYTE,lb=lE.FLOAT,yO=["u_sizeRatio","u_pixelRatio","u_matrix"],bO=function(r){function n(){return At(this,n),It(this,n,arguments)}return Yt(n,r),Rt(n,[{key:"getDefinition",value:function(){return{VERTICES:1,VERTEX_SHADER_SOURCE:vO,FRAGMENT_SHADER_SOURCE:pO,METHOD:WebGLRenderingContext.POINTS,UNIFORMS:yO,ATTRIBUTES:[{name:"a_position",size:2,type:lb},{name:"a_size",size:1,type:lb},{name:"a_color",size:4,type:sb,normalized:!0},{name:"a_id",size:4,type:sb,normalized:!0}]}}},{key:"processVisibleItem",value:function(a,s,l){var c=this.array;c[s++]=l.x,c[s++]=l.y,c[s++]=l.size,c[s++]=Xn(l.color),c[s++]=a}},{key:"setUniforms",value:function(a,s){var l=a.sizeRatio,c=a.pixelRatio,f=a.matrix,d=s.gl,g=s.uniformLocations,m=g.u_sizeRatio,v=g.u_pixelRatio,y=g.u_matrix;d.uniform1f(v,c),d.uniform1f(m,l),d.uniformMatrix3fv(y,!1,f)}}])}($h),wO=` -attribute vec4 a_id; -attribute vec4 a_color; -attribute vec2 a_normal; -attribute float a_normalCoef; -attribute vec2 a_positionStart; -attribute vec2 a_positionEnd; -attribute float a_positionCoef; -attribute float a_sourceRadius; -attribute float a_targetRadius; -attribute float a_sourceRadiusCoef; -attribute float a_targetRadiusCoef; - -uniform mat3 u_matrix; -uniform float u_zoomRatio; -uniform float u_sizeRatio; -uniform float u_pixelRatio; -uniform float u_correctionRatio; -uniform float u_minEdgeThickness; -uniform float u_lengthToThicknessRatio; -uniform float u_feather; - -varying vec4 v_color; -varying vec2 v_normal; -varying float v_thickness; -varying float v_feather; - -const float bias = 255.0 / 254.0; - -void main() { - float minThickness = u_minEdgeThickness; - - vec2 normal = a_normal * a_normalCoef; - vec2 position = a_positionStart * (1.0 - a_positionCoef) + a_positionEnd * a_positionCoef; - - float normalLength = length(normal); - vec2 unitNormal = normal / normalLength; - - // These first computations are taken from edge.vert.glsl. Please read it to - // get better comments on what's happening: - float pixelsThickness = max(normalLength, minThickness * u_sizeRatio); - float webGLThickness = pixelsThickness * u_correctionRatio / u_sizeRatio; - - // Here, we move the point to leave space for the arrow heads: - // Source arrow head - float sourceRadius = a_sourceRadius * a_sourceRadiusCoef; - float sourceDirection = sign(sourceRadius); - float webGLSourceRadius = sourceDirection * sourceRadius * 2.0 * u_correctionRatio / u_sizeRatio; - float webGLSourceArrowHeadLength = webGLThickness * u_lengthToThicknessRatio * 2.0; - vec2 sourceCompensationVector = - vec2(-sourceDirection * unitNormal.y, sourceDirection * unitNormal.x) - * (webGLSourceRadius + webGLSourceArrowHeadLength); - - // Target arrow head - float targetRadius = a_targetRadius * a_targetRadiusCoef; - float targetDirection = sign(targetRadius); - float webGLTargetRadius = targetDirection * targetRadius * 2.0 * u_correctionRatio / u_sizeRatio; - float webGLTargetArrowHeadLength = webGLThickness * u_lengthToThicknessRatio * 2.0; - vec2 targetCompensationVector = - vec2(-targetDirection * unitNormal.y, targetDirection * unitNormal.x) - * (webGLTargetRadius + webGLTargetArrowHeadLength); - - // Here is the proper position of the vertex - gl_Position = vec4((u_matrix * vec3(position + unitNormal * webGLThickness + sourceCompensationVector + targetCompensationVector, 1)).xy, 0, 1); - - v_thickness = webGLThickness / u_zoomRatio; - - v_normal = unitNormal; - - v_feather = u_feather * u_correctionRatio / u_zoomRatio / u_pixelRatio * 2.0; - - #ifdef PICKING_MODE - // For picking mode, we use the ID as the color: - v_color = a_id; - #else - // For normal mode, we use the color: - v_color = a_color; - #endif - - v_color.a *= bias; -} -`,EO=wO,uE=WebGLRenderingContext,ub=uE.UNSIGNED_BYTE,gr=uE.FLOAT,SO=["u_matrix","u_zoomRatio","u_sizeRatio","u_correctionRatio","u_pixelRatio","u_feather","u_minEdgeThickness","u_lengthToThicknessRatio"],xO={lengthToThicknessRatio:cs.lengthToThicknessRatio};function cE(r){var n=_e(_e({},xO),{});return function(i){function a(){return At(this,a),It(this,a,arguments)}return Yt(a,i),Rt(a,[{key:"getDefinition",value:function(){return{VERTICES:6,VERTEX_SHADER_SOURCE:EO,FRAGMENT_SHADER_SOURCE:qh,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:SO,ATTRIBUTES:[{name:"a_positionStart",size:2,type:gr},{name:"a_positionEnd",size:2,type:gr},{name:"a_normal",size:2,type:gr},{name:"a_color",size:4,type:ub,normalized:!0},{name:"a_id",size:4,type:ub,normalized:!0},{name:"a_sourceRadius",size:1,type:gr},{name:"a_targetRadius",size:1,type:gr}],CONSTANT_ATTRIBUTES:[{name:"a_positionCoef",size:1,type:gr},{name:"a_normalCoef",size:1,type:gr},{name:"a_sourceRadiusCoef",size:1,type:gr},{name:"a_targetRadiusCoef",size:1,type:gr}],CONSTANT_DATA:[[0,1,-1,0],[0,-1,1,0],[1,1,0,1],[1,1,0,1],[0,-1,1,0],[1,-1,0,-1]]}}},{key:"processVisibleItem",value:function(l,c,f,d,g){var m=g.size||1,v=f.x,y=f.y,b=d.x,x=d.y,E=Xn(g.color),T=b-v,M=x-y,N=f.size||1,L=d.size||1,C=T*T+M*M,R=0,B=0;C&&(C=1/Math.sqrt(C),R=-M*C*m,B=T*C*m);var _=this.array;_[c++]=v,_[c++]=y,_[c++]=b,_[c++]=x,_[c++]=R,_[c++]=B,_[c++]=E,_[c++]=l,_[c++]=N,_[c++]=L}},{key:"setUniforms",value:function(l,c){var f=c.gl,d=c.uniformLocations,g=d.u_matrix,m=d.u_zoomRatio,v=d.u_feather,y=d.u_pixelRatio,b=d.u_correctionRatio,x=d.u_sizeRatio,E=d.u_minEdgeThickness,T=d.u_lengthToThicknessRatio;f.uniformMatrix3fv(g,!1,l.matrix),f.uniform1f(m,l.zoomRatio),f.uniform1f(x,l.sizeRatio),f.uniform1f(b,l.correctionRatio),f.uniform1f(y,l.pixelRatio),f.uniform1f(v,l.antiAliasingFeather),f.uniform1f(E,l.minEdgeThickness),f.uniform1f(T,n.lengthToThicknessRatio)}}])}(ls)}cE();function _O(r){return Iw([cE(),ou(r),ou(_e(_e({},r),{},{extremity:"source"}))])}_O();function TO(r){if(Array.isArray(r))return r}function CO(r,n){var i=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(i!=null){var a,s,l,c,f=[],d=!0,g=!1;try{if(l=(i=i.call(r)).next,n!==0)for(;!(d=(a=l.call(i)).done)&&(f.push(a.value),f.length!==n);d=!0);}catch(m){g=!0,s=m}finally{try{if(!d&&i.return!=null&&(c=i.return(),Object(c)!==c))return}finally{if(g)throw s}}return f}}function ah(r,n){(n==null||n>r.length)&&(n=r.length);for(var i=0,a=Array(n);i v_radius) - gl_FragColor = transparent; - else { - gl_FragColor = v_color; - gl_FragColor.a *= bias; - } - #else - // Sizes: -`).concat(n.flatMap(function(s,l){var c=s.size;if("fill"in c)return[];c=c;var f="attribute"in c?"v_borderSize_".concat(l+1):Fy(c.value),d=(c.mode||BO)==="pixels"?"u_correctionRatio":"v_radius";return[" float borderSize_".concat(l+1," = ").concat(d," * ").concat(f,";")]}).join(` -`),` - // Now, let's split the remaining space between "fill" borders: - float fillBorderSize = (v_radius - (`).concat(n.flatMap(function(s,l){var c=s.size;return"fill"in c?[]:["borderSize_".concat(l+1)]}).join(" + "),") ) / ").concat(i,`; -`).concat(n.flatMap(function(s,l){var c=s.size;return"fill"in c?[" float borderSize_".concat(l+1," = fillBorderSize;")]:[]}).join(` -`),` - - // Finally, normalize all border sizes, to start from the full size and to end with the smallest: - float adjustedBorderSize_0 = v_radius; -`).concat(n.map(function(s,l){return" float adjustedBorderSize_".concat(l+1," = adjustedBorderSize_").concat(l," - borderSize_").concat(l+1,";")}).join(` -`),` - - // Colors: - vec4 borderColor_0 = transparent; -`).concat(n.map(function(s,l){var c=s.color,f=[];return"attribute"in c?f.push(" vec4 borderColor_".concat(l+1," = v_borderColor_").concat(l+1,";")):"transparent"in c?f.push(" vec4 borderColor_".concat(l+1," = vec4(0.0, 0.0, 0.0, 0.0);")):f.push(" vec4 borderColor_".concat(l+1," = u_borderColor_").concat(l+1,";")),f.push(" borderColor_".concat(l+1,".a *= bias;")),f.push(" if (borderSize_".concat(l+1," <= 1.0 * u_correctionRatio) { borderColor_").concat(l+1," = borderColor_").concat(l,"; }")),f.join(` -`)}).join(` -`),` - if (dist > adjustedBorderSize_0) { - gl_FragColor = borderColor_0; - } else `).concat(n.map(function(s,l){return"if (dist > adjustedBorderSize_".concat(l,` - aaBorder) { - gl_FragColor = mix(borderColor_`).concat(l+1,", borderColor_").concat(l,", (dist - adjustedBorderSize_").concat(l,` + aaBorder) / aaBorder); - } else if (dist > adjustedBorderSize_`).concat(l+1,`) { - gl_FragColor = borderColor_`).concat(l+1,`; - } else `)}).join(""),` { /* Nothing to add here */ } - #endif -} -`);return a}function $O(r){var n=r.borders,i=` -attribute vec2 a_position; -attribute float a_size; -attribute float a_angle; - -uniform mat3 u_matrix; -uniform float u_sizeRatio; -uniform float u_correctionRatio; - -varying vec2 v_diffVector; -varying float v_radius; - -#ifdef PICKING_MODE -attribute vec4 a_id; -varying vec4 v_color; -#else -`.concat(n.flatMap(function(a,s){var l=a.size;return"attribute"in l?["attribute float a_borderSize_".concat(s+1,";"),"varying float v_borderSize_".concat(s+1,";")]:[]}).join(` -`),` -`).concat(n.flatMap(function(a,s){var l=a.color;return"attribute"in l?["attribute vec4 a_borderColor_".concat(s+1,";"),"varying vec4 v_borderColor_".concat(s+1,";")]:[]}).join(` -`),` -#endif - -const float bias = 255.0 / 254.0; -const vec4 transparent = vec4(0.0, 0.0, 0.0, 0.0); - -void main() { - float size = a_size * u_correctionRatio / u_sizeRatio * 4.0; - vec2 diffVector = size * vec2(cos(a_angle), sin(a_angle)); - vec2 position = a_position + diffVector; - gl_Position = vec4( - (u_matrix * vec3(position, 1)).xy, - 0, - 1 - ); - - v_radius = size / 2.0; - v_diffVector = diffVector; - - #ifdef PICKING_MODE - v_color = a_id; - #else -`).concat(n.flatMap(function(a,s){var l=a.size;return"attribute"in l?[" v_borderSize_".concat(s+1," = a_borderSize_").concat(s+1,";")]:[]}).join(` -`),` -`).concat(n.flatMap(function(a,s){var l=a.color;return"attribute"in l?[" v_borderColor_".concat(s+1," = a_borderColor_").concat(s+1,";")]:[]}).join(` -`),` - #endif -} -`);return i}var gE=WebGLRenderingContext,db=gE.UNSIGNED_BYTE,jl=gE.FLOAT;function qO(r){var n,i=fb(fb({},FO),{}),a=i.borders,s=i.drawLabel,l=i.drawHover,c=["u_sizeRatio","u_correctionRatio","u_matrix"].concat(cd(a.flatMap(function(f,d){var g=f.color;return"value"in g?["u_borderColor_".concat(d+1)]:[]})));return n=function(f){GO(d,f);function d(){var g;DO(this,d);for(var m=arguments.length,v=new Array(m),y=0;yr.length)&&(n=r.length);for(var i=0,a=Array(n);iV){var Q="…";for(E=E+Q,k=l.measureText(E).width;k>V&&E.length>1;)E=E.slice(0,-2)+Q,k=l.measureText(E).width;if(E.length<4)return}for(var re={},de=0,ge=E.length;de{const i=this.nodeIdMap[n];if(i!==void 0)return this.nodes[i]});hr(this,"getEdge",(n,i=!0)=>{const a=i?this.edgeDynamicIdMap[n]:this.edgeIdMap[n];if(a!==void 0)return this.edges[a]});hr(this,"buildDynamicMap",()=>{this.edgeDynamicIdMap={};for(let n=0;n({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null,moveToSelectedNode:!1,rawGraph:null,sigmaGraph:null,setSelectedNode:(n,i)=>r({selectedNode:n,moveToSelectedNode:i}),setFocusedNode:n=>r({focusedNode:n}),setSelectedEdge:n=>r({selectedEdge:n}),setFocusedEdge:n=>r({focusedEdge:n}),clearSelection:()=>r({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null}),reset:()=>r({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null,rawGraph:null,sigmaGraph:null,moveToSelectedNode:!1}),setRawGraph:n=>r({rawGraph:n}),setSigmaGraph:n=>r({sigmaGraph:n}),setMoveToSelectedNode:n=>r({moveToSelectedNode:n})})),Ye=Eh(fk),dk=({node:r,move:n})=>{const i=Sn(),{gotoNode:a}=sE();return S.useEffect(()=>{if(r)return i.getGraph().setNodeAttribute(r,"highlighted",!0),n&&(a(r),Ye.getState().setMoveToSelectedNode(!1)),()=>{i.getGraph().setNodeAttribute(r,"highlighted",!1)}},[r,n,i,a]),null};function Pa(r,n){const i=Sn(),a=S.useRef(n);return fs(a.current,n)||(a.current=n),{positions:S.useCallback(()=>a.current?r(i.getGraph(),a.current):{},[i,a,r]),assign:S.useCallback(()=>{a.current&&r.assign(i.getGraph(),a.current)},[i,a,r])}}function Zh(r,n){const i=Sn(),[a,s]=S.useState(!1),[l,c]=S.useState(null),f=S.useRef(n);return fs(f.current,n)||(f.current=n),S.useEffect(()=>{s(!1);let d=null;return f.current&&(d=new r(i.getGraph(),f.current)),c(d),()=>{d!==null&&d.kill()}},[i,f,c,s,r]),{stop:S.useCallback(()=>{l&&(l.stop(),s(!1))},[l,s]),start:S.useCallback(()=>{l&&(l.start(),s(!0))},[l,s]),kill:S.useCallback(()=>{l&&l.kill(),s(!1)},[l,s]),isRunning:a}}var dd,pb;function ds(){if(pb)return dd;pb=1;function r(i){return!i||typeof i!="object"||typeof i=="function"||Array.isArray(i)||i instanceof Set||i instanceof Map||i instanceof RegExp||i instanceof Date}function n(i,a){i=i||{};var s={};for(var l in a){var c=i[l],f=a[l];if(!r(f)){s[l]=n(c,f);continue}c===void 0?s[l]=f:s[l]=c}return s}return dd=n,dd}var hd,mb;function hk(){if(mb)return hd;mb=1;function r(i){return function(a,s){return a+Math.floor(i()*(s-a+1))}}var n=r(Math.random);return n.createRandom=r,hd=n,hd}var gd,vb;function gk(){if(vb)return gd;vb=1;var r=hk().createRandom;function n(a){var s=r(a);return function(l){for(var c=l.length,f=c-1,d=-1;++d0},s.prototype.addChild=function(_,$){this.children[_]=$,++this.countChildren},s.prototype.getChild=function(_){if(!this.children.hasOwnProperty(_)){var $=new s;this.children[_]=$,++this.countChildren}return this.children[_]},s.prototype.applyPositionToChildren=function(){if(this.hasChildren()){var _=this;for(var $ in _.children){var z=_.children[$];z.x+=_.x,z.y+=_.y,z.applyPositionToChildren()}}};function l(_,$,z){for(var F in $.children){var Y=$.children[F];Y.hasChildren()?l(_,Y,z):z[Y.id]={x:Y.x,y:Y.y}}}function c(_,$){var z=_.r-$.r,F=$.x-_.x,Y=$.y-_.y;return z<0||z*z0&&z*z>F*F+Y*Y}function d(_,$){for(var z=0;z<$.length;++z)if(!f(_,$[z]))return!1;return!0}function g(_){return new s(null,_.x,_.y,_.r)}function m(_,$){var z=_.x,F=_.y,Y=_.r,I=$.x,j=$.y,J=$.r,ae=I-z,H=j-F,U=J-Y,D=Math.sqrt(ae*ae+H*H);return new s(null,(z+I+ae/D*U)/2,(F+j+H/D*U)/2,(D+Y+J)/2)}function v(_,$,z){var F=_.x,Y=_.y,I=_.r,j=$.x,J=$.y,ae=$.r,H=z.x,U=z.y,D=z.r,se=F-j,G=F-H,P=Y-J,k=Y-U,V=ae-I,Q=D-I,re=F*F+Y*Y-I*I,de=re-j*j-J*J+ae*ae,ge=re-H*H-U*U+D*D,le=G*P-se*k,xe=(P*ge-k*de)/(le*2)-F,pe=(k*V-P*Q)/le,Ae=(G*de-se*ge)/(le*2)-Y,Te=(se*Q-G*V)/le,Le=pe*pe+Te*Te-1,ve=2*(I+xe*pe+Ae*Te),he=xe*xe+Ae*Ae-I*I,K=-(Le?(ve+Math.sqrt(ve*ve-4*Le*he))/(2*Le):he/ve);return new s(null,F+xe+pe*K,Y+Ae+Te*K,K)}function y(_){switch(_.length){case 1:return g(_[0]);case 2:return m(_[0],_[1]);case 3:return v(_[0],_[1],_[2]);default:throw new Error("graphology-layout/circlepack: Invalid basis length "+_.length)}}function b(_,$){var z,F;if(d($,_))return[$];for(z=0;z<_.length;++z)if(c($,_[z])&&d(m(_[z],$),_))return[_[z],$];for(z=0;z<_.length-1;++z)for(F=z+1;F<_.length;++F)if(c(m(_[z],_[F]),$)&&c(m(_[z],$),_[F])&&c(m(_[F],$),_[z])&&d(v(_[z],_[F],$),_))return[_[z],_[F],$];throw new Error("graphology-layout/circlepack: extendBasis failure !")}function x(_){var $=_.wrappedCircle,z=_.next.wrappedCircle,F=$.r+z.r,Y=($.x*z.r+z.x*$.r)/F,I=($.y*z.r+z.y*$.r)/F;return Y*Y+I*I}function E(_,$){var z=0,F=_.slice(),Y=_.length,I=[],j,J;for($(F);zae?(Y=(H+ae-I)/(2*H),J=Math.sqrt(Math.max(0,ae/H-Y*Y)),z.x=_.x-Y*F-J*j,z.y=_.y-Y*j+J*F):(Y=(H+I-ae)/(2*H),J=Math.sqrt(Math.max(0,I/H-Y*Y)),z.x=$.x+Y*F-J*j,z.y=$.y+Y*j+J*F)):(z.x=$.x+z.r,z.y=$.y)}function M(_,$){var z=_.r+$.r-1e-6,F=$.x-_.x,Y=$.y-_.y;return z>0&&z*z>F*F+Y*Y}function N(_,$){var z=_.length;if(z===0)return 0;var F,Y,I,j,J,ae,H,U,D,se;if(F=_[0],F.x=0,F.y=0,z<=1)return F.r;if(Y=_[1],F.x=-Y.r,Y.x=F.r,Y.y=0,z<=2)return F.r+Y.r;I=_[2],T(Y,F,I),F=new s(null,null,null,null,F),Y=new s(null,null,null,null,Y),I=new s(null,null,null,null,I),F.next=I.previous=Y,Y.next=F.previous=I,I.next=Y.previous=F;e:for(ae=3;ae"u"?s:g};typeof s=="function"&&(c=s);var f=function(g){return c(g[a])},d=function(){return c(void 0)};return typeof a=="string"?(l.fromAttributes=f,l.fromGraph=function(g,m){return f(g.getNodeAttributes(m))},l.fromEntry=function(g,m){return f(m)}):typeof a=="function"?(l.fromAttributes=function(){throw new Error("graphology-utils/getters/createNodeValueGetter: irrelevant usage.")},l.fromGraph=function(g,m){return c(a(m,g.getNodeAttributes(m)))},l.fromEntry=function(g,m){return c(a(g,m))}):(l.fromAttributes=d,l.fromGraph=d,l.fromEntry=d),l}function i(a,s){var l={},c=function(g){return typeof g>"u"?s:g};typeof s=="function"&&(c=s);var f=function(g){return c(g[a])},d=function(){return c(void 0)};return typeof a=="string"?(l.fromAttributes=f,l.fromGraph=function(g,m){return f(g.getEdgeAttributes(m))},l.fromEntry=function(g,m){return f(m)},l.fromPartialEntry=l.fromEntry,l.fromMinimalEntry=l.fromEntry):typeof a=="function"?(l.fromAttributes=function(){throw new Error("graphology-utils/getters/createEdgeValueGetter: irrelevant usage.")},l.fromGraph=function(g,m){var v=g.extremities(m);return c(a(m,g.getEdgeAttributes(m),v[0],v[1],g.getNodeAttributes(v[0]),g.getNodeAttributes(v[1]),g.isUndirected(m)))},l.fromEntry=function(g,m,v,y,b,x,E){return c(a(g,m,v,y,b,x,E))},l.fromPartialEntry=function(g,m,v,y){return c(a(g,m,v,y))},l.fromMinimalEntry=function(g,m){return c(a(g,m))}):(l.fromAttributes=d,l.fromGraph=d,l.fromEntry=d,l.fromMinimalEntry=d),l}return Zo.createNodeValueGetter=n,Zo.createEdgeValueGetter=i,Zo.createEdgeWeightGetter=function(a){return i(a,r)},Zo}var vd,Eb;function SE(){if(Eb)return vd;Eb=1;const{createNodeValueGetter:r,createEdgeValueGetter:n}=Wh();return vd=function(a,s,l){const{nodeXAttribute:c,nodeYAttribute:f}=l,{attraction:d,repulsion:g,gravity:m,inertia:v,maxMove:y}=l.settings;let{shouldSkipNode:b,shouldSkipEdge:x,isNodeFixed:E}=l;E=r(E),b=r(b,!1),x=n(x,!1);const T=a.filterNodes((L,C)=>!b.fromEntry(L,C)),M=T.length;for(let L=0;L{if(R===B||b.fromEntry(R,_)||b.fromEntry(B,$)||x.fromEntry(L,C,R,B,_,$,z))return;const F=s[R],Y=s[B],I=Y.x-F.x,j=Y.y-F.y,J=Math.sqrt(I*I+j*j)||1,ae=d*J*I,H=d*J*j;F.dx+=ae,F.dy+=H,Y.dx-=ae,Y.dy-=H}),m)for(let L=0;Ly&&(R.dx*=y/B,R.dy*=y/B),E.fromGraph(a,C)?R.fixed=!0:(R.x+=R.dx,R.y+=R.dy,R.fixed=!1)}return{converged:N}},vd}var Ul={},Sb;function xE(){return Sb||(Sb=1,Ul.assignLayoutChanges=function(r,n,i){const{nodeXAttribute:a,nodeYAttribute:s}=i;r.updateEachNodeAttributes((l,c)=>{const f=n[l];return!f||f.fixed||(c[a]=f.x,c[s]=f.y),c},{attributes:["x","y"]})},Ul.collectLayoutChanges=function(r){const n={};for(const i in r){const a=r[i];n[i]={x:a.x,y:a.y}}return n}),Ul}var yd,xb;function _E(){return xb||(xb=1,yd={nodeXAttribute:"x",nodeYAttribute:"y",isNodeFixed:"fixed",shouldSkipNode:null,shouldSkipEdge:null,settings:{attraction:5e-4,repulsion:.1,gravity:1e-4,inertia:.6,maxMove:200}}),yd}var bd,_b;function xk(){if(_b)return bd;_b=1;const r=Zn(),n=ds(),i=SE(),a=xE(),s=_E();function l(f,d,g){if(!r(d))throw new Error("graphology-layout-force: the given graph is not a valid graphology instance.");typeof g=="number"?g={maxIterations:g}:g=g||{};const m=g.maxIterations;if(g=n(g,s),typeof m!="number"||m<=0)throw new Error("graphology-layout-force: you should provide a positive number of maximum iterations.");const v={};let y=null,b;for(b=0;bthis.runFrame())},l.prototype.stop=function(){return this.running=!1,this.frameID!==null&&(window.cancelAnimationFrame(this.frameID),this.frameID=null),this},l.prototype.start=function(){if(this.killed)throw new Error("graphology-layout-force/worker.start: layout was killed.");this.running||(this.running=!0,this.runFrame())},l.prototype.kill=function(){this.stop(),delete this.nodeStates,this.killed=!0},wd=l,wd}var Ak=Ck();const Rk=on(Ak);function Dk(r={maxIterations:100}){return Pa(Tk,r)}function Ok(r={}){return Zh(Rk,r)}var Ed,Cb;function kk(){if(Cb)return Ed;Cb=1;var r=0,n=1,i=2,a=3,s=4,l=5,c=6,f=7,d=8,g=9,m=0,v=1,y=2,b=0,x=1,E=2,T=3,M=4,N=5,L=6,C=7,R=8,B=3,_=10,$=3,z=9,F=10;return Ed=function(I,j,J){var ae,H,U,D,se,G,P,k,V,Q,re=j.length,de=J.length,ge=I.adjustSizes,le=I.barnesHutTheta*I.barnesHutTheta,xe,pe,Ae,Te,Le,ve,he,K=[];for(U=0;UEt?(be-=(Ie-Et)/2,Se=be+Ie):(Re-=(Et-Ie)/2,Ve=Re+Et),K[0+b]=-1,K[0+x]=(Re+Ve)/2,K[0+E]=(be+Se)/2,K[0+T]=Math.max(Ve-Re,Se-be),K[0+M]=-1,K[0+N]=-1,K[0+L]=0,K[0+C]=0,K[0+R]=0,ae=1,U=0;U=0){j[U+r]=0)if(ve=Math.pow(j[U+r]-K[H+C],2)+Math.pow(j[U+n]-K[H+R],2),Q=K[H+T],4*Q*Q/ve0?(he=pe*j[U+c]*K[H+L]/ve,j[U+i]+=Ae*he,j[U+a]+=Te*he):ve<0&&(he=-pe*j[U+c]*K[H+L]/Math.sqrt(ve),j[U+i]+=Ae*he,j[U+a]+=Te*he):ve>0&&(he=pe*j[U+c]*K[H+L]/ve,j[U+i]+=Ae*he,j[U+a]+=Te*he),H=K[H+M],H<0)break;continue}else{H=K[H+N];continue}else{if(G=K[H+b],G>=0&&G!==U&&(Ae=j[U+r]-j[G+r],Te=j[U+n]-j[G+n],ve=Ae*Ae+Te*Te,ge===!0?ve>0?(he=pe*j[U+c]*j[G+c]/ve,j[U+i]+=Ae*he,j[U+a]+=Te*he):ve<0&&(he=-pe*j[U+c]*j[G+c]/Math.sqrt(ve),j[U+i]+=Ae*he,j[U+a]+=Te*he):ve>0&&(he=pe*j[U+c]*j[G+c]/ve,j[U+i]+=Ae*he,j[U+a]+=Te*he)),H=K[H+M],H<0)break;continue}else for(pe=I.scalingRatio,D=0;D0?(he=pe*j[D+c]*j[se+c]/ve/ve,j[D+i]+=Ae*he,j[D+a]+=Te*he,j[se+i]-=Ae*he,j[se+a]-=Te*he):ve<0&&(he=100*pe*j[D+c]*j[se+c],j[D+i]+=Ae*he,j[D+a]+=Te*he,j[se+i]-=Ae*he,j[se+a]-=Te*he)):(ve=Math.sqrt(Ae*Ae+Te*Te),ve>0&&(he=pe*j[D+c]*j[se+c]/ve/ve,j[D+i]+=Ae*he,j[D+a]+=Te*he,j[se+i]-=Ae*he,j[se+a]-=Te*he));for(V=I.gravity/I.scalingRatio,pe=I.scalingRatio,U=0;U0&&(he=pe*j[U+c]*V):ve>0&&(he=pe*j[U+c]*V/ve),j[U+i]-=Ae*he,j[U+a]-=Te*he;for(pe=1*(I.outboundAttractionDistribution?xe:1),P=0;P0&&(he=-pe*Le*Math.log(1+ve)/ve/j[D+c]):ve>0&&(he=-pe*Le*Math.log(1+ve)/ve):I.outboundAttractionDistribution?ve>0&&(he=-pe*Le/j[D+c]):ve>0&&(he=-pe*Le)):(ve=Math.sqrt(Math.pow(Ae,2)+Math.pow(Te,2)),I.linLogMode?I.outboundAttractionDistribution?ve>0&&(he=-pe*Le*Math.log(1+ve)/ve/j[D+c]):ve>0&&(he=-pe*Le*Math.log(1+ve)/ve):I.outboundAttractionDistribution?(ve=1,he=-pe*Le/j[D+c]):(ve=1,he=-pe*Le)),ve>0&&(j[D+i]+=Ae*he,j[D+a]+=Te*he,j[se+i]-=Ae*he,j[se+a]-=Te*he);var rt,ct,Gt,Ht,sn,xn;if(ge===!0)for(U=0;UF&&(j[U+i]=j[U+i]*F/rt,j[U+a]=j[U+a]*F/rt),ct=j[U+c]*Math.sqrt((j[U+s]-j[U+i])*(j[U+s]-j[U+i])+(j[U+l]-j[U+a])*(j[U+l]-j[U+a])),Gt=Math.sqrt((j[U+s]+j[U+i])*(j[U+s]+j[U+i])+(j[U+l]+j[U+a])*(j[U+l]+j[U+a]))/2,Ht=.1*Math.log(1+Gt)/(1+Math.sqrt(ct)),sn=j[U+r]+j[U+i]*(Ht/I.slowDown),j[U+r]=sn,xn=j[U+n]+j[U+a]*(Ht/I.slowDown),j[U+n]=xn);else for(U=0;U=0)?{message:"the `scalingRatio` setting should be a number >= 0."}:"strongGravityMode"in i&&typeof i.strongGravityMode!="boolean"?{message:"the `strongGravityMode` setting should be a boolean."}:"gravity"in i&&!(typeof i.gravity=="number"&&i.gravity>=0)?{message:"the `gravity` setting should be a number >= 0."}:"slowDown"in i&&!(typeof i.slowDown=="number"||i.slowDown>=0)?{message:"the `slowDown` setting should be a number >= 0."}:"barnesHutOptimize"in i&&typeof i.barnesHutOptimize!="boolean"?{message:"the `barnesHutOptimize` setting should be a boolean."}:"barnesHutTheta"in i&&!(typeof i.barnesHutTheta=="number"&&i.barnesHutTheta>=0)?{message:"the `barnesHutTheta` setting should be a number >= 0."}:null},pr.graphToByteArrays=function(i,a){var s=i.order,l=i.size,c={},f,d=new Float32Array(s*r),g=new Float32Array(l*n);return f=0,i.forEachNode(function(m,v){c[m]=f,d[f]=v.x,d[f+1]=v.y,d[f+2]=0,d[f+3]=0,d[f+4]=0,d[f+5]=0,d[f+6]=1,d[f+7]=1,d[f+8]=v.size||1,d[f+9]=v.fixed?1:0,f+=r}),f=0,i.forEachEdge(function(m,v,y,b,x,E,T){var M=c[y],N=c[b],L=a(m,v,y,b,x,E,T);d[M+6]+=L,d[N+6]+=L,g[f]=M,g[f+1]=N,g[f+2]=L,f+=n}),{nodes:d,edges:g}},pr.assignLayoutChanges=function(i,a,s){var l=0;i.updateEachNodeAttributes(function(c,f){return f.x=a[l],f.y=a[l+1],l+=r,s?s(c,f):f})},pr.readGraphPositions=function(i,a){var s=0;i.forEachNode(function(l,c){a[s]=c.x,a[s+1]=c.y,s+=r})},pr.collectLayoutChanges=function(i,a,s){for(var l=i.nodes(),c={},f=0,d=0,g=a.length;f2e3,strongGravityMode:!0,gravity:.05,scalingRatio:10,slowDown:1+Math.log(g)}}var f=l.bind(null,!1);return f.assign=l.bind(null,!0),f.inferSettings=c,xd=f,xd}var Nk=Lk();const zk=on(Nk);var _d,Ob;function Gk(){return Ob||(Ob=1,_d=function(){var n,i,a={};(function(){var l=0,c=1,f=2,d=3,g=4,m=5,v=6,y=7,b=8,x=9,E=0,T=1,M=2,N=0,L=1,C=2,R=3,B=4,_=5,$=6,z=7,F=8,Y=3,I=10,j=3,J=9,ae=10;a.exports=function(U,D,se){var G,P,k,V,Q,re,de,ge,le,xe,pe=D.length,Ae=se.length,Te=U.adjustSizes,Le=U.barnesHutTheta*U.barnesHutTheta,ve,he,K,Re,Ve,be,Se,ne=[];for(k=0;ksn?(Ie-=(Ht-sn)/2,Et=Ie+Ht):(et-=(sn-Ht)/2,ut=et+sn),ne[0+N]=-1,ne[0+L]=(et+ut)/2,ne[0+C]=(Ie+Et)/2,ne[0+R]=Math.max(ut-et,Et-Ie),ne[0+B]=-1,ne[0+_]=-1,ne[0+$]=0,ne[0+z]=0,ne[0+F]=0,G=1,k=0;k=0){D[k+l]=0)if(be=Math.pow(D[k+l]-ne[P+z],2)+Math.pow(D[k+c]-ne[P+F],2),xe=ne[P+R],4*xe*xe/be0?(Se=he*D[k+v]*ne[P+$]/be,D[k+f]+=K*Se,D[k+d]+=Re*Se):be<0&&(Se=-he*D[k+v]*ne[P+$]/Math.sqrt(be),D[k+f]+=K*Se,D[k+d]+=Re*Se):be>0&&(Se=he*D[k+v]*ne[P+$]/be,D[k+f]+=K*Se,D[k+d]+=Re*Se),P=ne[P+B],P<0)break;continue}else{P=ne[P+_];continue}else{if(re=ne[P+N],re>=0&&re!==k&&(K=D[k+l]-D[re+l],Re=D[k+c]-D[re+c],be=K*K+Re*Re,Te===!0?be>0?(Se=he*D[k+v]*D[re+v]/be,D[k+f]+=K*Se,D[k+d]+=Re*Se):be<0&&(Se=-he*D[k+v]*D[re+v]/Math.sqrt(be),D[k+f]+=K*Se,D[k+d]+=Re*Se):be>0&&(Se=he*D[k+v]*D[re+v]/be,D[k+f]+=K*Se,D[k+d]+=Re*Se)),P=ne[P+B],P<0)break;continue}else for(he=U.scalingRatio,V=0;V0?(Se=he*D[V+v]*D[Q+v]/be/be,D[V+f]+=K*Se,D[V+d]+=Re*Se,D[Q+f]-=K*Se,D[Q+d]-=Re*Se):be<0&&(Se=100*he*D[V+v]*D[Q+v],D[V+f]+=K*Se,D[V+d]+=Re*Se,D[Q+f]-=K*Se,D[Q+d]-=Re*Se)):(be=Math.sqrt(K*K+Re*Re),be>0&&(Se=he*D[V+v]*D[Q+v]/be/be,D[V+f]+=K*Se,D[V+d]+=Re*Se,D[Q+f]-=K*Se,D[Q+d]-=Re*Se));for(le=U.gravity/U.scalingRatio,he=U.scalingRatio,k=0;k0&&(Se=he*D[k+v]*le):be>0&&(Se=he*D[k+v]*le/be),D[k+f]-=K*Se,D[k+d]-=Re*Se;for(he=1*(U.outboundAttractionDistribution?ve:1),de=0;de0&&(Se=-he*Ve*Math.log(1+be)/be/D[V+v]):be>0&&(Se=-he*Ve*Math.log(1+be)/be):U.outboundAttractionDistribution?be>0&&(Se=-he*Ve/D[V+v]):be>0&&(Se=-he*Ve)):(be=Math.sqrt(Math.pow(K,2)+Math.pow(Re,2)),U.linLogMode?U.outboundAttractionDistribution?be>0&&(Se=-he*Ve*Math.log(1+be)/be/D[V+v]):be>0&&(Se=-he*Ve*Math.log(1+be)/be):U.outboundAttractionDistribution?(be=1,Se=-he*Ve/D[V+v]):(be=1,Se=-he*Ve)),be>0&&(D[V+f]+=K*Se,D[V+d]+=Re*Se,D[Q+f]-=K*Se,D[Q+d]-=Re*Se);var xn,ii,Mn,ft,ji,Zt;if(Te===!0)for(k=0;kae&&(D[k+f]=D[k+f]*ae/xn,D[k+d]=D[k+d]*ae/xn),ii=D[k+v]*Math.sqrt((D[k+g]-D[k+f])*(D[k+g]-D[k+f])+(D[k+m]-D[k+d])*(D[k+m]-D[k+d])),Mn=Math.sqrt((D[k+g]+D[k+f])*(D[k+g]+D[k+f])+(D[k+m]+D[k+d])*(D[k+m]+D[k+d]))/2,ft=.1*Math.log(1+Mn)/(1+Math.sqrt(ii)),ji=D[k+l]+D[k+f]*(ft/U.slowDown),D[k+l]=ji,Zt=D[k+c]+D[k+d]*(ft/U.slowDown),D[k+c]=Zt);else for(k=0;k1&&Ae.has(Se))&&(D>1&&Ae.add(Se),he=d[Le+r],Re=d[Le+n],be=d[Le+i],ne=he-ve,et=Re-K,ut=Math.sqrt(ne*ne+et*et),Ie=ut0?(_[Le]+=ne/ut*(1+Ve),$[Le]+=et/ut*(1+Ve)):(_[Le]+=j*l(),$[Le]+=J*l())));for(x=0,E=0;x1&&he.has(Ie))&&(k>1&&he.add(Ie),be=y[Re+s],ne=y[Re+l],ut=y[Re+c],Et=be-Ve,rt=ne-Se,ct=Math.sqrt(Et*Et+rt*rt),Gt=ct0?(Y[Re]+=Et/ct*(1+et),I[Re]+=rt/ct*(1+et)):(Y[Re]+=U*g(),I[Re]+=D*g())));for(N=0,L=0;NA.jsx(Je.span,{...r,ref:n,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...r.style}}));OE.displayName=eL;var tL=OE,[_u,Rz]=rs("Tooltip",[vu]),Tu=vu(),kE="TooltipProvider",nL=700,ch="tooltip.open",[rL,Kh]=_u(kE),LE=r=>{const{__scopeTooltip:n,delayDuration:i=nL,skipDelayDuration:a=300,disableHoverableContent:s=!1,children:l}=r,[c,f]=S.useState(!0),d=S.useRef(!1),g=S.useRef(0);return S.useEffect(()=>{const m=g.current;return()=>window.clearTimeout(m)},[]),A.jsx(rL,{scope:n,isOpenDelayed:c,delayDuration:i,onOpen:S.useCallback(()=>{window.clearTimeout(g.current),f(!1)},[]),onClose:S.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>f(!0),a)},[a]),isPointerInTransitRef:d,onPointerInTransitChange:S.useCallback(m=>{d.current=m},[]),disableHoverableContent:s,children:l})};LE.displayName=kE;var Cu="Tooltip",[iL,Au]=_u(Cu),NE=r=>{const{__scopeTooltip:n,children:i,open:a,defaultOpen:s=!1,onOpenChange:l,disableHoverableContent:c,delayDuration:f}=r,d=Kh(Cu,r.__scopeTooltip),g=Tu(n),[m,v]=S.useState(null),y=Ln(),b=S.useRef(0),x=c??d.disableHoverableContent,E=f??d.delayDuration,T=S.useRef(!1),[M=!1,N]=yu({prop:a,defaultProp:s,onChange:_=>{_?(d.onOpen(),document.dispatchEvent(new CustomEvent(ch))):d.onClose(),l==null||l(_)}}),L=S.useMemo(()=>M?T.current?"delayed-open":"instant-open":"closed",[M]),C=S.useCallback(()=>{window.clearTimeout(b.current),b.current=0,T.current=!1,N(!0)},[N]),R=S.useCallback(()=>{window.clearTimeout(b.current),b.current=0,N(!1)},[N]),B=S.useCallback(()=>{window.clearTimeout(b.current),b.current=window.setTimeout(()=>{T.current=!0,N(!0),b.current=0},E)},[E,N]);return S.useEffect(()=>()=>{b.current&&(window.clearTimeout(b.current),b.current=0)},[]),A.jsx(ew,{...g,children:A.jsx(iL,{scope:n,contentId:y,open:M,stateAttribute:L,trigger:m,onTriggerChange:v,onTriggerEnter:S.useCallback(()=>{d.isOpenDelayed?B():C()},[d.isOpenDelayed,B,C]),onTriggerLeave:S.useCallback(()=>{x?R():(window.clearTimeout(b.current),b.current=0)},[R,x]),onOpen:C,onClose:R,disableHoverableContent:x,children:i})})};NE.displayName=Cu;var fh="TooltipTrigger",zE=S.forwardRef((r,n)=>{const{__scopeTooltip:i,...a}=r,s=Au(fh,i),l=Kh(fh,i),c=Tu(i),f=S.useRef(null),d=Vt(n,f,s.onTriggerChange),g=S.useRef(!1),m=S.useRef(!1),v=S.useCallback(()=>g.current=!1,[]);return S.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),A.jsx(zh,{asChild:!0,...c,children:A.jsx(Je.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...a,ref:d,onPointerMove:ht(r.onPointerMove,y=>{y.pointerType!=="touch"&&!m.current&&!l.isPointerInTransitRef.current&&(s.onTriggerEnter(),m.current=!0)}),onPointerLeave:ht(r.onPointerLeave,()=>{s.onTriggerLeave(),m.current=!1}),onPointerDown:ht(r.onPointerDown,()=>{g.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:ht(r.onFocus,()=>{g.current||s.onOpen()}),onBlur:ht(r.onBlur,s.onClose),onClick:ht(r.onClick,s.onClose)})})});zE.displayName=fh;var aL="TooltipPortal",[Dz,oL]=_u(aL,{forceMount:void 0}),za="TooltipContent",GE=S.forwardRef((r,n)=>{const i=oL(za,r.__scopeTooltip),{forceMount:a=i.forceMount,side:s="top",...l}=r,c=Au(za,r.__scopeTooltip);return A.jsx(ni,{present:a||c.open,children:c.disableHoverableContent?A.jsx(ME,{side:s,...l,ref:n}):A.jsx(sL,{side:s,...l,ref:n})})}),sL=S.forwardRef((r,n)=>{const i=Au(za,r.__scopeTooltip),a=Kh(za,r.__scopeTooltip),s=S.useRef(null),l=Vt(n,s),[c,f]=S.useState(null),{trigger:d,onClose:g}=i,m=s.current,{onPointerInTransitChange:v}=a,y=S.useCallback(()=>{f(null),v(!1)},[v]),b=S.useCallback((x,E)=>{const T=x.currentTarget,M={x:x.clientX,y:x.clientY},N=fL(M,T.getBoundingClientRect()),L=dL(M,N),C=hL(E.getBoundingClientRect()),R=pL([...L,...C]);f(R),v(!0)},[v]);return S.useEffect(()=>()=>y(),[y]),S.useEffect(()=>{if(d&&m){const x=T=>b(T,m),E=T=>b(T,d);return d.addEventListener("pointerleave",x),m.addEventListener("pointerleave",E),()=>{d.removeEventListener("pointerleave",x),m.removeEventListener("pointerleave",E)}}},[d,m,b,y]),S.useEffect(()=>{if(c){const x=E=>{const T=E.target,M={x:E.clientX,y:E.clientY},N=(d==null?void 0:d.contains(T))||(m==null?void 0:m.contains(T)),L=!gL(M,c);N?y():L&&(y(),g())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[d,m,c,g,y]),A.jsx(ME,{...r,ref:l})}),[lL,uL]=_u(Cu,{isInside:!1}),ME=S.forwardRef((r,n)=>{const{__scopeTooltip:i,children:a,"aria-label":s,onEscapeKeyDown:l,onPointerDownOutside:c,...f}=r,d=Au(za,i),g=Tu(i),{onClose:m}=d;return S.useEffect(()=>(document.addEventListener(ch,m),()=>document.removeEventListener(ch,m)),[m]),S.useEffect(()=>{if(d.trigger){const v=y=>{const b=y.target;b!=null&&b.contains(d.trigger)&&m()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[d.trigger,m]),A.jsx(hu,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:v=>v.preventDefault(),onDismiss:m,children:A.jsxs(tw,{"data-state":d.stateAttribute,...g,...f,ref:n,style:{...f.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[A.jsx(R0,{children:a}),A.jsx(lL,{scope:i,isInside:!0,children:A.jsx(tL,{id:d.contentId,role:"tooltip",children:s||a})})]})})});GE.displayName=za;var jE="TooltipArrow",cL=S.forwardRef((r,n)=>{const{__scopeTooltip:i,...a}=r,s=Tu(i);return uL(jE,i).isInside?null:A.jsx(nw,{...s,...a,ref:n})});cL.displayName=jE;function fL(r,n){const i=Math.abs(n.top-r.y),a=Math.abs(n.bottom-r.y),s=Math.abs(n.right-r.x),l=Math.abs(n.left-r.x);switch(Math.min(i,a,s,l)){case l:return"left";case s:return"right";case i:return"top";case a:return"bottom";default:throw new Error("unreachable")}}function dL(r,n,i=5){const a=[];switch(n){case"top":a.push({x:r.x-i,y:r.y+i},{x:r.x+i,y:r.y+i});break;case"bottom":a.push({x:r.x-i,y:r.y-i},{x:r.x+i,y:r.y-i});break;case"left":a.push({x:r.x+i,y:r.y-i},{x:r.x+i,y:r.y+i});break;case"right":a.push({x:r.x-i,y:r.y-i},{x:r.x-i,y:r.y+i});break}return a}function hL(r){const{top:n,right:i,bottom:a,left:s}=r;return[{x:s,y:n},{x:i,y:n},{x:i,y:a},{x:s,y:a}]}function gL(r,n){const{x:i,y:a}=r;let s=!1;for(let l=0,c=n.length-1;la!=m>a&&i<(g-f)*(a-d)/(m-d)+f&&(s=!s)}return s}function pL(r){const n=r.slice();return n.sort((i,a)=>i.xa.x?1:i.ya.y?1:0),mL(n)}function mL(r){if(r.length<=1)return r.slice();const n=[];for(let a=0;a=2;){const l=n[n.length-1],c=n[n.length-2];if((l.x-c.x)*(s.y-c.y)>=(l.y-c.y)*(s.x-c.x))n.pop();else break}n.push(s)}n.pop();const i=[];for(let a=r.length-1;a>=0;a--){const s=r[a];for(;i.length>=2;){const l=i[i.length-1],c=i[i.length-2];if((l.x-c.x)*(s.y-c.y)>=(l.y-c.y)*(s.x-c.x))i.pop();else break}i.push(s)}return i.pop(),n.length===1&&i.length===1&&n[0].x===i[0].x&&n[0].y===i[0].y?n:n.concat(i)}var vL=LE,yL=NE,bL=zE,UE=GE;const BE=vL,FE=yL,HE=bL,Qh=S.forwardRef(({className:r,sideOffset:n=4,...i},a)=>A.jsx(UE,{ref:a,sideOffset:n,className:Xe("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border px-3 py-1.5 text-sm shadow-md",r),...i}));Qh.displayName=UE.displayName;const Bb=w0("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"size-8"}},defaultVariants:{variant:"default",size:"default"}}),an=S.forwardRef(({className:r,variant:n,tooltip:i,size:a,side:s="right",asChild:l=!1,...c},f)=>{const d=l?is:"button";return i?A.jsx(BE,{children:A.jsxs(FE,{children:[A.jsx(HE,{asChild:!0,children:A.jsx(d,{className:Xe(Bb({variant:n,size:a,className:r}),"cursor-pointer"),ref:f,...c})}),A.jsx(Qh,{side:s,children:i})]})}):A.jsx(d,{className:Xe(Bb({variant:n,size:a,className:r}),"cursor-pointer"),ref:f,...c})});an.displayName="Button";var Fb=1,wL=.9,EL=.8,SL=.17,Ld=.1,Nd=.999,xL=.9999,_L=.99,TL=/[\\\/_+.#"@\[\(\{&]/,CL=/[\\\/_+.#"@\[\(\{&]/g,AL=/[\s-]/,PE=/[\s-]/g;function dh(r,n,i,a,s,l,c){if(l===n.length)return s===r.length?Fb:_L;var f=`${s},${l}`;if(c[f]!==void 0)return c[f];for(var d=a.charAt(l),g=i.indexOf(d,s),m=0,v,y,b,x;g>=0;)v=dh(r,n,i,a,g+1,l+1,c),v>m&&(g===s?v*=Fb:TL.test(r.charAt(g-1))?(v*=EL,b=r.slice(s,g-1).match(CL),b&&s>0&&(v*=Math.pow(Nd,b.length))):AL.test(r.charAt(g-1))?(v*=wL,x=r.slice(s,g-1).match(PE),x&&s>0&&(v*=Math.pow(Nd,x.length))):(v*=SL,s>0&&(v*=Math.pow(Nd,g-s))),r.charAt(g)!==n.charAt(l)&&(v*=xL)),(vv&&(v=y*Ld)),v>m&&(m=v),g=i.indexOf(d,g+1);return c[f]=m,m}function Hb(r){return r.toLowerCase().replace(PE," ")}function RL(r,n,i){return r=i&&i.length>0?`${r+" "+i.join(" ")}`:r,dh(r,n,Hb(r),Hb(n),0,0,{})}var Jh="Dialog",[$E,Oz]=rs(Jh),[DL,Gn]=$E(Jh),qE=r=>{const{__scopeDialog:n,children:i,open:a,defaultOpen:s,onOpenChange:l,modal:c=!0}=r,f=S.useRef(null),d=S.useRef(null),[g=!1,m]=yu({prop:a,defaultProp:s,onChange:l});return A.jsx(DL,{scope:n,triggerRef:f,contentRef:d,contentId:Ln(),titleId:Ln(),descriptionId:Ln(),open:g,onOpenChange:m,onOpenToggle:S.useCallback(()=>m(v=>!v),[m]),modal:c,children:i})};qE.displayName=Jh;var VE="DialogTrigger",OL=S.forwardRef((r,n)=>{const{__scopeDialog:i,...a}=r,s=Gn(VE,i),l=Vt(n,s.triggerRef);return A.jsx(Je.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":ng(s.open),...a,ref:l,onClick:ht(r.onClick,s.onOpenToggle)})});OL.displayName=VE;var eg="DialogPortal",[kL,IE]=$E(eg,{forceMount:void 0}),YE=r=>{const{__scopeDialog:n,forceMount:i,children:a,container:s}=r,l=Gn(eg,n);return A.jsx(kL,{scope:n,forceMount:i,children:S.Children.map(a,c=>A.jsx(ni,{present:i||l.open,children:A.jsx(Gh,{asChild:!0,container:s,children:c})}))})};YE.displayName=eg;var cu="DialogOverlay",XE=S.forwardRef((r,n)=>{const i=IE(cu,r.__scopeDialog),{forceMount:a=i.forceMount,...s}=r,l=Gn(cu,r.__scopeDialog);return l.modal?A.jsx(ni,{present:a||l.open,children:A.jsx(LL,{...s,ref:n})}):null});XE.displayName=cu;var LL=S.forwardRef((r,n)=>{const{__scopeDialog:i,...a}=r,s=Gn(cu,i);return A.jsx(Mh,{as:is,allowPinchZoom:!0,shards:[s.contentRef],children:A.jsx(Je.div,{"data-state":ng(s.open),...a,ref:n,style:{pointerEvents:"auto",...a.style}})})}),zi="DialogContent",ZE=S.forwardRef((r,n)=>{const i=IE(zi,r.__scopeDialog),{forceMount:a=i.forceMount,...s}=r,l=Gn(zi,r.__scopeDialog);return A.jsx(ni,{present:a||l.open,children:l.modal?A.jsx(NL,{...s,ref:n}):A.jsx(zL,{...s,ref:n})})});ZE.displayName=zi;var NL=S.forwardRef((r,n)=>{const i=Gn(zi,r.__scopeDialog),a=S.useRef(null),s=Vt(n,i.contentRef,a);return S.useEffect(()=>{const l=a.current;if(l)return iw(l)},[]),A.jsx(WE,{...r,ref:s,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ht(r.onCloseAutoFocus,l=>{var c;l.preventDefault(),(c=i.triggerRef.current)==null||c.focus()}),onPointerDownOutside:ht(r.onPointerDownOutside,l=>{const c=l.detail.originalEvent,f=c.button===0&&c.ctrlKey===!0;(c.button===2||f)&&l.preventDefault()}),onFocusOutside:ht(r.onFocusOutside,l=>l.preventDefault())})}),zL=S.forwardRef((r,n)=>{const i=Gn(zi,r.__scopeDialog),a=S.useRef(!1),s=S.useRef(!1);return A.jsx(WE,{...r,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{var c,f;(c=r.onCloseAutoFocus)==null||c.call(r,l),l.defaultPrevented||(a.current||(f=i.triggerRef.current)==null||f.focus(),l.preventDefault()),a.current=!1,s.current=!1},onInteractOutside:l=>{var d,g;(d=r.onInteractOutside)==null||d.call(r,l),l.defaultPrevented||(a.current=!0,l.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const c=l.target;((g=i.triggerRef.current)==null?void 0:g.contains(c))&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&s.current&&l.preventDefault()}})}),WE=S.forwardRef((r,n)=>{const{__scopeDialog:i,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:l,...c}=r,f=Gn(zi,i),d=S.useRef(null),g=Vt(n,d);return k0(),A.jsxs(A.Fragment,{children:[A.jsx(_h,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:s,onUnmountAutoFocus:l,children:A.jsx(hu,{role:"dialog",id:f.contentId,"aria-describedby":f.descriptionId,"aria-labelledby":f.titleId,"data-state":ng(f.open),...c,ref:g,onDismiss:()=>f.onOpenChange(!1)})}),A.jsxs(A.Fragment,{children:[A.jsx(GL,{titleId:f.titleId}),A.jsx(jL,{contentRef:d,descriptionId:f.descriptionId})]})]})}),tg="DialogTitle",KE=S.forwardRef((r,n)=>{const{__scopeDialog:i,...a}=r,s=Gn(tg,i);return A.jsx(Je.h2,{id:s.titleId,...a,ref:n})});KE.displayName=tg;var QE="DialogDescription",JE=S.forwardRef((r,n)=>{const{__scopeDialog:i,...a}=r,s=Gn(QE,i);return A.jsx(Je.p,{id:s.descriptionId,...a,ref:n})});JE.displayName=QE;var e1="DialogClose",t1=S.forwardRef((r,n)=>{const{__scopeDialog:i,...a}=r,s=Gn(e1,i);return A.jsx(Je.button,{type:"button",...a,ref:n,onClick:ht(r.onClick,()=>s.onOpenChange(!1))})});t1.displayName=e1;function ng(r){return r?"open":"closed"}var n1="DialogTitleWarning",[kz,r1]=rC(n1,{contentName:zi,titleName:tg,docsSlug:"dialog"}),GL=({titleId:r})=>{const n=r1(n1),i=`\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users. - -If you want to hide the \`${n.titleName}\`, you can wrap it with our VisuallyHidden component. - -For more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;return S.useEffect(()=>{r&&(document.getElementById(r)||console.error(i))},[i,r]),null},ML="DialogDescriptionWarning",jL=({contentRef:r,descriptionId:n})=>{const a=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${r1(ML).contentName}}.`;return S.useEffect(()=>{var l;const s=(l=r.current)==null?void 0:l.getAttribute("aria-describedby");n&&s&&(document.getElementById(n)||console.warn(a))},[a,r,n]),null},UL=qE,i1=YE,rg=XE,ig=ZE,a1=KE,o1=JE,BL=t1,zd={exports:{}},Gd={};/** - * @license React - * use-sync-external-store-shim.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Pb;function FL(){if(Pb)return Gd;Pb=1;var r=du();function n(v,y){return v===y&&(v!==0||1/v===1/y)||v!==v&&y!==y}var i=typeof Object.is=="function"?Object.is:n,a=r.useState,s=r.useEffect,l=r.useLayoutEffect,c=r.useDebugValue;function f(v,y){var b=y(),x=a({inst:{value:b,getSnapshot:y}}),E=x[0].inst,T=x[1];return l(function(){E.value=b,E.getSnapshot=y,d(E)&&T({inst:E})},[v,b,y]),s(function(){return d(E)&&T({inst:E}),v(function(){d(E)&&T({inst:E})})},[v]),c(b),b}function d(v){var y=v.getSnapshot;v=v.value;try{var b=y();return!i(v,b)}catch{return!0}}function g(v,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?g:f;return Gd.useSyncExternalStore=r.useSyncExternalStore!==void 0?r.useSyncExternalStore:m,Gd}var $b;function HL(){return $b||($b=1,zd.exports=FL()),zd.exports}var PL=HL(),Wo='[cmdk-group=""]',Md='[cmdk-group-items=""]',$L='[cmdk-group-heading=""]',ag='[cmdk-item=""]',qb=`${ag}:not([aria-disabled="true"])`,hh="cmdk-item-select",ki="data-value",qL=(r,n,i)=>RL(r,n,i),s1=S.createContext(void 0),hs=()=>S.useContext(s1),l1=S.createContext(void 0),og=()=>S.useContext(l1),u1=S.createContext(void 0),c1=S.forwardRef((r,n)=>{let i=Ca(()=>{var k,V;return{search:"",value:(V=(k=r.value)!=null?k:r.defaultValue)!=null?V:"",filtered:{count:0,items:new Map,groups:new Set}}}),a=Ca(()=>new Set),s=Ca(()=>new Map),l=Ca(()=>new Map),c=Ca(()=>new Set),f=f1(r),{label:d,children:g,value:m,onValueChange:v,filter:y,shouldFilter:b,loop:x,disablePointerSelection:E=!1,vimBindings:T=!0,...M}=r,N=Ln(),L=Ln(),C=Ln(),R=S.useRef(null),B=tN();Gi(()=>{if(m!==void 0){let k=m.trim();i.current.value=k,_.emit()}},[m]),Gi(()=>{B(6,j)},[]);let _=S.useMemo(()=>({subscribe:k=>(c.current.add(k),()=>c.current.delete(k)),snapshot:()=>i.current,setState:(k,V,Q)=>{var re,de,ge;if(!Object.is(i.current[k],V)){if(i.current[k]=V,k==="search")I(),F(),B(1,Y);else if(k==="value"&&(Q||B(5,j),((re=f.current)==null?void 0:re.value)!==void 0)){let le=V??"";(ge=(de=f.current).onValueChange)==null||ge.call(de,le);return}_.emit()}},emit:()=>{c.current.forEach(k=>k())}}),[]),$=S.useMemo(()=>({value:(k,V,Q)=>{var re;V!==((re=l.current.get(k))==null?void 0:re.value)&&(l.current.set(k,{value:V,keywords:Q}),i.current.filtered.items.set(k,z(V,Q)),B(2,()=>{F(),_.emit()}))},item:(k,V)=>(a.current.add(k),V&&(s.current.has(V)?s.current.get(V).add(k):s.current.set(V,new Set([k]))),B(3,()=>{I(),F(),i.current.value||Y(),_.emit()}),()=>{l.current.delete(k),a.current.delete(k),i.current.filtered.items.delete(k);let Q=J();B(4,()=>{I(),(Q==null?void 0:Q.getAttribute("id"))===k&&Y(),_.emit()})}),group:k=>(s.current.has(k)||s.current.set(k,new Set),()=>{l.current.delete(k),s.current.delete(k)}),filter:()=>f.current.shouldFilter,label:d||r["aria-label"],getDisablePointerSelection:()=>f.current.disablePointerSelection,listId:N,inputId:C,labelId:L,listInnerRef:R}),[]);function z(k,V){var Q,re;let de=(re=(Q=f.current)==null?void 0:Q.filter)!=null?re:qL;return k?de(k,i.current.search,V):0}function F(){if(!i.current.search||f.current.shouldFilter===!1)return;let k=i.current.filtered.items,V=[];i.current.filtered.groups.forEach(re=>{let de=s.current.get(re),ge=0;de.forEach(le=>{let xe=k.get(le);ge=Math.max(xe,ge)}),V.push([re,ge])});let Q=R.current;ae().sort((re,de)=>{var ge,le;let xe=re.getAttribute("id"),pe=de.getAttribute("id");return((ge=k.get(pe))!=null?ge:0)-((le=k.get(xe))!=null?le:0)}).forEach(re=>{let de=re.closest(Md);de?de.appendChild(re.parentElement===de?re:re.closest(`${Md} > *`)):Q.appendChild(re.parentElement===Q?re:re.closest(`${Md} > *`))}),V.sort((re,de)=>de[1]-re[1]).forEach(re=>{var de;let ge=(de=R.current)==null?void 0:de.querySelector(`${Wo}[${ki}="${encodeURIComponent(re[0])}"]`);ge==null||ge.parentElement.appendChild(ge)})}function Y(){let k=ae().find(Q=>Q.getAttribute("aria-disabled")!=="true"),V=k==null?void 0:k.getAttribute(ki);_.setState("value",V||void 0)}function I(){var k,V,Q,re;if(!i.current.search||f.current.shouldFilter===!1){i.current.filtered.count=a.current.size;return}i.current.filtered.groups=new Set;let de=0;for(let ge of a.current){let le=(V=(k=l.current.get(ge))==null?void 0:k.value)!=null?V:"",xe=(re=(Q=l.current.get(ge))==null?void 0:Q.keywords)!=null?re:[],pe=z(le,xe);i.current.filtered.items.set(ge,pe),pe>0&&de++}for(let[ge,le]of s.current)for(let xe of le)if(i.current.filtered.items.get(xe)>0){i.current.filtered.groups.add(ge);break}i.current.filtered.count=de}function j(){var k,V,Q;let re=J();re&&(((k=re.parentElement)==null?void 0:k.firstChild)===re&&((Q=(V=re.closest(Wo))==null?void 0:V.querySelector($L))==null||Q.scrollIntoView({block:"nearest"})),re.scrollIntoView({block:"nearest"}))}function J(){var k;return(k=R.current)==null?void 0:k.querySelector(`${ag}[aria-selected="true"]`)}function ae(){var k;return Array.from(((k=R.current)==null?void 0:k.querySelectorAll(qb))||[])}function H(k){let V=ae()[k];V&&_.setState("value",V.getAttribute(ki))}function U(k){var V;let Q=J(),re=ae(),de=re.findIndex(le=>le===Q),ge=re[de+k];(V=f.current)!=null&&V.loop&&(ge=de+k<0?re[re.length-1]:de+k===re.length?re[0]:re[de+k]),ge&&_.setState("value",ge.getAttribute(ki))}function D(k){let V=J(),Q=V==null?void 0:V.closest(Wo),re;for(;Q&&!re;)Q=k>0?JL(Q,Wo):eN(Q,Wo),re=Q==null?void 0:Q.querySelector(qb);re?_.setState("value",re.getAttribute(ki)):U(k)}let se=()=>H(ae().length-1),G=k=>{k.preventDefault(),k.metaKey?se():k.altKey?D(1):U(1)},P=k=>{k.preventDefault(),k.metaKey?H(0):k.altKey?D(-1):U(-1)};return S.createElement(Je.div,{ref:n,tabIndex:-1,...M,"cmdk-root":"",onKeyDown:k=>{var V;if((V=M.onKeyDown)==null||V.call(M,k),!k.defaultPrevented)switch(k.key){case"n":case"j":{T&&k.ctrlKey&&G(k);break}case"ArrowDown":{G(k);break}case"p":case"k":{T&&k.ctrlKey&&P(k);break}case"ArrowUp":{P(k);break}case"Home":{k.preventDefault(),H(0);break}case"End":{k.preventDefault(),se();break}case"Enter":if(!k.nativeEvent.isComposing&&k.keyCode!==229){k.preventDefault();let Q=J();if(Q){let re=new Event(hh);Q.dispatchEvent(re)}}}}},S.createElement("label",{"cmdk-label":"",htmlFor:$.inputId,id:$.labelId,style:rN},d),Ru(r,k=>S.createElement(l1.Provider,{value:_},S.createElement(s1.Provider,{value:$},k))))}),VL=S.forwardRef((r,n)=>{var i,a;let s=Ln(),l=S.useRef(null),c=S.useContext(u1),f=hs(),d=f1(r),g=(a=(i=d.current)==null?void 0:i.forceMount)!=null?a:c==null?void 0:c.forceMount;Gi(()=>{if(!g)return f.item(s,c==null?void 0:c.id)},[g]);let m=d1(s,l,[r.value,r.children,l],r.keywords),v=og(),y=Mi(B=>B.value&&B.value===m.current),b=Mi(B=>g||f.filter()===!1?!0:B.search?B.filtered.items.get(s)>0:!0);S.useEffect(()=>{let B=l.current;if(!(!B||r.disabled))return B.addEventListener(hh,x),()=>B.removeEventListener(hh,x)},[b,r.onSelect,r.disabled]);function x(){var B,_;E(),(_=(B=d.current).onSelect)==null||_.call(B,m.current)}function E(){v.setState("value",m.current,!0)}if(!b)return null;let{disabled:T,value:M,onSelect:N,forceMount:L,keywords:C,...R}=r;return S.createElement(Je.div,{ref:ns([l,n]),...R,id:s,"cmdk-item":"",role:"option","aria-disabled":!!T,"aria-selected":!!y,"data-disabled":!!T,"data-selected":!!y,onPointerMove:T||f.getDisablePointerSelection()?void 0:E,onClick:T?void 0:x},r.children)}),IL=S.forwardRef((r,n)=>{let{heading:i,children:a,forceMount:s,...l}=r,c=Ln(),f=S.useRef(null),d=S.useRef(null),g=Ln(),m=hs(),v=Mi(b=>s||m.filter()===!1?!0:b.search?b.filtered.groups.has(c):!0);Gi(()=>m.group(c),[]),d1(c,f,[r.value,r.heading,d]);let y=S.useMemo(()=>({id:c,forceMount:s}),[s]);return S.createElement(Je.div,{ref:ns([f,n]),...l,"cmdk-group":"",role:"presentation",hidden:v?void 0:!0},i&&S.createElement("div",{ref:d,"cmdk-group-heading":"","aria-hidden":!0,id:g},i),Ru(r,b=>S.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":i?g:void 0},S.createElement(u1.Provider,{value:y},b))))}),YL=S.forwardRef((r,n)=>{let{alwaysRender:i,...a}=r,s=S.useRef(null),l=Mi(c=>!c.search);return!i&&!l?null:S.createElement(Je.div,{ref:ns([s,n]),...a,"cmdk-separator":"",role:"separator"})}),XL=S.forwardRef((r,n)=>{let{onValueChange:i,...a}=r,s=r.value!=null,l=og(),c=Mi(m=>m.search),f=Mi(m=>m.value),d=hs(),g=S.useMemo(()=>{var m;let v=(m=d.listInnerRef.current)==null?void 0:m.querySelector(`${ag}[${ki}="${encodeURIComponent(f)}"]`);return v==null?void 0:v.getAttribute("id")},[]);return S.useEffect(()=>{r.value!=null&&l.setState("search",r.value)},[r.value]),S.createElement(Je.input,{ref:n,...a,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":d.listId,"aria-labelledby":d.labelId,"aria-activedescendant":g,id:d.inputId,type:"text",value:s?r.value:c,onChange:m=>{s||l.setState("search",m.target.value),i==null||i(m.target.value)}})}),ZL=S.forwardRef((r,n)=>{let{children:i,label:a="Suggestions",...s}=r,l=S.useRef(null),c=S.useRef(null),f=hs();return S.useEffect(()=>{if(c.current&&l.current){let d=c.current,g=l.current,m,v=new ResizeObserver(()=>{m=requestAnimationFrame(()=>{let y=d.offsetHeight;g.style.setProperty("--cmdk-list-height",y.toFixed(1)+"px")})});return v.observe(d),()=>{cancelAnimationFrame(m),v.unobserve(d)}}},[]),S.createElement(Je.div,{ref:ns([l,n]),...s,"cmdk-list":"",role:"listbox","aria-label":a,id:f.listId},Ru(r,d=>S.createElement("div",{ref:ns([c,f.listInnerRef]),"cmdk-list-sizer":""},d)))}),WL=S.forwardRef((r,n)=>{let{open:i,onOpenChange:a,overlayClassName:s,contentClassName:l,container:c,...f}=r;return S.createElement(UL,{open:i,onOpenChange:a},S.createElement(i1,{container:c},S.createElement(rg,{"cmdk-overlay":"",className:s}),S.createElement(ig,{"aria-label":r.label,"cmdk-dialog":"",className:l},S.createElement(c1,{ref:n,...f}))))}),KL=S.forwardRef((r,n)=>Mi(i=>i.filtered.count===0)?S.createElement(Je.div,{ref:n,...r,"cmdk-empty":"",role:"presentation"}):null),QL=S.forwardRef((r,n)=>{let{progress:i,children:a,label:s="Loading...",...l}=r;return S.createElement(Je.div,{ref:n,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":i,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},Ru(r,c=>S.createElement("div",{"aria-hidden":!0},c)))}),Xt=Object.assign(c1,{List:ZL,Item:VL,Input:XL,Group:IL,Separator:YL,Dialog:WL,Empty:KL,Loading:QL});function JL(r,n){let i=r.nextElementSibling;for(;i;){if(i.matches(n))return i;i=i.nextElementSibling}}function eN(r,n){let i=r.previousElementSibling;for(;i;){if(i.matches(n))return i;i=i.previousElementSibling}}function f1(r){let n=S.useRef(r);return Gi(()=>{n.current=r}),n}var Gi=typeof window>"u"?S.useEffect:S.useLayoutEffect;function Ca(r){let n=S.useRef();return n.current===void 0&&(n.current=r()),n}function ns(r){return n=>{r.forEach(i=>{typeof i=="function"?i(n):i!=null&&(i.current=n)})}}function Mi(r){let n=og(),i=()=>r(n.snapshot());return PL.useSyncExternalStore(n.subscribe,i,i)}function d1(r,n,i,a=[]){let s=S.useRef(),l=hs();return Gi(()=>{var c;let f=(()=>{var g;for(let m of i){if(typeof m=="string")return m.trim();if(typeof m=="object"&&"current"in m)return m.current?(g=m.current.textContent)==null?void 0:g.trim():s.current}})(),d=a.map(g=>g.trim());l.value(r,f,d),(c=n.current)==null||c.setAttribute(ki,f),s.current=f}),s}var tN=()=>{let[r,n]=S.useState(),i=Ca(()=>new Map);return Gi(()=>{i.current.forEach(a=>a()),i.current=new Map},[r]),(a,s)=>{i.current.set(a,s),n({})}};function nN(r){let n=r.type;return typeof n=="function"?n(r.props):"render"in n?n.render(r.props):r}function Ru({asChild:r,children:n},i){return r&&S.isValidElement(n)?S.cloneElement(nN(n),{ref:n.ref},i(n.props.children)):i(n)}var rN={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const iN=i1,h1=S.forwardRef(({className:r,...n},i)=>A.jsx(rg,{ref:i,className:Xe("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",r),...n}));h1.displayName=rg.displayName;const aN=S.forwardRef(({className:r,children:n,...i},a)=>A.jsxs(iN,{children:[A.jsx(h1,{}),A.jsxs(ig,{ref:a,className:Xe("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",r),...i,children:[n,A.jsxs(BL,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[A.jsx(KT,{className:"h-4 w-4"}),A.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));aN.displayName=ig.displayName;const oN=S.forwardRef(({className:r,...n},i)=>A.jsx(a1,{ref:i,className:Xe("text-lg leading-none font-semibold tracking-tight",r),...n}));oN.displayName=a1.displayName;const sN=S.forwardRef(({className:r,...n},i)=>A.jsx(o1,{ref:i,className:Xe("text-muted-foreground text-sm",r),...n}));sN.displayName=o1.displayName;const Du=S.forwardRef(({className:r,...n},i)=>A.jsx(Xt,{ref:i,className:Xe("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",r),...n}));Du.displayName=Xt.displayName;const sg=S.forwardRef(({className:r,...n},i)=>A.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[A.jsx(VT,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),A.jsx(Xt.Input,{ref:i,className:Xe("placeholder:text-muted-foreground flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",r),...n})]}));sg.displayName=Xt.Input.displayName;const Ou=S.forwardRef(({className:r,...n},i)=>A.jsx(Xt.List,{ref:i,className:Xe("max-h-[300px] overflow-x-hidden overflow-y-auto",r),...n}));Ou.displayName=Xt.List.displayName;const lg=S.forwardRef((r,n)=>A.jsx(Xt.Empty,{ref:n,className:"py-6 text-center text-sm",...r}));lg.displayName=Xt.Empty.displayName;const $a=S.forwardRef(({className:r,...n},i)=>A.jsx(Xt.Group,{ref:i,className:Xe("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",r),...n}));$a.displayName=Xt.Group.displayName;const lN=S.forwardRef(({className:r,...n},i)=>A.jsx(Xt.Separator,{ref:i,className:Xe("bg-border -mx-1 h-px",r),...n}));lN.displayName=Xt.Separator.displayName;const qa=S.forwardRef(({className:r,...n},i)=>A.jsx(Xt.Item,{ref:i,className:Xe("data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",r),...n}));qa.displayName=Xt.Item.displayName;const uN=({layout:r,autoRunFor:n})=>{const i=Sn(),{stop:a,start:s,isRunning:l}=r;return S.useEffect(()=>{if(!i)return;let c=null;return n!==void 0&&n>-1&&i.getGraph().order>0&&(s(),c=n>0?window.setTimeout(()=>{a()},n):null),()=>{a(),c&&clearTimeout(c)}},[n,s,a,i]),A.jsx(an,{size:"icon",onClick:()=>l?a():s(),tooltip:l?"Stop the layout animation":"Start the layout animation",variant:qn,children:l?A.jsx(HT,{}):A.jsx($T,{})})},cN=()=>{const r=Sn(),[n,i]=S.useState("Circular"),[a,s]=S.useState(!1),l=Sk(),c=yk(),f=Jk(),d=Xk({settings:{margin:1}}),g=Dk({maxIterations:20}),m=AE({iterations:20}),v=Zk(),y=Ok(),b=Bk(),x=S.useMemo(()=>({Circular:{layout:l},Circlepack:{layout:c},Random:{layout:f},Noverlaps:{layout:d,worker:v},"Force Directed":{layout:g,worker:y},"Force Atlas":{layout:m,worker:b}}),[c,l,g,m,d,f,y,v,b]),E=S.useCallback(T=>{console.debug(T);const{positions:M}=x[T].layout;jD(r.getGraph(),M(),{duration:500}),i(T)},[x,r]);return A.jsxs(A.Fragment,{children:[A.jsx("div",{children:x[n]&&"worker"in x[n]&&A.jsx(uN,{layout:x[n].worker})}),A.jsx("div",{children:A.jsxs(wu,{open:a,onOpenChange:s,children:[A.jsx(Eu,{asChild:!0,children:A.jsx(an,{size:"icon",variant:qn,onClick:()=>s(T=>!T),tooltip:"Layout Graph",children:A.jsx(LT,{})})}),A.jsx(ss,{side:"right",align:"center",className:"p-1",children:A.jsx(Du,{children:A.jsx(Ou,{children:A.jsx($a,{children:Object.keys(x).map(T=>A.jsx(qa,{onSelect:()=>{E(T)},className:"cursor-pointer text-xs",children:T},T))})})})})]})})]})};var Xl={exports:{}},fN=Xl.exports,Vb;function dN(){return Vb||(Vb=1,function(r){(function(n,i,a){function s(d){var g=this,m=f();g.next=function(){var v=2091639*g.s0+g.c*23283064365386963e-26;return g.s0=g.s1,g.s1=g.s2,g.s2=v-(g.c=v|0)},g.c=1,g.s0=m(" "),g.s1=m(" "),g.s2=m(" "),g.s0-=m(d),g.s0<0&&(g.s0+=1),g.s1-=m(d),g.s1<0&&(g.s1+=1),g.s2-=m(d),g.s2<0&&(g.s2+=1),m=null}function l(d,g){return g.c=d.c,g.s0=d.s0,g.s1=d.s1,g.s2=d.s2,g}function c(d,g){var m=new s(d),v=g&&g.state,y=m.next;return y.int32=function(){return m.next()*4294967296|0},y.double=function(){return y()+(y()*2097152|0)*11102230246251565e-32},y.quick=y,v&&(typeof v=="object"&&l(v,m),y.state=function(){return l(m,{})}),y}function f(){var d=4022871197,g=function(m){m=String(m);for(var v=0;v>>0,y-=d,y*=d,d=y>>>0,y-=d,d+=y*4294967296}return(d>>>0)*23283064365386963e-26};return g}i&&i.exports?i.exports=c:this.alea=c})(fN,r)}(Xl)),Xl.exports}var Zl={exports:{}},hN=Zl.exports,Ib;function gN(){return Ib||(Ib=1,function(r){(function(n,i,a){function s(f){var d=this,g="";d.x=0,d.y=0,d.z=0,d.w=0,d.next=function(){var v=d.x^d.x<<11;return d.x=d.y,d.y=d.z,d.z=d.w,d.w^=d.w>>>19^v^v>>>8},f===(f|0)?d.x=f:g+=f;for(var m=0;m>>0)/4294967296};return v.double=function(){do var y=g.next()>>>11,b=(g.next()>>>0)/4294967296,x=(y+b)/(1<<21);while(x===0);return x},v.int32=g.next,v.quick=v,m&&(typeof m=="object"&&l(m,g),v.state=function(){return l(g,{})}),v}i&&i.exports?i.exports=c:this.xor128=c})(hN,r)}(Zl)),Zl.exports}var Wl={exports:{}},pN=Wl.exports,Yb;function mN(){return Yb||(Yb=1,function(r){(function(n,i,a){function s(f){var d=this,g="";d.next=function(){var v=d.x^d.x>>>2;return d.x=d.y,d.y=d.z,d.z=d.w,d.w=d.v,(d.d=d.d+362437|0)+(d.v=d.v^d.v<<4^(v^v<<1))|0},d.x=0,d.y=0,d.z=0,d.w=0,d.v=0,f===(f|0)?d.x=f:g+=f;for(var m=0;m>>4),d.next()}function l(f,d){return d.x=f.x,d.y=f.y,d.z=f.z,d.w=f.w,d.v=f.v,d.d=f.d,d}function c(f,d){var g=new s(f),m=d&&d.state,v=function(){return(g.next()>>>0)/4294967296};return v.double=function(){do var y=g.next()>>>11,b=(g.next()>>>0)/4294967296,x=(y+b)/(1<<21);while(x===0);return x},v.int32=g.next,v.quick=v,m&&(typeof m=="object"&&l(m,g),v.state=function(){return l(g,{})}),v}i&&i.exports?i.exports=c:this.xorwow=c})(pN,r)}(Wl)),Wl.exports}var Kl={exports:{}},vN=Kl.exports,Xb;function yN(){return Xb||(Xb=1,function(r){(function(n,i,a){function s(f){var d=this;d.next=function(){var m=d.x,v=d.i,y,b;return y=m[v],y^=y>>>7,b=y^y<<24,y=m[v+1&7],b^=y^y>>>10,y=m[v+3&7],b^=y^y>>>3,y=m[v+4&7],b^=y^y<<7,y=m[v+7&7],y=y^y<<13,b^=y^y<<9,m[v]=b,d.i=v+1&7,b};function g(m,v){var y,b=[];if(v===(v|0))b[0]=v;else for(v=""+v,y=0;y0;--y)m.next()}g(d,f)}function l(f,d){return d.x=f.x.slice(),d.i=f.i,d}function c(f,d){f==null&&(f=+new Date);var g=new s(f),m=d&&d.state,v=function(){return(g.next()>>>0)/4294967296};return v.double=function(){do var y=g.next()>>>11,b=(g.next()>>>0)/4294967296,x=(y+b)/(1<<21);while(x===0);return x},v.int32=g.next,v.quick=v,m&&(m.x&&l(m,g),v.state=function(){return l(g,{})}),v}i&&i.exports?i.exports=c:this.xorshift7=c})(vN,r)}(Kl)),Kl.exports}var Ql={exports:{}},bN=Ql.exports,Zb;function wN(){return Zb||(Zb=1,function(r){(function(n,i,a){function s(f){var d=this;d.next=function(){var m=d.w,v=d.X,y=d.i,b,x;return d.w=m=m+1640531527|0,x=v[y+34&127],b=v[y=y+1&127],x^=x<<13,b^=b<<17,x^=x>>>15,b^=b>>>12,x=v[y]=x^b,d.i=y,x+(m^m>>>16)|0};function g(m,v){var y,b,x,E,T,M=[],N=128;for(v===(v|0)?(b=v,v=null):(v=v+"\0",b=0,N=Math.max(N,v.length)),x=0,E=-32;E>>15,b^=b<<4,b^=b>>>13,E>=0&&(T=T+1640531527|0,y=M[E&127]^=b+T,x=y==0?x+1:0);for(x>=128&&(M[(v&&v.length||0)&127]=-1),x=127,E=4*128;E>0;--E)b=M[x+34&127],y=M[x=x+1&127],b^=b<<13,y^=y<<17,b^=b>>>15,y^=y>>>12,M[x]=b^y;m.w=T,m.X=M,m.i=x}g(d,f)}function l(f,d){return d.i=f.i,d.w=f.w,d.X=f.X.slice(),d}function c(f,d){f==null&&(f=+new Date);var g=new s(f),m=d&&d.state,v=function(){return(g.next()>>>0)/4294967296};return v.double=function(){do var y=g.next()>>>11,b=(g.next()>>>0)/4294967296,x=(y+b)/(1<<21);while(x===0);return x},v.int32=g.next,v.quick=v,m&&(m.X&&l(m,g),v.state=function(){return l(g,{})}),v}i&&i.exports?i.exports=c:this.xor4096=c})(bN,r)}(Ql)),Ql.exports}var Jl={exports:{}},EN=Jl.exports,Wb;function SN(){return Wb||(Wb=1,function(r){(function(n,i,a){function s(f){var d=this,g="";d.next=function(){var v=d.b,y=d.c,b=d.d,x=d.a;return v=v<<25^v>>>7^y,y=y-b|0,b=b<<24^b>>>8^x,x=x-v|0,d.b=v=v<<20^v>>>12^y,d.c=y=y-b|0,d.d=b<<16^y>>>16^x,d.a=x-v|0},d.a=0,d.b=0,d.c=-1640531527,d.d=1367130551,f===Math.floor(f)?(d.a=f/4294967296|0,d.b=f|0):g+=f;for(var m=0;m>>0)/4294967296};return v.double=function(){do var y=g.next()>>>11,b=(g.next()>>>0)/4294967296,x=(y+b)/(1<<21);while(x===0);return x},v.int32=g.next,v.quick=v,m&&(typeof m=="object"&&l(m,g),v.state=function(){return l(g,{})}),v}i&&i.exports?i.exports=c:this.tychei=c})(EN,r)}(Jl)),Jl.exports}var eu={exports:{}};const xN={},_N=Object.freeze(Object.defineProperty({__proto__:null,default:xN},Symbol.toStringTag,{value:"Module"})),TN=Kx(_N);var CN=eu.exports,Kb;function AN(){return Kb||(Kb=1,function(r){(function(n,i,a){var s=256,l=6,c=52,f="random",d=a.pow(s,l),g=a.pow(2,c),m=g*2,v=s-1,y;function b(C,R,B){var _=[];R=R==!0?{entropy:!0}:R||{};var $=M(T(R.entropy?[C,L(i)]:C??N(),3),_),z=new x(_),F=function(){for(var Y=z.g(l),I=d,j=0;Y=m;)Y/=2,I/=2,j>>>=1;return(Y+j)/I};return F.int32=function(){return z.g(4)|0},F.quick=function(){return z.g(4)/4294967296},F.double=F,M(L(z.S),i),(R.pass||B||function(Y,I,j,J){return J&&(J.S&&E(J,z),Y.state=function(){return E(z,{})}),j?(a[f]=Y,I):Y})(F,$,"global"in R?R.global:this==a,R.state)}function x(C){var R,B=C.length,_=this,$=0,z=_.i=_.j=0,F=_.S=[];for(B||(C=[B++]);${if(!r||!Array.isArray(r.nodes)||!Array.isArray(r.edges))return!1;for(const n of r.nodes)if(!n.id||!n.labels||!n.properties)return!1;for(const n of r.edges)if(!n.id||!n.source||!n.target||!n.type||!n.properties)return!1;for(const n of r.edges){const i=r.getNode(n.source),a=r.getNode(n.target);if(i==null||a==null)return!1}return!0},LN=async r=>{let n=null;try{n=await vT(r)}catch(a){return kn.getState().setErrorMessage(y0(a),"Query Graphs Error!"),null}let i=null;if(n){const a={},s={};for(let d=0;d0){const d=cT-oy;for(const g of n.nodes)g.size=Math.round(oy+d*Math.pow((g.degree-l)/f,.5))}i=new ck,i.nodes=n.nodes,i.edges=n.edges,i.nodeIdMap=a,i.edgeIdMap=s,kN(i)||(i=null,console.error("Invalid graph data")),console.log("Graph data loaded")}return i},NN=r=>{const n=new ts;for(const i of(r==null?void 0:r.nodes)??[])n.addNode(i.id,{label:i.labels.join(", "),color:i.color,x:i.x,y:i.y,size:i.size,borderColor:oT,borderSize:.2});for(const i of(r==null?void 0:r.edges)??[])i.dynamicId=n.addDirectedEdge(i.source,i.target,{label:i.type});return n},Jb={label:""},g1=()=>{const r=Pe.use.queryLabel(),n=Ye.use.rawGraph(),i=Ye.use.sigmaGraph(),a=S.useCallback(c=>(n==null?void 0:n.getNode(c))||null,[n]),s=S.useCallback((c,f=!0)=>(n==null?void 0:n.getEdge(c,f))||null,[n]);return S.useEffect(()=>{if(r){if(Jb.label!==r){Jb.label=r;const c=Ye.getState();c.reset(),LN(r).then(f=>{c.setSigmaGraph(NN(f)),f==null||f.buildDynamicMap(),c.setRawGraph(f)})}}else{const c=Ye.getState();c.reset(),c.setSigmaGraph(new ts)}},[r]),{lightrageGraph:S.useCallback(()=>{if(i)return i;const c=new ts;return Ye.getState().setSigmaGraph(c),c},[i]),getNode:a,getEdge:s}},p1=()=>{const r=S.useContext(b0);if(r===void 0)throw new Error("useTheme must be used within a ThemeProvider");return r},Bl=r=>!!(r.type.startsWith("mouse")&&r.buttons!==0),zN=({disableHoverEffect:r})=>{const{lightrageGraph:n}=g1(),i=Sn(),a=oE(),s=aE(),l=fO(),{assign:c}=AE({iterations:20}),{theme:f}=p1(),d=Pe.use.enableHideUnselectedEdges(),g=Ye.use.selectedNode(),m=Ye.use.focusedNode(),v=Ye.use.selectedEdge(),y=Ye.use.focusedEdge();return S.useEffect(()=>{const b=n();l(b),b.__force_applied||(c(),Object.assign(b,{__force_applied:!0}));const{setFocusedNode:x,setSelectedNode:E,setFocusedEdge:T,setSelectedEdge:M,clearSelection:N}=Ye.getState();a({enterNode:L=>{Bl(L.event.original)||x(L.node)},leaveNode:L=>{Bl(L.event.original)||x(null)},clickNode:L=>{E(L.node),M(null)},clickEdge:L=>{M(L.edge),E(null)},enterEdge:L=>{Bl(L.event.original)||T(L.edge)},leaveEdge:L=>{Bl(L.event.original)||T(null)},clickStage:()=>N()})},[c,l,a,n]),S.useEffect(()=>{const b=f==="dark",x=b?rT:void 0,E=b?lT:void 0;s({nodeReducer:(T,M)=>{const N=i.getGraph(),L={...M,highlighted:M.highlighted||!1,labelColor:x};if(!r){L.highlighted=!1;const C=m||g,R=y||v;if(C)(T===C||N.neighbors(C).includes(T))&&(L.highlighted=!0,T===g&&(L.borderColor=sT));else if(R)N.extremities(R).includes(T)&&(L.highlighted=!0,L.size=3);else return L;L.highlighted?b&&(L.labelColor=iT):L.color=aT}return L},edgeReducer:(T,M)=>{const N=i.getGraph(),L={...M,hidden:!1,labelColor:x,color:E};if(!r){const C=m||g;C?d?N.extremities(T).includes(C)||(L.hidden=!0):N.extremities(T).includes(C)&&(L.color=ay):(y||v)&&(T===v?L.color=uT:T===y?L.color=ay:d&&(L.hidden=!0))}return L}})},[g,m,v,y,s,i,r,f,d]),null};function GN(){const{theme:r,setTheme:n}=p1(),i=S.useCallback(()=>n("light"),[n]),a=S.useCallback(()=>n("dark"),[n]);return r==="dark"?A.jsx(an,{onClick:i,variant:qn,tooltip:"Switch to light theme",size:"icon",children:A.jsx(BT,{})}):A.jsx(an,{onClick:a,variant:qn,tooltip:"Switch to dark theme",size:"icon",children:A.jsx(ZT,{})})}const MN=()=>{const{zoomIn:r,zoomOut:n,reset:i}=sE({duration:200,factor:1.5}),a=S.useCallback(()=>r(),[r]),s=S.useCallback(()=>n(),[n]),l=S.useCallback(()=>i(),[i]);return A.jsxs(A.Fragment,{children:[A.jsx(an,{variant:qn,onClick:a,tooltip:"Zoom In",size:"icon",children:A.jsx(JT,{})}),A.jsx(an,{variant:qn,onClick:s,tooltip:"Zoom Out",size:"icon",children:A.jsx(tC,{})}),A.jsx(an,{variant:qn,onClick:l,tooltip:"Reset Zoom",size:"icon",children:A.jsx(OT,{})})]})},jN=()=>{const{isFullScreen:r,toggle:n}=dO();return A.jsx(A.Fragment,{children:r?A.jsx(an,{variant:qn,onClick:n,tooltip:"Windowed",size:"icon",children:A.jsx(jT,{})}):A.jsx(an,{variant:qn,onClick:n,tooltip:"Full Screen",size:"icon",children:A.jsx(GT,{})})})};function UN(r){const n=S.useRef({value:r,previous:r});return S.useMemo(()=>(n.current.value!==r&&(n.current.previous=n.current.value,n.current.value=r),n.current.previous),[r])}var ug="Checkbox",[BN,Lz]=rs(ug),[FN,HN]=BN(ug),m1=S.forwardRef((r,n)=>{const{__scopeCheckbox:i,name:a,checked:s,defaultChecked:l,required:c,disabled:f,value:d="on",onCheckedChange:g,form:m,...v}=r,[y,b]=S.useState(null),x=Vt(n,C=>b(C)),E=S.useRef(!1),T=y?m||!!y.closest("form"):!0,[M=!1,N]=yu({prop:s,defaultProp:l,onChange:g}),L=S.useRef(M);return S.useEffect(()=>{const C=y==null?void 0:y.form;if(C){const R=()=>N(L.current);return C.addEventListener("reset",R),()=>C.removeEventListener("reset",R)}},[y,N]),A.jsxs(FN,{scope:i,state:M,disabled:f,children:[A.jsx(Je.button,{type:"button",role:"checkbox","aria-checked":Wr(M)?"mixed":M,"aria-required":c,"data-state":b1(M),"data-disabled":f?"":void 0,disabled:f,value:d,...v,ref:x,onKeyDown:ht(r.onKeyDown,C=>{C.key==="Enter"&&C.preventDefault()}),onClick:ht(r.onClick,C=>{N(R=>Wr(R)?!0:!R),T&&(E.current=C.isPropagationStopped(),E.current||C.stopPropagation())})}),T&&A.jsx(PN,{control:y,bubbles:!E.current,name:a,value:d,checked:M,required:c,disabled:f,form:m,style:{transform:"translateX(-100%)"},defaultChecked:Wr(l)?!1:l})]})});m1.displayName=ug;var v1="CheckboxIndicator",y1=S.forwardRef((r,n)=>{const{__scopeCheckbox:i,forceMount:a,...s}=r,l=HN(v1,i);return A.jsx(ni,{present:a||Wr(l.state)||l.state===!0,children:A.jsx(Je.span,{"data-state":b1(l.state),"data-disabled":l.disabled?"":void 0,...s,ref:n,style:{pointerEvents:"none",...r.style}})})});y1.displayName=v1;var PN=r=>{const{control:n,checked:i,bubbles:a=!0,defaultChecked:s,...l}=r,c=S.useRef(null),f=UN(i),d=q0(n);S.useEffect(()=>{const m=c.current,v=window.HTMLInputElement.prototype,b=Object.getOwnPropertyDescriptor(v,"checked").set;if(f!==i&&b){const x=new Event("click",{bubbles:a});m.indeterminate=Wr(i),b.call(m,Wr(i)?!1:i),m.dispatchEvent(x)}},[f,i,a]);const g=S.useRef(Wr(i)?!1:i);return A.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:s??g.current,...l,tabIndex:-1,ref:c,style:{...r.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function Wr(r){return r==="indeterminate"}function b1(r){return Wr(r)?"indeterminate":r?"checked":"unchecked"}var w1=m1,$N=y1;const E1=S.forwardRef(({className:r,...n},i)=>A.jsx(w1,{ref:i,className:Xe("peer border-primary ring-offset-background focus-visible:ring-ring data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground h-4 w-4 shrink-0 rounded-sm border focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",r),...n,children:A.jsx($N,{className:Xe("flex items-center justify-center text-current"),children:A.jsx(T0,{className:"h-4 w-4"})})}));E1.displayName=w1.displayName;var qN="Separator",e0="horizontal",VN=["horizontal","vertical"],S1=S.forwardRef((r,n)=>{const{decorative:i,orientation:a=e0,...s}=r,l=IN(a)?a:e0,f=i?{role:"none"}:{"aria-orientation":l==="vertical"?l:void 0,role:"separator"};return A.jsx(Je.div,{"data-orientation":l,...f,...s,ref:n})});S1.displayName=qN;function IN(r){return VN.includes(r)}var x1=S1;const Ko=S.forwardRef(({className:r,orientation:n="horizontal",decorative:i=!0,...a},s)=>A.jsx(x1,{ref:s,decorative:i,orientation:n,className:Xe("bg-border shrink-0",n==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",r),...a}));Ko.displayName=x1.displayName;const _1=S.forwardRef(({className:r,type:n,...i},a)=>A.jsx("input",{type:n,className:Xe("border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-9 rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),ref:a,...i}));_1.displayName="Input";const Yr=({checked:r,onCheckedChange:n,label:i})=>A.jsxs("div",{className:"flex items-center gap-2",children:[A.jsx(E1,{checked:r,onCheckedChange:n}),A.jsx("label",{htmlFor:"terms",className:"text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:i})]});function YN(){const[r,n]=S.useState(!1),[i,a]=S.useState(""),s=Pe.use.showPropertyPanel(),l=Pe.use.showNodeSearchBar(),c=Pe.use.showNodeLabel(),f=Pe.use.enableEdgeEvents(),d=Pe.use.enableNodeDrag(),g=Pe.use.enableHideUnselectedEdges(),m=Pe.use.showEdgeLabel(),v=Pe.use.enableHealthCheck(),y=Pe.use.apiKey();S.useEffect(()=>{a(y||"")},[y,r]);const b=S.useCallback(()=>Pe.setState(_=>({enableNodeDrag:!_.enableNodeDrag})),[]),x=S.useCallback(()=>Pe.setState(_=>({enableEdgeEvents:!_.enableEdgeEvents})),[]),E=S.useCallback(()=>Pe.setState(_=>({enableHideUnselectedEdges:!_.enableHideUnselectedEdges})),[]),T=S.useCallback(()=>Pe.setState(_=>({showEdgeLabel:!_.showEdgeLabel})),[]),M=S.useCallback(()=>Pe.setState(_=>({showPropertyPanel:!_.showPropertyPanel})),[]),N=S.useCallback(()=>Pe.setState(_=>({showNodeSearchBar:!_.showNodeSearchBar})),[]),L=S.useCallback(()=>Pe.setState(_=>({showNodeLabel:!_.showNodeLabel})),[]),C=S.useCallback(()=>Pe.setState(_=>({enableHealthCheck:!_.enableHealthCheck})),[]),R=S.useCallback(async()=>{Pe.setState({apiKey:i||null}),await kn.getState().check(),n(!1)},[i]),B=S.useCallback(_=>{a(_.target.value)},[a]);return A.jsxs(wu,{open:r,onOpenChange:n,children:[A.jsx(Eu,{asChild:!0,children:A.jsx(an,{variant:qn,tooltip:"Settings",size:"icon",children:A.jsx(YT,{})})}),A.jsx(ss,{side:"right",align:"start",className:"mb-2 p-2",onCloseAutoFocus:_=>_.preventDefault(),children:A.jsxs("div",{className:"flex flex-col gap-2",children:[A.jsx(Yr,{checked:s,onCheckedChange:M,label:"Show Property Panel"}),A.jsx(Yr,{checked:l,onCheckedChange:N,label:"Show Search Bar"}),A.jsx(Ko,{}),A.jsx(Yr,{checked:c,onCheckedChange:L,label:"Show Node Label"}),A.jsx(Yr,{checked:d,onCheckedChange:b,label:"Node Draggable"}),A.jsx(Ko,{}),A.jsx(Yr,{checked:m,onCheckedChange:T,label:"Show Edge Label"}),A.jsx(Yr,{checked:g,onCheckedChange:E,label:"Hide Unselected Edges"}),A.jsx(Yr,{checked:f,onCheckedChange:x,label:"Edge Events"}),A.jsx(Ko,{}),A.jsx(Yr,{checked:v,onCheckedChange:C,label:"Health Check"}),A.jsx(Ko,{}),A.jsxs("div",{className:"flex flex-col gap-2",children:[A.jsx("label",{className:"text-sm font-medium",children:"API Key"}),A.jsxs("form",{className:"flex h-6 gap-2",onSubmit:_=>_.preventDefault(),children:[A.jsx("div",{className:"w-0 flex-1",children:A.jsx(_1,{type:"password",value:i,onChange:B,placeholder:"Enter your API key",className:"max-h-full w-full min-w-0",autoComplete:"off"})}),A.jsx(an,{onClick:R,variant:"outline",size:"sm",className:"max-h-full shrink-0",children:"Save"})]})]})]})})]})}function tu(r,n,i,a){function s(l){return l instanceof i?l:new i(function(c){c(l)})}return new(i||(i=Promise))(function(l,c){function f(m){try{g(a.next(m))}catch(v){c(v)}}function d(m){try{g(a.throw(m))}catch(v){c(v)}}function g(m){m.done?l(m.value):s(m.value).then(f,d)}g((a=a.apply(r,[])).next())})}const XN="ENTRIES",T1="KEYS",C1="VALUES",Lt="";class Ud{constructor(n,i){const a=n._tree,s=Array.from(a.keys());this.set=n,this._type=i,this._path=s.length>0?[{node:a,keys:s}]:[]}next(){const n=this.dive();return this.backtrack(),n}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:n,keys:i}=_a(this._path);if(_a(i)===Lt)return{done:!1,value:this.result()};const a=n.get(_a(i));return this._path.push({node:a,keys:Array.from(a.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const n=_a(this._path).keys;n.pop(),!(n.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:n})=>_a(n)).filter(n=>n!==Lt).join("")}value(){return _a(this._path).node.get(Lt)}result(){switch(this._type){case C1:return this.value();case T1:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const _a=r=>r[r.length-1],ZN=(r,n,i)=>{const a=new Map;if(n===void 0)return a;const s=n.length+1,l=s+i,c=new Uint8Array(l*s).fill(i+1);for(let f=0;f{const d=l*c;e:for(const g of r.keys())if(g===Lt){const m=s[d-1];m<=i&&a.set(f,[r.get(g),m])}else{let m=l;for(let v=0;vi)continue e}A1(r.get(g),n,i,a,s,m,c,f+g)}};class Zr{constructor(n=new Map,i=""){this._size=void 0,this._tree=n,this._prefix=i}atPrefix(n){if(!n.startsWith(this._prefix))throw new Error("Mismatched prefix");const[i,a]=fu(this._tree,n.slice(this._prefix.length));if(i===void 0){const[s,l]=cg(a);for(const c of s.keys())if(c!==Lt&&c.startsWith(l)){const f=new Map;return f.set(c.slice(l.length),s.get(c)),new Zr(f,n)}}return new Zr(i,n)}clear(){this._size=void 0,this._tree.clear()}delete(n){return this._size=void 0,WN(this._tree,n)}entries(){return new Ud(this,XN)}forEach(n){for(const[i,a]of this)n(i,a,this)}fuzzyGet(n,i){return ZN(this._tree,n,i)}get(n){const i=gh(this._tree,n);return i!==void 0?i.get(Lt):void 0}has(n){const i=gh(this._tree,n);return i!==void 0&&i.has(Lt)}keys(){return new Ud(this,T1)}set(n,i){if(typeof n!="string")throw new Error("key must be a string");return this._size=void 0,Bd(this._tree,n).set(Lt,i),this}get size(){if(this._size)return this._size;this._size=0;const n=this.entries();for(;!n.next().done;)this._size+=1;return this._size}update(n,i){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;const a=Bd(this._tree,n);return a.set(Lt,i(a.get(Lt))),this}fetch(n,i){if(typeof n!="string")throw new Error("key must be a string");this._size=void 0;const a=Bd(this._tree,n);let s=a.get(Lt);return s===void 0&&a.set(Lt,s=i()),s}values(){return new Ud(this,C1)}[Symbol.iterator](){return this.entries()}static from(n){const i=new Zr;for(const[a,s]of n)i.set(a,s);return i}static fromObject(n){return Zr.from(Object.entries(n))}}const fu=(r,n,i=[])=>{if(n.length===0||r==null)return[r,i];for(const a of r.keys())if(a!==Lt&&n.startsWith(a))return i.push([r,a]),fu(r.get(a),n.slice(a.length),i);return i.push([r,n]),fu(void 0,"",i)},gh=(r,n)=>{if(n.length===0||r==null)return r;for(const i of r.keys())if(i!==Lt&&n.startsWith(i))return gh(r.get(i),n.slice(i.length))},Bd=(r,n)=>{const i=n.length;e:for(let a=0;r&&a{const[i,a]=fu(r,n);if(i!==void 0){if(i.delete(Lt),i.size===0)R1(a);else if(i.size===1){const[s,l]=i.entries().next().value;D1(a,s,l)}}},R1=r=>{if(r.length===0)return;const[n,i]=cg(r);if(n.delete(i),n.size===0)R1(r.slice(0,-1));else if(n.size===1){const[a,s]=n.entries().next().value;a!==Lt&&D1(r.slice(0,-1),a,s)}},D1=(r,n,i)=>{if(r.length===0)return;const[a,s]=cg(r);a.set(s+n,i),a.delete(s)},cg=r=>r[r.length-1],fg="or",O1="and",KN="and_not";class Kr{constructor(n){if((n==null?void 0:n.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');const i=n.autoVacuum==null||n.autoVacuum===!0?Pd:n.autoVacuum;this._options=Object.assign(Object.assign(Object.assign({},Hd),n),{autoVacuum:i,searchOptions:Object.assign(Object.assign({},t0),n.searchOptions||{}),autoSuggestOptions:Object.assign(Object.assign({},nz),n.autoSuggestOptions||{})}),this._index=new Zr,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=mh,this.addFields(this._options.fields)}add(n){const{extractField:i,tokenize:a,processTerm:s,fields:l,idField:c}=this._options,f=i(n,c);if(f==null)throw new Error(`MiniSearch: document does not have ID field "${c}"`);if(this._idToShortId.has(f))throw new Error(`MiniSearch: duplicate ID ${f}`);const d=this.addDocumentId(f);this.saveStoredFields(d,n);for(const g of l){const m=i(n,g);if(m==null)continue;const v=a(m.toString(),g),y=this._fieldIds[g],b=new Set(v).size;this.addFieldLength(d,y,this._documentCount-1,b);for(const x of v){const E=s(x,g);if(Array.isArray(E))for(const T of E)this.addTerm(y,d,T);else E&&this.addTerm(y,d,E)}}}addAll(n){for(const i of n)this.add(i)}addAllAsync(n,i={}){const{chunkSize:a=10}=i,s={chunk:[],promise:Promise.resolve()},{chunk:l,promise:c}=n.reduce(({chunk:f,promise:d},g,m)=>(f.push(g),(m+1)%a===0?{chunk:[],promise:d.then(()=>new Promise(v=>setTimeout(v,0))).then(()=>this.addAll(f))}:{chunk:f,promise:d}),s);return c.then(()=>this.addAll(l))}remove(n){const{tokenize:i,processTerm:a,extractField:s,fields:l,idField:c}=this._options,f=s(n,c);if(f==null)throw new Error(`MiniSearch: document does not have ID field "${c}"`);const d=this._idToShortId.get(f);if(d==null)throw new Error(`MiniSearch: cannot remove document with ID ${f}: it is not in the index`);for(const g of l){const m=s(n,g);if(m==null)continue;const v=i(m.toString(),g),y=this._fieldIds[g],b=new Set(v).size;this.removeFieldLength(d,y,this._documentCount,b);for(const x of v){const E=a(x,g);if(Array.isArray(E))for(const T of E)this.removeTerm(y,d,T);else E&&this.removeTerm(y,d,E)}}this._storedFields.delete(d),this._documentIds.delete(d),this._idToShortId.delete(f),this._fieldLength.delete(d),this._documentCount-=1}removeAll(n){if(n)for(const i of n)this.remove(i);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Zr,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(n){const i=this._idToShortId.get(n);if(i==null)throw new Error(`MiniSearch: cannot discard document with ID ${n}: it is not in the index`);this._idToShortId.delete(n),this._documentIds.delete(i),this._storedFields.delete(i),(this._fieldLength.get(i)||[]).forEach((a,s)=>{this.removeFieldLength(i,s,this._documentCount,a)}),this._fieldLength.delete(i),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:n,minDirtCount:i,batchSize:a,batchWait:s}=this._options.autoVacuum;this.conditionalVacuum({batchSize:a,batchWait:s},{minDirtCount:i,minDirtFactor:n})}discardAll(n){const i=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const a of n)this.discard(a)}finally{this._options.autoVacuum=i}this.maybeAutoVacuum()}replace(n){const{idField:i,extractField:a}=this._options,s=a(n,i);this.discard(s),this.add(n)}vacuum(n={}){return this.conditionalVacuum(n)}conditionalVacuum(n,i){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&i,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const a=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=mh,this.performVacuuming(n,a)}),this._enqueuedVacuum)):this.vacuumConditionsMet(i)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(n),this._currentVacuum)}performVacuuming(n,i){return tu(this,void 0,void 0,function*(){const a=this._dirtCount;if(this.vacuumConditionsMet(i)){const s=n.batchSize||ph.batchSize,l=n.batchWait||ph.batchWait;let c=1;for(const[f,d]of this._index){for(const[g,m]of d)for(const[v]of m)this._documentIds.has(v)||(m.size<=1?d.delete(g):m.delete(v));this._index.get(f).size===0&&this._index.delete(f),c%s===0&&(yield new Promise(g=>setTimeout(g,l))),c+=1}this._dirtCount-=a}yield null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null})}vacuumConditionsMet(n){if(n==null)return!0;let{minDirtCount:i,minDirtFactor:a}=n;return i=i||Pd.minDirtCount,a=a||Pd.minDirtFactor,this.dirtCount>=i&&this.dirtFactor>=a}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(n){return this._idToShortId.has(n)}getStoredFields(n){const i=this._idToShortId.get(n);if(i!=null)return this._storedFields.get(i)}search(n,i={}){const{searchOptions:a}=this._options,s=Object.assign(Object.assign({},a),i),l=this.executeQuery(n,i),c=[];for(const[f,{score:d,terms:g,match:m}]of l){const v=g.length||1,y={id:this._documentIds.get(f),score:d*v,terms:Object.keys(m),queryTerms:g,match:m};Object.assign(y,this._storedFields.get(f)),(s.filter==null||s.filter(y))&&c.push(y)}return n===Kr.wildcard&&s.boostDocument==null||c.sort(r0),c}autoSuggest(n,i={}){i=Object.assign(Object.assign({},this._options.autoSuggestOptions),i);const a=new Map;for(const{score:l,terms:c}of this.search(n,i)){const f=c.join(" "),d=a.get(f);d!=null?(d.score+=l,d.count+=1):a.set(f,{score:l,terms:c,count:1})}const s=[];for(const[l,{score:c,terms:f,count:d}]of a)s.push({suggestion:l,terms:f,score:c/d});return s.sort(r0),s}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(n,i){if(i==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(n),i)}static loadJSONAsync(n,i){return tu(this,void 0,void 0,function*(){if(i==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(n),i)})}static getDefault(n){if(Hd.hasOwnProperty(n))return Fd(Hd,n);throw new Error(`MiniSearch: unknown option "${n}"`)}static loadJS(n,i){const{index:a,documentIds:s,fieldLength:l,storedFields:c,serializationVersion:f}=n,d=this.instantiateMiniSearch(n,i);d._documentIds=Fl(s),d._fieldLength=Fl(l),d._storedFields=Fl(c);for(const[g,m]of d._documentIds)d._idToShortId.set(m,g);for(const[g,m]of a){const v=new Map;for(const y of Object.keys(m)){let b=m[y];f===1&&(b=b.ds),v.set(parseInt(y,10),Fl(b))}d._index.set(g,v)}return d}static loadJSAsync(n,i){return tu(this,void 0,void 0,function*(){const{index:a,documentIds:s,fieldLength:l,storedFields:c,serializationVersion:f}=n,d=this.instantiateMiniSearch(n,i);d._documentIds=yield Hl(s),d._fieldLength=yield Hl(l),d._storedFields=yield Hl(c);for(const[m,v]of d._documentIds)d._idToShortId.set(v,m);let g=0;for(const[m,v]of a){const y=new Map;for(const b of Object.keys(v)){let x=v[b];f===1&&(x=x.ds),y.set(parseInt(b,10),yield Hl(x))}++g%1e3===0&&(yield k1(0)),d._index.set(m,y)}return d})}static instantiateMiniSearch(n,i){const{documentCount:a,nextId:s,fieldIds:l,averageFieldLength:c,dirtCount:f,serializationVersion:d}=n;if(d!==1&&d!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const g=new Kr(i);return g._documentCount=a,g._nextId=s,g._idToShortId=new Map,g._fieldIds=l,g._avgFieldLength=c,g._dirtCount=f||0,g._index=new Zr,g}executeQuery(n,i={}){if(n===Kr.wildcard)return this.executeWildcardQuery(i);if(typeof n!="string"){const y=Object.assign(Object.assign(Object.assign({},i),n),{queries:void 0}),b=n.queries.map(x=>this.executeQuery(x,y));return this.combineResults(b,y.combineWith)}const{tokenize:a,processTerm:s,searchOptions:l}=this._options,c=Object.assign(Object.assign({tokenize:a,processTerm:s},l),i),{tokenize:f,processTerm:d}=c,v=f(n).flatMap(y=>d(y)).filter(y=>!!y).map(tz(c)).map(y=>this.executeQuerySpec(y,c));return this.combineResults(v,c.combineWith)}executeQuerySpec(n,i){const a=Object.assign(Object.assign({},this._options.searchOptions),i),s=(a.fields||this._options.fields).reduce((E,T)=>Object.assign(Object.assign({},E),{[T]:Fd(a.boost,T)||1}),{}),{boostDocument:l,weights:c,maxFuzzy:f,bm25:d}=a,{fuzzy:g,prefix:m}=Object.assign(Object.assign({},t0.weights),c),v=this._index.get(n.term),y=this.termResults(n.term,n.term,1,n.termBoost,v,s,l,d);let b,x;if(n.prefix&&(b=this._index.atPrefix(n.term)),n.fuzzy){const E=n.fuzzy===!0?.2:n.fuzzy,T=E<1?Math.min(f,Math.round(n.term.length*E)):E;T&&(x=this._index.fuzzyGet(n.term,T))}if(b)for(const[E,T]of b){const M=E.length-n.term.length;if(!M)continue;x==null||x.delete(E);const N=m*E.length/(E.length+.3*M);this.termResults(n.term,E,N,n.termBoost,T,s,l,d,y)}if(x)for(const E of x.keys()){const[T,M]=x.get(E);if(!M)continue;const N=g*E.length/(E.length+M);this.termResults(n.term,E,N,n.termBoost,T,s,l,d,y)}return y}executeWildcardQuery(n){const i=new Map,a=Object.assign(Object.assign({},this._options.searchOptions),n);for(const[s,l]of this._documentIds){const c=a.boostDocument?a.boostDocument(l,"",this._storedFields.get(s)):1;i.set(s,{score:c,terms:[],match:{}})}return i}combineResults(n,i=fg){if(n.length===0)return new Map;const a=i.toLowerCase(),s=QN[a];if(!s)throw new Error(`Invalid combination operator: ${i}`);return n.reduce(s)||new Map}toJSON(){const n=[];for(const[i,a]of this._index){const s={};for(const[l,c]of a)s[l]=Object.fromEntries(c);n.push([i,s])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:n,serializationVersion:2}}termResults(n,i,a,s,l,c,f,d,g=new Map){if(l==null)return g;for(const m of Object.keys(c)){const v=c[m],y=this._fieldIds[m],b=l.get(y);if(b==null)continue;let x=b.size;const E=this._avgFieldLength[y];for(const T of b.keys()){if(!this._documentIds.has(T)){this.removeTerm(y,T,i),x-=1;continue}const M=f?f(this._documentIds.get(T),i,this._storedFields.get(T)):1;if(!M)continue;const N=b.get(T),L=this._fieldLength.get(T)[y],C=ez(N,x,this._documentCount,L,E,d),R=a*s*v*M*C,B=g.get(T);if(B){B.score+=R,rz(B.terms,n);const _=Fd(B.match,i);_?_.push(m):B.match[i]=[m]}else g.set(T,{score:R,terms:[n],match:{[i]:[m]}})}}return g}addTerm(n,i,a){const s=this._index.fetch(a,i0);let l=s.get(n);if(l==null)l=new Map,l.set(i,1),s.set(n,l);else{const c=l.get(i);l.set(i,(c||0)+1)}}removeTerm(n,i,a){if(!this._index.has(a)){this.warnDocumentChanged(i,n,a);return}const s=this._index.fetch(a,i0),l=s.get(n);l==null||l.get(i)==null?this.warnDocumentChanged(i,n,a):l.get(i)<=1?l.size<=1?s.delete(n):l.delete(i):l.set(i,l.get(i)-1),this._index.get(a).size===0&&this._index.delete(a)}warnDocumentChanged(n,i,a){for(const s of Object.keys(this._fieldIds))if(this._fieldIds[s]===i){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(n)} has changed before removal: term "${a}" was not present in field "${s}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(n){const i=this._nextId;return this._idToShortId.set(n,i),this._documentIds.set(i,n),this._documentCount+=1,this._nextId+=1,i}addFields(n){for(let i=0;iObject.prototype.hasOwnProperty.call(r,n)?r[n]:void 0,QN={[fg]:(r,n)=>{for(const i of n.keys()){const a=r.get(i);if(a==null)r.set(i,n.get(i));else{const{score:s,terms:l,match:c}=n.get(i);a.score=a.score+s,a.match=Object.assign(a.match,c),n0(a.terms,l)}}return r},[O1]:(r,n)=>{const i=new Map;for(const a of n.keys()){const s=r.get(a);if(s==null)continue;const{score:l,terms:c,match:f}=n.get(a);n0(s.terms,c),i.set(a,{score:s.score+l,terms:s.terms,match:Object.assign(s.match,f)})}return i},[KN]:(r,n)=>{for(const i of n.keys())r.delete(i);return r}},JN={k:1.2,b:.7,d:.5},ez=(r,n,i,a,s,l)=>{const{k:c,b:f,d}=l;return Math.log(1+(i-n+.5)/(n+.5))*(d+r*(c+1)/(r+c*(1-f+f*a/s)))},tz=r=>(n,i,a)=>{const s=typeof r.fuzzy=="function"?r.fuzzy(n,i,a):r.fuzzy||!1,l=typeof r.prefix=="function"?r.prefix(n,i,a):r.prefix===!0,c=typeof r.boostTerm=="function"?r.boostTerm(n,i,a):1;return{term:n,fuzzy:s,prefix:l,termBoost:c}},Hd={idField:"id",extractField:(r,n)=>r[n],tokenize:r=>r.split(iz),processTerm:r=>r.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(r,n)=>{typeof(console==null?void 0:console[r])=="function"&&console[r](n)},autoVacuum:!0},t0={combineWith:fg,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:JN},nz={combineWith:O1,prefix:(r,n,i)=>n===i.length-1},ph={batchSize:1e3,batchWait:10},mh={minDirtFactor:.1,minDirtCount:20},Pd=Object.assign(Object.assign({},ph),mh),rz=(r,n)=>{r.includes(n)||r.push(n)},n0=(r,n)=>{for(const i of n)r.includes(i)||r.push(i)},r0=({score:r},{score:n})=>n-r,i0=()=>new Map,Fl=r=>{const n=new Map;for(const i of Object.keys(r))n.set(parseInt(i,10),r[i]);return n},Hl=r=>tu(void 0,void 0,void 0,function*(){const n=new Map;let i=0;for(const a of Object.keys(r))n.set(parseInt(a,10),r[a]),++i%1e3===0&&(yield k1(0));return n}),k1=r=>new Promise(n=>setTimeout(n,r)),iz=/[\n\r\p{Z}\p{P}]+/u,az={index:new Kr({fields:[]})};S.createContext(az);const vh=({label:r,color:n,hidden:i,labels:a={}})=>bt.createElement("div",{className:"node"},bt.createElement("span",{className:"render "+(i?"circle":"disc"),style:{backgroundColor:n||"#000"}}),bt.createElement("span",{className:`label ${i?"text-muted":""} ${r?"":"text-italic"}`},r||a.no_label||"No label")),oz=({id:r,labels:n})=>{const i=Sn(),a=S.useMemo(()=>{const s=i.getGraph().getNodeAttributes(r),l=i.getSetting("nodeReducer");return Object.assign(Object.assign({color:i.getSetting("defaultNodeColor")},s),l?l(r,s):{})},[i,r]);return bt.createElement(vh,Object.assign({},a,{labels:n}))},sz=({label:r,color:n,source:i,target:a,hidden:s,directed:l,labels:c={}})=>bt.createElement("div",{className:"edge"},bt.createElement(vh,Object.assign({},i,{labels:c})),bt.createElement("div",{className:"body"},bt.createElement("div",{className:"render"},bt.createElement("span",{className:s?"dotted":"dash",style:{borderColor:n||"#000"}})," ",l&&bt.createElement("span",{className:"arrow",style:{borderTopColor:n||"#000"}})),bt.createElement("span",{className:`label ${s?"text-muted":""} ${r?"":"fst-italic"}`},r||c.no_label||"No label")),bt.createElement(vh,Object.assign({},a,{labels:c}))),lz=({id:r,labels:n})=>{const i=Sn(),a=S.useMemo(()=>{const s=i.getGraph().getEdgeAttributes(r),l=i.getSetting("nodeReducer"),c=i.getSetting("edgeReducer"),f=i.getGraph().getNodeAttributes(i.getGraph().source(r)),d=i.getGraph().getNodeAttributes(i.getGraph().target(r));return Object.assign(Object.assign(Object.assign({color:i.getSetting("defaultEdgeColor"),directed:i.getGraph().isDirected(r)},s),c?c(r,s):{}),{source:Object.assign(Object.assign({color:i.getSetting("defaultNodeColor")},f),l?l(r,f):{}),target:Object.assign(Object.assign({color:i.getSetting("defaultNodeColor")},d),l?l(r,d):{})})},[i,r]);return bt.createElement(sz,Object.assign({},a,{labels:n}))};function L1(r,n){const[i,a]=S.useState(r);return S.useEffect(()=>{const s=setTimeout(()=>{a(r)},n);return()=>{clearTimeout(s)}},[r,n]),i}function uz({fetcher:r,preload:n,filterFn:i,renderOption:a,getOptionValue:s,notFound:l,loadingSkeleton:c,label:f,placeholder:d="Select...",value:g,onChange:m,onFocus:v,disabled:y=!1,className:b,noResultsMessage:x}){const[E,T]=S.useState(!1),[M,N]=S.useState(!1),[L,C]=S.useState([]),[R,B]=S.useState(!1),[_,$]=S.useState(null),[z,F]=S.useState(g),[Y,I]=S.useState(null),[j,J]=S.useState(""),ae=L1(j,n?0:150),[H,U]=S.useState([]);S.useEffect(()=>{T(!0),F(g)},[g]),S.useEffect(()=>{E||(async()=>{try{B(!0),$(null);const P=g!==null?await r(g):[];U(P),C(P)}catch(P){$(P instanceof Error?P.message:"Failed to fetch options")}finally{B(!1)}})()},[E,r,g]),S.useEffect(()=>{const G=async()=>{try{B(!0),$(null);const P=await r(ae);U(P),C(P)}catch(P){$(P instanceof Error?P.message:"Failed to fetch options")}finally{B(!1)}};E&&n?n&&C(ae?H.filter(P=>i?i(P,ae):!0):H):G()},[r,ae,E,n,i]);const D=S.useCallback(G=>{G!==z&&(F(G),m(G)),N(!1)},[z,F,N,m]),se=S.useCallback(G=>{G!==Y&&(I(G),v(G))},[Y,I,v]);return A.jsx("div",{className:Xe(y&&"cursor-not-allowed opacity-50",b),onFocus:()=>{N(!0)},onBlur:()=>N(!1),children:A.jsxs(Du,{shouldFilter:!1,className:"bg-transparent",children:[A.jsxs("div",{children:[A.jsx(sg,{placeholder:d,value:j,className:"max-h-8",onValueChange:G=>{J(G),G&&!M&&N(!0)}}),R&&L.length>0&&A.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:A.jsx(C0,{className:"h-4 w-4 animate-spin"})})]}),A.jsxs(Ou,{className:"max-h-auto",hidden:!M||ae.length===0,children:[_&&A.jsx("div",{className:"text-destructive p-4 text-center",children:_}),R&&L.length===0&&(c||A.jsx(cz,{})),!R&&!_&&L.length===0&&(l||A.jsx(lg,{children:x??`No ${f.toLowerCase()} found.`})),A.jsx($a,{children:L.map((G,P)=>A.jsxs(A.Fragment,{children:[A.jsx(qa,{value:s(G),onSelect:D,onMouseEnter:()=>se(s(G)),className:"truncate",children:a(G)},s(G)+`${P}`),P!==L.length-1&&A.jsx("div",{className:"bg-foreground/10 h-[1px]"},P)]}))})]})]})})}function cz(){return A.jsx($a,{children:A.jsx(qa,{disabled:!0,children:A.jsxs("div",{className:"flex w-full items-center gap-2",children:[A.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),A.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[A.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),A.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}function fz(r){return A.jsxs("div",{children:[r.type==="nodes"&&A.jsx(oz,{id:r.id}),r.type==="edges"&&A.jsx(lz,{id:r.id}),r.type==="message"&&A.jsx("div",{children:r.message})]})}const $d="__message_item",Pl={graph:null,searchEngine:null},dz=({onChange:r,onFocus:n,value:i})=>{const a=Ye.use.sigmaGraph(),s=S.useMemo(()=>{if(Pl.graph==a)return Pl.searchEngine;if(!a||a.nodes().length==0)return;Pl.graph=a;const c=new Kr({idField:"id",fields:["label"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}}),f=a.nodes().map(d=>({id:d,label:a.getNodeAttribute(d,"label")}));return c.addAll(f),Pl.searchEngine=c,c},[a]),l=S.useCallback(async c=>{if(n&&n(null),!c||!s)return[];const f=s.search(c).map(d=>({id:d.id,type:"nodes"}));return f.length<=qf?f:[...f.slice(0,qf),{type:"message",id:$d,message:`And ${f.length-qf} others`}]},[s,n]);return A.jsx(uz,{className:"bg-background/60 w-24 rounded-xl border-1 opacity-60 backdrop-blur-lg transition-all hover:w-fit hover:opacity-100",fetcher:l,renderOption:fz,getOptionValue:c=>c.id,value:i&&i.type!=="message"?i.id:null,onChange:c=>{c!==$d&&r(c?{id:c,type:"nodes"}:null)},onFocus:c=>{c!==$d&&n&&n(c?{id:c,type:"nodes"}:null)},label:"item",placeholder:"Search nodes..."})},hz=({...r})=>A.jsx(dz,{...r});function gz({fetcher:r,preload:n,filterFn:i,renderOption:a,getOptionValue:s,getDisplayValue:l,notFound:c,loadingSkeleton:f,label:d,placeholder:g="Select...",value:m,onChange:v,disabled:y=!1,className:b,triggerClassName:x,searchInputClassName:E,noResultsMessage:T,triggerTooltip:M,clearable:N=!0}){const[L,C]=S.useState(!1),[R,B]=S.useState(!1),[_,$]=S.useState([]),[z,F]=S.useState(!1),[Y,I]=S.useState(null),[j,J]=S.useState(m),[ae,H]=S.useState(null),[U,D]=S.useState(""),se=L1(U,n?0:150),[G,P]=S.useState([]);S.useEffect(()=>{C(!0),J(m)},[m]),S.useEffect(()=>{if(m&&_.length>0){const V=_.find(Q=>s(Q)===m);V&&H(V)}},[m,_,s]),S.useEffect(()=>{L||(async()=>{try{F(!0),I(null);const Q=await r(m);P(Q),$(Q)}catch(Q){I(Q instanceof Error?Q.message:"Failed to fetch options")}finally{F(!1)}})()},[L,r,m]),S.useEffect(()=>{const V=async()=>{try{F(!0),I(null);const Q=await r(se);P(Q),$(Q)}catch(Q){I(Q instanceof Error?Q.message:"Failed to fetch options")}finally{F(!1)}};L&&n?n&&$(se?G.filter(Q=>i?i(Q,se):!0):G):V()},[r,se,L,n,i]);const k=S.useCallback(V=>{const Q=N&&V===j?"":V;J(Q),H(_.find(re=>s(re)===Q)||null),v(Q),B(!1)},[j,v,N,_,s]);return A.jsxs(wu,{open:R,onOpenChange:B,children:[A.jsx(Eu,{asChild:!0,children:A.jsxs(an,{variant:"outline",role:"combobox","aria-expanded":R,className:Xe("justify-between",y&&"cursor-not-allowed opacity-50",x),disabled:y,tooltip:M,side:"bottom",children:[ae?l(ae):g,A.jsx(CT,{className:"opacity-50",size:10})]})}),A.jsx(ss,{className:Xe("p-0",b),onCloseAutoFocus:V=>V.preventDefault(),children:A.jsxs(Du,{shouldFilter:!1,children:[A.jsxs("div",{className:"relative w-full border-b",children:[A.jsx(sg,{placeholder:`Search ${d.toLowerCase()}...`,value:U,onValueChange:V=>{D(V)},className:E}),z&&_.length>0&&A.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:A.jsx(C0,{className:"h-4 w-4 animate-spin"})})]}),A.jsxs(Ou,{children:[Y&&A.jsx("div",{className:"text-destructive p-4 text-center",children:Y}),z&&_.length===0&&(f||A.jsx(pz,{})),!z&&!Y&&_.length===0&&(c||A.jsx(lg,{children:T??`No ${d.toLowerCase()} found.`})),A.jsx($a,{children:_.map(V=>A.jsxs(qa,{value:s(V),onSelect:k,className:"truncate",children:[a(V),A.jsx(T0,{className:Xe("ml-auto h-3 w-3",j===s(V)?"opacity-100":"opacity-0")})]},s(V)))})]})]})})]})}function pz(){return A.jsx($a,{children:A.jsx(qa,{disabled:!0,children:A.jsxs("div",{className:"flex w-full items-center gap-2",children:[A.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),A.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[A.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),A.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}const mz=()=>{const r=Pe.use.queryLabel(),[n,i]=S.useState({labels:[],searchEngine:null}),[a,s]=S.useState(!1),l=S.useCallback(async f=>{let d=n.labels,g=n.searchEngine;if(!a||!g){d=["*"].concat(await yT()),d.includes(Pe.getState().queryLabel)||Pe.getState().setQueryLabel(d[0]),g=new Kr({idField:"id",fields:["value"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}});const m=d.map((v,y)=>({id:y,value:v}));g.addAll(m),i({labels:d,searchEngine:g}),s(!0)}return f?g.search(f).map(m=>d[m.id]):d},[n,a,i,s]),c=S.useCallback(f=>{Pe.getState().setQueryLabel(f)},[]);return A.jsx(gz,{className:"ml-2",triggerClassName:"max-h-8",searchInputClassName:"max-h-8",triggerTooltip:"Select query label",fetcher:l,renderOption:f=>A.jsx("div",{children:f}),getOptionValue:f=>f,getDisplayValue:f=>A.jsx("div",{children:f}),notFound:A.jsx("div",{className:"py-6 text-center text-sm",children:"No labels found"}),label:"Label",placeholder:"Search labels...",value:r!==null?r:"",onChange:c})},vz=({text:r,className:n,tooltipClassName:i,tooltip:a,side:s,onClick:l})=>a?A.jsx(BE,{delayDuration:200,children:A.jsxs(FE,{children:[A.jsx(HE,{asChild:!0,children:A.jsx("label",{className:Xe(n,l!==void 0?"cursor-pointer":void 0),onClick:l,children:r})}),A.jsx(Qh,{side:s,className:i,children:a})]})}):A.jsx("label",{className:Xe(n,l!==void 0?"cursor-pointer":void 0),onClick:l,children:r}),yz=()=>{const{getNode:r,getEdge:n}=g1(),i=Ye.use.selectedNode(),a=Ye.use.focusedNode(),s=Ye.use.selectedEdge(),l=Ye.use.focusedEdge(),[c,f]=S.useState(null),[d,g]=S.useState(null);return S.useEffect(()=>{let m=null,v=null;a?(m="node",v=r(a)):i?(m="node",v=r(i)):l?(m="edge",v=n(l,!0)):s&&(m="edge",v=n(s,!0)),v?(m=="node"?f(bz(v)):f(wz(v)),g(m)):(f(null),g(null))},[a,i,l,s,f,g,r,n]),c?A.jsx("div",{className:"bg-background/80 max-w-xs rounded-lg border-2 p-2 text-xs backdrop-blur-lg",children:d=="node"?A.jsx(Ez,{node:c}):A.jsx(Sz,{edge:c})}):A.jsx(A.Fragment,{})},bz=r=>{const n=Ye.getState(),i=[];if(n.sigmaGraph&&n.rawGraph)for(const a of n.sigmaGraph.edges(r.id)){const s=n.rawGraph.getEdge(a,!0);if(s){const l=r.id===s.source,c=l?s.target:s.source,f=n.rawGraph.getNode(c);f&&i.push({type:l?"Target":"Source",id:c,label:f.labels.join(", ")})}}return{...r,relationships:i}},wz=r=>{var s,l;const n=Ye.getState(),i=(s=n.rawGraph)==null?void 0:s.getNode(r.source),a=(l=n.rawGraph)==null?void 0:l.getNode(r.target);return{...r,sourceNode:i,targetNode:a}},$n=({name:r,value:n,onClick:i,tooltip:a})=>A.jsxs("div",{className:"flex items-center gap-2",children:[A.jsx("label",{className:"text-primary/60 tracking-wide",children:r}),":",A.jsx(vz,{className:"hover:bg-primary/20 rounded p-1 text-ellipsis",tooltipClassName:"max-w-80",text:n,tooltip:a||n,side:"left",onClick:i})]}),Ez=({node:r})=>A.jsxs("div",{className:"flex flex-col gap-2",children:[A.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-sky-300",children:"Node"}),A.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[A.jsx($n,{name:"Id",value:r.id}),A.jsx($n,{name:"Labels",value:r.labels.join(", "),onClick:()=>{Ye.getState().setSelectedNode(r.id,!0)}}),A.jsx($n,{name:"Degree",value:r.degree})]}),A.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-yellow-400/90",children:"Properties"}),A.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(r.properties).sort().map(n=>A.jsx($n,{name:n,value:r.properties[n]},n))}),r.relationships.length>0&&A.jsxs(A.Fragment,{children:[A.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-teal-600/90",children:"Relationships"}),A.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:r.relationships.map(({type:n,id:i,label:a})=>A.jsx($n,{name:n,value:a,onClick:()=>{Ye.getState().setSelectedNode(i,!0)}},i))})]})]}),Sz=({edge:r})=>A.jsxs("div",{className:"flex flex-col gap-2",children:[A.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-teal-600",children:"Relationship"}),A.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[A.jsx($n,{name:"Id",value:r.id}),A.jsx($n,{name:"Type",value:r.type}),A.jsx($n,{name:"Source",value:r.sourceNode?r.sourceNode.labels.join(", "):r.source,onClick:()=>{Ye.getState().setSelectedNode(r.source,!0)}}),A.jsx($n,{name:"Target",value:r.targetNode?r.targetNode.labels.join(", "):r.target,onClick:()=>{Ye.getState().setSelectedNode(r.target,!0)}})]}),A.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-yellow-400/90",children:"Properties"}),A.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(r.properties).sort().map(n=>A.jsx($n,{name:n,value:r.properties[n]},n))})]}),a0={allowInvalidContainer:!0,defaultNodeType:"default",defaultEdgeType:"curvedArrow",renderEdgeLabels:!1,edgeProgramClasses:{arrow:Qw,curvedArrow:uk,curvedNoArrow:lk},nodeProgramClasses:{default:VO,circel:us,point:bO},labelGridCellSize:60,labelRenderedSizeThreshold:12,enableEdgeEvents:!0,labelColor:{color:"#000",attribute:"labelColor"},edgeLabelColor:{color:"#000",attribute:"labelColor"},edgeLabelSize:8,labelSize:12},xz=()=>{const r=oE(),n=Sn(),[i,a]=S.useState(null);return S.useEffect(()=>{r({downNode:s=>{a(s.node),n.getGraph().setNodeAttribute(s.node,"highlighted",!0)},mousemovebody:s=>{if(!i)return;const l=n.viewportToGraph(s);n.getGraph().setNodeAttribute(i,"x",l.x),n.getGraph().setNodeAttribute(i,"y",l.y),s.preventSigmaDefault(),s.original.preventDefault(),s.original.stopPropagation()},mouseup:()=>{i&&(a(null),n.getGraph().removeNodeAttribute(i,"highlighted"))},mousedown:()=>{n.getCustomBBox()||n.setCustomBBox(n.getBBox())}})},[r,n,i]),null},_z=()=>{const[r,n]=S.useState(a0),i=Ye.use.selectedNode(),a=Ye.use.focusedNode(),s=Ye.use.moveToSelectedNode(),l=Pe.use.showPropertyPanel(),c=Pe.use.showNodeSearchBar(),f=Pe.use.showNodeLabel(),d=Pe.use.enableEdgeEvents(),g=Pe.use.enableNodeDrag(),m=Pe.use.showEdgeLabel();S.useEffect(()=>{n({...a0,enableEdgeEvents:d,renderEdgeLabels:m,renderLabels:f})},[f,d,m]);const v=S.useCallback(E=>{E===null?Ye.getState().setFocusedNode(null):E.type==="nodes"&&Ye.getState().setFocusedNode(E.id)},[]),y=S.useCallback(E=>{E===null?Ye.getState().setSelectedNode(null):E.type==="nodes"&&Ye.getState().setSelectedNode(E.id,!0)},[]),b=S.useMemo(()=>a??i,[a,i]),x=S.useMemo(()=>i?{type:"nodes",id:i}:null,[i]);return A.jsxs(hO,{settings:r,className:"!bg-background !size-full overflow-hidden",children:[A.jsx(zN,{}),g&&A.jsx(xz,{}),A.jsx(dk,{node:b,move:s}),A.jsxs("div",{className:"absolute top-2 left-2 flex items-start gap-2",children:[A.jsx(mz,{}),c&&A.jsx(hz,{value:x,onFocus:v,onChange:y})]}),A.jsxs("div",{className:"bg-background/60 absolute bottom-2 left-2 flex flex-col rounded-xl border-2 backdrop-blur-lg",children:[A.jsx(YN,{}),A.jsx(MN,{}),A.jsx(cN,{}),A.jsx(jN,{}),A.jsx(GN,{})]}),l&&A.jsx("div",{className:"absolute top-2 right-2",children:A.jsx(yz,{})})]})};function Tz(){const r=kn.use.message(),n=Pe.use.enableHealthCheck();return S.useEffect(()=>{if(!n)return;kn.getState().check();const i=setInterval(async()=>{await kn.getState().check()},fT*1e3);return()=>clearInterval(i)},[n]),A.jsxs(gT,{children:[A.jsx("div",{className:"h-screen w-screen",children:A.jsx(_z,{})}),n&&A.jsx(MA,{}),r!==null&&A.jsx(nC,{})]})}s_.createRoot(document.getElementById("root")).render(A.jsx(S.StrictMode,{children:A.jsx(Tz,{})})); diff --git a/lightrag/api/webui/assets/index-CGBwpbZt.js b/lightrag/api/webui/assets/index-CGBwpbZt.js new file mode 100644 index 00000000..c53af429 --- /dev/null +++ b/lightrag/api/webui/assets/index-CGBwpbZt.js @@ -0,0 +1,1059 @@ +var UA=Object.defineProperty;var BA=(e,t,n)=>t in e?UA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Xr=(e,t,n)=>BA(e,typeof t!="symbol"?t+"":t,n);function IA(e,t){for(var n=0;na[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))a(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const c of s.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&a(c)}).observe(document,{childList:!0,subtree:!0});function n(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function a(o){if(o.ep)return;o.ep=!0;const s=n(o);fetch(o.href,s)}})();function dn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function HA(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function a(){return this instanceof a?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(a){var o=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(n,a,o.get?o:{enumerable:!0,get:function(){return e[a]}})}),n}var Nh={exports:{}},$s={};/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Mx;function $A(){if(Mx)return $s;Mx=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(a,o,s){var c=null;if(s!==void 0&&(c=""+s),o.key!==void 0&&(c=""+o.key),"key"in o){s={};for(var u in o)u!=="key"&&(s[u]=o[u])}else s=o;return o=s.ref,{$$typeof:e,type:a,key:c,ref:o!==void 0?o:null,props:s}}return $s.Fragment=t,$s.jsx=n,$s.jsxs=n,$s}var Px;function VA(){return Px||(Px=1,Nh.exports=$A()),Nh.exports}var x=VA(),Oh={exports:{}},Ke={};/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Gx;function qA(){if(Gx)return Ke;Gx=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),c=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.iterator;function y(G){return G===null||typeof G!="object"?null:(G=g&&G[g]||G["@@iterator"],typeof G=="function"?G:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,E={};function _(G,H,O){this.props=G,this.context=H,this.refs=E,this.updater=O||b}_.prototype.isReactComponent={},_.prototype.setState=function(G,H){if(typeof G!="object"&&typeof G!="function"&&G!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,G,H,"setState")},_.prototype.forceUpdate=function(G){this.updater.enqueueForceUpdate(this,G,"forceUpdate")};function N(){}N.prototype=_.prototype;function T(G,H,O){this.props=G,this.context=H,this.refs=E,this.updater=O||b}var A=T.prototype=new N;A.constructor=T,S(A,_.prototype),A.isPureReactComponent=!0;var D=Array.isArray,k={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function R(G,H,O,$,W,re){return O=re.ref,{$$typeof:e,type:G,key:H,ref:O!==void 0?O:null,props:re}}function U(G,H){return R(G.type,H,void 0,void 0,void 0,G.props)}function L(G){return typeof G=="object"&&G!==null&&G.$$typeof===e}function I(G){var H={"=":"=0",":":"=2"};return"$"+G.replace(/[=:]/g,function(O){return H[O]})}var q=/\/+/g;function Y(G,H){return typeof G=="object"&&G!==null&&G.key!=null?I(""+G.key):H.toString(36)}function B(){}function X(G){switch(G.status){case"fulfilled":return G.value;case"rejected":throw G.reason;default:switch(typeof G.status=="string"?G.then(B,B):(G.status="pending",G.then(function(H){G.status==="pending"&&(G.status="fulfilled",G.value=H)},function(H){G.status==="pending"&&(G.status="rejected",G.reason=H)})),G.status){case"fulfilled":return G.value;case"rejected":throw G.reason}}throw G}function ne(G,H,O,$,W){var re=typeof G;(re==="undefined"||re==="boolean")&&(G=null);var de=!1;if(G===null)de=!0;else switch(re){case"bigint":case"string":case"number":de=!0;break;case"object":switch(G.$$typeof){case e:case t:de=!0;break;case m:return de=G._init,ne(de(G._payload),H,O,$,W)}}if(de)return W=W(G),de=$===""?"."+Y(G,0):$,D(W)?(O="",de!=null&&(O=de.replace(q,"$&/")+"/"),ne(W,H,O,"",function(Te){return Te})):W!=null&&(L(W)&&(W=U(W,O+(W.key==null||G&&G.key===W.key?"":(""+W.key).replace(q,"$&/")+"/")+de)),H.push(W)),1;de=0;var ie=$===""?".":$+":";if(D(G))for(var oe=0;oe>>1,G=F[K];if(0>>1;Ko($,j))Wo(re,$)?(F[K]=re,F[W]=j,K=W):(F[K]=$,F[O]=j,K=O);else if(Wo(re,j))F[K]=re,F[W]=j,K=W;else break e}}return z}function o(F,z){var j=F.sortIndex-z.sortIndex;return j!==0?j:F.id-z.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var c=Date,u=c.now();e.unstable_now=function(){return c.now()-u}}var f=[],h=[],m=1,g=null,y=3,b=!1,S=!1,E=!1,_=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function A(F){for(var z=n(h);z!==null;){if(z.callback===null)a(h);else if(z.startTime<=F)a(h),z.sortIndex=z.expirationTime,t(f,z);else break;z=n(h)}}function D(F){if(E=!1,A(F),!S)if(n(f)!==null)S=!0,X();else{var z=n(h);z!==null&&ne(D,z.startTime-F)}}var k=!1,M=-1,R=5,U=-1;function L(){return!(e.unstable_now()-UF&&L());){var K=g.callback;if(typeof K=="function"){g.callback=null,y=g.priorityLevel;var G=K(g.expirationTime<=F);if(F=e.unstable_now(),typeof G=="function"){g.callback=G,A(F),z=!0;break t}g===n(f)&&a(f),A(F)}else a(f);g=n(f)}if(g!==null)z=!0;else{var H=n(h);H!==null&&ne(D,H.startTime-F),z=!1}}break e}finally{g=null,y=j,b=!1}z=void 0}}finally{z?q():k=!1}}}var q;if(typeof T=="function")q=function(){T(I)};else if(typeof MessageChannel<"u"){var Y=new MessageChannel,B=Y.port2;Y.port1.onmessage=I,q=function(){B.postMessage(null)}}else q=function(){_(I,0)};function X(){k||(k=!0,q())}function ne(F,z){M=_(function(){F(e.unstable_now())},z)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(F){F.callback=null},e.unstable_continueExecution=function(){S||b||(S=!0,X())},e.unstable_forceFrameRate=function(F){0>F||125K?(F.sortIndex=j,t(h,F),n(f)===null&&F===n(h)&&(E?(N(M),M=-1):E=!0,ne(D,j-K))):(F.sortIndex=G,t(f,F),S||b||(S=!0,X())),F},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(F){var z=y;return function(){var j=y;y=z;try{return F.apply(this,arguments)}finally{y=j}}}}(zh)),zh}var Bx;function XA(){return Bx||(Bx=1,Lh.exports=WA()),Lh.exports}var Mh={exports:{}},nn={};/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Ix;function KA(){if(Ix)return nn;Ix=1;var e=$u();function t(f){var h="https://react.dev/errors/"+f;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Mh.exports=KA(),Mh.exports}/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var $x;function ZA(){if($x)return Vs;$x=1;var e=XA(),t=$u(),n=F1();function a(r){var i="https://react.dev/errors/"+r;if(1)":-1p||V[d]!==Q[p]){var fe=` +`+V[d].replace(" at new "," at ");return r.displayName&&fe.includes("")&&(fe=fe.replace("",r.displayName)),fe}while(1<=d&&0<=p);break}}}finally{X=!1,Error.prepareStackTrace=l}return(l=r?r.displayName||r.name:"")?B(l):""}function F(r){switch(r.tag){case 26:case 27:case 5:return B(r.type);case 16:return B("Lazy");case 13:return B("Suspense");case 19:return B("SuspenseList");case 0:case 15:return r=ne(r.type,!1),r;case 11:return r=ne(r.type.render,!1),r;case 1:return r=ne(r.type,!0),r;default:return""}}function z(r){try{var i="";do i+=F(r),r=r.return;while(r);return i}catch(l){return` +Error generating stack: `+l.message+` +`+l.stack}}function j(r){var i=r,l=r;if(r.alternate)for(;i.return;)i=i.return;else{r=i;do i=r,i.flags&4098&&(l=i.return),r=i.return;while(r)}return i.tag===3?l:null}function K(r){if(r.tag===13){var i=r.memoizedState;if(i===null&&(r=r.alternate,r!==null&&(i=r.memoizedState)),i!==null)return i.dehydrated}return null}function G(r){if(j(r)!==r)throw Error(a(188))}function H(r){var i=r.alternate;if(!i){if(i=j(r),i===null)throw Error(a(188));return i!==r?null:r}for(var l=r,d=i;;){var p=l.return;if(p===null)break;var v=p.alternate;if(v===null){if(d=p.return,d!==null){l=d;continue}break}if(p.child===v.child){for(v=p.child;v;){if(v===l)return G(p),r;if(v===d)return G(p),i;v=v.sibling}throw Error(a(188))}if(l.return!==d.return)l=p,d=v;else{for(var C=!1,P=p.child;P;){if(P===l){C=!0,l=p,d=v;break}if(P===d){C=!0,d=p,l=v;break}P=P.sibling}if(!C){for(P=v.child;P;){if(P===l){C=!0,l=v,d=p;break}if(P===d){C=!0,d=v,l=p;break}P=P.sibling}if(!C)throw Error(a(189))}}if(l.alternate!==d)throw Error(a(190))}if(l.tag!==3)throw Error(a(188));return l.stateNode.current===l?r:i}function O(r){var i=r.tag;if(i===5||i===26||i===27||i===6)return r;for(r=r.child;r!==null;){if(i=O(r),i!==null)return i;r=r.sibling}return null}var $=Array.isArray,W=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,re={pending:!1,data:null,method:null,action:null},de=[],ie=-1;function oe(r){return{current:r}}function Te(r){0>ie||(r.current=de[ie],de[ie]=null,ie--)}function he(r,i){ie++,de[ie]=r.current,r.current=i}var Se=oe(null),be=oe(null),je=oe(null),Ce=oe(null);function ye(r,i){switch(he(je,i),he(be,r),he(Se,null),r=i.nodeType,r){case 9:case 11:i=(i=i.documentElement)&&(i=i.namespaceURI)?dx(i):0;break;default:if(r=r===8?i.parentNode:i,i=r.tagName,r=r.namespaceURI)r=dx(r),i=fx(r,i);else switch(i){case"svg":i=1;break;case"math":i=2;break;default:i=0}}Te(Se),he(Se,i)}function J(){Te(Se),Te(be),Te(je)}function le(r){r.memoizedState!==null&&he(Ce,r);var i=Se.current,l=fx(i,r.type);i!==l&&(he(be,r),he(Se,l))}function _e(r){be.current===r&&(Te(Se),Te(be)),Ce.current===r&&(Te(Ce),Fs._currentValue=re)}var pe=Object.prototype.hasOwnProperty,Ee=e.unstable_scheduleCallback,te=e.unstable_cancelCallback,Fe=e.unstable_shouldYield,Pe=e.unstable_requestPaint,me=e.unstable_now,Ae=e.unstable_getCurrentPriorityLevel,Oe=e.unstable_ImmediatePriority,He=e.unstable_UserBlockingPriority,it=e.unstable_NormalPriority,Tt=e.unstable_LowPriority,bt=e.unstable_IdlePriority,qt=e.log,fn=e.unstable_setDisableYieldValue,Gt=null,rt=null;function Tn(r){if(rt&&typeof rt.onCommitFiberRoot=="function")try{rt.onCommitFiberRoot(Gt,r,void 0,(r.current.flags&128)===128)}catch{}}function xt(r){if(typeof qt=="function"&&fn(r),rt&&typeof rt.setStrictMode=="function")try{rt.setStrictMode(Gt,r)}catch{}}var Lt=Math.clz32?Math.clz32:Dl,Ya=Math.log,Ni=Math.LN2;function Dl(r){return r>>>=0,r===0?32:31-(Ya(r)/Ni|0)|0}var Oi=128,la=4194304;function Jt(r){var i=r&42;if(i!==0)return i;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function ji(r,i){var l=r.pendingLanes;if(l===0)return 0;var d=0,p=r.suspendedLanes,v=r.pingedLanes,C=r.warmLanes;r=r.finishedLanes!==0;var P=l&134217727;return P!==0?(l=P&~p,l!==0?d=Jt(l):(v&=P,v!==0?d=Jt(v):r||(C=P&~C,C!==0&&(d=Jt(C))))):(P=l&~p,P!==0?d=Jt(P):v!==0?d=Jt(v):r||(C=l&~C,C!==0&&(d=Jt(C)))),d===0?0:i!==0&&i!==d&&!(i&p)&&(p=d&-d,C=i&-i,p>=C||p===32&&(C&4194176)!==0)?i:d}function qe(r,i){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&i)===0}function lt(r,i){switch(r){case 1:case 2:case 4:case 8:return i+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function pt(){var r=Oi;return Oi<<=1,!(Oi&4194176)&&(Oi=128),r}function hn(){var r=la;return la<<=1,!(la&62914560)&&(la=4194304),r}function sn(r){for(var i=[],l=0;31>l;l++)i.push(r);return i}function pn(r,i){r.pendingLanes|=i,i!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function Nr(r,i,l,d,p,v){var C=r.pendingLanes;r.pendingLanes=l,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=l,r.entangledLanes&=l,r.errorRecoveryDisabledLanes&=l,r.shellSuspendCounter=0;var P=r.entanglements,V=r.expirationTimes,Q=r.hiddenUpdates;for(l=C&~l;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),jR=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),fv={},hv={};function LR(r){return pe.call(hv,r)?!0:pe.call(fv,r)?!1:jR.test(r)?hv[r]=!0:(fv[r]=!0,!1)}function Nl(r,i,l){if(LR(i))if(l===null)r.removeAttribute(i);else{switch(typeof l){case"undefined":case"function":case"symbol":r.removeAttribute(i);return;case"boolean":var d=i.toLowerCase().slice(0,5);if(d!=="data-"&&d!=="aria-"){r.removeAttribute(i);return}}r.setAttribute(i,""+l)}}function Ol(r,i,l){if(l===null)r.removeAttribute(i);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":r.removeAttribute(i);return}r.setAttribute(i,""+l)}}function jr(r,i,l,d){if(d===null)r.removeAttribute(l);else{switch(typeof d){case"undefined":case"function":case"symbol":case"boolean":r.removeAttribute(l);return}r.setAttributeNS(i,l,""+d)}}function zn(r){switch(typeof r){case"bigint":case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function pv(r){var i=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(i==="checkbox"||i==="radio")}function zR(r){var i=pv(r)?"checked":"value",l=Object.getOwnPropertyDescriptor(r.constructor.prototype,i),d=""+r[i];if(!r.hasOwnProperty(i)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var p=l.get,v=l.set;return Object.defineProperty(r,i,{configurable:!0,get:function(){return p.call(this)},set:function(C){d=""+C,v.call(this,C)}}),Object.defineProperty(r,i,{enumerable:l.enumerable}),{getValue:function(){return d},setValue:function(C){d=""+C},stopTracking:function(){r._valueTracker=null,delete r[i]}}}}function jl(r){r._valueTracker||(r._valueTracker=zR(r))}function mv(r){if(!r)return!1;var i=r._valueTracker;if(!i)return!0;var l=i.getValue(),d="";return r&&(d=pv(r)?r.checked?"true":"false":r.value),r=d,r!==l?(i.setValue(r),!0):!1}function Ll(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var MR=/[\n"\\]/g;function Mn(r){return r.replace(MR,function(i){return"\\"+i.charCodeAt(0).toString(16)+" "})}function Ad(r,i,l,d,p,v,C,P){r.name="",C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?r.type=C:r.removeAttribute("type"),i!=null?C==="number"?(i===0&&r.value===""||r.value!=i)&&(r.value=""+zn(i)):r.value!==""+zn(i)&&(r.value=""+zn(i)):C!=="submit"&&C!=="reset"||r.removeAttribute("value"),i!=null?kd(r,C,zn(i)):l!=null?kd(r,C,zn(l)):d!=null&&r.removeAttribute("value"),p==null&&v!=null&&(r.defaultChecked=!!v),p!=null&&(r.checked=p&&typeof p!="function"&&typeof p!="symbol"),P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"?r.name=""+zn(P):r.removeAttribute("name")}function gv(r,i,l,d,p,v,C,P){if(v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"&&(r.type=v),i!=null||l!=null){if(!(v!=="submit"&&v!=="reset"||i!=null))return;l=l!=null?""+zn(l):"",i=i!=null?""+zn(i):l,P||i===r.value||(r.value=i),r.defaultValue=i}d=d??p,d=typeof d!="function"&&typeof d!="symbol"&&!!d,r.checked=P?r.checked:!!d,r.defaultChecked=!!d,C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(r.name=C)}function kd(r,i,l){i==="number"&&Ll(r.ownerDocument)===r||r.defaultValue===""+l||(r.defaultValue=""+l)}function Gi(r,i,l,d){if(r=r.options,i){i={};for(var p=0;p=rs),kv=" ",Dv=!1;function Nv(r,i){switch(r){case"keyup":return u2.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ov(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Ii=!1;function f2(r,i){switch(r){case"compositionend":return Ov(i);case"keypress":return i.which!==32?null:(Dv=!0,kv);case"textInput":return r=i.data,r===kv&&Dv?null:r;default:return null}}function h2(r,i){if(Ii)return r==="compositionend"||!Ud&&Nv(r,i)?(r=Sv(),Ml=zd=ua=null,Ii=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1=i)return{node:l,offset:i-r};r=d}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=Uv(l)}}function Iv(r,i){return r&&i?r===i?!0:r&&r.nodeType===3?!1:i&&i.nodeType===3?Iv(r,i.parentNode):"contains"in r?r.contains(i):r.compareDocumentPosition?!!(r.compareDocumentPosition(i)&16):!1:!1}function Hv(r){r=r!=null&&r.ownerDocument!=null&&r.ownerDocument.defaultView!=null?r.ownerDocument.defaultView:window;for(var i=Ll(r.document);i instanceof r.HTMLIFrameElement;){try{var l=typeof i.contentWindow.location.href=="string"}catch{l=!1}if(l)r=i.contentWindow;else break;i=Ll(r.document)}return i}function Hd(r){var i=r&&r.nodeName&&r.nodeName.toLowerCase();return i&&(i==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||i==="textarea"||r.contentEditable==="true")}function w2(r,i){var l=Hv(i);i=r.focusedElem;var d=r.selectionRange;if(l!==i&&i&&i.ownerDocument&&Iv(i.ownerDocument.documentElement,i)){if(d!==null&&Hd(i)){if(r=d.start,l=d.end,l===void 0&&(l=r),"selectionStart"in i)i.selectionStart=r,i.selectionEnd=Math.min(l,i.value.length);else if(l=(r=i.ownerDocument||document)&&r.defaultView||window,l.getSelection){l=l.getSelection();var p=i.textContent.length,v=Math.min(d.start,p);d=d.end===void 0?v:Math.min(d.end,p),!l.extend&&v>d&&(p=d,d=v,v=p),p=Bv(i,v);var C=Bv(i,d);p&&C&&(l.rangeCount!==1||l.anchorNode!==p.node||l.anchorOffset!==p.offset||l.focusNode!==C.node||l.focusOffset!==C.offset)&&(r=r.createRange(),r.setStart(p.node,p.offset),l.removeAllRanges(),v>d?(l.addRange(r),l.extend(C.node,C.offset)):(r.setEnd(C.node,C.offset),l.addRange(r)))}}for(r=[],l=i;l=l.parentNode;)l.nodeType===1&&r.push({element:l,left:l.scrollLeft,top:l.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i=document.documentMode,Hi=null,$d=null,ss=null,Vd=!1;function $v(r,i,l){var d=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Vd||Hi==null||Hi!==Ll(d)||(d=Hi,"selectionStart"in d&&Hd(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),ss&&os(ss,d)||(ss=d,d=Sc($d,"onSelect"),0>=C,p-=C,Lr=1<<32-Lt(i)+p|l<Ve?(It=Ue,Ue=null):It=Ue.sibling;var st=se(ee,Ue,ae[Ve],ge);if(st===null){Ue===null&&(Ue=It);break}r&&Ue&&st.alternate===null&&i(ee,Ue),Z=v(st,Z,Ve),Qe===null?ze=st:Qe.sibling=st,Qe=st,Ue=It}if(Ve===ae.length)return l(ee,Ue),ot&&ei(ee,Ve),ze;if(Ue===null){for(;VeVe?(It=Ue,Ue=null):It=Ue.sibling;var Da=se(ee,Ue,st.value,ge);if(Da===null){Ue===null&&(Ue=It);break}r&&Ue&&Da.alternate===null&&i(ee,Ue),Z=v(Da,Z,Ve),Qe===null?ze=Da:Qe.sibling=Da,Qe=Da,Ue=It}if(st.done)return l(ee,Ue),ot&&ei(ee,Ve),ze;if(Ue===null){for(;!st.done;Ve++,st=ae.next())st=xe(ee,st.value,ge),st!==null&&(Z=v(st,Z,Ve),Qe===null?ze=st:Qe.sibling=st,Qe=st);return ot&&ei(ee,Ve),ze}for(Ue=d(Ue);!st.done;Ve++,st=ae.next())st=ue(Ue,ee,Ve,st.value,ge),st!==null&&(r&&st.alternate!==null&&Ue.delete(st.key===null?Ve:st.key),Z=v(st,Z,Ve),Qe===null?ze=st:Qe.sibling=st,Qe=st);return r&&Ue.forEach(function(FA){return i(ee,FA)}),ot&&ei(ee,Ve),ze}function At(ee,Z,ae,ge){if(typeof ae=="object"&&ae!==null&&ae.type===f&&ae.key===null&&(ae=ae.props.children),typeof ae=="object"&&ae!==null){switch(ae.$$typeof){case c:e:{for(var ze=ae.key;Z!==null;){if(Z.key===ze){if(ze=ae.type,ze===f){if(Z.tag===7){l(ee,Z.sibling),ge=p(Z,ae.props.children),ge.return=ee,ee=ge;break e}}else if(Z.elementType===ze||typeof ze=="object"&&ze!==null&&ze.$$typeof===T&&sy(ze)===Z.type){l(ee,Z.sibling),ge=p(Z,ae.props),ps(ge,ae),ge.return=ee,ee=ge;break e}l(ee,Z);break}else i(ee,Z);Z=Z.sibling}ae.type===f?(ge=di(ae.props.children,ee.mode,ge,ae.key),ge.return=ee,ee=ge):(ge=hc(ae.type,ae.key,ae.props,null,ee.mode,ge),ps(ge,ae),ge.return=ee,ee=ge)}return C(ee);case u:e:{for(ze=ae.key;Z!==null;){if(Z.key===ze)if(Z.tag===4&&Z.stateNode.containerInfo===ae.containerInfo&&Z.stateNode.implementation===ae.implementation){l(ee,Z.sibling),ge=p(Z,ae.children||[]),ge.return=ee,ee=ge;break e}else{l(ee,Z);break}else i(ee,Z);Z=Z.sibling}ge=Wf(ae,ee.mode,ge),ge.return=ee,ee=ge}return C(ee);case T:return ze=ae._init,ae=ze(ae._payload),At(ee,Z,ae,ge)}if($(ae))return Ge(ee,Z,ae,ge);if(M(ae)){if(ze=M(ae),typeof ze!="function")throw Error(a(150));return ae=ze.call(ae),Ye(ee,Z,ae,ge)}if(typeof ae.then=="function")return At(ee,Z,Wl(ae),ge);if(ae.$$typeof===b)return At(ee,Z,uc(ee,ae),ge);Xl(ee,ae)}return typeof ae=="string"&&ae!==""||typeof ae=="number"||typeof ae=="bigint"?(ae=""+ae,Z!==null&&Z.tag===6?(l(ee,Z.sibling),ge=p(Z,ae),ge.return=ee,ee=ge):(l(ee,Z),ge=Yf(ae,ee.mode,ge),ge.return=ee,ee=ge),C(ee)):l(ee,Z)}return function(ee,Z,ae,ge){try{hs=0;var ze=At(ee,Z,ae,ge);return Xi=null,ze}catch(Ue){if(Ue===ds)throw Ue;var Qe=$n(29,Ue,null,ee.mode);return Qe.lanes=ge,Qe.return=ee,Qe}finally{}}}var ni=ly(!0),cy=ly(!1),Ki=oe(null),Kl=oe(0);function uy(r,i){r=qr,he(Kl,r),he(Ki,i),qr=r|i.baseLanes}function Jd(){he(Kl,qr),he(Ki,Ki.current)}function ef(){qr=Kl.current,Te(Ki),Te(Kl)}var Bn=oe(null),mr=null;function fa(r){var i=r.alternate;he(zt,zt.current&1),he(Bn,r),mr===null&&(i===null||Ki.current!==null||i.memoizedState!==null)&&(mr=r)}function dy(r){if(r.tag===22){if(he(zt,zt.current),he(Bn,r),mr===null){var i=r.alternate;i!==null&&i.memoizedState!==null&&(mr=r)}}else ha()}function ha(){he(zt,zt.current),he(Bn,Bn.current)}function Mr(r){Te(Bn),mr===r&&(mr=null),Te(zt)}var zt=oe(0);function Zl(r){for(var i=r;i!==null;){if(i.tag===13){var l=i.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||l.data==="$?"||l.data==="$!"))return i}else if(i.tag===19&&i.memoizedProps.revealOrder!==void 0){if(i.flags&128)return i}else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===r)break;for(;i.sibling===null;){if(i.return===null||i.return===r)return null;i=i.return}i.sibling.return=i.return,i=i.sibling}return null}var C2=typeof AbortController<"u"?AbortController:function(){var r=[],i=this.signal={aborted:!1,addEventListener:function(l,d){r.push(d)}};this.abort=function(){i.aborted=!0,r.forEach(function(l){return l()})}},R2=e.unstable_scheduleCallback,A2=e.unstable_NormalPriority,Mt={$$typeof:b,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function tf(){return{controller:new C2,data:new Map,refCount:0}}function ms(r){r.refCount--,r.refCount===0&&R2(A2,function(){r.controller.abort()})}var gs=null,nf=0,Zi=0,Qi=null;function k2(r,i){if(gs===null){var l=gs=[];nf=0,Zi=ch(),Qi={status:"pending",value:void 0,then:function(d){l.push(d)}}}return nf++,i.then(fy,fy),i}function fy(){if(--nf===0&&gs!==null){Qi!==null&&(Qi.status="fulfilled");var r=gs;gs=null,Zi=0,Qi=null;for(var i=0;iv?v:8;var C=L.T,P={};L.T=P,xf(r,!1,i,l);try{var V=p(),Q=L.S;if(Q!==null&&Q(P,V),V!==null&&typeof V=="object"&&typeof V.then=="function"){var fe=D2(V,d);bs(r,i,fe,Dn(r))}else bs(r,i,d,Dn(r))}catch(xe){bs(r,i,{then:function(){},status:"rejected",reason:xe},Dn())}finally{W.p=v,L.T=C}}function z2(){}function yf(r,i,l,d){if(r.tag!==5)throw Error(a(476));var p=Hy(r).queue;Iy(r,p,i,re,l===null?z2:function(){return $y(r),l(d)})}function Hy(r){var i=r.memoizedState;if(i!==null)return i;i={memoizedState:re,baseState:re,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pr,lastRenderedState:re},next:null};var l={};return i.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pr,lastRenderedState:l},next:null},r.memoizedState=i,r=r.alternate,r!==null&&(r.memoizedState=i),i}function $y(r){var i=Hy(r).next.queue;bs(r,i,{},Dn())}function bf(){return tn(Fs)}function Vy(){return Ot().memoizedState}function qy(){return Ot().memoizedState}function M2(r){for(var i=r.return;i!==null;){switch(i.tag){case 24:case 3:var l=Dn();r=ya(l);var d=ba(i,r,l);d!==null&&(cn(d,i,l),Es(d,i,l)),i={cache:tf()},r.payload=i;return}i=i.return}}function P2(r,i,l){var d=Dn();l={lane:d,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null},oc(r)?Wy(i,l):(l=Wd(r,i,l,d),l!==null&&(cn(l,r,d),Xy(l,i,d)))}function Yy(r,i,l){var d=Dn();bs(r,i,l,d)}function bs(r,i,l,d){var p={lane:d,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null};if(oc(r))Wy(i,p);else{var v=r.alternate;if(r.lanes===0&&(v===null||v.lanes===0)&&(v=i.lastRenderedReducer,v!==null))try{var C=i.lastRenderedState,P=v(C,l);if(p.hasEagerState=!0,p.eagerState=P,Cn(P,C))return Hl(r,i,p,0),vt===null&&Il(),!1}catch{}finally{}if(l=Wd(r,i,p,d),l!==null)return cn(l,r,d),Xy(l,i,d),!0}return!1}function xf(r,i,l,d){if(d={lane:2,revertLane:ch(),action:d,hasEagerState:!1,eagerState:null,next:null},oc(r)){if(i)throw Error(a(479))}else i=Wd(r,l,d,2),i!==null&&cn(i,r,2)}function oc(r){var i=r.alternate;return r===Ze||i!==null&&i===Ze}function Wy(r,i){Ji=Jl=!0;var l=r.pending;l===null?i.next=i:(i.next=l.next,l.next=i),r.pending=i}function Xy(r,i,l){if(l&4194176){var d=i.lanes;d&=r.pendingLanes,l|=d,i.lanes=l,Qn(r,l)}}var gr={readContext:tn,use:nc,useCallback:kt,useContext:kt,useEffect:kt,useImperativeHandle:kt,useLayoutEffect:kt,useInsertionEffect:kt,useMemo:kt,useReducer:kt,useRef:kt,useState:kt,useDebugValue:kt,useDeferredValue:kt,useTransition:kt,useSyncExternalStore:kt,useId:kt};gr.useCacheRefresh=kt,gr.useMemoCache=kt,gr.useHostTransitionStatus=kt,gr.useFormState=kt,gr.useActionState=kt,gr.useOptimistic=kt;var ii={readContext:tn,use:nc,useCallback:function(r,i){return yn().memoizedState=[r,i===void 0?null:i],r},useContext:tn,useEffect:Ly,useImperativeHandle:function(r,i,l){l=l!=null?l.concat([r]):null,ac(4194308,4,Py.bind(null,i,r),l)},useLayoutEffect:function(r,i){return ac(4194308,4,r,i)},useInsertionEffect:function(r,i){ac(4,2,r,i)},useMemo:function(r,i){var l=yn();i=i===void 0?null:i;var d=r();if(ai){xt(!0);try{r()}finally{xt(!1)}}return l.memoizedState=[d,i],d},useReducer:function(r,i,l){var d=yn();if(l!==void 0){var p=l(i);if(ai){xt(!0);try{l(i)}finally{xt(!1)}}}else p=i;return d.memoizedState=d.baseState=p,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:p},d.queue=r,r=r.dispatch=P2.bind(null,Ze,r),[d.memoizedState,r]},useRef:function(r){var i=yn();return r={current:r},i.memoizedState=r},useState:function(r){r=hf(r);var i=r.queue,l=Yy.bind(null,Ze,i);return i.dispatch=l,[r.memoizedState,l]},useDebugValue:gf,useDeferredValue:function(r,i){var l=yn();return vf(l,r,i)},useTransition:function(){var r=hf(!1);return r=Iy.bind(null,Ze,r.queue,!0,!1),yn().memoizedState=r,[!1,r]},useSyncExternalStore:function(r,i,l){var d=Ze,p=yn();if(ot){if(l===void 0)throw Error(a(407));l=l()}else{if(l=i(),vt===null)throw Error(a(349));nt&60||yy(d,i,l)}p.memoizedState=l;var v={value:l,getSnapshot:i};return p.queue=v,Ly(xy.bind(null,d,v,r),[r]),d.flags|=2048,to(9,by.bind(null,d,v,l,i),{destroy:void 0},null),l},useId:function(){var r=yn(),i=vt.identifierPrefix;if(ot){var l=zr,d=Lr;l=(d&~(1<<32-Lt(d)-1)).toString(32)+l,i=":"+i+"R"+l,l=ec++,0 title"))),Xt(v,d,l),v[en]=r,Ft(v),d=v;break e;case"link":var C=Ex("link","href",p).get(d+(l.href||""));if(C){for(var P=0;P<\/script>",r=r.removeChild(r.firstChild);break;case"select":r=typeof d.is=="string"?p.createElement("select",{is:d.is}):p.createElement("select"),d.multiple?r.multiple=!0:d.size&&(r.size=d.size);break;default:r=typeof d.is=="string"?p.createElement(l,{is:d.is}):p.createElement(l)}}r[en]=i,r[gn]=d;e:for(p=i.child;p!==null;){if(p.tag===5||p.tag===6)r.appendChild(p.stateNode);else if(p.tag!==4&&p.tag!==27&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===i)break e;for(;p.sibling===null;){if(p.return===null||p.return===i)break e;p=p.return}p.sibling.return=p.return,p=p.sibling}i.stateNode=r;e:switch(Xt(r,l,d),l){case"button":case"input":case"select":case"textarea":r=!!d.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&$r(i)}}return wt(i),i.flags&=-16777217,null;case 6:if(r&&i.stateNode!=null)r.memoizedProps!==d&&$r(i);else{if(typeof d!="string"&&i.stateNode===null)throw Error(a(166));if(r=je.current,ls(i)){if(r=i.stateNode,l=i.memoizedProps,d=null,p=ln,p!==null)switch(p.tag){case 27:case 5:d=p.memoizedProps}r[en]=i,r=!!(r.nodeValue===l||d!==null&&d.suppressHydrationWarning===!0||ux(r.nodeValue,l)),r||ti(i)}else r=Tc(r).createTextNode(d),r[en]=i,i.stateNode=r}return wt(i),null;case 13:if(d=i.memoizedState,r===null||r.memoizedState!==null&&r.memoizedState.dehydrated!==null){if(p=ls(i),d!==null&&d.dehydrated!==null){if(r===null){if(!p)throw Error(a(318));if(p=i.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(a(317));p[en]=i}else cs(),!(i.flags&128)&&(i.memoizedState=null),i.flags|=4;wt(i),p=!1}else er!==null&&(nh(er),er=null),p=!0;if(!p)return i.flags&256?(Mr(i),i):(Mr(i),null)}if(Mr(i),i.flags&128)return i.lanes=l,i;if(l=d!==null,r=r!==null&&r.memoizedState!==null,l){d=i.child,p=null,d.alternate!==null&&d.alternate.memoizedState!==null&&d.alternate.memoizedState.cachePool!==null&&(p=d.alternate.memoizedState.cachePool.pool);var v=null;d.memoizedState!==null&&d.memoizedState.cachePool!==null&&(v=d.memoizedState.cachePool.pool),v!==p&&(d.flags|=2048)}return l!==r&&l&&(i.child.flags|=8192),pc(i,i.updateQueue),wt(i),null;case 4:return J(),r===null&&hh(i.stateNode.containerInfo),wt(i),null;case 10:return Ur(i.type),wt(i),null;case 19:if(Te(zt),p=i.memoizedState,p===null)return wt(i),null;if(d=(i.flags&128)!==0,v=p.rendering,v===null)if(d)ks(p,!1);else{if(Rt!==0||r!==null&&r.flags&128)for(r=i.child;r!==null;){if(v=Zl(r),v!==null){for(i.flags|=128,ks(p,!1),r=v.updateQueue,i.updateQueue=r,pc(i,r),i.subtreeFlags=0,r=l,l=i.child;l!==null;)Gb(l,r),l=l.sibling;return he(zt,zt.current&1|2),i.child}r=r.sibling}p.tail!==null&&me()>mc&&(i.flags|=128,d=!0,ks(p,!1),i.lanes=4194304)}else{if(!d)if(r=Zl(v),r!==null){if(i.flags|=128,d=!0,r=r.updateQueue,i.updateQueue=r,pc(i,r),ks(p,!0),p.tail===null&&p.tailMode==="hidden"&&!v.alternate&&!ot)return wt(i),null}else 2*me()-p.renderingStartTime>mc&&l!==536870912&&(i.flags|=128,d=!0,ks(p,!1),i.lanes=4194304);p.isBackwards?(v.sibling=i.child,i.child=v):(r=p.last,r!==null?r.sibling=v:i.child=v,p.last=v)}return p.tail!==null?(i=p.tail,p.rendering=i,p.tail=i.sibling,p.renderingStartTime=me(),i.sibling=null,r=zt.current,he(zt,d?r&1|2:r&1),i):(wt(i),null);case 22:case 23:return Mr(i),ef(),d=i.memoizedState!==null,r!==null?r.memoizedState!==null!==d&&(i.flags|=8192):d&&(i.flags|=8192),d?l&536870912&&!(i.flags&128)&&(wt(i),i.subtreeFlags&6&&(i.flags|=8192)):wt(i),l=i.updateQueue,l!==null&&pc(i,l.retryQueue),l=null,r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(l=r.memoizedState.cachePool.pool),d=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(d=i.memoizedState.cachePool.pool),d!==l&&(i.flags|=2048),r!==null&&Te(ri),null;case 24:return l=null,r!==null&&(l=r.memoizedState.cache),i.memoizedState.cache!==l&&(i.flags|=2048),Ur(Mt),wt(i),null;case 25:return null}throw Error(a(156,i.tag))}function $2(r,i){switch(Kd(i),i.tag){case 1:return r=i.flags,r&65536?(i.flags=r&-65537|128,i):null;case 3:return Ur(Mt),J(),r=i.flags,r&65536&&!(r&128)?(i.flags=r&-65537|128,i):null;case 26:case 27:case 5:return _e(i),null;case 13:if(Mr(i),r=i.memoizedState,r!==null&&r.dehydrated!==null){if(i.alternate===null)throw Error(a(340));cs()}return r=i.flags,r&65536?(i.flags=r&-65537|128,i):null;case 19:return Te(zt),null;case 4:return J(),null;case 10:return Ur(i.type),null;case 22:case 23:return Mr(i),ef(),r!==null&&Te(ri),r=i.flags,r&65536?(i.flags=r&-65537|128,i):null;case 24:return Ur(Mt),null;case 25:return null;default:return null}}function Bb(r,i){switch(Kd(i),i.tag){case 3:Ur(Mt),J();break;case 26:case 27:case 5:_e(i);break;case 4:J();break;case 13:Mr(i);break;case 19:Te(zt);break;case 10:Ur(i.type);break;case 22:case 23:Mr(i),ef(),r!==null&&Te(ri);break;case 24:Ur(Mt)}}var V2={getCacheForType:function(r){var i=tn(Mt),l=i.data.get(r);return l===void 0&&(l=r(),i.data.set(r,l)),l}},q2=typeof WeakMap=="function"?WeakMap:Map,Et=0,vt=null,Je=null,nt=0,yt=0,kn=null,Vr=!1,io=!1,Xf=!1,qr=0,Rt=0,_a=0,fi=0,Kf=0,Vn=0,oo=0,Ds=null,vr=null,Zf=!1,Qf=0,mc=1/0,gc=null,Ta=null,vc=!1,hi=null,Ns=0,Jf=0,eh=null,Os=0,th=null;function Dn(){if(Et&2&&nt!==0)return nt&-nt;if(L.T!==null){var r=Zi;return r!==0?r:ch()}return lv()}function Ib(){Vn===0&&(Vn=!(nt&536870912)||ot?pt():536870912);var r=Bn.current;return r!==null&&(r.flags|=32),Vn}function cn(r,i,l){(r===vt&&yt===2||r.cancelPendingCommit!==null)&&(so(r,0),Yr(r,nt,Vn,!1)),pn(r,l),(!(Et&2)||r!==vt)&&(r===vt&&(!(Et&2)&&(fi|=l),Rt===4&&Yr(r,nt,Vn,!1)),yr(r))}function Hb(r,i,l){if(Et&6)throw Error(a(327));var d=!l&&(i&60)===0&&(i&r.expiredLanes)===0||qe(r,i),p=d?X2(r,i):ih(r,i,!0),v=d;do{if(p===0){io&&!d&&Yr(r,i,0,!1);break}else if(p===6)Yr(r,i,0,!Vr);else{if(l=r.current.alternate,v&&!Y2(l)){p=ih(r,i,!1),v=!1;continue}if(p===2){if(v=i,r.errorRecoveryDisabledLanes&v)var C=0;else C=r.pendingLanes&-536870913,C=C!==0?C:C&536870912?536870912:0;if(C!==0){i=C;e:{var P=r;p=Ds;var V=P.current.memoizedState.isDehydrated;if(V&&(so(P,C).flags|=256),C=ih(P,C,!1),C!==2){if(Xf&&!V){P.errorRecoveryDisabledLanes|=v,fi|=v,p=4;break e}v=vr,vr=p,v!==null&&nh(v)}p=C}if(v=!1,p!==2)continue}}if(p===1){so(r,0),Yr(r,i,0,!0);break}e:{switch(d=r,p){case 0:case 1:throw Error(a(345));case 4:if((i&4194176)===i){Yr(d,i,Vn,!Vr);break e}break;case 2:vr=null;break;case 3:case 5:break;default:throw Error(a(329))}if(d.finishedWork=l,d.finishedLanes=i,(i&62914560)===i&&(v=Qf+300-me(),10l?32:l,L.T=null,hi===null)var v=!1;else{l=eh,eh=null;var C=hi,P=Ns;if(hi=null,Ns=0,Et&6)throw Error(a(331));var V=Et;if(Et|=4,Mb(C.current),jb(C,C.current,P,l),Et=V,js(0,!1),rt&&typeof rt.onPostCommitFiberRoot=="function")try{rt.onPostCommitFiberRoot(Gt,C)}catch{}v=!0}return v}finally{W.p=p,L.T=d,Qb(r,i)}}return!1}function Jb(r,i,l){i=Gn(l,i),i=Sf(r.stateNode,i,2),r=ba(r,i,2),r!==null&&(pn(r,2),yr(r))}function mt(r,i,l){if(r.tag===3)Jb(r,r,l);else for(;i!==null;){if(i.tag===3){Jb(i,r,l);break}else if(i.tag===1){var d=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof d.componentDidCatch=="function"&&(Ta===null||!Ta.has(d))){r=Gn(l,r),l=nb(2),d=ba(i,l,2),d!==null&&(rb(l,d,i,r),pn(d,2),yr(d));break}}i=i.return}}function oh(r,i,l){var d=r.pingCache;if(d===null){d=r.pingCache=new q2;var p=new Set;d.set(i,p)}else p=d.get(i),p===void 0&&(p=new Set,d.set(i,p));p.has(l)||(Xf=!0,p.add(l),r=Q2.bind(null,r,i,l),i.then(r,r))}function Q2(r,i,l){var d=r.pingCache;d!==null&&d.delete(i),r.pingedLanes|=r.suspendedLanes&l,r.warmLanes&=~l,vt===r&&(nt&l)===l&&(Rt===4||Rt===3&&(nt&62914560)===nt&&300>me()-Qf?!(Et&2)&&so(r,0):Kf|=l,oo===nt&&(oo=0)),yr(r)}function ex(r,i){i===0&&(i=hn()),r=da(r,i),r!==null&&(pn(r,i),yr(r))}function J2(r){var i=r.memoizedState,l=0;i!==null&&(l=i.retryLane),ex(r,l)}function eA(r,i){var l=0;switch(r.tag){case 13:var d=r.stateNode,p=r.memoizedState;p!==null&&(l=p.retryLane);break;case 19:d=r.stateNode;break;case 22:d=r.stateNode._retryCache;break;default:throw Error(a(314))}d!==null&&d.delete(i),ex(r,l)}function tA(r,i){return Ee(r,i)}var xc=null,uo=null,sh=!1,wc=!1,lh=!1,pi=0;function yr(r){r!==uo&&r.next===null&&(uo===null?xc=uo=r:uo=uo.next=r),wc=!0,sh||(sh=!0,rA(nA))}function js(r,i){if(!lh&&wc){lh=!0;do for(var l=!1,d=xc;d!==null;){if(r!==0){var p=d.pendingLanes;if(p===0)var v=0;else{var C=d.suspendedLanes,P=d.pingedLanes;v=(1<<31-Lt(42|r)+1)-1,v&=p&~(C&~P),v=v&201326677?v&201326677|1:v?v|2:0}v!==0&&(l=!0,rx(d,v))}else v=nt,v=ji(d,d===vt?v:0),!(v&3)||qe(d,v)||(l=!0,rx(d,v));d=d.next}while(l);lh=!1}}function nA(){wc=sh=!1;var r=0;pi!==0&&(dA()&&(r=pi),pi=0);for(var i=me(),l=null,d=xc;d!==null;){var p=d.next,v=tx(d,i);v===0?(d.next=null,l===null?xc=p:l.next=p,p===null&&(uo=l)):(l=d,(r!==0||v&3)&&(wc=!0)),d=p}js(r)}function tx(r,i){for(var l=r.suspendedLanes,d=r.pingedLanes,p=r.expirationTimes,v=r.pendingLanes&-62914561;0"u"?null:document;function yx(r,i,l){var d=ho;if(d&&typeof i=="string"&&i){var p=Mn(i);p='link[rel="'+r+'"][href="'+p+'"]',typeof l=="string"&&(p+='[crossorigin="'+l+'"]'),vx.has(p)||(vx.add(p),r={rel:r,crossOrigin:l,href:i},d.querySelector(p)===null&&(i=d.createElement("link"),Xt(i,"link",r),Ft(i),d.head.appendChild(i)))}}function bA(r){Wr.D(r),yx("dns-prefetch",r,null)}function xA(r,i){Wr.C(r,i),yx("preconnect",r,i)}function wA(r,i,l){Wr.L(r,i,l);var d=ho;if(d&&r&&i){var p='link[rel="preload"][as="'+Mn(i)+'"]';i==="image"&&l&&l.imageSrcSet?(p+='[imagesrcset="'+Mn(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(p+='[imagesizes="'+Mn(l.imageSizes)+'"]')):p+='[href="'+Mn(r)+'"]';var v=p;switch(i){case"style":v=po(r);break;case"script":v=mo(r)}qn.has(v)||(r=I({rel:"preload",href:i==="image"&&l&&l.imageSrcSet?void 0:r,as:i},l),qn.set(v,r),d.querySelector(p)!==null||i==="style"&&d.querySelector(Ms(v))||i==="script"&&d.querySelector(Ps(v))||(i=d.createElement("link"),Xt(i,"link",r),Ft(i),d.head.appendChild(i)))}}function EA(r,i){Wr.m(r,i);var l=ho;if(l&&r){var d=i&&typeof i.as=="string"?i.as:"script",p='link[rel="modulepreload"][as="'+Mn(d)+'"][href="'+Mn(r)+'"]',v=p;switch(d){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":v=mo(r)}if(!qn.has(v)&&(r=I({rel:"modulepreload",href:r},i),qn.set(v,r),l.querySelector(p)===null)){switch(d){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(Ps(v)))return}d=l.createElement("link"),Xt(d,"link",r),Ft(d),l.head.appendChild(d)}}}function SA(r,i,l){Wr.S(r,i,l);var d=ho;if(d&&r){var p=Mi(d).hoistableStyles,v=po(r);i=i||"default";var C=p.get(v);if(!C){var P={loading:0,preload:null};if(C=d.querySelector(Ms(v)))P.loading=5;else{r=I({rel:"stylesheet",href:r,"data-precedence":i},l),(l=qn.get(v))&&Eh(r,l);var V=C=d.createElement("link");Ft(V),Xt(V,"link",r),V._p=new Promise(function(Q,fe){V.onload=Q,V.onerror=fe}),V.addEventListener("load",function(){P.loading|=1}),V.addEventListener("error",function(){P.loading|=2}),P.loading|=4,Rc(C,i,d)}C={type:"stylesheet",instance:C,count:1,state:P},p.set(v,C)}}}function _A(r,i){Wr.X(r,i);var l=ho;if(l&&r){var d=Mi(l).hoistableScripts,p=mo(r),v=d.get(p);v||(v=l.querySelector(Ps(p)),v||(r=I({src:r,async:!0},i),(i=qn.get(p))&&Sh(r,i),v=l.createElement("script"),Ft(v),Xt(v,"link",r),l.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},d.set(p,v))}}function TA(r,i){Wr.M(r,i);var l=ho;if(l&&r){var d=Mi(l).hoistableScripts,p=mo(r),v=d.get(p);v||(v=l.querySelector(Ps(p)),v||(r=I({src:r,async:!0,type:"module"},i),(i=qn.get(p))&&Sh(r,i),v=l.createElement("script"),Ft(v),Xt(v,"link",r),l.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},d.set(p,v))}}function bx(r,i,l,d){var p=(p=je.current)?Cc(p):null;if(!p)throw Error(a(446));switch(r){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(i=po(l.href),l=Mi(p).hoistableStyles,d=l.get(i),d||(d={type:"style",instance:null,count:0,state:null},l.set(i,d)),d):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){r=po(l.href);var v=Mi(p).hoistableStyles,C=v.get(r);if(C||(p=p.ownerDocument||p,C={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},v.set(r,C),(v=p.querySelector(Ms(r)))&&!v._p&&(C.instance=v,C.state.loading=5),qn.has(r)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},qn.set(r,l),v||CA(p,r,l,C.state))),i&&d===null)throw Error(a(528,""));return C}if(i&&d!==null)throw Error(a(529,""));return null;case"script":return i=l.async,l=l.src,typeof l=="string"&&i&&typeof i!="function"&&typeof i!="symbol"?(i=mo(l),l=Mi(p).hoistableScripts,d=l.get(i),d||(d={type:"script",instance:null,count:0,state:null},l.set(i,d)),d):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,r))}}function po(r){return'href="'+Mn(r)+'"'}function Ms(r){return'link[rel="stylesheet"]['+r+"]"}function xx(r){return I({},r,{"data-precedence":r.precedence,precedence:null})}function CA(r,i,l,d){r.querySelector('link[rel="preload"][as="style"]['+i+"]")?d.loading=1:(i=r.createElement("link"),d.preload=i,i.addEventListener("load",function(){return d.loading|=1}),i.addEventListener("error",function(){return d.loading|=2}),Xt(i,"link",l),Ft(i),r.head.appendChild(i))}function mo(r){return'[src="'+Mn(r)+'"]'}function Ps(r){return"script[async]"+r}function wx(r,i,l){if(i.count++,i.instance===null)switch(i.type){case"style":var d=r.querySelector('style[data-href~="'+Mn(l.href)+'"]');if(d)return i.instance=d,Ft(d),d;var p=I({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return d=(r.ownerDocument||r).createElement("style"),Ft(d),Xt(d,"style",p),Rc(d,l.precedence,r),i.instance=d;case"stylesheet":p=po(l.href);var v=r.querySelector(Ms(p));if(v)return i.state.loading|=4,i.instance=v,Ft(v),v;d=xx(l),(p=qn.get(p))&&Eh(d,p),v=(r.ownerDocument||r).createElement("link"),Ft(v);var C=v;return C._p=new Promise(function(P,V){C.onload=P,C.onerror=V}),Xt(v,"link",d),i.state.loading|=4,Rc(v,l.precedence,r),i.instance=v;case"script":return v=mo(l.src),(p=r.querySelector(Ps(v)))?(i.instance=p,Ft(p),p):(d=l,(p=qn.get(v))&&(d=I({},l),Sh(d,p)),r=r.ownerDocument||r,p=r.createElement("script"),Ft(p),Xt(p,"link",d),r.head.appendChild(p),i.instance=p);case"void":return null;default:throw Error(a(443,i.type))}else i.type==="stylesheet"&&!(i.state.loading&4)&&(d=i.instance,i.state.loading|=4,Rc(d,l.precedence,r));return i.instance}function Rc(r,i,l){for(var d=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),p=d.length?d[d.length-1]:null,v=p,C=0;C title"):null)}function RA(r,i,l){if(l===1||i.itemProp!=null)return!1;switch(r){case"meta":case"title":return!0;case"style":if(typeof i.precedence!="string"||typeof i.href!="string"||i.href==="")break;return!0;case"link":if(typeof i.rel!="string"||typeof i.href!="string"||i.href===""||i.onLoad||i.onError)break;switch(i.rel){case"stylesheet":return r=i.disabled,typeof i.precedence=="string"&&r==null;default:return!0}case"script":if(i.async&&typeof i.async!="function"&&typeof i.async!="symbol"&&!i.onLoad&&!i.onError&&i.src&&typeof i.src=="string")return!0}return!1}function _x(r){return!(r.type==="stylesheet"&&!(r.state.loading&3))}var Gs=null;function AA(){}function kA(r,i,l){if(Gs===null)throw Error(a(475));var d=Gs;if(i.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&!(i.state.loading&4)){if(i.instance===null){var p=po(l.href),v=r.querySelector(Ms(p));if(v){r=v._p,r!==null&&typeof r=="object"&&typeof r.then=="function"&&(d.count++,d=kc.bind(d),r.then(d,d)),i.state.loading|=4,i.instance=v,Ft(v);return}v=r.ownerDocument||r,l=xx(l),(p=qn.get(p))&&Eh(l,p),v=v.createElement("link"),Ft(v);var C=v;C._p=new Promise(function(P,V){C.onload=P,C.onerror=V}),Xt(v,"link",l),i.instance=v}d.stylesheets===null&&(d.stylesheets=new Map),d.stylesheets.set(i,r),(r=i.state.preload)&&!(i.state.loading&3)&&(d.count++,i=kc.bind(d),r.addEventListener("load",i),r.addEventListener("error",i))}}function DA(){if(Gs===null)throw Error(a(475));var r=Gs;return r.stylesheets&&r.count===0&&_h(r,r.stylesheets),0"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),jh.exports=ZA(),jh.exports}var JA=QA();const qx=e=>{let t;const n=new Set,a=(h,m)=>{const g=typeof h=="function"?h(t):h;if(!Object.is(g,t)){const y=t;t=m??(typeof g!="object"||g===null)?g:Object.assign({},t,g),n.forEach(b=>b(t,y))}},o=()=>t,u={setState:a,getState:o,getInitialState:()=>f,subscribe:h=>(n.add(h),()=>n.delete(h))},f=t=e(a,o,u);return u},ek=e=>e?qx(e):qx,tk=e=>e;function nk(e,t=tk){const n=ve.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getInitialState()));return ve.useDebugValue(n),n}const rk=e=>{const t=ek(e),n=a=>nk(t,a);return Object.assign(n,t),n},Ym=e=>rk;function U1(e,t){let n;try{n=e()}catch{return}return{getItem:o=>{var s;const c=f=>f===null?null:JSON.parse(f,void 0),u=(s=n.getItem(o))!=null?s:null;return u instanceof Promise?u.then(c):c(u)},setItem:(o,s)=>n.setItem(o,JSON.stringify(s,void 0)),removeItem:o=>n.removeItem(o)}}const Xp=e=>t=>{try{const n=e(t);return n instanceof Promise?n:{then(a){return Xp(a)(n)},catch(a){return this}}}catch(n){return{then(a){return this},catch(a){return Xp(a)(n)}}}},ak=(e,t)=>(n,a,o)=>{let s={storage:U1(()=>localStorage),partialize:E=>E,version:0,merge:(E,_)=>({..._,...E}),...t},c=!1;const u=new Set,f=new Set;let h=s.storage;if(!h)return e((...E)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),n(...E)},a,o);const m=()=>{const E=s.partialize({...a()});return h.setItem(s.name,{state:E,version:s.version})},g=o.setState;o.setState=(E,_)=>{g(E,_),m()};const y=e((...E)=>{n(...E),m()},a,o);o.getInitialState=()=>y;let b;const S=()=>{var E,_;if(!h)return;c=!1,u.forEach(T=>{var A;return T((A=a())!=null?A:y)});const N=((_=s.onRehydrateStorage)==null?void 0:_.call(s,(E=a())!=null?E:y))||void 0;return Xp(h.getItem.bind(h))(s.name).then(T=>{if(T)if(typeof T.version=="number"&&T.version!==s.version){if(s.migrate){const A=s.migrate(T.state,T.version);return A instanceof Promise?A.then(D=>[!0,D]):[!0,A]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,T.state];return[!1,void 0]}).then(T=>{var A;const[D,k]=T;if(b=s.merge(k,(A=a())!=null?A:y),n(b,!0),D)return m()}).then(()=>{N==null||N(b,void 0),b=a(),c=!0,f.forEach(T=>T(b))}).catch(T=>{N==null||N(void 0,T)})};return o.persist={setOptions:E=>{s={...s,...E},E.storage&&(h=E.storage)},clearStorage:()=>{h==null||h.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>S(),hasHydrated:()=>c,onHydrate:E=>(u.add(E),()=>{u.delete(E)}),onFinishHydration:E=>(f.add(E),()=>{f.delete(E)})},s.skipHydration||S(),b||y},ik=ak;function B1(e){var t,n,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t{const t=lk(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:c=>{const u=c.split(Wm);return u[0]===""&&u.length!==1&&u.shift(),H1(u,t)||sk(c)},getConflictingClassGroupIds:(c,u)=>{const f=n[c]||[];return u&&a[c]?[...f,...a[c]]:f}}},H1=(e,t)=>{var c;if(e.length===0)return t.classGroupId;const n=e[0],a=t.nextPart.get(n),o=a?H1(e.slice(1),a):void 0;if(o)return o;if(t.validators.length===0)return;const s=e.join(Wm);return(c=t.validators.find(({validator:u})=>u(s)))==null?void 0:c.classGroupId},Yx=/^\[(.+)\]$/,sk=e=>{if(Yx.test(e)){const t=Yx.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},lk=e=>{const{theme:t,classGroups:n}=e,a={nextPart:new Map,validators:[]};for(const o in n)Kp(n[o],a,o,t);return a},Kp=(e,t,n,a)=>{e.forEach(o=>{if(typeof o=="string"){const s=o===""?t:Wx(t,o);s.classGroupId=n;return}if(typeof o=="function"){if(ck(o)){Kp(o(a),t,n,a);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([s,c])=>{Kp(c,Wx(t,s),n,a)})})},Wx=(e,t)=>{let n=e;return t.split(Wm).forEach(a=>{n.nextPart.has(a)||n.nextPart.set(a,{nextPart:new Map,validators:[]}),n=n.nextPart.get(a)}),n},ck=e=>e.isThemeGetter,uk=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,a=new Map;const o=(s,c)=>{n.set(s,c),t++,t>e&&(t=0,a=n,n=new Map)};return{get(s){let c=n.get(s);if(c!==void 0)return c;if((c=a.get(s))!==void 0)return o(s,c),c},set(s,c){n.has(s)?n.set(s,c):o(s,c)}}},Zp="!",Qp=":",dk=Qp.length,fk=e=>{const{prefix:t,experimentalParseClassName:n}=e;let a=o=>{const s=[];let c=0,u=0,f=0,h;for(let S=0;Sf?h-f:void 0;return{modifiers:s,hasImportantModifier:y,baseClassName:g,maybePostfixModifierPosition:b}};if(t){const o=t+Qp,s=a;a=c=>c.startsWith(o)?s(c.substring(o.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:c,maybePostfixModifierPosition:void 0}}if(n){const o=a;a=s=>n({className:s,parseClassName:o})}return a},hk=e=>e.endsWith(Zp)?e.substring(0,e.length-1):e.startsWith(Zp)?e.substring(1):e,pk=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(a=>[a,!0]));return a=>{if(a.length<=1)return a;const o=[];let s=[];return a.forEach(c=>{c[0]==="["||t[c]?(o.push(...s.sort(),c),s=[]):s.push(c)}),o.push(...s.sort()),o}},mk=e=>({cache:uk(e.cacheSize),parseClassName:fk(e),sortModifiers:pk(e),...ok(e)}),gk=/\s+/,vk=(e,t)=>{const{parseClassName:n,getClassGroupId:a,getConflictingClassGroupIds:o,sortModifiers:s}=t,c=[],u=e.trim().split(gk);let f="";for(let h=u.length-1;h>=0;h-=1){const m=u[h],{isExternal:g,modifiers:y,hasImportantModifier:b,baseClassName:S,maybePostfixModifierPosition:E}=n(m);if(g){f=m+(f.length>0?" "+f:f);continue}let _=!!E,N=a(_?S.substring(0,E):S);if(!N){if(!_){f=m+(f.length>0?" "+f:f);continue}if(N=a(S),!N){f=m+(f.length>0?" "+f:f);continue}_=!1}const T=s(y).join(":"),A=b?T+Zp:T,D=A+N;if(c.includes(D))continue;c.push(D);const k=o(N,_);for(let M=0;M0?" "+f:f)}return f};function yk(){let e=0,t,n,a="";for(;e{if(typeof e=="string")return e;let t,n="";for(let a=0;ag(m),e());return n=mk(h),a=n.cache.get,o=n.cache.set,s=u,u(f)}function u(f){const h=a(f);if(h)return h;const m=vk(f,n);return o(f,m),m}return function(){return s(yk.apply(null,arguments))}}const Ht=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},V1=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,q1=/^\((?:(\w[\w-]*):)?(.+)\)$/i,xk=/^\d+\/\d+$/,wk=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ek=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Sk=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,_k=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Tk=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,go=e=>xk.test(e),et=e=>!!e&&!Number.isNaN(Number(e)),mi=e=>!!e&&Number.isInteger(Number(e)),Xx=e=>e.endsWith("%")&&et(e.slice(0,-1)),Na=e=>wk.test(e),Ck=()=>!0,Rk=e=>Ek.test(e)&&!Sk.test(e),Xm=()=>!1,Ak=e=>_k.test(e),kk=e=>Tk.test(e),Dk=e=>!De(e)&&!Ne(e),Nk=e=>Po(e,X1,Xm),De=e=>V1.test(e),gi=e=>Po(e,K1,Rk),Ph=e=>Po(e,Ik,et),Ok=e=>Po(e,Y1,Xm),jk=e=>Po(e,W1,kk),Lk=e=>Po(e,Xm,Ak),Ne=e=>q1.test(e),Gc=e=>Go(e,K1),zk=e=>Go(e,Hk),Mk=e=>Go(e,Y1),Pk=e=>Go(e,X1),Gk=e=>Go(e,W1),Fk=e=>Go(e,$k,!0),Po=(e,t,n)=>{const a=V1.exec(e);return a?a[1]?t(a[1]):n(a[2]):!1},Go=(e,t,n=!1)=>{const a=q1.exec(e);return a?a[1]?t(a[1]):n:!1},Y1=e=>e==="position",Uk=new Set(["image","url"]),W1=e=>Uk.has(e),Bk=new Set(["length","size","percentage"]),X1=e=>Bk.has(e),K1=e=>e==="length",Ik=e=>e==="number",Hk=e=>e==="family-name",$k=e=>e==="shadow",Vk=()=>{const e=Ht("color"),t=Ht("font"),n=Ht("text"),a=Ht("font-weight"),o=Ht("tracking"),s=Ht("leading"),c=Ht("breakpoint"),u=Ht("container"),f=Ht("spacing"),h=Ht("radius"),m=Ht("shadow"),g=Ht("inset-shadow"),y=Ht("drop-shadow"),b=Ht("blur"),S=Ht("perspective"),E=Ht("aspect"),_=Ht("ease"),N=Ht("animate"),T=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],D=()=>["auto","hidden","clip","visible","scroll"],k=()=>["auto","contain","none"],M=()=>[go,"px","full","auto",Ne,De,f],R=()=>[mi,"none","subgrid",Ne,De],U=()=>["auto",{span:["full",mi,Ne,De]},Ne,De],L=()=>[mi,"auto",Ne,De],I=()=>["auto","min","max","fr",Ne,De],q=()=>[Ne,De,f],Y=()=>["start","end","center","between","around","evenly","stretch","baseline"],B=()=>["start","end","center","stretch"],X=()=>[Ne,De,f],ne=()=>["px",...X()],F=()=>["px","auto",...X()],z=()=>[go,"auto","px","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",Ne,De,f],j=()=>[e,Ne,De],K=()=>[Xx,gi],G=()=>["","none","full",h,Ne,De],H=()=>["",et,Gc,gi],O=()=>["solid","dashed","dotted","double"],$=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],W=()=>["","none",b,Ne,De],re=()=>["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Ne,De],de=()=>["none",et,Ne,De],ie=()=>["none",et,Ne,De],oe=()=>[et,Ne,De],Te=()=>[go,"full","px",Ne,De,f];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Na],breakpoint:[Na],color:[Ck],container:[Na],"drop-shadow":[Na],ease:["in","out","in-out"],font:[Dk],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Na],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Na],shadow:[Na],spacing:[et],text:[Na],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",go,De,Ne,E]}],container:["container"],columns:[{columns:[et,De,Ne,u]}],"break-after":[{"break-after":T()}],"break-before":[{"break-before":T()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...A(),De,Ne]}],overflow:[{overflow:D()}],"overflow-x":[{"overflow-x":D()}],"overflow-y":[{"overflow-y":D()}],overscroll:[{overscroll:k()}],"overscroll-x":[{"overscroll-x":k()}],"overscroll-y":[{"overscroll-y":k()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:M()}],"inset-x":[{"inset-x":M()}],"inset-y":[{"inset-y":M()}],start:[{start:M()}],end:[{end:M()}],top:[{top:M()}],right:[{right:M()}],bottom:[{bottom:M()}],left:[{left:M()}],visibility:["visible","invisible","collapse"],z:[{z:[mi,"auto",Ne,De]}],basis:[{basis:[go,"full","auto",Ne,De,u,f]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[et,go,"auto","initial","none",De]}],grow:[{grow:["",et,Ne,De]}],shrink:[{shrink:["",et,Ne,De]}],order:[{order:[mi,"first","last","none",Ne,De]}],"grid-cols":[{"grid-cols":R()}],"col-start-end":[{col:U()}],"col-start":[{"col-start":L()}],"col-end":[{"col-end":L()}],"grid-rows":[{"grid-rows":R()}],"row-start-end":[{row:U()}],"row-start":[{"row-start":L()}],"row-end":[{"row-end":L()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":I()}],"auto-rows":[{"auto-rows":I()}],gap:[{gap:q()}],"gap-x":[{"gap-x":q()}],"gap-y":[{"gap-y":q()}],"justify-content":[{justify:[...Y(),"normal"]}],"justify-items":[{"justify-items":[...B(),"normal"]}],"justify-self":[{"justify-self":["auto",...B()]}],"align-content":[{content:["normal",...Y()]}],"align-items":[{items:[...B(),"baseline"]}],"align-self":[{self:["auto",...B(),"baseline"]}],"place-content":[{"place-content":Y()}],"place-items":[{"place-items":[...B(),"baseline"]}],"place-self":[{"place-self":["auto",...B()]}],p:[{p:ne()}],px:[{px:ne()}],py:[{py:ne()}],ps:[{ps:ne()}],pe:[{pe:ne()}],pt:[{pt:ne()}],pr:[{pr:ne()}],pb:[{pb:ne()}],pl:[{pl:ne()}],m:[{m:F()}],mx:[{mx:F()}],my:[{my:F()}],ms:[{ms:F()}],me:[{me:F()}],mt:[{mt:F()}],mr:[{mr:F()}],mb:[{mb:F()}],ml:[{ml:F()}],"space-x":[{"space-x":X()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":X()}],"space-y-reverse":["space-y-reverse"],size:[{size:z()}],w:[{w:[u,"screen",...z()]}],"min-w":[{"min-w":[u,"screen","none",...z()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[c]},...z()]}],h:[{h:["screen",...z()]}],"min-h":[{"min-h":["screen","none",...z()]}],"max-h":[{"max-h":["screen",...z()]}],"font-size":[{text:["base",n,Gc,gi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[a,Ne,Ph]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Xx,De]}],"font-family":[{font:[zk,De,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,Ne,De]}],"line-clamp":[{"line-clamp":[et,"none",Ne,Ph]}],leading:[{leading:[Ne,De,s,f]}],"list-image":[{"list-image":["none",Ne,De]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ne,De]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:j()}],"text-color":[{text:j()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:[et,"from-font","auto",Ne,gi]}],"text-decoration-color":[{decoration:j()}],"underline-offset":[{"underline-offset":[et,"auto",Ne,De]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:["px",...X()]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ne,De]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ne,De]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...A(),Mk,Ok]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:["auto","cover","contain",Pk,Nk]}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},mi,Ne,De],radial:["",Ne,De],conic:[mi,Ne,De]},Gk,jk]}],"bg-color":[{bg:j()}],"gradient-from-pos":[{from:K()}],"gradient-via-pos":[{via:K()}],"gradient-to-pos":[{to:K()}],"gradient-from":[{from:j()}],"gradient-via":[{via:j()}],"gradient-to":[{to:j()}],rounded:[{rounded:G()}],"rounded-s":[{"rounded-s":G()}],"rounded-e":[{"rounded-e":G()}],"rounded-t":[{"rounded-t":G()}],"rounded-r":[{"rounded-r":G()}],"rounded-b":[{"rounded-b":G()}],"rounded-l":[{"rounded-l":G()}],"rounded-ss":[{"rounded-ss":G()}],"rounded-se":[{"rounded-se":G()}],"rounded-ee":[{"rounded-ee":G()}],"rounded-es":[{"rounded-es":G()}],"rounded-tl":[{"rounded-tl":G()}],"rounded-tr":[{"rounded-tr":G()}],"rounded-br":[{"rounded-br":G()}],"rounded-bl":[{"rounded-bl":G()}],"border-w":[{border:H()}],"border-w-x":[{"border-x":H()}],"border-w-y":[{"border-y":H()}],"border-w-s":[{"border-s":H()}],"border-w-e":[{"border-e":H()}],"border-w-t":[{"border-t":H()}],"border-w-r":[{"border-r":H()}],"border-w-b":[{"border-b":H()}],"border-w-l":[{"border-l":H()}],"divide-x":[{"divide-x":H()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":H()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...O(),"hidden","none"]}],"divide-style":[{divide:[...O(),"hidden","none"]}],"border-color":[{border:j()}],"border-color-x":[{"border-x":j()}],"border-color-y":[{"border-y":j()}],"border-color-s":[{"border-s":j()}],"border-color-e":[{"border-e":j()}],"border-color-t":[{"border-t":j()}],"border-color-r":[{"border-r":j()}],"border-color-b":[{"border-b":j()}],"border-color-l":[{"border-l":j()}],"divide-color":[{divide:j()}],"outline-style":[{outline:[...O(),"none","hidden"]}],"outline-offset":[{"outline-offset":[et,Ne,De]}],"outline-w":[{outline:["",et,Gc,gi]}],"outline-color":[{outline:[e]}],shadow:[{shadow:["","none",m,Fk,Lk]}],"shadow-color":[{shadow:j()}],"inset-shadow":[{"inset-shadow":["none",Ne,De,g]}],"inset-shadow-color":[{"inset-shadow":j()}],"ring-w":[{ring:H()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:j()}],"ring-offset-w":[{"ring-offset":[et,gi]}],"ring-offset-color":[{"ring-offset":j()}],"inset-ring-w":[{"inset-ring":H()}],"inset-ring-color":[{"inset-ring":j()}],opacity:[{opacity:[et,Ne,De]}],"mix-blend":[{"mix-blend":[...$(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":$()}],filter:[{filter:["","none",Ne,De]}],blur:[{blur:W()}],brightness:[{brightness:[et,Ne,De]}],contrast:[{contrast:[et,Ne,De]}],"drop-shadow":[{"drop-shadow":["","none",y,Ne,De]}],grayscale:[{grayscale:["",et,Ne,De]}],"hue-rotate":[{"hue-rotate":[et,Ne,De]}],invert:[{invert:["",et,Ne,De]}],saturate:[{saturate:[et,Ne,De]}],sepia:[{sepia:["",et,Ne,De]}],"backdrop-filter":[{"backdrop-filter":["","none",Ne,De]}],"backdrop-blur":[{"backdrop-blur":W()}],"backdrop-brightness":[{"backdrop-brightness":[et,Ne,De]}],"backdrop-contrast":[{"backdrop-contrast":[et,Ne,De]}],"backdrop-grayscale":[{"backdrop-grayscale":["",et,Ne,De]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[et,Ne,De]}],"backdrop-invert":[{"backdrop-invert":["",et,Ne,De]}],"backdrop-opacity":[{"backdrop-opacity":[et,Ne,De]}],"backdrop-saturate":[{"backdrop-saturate":[et,Ne,De]}],"backdrop-sepia":[{"backdrop-sepia":["",et,Ne,De]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":X()}],"border-spacing-x":[{"border-spacing-x":X()}],"border-spacing-y":[{"border-spacing-y":X()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ne,De]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[et,"initial",Ne,De]}],ease:[{ease:["linear","initial",_,Ne,De]}],delay:[{delay:[et,Ne,De]}],animate:[{animate:["none",N,Ne,De]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[S,Ne,De]}],"perspective-origin":[{"perspective-origin":re()}],rotate:[{rotate:de()}],"rotate-x":[{"rotate-x":de()}],"rotate-y":[{"rotate-y":de()}],"rotate-z":[{"rotate-z":de()}],scale:[{scale:ie()}],"scale-x":[{"scale-x":ie()}],"scale-y":[{"scale-y":ie()}],"scale-z":[{"scale-z":ie()}],"scale-3d":["scale-3d"],skew:[{skew:oe()}],"skew-x":[{"skew-x":oe()}],"skew-y":[{"skew-y":oe()}],transform:[{transform:[Ne,De,"","none","gpu","cpu"]}],"transform-origin":[{origin:re()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Te()}],"translate-x":[{"translate-x":Te()}],"translate-y":[{"translate-y":Te()}],"translate-z":[{"translate-z":Te()}],"translate-none":["translate-none"],accent:[{accent:j()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:j()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ne,De]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":X()}],"scroll-mx":[{"scroll-mx":X()}],"scroll-my":[{"scroll-my":X()}],"scroll-ms":[{"scroll-ms":X()}],"scroll-me":[{"scroll-me":X()}],"scroll-mt":[{"scroll-mt":X()}],"scroll-mr":[{"scroll-mr":X()}],"scroll-mb":[{"scroll-mb":X()}],"scroll-ml":[{"scroll-ml":X()}],"scroll-p":[{"scroll-p":X()}],"scroll-px":[{"scroll-px":X()}],"scroll-py":[{"scroll-py":X()}],"scroll-ps":[{"scroll-ps":X()}],"scroll-pe":[{"scroll-pe":X()}],"scroll-pt":[{"scroll-pt":X()}],"scroll-pr":[{"scroll-pr":X()}],"scroll-pb":[{"scroll-pb":X()}],"scroll-pl":[{"scroll-pl":X()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ne,De]}],fill:[{fill:["none",...j()]}],"stroke-w":[{stroke:[et,Gc,gi,Ph]}],stroke:[{stroke:["none",...j()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["before","after","placeholder","file","marker","selection","first-line","first-letter","backdrop","*","**"]}},qk=bk(Vk);function Me(...e){return qk(I1(e))}function Yk(){const e="0123456789abcdef";let t="#";for(let n=0;n<6;n++)t+=e.charAt(Math.floor(Math.random()*16));return t}function Sr(e){return e instanceof Error?e.message:`${e}`}const Km=e=>{const t=e;t.use={};for(const n of Object.keys(t.getState()))t.use[n]=()=>t(a=>a[n]);return t},Z1="",_r="ghost",Wk="#B2EBF2",Xk="#000",Kk="#E2E2E2",Zk="#EEEEEE",Qk="#F57F17",Jk="#969696",eD="#F57F17",Kx="#B2EBF2",Gh=20,Zx=4,tD=20,nD=15,Qx="*",rD={"text/plain":[".txt",".md"],"application/pdf":[".pdf"],"application/msword":[".doc"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":[".docx"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":[".pptx"]},Jx={name:"LightRAG",github:"https://github.com/HKUDS/LightRAG"},aD=Ym()(ik(e=>({theme:"system",showPropertyPanel:!0,showNodeSearchBar:!0,showNodeLabel:!0,enableNodeDrag:!0,showEdgeLabel:!1,enableHideUnselectedEdges:!0,enableEdgeEvents:!1,queryLabel:Qx,enableHealthCheck:!0,apiKey:null,currentTab:"documents",retrievalHistory:[],querySettings:{mode:"global",response_type:"Multiple Paragraphs",top_k:10,max_token_for_text_unit:4e3,max_token_for_global_context:4e3,max_token_for_local_context:4e3,only_need_context:!1,only_need_prompt:!1,stream:!0,history_turns:3,hl_keywords:[],ll_keywords:[]},setTheme:t=>e({theme:t}),setQueryLabel:t=>e({queryLabel:t}),setEnableHealthCheck:t=>e({enableHealthCheck:t}),setApiKey:t=>e({apiKey:t}),setCurrentTab:t=>e({currentTab:t}),setRetrievalHistory:t=>e({retrievalHistory:t}),updateQuerySettings:t=>e(n=>({querySettings:{...n.querySettings,...t}}))}),{name:"settings-storage",storage:U1(()=>localStorage),version:6,migrate:(e,t)=>(t<2&&(e.showEdgeLabel=!1),t<3&&(e.queryLabel=Qx),t<4&&(e.showPropertyPanel=!0,e.showNodeSearchBar=!0,e.showNodeLabel=!0,e.enableHealthCheck=!0,e.apiKey=null),t<5&&(e.currentTab="documents"),t<6&&(e.querySettings={mode:"global",response_type:"Multiple Paragraphs",top_k:10,max_token_for_text_unit:4e3,max_token_for_global_context:4e3,max_token_for_local_context:4e3,only_need_context:!1,only_need_prompt:!1,stream:!0,history_turns:3,hl_keywords:[],ll_keywords:[]},e.retrievalHistory=[]),e)})),We=Km(aD),iD={theme:"system",setTheme:()=>null},Q1=w.createContext(iD);function oD({children:e,...t}){const[n,a]=w.useState(We.getState().theme);w.useEffect(()=>{const s=window.document.documentElement;if(s.classList.remove("light","dark"),n==="system"){const c=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";s.classList.add(c),a(c);return}s.classList.add(n)},[n]);const o={theme:n,setTheme:s=>{We.getState().setTheme(s),a(s)}};return x.jsx(Q1.Provider,{...t,value:o,children:e})}const e0=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,t0=I1,J1=(e,t)=>n=>{var a;if((t==null?void 0:t.variants)==null)return t0(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:s}=t,c=Object.keys(o).map(h=>{const m=n==null?void 0:n[h],g=s==null?void 0:s[h];if(m===null)return null;const y=e0(m)||e0(g);return o[h][y]}),u=n&&Object.entries(n).reduce((h,m)=>{let[g,y]=m;return y===void 0||(h[g]=y),h},{}),f=t==null||(a=t.compoundVariants)===null||a===void 0?void 0:a.reduce((h,m)=>{let{class:g,className:y,...b}=m;return Object.entries(b).every(S=>{let[E,_]=S;return Array.isArray(_)?_.includes({...s,...u}[E]):{...s,...u}[E]===_})?[...h,g,y]:h},[]);return t0(e,c,f,n==null?void 0:n.class,n==null?void 0:n.className)},sD=J1("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),eE=w.forwardRef(({className:e,variant:t,...n},a)=>x.jsx("div",{ref:a,role:"alert",className:Me(sD({variant:t}),e),...n}));eE.displayName="Alert";const tE=w.forwardRef(({className:e,...t},n)=>x.jsx("h5",{ref:n,className:Me("mb-1 leading-none font-medium tracking-tight",e),...t}));tE.displayName="AlertTitle";const nE=w.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:Me("text-sm [&_p]:leading-relaxed",e),...t}));nE.displayName="AlertDescription";function rE(e,t){return function(){return e.apply(t,arguments)}}const{toString:lD}=Object.prototype,{getPrototypeOf:Zm}=Object,Vu=(e=>t=>{const n=lD.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),ur=e=>(e=e.toLowerCase(),t=>Vu(t)===e),qu=e=>t=>typeof t===e,{isArray:Fo}=Array,ol=qu("undefined");function cD(e){return e!==null&&!ol(e)&&e.constructor!==null&&!ol(e.constructor)&&On(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const aE=ur("ArrayBuffer");function uD(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&aE(e.buffer),t}const dD=qu("string"),On=qu("function"),iE=qu("number"),Yu=e=>e!==null&&typeof e=="object",fD=e=>e===!0||e===!1,su=e=>{if(Vu(e)!=="object")return!1;const t=Zm(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},hD=ur("Date"),pD=ur("File"),mD=ur("Blob"),gD=ur("FileList"),vD=e=>Yu(e)&&On(e.pipe),yD=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||On(e.append)&&((t=Vu(e))==="formdata"||t==="object"&&On(e.toString)&&e.toString()==="[object FormData]"))},bD=ur("URLSearchParams"),[xD,wD,ED,SD]=["ReadableStream","Request","Response","Headers"].map(ur),_D=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function gl(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let a,o;if(typeof e!="object"&&(e=[e]),Fo(e))for(a=0,o=e.length;a0;)if(o=n[a],t===o.toLowerCase())return o;return null}const Ei=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,sE=e=>!ol(e)&&e!==Ei;function Jp(){const{caseless:e}=sE(this)&&this||{},t={},n=(a,o)=>{const s=e&&oE(t,o)||o;su(t[s])&&su(a)?t[s]=Jp(t[s],a):su(a)?t[s]=Jp({},a):Fo(a)?t[s]=a.slice():t[s]=a};for(let a=0,o=arguments.length;a(gl(t,(o,s)=>{n&&On(o)?e[s]=rE(o,n):e[s]=o},{allOwnKeys:a}),e),CD=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),RD=(e,t,n,a)=>{e.prototype=Object.create(t.prototype,a),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},AD=(e,t,n,a)=>{let o,s,c;const u={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)c=o[s],(!a||a(c,e,t))&&!u[c]&&(t[c]=e[c],u[c]=!0);e=n!==!1&&Zm(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kD=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const a=e.indexOf(t,n);return a!==-1&&a===n},DD=e=>{if(!e)return null;if(Fo(e))return e;let t=e.length;if(!iE(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},ND=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Zm(Uint8Array)),OD=(e,t)=>{const a=(e&&e[Symbol.iterator]).call(e);let o;for(;(o=a.next())&&!o.done;){const s=o.value;t.call(e,s[0],s[1])}},jD=(e,t)=>{let n;const a=[];for(;(n=e.exec(t))!==null;)a.push(n);return a},LD=ur("HTMLFormElement"),zD=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,a,o){return a.toUpperCase()+o}),n0=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),MD=ur("RegExp"),lE=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),a={};gl(n,(o,s)=>{let c;(c=t(o,s,e))!==!1&&(a[s]=c||o)}),Object.defineProperties(e,a)},PD=e=>{lE(e,(t,n)=>{if(On(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const a=e[n];if(On(a)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},GD=(e,t)=>{const n={},a=o=>{o.forEach(s=>{n[s]=!0})};return Fo(e)?a(e):a(String(e).split(t)),n},FD=()=>{},UD=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,Fh="abcdefghijklmnopqrstuvwxyz",r0="0123456789",cE={DIGIT:r0,ALPHA:Fh,ALPHA_DIGIT:Fh+Fh.toUpperCase()+r0},BD=(e=16,t=cE.ALPHA_DIGIT)=>{let n="";const{length:a}=t;for(;e--;)n+=t[Math.random()*a|0];return n};function ID(e){return!!(e&&On(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const HD=e=>{const t=new Array(10),n=(a,o)=>{if(Yu(a)){if(t.indexOf(a)>=0)return;if(!("toJSON"in a)){t[o]=a;const s=Fo(a)?[]:{};return gl(a,(c,u)=>{const f=n(c,o+1);!ol(f)&&(s[u]=f)}),t[o]=void 0,s}}return a};return n(e,0)},$D=ur("AsyncFunction"),VD=e=>e&&(Yu(e)||On(e))&&On(e.then)&&On(e.catch),uE=((e,t)=>e?setImmediate:t?((n,a)=>(Ei.addEventListener("message",({source:o,data:s})=>{o===Ei&&s===n&&a.length&&a.shift()()},!1),o=>{a.push(o),Ei.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",On(Ei.postMessage)),qD=typeof queueMicrotask<"u"?queueMicrotask.bind(Ei):typeof process<"u"&&process.nextTick||uE,ce={isArray:Fo,isArrayBuffer:aE,isBuffer:cD,isFormData:yD,isArrayBufferView:uD,isString:dD,isNumber:iE,isBoolean:fD,isObject:Yu,isPlainObject:su,isReadableStream:xD,isRequest:wD,isResponse:ED,isHeaders:SD,isUndefined:ol,isDate:hD,isFile:pD,isBlob:mD,isRegExp:MD,isFunction:On,isStream:vD,isURLSearchParams:bD,isTypedArray:ND,isFileList:gD,forEach:gl,merge:Jp,extend:TD,trim:_D,stripBOM:CD,inherits:RD,toFlatObject:AD,kindOf:Vu,kindOfTest:ur,endsWith:kD,toArray:DD,forEachEntry:OD,matchAll:jD,isHTMLForm:LD,hasOwnProperty:n0,hasOwnProp:n0,reduceDescriptors:lE,freezeMethods:PD,toObjectSet:GD,toCamelCase:zD,noop:FD,toFiniteNumber:UD,findKey:oE,global:Ei,isContextDefined:sE,ALPHABET:cE,generateString:BD,isSpecCompliantForm:ID,toJSONObject:HD,isAsyncFn:$D,isThenable:VD,setImmediate:uE,asap:qD};function Xe(e,t,n,a,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),a&&(this.request=a),o&&(this.response=o,this.status=o.status?o.status:null)}ce.inherits(Xe,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ce.toJSONObject(this.config),code:this.code,status:this.status}}});const dE=Xe.prototype,fE={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{fE[e]={value:e}});Object.defineProperties(Xe,fE);Object.defineProperty(dE,"isAxiosError",{value:!0});Xe.from=(e,t,n,a,o,s)=>{const c=Object.create(dE);return ce.toFlatObject(e,c,function(f){return f!==Error.prototype},u=>u!=="isAxiosError"),Xe.call(c,e.message,t,n,a,o),c.cause=e,c.name=e.name,s&&Object.assign(c,s),c};const YD=null;function em(e){return ce.isPlainObject(e)||ce.isArray(e)}function hE(e){return ce.endsWith(e,"[]")?e.slice(0,-2):e}function a0(e,t,n){return e?e.concat(t).map(function(o,s){return o=hE(o),!n&&s?"["+o+"]":o}).join(n?".":""):t}function WD(e){return ce.isArray(e)&&!e.some(em)}const XD=ce.toFlatObject(ce,{},null,function(t){return/^is[A-Z]/.test(t)});function Wu(e,t,n){if(!ce.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=ce.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(E,_){return!ce.isUndefined(_[E])});const a=n.metaTokens,o=n.visitor||m,s=n.dots,c=n.indexes,f=(n.Blob||typeof Blob<"u"&&Blob)&&ce.isSpecCompliantForm(t);if(!ce.isFunction(o))throw new TypeError("visitor must be a function");function h(S){if(S===null)return"";if(ce.isDate(S))return S.toISOString();if(!f&&ce.isBlob(S))throw new Xe("Blob is not supported. Use a Buffer instead.");return ce.isArrayBuffer(S)||ce.isTypedArray(S)?f&&typeof Blob=="function"?new Blob([S]):Buffer.from(S):S}function m(S,E,_){let N=S;if(S&&!_&&typeof S=="object"){if(ce.endsWith(E,"{}"))E=a?E:E.slice(0,-2),S=JSON.stringify(S);else if(ce.isArray(S)&&WD(S)||(ce.isFileList(S)||ce.endsWith(E,"[]"))&&(N=ce.toArray(S)))return E=hE(E),N.forEach(function(A,D){!(ce.isUndefined(A)||A===null)&&t.append(c===!0?a0([E],D,s):c===null?E:E+"[]",h(A))}),!1}return em(S)?!0:(t.append(a0(_,E,s),h(S)),!1)}const g=[],y=Object.assign(XD,{defaultVisitor:m,convertValue:h,isVisitable:em});function b(S,E){if(!ce.isUndefined(S)){if(g.indexOf(S)!==-1)throw Error("Circular reference detected in "+E.join("."));g.push(S),ce.forEach(S,function(N,T){(!(ce.isUndefined(N)||N===null)&&o.call(t,N,ce.isString(T)?T.trim():T,E,y))===!0&&b(N,E?E.concat(T):[T])}),g.pop()}}if(!ce.isObject(e))throw new TypeError("data must be an object");return b(e),t}function i0(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(a){return t[a]})}function Qm(e,t){this._pairs=[],e&&Wu(e,this,t)}const pE=Qm.prototype;pE.append=function(t,n){this._pairs.push([t,n])};pE.toString=function(t){const n=t?function(a){return t.call(this,a,i0)}:i0;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function KD(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function mE(e,t,n){if(!t)return e;const a=n&&n.encode||KD;ce.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let s;if(o?s=o(t,n):s=ce.isURLSearchParams(t)?t.toString():new Qm(t,n).toString(a),s){const c=e.indexOf("#");c!==-1&&(e=e.slice(0,c)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class o0{constructor(){this.handlers=[]}use(t,n,a){return this.handlers.push({fulfilled:t,rejected:n,synchronous:a?a.synchronous:!1,runWhen:a?a.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){ce.forEach(this.handlers,function(a){a!==null&&t(a)})}}const gE={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ZD=typeof URLSearchParams<"u"?URLSearchParams:Qm,QD=typeof FormData<"u"?FormData:null,JD=typeof Blob<"u"?Blob:null,eN={isBrowser:!0,classes:{URLSearchParams:ZD,FormData:QD,Blob:JD},protocols:["http","https","file","blob","url","data"]},Jm=typeof window<"u"&&typeof document<"u",tm=typeof navigator=="object"&&navigator||void 0,tN=Jm&&(!tm||["ReactNative","NativeScript","NS"].indexOf(tm.product)<0),nN=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",rN=Jm&&window.location.href||"http://localhost",aN=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Jm,hasStandardBrowserEnv:tN,hasStandardBrowserWebWorkerEnv:nN,navigator:tm,origin:rN},Symbol.toStringTag,{value:"Module"})),rn={...aN,...eN};function iN(e,t){return Wu(e,new rn.classes.URLSearchParams,Object.assign({visitor:function(n,a,o,s){return rn.isNode&&ce.isBuffer(n)?(this.append(a,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},t))}function oN(e){return ce.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function sN(e){const t={},n=Object.keys(e);let a;const o=n.length;let s;for(a=0;a=n.length;return c=!c&&ce.isArray(o)?o.length:c,f?(ce.hasOwnProp(o,c)?o[c]=[o[c],a]:o[c]=a,!u):((!o[c]||!ce.isObject(o[c]))&&(o[c]=[]),t(n,a,o[c],s)&&ce.isArray(o[c])&&(o[c]=sN(o[c])),!u)}if(ce.isFormData(e)&&ce.isFunction(e.entries)){const n={};return ce.forEachEntry(e,(a,o)=>{t(oN(a),o,n,0)}),n}return null}function lN(e,t,n){if(ce.isString(e))try{return(t||JSON.parse)(e),ce.trim(e)}catch(a){if(a.name!=="SyntaxError")throw a}return(n||JSON.stringify)(e)}const vl={transitional:gE,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const a=n.getContentType()||"",o=a.indexOf("application/json")>-1,s=ce.isObject(t);if(s&&ce.isHTMLForm(t)&&(t=new FormData(t)),ce.isFormData(t))return o?JSON.stringify(vE(t)):t;if(ce.isArrayBuffer(t)||ce.isBuffer(t)||ce.isStream(t)||ce.isFile(t)||ce.isBlob(t)||ce.isReadableStream(t))return t;if(ce.isArrayBufferView(t))return t.buffer;if(ce.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let u;if(s){if(a.indexOf("application/x-www-form-urlencoded")>-1)return iN(t,this.formSerializer).toString();if((u=ce.isFileList(t))||a.indexOf("multipart/form-data")>-1){const f=this.env&&this.env.FormData;return Wu(u?{"files[]":t}:t,f&&new f,this.formSerializer)}}return s||o?(n.setContentType("application/json",!1),lN(t)):t}],transformResponse:[function(t){const n=this.transitional||vl.transitional,a=n&&n.forcedJSONParsing,o=this.responseType==="json";if(ce.isResponse(t)||ce.isReadableStream(t))return t;if(t&&ce.isString(t)&&(a&&!this.responseType||o)){const c=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(u){if(c)throw u.name==="SyntaxError"?Xe.from(u,Xe.ERR_BAD_RESPONSE,this,null,this.response):u}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:rn.classes.FormData,Blob:rn.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ce.forEach(["delete","get","head","post","put","patch"],e=>{vl.headers[e]={}});const cN=ce.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),uN=e=>{const t={};let n,a,o;return e&&e.split(` +`).forEach(function(c){o=c.indexOf(":"),n=c.substring(0,o).trim().toLowerCase(),a=c.substring(o+1).trim(),!(!n||t[n]&&cN[n])&&(n==="set-cookie"?t[n]?t[n].push(a):t[n]=[a]:t[n]=t[n]?t[n]+", "+a:a)}),t},s0=Symbol("internals");function qs(e){return e&&String(e).trim().toLowerCase()}function lu(e){return e===!1||e==null?e:ce.isArray(e)?e.map(lu):String(e)}function dN(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let a;for(;a=n.exec(e);)t[a[1]]=a[2];return t}const fN=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Uh(e,t,n,a,o){if(ce.isFunction(a))return a.call(this,t,n);if(o&&(t=n),!!ce.isString(t)){if(ce.isString(a))return t.indexOf(a)!==-1;if(ce.isRegExp(a))return a.test(t)}}function hN(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,a)=>n.toUpperCase()+a)}function pN(e,t){const n=ce.toCamelCase(" "+t);["get","set","has"].forEach(a=>{Object.defineProperty(e,a+n,{value:function(o,s,c){return this[a].call(this,t,o,s,c)},configurable:!0})})}let wn=class{constructor(t){t&&this.set(t)}set(t,n,a){const o=this;function s(u,f,h){const m=qs(f);if(!m)throw new Error("header name must be a non-empty string");const g=ce.findKey(o,m);(!g||o[g]===void 0||h===!0||h===void 0&&o[g]!==!1)&&(o[g||f]=lu(u))}const c=(u,f)=>ce.forEach(u,(h,m)=>s(h,m,f));if(ce.isPlainObject(t)||t instanceof this.constructor)c(t,n);else if(ce.isString(t)&&(t=t.trim())&&!fN(t))c(uN(t),n);else if(ce.isHeaders(t))for(const[u,f]of t.entries())s(f,u,a);else t!=null&&s(n,t,a);return this}get(t,n){if(t=qs(t),t){const a=ce.findKey(this,t);if(a){const o=this[a];if(!n)return o;if(n===!0)return dN(o);if(ce.isFunction(n))return n.call(this,o,a);if(ce.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=qs(t),t){const a=ce.findKey(this,t);return!!(a&&this[a]!==void 0&&(!n||Uh(this,this[a],a,n)))}return!1}delete(t,n){const a=this;let o=!1;function s(c){if(c=qs(c),c){const u=ce.findKey(a,c);u&&(!n||Uh(a,a[u],u,n))&&(delete a[u],o=!0)}}return ce.isArray(t)?t.forEach(s):s(t),o}clear(t){const n=Object.keys(this);let a=n.length,o=!1;for(;a--;){const s=n[a];(!t||Uh(this,this[s],s,t,!0))&&(delete this[s],o=!0)}return o}normalize(t){const n=this,a={};return ce.forEach(this,(o,s)=>{const c=ce.findKey(a,s);if(c){n[c]=lu(o),delete n[s];return}const u=t?hN(s):String(s).trim();u!==s&&delete n[s],n[u]=lu(o),a[u]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return ce.forEach(this,(a,o)=>{a!=null&&a!==!1&&(n[o]=t&&ce.isArray(a)?a.join(", "):a)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const a=new this(t);return n.forEach(o=>a.set(o)),a}static accessor(t){const a=(this[s0]=this[s0]={accessors:{}}).accessors,o=this.prototype;function s(c){const u=qs(c);a[u]||(pN(o,c),a[u]=!0)}return ce.isArray(t)?t.forEach(s):s(t),this}};wn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ce.reduceDescriptors(wn.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(a){this[n]=a}}});ce.freezeMethods(wn);function Bh(e,t){const n=this||vl,a=t||n,o=wn.from(a.headers);let s=a.data;return ce.forEach(e,function(u){s=u.call(n,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function yE(e){return!!(e&&e.__CANCEL__)}function Uo(e,t,n){Xe.call(this,e??"canceled",Xe.ERR_CANCELED,t,n),this.name="CanceledError"}ce.inherits(Uo,Xe,{__CANCEL__:!0});function bE(e,t,n){const a=n.config.validateStatus;!n.status||!a||a(n.status)?e(n):t(new Xe("Request failed with status code "+n.status,[Xe.ERR_BAD_REQUEST,Xe.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function mN(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function gN(e,t){e=e||10;const n=new Array(e),a=new Array(e);let o=0,s=0,c;return t=t!==void 0?t:1e3,function(f){const h=Date.now(),m=a[s];c||(c=h),n[o]=f,a[o]=h;let g=s,y=0;for(;g!==o;)y+=n[g++],g=g%e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),h-c{n=m,o=null,s&&(clearTimeout(s),s=null),e.apply(null,h)};return[(...h)=>{const m=Date.now(),g=m-n;g>=a?c(h,m):(o=h,s||(s=setTimeout(()=>{s=null,c(o)},a-g)))},()=>o&&c(o)]}const Su=(e,t,n=3)=>{let a=0;const o=gN(50,250);return vN(s=>{const c=s.loaded,u=s.lengthComputable?s.total:void 0,f=c-a,h=o(f),m=c<=u;a=c;const g={loaded:c,total:u,progress:u?c/u:void 0,bytes:f,rate:h||void 0,estimated:h&&u&&m?(u-c)/h:void 0,event:s,lengthComputable:u!=null,[t?"download":"upload"]:!0};e(g)},n)},l0=(e,t)=>{const n=e!=null;return[a=>t[0]({lengthComputable:n,total:e,loaded:a}),t[1]]},c0=e=>(...t)=>ce.asap(()=>e(...t)),yN=rn.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,rn.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(rn.origin),rn.navigator&&/(msie|trident)/i.test(rn.navigator.userAgent)):()=>!0,bN=rn.hasStandardBrowserEnv?{write(e,t,n,a,o,s){const c=[e+"="+encodeURIComponent(t)];ce.isNumber(n)&&c.push("expires="+new Date(n).toGMTString()),ce.isString(a)&&c.push("path="+a),ce.isString(o)&&c.push("domain="+o),s===!0&&c.push("secure"),document.cookie=c.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function xN(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function wN(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function xE(e,t){return e&&!xN(t)?wN(e,t):t}const u0=e=>e instanceof wn?{...e}:e;function _i(e,t){t=t||{};const n={};function a(h,m,g,y){return ce.isPlainObject(h)&&ce.isPlainObject(m)?ce.merge.call({caseless:y},h,m):ce.isPlainObject(m)?ce.merge({},m):ce.isArray(m)?m.slice():m}function o(h,m,g,y){if(ce.isUndefined(m)){if(!ce.isUndefined(h))return a(void 0,h,g,y)}else return a(h,m,g,y)}function s(h,m){if(!ce.isUndefined(m))return a(void 0,m)}function c(h,m){if(ce.isUndefined(m)){if(!ce.isUndefined(h))return a(void 0,h)}else return a(void 0,m)}function u(h,m,g){if(g in t)return a(h,m);if(g in e)return a(void 0,h)}const f={url:s,method:s,data:s,baseURL:c,transformRequest:c,transformResponse:c,paramsSerializer:c,timeout:c,timeoutMessage:c,withCredentials:c,withXSRFToken:c,adapter:c,responseType:c,xsrfCookieName:c,xsrfHeaderName:c,onUploadProgress:c,onDownloadProgress:c,decompress:c,maxContentLength:c,maxBodyLength:c,beforeRedirect:c,transport:c,httpAgent:c,httpsAgent:c,cancelToken:c,socketPath:c,responseEncoding:c,validateStatus:u,headers:(h,m,g)=>o(u0(h),u0(m),g,!0)};return ce.forEach(Object.keys(Object.assign({},e,t)),function(m){const g=f[m]||o,y=g(e[m],t[m],m);ce.isUndefined(y)&&g!==u||(n[m]=y)}),n}const wE=e=>{const t=_i({},e);let{data:n,withXSRFToken:a,xsrfHeaderName:o,xsrfCookieName:s,headers:c,auth:u}=t;t.headers=c=wn.from(c),t.url=mE(xE(t.baseURL,t.url),e.params,e.paramsSerializer),u&&c.set("Authorization","Basic "+btoa((u.username||"")+":"+(u.password?unescape(encodeURIComponent(u.password)):"")));let f;if(ce.isFormData(n)){if(rn.hasStandardBrowserEnv||rn.hasStandardBrowserWebWorkerEnv)c.setContentType(void 0);else if((f=c.getContentType())!==!1){const[h,...m]=f?f.split(";").map(g=>g.trim()).filter(Boolean):[];c.setContentType([h||"multipart/form-data",...m].join("; "))}}if(rn.hasStandardBrowserEnv&&(a&&ce.isFunction(a)&&(a=a(t)),a||a!==!1&&yN(t.url))){const h=o&&s&&bN.read(s);h&&c.set(o,h)}return t},EN=typeof XMLHttpRequest<"u",SN=EN&&function(e){return new Promise(function(n,a){const o=wE(e);let s=o.data;const c=wn.from(o.headers).normalize();let{responseType:u,onUploadProgress:f,onDownloadProgress:h}=o,m,g,y,b,S;function E(){b&&b(),S&&S(),o.cancelToken&&o.cancelToken.unsubscribe(m),o.signal&&o.signal.removeEventListener("abort",m)}let _=new XMLHttpRequest;_.open(o.method.toUpperCase(),o.url,!0),_.timeout=o.timeout;function N(){if(!_)return;const A=wn.from("getAllResponseHeaders"in _&&_.getAllResponseHeaders()),k={data:!u||u==="text"||u==="json"?_.responseText:_.response,status:_.status,statusText:_.statusText,headers:A,config:e,request:_};bE(function(R){n(R),E()},function(R){a(R),E()},k),_=null}"onloadend"in _?_.onloadend=N:_.onreadystatechange=function(){!_||_.readyState!==4||_.status===0&&!(_.responseURL&&_.responseURL.indexOf("file:")===0)||setTimeout(N)},_.onabort=function(){_&&(a(new Xe("Request aborted",Xe.ECONNABORTED,e,_)),_=null)},_.onerror=function(){a(new Xe("Network Error",Xe.ERR_NETWORK,e,_)),_=null},_.ontimeout=function(){let D=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const k=o.transitional||gE;o.timeoutErrorMessage&&(D=o.timeoutErrorMessage),a(new Xe(D,k.clarifyTimeoutError?Xe.ETIMEDOUT:Xe.ECONNABORTED,e,_)),_=null},s===void 0&&c.setContentType(null),"setRequestHeader"in _&&ce.forEach(c.toJSON(),function(D,k){_.setRequestHeader(k,D)}),ce.isUndefined(o.withCredentials)||(_.withCredentials=!!o.withCredentials),u&&u!=="json"&&(_.responseType=o.responseType),h&&([y,S]=Su(h,!0),_.addEventListener("progress",y)),f&&_.upload&&([g,b]=Su(f),_.upload.addEventListener("progress",g),_.upload.addEventListener("loadend",b)),(o.cancelToken||o.signal)&&(m=A=>{_&&(a(!A||A.type?new Uo(null,e,_):A),_.abort(),_=null)},o.cancelToken&&o.cancelToken.subscribe(m),o.signal&&(o.signal.aborted?m():o.signal.addEventListener("abort",m)));const T=mN(o.url);if(T&&rn.protocols.indexOf(T)===-1){a(new Xe("Unsupported protocol "+T+":",Xe.ERR_BAD_REQUEST,e));return}_.send(s||null)})},_N=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let a=new AbortController,o;const s=function(h){if(!o){o=!0,u();const m=h instanceof Error?h:this.reason;a.abort(m instanceof Xe?m:new Uo(m instanceof Error?m.message:m))}};let c=t&&setTimeout(()=>{c=null,s(new Xe(`timeout ${t} of ms exceeded`,Xe.ETIMEDOUT))},t);const u=()=>{e&&(c&&clearTimeout(c),c=null,e.forEach(h=>{h.unsubscribe?h.unsubscribe(s):h.removeEventListener("abort",s)}),e=null)};e.forEach(h=>h.addEventListener("abort",s));const{signal:f}=a;return f.unsubscribe=()=>ce.asap(u),f}},TN=function*(e,t){let n=e.byteLength;if(n{const o=CN(e,t);let s=0,c,u=f=>{c||(c=!0,a&&a(f))};return new ReadableStream({async pull(f){try{const{done:h,value:m}=await o.next();if(h){u(),f.close();return}let g=m.byteLength;if(n){let y=s+=g;n(y)}f.enqueue(new Uint8Array(m))}catch(h){throw u(h),h}},cancel(f){return u(f),o.return()}},{highWaterMark:2})},Xu=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",EE=Xu&&typeof ReadableStream=="function",AN=Xu&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),SE=(e,...t)=>{try{return!!e(...t)}catch{return!1}},kN=EE&&SE(()=>{let e=!1;const t=new Request(rn.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),f0=64*1024,nm=EE&&SE(()=>ce.isReadableStream(new Response("").body)),_u={stream:nm&&(e=>e.body)};Xu&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!_u[t]&&(_u[t]=ce.isFunction(e[t])?n=>n[t]():(n,a)=>{throw new Xe(`Response type '${t}' is not supported`,Xe.ERR_NOT_SUPPORT,a)})})})(new Response);const DN=async e=>{if(e==null)return 0;if(ce.isBlob(e))return e.size;if(ce.isSpecCompliantForm(e))return(await new Request(rn.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(ce.isArrayBufferView(e)||ce.isArrayBuffer(e))return e.byteLength;if(ce.isURLSearchParams(e)&&(e=e+""),ce.isString(e))return(await AN(e)).byteLength},NN=async(e,t)=>{const n=ce.toFiniteNumber(e.getContentLength());return n??DN(t)},ON=Xu&&(async e=>{let{url:t,method:n,data:a,signal:o,cancelToken:s,timeout:c,onDownloadProgress:u,onUploadProgress:f,responseType:h,headers:m,withCredentials:g="same-origin",fetchOptions:y}=wE(e);h=h?(h+"").toLowerCase():"text";let b=_N([o,s&&s.toAbortSignal()],c),S;const E=b&&b.unsubscribe&&(()=>{b.unsubscribe()});let _;try{if(f&&kN&&n!=="get"&&n!=="head"&&(_=await NN(m,a))!==0){let k=new Request(t,{method:"POST",body:a,duplex:"half"}),M;if(ce.isFormData(a)&&(M=k.headers.get("content-type"))&&m.setContentType(M),k.body){const[R,U]=l0(_,Su(c0(f)));a=d0(k.body,f0,R,U)}}ce.isString(g)||(g=g?"include":"omit");const N="credentials"in Request.prototype;S=new Request(t,{...y,signal:b,method:n.toUpperCase(),headers:m.normalize().toJSON(),body:a,duplex:"half",credentials:N?g:void 0});let T=await fetch(S);const A=nm&&(h==="stream"||h==="response");if(nm&&(u||A&&E)){const k={};["status","statusText","headers"].forEach(L=>{k[L]=T[L]});const M=ce.toFiniteNumber(T.headers.get("content-length")),[R,U]=u&&l0(M,Su(c0(u),!0))||[];T=new Response(d0(T.body,f0,R,()=>{U&&U(),E&&E()}),k)}h=h||"text";let D=await _u[ce.findKey(_u,h)||"text"](T,e);return!A&&E&&E(),await new Promise((k,M)=>{bE(k,M,{data:D,headers:wn.from(T.headers),status:T.status,statusText:T.statusText,config:e,request:S})})}catch(N){throw E&&E(),N&&N.name==="TypeError"&&/fetch/i.test(N.message)?Object.assign(new Xe("Network Error",Xe.ERR_NETWORK,e,S),{cause:N.cause||N}):Xe.from(N,N&&N.code,e,S)}}),rm={http:YD,xhr:SN,fetch:ON};ce.forEach(rm,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const h0=e=>`- ${e}`,jN=e=>ce.isFunction(e)||e===null||e===!1,_E={getAdapter:e=>{e=ce.isArray(e)?e:[e];const{length:t}=e;let n,a;const o={};for(let s=0;s`adapter ${u} `+(f===!1?"is not supported by the environment":"is not available in the build"));let c=t?s.length>1?`since : +`+s.map(h0).join(` +`):" "+h0(s[0]):"as no adapter specified";throw new Xe("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return a},adapters:rm};function Ih(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Uo(null,e)}function p0(e){return Ih(e),e.headers=wn.from(e.headers),e.data=Bh.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),_E.getAdapter(e.adapter||vl.adapter)(e).then(function(a){return Ih(e),a.data=Bh.call(e,e.transformResponse,a),a.headers=wn.from(a.headers),a},function(a){return yE(a)||(Ih(e),a&&a.response&&(a.response.data=Bh.call(e,e.transformResponse,a.response),a.response.headers=wn.from(a.response.headers))),Promise.reject(a)})}const TE="1.7.9",Ku={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Ku[e]=function(a){return typeof a===e||"a"+(t<1?"n ":" ")+e}});const m0={};Ku.transitional=function(t,n,a){function o(s,c){return"[Axios v"+TE+"] Transitional option '"+s+"'"+c+(a?". "+a:"")}return(s,c,u)=>{if(t===!1)throw new Xe(o(c," has been removed"+(n?" in "+n:"")),Xe.ERR_DEPRECATED);return n&&!m0[c]&&(m0[c]=!0,console.warn(o(c," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,c,u):!0}};Ku.spelling=function(t){return(n,a)=>(console.warn(`${a} is likely a misspelling of ${t}`),!0)};function LN(e,t,n){if(typeof e!="object")throw new Xe("options must be an object",Xe.ERR_BAD_OPTION_VALUE);const a=Object.keys(e);let o=a.length;for(;o-- >0;){const s=a[o],c=t[s];if(c){const u=e[s],f=u===void 0||c(u,s,e);if(f!==!0)throw new Xe("option "+s+" must be "+f,Xe.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Xe("Unknown option "+s,Xe.ERR_BAD_OPTION)}}const cu={assertOptions:LN,validators:Ku},br=cu.validators;let Si=class{constructor(t){this.defaults=t,this.interceptors={request:new o0,response:new o0}}async request(t,n){try{return await this._request(t,n)}catch(a){if(a instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const s=o.stack?o.stack.replace(/^.+\n/,""):"";try{a.stack?s&&!String(a.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(a.stack+=` +`+s):a.stack=s}catch{}}throw a}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=_i(this.defaults,n);const{transitional:a,paramsSerializer:o,headers:s}=n;a!==void 0&&cu.assertOptions(a,{silentJSONParsing:br.transitional(br.boolean),forcedJSONParsing:br.transitional(br.boolean),clarifyTimeoutError:br.transitional(br.boolean)},!1),o!=null&&(ce.isFunction(o)?n.paramsSerializer={serialize:o}:cu.assertOptions(o,{encode:br.function,serialize:br.function},!0)),cu.assertOptions(n,{baseUrl:br.spelling("baseURL"),withXsrfToken:br.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let c=s&&ce.merge(s.common,s[n.method]);s&&ce.forEach(["delete","get","head","post","put","patch","common"],S=>{delete s[S]}),n.headers=wn.concat(c,s);const u=[];let f=!0;this.interceptors.request.forEach(function(E){typeof E.runWhen=="function"&&E.runWhen(n)===!1||(f=f&&E.synchronous,u.unshift(E.fulfilled,E.rejected))});const h=[];this.interceptors.response.forEach(function(E){h.push(E.fulfilled,E.rejected)});let m,g=0,y;if(!f){const S=[p0.bind(this),void 0];for(S.unshift.apply(S,u),S.push.apply(S,h),y=S.length,m=Promise.resolve(n);g{if(!a._listeners)return;let s=a._listeners.length;for(;s-- >0;)a._listeners[s](o);a._listeners=null}),this.promise.then=o=>{let s;const c=new Promise(u=>{a.subscribe(u),s=u}).then(o);return c.cancel=function(){a.unsubscribe(s)},c},t(function(s,c,u){a.reason||(a.reason=new Uo(s,c,u),n(a.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=a=>{t.abort(a)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new CE(function(o){t=o}),cancel:t}}};function MN(e){return function(n){return e.apply(null,n)}}function PN(e){return ce.isObject(e)&&e.isAxiosError===!0}const am={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(am).forEach(([e,t])=>{am[t]=e});function RE(e){const t=new Si(e),n=rE(Si.prototype.request,t);return ce.extend(n,Si.prototype,t,{allOwnKeys:!0}),ce.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return RE(_i(e,o))},n}const Dt=RE(vl);Dt.Axios=Si;Dt.CanceledError=Uo;Dt.CancelToken=zN;Dt.isCancel=yE;Dt.VERSION=TE;Dt.toFormData=Wu;Dt.AxiosError=Xe;Dt.Cancel=Dt.CanceledError;Dt.all=function(t){return Promise.all(t)};Dt.spread=MN;Dt.isAxiosError=PN;Dt.mergeConfig=_i;Dt.AxiosHeaders=wn;Dt.formToJSON=e=>vE(ce.isHTMLForm(e)?new FormData(e):e);Dt.getAdapter=_E.getAdapter;Dt.HttpStatusCode=am;Dt.default=Dt;const{Axios:MI,AxiosError:PI,CanceledError:GI,isCancel:FI,CancelToken:UI,VERSION:BI,all:II,Cancel:HI,isAxiosError:$I,spread:VI,toFormData:qI,AxiosHeaders:YI,HttpStatusCode:WI,formToJSON:XI,getAdapter:KI,mergeConfig:ZI}=Dt,dr=Dt.create({baseURL:Z1,headers:{"Content-Type":"application/json"}});dr.interceptors.request.use(e=>{const t=We.getState().apiKey;return t&&(e.headers["X-API-Key"]=t),e});dr.interceptors.response.use(e=>e,e=>{var t;throw e.response?new Error(`${e.response.status} ${e.response.statusText} +${JSON.stringify(e.response.data)} +${(t=e.config)==null?void 0:t.url}`):e});const GN=async e=>(await dr.get(`/graphs?label=${e}`)).data,FN=async()=>(await dr.get("/graph/label/list")).data,UN=async()=>{try{return(await dr.get("/health")).data}catch(e){return{status:"error",message:Sr(e)}}},BN=async()=>(await dr.get("/documents")).data,IN=async()=>(await dr.post("/documents/scan")).data,HN=async e=>(await dr.post("/query",e)).data,$N=async(e,t,n)=>{try{let a="";if(await dr.post("/query/stream",e,{responseType:"text",headers:{Accept:"application/x-ndjson"},transformResponse:[o=>{a+=o;const s=a.split(` +`);a=s.pop()||"";for(const c of s)if(c.trim())try{const u=JSON.parse(c);u.response?t(u.response):u.error}catch(u){console.error("Error parsing stream chunk:",u)}return o}]}),a.trim())try{const o=JSON.parse(a);o.response?t(o.response):o.error}catch(o){console.error("Error parsing final chunk:",o)}}catch(a){const o=Sr(a);console.error("Stream request failed:",o)}},VN=async(e,t)=>{const n=new FormData;return n.append("file",e),(await dr.post("/documents/upload",n,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:t!==void 0?o=>{const s=Math.round(o.loaded*100/o.total);t(s)}:void 0})).data},qN=async()=>(await dr.delete("/documents")).data,YN=Ym()(e=>({health:!0,message:null,messageTitle:null,lastCheckTime:Date.now(),status:null,check:async()=>{const t=await UN();return t.status==="healthy"?(e({health:!0,message:null,messageTitle:null,lastCheckTime:Date.now(),status:t}),!0):(e({health:!1,message:t.message,messageTitle:"Backend Health Check Error!",lastCheckTime:Date.now(),status:null}),!1)},clear:()=>{e({health:!0,message:null,messageTitle:null})},setErrorMessage:(t,n)=>{e({health:!1,message:t,messageTitle:n})}})),Wn=Km(YN);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const WN=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),AE=(...e)=>e.filter((t,n,a)=>!!t&&t.trim()!==""&&a.indexOf(t)===n).join(" ").trim();/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var XN={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const KN=w.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:a,className:o="",children:s,iconNode:c,...u},f)=>w.createElement("svg",{ref:f,...XN,width:t,height:t,stroke:e,strokeWidth:a?Number(n)*24/Number(t):n,className:AE("lucide",o),...u},[...c.map(([h,m])=>w.createElement(h,m)),...Array.isArray(s)?s:[s]]));/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ht=(e,t)=>{const n=w.forwardRef(({className:a,...o},s)=>w.createElement(KN,{ref:s,iconNode:t,className:AE(`lucide-${WN(e)}`,a),...o}));return n.displayName=`${e}`,n};/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ZN=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],eg=ht("Check",ZN);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const QN=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],tg=ht("ChevronDown",QN);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const JN=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],kE=ht("ChevronUp",JN);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const eO=[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]],tO=ht("ChevronsUpDown",eO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const nO=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],rO=ht("CircleAlert",nO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const aO=[["path",{d:"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21",key:"182aya"}],["path",{d:"M22 21H7",key:"t4ddhn"}],["path",{d:"m5 11 9 9",key:"1mo9qw"}]],DE=ht("Eraser",aO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const iO=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],oO=ht("FileText",iO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const sO=[["path",{d:"M20 7h-3a2 2 0 0 1-2-2V2",key:"x099mo"}],["path",{d:"M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z",key:"18t6ie"}],["path",{d:"M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8",key:"1nja0z"}]],lO=ht("Files",sO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const cO=[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["rect",{width:"10",height:"8",x:"7",y:"8",rx:"1",key:"vys8me"}]],uO=ht("Fullscreen",cO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const dO=[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]],fO=ht("Github",dO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const hO=[["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"19",cy:"5",r:"1",key:"w8mnmm"}],["circle",{cx:"5",cy:"5",r:"1",key:"lttvr7"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}],["circle",{cx:"19",cy:"19",r:"1",key:"shf9b7"}],["circle",{cx:"5",cy:"19",r:"1",key:"bfqh0e"}]],pO=ht("Grip",hO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const mO=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],NE=ht("LoaderCircle",mO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const gO=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],vO=ht("Loader",gO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const yO=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]],bO=ht("Maximize",yO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const xO=[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]],wO=ht("Minimize",xO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const EO=[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]],SO=ht("Moon",EO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _O=[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]],TO=ht("Pause",_O);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const CO=[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]],RO=ht("Play",CO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const AO=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],kO=ht("RefreshCw",AO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const DO=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]],NO=ht("Search",DO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const OO=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],jO=ht("Send",OO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const LO=[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],zO=ht("Settings",LO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const MO=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],PO=ht("Sun",MO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const GO=[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]],im=ht("Upload",GO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const FO=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],OE=ht("X",FO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const UO=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],BO=ht("Zap",UO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const IO=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],HO=ht("ZoomIn",IO);/** + * @license lucide-react v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const $O=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],VO=ht("ZoomOut",$O),qO=()=>{const e=Wn.use.health(),t=Wn.use.message(),n=Wn.use.messageTitle(),[a,o]=w.useState(!1);return w.useEffect(()=>{setTimeout(()=>{o(!0)},50)},[]),x.jsxs(eE,{className:Me("bg-background/90 absolute top-12 left-1/2 flex w-auto max-w-lg -translate-x-1/2 transform items-center gap-4 shadow-md backdrop-blur-lg transition-all duration-500 ease-in-out",a?"translate-y-0 opacity-100":"-translate-y-20 opacity-0",!e&&"bg-red-700 text-white"),children:[!e&&x.jsx("div",{children:x.jsx(rO,{className:"size-4"})}),x.jsxs("div",{children:[x.jsx(tE,{className:"font-bold",children:n}),x.jsx(nE,{children:t})]})]})};function Be(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function g0(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function jE(...e){return t=>{let n=!1;const a=e.map(o=>{const s=g0(o,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o{const{children:c,...u}=s,f=w.useMemo(()=>u,Object.values(u));return x.jsx(n.Provider,{value:f,children:c})};a.displayName=e+"Provider";function o(s){const c=w.useContext(n);if(c)return c;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[a,o]}function fr(e,t=[]){let n=[];function a(s,c){const u=w.createContext(c),f=n.length;n=[...n,c];const h=g=>{var N;const{scope:y,children:b,...S}=g,E=((N=y==null?void 0:y[e])==null?void 0:N[f])||u,_=w.useMemo(()=>S,Object.values(S));return x.jsx(E.Provider,{value:_,children:b})};h.displayName=s+"Provider";function m(g,y){var E;const b=((E=y==null?void 0:y[e])==null?void 0:E[f])||u,S=w.useContext(b);if(S)return S;if(c!==void 0)return c;throw new Error(`\`${g}\` must be used within \`${s}\``)}return[h,m]}const o=()=>{const s=n.map(c=>w.createContext(c));return function(u){const f=(u==null?void 0:u[e])||s;return w.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return o.scopeName=e,[a,WO(o,...t)]}function WO(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const a=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const c=a.reduce((u,{useScope:f,scopeName:h})=>{const g=f(s)[`__scope${h}`];return{...u,...g}},{});return w.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return n.scopeName=t.scopeName,n}var yl=F1();const LE=dn(yl);var Ua=w.forwardRef((e,t)=>{const{children:n,...a}=e,o=w.Children.toArray(n),s=o.find(XO);if(s){const c=s.props.children,u=o.map(f=>f===s?w.Children.count(c)>1?w.Children.only(null):w.isValidElement(c)?c.props.children:null:f);return x.jsx(om,{...a,ref:t,children:w.isValidElement(c)?w.cloneElement(c,void 0,u):null})}return x.jsx(om,{...a,ref:t,children:n})});Ua.displayName="Slot";var om=w.forwardRef((e,t)=>{const{children:n,...a}=e;if(w.isValidElement(n)){const o=ZO(n),s=KO(a,n.props);return n.type!==w.Fragment&&(s.ref=t?jE(t,o):o),w.cloneElement(n,s)}return w.Children.count(n)>1?w.Children.only(null):null});om.displayName="SlotClone";var zE=({children:e})=>x.jsx(x.Fragment,{children:e});function XO(e){return w.isValidElement(e)&&e.type===zE}function KO(e,t){const n={...t};for(const a in t){const o=e[a],s=t[a];/^on[A-Z]/.test(a)?o&&s?n[a]=(...u)=>{s(...u),o(...u)}:o&&(n[a]=o):a==="style"?n[a]={...o,...s}:a==="className"&&(n[a]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}function ZO(e){var a,o;let t=(a=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:a.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var QO=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Ie=QO.reduce((e,t)=>{const n=w.forwardRef((a,o)=>{const{asChild:s,...c}=a,u=s?Ua:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),x.jsx(u,{...c,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function JO(e,t){e&&yl.flushSync(()=>e.dispatchEvent(t))}function Zt(e){const t=w.useRef(e);return w.useEffect(()=>{t.current=e}),w.useMemo(()=>(...n)=>{var a;return(a=t.current)==null?void 0:a.call(t,...n)},[])}function ej(e,t=globalThis==null?void 0:globalThis.document){const n=Zt(e);w.useEffect(()=>{const a=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",a,{capture:!0}),()=>t.removeEventListener("keydown",a,{capture:!0})},[n,t])}var tj="DismissableLayer",sm="dismissableLayer.update",nj="dismissableLayer.pointerDownOutside",rj="dismissableLayer.focusOutside",v0,ME=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),bl=w.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:c,onDismiss:u,...f}=e,h=w.useContext(ME),[m,g]=w.useState(null),y=(m==null?void 0:m.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,b]=w.useState({}),S=at(t,R=>g(R)),E=Array.from(h.layers),[_]=[...h.layersWithOutsidePointerEventsDisabled].slice(-1),N=E.indexOf(_),T=m?E.indexOf(m):-1,A=h.layersWithOutsidePointerEventsDisabled.size>0,D=T>=N,k=oj(R=>{const U=R.target,L=[...h.branches].some(I=>I.contains(U));!D||L||(o==null||o(R),c==null||c(R),R.defaultPrevented||u==null||u())},y),M=sj(R=>{const U=R.target;[...h.branches].some(I=>I.contains(U))||(s==null||s(R),c==null||c(R),R.defaultPrevented||u==null||u())},y);return ej(R=>{T===h.layers.size-1&&(a==null||a(R),!R.defaultPrevented&&u&&(R.preventDefault(),u()))},y),w.useEffect(()=>{if(m)return n&&(h.layersWithOutsidePointerEventsDisabled.size===0&&(v0=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),h.layersWithOutsidePointerEventsDisabled.add(m)),h.layers.add(m),y0(),()=>{n&&h.layersWithOutsidePointerEventsDisabled.size===1&&(y.body.style.pointerEvents=v0)}},[m,y,n,h]),w.useEffect(()=>()=>{m&&(h.layers.delete(m),h.layersWithOutsidePointerEventsDisabled.delete(m),y0())},[m,h]),w.useEffect(()=>{const R=()=>b({});return document.addEventListener(sm,R),()=>document.removeEventListener(sm,R)},[]),x.jsx(Ie.div,{...f,ref:S,style:{pointerEvents:A?D?"auto":"none":void 0,...e.style},onFocusCapture:Be(e.onFocusCapture,M.onFocusCapture),onBlurCapture:Be(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:Be(e.onPointerDownCapture,k.onPointerDownCapture)})});bl.displayName=tj;var aj="DismissableLayerBranch",ij=w.forwardRef((e,t)=>{const n=w.useContext(ME),a=w.useRef(null),o=at(t,a);return w.useEffect(()=>{const s=a.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),x.jsx(Ie.div,{...e,ref:o})});ij.displayName=aj;function oj(e,t=globalThis==null?void 0:globalThis.document){const n=Zt(e),a=w.useRef(!1),o=w.useRef(()=>{});return w.useEffect(()=>{const s=u=>{if(u.target&&!a.current){let f=function(){PE(nj,n,h,{discrete:!0})};const h={originalEvent:u};u.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=f,t.addEventListener("click",o.current,{once:!0})):f()}else t.removeEventListener("click",o.current);a.current=!1},c=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(c),t.removeEventListener("pointerdown",s),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>a.current=!0}}function sj(e,t=globalThis==null?void 0:globalThis.document){const n=Zt(e),a=w.useRef(!1);return w.useEffect(()=>{const o=s=>{s.target&&!a.current&&PE(rj,n,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>a.current=!0,onBlurCapture:()=>a.current=!1}}function y0(){const e=new CustomEvent(sm);document.dispatchEvent(e)}function PE(e,t,n,{discrete:a}){const o=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),a?JO(o,s):o.dispatchEvent(s)}var Hh=0;function ng(){w.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??b0()),document.body.insertAdjacentElement("beforeend",e[1]??b0()),Hh++,()=>{Hh===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Hh--}},[])}function b0(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var $h="focusScope.autoFocusOnMount",Vh="focusScope.autoFocusOnUnmount",x0={bubbles:!1,cancelable:!0},lj="FocusScope",Zu=w.forwardRef((e,t)=>{const{loop:n=!1,trapped:a=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...c}=e,[u,f]=w.useState(null),h=Zt(o),m=Zt(s),g=w.useRef(null),y=at(t,E=>f(E)),b=w.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;w.useEffect(()=>{if(a){let E=function(A){if(b.paused||!u)return;const D=A.target;u.contains(D)?g.current=D:za(g.current,{select:!0})},_=function(A){if(b.paused||!u)return;const D=A.relatedTarget;D!==null&&(u.contains(D)||za(g.current,{select:!0}))},N=function(A){if(document.activeElement===document.body)for(const k of A)k.removedNodes.length>0&&za(u)};document.addEventListener("focusin",E),document.addEventListener("focusout",_);const T=new MutationObserver(N);return u&&T.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",E),document.removeEventListener("focusout",_),T.disconnect()}}},[a,u,b.paused]),w.useEffect(()=>{if(u){E0.add(b);const E=document.activeElement;if(!u.contains(E)){const N=new CustomEvent($h,x0);u.addEventListener($h,h),u.dispatchEvent(N),N.defaultPrevented||(cj(pj(GE(u)),{select:!0}),document.activeElement===E&&za(u))}return()=>{u.removeEventListener($h,h),setTimeout(()=>{const N=new CustomEvent(Vh,x0);u.addEventListener(Vh,m),u.dispatchEvent(N),N.defaultPrevented||za(E??document.body,{select:!0}),u.removeEventListener(Vh,m),E0.remove(b)},0)}}},[u,h,m,b]);const S=w.useCallback(E=>{if(!n&&!a||b.paused)return;const _=E.key==="Tab"&&!E.altKey&&!E.ctrlKey&&!E.metaKey,N=document.activeElement;if(_&&N){const T=E.currentTarget,[A,D]=uj(T);A&&D?!E.shiftKey&&N===D?(E.preventDefault(),n&&za(A,{select:!0})):E.shiftKey&&N===A&&(E.preventDefault(),n&&za(D,{select:!0})):N===T&&E.preventDefault()}},[n,a,b.paused]);return x.jsx(Ie.div,{tabIndex:-1,...c,ref:y,onKeyDown:S})});Zu.displayName=lj;function cj(e,{select:t=!1}={}){const n=document.activeElement;for(const a of e)if(za(a,{select:t}),document.activeElement!==n)return}function uj(e){const t=GE(e),n=w0(t,e),a=w0(t.reverse(),e);return[n,a]}function GE(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{const o=a.tagName==="INPUT"&&a.type==="hidden";return a.disabled||a.hidden||o?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function w0(e,t){for(const n of e)if(!dj(n,{upTo:t}))return n}function dj(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function fj(e){return e instanceof HTMLInputElement&&"select"in e}function za(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&fj(e)&&t&&e.select()}}var E0=hj();function hj(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=S0(e,t),e.unshift(t)},remove(t){var n;e=S0(e,t),(n=e[0])==null||n.resume()}}}function S0(e,t){const n=[...e],a=n.indexOf(t);return a!==-1&&n.splice(a,1),n}function pj(e){return e.filter(t=>t.tagName!=="A")}var on=globalThis!=null&&globalThis.document?w.useLayoutEffect:()=>{},mj=YA.useId||(()=>{}),gj=0;function an(e){const[t,n]=w.useState(mj());return on(()=>{n(a=>a??String(gj++))},[e]),t?`radix-${t}`:""}const vj=["top","right","bottom","left"],Ba=Math.min,Nn=Math.max,Tu=Math.round,Fc=Math.floor,Tr=e=>({x:e,y:e}),yj={left:"right",right:"left",bottom:"top",top:"bottom"},bj={start:"end",end:"start"};function lm(e,t,n){return Nn(e,Ba(t,n))}function aa(e,t){return typeof e=="function"?e(t):e}function ia(e){return e.split("-")[0]}function Bo(e){return e.split("-")[1]}function rg(e){return e==="x"?"y":"x"}function ag(e){return e==="y"?"height":"width"}function Ia(e){return["top","bottom"].includes(ia(e))?"y":"x"}function ig(e){return rg(Ia(e))}function xj(e,t,n){n===void 0&&(n=!1);const a=Bo(e),o=ig(e),s=ag(o);let c=o==="x"?a===(n?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(c=Cu(c)),[c,Cu(c)]}function wj(e){const t=Cu(e);return[cm(e),t,cm(t)]}function cm(e){return e.replace(/start|end/g,t=>bj[t])}function Ej(e,t,n){const a=["left","right"],o=["right","left"],s=["top","bottom"],c=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:a:t?a:o;case"left":case"right":return t?s:c;default:return[]}}function Sj(e,t,n,a){const o=Bo(e);let s=Ej(ia(e),n==="start",a);return o&&(s=s.map(c=>c+"-"+o),t&&(s=s.concat(s.map(cm)))),s}function Cu(e){return e.replace(/left|right|bottom|top/g,t=>yj[t])}function _j(e){return{top:0,right:0,bottom:0,left:0,...e}}function FE(e){return typeof e!="number"?_j(e):{top:e,right:e,bottom:e,left:e}}function Ru(e){const{x:t,y:n,width:a,height:o}=e;return{width:a,height:o,top:n,left:t,right:t+a,bottom:n+o,x:t,y:n}}function _0(e,t,n){let{reference:a,floating:o}=e;const s=Ia(t),c=ig(t),u=ag(c),f=ia(t),h=s==="y",m=a.x+a.width/2-o.width/2,g=a.y+a.height/2-o.height/2,y=a[u]/2-o[u]/2;let b;switch(f){case"top":b={x:m,y:a.y-o.height};break;case"bottom":b={x:m,y:a.y+a.height};break;case"right":b={x:a.x+a.width,y:g};break;case"left":b={x:a.x-o.width,y:g};break;default:b={x:a.x,y:a.y}}switch(Bo(t)){case"start":b[c]-=y*(n&&h?-1:1);break;case"end":b[c]+=y*(n&&h?-1:1);break}return b}const Tj=async(e,t,n)=>{const{placement:a="bottom",strategy:o="absolute",middleware:s=[],platform:c}=n,u=s.filter(Boolean),f=await(c.isRTL==null?void 0:c.isRTL(t));let h=await c.getElementRects({reference:e,floating:t,strategy:o}),{x:m,y:g}=_0(h,a,f),y=a,b={},S=0;for(let E=0;E({name:"arrow",options:e,async fn(t){const{x:n,y:a,placement:o,rects:s,platform:c,elements:u,middlewareData:f}=t,{element:h,padding:m=0}=aa(e,t)||{};if(h==null)return{};const g=FE(m),y={x:n,y:a},b=ig(o),S=ag(b),E=await c.getDimensions(h),_=b==="y",N=_?"top":"left",T=_?"bottom":"right",A=_?"clientHeight":"clientWidth",D=s.reference[S]+s.reference[b]-y[b]-s.floating[S],k=y[b]-s.reference[b],M=await(c.getOffsetParent==null?void 0:c.getOffsetParent(h));let R=M?M[A]:0;(!R||!await(c.isElement==null?void 0:c.isElement(M)))&&(R=u.floating[A]||s.floating[S]);const U=D/2-k/2,L=R/2-E[S]/2-1,I=Ba(g[N],L),q=Ba(g[T],L),Y=I,B=R-E[S]-q,X=R/2-E[S]/2+U,ne=lm(Y,X,B),F=!f.arrow&&Bo(o)!=null&&X!==ne&&s.reference[S]/2-(XX<=0)){var q,Y;const X=(((q=s.flip)==null?void 0:q.index)||0)+1,ne=R[X];if(ne)return{data:{index:X,overflows:I},reset:{placement:ne}};let F=(Y=I.filter(z=>z.overflows[0]<=0).sort((z,j)=>z.overflows[1]-j.overflows[1])[0])==null?void 0:Y.placement;if(!F)switch(b){case"bestFit":{var B;const z=(B=I.filter(j=>{if(M){const K=Ia(j.placement);return K===T||K==="y"}return!0}).map(j=>[j.placement,j.overflows.filter(K=>K>0).reduce((K,G)=>K+G,0)]).sort((j,K)=>j[1]-K[1])[0])==null?void 0:B[0];z&&(F=z);break}case"initialPlacement":F=u;break}if(o!==F)return{reset:{placement:F}}}return{}}}};function T0(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function C0(e){return vj.some(t=>e[t]>=0)}const Aj=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:a="referenceHidden",...o}=aa(e,t);switch(a){case"referenceHidden":{const s=await sl(t,{...o,elementContext:"reference"}),c=T0(s,n.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:C0(c)}}}case"escaped":{const s=await sl(t,{...o,altBoundary:!0}),c=T0(s,n.floating);return{data:{escapedOffsets:c,escaped:C0(c)}}}default:return{}}}}};async function kj(e,t){const{placement:n,platform:a,elements:o}=e,s=await(a.isRTL==null?void 0:a.isRTL(o.floating)),c=ia(n),u=Bo(n),f=Ia(n)==="y",h=["left","top"].includes(c)?-1:1,m=s&&f?-1:1,g=aa(t,e);let{mainAxis:y,crossAxis:b,alignmentAxis:S}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return u&&typeof S=="number"&&(b=u==="end"?S*-1:S),f?{x:b*m,y:y*h}:{x:y*h,y:b*m}}const Dj=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,a;const{x:o,y:s,placement:c,middlewareData:u}=t,f=await kj(t,e);return c===((n=u.offset)==null?void 0:n.placement)&&(a=u.arrow)!=null&&a.alignmentOffset?{}:{x:o+f.x,y:s+f.y,data:{...f,placement:c}}}}},Nj=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:a,placement:o}=t,{mainAxis:s=!0,crossAxis:c=!1,limiter:u={fn:_=>{let{x:N,y:T}=_;return{x:N,y:T}}},...f}=aa(e,t),h={x:n,y:a},m=await sl(t,f),g=Ia(ia(o)),y=rg(g);let b=h[y],S=h[g];if(s){const _=y==="y"?"top":"left",N=y==="y"?"bottom":"right",T=b+m[_],A=b-m[N];b=lm(T,b,A)}if(c){const _=g==="y"?"top":"left",N=g==="y"?"bottom":"right",T=S+m[_],A=S-m[N];S=lm(T,S,A)}const E=u.fn({...t,[y]:b,[g]:S});return{...E,data:{x:E.x-n,y:E.y-a,enabled:{[y]:s,[g]:c}}}}}},Oj=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:a,placement:o,rects:s,middlewareData:c}=t,{offset:u=0,mainAxis:f=!0,crossAxis:h=!0}=aa(e,t),m={x:n,y:a},g=Ia(o),y=rg(g);let b=m[y],S=m[g];const E=aa(u,t),_=typeof E=="number"?{mainAxis:E,crossAxis:0}:{mainAxis:0,crossAxis:0,...E};if(f){const A=y==="y"?"height":"width",D=s.reference[y]-s.floating[A]+_.mainAxis,k=s.reference[y]+s.reference[A]-_.mainAxis;bk&&(b=k)}if(h){var N,T;const A=y==="y"?"width":"height",D=["top","left"].includes(ia(o)),k=s.reference[g]-s.floating[A]+(D&&((N=c.offset)==null?void 0:N[g])||0)+(D?0:_.crossAxis),M=s.reference[g]+s.reference[A]+(D?0:((T=c.offset)==null?void 0:T[g])||0)-(D?_.crossAxis:0);SM&&(S=M)}return{[y]:b,[g]:S}}}},jj=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,a;const{placement:o,rects:s,platform:c,elements:u}=t,{apply:f=()=>{},...h}=aa(e,t),m=await sl(t,h),g=ia(o),y=Bo(o),b=Ia(o)==="y",{width:S,height:E}=s.floating;let _,N;g==="top"||g==="bottom"?(_=g,N=y===(await(c.isRTL==null?void 0:c.isRTL(u.floating))?"start":"end")?"left":"right"):(N=g,_=y==="end"?"top":"bottom");const T=E-m.top-m.bottom,A=S-m.left-m.right,D=Ba(E-m[_],T),k=Ba(S-m[N],A),M=!t.middlewareData.shift;let R=D,U=k;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(U=A),(a=t.middlewareData.shift)!=null&&a.enabled.y&&(R=T),M&&!y){const I=Nn(m.left,0),q=Nn(m.right,0),Y=Nn(m.top,0),B=Nn(m.bottom,0);b?U=S-2*(I!==0||q!==0?I+q:Nn(m.left,m.right)):R=E-2*(Y!==0||B!==0?Y+B:Nn(m.top,m.bottom))}await f({...t,availableWidth:U,availableHeight:R});const L=await c.getDimensions(u.floating);return S!==L.width||E!==L.height?{reset:{rects:!0}}:{}}}};function Qu(){return typeof window<"u"}function Io(e){return UE(e)?(e.nodeName||"").toLowerCase():"#document"}function jn(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Rr(e){var t;return(t=(UE(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function UE(e){return Qu()?e instanceof Node||e instanceof jn(e).Node:!1}function lr(e){return Qu()?e instanceof Element||e instanceof jn(e).Element:!1}function Cr(e){return Qu()?e instanceof HTMLElement||e instanceof jn(e).HTMLElement:!1}function R0(e){return!Qu()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof jn(e).ShadowRoot}function xl(e){const{overflow:t,overflowX:n,overflowY:a,display:o}=cr(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+n)&&!["inline","contents"].includes(o)}function Lj(e){return["table","td","th"].includes(Io(e))}function Ju(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function og(e){const t=sg(),n=lr(e)?cr(e):e;return["transform","translate","scale","rotate","perspective"].some(a=>n[a]?n[a]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(a=>(n.willChange||"").includes(a))||["paint","layout","strict","content"].some(a=>(n.contain||"").includes(a))}function zj(e){let t=Ha(e);for(;Cr(t)&&!ko(t);){if(og(t))return t;if(Ju(t))return null;t=Ha(t)}return null}function sg(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function ko(e){return["html","body","#document"].includes(Io(e))}function cr(e){return jn(e).getComputedStyle(e)}function ed(e){return lr(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ha(e){if(Io(e)==="html")return e;const t=e.assignedSlot||e.parentNode||R0(e)&&e.host||Rr(e);return R0(t)?t.host:t}function BE(e){const t=Ha(e);return ko(t)?e.ownerDocument?e.ownerDocument.body:e.body:Cr(t)&&xl(t)?t:BE(t)}function ll(e,t,n){var a;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=BE(e),s=o===((a=e.ownerDocument)==null?void 0:a.body),c=jn(o);if(s){const u=um(c);return t.concat(c,c.visualViewport||[],xl(o)?o:[],u&&n?ll(u):[])}return t.concat(o,ll(o,[],n))}function um(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function IE(e){const t=cr(e);let n=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const o=Cr(e),s=o?e.offsetWidth:n,c=o?e.offsetHeight:a,u=Tu(n)!==s||Tu(a)!==c;return u&&(n=s,a=c),{width:n,height:a,$:u}}function lg(e){return lr(e)?e:e.contextElement}function To(e){const t=lg(e);if(!Cr(t))return Tr(1);const n=t.getBoundingClientRect(),{width:a,height:o,$:s}=IE(t);let c=(s?Tu(n.width):n.width)/a,u=(s?Tu(n.height):n.height)/o;return(!c||!Number.isFinite(c))&&(c=1),(!u||!Number.isFinite(u))&&(u=1),{x:c,y:u}}const Mj=Tr(0);function HE(e){const t=jn(e);return!sg()||!t.visualViewport?Mj:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Pj(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==jn(e)?!1:t}function Ti(e,t,n,a){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=lg(e);let c=Tr(1);t&&(a?lr(a)&&(c=To(a)):c=To(e));const u=Pj(s,n,a)?HE(s):Tr(0);let f=(o.left+u.x)/c.x,h=(o.top+u.y)/c.y,m=o.width/c.x,g=o.height/c.y;if(s){const y=jn(s),b=a&&lr(a)?jn(a):a;let S=y,E=um(S);for(;E&&a&&b!==S;){const _=To(E),N=E.getBoundingClientRect(),T=cr(E),A=N.left+(E.clientLeft+parseFloat(T.paddingLeft))*_.x,D=N.top+(E.clientTop+parseFloat(T.paddingTop))*_.y;f*=_.x,h*=_.y,m*=_.x,g*=_.y,f+=A,h+=D,S=jn(E),E=um(S)}}return Ru({width:m,height:g,x:f,y:h})}function cg(e,t){const n=ed(e).scrollLeft;return t?t.left+n:Ti(Rr(e)).left+n}function $E(e,t,n){n===void 0&&(n=!1);const a=e.getBoundingClientRect(),o=a.left+t.scrollLeft-(n?0:cg(e,a)),s=a.top+t.scrollTop;return{x:o,y:s}}function Gj(e){let{elements:t,rect:n,offsetParent:a,strategy:o}=e;const s=o==="fixed",c=Rr(a),u=t?Ju(t.floating):!1;if(a===c||u&&s)return n;let f={scrollLeft:0,scrollTop:0},h=Tr(1);const m=Tr(0),g=Cr(a);if((g||!g&&!s)&&((Io(a)!=="body"||xl(c))&&(f=ed(a)),Cr(a))){const b=Ti(a);h=To(a),m.x=b.x+a.clientLeft,m.y=b.y+a.clientTop}const y=c&&!g&&!s?$E(c,f,!0):Tr(0);return{width:n.width*h.x,height:n.height*h.y,x:n.x*h.x-f.scrollLeft*h.x+m.x+y.x,y:n.y*h.y-f.scrollTop*h.y+m.y+y.y}}function Fj(e){return Array.from(e.getClientRects())}function Uj(e){const t=Rr(e),n=ed(e),a=e.ownerDocument.body,o=Nn(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),s=Nn(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight);let c=-n.scrollLeft+cg(e);const u=-n.scrollTop;return cr(a).direction==="rtl"&&(c+=Nn(t.clientWidth,a.clientWidth)-o),{width:o,height:s,x:c,y:u}}function Bj(e,t){const n=jn(e),a=Rr(e),o=n.visualViewport;let s=a.clientWidth,c=a.clientHeight,u=0,f=0;if(o){s=o.width,c=o.height;const h=sg();(!h||h&&t==="fixed")&&(u=o.offsetLeft,f=o.offsetTop)}return{width:s,height:c,x:u,y:f}}function Ij(e,t){const n=Ti(e,!0,t==="fixed"),a=n.top+e.clientTop,o=n.left+e.clientLeft,s=Cr(e)?To(e):Tr(1),c=e.clientWidth*s.x,u=e.clientHeight*s.y,f=o*s.x,h=a*s.y;return{width:c,height:u,x:f,y:h}}function A0(e,t,n){let a;if(t==="viewport")a=Bj(e,n);else if(t==="document")a=Uj(Rr(e));else if(lr(t))a=Ij(t,n);else{const o=HE(e);a={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Ru(a)}function VE(e,t){const n=Ha(e);return n===t||!lr(n)||ko(n)?!1:cr(n).position==="fixed"||VE(n,t)}function Hj(e,t){const n=t.get(e);if(n)return n;let a=ll(e,[],!1).filter(u=>lr(u)&&Io(u)!=="body"),o=null;const s=cr(e).position==="fixed";let c=s?Ha(e):e;for(;lr(c)&&!ko(c);){const u=cr(c),f=og(c);!f&&u.position==="fixed"&&(o=null),(s?!f&&!o:!f&&u.position==="static"&&!!o&&["absolute","fixed"].includes(o.position)||xl(c)&&!f&&VE(e,c))?a=a.filter(m=>m!==c):o=u,c=Ha(c)}return t.set(e,a),a}function $j(e){let{element:t,boundary:n,rootBoundary:a,strategy:o}=e;const c=[...n==="clippingAncestors"?Ju(t)?[]:Hj(t,this._c):[].concat(n),a],u=c[0],f=c.reduce((h,m)=>{const g=A0(t,m,o);return h.top=Nn(g.top,h.top),h.right=Ba(g.right,h.right),h.bottom=Ba(g.bottom,h.bottom),h.left=Nn(g.left,h.left),h},A0(t,u,o));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function Vj(e){const{width:t,height:n}=IE(e);return{width:t,height:n}}function qj(e,t,n){const a=Cr(t),o=Rr(t),s=n==="fixed",c=Ti(e,!0,s,t);let u={scrollLeft:0,scrollTop:0};const f=Tr(0);if(a||!a&&!s)if((Io(t)!=="body"||xl(o))&&(u=ed(t)),a){const y=Ti(t,!0,s,t);f.x=y.x+t.clientLeft,f.y=y.y+t.clientTop}else o&&(f.x=cg(o));const h=o&&!a&&!s?$E(o,u):Tr(0),m=c.left+u.scrollLeft-f.x-h.x,g=c.top+u.scrollTop-f.y-h.y;return{x:m,y:g,width:c.width,height:c.height}}function qh(e){return cr(e).position==="static"}function k0(e,t){if(!Cr(e)||cr(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Rr(e)===n&&(n=n.ownerDocument.body),n}function qE(e,t){const n=jn(e);if(Ju(e))return n;if(!Cr(e)){let o=Ha(e);for(;o&&!ko(o);){if(lr(o)&&!qh(o))return o;o=Ha(o)}return n}let a=k0(e,t);for(;a&&Lj(a)&&qh(a);)a=k0(a,t);return a&&ko(a)&&qh(a)&&!og(a)?n:a||zj(e)||n}const Yj=async function(e){const t=this.getOffsetParent||qE,n=this.getDimensions,a=await n(e.floating);return{reference:qj(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}};function Wj(e){return cr(e).direction==="rtl"}const Xj={convertOffsetParentRelativeRectToViewportRelativeRect:Gj,getDocumentElement:Rr,getClippingRect:$j,getOffsetParent:qE,getElementRects:Yj,getClientRects:Fj,getDimensions:Vj,getScale:To,isElement:lr,isRTL:Wj};function YE(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Kj(e,t){let n=null,a;const o=Rr(e);function s(){var u;clearTimeout(a),(u=n)==null||u.disconnect(),n=null}function c(u,f){u===void 0&&(u=!1),f===void 0&&(f=1),s();const h=e.getBoundingClientRect(),{left:m,top:g,width:y,height:b}=h;if(u||t(),!y||!b)return;const S=Fc(g),E=Fc(o.clientWidth-(m+y)),_=Fc(o.clientHeight-(g+b)),N=Fc(m),A={rootMargin:-S+"px "+-E+"px "+-_+"px "+-N+"px",threshold:Nn(0,Ba(1,f))||1};let D=!0;function k(M){const R=M[0].intersectionRatio;if(R!==f){if(!D)return c();R?c(!1,R):a=setTimeout(()=>{c(!1,1e-7)},1e3)}R===1&&!YE(h,e.getBoundingClientRect())&&c(),D=!1}try{n=new IntersectionObserver(k,{...A,root:o.ownerDocument})}catch{n=new IntersectionObserver(k,A)}n.observe(e)}return c(!0),s}function Zj(e,t,n,a){a===void 0&&(a={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:c=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:f=!1}=a,h=lg(e),m=o||s?[...h?ll(h):[],...ll(t)]:[];m.forEach(N=>{o&&N.addEventListener("scroll",n,{passive:!0}),s&&N.addEventListener("resize",n)});const g=h&&u?Kj(h,n):null;let y=-1,b=null;c&&(b=new ResizeObserver(N=>{let[T]=N;T&&T.target===h&&b&&(b.unobserve(t),cancelAnimationFrame(y),y=requestAnimationFrame(()=>{var A;(A=b)==null||A.observe(t)})),n()}),h&&!f&&b.observe(h),b.observe(t));let S,E=f?Ti(e):null;f&&_();function _(){const N=Ti(e);E&&!YE(E,N)&&n(),E=N,S=requestAnimationFrame(_)}return n(),()=>{var N;m.forEach(T=>{o&&T.removeEventListener("scroll",n),s&&T.removeEventListener("resize",n)}),g==null||g(),(N=b)==null||N.disconnect(),b=null,f&&cancelAnimationFrame(S)}}const Qj=Dj,Jj=Nj,eL=Rj,tL=jj,nL=Aj,D0=Cj,rL=Oj,aL=(e,t,n)=>{const a=new Map,o={platform:Xj,...n},s={...o.platform,_c:a};return Tj(e,t,{...o,platform:s})};var uu=typeof document<"u"?w.useLayoutEffect:w.useEffect;function Au(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,a,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(a=n;a--!==0;)if(!Au(e[a],t[a]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(a=n;a--!==0;)if(!{}.hasOwnProperty.call(t,o[a]))return!1;for(a=n;a--!==0;){const s=o[a];if(!(s==="_owner"&&e.$$typeof)&&!Au(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function WE(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function N0(e,t){const n=WE(e);return Math.round(t*n)/n}function Yh(e){const t=w.useRef(e);return uu(()=>{t.current=e}),t}function iL(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:a=[],platform:o,elements:{reference:s,floating:c}={},transform:u=!0,whileElementsMounted:f,open:h}=e,[m,g]=w.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[y,b]=w.useState(a);Au(y,a)||b(a);const[S,E]=w.useState(null),[_,N]=w.useState(null),T=w.useCallback(j=>{j!==M.current&&(M.current=j,E(j))},[]),A=w.useCallback(j=>{j!==R.current&&(R.current=j,N(j))},[]),D=s||S,k=c||_,M=w.useRef(null),R=w.useRef(null),U=w.useRef(m),L=f!=null,I=Yh(f),q=Yh(o),Y=Yh(h),B=w.useCallback(()=>{if(!M.current||!R.current)return;const j={placement:t,strategy:n,middleware:y};q.current&&(j.platform=q.current),aL(M.current,R.current,j).then(K=>{const G={...K,isPositioned:Y.current!==!1};X.current&&!Au(U.current,G)&&(U.current=G,yl.flushSync(()=>{g(G)}))})},[y,t,n,q,Y]);uu(()=>{h===!1&&U.current.isPositioned&&(U.current.isPositioned=!1,g(j=>({...j,isPositioned:!1})))},[h]);const X=w.useRef(!1);uu(()=>(X.current=!0,()=>{X.current=!1}),[]),uu(()=>{if(D&&(M.current=D),k&&(R.current=k),D&&k){if(I.current)return I.current(D,k,B);B()}},[D,k,B,I,L]);const ne=w.useMemo(()=>({reference:M,floating:R,setReference:T,setFloating:A}),[T,A]),F=w.useMemo(()=>({reference:D,floating:k}),[D,k]),z=w.useMemo(()=>{const j={position:n,left:0,top:0};if(!F.floating)return j;const K=N0(F.floating,m.x),G=N0(F.floating,m.y);return u?{...j,transform:"translate("+K+"px, "+G+"px)",...WE(F.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:K,top:G}},[n,u,F.floating,m.x,m.y]);return w.useMemo(()=>({...m,update:B,refs:ne,elements:F,floatingStyles:z}),[m,B,ne,F,z])}const oL=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:a,padding:o}=typeof e=="function"?e(n):e;return a&&t(a)?a.current!=null?D0({element:a.current,padding:o}).fn(n):{}:a?D0({element:a,padding:o}).fn(n):{}}}},sL=(e,t)=>({...Qj(e),options:[e,t]}),lL=(e,t)=>({...Jj(e),options:[e,t]}),cL=(e,t)=>({...rL(e),options:[e,t]}),uL=(e,t)=>({...eL(e),options:[e,t]}),dL=(e,t)=>({...tL(e),options:[e,t]}),fL=(e,t)=>({...nL(e),options:[e,t]}),hL=(e,t)=>({...oL(e),options:[e,t]});var pL="Arrow",XE=w.forwardRef((e,t)=>{const{children:n,width:a=10,height:o=5,...s}=e;return x.jsx(Ie.svg,{...s,ref:t,width:a,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:x.jsx("polygon",{points:"0,0 30,0 15,10"})})});XE.displayName=pL;var mL=XE;function KE(e){const[t,n]=w.useState(void 0);return on(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const a=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let c,u;if("borderBoxSize"in s){const f=s.borderBoxSize,h=Array.isArray(f)?f[0]:f;c=h.inlineSize,u=h.blockSize}else c=e.offsetWidth,u=e.offsetHeight;n({width:c,height:u})});return a.observe(e,{box:"border-box"}),()=>a.unobserve(e)}else n(void 0)},[e]),t}var ug="Popper",[ZE,Ho]=fr(ug),[gL,QE]=ZE(ug),JE=e=>{const{__scopePopper:t,children:n}=e,[a,o]=w.useState(null);return x.jsx(gL,{scope:t,anchor:a,onAnchorChange:o,children:n})};JE.displayName=ug;var eS="PopperAnchor",tS=w.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:a,...o}=e,s=QE(eS,n),c=w.useRef(null),u=at(t,c);return w.useEffect(()=>{s.onAnchorChange((a==null?void 0:a.current)||c.current)}),a?null:x.jsx(Ie.div,{...o,ref:u})});tS.displayName=eS;var dg="PopperContent",[vL,yL]=ZE(dg),nS=w.forwardRef((e,t)=>{var ie,oe,Te,he,Se,be;const{__scopePopper:n,side:a="bottom",sideOffset:o=0,align:s="center",alignOffset:c=0,arrowPadding:u=0,avoidCollisions:f=!0,collisionBoundary:h=[],collisionPadding:m=0,sticky:g="partial",hideWhenDetached:y=!1,updatePositionStrategy:b="optimized",onPlaced:S,...E}=e,_=QE(dg,n),[N,T]=w.useState(null),A=at(t,je=>T(je)),[D,k]=w.useState(null),M=KE(D),R=(M==null?void 0:M.width)??0,U=(M==null?void 0:M.height)??0,L=a+(s!=="center"?"-"+s:""),I=typeof m=="number"?m:{top:0,right:0,bottom:0,left:0,...m},q=Array.isArray(h)?h:[h],Y=q.length>0,B={padding:I,boundary:q.filter(xL),altBoundary:Y},{refs:X,floatingStyles:ne,placement:F,isPositioned:z,middlewareData:j}=iL({strategy:"fixed",placement:L,whileElementsMounted:(...je)=>Zj(...je,{animationFrame:b==="always"}),elements:{reference:_.anchor},middleware:[sL({mainAxis:o+U,alignmentAxis:c}),f&&lL({mainAxis:!0,crossAxis:!1,limiter:g==="partial"?cL():void 0,...B}),f&&uL({...B}),dL({...B,apply:({elements:je,rects:Ce,availableWidth:ye,availableHeight:J})=>{const{width:le,height:_e}=Ce.reference,pe=je.floating.style;pe.setProperty("--radix-popper-available-width",`${ye}px`),pe.setProperty("--radix-popper-available-height",`${J}px`),pe.setProperty("--radix-popper-anchor-width",`${le}px`),pe.setProperty("--radix-popper-anchor-height",`${_e}px`)}}),D&&hL({element:D,padding:u}),wL({arrowWidth:R,arrowHeight:U}),y&&fL({strategy:"referenceHidden",...B})]}),[K,G]=iS(F),H=Zt(S);on(()=>{z&&(H==null||H())},[z,H]);const O=(ie=j.arrow)==null?void 0:ie.x,$=(oe=j.arrow)==null?void 0:oe.y,W=((Te=j.arrow)==null?void 0:Te.centerOffset)!==0,[re,de]=w.useState();return on(()=>{N&&de(window.getComputedStyle(N).zIndex)},[N]),x.jsx("div",{ref:X.setFloating,"data-radix-popper-content-wrapper":"",style:{...ne,transform:z?ne.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:re,"--radix-popper-transform-origin":[(he=j.transformOrigin)==null?void 0:he.x,(Se=j.transformOrigin)==null?void 0:Se.y].join(" "),...((be=j.hide)==null?void 0:be.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:x.jsx(vL,{scope:n,placedSide:K,onArrowChange:k,arrowX:O,arrowY:$,shouldHideArrow:W,children:x.jsx(Ie.div,{"data-side":K,"data-align":G,...E,ref:A,style:{...E.style,animation:z?void 0:"none"}})})})});nS.displayName=dg;var rS="PopperArrow",bL={top:"bottom",right:"left",bottom:"top",left:"right"},aS=w.forwardRef(function(t,n){const{__scopePopper:a,...o}=t,s=yL(rS,a),c=bL[s.placedSide];return x.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[c]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:x.jsx(mL,{...o,ref:n,style:{...o.style,display:"block"}})})});aS.displayName=rS;function xL(e){return e!==null}var wL=e=>({name:"transformOrigin",options:e,fn(t){var _,N,T;const{placement:n,rects:a,middlewareData:o}=t,c=((_=o.arrow)==null?void 0:_.centerOffset)!==0,u=c?0:e.arrowWidth,f=c?0:e.arrowHeight,[h,m]=iS(n),g={start:"0%",center:"50%",end:"100%"}[m],y=(((N=o.arrow)==null?void 0:N.x)??0)+u/2,b=(((T=o.arrow)==null?void 0:T.y)??0)+f/2;let S="",E="";return h==="bottom"?(S=c?g:`${y}px`,E=`${-f}px`):h==="top"?(S=c?g:`${y}px`,E=`${a.floating.height+f}px`):h==="right"?(S=`${-f}px`,E=c?g:`${b}px`):h==="left"&&(S=`${a.floating.width+f}px`,E=c?g:`${b}px`),{data:{x:S,y:E}}}});function iS(e){const[t,n="center"]=e.split("-");return[t,n]}var fg=JE,td=tS,hg=nS,pg=aS,EL="Portal",nd=w.forwardRef((e,t)=>{var u;const{container:n,...a}=e,[o,s]=w.useState(!1);on(()=>s(!0),[]);const c=n||o&&((u=globalThis==null?void 0:globalThis.document)==null?void 0:u.body);return c?LE.createPortal(x.jsx(Ie.div,{...a,ref:t}),c):null});nd.displayName=EL;function SL(e,t){return w.useReducer((n,a)=>t[n][a]??n,e)}var Ln=e=>{const{present:t,children:n}=e,a=_L(t),o=typeof n=="function"?n({present:a.isPresent}):w.Children.only(n),s=at(a.ref,TL(o));return typeof n=="function"||a.isPresent?w.cloneElement(o,{ref:s}):null};Ln.displayName="Presence";function _L(e){const[t,n]=w.useState(),a=w.useRef({}),o=w.useRef(e),s=w.useRef("none"),c=e?"mounted":"unmounted",[u,f]=SL(c,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{const h=Uc(a.current);s.current=u==="mounted"?h:"none"},[u]),on(()=>{const h=a.current,m=o.current;if(m!==e){const y=s.current,b=Uc(h);e?f("MOUNT"):b==="none"||(h==null?void 0:h.display)==="none"?f("UNMOUNT"):f(m&&y!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,f]),on(()=>{if(t){let h;const m=t.ownerDocument.defaultView??window,g=b=>{const E=Uc(a.current).includes(b.animationName);if(b.target===t&&E&&(f("ANIMATION_END"),!o.current)){const _=t.style.animationFillMode;t.style.animationFillMode="forwards",h=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=_)})}},y=b=>{b.target===t&&(s.current=Uc(a.current))};return t.addEventListener("animationstart",y),t.addEventListener("animationcancel",g),t.addEventListener("animationend",g),()=>{m.clearTimeout(h),t.removeEventListener("animationstart",y),t.removeEventListener("animationcancel",g),t.removeEventListener("animationend",g)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:w.useCallback(h=>{h&&(a.current=getComputedStyle(h)),n(h)},[])}}function Uc(e){return(e==null?void 0:e.animationName)||"none"}function TL(e){var a,o;let t=(a=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:a.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function oa({prop:e,defaultProp:t,onChange:n=()=>{}}){const[a,o]=CL({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:a,u=Zt(n),f=w.useCallback(h=>{if(s){const g=typeof h=="function"?h(e):h;g!==e&&u(g)}else o(h)},[s,e,o,u]);return[c,f]}function CL({defaultProp:e,onChange:t}){const n=w.useState(e),[a]=n,o=w.useRef(a),s=Zt(t);return w.useEffect(()=>{o.current!==a&&(s(a),o.current=a)},[a,o,s]),n}var RL=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},vo=new WeakMap,Bc=new WeakMap,Ic={},Wh=0,oS=function(e){return e&&(e.host||oS(e.parentNode))},AL=function(e,t){return t.map(function(n){if(e.contains(n))return n;var a=oS(n);return a&&e.contains(a)?a:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},kL=function(e,t,n,a){var o=AL(t,Array.isArray(e)?e:[e]);Ic[n]||(Ic[n]=new WeakMap);var s=Ic[n],c=[],u=new Set,f=new Set(o),h=function(g){!g||u.has(g)||(u.add(g),h(g.parentNode))};o.forEach(h);var m=function(g){!g||f.has(g)||Array.prototype.forEach.call(g.children,function(y){if(u.has(y))m(y);else try{var b=y.getAttribute(a),S=b!==null&&b!=="false",E=(vo.get(y)||0)+1,_=(s.get(y)||0)+1;vo.set(y,E),s.set(y,_),c.push(y),E===1&&S&&Bc.set(y,!0),_===1&&y.setAttribute(n,"true"),S||y.setAttribute(a,"true")}catch(N){console.error("aria-hidden: cannot operate on ",y,N)}})};return m(t),u.clear(),Wh++,function(){c.forEach(function(g){var y=vo.get(g)-1,b=s.get(g)-1;vo.set(g,y),s.set(g,b),y||(Bc.has(g)||g.removeAttribute(a),Bc.delete(g)),b||g.removeAttribute(n)}),Wh--,Wh||(vo=new WeakMap,vo=new WeakMap,Bc=new WeakMap,Ic={})}},mg=function(e,t,n){n===void 0&&(n="data-aria-hidden");var a=Array.from(Array.isArray(e)?e:[e]),o=RL(e);return o?(a.push.apply(a,Array.from(o.querySelectorAll("[aria-live]"))),kL(a,o,n,"aria-hidden")):function(){return null}},wr=function(){return wr=Object.assign||function(t){for(var n,a=1,o=arguments.length;a"u")return qL;var t=YL(e),n=document.documentElement.clientWidth,a=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,a-n+t[2]-t[0])}},XL=uS(),Co="data-scroll-locked",KL=function(e,t,n,a){var o=e.left,s=e.top,c=e.right,u=e.gap;return n===void 0&&(n="margin"),` + .`.concat(NL,` { + overflow: hidden `).concat(a,`; + padding-right: `).concat(u,"px ").concat(a,`; + } + body[`).concat(Co,`] { + overflow: hidden `).concat(a,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(a,";"),n==="margin"&&` + padding-left: `.concat(o,`px; + padding-top: `).concat(s,`px; + padding-right: `).concat(c,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(u,"px ").concat(a,`; + `),n==="padding"&&"padding-right: ".concat(u,"px ").concat(a,";")].filter(Boolean).join(""),` + } + + .`).concat(du,` { + right: `).concat(u,"px ").concat(a,`; + } + + .`).concat(fu,` { + margin-right: `).concat(u,"px ").concat(a,`; + } + + .`).concat(du," .").concat(du,` { + right: 0 `).concat(a,`; + } + + .`).concat(fu," .").concat(fu,` { + margin-right: 0 `).concat(a,`; + } + + body[`).concat(Co,`] { + `).concat(OL,": ").concat(u,`px; + } +`)},j0=function(){var e=parseInt(document.body.getAttribute(Co)||"0",10);return isFinite(e)?e:0},ZL=function(){w.useEffect(function(){return document.body.setAttribute(Co,(j0()+1).toString()),function(){var e=j0()-1;e<=0?document.body.removeAttribute(Co):document.body.setAttribute(Co,e.toString())}},[])},QL=function(e){var t=e.noRelative,n=e.noImportant,a=e.gapMode,o=a===void 0?"margin":a;ZL();var s=w.useMemo(function(){return WL(o)},[o]);return w.createElement(XL,{styles:KL(s,!t,o,n?"":"!important")})},dm=!1;if(typeof window<"u")try{var Hc=Object.defineProperty({},"passive",{get:function(){return dm=!0,!0}});window.addEventListener("test",Hc,Hc),window.removeEventListener("test",Hc,Hc)}catch{dm=!1}var yo=dm?{passive:!1}:!1,JL=function(e){return e.tagName==="TEXTAREA"},dS=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!JL(e)&&n[t]==="visible")},ez=function(e){return dS(e,"overflowY")},tz=function(e){return dS(e,"overflowX")},L0=function(e,t){var n=t.ownerDocument,a=t;do{typeof ShadowRoot<"u"&&a instanceof ShadowRoot&&(a=a.host);var o=fS(e,a);if(o){var s=hS(e,a),c=s[1],u=s[2];if(c>u)return!0}a=a.parentNode}while(a&&a!==n.body);return!1},nz=function(e){var t=e.scrollTop,n=e.scrollHeight,a=e.clientHeight;return[t,n,a]},rz=function(e){var t=e.scrollLeft,n=e.scrollWidth,a=e.clientWidth;return[t,n,a]},fS=function(e,t){return e==="v"?ez(t):tz(t)},hS=function(e,t){return e==="v"?nz(t):rz(t)},az=function(e,t){return e==="h"&&t==="rtl"?-1:1},iz=function(e,t,n,a,o){var s=az(e,window.getComputedStyle(t).direction),c=s*a,u=n.target,f=t.contains(u),h=!1,m=c>0,g=0,y=0;do{var b=hS(e,u),S=b[0],E=b[1],_=b[2],N=E-_-s*S;(S||N)&&fS(e,u)&&(g+=N,y+=S),u instanceof ShadowRoot?u=u.host:u=u.parentNode}while(!f&&u!==document.body||f&&(t.contains(u)||t===u));return(m&&Math.abs(g)<1||!m&&Math.abs(y)<1)&&(h=!0),h},$c=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},z0=function(e){return[e.deltaX,e.deltaY]},M0=function(e){return e&&"current"in e?e.current:e},oz=function(e,t){return e[0]===t[0]&&e[1]===t[1]},sz=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},lz=0,bo=[];function cz(e){var t=w.useRef([]),n=w.useRef([0,0]),a=w.useRef(),o=w.useState(lz++)[0],s=w.useState(uS)[0],c=w.useRef(e);w.useEffect(function(){c.current=e},[e]),w.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var E=DL([e.lockRef.current],(e.shards||[]).map(M0),!0).filter(Boolean);return E.forEach(function(_){return _.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),E.forEach(function(_){return _.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var u=w.useCallback(function(E,_){if("touches"in E&&E.touches.length===2||E.type==="wheel"&&E.ctrlKey)return!c.current.allowPinchZoom;var N=$c(E),T=n.current,A="deltaX"in E?E.deltaX:T[0]-N[0],D="deltaY"in E?E.deltaY:T[1]-N[1],k,M=E.target,R=Math.abs(A)>Math.abs(D)?"h":"v";if("touches"in E&&R==="h"&&M.type==="range")return!1;var U=L0(R,M);if(!U)return!0;if(U?k=R:(k=R==="v"?"h":"v",U=L0(R,M)),!U)return!1;if(!a.current&&"changedTouches"in E&&(A||D)&&(a.current=k),!k)return!0;var L=a.current||k;return iz(L,_,E,L==="h"?A:D)},[]),f=w.useCallback(function(E){var _=E;if(!(!bo.length||bo[bo.length-1]!==s)){var N="deltaY"in _?z0(_):$c(_),T=t.current.filter(function(k){return k.name===_.type&&(k.target===_.target||_.target===k.shadowParent)&&oz(k.delta,N)})[0];if(T&&T.should){_.cancelable&&_.preventDefault();return}if(!T){var A=(c.current.shards||[]).map(M0).filter(Boolean).filter(function(k){return k.contains(_.target)}),D=A.length>0?u(_,A[0]):!c.current.noIsolation;D&&_.cancelable&&_.preventDefault()}}},[]),h=w.useCallback(function(E,_,N,T){var A={name:E,delta:_,target:N,should:T,shadowParent:uz(N)};t.current.push(A),setTimeout(function(){t.current=t.current.filter(function(D){return D!==A})},1)},[]),m=w.useCallback(function(E){n.current=$c(E),a.current=void 0},[]),g=w.useCallback(function(E){h(E.type,z0(E),E.target,u(E,e.lockRef.current))},[]),y=w.useCallback(function(E){h(E.type,$c(E),E.target,u(E,e.lockRef.current))},[]);w.useEffect(function(){return bo.push(s),e.setCallbacks({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:y}),document.addEventListener("wheel",f,yo),document.addEventListener("touchmove",f,yo),document.addEventListener("touchstart",m,yo),function(){bo=bo.filter(function(E){return E!==s}),document.removeEventListener("wheel",f,yo),document.removeEventListener("touchmove",f,yo),document.removeEventListener("touchstart",m,yo)}},[]);var b=e.removeScrollBar,S=e.inert;return w.createElement(w.Fragment,null,S?w.createElement(s,{styles:sz(o)}):null,b?w.createElement(QL,{gapMode:e.gapMode}):null)}function uz(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const dz=FL(cS,cz);var ad=w.forwardRef(function(e,t){return w.createElement(rd,wr({},e,{ref:t,sideCar:dz}))});ad.classNames=rd.classNames;var gg="Popover",[pS,QI]=fr(gg,[Ho]),wl=Ho(),[fz,$a]=pS(gg),mS=e=>{const{__scopePopover:t,children:n,open:a,defaultOpen:o,onOpenChange:s,modal:c=!1}=e,u=wl(t),f=w.useRef(null),[h,m]=w.useState(!1),[g=!1,y]=oa({prop:a,defaultProp:o,onChange:s});return x.jsx(fg,{...u,children:x.jsx(fz,{scope:t,contentId:an(),triggerRef:f,open:g,onOpenChange:y,onOpenToggle:w.useCallback(()=>y(b=>!b),[y]),hasCustomAnchor:h,onCustomAnchorAdd:w.useCallback(()=>m(!0),[]),onCustomAnchorRemove:w.useCallback(()=>m(!1),[]),modal:c,children:n})})};mS.displayName=gg;var gS="PopoverAnchor",hz=w.forwardRef((e,t)=>{const{__scopePopover:n,...a}=e,o=$a(gS,n),s=wl(n),{onCustomAnchorAdd:c,onCustomAnchorRemove:u}=o;return w.useEffect(()=>(c(),()=>u()),[c,u]),x.jsx(td,{...s,...a,ref:t})});hz.displayName=gS;var vS="PopoverTrigger",yS=w.forwardRef((e,t)=>{const{__scopePopover:n,...a}=e,o=$a(vS,n),s=wl(n),c=at(t,o.triggerRef),u=x.jsx(Ie.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":SS(o.open),...a,ref:c,onClick:Be(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?u:x.jsx(td,{asChild:!0,...s,children:u})});yS.displayName=vS;var vg="PopoverPortal",[pz,mz]=pS(vg,{forceMount:void 0}),bS=e=>{const{__scopePopover:t,forceMount:n,children:a,container:o}=e,s=$a(vg,t);return x.jsx(pz,{scope:t,forceMount:n,children:x.jsx(Ln,{present:n||s.open,children:x.jsx(nd,{asChild:!0,container:o,children:a})})})};bS.displayName=vg;var Do="PopoverContent",xS=w.forwardRef((e,t)=>{const n=mz(Do,e.__scopePopover),{forceMount:a=n.forceMount,...o}=e,s=$a(Do,e.__scopePopover);return x.jsx(Ln,{present:a||s.open,children:s.modal?x.jsx(gz,{...o,ref:t}):x.jsx(vz,{...o,ref:t})})});xS.displayName=Do;var gz=w.forwardRef((e,t)=>{const n=$a(Do,e.__scopePopover),a=w.useRef(null),o=at(t,a),s=w.useRef(!1);return w.useEffect(()=>{const c=a.current;if(c)return mg(c)},[]),x.jsx(ad,{as:Ua,allowPinchZoom:!0,children:x.jsx(wS,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Be(e.onCloseAutoFocus,c=>{var u;c.preventDefault(),s.current||(u=n.triggerRef.current)==null||u.focus()}),onPointerDownOutside:Be(e.onPointerDownOutside,c=>{const u=c.detail.originalEvent,f=u.button===0&&u.ctrlKey===!0,h=u.button===2||f;s.current=h},{checkForDefaultPrevented:!1}),onFocusOutside:Be(e.onFocusOutside,c=>c.preventDefault(),{checkForDefaultPrevented:!1})})})}),vz=w.forwardRef((e,t)=>{const n=$a(Do,e.__scopePopover),a=w.useRef(!1),o=w.useRef(!1);return x.jsx(wS,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var c,u;(c=e.onCloseAutoFocus)==null||c.call(e,s),s.defaultPrevented||(a.current||(u=n.triggerRef.current)==null||u.focus(),s.preventDefault()),a.current=!1,o.current=!1},onInteractOutside:s=>{var f,h;(f=e.onInteractOutside)==null||f.call(e,s),s.defaultPrevented||(a.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const c=s.target;((h=n.triggerRef.current)==null?void 0:h.contains(c))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),wS=w.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:h,onInteractOutside:m,...g}=e,y=$a(Do,n),b=wl(n);return ng(),x.jsx(Zu,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:o,onUnmountAutoFocus:s,children:x.jsx(bl,{asChild:!0,disableOutsidePointerEvents:c,onInteractOutside:m,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:h,onDismiss:()=>y.onOpenChange(!1),children:x.jsx(hg,{"data-state":SS(y.open),role:"dialog",id:y.contentId,...b,...g,ref:t,style:{...g.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),ES="PopoverClose",yz=w.forwardRef((e,t)=>{const{__scopePopover:n,...a}=e,o=$a(ES,n);return x.jsx(Ie.button,{type:"button",...a,ref:t,onClick:Be(e.onClick,()=>o.onOpenChange(!1))})});yz.displayName=ES;var bz="PopoverArrow",xz=w.forwardRef((e,t)=>{const{__scopePopover:n,...a}=e,o=wl(n);return x.jsx(pg,{...o,...a,ref:t})});xz.displayName=bz;function SS(e){return e?"open":"closed"}var wz=mS,Ez=yS,Sz=bS,_S=xS;const id=wz,od=Ez,El=w.forwardRef(({className:e,align:t="center",sideOffset:n=4,...a},o)=>x.jsx(Sz,{children:x.jsx(_S,{ref:o,align:t,sideOffset:n,className:Me("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 rounded-md border p-4 shadow-md outline-none",e),...a})}));El.displayName=_S.displayName;const _z=({status:e})=>e?x.jsxs("div",{className:"min-w-[300px] space-y-3 text-sm",children:[x.jsxs("div",{className:"space-y-1",children:[x.jsx("h4",{className:"font-medium",children:"Storage Info"}),x.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[x.jsx("span",{children:"Working Directory:"}),x.jsx("span",{className:"truncate",children:e.working_directory}),x.jsx("span",{children:"Input Directory:"}),x.jsx("span",{className:"truncate",children:e.input_directory})]})]}),x.jsxs("div",{className:"space-y-1",children:[x.jsx("h4",{className:"font-medium",children:"LLM Configuration"}),x.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[x.jsx("span",{children:"LLM Binding:"}),x.jsx("span",{children:e.configuration.llm_binding}),x.jsx("span",{children:"LLM Binding Host:"}),x.jsx("span",{children:e.configuration.llm_binding_host}),x.jsx("span",{children:"LLM Model:"}),x.jsx("span",{children:e.configuration.llm_model}),x.jsx("span",{children:"Max Tokens:"}),x.jsx("span",{children:e.configuration.max_tokens})]})]}),x.jsxs("div",{className:"space-y-1",children:[x.jsx("h4",{className:"font-medium",children:"Embedding Configuration"}),x.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[x.jsx("span",{children:"Embedding Binding:"}),x.jsx("span",{children:e.configuration.embedding_binding}),x.jsx("span",{children:"Embedding Binding Host:"}),x.jsx("span",{children:e.configuration.embedding_binding_host}),x.jsx("span",{children:"Embedding Model:"}),x.jsx("span",{children:e.configuration.embedding_model})]})]}),x.jsxs("div",{className:"space-y-1",children:[x.jsx("h4",{className:"font-medium",children:"Storage Configuration"}),x.jsxs("div",{className:"text-muted-foreground grid grid-cols-2 gap-1",children:[x.jsx("span",{children:"KV Storage:"}),x.jsx("span",{children:e.configuration.kv_storage}),x.jsx("span",{children:"Doc Status Storage:"}),x.jsx("span",{children:e.configuration.doc_status_storage}),x.jsx("span",{children:"Graph Storage:"}),x.jsx("span",{children:e.configuration.graph_storage}),x.jsx("span",{children:"Vector Storage:"}),x.jsx("span",{children:e.configuration.vector_storage})]})]})]}):x.jsx("div",{className:"text-muted-foreground text-sm",children:"Status information unavailable"}),Tz=()=>{const e=Wn.use.health(),t=Wn.use.lastCheckTime(),n=Wn.use.status(),[a,o]=w.useState(!1);return w.useEffect(()=>{o(!0);const s=setTimeout(()=>o(!1),300);return()=>clearTimeout(s)},[t]),x.jsx("div",{className:"fixed right-4 bottom-4 flex items-center gap-2 opacity-80 select-none",children:x.jsxs(id,{children:[x.jsx(od,{asChild:!0,children:x.jsxs("div",{className:"flex cursor-help items-center gap-2",children:[x.jsx("div",{className:Me("h-3 w-3 rounded-full transition-all duration-300","shadow-[0_0_8px_rgba(0,0,0,0.2)]",e?"bg-green-500":"bg-red-500",a&&"scale-125",a&&e&&"shadow-[0_0_12px_rgba(34,197,94,0.4)]",a&&!e&&"shadow-[0_0_12px_rgba(239,68,68,0.4)]")}),x.jsx("span",{className:"text-muted-foreground text-xs",children:e?"Connected":"Disconnected"})]})}),x.jsx(El,{className:"w-auto",side:"top",align:"end",children:x.jsx(_z,{status:n})})]})})};var Cz=e=>{switch(e){case"success":return kz;case"info":return Nz;case"warning":return Dz;case"error":return Oz;default:return null}},Rz=Array(12).fill(0),Az=({visible:e,className:t})=>ve.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},ve.createElement("div",{className:"sonner-spinner"},Rz.map((n,a)=>ve.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${a}`})))),kz=ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ve.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Dz=ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},ve.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),Nz=ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ve.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Oz=ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},ve.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),jz=ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},ve.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),ve.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),Lz=()=>{let[e,t]=ve.useState(document.hidden);return ve.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},fm=1,zz=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...a}=e,o=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:fm++,s=this.toasts.find(u=>u.id===o),c=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(o)&&this.dismissedToasts.delete(o),s?this.toasts=this.toasts.map(u=>u.id===o?(this.publish({...u,...e,id:o,title:n}),{...u,...e,id:o,dismissible:c,title:n}):u):this.addToast({title:n,...a,dismissible:c,id:o}),o},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let a=e instanceof Promise?e:e(),o=n!==void 0,s,c=a.then(async f=>{if(s=["resolve",f],ve.isValidElement(f))o=!1,this.create({id:n,type:"default",message:f});else if(Pz(f)&&!f.ok){o=!1;let h=typeof t.error=="function"?await t.error(`HTTP error! status: ${f.status}`):t.error,m=typeof t.description=="function"?await t.description(`HTTP error! status: ${f.status}`):t.description;this.create({id:n,type:"error",message:h,description:m})}else if(t.success!==void 0){o=!1;let h=typeof t.success=="function"?await t.success(f):t.success,m=typeof t.description=="function"?await t.description(f):t.description;this.create({id:n,type:"success",message:h,description:m})}}).catch(async f=>{if(s=["reject",f],t.error!==void 0){o=!1;let h=typeof t.error=="function"?await t.error(f):t.error,m=typeof t.description=="function"?await t.description(f):t.description;this.create({id:n,type:"error",message:h,description:m})}}).finally(()=>{var f;o&&(this.dismiss(n),n=void 0),(f=t.finally)==null||f.call(t)}),u=()=>new Promise((f,h)=>c.then(()=>s[0]==="reject"?h(s[1]):f(s[1])).catch(h));return typeof n!="string"&&typeof n!="number"?{unwrap:u}:Object.assign(n,{unwrap:u})},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||fm++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},xn=new zz,Mz=(e,t)=>{let n=(t==null?void 0:t.id)||fm++;return xn.addToast({title:e,...t,id:n}),n},Pz=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Gz=Mz,Fz=()=>xn.toasts,Uz=()=>xn.getActiveToasts(),un=Object.assign(Gz,{success:xn.success,info:xn.info,warning:xn.warning,error:xn.error,custom:xn.custom,message:xn.message,promise:xn.promise,dismiss:xn.dismiss,loading:xn.loading},{getHistory:Fz,getToasts:Uz});function Bz(e,{insertAt:t}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",t==="top"&&n.firstChild?n.insertBefore(a,n.firstChild):n.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}Bz(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} +`);function Vc(e){return e.label!==void 0}var Iz=3,Hz="32px",$z="16px",P0=4e3,Vz=356,qz=14,Yz=20,Wz=200;function rr(...e){return e.filter(Boolean).join(" ")}function Xz(e){let[t,n]=e.split("-"),a=[];return t&&a.push(t),n&&a.push(n),a}var Kz=e=>{var t,n,a,o,s,c,u,f,h,m,g;let{invert:y,toast:b,unstyled:S,interacting:E,setHeights:_,visibleToasts:N,heights:T,index:A,toasts:D,expanded:k,removeToast:M,defaultRichColors:R,closeButton:U,style:L,cancelButtonStyle:I,actionButtonStyle:q,className:Y="",descriptionClassName:B="",duration:X,position:ne,gap:F,loadingIcon:z,expandByDefault:j,classNames:K,icons:G,closeButtonAriaLabel:H="Close toast",pauseWhenPageIsHidden:O}=e,[$,W]=ve.useState(null),[re,de]=ve.useState(null),[ie,oe]=ve.useState(!1),[Te,he]=ve.useState(!1),[Se,be]=ve.useState(!1),[je,Ce]=ve.useState(!1),[ye,J]=ve.useState(!1),[le,_e]=ve.useState(0),[pe,Ee]=ve.useState(0),te=ve.useRef(b.duration||X||P0),Fe=ve.useRef(null),Pe=ve.useRef(null),me=A===0,Ae=A+1<=N,Oe=b.type,He=b.dismissible!==!1,it=b.className||"",Tt=b.descriptionClassName||"",bt=ve.useMemo(()=>T.findIndex(qe=>qe.toastId===b.id)||0,[T,b.id]),qt=ve.useMemo(()=>{var qe;return(qe=b.closeButton)!=null?qe:U},[b.closeButton,U]),fn=ve.useMemo(()=>b.duration||X||P0,[b.duration,X]),Gt=ve.useRef(0),rt=ve.useRef(0),Tn=ve.useRef(0),xt=ve.useRef(null),[Lt,Ya]=ne.split("-"),Ni=ve.useMemo(()=>T.reduce((qe,lt,pt)=>pt>=bt?qe:qe+lt.height,0),[T,bt]),Dl=Lz(),Oi=b.invert||y,la=Oe==="loading";rt.current=ve.useMemo(()=>bt*F+Ni,[bt,Ni]),ve.useEffect(()=>{te.current=fn},[fn]),ve.useEffect(()=>{oe(!0)},[]),ve.useEffect(()=>{let qe=Pe.current;if(qe){let lt=qe.getBoundingClientRect().height;return Ee(lt),_(pt=>[{toastId:b.id,height:lt,position:b.position},...pt]),()=>_(pt=>pt.filter(hn=>hn.toastId!==b.id))}},[_,b.id]),ve.useLayoutEffect(()=>{if(!ie)return;let qe=Pe.current,lt=qe.style.height;qe.style.height="auto";let pt=qe.getBoundingClientRect().height;qe.style.height=lt,Ee(pt),_(hn=>hn.find(sn=>sn.toastId===b.id)?hn.map(sn=>sn.toastId===b.id?{...sn,height:pt}:sn):[{toastId:b.id,height:pt,position:b.position},...hn])},[ie,b.title,b.description,_,b.id]);let Jt=ve.useCallback(()=>{he(!0),_e(rt.current),_(qe=>qe.filter(lt=>lt.toastId!==b.id)),setTimeout(()=>{M(b)},Wz)},[b,M,_,rt]);ve.useEffect(()=>{if(b.promise&&Oe==="loading"||b.duration===1/0||b.type==="loading")return;let qe;return k||E||O&&Dl?(()=>{if(Tn.current{var lt;(lt=b.onAutoClose)==null||lt.call(b,b),Jt()},te.current)),()=>clearTimeout(qe)},[k,E,b,Oe,O,Dl,Jt]),ve.useEffect(()=>{b.delete&&Jt()},[Jt,b.delete]);function ji(){var qe,lt,pt;return G!=null&&G.loading?ve.createElement("div",{className:rr(K==null?void 0:K.loader,(qe=b==null?void 0:b.classNames)==null?void 0:qe.loader,"sonner-loader"),"data-visible":Oe==="loading"},G.loading):z?ve.createElement("div",{className:rr(K==null?void 0:K.loader,(lt=b==null?void 0:b.classNames)==null?void 0:lt.loader,"sonner-loader"),"data-visible":Oe==="loading"},z):ve.createElement(Az,{className:rr(K==null?void 0:K.loader,(pt=b==null?void 0:b.classNames)==null?void 0:pt.loader),visible:Oe==="loading"})}return ve.createElement("li",{tabIndex:0,ref:Pe,className:rr(Y,it,K==null?void 0:K.toast,(t=b==null?void 0:b.classNames)==null?void 0:t.toast,K==null?void 0:K.default,K==null?void 0:K[Oe],(n=b==null?void 0:b.classNames)==null?void 0:n[Oe]),"data-sonner-toast":"","data-rich-colors":(a=b.richColors)!=null?a:R,"data-styled":!(b.jsx||b.unstyled||S),"data-mounted":ie,"data-promise":!!b.promise,"data-swiped":ye,"data-removed":Te,"data-visible":Ae,"data-y-position":Lt,"data-x-position":Ya,"data-index":A,"data-front":me,"data-swiping":Se,"data-dismissible":He,"data-type":Oe,"data-invert":Oi,"data-swipe-out":je,"data-swipe-direction":re,"data-expanded":!!(k||j&&ie),style:{"--index":A,"--toasts-before":A,"--z-index":D.length-A,"--offset":`${Te?le:rt.current}px`,"--initial-height":j?"auto":`${pe}px`,...L,...b.style},onDragEnd:()=>{be(!1),W(null),xt.current=null},onPointerDown:qe=>{la||!He||(Fe.current=new Date,_e(rt.current),qe.target.setPointerCapture(qe.pointerId),qe.target.tagName!=="BUTTON"&&(be(!0),xt.current={x:qe.clientX,y:qe.clientY}))},onPointerUp:()=>{var qe,lt,pt,hn;if(je||!He)return;xt.current=null;let sn=Number(((qe=Pe.current)==null?void 0:qe.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),pn=Number(((lt=Pe.current)==null?void 0:lt.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Nr=new Date().getTime()-((pt=Fe.current)==null?void 0:pt.getTime()),mn=$==="x"?sn:pn,Qn=Math.abs(mn)/Nr;if(Math.abs(mn)>=Yz||Qn>.11){_e(rt.current),(hn=b.onDismiss)==null||hn.call(b,b),de($==="x"?sn>0?"right":"left":pn>0?"down":"up"),Jt(),Ce(!0),J(!1);return}be(!1),W(null)},onPointerMove:qe=>{var lt,pt,hn,sn;if(!xt.current||!He||((lt=window.getSelection())==null?void 0:lt.toString().length)>0)return;let pn=qe.clientY-xt.current.y,Nr=qe.clientX-xt.current.x,mn=(pt=e.swipeDirections)!=null?pt:Xz(ne);!$&&(Math.abs(Nr)>1||Math.abs(pn)>1)&&W(Math.abs(Nr)>Math.abs(pn)?"x":"y");let Qn={x:0,y:0};$==="y"?(mn.includes("top")||mn.includes("bottom"))&&(mn.includes("top")&&pn<0||mn.includes("bottom")&&pn>0)&&(Qn.y=pn):$==="x"&&(mn.includes("left")||mn.includes("right"))&&(mn.includes("left")&&Nr<0||mn.includes("right")&&Nr>0)&&(Qn.x=Nr),(Math.abs(Qn.x)>0||Math.abs(Qn.y)>0)&&J(!0),(hn=Pe.current)==null||hn.style.setProperty("--swipe-amount-x",`${Qn.x}px`),(sn=Pe.current)==null||sn.style.setProperty("--swipe-amount-y",`${Qn.y}px`)}},qt&&!b.jsx?ve.createElement("button",{"aria-label":H,"data-disabled":la,"data-close-button":!0,onClick:la||!He?()=>{}:()=>{var qe;Jt(),(qe=b.onDismiss)==null||qe.call(b,b)},className:rr(K==null?void 0:K.closeButton,(o=b==null?void 0:b.classNames)==null?void 0:o.closeButton)},(s=G==null?void 0:G.close)!=null?s:jz):null,b.jsx||w.isValidElement(b.title)?b.jsx?b.jsx:typeof b.title=="function"?b.title():b.title:ve.createElement(ve.Fragment,null,Oe||b.icon||b.promise?ve.createElement("div",{"data-icon":"",className:rr(K==null?void 0:K.icon,(c=b==null?void 0:b.classNames)==null?void 0:c.icon)},b.promise||b.type==="loading"&&!b.icon?b.icon||ji():null,b.type!=="loading"?b.icon||(G==null?void 0:G[Oe])||Cz(Oe):null):null,ve.createElement("div",{"data-content":"",className:rr(K==null?void 0:K.content,(u=b==null?void 0:b.classNames)==null?void 0:u.content)},ve.createElement("div",{"data-title":"",className:rr(K==null?void 0:K.title,(f=b==null?void 0:b.classNames)==null?void 0:f.title)},typeof b.title=="function"?b.title():b.title),b.description?ve.createElement("div",{"data-description":"",className:rr(B,Tt,K==null?void 0:K.description,(h=b==null?void 0:b.classNames)==null?void 0:h.description)},typeof b.description=="function"?b.description():b.description):null),w.isValidElement(b.cancel)?b.cancel:b.cancel&&Vc(b.cancel)?ve.createElement("button",{"data-button":!0,"data-cancel":!0,style:b.cancelButtonStyle||I,onClick:qe=>{var lt,pt;Vc(b.cancel)&&He&&((pt=(lt=b.cancel).onClick)==null||pt.call(lt,qe),Jt())},className:rr(K==null?void 0:K.cancelButton,(m=b==null?void 0:b.classNames)==null?void 0:m.cancelButton)},b.cancel.label):null,w.isValidElement(b.action)?b.action:b.action&&Vc(b.action)?ve.createElement("button",{"data-button":!0,"data-action":!0,style:b.actionButtonStyle||q,onClick:qe=>{var lt,pt;Vc(b.action)&&((pt=(lt=b.action).onClick)==null||pt.call(lt,qe),!qe.defaultPrevented&&Jt())},className:rr(K==null?void 0:K.actionButton,(g=b==null?void 0:b.classNames)==null?void 0:g.actionButton)},b.action.label):null))};function G0(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function Zz(e,t){let n={};return[e,t].forEach((a,o)=>{let s=o===1,c=s?"--mobile-offset":"--offset",u=s?$z:Hz;function f(h){["top","right","bottom","left"].forEach(m=>{n[`${c}-${m}`]=typeof h=="number"?`${h}px`:h})}typeof a=="number"||typeof a=="string"?f(a):typeof a=="object"?["top","right","bottom","left"].forEach(h=>{a[h]===void 0?n[`${c}-${h}`]=u:n[`${c}-${h}`]=typeof a[h]=="number"?`${a[h]}px`:a[h]}):f(u)}),n}var Qz=w.forwardRef(function(e,t){let{invert:n,position:a="bottom-right",hotkey:o=["altKey","KeyT"],expand:s,closeButton:c,className:u,offset:f,mobileOffset:h,theme:m="light",richColors:g,duration:y,style:b,visibleToasts:S=Iz,toastOptions:E,dir:_=G0(),gap:N=qz,loadingIcon:T,icons:A,containerAriaLabel:D="Notifications",pauseWhenPageIsHidden:k}=e,[M,R]=ve.useState([]),U=ve.useMemo(()=>Array.from(new Set([a].concat(M.filter(O=>O.position).map(O=>O.position)))),[M,a]),[L,I]=ve.useState([]),[q,Y]=ve.useState(!1),[B,X]=ve.useState(!1),[ne,F]=ve.useState(m!=="system"?m:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),z=ve.useRef(null),j=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),K=ve.useRef(null),G=ve.useRef(!1),H=ve.useCallback(O=>{R($=>{var W;return(W=$.find(re=>re.id===O.id))!=null&&W.delete||xn.dismiss(O.id),$.filter(({id:re})=>re!==O.id)})},[]);return ve.useEffect(()=>xn.subscribe(O=>{if(O.dismiss){R($=>$.map(W=>W.id===O.id?{...W,delete:!0}:W));return}setTimeout(()=>{LE.flushSync(()=>{R($=>{let W=$.findIndex(re=>re.id===O.id);return W!==-1?[...$.slice(0,W),{...$[W],...O},...$.slice(W+1)]:[O,...$]})})})}),[]),ve.useEffect(()=>{if(m!=="system"){F(m);return}if(m==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?F("dark"):F("light")),typeof window>"u")return;let O=window.matchMedia("(prefers-color-scheme: dark)");try{O.addEventListener("change",({matches:$})=>{F($?"dark":"light")})}catch{O.addListener(({matches:W})=>{try{F(W?"dark":"light")}catch(re){console.error(re)}})}},[m]),ve.useEffect(()=>{M.length<=1&&Y(!1)},[M]),ve.useEffect(()=>{let O=$=>{var W,re;o.every(de=>$[de]||$.code===de)&&(Y(!0),(W=z.current)==null||W.focus()),$.code==="Escape"&&(document.activeElement===z.current||(re=z.current)!=null&&re.contains(document.activeElement))&&Y(!1)};return document.addEventListener("keydown",O),()=>document.removeEventListener("keydown",O)},[o]),ve.useEffect(()=>{if(z.current)return()=>{K.current&&(K.current.focus({preventScroll:!0}),K.current=null,G.current=!1)}},[z.current]),ve.createElement("section",{ref:t,"aria-label":`${D} ${j}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},U.map((O,$)=>{var W;let[re,de]=O.split("-");return M.length?ve.createElement("ol",{key:O,dir:_==="auto"?G0():_,tabIndex:-1,ref:z,className:u,"data-sonner-toaster":!0,"data-theme":ne,"data-y-position":re,"data-lifted":q&&M.length>1&&!s,"data-x-position":de,style:{"--front-toast-height":`${((W=L[0])==null?void 0:W.height)||0}px`,"--width":`${Vz}px`,"--gap":`${N}px`,...b,...Zz(f,h)},onBlur:ie=>{G.current&&!ie.currentTarget.contains(ie.relatedTarget)&&(G.current=!1,K.current&&(K.current.focus({preventScroll:!0}),K.current=null))},onFocus:ie=>{ie.target instanceof HTMLElement&&ie.target.dataset.dismissible==="false"||G.current||(G.current=!0,K.current=ie.relatedTarget)},onMouseEnter:()=>Y(!0),onMouseMove:()=>Y(!0),onMouseLeave:()=>{B||Y(!1)},onDragEnd:()=>Y(!1),onPointerDown:ie=>{ie.target instanceof HTMLElement&&ie.target.dataset.dismissible==="false"||X(!0)},onPointerUp:()=>X(!1)},M.filter(ie=>!ie.position&&$===0||ie.position===O).map((ie,oe)=>{var Te,he;return ve.createElement(Kz,{key:ie.id,icons:A,index:oe,toast:ie,defaultRichColors:g,duration:(Te=E==null?void 0:E.duration)!=null?Te:y,className:E==null?void 0:E.className,descriptionClassName:E==null?void 0:E.descriptionClassName,invert:n,visibleToasts:S,closeButton:(he=E==null?void 0:E.closeButton)!=null?he:c,interacting:B,position:O,style:E==null?void 0:E.style,unstyled:E==null?void 0:E.unstyled,classNames:E==null?void 0:E.classNames,cancelButtonStyle:E==null?void 0:E.cancelButtonStyle,actionButtonStyle:E==null?void 0:E.actionButtonStyle,removeToast:H,toasts:M.filter(Se=>Se.position==ie.position),heights:L.filter(Se=>Se.position==ie.position),setHeights:I,expandByDefault:s,gap:N,loadingIcon:T,expanded:q,pauseWhenPageIsHidden:k,swipeDirections:e.swipeDirections})})):null}))}),Jz="VisuallyHidden",yg=w.forwardRef((e,t)=>x.jsx(Ie.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));yg.displayName=Jz;var eM=yg,[sd,JI]=fr("Tooltip",[Ho]),ld=Ho(),TS="TooltipProvider",tM=700,hm="tooltip.open",[nM,bg]=sd(TS),CS=e=>{const{__scopeTooltip:t,delayDuration:n=tM,skipDelayDuration:a=300,disableHoverableContent:o=!1,children:s}=e,[c,u]=w.useState(!0),f=w.useRef(!1),h=w.useRef(0);return w.useEffect(()=>{const m=h.current;return()=>window.clearTimeout(m)},[]),x.jsx(nM,{scope:t,isOpenDelayed:c,delayDuration:n,onOpen:w.useCallback(()=>{window.clearTimeout(h.current),u(!1)},[]),onClose:w.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>u(!0),a)},[a]),isPointerInTransitRef:f,onPointerInTransitChange:w.useCallback(m=>{f.current=m},[]),disableHoverableContent:o,children:s})};CS.displayName=TS;var cd="Tooltip",[rM,ud]=sd(cd),RS=e=>{const{__scopeTooltip:t,children:n,open:a,defaultOpen:o=!1,onOpenChange:s,disableHoverableContent:c,delayDuration:u}=e,f=bg(cd,e.__scopeTooltip),h=ld(t),[m,g]=w.useState(null),y=an(),b=w.useRef(0),S=c??f.disableHoverableContent,E=u??f.delayDuration,_=w.useRef(!1),[N=!1,T]=oa({prop:a,defaultProp:o,onChange:R=>{R?(f.onOpen(),document.dispatchEvent(new CustomEvent(hm))):f.onClose(),s==null||s(R)}}),A=w.useMemo(()=>N?_.current?"delayed-open":"instant-open":"closed",[N]),D=w.useCallback(()=>{window.clearTimeout(b.current),b.current=0,_.current=!1,T(!0)},[T]),k=w.useCallback(()=>{window.clearTimeout(b.current),b.current=0,T(!1)},[T]),M=w.useCallback(()=>{window.clearTimeout(b.current),b.current=window.setTimeout(()=>{_.current=!0,T(!0),b.current=0},E)},[E,T]);return w.useEffect(()=>()=>{b.current&&(window.clearTimeout(b.current),b.current=0)},[]),x.jsx(fg,{...h,children:x.jsx(rM,{scope:t,contentId:y,open:N,stateAttribute:A,trigger:m,onTriggerChange:g,onTriggerEnter:w.useCallback(()=>{f.isOpenDelayed?M():D()},[f.isOpenDelayed,M,D]),onTriggerLeave:w.useCallback(()=>{S?k():(window.clearTimeout(b.current),b.current=0)},[k,S]),onOpen:D,onClose:k,disableHoverableContent:S,children:n})})};RS.displayName=cd;var pm="TooltipTrigger",AS=w.forwardRef((e,t)=>{const{__scopeTooltip:n,...a}=e,o=ud(pm,n),s=bg(pm,n),c=ld(n),u=w.useRef(null),f=at(t,u,o.onTriggerChange),h=w.useRef(!1),m=w.useRef(!1),g=w.useCallback(()=>h.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",g),[g]),x.jsx(td,{asChild:!0,...c,children:x.jsx(Ie.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...a,ref:f,onPointerMove:Be(e.onPointerMove,y=>{y.pointerType!=="touch"&&!m.current&&!s.isPointerInTransitRef.current&&(o.onTriggerEnter(),m.current=!0)}),onPointerLeave:Be(e.onPointerLeave,()=>{o.onTriggerLeave(),m.current=!1}),onPointerDown:Be(e.onPointerDown,()=>{h.current=!0,document.addEventListener("pointerup",g,{once:!0})}),onFocus:Be(e.onFocus,()=>{h.current||o.onOpen()}),onBlur:Be(e.onBlur,o.onClose),onClick:Be(e.onClick,o.onClose)})})});AS.displayName=pm;var aM="TooltipPortal",[e6,iM]=sd(aM,{forceMount:void 0}),No="TooltipContent",kS=w.forwardRef((e,t)=>{const n=iM(No,e.__scopeTooltip),{forceMount:a=n.forceMount,side:o="top",...s}=e,c=ud(No,e.__scopeTooltip);return x.jsx(Ln,{present:a||c.open,children:c.disableHoverableContent?x.jsx(DS,{side:o,...s,ref:t}):x.jsx(oM,{side:o,...s,ref:t})})}),oM=w.forwardRef((e,t)=>{const n=ud(No,e.__scopeTooltip),a=bg(No,e.__scopeTooltip),o=w.useRef(null),s=at(t,o),[c,u]=w.useState(null),{trigger:f,onClose:h}=n,m=o.current,{onPointerInTransitChange:g}=a,y=w.useCallback(()=>{u(null),g(!1)},[g]),b=w.useCallback((S,E)=>{const _=S.currentTarget,N={x:S.clientX,y:S.clientY},T=uM(N,_.getBoundingClientRect()),A=dM(N,T),D=fM(E.getBoundingClientRect()),k=pM([...A,...D]);u(k),g(!0)},[g]);return w.useEffect(()=>()=>y(),[y]),w.useEffect(()=>{if(f&&m){const S=_=>b(_,m),E=_=>b(_,f);return f.addEventListener("pointerleave",S),m.addEventListener("pointerleave",E),()=>{f.removeEventListener("pointerleave",S),m.removeEventListener("pointerleave",E)}}},[f,m,b,y]),w.useEffect(()=>{if(c){const S=E=>{const _=E.target,N={x:E.clientX,y:E.clientY},T=(f==null?void 0:f.contains(_))||(m==null?void 0:m.contains(_)),A=!hM(N,c);T?y():A&&(y(),h())};return document.addEventListener("pointermove",S),()=>document.removeEventListener("pointermove",S)}},[f,m,c,h,y]),x.jsx(DS,{...e,ref:s})}),[sM,lM]=sd(cd,{isInside:!1}),DS=w.forwardRef((e,t)=>{const{__scopeTooltip:n,children:a,"aria-label":o,onEscapeKeyDown:s,onPointerDownOutside:c,...u}=e,f=ud(No,n),h=ld(n),{onClose:m}=f;return w.useEffect(()=>(document.addEventListener(hm,m),()=>document.removeEventListener(hm,m)),[m]),w.useEffect(()=>{if(f.trigger){const g=y=>{const b=y.target;b!=null&&b.contains(f.trigger)&&m()};return window.addEventListener("scroll",g,{capture:!0}),()=>window.removeEventListener("scroll",g,{capture:!0})}},[f.trigger,m]),x.jsx(bl,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:g=>g.preventDefault(),onDismiss:m,children:x.jsxs(hg,{"data-state":f.stateAttribute,...h,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[x.jsx(zE,{children:a}),x.jsx(sM,{scope:n,isInside:!0,children:x.jsx(eM,{id:f.contentId,role:"tooltip",children:o||a})})]})})});kS.displayName=No;var NS="TooltipArrow",cM=w.forwardRef((e,t)=>{const{__scopeTooltip:n,...a}=e,o=ld(n);return lM(NS,n).isInside?null:x.jsx(pg,{...o,...a,ref:t})});cM.displayName=NS;function uM(e,t){const n=Math.abs(t.top-e.y),a=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,a,o,s)){case s:return"left";case o:return"right";case n:return"top";case a:return"bottom";default:throw new Error("unreachable")}}function dM(e,t,n=5){const a=[];switch(t){case"top":a.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":a.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":a.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":a.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return a}function fM(e){const{top:t,right:n,bottom:a,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:a},{x:o,y:a}]}function hM(e,t){const{x:n,y:a}=e;let o=!1;for(let s=0,c=t.length-1;sa!=m>a&&n<(h-u)*(a-f)/(m-f)+u&&(o=!o)}return o}function pM(e){const t=e.slice();return t.sort((n,a)=>n.xa.x?1:n.ya.y?1:0),mM(t)}function mM(e){if(e.length<=1)return e.slice();const t=[];for(let a=0;a=2;){const s=t[t.length-1],c=t[t.length-2];if((s.x-c.x)*(o.y-c.y)>=(s.y-c.y)*(o.x-c.x))t.pop();else break}t.push(o)}t.pop();const n=[];for(let a=e.length-1;a>=0;a--){const o=e[a];for(;n.length>=2;){const s=n[n.length-1],c=n[n.length-2];if((s.x-c.x)*(o.y-c.y)>=(s.y-c.y)*(o.x-c.x))n.pop();else break}n.push(o)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var gM=CS,vM=RS,yM=AS,OS=kS;const jS=gM,LS=vM,zS=yM,bM=e=>typeof e!="string"?e:e.split("\\n").map((t,n)=>x.jsxs(w.Fragment,{children:[t,nx.jsx(OS,{ref:o,sideOffset:t,className:Me("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 mx-1 max-w-sm overflow-hidden rounded-md border px-3 py-2 text-sm shadow-md",e),...a,children:typeof n=="string"?bM(n):n}));xg.displayName=OS.displayName;const F0=J1("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"size-8"}},defaultVariants:{variant:"default",size:"default"}}),_t=w.forwardRef(({className:e,variant:t,tooltip:n,size:a,side:o="right",asChild:s=!1,...c},u)=>{const f=s?Ua:"button";return n?x.jsx(jS,{children:x.jsxs(LS,{children:[x.jsx(zS,{asChild:!0,children:x.jsx(f,{className:Me(F0({variant:t,size:a,className:e}),"cursor-pointer"),ref:u,...c})}),x.jsx(xg,{side:o,children:n})]})}):x.jsx(f,{className:Me(F0({variant:t,size:a,className:e}),"cursor-pointer"),ref:u,...c})});_t.displayName="Button";const MS=()=>{const e=w.useContext(Q1);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e};function xM(){const{theme:e,setTheme:t}=MS(),n=w.useCallback(()=>t("light"),[t]),a=w.useCallback(()=>t("dark"),[t]);return e==="dark"?x.jsx(_t,{onClick:n,variant:_r,tooltip:"Switch to light theme",size:"icon",side:"bottom",children:x.jsx(SO,{})}):x.jsx(_t,{onClick:a,variant:_r,tooltip:"Switch to dark theme",size:"icon",side:"bottom",children:x.jsx(PO,{})})}function PS(e){const t=e+"CollectionProvider",[n,a]=fr(t),[o,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),c=b=>{const{scope:S,children:E}=b,_=ve.useRef(null),N=ve.useRef(new Map).current;return x.jsx(o,{scope:S,itemMap:N,collectionRef:_,children:E})};c.displayName=t;const u=e+"CollectionSlot",f=ve.forwardRef((b,S)=>{const{scope:E,children:_}=b,N=s(u,E),T=at(S,N.collectionRef);return x.jsx(Ua,{ref:T,children:_})});f.displayName=u;const h=e+"CollectionItemSlot",m="data-radix-collection-item",g=ve.forwardRef((b,S)=>{const{scope:E,children:_,...N}=b,T=ve.useRef(null),A=at(S,T),D=s(h,E);return ve.useEffect(()=>(D.itemMap.set(T,{ref:T,...N}),()=>void D.itemMap.delete(T))),x.jsx(Ua,{[m]:"",ref:A,children:_})});g.displayName=h;function y(b){const S=s(e+"CollectionConsumer",b);return ve.useCallback(()=>{const _=S.collectionRef.current;if(!_)return[];const N=Array.from(_.querySelectorAll(`[${m}]`));return Array.from(S.itemMap.values()).sort((D,k)=>N.indexOf(D.ref.current)-N.indexOf(k.ref.current))},[S.collectionRef,S.itemMap])}return[{Provider:c,Slot:f,ItemSlot:g},y,a]}var wM=w.createContext(void 0);function dd(e){const t=w.useContext(wM);return e||t||"ltr"}var Qh="rovingFocusGroup.onEntryFocus",EM={bubbles:!1,cancelable:!0},fd="RovingFocusGroup",[mm,GS,SM]=PS(fd),[_M,FS]=fr(fd,[SM]),[TM,CM]=_M(fd),US=w.forwardRef((e,t)=>x.jsx(mm.Provider,{scope:e.__scopeRovingFocusGroup,children:x.jsx(mm.Slot,{scope:e.__scopeRovingFocusGroup,children:x.jsx(RM,{...e,ref:t})})}));US.displayName=fd;var RM=w.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:a,loop:o=!1,dir:s,currentTabStopId:c,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:f,onEntryFocus:h,preventScrollOnEntryFocus:m=!1,...g}=e,y=w.useRef(null),b=at(t,y),S=dd(s),[E=null,_]=oa({prop:c,defaultProp:u,onChange:f}),[N,T]=w.useState(!1),A=Zt(h),D=GS(n),k=w.useRef(!1),[M,R]=w.useState(0);return w.useEffect(()=>{const U=y.current;if(U)return U.addEventListener(Qh,A),()=>U.removeEventListener(Qh,A)},[A]),x.jsx(TM,{scope:n,orientation:a,dir:S,loop:o,currentTabStopId:E,onItemFocus:w.useCallback(U=>_(U),[_]),onItemShiftTab:w.useCallback(()=>T(!0),[]),onFocusableItemAdd:w.useCallback(()=>R(U=>U+1),[]),onFocusableItemRemove:w.useCallback(()=>R(U=>U-1),[]),children:x.jsx(Ie.div,{tabIndex:N||M===0?-1:0,"data-orientation":a,...g,ref:b,style:{outline:"none",...e.style},onMouseDown:Be(e.onMouseDown,()=>{k.current=!0}),onFocus:Be(e.onFocus,U=>{const L=!k.current;if(U.target===U.currentTarget&&L&&!N){const I=new CustomEvent(Qh,EM);if(U.currentTarget.dispatchEvent(I),!I.defaultPrevented){const q=D().filter(F=>F.focusable),Y=q.find(F=>F.active),B=q.find(F=>F.id===E),ne=[Y,B,...q].filter(Boolean).map(F=>F.ref.current);HS(ne,m)}}k.current=!1}),onBlur:Be(e.onBlur,()=>T(!1))})})}),BS="RovingFocusGroupItem",IS=w.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:a=!0,active:o=!1,tabStopId:s,...c}=e,u=an(),f=s||u,h=CM(BS,n),m=h.currentTabStopId===f,g=GS(n),{onFocusableItemAdd:y,onFocusableItemRemove:b}=h;return w.useEffect(()=>{if(a)return y(),()=>b()},[a,y,b]),x.jsx(mm.ItemSlot,{scope:n,id:f,focusable:a,active:o,children:x.jsx(Ie.span,{tabIndex:m?0:-1,"data-orientation":h.orientation,...c,ref:t,onMouseDown:Be(e.onMouseDown,S=>{a?h.onItemFocus(f):S.preventDefault()}),onFocus:Be(e.onFocus,()=>h.onItemFocus(f)),onKeyDown:Be(e.onKeyDown,S=>{if(S.key==="Tab"&&S.shiftKey){h.onItemShiftTab();return}if(S.target!==S.currentTarget)return;const E=DM(S,h.orientation,h.dir);if(E!==void 0){if(S.metaKey||S.ctrlKey||S.altKey||S.shiftKey)return;S.preventDefault();let N=g().filter(T=>T.focusable).map(T=>T.ref.current);if(E==="last")N.reverse();else if(E==="prev"||E==="next"){E==="prev"&&N.reverse();const T=N.indexOf(S.currentTarget);N=h.loop?NM(N,T+1):N.slice(T+1)}setTimeout(()=>HS(N))}})})})});IS.displayName=BS;var AM={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function kM(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function DM(e,t,n){const a=kM(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(a))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(a)))return AM[a]}function HS(e,t=!1){const n=document.activeElement;for(const a of e)if(a===n||(a.focus({preventScroll:t}),document.activeElement!==n))return}function NM(e,t){return e.map((n,a)=>e[(t+a)%e.length])}var OM=US,jM=IS,wg="Tabs",[LM,t6]=fr(wg,[FS]),$S=FS(),[zM,Eg]=LM(wg),VS=w.forwardRef((e,t)=>{const{__scopeTabs:n,value:a,onValueChange:o,defaultValue:s,orientation:c="horizontal",dir:u,activationMode:f="automatic",...h}=e,m=dd(u),[g,y]=oa({prop:a,onChange:o,defaultProp:s});return x.jsx(zM,{scope:n,baseId:an(),value:g,onValueChange:y,orientation:c,dir:m,activationMode:f,children:x.jsx(Ie.div,{dir:m,"data-orientation":c,...h,ref:t})})});VS.displayName=wg;var qS="TabsList",YS=w.forwardRef((e,t)=>{const{__scopeTabs:n,loop:a=!0,...o}=e,s=Eg(qS,n),c=$S(n);return x.jsx(OM,{asChild:!0,...c,orientation:s.orientation,dir:s.dir,loop:a,children:x.jsx(Ie.div,{role:"tablist","aria-orientation":s.orientation,...o,ref:t})})});YS.displayName=qS;var WS="TabsTrigger",XS=w.forwardRef((e,t)=>{const{__scopeTabs:n,value:a,disabled:o=!1,...s}=e,c=Eg(WS,n),u=$S(n),f=QS(c.baseId,a),h=JS(c.baseId,a),m=a===c.value;return x.jsx(jM,{asChild:!0,...u,focusable:!o,active:m,children:x.jsx(Ie.button,{type:"button",role:"tab","aria-selected":m,"aria-controls":h,"data-state":m?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:f,...s,ref:t,onMouseDown:Be(e.onMouseDown,g=>{!o&&g.button===0&&g.ctrlKey===!1?c.onValueChange(a):g.preventDefault()}),onKeyDown:Be(e.onKeyDown,g=>{[" ","Enter"].includes(g.key)&&c.onValueChange(a)}),onFocus:Be(e.onFocus,()=>{const g=c.activationMode!=="manual";!m&&!o&&g&&c.onValueChange(a)})})})});XS.displayName=WS;var KS="TabsContent",ZS=w.forwardRef((e,t)=>{const{__scopeTabs:n,value:a,forceMount:o,children:s,...c}=e,u=Eg(KS,n),f=QS(u.baseId,a),h=JS(u.baseId,a),m=a===u.value,g=w.useRef(m);return w.useEffect(()=>{const y=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(y)},[]),x.jsx(Ln,{present:o||m,children:({present:y})=>x.jsx(Ie.div,{"data-state":m?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!y,id:h,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:g.current?"0s":void 0},children:y&&s})})});ZS.displayName=KS;function QS(e,t){return`${e}-trigger-${t}`}function JS(e,t){return`${e}-content-${t}`}var MM=VS,e_=YS,t_=XS,n_=ZS;const PM=MM,r_=w.forwardRef(({className:e,...t},n)=>x.jsx(e_,{ref:n,className:Me("bg-muted text-muted-foreground inline-flex h-10 items-center justify-center rounded-md p-1",e),...t}));r_.displayName=e_.displayName;const a_=w.forwardRef(({className:e,...t},n)=>x.jsx(t_,{ref:n,className:Me("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-sm px-3 py-1.5 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm",e),...t}));a_.displayName=t_.displayName;const tl=w.forwardRef(({className:e,...t},n)=>x.jsx(n_,{ref:n,className:Me("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...t}));tl.displayName=n_.displayName;function qc({value:e,currentTab:t,children:n}){return x.jsx(a_,{value:e,className:Me("cursor-pointer px-2 py-1 transition-all",t===e?"!bg-emerald-400 !text-zinc-50":"hover:bg-background/60"),children:n})}function GM(){const e=We.use.currentTab();return x.jsx("div",{className:"flex h-8 self-center",children:x.jsxs(r_,{className:"h-full gap-2",children:[x.jsx(qc,{value:"documents",currentTab:e,children:"Documents"}),x.jsx(qc,{value:"knowledge-graph",currentTab:e,children:"Knowledge Graph"}),x.jsx(qc,{value:"retrieval",currentTab:e,children:"Retrieval"}),x.jsx(qc,{value:"api",currentTab:e,children:"API"})]})})}function FM(){return x.jsxs("header",{className:"border-border/40 bg-background/95 supports-[backdrop-filter]:bg-background/60 sticky top-0 z-50 flex h-10 w-full border-b px-4 backdrop-blur",children:[x.jsxs("a",{href:"/",className:"mr-6 flex items-center gap-2",children:[x.jsx(BO,{className:"size-4 text-emerald-400","aria-hidden":"true"}),x.jsx("span",{className:"font-bold md:inline-block",children:Jx.name})]}),x.jsx("div",{className:"flex h-10 flex-1 justify-center",children:x.jsx(GM,{})}),x.jsxs("nav",{className:"flex items-center",children:[x.jsx(_t,{variant:"ghost",size:"icon",side:"bottom",tooltip:"Project Repository",children:x.jsx("a",{href:Jx.github,target:"_blank",rel:"noopener noreferrer",children:x.jsx(fO,{className:"size-4","aria-hidden":"true"})})}),x.jsx(xM,{})]})]})}var Yc={exports:{}},U0;function UM(){if(U0)return Yc.exports;U0=1;var e=typeof Reflect=="object"?Reflect:null,t=e&&typeof e.apply=="function"?e.apply:function(k,M,R){return Function.prototype.apply.call(k,M,R)},n;e&&typeof e.ownKeys=="function"?n=e.ownKeys:Object.getOwnPropertySymbols?n=function(k){return Object.getOwnPropertyNames(k).concat(Object.getOwnPropertySymbols(k))}:n=function(k){return Object.getOwnPropertyNames(k)};function a(D){console&&console.warn&&console.warn(D)}var o=Number.isNaN||function(k){return k!==k};function s(){s.init.call(this)}Yc.exports=s,Yc.exports.once=N,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var c=10;function u(D){if(typeof D!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof D)}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(D){if(typeof D!="number"||D<0||o(D))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+D+".");c=D}}),s.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(k){if(typeof k!="number"||k<0||o(k))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+k+".");return this._maxListeners=k,this};function f(D){return D._maxListeners===void 0?s.defaultMaxListeners:D._maxListeners}s.prototype.getMaxListeners=function(){return f(this)},s.prototype.emit=function(k){for(var M=[],R=1;R0&&(I=M[0]),I instanceof Error)throw I;var q=new Error("Unhandled error."+(I?" ("+I.message+")":""));throw q.context=I,q}var Y=L[k];if(Y===void 0)return!1;if(typeof Y=="function")t(Y,this,M);else for(var B=Y.length,X=S(Y,B),R=0;R0&&I.length>U&&!I.warned){I.warned=!0;var q=new Error("Possible EventEmitter memory leak detected. "+I.length+" "+String(k)+" listeners added. Use emitter.setMaxListeners() to increase limit");q.name="MaxListenersExceededWarning",q.emitter=D,q.type=k,q.count=I.length,a(q)}return D}s.prototype.addListener=function(k,M){return h(this,k,M,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(k,M){return h(this,k,M,!0)};function m(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function g(D,k,M){var R={fired:!1,wrapFn:void 0,target:D,type:k,listener:M},U=m.bind(R);return U.listener=M,R.wrapFn=U,U}s.prototype.once=function(k,M){return u(M),this.on(k,g(this,k,M)),this},s.prototype.prependOnceListener=function(k,M){return u(M),this.prependListener(k,g(this,k,M)),this},s.prototype.removeListener=function(k,M){var R,U,L,I,q;if(u(M),U=this._events,U===void 0)return this;if(R=U[k],R===void 0)return this;if(R===M||R.listener===M)--this._eventsCount===0?this._events=Object.create(null):(delete U[k],U.removeListener&&this.emit("removeListener",k,R.listener||M));else if(typeof R!="function"){for(L=-1,I=R.length-1;I>=0;I--)if(R[I]===M||R[I].listener===M){q=R[I].listener,L=I;break}if(L<0)return this;L===0?R.shift():E(R,L),R.length===1&&(U[k]=R[0]),U.removeListener!==void 0&&this.emit("removeListener",k,q||M)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(k){var M,R,U;if(R=this._events,R===void 0)return this;if(R.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):R[k]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete R[k]),this;if(arguments.length===0){var L=Object.keys(R),I;for(U=0;U=0;U--)this.removeListener(k,M[U]);return this};function y(D,k,M){var R=D._events;if(R===void 0)return[];var U=R[k];return U===void 0?[]:typeof U=="function"?M?[U.listener||U]:[U]:M?_(U):S(U,U.length)}s.prototype.listeners=function(k){return y(this,k,!0)},s.prototype.rawListeners=function(k){return y(this,k,!1)},s.listenerCount=function(D,k){return typeof D.listenerCount=="function"?D.listenerCount(k):b.call(D,k)},s.prototype.listenerCount=b;function b(D){var k=this._events;if(k!==void 0){var M=k[D];if(typeof M=="function")return 1;if(M!==void 0)return M.length}return 0}s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]};function S(D,k){for(var M=new Array(k),R=0;Re++}function ra(){const e=arguments;let t=null,n=-1;return{[Symbol.iterator](){return this},next(){let a=null;do{if(t===null){if(n++,n>=e.length)return{done:!0};t=e[n][Symbol.iterator]()}if(a=t.next(),a.done){t=null;continue}break}while(!0);return a}}}function $o(){return{[Symbol.iterator](){return this},next(){return{done:!0}}}}class Sg extends Error{constructor(t){super(),this.name="GraphError",this.message=t}}class ke extends Sg{constructor(t){super(t),this.name="InvalidArgumentsGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ke.prototype.constructor)}}class Re extends Sg{constructor(t){super(t),this.name="NotFoundGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Re.prototype.constructor)}}class $e extends Sg{constructor(t){super(t),this.name="UsageGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,$e.prototype.constructor)}}function s_(e,t){this.key=e,this.attributes=t,this.clear()}s_.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.undirectedLoops=0,this.directedLoops=0,this.in={},this.out={},this.undirected={}};function l_(e,t){this.key=e,this.attributes=t,this.clear()}l_.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.directedLoops=0,this.in={},this.out={}};function c_(e,t){this.key=e,this.attributes=t,this.clear()}c_.prototype.clear=function(){this.undirectedDegree=0,this.undirectedLoops=0,this.undirected={}};function Vo(e,t,n,a,o){this.key=t,this.attributes=o,this.undirected=e,this.source=n,this.target=a}Vo.prototype.attach=function(){let e="out",t="in";this.undirected&&(e=t="undirected");const n=this.source.key,a=this.target.key;this.source[e][a]=this,!(this.undirected&&n===a)&&(this.target[t][n]=this)};Vo.prototype.attachMulti=function(){let e="out",t="in";const n=this.source.key,a=this.target.key;this.undirected&&(e=t="undirected");const o=this.source[e],s=o[a];if(typeof s>"u"){o[a]=this,this.undirected&&n===a||(this.target[t][n]=this);return}s.previous=this,this.next=s,o[a]=this,this.target[t][n]=this};Vo.prototype.detach=function(){const e=this.source.key,t=this.target.key;let n="out",a="in";this.undirected&&(n=a="undirected"),delete this.source[n][t],delete this.target[a][e]};Vo.prototype.detachMulti=function(){const e=this.source.key,t=this.target.key;let n="out",a="in";this.undirected&&(n=a="undirected"),this.previous===void 0?this.next===void 0?(delete this.source[n][t],delete this.target[a][e]):(this.next.previous=void 0,this.source[n][t]=this.next,this.target[a][e]=this.next):(this.previous.next=this.next,this.next!==void 0&&(this.next.previous=this.previous))};const u_=0,d_=1,HM=2,f_=3;function sa(e,t,n,a,o,s,c){let u,f,h,m;if(a=""+a,n===u_){if(u=e._nodes.get(a),!u)throw new Re(`Graph.${t}: could not find the "${a}" node in the graph.`);h=o,m=s}else if(n===f_){if(o=""+o,f=e._edges.get(o),!f)throw new Re(`Graph.${t}: could not find the "${o}" edge in the graph.`);const g=f.source.key,y=f.target.key;if(a===g)u=f.target;else if(a===y)u=f.source;else throw new Re(`Graph.${t}: the "${a}" node is not attached to the "${o}" edge (${g}, ${y}).`);h=s,m=c}else{if(f=e._edges.get(a),!f)throw new Re(`Graph.${t}: could not find the "${a}" edge in the graph.`);n===d_?u=f.source:u=f.target,h=o,m=s}return[u,h,m]}function $M(e,t,n){e.prototype[t]=function(a,o,s){const[c,u]=sa(this,t,n,a,o,s);return c.attributes[u]}}function VM(e,t,n){e.prototype[t]=function(a,o){const[s]=sa(this,t,n,a,o);return s.attributes}}function qM(e,t,n){e.prototype[t]=function(a,o,s){const[c,u]=sa(this,t,n,a,o,s);return c.attributes.hasOwnProperty(u)}}function YM(e,t,n){e.prototype[t]=function(a,o,s,c){const[u,f,h]=sa(this,t,n,a,o,s,c);return u.attributes[f]=h,this.emit("nodeAttributesUpdated",{key:u.key,type:"set",attributes:u.attributes,name:f}),this}}function WM(e,t,n){e.prototype[t]=function(a,o,s,c){const[u,f,h]=sa(this,t,n,a,o,s,c);if(typeof h!="function")throw new ke(`Graph.${t}: updater should be a function.`);const m=u.attributes,g=h(m[f]);return m[f]=g,this.emit("nodeAttributesUpdated",{key:u.key,type:"set",attributes:u.attributes,name:f}),this}}function XM(e,t,n){e.prototype[t]=function(a,o,s){const[c,u]=sa(this,t,n,a,o,s);return delete c.attributes[u],this.emit("nodeAttributesUpdated",{key:c.key,type:"remove",attributes:c.attributes,name:u}),this}}function KM(e,t,n){e.prototype[t]=function(a,o,s){const[c,u]=sa(this,t,n,a,o,s);if(!Qt(u))throw new ke(`Graph.${t}: provided attributes are not a plain object.`);return c.attributes=u,this.emit("nodeAttributesUpdated",{key:c.key,type:"replace",attributes:c.attributes}),this}}function ZM(e,t,n){e.prototype[t]=function(a,o,s){const[c,u]=sa(this,t,n,a,o,s);if(!Qt(u))throw new ke(`Graph.${t}: provided attributes are not a plain object.`);return Pt(c.attributes,u),this.emit("nodeAttributesUpdated",{key:c.key,type:"merge",attributes:c.attributes,data:u}),this}}function QM(e,t,n){e.prototype[t]=function(a,o,s){const[c,u]=sa(this,t,n,a,o,s);if(typeof u!="function")throw new ke(`Graph.${t}: provided updater is not a function.`);return c.attributes=u(c.attributes),this.emit("nodeAttributesUpdated",{key:c.key,type:"update",attributes:c.attributes}),this}}const JM=[{name:e=>`get${e}Attribute`,attacher:$M},{name:e=>`get${e}Attributes`,attacher:VM},{name:e=>`has${e}Attribute`,attacher:qM},{name:e=>`set${e}Attribute`,attacher:YM},{name:e=>`update${e}Attribute`,attacher:WM},{name:e=>`remove${e}Attribute`,attacher:XM},{name:e=>`replace${e}Attributes`,attacher:KM},{name:e=>`merge${e}Attributes`,attacher:ZM},{name:e=>`update${e}Attributes`,attacher:QM}];function eP(e){JM.forEach(function({name:t,attacher:n}){n(e,t("Node"),u_),n(e,t("Source"),d_),n(e,t("Target"),HM),n(e,t("Opposite"),f_)})}function tP(e,t,n){e.prototype[t]=function(a,o){let s;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new $e(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new $e(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,u=""+o;if(o=arguments[2],s=Xn(this,c,u,n),!s)throw new Re(`Graph.${t}: could not find an edge for the given path ("${c}" - "${u}").`)}else{if(n!=="mixed")throw new $e(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,s=this._edges.get(a),!s)throw new Re(`Graph.${t}: could not find the "${a}" edge in the graph.`)}return s.attributes[o]}}function nP(e,t,n){e.prototype[t]=function(a){let o;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new $e(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>1){if(this.multi)throw new $e(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const s=""+a,c=""+arguments[1];if(o=Xn(this,s,c,n),!o)throw new Re(`Graph.${t}: could not find an edge for the given path ("${s}" - "${c}").`)}else{if(n!=="mixed")throw new $e(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,o=this._edges.get(a),!o)throw new Re(`Graph.${t}: could not find the "${a}" edge in the graph.`)}return o.attributes}}function rP(e,t,n){e.prototype[t]=function(a,o){let s;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new $e(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new $e(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,u=""+o;if(o=arguments[2],s=Xn(this,c,u,n),!s)throw new Re(`Graph.${t}: could not find an edge for the given path ("${c}" - "${u}").`)}else{if(n!=="mixed")throw new $e(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,s=this._edges.get(a),!s)throw new Re(`Graph.${t}: could not find the "${a}" edge in the graph.`)}return s.attributes.hasOwnProperty(o)}}function aP(e,t,n){e.prototype[t]=function(a,o,s){let c;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new $e(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new $e(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const u=""+a,f=""+o;if(o=arguments[2],s=arguments[3],c=Xn(this,u,f,n),!c)throw new Re(`Graph.${t}: could not find an edge for the given path ("${u}" - "${f}").`)}else{if(n!=="mixed")throw new $e(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,c=this._edges.get(a),!c)throw new Re(`Graph.${t}: could not find the "${a}" edge in the graph.`)}return c.attributes[o]=s,this.emit("edgeAttributesUpdated",{key:c.key,type:"set",attributes:c.attributes,name:o}),this}}function iP(e,t,n){e.prototype[t]=function(a,o,s){let c;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new $e(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new $e(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const u=""+a,f=""+o;if(o=arguments[2],s=arguments[3],c=Xn(this,u,f,n),!c)throw new Re(`Graph.${t}: could not find an edge for the given path ("${u}" - "${f}").`)}else{if(n!=="mixed")throw new $e(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,c=this._edges.get(a),!c)throw new Re(`Graph.${t}: could not find the "${a}" edge in the graph.`)}if(typeof s!="function")throw new ke(`Graph.${t}: updater should be a function.`);return c.attributes[o]=s(c.attributes[o]),this.emit("edgeAttributesUpdated",{key:c.key,type:"set",attributes:c.attributes,name:o}),this}}function oP(e,t,n){e.prototype[t]=function(a,o){let s;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new $e(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new $e(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,u=""+o;if(o=arguments[2],s=Xn(this,c,u,n),!s)throw new Re(`Graph.${t}: could not find an edge for the given path ("${c}" - "${u}").`)}else{if(n!=="mixed")throw new $e(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,s=this._edges.get(a),!s)throw new Re(`Graph.${t}: could not find the "${a}" edge in the graph.`)}return delete s.attributes[o],this.emit("edgeAttributesUpdated",{key:s.key,type:"remove",attributes:s.attributes,name:o}),this}}function sP(e,t,n){e.prototype[t]=function(a,o){let s;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new $e(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new $e(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,u=""+o;if(o=arguments[2],s=Xn(this,c,u,n),!s)throw new Re(`Graph.${t}: could not find an edge for the given path ("${c}" - "${u}").`)}else{if(n!=="mixed")throw new $e(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,s=this._edges.get(a),!s)throw new Re(`Graph.${t}: could not find the "${a}" edge in the graph.`)}if(!Qt(o))throw new ke(`Graph.${t}: provided attributes are not a plain object.`);return s.attributes=o,this.emit("edgeAttributesUpdated",{key:s.key,type:"replace",attributes:s.attributes}),this}}function lP(e,t,n){e.prototype[t]=function(a,o){let s;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new $e(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new $e(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,u=""+o;if(o=arguments[2],s=Xn(this,c,u,n),!s)throw new Re(`Graph.${t}: could not find an edge for the given path ("${c}" - "${u}").`)}else{if(n!=="mixed")throw new $e(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,s=this._edges.get(a),!s)throw new Re(`Graph.${t}: could not find the "${a}" edge in the graph.`)}if(!Qt(o))throw new ke(`Graph.${t}: provided attributes are not a plain object.`);return Pt(s.attributes,o),this.emit("edgeAttributesUpdated",{key:s.key,type:"merge",attributes:s.attributes,data:o}),this}}function cP(e,t,n){e.prototype[t]=function(a,o){let s;if(this.type!=="mixed"&&n!=="mixed"&&n!==this.type)throw new $e(`Graph.${t}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new $e(`Graph.${t}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const c=""+a,u=""+o;if(o=arguments[2],s=Xn(this,c,u,n),!s)throw new Re(`Graph.${t}: could not find an edge for the given path ("${c}" - "${u}").`)}else{if(n!=="mixed")throw new $e(`Graph.${t}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(a=""+a,s=this._edges.get(a),!s)throw new Re(`Graph.${t}: could not find the "${a}" edge in the graph.`)}if(typeof o!="function")throw new ke(`Graph.${t}: provided updater is not a function.`);return s.attributes=o(s.attributes),this.emit("edgeAttributesUpdated",{key:s.key,type:"update",attributes:s.attributes}),this}}const uP=[{name:e=>`get${e}Attribute`,attacher:tP},{name:e=>`get${e}Attributes`,attacher:nP},{name:e=>`has${e}Attribute`,attacher:rP},{name:e=>`set${e}Attribute`,attacher:aP},{name:e=>`update${e}Attribute`,attacher:iP},{name:e=>`remove${e}Attribute`,attacher:oP},{name:e=>`replace${e}Attributes`,attacher:sP},{name:e=>`merge${e}Attributes`,attacher:lP},{name:e=>`update${e}Attributes`,attacher:cP}];function dP(e){uP.forEach(function({name:t,attacher:n}){n(e,t("Edge"),"mixed"),n(e,t("DirectedEdge"),"directed"),n(e,t("UndirectedEdge"),"undirected")})}const fP=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function hP(e,t,n,a){let o=!1;for(const s in t){if(s===a)continue;const c=t[s];if(o=n(c.key,c.attributes,c.source.key,c.target.key,c.source.attributes,c.target.attributes,c.undirected),e&&o)return c.key}}function pP(e,t,n,a){let o,s,c,u=!1;for(const f in t)if(f!==a){o=t[f];do{if(s=o.source,c=o.target,u=n(o.key,o.attributes,s.key,c.key,s.attributes,c.attributes,o.undirected),e&&u)return o.key;o=o.next}while(o!==void 0)}}function Jh(e,t){const n=Object.keys(e),a=n.length;let o,s=0;return{[Symbol.iterator](){return this},next(){do if(o)o=o.next;else{if(s>=a)return{done:!0};const c=n[s++];if(c===t){o=void 0;continue}o=e[c]}while(!o);return{done:!1,value:{edge:o.key,attributes:o.attributes,source:o.source.key,target:o.target.key,sourceAttributes:o.source.attributes,targetAttributes:o.target.attributes,undirected:o.undirected}}}}}function mP(e,t,n,a){const o=t[n];if(!o)return;const s=o.source,c=o.target;if(a(o.key,o.attributes,s.key,c.key,s.attributes,c.attributes,o.undirected)&&e)return o.key}function gP(e,t,n,a){let o=t[n];if(!o)return;let s=!1;do{if(s=a(o.key,o.attributes,o.source.key,o.target.key,o.source.attributes,o.target.attributes,o.undirected),e&&s)return o.key;o=o.next}while(o!==void 0)}function ep(e,t){let n=e[t];if(n.next!==void 0)return{[Symbol.iterator](){return this},next(){if(!n)return{done:!0};const o={edge:n.key,attributes:n.attributes,source:n.source.key,target:n.target.key,sourceAttributes:n.source.attributes,targetAttributes:n.target.attributes,undirected:n.undirected};return n=n.next,{done:!1,value:o}}};let a=!1;return{[Symbol.iterator](){return this},next(){return a===!0?{done:!0}:(a=!0,{done:!1,value:{edge:n.key,attributes:n.attributes,source:n.source.key,target:n.target.key,sourceAttributes:n.source.attributes,targetAttributes:n.target.attributes,undirected:n.undirected}})}}}function vP(e,t){if(e.size===0)return[];if(t==="mixed"||t===e.type)return Array.from(e._edges.keys());const n=t==="undirected"?e.undirectedSize:e.directedSize,a=new Array(n),o=t==="undirected",s=e._edges.values();let c=0,u,f;for(;u=s.next(),u.done!==!0;)f=u.value,f.undirected===o&&(a[c++]=f.key);return a}function h_(e,t,n,a){if(t.size===0)return;const o=n!=="mixed"&&n!==t.type,s=n==="undirected";let c,u,f=!1;const h=t._edges.values();for(;c=h.next(),c.done!==!0;){if(u=c.value,o&&u.undirected!==s)continue;const{key:m,attributes:g,source:y,target:b}=u;if(f=a(m,g,y.key,b.key,y.attributes,b.attributes,u.undirected),e&&f)return m}}function yP(e,t){if(e.size===0)return $o();const n=t!=="mixed"&&t!==e.type,a=t==="undirected",o=e._edges.values();return{[Symbol.iterator](){return this},next(){let s,c;for(;;){if(s=o.next(),s.done)return s;if(c=s.value,!(n&&c.undirected!==a))break}return{value:{edge:c.key,attributes:c.attributes,source:c.source.key,target:c.target.key,sourceAttributes:c.source.attributes,targetAttributes:c.target.attributes,undirected:c.undirected},done:!1}}}}function _g(e,t,n,a,o,s){const c=t?pP:hP;let u;if(n!=="undirected"&&(a!=="out"&&(u=c(e,o.in,s),e&&u)||a!=="in"&&(u=c(e,o.out,s,a?void 0:o.key),e&&u))||n!=="directed"&&(u=c(e,o.undirected,s),e&&u))return u}function bP(e,t,n,a){const o=[];return _g(!1,e,t,n,a,function(s){o.push(s)}),o}function xP(e,t,n){let a=$o();return e!=="undirected"&&(t!=="out"&&typeof n.in<"u"&&(a=ra(a,Jh(n.in))),t!=="in"&&typeof n.out<"u"&&(a=ra(a,Jh(n.out,t?void 0:n.key)))),e!=="directed"&&typeof n.undirected<"u"&&(a=ra(a,Jh(n.undirected))),a}function Tg(e,t,n,a,o,s,c){const u=n?gP:mP;let f;if(t!=="undirected"&&(typeof o.in<"u"&&a!=="out"&&(f=u(e,o.in,s,c),e&&f)||typeof o.out<"u"&&a!=="in"&&(a||o.key!==s)&&(f=u(e,o.out,s,c),e&&f))||t!=="directed"&&typeof o.undirected<"u"&&(f=u(e,o.undirected,s,c),e&&f))return f}function wP(e,t,n,a,o){const s=[];return Tg(!1,e,t,n,a,o,function(c){s.push(c)}),s}function EP(e,t,n,a){let o=$o();return e!=="undirected"&&(typeof n.in<"u"&&t!=="out"&&a in n.in&&(o=ra(o,ep(n.in,a))),typeof n.out<"u"&&t!=="in"&&a in n.out&&(t||n.key!==a)&&(o=ra(o,ep(n.out,a)))),e!=="directed"&&typeof n.undirected<"u"&&a in n.undirected&&(o=ra(o,ep(n.undirected,a))),o}function SP(e,t){const{name:n,type:a,direction:o}=t;e.prototype[n]=function(s,c){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return[];if(!arguments.length)return vP(this,a);if(arguments.length===1){s=""+s;const u=this._nodes.get(s);if(typeof u>"u")throw new Re(`Graph.${n}: could not find the "${s}" node in the graph.`);return bP(this.multi,a==="mixed"?this.type:a,o,u)}if(arguments.length===2){s=""+s,c=""+c;const u=this._nodes.get(s);if(!u)throw new Re(`Graph.${n}: could not find the "${s}" source node in the graph.`);if(!this._nodes.has(c))throw new Re(`Graph.${n}: could not find the "${c}" target node in the graph.`);return wP(a,this.multi,o,u,c)}throw new ke(`Graph.${n}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function _P(e,t){const{name:n,type:a,direction:o}=t,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[s]=function(h,m,g){if(!(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)){if(arguments.length===1)return g=h,h_(!1,this,a,g);if(arguments.length===2){h=""+h,g=m;const y=this._nodes.get(h);if(typeof y>"u")throw new Re(`Graph.${s}: could not find the "${h}" node in the graph.`);return _g(!1,this.multi,a==="mixed"?this.type:a,o,y,g)}if(arguments.length===3){h=""+h,m=""+m;const y=this._nodes.get(h);if(!y)throw new Re(`Graph.${s}: could not find the "${h}" source node in the graph.`);if(!this._nodes.has(m))throw new Re(`Graph.${s}: could not find the "${m}" target node in the graph.`);return Tg(!1,a,this.multi,o,y,m,g)}throw new ke(`Graph.${s}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)}};const c="map"+n[0].toUpperCase()+n.slice(1);e.prototype[c]=function(){const h=Array.prototype.slice.call(arguments),m=h.pop();let g;if(h.length===0){let y=0;a!=="directed"&&(y+=this.undirectedSize),a!=="undirected"&&(y+=this.directedSize),g=new Array(y);let b=0;h.push((S,E,_,N,T,A,D)=>{g[b++]=m(S,E,_,N,T,A,D)})}else g=[],h.push((y,b,S,E,_,N,T)=>{g.push(m(y,b,S,E,_,N,T))});return this[s].apply(this,h),g};const u="filter"+n[0].toUpperCase()+n.slice(1);e.prototype[u]=function(){const h=Array.prototype.slice.call(arguments),m=h.pop(),g=[];return h.push((y,b,S,E,_,N,T)=>{m(y,b,S,E,_,N,T)&&g.push(y)}),this[s].apply(this,h),g};const f="reduce"+n[0].toUpperCase()+n.slice(1);e.prototype[f]=function(){let h=Array.prototype.slice.call(arguments);if(h.length<2||h.length>4)throw new ke(`Graph.${f}: invalid number of arguments (expecting 2, 3 or 4 and got ${h.length}).`);if(typeof h[h.length-1]=="function"&&typeof h[h.length-2]!="function")throw new ke(`Graph.${f}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let m,g;h.length===2?(m=h[0],g=h[1],h=[]):h.length===3?(m=h[1],g=h[2],h=[h[0]]):h.length===4&&(m=h[2],g=h[3],h=[h[0],h[1]]);let y=g;return h.push((b,S,E,_,N,T,A)=>{y=m(y,b,S,E,_,N,T,A)}),this[s].apply(this,h),y}}function TP(e,t){const{name:n,type:a,direction:o}=t,s="find"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[s]=function(f,h,m){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return!1;if(arguments.length===1)return m=f,h_(!0,this,a,m);if(arguments.length===2){f=""+f,m=h;const g=this._nodes.get(f);if(typeof g>"u")throw new Re(`Graph.${s}: could not find the "${f}" node in the graph.`);return _g(!0,this.multi,a==="mixed"?this.type:a,o,g,m)}if(arguments.length===3){f=""+f,h=""+h;const g=this._nodes.get(f);if(!g)throw new Re(`Graph.${s}: could not find the "${f}" source node in the graph.`);if(!this._nodes.has(h))throw new Re(`Graph.${s}: could not find the "${h}" target node in the graph.`);return Tg(!0,a,this.multi,o,g,h,m)}throw new ke(`Graph.${s}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)};const c="some"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[c]=function(){const f=Array.prototype.slice.call(arguments),h=f.pop();return f.push((g,y,b,S,E,_,N)=>h(g,y,b,S,E,_,N)),!!this[s].apply(this,f)};const u="every"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[u]=function(){const f=Array.prototype.slice.call(arguments),h=f.pop();return f.push((g,y,b,S,E,_,N)=>!h(g,y,b,S,E,_,N)),!this[s].apply(this,f)}}function CP(e,t){const{name:n,type:a,direction:o}=t,s=n.slice(0,-1)+"Entries";e.prototype[s]=function(c,u){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return $o();if(!arguments.length)return yP(this,a);if(arguments.length===1){c=""+c;const f=this._nodes.get(c);if(!f)throw new Re(`Graph.${s}: could not find the "${c}" node in the graph.`);return xP(a,o,f)}if(arguments.length===2){c=""+c,u=""+u;const f=this._nodes.get(c);if(!f)throw new Re(`Graph.${s}: could not find the "${c}" source node in the graph.`);if(!this._nodes.has(u))throw new Re(`Graph.${s}: could not find the "${u}" target node in the graph.`);return EP(a,o,f,u)}throw new ke(`Graph.${s}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function RP(e){fP.forEach(t=>{SP(e,t),_P(e,t),TP(e,t),CP(e,t)})}const AP=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function hd(){this.A=null,this.B=null}hd.prototype.wrap=function(e){this.A===null?this.A=e:this.B===null&&(this.B=e)};hd.prototype.has=function(e){return this.A!==null&&e in this.A||this.B!==null&&e in this.B};function Ys(e,t,n,a,o){for(const s in a){const c=a[s],u=c.source,f=c.target,h=u===n?f:u;if(t&&t.has(h.key))continue;const m=o(h.key,h.attributes);if(e&&m)return h.key}}function Cg(e,t,n,a,o){if(t!=="mixed"){if(t==="undirected")return Ys(e,null,a,a.undirected,o);if(typeof n=="string")return Ys(e,null,a,a[n],o)}const s=new hd;let c;if(t!=="undirected"){if(n!=="out"){if(c=Ys(e,null,a,a.in,o),e&&c)return c;s.wrap(a.in)}if(n!=="in"){if(c=Ys(e,s,a,a.out,o),e&&c)return c;s.wrap(a.out)}}if(t!=="directed"&&(c=Ys(e,s,a,a.undirected,o),e&&c))return c}function kP(e,t,n){if(e!=="mixed"){if(e==="undirected")return Object.keys(n.undirected);if(typeof t=="string")return Object.keys(n[t])}const a=[];return Cg(!1,e,t,n,function(o){a.push(o)}),a}function Ws(e,t,n){const a=Object.keys(n),o=a.length;let s=0;return{[Symbol.iterator](){return this},next(){let c=null;do{if(s>=o)return e&&e.wrap(n),{done:!0};const u=n[a[s++]],f=u.source,h=u.target;if(c=f===t?h:f,e&&e.has(c.key)){c=null;continue}}while(c===null);return{done:!1,value:{neighbor:c.key,attributes:c.attributes}}}}}function DP(e,t,n){if(e!=="mixed"){if(e==="undirected")return Ws(null,n,n.undirected);if(typeof t=="string")return Ws(null,n,n[t])}let a=$o();const o=new hd;return e!=="undirected"&&(t!=="out"&&(a=ra(a,Ws(o,n,n.in))),t!=="in"&&(a=ra(a,Ws(o,n,n.out)))),e!=="directed"&&(a=ra(a,Ws(o,n,n.undirected))),a}function NP(e,t){const{name:n,type:a,direction:o}=t;e.prototype[n]=function(s){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return[];s=""+s;const c=this._nodes.get(s);if(typeof c>"u")throw new Re(`Graph.${n}: could not find the "${s}" node in the graph.`);return kP(a==="mixed"?this.type:a,o,c)}}function OP(e,t){const{name:n,type:a,direction:o}=t,s="forEach"+n[0].toUpperCase()+n.slice(1,-1);e.prototype[s]=function(h,m){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return;h=""+h;const g=this._nodes.get(h);if(typeof g>"u")throw new Re(`Graph.${s}: could not find the "${h}" node in the graph.`);Cg(!1,a==="mixed"?this.type:a,o,g,m)};const c="map"+n[0].toUpperCase()+n.slice(1);e.prototype[c]=function(h,m){const g=[];return this[s](h,(y,b)=>{g.push(m(y,b))}),g};const u="filter"+n[0].toUpperCase()+n.slice(1);e.prototype[u]=function(h,m){const g=[];return this[s](h,(y,b)=>{m(y,b)&&g.push(y)}),g};const f="reduce"+n[0].toUpperCase()+n.slice(1);e.prototype[f]=function(h,m,g){if(arguments.length<3)throw new ke(`Graph.${f}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let y=g;return this[s](h,(b,S)=>{y=m(y,b,S)}),y}}function jP(e,t){const{name:n,type:a,direction:o}=t,s=n[0].toUpperCase()+n.slice(1,-1),c="find"+s;e.prototype[c]=function(h,m){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return;h=""+h;const g=this._nodes.get(h);if(typeof g>"u")throw new Re(`Graph.${c}: could not find the "${h}" node in the graph.`);return Cg(!0,a==="mixed"?this.type:a,o,g,m)};const u="some"+s;e.prototype[u]=function(h,m){return!!this[c](h,m)};const f="every"+s;e.prototype[f]=function(h,m){return!this[c](h,(y,b)=>!m(y,b))}}function LP(e,t){const{name:n,type:a,direction:o}=t,s=n.slice(0,-1)+"Entries";e.prototype[s]=function(c){if(a!=="mixed"&&this.type!=="mixed"&&a!==this.type)return $o();c=""+c;const u=this._nodes.get(c);if(typeof u>"u")throw new Re(`Graph.${s}: could not find the "${c}" node in the graph.`);return DP(a==="mixed"?this.type:a,o,u)}}function zP(e){AP.forEach(t=>{NP(e,t),OP(e,t),jP(e,t),LP(e,t)})}function Wc(e,t,n,a,o){const s=a._nodes.values(),c=a.type;let u,f,h,m,g,y;for(;u=s.next(),u.done!==!0;){let b=!1;if(f=u.value,c!=="undirected"){m=f.out;for(h in m){g=m[h];do y=g.target,b=!0,o(f.key,y.key,f.attributes,y.attributes,g.key,g.attributes,g.undirected),g=g.next;while(g)}}if(c!=="directed"){m=f.undirected;for(h in m)if(!(t&&f.key>h)){g=m[h];do y=g.target,y.key!==h&&(y=g.source),b=!0,o(f.key,y.key,f.attributes,y.attributes,g.key,g.attributes,g.undirected),g=g.next;while(g)}}n&&!b&&o(f.key,null,f.attributes,null,null,null,null)}}function MP(e,t){const n={key:e};return o_(t.attributes)||(n.attributes=Pt({},t.attributes)),n}function PP(e,t,n){const a={key:t,source:n.source.key,target:n.target.key};return o_(n.attributes)||(a.attributes=Pt({},n.attributes)),e==="mixed"&&n.undirected&&(a.undirected=!0),a}function GP(e){if(!Qt(e))throw new ke('Graph.import: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if(!("key"in e))throw new ke("Graph.import: serialized node is missing its key.");if("attributes"in e&&(!Qt(e.attributes)||e.attributes===null))throw new ke("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.")}function FP(e){if(!Qt(e))throw new ke('Graph.import: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if(!("source"in e))throw new ke("Graph.import: serialized edge is missing its source.");if(!("target"in e))throw new ke("Graph.import: serialized edge is missing its target.");if("attributes"in e&&(!Qt(e.attributes)||e.attributes===null))throw new ke("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.");if("undirected"in e&&typeof e.undirected!="boolean")throw new ke("Graph.import: invalid undirectedness information. Undirected should be boolean or omitted.")}const UP=IM(),BP=new Set(["directed","undirected","mixed"]),I0=new Set(["domain","_events","_eventsCount","_maxListeners"]),IP=[{name:e=>`${e}Edge`,generateKey:!0},{name:e=>`${e}DirectedEdge`,generateKey:!0,type:"directed"},{name:e=>`${e}UndirectedEdge`,generateKey:!0,type:"undirected"},{name:e=>`${e}EdgeWithKey`},{name:e=>`${e}DirectedEdgeWithKey`,type:"directed"},{name:e=>`${e}UndirectedEdgeWithKey`,type:"undirected"}],HP={allowSelfLoops:!0,multi:!1,type:"mixed"};function $P(e,t,n){if(n&&!Qt(n))throw new ke(`Graph.addNode: invalid attributes. Expecting an object but got "${n}"`);if(t=""+t,n=n||{},e._nodes.has(t))throw new $e(`Graph.addNode: the "${t}" node already exist in the graph.`);const a=new e.NodeDataClass(t,n);return e._nodes.set(t,a),e.emit("nodeAdded",{key:t,attributes:n}),a}function H0(e,t,n){const a=new e.NodeDataClass(t,n);return e._nodes.set(t,a),e.emit("nodeAdded",{key:t,attributes:n}),a}function p_(e,t,n,a,o,s,c,u){if(!a&&e.type==="undirected")throw new $e(`Graph.${t}: you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead.`);if(a&&e.type==="directed")throw new $e(`Graph.${t}: you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead.`);if(u&&!Qt(u))throw new ke(`Graph.${t}: invalid attributes. Expecting an object but got "${u}"`);if(s=""+s,c=""+c,u=u||{},!e.allowSelfLoops&&s===c)throw new $e(`Graph.${t}: source & target are the same ("${s}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);const f=e._nodes.get(s),h=e._nodes.get(c);if(!f)throw new Re(`Graph.${t}: source node "${s}" not found.`);if(!h)throw new Re(`Graph.${t}: target node "${c}" not found.`);const m={key:null,undirected:a,source:s,target:c,attributes:u};if(n)o=e._edgeKeyGenerator();else if(o=""+o,e._edges.has(o))throw new $e(`Graph.${t}: the "${o}" edge already exists in the graph.`);if(!e.multi&&(a?typeof f.undirected[c]<"u":typeof f.out[c]<"u"))throw new $e(`Graph.${t}: an edge linking "${s}" to "${c}" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option.`);const g=new Vo(a,o,f,h,u);e._edges.set(o,g);const y=s===c;return a?(f.undirectedDegree++,h.undirectedDegree++,y&&(f.undirectedLoops++,e._undirectedSelfLoopCount++)):(f.outDegree++,h.inDegree++,y&&(f.directedLoops++,e._directedSelfLoopCount++)),e.multi?g.attachMulti():g.attach(),a?e._undirectedSize++:e._directedSize++,m.key=o,e.emit("edgeAdded",m),o}function VP(e,t,n,a,o,s,c,u,f){if(!a&&e.type==="undirected")throw new $e(`Graph.${t}: you cannot merge/update a directed edge to an undirected graph. Use the #.mergeEdge/#.updateEdge or #.addUndirectedEdge instead.`);if(a&&e.type==="directed")throw new $e(`Graph.${t}: you cannot merge/update an undirected edge to a directed graph. Use the #.mergeEdge/#.updateEdge or #.addDirectedEdge instead.`);if(u){if(f){if(typeof u!="function")throw new ke(`Graph.${t}: invalid updater function. Expecting a function but got "${u}"`)}else if(!Qt(u))throw new ke(`Graph.${t}: invalid attributes. Expecting an object but got "${u}"`)}s=""+s,c=""+c;let h;if(f&&(h=u,u=void 0),!e.allowSelfLoops&&s===c)throw new $e(`Graph.${t}: source & target are the same ("${s}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);let m=e._nodes.get(s),g=e._nodes.get(c),y,b;if(!n&&(y=e._edges.get(o),y)){if((y.source.key!==s||y.target.key!==c)&&(!a||y.source.key!==c||y.target.key!==s))throw new $e(`Graph.${t}: inconsistency detected when attempting to merge the "${o}" edge with "${s}" source & "${c}" target vs. ("${y.source.key}", "${y.target.key}").`);b=y}if(!b&&!e.multi&&m&&(b=a?m.undirected[c]:m.out[c]),b){const T=[b.key,!1,!1,!1];if(f?!h:!u)return T;if(f){const A=b.attributes;b.attributes=h(A),e.emit("edgeAttributesUpdated",{type:"replace",key:b.key,attributes:b.attributes})}else Pt(b.attributes,u),e.emit("edgeAttributesUpdated",{type:"merge",key:b.key,attributes:b.attributes,data:u});return T}u=u||{},f&&h&&(u=h(u));const S={key:null,undirected:a,source:s,target:c,attributes:u};if(n)o=e._edgeKeyGenerator();else if(o=""+o,e._edges.has(o))throw new $e(`Graph.${t}: the "${o}" edge already exists in the graph.`);let E=!1,_=!1;m||(m=H0(e,s,{}),E=!0,s===c&&(g=m,_=!0)),g||(g=H0(e,c,{}),_=!0),y=new Vo(a,o,m,g,u),e._edges.set(o,y);const N=s===c;return a?(m.undirectedDegree++,g.undirectedDegree++,N&&(m.undirectedLoops++,e._undirectedSelfLoopCount++)):(m.outDegree++,g.inDegree++,N&&(m.directedLoops++,e._directedSelfLoopCount++)),e.multi?y.attachMulti():y.attach(),a?e._undirectedSize++:e._directedSize++,S.key=o,e.emit("edgeAdded",S),[o,!0,E,_]}function xo(e,t){e._edges.delete(t.key);const{source:n,target:a,attributes:o}=t,s=t.undirected,c=n===a;s?(n.undirectedDegree--,a.undirectedDegree--,c&&(n.undirectedLoops--,e._undirectedSelfLoopCount--)):(n.outDegree--,a.inDegree--,c&&(n.directedLoops--,e._directedSelfLoopCount--)),e.multi?t.detachMulti():t.detach(),s?e._undirectedSize--:e._directedSize--,e.emit("edgeDropped",{key:t.key,attributes:o,source:n.key,target:a.key,undirected:s})}class ft extends i_.EventEmitter{constructor(t){if(super(),t=Pt({},HP,t),typeof t.multi!="boolean")throw new ke(`Graph.constructor: invalid 'multi' option. Expecting a boolean but got "${t.multi}".`);if(!BP.has(t.type))throw new ke(`Graph.constructor: invalid 'type' option. Should be one of "mixed", "directed" or "undirected" but got "${t.type}".`);if(typeof t.allowSelfLoops!="boolean")throw new ke(`Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got "${t.allowSelfLoops}".`);const n=t.type==="mixed"?s_:t.type==="directed"?l_:c_;Yn(this,"NodeDataClass",n);const a="geid_"+UP()+"_";let o=0;const s=()=>{let c;do c=a+o++;while(this._edges.has(c));return c};Yn(this,"_attributes",{}),Yn(this,"_nodes",new Map),Yn(this,"_edges",new Map),Yn(this,"_directedSize",0),Yn(this,"_undirectedSize",0),Yn(this,"_directedSelfLoopCount",0),Yn(this,"_undirectedSelfLoopCount",0),Yn(this,"_edgeKeyGenerator",s),Yn(this,"_options",t),I0.forEach(c=>Yn(this,c,this[c])),ar(this,"order",()=>this._nodes.size),ar(this,"size",()=>this._edges.size),ar(this,"directedSize",()=>this._directedSize),ar(this,"undirectedSize",()=>this._undirectedSize),ar(this,"selfLoopCount",()=>this._directedSelfLoopCount+this._undirectedSelfLoopCount),ar(this,"directedSelfLoopCount",()=>this._directedSelfLoopCount),ar(this,"undirectedSelfLoopCount",()=>this._undirectedSelfLoopCount),ar(this,"multi",this._options.multi),ar(this,"type",this._options.type),ar(this,"allowSelfLoops",this._options.allowSelfLoops),ar(this,"implementation",()=>"graphology")}_resetInstanceCounters(){this._directedSize=0,this._undirectedSize=0,this._directedSelfLoopCount=0,this._undirectedSelfLoopCount=0}hasNode(t){return this._nodes.has(""+t)}hasDirectedEdge(t,n){if(this.type==="undirected")return!1;if(arguments.length===1){const a=""+t,o=this._edges.get(a);return!!o&&!o.undirected}else if(arguments.length===2){t=""+t,n=""+n;const a=this._nodes.get(t);return a?a.out.hasOwnProperty(n):!1}throw new ke(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasUndirectedEdge(t,n){if(this.type==="directed")return!1;if(arguments.length===1){const a=""+t,o=this._edges.get(a);return!!o&&o.undirected}else if(arguments.length===2){t=""+t,n=""+n;const a=this._nodes.get(t);return a?a.undirected.hasOwnProperty(n):!1}throw new ke(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasEdge(t,n){if(arguments.length===1){const a=""+t;return this._edges.has(a)}else if(arguments.length===2){t=""+t,n=""+n;const a=this._nodes.get(t);return a?typeof a.out<"u"&&a.out.hasOwnProperty(n)||typeof a.undirected<"u"&&a.undirected.hasOwnProperty(n):!1}throw new ke(`Graph.hasEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}directedEdge(t,n){if(this.type==="undirected")return;if(t=""+t,n=""+n,this.multi)throw new $e("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");const a=this._nodes.get(t);if(!a)throw new Re(`Graph.directedEdge: could not find the "${t}" source node in the graph.`);if(!this._nodes.has(n))throw new Re(`Graph.directedEdge: could not find the "${n}" target node in the graph.`);const o=a.out&&a.out[n]||void 0;if(o)return o.key}undirectedEdge(t,n){if(this.type==="directed")return;if(t=""+t,n=""+n,this.multi)throw new $e("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");const a=this._nodes.get(t);if(!a)throw new Re(`Graph.undirectedEdge: could not find the "${t}" source node in the graph.`);if(!this._nodes.has(n))throw new Re(`Graph.undirectedEdge: could not find the "${n}" target node in the graph.`);const o=a.undirected&&a.undirected[n]||void 0;if(o)return o.key}edge(t,n){if(this.multi)throw new $e("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");t=""+t,n=""+n;const a=this._nodes.get(t);if(!a)throw new Re(`Graph.edge: could not find the "${t}" source node in the graph.`);if(!this._nodes.has(n))throw new Re(`Graph.edge: could not find the "${n}" target node in the graph.`);const o=a.out&&a.out[n]||a.undirected&&a.undirected[n]||void 0;if(o)return o.key}areDirectedNeighbors(t,n){t=""+t,n=""+n;const a=this._nodes.get(t);if(!a)throw new Re(`Graph.areDirectedNeighbors: could not find the "${t}" node in the graph.`);return this.type==="undirected"?!1:n in a.in||n in a.out}areOutNeighbors(t,n){t=""+t,n=""+n;const a=this._nodes.get(t);if(!a)throw new Re(`Graph.areOutNeighbors: could not find the "${t}" node in the graph.`);return this.type==="undirected"?!1:n in a.out}areInNeighbors(t,n){t=""+t,n=""+n;const a=this._nodes.get(t);if(!a)throw new Re(`Graph.areInNeighbors: could not find the "${t}" node in the graph.`);return this.type==="undirected"?!1:n in a.in}areUndirectedNeighbors(t,n){t=""+t,n=""+n;const a=this._nodes.get(t);if(!a)throw new Re(`Graph.areUndirectedNeighbors: could not find the "${t}" node in the graph.`);return this.type==="directed"?!1:n in a.undirected}areNeighbors(t,n){t=""+t,n=""+n;const a=this._nodes.get(t);if(!a)throw new Re(`Graph.areNeighbors: could not find the "${t}" node in the graph.`);return this.type!=="undirected"&&(n in a.in||n in a.out)||this.type!=="directed"&&n in a.undirected}areInboundNeighbors(t,n){t=""+t,n=""+n;const a=this._nodes.get(t);if(!a)throw new Re(`Graph.areInboundNeighbors: could not find the "${t}" node in the graph.`);return this.type!=="undirected"&&n in a.in||this.type!=="directed"&&n in a.undirected}areOutboundNeighbors(t,n){t=""+t,n=""+n;const a=this._nodes.get(t);if(!a)throw new Re(`Graph.areOutboundNeighbors: could not find the "${t}" node in the graph.`);return this.type!=="undirected"&&n in a.out||this.type!=="directed"&&n in a.undirected}inDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.inDegree: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.inDegree}outDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.outDegree: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.outDegree}directedDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.directedDegree: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.inDegree+n.outDegree}undirectedDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.undirectedDegree: could not find the "${t}" node in the graph.`);return this.type==="directed"?0:n.undirectedDegree}inboundDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.inboundDegree: could not find the "${t}" node in the graph.`);let a=0;return this.type!=="directed"&&(a+=n.undirectedDegree),this.type!=="undirected"&&(a+=n.inDegree),a}outboundDegree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.outboundDegree: could not find the "${t}" node in the graph.`);let a=0;return this.type!=="directed"&&(a+=n.undirectedDegree),this.type!=="undirected"&&(a+=n.outDegree),a}degree(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.degree: could not find the "${t}" node in the graph.`);let a=0;return this.type!=="directed"&&(a+=n.undirectedDegree),this.type!=="undirected"&&(a+=n.inDegree+n.outDegree),a}inDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.inDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.inDegree-n.directedLoops}outDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.outDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.outDegree-n.directedLoops}directedDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.directedDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);return this.type==="undirected"?0:n.inDegree+n.outDegree-n.directedLoops*2}undirectedDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.undirectedDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);return this.type==="directed"?0:n.undirectedDegree-n.undirectedLoops*2}inboundDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.inboundDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);let a=0,o=0;return this.type!=="directed"&&(a+=n.undirectedDegree,o+=n.undirectedLoops*2),this.type!=="undirected"&&(a+=n.inDegree,o+=n.directedLoops),a-o}outboundDegreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.outboundDegreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);let a=0,o=0;return this.type!=="directed"&&(a+=n.undirectedDegree,o+=n.undirectedLoops*2),this.type!=="undirected"&&(a+=n.outDegree,o+=n.directedLoops),a-o}degreeWithoutSelfLoops(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.degreeWithoutSelfLoops: could not find the "${t}" node in the graph.`);let a=0,o=0;return this.type!=="directed"&&(a+=n.undirectedDegree,o+=n.undirectedLoops*2),this.type!=="undirected"&&(a+=n.inDegree+n.outDegree,o+=n.directedLoops*2),a-o}source(t){t=""+t;const n=this._edges.get(t);if(!n)throw new Re(`Graph.source: could not find the "${t}" edge in the graph.`);return n.source.key}target(t){t=""+t;const n=this._edges.get(t);if(!n)throw new Re(`Graph.target: could not find the "${t}" edge in the graph.`);return n.target.key}extremities(t){t=""+t;const n=this._edges.get(t);if(!n)throw new Re(`Graph.extremities: could not find the "${t}" edge in the graph.`);return[n.source.key,n.target.key]}opposite(t,n){t=""+t,n=""+n;const a=this._edges.get(n);if(!a)throw new Re(`Graph.opposite: could not find the "${n}" edge in the graph.`);const o=a.source.key,s=a.target.key;if(t===o)return s;if(t===s)return o;throw new Re(`Graph.opposite: the "${t}" node is not attached to the "${n}" edge (${o}, ${s}).`)}hasExtremity(t,n){t=""+t,n=""+n;const a=this._edges.get(t);if(!a)throw new Re(`Graph.hasExtremity: could not find the "${t}" edge in the graph.`);return a.source.key===n||a.target.key===n}isUndirected(t){t=""+t;const n=this._edges.get(t);if(!n)throw new Re(`Graph.isUndirected: could not find the "${t}" edge in the graph.`);return n.undirected}isDirected(t){t=""+t;const n=this._edges.get(t);if(!n)throw new Re(`Graph.isDirected: could not find the "${t}" edge in the graph.`);return!n.undirected}isSelfLoop(t){t=""+t;const n=this._edges.get(t);if(!n)throw new Re(`Graph.isSelfLoop: could not find the "${t}" edge in the graph.`);return n.source===n.target}addNode(t,n){return $P(this,t,n).key}mergeNode(t,n){if(n&&!Qt(n))throw new ke(`Graph.mergeNode: invalid attributes. Expecting an object but got "${n}"`);t=""+t,n=n||{};let a=this._nodes.get(t);return a?(n&&(Pt(a.attributes,n),this.emit("nodeAttributesUpdated",{type:"merge",key:t,attributes:a.attributes,data:n})),[t,!1]):(a=new this.NodeDataClass(t,n),this._nodes.set(t,a),this.emit("nodeAdded",{key:t,attributes:n}),[t,!0])}updateNode(t,n){if(n&&typeof n!="function")throw new ke(`Graph.updateNode: invalid updater function. Expecting a function but got "${n}"`);t=""+t;let a=this._nodes.get(t);if(a){if(n){const s=a.attributes;a.attributes=n(s),this.emit("nodeAttributesUpdated",{type:"replace",key:t,attributes:a.attributes})}return[t,!1]}const o=n?n({}):{};return a=new this.NodeDataClass(t,o),this._nodes.set(t,a),this.emit("nodeAdded",{key:t,attributes:o}),[t,!0]}dropNode(t){t=""+t;const n=this._nodes.get(t);if(!n)throw new Re(`Graph.dropNode: could not find the "${t}" node in the graph.`);let a;if(this.type!=="undirected"){for(const o in n.out){a=n.out[o];do xo(this,a),a=a.next;while(a)}for(const o in n.in){a=n.in[o];do xo(this,a),a=a.next;while(a)}}if(this.type!=="directed")for(const o in n.undirected){a=n.undirected[o];do xo(this,a),a=a.next;while(a)}this._nodes.delete(t),this.emit("nodeDropped",{key:t,attributes:n.attributes})}dropEdge(t){let n;if(arguments.length>1){const a=""+arguments[0],o=""+arguments[1];if(n=Xn(this,a,o,this.type),!n)throw new Re(`Graph.dropEdge: could not find the "${a}" -> "${o}" edge in the graph.`)}else if(t=""+t,n=this._edges.get(t),!n)throw new Re(`Graph.dropEdge: could not find the "${t}" edge in the graph.`);return xo(this,n),this}dropDirectedEdge(t,n){if(arguments.length<2)throw new $e("Graph.dropDirectedEdge: it does not make sense to try and drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new $e("Graph.dropDirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");t=""+t,n=""+n;const a=Xn(this,t,n,"directed");if(!a)throw new Re(`Graph.dropDirectedEdge: could not find a "${t}" -> "${n}" edge in the graph.`);return xo(this,a),this}dropUndirectedEdge(t,n){if(arguments.length<2)throw new $e("Graph.dropUndirectedEdge: it does not make sense to drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new $e("Graph.dropUndirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");const a=Xn(this,t,n,"undirected");if(!a)throw new Re(`Graph.dropUndirectedEdge: could not find a "${t}" -> "${n}" edge in the graph.`);return xo(this,a),this}clear(){this._edges.clear(),this._nodes.clear(),this._resetInstanceCounters(),this.emit("cleared")}clearEdges(){const t=this._nodes.values();let n;for(;n=t.next(),n.done!==!0;)n.value.clear();this._edges.clear(),this._resetInstanceCounters(),this.emit("edgesCleared")}getAttribute(t){return this._attributes[t]}getAttributes(){return this._attributes}hasAttribute(t){return this._attributes.hasOwnProperty(t)}setAttribute(t,n){return this._attributes[t]=n,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this}updateAttribute(t,n){if(typeof n!="function")throw new ke("Graph.updateAttribute: updater should be a function.");const a=this._attributes[t];return this._attributes[t]=n(a),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:t}),this}removeAttribute(t){return delete this._attributes[t],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:t}),this}replaceAttributes(t){if(!Qt(t))throw new ke("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=t,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this}mergeAttributes(t){if(!Qt(t))throw new ke("Graph.mergeAttributes: provided attributes are not a plain object.");return Pt(this._attributes,t),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:t}),this}updateAttributes(t){if(typeof t!="function")throw new ke("Graph.updateAttributes: provided updater is not a function.");return this._attributes=t(this._attributes),this.emit("attributesUpdated",{type:"update",attributes:this._attributes}),this}updateEachNodeAttributes(t,n){if(typeof t!="function")throw new ke("Graph.updateEachNodeAttributes: expecting an updater function.");if(n&&!B0(n))throw new ke("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const a=this._nodes.values();let o,s;for(;o=a.next(),o.done!==!0;)s=o.value,s.attributes=t(s.key,s.attributes);this.emit("eachNodeAttributesUpdated",{hints:n||null})}updateEachEdgeAttributes(t,n){if(typeof t!="function")throw new ke("Graph.updateEachEdgeAttributes: expecting an updater function.");if(n&&!B0(n))throw new ke("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const a=this._edges.values();let o,s,c,u;for(;o=a.next(),o.done!==!0;)s=o.value,c=s.source,u=s.target,s.attributes=t(s.key,s.attributes,c.key,u.key,c.attributes,u.attributes,s.undirected);this.emit("eachEdgeAttributesUpdated",{hints:n||null})}forEachAdjacencyEntry(t){if(typeof t!="function")throw new ke("Graph.forEachAdjacencyEntry: expecting a callback.");Wc(!1,!1,!1,this,t)}forEachAdjacencyEntryWithOrphans(t){if(typeof t!="function")throw new ke("Graph.forEachAdjacencyEntryWithOrphans: expecting a callback.");Wc(!1,!1,!0,this,t)}forEachAssymetricAdjacencyEntry(t){if(typeof t!="function")throw new ke("Graph.forEachAssymetricAdjacencyEntry: expecting a callback.");Wc(!1,!0,!1,this,t)}forEachAssymetricAdjacencyEntryWithOrphans(t){if(typeof t!="function")throw new ke("Graph.forEachAssymetricAdjacencyEntryWithOrphans: expecting a callback.");Wc(!1,!0,!0,this,t)}nodes(){return Array.from(this._nodes.keys())}forEachNode(t){if(typeof t!="function")throw new ke("Graph.forEachNode: expecting a callback.");const n=this._nodes.values();let a,o;for(;a=n.next(),a.done!==!0;)o=a.value,t(o.key,o.attributes)}findNode(t){if(typeof t!="function")throw new ke("Graph.findNode: expecting a callback.");const n=this._nodes.values();let a,o;for(;a=n.next(),a.done!==!0;)if(o=a.value,t(o.key,o.attributes))return o.key}mapNodes(t){if(typeof t!="function")throw new ke("Graph.mapNode: expecting a callback.");const n=this._nodes.values();let a,o;const s=new Array(this.order);let c=0;for(;a=n.next(),a.done!==!0;)o=a.value,s[c++]=t(o.key,o.attributes);return s}someNode(t){if(typeof t!="function")throw new ke("Graph.someNode: expecting a callback.");const n=this._nodes.values();let a,o;for(;a=n.next(),a.done!==!0;)if(o=a.value,t(o.key,o.attributes))return!0;return!1}everyNode(t){if(typeof t!="function")throw new ke("Graph.everyNode: expecting a callback.");const n=this._nodes.values();let a,o;for(;a=n.next(),a.done!==!0;)if(o=a.value,!t(o.key,o.attributes))return!1;return!0}filterNodes(t){if(typeof t!="function")throw new ke("Graph.filterNodes: expecting a callback.");const n=this._nodes.values();let a,o;const s=[];for(;a=n.next(),a.done!==!0;)o=a.value,t(o.key,o.attributes)&&s.push(o.key);return s}reduceNodes(t,n){if(typeof t!="function")throw new ke("Graph.reduceNodes: expecting a callback.");if(arguments.length<2)throw new ke("Graph.reduceNodes: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.");let a=n;const o=this._nodes.values();let s,c;for(;s=o.next(),s.done!==!0;)c=s.value,a=t(a,c.key,c.attributes);return a}nodeEntries(){const t=this._nodes.values();return{[Symbol.iterator](){return this},next(){const n=t.next();if(n.done)return n;const a=n.value;return{value:{node:a.key,attributes:a.attributes},done:!1}}}}export(){const t=new Array(this._nodes.size);let n=0;this._nodes.forEach((o,s)=>{t[n++]=MP(s,o)});const a=new Array(this._edges.size);return n=0,this._edges.forEach((o,s)=>{a[n++]=PP(this.type,s,o)}),{options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops},attributes:this.getAttributes(),nodes:t,edges:a}}import(t,n=!1){if(t instanceof ft)return t.forEachNode((f,h)=>{n?this.mergeNode(f,h):this.addNode(f,h)}),t.forEachEdge((f,h,m,g,y,b,S)=>{n?S?this.mergeUndirectedEdgeWithKey(f,m,g,h):this.mergeDirectedEdgeWithKey(f,m,g,h):S?this.addUndirectedEdgeWithKey(f,m,g,h):this.addDirectedEdgeWithKey(f,m,g,h)}),this;if(!Qt(t))throw new ke("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(t.attributes){if(!Qt(t.attributes))throw new ke("Graph.import: invalid attributes. Expecting a plain object.");n?this.mergeAttributes(t.attributes):this.replaceAttributes(t.attributes)}let a,o,s,c,u;if(t.nodes){if(s=t.nodes,!Array.isArray(s))throw new ke("Graph.import: invalid nodes. Expecting an array.");for(a=0,o=s.length;a{const s=Pt({},a.attributes);a=new n.NodeDataClass(o,s),n._nodes.set(o,a)}),n}copy(t){if(t=t||{},typeof t.type=="string"&&t.type!==this.type&&t.type!=="mixed")throw new $e(`Graph.copy: cannot create an incompatible copy from "${this.type}" type to "${t.type}" because this would mean losing information about the current graph.`);if(typeof t.multi=="boolean"&&t.multi!==this.multi&&t.multi!==!0)throw new $e("Graph.copy: cannot create an incompatible copy by downgrading a multi graph to a simple one because this would mean losing information about the current graph.");if(typeof t.allowSelfLoops=="boolean"&&t.allowSelfLoops!==this.allowSelfLoops&&t.allowSelfLoops!==!0)throw new $e("Graph.copy: cannot create an incompatible copy from a graph allowing self loops to one that does not because this would mean losing information about the current graph.");const n=this.emptyCopy(t),a=this._edges.values();let o,s;for(;o=a.next(),o.done!==!0;)s=o.value,p_(n,"copy",!1,s.undirected,s.key,s.source.key,s.target.key,Pt({},s.attributes));return n}toJSON(){return this.export()}toString(){return"[object Graph]"}inspect(){const t={};this._nodes.forEach((s,c)=>{t[c]=s.attributes});const n={},a={};this._edges.forEach((s,c)=>{const u=s.undirected?"--":"->";let f="",h=s.source.key,m=s.target.key,g;s.undirected&&h>m&&(g=h,h=m,m=g);const y=`(${h})${u}(${m})`;c.startsWith("geid_")?this.multi&&(typeof a[y]>"u"?a[y]=0:a[y]++,f+=`${a[y]}. `):f+=`[${c}]: `,f+=y,n[f]=s.attributes});const o={};for(const s in this)this.hasOwnProperty(s)&&!I0.has(s)&&typeof this[s]!="function"&&typeof s!="symbol"&&(o[s]=this[s]);return o.attributes=this._attributes,o.nodes=t,o.edges=n,Yn(o,"constructor",this.constructor),o}}typeof Symbol<"u"&&(ft.prototype[Symbol.for("nodejs.util.inspect.custom")]=ft.prototype.inspect);IP.forEach(e=>{["add","merge","update"].forEach(t=>{const n=e.name(t),a=t==="add"?p_:VP;e.generateKey?ft.prototype[n]=function(o,s,c){return a(this,n,!0,(e.type||this.type)==="undirected",null,o,s,c,t==="update")}:ft.prototype[n]=function(o,s,c,u){return a(this,n,!1,(e.type||this.type)==="undirected",o,s,c,u,t==="update")}})});eP(ft);dP(ft);RP(ft);zP(ft);class cl extends ft{constructor(t){const n=Pt({type:"directed"},t);if("multi"in n&&n.multi!==!1)throw new ke("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(n.type!=="directed")throw new ke('DirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}class m_ extends ft{constructor(t){const n=Pt({type:"undirected"},t);if("multi"in n&&n.multi!==!1)throw new ke("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(n.type!=="undirected")throw new ke('UndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}class g_ extends ft{constructor(t){const n=Pt({multi:!0},t);if("multi"in n&&n.multi!==!0)throw new ke("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");super(n)}}class v_ extends ft{constructor(t){const n=Pt({type:"directed",multi:!0},t);if("multi"in n&&n.multi!==!0)throw new ke("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(n.type!=="directed")throw new ke('MultiDirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}class y_ extends ft{constructor(t){const n=Pt({type:"undirected",multi:!0},t);if("multi"in n&&n.multi!==!0)throw new ke("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(n.type!=="undirected")throw new ke('MultiUndirectedGraph.from: inconsistent "'+n.type+'" type in given options!');super(n)}}function qo(e){e.from=function(t,n){const a=Pt({},t.options,n),o=new e(a);return o.import(t),o}}qo(ft);qo(cl);qo(m_);qo(g_);qo(v_);qo(y_);ft.Graph=ft;ft.DirectedGraph=cl;ft.UndirectedGraph=m_;ft.MultiGraph=g_;ft.MultiDirectedGraph=v_;ft.MultiUndirectedGraph=y_;ft.InvalidArgumentsGraphError=ke;ft.NotFoundGraphError=Re;ft.UsageGraphError=$e;function qP(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var a=n.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function al(e){var t=qP(e,"string");return typeof t=="symbol"?t:t+""}function $t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $0(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,a=Array(t);n>8&255,s=n>>16&255,c=n>>24&255;return[a,o,s,c]}var np={};function __(e){if(typeof np[e]<"u")return np[e];var t=(e&16711680)>>>16,n=(e&65280)>>>8,a=e&255,o=255,s=S_(t,n,a,o);return np[e]=s,s}function V0(e,t,n,a){return n+(t<<8)+(e<<16)}function q0(e,t,n,a,o,s){var c=Math.floor(n/s*o),u=Math.floor(e.drawingBufferHeight/s-a/s*o),f=new Uint8Array(4);e.bindFramebuffer(e.FRAMEBUFFER,t),e.readPixels(c,u,1,1,e.RGBA,e.UNSIGNED_BYTE,f);var h=jo(f,4),m=h[0],g=h[1],y=h[2],b=h[3];return[m,g,y,b]}function we(e,t,n){return(t=al(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Y0(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,a)}return n}function Le(e){for(var t=1;tD){var M="…";for(h=h+M,k=e.measureText(h).width;k>D&&h.length>1;)h=h.slice(0,-2)+M,k=e.measureText(h).width;if(h.length<4)return}var R;T>0?A>0?R=Math.acos(T/D):R=Math.asin(A/D):A>0?R=Math.acos(T/D)+Math.PI:R=Math.asin(T/D)+Math.PI/2,e.save(),e.translate(_,N),e.rotate(R),e.fillText(h,-k/2,t.size/2+s),e.restore()}}}function k_(e,t,n){if(t.label){var a=n.labelSize,o=n.labelFont,s=n.labelWeight,c=n.labelColor.attribute?t[n.labelColor.attribute]||n.labelColor.color||"#000":n.labelColor.color;e.fillStyle=c,e.font="".concat(s," ").concat(a,"px ").concat(o),e.fillText(t.label,t.x+t.size+3,t.y+a/3)}}function c4(e,t,n){var a=n.labelSize,o=n.labelFont,s=n.labelWeight;e.font="".concat(s," ").concat(a,"px ").concat(o),e.fillStyle="#FFF",e.shadowOffsetX=0,e.shadowOffsetY=0,e.shadowBlur=8,e.shadowColor="#000";var c=2;if(typeof t.label=="string"){var u=e.measureText(t.label).width,f=Math.round(u+5),h=Math.round(a+2*c),m=Math.max(t.size,a/2)+c,g=Math.asin(h/2/m),y=Math.sqrt(Math.abs(Math.pow(m,2)-Math.pow(h/2,2)));e.beginPath(),e.moveTo(t.x+y,t.y+h/2),e.lineTo(t.x+m+f,t.y+h/2),e.lineTo(t.x+m+f,t.y-h/2),e.lineTo(t.x+y,t.y-h/2),e.arc(t.x,t.y,m,g,-g),e.closePath(),e.fill()}else e.beginPath(),e.arc(t.x,t.y,t.size+c,0,Math.PI*2),e.closePath(),e.fill();e.shadowOffsetX=0,e.shadowOffsetY=0,e.shadowBlur=0,k_(e,t,n)}var u4=` +precision highp float; + +varying vec4 v_color; +varying vec2 v_diffVector; +varying float v_radius; + +uniform float u_correctionRatio; + +const vec4 transparent = vec4(0.0, 0.0, 0.0, 0.0); + +void main(void) { + float border = u_correctionRatio * 2.0; + float dist = length(v_diffVector) - v_radius + border; + + // No antialiasing for picking mode: + #ifdef PICKING_MODE + if (dist > border) + gl_FragColor = transparent; + else + gl_FragColor = v_color; + + #else + float t = 0.0; + if (dist > border) + t = 1.0; + else if (dist > 0.0) + t = dist / border; + + gl_FragColor = mix(v_color, transparent, t); + #endif +} +`,d4=u4,f4=` +attribute vec4 a_id; +attribute vec4 a_color; +attribute vec2 a_position; +attribute float a_size; +attribute float a_angle; + +uniform mat3 u_matrix; +uniform float u_sizeRatio; +uniform float u_correctionRatio; + +varying vec4 v_color; +varying vec2 v_diffVector; +varying float v_radius; +varying float v_border; + +const float bias = 255.0 / 254.0; + +void main() { + float size = a_size * u_correctionRatio / u_sizeRatio * 4.0; + vec2 diffVector = size * vec2(cos(a_angle), sin(a_angle)); + vec2 position = a_position + diffVector; + gl_Position = vec4( + (u_matrix * vec3(position, 1)).xy, + 0, + 1 + ); + + v_diffVector = diffVector; + v_radius = size / 2.0; + + #ifdef PICKING_MODE + // For picking mode, we use the ID as the color: + v_color = a_id; + #else + // For normal mode, we use the color: + v_color = a_color; + #endif + + v_color.a *= bias; +} +`,h4=f4,D_=WebGLRenderingContext,Z0=D_.UNSIGNED_BYTE,ap=D_.FLOAT,p4=["u_sizeRatio","u_correctionRatio","u_matrix"],_l=function(e){function t(){return $t(this,t),En(this,t,arguments)}return Sn(t,e),Vt(t,[{key:"getDefinition",value:function(){return{VERTICES:3,VERTEX_SHADER_SOURCE:h4,FRAGMENT_SHADER_SOURCE:d4,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:p4,ATTRIBUTES:[{name:"a_position",size:2,type:ap},{name:"a_size",size:1,type:ap},{name:"a_color",size:4,type:Z0,normalized:!0},{name:"a_id",size:4,type:Z0,normalized:!0}],CONSTANT_ATTRIBUTES:[{name:"a_angle",size:1,type:ap}],CONSTANT_DATA:[[t.ANGLE_1],[t.ANGLE_2],[t.ANGLE_3]]}}},{key:"processVisibleItem",value:function(a,o,s){var c=this.array,u=Ar(s.color);c[o++]=s.x,c[o++]=s.y,c[o++]=s.size,c[o++]=u,c[o++]=a}},{key:"setUniforms",value:function(a,o){var s=o.gl,c=o.uniformLocations,u=c.u_sizeRatio,f=c.u_correctionRatio,h=c.u_matrix;s.uniform1f(f,a.correctionRatio),s.uniform1f(u,a.sizeRatio),s.uniformMatrix3fv(h,!1,a.matrix)}}])}(Rg);we(_l,"ANGLE_1",0);we(_l,"ANGLE_2",2*Math.PI/3);we(_l,"ANGLE_3",4*Math.PI/3);var m4=` +precision mediump float; + +varying vec4 v_color; + +void main(void) { + gl_FragColor = v_color; +} +`,g4=m4,v4=` +attribute vec2 a_position; +attribute vec2 a_normal; +attribute float a_radius; +attribute vec3 a_barycentric; + +#ifdef PICKING_MODE +attribute vec4 a_id; +#else +attribute vec4 a_color; +#endif + +uniform mat3 u_matrix; +uniform float u_sizeRatio; +uniform float u_correctionRatio; +uniform float u_minEdgeThickness; +uniform float u_lengthToThicknessRatio; +uniform float u_widenessToThicknessRatio; + +varying vec4 v_color; + +const float bias = 255.0 / 254.0; + +void main() { + float minThickness = u_minEdgeThickness; + + float normalLength = length(a_normal); + vec2 unitNormal = a_normal / normalLength; + + // These first computations are taken from edge.vert.glsl and + // edge.clamped.vert.glsl. Please read it to get better comments on what's + // happening: + float pixelsThickness = max(normalLength / u_sizeRatio, minThickness); + float webGLThickness = pixelsThickness * u_correctionRatio; + float webGLNodeRadius = a_radius * 2.0 * u_correctionRatio / u_sizeRatio; + float webGLArrowHeadLength = webGLThickness * u_lengthToThicknessRatio * 2.0; + float webGLArrowHeadThickness = webGLThickness * u_widenessToThicknessRatio; + + float da = a_barycentric.x; + float db = a_barycentric.y; + float dc = a_barycentric.z; + + vec2 delta = vec2( + da * (webGLNodeRadius * unitNormal.y) + + db * ((webGLNodeRadius + webGLArrowHeadLength) * unitNormal.y + webGLArrowHeadThickness * unitNormal.x) + + dc * ((webGLNodeRadius + webGLArrowHeadLength) * unitNormal.y - webGLArrowHeadThickness * unitNormal.x), + + da * (-webGLNodeRadius * unitNormal.x) + + db * (-(webGLNodeRadius + webGLArrowHeadLength) * unitNormal.x + webGLArrowHeadThickness * unitNormal.y) + + dc * (-(webGLNodeRadius + webGLArrowHeadLength) * unitNormal.x - webGLArrowHeadThickness * unitNormal.y) + ); + + vec2 position = (u_matrix * vec3(a_position + delta, 1)).xy; + + gl_Position = vec4(position, 0, 1); + + #ifdef PICKING_MODE + // For picking mode, we use the ID as the color: + v_color = a_id; + #else + // For normal mode, we use the color: + v_color = a_color; + #endif + + v_color.a *= bias; +} +`,y4=v4,N_=WebGLRenderingContext,Q0=N_.UNSIGNED_BYTE,Kc=N_.FLOAT,b4=["u_matrix","u_sizeRatio","u_correctionRatio","u_minEdgeThickness","u_lengthToThicknessRatio","u_widenessToThicknessRatio"],Tl={extremity:"target",lengthToThicknessRatio:2.5,widenessToThicknessRatio:2};function ku(e){var t=Le(Le({},Tl),e||{});return function(n){function a(){return $t(this,a),En(this,a,arguments)}return Sn(a,n),Vt(a,[{key:"getDefinition",value:function(){return{VERTICES:3,VERTEX_SHADER_SOURCE:y4,FRAGMENT_SHADER_SOURCE:g4,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:b4,ATTRIBUTES:[{name:"a_position",size:2,type:Kc},{name:"a_normal",size:2,type:Kc},{name:"a_radius",size:1,type:Kc},{name:"a_color",size:4,type:Q0,normalized:!0},{name:"a_id",size:4,type:Q0,normalized:!0}],CONSTANT_ATTRIBUTES:[{name:"a_barycentric",size:3,type:Kc}],CONSTANT_DATA:[[1,0,0],[0,1,0],[0,0,1]]}}},{key:"processVisibleItem",value:function(s,c,u,f,h){if(t.extremity==="source"){var m=[f,u];u=m[0],f=m[1]}var g=h.size||1,y=f.size||1,b=u.x,S=u.y,E=f.x,_=f.y,N=Ar(h.color),T=E-b,A=_-S,D=T*T+A*A,k=0,M=0;D&&(D=1/Math.sqrt(D),k=-A*D*g,M=T*D*g);var R=this.array;R[c++]=E,R[c++]=_,R[c++]=-k,R[c++]=-M,R[c++]=y,R[c++]=N,R[c++]=s}},{key:"setUniforms",value:function(s,c){var u=c.gl,f=c.uniformLocations,h=f.u_matrix,m=f.u_sizeRatio,g=f.u_correctionRatio,y=f.u_minEdgeThickness,b=f.u_lengthToThicknessRatio,S=f.u_widenessToThicknessRatio;u.uniformMatrix3fv(h,!1,s.matrix),u.uniform1f(m,s.sizeRatio),u.uniform1f(g,s.correctionRatio),u.uniform1f(y,s.minEdgeThickness),u.uniform1f(b,t.lengthToThicknessRatio),u.uniform1f(S,t.widenessToThicknessRatio)}}])}(Sl)}ku();var x4=` +precision mediump float; + +varying vec4 v_color; +varying vec2 v_normal; +varying float v_thickness; +varying float v_feather; + +const vec4 transparent = vec4(0.0, 0.0, 0.0, 0.0); + +void main(void) { + // We only handle antialiasing for normal mode: + #ifdef PICKING_MODE + gl_FragColor = v_color; + #else + float dist = length(v_normal) * v_thickness; + + float t = smoothstep( + v_thickness - v_feather, + v_thickness, + dist + ); + + gl_FragColor = mix(v_color, transparent, t); + #endif +} +`,Ag=x4,w4=` +attribute vec4 a_id; +attribute vec4 a_color; +attribute vec2 a_normal; +attribute float a_normalCoef; +attribute vec2 a_positionStart; +attribute vec2 a_positionEnd; +attribute float a_positionCoef; +attribute float a_radius; +attribute float a_radiusCoef; + +uniform mat3 u_matrix; +uniform float u_zoomRatio; +uniform float u_sizeRatio; +uniform float u_pixelRatio; +uniform float u_correctionRatio; +uniform float u_minEdgeThickness; +uniform float u_lengthToThicknessRatio; +uniform float u_feather; + +varying vec4 v_color; +varying vec2 v_normal; +varying float v_thickness; +varying float v_feather; + +const float bias = 255.0 / 254.0; + +void main() { + float minThickness = u_minEdgeThickness; + + float radius = a_radius * a_radiusCoef; + vec2 normal = a_normal * a_normalCoef; + vec2 position = a_positionStart * (1.0 - a_positionCoef) + a_positionEnd * a_positionCoef; + + float normalLength = length(normal); + vec2 unitNormal = normal / normalLength; + + // These first computations are taken from edge.vert.glsl. Please read it to + // get better comments on what's happening: + float pixelsThickness = max(normalLength, minThickness * u_sizeRatio); + float webGLThickness = pixelsThickness * u_correctionRatio / u_sizeRatio; + + // Here, we move the point to leave space for the arrow head: + float direction = sign(radius); + float webGLNodeRadius = direction * radius * 2.0 * u_correctionRatio / u_sizeRatio; + float webGLArrowHeadLength = webGLThickness * u_lengthToThicknessRatio * 2.0; + + vec2 compensationVector = vec2(-direction * unitNormal.y, direction * unitNormal.x) * (webGLNodeRadius + webGLArrowHeadLength); + + // Here is the proper position of the vertex + gl_Position = vec4((u_matrix * vec3(position + unitNormal * webGLThickness + compensationVector, 1)).xy, 0, 1); + + v_thickness = webGLThickness / u_zoomRatio; + + v_normal = unitNormal; + + v_feather = u_feather * u_correctionRatio / u_zoomRatio / u_pixelRatio * 2.0; + + #ifdef PICKING_MODE + // For picking mode, we use the ID as the color: + v_color = a_id; + #else + // For normal mode, we use the color: + v_color = a_color; + #endif + + v_color.a *= bias; +} +`,E4=w4,O_=WebGLRenderingContext,J0=O_.UNSIGNED_BYTE,vi=O_.FLOAT,S4=["u_matrix","u_zoomRatio","u_sizeRatio","u_correctionRatio","u_pixelRatio","u_feather","u_minEdgeThickness","u_lengthToThicknessRatio"],_4={lengthToThicknessRatio:Tl.lengthToThicknessRatio};function j_(e){var t=Le(Le({},_4),{});return function(n){function a(){return $t(this,a),En(this,a,arguments)}return Sn(a,n),Vt(a,[{key:"getDefinition",value:function(){return{VERTICES:6,VERTEX_SHADER_SOURCE:E4,FRAGMENT_SHADER_SOURCE:Ag,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:S4,ATTRIBUTES:[{name:"a_positionStart",size:2,type:vi},{name:"a_positionEnd",size:2,type:vi},{name:"a_normal",size:2,type:vi},{name:"a_color",size:4,type:J0,normalized:!0},{name:"a_id",size:4,type:J0,normalized:!0},{name:"a_radius",size:1,type:vi}],CONSTANT_ATTRIBUTES:[{name:"a_positionCoef",size:1,type:vi},{name:"a_normalCoef",size:1,type:vi},{name:"a_radiusCoef",size:1,type:vi}],CONSTANT_DATA:[[0,1,0],[0,-1,0],[1,1,1],[1,1,1],[0,-1,0],[1,-1,-1]]}}},{key:"processVisibleItem",value:function(s,c,u,f,h){var m=h.size||1,g=u.x,y=u.y,b=f.x,S=f.y,E=Ar(h.color),_=b-g,N=S-y,T=f.size||1,A=_*_+N*N,D=0,k=0;A&&(A=1/Math.sqrt(A),D=-N*A*m,k=_*A*m);var M=this.array;M[c++]=g,M[c++]=y,M[c++]=b,M[c++]=S,M[c++]=D,M[c++]=k,M[c++]=E,M[c++]=s,M[c++]=T}},{key:"setUniforms",value:function(s,c){var u=c.gl,f=c.uniformLocations,h=f.u_matrix,m=f.u_zoomRatio,g=f.u_feather,y=f.u_pixelRatio,b=f.u_correctionRatio,S=f.u_sizeRatio,E=f.u_minEdgeThickness,_=f.u_lengthToThicknessRatio;u.uniformMatrix3fv(h,!1,s.matrix),u.uniform1f(m,s.zoomRatio),u.uniform1f(S,s.sizeRatio),u.uniform1f(b,s.correctionRatio),u.uniform1f(y,s.pixelRatio),u.uniform1f(g,s.antiAliasingFeather),u.uniform1f(E,s.minEdgeThickness),u.uniform1f(_,t.lengthToThicknessRatio)}}])}(Sl)}j_();function T4(e){return A_([j_(),ku(e)])}var C4=T4(),L_=C4,R4=` +attribute vec4 a_id; +attribute vec4 a_color; +attribute vec2 a_normal; +attribute float a_normalCoef; +attribute vec2 a_positionStart; +attribute vec2 a_positionEnd; +attribute float a_positionCoef; + +uniform mat3 u_matrix; +uniform float u_sizeRatio; +uniform float u_zoomRatio; +uniform float u_pixelRatio; +uniform float u_correctionRatio; +uniform float u_minEdgeThickness; +uniform float u_feather; + +varying vec4 v_color; +varying vec2 v_normal; +varying float v_thickness; +varying float v_feather; + +const float bias = 255.0 / 254.0; + +void main() { + float minThickness = u_minEdgeThickness; + + vec2 normal = a_normal * a_normalCoef; + vec2 position = a_positionStart * (1.0 - a_positionCoef) + a_positionEnd * a_positionCoef; + + float normalLength = length(normal); + vec2 unitNormal = normal / normalLength; + + // We require edges to be at least "minThickness" pixels thick *on screen* + // (so we need to compensate the size ratio): + float pixelsThickness = max(normalLength, minThickness * u_sizeRatio); + + // Then, we need to retrieve the normalized thickness of the edge in the WebGL + // referential (in a ([0, 1], [0, 1]) space), using our "magic" correction + // ratio: + float webGLThickness = pixelsThickness * u_correctionRatio / u_sizeRatio; + + // Here is the proper position of the vertex + gl_Position = vec4((u_matrix * vec3(position + unitNormal * webGLThickness, 1)).xy, 0, 1); + + // For the fragment shader though, we need a thickness that takes the "magic" + // correction ratio into account (as in webGLThickness), but so that the + // antialiasing effect does not depend on the zoom level. So here's yet + // another thickness version: + v_thickness = webGLThickness / u_zoomRatio; + + v_normal = unitNormal; + + v_feather = u_feather * u_correctionRatio / u_zoomRatio / u_pixelRatio * 2.0; + + #ifdef PICKING_MODE + // For picking mode, we use the ID as the color: + v_color = a_id; + #else + // For normal mode, we use the color: + v_color = a_color; + #endif + + v_color.a *= bias; +} +`,A4=R4,z_=WebGLRenderingContext,ew=z_.UNSIGNED_BYTE,Xs=z_.FLOAT,k4=["u_matrix","u_zoomRatio","u_sizeRatio","u_correctionRatio","u_pixelRatio","u_feather","u_minEdgeThickness"],D4=function(e){function t(){return $t(this,t),En(this,t,arguments)}return Sn(t,e),Vt(t,[{key:"getDefinition",value:function(){return{VERTICES:6,VERTEX_SHADER_SOURCE:A4,FRAGMENT_SHADER_SOURCE:Ag,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:k4,ATTRIBUTES:[{name:"a_positionStart",size:2,type:Xs},{name:"a_positionEnd",size:2,type:Xs},{name:"a_normal",size:2,type:Xs},{name:"a_color",size:4,type:ew,normalized:!0},{name:"a_id",size:4,type:ew,normalized:!0}],CONSTANT_ATTRIBUTES:[{name:"a_positionCoef",size:1,type:Xs},{name:"a_normalCoef",size:1,type:Xs}],CONSTANT_DATA:[[0,1],[0,-1],[1,1],[1,1],[0,-1],[1,-1]]}}},{key:"processVisibleItem",value:function(a,o,s,c,u){var f=u.size||1,h=s.x,m=s.y,g=c.x,y=c.y,b=Ar(u.color),S=g-h,E=y-m,_=S*S+E*E,N=0,T=0;_&&(_=1/Math.sqrt(_),N=-E*_*f,T=S*_*f);var A=this.array;A[o++]=h,A[o++]=m,A[o++]=g,A[o++]=y,A[o++]=N,A[o++]=T,A[o++]=b,A[o++]=a}},{key:"setUniforms",value:function(a,o){var s=o.gl,c=o.uniformLocations,u=c.u_matrix,f=c.u_zoomRatio,h=c.u_feather,m=c.u_pixelRatio,g=c.u_correctionRatio,y=c.u_sizeRatio,b=c.u_minEdgeThickness;s.uniformMatrix3fv(u,!1,a.matrix),s.uniform1f(f,a.zoomRatio),s.uniform1f(y,a.sizeRatio),s.uniform1f(g,a.correctionRatio),s.uniform1f(m,a.pixelRatio),s.uniform1f(h,a.antiAliasingFeather),s.uniform1f(b,a.minEdgeThickness)}}])}(Sl),kg=function(e){function t(){var n;return $t(this,t),n=En(this,t),n.rawEmitter=n,n}return Sn(t,e),Vt(t)}(i_.EventEmitter),ip,tw;function kr(){return tw||(tw=1,ip=function(t){return t!==null&&typeof t=="object"&&typeof t.addUndirectedEdgeWithKey=="function"&&typeof t.dropNode=="function"&&typeof t.multi=="boolean"}),ip}var N4=kr();const O4=dn(N4);var j4=function(t){return t},L4=function(t){return t*t},z4=function(t){return t*(2-t)},M4=function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},P4=function(t){return t*t*t},G4=function(t){return--t*t*t+1},F4=function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},M_={linear:j4,quadraticIn:L4,quadraticOut:z4,quadraticInOut:M4,cubicIn:P4,cubicOut:G4,cubicInOut:F4},P_={easing:"quadraticInOut",duration:150};function U4(e,t,n,a){var o=Object.assign({},P_,n),s=typeof o.easing=="function"?o.easing:M_[o.easing],c=Date.now(),u={};for(var f in t){var h=t[f];u[f]={};for(var m in h)u[f][m]=e.getNodeAttribute(f,m)}var g=null,y=function(){g=null;var S=(Date.now()-c)/o.duration;if(S>=1){for(var E in t){var _=t[E];for(var N in _)e.setNodeAttribute(E,N,_[N])}return}S=s(S);for(var T in t){var A=t[T],D=u[T];for(var k in A)e.setNodeAttribute(T,k,A[k]*S+D[k]*(1-S))}g=requestAnimationFrame(y)};return y(),function(){g&&cancelAnimationFrame(g)}}function ir(){return Float32Array.of(1,0,0,0,1,0,0,0,1)}function Zc(e,t,n){return e[0]=t,e[4]=typeof n=="number"?n:t,e}function nw(e,t){var n=Math.sin(t),a=Math.cos(t);return e[0]=a,e[1]=n,e[3]=-n,e[4]=a,e}function rw(e,t,n){return e[6]=t,e[7]=n,e}function Oa(e,t){var n=e[0],a=e[1],o=e[2],s=e[3],c=e[4],u=e[5],f=e[6],h=e[7],m=e[8],g=t[0],y=t[1],b=t[2],S=t[3],E=t[4],_=t[5],N=t[6],T=t[7],A=t[8];return e[0]=g*n+y*s+b*f,e[1]=g*a+y*c+b*h,e[2]=g*o+y*u+b*m,e[3]=S*n+E*s+_*f,e[4]=S*a+E*c+_*h,e[5]=S*o+E*u+_*m,e[6]=N*n+T*s+A*f,e[7]=N*a+T*c+A*h,e[8]=N*o+T*u+A*m,e}function bm(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,a=e[0],o=e[1],s=e[3],c=e[4],u=e[6],f=e[7],h=t.x,m=t.y;return{x:h*a+m*s+u*n,y:h*o+m*c+f*n}}function B4(e,t){var n=e.height/e.width,a=t.height/t.width;return n<1&&a>1||n>1&&a<1?1:Math.min(Math.max(a,1/a),Math.max(1/n,n))}function Ks(e,t,n,a,o){var s=e.angle,c=e.ratio,u=e.x,f=e.y,h=t.width,m=t.height,g=ir(),y=Math.min(h,m)-2*a,b=B4(t,n);return o?(Oa(g,rw(ir(),u,f)),Oa(g,Zc(ir(),c)),Oa(g,nw(ir(),s)),Oa(g,Zc(ir(),h/y/2/b,m/y/2/b))):(Oa(g,Zc(ir(),2*(y/h)*b,2*(y/m)*b)),Oa(g,nw(ir(),-s)),Oa(g,Zc(ir(),1/c)),Oa(g,rw(ir(),-u,-f))),g}function I4(e,t,n){var a=bm(e,{x:Math.cos(t.angle),y:Math.sin(t.angle)},0),o=a.x,s=a.y;return 1/Math.sqrt(Math.pow(o,2)+Math.pow(s,2))/n.width}function H4(e){if(!e.order)return{x:[0,1],y:[0,1]};var t=1/0,n=-1/0,a=1/0,o=-1/0;return e.forEachNode(function(s,c){var u=c.x,f=c.y;un&&(n=u),fo&&(o=f)}),{x:[t,n],y:[a,o]}}function $4(e){if(!O4(e))throw new Error("Sigma: invalid graph instance.");e.forEachNode(function(t,n){if(!Number.isFinite(n.x)||!Number.isFinite(n.y))throw new Error("Sigma: Coordinates of node ".concat(t," are invalid. A node must have a numeric 'x' and 'y' attribute."))})}function V4(e,t,n){var a=document.createElement(e);if(t)for(var o in t)a.style[o]=t[o];if(n)for(var s in n)a.setAttribute(s,n[s]);return a}function aw(){return typeof window.devicePixelRatio<"u"?window.devicePixelRatio:1}function iw(e,t,n){return n.sort(function(a,o){var s=t(a)||0,c=t(o)||0;return sc?1:0})}function ow(e){var t=jo(e.x,2),n=t[0],a=t[1],o=jo(e.y,2),s=o[0],c=o[1],u=Math.max(a-n,c-s),f=(a+n)/2,h=(c+s)/2;(u===0||Math.abs(u)===1/0||isNaN(u))&&(u=1),isNaN(f)&&(f=0),isNaN(h)&&(h=0);var m=function(y){return{x:.5+(y.x-f)/u,y:.5+(y.y-h)/u}};return m.applyTo=function(g){g.x=.5+(g.x-f)/u,g.y=.5+(g.y-h)/u},m.inverse=function(g){return{x:f+u*(g.x-.5),y:h+u*(g.y-.5)}},m.ratio=u,m}function xm(e){"@babel/helpers - typeof";return xm=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xm(e)}function sw(e,t){var n=t.size;if(n!==0){var a=e.length;e.length+=n;var o=0;t.forEach(function(s){e[a+o]=s,o++})}}function op(e){e=e||{};for(var t=0,n=arguments.length<=1?0:arguments.length-1;t1&&arguments[1]!==void 0?arguments[1]:{},c=arguments.length>2?arguments[2]:void 0;if(!c)return new Promise(function(b){return o.animate(a,s,b)});if(this.enabled){var u=Le(Le({},P_),s),f=this.validateState(a),h=typeof u.easing=="function"?u.easing:M_[u.easing],m=Date.now(),g=this.getState(),y=function(){var S=(Date.now()-m)/u.duration;if(S>=1){o.nextFrame=null,o.setState(f),o.animationCallback&&(o.animationCallback.call(null),o.animationCallback=void 0);return}var E=h(S),_={};typeof f.x=="number"&&(_.x=g.x+(f.x-g.x)*E),typeof f.y=="number"&&(_.y=g.y+(f.y-g.y)*E),o.enabledRotation&&typeof f.angle=="number"&&(_.angle=g.angle+(f.angle-g.angle)*E),typeof f.ratio=="number"&&(_.ratio=g.ratio+(f.ratio-g.ratio)*E),o.setState(_),o.nextFrame=requestAnimationFrame(y)};this.nextFrame?(cancelAnimationFrame(this.nextFrame),this.animationCallback&&this.animationCallback.call(null),this.nextFrame=requestAnimationFrame(y)):y(),this.animationCallback=c}}},{key:"animatedZoom",value:function(a){return a?typeof a=="number"?this.animate({ratio:this.ratio/a}):this.animate({ratio:this.ratio/(a.factor||Qc)},a):this.animate({ratio:this.ratio/Qc})}},{key:"animatedUnzoom",value:function(a){return a?typeof a=="number"?this.animate({ratio:this.ratio*a}):this.animate({ratio:this.ratio*(a.factor||Qc)},a):this.animate({ratio:this.ratio*Qc})}},{key:"animatedReset",value:function(a){return this.animate({x:.5,y:.5,ratio:1,angle:0},a)}},{key:"copy",value:function(){return t.from(this.getState())}}],[{key:"from",value:function(a){var o=new t;return o.setState(a)}}])}(kg);function sr(e,t){var n=t.getBoundingClientRect();return{x:e.clientX-n.left,y:e.clientY-n.top}}function Qr(e,t){var n=Le(Le({},sr(e,t)),{},{sigmaDefaultPrevented:!1,preventSigmaDefault:function(){n.sigmaDefaultPrevented=!0},original:e});return n}function Zs(e){var t="x"in e?e:Le(Le({},e.touches[0]||e.previousTouches[0]),{},{original:e.original,sigmaDefaultPrevented:e.sigmaDefaultPrevented,preventSigmaDefault:function(){e.sigmaDefaultPrevented=!0,t.sigmaDefaultPrevented=!0}});return t}function X4(e,t){return Le(Le({},Qr(e,t)),{},{delta:G_(e)})}var K4=2;function pu(e){for(var t=[],n=0,a=Math.min(e.length,K4);n0;o.draggedEvents=0,g&&o.renderer.getSetting("hideEdgesOnMove")&&o.renderer.refresh()},0),this.emit("mouseup",Qr(a,this.container))}}},{key:"handleMove",value:function(a){var o=this;if(this.enabled){var s=Qr(a,this.container);if(this.emit("mousemovebody",s),(a.target===this.container||a.composedPath()[0]===this.container)&&this.emit("mousemove",s),!s.sigmaDefaultPrevented&&this.isMouseDown){this.isMoving=!0,this.draggedEvents++,typeof this.movingTimeout=="number"&&clearTimeout(this.movingTimeout),this.movingTimeout=window.setTimeout(function(){o.movingTimeout=null,o.isMoving=!1},this.settings.dragTimeout);var c=this.renderer.getCamera(),u=sr(a,this.container),f=u.x,h=u.y,m=this.renderer.viewportToFramedGraph({x:this.lastMouseX,y:this.lastMouseY}),g=this.renderer.viewportToFramedGraph({x:f,y:h}),y=m.x-g.x,b=m.y-g.y,S=c.getState(),E=S.x+y,_=S.y+b;c.setState({x:E,y:_}),this.lastMouseX=f,this.lastMouseY=h,a.preventDefault(),a.stopPropagation()}}}},{key:"handleLeave",value:function(a){this.emit("mouseleave",Qr(a,this.container))}},{key:"handleEnter",value:function(a){this.emit("mouseenter",Qr(a,this.container))}},{key:"handleWheel",value:function(a){var o=this,s=this.renderer.getCamera();if(!(!this.enabled||!s.enabledZooming)){var c=G_(a);if(c){var u=X4(a,this.container);if(this.emit("wheel",u),u.sigmaDefaultPrevented){a.preventDefault(),a.stopPropagation();return}var f=s.getState().ratio,h=c>0?1/this.settings.zoomingRatio:this.settings.zoomingRatio,m=s.getBoundedRatio(f*h),g=c>0?1:-1,y=Date.now();f!==m&&(a.preventDefault(),a.stopPropagation(),!(this.currentWheelDirection===g&&this.lastWheelTriggerTime&&y-this.lastWheelTriggerTimea.size?-1:n.sizea.key?1:-1}}])}(),dw=function(){function e(){$t(this,e),we(this,"width",0),we(this,"height",0),we(this,"cellSize",0),we(this,"columns",0),we(this,"rows",0),we(this,"cells",{})}return Vt(e,[{key:"resizeAndClear",value:function(n,a){this.width=n.width,this.height=n.height,this.cellSize=a,this.columns=Math.ceil(n.width/a),this.rows=Math.ceil(n.height/a),this.cells={}}},{key:"getIndex",value:function(n){var a=Math.floor(n.x/this.cellSize),o=Math.floor(n.y/this.cellSize);return o*this.columns+a}},{key:"add",value:function(n,a,o){var s=new uw(n,a),c=this.getIndex(o),u=this.cells[c];u||(u=[],this.cells[c]=u),u.push(s)}},{key:"organize",value:function(){for(var n in this.cells){var a=this.cells[n];a.sort(uw.compare)}}},{key:"getLabelsToDisplay",value:function(n,a){var o=this.cellSize*this.cellSize,s=o/n/n,c=s*a/o,u=Math.ceil(c),f=[];for(var h in this.cells)for(var m=this.cells[h],g=0;g2&&arguments[2]!==void 0?arguments[2]:{};if($t(this,t),o=En(this,t),we(o,"elements",{}),we(o,"canvasContexts",{}),we(o,"webGLContexts",{}),we(o,"pickingLayers",new Set),we(o,"textures",{}),we(o,"frameBuffers",{}),we(o,"activeListeners",{}),we(o,"labelGrid",new dw),we(o,"nodeDataCache",{}),we(o,"edgeDataCache",{}),we(o,"nodeProgramIndex",{}),we(o,"edgeProgramIndex",{}),we(o,"nodesWithForcedLabels",new Set),we(o,"edgesWithForcedLabels",new Set),we(o,"nodeExtent",{x:[0,1],y:[0,1]}),we(o,"nodeZExtent",[1/0,-1/0]),we(o,"edgeZExtent",[1/0,-1/0]),we(o,"matrix",ir()),we(o,"invMatrix",ir()),we(o,"correctionRatio",1),we(o,"customBBox",null),we(o,"normalizationFunction",ow({x:[0,1],y:[0,1]})),we(o,"graphToViewportRatio",1),we(o,"itemIDsIndex",{}),we(o,"nodeIndices",{}),we(o,"edgeIndices",{}),we(o,"width",0),we(o,"height",0),we(o,"pixelRatio",aw()),we(o,"pickingDownSizingRatio",2*o.pixelRatio),we(o,"displayedNodeLabels",new Set),we(o,"displayedEdgeLabels",new Set),we(o,"highlightedNodes",new Set),we(o,"hoveredNode",null),we(o,"hoveredEdge",null),we(o,"renderFrame",null),we(o,"renderHighlightedNodesFrame",null),we(o,"needToProcess",!1),we(o,"checkEdgesEventsFrame",null),we(o,"nodePrograms",{}),we(o,"nodeHoverPrograms",{}),we(o,"edgePrograms",{}),o.settings=W4(s),sp(o.settings),$4(n),!(a instanceof HTMLElement))throw new Error("Sigma: container should be an html element.");o.graph=n,o.container=a,o.createWebGLContext("edges",{picking:s.enableEdgeEvents}),o.createCanvasContext("edgeLabels"),o.createWebGLContext("nodes",{picking:!0}),o.createCanvasContext("labels"),o.createCanvasContext("hovers"),o.createWebGLContext("hoverNodes"),o.createCanvasContext("mouse",{style:{touchAction:"none",userSelect:"none"}}),o.resize();for(var c in o.settings.nodeProgramClasses)o.registerNodeProgram(c,o.settings.nodeProgramClasses[c],o.settings.nodeHoverProgramClasses[c]);for(var u in o.settings.edgeProgramClasses)o.registerEdgeProgram(u,o.settings.edgeProgramClasses[u]);return o.camera=new lw,o.bindCameraHandlers(),o.mouseCaptor=new J4(o.elements.mouse,o),o.mouseCaptor.setSettings(o.settings),o.touchCaptor=new nG(o.elements.mouse,o),o.touchCaptor.setSettings(o.settings),o.bindEventHandlers(),o.bindGraphHandlers(),o.handleSettingsUpdate(),o.refresh(),o}return Sn(t,e),Vt(t,[{key:"registerNodeProgram",value:function(a,o,s){return this.nodePrograms[a]&&this.nodePrograms[a].kill(),this.nodeHoverPrograms[a]&&this.nodeHoverPrograms[a].kill(),this.nodePrograms[a]=new o(this.webGLContexts.nodes,this.frameBuffers.nodes,this),this.nodeHoverPrograms[a]=new(s||o)(this.webGLContexts.hoverNodes,null,this),this}},{key:"registerEdgeProgram",value:function(a,o){return this.edgePrograms[a]&&this.edgePrograms[a].kill(),this.edgePrograms[a]=new o(this.webGLContexts.edges,this.frameBuffers.edges,this),this}},{key:"unregisterNodeProgram",value:function(a){if(this.nodePrograms[a]){var o=this.nodePrograms,s=o[a],c=lp(o,[a].map(al));s.kill(),this.nodePrograms=c}if(this.nodeHoverPrograms[a]){var u=this.nodeHoverPrograms,f=u[a],h=lp(u,[a].map(al));f.kill(),this.nodePrograms=h}return this}},{key:"unregisterEdgeProgram",value:function(a){if(this.edgePrograms[a]){var o=this.edgePrograms,s=o[a],c=lp(o,[a].map(al));s.kill(),this.edgePrograms=c}return this}},{key:"resetWebGLTexture",value:function(a){var o=this.webGLContexts[a],s=this.frameBuffers[a],c=this.textures[a];c&&o.deleteTexture(c);var u=o.createTexture();return o.bindFramebuffer(o.FRAMEBUFFER,s),o.bindTexture(o.TEXTURE_2D,u),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,this.width,this.height,0,o.RGBA,o.UNSIGNED_BYTE,null),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,u,0),this.textures[a]=u,this}},{key:"bindCameraHandlers",value:function(){var a=this;return this.activeListeners.camera=function(){a.scheduleRender()},this.camera.on("updated",this.activeListeners.camera),this}},{key:"unbindCameraHandlers",value:function(){return this.camera.removeListener("updated",this.activeListeners.camera),this}},{key:"getNodeAtPosition",value:function(a){var o=a.x,s=a.y,c=q0(this.webGLContexts.nodes,this.frameBuffers.nodes,o,s,this.pixelRatio,this.pickingDownSizingRatio),u=V0.apply(void 0,cw(c)),f=this.itemIDsIndex[u];return f&&f.type==="node"?f.id:null}},{key:"bindEventHandlers",value:function(){var a=this;this.activeListeners.handleResize=function(){a.scheduleRefresh()},window.addEventListener("resize",this.activeListeners.handleResize),this.activeListeners.handleMove=function(s){var c=Zs(s),u={event:c,preventSigmaDefault:function(){c.preventSigmaDefault()}},f=a.getNodeAtPosition(c);if(f&&a.hoveredNode!==f&&!a.nodeDataCache[f].hidden){a.hoveredNode&&a.emit("leaveNode",Le(Le({},u),{},{node:a.hoveredNode})),a.hoveredNode=f,a.emit("enterNode",Le(Le({},u),{},{node:f})),a.scheduleHighlightedNodesRender();return}if(a.hoveredNode&&a.getNodeAtPosition(c)!==a.hoveredNode){var h=a.hoveredNode;a.hoveredNode=null,a.emit("leaveNode",Le(Le({},u),{},{node:h})),a.scheduleHighlightedNodesRender();return}if(a.settings.enableEdgeEvents){var m=a.hoveredNode?null:a.getEdgeAtPoint(u.event.x,u.event.y);m!==a.hoveredEdge&&(a.hoveredEdge&&a.emit("leaveEdge",Le(Le({},u),{},{edge:a.hoveredEdge})),m&&a.emit("enterEdge",Le(Le({},u),{},{edge:m})),a.hoveredEdge=m)}},this.activeListeners.handleMoveBody=function(s){var c=Zs(s);a.emit("moveBody",{event:c,preventSigmaDefault:function(){c.preventSigmaDefault()}})},this.activeListeners.handleLeave=function(s){var c=Zs(s),u={event:c,preventSigmaDefault:function(){c.preventSigmaDefault()}};a.hoveredNode&&(a.emit("leaveNode",Le(Le({},u),{},{node:a.hoveredNode})),a.scheduleHighlightedNodesRender()),a.settings.enableEdgeEvents&&a.hoveredEdge&&(a.emit("leaveEdge",Le(Le({},u),{},{edge:a.hoveredEdge})),a.scheduleHighlightedNodesRender()),a.emit("leaveStage",Le({},u))},this.activeListeners.handleEnter=function(s){var c=Zs(s),u={event:c,preventSigmaDefault:function(){c.preventSigmaDefault()}};a.emit("enterStage",Le({},u))};var o=function(c){return function(u){var f=Zs(u),h={event:f,preventSigmaDefault:function(){f.preventSigmaDefault()}},m=a.getNodeAtPosition(f);if(m)return a.emit("".concat(c,"Node"),Le(Le({},h),{},{node:m}));if(a.settings.enableEdgeEvents){var g=a.getEdgeAtPoint(f.x,f.y);if(g)return a.emit("".concat(c,"Edge"),Le(Le({},h),{},{edge:g}))}return a.emit("".concat(c,"Stage"),h)}};return this.activeListeners.handleClick=o("click"),this.activeListeners.handleRightClick=o("rightClick"),this.activeListeners.handleDoubleClick=o("doubleClick"),this.activeListeners.handleWheel=o("wheel"),this.activeListeners.handleDown=o("down"),this.activeListeners.handleUp=o("up"),this.mouseCaptor.on("mousemove",this.activeListeners.handleMove),this.mouseCaptor.on("mousemovebody",this.activeListeners.handleMoveBody),this.mouseCaptor.on("click",this.activeListeners.handleClick),this.mouseCaptor.on("rightClick",this.activeListeners.handleRightClick),this.mouseCaptor.on("doubleClick",this.activeListeners.handleDoubleClick),this.mouseCaptor.on("wheel",this.activeListeners.handleWheel),this.mouseCaptor.on("mousedown",this.activeListeners.handleDown),this.mouseCaptor.on("mouseup",this.activeListeners.handleUp),this.mouseCaptor.on("mouseleave",this.activeListeners.handleLeave),this.mouseCaptor.on("mouseenter",this.activeListeners.handleEnter),this.touchCaptor.on("touchdown",this.activeListeners.handleDown),this.touchCaptor.on("touchdown",this.activeListeners.handleMove),this.touchCaptor.on("touchup",this.activeListeners.handleUp),this.touchCaptor.on("touchmove",this.activeListeners.handleMove),this.touchCaptor.on("tap",this.activeListeners.handleClick),this.touchCaptor.on("doubletap",this.activeListeners.handleDoubleClick),this.touchCaptor.on("touchmove",this.activeListeners.handleMoveBody),this}},{key:"bindGraphHandlers",value:function(){var a=this,o=this.graph,s=new Set(["x","y","zIndex","type"]);return this.activeListeners.eachNodeAttributesUpdatedGraphUpdate=function(c){var u,f=(u=c.hints)===null||u===void 0?void 0:u.attributes;a.graph.forEachNode(function(m){return a.updateNode(m)});var h=!f||f.some(function(m){return s.has(m)});a.refresh({partialGraph:{nodes:o.nodes()},skipIndexation:!h,schedule:!0})},this.activeListeners.eachEdgeAttributesUpdatedGraphUpdate=function(c){var u,f=(u=c.hints)===null||u===void 0?void 0:u.attributes;a.graph.forEachEdge(function(m){return a.updateEdge(m)});var h=f&&["zIndex","type"].some(function(m){return f==null?void 0:f.includes(m)});a.refresh({partialGraph:{edges:o.edges()},skipIndexation:!h,schedule:!0})},this.activeListeners.addNodeGraphUpdate=function(c){var u=c.key;a.addNode(u),a.refresh({partialGraph:{nodes:[u]},skipIndexation:!1,schedule:!0})},this.activeListeners.updateNodeGraphUpdate=function(c){var u=c.key;a.refresh({partialGraph:{nodes:[u]},skipIndexation:!1,schedule:!0})},this.activeListeners.dropNodeGraphUpdate=function(c){var u=c.key;a.removeNode(u),a.refresh({schedule:!0})},this.activeListeners.addEdgeGraphUpdate=function(c){var u=c.key;a.addEdge(u),a.refresh({partialGraph:{edges:[u]},schedule:!0})},this.activeListeners.updateEdgeGraphUpdate=function(c){var u=c.key;a.refresh({partialGraph:{edges:[u]},skipIndexation:!1,schedule:!0})},this.activeListeners.dropEdgeGraphUpdate=function(c){var u=c.key;a.removeEdge(u),a.refresh({schedule:!0})},this.activeListeners.clearEdgesGraphUpdate=function(){a.clearEdgeState(),a.clearEdgeIndices(),a.refresh({schedule:!0})},this.activeListeners.clearGraphUpdate=function(){a.clearEdgeState(),a.clearNodeState(),a.clearEdgeIndices(),a.clearNodeIndices(),a.refresh({schedule:!0})},o.on("nodeAdded",this.activeListeners.addNodeGraphUpdate),o.on("nodeDropped",this.activeListeners.dropNodeGraphUpdate),o.on("nodeAttributesUpdated",this.activeListeners.updateNodeGraphUpdate),o.on("eachNodeAttributesUpdated",this.activeListeners.eachNodeAttributesUpdatedGraphUpdate),o.on("edgeAdded",this.activeListeners.addEdgeGraphUpdate),o.on("edgeDropped",this.activeListeners.dropEdgeGraphUpdate),o.on("edgeAttributesUpdated",this.activeListeners.updateEdgeGraphUpdate),o.on("eachEdgeAttributesUpdated",this.activeListeners.eachEdgeAttributesUpdatedGraphUpdate),o.on("edgesCleared",this.activeListeners.clearEdgesGraphUpdate),o.on("cleared",this.activeListeners.clearGraphUpdate),this}},{key:"unbindGraphHandlers",value:function(){var a=this.graph;a.removeListener("nodeAdded",this.activeListeners.addNodeGraphUpdate),a.removeListener("nodeDropped",this.activeListeners.dropNodeGraphUpdate),a.removeListener("nodeAttributesUpdated",this.activeListeners.updateNodeGraphUpdate),a.removeListener("eachNodeAttributesUpdated",this.activeListeners.eachNodeAttributesUpdatedGraphUpdate),a.removeListener("edgeAdded",this.activeListeners.addEdgeGraphUpdate),a.removeListener("edgeDropped",this.activeListeners.dropEdgeGraphUpdate),a.removeListener("edgeAttributesUpdated",this.activeListeners.updateEdgeGraphUpdate),a.removeListener("eachEdgeAttributesUpdated",this.activeListeners.eachEdgeAttributesUpdatedGraphUpdate),a.removeListener("edgesCleared",this.activeListeners.clearEdgesGraphUpdate),a.removeListener("cleared",this.activeListeners.clearGraphUpdate)}},{key:"getEdgeAtPoint",value:function(a,o){var s=q0(this.webGLContexts.edges,this.frameBuffers.edges,a,o,this.pixelRatio,this.pickingDownSizingRatio),c=V0.apply(void 0,cw(s)),u=this.itemIDsIndex[c];return u&&u.type==="edge"?u.id:null}},{key:"process",value:function(){var a=this;this.emit("beforeProcess");var o=this.graph,s=this.settings,c=this.getDimensions();if(this.nodeExtent=H4(this.graph),!this.settings.autoRescale){var u=c.width,f=c.height,h=this.nodeExtent,m=h.x,g=h.y;this.nodeExtent={x:[(m[0]+m[1])/2-u/2,(m[0]+m[1])/2+u/2],y:[(g[0]+g[1])/2-f/2,(g[0]+g[1])/2+f/2]}}this.normalizationFunction=ow(this.customBBox||this.nodeExtent);var y=new lw,b=Ks(y.getState(),c,this.getGraphDimensions(),this.getStagePadding());this.labelGrid.resizeAndClear(c,s.labelGridCellSize);for(var S={},E={},_={},N={},T=1,A=o.nodes(),D=0,k=A.length;D1&&arguments[1]!==void 0?arguments[1]:{},s=o.tolerance,c=s===void 0?0:s,u=o.boundaries,f=Le({},a),h=u||this.nodeExtent,m=jo(h.x,2),g=m[0],y=m[1],b=jo(h.y,2),S=b[0],E=b[1],_=[this.graphToViewport({x:g,y:S},{cameraState:a}),this.graphToViewport({x:y,y:S},{cameraState:a}),this.graphToViewport({x:g,y:E},{cameraState:a}),this.graphToViewport({x:y,y:E},{cameraState:a})],N=1/0,T=-1/0,A=1/0,D=-1/0;_.forEach(function(X){var ne=X.x,F=X.y;N=Math.min(N,ne),T=Math.max(T,ne),A=Math.min(A,F),D=Math.max(D,F)});var k=T-N,M=D-A,R=this.getDimensions(),U=R.width,L=R.height,I=0,q=0;if(k>=U?Tc&&(I=N-c):T>U+c?I=T-(U+c):N<-c&&(I=N+c),M>=L?Dc&&(q=A-c):D>L+c?q=D-(L+c):A<-c&&(q=A+c),I||q){var Y=this.viewportToFramedGraph({x:0,y:0},{cameraState:a}),B=this.viewportToFramedGraph({x:I,y:q},{cameraState:a});I=B.x-Y.x,q=B.y-Y.y,f.x+=I,f.y+=q}return f}},{key:"renderLabels",value:function(){if(!this.settings.renderLabels)return this;var a=this.camera.getState(),o=this.labelGrid.getLabelsToDisplay(a.ratio,this.settings.labelDensity);sw(o,this.nodesWithForcedLabels),this.displayedNodeLabels=new Set;for(var s=this.canvasContexts.labels,c=0,u=o.length;cthis.width+lG||y<-50||y>this.height+cG)){this.displayedNodeLabels.add(f);var S=this.settings.defaultDrawNodeLabel,E=this.nodePrograms[h.type],_=(E==null?void 0:E.drawLabel)||S;_(s,Le(Le({key:f},h),{},{size:b,x:g,y}),this.settings)}}}return this}},{key:"renderEdgeLabels",value:function(){if(!this.settings.renderEdgeLabels)return this;var a=this.canvasContexts.edgeLabels;a.clearRect(0,0,this.width,this.height);var o=sG({graph:this.graph,hoveredNode:this.hoveredNode,displayedNodeLabels:this.displayedNodeLabels,highlightedNodes:this.highlightedNodes});sw(o,this.edgesWithForcedLabels);for(var s=new Set,c=0,u=o.length;cthis.nodeZExtent[1]&&(this.nodeZExtent[1]=s.zIndex))}},{key:"updateNode",value:function(a){this.addNode(a);var o=this.nodeDataCache[a];this.normalizationFunction.applyTo(o)}},{key:"removeNode",value:function(a){delete this.nodeDataCache[a],delete this.nodeProgramIndex[a],this.highlightedNodes.delete(a),this.hoveredNode===a&&(this.hoveredNode=null),this.nodesWithForcedLabels.delete(a)}},{key:"addEdge",value:function(a){var o=Object.assign({},this.graph.getEdgeAttributes(a));this.settings.edgeReducer&&(o=this.settings.edgeReducer(a,o));var s=dG(this.settings,a,o);this.edgeDataCache[a]=s,this.edgesWithForcedLabels.delete(a),s.forceLabel&&!s.hidden&&this.edgesWithForcedLabels.add(a),this.settings.zIndex&&(s.zIndexthis.edgeZExtent[1]&&(this.edgeZExtent[1]=s.zIndex))}},{key:"updateEdge",value:function(a){this.addEdge(a)}},{key:"removeEdge",value:function(a){delete this.edgeDataCache[a],delete this.edgeProgramIndex[a],this.hoveredEdge===a&&(this.hoveredEdge=null),this.edgesWithForcedLabels.delete(a)}},{key:"clearNodeIndices",value:function(){this.labelGrid=new dw,this.nodeExtent={x:[0,1],y:[0,1]},this.nodeDataCache={},this.edgeProgramIndex={},this.nodesWithForcedLabels=new Set,this.nodeZExtent=[1/0,-1/0]}},{key:"clearEdgeIndices",value:function(){this.edgeDataCache={},this.edgeProgramIndex={},this.edgesWithForcedLabels=new Set,this.edgeZExtent=[1/0,-1/0]}},{key:"clearIndices",value:function(){this.clearEdgeIndices(),this.clearNodeIndices()}},{key:"clearNodeState",value:function(){this.displayedNodeLabels=new Set,this.highlightedNodes=new Set,this.hoveredNode=null}},{key:"clearEdgeState",value:function(){this.displayedEdgeLabels=new Set,this.highlightedNodes=new Set,this.hoveredEdge=null}},{key:"clearState",value:function(){this.clearEdgeState(),this.clearNodeState()}},{key:"addNodeToProgram",value:function(a,o,s){var c=this.nodeDataCache[a],u=this.nodePrograms[c.type];if(!u)throw new Error('Sigma: could not find a suitable program for node type "'.concat(c.type,'"!'));u.process(o,s,c),this.nodeProgramIndex[a]=s}},{key:"addEdgeToProgram",value:function(a,o,s){var c=this.edgeDataCache[a],u=this.edgePrograms[c.type];if(!u)throw new Error('Sigma: could not find a suitable program for edge type "'.concat(c.type,'"!'));var f=this.graph.extremities(a),h=this.nodeDataCache[f[0]],m=this.nodeDataCache[f[1]];u.process(o,s,h,m,c),this.edgeProgramIndex[a]=s}},{key:"getRenderParams",value:function(){return{matrix:this.matrix,invMatrix:this.invMatrix,width:this.width,height:this.height,pixelRatio:this.pixelRatio,zoomRatio:this.camera.ratio,cameraAngle:this.camera.angle,sizeRatio:1/this.scaleSize(),correctionRatio:this.correctionRatio,downSizingRatio:this.pickingDownSizingRatio,minEdgeThickness:this.settings.minEdgeThickness,antiAliasingFeather:this.settings.antiAliasingFeather}}},{key:"getStagePadding",value:function(){var a=this.settings,o=a.stagePadding,s=a.autoRescale;return s&&o||0}},{key:"createLayer",value:function(a,o){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(this.elements[a])throw new Error('Sigma: a layer named "'.concat(a,'" already exists'));var c=V4(o,{position:"absolute"},{class:"sigma-".concat(a)});return s.style&&Object.assign(c.style,s.style),this.elements[a]=c,"beforeLayer"in s&&s.beforeLayer?this.elements[s.beforeLayer].before(c):"afterLayer"in s&&s.afterLayer?this.elements[s.afterLayer].after(c):this.container.appendChild(c),c}},{key:"createCanvas",value:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.createLayer(a,"canvas",o)}},{key:"createCanvasContext",value:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=this.createCanvas(a,o),c={preserveDrawingBuffer:!1,antialias:!1};return this.canvasContexts[a]=s.getContext("2d",c),this}},{key:"createWebGLContext",value:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=(o==null?void 0:o.canvas)||this.createCanvas(a,o);o.hidden&&s.remove();var c=Le({preserveDrawingBuffer:!1,antialias:!1},o),u;u=s.getContext("webgl2",c),u||(u=s.getContext("webgl",c)),u||(u=s.getContext("experimental-webgl",c));var f=u;if(this.webGLContexts[a]=f,f.blendFunc(f.ONE,f.ONE_MINUS_SRC_ALPHA),o.picking){this.pickingLayers.add(a);var h=f.createFramebuffer();if(!h)throw new Error("Sigma: cannot create a new frame buffer for layer ".concat(a));this.frameBuffers[a]=h}return f}},{key:"killLayer",value:function(a){var o=this.elements[a];if(!o)throw new Error("Sigma: cannot kill layer ".concat(a,", which does not exist"));if(this.webGLContexts[a]){var s,c=this.webGLContexts[a];(s=c.getExtension("WEBGL_lose_context"))===null||s===void 0||s.loseContext(),delete this.webGLContexts[a]}else this.canvasContexts[a]&&delete this.canvasContexts[a];return o.remove(),delete this.elements[a],this}},{key:"getCamera",value:function(){return this.camera}},{key:"setCamera",value:function(a){this.unbindCameraHandlers(),this.camera=a,this.bindCameraHandlers()}},{key:"getContainer",value:function(){return this.container}},{key:"getGraph",value:function(){return this.graph}},{key:"setGraph",value:function(a){a!==this.graph&&(this.hoveredNode&&!a.hasNode(this.hoveredNode)&&(this.hoveredNode=null),this.hoveredEdge&&!a.hasEdge(this.hoveredEdge)&&(this.hoveredEdge=null),this.unbindGraphHandlers(),this.checkEdgesEventsFrame!==null&&(cancelAnimationFrame(this.checkEdgesEventsFrame),this.checkEdgesEventsFrame=null),this.graph=a,this.bindGraphHandlers(),this.refresh())}},{key:"getMouseCaptor",value:function(){return this.mouseCaptor}},{key:"getTouchCaptor",value:function(){return this.touchCaptor}},{key:"getDimensions",value:function(){return{width:this.width,height:this.height}}},{key:"getGraphDimensions",value:function(){var a=this.customBBox||this.nodeExtent;return{width:a.x[1]-a.x[0]||1,height:a.y[1]-a.y[0]||1}}},{key:"getNodeDisplayData",value:function(a){var o=this.nodeDataCache[a];return o?Object.assign({},o):void 0}},{key:"getEdgeDisplayData",value:function(a){var o=this.edgeDataCache[a];return o?Object.assign({},o):void 0}},{key:"getNodeDisplayedLabels",value:function(){return new Set(this.displayedNodeLabels)}},{key:"getEdgeDisplayedLabels",value:function(){return new Set(this.displayedEdgeLabels)}},{key:"getSettings",value:function(){return Le({},this.settings)}},{key:"getSetting",value:function(a){return this.settings[a]}},{key:"setSetting",value:function(a,o){var s=Le({},this.settings);return this.settings[a]=o,sp(this.settings),this.handleSettingsUpdate(s),this.scheduleRefresh(),this}},{key:"updateSetting",value:function(a,o){return this.setSetting(a,o(this.settings[a])),this}},{key:"setSettings",value:function(a){var o=Le({},this.settings);return this.settings=Le(Le({},this.settings),a),sp(this.settings),this.handleSettingsUpdate(o),this.scheduleRefresh(),this}},{key:"resize",value:function(a){var o=this.width,s=this.height;if(this.width=this.container.offsetWidth,this.height=this.container.offsetHeight,this.pixelRatio=aw(),this.width===0)if(this.settings.allowInvalidContainer)this.width=1;else throw new Error("Sigma: Container has no width. You can set the allowInvalidContainer setting to true to stop seeing this error.");if(this.height===0)if(this.settings.allowInvalidContainer)this.height=1;else throw new Error("Sigma: Container has no height. You can set the allowInvalidContainer setting to true to stop seeing this error.");if(!a&&o===this.width&&s===this.height)return this;for(var c in this.elements){var u=this.elements[c];u.style.width=this.width+"px",u.style.height=this.height+"px"}for(var f in this.canvasContexts)this.elements[f].setAttribute("width",this.width*this.pixelRatio+"px"),this.elements[f].setAttribute("height",this.height*this.pixelRatio+"px"),this.pixelRatio!==1&&this.canvasContexts[f].scale(this.pixelRatio,this.pixelRatio);for(var h in this.webGLContexts){this.elements[h].setAttribute("width",this.width*this.pixelRatio+"px"),this.elements[h].setAttribute("height",this.height*this.pixelRatio+"px");var m=this.webGLContexts[h];if(m.viewport(0,0,this.width*this.pixelRatio,this.height*this.pixelRatio),this.pickingLayers.has(h)){var g=this.textures[h];g&&m.deleteTexture(g)}}return this.emit("resize"),this}},{key:"clear",value:function(){return this.emit("beforeClear"),this.webGLContexts.nodes.bindFramebuffer(WebGLRenderingContext.FRAMEBUFFER,null),this.webGLContexts.nodes.clear(WebGLRenderingContext.COLOR_BUFFER_BIT),this.webGLContexts.edges.bindFramebuffer(WebGLRenderingContext.FRAMEBUFFER,null),this.webGLContexts.edges.clear(WebGLRenderingContext.COLOR_BUFFER_BIT),this.webGLContexts.hoverNodes.clear(WebGLRenderingContext.COLOR_BUFFER_BIT),this.canvasContexts.labels.clearRect(0,0,this.width,this.height),this.canvasContexts.hovers.clearRect(0,0,this.width,this.height),this.canvasContexts.edgeLabels.clearRect(0,0,this.width,this.height),this.emit("afterClear"),this}},{key:"refresh",value:function(a){var o=this,s=(a==null?void 0:a.skipIndexation)!==void 0?a==null?void 0:a.skipIndexation:!1,c=(a==null?void 0:a.schedule)!==void 0?a.schedule:!1,u=!a||!a.partialGraph;if(u)this.clearEdgeIndices(),this.clearNodeIndices(),this.graph.forEachNode(function(D){return o.addNode(D)}),this.graph.forEachEdge(function(D){return o.addEdge(D)});else{for(var f,h,m=((f=a.partialGraph)===null||f===void 0?void 0:f.nodes)||[],g=0,y=(m==null?void 0:m.length)||0;g1&&arguments[1]!==void 0?arguments[1]:{},s=!!o.cameraState||!!o.viewportDimensions||!!o.graphDimensions,c=o.matrix?o.matrix:s?Ks(o.cameraState||this.camera.getState(),o.viewportDimensions||this.getDimensions(),o.graphDimensions||this.getGraphDimensions(),o.padding||this.getStagePadding()):this.matrix,u=bm(c,a);return{x:(1+u.x)*this.width/2,y:(1-u.y)*this.height/2}}},{key:"viewportToFramedGraph",value:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=!!o.cameraState||!!o.viewportDimensions||!o.graphDimensions,c=o.matrix?o.matrix:s?Ks(o.cameraState||this.camera.getState(),o.viewportDimensions||this.getDimensions(),o.graphDimensions||this.getGraphDimensions(),o.padding||this.getStagePadding(),!0):this.invMatrix,u=bm(c,{x:a.x/this.width*2-1,y:1-a.y/this.height*2});return isNaN(u.x)&&(u.x=0),isNaN(u.y)&&(u.y=0),u}},{key:"viewportToGraph",value:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.normalizationFunction.inverse(this.viewportToFramedGraph(a,o))}},{key:"graphToViewport",value:function(a){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.framedGraphToViewport(this.normalizationFunction(a),o)}},{key:"getGraphToViewportRatio",value:function(){var a={x:0,y:0},o={x:1,y:1},s=Math.sqrt(Math.pow(a.x-o.x,2)+Math.pow(a.y-o.y,2)),c=this.graphToViewport(a),u=this.graphToViewport(o),f=Math.sqrt(Math.pow(c.x-u.x,2)+Math.pow(c.y-u.y,2));return f/s}},{key:"getBBox",value:function(){return this.nodeExtent}},{key:"getCustomBBox",value:function(){return this.customBBox}},{key:"setCustomBBox",value:function(a){return this.customBBox=a,this.scheduleRender(),this}},{key:"kill",value:function(){this.emit("kill"),this.removeAllListeners(),this.unbindCameraHandlers(),window.removeEventListener("resize",this.activeListeners.handleResize),this.mouseCaptor.kill(),this.touchCaptor.kill(),this.unbindGraphHandlers(),this.clearIndices(),this.clearState(),this.nodeDataCache={},this.edgeDataCache={},this.highlightedNodes.clear(),this.renderFrame&&(cancelAnimationFrame(this.renderFrame),this.renderFrame=null),this.renderHighlightedNodesFrame&&(cancelAnimationFrame(this.renderHighlightedNodesFrame),this.renderHighlightedNodesFrame=null);for(var a=this.container;a.firstChild;)a.removeChild(a.firstChild);this.canvasContexts={},this.webGLContexts={},this.elements={};for(var o in this.nodePrograms)this.nodePrograms[o].kill();for(var s in this.nodeHoverPrograms)this.nodeHoverPrograms[s].kill();for(var c in this.edgePrograms)this.edgePrograms[c].kill();this.nodePrograms={},this.nodeHoverPrograms={},this.edgePrograms={};for(var u in this.elements)this.killLayer(u)}},{key:"scaleSize",value:function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.camera.ratio;return a/this.settings.zoomToSizeRatioFunction(o)*(this.getSetting("itemSizesReference")==="positions"?o*this.graphToViewportRatio:1)}},{key:"getCanvases",value:function(){var a={};for(var o in this.elements)this.elements[o]instanceof HTMLCanvasElement&&(a[o]=this.elements[o]);return a}}])}(kg);const U_=w.createContext(null),hG=U_.Provider;function Ng(){const e=w.useContext(U_);if(e==null)throw new Error("No context provided: useSigmaContext() can only be used in a descendant of ");return e}function Kn(){return Ng().sigma}function B_(){const{sigma:e}=Ng();return w.useCallback(t=>{e&&Object.keys(t).forEach(n=>{e.setSetting(n,t[n])})},[e])}function pd(e){return new Set(Object.keys(e))}const fw=pd({clickNode:!0,rightClickNode:!0,downNode:!0,enterNode:!0,leaveNode:!0,doubleClickNode:!0,wheelNode:!0,clickEdge:!0,rightClickEdge:!0,downEdge:!0,enterEdge:!0,leaveEdge:!0,doubleClickEdge:!0,wheelEdge:!0,clickStage:!0,rightClickStage:!0,downStage:!0,doubleClickStage:!0,wheelStage:!0,beforeRender:!0,afterRender:!0,kill:!0,upStage:!0,upEdge:!0,upNode:!0,enterStage:!0,leaveStage:!0,resize:!0,afterClear:!0,afterProcess:!0,beforeClear:!0,beforeProcess:!0,moveBody:!0}),hw=pd({click:!0,rightClick:!0,doubleClick:!0,mouseup:!0,mousedown:!0,mousemove:!0,mousemovebody:!0,mouseleave:!0,mouseenter:!0,wheel:!0}),pw=pd({touchup:!0,touchdown:!0,touchmove:!0,touchmovebody:!0,tap:!0,doubletap:!0}),mw=pd({updated:!0});function I_(){const e=Kn(),t=B_(),[n,a]=w.useState({});return w.useEffect(()=>{if(!e||!n)return;const o=n,s=Object.keys(o);return s.forEach(c=>{const u=o[c];fw.has(c)&&e.on(c,u),hw.has(c)&&e.getMouseCaptor().on(c,u),pw.has(c)&&e.getTouchCaptor().on(c,u),mw.has(c)&&e.getCamera().on(c,u)}),()=>{e&&s.forEach(c=>{const u=o[c];fw.has(c)&&e.off(c,u),hw.has(c)&&e.getMouseCaptor().off(c,u),pw.has(c)&&e.getTouchCaptor().off(c,u),mw.has(c)&&e.getCamera().off(c,u)})}},[e,n,t]),a}function pG(){const e=Kn();return w.useCallback((t,n=!0)=>{e&&t&&(n&&e.getGraph().order>0&&e.getGraph().clear(),e.getGraph().import(t),e.refresh())},[e])}function Cl(e,t){if(e===t)return!0;if(typeof e=="object"&&e!=null&&typeof t=="object"&&t!=null){if(Object.keys(e).length!=Object.keys(t).length)return!1;for(const n in e)if(!Object.hasOwn(t,n)||!Cl(e[n],t[n]))return!1;return!0}return!1}function H_(e){const t=Kn(),[n,a]=w.useState(e||{});w.useEffect(()=>{a(h=>Cl(h,e||{})?h:e||{})},[e]);const o=w.useCallback(h=>{t.getCamera().animatedZoom(Object.assign(Object.assign({},n),h))},[t,n]),s=w.useCallback(h=>{t.getCamera().animatedUnzoom(Object.assign(Object.assign({},n),h))},[t,n]),c=w.useCallback(h=>{t.getCamera().animatedReset(Object.assign(Object.assign({},n),h))},[t,n]),u=w.useCallback((h,m)=>{t.getCamera().animate(h,Object.assign(Object.assign({},n),m))},[t,n]),f=w.useCallback((h,m)=>{const g=t.getNodeDisplayData(h);g?t.getCamera().animate(g,Object.assign(Object.assign({},n),m)):console.warn(`Node ${h} not found`)},[t,n]);return{zoomIn:o,zoomOut:s,reset:c,goto:u,gotoNode:f}}function mG(e){const t=Ng(),[n,a]=w.useState(!1),[o,s]=w.useState(t.container),c=w.useCallback(()=>a(u=>!u),[]);return w.useEffect(()=>(document.addEventListener("fullscreenchange",c),()=>document.removeEventListener("fullscreenchange",c)),[c]),w.useEffect(()=>{s(t.container)},[e,t.container]),{toggle:w.useCallback(()=>{var u;u=o,document.fullscreenElement!==u?u.requestFullscreen():document.exitFullscreen&&document.exitFullscreen()},[o]),isFullScreen:n}}const gG=w.forwardRef(({graph:e,id:t,className:n,style:a,settings:o={},children:s},c)=>{const u=w.useRef(null),f=w.useRef(null),h={className:`react-sigma ${n||""}`,id:t,style:a},[m,g]=w.useState(null),[y,b]=w.useState(o);w.useEffect(()=>{b(_=>Cl(_,o)?_:o)},[o]),w.useEffect(()=>{g(_=>{let N=null;if(f.current!==null){let T=new ft;e&&(T=typeof e=="function"?new e:e);let A=null;_&&(A=_.getCamera().getState(),_.kill()),N=new fG(T,f.current,y),A&&N.getCamera().setState(A)}return N})},[f,e,y]),w.useImperativeHandle(c,()=>m,[m]);const S=w.useMemo(()=>m&&u.current?{sigma:m,container:u.current}:null,[m,u]),E=S!==null?ve.createElement(hG,{value:S},s):null;return ve.createElement("div",Object.assign({},h,{ref:u}),ve.createElement("div",{className:"sigma-container",ref:f}),E)});var vG=` +precision mediump float; + +varying vec4 v_color; +varying float v_border; + +const float radius = 0.5; +const vec4 transparent = vec4(0.0, 0.0, 0.0, 0.0); + +void main(void) { + vec2 m = gl_PointCoord - vec2(0.5, 0.5); + float dist = radius - length(m); + + // No antialiasing for picking mode: + #ifdef PICKING_MODE + if (dist > v_border) + gl_FragColor = v_color; + else + gl_FragColor = transparent; + + #else + float t = 0.0; + if (dist > v_border) + t = 1.0; + else if (dist > 0.0) + t = dist / v_border; + + gl_FragColor = mix(transparent, v_color, t); + #endif +} +`,yG=vG,bG=` +attribute vec4 a_id; +attribute vec4 a_color; +attribute vec2 a_position; +attribute float a_size; + +uniform float u_sizeRatio; +uniform float u_pixelRatio; +uniform mat3 u_matrix; + +varying vec4 v_color; +varying float v_border; + +const float bias = 255.0 / 254.0; + +void main() { + gl_Position = vec4( + (u_matrix * vec3(a_position, 1)).xy, + 0, + 1 + ); + + // Multiply the point size twice: + // - x SCALING_RATIO to correct the canvas scaling + // - x 2 to correct the formulae + gl_PointSize = a_size / u_sizeRatio * u_pixelRatio * 2.0; + + v_border = (0.5 / a_size) * u_sizeRatio; + + #ifdef PICKING_MODE + // For picking mode, we use the ID as the color: + v_color = a_id; + #else + // For normal mode, we use the color: + v_color = a_color; + #endif + + v_color.a *= bias; +} +`,xG=bG,$_=WebGLRenderingContext,gw=$_.UNSIGNED_BYTE,vw=$_.FLOAT,wG=["u_sizeRatio","u_pixelRatio","u_matrix"],EG=function(e){function t(){return $t(this,t),En(this,t,arguments)}return Sn(t,e),Vt(t,[{key:"getDefinition",value:function(){return{VERTICES:1,VERTEX_SHADER_SOURCE:xG,FRAGMENT_SHADER_SOURCE:yG,METHOD:WebGLRenderingContext.POINTS,UNIFORMS:wG,ATTRIBUTES:[{name:"a_position",size:2,type:vw},{name:"a_size",size:1,type:vw},{name:"a_color",size:4,type:gw,normalized:!0},{name:"a_id",size:4,type:gw,normalized:!0}]}}},{key:"processVisibleItem",value:function(a,o,s){var c=this.array;c[o++]=s.x,c[o++]=s.y,c[o++]=s.size,c[o++]=Ar(s.color),c[o++]=a}},{key:"setUniforms",value:function(a,o){var s=a.sizeRatio,c=a.pixelRatio,u=a.matrix,f=o.gl,h=o.uniformLocations,m=h.u_sizeRatio,g=h.u_pixelRatio,y=h.u_matrix;f.uniform1f(g,c),f.uniform1f(m,s),f.uniformMatrix3fv(y,!1,u)}}])}(Rg),SG=` +attribute vec4 a_id; +attribute vec4 a_color; +attribute vec2 a_normal; +attribute float a_normalCoef; +attribute vec2 a_positionStart; +attribute vec2 a_positionEnd; +attribute float a_positionCoef; +attribute float a_sourceRadius; +attribute float a_targetRadius; +attribute float a_sourceRadiusCoef; +attribute float a_targetRadiusCoef; + +uniform mat3 u_matrix; +uniform float u_zoomRatio; +uniform float u_sizeRatio; +uniform float u_pixelRatio; +uniform float u_correctionRatio; +uniform float u_minEdgeThickness; +uniform float u_lengthToThicknessRatio; +uniform float u_feather; + +varying vec4 v_color; +varying vec2 v_normal; +varying float v_thickness; +varying float v_feather; + +const float bias = 255.0 / 254.0; + +void main() { + float minThickness = u_minEdgeThickness; + + vec2 normal = a_normal * a_normalCoef; + vec2 position = a_positionStart * (1.0 - a_positionCoef) + a_positionEnd * a_positionCoef; + + float normalLength = length(normal); + vec2 unitNormal = normal / normalLength; + + // These first computations are taken from edge.vert.glsl. Please read it to + // get better comments on what's happening: + float pixelsThickness = max(normalLength, minThickness * u_sizeRatio); + float webGLThickness = pixelsThickness * u_correctionRatio / u_sizeRatio; + + // Here, we move the point to leave space for the arrow heads: + // Source arrow head + float sourceRadius = a_sourceRadius * a_sourceRadiusCoef; + float sourceDirection = sign(sourceRadius); + float webGLSourceRadius = sourceDirection * sourceRadius * 2.0 * u_correctionRatio / u_sizeRatio; + float webGLSourceArrowHeadLength = webGLThickness * u_lengthToThicknessRatio * 2.0; + vec2 sourceCompensationVector = + vec2(-sourceDirection * unitNormal.y, sourceDirection * unitNormal.x) + * (webGLSourceRadius + webGLSourceArrowHeadLength); + + // Target arrow head + float targetRadius = a_targetRadius * a_targetRadiusCoef; + float targetDirection = sign(targetRadius); + float webGLTargetRadius = targetDirection * targetRadius * 2.0 * u_correctionRatio / u_sizeRatio; + float webGLTargetArrowHeadLength = webGLThickness * u_lengthToThicknessRatio * 2.0; + vec2 targetCompensationVector = + vec2(-targetDirection * unitNormal.y, targetDirection * unitNormal.x) + * (webGLTargetRadius + webGLTargetArrowHeadLength); + + // Here is the proper position of the vertex + gl_Position = vec4((u_matrix * vec3(position + unitNormal * webGLThickness + sourceCompensationVector + targetCompensationVector, 1)).xy, 0, 1); + + v_thickness = webGLThickness / u_zoomRatio; + + v_normal = unitNormal; + + v_feather = u_feather * u_correctionRatio / u_zoomRatio / u_pixelRatio * 2.0; + + #ifdef PICKING_MODE + // For picking mode, we use the ID as the color: + v_color = a_id; + #else + // For normal mode, we use the color: + v_color = a_color; + #endif + + v_color.a *= bias; +} +`,_G=SG,V_=WebGLRenderingContext,yw=V_.UNSIGNED_BYTE,Kr=V_.FLOAT,TG=["u_matrix","u_zoomRatio","u_sizeRatio","u_correctionRatio","u_pixelRatio","u_feather","u_minEdgeThickness","u_lengthToThicknessRatio"],CG={lengthToThicknessRatio:Tl.lengthToThicknessRatio};function q_(e){var t=Le(Le({},CG),{});return function(n){function a(){return $t(this,a),En(this,a,arguments)}return Sn(a,n),Vt(a,[{key:"getDefinition",value:function(){return{VERTICES:6,VERTEX_SHADER_SOURCE:_G,FRAGMENT_SHADER_SOURCE:Ag,METHOD:WebGLRenderingContext.TRIANGLES,UNIFORMS:TG,ATTRIBUTES:[{name:"a_positionStart",size:2,type:Kr},{name:"a_positionEnd",size:2,type:Kr},{name:"a_normal",size:2,type:Kr},{name:"a_color",size:4,type:yw,normalized:!0},{name:"a_id",size:4,type:yw,normalized:!0},{name:"a_sourceRadius",size:1,type:Kr},{name:"a_targetRadius",size:1,type:Kr}],CONSTANT_ATTRIBUTES:[{name:"a_positionCoef",size:1,type:Kr},{name:"a_normalCoef",size:1,type:Kr},{name:"a_sourceRadiusCoef",size:1,type:Kr},{name:"a_targetRadiusCoef",size:1,type:Kr}],CONSTANT_DATA:[[0,1,-1,0],[0,-1,1,0],[1,1,0,1],[1,1,0,1],[0,-1,1,0],[1,-1,0,-1]]}}},{key:"processVisibleItem",value:function(s,c,u,f,h){var m=h.size||1,g=u.x,y=u.y,b=f.x,S=f.y,E=Ar(h.color),_=b-g,N=S-y,T=u.size||1,A=f.size||1,D=_*_+N*N,k=0,M=0;D&&(D=1/Math.sqrt(D),k=-N*D*m,M=_*D*m);var R=this.array;R[c++]=g,R[c++]=y,R[c++]=b,R[c++]=S,R[c++]=k,R[c++]=M,R[c++]=E,R[c++]=s,R[c++]=T,R[c++]=A}},{key:"setUniforms",value:function(s,c){var u=c.gl,f=c.uniformLocations,h=f.u_matrix,m=f.u_zoomRatio,g=f.u_feather,y=f.u_pixelRatio,b=f.u_correctionRatio,S=f.u_sizeRatio,E=f.u_minEdgeThickness,_=f.u_lengthToThicknessRatio;u.uniformMatrix3fv(h,!1,s.matrix),u.uniform1f(m,s.zoomRatio),u.uniform1f(S,s.sizeRatio),u.uniform1f(b,s.correctionRatio),u.uniform1f(y,s.pixelRatio),u.uniform1f(g,s.antiAliasingFeather),u.uniform1f(E,s.minEdgeThickness),u.uniform1f(_,t.lengthToThicknessRatio)}}])}(Sl)}q_();function RG(e){return A_([q_(),ku(e),ku(Le(Le({},e),{},{extremity:"source"}))])}RG();function AG(e){if(Array.isArray(e))return e}function kG(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var a,o,s,c,u=[],f=!0,h=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(f=(a=s.call(n)).done)&&(u.push(a.value),u.length!==t);f=!0);}catch(m){h=!0,o=m}finally{try{if(!f&&n.return!=null&&(c=n.return(),Object(c)!==c))return}finally{if(h)throw o}}return u}}function wm(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n v_radius) + gl_FragColor = transparent; + else { + gl_FragColor = v_color; + gl_FragColor.a *= bias; + } + #else + // Sizes: +`).concat(t.flatMap(function(o,s){var c=o.size;if("fill"in c)return[];c=c;var u="attribute"in c?"v_borderSize_".concat(s+1):X0(c.value),f=(c.mode||IG)==="pixels"?"u_correctionRatio":"v_radius";return[" float borderSize_".concat(s+1," = ").concat(f," * ").concat(u,";")]}).join(` +`),` + // Now, let's split the remaining space between "fill" borders: + float fillBorderSize = (v_radius - (`).concat(t.flatMap(function(o,s){var c=o.size;return"fill"in c?[]:["borderSize_".concat(s+1)]}).join(" + "),") ) / ").concat(n,`; +`).concat(t.flatMap(function(o,s){var c=o.size;return"fill"in c?[" float borderSize_".concat(s+1," = fillBorderSize;")]:[]}).join(` +`),` + + // Finally, normalize all border sizes, to start from the full size and to end with the smallest: + float adjustedBorderSize_0 = v_radius; +`).concat(t.map(function(o,s){return" float adjustedBorderSize_".concat(s+1," = adjustedBorderSize_").concat(s," - borderSize_").concat(s+1,";")}).join(` +`),` + + // Colors: + vec4 borderColor_0 = transparent; +`).concat(t.map(function(o,s){var c=o.color,u=[];return"attribute"in c?u.push(" vec4 borderColor_".concat(s+1," = v_borderColor_").concat(s+1,";")):"transparent"in c?u.push(" vec4 borderColor_".concat(s+1," = vec4(0.0, 0.0, 0.0, 0.0);")):u.push(" vec4 borderColor_".concat(s+1," = u_borderColor_").concat(s+1,";")),u.push(" borderColor_".concat(s+1,".a *= bias;")),u.push(" if (borderSize_".concat(s+1," <= 1.0 * u_correctionRatio) { borderColor_").concat(s+1," = borderColor_").concat(s,"; }")),u.join(` +`)}).join(` +`),` + if (dist > adjustedBorderSize_0) { + gl_FragColor = borderColor_0; + } else `).concat(t.map(function(o,s){return"if (dist > adjustedBorderSize_".concat(s,` - aaBorder) { + gl_FragColor = mix(borderColor_`).concat(s+1,", borderColor_").concat(s,", (dist - adjustedBorderSize_").concat(s,` + aaBorder) / aaBorder); + } else if (dist > adjustedBorderSize_`).concat(s+1,`) { + gl_FragColor = borderColor_`).concat(s+1,`; + } else `)}).join(""),` { /* Nothing to add here */ } + #endif +} +`);return a}function qG(e){var t=e.borders,n=` +attribute vec2 a_position; +attribute float a_size; +attribute float a_angle; + +uniform mat3 u_matrix; +uniform float u_sizeRatio; +uniform float u_correctionRatio; + +varying vec2 v_diffVector; +varying float v_radius; + +#ifdef PICKING_MODE +attribute vec4 a_id; +varying vec4 v_color; +#else +`.concat(t.flatMap(function(a,o){var s=a.size;return"attribute"in s?["attribute float a_borderSize_".concat(o+1,";"),"varying float v_borderSize_".concat(o+1,";")]:[]}).join(` +`),` +`).concat(t.flatMap(function(a,o){var s=a.color;return"attribute"in s?["attribute vec4 a_borderColor_".concat(o+1,";"),"varying vec4 v_borderColor_".concat(o+1,";")]:[]}).join(` +`),` +#endif + +const float bias = 255.0 / 254.0; +const vec4 transparent = vec4(0.0, 0.0, 0.0, 0.0); + +void main() { + float size = a_size * u_correctionRatio / u_sizeRatio * 4.0; + vec2 diffVector = size * vec2(cos(a_angle), sin(a_angle)); + vec2 position = a_position + diffVector; + gl_Position = vec4( + (u_matrix * vec3(position, 1)).xy, + 0, + 1 + ); + + v_radius = size / 2.0; + v_diffVector = diffVector; + + #ifdef PICKING_MODE + v_color = a_id; + #else +`).concat(t.flatMap(function(a,o){var s=a.size;return"attribute"in s?[" v_borderSize_".concat(o+1," = a_borderSize_").concat(o+1,";")]:[]}).join(` +`),` +`).concat(t.flatMap(function(a,o){var s=a.color;return"attribute"in s?[" v_borderColor_".concat(o+1," = a_borderColor_").concat(o+1,";")]:[]}).join(` +`),` + #endif +} +`);return n}var K_=WebGLRenderingContext,ww=K_.UNSIGNED_BYTE,Jc=K_.FLOAT;function YG(e){var t,n=xw(xw({},HG),{}),a=n.borders,o=n.drawLabel,s=n.drawHover,c=["u_sizeRatio","u_correctionRatio","u_matrix"].concat(cp(a.flatMap(function(u,f){var h=u.color;return"value"in h?["u_borderColor_".concat(f+1)]:[]})));return t=function(u){GG(f,u);function f(){var h;OG(this,f);for(var m=arguments.length,g=new Array(m),y=0;ye.length)&&(t=e.length);for(var n=0,a=Array(t);n$){var W="…";for(E=E+W,O=s.measureText(E).width;O>$&&E.length>1;)E=E.slice(0,-2)+W,O=s.measureText(E).width;if(E.length<4)return}for(var re={},de=0,ie=E.length;de{const n=this.nodeIdMap[t];if(n!==void 0)return this.nodes[n]});Xr(this,"getEdge",(t,n=!0)=>{const a=n?this.edgeDynamicIdMap[t]:this.edgeIdMap[t];if(a!==void 0)return this.edges[a]});Xr(this,"buildDynamicMap",()=>{this.edgeDynamicIdMap={};for(let t=0;t({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null,moveToSelectedNode:!1,rawGraph:null,sigmaGraph:null,setSelectedNode:(t,n)=>e({selectedNode:t,moveToSelectedNode:n}),setFocusedNode:t=>e({focusedNode:t}),setSelectedEdge:t=>e({selectedEdge:t}),setFocusedEdge:t=>e({focusedEdge:t}),clearSelection:()=>e({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null}),reset:()=>e({selectedNode:null,focusedNode:null,selectedEdge:null,focusedEdge:null,rawGraph:null,sigmaGraph:null,moveToSelectedNode:!1}),setRawGraph:t=>e({rawGraph:t}),setSigmaGraph:t=>e({sigmaGraph:t}),setMoveToSelectedNode:t=>e({moveToSelectedNode:t})})),ct=Km(p3),m3=({node:e,move:t})=>{const n=Kn(),{gotoNode:a}=H_();return w.useEffect(()=>{if(e)return n.getGraph().setNodeAttribute(e,"highlighted",!0),t&&(a(e),ct.getState().setMoveToSelectedNode(!1)),()=>{n.getGraph().setNodeAttribute(e,"highlighted",!1)}},[e,t,n,a]),null};function Yo(e,t){const n=Kn(),a=w.useRef(t);return Cl(a.current,t)||(a.current=t),{positions:w.useCallback(()=>a.current?e(n.getGraph(),a.current):{},[n,a,e]),assign:w.useCallback(()=>{a.current&&e.assign(n.getGraph(),a.current)},[n,a,e])}}function jg(e,t){const n=Kn(),[a,o]=w.useState(!1),[s,c]=w.useState(null),u=w.useRef(t);return Cl(u.current,t)||(u.current=t),w.useEffect(()=>{o(!1);let f=null;return u.current&&(f=new e(n.getGraph(),u.current)),c(f),()=>{f!==null&&f.kill()}},[n,u,c,o,e]),{stop:w.useCallback(()=>{s&&(s.stop(),o(!1))},[s,o]),start:w.useCallback(()=>{s&&(s.start(),o(!0))},[s,o]),kill:w.useCallback(()=>{s&&s.kill(),o(!1)},[s,o]),isRunning:a}}var dp,_w;function Rl(){if(_w)return dp;_w=1;function e(n){return!n||typeof n!="object"||typeof n=="function"||Array.isArray(n)||n instanceof Set||n instanceof Map||n instanceof RegExp||n instanceof Date}function t(n,a){n=n||{};var o={};for(var s in a){var c=n[s],u=a[s];if(!e(u)){o[s]=t(c,u);continue}c===void 0?o[s]=u:o[s]=c}return o}return dp=t,dp}var fp,Tw;function g3(){if(Tw)return fp;Tw=1;function e(n){return function(a,o){return a+Math.floor(n()*(o-a+1))}}var t=e(Math.random);return t.createRandom=e,fp=t,fp}var hp,Cw;function v3(){if(Cw)return hp;Cw=1;var e=g3().createRandom;function t(a){var o=e(a);return function(s){for(var c=s.length,u=c-1,f=-1;++f0},o.prototype.addChild=function(R,U){this.children[R]=U,++this.countChildren},o.prototype.getChild=function(R){if(!this.children.hasOwnProperty(R)){var U=new o;this.children[R]=U,++this.countChildren}return this.children[R]},o.prototype.applyPositionToChildren=function(){if(this.hasChildren()){var R=this;for(var U in R.children){var L=R.children[U];L.x+=R.x,L.y+=R.y,L.applyPositionToChildren()}}};function s(R,U,L){for(var I in U.children){var q=U.children[I];q.hasChildren()?s(R,q,L):L[q.id]={x:q.x,y:q.y}}}function c(R,U){var L=R.r-U.r,I=U.x-R.x,q=U.y-R.y;return L<0||L*L0&&L*L>I*I+q*q}function f(R,U){for(var L=0;Lne?(q=(F+ne-Y)/(2*F),X=Math.sqrt(Math.max(0,ne/F-q*q)),L.x=R.x-q*I-X*B,L.y=R.y-q*B+X*I):(q=(F+Y-ne)/(2*F),X=Math.sqrt(Math.max(0,Y/F-q*q)),L.x=U.x+q*I-X*B,L.y=U.y+q*B+X*I)):(L.x=U.x+L.r,L.y=U.y)}function N(R,U){var L=R.r+U.r-1e-6,I=U.x-R.x,q=U.y-R.y;return L>0&&L*L>I*I+q*q}function T(R,U){var L=R.length;if(L===0)return 0;var I,q,Y,B,X,ne,F,z,j,K;if(I=R[0],I.x=0,I.y=0,L<=1)return I.r;if(q=R[1],I.x=-q.r,q.x=I.r,q.y=0,L<=2)return I.r+q.r;Y=R[2],_(q,I,Y),I=new o(null,null,null,null,I),q=new o(null,null,null,null,q),Y=new o(null,null,null,null,Y),I.next=Y.previous=q,q.next=I.previous=Y,Y.next=q.previous=I;e:for(ne=3;ne"u"?o:h};typeof o=="function"&&(c=o);var u=function(h){return c(h[a])},f=function(){return c(void 0)};return typeof a=="string"?(s.fromAttributes=u,s.fromGraph=function(h,m){return u(h.getNodeAttributes(m))},s.fromEntry=function(h,m){return u(m)}):typeof a=="function"?(s.fromAttributes=function(){throw new Error("graphology-utils/getters/createNodeValueGetter: irrelevant usage.")},s.fromGraph=function(h,m){return c(a(m,h.getNodeAttributes(m)))},s.fromEntry=function(h,m){return c(a(h,m))}):(s.fromAttributes=f,s.fromGraph=f,s.fromEntry=f),s}function n(a,o){var s={},c=function(h){return typeof h>"u"?o:h};typeof o=="function"&&(c=o);var u=function(h){return c(h[a])},f=function(){return c(void 0)};return typeof a=="string"?(s.fromAttributes=u,s.fromGraph=function(h,m){return u(h.getEdgeAttributes(m))},s.fromEntry=function(h,m){return u(m)},s.fromPartialEntry=s.fromEntry,s.fromMinimalEntry=s.fromEntry):typeof a=="function"?(s.fromAttributes=function(){throw new Error("graphology-utils/getters/createEdgeValueGetter: irrelevant usage.")},s.fromGraph=function(h,m){var g=h.extremities(m);return c(a(m,h.getEdgeAttributes(m),g[0],g[1],h.getNodeAttributes(g[0]),h.getNodeAttributes(g[1]),h.isUndirected(m)))},s.fromEntry=function(h,m,g,y,b,S,E){return c(a(h,m,g,y,b,S,E))},s.fromPartialEntry=function(h,m,g,y){return c(a(h,m,g,y))},s.fromMinimalEntry=function(h,m){return c(a(h,m))}):(s.fromAttributes=f,s.fromGraph=f,s.fromEntry=f,s.fromMinimalEntry=f),s}return Js.createNodeValueGetter=t,Js.createEdgeValueGetter=n,Js.createEdgeWeightGetter=function(a){return n(a,e)},Js}var gp,Dw;function aT(){if(Dw)return gp;Dw=1;const{createNodeValueGetter:e,createEdgeValueGetter:t}=Lg();return gp=function(a,o,s){const{nodeXAttribute:c,nodeYAttribute:u}=s,{attraction:f,repulsion:h,gravity:m,inertia:g,maxMove:y}=s.settings;let{shouldSkipNode:b,shouldSkipEdge:S,isNodeFixed:E}=s;E=e(E),b=e(b,!1),S=t(S,!1);const _=a.filterNodes((A,D)=>!b.fromEntry(A,D)),N=_.length;for(let A=0;A{if(k===M||b.fromEntry(k,R)||b.fromEntry(M,U)||S.fromEntry(A,D,k,M,R,U,L))return;const I=o[k],q=o[M],Y=q.x-I.x,B=q.y-I.y,X=Math.sqrt(Y*Y+B*B)||1,ne=f*X*Y,F=f*X*B;I.dx+=ne,I.dy+=F,q.dx-=ne,q.dy-=F}),m)for(let A=0;Ay&&(k.dx*=y/M,k.dy*=y/M),E.fromGraph(a,D)?k.fixed=!0:(k.x+=k.dx,k.y+=k.dy,k.fixed=!1)}return{converged:T}},gp}var eu={},Nw;function iT(){return Nw||(Nw=1,eu.assignLayoutChanges=function(e,t,n){const{nodeXAttribute:a,nodeYAttribute:o}=n;e.updateEachNodeAttributes((s,c)=>{const u=t[s];return!u||u.fixed||(c[a]=u.x,c[o]=u.y),c},{attributes:["x","y"]})},eu.collectLayoutChanges=function(e){const t={};for(const n in e){const a=e[n];t[n]={x:a.x,y:a.y}}return t}),eu}var vp,Ow;function oT(){return Ow||(Ow=1,vp={nodeXAttribute:"x",nodeYAttribute:"y",isNodeFixed:"fixed",shouldSkipNode:null,shouldSkipEdge:null,settings:{attraction:5e-4,repulsion:.1,gravity:1e-4,inertia:.6,maxMove:200}}),vp}var yp,jw;function C3(){if(jw)return yp;jw=1;const e=kr(),t=Rl(),n=aT(),a=iT(),o=oT();function s(u,f,h){if(!e(f))throw new Error("graphology-layout-force: the given graph is not a valid graphology instance.");typeof h=="number"?h={maxIterations:h}:h=h||{};const m=h.maxIterations;if(h=t(h,o),typeof m!="number"||m<=0)throw new Error("graphology-layout-force: you should provide a positive number of maximum iterations.");const g={};let y=null,b;for(b=0;bthis.runFrame())},s.prototype.stop=function(){return this.running=!1,this.frameID!==null&&(window.cancelAnimationFrame(this.frameID),this.frameID=null),this},s.prototype.start=function(){if(this.killed)throw new Error("graphology-layout-force/worker.start: layout was killed.");this.running||(this.running=!0,this.runFrame())},s.prototype.kill=function(){this.stop(),delete this.nodeStates,this.killed=!0},bp=s,bp}var D3=k3();const N3=dn(D3);function O3(e={maxIterations:100}){return Yo(A3,e)}function j3(e={}){return jg(N3,e)}var xp,zw;function L3(){if(zw)return xp;zw=1;var e=0,t=1,n=2,a=3,o=4,s=5,c=6,u=7,f=8,h=9,m=0,g=1,y=2,b=0,S=1,E=2,_=3,N=4,T=5,A=6,D=7,k=8,M=3,R=10,U=3,L=9,I=10;return xp=function(Y,B,X){var ne,F,z,j,K,G,H,O,$,W,re=B.length,de=X.length,ie=Y.adjustSizes,oe=Y.barnesHutTheta*Y.barnesHutTheta,Te,he,Se,be,je,Ce,ye,J=[];for(z=0;zAe?(pe-=(me-Ae)/2,Ee=pe+me):(le-=(Ae-me)/2,_e=le+Ae),J[0+b]=-1,J[0+S]=(le+_e)/2,J[0+E]=(pe+Ee)/2,J[0+_]=Math.max(_e-le,Ee-pe),J[0+N]=-1,J[0+T]=-1,J[0+A]=0,J[0+D]=0,J[0+k]=0,ne=1,z=0;z=0){B[z+e]=0)if(Ce=Math.pow(B[z+e]-J[F+D],2)+Math.pow(B[z+t]-J[F+k],2),W=J[F+_],4*W*W/Ce0?(ye=he*B[z+c]*J[F+A]/Ce,B[z+n]+=Se*ye,B[z+a]+=be*ye):Ce<0&&(ye=-he*B[z+c]*J[F+A]/Math.sqrt(Ce),B[z+n]+=Se*ye,B[z+a]+=be*ye):Ce>0&&(ye=he*B[z+c]*J[F+A]/Ce,B[z+n]+=Se*ye,B[z+a]+=be*ye),F=J[F+N],F<0)break;continue}else{F=J[F+T];continue}else{if(G=J[F+b],G>=0&&G!==z&&(Se=B[z+e]-B[G+e],be=B[z+t]-B[G+t],Ce=Se*Se+be*be,ie===!0?Ce>0?(ye=he*B[z+c]*B[G+c]/Ce,B[z+n]+=Se*ye,B[z+a]+=be*ye):Ce<0&&(ye=-he*B[z+c]*B[G+c]/Math.sqrt(Ce),B[z+n]+=Se*ye,B[z+a]+=be*ye):Ce>0&&(ye=he*B[z+c]*B[G+c]/Ce,B[z+n]+=Se*ye,B[z+a]+=be*ye)),F=J[F+N],F<0)break;continue}else for(he=Y.scalingRatio,j=0;j0?(ye=he*B[j+c]*B[K+c]/Ce/Ce,B[j+n]+=Se*ye,B[j+a]+=be*ye,B[K+n]-=Se*ye,B[K+a]-=be*ye):Ce<0&&(ye=100*he*B[j+c]*B[K+c],B[j+n]+=Se*ye,B[j+a]+=be*ye,B[K+n]-=Se*ye,B[K+a]-=be*ye)):(Ce=Math.sqrt(Se*Se+be*be),Ce>0&&(ye=he*B[j+c]*B[K+c]/Ce/Ce,B[j+n]+=Se*ye,B[j+a]+=be*ye,B[K+n]-=Se*ye,B[K+a]-=be*ye));for($=Y.gravity/Y.scalingRatio,he=Y.scalingRatio,z=0;z0&&(ye=he*B[z+c]*$):Ce>0&&(ye=he*B[z+c]*$/Ce),B[z+n]-=Se*ye,B[z+a]-=be*ye;for(he=1*(Y.outboundAttractionDistribution?Te:1),H=0;H0&&(ye=-he*je*Math.log(1+Ce)/Ce/B[j+c]):Ce>0&&(ye=-he*je*Math.log(1+Ce)/Ce):Y.outboundAttractionDistribution?Ce>0&&(ye=-he*je/B[j+c]):Ce>0&&(ye=-he*je)):(Ce=Math.sqrt(Math.pow(Se,2)+Math.pow(be,2)),Y.linLogMode?Y.outboundAttractionDistribution?Ce>0&&(ye=-he*je*Math.log(1+Ce)/Ce/B[j+c]):Ce>0&&(ye=-he*je*Math.log(1+Ce)/Ce):Y.outboundAttractionDistribution?(Ce=1,ye=-he*je/B[j+c]):(Ce=1,ye=-he*je)),Ce>0&&(B[j+n]+=Se*ye,B[j+a]+=be*ye,B[K+n]-=Se*ye,B[K+a]-=be*ye);var Oe,He,it,Tt,bt,qt;if(ie===!0)for(z=0;zI&&(B[z+n]=B[z+n]*I/Oe,B[z+a]=B[z+a]*I/Oe),He=B[z+c]*Math.sqrt((B[z+o]-B[z+n])*(B[z+o]-B[z+n])+(B[z+s]-B[z+a])*(B[z+s]-B[z+a])),it=Math.sqrt((B[z+o]+B[z+n])*(B[z+o]+B[z+n])+(B[z+s]+B[z+a])*(B[z+s]+B[z+a]))/2,Tt=.1*Math.log(1+it)/(1+Math.sqrt(He)),bt=B[z+e]+B[z+n]*(Tt/Y.slowDown),B[z+e]=bt,qt=B[z+t]+B[z+a]*(Tt/Y.slowDown),B[z+t]=qt);else for(z=0;z=0)?{message:"the `scalingRatio` setting should be a number >= 0."}:"strongGravityMode"in n&&typeof n.strongGravityMode!="boolean"?{message:"the `strongGravityMode` setting should be a boolean."}:"gravity"in n&&!(typeof n.gravity=="number"&&n.gravity>=0)?{message:"the `gravity` setting should be a number >= 0."}:"slowDown"in n&&!(typeof n.slowDown=="number"||n.slowDown>=0)?{message:"the `slowDown` setting should be a number >= 0."}:"barnesHutOptimize"in n&&typeof n.barnesHutOptimize!="boolean"?{message:"the `barnesHutOptimize` setting should be a boolean."}:"barnesHutTheta"in n&&!(typeof n.barnesHutTheta=="number"&&n.barnesHutTheta>=0)?{message:"the `barnesHutTheta` setting should be a number >= 0."}:null},Zr.graphToByteArrays=function(n,a){var o=n.order,s=n.size,c={},u,f=new Float32Array(o*e),h=new Float32Array(s*t);return u=0,n.forEachNode(function(m,g){c[m]=u,f[u]=g.x,f[u+1]=g.y,f[u+2]=0,f[u+3]=0,f[u+4]=0,f[u+5]=0,f[u+6]=1,f[u+7]=1,f[u+8]=g.size||1,f[u+9]=g.fixed?1:0,u+=e}),u=0,n.forEachEdge(function(m,g,y,b,S,E,_){var N=c[y],T=c[b],A=a(m,g,y,b,S,E,_);f[N+6]+=A,f[T+6]+=A,h[u]=N,h[u+1]=T,h[u+2]=A,u+=t}),{nodes:f,edges:h}},Zr.assignLayoutChanges=function(n,a,o){var s=0;n.updateEachNodeAttributes(function(c,u){return u.x=a[s],u.y=a[s+1],s+=e,o?o(c,u):u})},Zr.readGraphPositions=function(n,a){var o=0;n.forEachNode(function(s,c){a[o]=c.x,a[o+1]=c.y,o+=e})},Zr.collectLayoutChanges=function(n,a,o){for(var s=n.nodes(),c={},u=0,f=0,h=a.length;u2e3,strongGravityMode:!0,gravity:.05,scalingRatio:10,slowDown:1+Math.log(h)}}var u=s.bind(null,!1);return u.assign=s.bind(null,!0),u.inferSettings=c,Ep=u,Ep}var M3=z3();const P3=dn(M3);var Sp,Fw;function G3(){return Fw||(Fw=1,Sp=function(){var t,n,a={};(function(){var s=0,c=1,u=2,f=3,h=4,m=5,g=6,y=7,b=8,S=9,E=0,_=1,N=2,T=0,A=1,D=2,k=3,M=4,R=5,U=6,L=7,I=8,q=3,Y=10,B=3,X=9,ne=10;a.exports=function(z,j,K){var G,H,O,$,W,re,de,ie,oe,Te,he=j.length,Se=K.length,be=z.adjustSizes,je=z.barnesHutTheta*z.barnesHutTheta,Ce,ye,J,le,_e,pe,Ee,te=[];for(O=0;Obt?(me-=(Tt-bt)/2,Ae=me+Tt):(Fe-=(bt-Tt)/2,Pe=Fe+bt),te[0+T]=-1,te[0+A]=(Fe+Pe)/2,te[0+D]=(me+Ae)/2,te[0+k]=Math.max(Pe-Fe,Ae-me),te[0+M]=-1,te[0+R]=-1,te[0+U]=0,te[0+L]=0,te[0+I]=0,G=1,O=0;O=0){j[O+s]=0)if(pe=Math.pow(j[O+s]-te[H+L],2)+Math.pow(j[O+c]-te[H+I],2),Te=te[H+k],4*Te*Te/pe0?(Ee=ye*j[O+g]*te[H+U]/pe,j[O+u]+=J*Ee,j[O+f]+=le*Ee):pe<0&&(Ee=-ye*j[O+g]*te[H+U]/Math.sqrt(pe),j[O+u]+=J*Ee,j[O+f]+=le*Ee):pe>0&&(Ee=ye*j[O+g]*te[H+U]/pe,j[O+u]+=J*Ee,j[O+f]+=le*Ee),H=te[H+M],H<0)break;continue}else{H=te[H+R];continue}else{if(re=te[H+T],re>=0&&re!==O&&(J=j[O+s]-j[re+s],le=j[O+c]-j[re+c],pe=J*J+le*le,be===!0?pe>0?(Ee=ye*j[O+g]*j[re+g]/pe,j[O+u]+=J*Ee,j[O+f]+=le*Ee):pe<0&&(Ee=-ye*j[O+g]*j[re+g]/Math.sqrt(pe),j[O+u]+=J*Ee,j[O+f]+=le*Ee):pe>0&&(Ee=ye*j[O+g]*j[re+g]/pe,j[O+u]+=J*Ee,j[O+f]+=le*Ee)),H=te[H+M],H<0)break;continue}else for(ye=z.scalingRatio,$=0;$0?(Ee=ye*j[$+g]*j[W+g]/pe/pe,j[$+u]+=J*Ee,j[$+f]+=le*Ee,j[W+u]-=J*Ee,j[W+f]-=le*Ee):pe<0&&(Ee=100*ye*j[$+g]*j[W+g],j[$+u]+=J*Ee,j[$+f]+=le*Ee,j[W+u]-=J*Ee,j[W+f]-=le*Ee)):(pe=Math.sqrt(J*J+le*le),pe>0&&(Ee=ye*j[$+g]*j[W+g]/pe/pe,j[$+u]+=J*Ee,j[$+f]+=le*Ee,j[W+u]-=J*Ee,j[W+f]-=le*Ee));for(oe=z.gravity/z.scalingRatio,ye=z.scalingRatio,O=0;O0&&(Ee=ye*j[O+g]*oe):pe>0&&(Ee=ye*j[O+g]*oe/pe),j[O+u]-=J*Ee,j[O+f]-=le*Ee;for(ye=1*(z.outboundAttractionDistribution?Ce:1),de=0;de0&&(Ee=-ye*_e*Math.log(1+pe)/pe/j[$+g]):pe>0&&(Ee=-ye*_e*Math.log(1+pe)/pe):z.outboundAttractionDistribution?pe>0&&(Ee=-ye*_e/j[$+g]):pe>0&&(Ee=-ye*_e)):(pe=Math.sqrt(Math.pow(J,2)+Math.pow(le,2)),z.linLogMode?z.outboundAttractionDistribution?pe>0&&(Ee=-ye*_e*Math.log(1+pe)/pe/j[$+g]):pe>0&&(Ee=-ye*_e*Math.log(1+pe)/pe):z.outboundAttractionDistribution?(pe=1,Ee=-ye*_e/j[$+g]):(pe=1,Ee=-ye*_e)),pe>0&&(j[$+u]+=J*Ee,j[$+f]+=le*Ee,j[W+u]-=J*Ee,j[W+f]-=le*Ee);var qt,fn,Gt,rt,Tn,xt;if(be===!0)for(O=0;One&&(j[O+u]=j[O+u]*ne/qt,j[O+f]=j[O+f]*ne/qt),fn=j[O+g]*Math.sqrt((j[O+h]-j[O+u])*(j[O+h]-j[O+u])+(j[O+m]-j[O+f])*(j[O+m]-j[O+f])),Gt=Math.sqrt((j[O+h]+j[O+u])*(j[O+h]+j[O+u])+(j[O+m]+j[O+f])*(j[O+m]+j[O+f]))/2,rt=.1*Math.log(1+Gt)/(1+Math.sqrt(fn)),Tn=j[O+s]+j[O+u]*(rt/z.slowDown),j[O+s]=Tn,xt=j[O+c]+j[O+f]*(rt/z.slowDown),j[O+c]=xt);else for(O=0;O1&&Se.has(Ee))&&(j>1&&Se.add(Ee),ye=f[je+e],le=f[je+t],pe=f[je+n],te=ye-Ce,Fe=le-J,Pe=Math.sqrt(te*te+Fe*Fe),me=Pe<_e*m+h+(pe*m+h),me&&(D=!1,je=je/a|0,Pe>0?(R[je]+=te/Pe*(1+_e),U[je]+=Fe/Pe*(1+_e)):(R[je]+=B*s(),U[je]+=X*s())));for(S=0,E=0;S1&&ye.has(me))&&(O>1&&ye.add(me),pe=y[le+o],te=y[le+s],Pe=y[le+c],Ae=pe-_e,Oe=te-Ee,He=Math.sqrt(Ae*Ae+Oe*Oe),it=He0?(q[le]+=Ae/He*(1+Fe),Y[le]+=Oe/He*(1+Fe)):(q[le]+=z*h(),Y[le]+=j*h())));for(T=0,A=0;T=0;)g=Cm(e,t,n,a,h+1,s+1,c),g>m&&(h===o?g*=Ww:l5.test(e.charAt(h-1))?(g*=a5,b=e.slice(o,h-1).match(c5),b&&o>0&&(g*=Math.pow(Op,b.length))):u5.test(e.charAt(h-1))?(g*=r5,S=e.slice(o,h-1).match(fT),S&&o>0&&(g*=Math.pow(Op,S.length))):(g*=i5,o>0&&(g*=Math.pow(Op,h-o))),e.charAt(h)!==t.charAt(s)&&(g*=o5)),(gg&&(g=y*Np)),g>m&&(m=g),h=n.indexOf(f,h+1);return c[u]=m,m}function Xw(e){return e.toLowerCase().replace(fT," ")}function d5(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,Cm(e,t,Xw(e),Xw(t),0,0,{})}var zg="Dialog",[hT,n6]=fr(zg),[f5,hr]=hT(zg),pT=e=>{const{__scopeDialog:t,children:n,open:a,defaultOpen:o,onOpenChange:s,modal:c=!0}=e,u=w.useRef(null),f=w.useRef(null),[h=!1,m]=oa({prop:a,defaultProp:o,onChange:s});return x.jsx(f5,{scope:t,triggerRef:u,contentRef:f,contentId:an(),titleId:an(),descriptionId:an(),open:h,onOpenChange:m,onOpenToggle:w.useCallback(()=>m(g=>!g),[m]),modal:c,children:n})};pT.displayName=zg;var mT="DialogTrigger",gT=w.forwardRef((e,t)=>{const{__scopeDialog:n,...a}=e,o=hr(mT,n),s=at(t,o.triggerRef);return x.jsx(Ie.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":Gg(o.open),...a,ref:s,onClick:Be(e.onClick,o.onOpenToggle)})});gT.displayName=mT;var Mg="DialogPortal",[h5,vT]=hT(Mg,{forceMount:void 0}),yT=e=>{const{__scopeDialog:t,forceMount:n,children:a,container:o}=e,s=hr(Mg,t);return x.jsx(h5,{scope:t,forceMount:n,children:w.Children.map(a,c=>x.jsx(Ln,{present:n||s.open,children:x.jsx(nd,{asChild:!0,container:o,children:c})}))})};yT.displayName=Mg;var ju="DialogOverlay",bT=w.forwardRef((e,t)=>{const n=vT(ju,e.__scopeDialog),{forceMount:a=n.forceMount,...o}=e,s=hr(ju,e.__scopeDialog);return s.modal?x.jsx(Ln,{present:a||s.open,children:x.jsx(p5,{...o,ref:t})}):null});bT.displayName=ju;var p5=w.forwardRef((e,t)=>{const{__scopeDialog:n,...a}=e,o=hr(ju,n);return x.jsx(ad,{as:Ua,allowPinchZoom:!0,shards:[o.contentRef],children:x.jsx(Ie.div,{"data-state":Gg(o.open),...a,ref:t,style:{pointerEvents:"auto",...a.style}})})}),Ci="DialogContent",xT=w.forwardRef((e,t)=>{const n=vT(Ci,e.__scopeDialog),{forceMount:a=n.forceMount,...o}=e,s=hr(Ci,e.__scopeDialog);return x.jsx(Ln,{present:a||s.open,children:s.modal?x.jsx(m5,{...o,ref:t}):x.jsx(g5,{...o,ref:t})})});xT.displayName=Ci;var m5=w.forwardRef((e,t)=>{const n=hr(Ci,e.__scopeDialog),a=w.useRef(null),o=at(t,n.contentRef,a);return w.useEffect(()=>{const s=a.current;if(s)return mg(s)},[]),x.jsx(wT,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Be(e.onCloseAutoFocus,s=>{var c;s.preventDefault(),(c=n.triggerRef.current)==null||c.focus()}),onPointerDownOutside:Be(e.onPointerDownOutside,s=>{const c=s.detail.originalEvent,u=c.button===0&&c.ctrlKey===!0;(c.button===2||u)&&s.preventDefault()}),onFocusOutside:Be(e.onFocusOutside,s=>s.preventDefault())})}),g5=w.forwardRef((e,t)=>{const n=hr(Ci,e.__scopeDialog),a=w.useRef(!1),o=w.useRef(!1);return x.jsx(wT,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var c,u;(c=e.onCloseAutoFocus)==null||c.call(e,s),s.defaultPrevented||(a.current||(u=n.triggerRef.current)==null||u.focus(),s.preventDefault()),a.current=!1,o.current=!1},onInteractOutside:s=>{var f,h;(f=e.onInteractOutside)==null||f.call(e,s),s.defaultPrevented||(a.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const c=s.target;((h=n.triggerRef.current)==null?void 0:h.contains(c))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),wT=w.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:s,...c}=e,u=hr(Ci,n),f=w.useRef(null),h=at(t,f);return ng(),x.jsxs(x.Fragment,{children:[x.jsx(Zu,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:o,onUnmountAutoFocus:s,children:x.jsx(bl,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":Gg(u.open),...c,ref:h,onDismiss:()=>u.onOpenChange(!1)})}),x.jsxs(x.Fragment,{children:[x.jsx(v5,{titleId:u.titleId}),x.jsx(b5,{contentRef:f,descriptionId:u.descriptionId})]})]})}),Pg="DialogTitle",ET=w.forwardRef((e,t)=>{const{__scopeDialog:n,...a}=e,o=hr(Pg,n);return x.jsx(Ie.h2,{id:o.titleId,...a,ref:t})});ET.displayName=Pg;var ST="DialogDescription",_T=w.forwardRef((e,t)=>{const{__scopeDialog:n,...a}=e,o=hr(ST,n);return x.jsx(Ie.p,{id:o.descriptionId,...a,ref:t})});_T.displayName=ST;var TT="DialogClose",CT=w.forwardRef((e,t)=>{const{__scopeDialog:n,...a}=e,o=hr(TT,n);return x.jsx(Ie.button,{type:"button",...a,ref:t,onClick:Be(e.onClick,()=>o.onOpenChange(!1))})});CT.displayName=TT;function Gg(e){return e?"open":"closed"}var RT="DialogTitleWarning",[r6,AT]=YO(RT,{contentName:Ci,titleName:Pg,docsSlug:"dialog"}),v5=({titleId:e})=>{const t=AT(RT),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. + +If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. + +For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return w.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},y5="DialogDescriptionWarning",b5=({contentRef:e,descriptionId:t})=>{const a=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${AT(y5).contentName}}.`;return w.useEffect(()=>{var s;const o=(s=e.current)==null?void 0:s.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(a))},[a,e,t]),null},kT=pT,x5=gT,DT=yT,Fg=bT,Ug=xT,NT=ET,OT=_T,w5=CT,jp={exports:{}},Lp={};/** + * @license React + * use-sync-external-store-shim.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Kw;function E5(){if(Kw)return Lp;Kw=1;var e=$u();function t(g,y){return g===y&&(g!==0||1/g===1/y)||g!==g&&y!==y}var n=typeof Object.is=="function"?Object.is:t,a=e.useState,o=e.useEffect,s=e.useLayoutEffect,c=e.useDebugValue;function u(g,y){var b=y(),S=a({inst:{value:b,getSnapshot:y}}),E=S[0].inst,_=S[1];return s(function(){E.value=b,E.getSnapshot=y,f(E)&&_({inst:E})},[g,b,y]),o(function(){return f(E)&&_({inst:E}),g(function(){f(E)&&_({inst:E})})},[g]),c(b),b}function f(g){var y=g.getSnapshot;g=g.value;try{var b=y();return!n(g,b)}catch{return!0}}function h(g,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:u;return Lp.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,Lp}var Zw;function S5(){return Zw||(Zw=1,jp.exports=E5()),jp.exports}var _5=S5(),el='[cmdk-group=""]',zp='[cmdk-group-items=""]',T5='[cmdk-group-heading=""]',Bg='[cmdk-item=""]',Qw=`${Bg}:not([aria-disabled="true"])`,Rm="cmdk-item-select",bi="data-value",C5=(e,t,n)=>d5(e,t,n),jT=w.createContext(void 0),Al=()=>w.useContext(jT),LT=w.createContext(void 0),Ig=()=>w.useContext(LT),zT=w.createContext(void 0),MT=w.forwardRef((e,t)=>{let n=So(()=>{var O,$;return{search:"",value:($=(O=e.value)!=null?O:e.defaultValue)!=null?$:"",filtered:{count:0,items:new Map,groups:new Set}}}),a=So(()=>new Set),o=So(()=>new Map),s=So(()=>new Map),c=So(()=>new Set),u=PT(e),{label:f,children:h,value:m,onValueChange:g,filter:y,shouldFilter:b,loop:S,disablePointerSelection:E=!1,vimBindings:_=!0,...N}=e,T=an(),A=an(),D=an(),k=w.useRef(null),M=P5();Ri(()=>{if(m!==void 0){let O=m.trim();n.current.value=O,R.emit()}},[m]),Ri(()=>{M(6,B)},[]);let R=w.useMemo(()=>({subscribe:O=>(c.current.add(O),()=>c.current.delete(O)),snapshot:()=>n.current,setState:(O,$,W)=>{var re,de,ie;if(!Object.is(n.current[O],$)){if(n.current[O]=$,O==="search")Y(),I(),M(1,q);else if(O==="value"&&(W||M(5,B),((re=u.current)==null?void 0:re.value)!==void 0)){let oe=$??"";(ie=(de=u.current).onValueChange)==null||ie.call(de,oe);return}R.emit()}},emit:()=>{c.current.forEach(O=>O())}}),[]),U=w.useMemo(()=>({value:(O,$,W)=>{var re;$!==((re=s.current.get(O))==null?void 0:re.value)&&(s.current.set(O,{value:$,keywords:W}),n.current.filtered.items.set(O,L($,W)),M(2,()=>{I(),R.emit()}))},item:(O,$)=>(a.current.add(O),$&&(o.current.has($)?o.current.get($).add(O):o.current.set($,new Set([O]))),M(3,()=>{Y(),I(),n.current.value||q(),R.emit()}),()=>{s.current.delete(O),a.current.delete(O),n.current.filtered.items.delete(O);let W=X();M(4,()=>{Y(),(W==null?void 0:W.getAttribute("id"))===O&&q(),R.emit()})}),group:O=>(o.current.has(O)||o.current.set(O,new Set),()=>{s.current.delete(O),o.current.delete(O)}),filter:()=>u.current.shouldFilter,label:f||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:T,inputId:D,labelId:A,listInnerRef:k}),[]);function L(O,$){var W,re;let de=(re=(W=u.current)==null?void 0:W.filter)!=null?re:C5;return O?de(O,n.current.search,$):0}function I(){if(!n.current.search||u.current.shouldFilter===!1)return;let O=n.current.filtered.items,$=[];n.current.filtered.groups.forEach(re=>{let de=o.current.get(re),ie=0;de.forEach(oe=>{let Te=O.get(oe);ie=Math.max(Te,ie)}),$.push([re,ie])});let W=k.current;ne().sort((re,de)=>{var ie,oe;let Te=re.getAttribute("id"),he=de.getAttribute("id");return((ie=O.get(he))!=null?ie:0)-((oe=O.get(Te))!=null?oe:0)}).forEach(re=>{let de=re.closest(zp);de?de.appendChild(re.parentElement===de?re:re.closest(`${zp} > *`)):W.appendChild(re.parentElement===W?re:re.closest(`${zp} > *`))}),$.sort((re,de)=>de[1]-re[1]).forEach(re=>{var de;let ie=(de=k.current)==null?void 0:de.querySelector(`${el}[${bi}="${encodeURIComponent(re[0])}"]`);ie==null||ie.parentElement.appendChild(ie)})}function q(){let O=ne().find(W=>W.getAttribute("aria-disabled")!=="true"),$=O==null?void 0:O.getAttribute(bi);R.setState("value",$||void 0)}function Y(){var O,$,W,re;if(!n.current.search||u.current.shouldFilter===!1){n.current.filtered.count=a.current.size;return}n.current.filtered.groups=new Set;let de=0;for(let ie of a.current){let oe=($=(O=s.current.get(ie))==null?void 0:O.value)!=null?$:"",Te=(re=(W=s.current.get(ie))==null?void 0:W.keywords)!=null?re:[],he=L(oe,Te);n.current.filtered.items.set(ie,he),he>0&&de++}for(let[ie,oe]of o.current)for(let Te of oe)if(n.current.filtered.items.get(Te)>0){n.current.filtered.groups.add(ie);break}n.current.filtered.count=de}function B(){var O,$,W;let re=X();re&&(((O=re.parentElement)==null?void 0:O.firstChild)===re&&((W=($=re.closest(el))==null?void 0:$.querySelector(T5))==null||W.scrollIntoView({block:"nearest"})),re.scrollIntoView({block:"nearest"}))}function X(){var O;return(O=k.current)==null?void 0:O.querySelector(`${Bg}[aria-selected="true"]`)}function ne(){var O;return Array.from(((O=k.current)==null?void 0:O.querySelectorAll(Qw))||[])}function F(O){let $=ne()[O];$&&R.setState("value",$.getAttribute(bi))}function z(O){var $;let W=X(),re=ne(),de=re.findIndex(oe=>oe===W),ie=re[de+O];($=u.current)!=null&&$.loop&&(ie=de+O<0?re[re.length-1]:de+O===re.length?re[0]:re[de+O]),ie&&R.setState("value",ie.getAttribute(bi))}function j(O){let $=X(),W=$==null?void 0:$.closest(el),re;for(;W&&!re;)W=O>0?z5(W,el):M5(W,el),re=W==null?void 0:W.querySelector(Qw);re?R.setState("value",re.getAttribute(bi)):z(O)}let K=()=>F(ne().length-1),G=O=>{O.preventDefault(),O.metaKey?K():O.altKey?j(1):z(1)},H=O=>{O.preventDefault(),O.metaKey?F(0):O.altKey?j(-1):z(-1)};return w.createElement(Ie.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:O=>{var $;if(($=N.onKeyDown)==null||$.call(N,O),!O.defaultPrevented)switch(O.key){case"n":case"j":{_&&O.ctrlKey&&G(O);break}case"ArrowDown":{G(O);break}case"p":case"k":{_&&O.ctrlKey&&H(O);break}case"ArrowUp":{H(O);break}case"Home":{O.preventDefault(),F(0);break}case"End":{O.preventDefault(),K();break}case"Enter":if(!O.nativeEvent.isComposing&&O.keyCode!==229){O.preventDefault();let W=X();if(W){let re=new Event(Rm);W.dispatchEvent(re)}}}}},w.createElement("label",{"cmdk-label":"",htmlFor:U.inputId,id:U.labelId,style:F5},f),md(e,O=>w.createElement(LT.Provider,{value:R},w.createElement(jT.Provider,{value:U},O))))}),R5=w.forwardRef((e,t)=>{var n,a;let o=an(),s=w.useRef(null),c=w.useContext(zT),u=Al(),f=PT(e),h=(a=(n=f.current)==null?void 0:n.forceMount)!=null?a:c==null?void 0:c.forceMount;Ri(()=>{if(!h)return u.item(o,c==null?void 0:c.id)},[h]);let m=GT(o,s,[e.value,e.children,s],e.keywords),g=Ig(),y=Ai(M=>M.value&&M.value===m.current),b=Ai(M=>h||u.filter()===!1?!0:M.search?M.filtered.items.get(o)>0:!0);w.useEffect(()=>{let M=s.current;if(!(!M||e.disabled))return M.addEventListener(Rm,S),()=>M.removeEventListener(Rm,S)},[b,e.onSelect,e.disabled]);function S(){var M,R;E(),(R=(M=f.current).onSelect)==null||R.call(M,m.current)}function E(){g.setState("value",m.current,!0)}if(!b)return null;let{disabled:_,value:N,onSelect:T,forceMount:A,keywords:D,...k}=e;return w.createElement(Ie.div,{ref:ul([s,t]),...k,id:o,"cmdk-item":"",role:"option","aria-disabled":!!_,"aria-selected":!!y,"data-disabled":!!_,"data-selected":!!y,onPointerMove:_||u.getDisablePointerSelection()?void 0:E,onClick:_?void 0:S},e.children)}),A5=w.forwardRef((e,t)=>{let{heading:n,children:a,forceMount:o,...s}=e,c=an(),u=w.useRef(null),f=w.useRef(null),h=an(),m=Al(),g=Ai(b=>o||m.filter()===!1?!0:b.search?b.filtered.groups.has(c):!0);Ri(()=>m.group(c),[]),GT(c,u,[e.value,e.heading,f]);let y=w.useMemo(()=>({id:c,forceMount:o}),[o]);return w.createElement(Ie.div,{ref:ul([u,t]),...s,"cmdk-group":"",role:"presentation",hidden:g?void 0:!0},n&&w.createElement("div",{ref:f,"cmdk-group-heading":"","aria-hidden":!0,id:h},n),md(e,b=>w.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?h:void 0},w.createElement(zT.Provider,{value:y},b))))}),k5=w.forwardRef((e,t)=>{let{alwaysRender:n,...a}=e,o=w.useRef(null),s=Ai(c=>!c.search);return!n&&!s?null:w.createElement(Ie.div,{ref:ul([o,t]),...a,"cmdk-separator":"",role:"separator"})}),D5=w.forwardRef((e,t)=>{let{onValueChange:n,...a}=e,o=e.value!=null,s=Ig(),c=Ai(m=>m.search),u=Ai(m=>m.value),f=Al(),h=w.useMemo(()=>{var m;let g=(m=f.listInnerRef.current)==null?void 0:m.querySelector(`${Bg}[${bi}="${encodeURIComponent(u)}"]`);return g==null?void 0:g.getAttribute("id")},[]);return w.useEffect(()=>{e.value!=null&&s.setState("search",e.value)},[e.value]),w.createElement(Ie.input,{ref:t,...a,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":f.listId,"aria-labelledby":f.labelId,"aria-activedescendant":h,id:f.inputId,type:"text",value:o?e.value:c,onChange:m=>{o||s.setState("search",m.target.value),n==null||n(m.target.value)}})}),N5=w.forwardRef((e,t)=>{let{children:n,label:a="Suggestions",...o}=e,s=w.useRef(null),c=w.useRef(null),u=Al();return w.useEffect(()=>{if(c.current&&s.current){let f=c.current,h=s.current,m,g=new ResizeObserver(()=>{m=requestAnimationFrame(()=>{let y=f.offsetHeight;h.style.setProperty("--cmdk-list-height",y.toFixed(1)+"px")})});return g.observe(f),()=>{cancelAnimationFrame(m),g.unobserve(f)}}},[]),w.createElement(Ie.div,{ref:ul([s,t]),...o,"cmdk-list":"",role:"listbox","aria-label":a,id:u.listId},md(e,f=>w.createElement("div",{ref:ul([c,u.listInnerRef]),"cmdk-list-sizer":""},f)))}),O5=w.forwardRef((e,t)=>{let{open:n,onOpenChange:a,overlayClassName:o,contentClassName:s,container:c,...u}=e;return w.createElement(kT,{open:n,onOpenChange:a},w.createElement(DT,{container:c},w.createElement(Fg,{"cmdk-overlay":"",className:o}),w.createElement(Ug,{"aria-label":e.label,"cmdk-dialog":"",className:s},w.createElement(MT,{ref:t,...u}))))}),j5=w.forwardRef((e,t)=>Ai(n=>n.filtered.count===0)?w.createElement(Ie.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),L5=w.forwardRef((e,t)=>{let{progress:n,children:a,label:o="Loading...",...s}=e;return w.createElement(Ie.div,{ref:t,...s,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":o},md(e,c=>w.createElement("div",{"aria-hidden":!0},c)))}),_n=Object.assign(MT,{List:N5,Item:R5,Input:D5,Group:A5,Separator:k5,Dialog:O5,Empty:j5,Loading:L5});function z5(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function M5(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function PT(e){let t=w.useRef(e);return Ri(()=>{t.current=e}),t}var Ri=typeof window>"u"?w.useEffect:w.useLayoutEffect;function So(e){let t=w.useRef();return t.current===void 0&&(t.current=e()),t}function ul(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}function Ai(e){let t=Ig(),n=()=>e(t.snapshot());return _5.useSyncExternalStore(t.subscribe,n,n)}function GT(e,t,n,a=[]){let o=w.useRef(),s=Al();return Ri(()=>{var c;let u=(()=>{var h;for(let m of n){if(typeof m=="string")return m.trim();if(typeof m=="object"&&"current"in m)return m.current?(h=m.current.textContent)==null?void 0:h.trim():o.current}})(),f=a.map(h=>h.trim());s.value(e,u,f),(c=t.current)==null||c.setAttribute(bi,u),o.current=u}),o}var P5=()=>{let[e,t]=w.useState(),n=So(()=>new Map);return Ri(()=>{n.current.forEach(a=>a()),n.current=new Map},[e]),(a,o)=>{n.current.set(a,o),t({})}};function G5(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function md({asChild:e,children:t},n){return e&&w.isValidElement(t)?w.cloneElement(G5(t),{ref:t.ref},n(t.props.children)):n(t)}var F5={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const FT=kT,UT=x5,U5=DT,BT=w.forwardRef(({className:e,...t},n)=>x.jsx(Fg,{ref:n,className:Me("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",e),...t}));BT.displayName=Fg.displayName;const Hg=w.forwardRef(({className:e,children:t,...n},a)=>x.jsxs(U5,{children:[x.jsx(BT,{}),x.jsxs(Ug,{ref:a,className:Me("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",e),...n,children:[t,x.jsxs(w5,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[x.jsx(OE,{className:"h-4 w-4"}),x.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Hg.displayName=Ug.displayName;const $g=({className:e,...t})=>x.jsx("div",{className:Me("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});$g.displayName="DialogHeader";const Vg=w.forwardRef(({className:e,...t},n)=>x.jsx(NT,{ref:n,className:Me("text-lg leading-none font-semibold tracking-tight",e),...t}));Vg.displayName=NT.displayName;const qg=w.forwardRef(({className:e,...t},n)=>x.jsx(OT,{ref:n,className:Me("text-muted-foreground text-sm",e),...t}));qg.displayName=OT.displayName;const gd=w.forwardRef(({className:e,...t},n)=>x.jsx(_n,{ref:n,className:Me("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t}));gd.displayName=_n.displayName;const Yg=w.forwardRef(({className:e,...t},n)=>x.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[x.jsx(NO,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),x.jsx(_n.Input,{ref:n,className:Me("placeholder:text-muted-foreground flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));Yg.displayName=_n.Input.displayName;const vd=w.forwardRef(({className:e,...t},n)=>x.jsx(_n.List,{ref:n,className:Me("max-h-[300px] overflow-x-hidden overflow-y-auto",e),...t}));vd.displayName=_n.List.displayName;const Wg=w.forwardRef((e,t)=>x.jsx(_n.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));Wg.displayName=_n.Empty.displayName;const Wo=w.forwardRef(({className:e,...t},n)=>x.jsx(_n.Group,{ref:n,className:Me("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t}));Wo.displayName=_n.Group.displayName;const B5=w.forwardRef(({className:e,...t},n)=>x.jsx(_n.Separator,{ref:n,className:Me("bg-border -mx-1 h-px",e),...t}));B5.displayName=_n.Separator.displayName;const Xo=w.forwardRef(({className:e,...t},n)=>x.jsx(_n.Item,{ref:n,className:Me("data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));Xo.displayName=_n.Item.displayName;const I5=({layout:e,autoRunFor:t})=>{const n=Kn(),{stop:a,start:o,isRunning:s}=e;return w.useEffect(()=>{if(!n)return;let c=null;return t!==void 0&&t>-1&&n.getGraph().order>0&&(o(),c=t>0?window.setTimeout(()=>{a()},t):null),()=>{a(),c&&clearTimeout(c)}},[t,o,a,n]),x.jsx(_t,{size:"icon",onClick:()=>s?a():o(),tooltip:s?"Stop the layout animation":"Start the layout animation",variant:_r,children:s?x.jsx(TO,{}):x.jsx(RO,{})})},H5=()=>{const e=Kn(),[t,n]=w.useState("Circular"),[a,o]=w.useState(!1),s=T3(),c=w3(),u=n5(),f=Z3({settings:{margin:1}}),h=O3({maxIterations:20}),m=cT({iterations:20}),g=Q3(),y=j3(),b=I3(),S=w.useMemo(()=>({Circular:{layout:s},Circlepack:{layout:c},Random:{layout:u},Noverlaps:{layout:f,worker:g},"Force Directed":{layout:h,worker:y},"Force Atlas":{layout:m,worker:b}}),[c,s,h,m,f,u,y,g,b]),E=w.useCallback(_=>{console.debug(_);const{positions:N}=S[_].layout;U4(e.getGraph(),N(),{duration:500}),n(_)},[S,e]);return x.jsxs(x.Fragment,{children:[x.jsx("div",{children:S[t]&&"worker"in S[t]&&x.jsx(I5,{layout:S[t].worker})}),x.jsx("div",{children:x.jsxs(id,{open:a,onOpenChange:o,children:[x.jsx(od,{asChild:!0,children:x.jsx(_t,{size:"icon",variant:_r,onClick:()=>o(_=>!_),tooltip:"Layout Graph",children:x.jsx(pO,{})})}),x.jsx(El,{side:"right",align:"center",className:"p-1",children:x.jsx(gd,{children:x.jsx(vd,{children:x.jsx(Wo,{children:Object.keys(S).map(_=>x.jsx(Xo,{onSelect:()=>{E(_)},className:"cursor-pointer text-xs",children:_},_))})})})})]})})]})};var mu={exports:{}},$5=mu.exports,Jw;function V5(){return Jw||(Jw=1,function(e){(function(t,n,a){function o(f){var h=this,m=u();h.next=function(){var g=2091639*h.s0+h.c*23283064365386963e-26;return h.s0=h.s1,h.s1=h.s2,h.s2=g-(h.c=g|0)},h.c=1,h.s0=m(" "),h.s1=m(" "),h.s2=m(" "),h.s0-=m(f),h.s0<0&&(h.s0+=1),h.s1-=m(f),h.s1<0&&(h.s1+=1),h.s2-=m(f),h.s2<0&&(h.s2+=1),m=null}function s(f,h){return h.c=f.c,h.s0=f.s0,h.s1=f.s1,h.s2=f.s2,h}function c(f,h){var m=new o(f),g=h&&h.state,y=m.next;return y.int32=function(){return m.next()*4294967296|0},y.double=function(){return y()+(y()*2097152|0)*11102230246251565e-32},y.quick=y,g&&(typeof g=="object"&&s(g,m),y.state=function(){return s(m,{})}),y}function u(){var f=4022871197,h=function(m){m=String(m);for(var g=0;g>>0,y-=f,y*=f,f=y>>>0,y-=f,f+=y*4294967296}return(f>>>0)*23283064365386963e-26};return h}n&&n.exports?n.exports=c:this.alea=c})($5,e)}(mu)),mu.exports}var gu={exports:{}},q5=gu.exports,e1;function Y5(){return e1||(e1=1,function(e){(function(t,n,a){function o(u){var f=this,h="";f.x=0,f.y=0,f.z=0,f.w=0,f.next=function(){var g=f.x^f.x<<11;return f.x=f.y,f.y=f.z,f.z=f.w,f.w^=f.w>>>19^g^g>>>8},u===(u|0)?f.x=u:h+=u;for(var m=0;m>>0)/4294967296};return g.double=function(){do var y=h.next()>>>11,b=(h.next()>>>0)/4294967296,S=(y+b)/(1<<21);while(S===0);return S},g.int32=h.next,g.quick=g,m&&(typeof m=="object"&&s(m,h),g.state=function(){return s(h,{})}),g}n&&n.exports?n.exports=c:this.xor128=c})(q5,e)}(gu)),gu.exports}var vu={exports:{}},W5=vu.exports,t1;function X5(){return t1||(t1=1,function(e){(function(t,n,a){function o(u){var f=this,h="";f.next=function(){var g=f.x^f.x>>>2;return f.x=f.y,f.y=f.z,f.z=f.w,f.w=f.v,(f.d=f.d+362437|0)+(f.v=f.v^f.v<<4^(g^g<<1))|0},f.x=0,f.y=0,f.z=0,f.w=0,f.v=0,u===(u|0)?f.x=u:h+=u;for(var m=0;m>>4),f.next()}function s(u,f){return f.x=u.x,f.y=u.y,f.z=u.z,f.w=u.w,f.v=u.v,f.d=u.d,f}function c(u,f){var h=new o(u),m=f&&f.state,g=function(){return(h.next()>>>0)/4294967296};return g.double=function(){do var y=h.next()>>>11,b=(h.next()>>>0)/4294967296,S=(y+b)/(1<<21);while(S===0);return S},g.int32=h.next,g.quick=g,m&&(typeof m=="object"&&s(m,h),g.state=function(){return s(h,{})}),g}n&&n.exports?n.exports=c:this.xorwow=c})(W5,e)}(vu)),vu.exports}var yu={exports:{}},K5=yu.exports,n1;function Z5(){return n1||(n1=1,function(e){(function(t,n,a){function o(u){var f=this;f.next=function(){var m=f.x,g=f.i,y,b;return y=m[g],y^=y>>>7,b=y^y<<24,y=m[g+1&7],b^=y^y>>>10,y=m[g+3&7],b^=y^y>>>3,y=m[g+4&7],b^=y^y<<7,y=m[g+7&7],y=y^y<<13,b^=y^y<<9,m[g]=b,f.i=g+1&7,b};function h(m,g){var y,b=[];if(g===(g|0))b[0]=g;else for(g=""+g,y=0;y0;--y)m.next()}h(f,u)}function s(u,f){return f.x=u.x.slice(),f.i=u.i,f}function c(u,f){u==null&&(u=+new Date);var h=new o(u),m=f&&f.state,g=function(){return(h.next()>>>0)/4294967296};return g.double=function(){do var y=h.next()>>>11,b=(h.next()>>>0)/4294967296,S=(y+b)/(1<<21);while(S===0);return S},g.int32=h.next,g.quick=g,m&&(m.x&&s(m,h),g.state=function(){return s(h,{})}),g}n&&n.exports?n.exports=c:this.xorshift7=c})(K5,e)}(yu)),yu.exports}var bu={exports:{}},Q5=bu.exports,r1;function J5(){return r1||(r1=1,function(e){(function(t,n,a){function o(u){var f=this;f.next=function(){var m=f.w,g=f.X,y=f.i,b,S;return f.w=m=m+1640531527|0,S=g[y+34&127],b=g[y=y+1&127],S^=S<<13,b^=b<<17,S^=S>>>15,b^=b>>>12,S=g[y]=S^b,f.i=y,S+(m^m>>>16)|0};function h(m,g){var y,b,S,E,_,N=[],T=128;for(g===(g|0)?(b=g,g=null):(g=g+"\0",b=0,T=Math.max(T,g.length)),S=0,E=-32;E>>15,b^=b<<4,b^=b>>>13,E>=0&&(_=_+1640531527|0,y=N[E&127]^=b+_,S=y==0?S+1:0);for(S>=128&&(N[(g&&g.length||0)&127]=-1),S=127,E=4*128;E>0;--E)b=N[S+34&127],y=N[S=S+1&127],b^=b<<13,y^=y<<17,b^=b>>>15,y^=y>>>12,N[S]=b^y;m.w=_,m.X=N,m.i=S}h(f,u)}function s(u,f){return f.i=u.i,f.w=u.w,f.X=u.X.slice(),f}function c(u,f){u==null&&(u=+new Date);var h=new o(u),m=f&&f.state,g=function(){return(h.next()>>>0)/4294967296};return g.double=function(){do var y=h.next()>>>11,b=(h.next()>>>0)/4294967296,S=(y+b)/(1<<21);while(S===0);return S},g.int32=h.next,g.quick=g,m&&(m.X&&s(m,h),g.state=function(){return s(h,{})}),g}n&&n.exports?n.exports=c:this.xor4096=c})(Q5,e)}(bu)),bu.exports}var xu={exports:{}},eF=xu.exports,a1;function tF(){return a1||(a1=1,function(e){(function(t,n,a){function o(u){var f=this,h="";f.next=function(){var g=f.b,y=f.c,b=f.d,S=f.a;return g=g<<25^g>>>7^y,y=y-b|0,b=b<<24^b>>>8^S,S=S-g|0,f.b=g=g<<20^g>>>12^y,f.c=y=y-b|0,f.d=b<<16^y>>>16^S,f.a=S-g|0},f.a=0,f.b=0,f.c=-1640531527,f.d=1367130551,u===Math.floor(u)?(f.a=u/4294967296|0,f.b=u|0):h+=u;for(var m=0;m>>0)/4294967296};return g.double=function(){do var y=h.next()>>>11,b=(h.next()>>>0)/4294967296,S=(y+b)/(1<<21);while(S===0);return S},g.int32=h.next,g.quick=g,m&&(typeof m=="object"&&s(m,h),g.state=function(){return s(h,{})}),g}n&&n.exports?n.exports=c:this.tychei=c})(eF,e)}(xu)),xu.exports}var wu={exports:{}};const nF={},rF=Object.freeze(Object.defineProperty({__proto__:null,default:nF},Symbol.toStringTag,{value:"Module"})),aF=HA(rF);var iF=wu.exports,i1;function oF(){return i1||(i1=1,function(e){(function(t,n,a){var o=256,s=6,c=52,u="random",f=a.pow(o,s),h=a.pow(2,c),m=h*2,g=o-1,y;function b(D,k,M){var R=[];k=k==!0?{entropy:!0}:k||{};var U=N(_(k.entropy?[D,A(n)]:D??T(),3),R),L=new S(R),I=function(){for(var q=L.g(s),Y=f,B=0;q=m;)q/=2,Y/=2,B>>>=1;return(q+B)/Y};return I.int32=function(){return L.g(4)|0},I.quick=function(){return L.g(4)/4294967296},I.double=I,N(A(L.S),n),(k.pass||M||function(q,Y,B,X){return X&&(X.S&&E(X,L),q.state=function(){return E(L,{})}),B?(a[u]=q,Y):q})(I,U,"global"in k?k.global:this==a,k.state)}function S(D){var k,M=D.length,R=this,U=0,L=R.i=R.j=0,I=R.S=[];for(M||(D=[M++]);U{if(!e||!Array.isArray(e.nodes)||!Array.isArray(e.edges))return!1;for(const t of e.nodes)if(!t.id||!t.labels||!t.properties)return!1;for(const t of e.edges)if(!t.id||!t.source||!t.target)return!1;for(const t of e.edges){const n=e.getNode(t.source),a=e.getNode(t.target);if(n==null||a==null)return!1}return!0},dF=async e=>{let t=null;try{t=await GN(e)}catch(a){return Wn.getState().setErrorMessage(Sr(a),"Query Graphs Error!"),null}let n=null;if(t){const a={},o={};for(let f=0;f0){const f=tD-Zx;for(const h of t.nodes)h.size=Math.round(Zx+f*Math.pow((h.degree-s)/u,.5))}n=new h3,n.nodes=t.nodes,n.edges=t.edges,n.nodeIdMap=a,n.edgeIdMap=o,uF(n)||(n=null,console.error("Invalid graph data")),console.log("Graph data loaded")}return n},fF=e=>{const t=new cl;for(const n of(e==null?void 0:e.nodes)??[])t.addNode(n.id,{label:n.labels.join(", "),color:n.color,x:n.x,y:n.y,size:n.size,borderColor:Zk,borderSize:.2});for(const n of(e==null?void 0:e.edges)??[])n.dynamicId=t.addDirectedEdge(n.source,n.target,{label:n.type||void 0});return t},s1={label:""},IT=()=>{const e=We.use.queryLabel(),t=ct.use.rawGraph(),n=ct.use.sigmaGraph(),a=w.useCallback(c=>(t==null?void 0:t.getNode(c))||null,[t]),o=w.useCallback((c,u=!0)=>(t==null?void 0:t.getEdge(c,u))||null,[t]);return w.useEffect(()=>{if(e){if(s1.label!==e){s1.label=e;const c=ct.getState();c.reset(),dF(e).then(u=>{c.setSigmaGraph(fF(u)),u==null||u.buildDynamicMap(),c.setRawGraph(u)})}}else{const c=ct.getState();c.reset(),c.setSigmaGraph(new cl)}},[e]),{lightrageGraph:w.useCallback(()=>{if(n)return n;const c=new cl;return ct.getState().setSigmaGraph(c),c},[n]),getNode:a,getEdge:o}},tu=e=>!!(e.type.startsWith("mouse")&&e.buttons!==0),hF=({disableHoverEffect:e})=>{const{lightrageGraph:t}=IT(),n=Kn(),a=I_(),o=B_(),s=pG(),{assign:c}=cT({iterations:20}),{theme:u}=MS(),f=We.use.enableHideUnselectedEdges(),h=ct.use.selectedNode(),m=ct.use.focusedNode(),g=ct.use.selectedEdge(),y=ct.use.focusedEdge();return w.useEffect(()=>{const b=t();s(b),b.__force_applied||(c(),Object.assign(b,{__force_applied:!0}));const{setFocusedNode:S,setSelectedNode:E,setFocusedEdge:_,setSelectedEdge:N,clearSelection:T}=ct.getState();a({enterNode:A=>{tu(A.event.original)||S(A.node)},leaveNode:A=>{tu(A.event.original)||S(null)},clickNode:A=>{E(A.node),N(null)},clickEdge:A=>{N(A.edge),E(null)},enterEdge:A=>{tu(A.event.original)||_(A.edge)},leaveEdge:A=>{tu(A.event.original)||_(null)},clickStage:()=>T()})},[c,s,a,t]),w.useEffect(()=>{const b=u==="dark",S=b?Wk:void 0,E=b?Jk:void 0;o({nodeReducer:(_,N)=>{const T=n.getGraph(),A={...N,highlighted:N.highlighted||!1,labelColor:S};if(!e){A.highlighted=!1;const D=m||h,k=y||g;if(D)(_===D||T.neighbors(D).includes(_))&&(A.highlighted=!0,_===h&&(A.borderColor=Qk));else if(k)T.extremities(k).includes(_)&&(A.highlighted=!0,A.size=3);else return A;A.highlighted?b&&(A.labelColor=Xk):A.color=Kk}return A},edgeReducer:(_,N)=>{const T=n.getGraph(),A={...N,hidden:!1,labelColor:S,color:E};if(!e){const D=m||h;D?f?T.extremities(_).includes(D)||(A.hidden=!0):T.extremities(_).includes(D)&&(A.color=Kx):(y||g)&&(_===g?A.color=eD:_===y?A.color=Kx:f&&(A.hidden=!0))}return A}})},[h,m,g,y,o,n,e,u,f]),null},pF=()=>{const{zoomIn:e,zoomOut:t,reset:n}=H_({duration:200,factor:1.5}),a=w.useCallback(()=>e(),[e]),o=w.useCallback(()=>t(),[t]),s=w.useCallback(()=>n(),[n]);return x.jsxs(x.Fragment,{children:[x.jsx(_t,{variant:_r,onClick:a,tooltip:"Zoom In",size:"icon",children:x.jsx(HO,{})}),x.jsx(_t,{variant:_r,onClick:o,tooltip:"Zoom Out",size:"icon",children:x.jsx(VO,{})}),x.jsx(_t,{variant:_r,onClick:s,tooltip:"Reset Zoom",size:"icon",children:x.jsx(uO,{})})]})},mF=()=>{const{isFullScreen:e,toggle:t}=mG();return x.jsx(x.Fragment,{children:e?x.jsx(_t,{variant:_r,onClick:t,tooltip:"Windowed",size:"icon",children:x.jsx(wO,{})}):x.jsx(_t,{variant:_r,onClick:t,tooltip:"Full Screen",size:"icon",children:x.jsx(bO,{})})})};function HT(e){const t=w.useRef({value:e,previous:e});return w.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Xg="Checkbox",[gF,a6]=fr(Xg),[vF,yF]=gF(Xg),$T=w.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:a,checked:o,defaultChecked:s,required:c,disabled:u,value:f="on",onCheckedChange:h,form:m,...g}=e,[y,b]=w.useState(null),S=at(t,D=>b(D)),E=w.useRef(!1),_=y?m||!!y.closest("form"):!0,[N=!1,T]=oa({prop:o,defaultProp:s,onChange:h}),A=w.useRef(N);return w.useEffect(()=>{const D=y==null?void 0:y.form;if(D){const k=()=>T(A.current);return D.addEventListener("reset",k),()=>D.removeEventListener("reset",k)}},[y,T]),x.jsxs(vF,{scope:n,state:N,disabled:u,children:[x.jsx(Ie.button,{type:"button",role:"checkbox","aria-checked":Ga(N)?"mixed":N,"aria-required":c,"data-state":YT(N),"data-disabled":u?"":void 0,disabled:u,value:f,...g,ref:S,onKeyDown:Be(e.onKeyDown,D=>{D.key==="Enter"&&D.preventDefault()}),onClick:Be(e.onClick,D=>{T(k=>Ga(k)?!0:!k),_&&(E.current=D.isPropagationStopped(),E.current||D.stopPropagation())})}),_&&x.jsx(bF,{control:y,bubbles:!E.current,name:a,value:f,checked:N,required:c,disabled:u,form:m,style:{transform:"translateX(-100%)"},defaultChecked:Ga(s)?!1:s})]})});$T.displayName=Xg;var VT="CheckboxIndicator",qT=w.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:a,...o}=e,s=yF(VT,n);return x.jsx(Ln,{present:a||Ga(s.state)||s.state===!0,children:x.jsx(Ie.span,{"data-state":YT(s.state),"data-disabled":s.disabled?"":void 0,...o,ref:t,style:{pointerEvents:"none",...e.style}})})});qT.displayName=VT;var bF=e=>{const{control:t,checked:n,bubbles:a=!0,defaultChecked:o,...s}=e,c=w.useRef(null),u=HT(n),f=KE(t);w.useEffect(()=>{const m=c.current,g=window.HTMLInputElement.prototype,b=Object.getOwnPropertyDescriptor(g,"checked").set;if(u!==n&&b){const S=new Event("click",{bubbles:a});m.indeterminate=Ga(n),b.call(m,Ga(n)?!1:n),m.dispatchEvent(S)}},[u,n,a]);const h=w.useRef(Ga(n)?!1:n);return x.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:o??h.current,...s,tabIndex:-1,ref:c,style:{...e.style,...f,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function Ga(e){return e==="indeterminate"}function YT(e){return Ga(e)?"indeterminate":e?"checked":"unchecked"}var WT=$T,xF=qT;const il=w.forwardRef(({className:e,...t},n)=>x.jsx(WT,{ref:n,className:Me("peer border-primary ring-offset-background focus-visible:ring-ring data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground h-4 w-4 shrink-0 rounded-sm border focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:x.jsx(xF,{className:Me("flex items-center justify-center text-current"),children:x.jsx(eg,{className:"h-4 w-4"})})}));il.displayName=WT.displayName;var wF="Separator",l1="horizontal",EF=["horizontal","vertical"],XT=w.forwardRef((e,t)=>{const{decorative:n,orientation:a=l1,...o}=e,s=SF(a)?a:l1,u=n?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return x.jsx(Ie.div,{"data-orientation":s,...u,...o,ref:t})});XT.displayName=wF;function SF(e){return EF.includes(e)}var KT=XT;const nl=w.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...a},o)=>x.jsx(KT,{ref:o,decorative:n,orientation:t,className:Me("bg-border shrink-0",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...a}));nl.displayName=KT.displayName;const Lo=w.forwardRef(({className:e,type:t,...n},a)=>x.jsx("input",{type:t,className:Me("border-input file:text-foreground placeholder:text-muted-foreground focus-visible:ring-ring flex h-9 rounded-md border bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:a,...n}));Lo.displayName="Input";const La=({checked:e,onCheckedChange:t,label:n})=>x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(il,{checked:e,onCheckedChange:t}),x.jsx("label",{htmlFor:"terms",className:"text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:n})]});function _F(){const[e,t]=w.useState(!1),[n,a]=w.useState(""),o=We.use.showPropertyPanel(),s=We.use.showNodeSearchBar(),c=We.use.showNodeLabel(),u=We.use.enableEdgeEvents(),f=We.use.enableNodeDrag(),h=We.use.enableHideUnselectedEdges(),m=We.use.showEdgeLabel(),g=We.use.enableHealthCheck(),y=We.use.apiKey();w.useEffect(()=>{a(y||"")},[y,e]);const b=w.useCallback(()=>We.setState(R=>({enableNodeDrag:!R.enableNodeDrag})),[]),S=w.useCallback(()=>We.setState(R=>({enableEdgeEvents:!R.enableEdgeEvents})),[]),E=w.useCallback(()=>We.setState(R=>({enableHideUnselectedEdges:!R.enableHideUnselectedEdges})),[]),_=w.useCallback(()=>We.setState(R=>({showEdgeLabel:!R.showEdgeLabel})),[]),N=w.useCallback(()=>We.setState(R=>({showPropertyPanel:!R.showPropertyPanel})),[]),T=w.useCallback(()=>We.setState(R=>({showNodeSearchBar:!R.showNodeSearchBar})),[]),A=w.useCallback(()=>We.setState(R=>({showNodeLabel:!R.showNodeLabel})),[]),D=w.useCallback(()=>We.setState(R=>({enableHealthCheck:!R.enableHealthCheck})),[]),k=w.useCallback(async()=>{We.setState({apiKey:n||null}),await Wn.getState().check(),t(!1)},[n]),M=w.useCallback(R=>{a(R.target.value)},[a]);return x.jsxs(id,{open:e,onOpenChange:t,children:[x.jsx(od,{asChild:!0,children:x.jsx(_t,{variant:_r,tooltip:"Settings",size:"icon",children:x.jsx(zO,{})})}),x.jsx(El,{side:"right",align:"start",className:"mb-2 p-2",onCloseAutoFocus:R=>R.preventDefault(),children:x.jsxs("div",{className:"flex flex-col gap-2",children:[x.jsx(La,{checked:o,onCheckedChange:N,label:"Show Property Panel"}),x.jsx(La,{checked:s,onCheckedChange:T,label:"Show Search Bar"}),x.jsx(nl,{}),x.jsx(La,{checked:c,onCheckedChange:A,label:"Show Node Label"}),x.jsx(La,{checked:f,onCheckedChange:b,label:"Node Draggable"}),x.jsx(nl,{}),x.jsx(La,{checked:m,onCheckedChange:_,label:"Show Edge Label"}),x.jsx(La,{checked:h,onCheckedChange:E,label:"Hide Unselected Edges"}),x.jsx(La,{checked:u,onCheckedChange:S,label:"Edge Events"}),x.jsx(nl,{}),x.jsx(La,{checked:g,onCheckedChange:D,label:"Health Check"}),x.jsx(nl,{}),x.jsxs("div",{className:"flex flex-col gap-2",children:[x.jsx("label",{className:"text-sm font-medium",children:"API Key"}),x.jsxs("form",{className:"flex h-6 gap-2",onSubmit:R=>R.preventDefault(),children:[x.jsx("div",{className:"w-0 flex-1",children:x.jsx(Lo,{type:"password",value:n,onChange:M,placeholder:"Enter your API key",className:"max-h-full w-full min-w-0",autoComplete:"off"})}),x.jsx(_t,{onClick:k,variant:"outline",size:"sm",className:"max-h-full shrink-0",children:"Save"})]})]})]})})]})}function Eu(e,t,n,a){function o(s){return s instanceof n?s:new n(function(c){c(s)})}return new(n||(n=Promise))(function(s,c){function u(m){try{h(a.next(m))}catch(g){c(g)}}function f(m){try{h(a.throw(m))}catch(g){c(g)}}function h(m){m.done?s(m.value):o(m.value).then(u,f)}h((a=a.apply(e,[])).next())})}const TF="ENTRIES",ZT="KEYS",QT="VALUES",Kt="";class Pp{constructor(t,n){const a=t._tree,o=Array.from(a.keys());this.set=t,this._type=n,this._path=o.length>0?[{node:a,keys:o}]:[]}next(){const t=this.dive();return this.backtrack(),t}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:t,keys:n}=wo(this._path);if(wo(n)===Kt)return{done:!1,value:this.result()};const a=t.get(wo(n));return this._path.push({node:a,keys:Array.from(a.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const t=wo(this._path).keys;t.pop(),!(t.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:t})=>wo(t)).filter(t=>t!==Kt).join("")}value(){return wo(this._path).node.get(Kt)}result(){switch(this._type){case QT:return this.value();case ZT:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const wo=e=>e[e.length-1],CF=(e,t,n)=>{const a=new Map;if(t===void 0)return a;const o=t.length+1,s=o+n,c=new Uint8Array(s*o).fill(n+1);for(let u=0;u{const f=s*c;e:for(const h of e.keys())if(h===Kt){const m=o[f-1];m<=n&&a.set(u,[e.get(h),m])}else{let m=s;for(let g=0;gn)continue e}JT(e.get(h),t,n,a,o,m,c,u+h)}};class Pa{constructor(t=new Map,n=""){this._size=void 0,this._tree=t,this._prefix=n}atPrefix(t){if(!t.startsWith(this._prefix))throw new Error("Mismatched prefix");const[n,a]=Lu(this._tree,t.slice(this._prefix.length));if(n===void 0){const[o,s]=Kg(a);for(const c of o.keys())if(c!==Kt&&c.startsWith(s)){const u=new Map;return u.set(c.slice(s.length),o.get(c)),new Pa(u,t)}}return new Pa(n,t)}clear(){this._size=void 0,this._tree.clear()}delete(t){return this._size=void 0,RF(this._tree,t)}entries(){return new Pp(this,TF)}forEach(t){for(const[n,a]of this)t(n,a,this)}fuzzyGet(t,n){return CF(this._tree,t,n)}get(t){const n=Am(this._tree,t);return n!==void 0?n.get(Kt):void 0}has(t){const n=Am(this._tree,t);return n!==void 0&&n.has(Kt)}keys(){return new Pp(this,ZT)}set(t,n){if(typeof t!="string")throw new Error("key must be a string");return this._size=void 0,Gp(this._tree,t).set(Kt,n),this}get size(){if(this._size)return this._size;this._size=0;const t=this.entries();for(;!t.next().done;)this._size+=1;return this._size}update(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const a=Gp(this._tree,t);return a.set(Kt,n(a.get(Kt))),this}fetch(t,n){if(typeof t!="string")throw new Error("key must be a string");this._size=void 0;const a=Gp(this._tree,t);let o=a.get(Kt);return o===void 0&&a.set(Kt,o=n()),o}values(){return new Pp(this,QT)}[Symbol.iterator](){return this.entries()}static from(t){const n=new Pa;for(const[a,o]of t)n.set(a,o);return n}static fromObject(t){return Pa.from(Object.entries(t))}}const Lu=(e,t,n=[])=>{if(t.length===0||e==null)return[e,n];for(const a of e.keys())if(a!==Kt&&t.startsWith(a))return n.push([e,a]),Lu(e.get(a),t.slice(a.length),n);return n.push([e,t]),Lu(void 0,"",n)},Am=(e,t)=>{if(t.length===0||e==null)return e;for(const n of e.keys())if(n!==Kt&&t.startsWith(n))return Am(e.get(n),t.slice(n.length))},Gp=(e,t)=>{const n=t.length;e:for(let a=0;e&&a{const[n,a]=Lu(e,t);if(n!==void 0){if(n.delete(Kt),n.size===0)eC(a);else if(n.size===1){const[o,s]=n.entries().next().value;tC(a,o,s)}}},eC=e=>{if(e.length===0)return;const[t,n]=Kg(e);if(t.delete(n),t.size===0)eC(e.slice(0,-1));else if(t.size===1){const[a,o]=t.entries().next().value;a!==Kt&&tC(e.slice(0,-1),a,o)}},tC=(e,t,n)=>{if(e.length===0)return;const[a,o]=Kg(e);a.set(o+t,n),a.delete(o)},Kg=e=>e[e.length-1],Zg="or",nC="and",AF="and_not";class Fa{constructor(t){if((t==null?void 0:t.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');const n=t.autoVacuum==null||t.autoVacuum===!0?Bp:t.autoVacuum;this._options=Object.assign(Object.assign(Object.assign({},Up),t),{autoVacuum:n,searchOptions:Object.assign(Object.assign({},c1),t.searchOptions||{}),autoSuggestOptions:Object.assign(Object.assign({},jF),t.autoSuggestOptions||{})}),this._index=new Pa,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Dm,this.addFields(this._options.fields)}add(t){const{extractField:n,tokenize:a,processTerm:o,fields:s,idField:c}=this._options,u=n(t,c);if(u==null)throw new Error(`MiniSearch: document does not have ID field "${c}"`);if(this._idToShortId.has(u))throw new Error(`MiniSearch: duplicate ID ${u}`);const f=this.addDocumentId(u);this.saveStoredFields(f,t);for(const h of s){const m=n(t,h);if(m==null)continue;const g=a(m.toString(),h),y=this._fieldIds[h],b=new Set(g).size;this.addFieldLength(f,y,this._documentCount-1,b);for(const S of g){const E=o(S,h);if(Array.isArray(E))for(const _ of E)this.addTerm(y,f,_);else E&&this.addTerm(y,f,E)}}}addAll(t){for(const n of t)this.add(n)}addAllAsync(t,n={}){const{chunkSize:a=10}=n,o={chunk:[],promise:Promise.resolve()},{chunk:s,promise:c}=t.reduce(({chunk:u,promise:f},h,m)=>(u.push(h),(m+1)%a===0?{chunk:[],promise:f.then(()=>new Promise(g=>setTimeout(g,0))).then(()=>this.addAll(u))}:{chunk:u,promise:f}),o);return c.then(()=>this.addAll(s))}remove(t){const{tokenize:n,processTerm:a,extractField:o,fields:s,idField:c}=this._options,u=o(t,c);if(u==null)throw new Error(`MiniSearch: document does not have ID field "${c}"`);const f=this._idToShortId.get(u);if(f==null)throw new Error(`MiniSearch: cannot remove document with ID ${u}: it is not in the index`);for(const h of s){const m=o(t,h);if(m==null)continue;const g=n(m.toString(),h),y=this._fieldIds[h],b=new Set(g).size;this.removeFieldLength(f,y,this._documentCount,b);for(const S of g){const E=a(S,h);if(Array.isArray(E))for(const _ of E)this.removeTerm(y,f,_);else E&&this.removeTerm(y,f,E)}}this._storedFields.delete(f),this._documentIds.delete(f),this._idToShortId.delete(u),this._fieldLength.delete(f),this._documentCount-=1}removeAll(t){if(t)for(const n of t)this.remove(n);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Pa,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(t){const n=this._idToShortId.get(t);if(n==null)throw new Error(`MiniSearch: cannot discard document with ID ${t}: it is not in the index`);this._idToShortId.delete(t),this._documentIds.delete(n),this._storedFields.delete(n),(this._fieldLength.get(n)||[]).forEach((a,o)=>{this.removeFieldLength(n,o,this._documentCount,a)}),this._fieldLength.delete(n),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:t,minDirtCount:n,batchSize:a,batchWait:o}=this._options.autoVacuum;this.conditionalVacuum({batchSize:a,batchWait:o},{minDirtCount:n,minDirtFactor:t})}discardAll(t){const n=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const a of t)this.discard(a)}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()}replace(t){const{idField:n,extractField:a}=this._options,o=a(t,n);this.discard(o),this.add(t)}vacuum(t={}){return this.conditionalVacuum(t)}conditionalVacuum(t,n){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&n,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const a=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=Dm,this.performVacuuming(t,a)}),this._enqueuedVacuum)):this.vacuumConditionsMet(n)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(t),this._currentVacuum)}performVacuuming(t,n){return Eu(this,void 0,void 0,function*(){const a=this._dirtCount;if(this.vacuumConditionsMet(n)){const o=t.batchSize||km.batchSize,s=t.batchWait||km.batchWait;let c=1;for(const[u,f]of this._index){for(const[h,m]of f)for(const[g]of m)this._documentIds.has(g)||(m.size<=1?f.delete(h):m.delete(g));this._index.get(u).size===0&&this._index.delete(u),c%o===0&&(yield new Promise(h=>setTimeout(h,s))),c+=1}this._dirtCount-=a}yield null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null})}vacuumConditionsMet(t){if(t==null)return!0;let{minDirtCount:n,minDirtFactor:a}=t;return n=n||Bp.minDirtCount,a=a||Bp.minDirtFactor,this.dirtCount>=n&&this.dirtFactor>=a}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(t){return this._idToShortId.has(t)}getStoredFields(t){const n=this._idToShortId.get(t);if(n!=null)return this._storedFields.get(n)}search(t,n={}){const{searchOptions:a}=this._options,o=Object.assign(Object.assign({},a),n),s=this.executeQuery(t,n),c=[];for(const[u,{score:f,terms:h,match:m}]of s){const g=h.length||1,y={id:this._documentIds.get(u),score:f*g,terms:Object.keys(m),queryTerms:h,match:m};Object.assign(y,this._storedFields.get(u)),(o.filter==null||o.filter(y))&&c.push(y)}return t===Fa.wildcard&&o.boostDocument==null||c.sort(d1),c}autoSuggest(t,n={}){n=Object.assign(Object.assign({},this._options.autoSuggestOptions),n);const a=new Map;for(const{score:s,terms:c}of this.search(t,n)){const u=c.join(" "),f=a.get(u);f!=null?(f.score+=s,f.count+=1):a.set(u,{score:s,terms:c,count:1})}const o=[];for(const[s,{score:c,terms:u,count:f}]of a)o.push({suggestion:s,terms:u,score:c/f});return o.sort(d1),o}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(t,n){if(n==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(t),n)}static loadJSONAsync(t,n){return Eu(this,void 0,void 0,function*(){if(n==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(t),n)})}static getDefault(t){if(Up.hasOwnProperty(t))return Fp(Up,t);throw new Error(`MiniSearch: unknown option "${t}"`)}static loadJS(t,n){const{index:a,documentIds:o,fieldLength:s,storedFields:c,serializationVersion:u}=t,f=this.instantiateMiniSearch(t,n);f._documentIds=nu(o),f._fieldLength=nu(s),f._storedFields=nu(c);for(const[h,m]of f._documentIds)f._idToShortId.set(m,h);for(const[h,m]of a){const g=new Map;for(const y of Object.keys(m)){let b=m[y];u===1&&(b=b.ds),g.set(parseInt(y,10),nu(b))}f._index.set(h,g)}return f}static loadJSAsync(t,n){return Eu(this,void 0,void 0,function*(){const{index:a,documentIds:o,fieldLength:s,storedFields:c,serializationVersion:u}=t,f=this.instantiateMiniSearch(t,n);f._documentIds=yield ru(o),f._fieldLength=yield ru(s),f._storedFields=yield ru(c);for(const[m,g]of f._documentIds)f._idToShortId.set(g,m);let h=0;for(const[m,g]of a){const y=new Map;for(const b of Object.keys(g)){let S=g[b];u===1&&(S=S.ds),y.set(parseInt(b,10),yield ru(S))}++h%1e3===0&&(yield rC(0)),f._index.set(m,y)}return f})}static instantiateMiniSearch(t,n){const{documentCount:a,nextId:o,fieldIds:s,averageFieldLength:c,dirtCount:u,serializationVersion:f}=t;if(f!==1&&f!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const h=new Fa(n);return h._documentCount=a,h._nextId=o,h._idToShortId=new Map,h._fieldIds=s,h._avgFieldLength=c,h._dirtCount=u||0,h._index=new Pa,h}executeQuery(t,n={}){if(t===Fa.wildcard)return this.executeWildcardQuery(n);if(typeof t!="string"){const y=Object.assign(Object.assign(Object.assign({},n),t),{queries:void 0}),b=t.queries.map(S=>this.executeQuery(S,y));return this.combineResults(b,y.combineWith)}const{tokenize:a,processTerm:o,searchOptions:s}=this._options,c=Object.assign(Object.assign({tokenize:a,processTerm:o},s),n),{tokenize:u,processTerm:f}=c,g=u(t).flatMap(y=>f(y)).filter(y=>!!y).map(OF(c)).map(y=>this.executeQuerySpec(y,c));return this.combineResults(g,c.combineWith)}executeQuerySpec(t,n){const a=Object.assign(Object.assign({},this._options.searchOptions),n),o=(a.fields||this._options.fields).reduce((E,_)=>Object.assign(Object.assign({},E),{[_]:Fp(a.boost,_)||1}),{}),{boostDocument:s,weights:c,maxFuzzy:u,bm25:f}=a,{fuzzy:h,prefix:m}=Object.assign(Object.assign({},c1.weights),c),g=this._index.get(t.term),y=this.termResults(t.term,t.term,1,t.termBoost,g,o,s,f);let b,S;if(t.prefix&&(b=this._index.atPrefix(t.term)),t.fuzzy){const E=t.fuzzy===!0?.2:t.fuzzy,_=E<1?Math.min(u,Math.round(t.term.length*E)):E;_&&(S=this._index.fuzzyGet(t.term,_))}if(b)for(const[E,_]of b){const N=E.length-t.term.length;if(!N)continue;S==null||S.delete(E);const T=m*E.length/(E.length+.3*N);this.termResults(t.term,E,T,t.termBoost,_,o,s,f,y)}if(S)for(const E of S.keys()){const[_,N]=S.get(E);if(!N)continue;const T=h*E.length/(E.length+N);this.termResults(t.term,E,T,t.termBoost,_,o,s,f,y)}return y}executeWildcardQuery(t){const n=new Map,a=Object.assign(Object.assign({},this._options.searchOptions),t);for(const[o,s]of this._documentIds){const c=a.boostDocument?a.boostDocument(s,"",this._storedFields.get(o)):1;n.set(o,{score:c,terms:[],match:{}})}return n}combineResults(t,n=Zg){if(t.length===0)return new Map;const a=n.toLowerCase(),o=kF[a];if(!o)throw new Error(`Invalid combination operator: ${n}`);return t.reduce(o)||new Map}toJSON(){const t=[];for(const[n,a]of this._index){const o={};for(const[s,c]of a)o[s]=Object.fromEntries(c);t.push([n,o])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:t,serializationVersion:2}}termResults(t,n,a,o,s,c,u,f,h=new Map){if(s==null)return h;for(const m of Object.keys(c)){const g=c[m],y=this._fieldIds[m],b=s.get(y);if(b==null)continue;let S=b.size;const E=this._avgFieldLength[y];for(const _ of b.keys()){if(!this._documentIds.has(_)){this.removeTerm(y,_,n),S-=1;continue}const N=u?u(this._documentIds.get(_),n,this._storedFields.get(_)):1;if(!N)continue;const T=b.get(_),A=this._fieldLength.get(_)[y],D=NF(T,S,this._documentCount,A,E,f),k=a*o*g*N*D,M=h.get(_);if(M){M.score+=k,LF(M.terms,t);const R=Fp(M.match,n);R?R.push(m):M.match[n]=[m]}else h.set(_,{score:k,terms:[t],match:{[n]:[m]}})}}return h}addTerm(t,n,a){const o=this._index.fetch(a,f1);let s=o.get(t);if(s==null)s=new Map,s.set(n,1),o.set(t,s);else{const c=s.get(n);s.set(n,(c||0)+1)}}removeTerm(t,n,a){if(!this._index.has(a)){this.warnDocumentChanged(n,t,a);return}const o=this._index.fetch(a,f1),s=o.get(t);s==null||s.get(n)==null?this.warnDocumentChanged(n,t,a):s.get(n)<=1?s.size<=1?o.delete(t):s.delete(n):s.set(n,s.get(n)-1),this._index.get(a).size===0&&this._index.delete(a)}warnDocumentChanged(t,n,a){for(const o of Object.keys(this._fieldIds))if(this._fieldIds[o]===n){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(t)} has changed before removal: term "${a}" was not present in field "${o}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(t){const n=this._nextId;return this._idToShortId.set(t,n),this._documentIds.set(n,t),this._documentCount+=1,this._nextId+=1,n}addFields(t){for(let n=0;nObject.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,kF={[Zg]:(e,t)=>{for(const n of t.keys()){const a=e.get(n);if(a==null)e.set(n,t.get(n));else{const{score:o,terms:s,match:c}=t.get(n);a.score=a.score+o,a.match=Object.assign(a.match,c),u1(a.terms,s)}}return e},[nC]:(e,t)=>{const n=new Map;for(const a of t.keys()){const o=e.get(a);if(o==null)continue;const{score:s,terms:c,match:u}=t.get(a);u1(o.terms,c),n.set(a,{score:o.score+s,terms:o.terms,match:Object.assign(o.match,u)})}return n},[AF]:(e,t)=>{for(const n of t.keys())e.delete(n);return e}},DF={k:1.2,b:.7,d:.5},NF=(e,t,n,a,o,s)=>{const{k:c,b:u,d:f}=s;return Math.log(1+(n-t+.5)/(t+.5))*(f+e*(c+1)/(e+c*(1-u+u*a/o)))},OF=e=>(t,n,a)=>{const o=typeof e.fuzzy=="function"?e.fuzzy(t,n,a):e.fuzzy||!1,s=typeof e.prefix=="function"?e.prefix(t,n,a):e.prefix===!0,c=typeof e.boostTerm=="function"?e.boostTerm(t,n,a):1;return{term:t,fuzzy:o,prefix:s,termBoost:c}},Up={idField:"id",extractField:(e,t)=>e[t],tokenize:e=>e.split(zF),processTerm:e=>e.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(e,t)=>{typeof(console==null?void 0:console[e])=="function"&&console[e](t)},autoVacuum:!0},c1={combineWith:Zg,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:DF},jF={combineWith:nC,prefix:(e,t,n)=>t===n.length-1},km={batchSize:1e3,batchWait:10},Dm={minDirtFactor:.1,minDirtCount:20},Bp=Object.assign(Object.assign({},km),Dm),LF=(e,t)=>{e.includes(t)||e.push(t)},u1=(e,t)=>{for(const n of t)e.includes(n)||e.push(n)},d1=({score:e},{score:t})=>t-e,f1=()=>new Map,nu=e=>{const t=new Map;for(const n of Object.keys(e))t.set(parseInt(n,10),e[n]);return t},ru=e=>Eu(void 0,void 0,void 0,function*(){const t=new Map;let n=0;for(const a of Object.keys(e))t.set(parseInt(a,10),e[a]),++n%1e3===0&&(yield rC(0));return t}),rC=e=>new Promise(t=>setTimeout(t,e)),zF=/[\n\r\p{Z}\p{P}]+/u,MF={index:new Fa({fields:[]})};w.createContext(MF);const Nm=({label:e,color:t,hidden:n,labels:a={}})=>ve.createElement("div",{className:"node"},ve.createElement("span",{className:"render "+(n?"circle":"disc"),style:{backgroundColor:t||"#000"}}),ve.createElement("span",{className:`label ${n?"text-muted":""} ${e?"":"text-italic"}`},e||a.no_label||"No label")),PF=({id:e,labels:t})=>{const n=Kn(),a=w.useMemo(()=>{const o=n.getGraph().getNodeAttributes(e),s=n.getSetting("nodeReducer");return Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},o),s?s(e,o):{})},[n,e]);return ve.createElement(Nm,Object.assign({},a,{labels:t}))},GF=({label:e,color:t,source:n,target:a,hidden:o,directed:s,labels:c={}})=>ve.createElement("div",{className:"edge"},ve.createElement(Nm,Object.assign({},n,{labels:c})),ve.createElement("div",{className:"body"},ve.createElement("div",{className:"render"},ve.createElement("span",{className:o?"dotted":"dash",style:{borderColor:t||"#000"}})," ",s&&ve.createElement("span",{className:"arrow",style:{borderTopColor:t||"#000"}})),ve.createElement("span",{className:`label ${o?"text-muted":""} ${e?"":"fst-italic"}`},e||c.no_label||"No label")),ve.createElement(Nm,Object.assign({},a,{labels:c}))),FF=({id:e,labels:t})=>{const n=Kn(),a=w.useMemo(()=>{const o=n.getGraph().getEdgeAttributes(e),s=n.getSetting("nodeReducer"),c=n.getSetting("edgeReducer"),u=n.getGraph().getNodeAttributes(n.getGraph().source(e)),f=n.getGraph().getNodeAttributes(n.getGraph().target(e));return Object.assign(Object.assign(Object.assign({color:n.getSetting("defaultEdgeColor"),directed:n.getGraph().isDirected(e)},o),c?c(e,o):{}),{source:Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},u),s?s(e,u):{}),target:Object.assign(Object.assign({color:n.getSetting("defaultNodeColor")},f),s?s(e,f):{})})},[n,e]);return ve.createElement(GF,Object.assign({},a,{labels:t}))};function Qg(e,t){const[n,a]=w.useState(e);return w.useEffect(()=>{const o=setTimeout(()=>{a(e)},t);return()=>{clearTimeout(o)}},[e,t]),n}function UF({fetcher:e,preload:t,filterFn:n,renderOption:a,getOptionValue:o,notFound:s,loadingSkeleton:c,label:u,placeholder:f="Select...",value:h,onChange:m,onFocus:g,disabled:y=!1,className:b,noResultsMessage:S}){const[E,_]=w.useState(!1),[N,T]=w.useState(!1),[A,D]=w.useState([]),[k,M]=w.useState(!1),[R,U]=w.useState(null),[L,I]=w.useState(h),[q,Y]=w.useState(null),[B,X]=w.useState(""),ne=Qg(B,t?0:150),[F,z]=w.useState([]);w.useEffect(()=>{_(!0),I(h)},[h]),w.useEffect(()=>{E||(async()=>{try{M(!0),U(null);const H=h!==null?await e(h):[];z(H),D(H)}catch(H){U(H instanceof Error?H.message:"Failed to fetch options")}finally{M(!1)}})()},[E,e,h]),w.useEffect(()=>{const G=async()=>{try{M(!0),U(null);const H=await e(ne);z(H),D(H)}catch(H){U(H instanceof Error?H.message:"Failed to fetch options")}finally{M(!1)}};E&&t?t&&D(ne?F.filter(H=>n?n(H,ne):!0):F):G()},[e,ne,E,t,n]);const j=w.useCallback(G=>{G!==L&&(I(G),m(G)),T(!1)},[L,I,T,m]),K=w.useCallback(G=>{G!==q&&(Y(G),g(G))},[q,Y,g]);return x.jsx("div",{className:Me(y&&"cursor-not-allowed opacity-50",b),onFocus:()=>{T(!0)},onBlur:()=>T(!1),children:x.jsxs(gd,{shouldFilter:!1,className:"bg-transparent",children:[x.jsxs("div",{children:[x.jsx(Yg,{placeholder:f,value:B,className:"max-h-8",onValueChange:G=>{X(G),G&&!N&&T(!0)}}),k&&A.length>0&&x.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:x.jsx(NE,{className:"h-4 w-4 animate-spin"})})]}),x.jsxs(vd,{hidden:!N||ne.length===0,children:[R&&x.jsx("div",{className:"text-destructive p-4 text-center",children:R}),k&&A.length===0&&(c||x.jsx(BF,{})),!k&&!R&&A.length===0&&(s||x.jsx(Wg,{children:S??`No ${u.toLowerCase()} found.`})),x.jsx(Wo,{children:A.map((G,H)=>x.jsxs(x.Fragment,{children:[x.jsx(Xo,{value:o(G),onSelect:j,onMouseEnter:()=>K(o(G)),className:"truncate",children:a(G)},o(G)+`${H}`),H!==A.length-1&&x.jsx("div",{className:"bg-foreground/10 h-[1px]"},H)]}))})]})]})})}function BF(){return x.jsx(Wo,{children:x.jsx(Xo,{disabled:!0,children:x.jsxs("div",{className:"flex w-full items-center gap-2",children:[x.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),x.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[x.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),x.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}function IF(e){return x.jsxs("div",{children:[e.type==="nodes"&&x.jsx(PF,{id:e.id}),e.type==="edges"&&x.jsx(FF,{id:e.id}),e.type==="message"&&x.jsx("div",{children:e.message})]})}const Ip="__message_item",au={graph:null,searchEngine:null},HF=({onChange:e,onFocus:t,value:n})=>{const a=ct.use.sigmaGraph(),o=w.useMemo(()=>{if(au.graph==a)return au.searchEngine;if(!a||a.nodes().length==0)return;au.graph=a;const c=new Fa({idField:"id",fields:["label"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}}),u=a.nodes().map(f=>({id:f,label:a.getNodeAttribute(f,"label")}));return c.addAll(u),au.searchEngine=c,c},[a]),s=w.useCallback(async c=>{if(t&&t(null),!c||!o)return[];const u=o.search(c).map(f=>({id:f.id,type:"nodes"}));return u.length<=Gh?u:[...u.slice(0,Gh),{type:"message",id:Ip,message:`And ${u.length-Gh} others`}]},[o,t]);return x.jsx(UF,{className:"bg-background/60 w-24 rounded-xl border-1 opacity-60 backdrop-blur-lg transition-all hover:w-fit hover:opacity-100",fetcher:s,renderOption:IF,getOptionValue:c=>c.id,value:n&&n.type!=="message"?n.id:null,onChange:c=>{c!==Ip&&e(c?{id:c,type:"nodes"}:null)},onFocus:c=>{c!==Ip&&t&&t(c?{id:c,type:"nodes"}:null)},label:"item",placeholder:"Search nodes..."})},$F=({...e})=>x.jsx(HF,{...e});function VF({fetcher:e,preload:t,filterFn:n,renderOption:a,getOptionValue:o,getDisplayValue:s,notFound:c,loadingSkeleton:u,label:f,placeholder:h="Select...",value:m,onChange:g,disabled:y=!1,className:b,triggerClassName:S,searchInputClassName:E,noResultsMessage:_,triggerTooltip:N,clearable:T=!0}){const[A,D]=w.useState(!1),[k,M]=w.useState(!1),[R,U]=w.useState([]),[L,I]=w.useState(!1),[q,Y]=w.useState(null),[B,X]=w.useState(m),[ne,F]=w.useState(null),[z,j]=w.useState(""),K=Qg(z,t?0:150),[G,H]=w.useState([]);w.useEffect(()=>{D(!0),X(m)},[m]),w.useEffect(()=>{if(m&&R.length>0){const $=R.find(W=>o(W)===m);$&&F($)}},[m,R,o]),w.useEffect(()=>{A||(async()=>{try{I(!0),Y(null);const W=await e(m);H(W),U(W)}catch(W){Y(W instanceof Error?W.message:"Failed to fetch options")}finally{I(!1)}})()},[A,e,m]),w.useEffect(()=>{const $=async()=>{try{I(!0),Y(null);const W=await e(K);H(W),U(W)}catch(W){Y(W instanceof Error?W.message:"Failed to fetch options")}finally{I(!1)}};A&&t?t&&U(K?G.filter(W=>n?n(W,K):!0):G):$()},[e,K,A,t,n]);const O=w.useCallback($=>{const W=T&&$===B?"":$;X(W),F(R.find(re=>o(re)===W)||null),g(W),M(!1)},[B,g,T,R,o]);return x.jsxs(id,{open:k,onOpenChange:M,children:[x.jsx(od,{asChild:!0,children:x.jsxs(_t,{variant:"outline",role:"combobox","aria-expanded":k,className:Me("justify-between",y&&"cursor-not-allowed opacity-50",S),disabled:y,tooltip:N,side:"bottom",children:[ne?s(ne):h,x.jsx(tO,{className:"opacity-50",size:10})]})}),x.jsx(El,{className:Me("p-0",b),onCloseAutoFocus:$=>$.preventDefault(),children:x.jsxs(gd,{shouldFilter:!1,children:[x.jsxs("div",{className:"relative w-full border-b",children:[x.jsx(Yg,{placeholder:`Search ${f.toLowerCase()}...`,value:z,onValueChange:$=>{j($)},className:E}),L&&R.length>0&&x.jsx("div",{className:"absolute top-1/2 right-2 flex -translate-y-1/2 transform items-center",children:x.jsx(NE,{className:"h-4 w-4 animate-spin"})})]}),x.jsxs(vd,{children:[q&&x.jsx("div",{className:"text-destructive p-4 text-center",children:q}),L&&R.length===0&&(u||x.jsx(qF,{})),!L&&!q&&R.length===0&&(c||x.jsx(Wg,{children:_??`No ${f.toLowerCase()} found.`})),x.jsx(Wo,{children:R.map($=>x.jsxs(Xo,{value:o($),onSelect:O,className:"truncate",children:[a($),x.jsx(eg,{className:Me("ml-auto h-3 w-3",B===o($)?"opacity-100":"opacity-0")})]},o($)))})]})]})})]})}function qF(){return x.jsx(Wo,{children:x.jsx(Xo,{disabled:!0,children:x.jsxs("div",{className:"flex w-full items-center gap-2",children:[x.jsx("div",{className:"bg-muted h-6 w-6 animate-pulse rounded-full"}),x.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[x.jsx("div",{className:"bg-muted h-4 w-24 animate-pulse rounded"}),x.jsx("div",{className:"bg-muted h-3 w-16 animate-pulse rounded"})]})]})})})}const YF=()=>{const e=We.use.queryLabel(),[t,n]=w.useState({labels:[],searchEngine:null}),[a,o]=w.useState(!1),s=w.useCallback(async u=>{let f=t.labels,h=t.searchEngine;if(!a||!h){f=["*"].concat(await FN()),f.includes(We.getState().queryLabel)||We.getState().setQueryLabel(f[0]),h=new Fa({idField:"id",fields:["value"],searchOptions:{prefix:!0,fuzzy:.2,boost:{label:2}}});const m=f.map((g,y)=>({id:y,value:g}));h.addAll(m),n({labels:f,searchEngine:h}),o(!0)}return u?h.search(u).map(m=>f[m.id]):f},[t,a,n,o]),c=w.useCallback(u=>{We.getState().setQueryLabel(u)},[]);return x.jsx(VF,{className:"ml-2",triggerClassName:"max-h-8",searchInputClassName:"max-h-8",triggerTooltip:"Select query label",fetcher:s,renderOption:u=>x.jsx("div",{children:u}),getOptionValue:u=>u,getDisplayValue:u=>x.jsx("div",{children:u}),notFound:x.jsx("div",{className:"py-6 text-center text-sm",children:"No labels found"}),label:"Label",placeholder:"Search labels...",value:e!==null?e:"",onChange:c})},bn=({text:e,className:t,tooltipClassName:n,tooltip:a,side:o,onClick:s})=>a?x.jsx(jS,{delayDuration:200,children:x.jsxs(LS,{children:[x.jsx(zS,{asChild:!0,children:x.jsx("label",{className:Me(t,s!==void 0?"cursor-pointer":void 0),onClick:s,children:e})}),x.jsx(xg,{side:o,className:n,children:a})]})}):x.jsx("label",{className:Me(t,s!==void 0?"cursor-pointer":void 0),onClick:s,children:e}),WF=()=>{const{getNode:e,getEdge:t}=IT(),n=ct.use.selectedNode(),a=ct.use.focusedNode(),o=ct.use.selectedEdge(),s=ct.use.focusedEdge(),[c,u]=w.useState(null),[f,h]=w.useState(null);return w.useEffect(()=>{let m=null,g=null;a?(m="node",g=e(a)):n?(m="node",g=e(n)):s?(m="edge",g=t(s,!0)):o&&(m="edge",g=t(o,!0)),g?(m=="node"?u(XF(g)):u(KF(g)),h(m)):(u(null),h(null))},[a,n,s,o,u,h,e,t]),c?x.jsx("div",{className:"bg-background/80 max-w-xs rounded-lg border-2 p-2 text-xs backdrop-blur-lg",children:f=="node"?x.jsx(ZF,{node:c}):x.jsx(QF,{edge:c})}):x.jsx(x.Fragment,{})},XF=e=>{const t=ct.getState(),n=[];if(t.sigmaGraph&&t.rawGraph)for(const a of t.sigmaGraph.edges(e.id)){const o=t.rawGraph.getEdge(a,!0);if(o){const s=e.id===o.source,c=s?o.target:o.source,u=t.rawGraph.getNode(c);u&&n.push({type:s?"Target":"Source",id:c,label:u.labels.join(", ")})}}return{...e,relationships:n}},KF=e=>{var o,s;const t=ct.getState(),n=(o=t.rawGraph)==null?void 0:o.getNode(e.source),a=(s=t.rawGraph)==null?void 0:s.getNode(e.target);return{...e,sourceNode:n,targetNode:a}},Er=({name:e,value:t,onClick:n,tooltip:a})=>x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("label",{className:"text-primary/60 tracking-wide",children:e}),":",x.jsx(bn,{className:"hover:bg-primary/20 rounded p-1 text-ellipsis",tooltipClassName:"max-w-80",text:t,tooltip:a||t,side:"left",onClick:n})]}),ZF=({node:e})=>x.jsxs("div",{className:"flex flex-col gap-2",children:[x.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-sky-300",children:"Node"}),x.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[x.jsx(Er,{name:"Id",value:e.id}),x.jsx(Er,{name:"Labels",value:e.labels.join(", "),onClick:()=>{ct.getState().setSelectedNode(e.id,!0)}}),x.jsx(Er,{name:"Degree",value:e.degree})]}),x.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-yellow-400/90",children:"Properties"}),x.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(e.properties).sort().map(t=>x.jsx(Er,{name:t,value:e.properties[t]},t))}),e.relationships.length>0&&x.jsxs(x.Fragment,{children:[x.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-teal-600/90",children:"Relationships"}),x.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:e.relationships.map(({type:t,id:n,label:a})=>x.jsx(Er,{name:t,value:a,onClick:()=>{ct.getState().setSelectedNode(n,!0)}},n))})]})]}),QF=({edge:e})=>x.jsxs("div",{className:"flex flex-col gap-2",children:[x.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-teal-600",children:"Relationship"}),x.jsxs("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:[x.jsx(Er,{name:"Id",value:e.id}),e.type&&x.jsx(Er,{name:"Type",value:e.type}),x.jsx(Er,{name:"Source",value:e.sourceNode?e.sourceNode.labels.join(", "):e.source,onClick:()=>{ct.getState().setSelectedNode(e.source,!0)}}),x.jsx(Er,{name:"Target",value:e.targetNode?e.targetNode.labels.join(", "):e.target,onClick:()=>{ct.getState().setSelectedNode(e.target,!0)}})]}),x.jsx("label",{className:"text-md pl-1 font-bold tracking-wide text-yellow-400/90",children:"Properties"}),x.jsx("div",{className:"bg-primary/5 max-h-96 overflow-auto rounded p-1",children:Object.keys(e.properties).sort().map(t=>x.jsx(Er,{name:t,value:e.properties[t]},t))})]}),h1={allowInvalidContainer:!0,defaultNodeType:"default",defaultEdgeType:"curvedArrow",renderEdgeLabels:!1,edgeProgramClasses:{arrow:L_,curvedArrow:f3,curvedNoArrow:d3},nodeProgramClasses:{default:WG,circel:_l,point:EG},labelGridCellSize:60,labelRenderedSizeThreshold:12,enableEdgeEvents:!0,labelColor:{color:"#000",attribute:"labelColor"},edgeLabelColor:{color:"#000",attribute:"labelColor"},edgeLabelSize:8,labelSize:12},JF=()=>{const e=I_(),t=Kn(),[n,a]=w.useState(null);return w.useEffect(()=>{e({downNode:o=>{a(o.node),t.getGraph().setNodeAttribute(o.node,"highlighted",!0)},mousemovebody:o=>{if(!n)return;const s=t.viewportToGraph(o);t.getGraph().setNodeAttribute(n,"x",s.x),t.getGraph().setNodeAttribute(n,"y",s.y),o.preventSigmaDefault(),o.original.preventDefault(),o.original.stopPropagation()},mouseup:()=>{n&&(a(null),t.getGraph().removeNodeAttribute(n,"highlighted"))},mousedown:()=>{t.getCustomBBox()||t.setCustomBBox(t.getBBox())}})},[e,t,n]),null},eU=()=>{const[e,t]=w.useState(h1),n=ct.use.selectedNode(),a=ct.use.focusedNode(),o=ct.use.moveToSelectedNode(),s=We.use.showPropertyPanel(),c=We.use.showNodeSearchBar(),u=We.use.showNodeLabel(),f=We.use.enableEdgeEvents(),h=We.use.enableNodeDrag(),m=We.use.showEdgeLabel();w.useEffect(()=>{t({...h1,enableEdgeEvents:f,renderEdgeLabels:m,renderLabels:u})},[u,f,m]);const g=w.useCallback(E=>{E===null?ct.getState().setFocusedNode(null):E.type==="nodes"&&ct.getState().setFocusedNode(E.id)},[]),y=w.useCallback(E=>{E===null?ct.getState().setSelectedNode(null):E.type==="nodes"&&ct.getState().setSelectedNode(E.id,!0)},[]),b=w.useMemo(()=>a??n,[a,n]),S=w.useMemo(()=>n?{type:"nodes",id:n}:null,[n]);return x.jsxs(gG,{settings:e,className:"!bg-background !size-full overflow-hidden",children:[x.jsx(hF,{}),h&&x.jsx(JF,{}),x.jsx(m3,{node:b,move:o}),x.jsxs("div",{className:"absolute top-2 left-2 flex items-start gap-2",children:[x.jsx(YF,{}),c&&x.jsx($F,{value:S,onFocus:g,onChange:y})]}),x.jsxs("div",{className:"bg-background/60 absolute bottom-2 left-2 flex flex-col rounded-xl border-2 backdrop-blur-lg",children:[x.jsx(_F,{}),x.jsx(pF,{}),x.jsx(H5,{}),x.jsx(mF,{})]}),s&&x.jsx("div",{className:"absolute top-2 right-2",children:x.jsx(WF,{})})]})},aC=w.forwardRef(({className:e,...t},n)=>x.jsx("div",{className:"relative w-full overflow-auto",children:x.jsx("table",{ref:n,className:Me("w-full caption-bottom text-sm",e),...t})}));aC.displayName="Table";const iC=w.forwardRef(({className:e,...t},n)=>x.jsx("thead",{ref:n,className:Me("[&_tr]:border-b",e),...t}));iC.displayName="TableHeader";const oC=w.forwardRef(({className:e,...t},n)=>x.jsx("tbody",{ref:n,className:Me("[&_tr:last-child]:border-0",e),...t}));oC.displayName="TableBody";const tU=w.forwardRef(({className:e,...t},n)=>x.jsx("tfoot",{ref:n,className:Me("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",e),...t}));tU.displayName="TableFooter";const Om=w.forwardRef(({className:e,...t},n)=>x.jsx("tr",{ref:n,className:Me("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t}));Om.displayName="TableRow";const Jr=w.forwardRef(({className:e,...t},n)=>x.jsx("th",{ref:n,className:Me("text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));Jr.displayName="TableHead";const ea=w.forwardRef(({className:e,...t},n)=>x.jsx("td",{ref:n,className:Me("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));ea.displayName="TableCell";const nU=w.forwardRef(({className:e,...t},n)=>x.jsx("caption",{ref:n,className:Me("text-muted-foreground mt-4 text-sm",e),...t}));nU.displayName="TableCaption";const dl=w.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:Me("bg-card text-card-foreground rounded-xl border shadow",e),...t}));dl.displayName="Card";const zu=w.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:Me("flex flex-col space-y-1.5 p-6",e),...t}));zu.displayName="CardHeader";const fl=w.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:Me("leading-none font-semibold tracking-tight",e),...t}));fl.displayName="CardTitle";const yd=w.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:Me("text-muted-foreground text-sm",e),...t}));yd.displayName="CardDescription";const Mu=w.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:Me("p-6 pt-0",e),...t}));Mu.displayName="CardContent";const rU=w.forwardRef(({className:e,...t},n)=>x.jsx("div",{ref:n,className:Me("flex items-center p-6 pt-0",e),...t}));rU.displayName="CardFooter";function aU({title:e,description:t,icon:n=lO,action:a,className:o,...s}){return x.jsxs(dl,{className:Me("flex w-full flex-col items-center justify-center space-y-6 bg-transparent p-16",o),...s,children:[x.jsx("div",{className:"mr-4 shrink-0 rounded-full border border-dashed p-4",children:x.jsx(n,{className:"text-muted-foreground size-8","aria-hidden":"true"})}),x.jsxs("div",{className:"flex flex-col items-center gap-1.5 text-center",children:[x.jsx(fl,{children:e}),t?x.jsx(yd,{children:t}):null]}),a||null]})}var Hp={exports:{}},$p,p1;function iU(){if(p1)return $p;p1=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return $p=e,$p}var Vp,m1;function oU(){if(m1)return Vp;m1=1;var e=iU();function t(){}function n(){}return n.resetWarningCache=t,Vp=function(){function a(c,u,f,h,m,g){if(g!==e){var y=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw y.name="Invariant Violation",y}}a.isRequired=a;function o(){return a}var s={array:a,bigint:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,any:a,arrayOf:o,element:a,elementType:a,instanceOf:o,node:a,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:n,resetWarningCache:t};return s.PropTypes=s,s},Vp}var g1;function sU(){return g1||(g1=1,Hp.exports=oU()()),Hp.exports}var lU=sU();const gt=dn(lU),cU=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function zo(e,t,n){const a=uU(e),{webkitRelativePath:o}=e,s=typeof t=="string"?t:typeof o=="string"&&o.length>0?o:`./${e.name}`;return typeof a.path!="string"&&v1(a,"path",s),v1(a,"relativePath",s),a}function uU(e){const{name:t}=e;if(t&&t.lastIndexOf(".")!==-1&&!e.type){const a=t.split(".").pop().toLowerCase(),o=cU.get(a);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}function v1(e,t,n){Object.defineProperty(e,t,{value:n,writable:!1,configurable:!1,enumerable:!0})}const dU=[".DS_Store","Thumbs.db"];function fU(e){return Di(this,void 0,void 0,function*(){return Pu(e)&&hU(e.dataTransfer)?vU(e.dataTransfer,e.type):pU(e)?mU(e):Array.isArray(e)&&e.every(t=>"getFile"in t&&typeof t.getFile=="function")?gU(e):[]})}function hU(e){return Pu(e)}function pU(e){return Pu(e)&&Pu(e.target)}function Pu(e){return typeof e=="object"&&e!==null}function mU(e){return jm(e.target.files).map(t=>zo(t))}function gU(e){return Di(this,void 0,void 0,function*(){return(yield Promise.all(e.map(n=>n.getFile()))).map(n=>zo(n))})}function vU(e,t){return Di(this,void 0,void 0,function*(){if(e.items){const n=jm(e.items).filter(o=>o.kind==="file");if(t!=="drop")return n;const a=yield Promise.all(n.map(yU));return y1(sC(a))}return y1(jm(e.files).map(n=>zo(n)))})}function y1(e){return e.filter(t=>dU.indexOf(t.name)===-1)}function jm(e){if(e===null)return[];const t=[];for(let n=0;n[...t,...Array.isArray(n)?sC(n):[n]],[])}function b1(e,t){return Di(this,void 0,void 0,function*(){var n;if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle=="function"){const s=yield e.getAsFileSystemHandle();if(s===null)throw new Error(`${e} is not a File`);if(s!==void 0){const c=yield s.getFile();return c.handle=s,zo(c)}}const a=e.getAsFile();if(!a)throw new Error(`${e} is not a File`);return zo(a,(n=t==null?void 0:t.fullPath)!==null&&n!==void 0?n:void 0)})}function bU(e){return Di(this,void 0,void 0,function*(){return e.isDirectory?lC(e):xU(e)})}function lC(e){const t=e.createReader();return new Promise((n,a)=>{const o=[];function s(){t.readEntries(c=>Di(this,void 0,void 0,function*(){if(c.length){const u=Promise.all(c.map(bU));o.push(u),s()}else try{const u=yield Promise.all(o);n(u)}catch(u){a(u)}}),c=>{a(c)})}s()})}function xU(e){return Di(this,void 0,void 0,function*(){return new Promise((t,n)=>{e.file(a=>{const o=zo(a,e.fullPath);t(o)},a=>{n(a)})})})}var iu={},x1;function wU(){return x1||(x1=1,iu.__esModule=!0,iu.default=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(",");if(n.length===0)return!0;var a=e.name||"",o=(e.type||"").toLowerCase(),s=o.replace(/\/.*$/,"");return n.some(function(c){var u=c.trim().toLowerCase();return u.charAt(0)==="."?a.toLowerCase().endsWith(u):u.endsWith("/*")?s===u.replace(/\/.*$/,""):o===u})}return!0}),iu}var EU=wU();const qp=dn(EU);function w1(e){return TU(e)||_U(e)||uC(e)||SU()}function SU(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _U(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function TU(e){if(Array.isArray(e))return Lm(e)}function E1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,a)}return n}function S1(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,a=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:"",n=t.split(","),a=n.length>1?"one of ".concat(n.join(", ")):n[0];return{code:DU,message:"File type must be ".concat(a)}},_1=function(t){return{code:NU,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},T1=function(t){return{code:OU,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},zU={code:jU,message:"Too many files"};function dC(e,t){var n=e.type==="application/x-moz-file"||kU(e,t);return[n,n?null:LU(t)]}function fC(e,t,n){if(xi(e.size))if(xi(t)&&xi(n)){if(e.size>n)return[!1,_1(n)];if(e.sizen)return[!1,_1(n)]}return[!0,null]}function xi(e){return e!=null}function MU(e){var t=e.files,n=e.accept,a=e.minSize,o=e.maxSize,s=e.multiple,c=e.maxFiles,u=e.validator;return!s&&t.length>1||s&&c>=1&&t.length>c?!1:t.every(function(f){var h=dC(f,n),m=hl(h,1),g=m[0],y=fC(f,a,o),b=hl(y,1),S=b[0],E=u?u(f):null;return g&&S&&!E})}function Gu(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function ou(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function C1(e){e.preventDefault()}function PU(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function GU(e){return e.indexOf("Edge/")!==-1}function FU(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return PU(e)||GU(e)}function xr(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),c=1;ce.length)&&(t=e.length);for(var n=0,a=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}function nB(e,t){if(e==null)return{};var n={},a=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var bd=w.forwardRef(function(e,t){var n=e.children,a=Fu(e,VU),o=rB(a),s=o.open,c=Fu(o,qU);return w.useImperativeHandle(t,function(){return{open:s}},[s]),ve.createElement(w.Fragment,null,n(St(St({},c),{},{open:s})))});bd.displayName="Dropzone";var gC={disabled:!1,getFilesFromEvent:fU,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};bd.defaultProps=gC;bd.propTypes={children:gt.func,accept:gt.objectOf(gt.arrayOf(gt.string)),multiple:gt.bool,preventDropOnDocument:gt.bool,noClick:gt.bool,noKeyboard:gt.bool,noDrag:gt.bool,noDragEventsBubbling:gt.bool,minSize:gt.number,maxSize:gt.number,maxFiles:gt.number,disabled:gt.bool,getFilesFromEvent:gt.func,onFileDialogCancel:gt.func,onFileDialogOpen:gt.func,useFsAccessApi:gt.bool,autoFocus:gt.bool,onDragEnter:gt.func,onDragLeave:gt.func,onDragOver:gt.func,onDrop:gt.func,onDropAccepted:gt.func,onDropRejected:gt.func,onError:gt.func,validator:gt.func};var Pm={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function rB(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=St(St({},gC),e),n=t.accept,a=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,c=t.minSize,u=t.multiple,f=t.maxFiles,h=t.onDragEnter,m=t.onDragLeave,g=t.onDragOver,y=t.onDrop,b=t.onDropAccepted,S=t.onDropRejected,E=t.onFileDialogCancel,_=t.onFileDialogOpen,N=t.useFsAccessApi,T=t.autoFocus,A=t.preventDropOnDocument,D=t.noClick,k=t.noKeyboard,M=t.noDrag,R=t.noDragEventsBubbling,U=t.onError,L=t.validator,I=w.useMemo(function(){return IU(n)},[n]),q=w.useMemo(function(){return BU(n)},[n]),Y=w.useMemo(function(){return typeof _=="function"?_:A1},[_]),B=w.useMemo(function(){return typeof E=="function"?E:A1},[E]),X=w.useRef(null),ne=w.useRef(null),F=w.useReducer(aB,Pm),z=Yp(F,2),j=z[0],K=z[1],G=j.isFocused,H=j.isFileDialogActive,O=w.useRef(typeof window<"u"&&window.isSecureContext&&N&&UU()),$=function(){!O.current&&H&&setTimeout(function(){if(ne.current){var Ae=ne.current.files;Ae.length||(K({type:"closeDialog"}),B())}},300)};w.useEffect(function(){return window.addEventListener("focus",$,!1),function(){window.removeEventListener("focus",$,!1)}},[ne,H,B,O]);var W=w.useRef([]),re=function(Ae){X.current&&X.current.contains(Ae.target)||(Ae.preventDefault(),W.current=[])};w.useEffect(function(){return A&&(document.addEventListener("dragover",C1,!1),document.addEventListener("drop",re,!1)),function(){A&&(document.removeEventListener("dragover",C1),document.removeEventListener("drop",re))}},[X,A]),w.useEffect(function(){return!a&&T&&X.current&&X.current.focus(),function(){}},[X,T,a]);var de=w.useCallback(function(me){U?U(me):console.error(me)},[U]),ie=w.useCallback(function(me){me.preventDefault(),me.persist(),Ee(me),W.current=[].concat(XU(W.current),[me.target]),ou(me)&&Promise.resolve(o(me)).then(function(Ae){if(!(Gu(me)&&!R)){var Oe=Ae.length,He=Oe>0&&MU({files:Ae,accept:I,minSize:c,maxSize:s,multiple:u,maxFiles:f,validator:L}),it=Oe>0&&!He;K({isDragAccept:He,isDragReject:it,isDragActive:!0,type:"setDraggedFiles"}),h&&h(me)}}).catch(function(Ae){return de(Ae)})},[o,h,de,R,I,c,s,u,f,L]),oe=w.useCallback(function(me){me.preventDefault(),me.persist(),Ee(me);var Ae=ou(me);if(Ae&&me.dataTransfer)try{me.dataTransfer.dropEffect="copy"}catch{}return Ae&&g&&g(me),!1},[g,R]),Te=w.useCallback(function(me){me.preventDefault(),me.persist(),Ee(me);var Ae=W.current.filter(function(He){return X.current&&X.current.contains(He)}),Oe=Ae.indexOf(me.target);Oe!==-1&&Ae.splice(Oe,1),W.current=Ae,!(Ae.length>0)&&(K({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),ou(me)&&m&&m(me))},[X,m,R]),he=w.useCallback(function(me,Ae){var Oe=[],He=[];me.forEach(function(it){var Tt=dC(it,I),bt=Yp(Tt,2),qt=bt[0],fn=bt[1],Gt=fC(it,c,s),rt=Yp(Gt,2),Tn=rt[0],xt=rt[1],Lt=L?L(it):null;if(qt&&Tn&&!Lt)Oe.push(it);else{var Ya=[fn,xt];Lt&&(Ya=Ya.concat(Lt)),He.push({file:it,errors:Ya.filter(function(Ni){return Ni})})}}),(!u&&Oe.length>1||u&&f>=1&&Oe.length>f)&&(Oe.forEach(function(it){He.push({file:it,errors:[zU]})}),Oe.splice(0)),K({acceptedFiles:Oe,fileRejections:He,isDragReject:He.length>0,type:"setFiles"}),y&&y(Oe,He,Ae),He.length>0&&S&&S(He,Ae),Oe.length>0&&b&&b(Oe,Ae)},[K,u,I,c,s,f,y,b,S,L]),Se=w.useCallback(function(me){me.preventDefault(),me.persist(),Ee(me),W.current=[],ou(me)&&Promise.resolve(o(me)).then(function(Ae){Gu(me)&&!R||he(Ae,me)}).catch(function(Ae){return de(Ae)}),K({type:"reset"})},[o,he,de,R]),be=w.useCallback(function(){if(O.current){K({type:"openDialog"}),Y();var me={multiple:u,types:q};window.showOpenFilePicker(me).then(function(Ae){return o(Ae)}).then(function(Ae){he(Ae,null),K({type:"closeDialog"})}).catch(function(Ae){HU(Ae)?(B(Ae),K({type:"closeDialog"})):$U(Ae)?(O.current=!1,ne.current?(ne.current.value=null,ne.current.click()):de(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):de(Ae)});return}ne.current&&(K({type:"openDialog"}),Y(),ne.current.value=null,ne.current.click())},[K,Y,B,N,he,de,q,u]),je=w.useCallback(function(me){!X.current||!X.current.isEqualNode(me.target)||(me.key===" "||me.key==="Enter"||me.keyCode===32||me.keyCode===13)&&(me.preventDefault(),be())},[X,be]),Ce=w.useCallback(function(){K({type:"focus"})},[]),ye=w.useCallback(function(){K({type:"blur"})},[]),J=w.useCallback(function(){D||(FU()?setTimeout(be,0):be())},[D,be]),le=function(Ae){return a?null:Ae},_e=function(Ae){return k?null:le(Ae)},pe=function(Ae){return M?null:le(Ae)},Ee=function(Ae){R&&Ae.stopPropagation()},te=w.useMemo(function(){return function(){var me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ae=me.refKey,Oe=Ae===void 0?"ref":Ae,He=me.role,it=me.onKeyDown,Tt=me.onFocus,bt=me.onBlur,qt=me.onClick,fn=me.onDragEnter,Gt=me.onDragOver,rt=me.onDragLeave,Tn=me.onDrop,xt=Fu(me,YU);return St(St(Mm({onKeyDown:_e(xr(it,je)),onFocus:_e(xr(Tt,Ce)),onBlur:_e(xr(bt,ye)),onClick:le(xr(qt,J)),onDragEnter:pe(xr(fn,ie)),onDragOver:pe(xr(Gt,oe)),onDragLeave:pe(xr(rt,Te)),onDrop:pe(xr(Tn,Se)),role:typeof He=="string"&&He!==""?He:"presentation"},Oe,X),!a&&!k?{tabIndex:0}:{}),xt)}},[X,je,Ce,ye,J,ie,oe,Te,Se,k,M,a]),Fe=w.useCallback(function(me){me.stopPropagation()},[]),Pe=w.useMemo(function(){return function(){var me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Ae=me.refKey,Oe=Ae===void 0?"ref":Ae,He=me.onChange,it=me.onClick,Tt=Fu(me,WU),bt=Mm({accept:I,multiple:u,type:"file",style:{border:0,clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"},onChange:le(xr(He,Se)),onClick:le(xr(it,Fe)),tabIndex:-1},Oe,ne);return St(St({},bt),Tt)}},[ne,n,u,Se,a]);return St(St({},j),{},{isFocused:G&&!a,getRootProps:te,getInputProps:Pe,rootRef:X,inputRef:ne,open:le(be)})}function aB(e,t){switch(t.type){case"focus":return St(St({},e),{},{isFocused:!0});case"blur":return St(St({},e),{},{isFocused:!1});case"openDialog":return St(St({},Pm),{},{isFileDialogActive:!0});case"closeDialog":return St(St({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return St(St({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return St(St({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,isDragReject:t.isDragReject});case"reset":return St({},Pm);default:return e}}function A1(){}var Jg="Progress",ev=100,[iB,i6]=fr(Jg),[oB,sB]=iB(Jg),vC=w.forwardRef((e,t)=>{const{__scopeProgress:n,value:a=null,max:o,getValueLabel:s=lB,...c}=e;(o||o===0)&&!k1(o)&&console.error(cB(`${o}`,"Progress"));const u=k1(o)?o:ev;a!==null&&!D1(a,u)&&console.error(uB(`${a}`,"Progress"));const f=D1(a,u)?a:null,h=Uu(f)?s(f,u):void 0;return x.jsx(oB,{scope:n,value:f,max:u,children:x.jsx(Ie.div,{"aria-valuemax":u,"aria-valuemin":0,"aria-valuenow":Uu(f)?f:void 0,"aria-valuetext":h,role:"progressbar","data-state":xC(f,u),"data-value":f??void 0,"data-max":u,...c,ref:t})})});vC.displayName=Jg;var yC="ProgressIndicator",bC=w.forwardRef((e,t)=>{const{__scopeProgress:n,...a}=e,o=sB(yC,n);return x.jsx(Ie.div,{"data-state":xC(o.value,o.max),"data-value":o.value??void 0,"data-max":o.max,...a,ref:t})});bC.displayName=yC;function lB(e,t){return`${Math.round(e/t*100)}%`}function xC(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function Uu(e){return typeof e=="number"}function k1(e){return Uu(e)&&!isNaN(e)&&e>0}function D1(e,t){return Uu(e)&&!isNaN(e)&&e<=t&&e>=0}function cB(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${ev}\`.`}function uB(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: + - a positive number + - less than the value passed to \`max\` (or ${ev} if no \`max\` prop is set) + - \`null\` or \`undefined\` if the progress is indeterminate. + +Defaulting to \`null\`.`}var wC=vC,dB=bC;const EC=w.forwardRef(({className:e,value:t,...n},a)=>x.jsx(wC,{ref:a,className:Me("bg-secondary relative h-4 w-full overflow-hidden rounded-full",e),...n,children:x.jsx(dB,{className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));EC.displayName=wC.displayName;function Gm(e,[t,n]){return Math.min(n,Math.max(t,e))}function fB(e,t){return w.useReducer((n,a)=>t[n][a]??n,e)}var tv="ScrollArea",[SC,o6]=fr(tv),[hB,Zn]=SC(tv),_C=w.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:a="hover",dir:o,scrollHideDelay:s=600,...c}=e,[u,f]=w.useState(null),[h,m]=w.useState(null),[g,y]=w.useState(null),[b,S]=w.useState(null),[E,_]=w.useState(null),[N,T]=w.useState(0),[A,D]=w.useState(0),[k,M]=w.useState(!1),[R,U]=w.useState(!1),L=at(t,q=>f(q)),I=dd(o);return x.jsx(hB,{scope:n,type:a,dir:I,scrollHideDelay:s,scrollArea:u,viewport:h,onViewportChange:m,content:g,onContentChange:y,scrollbarX:b,onScrollbarXChange:S,scrollbarXEnabled:k,onScrollbarXEnabledChange:M,scrollbarY:E,onScrollbarYChange:_,scrollbarYEnabled:R,onScrollbarYEnabledChange:U,onCornerWidthChange:T,onCornerHeightChange:D,children:x.jsx(Ie.div,{dir:I,...c,ref:L,style:{position:"relative","--radix-scroll-area-corner-width":N+"px","--radix-scroll-area-corner-height":A+"px",...e.style}})})});_C.displayName=tv;var TC="ScrollAreaViewport",CC=w.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:a,nonce:o,...s}=e,c=Zn(TC,n),u=w.useRef(null),f=at(t,u,c.onViewportChange);return x.jsxs(x.Fragment,{children:[x.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),x.jsx(Ie.div,{"data-radix-scroll-area-viewport":"",...s,ref:f,style:{overflowX:c.scrollbarXEnabled?"scroll":"hidden",overflowY:c.scrollbarYEnabled?"scroll":"hidden",...e.style},children:x.jsx("div",{ref:c.onContentChange,style:{minWidth:"100%",display:"table"},children:a})})]})});CC.displayName=TC;var Dr="ScrollAreaScrollbar",nv=w.forwardRef((e,t)=>{const{forceMount:n,...a}=e,o=Zn(Dr,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:c}=o,u=e.orientation==="horizontal";return w.useEffect(()=>(u?s(!0):c(!0),()=>{u?s(!1):c(!1)}),[u,s,c]),o.type==="hover"?x.jsx(pB,{...a,ref:t,forceMount:n}):o.type==="scroll"?x.jsx(mB,{...a,ref:t,forceMount:n}):o.type==="auto"?x.jsx(RC,{...a,ref:t,forceMount:n}):o.type==="always"?x.jsx(rv,{...a,ref:t}):null});nv.displayName=Dr;var pB=w.forwardRef((e,t)=>{const{forceMount:n,...a}=e,o=Zn(Dr,e.__scopeScrollArea),[s,c]=w.useState(!1);return w.useEffect(()=>{const u=o.scrollArea;let f=0;if(u){const h=()=>{window.clearTimeout(f),c(!0)},m=()=>{f=window.setTimeout(()=>c(!1),o.scrollHideDelay)};return u.addEventListener("pointerenter",h),u.addEventListener("pointerleave",m),()=>{window.clearTimeout(f),u.removeEventListener("pointerenter",h),u.removeEventListener("pointerleave",m)}}},[o.scrollArea,o.scrollHideDelay]),x.jsx(Ln,{present:n||s,children:x.jsx(RC,{"data-state":s?"visible":"hidden",...a,ref:t})})}),mB=w.forwardRef((e,t)=>{const{forceMount:n,...a}=e,o=Zn(Dr,e.__scopeScrollArea),s=e.orientation==="horizontal",c=wd(()=>f("SCROLL_END"),100),[u,f]=fB("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return w.useEffect(()=>{if(u==="idle"){const h=window.setTimeout(()=>f("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(h)}},[u,o.scrollHideDelay,f]),w.useEffect(()=>{const h=o.viewport,m=s?"scrollLeft":"scrollTop";if(h){let g=h[m];const y=()=>{const b=h[m];g!==b&&(f("SCROLL"),c()),g=b};return h.addEventListener("scroll",y),()=>h.removeEventListener("scroll",y)}},[o.viewport,s,f,c]),x.jsx(Ln,{present:n||u!=="hidden",children:x.jsx(rv,{"data-state":u==="hidden"?"hidden":"visible",...a,ref:t,onPointerEnter:Be(e.onPointerEnter,()=>f("POINTER_ENTER")),onPointerLeave:Be(e.onPointerLeave,()=>f("POINTER_LEAVE"))})})}),RC=w.forwardRef((e,t)=>{const n=Zn(Dr,e.__scopeScrollArea),{forceMount:a,...o}=e,[s,c]=w.useState(!1),u=e.orientation==="horizontal",f=wd(()=>{if(n.viewport){const h=n.viewport.offsetWidth{const{orientation:n="vertical",...a}=e,o=Zn(Dr,e.__scopeScrollArea),s=w.useRef(null),c=w.useRef(0),[u,f]=w.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),h=OC(u.viewport,u.content),m={...a,sizes:u,onSizesChange:f,hasThumb:h>0&&h<1,onThumbChange:y=>s.current=y,onThumbPointerUp:()=>c.current=0,onThumbPointerDown:y=>c.current=y};function g(y,b){return wB(y,c.current,u,b)}return n==="horizontal"?x.jsx(gB,{...m,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const y=o.viewport.scrollLeft,b=N1(y,u,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:y=>{o.viewport&&(o.viewport.scrollLeft=y)},onDragScroll:y=>{o.viewport&&(o.viewport.scrollLeft=g(y,o.dir))}}):n==="vertical"?x.jsx(vB,{...m,ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const y=o.viewport.scrollTop,b=N1(y,u);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:y=>{o.viewport&&(o.viewport.scrollTop=y)},onDragScroll:y=>{o.viewport&&(o.viewport.scrollTop=g(y))}}):null}),gB=w.forwardRef((e,t)=>{const{sizes:n,onSizesChange:a,...o}=e,s=Zn(Dr,e.__scopeScrollArea),[c,u]=w.useState(),f=w.useRef(null),h=at(t,f,s.onScrollbarXChange);return w.useEffect(()=>{f.current&&u(getComputedStyle(f.current))},[f]),x.jsx(kC,{"data-orientation":"horizontal",...o,ref:h,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":xd(n)+"px",...e.style},onThumbPointerDown:m=>e.onThumbPointerDown(m.x),onDragScroll:m=>e.onDragScroll(m.x),onWheelScroll:(m,g)=>{if(s.viewport){const y=s.viewport.scrollLeft+m.deltaX;e.onWheelScroll(y),LC(y,g)&&m.preventDefault()}},onResize:()=>{f.current&&s.viewport&&c&&a({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:f.current.clientWidth,paddingStart:Iu(c.paddingLeft),paddingEnd:Iu(c.paddingRight)}})}})}),vB=w.forwardRef((e,t)=>{const{sizes:n,onSizesChange:a,...o}=e,s=Zn(Dr,e.__scopeScrollArea),[c,u]=w.useState(),f=w.useRef(null),h=at(t,f,s.onScrollbarYChange);return w.useEffect(()=>{f.current&&u(getComputedStyle(f.current))},[f]),x.jsx(kC,{"data-orientation":"vertical",...o,ref:h,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":xd(n)+"px",...e.style},onThumbPointerDown:m=>e.onThumbPointerDown(m.y),onDragScroll:m=>e.onDragScroll(m.y),onWheelScroll:(m,g)=>{if(s.viewport){const y=s.viewport.scrollTop+m.deltaY;e.onWheelScroll(y),LC(y,g)&&m.preventDefault()}},onResize:()=>{f.current&&s.viewport&&c&&a({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:f.current.clientHeight,paddingStart:Iu(c.paddingTop),paddingEnd:Iu(c.paddingBottom)}})}})}),[yB,AC]=SC(Dr),kC=w.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:a,hasThumb:o,onThumbChange:s,onThumbPointerUp:c,onThumbPointerDown:u,onThumbPositionChange:f,onDragScroll:h,onWheelScroll:m,onResize:g,...y}=e,b=Zn(Dr,n),[S,E]=w.useState(null),_=at(t,L=>E(L)),N=w.useRef(null),T=w.useRef(""),A=b.viewport,D=a.content-a.viewport,k=Zt(m),M=Zt(f),R=wd(g,10);function U(L){if(N.current){const I=L.clientX-N.current.left,q=L.clientY-N.current.top;h({x:I,y:q})}}return w.useEffect(()=>{const L=I=>{const q=I.target;(S==null?void 0:S.contains(q))&&k(I,D)};return document.addEventListener("wheel",L,{passive:!1}),()=>document.removeEventListener("wheel",L,{passive:!1})},[A,S,D,k]),w.useEffect(M,[a,M]),Mo(S,R),Mo(b.content,R),x.jsx(yB,{scope:n,scrollbar:S,hasThumb:o,onThumbChange:Zt(s),onThumbPointerUp:Zt(c),onThumbPositionChange:M,onThumbPointerDown:Zt(u),children:x.jsx(Ie.div,{...y,ref:_,style:{position:"absolute",...y.style},onPointerDown:Be(e.onPointerDown,L=>{L.button===0&&(L.target.setPointerCapture(L.pointerId),N.current=S.getBoundingClientRect(),T.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",b.viewport&&(b.viewport.style.scrollBehavior="auto"),U(L))}),onPointerMove:Be(e.onPointerMove,U),onPointerUp:Be(e.onPointerUp,L=>{const I=L.target;I.hasPointerCapture(L.pointerId)&&I.releasePointerCapture(L.pointerId),document.body.style.webkitUserSelect=T.current,b.viewport&&(b.viewport.style.scrollBehavior=""),N.current=null})})})}),Bu="ScrollAreaThumb",DC=w.forwardRef((e,t)=>{const{forceMount:n,...a}=e,o=AC(Bu,e.__scopeScrollArea);return x.jsx(Ln,{present:n||o.hasThumb,children:x.jsx(bB,{ref:t,...a})})}),bB=w.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:a,...o}=e,s=Zn(Bu,n),c=AC(Bu,n),{onThumbPositionChange:u}=c,f=at(t,g=>c.onThumbChange(g)),h=w.useRef(void 0),m=wd(()=>{h.current&&(h.current(),h.current=void 0)},100);return w.useEffect(()=>{const g=s.viewport;if(g){const y=()=>{if(m(),!h.current){const b=EB(g,u);h.current=b,u()}};return u(),g.addEventListener("scroll",y),()=>g.removeEventListener("scroll",y)}},[s.viewport,m,u]),x.jsx(Ie.div,{"data-state":c.hasThumb?"visible":"hidden",...o,ref:f,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...a},onPointerDownCapture:Be(e.onPointerDownCapture,g=>{const b=g.target.getBoundingClientRect(),S=g.clientX-b.left,E=g.clientY-b.top;c.onThumbPointerDown({x:S,y:E})}),onPointerUp:Be(e.onPointerUp,c.onThumbPointerUp)})});DC.displayName=Bu;var av="ScrollAreaCorner",NC=w.forwardRef((e,t)=>{const n=Zn(av,e.__scopeScrollArea),a=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&a?x.jsx(xB,{...e,ref:t}):null});NC.displayName=av;var xB=w.forwardRef((e,t)=>{const{__scopeScrollArea:n,...a}=e,o=Zn(av,n),[s,c]=w.useState(0),[u,f]=w.useState(0),h=!!(s&&u);return Mo(o.scrollbarX,()=>{var g;const m=((g=o.scrollbarX)==null?void 0:g.offsetHeight)||0;o.onCornerHeightChange(m),f(m)}),Mo(o.scrollbarY,()=>{var g;const m=((g=o.scrollbarY)==null?void 0:g.offsetWidth)||0;o.onCornerWidthChange(m),c(m)}),h?x.jsx(Ie.div,{...a,ref:t,style:{width:s,height:u,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Iu(e){return e?parseInt(e,10):0}function OC(e,t){const n=e/t;return isNaN(n)?0:n}function xd(e){const t=OC(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=(e.scrollbar.size-n)*t;return Math.max(a,18)}function wB(e,t,n,a="ltr"){const o=xd(n),s=o/2,c=t||s,u=o-c,f=n.scrollbar.paddingStart+c,h=n.scrollbar.size-n.scrollbar.paddingEnd-u,m=n.content-n.viewport,g=a==="ltr"?[0,m]:[m*-1,0];return jC([f,h],g)(e)}function N1(e,t,n="ltr"){const a=xd(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,c=t.content-t.viewport,u=s-a,f=n==="ltr"?[0,c]:[c*-1,0],h=Gm(e,f);return jC([0,c],[0,u])(h)}function jC(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const a=(t[1]-t[0])/(e[1]-e[0]);return t[0]+a*(n-e[0])}}function LC(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},a=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},c=n.left!==s.left,u=n.top!==s.top;(c||u)&&t(),n=s,a=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(a)};function wd(e,t){const n=Zt(e),a=w.useRef(0);return w.useEffect(()=>()=>window.clearTimeout(a.current),[]),w.useCallback(()=>{window.clearTimeout(a.current),a.current=window.setTimeout(n,t)},[n,t])}function Mo(e,t){const n=Zt(t);on(()=>{let a=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(a),a=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(a),o.unobserve(e)}}},[e,n])}var zC=_C,SB=CC,_B=NC;const MC=w.forwardRef(({className:e,children:t,...n},a)=>x.jsxs(zC,{ref:a,className:Me("relative overflow-hidden",e),...n,children:[x.jsx(SB,{className:"h-full w-full rounded-[inherit]",children:t}),x.jsx(PC,{}),x.jsx(_B,{})]}));MC.displayName=zC.displayName;const PC=w.forwardRef(({className:e,orientation:t="vertical",...n},a)=>x.jsx(nv,{ref:a,orientation:t,className:Me("flex touch-none transition-colors select-none",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...n,children:x.jsx(DC,{className:"bg-border relative flex-1 rounded-full"})}));PC.displayName=nv.displayName;function Fm(e,t={}){const{decimals:n=0,sizeType:a="normal"}=t,o=["Bytes","KB","MB","GB","TB"],s=["Bytes","KiB","MiB","GiB","TiB"];if(e===0)return"0 Byte";const c=Math.floor(Math.log(e)/Math.log(1024));return`${(e/Math.pow(1024,c)).toFixed(n)} ${a==="accurate"?s[c]??"Bytes":o[c]??"Bytes"}`}function TB(e){const{value:t,onValueChange:n,onUpload:a,progresses:o,accept:s=rD,maxSize:c=1024*1024*200,maxFileCount:u=1,multiple:f=!1,disabled:h=!1,description:m,className:g,...y}=e,[b,S]=oa({prop:t,onChange:n}),E=w.useCallback((T,A)=>{if(!f&&u===1&&T.length>1){un.error("Cannot upload more than 1 file at a time");return}if(((b==null?void 0:b.length)??0)+T.length>u){un.error(`Cannot upload more than ${u} files`);return}const D=T.map(M=>Object.assign(M,{preview:URL.createObjectURL(M)})),k=b?[...b,...D]:D;if(S(k),A.length>0&&A.forEach(({file:M})=>{un.error(`File ${M.name} was rejected`)}),a&&k.length>0&&k.length<=u){const M=k.length>0?`${k.length} files`:"file";un.promise(a(k),{loading:`Uploading ${M}...`,success:()=>(S([]),`${M} uploaded`),error:`Failed to upload ${M}`})}},[b,u,f,a,S]);function _(T){if(!b)return;const A=b.filter((D,k)=>k!==T);S(A),n==null||n(A)}w.useEffect(()=>()=>{b&&b.forEach(T=>{GC(T)&&URL.revokeObjectURL(T.preview)})},[]);const N=h||((b==null?void 0:b.length)??0)>=u;return x.jsxs("div",{className:"relative flex flex-col gap-6 overflow-hidden",children:[x.jsx(bd,{onDrop:E,accept:s,maxSize:c,maxFiles:u,multiple:u>1||f,disabled:N,children:({getRootProps:T,getInputProps:A,isDragActive:D})=>x.jsxs("div",{...T(),className:Me("group border-muted-foreground/25 hover:bg-muted/25 relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition","ring-offset-background focus-visible:ring-ring focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",D&&"border-muted-foreground/50",N&&"pointer-events-none opacity-60",g),...y,children:[x.jsx("input",{...A()}),D?x.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 sm:px-5",children:[x.jsx("div",{className:"rounded-full border border-dashed p-3",children:x.jsx(im,{className:"text-muted-foreground size-7","aria-hidden":"true"})}),x.jsx("p",{className:"text-muted-foreground font-medium",children:"Drop the files here"})]}):x.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 sm:px-5",children:[x.jsx("div",{className:"rounded-full border border-dashed p-3",children:x.jsx(im,{className:"text-muted-foreground size-7","aria-hidden":"true"})}),x.jsxs("div",{className:"flex flex-col gap-px",children:[x.jsx("p",{className:"text-muted-foreground font-medium",children:"Drag and drop files here, or click to select files"}),m?x.jsx("p",{className:"text-muted-foreground/70 text-sm",children:m}):x.jsxs("p",{className:"text-muted-foreground/70 text-sm",children:["You can upload",u>1?` ${u===1/0?"multiple":u} + files (up to ${Fm(c)} each)`:` a file with ${Fm(c)}`,"Supported formats: TXT, MD, DOC, PDF, PPTX"]})]})]})]})}),b!=null&&b.length?x.jsx(MC,{className:"h-fit w-full px-3",children:x.jsx("div",{className:"flex max-h-48 flex-col gap-4",children:b==null?void 0:b.map((T,A)=>x.jsx(CB,{file:T,onRemove:()=>_(A),progress:o==null?void 0:o[T.name]},A))})}):null]})}function CB({file:e,progress:t,onRemove:n}){return x.jsxs("div",{className:"relative flex items-center gap-2.5",children:[x.jsxs("div",{className:"flex flex-1 gap-2.5",children:[GC(e)?x.jsx(RB,{file:e}):null,x.jsxs("div",{className:"flex w-full flex-col gap-2",children:[x.jsxs("div",{className:"flex flex-col gap-px",children:[x.jsx("p",{className:"text-foreground/80 line-clamp-1 text-sm font-medium",children:e.name}),x.jsx("p",{className:"text-muted-foreground text-xs",children:Fm(e.size)})]}),t?x.jsx(EC,{value:t}):null]})]}),x.jsx("div",{className:"flex items-center gap-2",children:x.jsxs(_t,{type:"button",variant:"outline",size:"icon",className:"size-7",onClick:n,children:[x.jsx(OE,{className:"size-4","aria-hidden":"true"}),x.jsx("span",{className:"sr-only",children:"Remove file"})]})})]})}function GC(e){return"preview"in e&&typeof e.preview=="string"}function RB({file:e}){return e.type.startsWith("image/")?x.jsx("div",{className:"aspect-square shrink-0 rounded-md object-cover"}):x.jsx(oO,{className:"text-muted-foreground size-10","aria-hidden":"true"})}function AB(){const[e,t]=w.useState(!1),[n,a]=w.useState(!1),[o,s]=w.useState({}),c=w.useCallback(async u=>{a(!0);try{await Promise.all(u.map(async f=>{try{const h=await VN(f,m=>{console.debug(`Uploading ${f.name}: ${m}%`),s(g=>({...g,[f.name]:m}))});h.status==="success"?un.success(`Upload Success: +${f.name} uploaded successfully`):un.error(`Upload Failed: +${f.name} +${h.message}`)}catch(h){un.error(`Upload Failed: +${f.name} +${Sr(h)}`)}}))}catch(f){un.error(`Upload Failed +`+Sr(f))}finally{a(!1)}},[a,s]);return x.jsxs(FT,{open:e,onOpenChange:u=>{n&&!u||t(u)},children:[x.jsx(UT,{asChild:!0,children:x.jsxs(_t,{variant:"default",side:"bottom",tooltip:"Upload documents",size:"sm",children:[x.jsx(im,{})," Upload"]})}),x.jsxs(Hg,{className:"sm:max-w-xl",onCloseAutoFocus:u=>u.preventDefault(),children:[x.jsxs($g,{children:[x.jsx(Vg,{children:"Upload documents"}),x.jsx(qg,{children:"Drag and drop your documents here or click to browse."})]}),x.jsx(TB,{maxFileCount:1/0,maxSize:200*1024*1024,description:"supported types: TXT, MD, DOC, PDF, PPTX",onUpload:c,progresses:o,disabled:n})]})]})}function kB(){const[e,t]=w.useState(!1),n=w.useCallback(async()=>{try{const a=await qN();a.status==="success"?(un.success("Documents cleared successfully"),t(!1)):un.error(`Clear Documents Failed: +${a.message}`)}catch(a){un.error(`Clear Documents Failed: +`+Sr(a))}},[t]);return x.jsxs(FT,{open:e,onOpenChange:t,children:[x.jsx(UT,{asChild:!0,children:x.jsxs(_t,{variant:"outline",side:"bottom",tooltip:"Clear documents",size:"sm",children:[x.jsx(DE,{})," Clear"]})}),x.jsxs(Hg,{className:"sm:max-w-xl",onCloseAutoFocus:a=>a.preventDefault(),children:[x.jsxs($g,{children:[x.jsx(Vg,{children:"Clear documents"}),x.jsx(qg,{children:"Do you really want to clear all documents?"})]}),x.jsx(_t,{variant:"destructive",onClick:n,children:"YES"})]})]})}function DB(){const e=Wn.use.health(),[t,n]=w.useState(null),a=w.useCallback(async()=>{try{const s=await BN();s&&s.statuses?n(s):n(null)}catch(s){un.error(`Failed to load documents +`+Sr(s))}},[n]);w.useEffect(()=>{a()},[]);const o=w.useCallback(async()=>{try{const{status:s}=await IN();un.message(s)}catch(s){un.error(`Failed to load documents +`+Sr(s))}},[]);return w.useEffect(()=>{const s=setInterval(async()=>{if(e)try{await a()}catch(c){un.error(`Failed to get scan progress +`+Sr(c))}},5e3);return()=>clearInterval(s)},[e,a]),x.jsxs(dl,{className:"!size-full !rounded-none !border-none",children:[x.jsx(zu,{children:x.jsx(fl,{className:"text-lg",children:"Document Management"})}),x.jsxs(Mu,{className:"space-y-4",children:[x.jsxs("div",{className:"flex gap-2",children:[x.jsxs(_t,{variant:"outline",onClick:o,side:"bottom",tooltip:"Scan documents",size:"sm",children:[x.jsx(kO,{})," Scan"]}),x.jsx("div",{className:"flex-1"}),x.jsx(kB,{}),x.jsx(AB,{})]}),x.jsxs(dl,{children:[x.jsxs(zu,{children:[x.jsx(fl,{children:"Uploaded documents"}),x.jsx(yd,{children:"view the uploaded documents here"})]}),x.jsxs(Mu,{children:[!t&&x.jsx(aU,{title:"No documents uploaded",description:"upload documents to see them here"}),t&&x.jsxs(aC,{children:[x.jsx(iC,{children:x.jsxs(Om,{children:[x.jsx(Jr,{children:"ID"}),x.jsx(Jr,{children:"Summary"}),x.jsx(Jr,{children:"Status"}),x.jsx(Jr,{children:"Length"}),x.jsx(Jr,{children:"Chunks"}),x.jsx(Jr,{children:"Created"}),x.jsx(Jr,{children:"Updated"}),x.jsx(Jr,{children:"Metadata"})]})}),x.jsx(oC,{className:"text-sm",children:Object.entries(t.statuses).map(([s,c])=>c.map(u=>x.jsxs(Om,{children:[x.jsx(ea,{className:"truncate font-mono",children:u.id}),x.jsx(ea,{className:"max-w-xs min-w-24 truncate",children:x.jsx(bn,{text:u.content_summary,tooltip:u.content_summary,tooltipClassName:"max-w-none overflow-visible block"})}),x.jsxs(ea,{children:[s==="processed"&&x.jsx("span",{className:"text-green-600",children:"Completed"}),s==="processing"&&x.jsx("span",{className:"text-blue-600",children:"Processing"}),s==="pending"&&x.jsx("span",{className:"text-yellow-600",children:"Pending"}),s==="failed"&&x.jsx("span",{className:"text-red-600",children:"Failed"}),u.error&&x.jsx("span",{className:"ml-2 text-red-500",title:u.error,children:"⚠️"})]}),x.jsx(ea,{children:u.content_length??"-"}),x.jsx(ea,{children:u.chunks_count??"-"}),x.jsx(ea,{className:"truncate",children:new Date(u.created_at).toLocaleString()}),x.jsx(ea,{className:"truncate",children:new Date(u.updated_at).toLocaleString()}),x.jsx(ea,{className:"max-w-xs truncate",children:u.metadata?JSON.stringify(u.metadata):"-"})]},u.id)))})]})]})]})]})]})}function FC(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,a=Object.getOwnPropertySymbols(e);o=u?o=o+O1("0",c-u):o=(o.substring(0,c)||"0")+"."+o.substring(c),n+o}function j1(e,t,n){if(["","-"].indexOf(e)!==-1)return e;var a=(e.indexOf(".")!==-1||n)&&t,o=iv(e),s=o.beforeDecimal,c=o.afterDecimal,u=o.hasNegation,f=parseFloat("0."+(c||"0")),h=c.length<=t?"0."+c:f.toFixed(t),m=h.split("."),g=s;s&&Number(m[0])&&(g=s.split("").reverse().reduce(function(E,_,N){return E.length>N?(Number(E[0])+Number(_)).toString()+E.substring(1,E.length):_+E},m[0]));var y=IC(m[1]||"",t,n),b=u?"-":"",S=a?".":"";return""+b+g+S+y}function wi(e,t){if(e.value=e.value,e!==null){if(e.createTextRange){var n=e.createTextRange();return n.move("character",t),n.select(),!0}return e.selectionStart||e.selectionStart===0?(e.focus(),e.setSelectionRange(t,t),!0):(e.focus(),!1)}}var $C=NB(function(e,t){for(var n=0,a=0,o=e.length,s=t.length;e[n]===t[n]&&nn&&o-a>n;)a++;return{from:{start:n,end:o-a},to:{start:n,end:s-a}}}),PB=function(e,t){var n=Math.min(e.selectionStart,t);return{from:{start:n,end:e.selectionEnd},to:{start:n,end:t}}};function GB(e,t,n){return Math.min(Math.max(e,t),n)}function Wp(e){return Math.max(e.selectionStart,e.selectionEnd)}function FB(){return typeof navigator<"u"&&!(navigator.platform&&/iPhone|iPod/.test(navigator.platform))}function UB(e){return{from:{start:0,end:0},to:{start:0,end:e.length},lastValue:""}}function BB(e){var t=e.currentValue,n=e.formattedValue,a=e.currentValueIndex,o=e.formattedValueIndex;return t[a]===n[o]}function IB(e,t,n,a,o,s,c){c===void 0&&(c=BB);var u=o.findIndex(function(D){return D}),f=e.slice(0,u);!t&&!n.startsWith(f)&&(t=f,n=f+n,a=a+f.length);for(var h=n.length,m=e.length,g={},y=new Array(h),b=0;b0&&y[N]===-1;)N--;var A=N===-1||y[N]===-1?0:y[N]+1;return A>T?T:a-A=0&&!n[t];)t--;t===-1&&(t=n.indexOf(!0))}else{for(;t<=o&&!n[t];)t++;t>o&&(t=n.lastIndexOf(!0))}return t===-1&&(t=o),t}function HB(e){for(var t=Array.from({length:e.length+1}).map(function(){return!0}),n=0,a=t.length;nR.length-c.length||Mq||g>e.length-c.length)&&(I=g),e=e.substring(0,I),e=YB(A?"-"+e:e,o),e=(e.match(WB(S))||[]).join("");var Y=e.indexOf(S);e=e.replace(new RegExp(BC(S),"g"),function(z,j){return j===Y?".":""});var B=iv(e,o),X=B.beforeDecimal,ne=B.afterDecimal,F=B.addNegation;return h.end-h.startH?!1:G>=re.start&&G{const[E,_]=w.useState(y??a),N=w.useCallback(()=>{_(k=>k===void 0?e??1:Math.min(k+(e??1),s))},[e,s]),T=w.useCallback(()=>{_(k=>k===void 0?-(e??1):Math.max(k-(e??1),o))},[e,o]);w.useEffect(()=>{y!==void 0&&_(y)},[y]);const A=k=>{const M=k.floatValue===void 0?void 0:k.floatValue;_(M),c&&c(M)},D=()=>{E!==void 0&&(Es&&(_(s),S.current.value=String(s)))};return x.jsxs("div",{className:"relative flex",children:[x.jsx(eI,{value:E,onValueChange:A,thousandSeparator:t,decimalScale:f,fixedDecimalScale:u,allowNegative:o<0,valueIsNumericString:!0,onBlur:D,max:s,min:o,suffix:m,prefix:g,customInput:k=>x.jsx(Lo,{...k,className:Me("w-full",h)}),placeholder:n,className:"[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none",getInputRef:S,...b}),x.jsxs("div",{className:"absolute top-0 right-0 bottom-0 flex flex-col",children:[x.jsx(_t,{"aria-label":"Increase value",className:"border-input h-1/2 rounded-l-none rounded-br-none border-b border-l px-2 focus-visible:relative",variant:"outline",onClick:N,disabled:E===s,children:x.jsx(kE,{size:15})}),x.jsx(_t,{"aria-label":"Decrease value",className:"border-input h-1/2 rounded-l-none rounded-tr-none border-b border-l px-2 focus-visible:relative",variant:"outline",onClick:T,disabled:E===o,children:x.jsx(tg,{size:15})})]})]})});_o.displayName="NumberInput";var tI=[" ","Enter","ArrowUp","ArrowDown"],nI=[" ","Enter"],kl="Select",[Sd,_d,rI]=PS(kl),[Ko,s6]=fr(kl,[rI,Ho]),Td=Ho(),[aI,Va]=Ko(kl),[iI,oI]=Ko(kl),qC=e=>{const{__scopeSelect:t,children:n,open:a,defaultOpen:o,onOpenChange:s,value:c,defaultValue:u,onValueChange:f,dir:h,name:m,autoComplete:g,disabled:y,required:b,form:S}=e,E=Td(t),[_,N]=w.useState(null),[T,A]=w.useState(null),[D,k]=w.useState(!1),M=dd(h),[R=!1,U]=oa({prop:a,defaultProp:o,onChange:s}),[L,I]=oa({prop:c,defaultProp:u,onChange:f}),q=w.useRef(null),Y=_?S||!!_.closest("form"):!0,[B,X]=w.useState(new Set),ne=Array.from(B).map(F=>F.props.value).join(";");return x.jsx(fg,{...E,children:x.jsxs(aI,{required:b,scope:t,trigger:_,onTriggerChange:N,valueNode:T,onValueNodeChange:A,valueNodeHasChildren:D,onValueNodeHasChildrenChange:k,contentId:an(),value:L,onValueChange:I,open:R,onOpenChange:U,dir:M,triggerPointerDownPosRef:q,disabled:y,children:[x.jsx(Sd.Provider,{scope:t,children:x.jsx(iI,{scope:e.__scopeSelect,onNativeOptionAdd:w.useCallback(F=>{X(z=>new Set(z).add(F))},[]),onNativeOptionRemove:w.useCallback(F=>{X(z=>{const j=new Set(z);return j.delete(F),j})},[]),children:n})}),Y?x.jsxs(yR,{"aria-hidden":!0,required:b,tabIndex:-1,name:m,autoComplete:g,value:L,onChange:F=>I(F.target.value),disabled:y,form:S,children:[L===void 0?x.jsx("option",{value:""}):null,Array.from(B)]},ne):null]})})};qC.displayName=kl;var YC="SelectTrigger",WC=w.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:a=!1,...o}=e,s=Td(n),c=Va(YC,n),u=c.disabled||a,f=at(t,c.onTriggerChange),h=_d(n),m=w.useRef("touch"),[g,y,b]=bR(E=>{const _=h().filter(A=>!A.disabled),N=_.find(A=>A.value===c.value),T=xR(_,E,N);T!==void 0&&c.onValueChange(T.value)}),S=E=>{u||(c.onOpenChange(!0),b()),E&&(c.triggerPointerDownPosRef.current={x:Math.round(E.pageX),y:Math.round(E.pageY)})};return x.jsx(td,{asChild:!0,...s,children:x.jsx(Ie.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":vR(c.value)?"":void 0,...o,ref:f,onClick:Be(o.onClick,E=>{E.currentTarget.focus(),m.current!=="mouse"&&S(E)}),onPointerDown:Be(o.onPointerDown,E=>{m.current=E.pointerType;const _=E.target;_.hasPointerCapture(E.pointerId)&&_.releasePointerCapture(E.pointerId),E.button===0&&E.ctrlKey===!1&&E.pointerType==="mouse"&&(S(E),E.preventDefault())}),onKeyDown:Be(o.onKeyDown,E=>{const _=g.current!=="";!(E.ctrlKey||E.altKey||E.metaKey)&&E.key.length===1&&y(E.key),!(_&&E.key===" ")&&tI.includes(E.key)&&(S(),E.preventDefault())})})})});WC.displayName=YC;var XC="SelectValue",KC=w.forwardRef((e,t)=>{const{__scopeSelect:n,className:a,style:o,children:s,placeholder:c="",...u}=e,f=Va(XC,n),{onValueNodeHasChildrenChange:h}=f,m=s!==void 0,g=at(t,f.onValueNodeChange);return on(()=>{h(m)},[h,m]),x.jsx(Ie.span,{...u,ref:g,style:{pointerEvents:"none"},children:vR(f.value)?x.jsx(x.Fragment,{children:c}):s})});KC.displayName=XC;var sI="SelectIcon",ZC=w.forwardRef((e,t)=>{const{__scopeSelect:n,children:a,...o}=e;return x.jsx(Ie.span,{"aria-hidden":!0,...o,ref:t,children:a||"▼"})});ZC.displayName=sI;var lI="SelectPortal",QC=e=>x.jsx(nd,{asChild:!0,...e});QC.displayName=lI;var ki="SelectContent",JC=w.forwardRef((e,t)=>{const n=Va(ki,e.__scopeSelect),[a,o]=w.useState();if(on(()=>{o(new DocumentFragment)},[]),!n.open){const s=a;return s?yl.createPortal(x.jsx(eR,{scope:e.__scopeSelect,children:x.jsx(Sd.Slot,{scope:e.__scopeSelect,children:x.jsx("div",{children:e.children})})}),s):null}return x.jsx(tR,{...e,ref:t})});JC.displayName=ki;var or=10,[eR,qa]=Ko(ki),cI="SelectContentImpl",tR=w.forwardRef((e,t)=>{const{__scopeSelect:n,position:a="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:c,side:u,sideOffset:f,align:h,alignOffset:m,arrowPadding:g,collisionBoundary:y,collisionPadding:b,sticky:S,hideWhenDetached:E,avoidCollisions:_,...N}=e,T=Va(ki,n),[A,D]=w.useState(null),[k,M]=w.useState(null),R=at(t,ie=>D(ie)),[U,L]=w.useState(null),[I,q]=w.useState(null),Y=_d(n),[B,X]=w.useState(!1),ne=w.useRef(!1);w.useEffect(()=>{if(A)return mg(A)},[A]),ng();const F=w.useCallback(ie=>{const[oe,...Te]=Y().map(be=>be.ref.current),[he]=Te.slice(-1),Se=document.activeElement;for(const be of ie)if(be===Se||(be==null||be.scrollIntoView({block:"nearest"}),be===oe&&k&&(k.scrollTop=0),be===he&&k&&(k.scrollTop=k.scrollHeight),be==null||be.focus(),document.activeElement!==Se))return},[Y,k]),z=w.useCallback(()=>F([U,A]),[F,U,A]);w.useEffect(()=>{B&&z()},[B,z]);const{onOpenChange:j,triggerPointerDownPosRef:K}=T;w.useEffect(()=>{if(A){let ie={x:0,y:0};const oe=he=>{var Se,be;ie={x:Math.abs(Math.round(he.pageX)-(((Se=K.current)==null?void 0:Se.x)??0)),y:Math.abs(Math.round(he.pageY)-(((be=K.current)==null?void 0:be.y)??0))}},Te=he=>{ie.x<=10&&ie.y<=10?he.preventDefault():A.contains(he.target)||j(!1),document.removeEventListener("pointermove",oe),K.current=null};return K.current!==null&&(document.addEventListener("pointermove",oe),document.addEventListener("pointerup",Te,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",oe),document.removeEventListener("pointerup",Te,{capture:!0})}}},[A,j,K]),w.useEffect(()=>{const ie=()=>j(!1);return window.addEventListener("blur",ie),window.addEventListener("resize",ie),()=>{window.removeEventListener("blur",ie),window.removeEventListener("resize",ie)}},[j]);const[G,H]=bR(ie=>{const oe=Y().filter(Se=>!Se.disabled),Te=oe.find(Se=>Se.ref.current===document.activeElement),he=xR(oe,ie,Te);he&&setTimeout(()=>he.ref.current.focus())}),O=w.useCallback((ie,oe,Te)=>{const he=!ne.current&&!Te;(T.value!==void 0&&T.value===oe||he)&&(L(ie),he&&(ne.current=!0))},[T.value]),$=w.useCallback(()=>A==null?void 0:A.focus(),[A]),W=w.useCallback((ie,oe,Te)=>{const he=!ne.current&&!Te;(T.value!==void 0&&T.value===oe||he)&&q(ie)},[T.value]),re=a==="popper"?Um:nR,de=re===Um?{side:u,sideOffset:f,align:h,alignOffset:m,arrowPadding:g,collisionBoundary:y,collisionPadding:b,sticky:S,hideWhenDetached:E,avoidCollisions:_}:{};return x.jsx(eR,{scope:n,content:A,viewport:k,onViewportChange:M,itemRefCallback:O,selectedItem:U,onItemLeave:$,itemTextRefCallback:W,focusSelectedItem:z,selectedItemText:I,position:a,isPositioned:B,searchRef:G,children:x.jsx(ad,{as:Ua,allowPinchZoom:!0,children:x.jsx(Zu,{asChild:!0,trapped:T.open,onMountAutoFocus:ie=>{ie.preventDefault()},onUnmountAutoFocus:Be(o,ie=>{var oe;(oe=T.trigger)==null||oe.focus({preventScroll:!0}),ie.preventDefault()}),children:x.jsx(bl,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:ie=>ie.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:x.jsx(re,{role:"listbox",id:T.contentId,"data-state":T.open?"open":"closed",dir:T.dir,onContextMenu:ie=>ie.preventDefault(),...N,...de,onPlaced:()=>X(!0),ref:R,style:{display:"flex",flexDirection:"column",outline:"none",...N.style},onKeyDown:Be(N.onKeyDown,ie=>{const oe=ie.ctrlKey||ie.altKey||ie.metaKey;if(ie.key==="Tab"&&ie.preventDefault(),!oe&&ie.key.length===1&&H(ie.key),["ArrowUp","ArrowDown","Home","End"].includes(ie.key)){let he=Y().filter(Se=>!Se.disabled).map(Se=>Se.ref.current);if(["ArrowUp","End"].includes(ie.key)&&(he=he.slice().reverse()),["ArrowUp","ArrowDown"].includes(ie.key)){const Se=ie.target,be=he.indexOf(Se);he=he.slice(be+1)}setTimeout(()=>F(he)),ie.preventDefault()}})})})})})})});tR.displayName=cI;var uI="SelectItemAlignedPosition",nR=w.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:a,...o}=e,s=Va(ki,n),c=qa(ki,n),[u,f]=w.useState(null),[h,m]=w.useState(null),g=at(t,R=>m(R)),y=_d(n),b=w.useRef(!1),S=w.useRef(!0),{viewport:E,selectedItem:_,selectedItemText:N,focusSelectedItem:T}=c,A=w.useCallback(()=>{if(s.trigger&&s.valueNode&&u&&h&&E&&_&&N){const R=s.trigger.getBoundingClientRect(),U=h.getBoundingClientRect(),L=s.valueNode.getBoundingClientRect(),I=N.getBoundingClientRect();if(s.dir!=="rtl"){const Se=I.left-U.left,be=L.left-Se,je=R.left-be,Ce=R.width+je,ye=Math.max(Ce,U.width),J=window.innerWidth-or,le=Gm(be,[or,Math.max(or,J-ye)]);u.style.minWidth=Ce+"px",u.style.left=le+"px"}else{const Se=U.right-I.right,be=window.innerWidth-L.right-Se,je=window.innerWidth-R.right-be,Ce=R.width+je,ye=Math.max(Ce,U.width),J=window.innerWidth-or,le=Gm(be,[or,Math.max(or,J-ye)]);u.style.minWidth=Ce+"px",u.style.right=le+"px"}const q=y(),Y=window.innerHeight-or*2,B=E.scrollHeight,X=window.getComputedStyle(h),ne=parseInt(X.borderTopWidth,10),F=parseInt(X.paddingTop,10),z=parseInt(X.borderBottomWidth,10),j=parseInt(X.paddingBottom,10),K=ne+F+B+j+z,G=Math.min(_.offsetHeight*5,K),H=window.getComputedStyle(E),O=parseInt(H.paddingTop,10),$=parseInt(H.paddingBottom,10),W=R.top+R.height/2-or,re=Y-W,de=_.offsetHeight/2,ie=_.offsetTop+de,oe=ne+F+ie,Te=K-oe;if(oe<=W){const Se=q.length>0&&_===q[q.length-1].ref.current;u.style.bottom="0px";const be=h.clientHeight-E.offsetTop-E.offsetHeight,je=Math.max(re,de+(Se?$:0)+be+z),Ce=oe+je;u.style.height=Ce+"px"}else{const Se=q.length>0&&_===q[0].ref.current;u.style.top="0px";const je=Math.max(W,ne+E.offsetTop+(Se?O:0)+de)+Te;u.style.height=je+"px",E.scrollTop=oe-W+E.offsetTop}u.style.margin=`${or}px 0`,u.style.minHeight=G+"px",u.style.maxHeight=Y+"px",a==null||a(),requestAnimationFrame(()=>b.current=!0)}},[y,s.trigger,s.valueNode,u,h,E,_,N,s.dir,a]);on(()=>A(),[A]);const[D,k]=w.useState();on(()=>{h&&k(window.getComputedStyle(h).zIndex)},[h]);const M=w.useCallback(R=>{R&&S.current===!0&&(A(),T==null||T(),S.current=!1)},[A,T]);return x.jsx(fI,{scope:n,contentWrapper:u,shouldExpandOnScrollRef:b,onScrollButtonChange:M,children:x.jsx("div",{ref:f,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:D},children:x.jsx(Ie.div,{...o,ref:g,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});nR.displayName=uI;var dI="SelectPopperPosition",Um=w.forwardRef((e,t)=>{const{__scopeSelect:n,align:a="start",collisionPadding:o=or,...s}=e,c=Td(n);return x.jsx(hg,{...c,...s,ref:t,align:a,collisionPadding:o,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Um.displayName=dI;var[fI,ov]=Ko(ki,{}),Bm="SelectViewport",rR=w.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:a,...o}=e,s=qa(Bm,n),c=ov(Bm,n),u=at(t,s.onViewportChange),f=w.useRef(0);return x.jsxs(x.Fragment,{children:[x.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),x.jsx(Sd.Slot,{scope:n,children:x.jsx(Ie.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:Be(o.onScroll,h=>{const m=h.currentTarget,{contentWrapper:g,shouldExpandOnScrollRef:y}=c;if(y!=null&&y.current&&g){const b=Math.abs(f.current-m.scrollTop);if(b>0){const S=window.innerHeight-or*2,E=parseFloat(g.style.minHeight),_=parseFloat(g.style.height),N=Math.max(E,_);if(N0?D:0,g.style.justifyContent="flex-end")}}}f.current=m.scrollTop})})})]})});rR.displayName=Bm;var aR="SelectGroup",[hI,pI]=Ko(aR),iR=w.forwardRef((e,t)=>{const{__scopeSelect:n,...a}=e,o=an();return x.jsx(hI,{scope:n,id:o,children:x.jsx(Ie.div,{role:"group","aria-labelledby":o,...a,ref:t})})});iR.displayName=aR;var oR="SelectLabel",sR=w.forwardRef((e,t)=>{const{__scopeSelect:n,...a}=e,o=pI(oR,n);return x.jsx(Ie.div,{id:o.id,...a,ref:t})});sR.displayName=oR;var Hu="SelectItem",[mI,lR]=Ko(Hu),cR=w.forwardRef((e,t)=>{const{__scopeSelect:n,value:a,disabled:o=!1,textValue:s,...c}=e,u=Va(Hu,n),f=qa(Hu,n),h=u.value===a,[m,g]=w.useState(s??""),[y,b]=w.useState(!1),S=at(t,T=>{var A;return(A=f.itemRefCallback)==null?void 0:A.call(f,T,a,o)}),E=an(),_=w.useRef("touch"),N=()=>{o||(u.onValueChange(a),u.onOpenChange(!1))};if(a==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return x.jsx(mI,{scope:n,value:a,disabled:o,textId:E,isSelected:h,onItemTextChange:w.useCallback(T=>{g(A=>A||((T==null?void 0:T.textContent)??"").trim())},[]),children:x.jsx(Sd.ItemSlot,{scope:n,value:a,disabled:o,textValue:m,children:x.jsx(Ie.div,{role:"option","aria-labelledby":E,"data-highlighted":y?"":void 0,"aria-selected":h&&y,"data-state":h?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...c,ref:S,onFocus:Be(c.onFocus,()=>b(!0)),onBlur:Be(c.onBlur,()=>b(!1)),onClick:Be(c.onClick,()=>{_.current!=="mouse"&&N()}),onPointerUp:Be(c.onPointerUp,()=>{_.current==="mouse"&&N()}),onPointerDown:Be(c.onPointerDown,T=>{_.current=T.pointerType}),onPointerMove:Be(c.onPointerMove,T=>{var A;_.current=T.pointerType,o?(A=f.onItemLeave)==null||A.call(f):_.current==="mouse"&&T.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Be(c.onPointerLeave,T=>{var A;T.currentTarget===document.activeElement&&((A=f.onItemLeave)==null||A.call(f))}),onKeyDown:Be(c.onKeyDown,T=>{var D;((D=f.searchRef)==null?void 0:D.current)!==""&&T.key===" "||(nI.includes(T.key)&&N(),T.key===" "&&T.preventDefault())})})})})});cR.displayName=Hu;var rl="SelectItemText",uR=w.forwardRef((e,t)=>{const{__scopeSelect:n,className:a,style:o,...s}=e,c=Va(rl,n),u=qa(rl,n),f=lR(rl,n),h=oI(rl,n),[m,g]=w.useState(null),y=at(t,N=>g(N),f.onItemTextChange,N=>{var T;return(T=u.itemTextRefCallback)==null?void 0:T.call(u,N,f.value,f.disabled)}),b=m==null?void 0:m.textContent,S=w.useMemo(()=>x.jsx("option",{value:f.value,disabled:f.disabled,children:b},f.value),[f.disabled,f.value,b]),{onNativeOptionAdd:E,onNativeOptionRemove:_}=h;return on(()=>(E(S),()=>_(S)),[E,_,S]),x.jsxs(x.Fragment,{children:[x.jsx(Ie.span,{id:f.textId,...s,ref:y}),f.isSelected&&c.valueNode&&!c.valueNodeHasChildren?yl.createPortal(s.children,c.valueNode):null]})});uR.displayName=rl;var dR="SelectItemIndicator",fR=w.forwardRef((e,t)=>{const{__scopeSelect:n,...a}=e;return lR(dR,n).isSelected?x.jsx(Ie.span,{"aria-hidden":!0,...a,ref:t}):null});fR.displayName=dR;var Im="SelectScrollUpButton",hR=w.forwardRef((e,t)=>{const n=qa(Im,e.__scopeSelect),a=ov(Im,e.__scopeSelect),[o,s]=w.useState(!1),c=at(t,a.onScrollButtonChange);return on(()=>{if(n.viewport&&n.isPositioned){let u=function(){const h=f.scrollTop>0;s(h)};const f=n.viewport;return u(),f.addEventListener("scroll",u),()=>f.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),o?x.jsx(mR,{...e,ref:c,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=n;u&&f&&(u.scrollTop=u.scrollTop-f.offsetHeight)}}):null});hR.displayName=Im;var Hm="SelectScrollDownButton",pR=w.forwardRef((e,t)=>{const n=qa(Hm,e.__scopeSelect),a=ov(Hm,e.__scopeSelect),[o,s]=w.useState(!1),c=at(t,a.onScrollButtonChange);return on(()=>{if(n.viewport&&n.isPositioned){let u=function(){const h=f.scrollHeight-f.clientHeight,m=Math.ceil(f.scrollTop)f.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),o?x.jsx(mR,{...e,ref:c,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=n;u&&f&&(u.scrollTop=u.scrollTop+f.offsetHeight)}}):null});pR.displayName=Hm;var mR=w.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:a,...o}=e,s=qa("SelectScrollButton",n),c=w.useRef(null),u=_d(n),f=w.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return w.useEffect(()=>()=>f(),[f]),on(()=>{var m;const h=u().find(g=>g.ref.current===document.activeElement);(m=h==null?void 0:h.ref.current)==null||m.scrollIntoView({block:"nearest"})},[u]),x.jsx(Ie.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:Be(o.onPointerDown,()=>{c.current===null&&(c.current=window.setInterval(a,50))}),onPointerMove:Be(o.onPointerMove,()=>{var h;(h=s.onItemLeave)==null||h.call(s),c.current===null&&(c.current=window.setInterval(a,50))}),onPointerLeave:Be(o.onPointerLeave,()=>{f()})})}),gI="SelectSeparator",gR=w.forwardRef((e,t)=>{const{__scopeSelect:n,...a}=e;return x.jsx(Ie.div,{"aria-hidden":!0,...a,ref:t})});gR.displayName=gI;var $m="SelectArrow",vI=w.forwardRef((e,t)=>{const{__scopeSelect:n,...a}=e,o=Td(n),s=Va($m,n),c=qa($m,n);return s.open&&c.position==="popper"?x.jsx(pg,{...o,...a,ref:t}):null});vI.displayName=$m;function vR(e){return e===""||e===void 0}var yR=w.forwardRef((e,t)=>{const{value:n,...a}=e,o=w.useRef(null),s=at(t,o),c=HT(n);return w.useEffect(()=>{const u=o.current,f=window.HTMLSelectElement.prototype,m=Object.getOwnPropertyDescriptor(f,"value").set;if(c!==n&&m){const g=new Event("change",{bubbles:!0});m.call(u,n),u.dispatchEvent(g)}},[c,n]),x.jsx(yg,{asChild:!0,children:x.jsx("select",{...a,ref:s,defaultValue:n})})});yR.displayName="BubbleSelect";function bR(e){const t=Zt(e),n=w.useRef(""),a=w.useRef(0),o=w.useCallback(c=>{const u=n.current+c;t(u),function f(h){n.current=h,window.clearTimeout(a.current),h!==""&&(a.current=window.setTimeout(()=>f(""),1e3))}(u)},[t]),s=w.useCallback(()=>{n.current="",window.clearTimeout(a.current)},[]);return w.useEffect(()=>()=>window.clearTimeout(a.current),[]),[n,o,s]}function xR(e,t,n){const o=t.length>1&&Array.from(t).every(h=>h===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let c=yI(e,Math.max(s,0));o.length===1&&(c=c.filter(h=>h!==n));const f=c.find(h=>h.textValue.toLowerCase().startsWith(o.toLowerCase()));return f!==n?f:void 0}function yI(e,t){return e.map((n,a)=>e[(t+a)%e.length])}var bI=qC,wR=WC,xI=KC,wI=ZC,EI=QC,ER=JC,SI=rR,_I=iR,SR=sR,_R=cR,TI=uR,CI=fR,TR=hR,CR=pR,RR=gR;const M1=bI,P1=_I,G1=xI,Vm=w.forwardRef(({className:e,children:t,...n},a)=>x.jsxs(wR,{ref:a,className:Me("border-input bg-background ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-10 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...n,children:[t,x.jsx(wI,{asChild:!0,children:x.jsx(tg,{className:"h-4 w-4 opacity-50"})})]}));Vm.displayName=wR.displayName;const AR=w.forwardRef(({className:e,...t},n)=>x.jsx(TR,{ref:n,className:Me("flex cursor-default items-center justify-center py-1",e),...t,children:x.jsx(kE,{className:"h-4 w-4"})}));AR.displayName=TR.displayName;const kR=w.forwardRef(({className:e,...t},n)=>x.jsx(CR,{ref:n,className:Me("flex cursor-default items-center justify-center py-1",e),...t,children:x.jsx(tg,{className:"h-4 w-4"})}));kR.displayName=CR.displayName;const qm=w.forwardRef(({className:e,children:t,position:n="popper",...a},o)=>x.jsx(EI,{children:x.jsxs(ER,{ref:o,className:Me("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...a,children:[x.jsx(AR,{}),x.jsx(SI,{className:Me("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),x.jsx(kR,{})]})}));qm.displayName=ER.displayName;const RI=w.forwardRef(({className:e,...t},n)=>x.jsx(SR,{ref:n,className:Me("py-1.5 pr-2 pl-8 text-sm font-semibold",e),...t}));RI.displayName=SR.displayName;const ta=w.forwardRef(({className:e,children:t,...n},a)=>x.jsxs(_R,{ref:a,className:Me("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[x.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:x.jsx(CI,{children:x.jsx(eg,{className:"h-4 w-4"})})}),x.jsx(TI,{children:t})]}));ta.displayName=_R.displayName;const AI=w.forwardRef(({className:e,...t},n)=>x.jsx(RR,{ref:n,className:Me("bg-muted -mx-1 my-1 h-px",e),...t}));AI.displayName=RR.displayName;function kI(){var n,a;const e=We(o=>o.querySettings),t=w.useCallback((o,s)=>{We.getState().updateQuerySettings({[o]:s})},[]);return x.jsxs(dl,{className:"flex shrink-0 flex-col",children:[x.jsxs(zu,{className:"px-4 pt-4 pb-2",children:[x.jsx(fl,{children:"Parameters"}),x.jsx(yd,{children:"Configure your query parameters"})]}),x.jsx(Mu,{className:"m-0 flex grow flex-col p-0 text-xs",children:x.jsx("div",{className:"relative size-full",children:x.jsxs("div",{className:"absolute inset-0 flex flex-col gap-2 overflow-auto px-2",children:[x.jsxs(x.Fragment,{children:[x.jsx(bn,{className:"ml-1",text:"Query Mode",tooltip:"Select the retrieval strategy:\\n• Naive: Basic search without advanced techniques\\n• Local: Context-dependent information retrieval\\n• Global: Utilizes global knowledge base\\n• Hybrid: Combines local and global retrieval\\n• Mix: Integrates knowledge graph with vector retrieval",side:"left"}),x.jsxs(M1,{value:e.mode,onValueChange:o=>t("mode",o),children:[x.jsx(Vm,{className:"hover:bg-primary/5 h-9 cursor-pointer focus:ring-0 focus:ring-offset-0 focus:outline-0 active:right-0",children:x.jsx(G1,{})}),x.jsx(qm,{children:x.jsxs(P1,{children:[x.jsx(ta,{value:"naive",children:"Naive"}),x.jsx(ta,{value:"local",children:"Local"}),x.jsx(ta,{value:"global",children:"Global"}),x.jsx(ta,{value:"hybrid",children:"Hybrid"}),x.jsx(ta,{value:"mix",children:"Mix"})]})})]})]}),x.jsxs(x.Fragment,{children:[x.jsx(bn,{className:"ml-1",text:"Response Format",tooltip:"Defines the response format. Examples:\\n• Multiple Paragraphs\\n• Single Paragraph\\n• Bullet Points",side:"left"}),x.jsxs(M1,{value:e.response_type,onValueChange:o=>t("response_type",o),children:[x.jsx(Vm,{className:"hover:bg-primary/5 h-9 cursor-pointer focus:ring-0 focus:ring-offset-0 focus:outline-0 active:right-0",children:x.jsx(G1,{})}),x.jsx(qm,{children:x.jsxs(P1,{children:[x.jsx(ta,{value:"Multiple Paragraphs",children:"Multiple Paragraphs"}),x.jsx(ta,{value:"Single Paragraph",children:"Single Paragraph"}),x.jsx(ta,{value:"Bullet Points",children:"Bullet Points"})]})})]})]}),x.jsxs(x.Fragment,{children:[x.jsx(bn,{className:"ml-1",text:"Top K Results",tooltip:"Number of top items to retrieve. Represents entities in 'local' mode and relationships in 'global' mode",side:"left"}),x.jsx(_o,{id:"top_k",stepper:1,value:e.top_k,onValueChange:o=>t("top_k",o),min:1,placeholder:"Number of results"})]}),x.jsxs(x.Fragment,{children:[x.jsxs(x.Fragment,{children:[x.jsx(bn,{className:"ml-1",text:"Max Tokens for Text Unit",tooltip:"Maximum number of tokens allowed for each retrieved text chunk",side:"left"}),x.jsx(_o,{id:"max_token_for_text_unit",stepper:500,value:e.max_token_for_text_unit,onValueChange:o=>t("max_token_for_text_unit",o),min:1,placeholder:"Max tokens for text unit"})]}),x.jsxs(x.Fragment,{children:[x.jsx(bn,{text:"Max Tokens for Global Context",tooltip:"Maximum number of tokens allocated for relationship descriptions in global retrieval",side:"left"}),x.jsx(_o,{id:"max_token_for_global_context",stepper:500,value:e.max_token_for_global_context,onValueChange:o=>t("max_token_for_global_context",o),min:1,placeholder:"Max tokens for global context"})]}),x.jsxs(x.Fragment,{children:[x.jsx(bn,{className:"ml-1",text:"Max Tokens for Local Context",tooltip:"Maximum number of tokens allocated for entity descriptions in local retrieval",side:"left"}),x.jsx(_o,{id:"max_token_for_local_context",stepper:500,value:e.max_token_for_local_context,onValueChange:o=>t("max_token_for_local_context",o),min:1,placeholder:"Max tokens for local context"})]})]}),x.jsxs(x.Fragment,{children:[x.jsx(bn,{className:"ml-1",text:"History Turns",tooltip:"Number of complete conversation turns (user-assistant pairs) to consider in the response context",side:"left"}),x.jsx(_o,{className:"!border-input",id:"history_turns",stepper:1,type:"text",value:e.history_turns,onValueChange:o=>t("history_turns",o),min:0,placeholder:"Number of history turns"})]}),x.jsxs(x.Fragment,{children:[x.jsxs(x.Fragment,{children:[x.jsx(bn,{className:"ml-1",text:"High-Level Keywords",tooltip:"List of high-level keywords to prioritize in retrieval. Separate with commas",side:"left"}),x.jsx(Lo,{id:"hl_keywords",type:"text",value:(n=e.hl_keywords)==null?void 0:n.join(", "),onChange:o=>{const s=o.target.value.split(",").map(c=>c.trim()).filter(c=>c!=="");t("hl_keywords",s)},placeholder:"Enter keywords"})]}),x.jsxs(x.Fragment,{children:[x.jsx(bn,{className:"ml-1",text:"Low-Level Keywords",tooltip:"List of low-level keywords to refine retrieval focus. Separate with commas",side:"left"}),x.jsx(Lo,{id:"ll_keywords",type:"text",value:(a=e.ll_keywords)==null?void 0:a.join(", "),onChange:o=>{const s=o.target.value.split(",").map(c=>c.trim()).filter(c=>c!=="");t("ll_keywords",s)},placeholder:"Enter keywords"})]})]}),x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(bn,{className:"ml-1",text:"Only Need Context",tooltip:"If True, only returns the retrieved context without generating a response",side:"left"}),x.jsx("div",{className:"grow"}),x.jsx(il,{className:"mr-1 cursor-pointer",id:"only_need_context",checked:e.only_need_context,onCheckedChange:o=>t("only_need_context",o)})]}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(bn,{className:"ml-1",text:"Only Need Prompt",tooltip:"If True, only returns the generated prompt without producing a response",side:"left"}),x.jsx("div",{className:"grow"}),x.jsx(il,{className:"mr-1 cursor-pointer",id:"only_need_prompt",checked:e.only_need_prompt,onCheckedChange:o=>t("only_need_prompt",o)})]}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(bn,{className:"ml-1",text:"Stream Response",tooltip:"If True, enables streaming output for real-time responses",side:"left"}),x.jsx("div",{className:"grow"}),x.jsx(il,{className:"mr-1 cursor-pointer",id:"stream",checked:e.stream,onCheckedChange:o=>t("stream",o)})]})]})]})})})]})}function DI(){const[e,t]=w.useState(()=>We.getState().retrievalHistory||[]),[n,a]=w.useState(""),[o,s]=w.useState(!1),c=w.useRef(null),u=w.useCallback(()=>{var g;(g=c.current)==null||g.scrollIntoView({behavior:"smooth"})},[]),f=w.useCallback(async g=>{if(g.preventDefault(),!n.trim()||o)return;const y={content:n,role:"user"},b={content:"",role:"assistant"},S=[...e];t([...S,y,b]),a(""),s(!0);const E=T=>{b.content+=T,t(A=>{const D=[...A],k=D[D.length-1];return k.role==="assistant"&&(k.content=b.content),D})},_=We.getState(),N={..._.querySettings,query:y.content,conversation_history:S};try{if(_.querySettings.stream)await $N(N,E);else{const T=await HN(N);E(T.response)}}catch(T){E(`Error: Failed to get response +${Sr(T)}`)}finally{s(!1),We.getState().setRetrievalHistory([...S,y,b])}},[n,o,e,t]),h=Qg(e,100);w.useEffect(()=>u(),[h,u]);const m=w.useCallback(()=>{t([]),We.getState().setRetrievalHistory([])},[t]);return x.jsxs("div",{className:"flex size-full gap-2 px-2 pb-12",children:[x.jsxs("div",{className:"flex grow flex-col gap-4",children:[x.jsx("div",{className:"relative grow",children:x.jsx("div",{className:"bg-primary-foreground/60 absolute inset-0 flex flex-col overflow-auto rounded-lg border p-2",children:x.jsxs("div",{className:"flex min-h-0 flex-1 flex-col gap-2",children:[e.length===0?x.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center text-lg",children:"Start a retrieval by typing your query below"}):e.map((g,y)=>x.jsx("div",{className:`flex ${g.role==="user"?"justify-end":"justify-start"}`,children:x.jsxs("div",{className:`max-w-[80%] rounded-lg px-4 py-2 ${g.role==="user"?"bg-primary text-primary-foreground":"bg-muted"}`,children:[x.jsx("pre",{className:"break-words whitespace-pre-wrap",children:g.content}),g.content.length===0&&x.jsx(vO,{className:"animate-spin duration-2000"})]})},y)),x.jsx("div",{ref:c,className:"pb-1"})]})})}),x.jsxs("form",{onSubmit:f,className:"flex shrink-0 items-center gap-2",children:[x.jsxs(_t,{type:"button",variant:"outline",onClick:m,disabled:o,size:"sm",children:[x.jsx(DE,{}),"Clear"]}),x.jsx(Lo,{className:"flex-1",value:n,onChange:g=>a(g.target.value),placeholder:"Type your query...",disabled:o}),x.jsxs(_t,{type:"submit",variant:"default",disabled:o,size:"sm",children:[x.jsx(jO,{}),"Send"]})]})]}),x.jsx(kI,{})]})}function NI(){return x.jsx("iframe",{src:Z1+"/docs",className:"size-full"})}function OI(){const e=Wn.use.message(),t=We.use.enableHealthCheck(),[n]=w.useState(()=>We.getState().currentTab);w.useEffect(()=>{if(!t)return;Wn.getState().check();const o=setInterval(async()=>{await Wn.getState().check()},nD*1e3);return()=>clearInterval(o)},[t]);const a=w.useCallback(o=>We.getState().setCurrentTab(o),[]);return x.jsx(oD,{children:x.jsxs("main",{className:"flex h-screen w-screen overflow-x-hidden",children:[x.jsxs(PM,{defaultValue:n,className:"!m-0 flex grow flex-col !p-0",onValueChange:a,children:[x.jsx(FM,{}),x.jsxs("div",{className:"relative grow",children:[x.jsx(tl,{value:"documents",className:"absolute top-0 right-0 bottom-0 left-0",children:x.jsx(DB,{})}),x.jsx(tl,{value:"knowledge-graph",className:"absolute top-0 right-0 bottom-0 left-0",children:x.jsx(eU,{})}),x.jsx(tl,{value:"retrieval",className:"absolute top-0 right-0 bottom-0 left-0",children:x.jsx(DI,{})}),x.jsx(tl,{value:"api",className:"absolute top-0 right-0 bottom-0 left-0",children:x.jsx(NI,{})})]})]}),t&&x.jsx(Tz,{}),e!==null&&x.jsx(qO,{}),x.jsx(Qz,{})]})})}JA.createRoot(document.getElementById("root")).render(x.jsx(w.StrictMode,{children:x.jsx(OI,{})})); diff --git a/lightrag/api/webui/index.html b/lightrag/api/webui/index.html index 3189a1b7..dd7c5047 100644 --- a/lightrag/api/webui/index.html +++ b/lightrag/api/webui/index.html @@ -1,14 +1,14 @@ - - - - - - - Lightrag Graph Viewer - - - - -
- - + + + + + + + Lightrag + + + + +
+ + diff --git a/lightrag_webui/bun.lock b/lightrag_webui/bun.lock index 86c1f6e2..d0e9a9b4 100644 --- a/lightrag_webui/bun.lock +++ b/lightrag_webui/bun.lock @@ -43,6 +43,7 @@ "sigma": "^3.0.1", "sonner": "^1.7.4", "tailwind-merge": "^3.0.1", + "tailwind-scrollbar": "^4.0.0", "zustand": "^5.0.3", }, "devDependencies": { @@ -413,6 +414,8 @@ "@types/parse-json": ["@types/parse-json@4.0.2", "", {}, "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="], + "@types/prismjs": ["@types/prismjs@1.26.5", "", {}, "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ=="], + "@types/react": ["@types/react@19.0.8", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw=="], "@types/react-dom": ["@types/react-dom@19.0.3", "", { "peerDependencies": { "@types/react": "^19.0.0" } }, "sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA=="], @@ -887,6 +890,8 @@ "prettier-plugin-tailwindcss": ["prettier-plugin-tailwindcss@0.6.11", "", { "peerDependencies": { "@ianvs/prettier-plugin-sort-imports": "*", "@prettier/plugin-pug": "*", "@shopify/prettier-plugin-liquid": "*", "@trivago/prettier-plugin-sort-imports": "*", "@zackad/prettier-plugin-twig": "*", "prettier": "^3.0", "prettier-plugin-astro": "*", "prettier-plugin-css-order": "*", "prettier-plugin-import-sort": "*", "prettier-plugin-jsdoc": "*", "prettier-plugin-marko": "*", "prettier-plugin-multiline-arrays": "*", "prettier-plugin-organize-attributes": "*", "prettier-plugin-organize-imports": "*", "prettier-plugin-sort-imports": "*", "prettier-plugin-style-order": "*", "prettier-plugin-svelte": "*" }, "optionalPeers": ["@ianvs/prettier-plugin-sort-imports", "@prettier/plugin-pug", "@shopify/prettier-plugin-liquid", "@trivago/prettier-plugin-sort-imports", "@zackad/prettier-plugin-twig", "prettier-plugin-astro", "prettier-plugin-css-order", "prettier-plugin-import-sort", "prettier-plugin-jsdoc", "prettier-plugin-marko", "prettier-plugin-multiline-arrays", "prettier-plugin-organize-attributes", "prettier-plugin-organize-imports", "prettier-plugin-sort-imports", "prettier-plugin-style-order", "prettier-plugin-svelte"] }, "sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA=="], + "prism-react-renderer": ["prism-react-renderer@2.4.1", "", { "dependencies": { "@types/prismjs": "^1.26.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": ">=16.0.0" } }, "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig=="], + "prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="], "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="], @@ -989,6 +994,8 @@ "tailwind-merge": ["tailwind-merge@3.0.1", "", {}, "sha512-AvzE8FmSoXC7nC+oU5GlQJbip2UO7tmOhOfQyOmPhrStOGXHU08j8mZEHZ4BmCqY5dWTCo4ClWkNyRNx1wpT0g=="], + "tailwind-scrollbar": ["tailwind-scrollbar@4.0.0", "", { "dependencies": { "prism-react-renderer": "^2.4.1" }, "peerDependencies": { "tailwindcss": "4.x" } }, "sha512-elqx9m09VHY8gkrMiyimFO09JlS3AyLFXT0eaLaWPi7ImwHlbZj1ce/AxSis2LtR+ewBGEyUV7URNEMcjP1Z2w=="], + "tailwindcss": ["tailwindcss@4.0.6", "", {}, "sha512-mysewHYJKaXgNOW6pp5xon/emCsfAMnO8WMaGKZZ35fomnR/T5gYnRg2/yRTTrtXiEl1tiVkeRt0eMO6HxEZqw=="], "tailwindcss-animate": ["tailwindcss-animate@1.0.7", "", { "peerDependencies": { "tailwindcss": ">=3.0.0 || insiders" } }, "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA=="], diff --git a/lightrag_webui/package.json b/lightrag_webui/package.json index f69f1394..6d720cc8 100644 --- a/lightrag_webui/package.json +++ b/lightrag_webui/package.json @@ -49,6 +49,7 @@ "sigma": "^3.0.1", "sonner": "^1.7.4", "tailwind-merge": "^3.0.1", + "tailwind-scrollbar": "^4.0.0", "zustand": "^5.0.3" }, "devDependencies": {